@festo-ui/angular 5.0.0 → 5.1.0-dev.162
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/esm2020/lib/components/accordion/accordion-header/accordion-header.component.mjs +5 -5
- package/esm2020/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +5 -5
- package/esm2020/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +10 -10
- package/esm2020/lib/components/accordion/accordion-item/accordion-item.component.mjs +15 -15
- package/esm2020/lib/components/accordion/accordion.component.mjs +16 -16
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +5 -5
- package/esm2020/lib/components/buttons/button/button.component.mjs +5 -5
- package/esm2020/lib/components/buttons/link-button/link-button.component.mjs +5 -5
- package/esm2020/lib/components/chips/chip/chip.component.mjs +5 -5
- package/esm2020/lib/components/chips/chip-container/chip-container.component.mjs +5 -5
- package/esm2020/lib/components/components.module.mjs +204 -201
- package/esm2020/lib/components/loading-indicator/loading-indicator.component.mjs +5 -5
- package/esm2020/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +5 -5
- package/esm2020/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +7 -7
- package/esm2020/lib/components/mobile-flyout/mobile-flyout.component.mjs +9 -8
- package/esm2020/lib/components/pagination/pagination.component.mjs +12 -12
- package/esm2020/lib/components/popovers/legend/legend.component.mjs +6 -6
- package/esm2020/lib/components/popovers/legend/legend.directive.mjs +5 -5
- package/esm2020/lib/components/popovers/popover/popover.component.mjs +9 -9
- package/esm2020/lib/components/popovers/popover-content/popover-content.component.mjs +6 -6
- package/esm2020/lib/components/popovers/popover-content/popover-content.directive.mjs +5 -5
- package/esm2020/lib/components/popovers/popover-menu/popover-menu.component.mjs +6 -6
- package/esm2020/lib/components/popovers/popover-ref.mjs +1 -1
- package/esm2020/lib/components/popovers/popover.models.mjs +7 -7
- package/esm2020/lib/components/popovers/popover.service.mjs +7 -7
- package/esm2020/lib/components/popovers/tooltip/tooltip.directive.mjs +8 -7
- package/esm2020/lib/components/progress/progress.component.mjs +5 -5
- package/esm2020/lib/components/scroll/scrollable.directive.mjs +5 -5
- package/esm2020/lib/components/search-input/search-input.component.mjs +8 -8
- package/esm2020/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +59 -0
- package/esm2020/lib/components/snackbar/snackbar-container.component.mjs +7 -7
- package/esm2020/lib/components/snackbar/snackbar-container.directive.mjs +8 -8
- package/esm2020/lib/components/snackbar/snackbar.component.mjs +5 -5
- package/esm2020/lib/components/snackbar/snackbar.models.mjs +1 -1
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +9 -10
- package/esm2020/lib/components/snackbar/snackbar.service.mjs +5 -5
- package/esm2020/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +5 -5
- package/esm2020/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +7 -7
- package/esm2020/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +5 -5
- package/esm2020/lib/components/stepper-vertical/stepper-vertical.component.mjs +7 -7
- package/esm2020/lib/components/table-header-cell/table-header-cell.directive.mjs +5 -5
- package/esm2020/lib/components/tabs/tab-pane/tab-pane.component.mjs +7 -7
- package/esm2020/lib/components/tabs/tabs.component.mjs +10 -10
- package/esm2020/lib/directives/click-outside.directive.mjs +5 -5
- package/esm2020/lib/festo-angular.module.mjs +5 -5
- package/esm2020/lib/forms/checkbox/checkbox.component.mjs +7 -7
- package/esm2020/lib/forms/color-indicator/color-indicator.component.mjs +5 -5
- package/esm2020/lib/forms/color-picker/color-picker.component.mjs +7 -7
- package/esm2020/lib/forms/date-picker/date-picker.component.mjs +10 -10
- package/esm2020/lib/forms/date-range-picker/date-range-picker.component.mjs +9 -9
- package/esm2020/lib/forms/flatpickr/flatpickr.component.mjs +5 -5
- package/esm2020/lib/forms/forms.module.mjs +107 -127
- package/esm2020/lib/forms/radio/radio.component.mjs +18 -18
- package/esm2020/lib/forms/segment/segment-control/segment-control.component.mjs +13 -8
- package/esm2020/lib/forms/segment/segment.component.mjs +39 -14
- package/esm2020/lib/forms/select/chip-text.pipe.mjs +5 -5
- package/esm2020/lib/forms/select/select-option/select-option.component.mjs +5 -5
- package/esm2020/lib/forms/select/select.component.mjs +31 -23
- package/esm2020/lib/forms/slider/slider.component.mjs +7 -7
- package/esm2020/lib/forms/switch/switch.component.mjs +7 -7
- package/esm2020/lib/forms/text-area/text-area.component.mjs +7 -7
- package/esm2020/lib/forms/text-editor/text-editor.component.mjs +25 -27
- package/esm2020/lib/forms/text-input/text-input.component.mjs +13 -13
- package/esm2020/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +5 -5
- package/esm2020/lib/forms/time-picker/time-picker.component.mjs +9 -9
- package/esm2020/lib/forms/unique-selection-dispatcher.mjs +5 -5
- package/esm2020/lib/forms/value-accessor-base.mjs +5 -5
- package/esm2020/lib/modals/alert/alert.component.mjs +8 -7
- package/esm2020/lib/modals/confirm/confirm.component.mjs +8 -7
- package/esm2020/lib/modals/custom-modal/custom-modal.component.mjs +16 -7
- package/esm2020/lib/modals/image-gallery/image-gallery.component.mjs +7 -7
- package/esm2020/lib/modals/modal.service.mjs +13 -13
- package/esm2020/lib/modals/modals.module.mjs +11 -12
- package/esm2020/lib/modals/prompt/prompt.component.mjs +16 -8
- package/esm2020/lib/pipes/safe-html.pipe.mjs +6 -6
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/festo-ui-angular.mjs +1070 -972
- package/fesm2015/festo-ui-angular.mjs.map +1 -1
- package/fesm2020/festo-ui-angular.mjs +1067 -972
- package/fesm2020/festo-ui-angular.mjs.map +1 -1
- package/lib/components/accordion/accordion-header/accordion-header.component.d.ts +3 -3
- package/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.d.ts +3 -3
- package/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.d.ts +5 -5
- package/lib/components/accordion/accordion-item/accordion-item.component.d.ts +7 -7
- package/lib/components/accordion/accordion.component.d.ts +7 -7
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +3 -3
- package/lib/components/buttons/button/button.component.d.ts +3 -3
- package/lib/components/buttons/link-button/link-button.component.d.ts +3 -3
- package/lib/components/chips/chip/chip.component.d.ts +3 -3
- package/lib/components/chips/chip-container/chip-container.component.d.ts +3 -3
- package/lib/components/components.module.d.ts +36 -36
- package/lib/components/loading-indicator/loading-indicator.component.d.ts +3 -3
- package/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.d.ts +3 -3
- package/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.d.ts +5 -5
- package/lib/components/mobile-flyout/mobile-flyout.component.d.ts +5 -5
- package/lib/components/pagination/pagination.component.d.ts +6 -6
- package/lib/components/popovers/legend/legend.component.d.ts +9 -9
- package/lib/components/popovers/legend/legend.directive.d.ts +5 -5
- package/lib/components/popovers/popover/popover.component.d.ts +5 -5
- package/lib/components/popovers/popover-content/popover-content.component.d.ts +12 -12
- package/lib/components/popovers/popover-content/popover-content.directive.d.ts +5 -5
- package/lib/components/popovers/popover-menu/popover-menu.component.d.ts +11 -11
- package/lib/components/popovers/popover-ref.d.ts +4 -4
- package/lib/components/popovers/popover.models.d.ts +15 -15
- package/lib/components/popovers/popover.service.d.ts +7 -7
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +9 -9
- package/lib/components/progress/progress.component.d.ts +3 -3
- package/lib/components/scroll/scrollable.directive.d.ts +4 -4
- package/lib/components/search-input/search-input.component.d.ts +9 -9
- package/lib/components/sidebar-overlay/sidebar-overlay.component.d.ts +25 -0
- package/lib/components/snackbar/snackbar-container.component.d.ts +5 -5
- package/lib/components/snackbar/snackbar-container.directive.d.ts +7 -7
- package/lib/components/snackbar/snackbar.component.d.ts +5 -5
- package/lib/components/snackbar/snackbar.models.d.ts +2 -2
- package/lib/components/snackbar/snackbar.module.d.ts +4 -5
- package/lib/components/snackbar/snackbar.service.d.ts +8 -8
- package/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.d.ts +3 -3
- package/lib/components/stepper-horizontal/stepper-horizontal.component.d.ts +5 -5
- package/lib/components/stepper-vertical/step-vertical/step-vertical.component.d.ts +3 -3
- package/lib/components/stepper-vertical/stepper-vertical.component.d.ts +5 -5
- package/lib/components/table-header-cell/table-header-cell.directive.d.ts +5 -5
- package/lib/components/tabs/tab-pane/tab-pane.component.d.ts +3 -3
- package/lib/components/tabs/tabs.component.d.ts +18 -18
- package/lib/directives/click-outside.directive.d.ts +3 -3
- package/lib/festo-angular.module.d.ts +1 -1
- package/lib/forms/checkbox/checkbox.component.d.ts +3 -3
- package/lib/forms/color-indicator/color-indicator.component.d.ts +3 -3
- package/lib/forms/color-picker/color-picker.component.d.ts +3 -3
- package/lib/forms/date-picker/date-picker.component.d.ts +5 -5
- package/lib/forms/date-range-picker/date-range-picker.component.d.ts +5 -5
- package/lib/forms/flatpickr/flatpickr.component.d.ts +3 -3
- package/lib/forms/forms.module.d.ts +18 -23
- package/lib/forms/radio/radio.component.d.ts +15 -15
- package/lib/forms/segment/segment-control/segment-control.component.d.ts +5 -4
- package/lib/forms/segment/segment.component.d.ts +19 -10
- package/lib/forms/select/chip-text.pipe.d.ts +3 -3
- package/lib/forms/select/select-option/select-option.component.d.ts +3 -3
- package/lib/forms/select/select.component.d.ts +10 -8
- package/lib/forms/slider/slider.component.d.ts +3 -3
- package/lib/forms/switch/switch.component.d.ts +3 -3
- package/lib/forms/text-area/text-area.component.d.ts +3 -3
- package/lib/forms/text-editor/text-editor.component.d.ts +10 -9
- package/lib/forms/text-input/text-input.component.d.ts +9 -9
- package/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.d.ts +3 -3
- package/lib/forms/time-picker/time-picker.component.d.ts +5 -5
- package/lib/forms/unique-selection-dispatcher.d.ts +3 -3
- package/lib/forms/value-accessor-base.d.ts +3 -3
- package/lib/modals/alert/alert.component.d.ts +5 -5
- package/lib/modals/confirm/confirm.component.d.ts +5 -5
- package/lib/modals/custom-modal/custom-modal.component.d.ts +5 -3
- package/lib/modals/image-gallery/image-gallery.component.d.ts +9 -7
- package/lib/modals/modal.service.d.ts +11 -11
- package/lib/modals/modals.module.d.ts +7 -8
- package/lib/modals/prompt/prompt.component.d.ts +8 -5
- package/lib/pipes/safe-html.pipe.d.ts +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, ViewEncapsulation, Input, Output, ContentChild, SimpleChange, ContentChildren, Optional, Pipe, ViewChild,
|
|
2
|
+
import { EventEmitter, Component, ViewEncapsulation, Input, Output, ContentChild, SimpleChange, ContentChildren, Optional, Directive, HostListener, Pipe, ViewChild, HostBinding, Injectable, ChangeDetectionStrategy, Inject, TemplateRef, Injector, NgModule, forwardRef, LOCALE_ID, ViewContainerRef, SecurityContext } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT, formatDate } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
6
|
import { RouterModule, NavigationStart } from '@angular/router';
|
|
7
|
-
import { Subject, noop, Subscription } from 'rxjs';
|
|
7
|
+
import { Subject, noop, BehaviorSubject, Subscription } from 'rxjs';
|
|
8
8
|
import { takeUntil, delay, take, filter, debounceTime } from 'rxjs/operators';
|
|
9
9
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
10
10
|
import * as i1$2 from '@angular/platform-browser';
|
|
11
11
|
import { trigger, state, style, transition, animate, sequence } from '@angular/animations';
|
|
12
12
|
import SimpleBar from 'simplebar';
|
|
13
13
|
import * as i1$3 from '@angular/cdk/overlay';
|
|
14
|
-
import { OverlayConfig,
|
|
14
|
+
import { OverlayConfig, ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
|
|
15
15
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
16
16
|
import * as i3 from '@angular/forms';
|
|
17
|
-
import {
|
|
17
|
+
import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
18
18
|
import * as i1$4 from 'swiper/angular';
|
|
19
19
|
import { SwiperModule } from 'swiper/angular';
|
|
20
20
|
import SwiperCore, { FreeMode, Navigation, Keyboard, Thumbs, Zoom } from 'swiper';
|
|
21
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
22
21
|
import * as i2 from '@angular/cdk/drag-drop';
|
|
23
22
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
24
|
-
import { ObserversModule } from '@angular/cdk/observers';
|
|
25
23
|
import flatpickr from 'flatpickr';
|
|
26
24
|
import { __awaiter } from 'tslib';
|
|
27
25
|
import QuillType from 'quill';
|
|
26
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
27
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
28
28
|
|
|
29
|
-
class
|
|
29
|
+
class FngBreadcrumbComponent {
|
|
30
30
|
constructor() {
|
|
31
31
|
this.useRouterLink = false;
|
|
32
32
|
this.locations = [];
|
|
33
33
|
this.navigate = new EventEmitter();
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
36
|
+
FngBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
FngBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngBreadcrumbComponent, isStandalone: true, selector: "fng-breadcrumb", inputs: { useRouterLink: "useRouterLink", locations: "locations" }, outputs: { navigate: "navigate" }, ngImport: i0, template: "<div class=\"fwe-breadcrumb\">\r\n <ng-container *ngFor=\"let location of locations; let i = index\">\r\n <a *ngIf=\"useRouterLink\" class=\"fng-breadcrumb-location\" [routerLink]=\"location.url\">{{ location.label }}</a>\r\n <a *ngIf=\"!useRouterLink\" class=\"fng-breadcrumb-location\" (click)=\"navigate.emit(location.url)\">{{ location.label }}</a>\r\n <i class=\"fwe-icon fwe-icon-arrows-right-2\" *ngIf=\"i + 1 < locations.length\"></i>\r\n </ng-container>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngBreadcrumbComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ standalone: true, imports: [RouterModule, CommonModule], selector: 'fng-breadcrumb', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-breadcrumb\">\r\n <ng-container *ngFor=\"let location of locations; let i = index\">\r\n <a *ngIf=\"useRouterLink\" class=\"fng-breadcrumb-location\" [routerLink]=\"location.url\">{{ location.label }}</a>\r\n <a *ngIf=\"!useRouterLink\" class=\"fng-breadcrumb-location\" (click)=\"navigate.emit(location.url)\">{{ location.label }}</a>\r\n <i class=\"fwe-icon fwe-icon-arrows-right-2\" *ngIf=\"i + 1 < locations.length\"></i>\r\n </ng-container>\r\n</div>\r\n" }]
|
|
41
41
|
}], propDecorators: { useRouterLink: [{
|
|
@@ -46,24 +46,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
46
46
|
type: Output
|
|
47
47
|
}] } });
|
|
48
48
|
|
|
49
|
-
class
|
|
49
|
+
class FngAccordionItemBodyComponent {
|
|
50
50
|
constructor() {
|
|
51
51
|
// parentId will be set by accordion item this body belongs to
|
|
52
52
|
this.id = '';
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
55
|
+
FngAccordionItemBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
FngAccordionItemBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngAccordionItemBodyComponent, isStandalone: true, selector: "fng-accordion-item-body", ngImport: i0, template: "<div\n role=\"region\"\n [attr.id]=\"id + '-body'\"\n [attr.aria-labelledby]=\"id + '-header'\"\n class=\"fng-accordion-item-body\"\n>\n <ng-content></ng-content>\n <div class=\"fng-accordion-item-body-spacer-bottom\"></div>\n</div>\n", styles: [".fng-accordion-item-body{overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1);height:0px}.fng-accordion-item-body>:first-child:not(.fng-accordion-item-body-spacer-bottom):not(.fng-accordion){margin-top:0!important;padding-top:0!important}.fng-accordion-item-body>:not(.fng-accordion){margin-right:0}.fng-accordion-item-body-content{margin-right:64px}.fng-accordion-item-body-spacer-bottom{margin-top:24px;height:0;width:0}.fng-accordion-item-body .fng-accordion{margin-top:64px;margin-bottom:24px}.fng-accordion-item-body .fng-accordion-item-link{display:block;top:8px}.fng-accordion-item-body .fng-accordion-item-header{padding-top:32px;padding-right:32px}.fng-accordion-item-body .fng-accordion-item:after{top:12px;right:4px;color:var(--fwe-caerul);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\e900\";height:16px;line-height:16px}.fng-accordion-item-body .fng-accordion-item--expanded:before{background-color:transparent}@media (min-width: 600px){.fng-accordion-item-body>:not(.fng-accordion){margin-right:64px}.fng-accordion-item-body .fng-accordion-item-header{padding-top:24px;padding-right:168px}.fng-accordion-item-body .fng-accordion-item-link{font-size:var(--fwe-font-size-base);top:24px;max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fng-accordion-item-body .fng-accordion-item:after{top:30px}}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemBodyComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
59
|
args: [{ standalone: true, selector: 'fng-accordion-item-body', encapsulation: ViewEncapsulation.None, template: "<div\n role=\"region\"\n [attr.id]=\"id + '-body'\"\n [attr.aria-labelledby]=\"id + '-header'\"\n class=\"fng-accordion-item-body\"\n>\n <ng-content></ng-content>\n <div class=\"fng-accordion-item-body-spacer-bottom\"></div>\n</div>\n", styles: [".fng-accordion-item-body{overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1);height:0px}.fng-accordion-item-body>:first-child:not(.fng-accordion-item-body-spacer-bottom):not(.fng-accordion){margin-top:0!important;padding-top:0!important}.fng-accordion-item-body>:not(.fng-accordion){margin-right:0}.fng-accordion-item-body-content{margin-right:64px}.fng-accordion-item-body-spacer-bottom{margin-top:24px;height:0;width:0}.fng-accordion-item-body .fng-accordion{margin-top:64px;margin-bottom:24px}.fng-accordion-item-body .fng-accordion-item-link{display:block;top:8px}.fng-accordion-item-body .fng-accordion-item-header{padding-top:32px;padding-right:32px}.fng-accordion-item-body .fng-accordion-item:after{top:12px;right:4px;color:var(--fwe-caerul);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\e900\";height:16px;line-height:16px}.fng-accordion-item-body .fng-accordion-item--expanded:before{background-color:transparent}@media (min-width: 600px){.fng-accordion-item-body>:not(.fng-accordion){margin-right:64px}.fng-accordion-item-body .fng-accordion-item-header{padding-top:24px;padding-right:168px}.fng-accordion-item-body .fng-accordion-item-link{font-size:var(--fwe-font-size-base);top:24px;max-width:128px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fng-accordion-item-body .fng-accordion-item:after{top:30px}}\n"] }]
|
|
60
60
|
}] });
|
|
61
61
|
|
|
62
|
-
var
|
|
63
|
-
(function (
|
|
64
|
-
|
|
65
|
-
})(
|
|
66
|
-
class
|
|
62
|
+
var FngAccordionHeaderActions;
|
|
63
|
+
(function (FngAccordionHeaderActions) {
|
|
64
|
+
FngAccordionHeaderActions["Toggle"] = "toggle";
|
|
65
|
+
})(FngAccordionHeaderActions || (FngAccordionHeaderActions = {}));
|
|
66
|
+
class FngAccordionItemHeaderComponent {
|
|
67
67
|
constructor() {
|
|
68
68
|
// parentId will be set by accordion item this header belongs to
|
|
69
69
|
this.id = '';
|
|
@@ -74,17 +74,17 @@ class AccordionItemHeaderComponent {
|
|
|
74
74
|
this.actions.complete();
|
|
75
75
|
}
|
|
76
76
|
toggle() {
|
|
77
|
-
this.actions.next(
|
|
77
|
+
this.actions.next(FngAccordionHeaderActions.Toggle);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
80
|
+
FngAccordionItemHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
FngAccordionItemHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngAccordionItemHeaderComponent, isStandalone: true, selector: "fng-accordion-item-header", ngImport: i0, template: "<div\n class=\"fng-accordion-item-header\"\n role=\"button\"\n tabindex=\"0\"\n [attr.id]=\"id + '-header'\"\n [attr.aria-expanded]=\"\"\n [attr.aria-controls]=\"id + '-body'\"\n (click)=\"toggle()\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".fng-accordion-item-header{display:flex;align-items:center;padding:24px 64px 24px 0;min-height:48px;cursor:pointer}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemHeaderComponent, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
84
|
args: [{ standalone: true, selector: 'fng-accordion-item-header', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fng-accordion-item-header\"\n role=\"button\"\n tabindex=\"0\"\n [attr.id]=\"id + '-header'\"\n [attr.aria-expanded]=\"\"\n [attr.aria-controls]=\"id + '-body'\"\n (click)=\"toggle()\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".fng-accordion-item-header{display:flex;align-items:center;padding:24px 64px 24px 0;min-height:48px;cursor:pointer}\n"] }]
|
|
85
85
|
}] });
|
|
86
86
|
|
|
87
|
-
class
|
|
87
|
+
class FngAccordionItemComponent {
|
|
88
88
|
get linkText() {
|
|
89
89
|
var _a, _b;
|
|
90
90
|
if (this.expanded === true) {
|
|
@@ -99,7 +99,7 @@ class AccordionItemComponent {
|
|
|
99
99
|
this.elementRef = elementRef;
|
|
100
100
|
this.renderer = renderer;
|
|
101
101
|
this.cd = cd;
|
|
102
|
-
this.componentId = `accordion-item-${++
|
|
102
|
+
this.componentId = `accordion-item-${++FngAccordionItemComponent.nextId}`;
|
|
103
103
|
this.expanded = false;
|
|
104
104
|
this._linkText = '';
|
|
105
105
|
// compound id of parent id and this component id to get a unique identifier in dom
|
|
@@ -183,17 +183,17 @@ class AccordionItemComponent {
|
|
|
183
183
|
}
|
|
184
184
|
handleAction(action) {
|
|
185
185
|
switch (action) {
|
|
186
|
-
case
|
|
186
|
+
case FngAccordionActions.OpenAll:
|
|
187
187
|
this.expanded = true;
|
|
188
188
|
this.expandItem();
|
|
189
189
|
break;
|
|
190
|
-
case
|
|
190
|
+
case FngAccordionActions.CloseAll:
|
|
191
191
|
if (this.expanded === true) {
|
|
192
192
|
this.expanded = false;
|
|
193
193
|
this.collapseItem();
|
|
194
194
|
}
|
|
195
195
|
break;
|
|
196
|
-
case
|
|
196
|
+
case FngAccordionHeaderActions.Toggle:
|
|
197
197
|
this.toggle();
|
|
198
198
|
break;
|
|
199
199
|
default:
|
|
@@ -219,28 +219,28 @@ class AccordionItemComponent {
|
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
222
|
+
FngAccordionItemComponent.nextId = 0;
|
|
223
|
+
FngAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
224
|
+
FngAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngAccordionItemComponent, isStandalone: true, selector: "fng-accordion-item", queries: [{ propertyName: "header", first: true, predicate: FngAccordionItemHeaderComponent, descendants: true }, { propertyName: "body", first: true, predicate: FngAccordionItemBodyComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fng-accordion-item\" [class.fng-accordion-item--collapsed]=\"!expanded\" [class.fng-accordion-item--expanded]=\"expanded === true\">\n <ng-content></ng-content>\n <div class=\"fng-accordion-item-link\">{{ linkText }}</div>\n</div>\n", styles: [".fng-accordion-item{position:relative;padding:0 16px 0 24px;border-top:1px solid var(--fwe-gray-100);border-bottom:1px solid var(--fwe-gray-100)}.fng-accordion-item-link{position:absolute;top:24px;right:24px;color:var(--fwe-caerul);font-size:var(--fwe-font-size-md);pointer-events:none;display:none}.fng-accordion-item:before{position:absolute;top:0;left:0;display:block;content:\"\";width:4px;height:0px;background-color:var(--fwe-caerul)}.fng-accordion-item:after{position:absolute;top:21px;right:16px;display:block;font-family:var(--fwe-font-family-icons-32);font-size:var(--fwe-font-size-xxl);content:\"\\e900\";height:32px;line-height:32px;transition:transform .2s ease;pointer-events:none}.fng-accordion-item--expanded .fng-accordion-item-header{font-weight:var(--fwe-font-weight-bold)}.fng-accordion-item--expanded .fng-accordion-item-body{height:auto}.fng-accordion-item--expanded:after{transform:rotate(-180deg)}.fng-accordion-item--expanded:before{height:100%}.fng-accordion-item--collapsed .fng-accordion-item-body{height:0px}.fng-accordion-item--collapsed .fng-accordion-item-header{font-weight:var(--fwe-font-weight-normal)}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemComponent, decorators: [{
|
|
226
226
|
type: Component,
|
|
227
227
|
args: [{ standalone: true, selector: 'fng-accordion-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"fng-accordion-item\" [class.fng-accordion-item--collapsed]=\"!expanded\" [class.fng-accordion-item--expanded]=\"expanded === true\">\n <ng-content></ng-content>\n <div class=\"fng-accordion-item-link\">{{ linkText }}</div>\n</div>\n", styles: [".fng-accordion-item{position:relative;padding:0 16px 0 24px;border-top:1px solid var(--fwe-gray-100);border-bottom:1px solid var(--fwe-gray-100)}.fng-accordion-item-link{position:absolute;top:24px;right:24px;color:var(--fwe-caerul);font-size:var(--fwe-font-size-md);pointer-events:none;display:none}.fng-accordion-item:before{position:absolute;top:0;left:0;display:block;content:\"\";width:4px;height:0px;background-color:var(--fwe-caerul)}.fng-accordion-item:after{position:absolute;top:21px;right:16px;display:block;font-family:var(--fwe-font-family-icons-32);font-size:var(--fwe-font-size-xxl);content:\"\\e900\";height:32px;line-height:32px;transition:transform .2s ease;pointer-events:none}.fng-accordion-item--expanded .fng-accordion-item-header{font-weight:var(--fwe-font-weight-bold)}.fng-accordion-item--expanded .fng-accordion-item-body{height:auto}.fng-accordion-item--expanded:after{transform:rotate(-180deg)}.fng-accordion-item--expanded:before{height:100%}.fng-accordion-item--collapsed .fng-accordion-item-body{height:0px}.fng-accordion-item--collapsed .fng-accordion-item-header{font-weight:var(--fwe-font-weight-normal)}\n"] }]
|
|
228
228
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { header: [{
|
|
229
229
|
type: ContentChild,
|
|
230
|
-
args: [
|
|
230
|
+
args: [FngAccordionItemHeaderComponent]
|
|
231
231
|
}], body: [{
|
|
232
232
|
type: ContentChild,
|
|
233
|
-
args: [
|
|
233
|
+
args: [FngAccordionItemBodyComponent]
|
|
234
234
|
}] } });
|
|
235
235
|
|
|
236
|
-
var
|
|
237
|
-
(function (
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
})(
|
|
241
|
-
class
|
|
236
|
+
var FngAccordionActions;
|
|
237
|
+
(function (FngAccordionActions) {
|
|
238
|
+
FngAccordionActions["OpenAll"] = "openAll";
|
|
239
|
+
FngAccordionActions["CloseAll"] = "closeAll";
|
|
240
|
+
})(FngAccordionActions || (FngAccordionActions = {}));
|
|
241
|
+
class FngAccordionComponent {
|
|
242
242
|
constructor() {
|
|
243
|
-
this.componentId = `accordion-${++
|
|
243
|
+
this.componentId = `accordion-${++FngAccordionComponent.nextId}`;
|
|
244
244
|
this.actions = new Subject();
|
|
245
245
|
this.actions$ = this.actions.asObservable();
|
|
246
246
|
// if the accordion should only allow one expanded item at once this property can be set to false
|
|
@@ -262,17 +262,17 @@ class AccordionComponent {
|
|
|
262
262
|
}
|
|
263
263
|
openAll() {
|
|
264
264
|
if (this.multi) {
|
|
265
|
-
this.actions.next(
|
|
265
|
+
this.actions.next(FngAccordionActions.OpenAll);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
closeAll() {
|
|
269
|
-
this.actions.next(
|
|
269
|
+
this.actions.next(FngAccordionActions.CloseAll);
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
272
|
+
FngAccordionComponent.nextId = 0;
|
|
273
|
+
FngAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
274
|
+
FngAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngAccordionComponent, isStandalone: true, selector: "fng-accordion", inputs: { multi: ["fngAccordionKeepItemsOpen", "multi"], showMore: ["fngAccordionShowMoreText", "showMore"], showLess: ["fngAccordionShowLessText", "showLess"] }, queries: [{ propertyName: "items", predicate: FngAccordionItemComponent }], ngImport: i0, template: "<div class=\"fng-accordion\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-accordion{background-color:var(--fwe-white);border-bottom:1px solid var(--fwe-gray-100)}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionComponent, decorators: [{
|
|
276
276
|
type: Component,
|
|
277
277
|
args: [{ standalone: true, selector: 'fng-accordion', encapsulation: ViewEncapsulation.None, template: "<div class=\"fng-accordion\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-accordion{background-color:var(--fwe-white);border-bottom:1px solid var(--fwe-gray-100)}\n"] }]
|
|
278
278
|
}], propDecorators: { multi: [{
|
|
@@ -286,19 +286,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
286
286
|
args: ['fngAccordionShowLessText']
|
|
287
287
|
}], items: [{
|
|
288
288
|
type: ContentChildren,
|
|
289
|
-
args: [
|
|
289
|
+
args: [FngAccordionItemComponent]
|
|
290
290
|
}] } });
|
|
291
291
|
|
|
292
|
-
class
|
|
292
|
+
class FngAccordionHeaderComponent {
|
|
293
293
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
294
|
+
FngAccordionHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
295
|
+
FngAccordionHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngAccordionHeaderComponent, isStandalone: true, selector: "fng-accordion-header", ngImport: i0, template: "<div class=\"fng-accordion-header\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-accordion-header{display:flex;align-items:center;height:48px;padding:0 16px 0 24px;font-size:var(--fwe-font-size-md);font-weight:var(--fwe-font-weight-bold);color:var(--fwe-text);border-bottom:1px solid var(--fwe-gray-100)}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
296
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionHeaderComponent, decorators: [{
|
|
297
297
|
type: Component,
|
|
298
298
|
args: [{ standalone: true, selector: 'fng-accordion-header', encapsulation: ViewEncapsulation.None, template: "<div class=\"fng-accordion-header\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-accordion-header{display:flex;align-items:center;height:48px;padding:0 16px 0 24px;font-size:var(--fwe-font-size-md);font-weight:var(--fwe-font-weight-bold);color:var(--fwe-text);border-bottom:1px solid var(--fwe-gray-100)}\n"] }]
|
|
299
299
|
}] });
|
|
300
300
|
|
|
301
|
-
class
|
|
301
|
+
class FngButtonComponent {
|
|
302
302
|
constructor() {
|
|
303
303
|
this.disabled = false;
|
|
304
304
|
this.primary = false;
|
|
@@ -312,9 +312,9 @@ class ButtonComponent {
|
|
|
312
312
|
}
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
315
|
+
FngButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
316
|
+
FngButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngButtonComponent, isStandalone: true, selector: "fng-button", inputs: { text: "text", icon: "icon", disabled: "disabled", primary: "primary", iconOnly: "iconOnly", large: "large" }, outputs: { fngClick: "fngClick" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "\n<button\n (click)=\"onClick($event)\"\n [ngClass]=\"{\n 'fwe-btn': true,\n 'fng-button': true,\n 'fwe-btn-icon': iconOnly,\n 'fwe-disabled': disabled,\n 'fwe-btn-hero': primary,\n 'fwe-btn-lg': large\n }\"\n [disabled]=\"disabled\"\n>\n <i *ngIf=\"icon\" [class]=\"'fwe-icon fwe-icon-' + icon\"></i>\n <div *ngIf=\"!iconOnly\">\n <ng-content></ng-content>\n <span *ngIf=\"!content\">{{ text }}</span>\n </div>\n</button>\n", styles: ["fng-button{display:inline-block}.fng-button{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngButtonComponent, decorators: [{
|
|
318
318
|
type: Component,
|
|
319
319
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-button', encapsulation: ViewEncapsulation.None, template: "\n<button\n (click)=\"onClick($event)\"\n [ngClass]=\"{\n 'fwe-btn': true,\n 'fng-button': true,\n 'fwe-btn-icon': iconOnly,\n 'fwe-disabled': disabled,\n 'fwe-btn-hero': primary,\n 'fwe-btn-lg': large\n }\"\n [disabled]=\"disabled\"\n>\n <i *ngIf=\"icon\" [class]=\"'fwe-icon fwe-icon-' + icon\"></i>\n <div *ngIf=\"!iconOnly\">\n <ng-content></ng-content>\n <span *ngIf=\"!content\">{{ text }}</span>\n </div>\n</button>\n", styles: ["fng-button{display:inline-block}.fng-button{width:100%}\n"] }]
|
|
320
320
|
}], propDecorators: { text: [{
|
|
@@ -336,7 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
336
336
|
args: ['content']
|
|
337
337
|
}] } });
|
|
338
338
|
|
|
339
|
-
class
|
|
339
|
+
class FngLinkButtonComponent {
|
|
340
340
|
constructor() {
|
|
341
341
|
this.disabled = false;
|
|
342
342
|
this.iconOnly = false;
|
|
@@ -346,9 +346,9 @@ class LinkButtonComponent {
|
|
|
346
346
|
this.fngClick.emit(event);
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
349
|
+
FngLinkButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
350
|
+
FngLinkButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngLinkButtonComponent, isStandalone: true, selector: "fng-link-button", inputs: { text: "text", icon: "icon", disabled: "disabled", iconOnly: "iconOnly" }, outputs: { fngClick: "fngClick" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<button\n (click)=\"onClick($event)\"\n [ngClass]=\"{\n 'fwe-btn': true,\n 'fwe-btn-link': true,\n 'fwe-disabled': disabled\n }\"\n [disabled]=\"disabled\"\n>\n <i *ngIf=\"icon\" [class]=\"'fwe-icon fwe-icon-' + icon\"></i>\n <ng-content *ngIf=\"!iconOnly\"></ng-content>\n <span *ngIf=\"!content\">{{ text }}</span>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLinkButtonComponent, decorators: [{
|
|
352
352
|
type: Component,
|
|
353
353
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-link-button', encapsulation: ViewEncapsulation.None, template: "<button\n (click)=\"onClick($event)\"\n [ngClass]=\"{\n 'fwe-btn': true,\n 'fwe-btn-link': true,\n 'fwe-disabled': disabled\n }\"\n [disabled]=\"disabled\"\n>\n <i *ngIf=\"icon\" [class]=\"'fwe-icon fwe-icon-' + icon\"></i>\n <ng-content *ngIf=\"!iconOnly\"></ng-content>\n <span *ngIf=\"!content\">{{ text }}</span>\n</button>\n" }]
|
|
354
354
|
}], propDecorators: { text: [{
|
|
@@ -374,7 +374,7 @@ var ChipType;
|
|
|
374
374
|
ChipType["Action"] = "ACTION";
|
|
375
375
|
ChipType["Readonly"] = "READONLY";
|
|
376
376
|
})(ChipType || (ChipType = {}));
|
|
377
|
-
class
|
|
377
|
+
class FngChipComponent {
|
|
378
378
|
constructor() {
|
|
379
379
|
this.ChipType = ChipType;
|
|
380
380
|
this.type = ChipType.Choise;
|
|
@@ -383,9 +383,9 @@ class ChipComponent {
|
|
|
383
383
|
this.large = false;
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
386
|
+
FngChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
387
|
+
FngChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngChipComponent, isStandalone: true, selector: "fng-chip", inputs: { type: "type", selected: "selected", disabled: "disabled", icon: "icon", large: "large" }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'fwe-chip': true,\n 'fwe-selected': selected,\n 'fwe-disabled': disabled,\n 'fwe-chip-lg': large,\n 'fwe-category': type === ChipType.Category,\n 'fwe-filter': type === ChipType.Filter,\n 'fwe-readonly': type === ChipType.Readonly\n }\"\n>\n <i *ngIf=\"icon\" [class]=\"'fwe-icon fwe-icon-' + icon\"></i>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
388
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipComponent, decorators: [{
|
|
389
389
|
type: Component,
|
|
390
390
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-chip', encapsulation: ViewEncapsulation.None, template: "<div\n [ngClass]=\"{\n 'fwe-chip': true,\n 'fwe-selected': selected,\n 'fwe-disabled': disabled,\n 'fwe-chip-lg': large,\n 'fwe-category': type === ChipType.Category,\n 'fwe-filter': type === ChipType.Filter,\n 'fwe-readonly': type === ChipType.Readonly\n }\"\n>\n <i *ngIf=\"icon\" [class]=\"'fwe-icon fwe-icon-' + icon\"></i>\n <ng-content></ng-content>\n</div>\n" }]
|
|
391
391
|
}], propDecorators: { type: [{
|
|
@@ -400,28 +400,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
400
400
|
type: Input
|
|
401
401
|
}] } });
|
|
402
402
|
|
|
403
|
-
class
|
|
403
|
+
class FngChipContainerComponent {
|
|
404
404
|
constructor() {
|
|
405
405
|
this.large = false;
|
|
406
406
|
}
|
|
407
407
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
408
|
+
FngChipContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
409
|
+
FngChipContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngChipContainerComponent, isStandalone: true, selector: "fng-chip-container", inputs: { large: "large" }, ngImport: i0, template: "<div class=\"fwe-chip-container\" [class.fwe-chip-container-lg]=\"large\">\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
410
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipContainerComponent, decorators: [{
|
|
411
411
|
type: Component,
|
|
412
412
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-chip-container', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-chip-container\" [class.fwe-chip-container-lg]=\"large\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
413
413
|
}], propDecorators: { large: [{
|
|
414
414
|
type: Input
|
|
415
415
|
}] } });
|
|
416
416
|
|
|
417
|
-
class
|
|
417
|
+
class FngLoadingIndicatorComponent {
|
|
418
418
|
constructor() {
|
|
419
419
|
this.size = 'large';
|
|
420
420
|
}
|
|
421
421
|
}
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
422
|
+
FngLoadingIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLoadingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
423
|
+
FngLoadingIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngLoadingIndicatorComponent, isStandalone: true, selector: "fng-loading-indicator", inputs: { size: "size" }, ngImport: i0, template: "<div class=\"fwe-waiting-container\" [class.fwe-waiting-container-sm]=\"size === 'small'\">\n <div\n class=\"fwe-waiting-indicator\"\n [class.fwe-waiting-indicator-md]=\"size === 'medium'\"\n [class.fwe-waiting-indicator-sm]=\"size === 'small'\"\n >\n <div class=\"fwe-waiting-circle-1\"></div>\n <div class=\"fwe-waiting-circle-2\"></div>\n <div class=\"fwe-waiting-circle-3\"></div>\n <div class=\"fwe-waiting-circle-4\"></div>\n </div>\n <div class=\"fwe-waiting-content-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
424
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLoadingIndicatorComponent, decorators: [{
|
|
425
425
|
type: Component,
|
|
426
426
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-loading-indicator', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-waiting-container\" [class.fwe-waiting-container-sm]=\"size === 'small'\">\n <div\n class=\"fwe-waiting-indicator\"\n [class.fwe-waiting-indicator-md]=\"size === 'medium'\"\n [class.fwe-waiting-indicator-sm]=\"size === 'small'\"\n >\n <div class=\"fwe-waiting-circle-1\"></div>\n <div class=\"fwe-waiting-circle-2\"></div>\n <div class=\"fwe-waiting-circle-3\"></div>\n <div class=\"fwe-waiting-circle-4\"></div>\n </div>\n <div class=\"fwe-waiting-content-container\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
427
427
|
}], propDecorators: { size: [{
|
|
@@ -429,7 +429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
429
429
|
}] } });
|
|
430
430
|
|
|
431
431
|
/* eslint-disable @angular-eslint/no-empty-lifecycle-method */
|
|
432
|
-
class
|
|
432
|
+
class FngMobileFlyoutItemComponent {
|
|
433
433
|
constructor(rla) {
|
|
434
434
|
this.rla = rla;
|
|
435
435
|
this.icon = '';
|
|
@@ -445,9 +445,9 @@ class MobileFlyoutItemComponent {
|
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
448
|
+
FngMobileFlyoutItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutItemComponent, deps: [{ token: i1.RouterLinkActive, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
449
|
+
FngMobileFlyoutItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngMobileFlyoutItemComponent, isStandalone: true, selector: "fng-mobile-flyout-item", inputs: { icon: "icon", pageLink: "pageLink", lastElement: "lastElement" }, usesOnChanges: true, ngImport: i0, template: "<a class=\"fwe-mobile-flyout-item\" [class.fwe-bb]=\"!lastElement\" (click)=\"onClick()\">\n <i *ngIf=\"icon\" [class]=\"'fwe-mr-xs fwe-icon fwe-icon-' + icon\"></i>\n <div *ngIf=\"!rla\" class=\"fwe-flex-grow-1\" routerLinkActive=\"fwe-color-hero\">\n <ng-container *ngTemplateOutlet=\"itemContent\"></ng-container>\n </div>\n <div\n *ngIf=\"rla?.routerLinkActiveOptions\"\n class=\"fwe-flex-grow-1\"\n routerLinkActive=\"fwe-color-hero\"\n [routerLinkActiveOptions]=\"rla.routerLinkActiveOptions\"\n >\n <ng-container *ngTemplateOutlet=\"itemContent\"></ng-container>\n </div>\n <i *ngIf=\"pageLink\" class=\"fwe-icon fwe-icon-arrows-right-2\"></i>\n</a>\n<ng-template #itemContent>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] });
|
|
450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutItemComponent, decorators: [{
|
|
451
451
|
type: Component,
|
|
452
452
|
args: [{ standalone: true, imports: [CommonModule, RouterModule], selector: 'fng-mobile-flyout-item', template: "<a class=\"fwe-mobile-flyout-item\" [class.fwe-bb]=\"!lastElement\" (click)=\"onClick()\">\n <i *ngIf=\"icon\" [class]=\"'fwe-mr-xs fwe-icon fwe-icon-' + icon\"></i>\n <div *ngIf=\"!rla\" class=\"fwe-flex-grow-1\" routerLinkActive=\"fwe-color-hero\">\n <ng-container *ngTemplateOutlet=\"itemContent\"></ng-container>\n </div>\n <div\n *ngIf=\"rla?.routerLinkActiveOptions\"\n class=\"fwe-flex-grow-1\"\n routerLinkActive=\"fwe-color-hero\"\n [routerLinkActiveOptions]=\"rla.routerLinkActiveOptions\"\n >\n <ng-container *ngTemplateOutlet=\"itemContent\"></ng-container>\n </div>\n <i *ngIf=\"pageLink\" class=\"fwe-icon fwe-icon-arrows-right-2\"></i>\n</a>\n<ng-template #itemContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
453
453
|
}], ctorParameters: function () {
|
|
@@ -462,7 +462,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
462
462
|
type: Input
|
|
463
463
|
}] } });
|
|
464
464
|
|
|
465
|
-
class
|
|
465
|
+
class FngMobileFlyoutPageComponent {
|
|
466
466
|
constructor() {
|
|
467
467
|
this.name = '';
|
|
468
468
|
this.back = 'Back';
|
|
@@ -506,21 +506,48 @@ class MobileFlyoutPageComponent {
|
|
|
506
506
|
}
|
|
507
507
|
}
|
|
508
508
|
}
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
509
|
+
FngMobileFlyoutPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
510
|
+
FngMobileFlyoutPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngMobileFlyoutPageComponent, isStandalone: true, selector: "fng-mobile-flyout-page", inputs: { name: "name", back: "back" }, queries: [{ propertyName: "itemComponents", predicate: FngMobileFlyoutItemComponent }], ngImport: i0, template: "<div class=\"fwe-mobile-flyout-page\" [class.fwe-opened]=\"visible\">\n <div class=\"fwe-page-back\" *ngIf=\"!isfirstelement\" (click)=\"onBack()\">\n <i></i>\n <div>{{ back }}</div>\n </div>\n <div class=\"fwe-mobile-flyout-item-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
511
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutPageComponent, decorators: [{
|
|
512
512
|
type: Component,
|
|
513
513
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-mobile-flyout-page', template: "<div class=\"fwe-mobile-flyout-page\" [class.fwe-opened]=\"visible\">\n <div class=\"fwe-page-back\" *ngIf=\"!isfirstelement\" (click)=\"onBack()\">\n <i></i>\n <div>{{ back }}</div>\n </div>\n <div class=\"fwe-mobile-flyout-item-container\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
514
514
|
}], propDecorators: { itemComponents: [{
|
|
515
515
|
type: ContentChildren,
|
|
516
|
-
args: [
|
|
516
|
+
args: [FngMobileFlyoutItemComponent]
|
|
517
517
|
}], name: [{
|
|
518
518
|
type: Input
|
|
519
519
|
}], back: [{
|
|
520
520
|
type: Input
|
|
521
521
|
}] } });
|
|
522
522
|
|
|
523
|
-
class
|
|
523
|
+
class FngClickOutsideDirective {
|
|
524
|
+
constructor(elRef) {
|
|
525
|
+
this.elRef = elRef;
|
|
526
|
+
this.clickOutside = new EventEmitter();
|
|
527
|
+
}
|
|
528
|
+
onClick(targetElement) {
|
|
529
|
+
const inside = this.elRef.nativeElement.contains(targetElement);
|
|
530
|
+
if (!inside) {
|
|
531
|
+
this.clickOutside.emit(null);
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
FngClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
536
|
+
FngClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngClickOutsideDirective, isStandalone: true, selector: "[fngClickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0 });
|
|
537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngClickOutsideDirective, decorators: [{
|
|
538
|
+
type: Directive,
|
|
539
|
+
args: [{
|
|
540
|
+
standalone: true,
|
|
541
|
+
selector: '[fngClickOutside]'
|
|
542
|
+
}]
|
|
543
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
|
|
544
|
+
type: Output
|
|
545
|
+
}], onClick: [{
|
|
546
|
+
type: HostListener,
|
|
547
|
+
args: ['document:click', ['$event.target']]
|
|
548
|
+
}] } });
|
|
549
|
+
|
|
550
|
+
class FngMobileFlyoutComponent {
|
|
524
551
|
constructor() {
|
|
525
552
|
this.flyoutOpenChange = new EventEmitter();
|
|
526
553
|
this.isOpen = false;
|
|
@@ -570,27 +597,27 @@ class MobileFlyoutComponent {
|
|
|
570
597
|
});
|
|
571
598
|
}
|
|
572
599
|
}
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
600
|
+
FngMobileFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
601
|
+
FngMobileFlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngMobileFlyoutComponent, isStandalone: true, selector: "fng-mobile-flyout", outputs: { flyoutOpenChange: "flyoutOpenChange" }, queries: [{ propertyName: "pageComponents", predicate: FngMobileFlyoutPageComponent }], ngImport: i0, template: "<div class=\"fwe-mobile-flyout\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <button [class.fwe-burger-button]=\"!isOpen\" [class.fwe-close-button]=\"isOpen\" (click)=\"toggle()\"></button>\n <div class=\"fwe-mobile-flyout-container\" [class.fwe-opened]=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: FngClickOutsideDirective, selector: "[fngClickOutside]", outputs: ["clickOutside"] }] });
|
|
602
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutComponent, decorators: [{
|
|
576
603
|
type: Component,
|
|
577
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-mobile-flyout', template: "<div class=\"fwe-mobile-flyout\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <button [class.fwe-burger-button]=\"!isOpen\" [class.fwe-close-button]=\"isOpen\" (click)=\"toggle()\"></button>\n <div class=\"fwe-mobile-flyout-container\" [class.fwe-opened]=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
604
|
+
args: [{ standalone: true, imports: [CommonModule, FngClickOutsideDirective], selector: 'fng-mobile-flyout', template: "<div class=\"fwe-mobile-flyout\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <button [class.fwe-burger-button]=\"!isOpen\" [class.fwe-close-button]=\"isOpen\" (click)=\"toggle()\"></button>\n <div class=\"fwe-mobile-flyout-container\" [class.fwe-opened]=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
578
605
|
}], propDecorators: { flyoutOpenChange: [{
|
|
579
606
|
type: Output
|
|
580
607
|
}], pageComponents: [{
|
|
581
608
|
type: ContentChildren,
|
|
582
|
-
args: [
|
|
609
|
+
args: [FngMobileFlyoutPageComponent]
|
|
583
610
|
}] } });
|
|
584
611
|
|
|
585
|
-
var
|
|
586
|
-
(function (
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
})(
|
|
590
|
-
class
|
|
612
|
+
var FngPaginationType;
|
|
613
|
+
(function (FngPaginationType) {
|
|
614
|
+
FngPaginationType["Numeric"] = "NUMERIC";
|
|
615
|
+
FngPaginationType["Dots"] = "DOTS";
|
|
616
|
+
})(FngPaginationType || (FngPaginationType = {}));
|
|
617
|
+
class FngPaginationComponent {
|
|
591
618
|
constructor() {
|
|
592
|
-
this.PaginationType =
|
|
593
|
-
this.type =
|
|
619
|
+
this.PaginationType = FngPaginationType;
|
|
620
|
+
this.type = FngPaginationType.Numeric;
|
|
594
621
|
this.pageCurrent = 0;
|
|
595
622
|
this.changePage = new EventEmitter();
|
|
596
623
|
this.innerPageMax = 0;
|
|
@@ -620,9 +647,9 @@ class PaginationComponent {
|
|
|
620
647
|
this.changePage.emit(this.pageCurrent);
|
|
621
648
|
}
|
|
622
649
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
650
|
+
FngPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
651
|
+
FngPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngPaginationComponent, isStandalone: true, selector: "fng-pagination", inputs: { type: "type", pageCurrent: "pageCurrent", pageMax: "pageMax" }, outputs: { changePage: "changePage" }, ngImport: i0, template: "<ng-container *ngIf=\"type === PaginationType.Numeric\">\n <div class=\"fwe-pagination fwe-p-m\" [class.fwe-d-none]=\"pageMax < 2\">\n <button class=\"fwe-navigate-btn-down\" (click)=\"onBtnDown()\" [class.fwe-disabled]=\"pageCurrent <= 1\"></button>\n <span class=\"fwe-page-current\">{{ pageCurrent }}</span>\n <span class=\"fwe-page-max\">{{ pageMax }}</span>\n <button class=\"fwe-navigate-btn-up\" (click)=\"onBtnUp()\" [class.fwe-disabled]=\"pageCurrent >= pageMax\"></button>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"type === PaginationType.Dots\">\n <div class=\"fwe-p-m\" [class.fwe-d-none]=\"pageMax < 2\">\n <div class=\"fwe-pagination\">\n <span\n *ngFor=\"let index of dotArray\"\n class=\"fwe-page-dot\"\n [class.fwe-selected]=\"index + 1 === pageCurrent\"\n (click)=\"onDotClick(index)\"\n ></span>\n </div>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
652
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPaginationComponent, decorators: [{
|
|
626
653
|
type: Component,
|
|
627
654
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-pagination', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"type === PaginationType.Numeric\">\n <div class=\"fwe-pagination fwe-p-m\" [class.fwe-d-none]=\"pageMax < 2\">\n <button class=\"fwe-navigate-btn-down\" (click)=\"onBtnDown()\" [class.fwe-disabled]=\"pageCurrent <= 1\"></button>\n <span class=\"fwe-page-current\">{{ pageCurrent }}</span>\n <span class=\"fwe-page-max\">{{ pageMax }}</span>\n <button class=\"fwe-navigate-btn-up\" (click)=\"onBtnUp()\" [class.fwe-disabled]=\"pageCurrent >= pageMax\"></button>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"type === PaginationType.Dots\">\n <div class=\"fwe-p-m\" [class.fwe-d-none]=\"pageMax < 2\">\n <div class=\"fwe-pagination\">\n <span\n *ngFor=\"let index of dotArray\"\n class=\"fwe-page-dot\"\n [class.fwe-selected]=\"index + 1 === pageCurrent\"\n (click)=\"onDotClick(index)\"\n ></span>\n </div>\n </div>\n</ng-container>\n" }]
|
|
628
655
|
}], propDecorators: { type: [{
|
|
@@ -635,16 +662,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
635
662
|
type: Output
|
|
636
663
|
}] } });
|
|
637
664
|
|
|
638
|
-
class
|
|
665
|
+
class FngProgressComponent {
|
|
639
666
|
constructor() {
|
|
640
667
|
this.progress = 0;
|
|
641
668
|
this.error = false;
|
|
642
669
|
this.background = 'white';
|
|
643
670
|
}
|
|
644
671
|
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
672
|
+
FngProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
673
|
+
FngProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngProgressComponent, isStandalone: true, selector: "fng-progress", inputs: { progress: "progress", error: "error", background: "background" }, ngImport: i0, template: "<div class=\"fwe-progress\">\n <div\n class=\"fwe-progress-bar\"\n role=\"progressbar\"\n [style.width.%]=\"progress\"\n [class.fwe-bg-red]=\"error\"\n [class.fwe-progress-bar-black]=\"background === 'black'\"\n [class.fwe-progress-bar-background]=\"background === 'background'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n ></div>\n</div>\n" });
|
|
674
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngProgressComponent, decorators: [{
|
|
648
675
|
type: Component,
|
|
649
676
|
args: [{ standalone: true, selector: 'fng-progress', template: "<div class=\"fwe-progress\">\n <div\n class=\"fwe-progress-bar\"\n role=\"progressbar\"\n [style.width.%]=\"progress\"\n [class.fwe-bg-red]=\"error\"\n [class.fwe-progress-bar-black]=\"background === 'black'\"\n [class.fwe-progress-bar-background]=\"background === 'background'\"\n [attr.aria-valuenow]=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n ></div>\n</div>\n" }]
|
|
650
677
|
}], propDecorators: { progress: [{
|
|
@@ -655,7 +682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
655
682
|
type: Input
|
|
656
683
|
}] } });
|
|
657
684
|
|
|
658
|
-
class
|
|
685
|
+
class FngSafeHtmlPipe {
|
|
659
686
|
constructor(sanitizer) {
|
|
660
687
|
this.sanitizer = sanitizer;
|
|
661
688
|
}
|
|
@@ -663,17 +690,17 @@ class SafeHtmlPipe {
|
|
|
663
690
|
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
664
691
|
}
|
|
665
692
|
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
693
|
+
FngSafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSafeHtmlPipe, deps: [{ token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
694
|
+
FngSafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FngSafeHtmlPipe, isStandalone: true, name: "fngSafeHtml" });
|
|
695
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSafeHtmlPipe, decorators: [{
|
|
669
696
|
type: Pipe,
|
|
670
697
|
args: [{
|
|
671
698
|
standalone: true,
|
|
672
|
-
name: '
|
|
699
|
+
name: 'fngSafeHtml'
|
|
673
700
|
}]
|
|
674
701
|
}], ctorParameters: function () { return [{ type: i1$2.DomSanitizer }]; } });
|
|
675
702
|
|
|
676
|
-
class
|
|
703
|
+
class FngSearchSuggestion {
|
|
677
704
|
constructor() {
|
|
678
705
|
/**
|
|
679
706
|
* a html-string. e.g.: '<b> hello </b>'
|
|
@@ -707,7 +734,7 @@ class SearchSuggestion {
|
|
|
707
734
|
/**
|
|
708
735
|
* A custom form element for search inputs.
|
|
709
736
|
*/
|
|
710
|
-
class
|
|
737
|
+
class FngSearchInputComponent {
|
|
711
738
|
constructor() {
|
|
712
739
|
/**
|
|
713
740
|
* the querrry was changed, update the suggetion list
|
|
@@ -824,11 +851,11 @@ class SearchInputComponent {
|
|
|
824
851
|
this.inputRef.nativeElement.blur();
|
|
825
852
|
}
|
|
826
853
|
}
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
854
|
+
FngSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
855
|
+
FngSearchInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSearchInputComponent, isStandalone: true, selector: "fng-search-input", inputs: { label: "label", disabled: "disabled", value: "value", suggestions: "suggestions" }, outputs: { fngChange: "fngChange", fngSearch: "fngSearch" }, host: { listeners: { "document:keydown": "keyhandler($event)" } }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-search-input fwe-w-100\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n class=\"fwe-w-100\"\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | fngSafeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-w-100{width:100%}.fwe-search-suggestion{height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
|
|
856
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSearchInputComponent, decorators: [{
|
|
830
857
|
type: Component,
|
|
831
|
-
args: [{ standalone: true, imports: [CommonModule,
|
|
858
|
+
args: [{ standalone: true, imports: [CommonModule, FngSafeHtmlPipe], selector: 'fng-search-input', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-search-input fwe-w-100\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n class=\"fwe-w-100\"\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | fngSafeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-w-100{width:100%}.fwe-search-suggestion{height:40px}\n"] }]
|
|
832
859
|
}], propDecorators: { inputRef: [{
|
|
833
860
|
type: ViewChild,
|
|
834
861
|
args: ['inputElement']
|
|
@@ -849,7 +876,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
849
876
|
args: ['document:keydown', ['$event']]
|
|
850
877
|
}] } });
|
|
851
878
|
|
|
852
|
-
class
|
|
879
|
+
class FngSnackbarComponent {
|
|
853
880
|
constructor() {
|
|
854
881
|
this.data = {};
|
|
855
882
|
this.close = new EventEmitter();
|
|
@@ -874,8 +901,8 @@ class SnackbarComponent {
|
|
|
874
901
|
this.close.emit();
|
|
875
902
|
}
|
|
876
903
|
}
|
|
877
|
-
|
|
878
|
-
|
|
904
|
+
FngSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
905
|
+
FngSnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSnackbarComponent, isStandalone: true, selector: "fng-snackbar", inputs: { data: "data" }, outputs: { close: "close", action: "action" }, host: { properties: { "style.display": "this.blockDisplay", "@appearDisappear": "this.animationState" } }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'fwe-snackbar': true,\n 'fwe-snackbar-b': data.variant === 'b',\n 'fwe-snackbar-c': data.variant === 'c',\n 'fwe-snackbar-warning': data.type === 'warning',\n 'fwe-snackbar-error': data.type === 'error',\n 'fwe-snackbar-shadow': data.darkBackground\n }\"\n>\n <i\n *ngIf=\"data?.type\"\n aria-hidden=\"true\"\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-info': data.type === 'info',\n 'fwe-icon-status-warning': data.type === 'warning',\n 'fwe-icon-status-failure': data.type === 'error'\n }\"\n ></i>\n <span>{{ data.text }}</span>\n <button *ngIf=\"data?.action\" aria-label=\"UserAction\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onAction()\">\n {{ data.action }}\n </button>\n <button *ngIf=\"data?.showClose\" aria-label=\"Close\" type=\"button\" class=\"fwe-btn fwe-btn-link\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n</div>\n", styles: [".fwe-snackbar{pointer-events:all}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
879
906
|
trigger('appearDisappear', [
|
|
880
907
|
state('init', style({ opacity: 0 })),
|
|
881
908
|
state('first', style({
|
|
@@ -892,7 +919,7 @@ SnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
892
919
|
]))
|
|
893
920
|
])
|
|
894
921
|
], encapsulation: i0.ViewEncapsulation.None });
|
|
895
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarComponent, decorators: [{
|
|
896
923
|
type: Component,
|
|
897
924
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-snackbar', encapsulation: ViewEncapsulation.None, animations: [
|
|
898
925
|
trigger('appearDisappear', [
|
|
@@ -925,7 +952,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
925
952
|
args: ['@appearDisappear']
|
|
926
953
|
}] } });
|
|
927
954
|
|
|
928
|
-
class
|
|
955
|
+
class FngSnackbarService {
|
|
929
956
|
constructor() {
|
|
930
957
|
this.snacks = new Subject();
|
|
931
958
|
this.snacks$ = this.snacks.asObservable();
|
|
@@ -936,16 +963,16 @@ class SnackbarService {
|
|
|
936
963
|
});
|
|
937
964
|
}
|
|
938
965
|
}
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
966
|
+
FngSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
967
|
+
FngSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarService, providedIn: 'root' });
|
|
968
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarService, decorators: [{
|
|
942
969
|
type: Injectable,
|
|
943
970
|
args: [{
|
|
944
971
|
providedIn: 'root'
|
|
945
972
|
}]
|
|
946
973
|
}], ctorParameters: function () { return []; } });
|
|
947
974
|
|
|
948
|
-
class
|
|
975
|
+
class FngSnackbarContainerDirective {
|
|
949
976
|
constructor(viewContainerRef, snackbarService) {
|
|
950
977
|
this.viewContainerRef = viewContainerRef;
|
|
951
978
|
this.snackbarService = snackbarService;
|
|
@@ -967,7 +994,7 @@ class SnackbarContainerDirective {
|
|
|
967
994
|
}
|
|
968
995
|
push(snackDescription) {
|
|
969
996
|
const complete = new Subject();
|
|
970
|
-
const componentRef = this.viewContainerRef.createComponent(
|
|
997
|
+
const componentRef = this.viewContainerRef.createComponent(FngSnackbarComponent);
|
|
971
998
|
const componentInstance = componentRef.instance;
|
|
972
999
|
componentInstance.data = Object.assign(Object.assign({}, this.fngSnackbarContainer), snackDescription.data);
|
|
973
1000
|
componentInstance.animationState = this.snacks.length === 0 ? 'first' : 'fadeIn';
|
|
@@ -1007,19 +1034,19 @@ class SnackbarContainerDirective {
|
|
|
1007
1034
|
}
|
|
1008
1035
|
}
|
|
1009
1036
|
}
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1037
|
+
FngSnackbarContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerDirective, deps: [{ token: i0.ViewContainerRef }, { token: FngSnackbarService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1038
|
+
FngSnackbarContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngSnackbarContainerDirective, isStandalone: true, selector: "[fngSnackbarContainer]", inputs: { fngSnackbarContainer: "fngSnackbarContainer" }, ngImport: i0 });
|
|
1039
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerDirective, decorators: [{
|
|
1013
1040
|
type: Directive,
|
|
1014
1041
|
args: [{
|
|
1015
1042
|
standalone: true,
|
|
1016
1043
|
selector: '[fngSnackbarContainer]'
|
|
1017
1044
|
}]
|
|
1018
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type:
|
|
1045
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: FngSnackbarService }]; }, propDecorators: { fngSnackbarContainer: [{
|
|
1019
1046
|
type: Input
|
|
1020
1047
|
}] } });
|
|
1021
1048
|
|
|
1022
|
-
class
|
|
1049
|
+
class FngSnackbarContainerComponent {
|
|
1023
1050
|
constructor() {
|
|
1024
1051
|
this.config = {
|
|
1025
1052
|
darkBackground: true,
|
|
@@ -1028,24 +1055,24 @@ class SnackbarContainerComponent {
|
|
|
1028
1055
|
};
|
|
1029
1056
|
}
|
|
1030
1057
|
}
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1058
|
+
FngSnackbarContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1059
|
+
FngSnackbarContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSnackbarContainerComponent, isStandalone: true, selector: "fng-snackbar-container", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: FngSnackbarContainerDirective, selector: "[fngSnackbarContainer]", inputs: ["fngSnackbarContainer"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
1060
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerComponent, decorators: [{
|
|
1034
1061
|
type: Component,
|
|
1035
|
-
args: [{ standalone: true, imports: [
|
|
1062
|
+
args: [{ standalone: true, imports: [FngSnackbarContainerDirective], selector: 'fng-snackbar-container', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"] }]
|
|
1036
1063
|
}], propDecorators: { config: [{
|
|
1037
1064
|
type: Input
|
|
1038
1065
|
}] } });
|
|
1039
1066
|
|
|
1040
|
-
class
|
|
1067
|
+
class FngStepHorizontalComponent {
|
|
1041
1068
|
constructor() {
|
|
1042
1069
|
this.isActive = false;
|
|
1043
1070
|
this.title = '';
|
|
1044
1071
|
}
|
|
1045
1072
|
}
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1073
|
+
FngStepHorizontalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1074
|
+
FngStepHorizontalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngStepHorizontalComponent, isStandalone: true, selector: "fng-step-horizontal", inputs: { isActive: "isActive", title: "title" }, ngImport: i0, template: "<div class=\"overflow-hidden\" [class.hidden]=\"!isActive\">\n <div class=\"fng-moving-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".overflow-hidden{overflow:hidden}@keyframes stepperAnimation{0%{transform:translate(100%)}to{transform:translate(0)}}.fng-moving-container{animation-name:stepperAnimation;animation-duration:.3s;animation-timing-function:ease}.hidden{display:none}\n"] });
|
|
1075
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepHorizontalComponent, decorators: [{
|
|
1049
1076
|
type: Component,
|
|
1050
1077
|
args: [{ standalone: true, selector: 'fng-step-horizontal', template: "<div class=\"overflow-hidden\" [class.hidden]=\"!isActive\">\n <div class=\"fng-moving-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".overflow-hidden{overflow:hidden}@keyframes stepperAnimation{0%{transform:translate(100%)}to{transform:translate(0)}}.fng-moving-container{animation-name:stepperAnimation;animation-duration:.3s;animation-timing-function:ease}.hidden{display:none}\n"] }]
|
|
1051
1078
|
}], propDecorators: { isActive: [{
|
|
@@ -1054,7 +1081,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1054
1081
|
type: Input
|
|
1055
1082
|
}] } });
|
|
1056
1083
|
|
|
1057
|
-
class
|
|
1084
|
+
class FngStepperHorizontalComponent {
|
|
1058
1085
|
constructor() {
|
|
1059
1086
|
this.stepIndex = 0;
|
|
1060
1087
|
this.stepIndexChange = new EventEmitter();
|
|
@@ -1088,21 +1115,21 @@ class StepperHorizontalComponent {
|
|
|
1088
1115
|
}
|
|
1089
1116
|
}
|
|
1090
1117
|
}
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1118
|
+
FngStepperHorizontalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1119
|
+
FngStepperHorizontalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngStepperHorizontalComponent, isStandalone: true, selector: "fng-stepper-horizontal", inputs: { stepIndex: "stepIndex" }, outputs: { stepIndexChange: "stepIndexChange" }, queries: [{ propertyName: "stepComponents", predicate: FngStepHorizontalComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fwe-stepper-horizontal\">\n <div\n *ngFor=\"let step of stepComponents; index as i\"\n class=\"fwe-step-container\"\n (click)=\"onStepClick(i)\"\n [class.fwe-step-done]=\"stepIndex > i\"\n [class.fwe-step-active]=\"i === stepIndex\"\n >\n <div class=\"fwe-step\">\n <div class=\"fwe-step-no\">{{ i + 1 }}</div>\n <div class=\"fwe-step-name\">{{ step.title }}</div>\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
1120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperHorizontalComponent, decorators: [{
|
|
1094
1121
|
type: Component,
|
|
1095
1122
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-stepper-horizontal', template: "<div class=\"fwe-stepper-horizontal\">\n <div\n *ngFor=\"let step of stepComponents; index as i\"\n class=\"fwe-step-container\"\n (click)=\"onStepClick(i)\"\n [class.fwe-step-done]=\"stepIndex > i\"\n [class.fwe-step-active]=\"i === stepIndex\"\n >\n <div class=\"fwe-step\">\n <div class=\"fwe-step-no\">{{ i + 1 }}</div>\n <div class=\"fwe-step-name\">{{ step.title }}</div>\n </div>\n </div>\n</div>\n\n<ng-content></ng-content>\n" }]
|
|
1096
1123
|
}], propDecorators: { stepComponents: [{
|
|
1097
1124
|
type: ContentChildren,
|
|
1098
|
-
args: [
|
|
1125
|
+
args: [FngStepHorizontalComponent]
|
|
1099
1126
|
}], stepIndex: [{
|
|
1100
1127
|
type: Input
|
|
1101
1128
|
}], stepIndexChange: [{
|
|
1102
1129
|
type: Output
|
|
1103
1130
|
}] } });
|
|
1104
1131
|
|
|
1105
|
-
class
|
|
1132
|
+
class FngStepVerticalComponent {
|
|
1106
1133
|
constructor() {
|
|
1107
1134
|
this.index = 0;
|
|
1108
1135
|
this.title = '';
|
|
@@ -1134,9 +1161,9 @@ class StepVerticalComponent {
|
|
|
1134
1161
|
this.updateHeight();
|
|
1135
1162
|
}
|
|
1136
1163
|
}
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1164
|
+
FngStepVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1165
|
+
FngStepVerticalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngStepVerticalComponent, isStandalone: true, selector: "fng-step-vertical", inputs: { index: "index", title: "title", isDone: "isDone", isLastElement: "isLastElement", isActive: "isActive" }, viewQueries: [{ propertyName: "stepContent", first: true, predicate: ["stepContent"], descendants: true }, { propertyName: "stepContentContainer", first: true, predicate: ["stepContentContainer"], descendants: true }], ngImport: i0, template: "<div\n class=\"fwe-step-container\"\n [class.fwe-last-element]=\"isLastElement\"\n [class.fwe-step-active]=\"isActive\"\n [class.fwe-step-done]=\"isDone\"\n>\n <div class=\"fwe-step\" (click)=\"onStepClickCallback(index)\">\n <div class=\"fwe-step-no\">{{ index + 1 }}</div>\n <div class=\"fwe-step-name\">{{ title }}</div>\n </div>\n <div #stepContentContainer class=\"fwe-step-content-container\">\n <div #stepContent class=\"fwe-step-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".fwe-step-container.fwe-step-active .fwe-step-content-container{height:20px}\n"] });
|
|
1166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepVerticalComponent, decorators: [{
|
|
1140
1167
|
type: Component,
|
|
1141
1168
|
args: [{ standalone: true, selector: 'fng-step-vertical', template: "<div\n class=\"fwe-step-container\"\n [class.fwe-last-element]=\"isLastElement\"\n [class.fwe-step-active]=\"isActive\"\n [class.fwe-step-done]=\"isDone\"\n>\n <div class=\"fwe-step\" (click)=\"onStepClickCallback(index)\">\n <div class=\"fwe-step-no\">{{ index + 1 }}</div>\n <div class=\"fwe-step-name\">{{ title }}</div>\n </div>\n <div #stepContentContainer class=\"fwe-step-content-container\">\n <div #stepContent class=\"fwe-step-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [".fwe-step-container.fwe-step-active .fwe-step-content-container{height:20px}\n"] }]
|
|
1142
1169
|
}], propDecorators: { stepContent: [{
|
|
@@ -1157,7 +1184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1157
1184
|
type: Input
|
|
1158
1185
|
}] } });
|
|
1159
1186
|
|
|
1160
|
-
class
|
|
1187
|
+
class FngStepperVerticalComponent {
|
|
1161
1188
|
constructor() {
|
|
1162
1189
|
this.stepIndex = 0;
|
|
1163
1190
|
this.stepIndexChange = new EventEmitter();
|
|
@@ -1195,21 +1222,21 @@ class StepperVerticalComponent {
|
|
|
1195
1222
|
}
|
|
1196
1223
|
}
|
|
1197
1224
|
}
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1225
|
+
FngStepperVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1226
|
+
FngStepperVerticalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngStepperVerticalComponent, isStandalone: true, selector: "fng-stepper-vertical", inputs: { stepIndex: "stepIndex" }, outputs: { stepIndexChange: "stepIndexChange" }, queries: [{ propertyName: "stepComponents", predicate: FngStepVerticalComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fwe-stepper-vertical\">\n <ng-content></ng-content>\n</div>\n" });
|
|
1227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperVerticalComponent, decorators: [{
|
|
1201
1228
|
type: Component,
|
|
1202
1229
|
args: [{ standalone: true, selector: 'fng-stepper-vertical', template: "<div class=\"fwe-stepper-vertical\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
1203
1230
|
}], propDecorators: { stepComponents: [{
|
|
1204
1231
|
type: ContentChildren,
|
|
1205
|
-
args: [
|
|
1232
|
+
args: [FngStepVerticalComponent]
|
|
1206
1233
|
}], stepIndex: [{
|
|
1207
1234
|
type: Input
|
|
1208
1235
|
}], stepIndexChange: [{
|
|
1209
1236
|
type: Output
|
|
1210
1237
|
}] } });
|
|
1211
1238
|
|
|
1212
|
-
class
|
|
1239
|
+
class FngTableHeaderCellDirective {
|
|
1213
1240
|
constructor() {
|
|
1214
1241
|
this.changeOrder = new EventEmitter();
|
|
1215
1242
|
}
|
|
@@ -1230,9 +1257,9 @@ class TableHeaderCellDirective {
|
|
|
1230
1257
|
this.changeOrder.emit(this.fngTh);
|
|
1231
1258
|
}
|
|
1232
1259
|
}
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1260
|
+
FngTableHeaderCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTableHeaderCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1261
|
+
FngTableHeaderCellDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngTableHeaderCellDirective, isStandalone: true, selector: "[fngTh]", inputs: { order: "order", fngTh: "fngTh", abbr: "abbr", colspan: "colspan", headers: "headers", rowspan: "rowspan", scope: "scope" }, outputs: { changeOrder: "changeOrder" }, host: { listeners: { "click": "onChangeOrder()" }, properties: { "class.fwe-table-order": "order != null", "class.fwe-active": "active", "class.fwe-table-order-descending": "orderDescending", "attr.abbr": "abbr", "attr.colspan": "colspan", "attr.headers": "headers", "attr.rowspan": "rowspan", "attr.scope": "scope" } }, ngImport: i0 });
|
|
1262
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTableHeaderCellDirective, decorators: [{
|
|
1236
1263
|
type: Directive,
|
|
1237
1264
|
args: [{
|
|
1238
1265
|
standalone: true,
|
|
@@ -1267,7 +1294,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1267
1294
|
type: Input
|
|
1268
1295
|
}] } });
|
|
1269
1296
|
|
|
1270
|
-
class
|
|
1297
|
+
class FngScrollableDirective {
|
|
1271
1298
|
constructor(el, ngZone, renderer) {
|
|
1272
1299
|
this.el = el;
|
|
1273
1300
|
this.ngZone = ngZone;
|
|
@@ -1324,9 +1351,9 @@ class ScrollableDirective {
|
|
|
1324
1351
|
};
|
|
1325
1352
|
}
|
|
1326
1353
|
}
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1354
|
+
FngScrollableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1355
|
+
FngScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngScrollableDirective, isStandalone: true, selector: "[fngScrollable]", inputs: { scrollbarMinSize: ["fngScrollableScrollbarMinSize", "scrollbarMinSize"], viewReady: ["fngScrollableViewReady", "viewReady"] }, usesOnChanges: true, ngImport: i0 });
|
|
1356
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngScrollableDirective, decorators: [{
|
|
1330
1357
|
type: Directive,
|
|
1331
1358
|
args: [{
|
|
1332
1359
|
standalone: true,
|
|
@@ -1340,10 +1367,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1340
1367
|
args: ['fngScrollableViewReady']
|
|
1341
1368
|
}] } });
|
|
1342
1369
|
|
|
1343
|
-
class
|
|
1370
|
+
class FngTabPaneComponent {
|
|
1344
1371
|
constructor() {
|
|
1345
1372
|
this.disabled = false;
|
|
1346
|
-
this.tabPaneId = `tab-panel-content-${++
|
|
1373
|
+
this.tabPaneId = `tab-panel-content-${++FngTabPaneComponent.nextId}`;
|
|
1347
1374
|
this.changesSubject = new Subject();
|
|
1348
1375
|
this.changes$ = this.changesSubject.asObservable();
|
|
1349
1376
|
}
|
|
@@ -1351,10 +1378,10 @@ class TabPaneComponent {
|
|
|
1351
1378
|
this.changesSubject.next(true);
|
|
1352
1379
|
}
|
|
1353
1380
|
}
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1381
|
+
FngTabPaneComponent.nextId = 0;
|
|
1382
|
+
FngTabPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabPaneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1383
|
+
FngTabPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTabPaneComponent, isStandalone: true, selector: "fng-tab-pane", inputs: { id: "id", name: "name", icon: "icon", active: "active", isVisible: "isVisible", disabled: "disabled" }, usesOnChanges: true, ngImport: i0, template: "<div role=\"tabpanel\" [id]=\"tabPaneId\" [attr.aria-labelledby]=\"tabId\" [class.fng-show]=\"isVisible\" [class.fng-hide]=\"!isVisible\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-show{display:block}.fng-hide{display:none}\n"] });
|
|
1384
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabPaneComponent, decorators: [{
|
|
1358
1385
|
type: Component,
|
|
1359
1386
|
args: [{ standalone: true, selector: 'fng-tab-pane', template: "<div role=\"tabpanel\" [id]=\"tabPaneId\" [attr.aria-labelledby]=\"tabId\" [class.fng-show]=\"isVisible\" [class.fng-hide]=\"!isVisible\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-show{display:block}.fng-hide{display:none}\n"] }]
|
|
1360
1387
|
}], propDecorators: { id: [{
|
|
@@ -1371,7 +1398,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1371
1398
|
type: Input
|
|
1372
1399
|
}] } });
|
|
1373
1400
|
|
|
1374
|
-
class
|
|
1401
|
+
class FngTabsComponent {
|
|
1375
1402
|
constructor(elRef, document, renderer, cd) {
|
|
1376
1403
|
this.elRef = elRef;
|
|
1377
1404
|
this.document = document;
|
|
@@ -1382,7 +1409,7 @@ class TabsComponent {
|
|
|
1382
1409
|
this.config = null;
|
|
1383
1410
|
this.fngBeforeTabChange = new EventEmitter();
|
|
1384
1411
|
this.fngTabChange = new EventEmitter();
|
|
1385
|
-
this.componentId = `tabs-${++
|
|
1412
|
+
this.componentId = `tabs-${++FngTabsComponent.nextId}`;
|
|
1386
1413
|
this.tabs = [];
|
|
1387
1414
|
this.useCompactDensity = true;
|
|
1388
1415
|
this.activeTab = undefined;
|
|
@@ -1795,12 +1822,12 @@ class TabsComponent {
|
|
|
1795
1822
|
return -1;
|
|
1796
1823
|
}
|
|
1797
1824
|
}
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TabsComponent, isStandalone: true, selector: "fng-tabs", inputs: { viewType: ["fngTabsViewType", "viewType"], showDivider: ["fngTabsUseBottomDivider", "showDivider"], config: "config" }, outputs: { fngBeforeTabChange: "fngBeforeTabChange", fngTabChange: "fngTabChange" }, queries: [{ propertyName: "panes", predicate: TabPaneComponent }], viewQueries: [{ propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "scrollAera", first: true, predicate: ["scrollAera"], descendants: true }, { propertyName: "scrollContent", first: true, predicate: ["scrollContent"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"viewType === 'legacy'\">\r\n <div class=\"fwe-legacy-tabs\">\r\n <ul\r\n role=\"tablist\"\r\n class=\"fwe-legacy-tab-bar\"\r\n [class.fwe-legacy-tab-bar-full-width]=\"config?.tabBar?.fullWidth\"\r\n [class.fwe-legacy-tab-items-equal-width]=\"'equal' === config?.tabItems?.appearance\"\r\n [class.fwe-legacy-tab-items-fill]=\"'fill' === config?.tabItems?.appearance\"\r\n >\r\n <li\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n class=\"fwe-legacy-tab-item\"\r\n [ngClass]=\"{ 'fwe-active': tab?.active, 'fwe-disabled': tab?.disabled }\"\r\n >\r\n <ng-container *ngIf=\"null == tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n >{{ tab.name }}</a\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"null != tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n [class.fwe-can-swap-icon]=\"2 === tabs.length && 1 === i\"\r\n >\r\n <i [class]=\"'fwe-icon ' + tab.icon\"></i>\r\n <span>{{ tab.name }}</span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n <div class=\"fwe-legacy-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"viewType !== 'legacy'\">\r\n <div class=\"fng-tab-bar\" role=\"tablist\">\r\n <div class=\"fng-tab-scroller\" #scroller>\r\n <div\r\n class=\"fng-tab-scroller-scroll-area fng-tab-scroller-scroll-area--scroll\"\r\n [class.fng-tab-scroller-scroll-area--compact]=\"useCompactDensity\"\r\n #scrollAera\r\n >\r\n <div class=\"fng-tab-scroller-scroll-content\" [class.fng-tab-scroller-scroll-content--with-divider]=\"showDivider\" #scrollContent>\r\n <button\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n role=\"tab\"\r\n class=\"fng-tab\"\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [tabindex]=\"i === 0 ? 0 : -1\"\r\n [class.fng-tab--active]=\"tab?.active\"\r\n [class.fng-tab--disabled]=\"tab?.disabled\"\r\n (click)=\"handleTabScroll($event, i); showTabPane(tab.paneId)\"\r\n >\r\n <span class=\"fng-tab-content\">\r\n <span class=\"fng-tab-text-label\">{{ tab.name }}</span>\r\n </span>\r\n <span class=\"fng-tab-indicator\" [class.fng-tab-indicator--active]=\"tab?.active\">\r\n <span class=\"fng-tab-indicator-content fng-tab-indicator-content--underline\"></span>\r\n </span>\r\n </button>\r\n <div class=\"fng-tab-scroller-divider-line\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"fng-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #tabPanelContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".fwe-legacy-tabs{margin:48px 0;width:100%;height:100%}.fwe-legacy-tab-bar{display:flex;flex-wrap:nowrap;width:75%;padding-left:0;margin-bottom:0;margin-top:0;list-style:none;font-size:var(--fwe-font-size-base)}.fwe-legacy-tab-bar.fwe-legacy-tab-bar-full-width{width:100%}.fwe-legacy-tab-bar.fwe-legacy-tab-items-fill .fwe-legacy-tab-item{flex:1 1 auto}.fwe-legacy-tab-bar.fwe-legacy-tab-items-equal-width .fwe-legacy-tab-item{flex:1 1 0}.fwe-legacy-tab-item{height:48px;max-height:48px;background-color:var(--fwe-gray-300);border-right:2px solid var(--fwe-gray-100);text-align:center}.fwe-legacy-tab-item:last-child{border-right:none}.fwe-legacy-tab-item.fwe-active{background-color:var(--fwe-white)}.fwe-legacy-tab-item.fwe-active .fwe-legacy-tab-link{color:var(--fwe-caerul)}.fwe-legacy-tab-item.fwe-disabled{background-color:var(--fwe-control-disabled)}.fwe-legacy-tab-item.fwe-disabled .fwe-legacy-tab-link{color:var(--fwe-text-disabled)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-gray-100)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{padding:11px 16px}.fwe-legacy-tab-link{display:inline-block;width:100%;height:48px;padding:11px 16px 13px;line-height:24px;cursor:pointer;color:var(--fwe-black);white-space:nowrap}.fwe-legacy-tab-link i.fwe-icon{padding-right:8px;vertical-align:initial}.fwe-legacy-tab-link i.fwe-icon.fwe-icon-lg{position:relative;top:3px}.fwe-legacy-tab-link:hover{color:var(--fwe-caerul)}.fwe-legacy-tab-link:active{background-color:var(--fwe-white);color:var(--fwe-caerul)}.fwe-legacy-tab-panel-content{padding:48px 24px;background-color:var(--fwe-white);height:100%;overflow:auto}@media (max-width: 375px){.fwe-legacy-tab-bar{justify-content:space-between;background-color:var(--fwe-white);width:100%}.fwe-legacy-tab-item{background-color:var(--fwe-white);border-right:2px solid var(--fwe-white)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-white)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{color:var(--fwe-icon-gray)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link i.fwe-icon{color:var(--fwe-icon-gray)}.fwe-legacy-tab-link.fwe-can-swap-icon{direction:rtl}.fwe-legacy-tab-link.fwe-can-swap-icon i.fwe-icon{padding-left:8px;padding-right:0}}.fng-tab-panel-content{padding:48px 24px;background-color:var(--fwe-white);height:100%;overflow:auto}.fng-tab-bar{width:100%}.fng-tab-scroller{overflow-y:hidden}.fng-tab-scroller-scroll-area{position:relative;display:flex;overflow-x:hidden}.fng-tab-scroller-scroll-area::-webkit-scrollbar{display:none}.fng-tab-scroller-scroll-area--scroll{overflow-x:scroll}.fng-tab-scroller-scroll-content{position:relative;display:flex;flex:1 0 auto;transform:none;will-change:transform;padding:0 17px 0 16px}.fng-tab-scroller-scroll-content--with-divider .fng-tab-scroller-divider-line{display:block}.fng-tab-scroller--animating .fng-tab-scroller-scroll-content{transition:.25s transform cubic-bezier(.4,0,.2,1)}.fng-tab-scroller-divider-line{display:none;position:absolute;inset:0;border-bottom:1px solid var(--fwe-control)}.fng-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.fng-tab-indicator-content{transform-origin:left;opacity:0}.fng-tab-indicator-content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.fng-tab-indicator .fng-tab-indicator-content{transition:.25s transform cubic-bezier(.4,0,.2,1)}.fng-tab-indicator .fng-tab-indicator-content--underline{border-top:4px solid var(--fwe-caerul)}.fng-tab-indicator--active .fng-tab-indicator-content{opacity:1}.fng-tab{position:relative;display:flex;flex:1 0 auto;justify-content:center;padding:0;margin:0;border:none;outline:none;background:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;height:36px}.fng-tab:not(:last-child){margin-right:32px}.fng-tab::-moz-focus-inner{padding:0;border:0}.fng-tab .fng-tab-text-label{color:var(--fwe-text)}.fng-tab--active .fng-tab-text-label{color:var(--fwe-caerul)}.fng-tab--disabled .fng-tab-text-label{color:var(--fwe-text-disabled)}.fng-tab-content{position:relative;display:flex;align-items:flex-start;justify-content:center;height:inherit;pointer-events:none}.fng-tab-text-label{display:inline-block;z-index:2}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab{flex:none}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab:not(:last-child){margin-right:64px}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab-scroller-scroll-content{padding:0 32px}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab-scroller-divider-line{padding-right:64px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1825
|
+
FngTabsComponent.nextId = 0;
|
|
1826
|
+
FngTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabsComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1827
|
+
FngTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTabsComponent, isStandalone: true, selector: "fng-tabs", inputs: { viewType: ["fngTabsViewType", "viewType"], showDivider: ["fngTabsUseBottomDivider", "showDivider"], config: "config" }, outputs: { fngBeforeTabChange: "fngBeforeTabChange", fngTabChange: "fngTabChange" }, queries: [{ propertyName: "panes", predicate: FngTabPaneComponent }], viewQueries: [{ propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "scrollAera", first: true, predicate: ["scrollAera"], descendants: true }, { propertyName: "scrollContent", first: true, predicate: ["scrollContent"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"viewType === 'legacy'\">\r\n <div class=\"fwe-legacy-tabs\">\r\n <ul\r\n role=\"tablist\"\r\n class=\"fwe-legacy-tab-bar\"\r\n [class.fwe-legacy-tab-bar-full-width]=\"config?.tabBar?.fullWidth\"\r\n [class.fwe-legacy-tab-items-equal-width]=\"'equal' === config?.tabItems?.appearance\"\r\n [class.fwe-legacy-tab-items-fill]=\"'fill' === config?.tabItems?.appearance\"\r\n >\r\n <li\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n class=\"fwe-legacy-tab-item\"\r\n [ngClass]=\"{ 'fwe-active': tab?.active, 'fwe-disabled': tab?.disabled }\"\r\n >\r\n <ng-container *ngIf=\"null == tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n >{{ tab.name }}</a\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"null != tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n [class.fwe-can-swap-icon]=\"2 === tabs.length && 1 === i\"\r\n >\r\n <i [class]=\"'fwe-icon ' + tab.icon\"></i>\r\n <span>{{ tab.name }}</span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n <div class=\"fwe-legacy-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"viewType !== 'legacy'\">\r\n <div class=\"fng-tab-bar\" role=\"tablist\">\r\n <div class=\"fng-tab-scroller\" #scroller>\r\n <div\r\n class=\"fng-tab-scroller-scroll-area fng-tab-scroller-scroll-area--scroll\"\r\n [class.fng-tab-scroller-scroll-area--compact]=\"useCompactDensity\"\r\n #scrollAera\r\n >\r\n <div class=\"fng-tab-scroller-scroll-content\" [class.fng-tab-scroller-scroll-content--with-divider]=\"showDivider\" #scrollContent>\r\n <button\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n role=\"tab\"\r\n class=\"fng-tab\"\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [tabindex]=\"i === 0 ? 0 : -1\"\r\n [class.fng-tab--active]=\"tab?.active\"\r\n [class.fng-tab--disabled]=\"tab?.disabled\"\r\n (click)=\"handleTabScroll($event, i); showTabPane(tab.paneId)\"\r\n >\r\n <span class=\"fng-tab-content\">\r\n <span class=\"fng-tab-text-label\">{{ tab.name }}</span>\r\n </span>\r\n <span class=\"fng-tab-indicator\" [class.fng-tab-indicator--active]=\"tab?.active\">\r\n <span class=\"fng-tab-indicator-content fng-tab-indicator-content--underline\"></span>\r\n </span>\r\n </button>\r\n <div class=\"fng-tab-scroller-divider-line\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"fng-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #tabPanelContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".fwe-legacy-tabs{margin:48px 0;width:100%;height:100%}.fwe-legacy-tab-bar{display:flex;flex-wrap:nowrap;width:75%;padding-left:0;margin-bottom:0;margin-top:0;list-style:none;font-size:var(--fwe-font-size-base)}.fwe-legacy-tab-bar.fwe-legacy-tab-bar-full-width{width:100%}.fwe-legacy-tab-bar.fwe-legacy-tab-items-fill .fwe-legacy-tab-item{flex:1 1 auto}.fwe-legacy-tab-bar.fwe-legacy-tab-items-equal-width .fwe-legacy-tab-item{flex:1 1 0}.fwe-legacy-tab-item{height:48px;max-height:48px;background-color:var(--fwe-gray-300);border-right:2px solid var(--fwe-gray-100);text-align:center}.fwe-legacy-tab-item:last-child{border-right:none}.fwe-legacy-tab-item.fwe-active{background-color:var(--fwe-white)}.fwe-legacy-tab-item.fwe-active .fwe-legacy-tab-link{color:var(--fwe-caerul)}.fwe-legacy-tab-item.fwe-disabled{background-color:var(--fwe-control-disabled)}.fwe-legacy-tab-item.fwe-disabled .fwe-legacy-tab-link{color:var(--fwe-text-disabled)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-gray-100)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{padding:11px 16px}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link:hover{color:var(--fwe-btn-text);background-color:var(--fwe-btn-hover)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link:active{background-color:var(--fwe-btn-active)}.fwe-legacy-tab-link{display:inline-block;width:100%;height:46px;padding:11px 16px 13px;line-height:24px;cursor:pointer;color:var(--fwe-black);white-space:nowrap}.fwe-legacy-tab-link i.fwe-icon{padding-right:8px;vertical-align:initial}.fwe-legacy-tab-link i.fwe-icon.fwe-icon-lg{position:relative;top:3px}.fwe-legacy-tab-panel-content{padding:48px 24px;background-color:var(--fwe-white);height:100%;overflow:auto}@media (max-width: 375px){.fwe-legacy-tab-bar{justify-content:space-between;background-color:var(--fwe-white);width:100%}.fwe-legacy-tab-item{background-color:var(--fwe-white);border-right:2px solid var(--fwe-white)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-white)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{color:var(--fwe-icon-gray)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link i.fwe-icon{color:var(--fwe-icon-gray)}.fwe-legacy-tab-link.fwe-can-swap-icon{direction:rtl}.fwe-legacy-tab-link.fwe-can-swap-icon i.fwe-icon{padding-left:8px;padding-right:0}}.fng-tab-panel-content{padding:48px 24px;background-color:var(--fwe-white);height:100%;overflow:auto}.fng-tab-bar{width:100%}.fng-tab-scroller{overflow-y:hidden}.fng-tab-scroller-scroll-area{position:relative;display:flex;overflow-x:hidden}.fng-tab-scroller-scroll-area::-webkit-scrollbar{display:none}.fng-tab-scroller-scroll-area--scroll{overflow-x:scroll}.fng-tab-scroller-scroll-content{position:relative;display:flex;flex:1 0 auto;transform:none;will-change:transform;padding:0 17px 0 16px}.fng-tab-scroller-scroll-content--with-divider .fng-tab-scroller-divider-line{display:block}.fng-tab-scroller--animating .fng-tab-scroller-scroll-content{transition:.25s transform cubic-bezier(.4,0,.2,1)}.fng-tab-scroller-divider-line{display:none;position:absolute;inset:0;border-bottom:1px solid var(--fwe-control)}.fng-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.fng-tab-indicator-content{transform-origin:left;opacity:0}.fng-tab-indicator-content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.fng-tab-indicator .fng-tab-indicator-content{transition:.25s transform cubic-bezier(.4,0,.2,1)}.fng-tab-indicator .fng-tab-indicator-content--underline{border-top:4px solid var(--fwe-caerul)}.fng-tab-indicator--active .fng-tab-indicator-content{opacity:1}.fng-tab{position:relative;display:flex;flex:1 0 auto;justify-content:center;padding:0;margin:0;border:none;outline:none;background:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;height:36px}.fng-tab:hover .fng-tab-text-label{color:var(--fwe-caerul)}.fng-tab:active .fng-tab-text-label{color:var(--fwe-btn-hero-active)}.fng-tab:not(:last-child){margin-right:32px}.fng-tab::-moz-focus-inner{padding:0;border:0}.fng-tab .fng-tab-text-label{color:var(--fwe-text)}.fng-tab--active .fng-tab-text-label{color:var(--fwe-caerul)}.fng-tab--disabled .fng-tab-text-label{color:var(--fwe-text-disabled)}.fng-tab-content{position:relative;display:flex;align-items:flex-start;justify-content:center;height:inherit;pointer-events:none}.fng-tab-text-label{display:inline-block;z-index:2}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab{flex:none}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab:not(:last-child){margin-right:64px}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab-scroller-scroll-content{padding:0 32px}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab-scroller-divider-line{padding-right:64px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabsComponent, decorators: [{
|
|
1802
1829
|
type: Component,
|
|
1803
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"viewType === 'legacy'\">\r\n <div class=\"fwe-legacy-tabs\">\r\n <ul\r\n role=\"tablist\"\r\n class=\"fwe-legacy-tab-bar\"\r\n [class.fwe-legacy-tab-bar-full-width]=\"config?.tabBar?.fullWidth\"\r\n [class.fwe-legacy-tab-items-equal-width]=\"'equal' === config?.tabItems?.appearance\"\r\n [class.fwe-legacy-tab-items-fill]=\"'fill' === config?.tabItems?.appearance\"\r\n >\r\n <li\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n class=\"fwe-legacy-tab-item\"\r\n [ngClass]=\"{ 'fwe-active': tab?.active, 'fwe-disabled': tab?.disabled }\"\r\n >\r\n <ng-container *ngIf=\"null == tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n >{{ tab.name }}</a\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"null != tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n [class.fwe-can-swap-icon]=\"2 === tabs.length && 1 === i\"\r\n >\r\n <i [class]=\"'fwe-icon ' + tab.icon\"></i>\r\n <span>{{ tab.name }}</span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n <div class=\"fwe-legacy-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"viewType !== 'legacy'\">\r\n <div class=\"fng-tab-bar\" role=\"tablist\">\r\n <div class=\"fng-tab-scroller\" #scroller>\r\n <div\r\n class=\"fng-tab-scroller-scroll-area fng-tab-scroller-scroll-area--scroll\"\r\n [class.fng-tab-scroller-scroll-area--compact]=\"useCompactDensity\"\r\n #scrollAera\r\n >\r\n <div class=\"fng-tab-scroller-scroll-content\" [class.fng-tab-scroller-scroll-content--with-divider]=\"showDivider\" #scrollContent>\r\n <button\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n role=\"tab\"\r\n class=\"fng-tab\"\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [tabindex]=\"i === 0 ? 0 : -1\"\r\n [class.fng-tab--active]=\"tab?.active\"\r\n [class.fng-tab--disabled]=\"tab?.disabled\"\r\n (click)=\"handleTabScroll($event, i); showTabPane(tab.paneId)\"\r\n >\r\n <span class=\"fng-tab-content\">\r\n <span class=\"fng-tab-text-label\">{{ tab.name }}</span>\r\n </span>\r\n <span class=\"fng-tab-indicator\" [class.fng-tab-indicator--active]=\"tab?.active\">\r\n <span class=\"fng-tab-indicator-content fng-tab-indicator-content--underline\"></span>\r\n </span>\r\n </button>\r\n <div class=\"fng-tab-scroller-divider-line\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"fng-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #tabPanelContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".fwe-legacy-tabs{margin:48px 0;width:100%;height:100%}.fwe-legacy-tab-bar{display:flex;flex-wrap:nowrap;width:75%;padding-left:0;margin-bottom:0;margin-top:0;list-style:none;font-size:var(--fwe-font-size-base)}.fwe-legacy-tab-bar.fwe-legacy-tab-bar-full-width{width:100%}.fwe-legacy-tab-bar.fwe-legacy-tab-items-fill .fwe-legacy-tab-item{flex:1 1 auto}.fwe-legacy-tab-bar.fwe-legacy-tab-items-equal-width .fwe-legacy-tab-item{flex:1 1 0}.fwe-legacy-tab-item{height:48px;max-height:48px;background-color:var(--fwe-gray-300);border-right:2px solid var(--fwe-gray-100);text-align:center}.fwe-legacy-tab-item:last-child{border-right:none}.fwe-legacy-tab-item.fwe-active{background-color:var(--fwe-white)}.fwe-legacy-tab-item.fwe-active .fwe-legacy-tab-link{color:var(--fwe-caerul)}.fwe-legacy-tab-item.fwe-disabled{background-color:var(--fwe-control-disabled)}.fwe-legacy-tab-item.fwe-disabled .fwe-legacy-tab-link{color:var(--fwe-text-disabled)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-gray-100)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{padding:11px 16px}.fwe-legacy-tab-link{display:inline-block;width:100%;height:
|
|
1830
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"viewType === 'legacy'\">\r\n <div class=\"fwe-legacy-tabs\">\r\n <ul\r\n role=\"tablist\"\r\n class=\"fwe-legacy-tab-bar\"\r\n [class.fwe-legacy-tab-bar-full-width]=\"config?.tabBar?.fullWidth\"\r\n [class.fwe-legacy-tab-items-equal-width]=\"'equal' === config?.tabItems?.appearance\"\r\n [class.fwe-legacy-tab-items-fill]=\"'fill' === config?.tabItems?.appearance\"\r\n >\r\n <li\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n class=\"fwe-legacy-tab-item\"\r\n [ngClass]=\"{ 'fwe-active': tab?.active, 'fwe-disabled': tab?.disabled }\"\r\n >\r\n <ng-container *ngIf=\"null == tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n >{{ tab.name }}</a\r\n >\r\n </ng-container>\r\n <ng-container *ngIf=\"null != tab?.icon\">\r\n <a\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [attr.aria-disabled]=\"true === tab?.disabled ? true : false\"\r\n role=\"tab\"\r\n class=\"fwe-legacy-tab-link\"\r\n (click)=\"showTabPane(tab.paneId)\"\r\n [class.fwe-can-swap-icon]=\"2 === tabs.length && 1 === i\"\r\n >\r\n <i [class]=\"'fwe-icon ' + tab.icon\"></i>\r\n <span>{{ tab.name }}</span>\r\n </a>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n <div class=\"fwe-legacy-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"viewType !== 'legacy'\">\r\n <div class=\"fng-tab-bar\" role=\"tablist\">\r\n <div class=\"fng-tab-scroller\" #scroller>\r\n <div\r\n class=\"fng-tab-scroller-scroll-area fng-tab-scroller-scroll-area--scroll\"\r\n [class.fng-tab-scroller-scroll-area--compact]=\"useCompactDensity\"\r\n #scrollAera\r\n >\r\n <div class=\"fng-tab-scroller-scroll-content\" [class.fng-tab-scroller-scroll-content--with-divider]=\"showDivider\" #scrollContent>\r\n <button\r\n *ngFor=\"let tab of tabs; let i = index\"\r\n role=\"tab\"\r\n class=\"fng-tab\"\r\n [id]=\"componentId + '-tab-' + i\"\r\n [attr.aria-controls]=\"tab.paneId\"\r\n [attr.aria-selected]=\"true === tab?.active ? true : false\"\r\n [tabindex]=\"i === 0 ? 0 : -1\"\r\n [class.fng-tab--active]=\"tab?.active\"\r\n [class.fng-tab--disabled]=\"tab?.disabled\"\r\n (click)=\"handleTabScroll($event, i); showTabPane(tab.paneId)\"\r\n >\r\n <span class=\"fng-tab-content\">\r\n <span class=\"fng-tab-text-label\">{{ tab.name }}</span>\r\n </span>\r\n <span class=\"fng-tab-indicator\" [class.fng-tab-indicator--active]=\"tab?.active\">\r\n <span class=\"fng-tab-indicator-content fng-tab-indicator-content--underline\"></span>\r\n </span>\r\n </button>\r\n <div class=\"fng-tab-scroller-divider-line\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"fng-tab-panel-content\">\r\n <ng-container *ngTemplateOutlet=\"tabPanelContent\"></ng-container>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #tabPanelContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n", styles: [".fwe-legacy-tabs{margin:48px 0;width:100%;height:100%}.fwe-legacy-tab-bar{display:flex;flex-wrap:nowrap;width:75%;padding-left:0;margin-bottom:0;margin-top:0;list-style:none;font-size:var(--fwe-font-size-base)}.fwe-legacy-tab-bar.fwe-legacy-tab-bar-full-width{width:100%}.fwe-legacy-tab-bar.fwe-legacy-tab-items-fill .fwe-legacy-tab-item{flex:1 1 auto}.fwe-legacy-tab-bar.fwe-legacy-tab-items-equal-width .fwe-legacy-tab-item{flex:1 1 0}.fwe-legacy-tab-item{height:48px;max-height:48px;background-color:var(--fwe-gray-300);border-right:2px solid var(--fwe-gray-100);text-align:center}.fwe-legacy-tab-item:last-child{border-right:none}.fwe-legacy-tab-item.fwe-active{background-color:var(--fwe-white)}.fwe-legacy-tab-item.fwe-active .fwe-legacy-tab-link{color:var(--fwe-caerul)}.fwe-legacy-tab-item.fwe-disabled{background-color:var(--fwe-control-disabled)}.fwe-legacy-tab-item.fwe-disabled .fwe-legacy-tab-link{color:var(--fwe-text-disabled)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-gray-100)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{padding:11px 16px}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link:hover{color:var(--fwe-btn-text);background-color:var(--fwe-btn-hover)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link:active{background-color:var(--fwe-btn-active)}.fwe-legacy-tab-link{display:inline-block;width:100%;height:46px;padding:11px 16px 13px;line-height:24px;cursor:pointer;color:var(--fwe-black);white-space:nowrap}.fwe-legacy-tab-link i.fwe-icon{padding-right:8px;vertical-align:initial}.fwe-legacy-tab-link i.fwe-icon.fwe-icon-lg{position:relative;top:3px}.fwe-legacy-tab-panel-content{padding:48px 24px;background-color:var(--fwe-white);height:100%;overflow:auto}@media (max-width: 375px){.fwe-legacy-tab-bar{justify-content:space-between;background-color:var(--fwe-white);width:100%}.fwe-legacy-tab-item{background-color:var(--fwe-white);border-right:2px solid var(--fwe-white)}.fwe-legacy-tab-item:not(.fwe-active){border-bottom:2px solid var(--fwe-white)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link{color:var(--fwe-icon-gray)}.fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link i.fwe-icon{color:var(--fwe-icon-gray)}.fwe-legacy-tab-link.fwe-can-swap-icon{direction:rtl}.fwe-legacy-tab-link.fwe-can-swap-icon i.fwe-icon{padding-left:8px;padding-right:0}}.fng-tab-panel-content{padding:48px 24px;background-color:var(--fwe-white);height:100%;overflow:auto}.fng-tab-bar{width:100%}.fng-tab-scroller{overflow-y:hidden}.fng-tab-scroller-scroll-area{position:relative;display:flex;overflow-x:hidden}.fng-tab-scroller-scroll-area::-webkit-scrollbar{display:none}.fng-tab-scroller-scroll-area--scroll{overflow-x:scroll}.fng-tab-scroller-scroll-content{position:relative;display:flex;flex:1 0 auto;transform:none;will-change:transform;padding:0 17px 0 16px}.fng-tab-scroller-scroll-content--with-divider .fng-tab-scroller-divider-line{display:block}.fng-tab-scroller--animating .fng-tab-scroller-scroll-content{transition:.25s transform cubic-bezier(.4,0,.2,1)}.fng-tab-scroller-divider-line{display:none;position:absolute;inset:0;border-bottom:1px solid var(--fwe-control)}.fng-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.fng-tab-indicator-content{transform-origin:left;opacity:0}.fng-tab-indicator-content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.fng-tab-indicator .fng-tab-indicator-content{transition:.25s transform cubic-bezier(.4,0,.2,1)}.fng-tab-indicator .fng-tab-indicator-content--underline{border-top:4px solid var(--fwe-caerul)}.fng-tab-indicator--active .fng-tab-indicator-content{opacity:1}.fng-tab{position:relative;display:flex;flex:1 0 auto;justify-content:center;padding:0;margin:0;border:none;outline:none;background:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;height:36px}.fng-tab:hover .fng-tab-text-label{color:var(--fwe-caerul)}.fng-tab:active .fng-tab-text-label{color:var(--fwe-btn-hero-active)}.fng-tab:not(:last-child){margin-right:32px}.fng-tab::-moz-focus-inner{padding:0;border:0}.fng-tab .fng-tab-text-label{color:var(--fwe-text)}.fng-tab--active .fng-tab-text-label{color:var(--fwe-caerul)}.fng-tab--disabled .fng-tab-text-label{color:var(--fwe-text-disabled)}.fng-tab-content{position:relative;display:flex;align-items:flex-start;justify-content:center;height:inherit;pointer-events:none}.fng-tab-text-label{display:inline-block;z-index:2}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab{flex:none}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab:not(:last-child){margin-right:64px}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab-scroller-scroll-content{padding:0 32px}.fng-tab-scroller-scroll-area:not(.fng-tab-scroller-scroll-area--compact) .fng-tab-scroller-divider-line{padding-right:64px}\n"] }]
|
|
1804
1831
|
}], ctorParameters: function () {
|
|
1805
1832
|
return [{ type: i0.ElementRef }, { type: Document, decorators: [{
|
|
1806
1833
|
type: Inject,
|
|
@@ -1820,7 +1847,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1820
1847
|
type: Output
|
|
1821
1848
|
}], panes: [{
|
|
1822
1849
|
type: ContentChildren,
|
|
1823
|
-
args: [
|
|
1850
|
+
args: [FngTabPaneComponent]
|
|
1824
1851
|
}], scroller: [{
|
|
1825
1852
|
type: ViewChild,
|
|
1826
1853
|
args: ['scroller']
|
|
@@ -1856,34 +1883,34 @@ class PopoverRef {
|
|
|
1856
1883
|
}
|
|
1857
1884
|
}
|
|
1858
1885
|
|
|
1859
|
-
var
|
|
1860
|
-
(function (
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
})(
|
|
1886
|
+
var FngPopoverContentTypes;
|
|
1887
|
+
(function (FngPopoverContentTypes) {
|
|
1888
|
+
FngPopoverContentTypes["Template"] = "template";
|
|
1889
|
+
FngPopoverContentTypes["Component"] = "component";
|
|
1890
|
+
FngPopoverContentTypes["Text"] = "text";
|
|
1891
|
+
})(FngPopoverContentTypes || (FngPopoverContentTypes = {}));
|
|
1865
1892
|
|
|
1866
|
-
class
|
|
1893
|
+
class FngPopoverComponent {
|
|
1867
1894
|
constructor(popoverRef) {
|
|
1868
1895
|
this.popoverRef = popoverRef;
|
|
1869
|
-
this.type =
|
|
1896
|
+
this.type = FngPopoverContentTypes.Text;
|
|
1870
1897
|
}
|
|
1871
1898
|
ngOnInit() {
|
|
1872
1899
|
this.content = this.popoverRef.content;
|
|
1873
1900
|
if ('string' === typeof this.content) {
|
|
1874
|
-
this.type =
|
|
1901
|
+
this.type = FngPopoverContentTypes.Text;
|
|
1875
1902
|
}
|
|
1876
1903
|
if (this.content instanceof TemplateRef) {
|
|
1877
|
-
this.type =
|
|
1904
|
+
this.type = FngPopoverContentTypes.Template;
|
|
1878
1905
|
this.context = {
|
|
1879
1906
|
close: this.popoverRef.close.bind(this.popoverRef)
|
|
1880
1907
|
};
|
|
1881
1908
|
}
|
|
1882
1909
|
}
|
|
1883
1910
|
}
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1911
|
+
FngPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverComponent, deps: [{ token: PopoverRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1912
|
+
FngPopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngPopoverComponent, isStandalone: true, selector: "fng-popover", ngImport: i0, template: "<div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\">\n <ng-container [ngSwitch]=\"type\">\n <div class=\"fwe-popover-content\" *ngSwitchCase=\"'text'\" [innerHTML]=\"content\"></div>\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container *ngTemplateOutlet=\"content; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container *ngComponentOutlet=\"content\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
1913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverComponent, decorators: [{
|
|
1887
1914
|
type: Component,
|
|
1888
1915
|
args: [{ standalone: true, selector: 'fng-popover', imports: [CommonModule], template: "<div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\">\n <ng-container [ngSwitch]=\"type\">\n <div class=\"fwe-popover-content\" *ngSwitchCase=\"'text'\" [innerHTML]=\"content\"></div>\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container *ngTemplateOutlet=\"content; context: context\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container *ngComponentOutlet=\"content\"></ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n" }]
|
|
1889
1916
|
}], ctorParameters: function () { return [{ type: PopoverRef }]; } });
|
|
@@ -1947,7 +1974,7 @@ const defaultClasses = {
|
|
|
1947
1974
|
leftTop: 'fng-popover-left-top'
|
|
1948
1975
|
};
|
|
1949
1976
|
|
|
1950
|
-
class
|
|
1977
|
+
class FngPopoverService {
|
|
1951
1978
|
get defaultOptions() {
|
|
1952
1979
|
return this.options;
|
|
1953
1980
|
}
|
|
@@ -1975,7 +2002,7 @@ class PopoverService {
|
|
|
1975
2002
|
const overlayRef = this.overlay.create(overlayConfig);
|
|
1976
2003
|
const popoverRef = new PopoverRef(overlayRef, content, data);
|
|
1977
2004
|
const injector = this.createInjector(popoverRef, this.injector);
|
|
1978
|
-
overlayRef.attach(new ComponentPortal(
|
|
2005
|
+
overlayRef.attach(new ComponentPortal(FngPopoverComponent, null, injector));
|
|
1979
2006
|
return popoverRef;
|
|
1980
2007
|
}
|
|
1981
2008
|
getOverlayConfig({ origin, options }) {
|
|
@@ -2046,16 +2073,16 @@ class PopoverService {
|
|
|
2046
2073
|
return pairs;
|
|
2047
2074
|
}
|
|
2048
2075
|
}
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2076
|
+
FngPopoverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverService, deps: [{ token: i1$3.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2077
|
+
FngPopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverService, providedIn: 'root' });
|
|
2078
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverService, decorators: [{
|
|
2052
2079
|
type: Injectable,
|
|
2053
2080
|
args: [{
|
|
2054
2081
|
providedIn: 'root'
|
|
2055
2082
|
}]
|
|
2056
2083
|
}], ctorParameters: function () { return [{ type: i1$3.Overlay }, { type: i0.Injector }]; } });
|
|
2057
2084
|
|
|
2058
|
-
class
|
|
2085
|
+
class FngLegendComponent {
|
|
2059
2086
|
constructor(popoverService) {
|
|
2060
2087
|
this.popoverService = popoverService;
|
|
2061
2088
|
this.items = [];
|
|
@@ -2079,12 +2106,12 @@ class LegendComponent {
|
|
|
2079
2106
|
(_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.close();
|
|
2080
2107
|
}
|
|
2081
2108
|
}
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2109
|
+
FngLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendComponent, deps: [{ token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2110
|
+
FngLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngLegendComponent, isStandalone: true, selector: "fng-legend", inputs: { items: "items", options: "options" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["tpl"], descendants: true }], ngImport: i0, template: "<ng-template #tpl>\n <dl *ngIf=\"0 < items.length\" class=\"fng-legend\">\n <div *ngFor=\"let item of items\" class=\"fng-legend-content\">\n <dt>{{ item?.name }}</dt>\n <dd>{{ item?.text }}</dd>\n </div>\n </dl>\n</ng-template>\n", styles: [".fwe-triangle.fwe-triangle-right,.fwe-triangle.fwe-triangle-left,.fwe-triangle.fwe-triangle-bottom,.fwe-triangle.fwe-triangle-top{width:17px;height:17px;position:absolute;overflow:hidden}.fwe-triangle.fwe-triangle-right:after,.fwe-triangle.fwe-triangle-left:after,.fwe-triangle.fwe-triangle-bottom:after,.fwe-triangle.fwe-triangle-top:after{content:\"\";position:absolute;width:12px;height:12px;background:var(--fwe-white);transform:rotate(45deg);box-shadow:0 1px 4px #3333}.fwe-popover.fwe-popover-menu,.fwe-popover{background-color:var(--fwe-white);box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-popover{padding:8px;font-size:var(--fwe-font-size-md);line-height:1rem}.fwe-popover-container{position:relative;display:inline-block}.fwe-triangle.fwe-triangle-top{left:50%;top:-17px;transform:translate(-8px)}.fwe-triangle.fwe-triangle-top:after{top:11px;left:3px}.fwe-triangle.fwe-triangle-bottom{left:50%;top:100%;transform:translate(-8px)}.fwe-triangle.fwe-triangle-bottom:after{top:-6px;left:3px}.fwe-triangle.fwe-triangle-left{left:-17px;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-left:after{top:2px;left:11px}.fwe-triangle.fwe-triangle-right{left:100%;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-right:after{top:2px;left:-6px}.fwe-popover.fwe-popover-menu{font-size:var(--fwe-font-size-base);line-height:1.5rem;padding:16px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item{border-bottom:none;min-height:36px;padding:0}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button{width:100%;margin-left:inherit;padding:0 8px 0 0;text-align:left;height:32px;max-height:32px;display:inline-flex;justify-content:unset}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button:hover{color:var(--fwe-black)}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:24px;width:32px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i:before{display:inline-flex}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button span{display:inline-flex;height:24px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button [class*=\" fwe-icon-\"]{margin-left:inherit}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:hover{color:var(--fwe-black);background-color:#3333331a}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:active{background-color:#3333}.fwe-popover .fwe-popover-legend{display:table;margin:16px;line-height:24px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content{display:table-row}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dt{display:table-cell;margin:0;padding-right:8px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dd{display:table-cell;margin:0}.fng-legend{display:table;margin:16px;line-height:24px}.fng-legend .fng-legend-content{display:table-row}.fng-legend .fng-legend-content dt{display:table-cell;margin:0;padding-right:8px}.fng-legend .fng-legend-content dd{display:table-cell;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendComponent, decorators: [{
|
|
2085
2112
|
type: Component,
|
|
2086
2113
|
args: [{ standalone: true, selector: 'fng-legend', imports: [CommonModule], template: "<ng-template #tpl>\n <dl *ngIf=\"0 < items.length\" class=\"fng-legend\">\n <div *ngFor=\"let item of items\" class=\"fng-legend-content\">\n <dt>{{ item?.name }}</dt>\n <dd>{{ item?.text }}</dd>\n </div>\n </dl>\n</ng-template>\n", styles: [".fwe-triangle.fwe-triangle-right,.fwe-triangle.fwe-triangle-left,.fwe-triangle.fwe-triangle-bottom,.fwe-triangle.fwe-triangle-top{width:17px;height:17px;position:absolute;overflow:hidden}.fwe-triangle.fwe-triangle-right:after,.fwe-triangle.fwe-triangle-left:after,.fwe-triangle.fwe-triangle-bottom:after,.fwe-triangle.fwe-triangle-top:after{content:\"\";position:absolute;width:12px;height:12px;background:var(--fwe-white);transform:rotate(45deg);box-shadow:0 1px 4px #3333}.fwe-popover.fwe-popover-menu,.fwe-popover{background-color:var(--fwe-white);box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-popover{padding:8px;font-size:var(--fwe-font-size-md);line-height:1rem}.fwe-popover-container{position:relative;display:inline-block}.fwe-triangle.fwe-triangle-top{left:50%;top:-17px;transform:translate(-8px)}.fwe-triangle.fwe-triangle-top:after{top:11px;left:3px}.fwe-triangle.fwe-triangle-bottom{left:50%;top:100%;transform:translate(-8px)}.fwe-triangle.fwe-triangle-bottom:after{top:-6px;left:3px}.fwe-triangle.fwe-triangle-left{left:-17px;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-left:after{top:2px;left:11px}.fwe-triangle.fwe-triangle-right{left:100%;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-right:after{top:2px;left:-6px}.fwe-popover.fwe-popover-menu{font-size:var(--fwe-font-size-base);line-height:1.5rem;padding:16px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item{border-bottom:none;min-height:36px;padding:0}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button{width:100%;margin-left:inherit;padding:0 8px 0 0;text-align:left;height:32px;max-height:32px;display:inline-flex;justify-content:unset}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button:hover{color:var(--fwe-black)}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:24px;width:32px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i:before{display:inline-flex}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button span{display:inline-flex;height:24px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button [class*=\" fwe-icon-\"]{margin-left:inherit}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:hover{color:var(--fwe-black);background-color:#3333331a}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:active{background-color:#3333}.fwe-popover .fwe-popover-legend{display:table;margin:16px;line-height:24px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content{display:table-row}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dt{display:table-cell;margin:0;padding-right:8px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dd{display:table-cell;margin:0}.fng-legend{display:table;margin:16px;line-height:24px}.fng-legend .fng-legend-content{display:table-row}.fng-legend .fng-legend-content dt{display:table-cell;margin:0;padding-right:8px}.fng-legend .fng-legend-content dd{display:table-cell;margin:0}\n"] }]
|
|
2087
|
-
}], ctorParameters: function () { return [{ type:
|
|
2114
|
+
}], ctorParameters: function () { return [{ type: FngPopoverService }]; }, propDecorators: { items: [{
|
|
2088
2115
|
type: Input
|
|
2089
2116
|
}], options: [{
|
|
2090
2117
|
type: Input
|
|
@@ -2093,7 +2120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2093
2120
|
args: ['tpl']
|
|
2094
2121
|
}] } });
|
|
2095
2122
|
|
|
2096
|
-
class
|
|
2123
|
+
class FngLegendDirective {
|
|
2097
2124
|
constructor(elmenetRef) {
|
|
2098
2125
|
this.elmenetRef = elmenetRef;
|
|
2099
2126
|
}
|
|
@@ -2106,9 +2133,9 @@ class LegendDirective {
|
|
|
2106
2133
|
}
|
|
2107
2134
|
}
|
|
2108
2135
|
}
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2136
|
+
FngLegendDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2137
|
+
FngLegendDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngLegendDirective, isStandalone: true, selector: "[fngLegend]", host: { listeners: { "click": "show()" } }, queries: [{ propertyName: "ref", first: true, predicate: ["fngContent"], descendants: true }], ngImport: i0 });
|
|
2138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendDirective, decorators: [{
|
|
2112
2139
|
type: Directive,
|
|
2113
2140
|
args: [{
|
|
2114
2141
|
standalone: true,
|
|
@@ -2122,7 +2149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2122
2149
|
args: ['click']
|
|
2123
2150
|
}] } });
|
|
2124
2151
|
|
|
2125
|
-
class
|
|
2152
|
+
class FngPopoverContentComponent {
|
|
2126
2153
|
constructor(popoverService) {
|
|
2127
2154
|
this.popoverService = popoverService;
|
|
2128
2155
|
this.options = {};
|
|
@@ -2179,12 +2206,12 @@ class PopoverContentComponent {
|
|
|
2179
2206
|
(_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.close();
|
|
2180
2207
|
}
|
|
2181
2208
|
}
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2209
|
+
FngPopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentComponent, deps: [{ token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2210
|
+
FngPopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngPopoverContentComponent, isStandalone: true, selector: "fng-popover-content", inputs: { options: "options" }, outputs: { close: "close", actions: "actions" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["tpl"], descendants: true }, { propertyName: "contentRef", first: true, predicate: ["fngContent"], descendants: true }], ngImport: i0, template: "<div #default *ngIf=\"showDefault; else tpl\"></div>\n<ng-template #tpl>\n <div data-fng-root [class.fng-off-screen]=\"offScreen\">\n <div #fngContent class=\"fng-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".fng-off-screen{position:absolute;top:-9999px;left:-9999px}.fng-content{font-size:var(--fwe-font-size-md);line-height:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentComponent, decorators: [{
|
|
2185
2212
|
type: Component,
|
|
2186
2213
|
args: [{ standalone: true, selector: 'fng-popover-content', imports: [CommonModule], template: "<div #default *ngIf=\"showDefault; else tpl\"></div>\n<ng-template #tpl>\n <div data-fng-root [class.fng-off-screen]=\"offScreen\">\n <div #fngContent class=\"fng-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".fng-off-screen{position:absolute;top:-9999px;left:-9999px}.fng-content{font-size:var(--fwe-font-size-md);line-height:1rem}\n"] }]
|
|
2187
|
-
}], ctorParameters: function () { return [{ type:
|
|
2214
|
+
}], ctorParameters: function () { return [{ type: FngPopoverService }]; }, propDecorators: { options: [{
|
|
2188
2215
|
type: Input
|
|
2189
2216
|
}], close: [{
|
|
2190
2217
|
type: Output
|
|
@@ -2198,7 +2225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2198
2225
|
args: ['fngContent']
|
|
2199
2226
|
}] } });
|
|
2200
2227
|
|
|
2201
|
-
class
|
|
2228
|
+
class FngPopoverContentDirective {
|
|
2202
2229
|
constructor(elmenetRef) {
|
|
2203
2230
|
this.elmenetRef = elmenetRef;
|
|
2204
2231
|
}
|
|
@@ -2216,9 +2243,9 @@ class PopoverContentDirective {
|
|
|
2216
2243
|
}
|
|
2217
2244
|
}
|
|
2218
2245
|
}
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2246
|
+
FngPopoverContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2247
|
+
FngPopoverContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngPopoverContentDirective, isStandalone: true, selector: "[fngPopoverContent]", host: { listeners: { "click": "show()", "document:keydown.escape": "hide()" } }, queries: [{ propertyName: "component", first: true, predicate: ["fngComponent"], descendants: true }], ngImport: i0 });
|
|
2248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentDirective, decorators: [{
|
|
2222
2249
|
type: Directive,
|
|
2223
2250
|
args: [{
|
|
2224
2251
|
standalone: true,
|
|
@@ -2235,7 +2262,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2235
2262
|
args: ['document:keydown.escape']
|
|
2236
2263
|
}] } });
|
|
2237
2264
|
|
|
2238
|
-
class
|
|
2265
|
+
class FngPopoverMenuComponent {
|
|
2239
2266
|
constructor(popoverService) {
|
|
2240
2267
|
this.popoverService = popoverService;
|
|
2241
2268
|
this.icon = 'fwe-icon-menu-more fwe-icon-lg';
|
|
@@ -2275,12 +2302,12 @@ class PopoverMenuComponent {
|
|
|
2275
2302
|
(_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.close();
|
|
2276
2303
|
}
|
|
2277
2304
|
}
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2305
|
+
FngPopoverMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverMenuComponent, deps: [{ token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2306
|
+
FngPopoverMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngPopoverMenuComponent, isStandalone: true, selector: "fng-popover-menu", inputs: { icon: "icon", menu: "menu", options: "options" }, outputs: { menuAction: "menuAction" }, host: { listeners: { "document:keydown.escape": "hide()" } }, viewQueries: [{ propertyName: "menuTpl", first: true, predicate: ["menuTpl"], descendants: true }, { propertyName: "origin", first: true, predicate: ["origin"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"0 < menu.length\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark origin\" (click)=\"show($event, menuTpl, origin)\" #origin>\n <i class=\"fwe-icon fwe-pr-0\" [ngClass]=\"icon\"></i>\n </button>\n <ng-template #menuTpl>\n <ul class=\"fwe-list-group\">\n <li *ngFor=\"let item of menu\" class=\"fwe-list-group-item\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"action(item?.action ?? '', item?.data)\">\n <i class=\"fwe-icon\" [ngClass]=\"item?.icon\"></i>\n <span>{{ item?.text }}</span>\n </button>\n </li>\n </ul>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverMenuComponent, decorators: [{
|
|
2281
2308
|
type: Component,
|
|
2282
2309
|
args: [{ standalone: true, selector: 'fng-popover-menu', imports: [CommonModule], template: "<ng-container *ngIf=\"0 < menu.length\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark origin\" (click)=\"show($event, menuTpl, origin)\" #origin>\n <i class=\"fwe-icon fwe-pr-0\" [ngClass]=\"icon\"></i>\n </button>\n <ng-template #menuTpl>\n <ul class=\"fwe-list-group\">\n <li *ngFor=\"let item of menu\" class=\"fwe-list-group-item\">\n <button type=\"button\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"action(item?.action ?? '', item?.data)\">\n <i class=\"fwe-icon\" [ngClass]=\"item?.icon\"></i>\n <span>{{ item?.text }}</span>\n </button>\n </li>\n </ul>\n </ng-template>\n</ng-container>\n" }]
|
|
2283
|
-
}], ctorParameters: function () { return [{ type:
|
|
2310
|
+
}], ctorParameters: function () { return [{ type: FngPopoverService }]; }, propDecorators: { icon: [{
|
|
2284
2311
|
type: Input
|
|
2285
2312
|
}], menu: [{
|
|
2286
2313
|
type: Input
|
|
@@ -2299,7 +2326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2299
2326
|
args: ['document:keydown.escape']
|
|
2300
2327
|
}] } });
|
|
2301
2328
|
|
|
2302
|
-
class
|
|
2329
|
+
class FngTooltipDirective {
|
|
2303
2330
|
constructor(elmenetRef, popoverService) {
|
|
2304
2331
|
this.elmenetRef = elmenetRef;
|
|
2305
2332
|
this.popoverService = popoverService;
|
|
@@ -2370,15 +2397,15 @@ class TooltipDirective {
|
|
|
2370
2397
|
this.innerIsVisible = false;
|
|
2371
2398
|
}
|
|
2372
2399
|
}
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2400
|
+
FngTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTooltipDirective, deps: [{ token: i0.ElementRef }, { token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2401
|
+
FngTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngTooltipDirective, isStandalone: true, selector: "[fngTooltip]", inputs: { text: ["fngTooltip", "text"], isVisible: ["fngTooltipVisible", "isVisible"], positions: ["fngTooltipPositions", "positions"], options: ["fngTooltipOptions", "options"] }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, usesOnChanges: true, ngImport: i0 });
|
|
2402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTooltipDirective, decorators: [{
|
|
2376
2403
|
type: Directive,
|
|
2377
2404
|
args: [{
|
|
2378
2405
|
standalone: true,
|
|
2379
2406
|
selector: '[fngTooltip]'
|
|
2380
2407
|
}]
|
|
2381
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type:
|
|
2408
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FngPopoverService }]; }, propDecorators: { text: [{
|
|
2382
2409
|
type: Input,
|
|
2383
2410
|
args: ['fngTooltip']
|
|
2384
2411
|
}], isVisible: [{
|
|
@@ -2388,7 +2415,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2388
2415
|
type: Input,
|
|
2389
2416
|
args: ['fngTooltipPositions']
|
|
2390
2417
|
}], options: [{
|
|
2391
|
-
type: Input
|
|
2418
|
+
type: Input,
|
|
2419
|
+
args: ['fngTooltipOptions']
|
|
2392
2420
|
}], show: [{
|
|
2393
2421
|
type: HostListener,
|
|
2394
2422
|
args: ['mouseenter']
|
|
@@ -2397,184 +2425,242 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2397
2425
|
args: ['mouseleave']
|
|
2398
2426
|
}] } });
|
|
2399
2427
|
|
|
2428
|
+
/**
|
|
2429
|
+
* Every sidebar instance has its unique instanceID.
|
|
2430
|
+
* When a sidebar is opened, this ID is the next currentsInstanceID.
|
|
2431
|
+
* Every instance with an other ID will be closed then.
|
|
2432
|
+
*
|
|
2433
|
+
* usage: <fng-sidebar-overlay [(open)]="sidebarOpen"> ... </fng-details-sidebar>
|
|
2434
|
+
*/
|
|
2435
|
+
class FngSidebarOverlayComponent {
|
|
2436
|
+
get fngNavbarMargin() {
|
|
2437
|
+
return this.internalNavbarMargin;
|
|
2438
|
+
}
|
|
2439
|
+
set fngNavbarMargin(value) {
|
|
2440
|
+
this.internalNavbarMargin = value === '' || value;
|
|
2441
|
+
}
|
|
2442
|
+
set open(value) {
|
|
2443
|
+
this.internalOpen = value === '' || value;
|
|
2444
|
+
if (this.internalOpen) {
|
|
2445
|
+
FngSidebarOverlayComponent.currentsInstanceID$.next(this.instanceID);
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2448
|
+
get open() {
|
|
2449
|
+
return this.internalOpen;
|
|
2450
|
+
}
|
|
2451
|
+
constructor() {
|
|
2452
|
+
this.internalOpen = false;
|
|
2453
|
+
this.internalNavbarMargin = false;
|
|
2454
|
+
this.openChange = new EventEmitter();
|
|
2455
|
+
this.instanceID = Math.random();
|
|
2456
|
+
FngSidebarOverlayComponent.currentsInstanceID$.subscribe(id => {
|
|
2457
|
+
// close open instances when an other is opened
|
|
2458
|
+
if (this.internalOpen && id !== this.instanceID) {
|
|
2459
|
+
this.internalOpen = false;
|
|
2460
|
+
this.openChange.emit(this.internalOpen);
|
|
2461
|
+
}
|
|
2462
|
+
});
|
|
2463
|
+
}
|
|
2464
|
+
closeSidebar() {
|
|
2465
|
+
this.internalOpen = false;
|
|
2466
|
+
this.openChange.emit(this.internalOpen);
|
|
2467
|
+
}
|
|
2468
|
+
}
|
|
2469
|
+
FngSidebarOverlayComponent.currentsInstanceID$ = new BehaviorSubject(0);
|
|
2470
|
+
FngSidebarOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSidebarOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2471
|
+
FngSidebarOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSidebarOverlayComponent, isStandalone: true, selector: "fng-sidebar-overlay", inputs: { fngNavbarMargin: "fngNavbarMargin", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<div class=\"fwe-sidebar-overlay\" [class.fwe-sidebar-overlay--open]=\"open\" [class.fwe-navbar-margin]=\"internalNavbarMargin\">\n <button type=\"button\" class=\"fwe-close-icon-button\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-lg fwe-icon-menu-close\" (click)=\"closeSidebar()\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
2472
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSidebarOverlayComponent, decorators: [{
|
|
2473
|
+
type: Component,
|
|
2474
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-sidebar-overlay', template: "<div class=\"fwe-sidebar-overlay\" [class.fwe-sidebar-overlay--open]=\"open\" [class.fwe-navbar-margin]=\"internalNavbarMargin\">\n <button type=\"button\" class=\"fwe-close-icon-button\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-lg fwe-icon-menu-close\" (click)=\"closeSidebar()\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <ng-content></ng-content>\n</div>\n" }]
|
|
2475
|
+
}], ctorParameters: function () { return []; }, propDecorators: { fngNavbarMargin: [{
|
|
2476
|
+
type: Input
|
|
2477
|
+
}], open: [{
|
|
2478
|
+
type: Input
|
|
2479
|
+
}], openChange: [{
|
|
2480
|
+
type: Output
|
|
2481
|
+
}] } });
|
|
2482
|
+
|
|
2400
2483
|
class FestoAngularComponentsModule {
|
|
2401
2484
|
}
|
|
2402
2485
|
FestoAngularComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2403
|
-
FestoAngularComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, imports: [
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2486
|
+
FestoAngularComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, imports: [FngClickOutsideDirective,
|
|
2487
|
+
FngPaginationComponent,
|
|
2488
|
+
FngMobileFlyoutPageComponent,
|
|
2489
|
+
FngMobileFlyoutItemComponent,
|
|
2490
|
+
FngMobileFlyoutComponent,
|
|
2491
|
+
FngLoadingIndicatorComponent,
|
|
2492
|
+
FngChipComponent,
|
|
2493
|
+
FngChipContainerComponent,
|
|
2494
|
+
FngTabsComponent,
|
|
2495
|
+
FngTabPaneComponent,
|
|
2496
|
+
FngBreadcrumbComponent,
|
|
2497
|
+
FngAccordionComponent,
|
|
2498
|
+
FngAccordionHeaderComponent,
|
|
2499
|
+
FngAccordionItemComponent,
|
|
2500
|
+
FngAccordionItemBodyComponent,
|
|
2501
|
+
FngAccordionItemHeaderComponent,
|
|
2502
|
+
FngButtonComponent,
|
|
2503
|
+
FngLinkButtonComponent,
|
|
2504
|
+
FngSearchInputComponent,
|
|
2505
|
+
FngSnackbarContainerComponent,
|
|
2506
|
+
FngStepHorizontalComponent,
|
|
2507
|
+
FngStepperHorizontalComponent,
|
|
2508
|
+
FngStepperVerticalComponent,
|
|
2509
|
+
FngStepVerticalComponent,
|
|
2510
|
+
FngTableHeaderCellDirective,
|
|
2511
|
+
FngScrollableDirective,
|
|
2512
|
+
FngProgressComponent,
|
|
2513
|
+
FngLegendDirective,
|
|
2514
|
+
FngPopoverComponent,
|
|
2515
|
+
FngPopoverContentDirective,
|
|
2516
|
+
FngPopoverContentComponent,
|
|
2517
|
+
FngPopoverMenuComponent,
|
|
2518
|
+
FngTooltipDirective,
|
|
2519
|
+
FngLegendDirective,
|
|
2520
|
+
FngLegendComponent,
|
|
2521
|
+
FngSidebarOverlayComponent], exports: [FngClickOutsideDirective,
|
|
2522
|
+
FngBreadcrumbComponent,
|
|
2523
|
+
FngAccordionComponent,
|
|
2524
|
+
FngAccordionHeaderComponent,
|
|
2525
|
+
FngAccordionItemComponent,
|
|
2526
|
+
FngAccordionItemBodyComponent,
|
|
2527
|
+
FngAccordionItemHeaderComponent,
|
|
2528
|
+
FngButtonComponent,
|
|
2529
|
+
FngLinkButtonComponent,
|
|
2530
|
+
FngChipContainerComponent,
|
|
2531
|
+
FngChipComponent,
|
|
2532
|
+
FngLoadingIndicatorComponent,
|
|
2533
|
+
FngMobileFlyoutComponent,
|
|
2534
|
+
FngMobileFlyoutItemComponent,
|
|
2535
|
+
FngMobileFlyoutPageComponent,
|
|
2536
|
+
FngPaginationComponent,
|
|
2537
|
+
FngSearchInputComponent,
|
|
2538
|
+
FngSnackbarContainerComponent,
|
|
2539
|
+
FngStepHorizontalComponent,
|
|
2540
|
+
FngStepperHorizontalComponent,
|
|
2541
|
+
FngStepperVerticalComponent,
|
|
2542
|
+
FngStepVerticalComponent,
|
|
2543
|
+
FngTableHeaderCellDirective,
|
|
2544
|
+
FngScrollableDirective,
|
|
2545
|
+
FngProgressComponent,
|
|
2546
|
+
FngTabsComponent,
|
|
2547
|
+
FngTabPaneComponent,
|
|
2548
|
+
FngLegendDirective,
|
|
2549
|
+
FngPopoverComponent,
|
|
2550
|
+
FngPopoverContentDirective,
|
|
2551
|
+
FngPopoverContentComponent,
|
|
2552
|
+
FngPopoverMenuComponent,
|
|
2553
|
+
FngTooltipDirective,
|
|
2554
|
+
FngLegendDirective,
|
|
2555
|
+
FngLegendComponent,
|
|
2556
|
+
FngSidebarOverlayComponent] });
|
|
2557
|
+
FestoAngularComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, imports: [FngPaginationComponent,
|
|
2558
|
+
FngMobileFlyoutPageComponent,
|
|
2559
|
+
FngMobileFlyoutItemComponent,
|
|
2560
|
+
FngMobileFlyoutComponent,
|
|
2561
|
+
FngLoadingIndicatorComponent,
|
|
2562
|
+
FngChipComponent,
|
|
2563
|
+
FngChipContainerComponent,
|
|
2564
|
+
FngTabsComponent,
|
|
2565
|
+
FngTabPaneComponent,
|
|
2566
|
+
FngBreadcrumbComponent,
|
|
2567
|
+
FngAccordionComponent,
|
|
2568
|
+
FngAccordionHeaderComponent,
|
|
2569
|
+
FngAccordionItemComponent,
|
|
2570
|
+
FngAccordionItemBodyComponent,
|
|
2571
|
+
FngAccordionItemHeaderComponent,
|
|
2572
|
+
FngButtonComponent,
|
|
2573
|
+
FngLinkButtonComponent,
|
|
2574
|
+
FngSearchInputComponent,
|
|
2575
|
+
FngSnackbarContainerComponent,
|
|
2576
|
+
FngStepHorizontalComponent,
|
|
2577
|
+
FngStepperHorizontalComponent,
|
|
2578
|
+
FngStepperVerticalComponent,
|
|
2579
|
+
FngStepVerticalComponent,
|
|
2580
|
+
FngProgressComponent,
|
|
2581
|
+
FngPopoverComponent,
|
|
2582
|
+
FngPopoverContentComponent,
|
|
2583
|
+
FngPopoverMenuComponent,
|
|
2584
|
+
FngLegendComponent,
|
|
2585
|
+
FngSidebarOverlayComponent] });
|
|
2502
2586
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, decorators: [{
|
|
2503
2587
|
type: NgModule,
|
|
2504
2588
|
args: [{
|
|
2505
2589
|
imports: [
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2590
|
+
FngClickOutsideDirective,
|
|
2591
|
+
FngPaginationComponent,
|
|
2592
|
+
FngMobileFlyoutPageComponent,
|
|
2593
|
+
FngMobileFlyoutItemComponent,
|
|
2594
|
+
FngMobileFlyoutComponent,
|
|
2595
|
+
FngLoadingIndicatorComponent,
|
|
2596
|
+
FngChipComponent,
|
|
2597
|
+
FngChipContainerComponent,
|
|
2598
|
+
FngTabsComponent,
|
|
2599
|
+
FngTabPaneComponent,
|
|
2600
|
+
FngBreadcrumbComponent,
|
|
2601
|
+
FngAccordionComponent,
|
|
2602
|
+
FngAccordionHeaderComponent,
|
|
2603
|
+
FngAccordionItemComponent,
|
|
2604
|
+
FngAccordionItemBodyComponent,
|
|
2605
|
+
FngAccordionItemHeaderComponent,
|
|
2606
|
+
FngButtonComponent,
|
|
2607
|
+
FngLinkButtonComponent,
|
|
2608
|
+
FngSearchInputComponent,
|
|
2609
|
+
FngSnackbarContainerComponent,
|
|
2610
|
+
FngStepHorizontalComponent,
|
|
2611
|
+
FngStepperHorizontalComponent,
|
|
2612
|
+
FngStepperVerticalComponent,
|
|
2613
|
+
FngStepVerticalComponent,
|
|
2614
|
+
FngTableHeaderCellDirective,
|
|
2615
|
+
FngScrollableDirective,
|
|
2616
|
+
FngProgressComponent,
|
|
2617
|
+
FngLegendDirective,
|
|
2618
|
+
FngPopoverComponent,
|
|
2619
|
+
FngPopoverContentDirective,
|
|
2620
|
+
FngPopoverContentComponent,
|
|
2621
|
+
FngPopoverMenuComponent,
|
|
2622
|
+
FngTooltipDirective,
|
|
2623
|
+
FngLegendDirective,
|
|
2624
|
+
FngLegendComponent,
|
|
2625
|
+
FngSidebarOverlayComponent
|
|
2542
2626
|
],
|
|
2543
2627
|
exports: [
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2628
|
+
FngClickOutsideDirective,
|
|
2629
|
+
FngBreadcrumbComponent,
|
|
2630
|
+
FngAccordionComponent,
|
|
2631
|
+
FngAccordionHeaderComponent,
|
|
2632
|
+
FngAccordionItemComponent,
|
|
2633
|
+
FngAccordionItemBodyComponent,
|
|
2634
|
+
FngAccordionItemHeaderComponent,
|
|
2635
|
+
FngButtonComponent,
|
|
2636
|
+
FngLinkButtonComponent,
|
|
2637
|
+
FngChipContainerComponent,
|
|
2638
|
+
FngChipComponent,
|
|
2639
|
+
FngLoadingIndicatorComponent,
|
|
2640
|
+
FngMobileFlyoutComponent,
|
|
2641
|
+
FngMobileFlyoutItemComponent,
|
|
2642
|
+
FngMobileFlyoutPageComponent,
|
|
2643
|
+
FngPaginationComponent,
|
|
2644
|
+
FngSearchInputComponent,
|
|
2645
|
+
FngSnackbarContainerComponent,
|
|
2646
|
+
FngStepHorizontalComponent,
|
|
2647
|
+
FngStepperHorizontalComponent,
|
|
2648
|
+
FngStepperVerticalComponent,
|
|
2649
|
+
FngStepVerticalComponent,
|
|
2650
|
+
FngTableHeaderCellDirective,
|
|
2651
|
+
FngScrollableDirective,
|
|
2652
|
+
FngProgressComponent,
|
|
2653
|
+
FngTabsComponent,
|
|
2654
|
+
FngTabPaneComponent,
|
|
2655
|
+
FngLegendDirective,
|
|
2656
|
+
FngPopoverComponent,
|
|
2657
|
+
FngPopoverContentDirective,
|
|
2658
|
+
FngPopoverContentComponent,
|
|
2659
|
+
FngPopoverMenuComponent,
|
|
2660
|
+
FngTooltipDirective,
|
|
2661
|
+
FngLegendDirective,
|
|
2662
|
+
FngLegendComponent,
|
|
2663
|
+
FngSidebarOverlayComponent
|
|
2578
2664
|
]
|
|
2579
2665
|
}]
|
|
2580
2666
|
}] });
|
|
@@ -2582,19 +2668,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2582
2668
|
class FestoAngularSnackbarModule {
|
|
2583
2669
|
}
|
|
2584
2670
|
FestoAngularSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2585
|
-
FestoAngularSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [
|
|
2586
|
-
FestoAngularSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [
|
|
2671
|
+
FestoAngularSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [FngSnackbarComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent], exports: [FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent] });
|
|
2672
|
+
FestoAngularSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [FngSnackbarComponent, FngSnackbarContainerComponent] });
|
|
2587
2673
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, decorators: [{
|
|
2588
2674
|
type: NgModule,
|
|
2589
2675
|
args: [{
|
|
2590
|
-
imports: [
|
|
2591
|
-
exports: [
|
|
2592
|
-
providers: []
|
|
2676
|
+
imports: [FngSnackbarComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent],
|
|
2677
|
+
exports: [FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent],
|
|
2678
|
+
providers: []
|
|
2593
2679
|
// bootstrap: [SnackbarComponent]
|
|
2594
2680
|
}]
|
|
2595
2681
|
}] });
|
|
2596
2682
|
|
|
2597
|
-
class
|
|
2683
|
+
class FngAlertComponent {
|
|
2598
2684
|
constructor() {
|
|
2599
2685
|
this.data = {};
|
|
2600
2686
|
this.close = new EventEmitter();
|
|
@@ -2623,11 +2709,11 @@ class AlertComponent {
|
|
|
2623
2709
|
this.cancel.emit();
|
|
2624
2710
|
}
|
|
2625
2711
|
}
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2712
|
+
FngAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2713
|
+
FngAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngAlertComponent, isStandalone: true, selector: "fng-alert", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data.strong === true,\n 'fwe-modal--warning': data.alertType === 'warning',\n 'fwe-modal--error': data.alertType === 'error',\n 'fwe-modal--info': data.alertType === 'info'\n }\"\n>\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data.alertType === 'warning',\n 'fwe-icon-status-failure': data.alertType === 'error',\n 'fwe-icon-status-check-status': data.alertType === 'info'\n }\"\n ></i\n >{{ data.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data.alertType === 'warning',\n 'fwe-icon-status-failure': data.alertType === 'error',\n 'fwe-icon-status-check-status': data.alertType === 'info'\n }\"\n ></i\n >{{ data.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button\n *ngIf=\"data.cancel\"\n type=\"button\"\n aria-label=\"Cancel\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-link]=\"data.strong\"\n (click)=\"onCancel()\"\n >\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg\" [class.fwe-btn-hero]=\"!data.strong\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
|
|
2714
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAlertComponent, decorators: [{
|
|
2629
2715
|
type: Component,
|
|
2630
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-alert', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data.strong === true,\n 'fwe-modal--warning': data.alertType === 'warning',\n 'fwe-modal--error': data.alertType === 'error',\n 'fwe-modal--info': data.alertType === 'info'\n }\"\n>\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data.alertType === 'warning',\n 'fwe-icon-status-failure': data.alertType === 'error',\n 'fwe-icon-status-check-status': data.alertType === 'info'\n }\"\n ></i\n >{{ data.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data.alertType === 'warning',\n 'fwe-icon-status-failure': data.alertType === 'error',\n 'fwe-icon-status-check-status': data.alertType === 'info'\n }\"\n ></i\n >{{ data.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\"
|
|
2716
|
+
args: [{ standalone: true, imports: [CommonModule, FngSafeHtmlPipe], selector: 'fng-alert', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data.strong === true,\n 'fwe-modal--warning': data.alertType === 'warning',\n 'fwe-modal--error': data.alertType === 'error',\n 'fwe-modal--info': data.alertType === 'info'\n }\"\n>\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data.alertType === 'warning',\n 'fwe-icon-status-failure': data.alertType === 'error',\n 'fwe-icon-status-check-status': data.alertType === 'info'\n }\"\n ></i\n >{{ data.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n <i\n [ngClass]=\"{\n 'fwe-icon': true,\n 'fwe-icon-status-warning': data.alertType === 'warning',\n 'fwe-icon-status-failure': data.alertType === 'error',\n 'fwe-icon-status-check-status': data.alertType === 'info'\n }\"\n ></i\n >{{ data.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button\n *ngIf=\"data.cancel\"\n type=\"button\"\n aria-label=\"Cancel\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-link]=\"data.strong\"\n (click)=\"onCancel()\"\n >\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg\" [class.fwe-btn-hero]=\"!data.strong\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
2631
2717
|
}], propDecorators: { data: [{
|
|
2632
2718
|
type: Input
|
|
2633
2719
|
}], close: [{
|
|
@@ -2644,7 +2730,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2644
2730
|
args: ['window:keyup', ['$event']]
|
|
2645
2731
|
}] } });
|
|
2646
2732
|
|
|
2647
|
-
class
|
|
2733
|
+
class FngConfirmComponent {
|
|
2648
2734
|
onKeyUp(event) {
|
|
2649
2735
|
event.preventDefault();
|
|
2650
2736
|
event.stopPropagation();
|
|
@@ -2674,11 +2760,11 @@ class ConfirmComponent {
|
|
|
2674
2760
|
this.cancel.emit();
|
|
2675
2761
|
}
|
|
2676
2762
|
}
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2763
|
+
FngConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngConfirmComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2764
|
+
FngConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngConfirmComponent, isStandalone: true, selector: "fng-confirm", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data.large }\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg fwe-btn-hero\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngConfirmComponent, decorators: [{
|
|
2680
2766
|
type: Component,
|
|
2681
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data.large }\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\"
|
|
2767
|
+
args: [{ standalone: true, imports: [CommonModule, FngSafeHtmlPipe], selector: 'fng-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data.large }\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg fwe-btn-hero\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
2682
2768
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
2683
2769
|
type: Input
|
|
2684
2770
|
}], close: [{
|
|
@@ -2695,7 +2781,208 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2695
2781
|
args: ['window:keyup', ['$event']]
|
|
2696
2782
|
}] } });
|
|
2697
2783
|
|
|
2698
|
-
|
|
2784
|
+
/**
|
|
2785
|
+
* A custom form element for text inputs.
|
|
2786
|
+
*/
|
|
2787
|
+
class FngTextInputComponent {
|
|
2788
|
+
constructor() {
|
|
2789
|
+
/**
|
|
2790
|
+
* The text input label.
|
|
2791
|
+
*/
|
|
2792
|
+
this.label = '';
|
|
2793
|
+
this.innerType = 'text';
|
|
2794
|
+
this.innerReadonly = false;
|
|
2795
|
+
this.step = undefined;
|
|
2796
|
+
this.min = undefined;
|
|
2797
|
+
this.max = undefined;
|
|
2798
|
+
this.tabindex = undefined;
|
|
2799
|
+
this.placeholder = undefined;
|
|
2800
|
+
this.name = '';
|
|
2801
|
+
this.innerDisabled = false;
|
|
2802
|
+
/**
|
|
2803
|
+
* The inner value.
|
|
2804
|
+
*/
|
|
2805
|
+
this.innerValue = '';
|
|
2806
|
+
this.innerRequired = false;
|
|
2807
|
+
/**
|
|
2808
|
+
* Error description when invalid.
|
|
2809
|
+
*/
|
|
2810
|
+
this.error = '';
|
|
2811
|
+
/**
|
|
2812
|
+
* Hint description when valid.
|
|
2813
|
+
*/
|
|
2814
|
+
this.hint = undefined;
|
|
2815
|
+
/**
|
|
2816
|
+
* When true the text input has focus.
|
|
2817
|
+
*/
|
|
2818
|
+
this.focused = false;
|
|
2819
|
+
}
|
|
2820
|
+
/**
|
|
2821
|
+
* A string specifying the type of control to render.
|
|
2822
|
+
*/
|
|
2823
|
+
get type() {
|
|
2824
|
+
return this.innerType;
|
|
2825
|
+
}
|
|
2826
|
+
set type(value) {
|
|
2827
|
+
const supported = ['text', 'number', 'password', 'date', 'time', 'datetime-local'];
|
|
2828
|
+
if (value != null && supported.indexOf(value) !== -1) {
|
|
2829
|
+
this.innerType = value;
|
|
2830
|
+
}
|
|
2831
|
+
else {
|
|
2832
|
+
this.innerType = 'text';
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
get readonly() {
|
|
2836
|
+
return this.innerReadonly;
|
|
2837
|
+
}
|
|
2838
|
+
set readonly(value) {
|
|
2839
|
+
this.innerReadonly = coerceBooleanProperty(value);
|
|
2840
|
+
}
|
|
2841
|
+
/**
|
|
2842
|
+
* When true the control's disabled attribute is set
|
|
2843
|
+
* and it gets addeed the .disabled css class.
|
|
2844
|
+
*/
|
|
2845
|
+
get disabled() {
|
|
2846
|
+
return this.innerDisabled;
|
|
2847
|
+
}
|
|
2848
|
+
set disabled(value) {
|
|
2849
|
+
this.innerDisabled = coerceBooleanProperty(value);
|
|
2850
|
+
if (this.focused) {
|
|
2851
|
+
this.focused = false;
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
/**
|
|
2855
|
+
* The getter for value.
|
|
2856
|
+
*/
|
|
2857
|
+
get value() {
|
|
2858
|
+
return this.innerValue;
|
|
2859
|
+
}
|
|
2860
|
+
/**
|
|
2861
|
+
* The setter for value.
|
|
2862
|
+
*/
|
|
2863
|
+
set value(value) {
|
|
2864
|
+
if (value != null) {
|
|
2865
|
+
value = '' + value;
|
|
2866
|
+
}
|
|
2867
|
+
this.innerValue = value;
|
|
2868
|
+
this.focused = !!value;
|
|
2869
|
+
if (this.onChange != null) {
|
|
2870
|
+
this.onChange(value);
|
|
2871
|
+
}
|
|
2872
|
+
if (this.onTouched != null) {
|
|
2873
|
+
this.onTouched();
|
|
2874
|
+
}
|
|
2875
|
+
}
|
|
2876
|
+
get required() {
|
|
2877
|
+
return this.innerRequired;
|
|
2878
|
+
}
|
|
2879
|
+
set required(value) {
|
|
2880
|
+
this.innerRequired = coerceBooleanProperty(value);
|
|
2881
|
+
}
|
|
2882
|
+
/**
|
|
2883
|
+
* Called on component initialisation.
|
|
2884
|
+
*/
|
|
2885
|
+
ngOnInit() {
|
|
2886
|
+
this.onBlur();
|
|
2887
|
+
}
|
|
2888
|
+
/**
|
|
2889
|
+
* Writes the value.
|
|
2890
|
+
* @param value The value.
|
|
2891
|
+
*/
|
|
2892
|
+
writeValue(value) {
|
|
2893
|
+
if (value != null) {
|
|
2894
|
+
value = '' + value;
|
|
2895
|
+
}
|
|
2896
|
+
this.innerValue = value;
|
|
2897
|
+
this.focused = !!value;
|
|
2898
|
+
}
|
|
2899
|
+
/**
|
|
2900
|
+
* Registers a function to onChange.
|
|
2901
|
+
* @param fn The registered function.
|
|
2902
|
+
*/
|
|
2903
|
+
registerOnChange(fn) {
|
|
2904
|
+
this.onChange = fn;
|
|
2905
|
+
}
|
|
2906
|
+
/**
|
|
2907
|
+
* Registers a function to onTouched.
|
|
2908
|
+
* @param fn The registered function.
|
|
2909
|
+
*/
|
|
2910
|
+
registerOnTouched(fn) {
|
|
2911
|
+
this.onTouched = fn;
|
|
2912
|
+
}
|
|
2913
|
+
/**
|
|
2914
|
+
* Called when the text input is in focus.
|
|
2915
|
+
*/
|
|
2916
|
+
onFocus() {
|
|
2917
|
+
this.focused = true;
|
|
2918
|
+
}
|
|
2919
|
+
/**
|
|
2920
|
+
* Called when the text input blurs.
|
|
2921
|
+
*/
|
|
2922
|
+
onBlur() {
|
|
2923
|
+
if (this.focused) {
|
|
2924
|
+
this.focused = false;
|
|
2925
|
+
}
|
|
2926
|
+
}
|
|
2927
|
+
/**
|
|
2928
|
+
* Sets the disabled state.
|
|
2929
|
+
* @param isDisabled When true the control is disabled
|
|
2930
|
+
*/
|
|
2931
|
+
setDisabledState(isDisabled) {
|
|
2932
|
+
this.disabled = isDisabled;
|
|
2933
|
+
}
|
|
2934
|
+
}
|
|
2935
|
+
FngTextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2936
|
+
FngTextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTextInputComponent, isStandalone: true, selector: "fng-text-input", inputs: { label: "label", type: "type", readonly: "readonly", step: "step", min: "min", max: "max", tabindex: "tabindex", placeholder: "placeholder", name: "name", disabled: "disabled", value: "value", required: "required", error: "error", hint: "hint" }, providers: [
|
|
2937
|
+
{
|
|
2938
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2939
|
+
useExisting: forwardRef(() => FngTextInputComponent),
|
|
2940
|
+
multi: true
|
|
2941
|
+
}
|
|
2942
|
+
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<label class=\"fwe-input-text\" [class.fwe-no-pointer-events]=\"readonly === true\">\n <input\n #inputElement\n [disabled]=\"disabled\"\n [required]=\"required === true || false\"\n [attr.readonly]=\"readonly === true || null\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.type]=\"type\"\n [attr.step]=\"step\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.name]=\"name || null\"\n [attr.tabindex]=\"tabindex\"\n [class.fng-has-value]=\"value != null && value !== ''\"\n autocomplete=\"off\"\n (focus)=\"onFocus()\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur()\"\n />\n <span class=\"fwe-input-text-label\">{{ label }}</span>\n <span *ngIf=\"hint; else projectedHint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error; else projectedError\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n\n <ng-template #projectedHint>\n <span class=\"fwe-input-text-info fng-projected\"><ng-content select=\".fng-hint\"></ng-content></span>\n </ng-template>\n\n <ng-template #projectedError>\n <span class=\"fwe-input-text-invalid fng-projected\"><ng-content select=\".fng-error\"></ng-content></span>\n </ng-template>\n</label>\n", styles: ["fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]{border-bottom:1px solid var(--fwe-red)!important;box-shadow:none;outline:none}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:focus{border-bottom:1px solid var(--fwe-red)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-info{color:var(--fwe-text-disabled)}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-info{display:none!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-invalid{display:block!important}fng-text-input.ng-valid label.fwe-input-text input[type=text]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=password]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=date]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=time]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=datetime-local]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=number]:hover:not(:disabled){border-bottom:1px solid var(--fwe-hero)!important}fng-text-input label.fwe-input-text.fwe-no-pointer-events{pointer-events:none!important}.fwe-input-text-invalid.fng-projected:empty{display:none}.fwe-input-text-info.fng-projected:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
2943
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextInputComponent, decorators: [{
|
|
2944
|
+
type: Component,
|
|
2945
|
+
args: [{ standalone: true, imports: [CommonModule, FormsModule], selector: 'fng-text-input', providers: [
|
|
2946
|
+
{
|
|
2947
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2948
|
+
useExisting: forwardRef(() => FngTextInputComponent),
|
|
2949
|
+
multi: true
|
|
2950
|
+
}
|
|
2951
|
+
], encapsulation: ViewEncapsulation.None, template: "<label class=\"fwe-input-text\" [class.fwe-no-pointer-events]=\"readonly === true\">\n <input\n #inputElement\n [disabled]=\"disabled\"\n [required]=\"required === true || false\"\n [attr.readonly]=\"readonly === true || null\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.type]=\"type\"\n [attr.step]=\"step\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.name]=\"name || null\"\n [attr.tabindex]=\"tabindex\"\n [class.fng-has-value]=\"value != null && value !== ''\"\n autocomplete=\"off\"\n (focus)=\"onFocus()\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur()\"\n />\n <span class=\"fwe-input-text-label\">{{ label }}</span>\n <span *ngIf=\"hint; else projectedHint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error; else projectedError\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n\n <ng-template #projectedHint>\n <span class=\"fwe-input-text-info fng-projected\"><ng-content select=\".fng-hint\"></ng-content></span>\n </ng-template>\n\n <ng-template #projectedError>\n <span class=\"fwe-input-text-invalid fng-projected\"><ng-content select=\".fng-error\"></ng-content></span>\n </ng-template>\n</label>\n", styles: ["fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]{border-bottom:1px solid var(--fwe-red)!important;box-shadow:none;outline:none}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:focus{border-bottom:1px solid var(--fwe-red)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-info{color:var(--fwe-text-disabled)}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-info{display:none!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-invalid{display:block!important}fng-text-input.ng-valid label.fwe-input-text input[type=text]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=password]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=date]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=time]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=datetime-local]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=number]:hover:not(:disabled){border-bottom:1px solid var(--fwe-hero)!important}fng-text-input label.fwe-input-text.fwe-no-pointer-events{pointer-events:none!important}.fwe-input-text-invalid.fng-projected:empty{display:none}.fwe-input-text-info.fng-projected:empty{display:none}\n"] }]
|
|
2952
|
+
}], propDecorators: { label: [{
|
|
2953
|
+
type: Input
|
|
2954
|
+
}], type: [{
|
|
2955
|
+
type: Input
|
|
2956
|
+
}], readonly: [{
|
|
2957
|
+
type: Input
|
|
2958
|
+
}], step: [{
|
|
2959
|
+
type: Input
|
|
2960
|
+
}], min: [{
|
|
2961
|
+
type: Input
|
|
2962
|
+
}], max: [{
|
|
2963
|
+
type: Input
|
|
2964
|
+
}], tabindex: [{
|
|
2965
|
+
type: Input
|
|
2966
|
+
}], placeholder: [{
|
|
2967
|
+
type: Input
|
|
2968
|
+
}], name: [{
|
|
2969
|
+
type: Input
|
|
2970
|
+
}], disabled: [{
|
|
2971
|
+
type: Input
|
|
2972
|
+
}], value: [{
|
|
2973
|
+
type: Input
|
|
2974
|
+
}], required: [{
|
|
2975
|
+
type: Input
|
|
2976
|
+
}], error: [{
|
|
2977
|
+
type: Input
|
|
2978
|
+
}], hint: [{
|
|
2979
|
+
type: Input
|
|
2980
|
+
}], inputElement: [{
|
|
2981
|
+
type: ViewChild,
|
|
2982
|
+
args: ['inputElement']
|
|
2983
|
+
}] } });
|
|
2984
|
+
|
|
2985
|
+
class FngPromptComponent {
|
|
2699
2986
|
get text() {
|
|
2700
2987
|
var _a, _b;
|
|
2701
2988
|
return (_b = (_a = this.form) === null || _a === void 0 ? void 0 : _a.get('text')) === null || _b === void 0 ? void 0 : _b.value;
|
|
@@ -2722,6 +3009,9 @@ class PromptComponent {
|
|
|
2722
3009
|
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
2723
3010
|
this.onClose();
|
|
2724
3011
|
}
|
|
3012
|
+
if (event.key === 'Enter') {
|
|
3013
|
+
this.onOk();
|
|
3014
|
+
}
|
|
2725
3015
|
}
|
|
2726
3016
|
ngOnInit() {
|
|
2727
3017
|
var _a, _b;
|
|
@@ -2741,10 +3031,12 @@ class PromptComponent {
|
|
|
2741
3031
|
this.error = '';
|
|
2742
3032
|
}
|
|
2743
3033
|
});
|
|
3034
|
+
this.handleErrors();
|
|
2744
3035
|
}
|
|
2745
3036
|
ngAfterViewInit() {
|
|
2746
|
-
|
|
2747
|
-
|
|
3037
|
+
var _a;
|
|
3038
|
+
if (this.inputField) {
|
|
3039
|
+
((_a = this.inputField.inputElement) === null || _a === void 0 ? void 0 : _a.nativeElement).focus();
|
|
2748
3040
|
}
|
|
2749
3041
|
}
|
|
2750
3042
|
ngOnDestroy() {
|
|
@@ -2776,11 +3068,11 @@ class PromptComponent {
|
|
|
2776
3068
|
}
|
|
2777
3069
|
}
|
|
2778
3070
|
}
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3071
|
+
FngPromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPromptComponent, deps: [{ token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
3072
|
+
FngPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngPromptComponent, isStandalone: true, selector: "fng-prompt", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }, { propertyName: "inputField", first: true, predicate: ["inputField"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-modal\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <form [formGroup]=\"form\" class=\"fwe-modal-body\">\n <fng-text-input\n #inputField\n type=\"text\"\n [label]=\"data.label\"\n formControlName=\"text\"\n [error]=\"error\"\n [hint]=\"data.hint\"\n [placeholder]=\"data.placeholder\"\n >\n </fng-text-input>\n </form>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FngTextInputComponent, selector: "fng-text-input", inputs: ["label", "type", "readonly", "step", "min", "max", "tabindex", "placeholder", "name", "disabled", "value", "required", "error", "hint"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3073
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPromptComponent, decorators: [{
|
|
2782
3074
|
type: Component,
|
|
2783
|
-
args: [{ standalone: true, imports: [ReactiveFormsModule, FormsModule, CommonModule], selector: 'fng-prompt', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <form [formGroup]=\"form\" class=\"fwe-modal-body\">\n <
|
|
3075
|
+
args: [{ standalone: true, imports: [ReactiveFormsModule, FormsModule, CommonModule, FngTextInputComponent], selector: 'fng-prompt', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\">\n <div class=\"fwe-modal-close\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-close-small\"></i>\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <form [formGroup]=\"form\" class=\"fwe-modal-body\">\n <fng-text-input\n #inputField\n type=\"text\"\n [label]=\"data.label\"\n formControlName=\"text\"\n [error]=\"error\"\n [hint]=\"data.hint\"\n [placeholder]=\"data.placeholder\"\n >\n </fng-text-input>\n </form>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
2784
3076
|
}], ctorParameters: function () { return [{ type: i3.FormBuilder }]; }, propDecorators: { data: [{
|
|
2785
3077
|
type: Input
|
|
2786
3078
|
}], close: [{
|
|
@@ -2792,12 +3084,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2792
3084
|
}], closeBtn: [{
|
|
2793
3085
|
type: ViewChild,
|
|
2794
3086
|
args: ['closeBtn']
|
|
3087
|
+
}], inputField: [{
|
|
3088
|
+
type: ViewChild,
|
|
3089
|
+
args: ['inputField']
|
|
2795
3090
|
}], onKeyUp: [{
|
|
2796
3091
|
type: HostListener,
|
|
2797
3092
|
args: ['window:keyup', ['$event']]
|
|
2798
3093
|
}] } });
|
|
2799
3094
|
|
|
2800
|
-
class
|
|
3095
|
+
class FngCustomModalComponent {
|
|
2801
3096
|
constructor() {
|
|
2802
3097
|
this.closeOnBackdrop = false;
|
|
2803
3098
|
this.large = false;
|
|
@@ -2809,6 +3104,7 @@ class CustomModalComponent {
|
|
|
2809
3104
|
this.acknowledge = new EventEmitter();
|
|
2810
3105
|
this.cancelLabel = 'Cancel';
|
|
2811
3106
|
this.cancel = new EventEmitter();
|
|
3107
|
+
this.close = new EventEmitter();
|
|
2812
3108
|
}
|
|
2813
3109
|
closeModal() {
|
|
2814
3110
|
this.visible = false;
|
|
@@ -2816,6 +3112,12 @@ class CustomModalComponent {
|
|
|
2816
3112
|
this.visibleChange.emit(false);
|
|
2817
3113
|
}
|
|
2818
3114
|
}
|
|
3115
|
+
onClose() {
|
|
3116
|
+
if (this.close) {
|
|
3117
|
+
this.close.emit();
|
|
3118
|
+
}
|
|
3119
|
+
this.closeModal();
|
|
3120
|
+
}
|
|
2819
3121
|
onCancel() {
|
|
2820
3122
|
this.closeModal();
|
|
2821
3123
|
if (this.cancel) {
|
|
@@ -2829,18 +3131,18 @@ class CustomModalComponent {
|
|
|
2829
3131
|
}
|
|
2830
3132
|
onClickOutside() {
|
|
2831
3133
|
if (this.closeOnBackdrop) {
|
|
2832
|
-
this.
|
|
3134
|
+
this.onClose();
|
|
2833
3135
|
}
|
|
2834
3136
|
}
|
|
2835
3137
|
onClickInside(event) {
|
|
2836
3138
|
event.stopPropagation();
|
|
2837
3139
|
}
|
|
2838
3140
|
}
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3141
|
+
FngCustomModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3142
|
+
FngCustomModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngCustomModalComponent, isStandalone: true, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel", close: "close" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
3143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, decorators: [{
|
|
2842
3144
|
type: Component,
|
|
2843
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"
|
|
3145
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
2844
3146
|
}], propDecorators: { closeOnBackdrop: [{
|
|
2845
3147
|
type: Input
|
|
2846
3148
|
}], large: [{
|
|
@@ -2861,24 +3163,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2861
3163
|
type: Input
|
|
2862
3164
|
}], cancel: [{
|
|
2863
3165
|
type: Output
|
|
3166
|
+
}], close: [{
|
|
3167
|
+
type: Output
|
|
2864
3168
|
}] } });
|
|
2865
3169
|
|
|
2866
|
-
class FestoAngularModalsModule {
|
|
2867
|
-
}
|
|
2868
|
-
FestoAngularModalsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2869
|
-
FestoAngularModalsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, imports: [CommonModule, RouterModule, OverlayModule, AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent], exports: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent] });
|
|
2870
|
-
FestoAngularModalsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, imports: [CommonModule, RouterModule, OverlayModule, AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent] });
|
|
2871
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, decorators: [{
|
|
2872
|
-
type: NgModule,
|
|
2873
|
-
args: [{
|
|
2874
|
-
imports: [CommonModule, RouterModule, OverlayModule, AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent],
|
|
2875
|
-
exports: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent],
|
|
2876
|
-
providers: []
|
|
2877
|
-
}]
|
|
2878
|
-
}] });
|
|
2879
|
-
|
|
2880
3170
|
SwiperCore.use([FreeMode, Navigation, Keyboard, Thumbs, Zoom]);
|
|
2881
|
-
class
|
|
3171
|
+
class FngImageGalleryComponent {
|
|
2882
3172
|
constructor(cd) {
|
|
2883
3173
|
this.cd = cd;
|
|
2884
3174
|
this.data = {
|
|
@@ -2914,11 +3204,11 @@ class ImageGalleryComponent {
|
|
|
2914
3204
|
this.close.emit();
|
|
2915
3205
|
}
|
|
2916
3206
|
}
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3207
|
+
FngImageGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3208
|
+
FngImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\" [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [threshold]=\"20\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img\n [alt]=\"thumbnail.alt\"\n [src]=\"thumbnail.url\"\n [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\"\n />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SwiperModule }, { kind: "component", type: i1$4.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopedSlidesLimit", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "slidesPerGroupAuto", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i1$4.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
|
|
3209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, decorators: [{
|
|
2920
3210
|
type: Component,
|
|
2921
|
-
args: [{ standalone: true, imports: [SwiperModule, CommonModule,
|
|
3211
|
+
args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\" [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [threshold]=\"20\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img\n [alt]=\"thumbnail.alt\"\n [src]=\"thumbnail.url\"\n [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\"\n />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n" }]
|
|
2922
3212
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
2923
3213
|
type: Input
|
|
2924
3214
|
}], close: [{
|
|
@@ -2932,13 +3222,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2932
3222
|
args: ['window:keyup', ['$event']]
|
|
2933
3223
|
}] } });
|
|
2934
3224
|
|
|
2935
|
-
class
|
|
3225
|
+
class FestoAngularModalsModule {
|
|
3226
|
+
}
|
|
3227
|
+
FestoAngularModalsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3228
|
+
FestoAngularModalsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, imports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent], exports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent] });
|
|
3229
|
+
FestoAngularModalsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, imports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent] });
|
|
3230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, decorators: [{
|
|
3231
|
+
type: NgModule,
|
|
3232
|
+
args: [{
|
|
3233
|
+
imports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent],
|
|
3234
|
+
exports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent],
|
|
3235
|
+
providers: []
|
|
3236
|
+
}]
|
|
3237
|
+
}] });
|
|
3238
|
+
|
|
3239
|
+
class FngModalService {
|
|
2936
3240
|
constructor(overlay, router) {
|
|
2937
3241
|
this.overlay = overlay;
|
|
2938
3242
|
this.router = router;
|
|
2939
3243
|
}
|
|
2940
3244
|
alert(data, options) {
|
|
2941
|
-
return this.open(data,
|
|
3245
|
+
return this.open(data, FngAlertComponent, Object.assign({ backdropClass: 'fwe-modal-backdrop', hasBackdrop: true, shouldCloseOnBackdrop: true }, options));
|
|
2942
3246
|
}
|
|
2943
3247
|
confirm(data, options) {
|
|
2944
3248
|
options = options || {
|
|
@@ -2946,7 +3250,7 @@ class ModalService {
|
|
|
2946
3250
|
hasBackdrop: true,
|
|
2947
3251
|
shouldCloseOnBackdrop: true
|
|
2948
3252
|
};
|
|
2949
|
-
return this.open(data,
|
|
3253
|
+
return this.open(data, FngConfirmComponent, options);
|
|
2950
3254
|
}
|
|
2951
3255
|
prompt(data, options) {
|
|
2952
3256
|
options = options || {
|
|
@@ -2954,7 +3258,7 @@ class ModalService {
|
|
|
2954
3258
|
hasBackdrop: true,
|
|
2955
3259
|
shouldCloseOnBackdrop: true
|
|
2956
3260
|
};
|
|
2957
|
-
return this.open(data,
|
|
3261
|
+
return this.open(data, FngPromptComponent, options);
|
|
2958
3262
|
}
|
|
2959
3263
|
openImageGallery(data) {
|
|
2960
3264
|
const options = {
|
|
@@ -2962,7 +3266,7 @@ class ModalService {
|
|
|
2962
3266
|
hasBackdrop: true,
|
|
2963
3267
|
shouldCloseOnBackdrop: true
|
|
2964
3268
|
};
|
|
2965
|
-
return this.open(data,
|
|
3269
|
+
return this.open(data, FngImageGalleryComponent, options);
|
|
2966
3270
|
}
|
|
2967
3271
|
open(data, modal, options) {
|
|
2968
3272
|
return new Promise((resolve, reject) => {
|
|
@@ -3020,15 +3324,15 @@ class ModalService {
|
|
|
3020
3324
|
});
|
|
3021
3325
|
}
|
|
3022
3326
|
}
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3327
|
+
FngModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngModalService, deps: [{ token: i1$3.Overlay }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3328
|
+
FngModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngModalService, providedIn: 'root' });
|
|
3329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngModalService, decorators: [{
|
|
3026
3330
|
type: Injectable,
|
|
3027
3331
|
args: [{ providedIn: 'root' }]
|
|
3028
3332
|
}], ctorParameters: function () { return [{ type: i1$3.Overlay }, { type: i1.Router }]; } });
|
|
3029
3333
|
|
|
3030
3334
|
let nextUniqueId$2 = 0;
|
|
3031
|
-
class
|
|
3335
|
+
class FngCheckboxComponent {
|
|
3032
3336
|
get id() {
|
|
3033
3337
|
return this.innerId;
|
|
3034
3338
|
}
|
|
@@ -3132,20 +3436,20 @@ class CheckboxComponent {
|
|
|
3132
3436
|
}
|
|
3133
3437
|
}
|
|
3134
3438
|
}
|
|
3135
|
-
|
|
3136
|
-
|
|
3439
|
+
FngCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3440
|
+
FngCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngCheckboxComponent, isStandalone: true, selector: "fng-checkbox", inputs: { name: "name", large: "large", valid: "valid", labelPosition: "labelPosition", id: "id", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", value: "value", required: "required" }, outputs: { indeterminateChange: "indeterminateChange", change: "change" }, providers: [
|
|
3137
3441
|
{
|
|
3138
3442
|
provide: NG_VALUE_ACCESSOR,
|
|
3139
|
-
useExisting: forwardRef(() =>
|
|
3443
|
+
useExisting: forwardRef(() => FngCheckboxComponent),
|
|
3140
3444
|
multi: true
|
|
3141
3445
|
}
|
|
3142
3446
|
], ngImport: i0, template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:white}.fwe-checkbox-container svg{display:block;position:absolute;top:0;left:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-dark)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-dark)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-darker)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCheckboxComponent, decorators: [{
|
|
3144
3448
|
type: Component,
|
|
3145
3449
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
3146
3450
|
{
|
|
3147
3451
|
provide: NG_VALUE_ACCESSOR,
|
|
3148
|
-
useExisting: forwardRef(() =>
|
|
3452
|
+
useExisting: forwardRef(() => FngCheckboxComponent),
|
|
3149
3453
|
multi: true
|
|
3150
3454
|
}
|
|
3151
3455
|
], template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:white}.fwe-checkbox-container svg{display:block;position:absolute;top:0;left:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-dark)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-dark)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-darker)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"] }]
|
|
@@ -3178,7 +3482,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3178
3482
|
/**
|
|
3179
3483
|
* A control to display a color.
|
|
3180
3484
|
*/
|
|
3181
|
-
class
|
|
3485
|
+
class FngColorIndicatorComponent {
|
|
3182
3486
|
constructor() {
|
|
3183
3487
|
/**
|
|
3184
3488
|
* The label above the color.
|
|
@@ -3240,9 +3544,9 @@ class ColorIndicatorComponent {
|
|
|
3240
3544
|
}
|
|
3241
3545
|
}
|
|
3242
3546
|
}
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3547
|
+
FngColorIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3548
|
+
FngColorIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngColorIndicatorComponent, isStandalone: true, selector: "fng-color-indicator", inputs: { label: "label", text: "text", color: "color", showPopOver: "showPopOver", disabled: "disabled" }, ngImport: i0, template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator.disabled{pointer-events:none}.fwe-color-indicator.disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
3549
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorIndicatorComponent, decorators: [{
|
|
3246
3550
|
type: Component,
|
|
3247
3551
|
args: [{ standalone: true, imports: [OverlayModule, CommonModule], selector: 'fng-color-indicator', template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator.disabled{pointer-events:none}.fwe-color-indicator.disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"] }]
|
|
3248
3552
|
}], propDecorators: { label: [{
|
|
@@ -3402,7 +3706,7 @@ const PREDEFINED_COLORS = [
|
|
|
3402
3706
|
/**
|
|
3403
3707
|
* A custom form element to pick a color.
|
|
3404
3708
|
*/
|
|
3405
|
-
class
|
|
3709
|
+
class FngColorPickerComponent {
|
|
3406
3710
|
constructor() {
|
|
3407
3711
|
this.baseSize = 184;
|
|
3408
3712
|
this.inputType = 'RGB';
|
|
@@ -3635,20 +3939,20 @@ class ColorPickerComponent {
|
|
|
3635
3939
|
this.isSelectOpen = false;
|
|
3636
3940
|
}
|
|
3637
3941
|
}
|
|
3638
|
-
|
|
3639
|
-
|
|
3942
|
+
FngColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3943
|
+
FngColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngColorPickerComponent, isStandalone: true, selector: "fng-color-picker", inputs: { useAlpha: "useAlpha", alpha: "alpha", color: "color", disabled: "disabled", palette: "palette", paletteOnly: "paletteOnly" }, outputs: { alphaChange: "alphaChange" }, providers: [
|
|
3640
3944
|
{
|
|
3641
3945
|
provide: NG_VALUE_ACCESSOR,
|
|
3642
|
-
useExisting: forwardRef(() =>
|
|
3946
|
+
useExisting: forwardRef(() => FngColorPickerComponent),
|
|
3643
3947
|
multi: true
|
|
3644
3948
|
}
|
|
3645
3949
|
], usesOnChanges: true, ngImport: i0, template: "<div class=\"fwe-color-picker\" [class.fwe-alpha-active]=\"useAlpha\">\n <div class=\"fwe-d-flex\" *ngIf=\"!paletteOnly\">\n <div class=\"fwe-gradient-picker\">\n <div class=\"fwe-saturation-gradient\" [ngStyle]=\"{ 'background-image': getSaturationGradient() }\"></div>\n <div class=\"fwe-brightness-gradient\" (click)=\"onGradientClick($event)\"></div>\n <div\n class=\"fwe-knob\"\n cdkDragBoundary=\".fwe-gradient-picker\"\n cdkDrag\n [cdkDragFreeDragPosition]=\"{ x: saturationKnobOffset, y: valueKnobOffset }\"\n (cdkDragMoved)=\"onGradientDrag($event)\"\n [style.background]=\"color\"\n ></div>\n </div>\n\n <div class=\"fwe-hue-picker\">\n <div class=\"fwe-picker-background\" (click)=\"onHueClick($event)\"></div>\n <div\n class=\"fwe-knob\"\n cdkDragBoundary=\".fwe-hue-picker\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n [cdkDragFreeDragPosition]=\"{ x: 3, y: hueKnobOffset }\"\n (cdkDragMoved)=\"onHueDrag($event)\"\n [style.background]=\"'hsl(' + hue * 360 + ', 100%, 50%)'\"\n ></div>\n </div>\n\n <div class=\"fwe-alpha-picker\" *ngIf=\"useAlpha\">\n <svg\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"8\"\n height=\"184\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"4\" ry=\"4\" width=\"8\" height=\"184\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n <div\n class=\"fwe-picker-background\"\n (click)=\"onAlphaClick($event)\"\n [ngStyle]=\"{ 'background-image': 'linear-gradient( ' + color + ' , transparent)' }\"\n ></div>\n\n <div\n class=\"fwe-knob\"\n cdkDragBoundary=\".fwe-alpha-picker\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n [cdkDragFreeDragPosition]=\"{ x: 3, y: alphaKnobOffset }\"\n (cdkDragMoved)=\"onAlphaDrag($event)\"\n [style.background]=\"color\"\n ></div>\n </div>\n </div>\n\n <div class=\"fwe-mt-s\" *ngIf=\"!paletteOnly\">\n <div class=\"fwe-type-select\">\n <div class=\"fwe-type-indicator\" (click)=\"isSelectOpen = !isSelectOpen\">\n <span class=\"fwe-input-type\">{{ inputType }}</span>\n <i class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </div>\n <div class=\"fwe-popover\" *ngIf=\"isSelectOpen\">\n <div class=\"fwe-type-item\" (click)=\"onChangeType('HEX')\" [class.fwe-selected]=\"inputType === 'HEX'\">\n <i class=\"fwe-icon fwe-icon-menu-check\"></i> HEX\n </div>\n <div class=\"fwe-type-item\" (click)=\"onChangeType('RGB')\" [class.fwe-selected]=\"inputType === 'RGB'\">\n <i class=\"fwe-icon fwe-icon-menu-check\"></i> RGB\n </div>\n </div>\n </div>\n\n <div class=\"fwe-d-flex\">\n <ng-container *ngIf=\"inputType === 'HEX'\">\n <label class=\"fwe-input-text fwe-hex-input\">\n <input type=\"text\" [(ngModel)]=\"hexInputColor\" (blur)=\"onHexBlur()\" (input)=\"onHexInput()\" />\n </label>\n </ng-container>\n <ng-container *ngIf=\"inputType === 'RGB'\">\n <label class=\"fwe-input-text fwe-red-input\">\n <input type=\"number\" [(ngModel)]=\"redInput\" (input)=\"onRgbInput(redInput, 'r')\" />\n </label>\n <label class=\"fwe-input-text fwe-green-input\">\n <input type=\"number\" [(ngModel)]=\"greenInput\" (input)=\"onRgbInput(greenInput, 'g')\" />\n </label>\n <label class=\"fwe-input-text fwe-blue-input\">\n <input type=\"number\" min=\"0\" max=\"255\" [(ngModel)]=\"blueInput\" (input)=\"onRgbInput(blueInput, 'b')\" />\n </label>\n </ng-container>\n\n <label class=\"fwe-input-text fwe-alpha-input fwe-ml-auto\" *ngIf=\"useAlpha\">\n <span>\n <input type=\"number\" min=\"0\" max=\"100\" [(ngModel)]=\"alphaInput\" (input)=\"onAlphaInput(alphaInput)\" />\n <span class=\"fwe-percent-char\">%</span>\n </span>\n </label>\n </div>\n </div>\n\n <div class=\"fwe-mt-xs fwe-color-grid\" *ngIf=\"palette && palette.length\">\n <div class=\"fwe-remove-color-button\" (click)=\"onRemoveColor()\">\n <svg\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n <i class=\"fwe-icon fwe-icon-menu-check\" [class.fwe-color-text]=\"!color\"></i>\n </div>\n <ng-container *ngFor=\"let colorItem of palette\">\n <div\n class=\"fwe-color-item\"\n [class.fwe-white-item]=\"colorItem.toUpperCase() === '#FFFFFF'\"\n [style.background]=\"colorItem\"\n (click)=\"color = colorItem\"\n >\n <i class=\"fwe-icon fwe-icon-menu-check\" *ngIf=\"colorItem.toUpperCase() === color\"></i>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".fwe-triangle.fwe-triangle-right,.fwe-triangle.fwe-triangle-left,.fwe-triangle.fwe-triangle-bottom,.fwe-triangle.fwe-triangle-top{width:17px;height:17px;position:absolute;overflow:hidden}.fwe-triangle.fwe-triangle-right:after,.fwe-triangle.fwe-triangle-left:after,.fwe-triangle.fwe-triangle-bottom:after,.fwe-triangle.fwe-triangle-top:after{content:\"\";position:absolute;width:12px;height:12px;background:var(--fwe-white);transform:rotate(45deg);box-shadow:0 1px 4px #3333}.fwe-popover.fwe-popover-menu,.fwe-popover{background-color:var(--fwe-white);box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-popover{padding:8px;font-size:var(--fwe-font-size-md);line-height:1rem}.fwe-popover-container{position:relative;display:inline-block}.fwe-triangle.fwe-triangle-top{left:50%;top:-17px;transform:translate(-8px)}.fwe-triangle.fwe-triangle-top:after{top:11px;left:3px}.fwe-triangle.fwe-triangle-bottom{left:50%;top:100%;transform:translate(-8px)}.fwe-triangle.fwe-triangle-bottom:after{top:-6px;left:3px}.fwe-triangle.fwe-triangle-left{left:-17px;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-left:after{top:2px;left:11px}.fwe-triangle.fwe-triangle-right{left:100%;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-right:after{top:2px;left:-6px}.fwe-popover.fwe-popover-menu{font-size:var(--fwe-font-size-base);line-height:1.5rem;padding:16px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item{border-bottom:none;min-height:36px;padding:0}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button{width:100%;margin-left:inherit;padding:0 8px 0 0;text-align:left;height:32px;max-height:32px;display:inline-flex;justify-content:unset}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button:hover{color:var(--fwe-black)}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:24px;width:32px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i:before{display:inline-flex}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button span{display:inline-flex;height:24px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button [class*=\" fwe-icon-\"]{margin-left:inherit}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:hover{color:var(--fwe-black);background-color:#3333331a}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:active{background-color:#3333}.fwe-popover .fwe-popover-legend{display:table;margin:16px;line-height:24px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content{display:table-row}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dt{display:table-cell;margin:0;padding-right:8px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dd{display:table-cell;margin:0}.fwe-color-picker{width:216px}.fwe-color-picker.fwe-alpha-active{width:245px}.fwe-color-picker .fwe-gradient-picker{position:relative;width:198px;height:198px;margin:-7px}.fwe-color-picker .fwe-gradient-picker .fwe-brightness-gradient{position:absolute;inset:7px;background-image:linear-gradient(transparent,black)}.fwe-color-picker .fwe-gradient-picker .fwe-saturation-gradient{position:absolute;inset:7px}.fwe-color-picker .fwe-vertical-picker,.fwe-color-picker .fwe-alpha-picker,.fwe-color-picker .fwe-hue-picker{position:relative;height:198px;width:14px;margin:-7px -3px -7px 18px}.fwe-color-picker .fwe-vertical-picker .fwe-picker-background,.fwe-color-picker .fwe-alpha-picker .fwe-picker-background,.fwe-color-picker .fwe-hue-picker .fwe-picker-background{margin:7px 3px;height:184px;width:8px;border-radius:4px}.fwe-color-picker .fwe-vertical-picker .fwe-knob,.fwe-color-picker .fwe-alpha-picker .fwe-knob,.fwe-color-picker .fwe-hue-picker .fwe-knob{left:-3px}.fwe-color-picker .fwe-hue-picker .fwe-picker-background{background-image:linear-gradient(#ff0000,#ffff00,#00ff00,#00ffff,#0000ff,#ff00ff,#ff0000)}.fwe-color-picker .fwe-alpha-picker .fwe-no-color-pattern{margin:7px 3px;position:absolute}.fwe-color-picker .fwe-alpha-picker .fwe-picker-background{position:absolute}.fwe-color-picker .fwe-type-select{position:relative;display:flex}.fwe-color-picker .fwe-type-select .fwe-type-indicator{flex-shrink:1;cursor:pointer;display:flex}.fwe-color-picker .fwe-type-select .fwe-type-indicator .fwe-input-type{font-size:var(--fwe-font-size-small);line-height:calc(var(--fwe-font-size-small) + 5px);font-weight:var(--fwe-font-weight-bold)}.fwe-color-picker .fwe-type-select .fwe-type-indicator:hover{color:var(--fwe-hero)}.fwe-color-picker .fwe-type-select .fwe-icon-arrows-collapse{margin-left:16px;line-height:16px}.fwe-color-picker .fwe-type-select .fwe-popover{position:absolute;z-index:1;top:24px;left:0}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item{cursor:pointer;display:flex;padding:8px}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item:hover{color:var(--fwe-hero)}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item .fwe-icon-menu-check{opacity:0;margin-right:8px}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item.fwe-selected{cursor:default}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item.fwe-selected .fwe-icon-menu-check{opacity:1}.fwe-color-picker input::-webkit-outer-spin-button,.fwe-color-picker input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fwe-color-picker input[type=number]{-moz-appearance:textfield}.fwe-color-picker input{padding-right:0!important;text-align:center}.fwe-color-picker .fwe-hex-input{width:75px;margin-right:16px}.fwe-color-picker .fwe-red-input,.fwe-color-picker .fwe-green-input{width:32px;margin-right:8px}.fwe-color-picker .fwe-blue-input{width:32px}.fwe-color-picker .fwe-alpha-input span input{width:48px;padding-right:16px!important}.fwe-color-picker .fwe-alpha-input .fwe-percent-char{margin-left:-16px}.fwe-color-picker .fwe-color-grid{display:flex;flex-wrap:wrap;margin-right:-8px;margin-bottom:-8px}.fwe-color-picker .fwe-color-grid .fwe-color-item{align-items:center;display:flex;justify-content:center;color:#fff;height:24px;width:24px;border-radius:4px;margin-right:8px;margin-bottom:8px}.fwe-color-picker .fwe-color-grid .fwe-color-item.fwe-white-item{border:1px solid var(--fwe-control-border);color:#000}.fwe-color-picker .fwe-color-grid .fwe-remove-color-button{align-items:center;display:flex;justify-content:center;height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);color:var(--fwe-control);margin-right:8px;margin-bottom:8px}.fwe-color-picker .fwe-color-grid .fwe-remove-color-button .fwe-no-color-pattern{margin:2px}.fwe-color-picker .fwe-color-grid .fwe-remove-color-button i{color:transparent;position:absolute}.fwe-color-picker .fwe-knob{position:absolute;z-index:1;height:14px;width:14px;border-radius:50%;border:2px solid white;box-shadow:0 0 4px #00000026}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3950
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorPickerComponent, decorators: [{
|
|
3647
3951
|
type: Component,
|
|
3648
3952
|
args: [{ standalone: true, imports: [CommonModule, DragDropModule, FormsModule], selector: 'fng-color-picker', providers: [
|
|
3649
3953
|
{
|
|
3650
3954
|
provide: NG_VALUE_ACCESSOR,
|
|
3651
|
-
useExisting: forwardRef(() =>
|
|
3955
|
+
useExisting: forwardRef(() => FngColorPickerComponent),
|
|
3652
3956
|
multi: true
|
|
3653
3957
|
}
|
|
3654
3958
|
], encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-color-picker\" [class.fwe-alpha-active]=\"useAlpha\">\n <div class=\"fwe-d-flex\" *ngIf=\"!paletteOnly\">\n <div class=\"fwe-gradient-picker\">\n <div class=\"fwe-saturation-gradient\" [ngStyle]=\"{ 'background-image': getSaturationGradient() }\"></div>\n <div class=\"fwe-brightness-gradient\" (click)=\"onGradientClick($event)\"></div>\n <div\n class=\"fwe-knob\"\n cdkDragBoundary=\".fwe-gradient-picker\"\n cdkDrag\n [cdkDragFreeDragPosition]=\"{ x: saturationKnobOffset, y: valueKnobOffset }\"\n (cdkDragMoved)=\"onGradientDrag($event)\"\n [style.background]=\"color\"\n ></div>\n </div>\n\n <div class=\"fwe-hue-picker\">\n <div class=\"fwe-picker-background\" (click)=\"onHueClick($event)\"></div>\n <div\n class=\"fwe-knob\"\n cdkDragBoundary=\".fwe-hue-picker\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n [cdkDragFreeDragPosition]=\"{ x: 3, y: hueKnobOffset }\"\n (cdkDragMoved)=\"onHueDrag($event)\"\n [style.background]=\"'hsl(' + hue * 360 + ', 100%, 50%)'\"\n ></div>\n </div>\n\n <div class=\"fwe-alpha-picker\" *ngIf=\"useAlpha\">\n <svg\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"8\"\n height=\"184\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"4\" ry=\"4\" width=\"8\" height=\"184\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n <div\n class=\"fwe-picker-background\"\n (click)=\"onAlphaClick($event)\"\n [ngStyle]=\"{ 'background-image': 'linear-gradient( ' + color + ' , transparent)' }\"\n ></div>\n\n <div\n class=\"fwe-knob\"\n cdkDragBoundary=\".fwe-alpha-picker\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n [cdkDragFreeDragPosition]=\"{ x: 3, y: alphaKnobOffset }\"\n (cdkDragMoved)=\"onAlphaDrag($event)\"\n [style.background]=\"color\"\n ></div>\n </div>\n </div>\n\n <div class=\"fwe-mt-s\" *ngIf=\"!paletteOnly\">\n <div class=\"fwe-type-select\">\n <div class=\"fwe-type-indicator\" (click)=\"isSelectOpen = !isSelectOpen\">\n <span class=\"fwe-input-type\">{{ inputType }}</span>\n <i class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </div>\n <div class=\"fwe-popover\" *ngIf=\"isSelectOpen\">\n <div class=\"fwe-type-item\" (click)=\"onChangeType('HEX')\" [class.fwe-selected]=\"inputType === 'HEX'\">\n <i class=\"fwe-icon fwe-icon-menu-check\"></i> HEX\n </div>\n <div class=\"fwe-type-item\" (click)=\"onChangeType('RGB')\" [class.fwe-selected]=\"inputType === 'RGB'\">\n <i class=\"fwe-icon fwe-icon-menu-check\"></i> RGB\n </div>\n </div>\n </div>\n\n <div class=\"fwe-d-flex\">\n <ng-container *ngIf=\"inputType === 'HEX'\">\n <label class=\"fwe-input-text fwe-hex-input\">\n <input type=\"text\" [(ngModel)]=\"hexInputColor\" (blur)=\"onHexBlur()\" (input)=\"onHexInput()\" />\n </label>\n </ng-container>\n <ng-container *ngIf=\"inputType === 'RGB'\">\n <label class=\"fwe-input-text fwe-red-input\">\n <input type=\"number\" [(ngModel)]=\"redInput\" (input)=\"onRgbInput(redInput, 'r')\" />\n </label>\n <label class=\"fwe-input-text fwe-green-input\">\n <input type=\"number\" [(ngModel)]=\"greenInput\" (input)=\"onRgbInput(greenInput, 'g')\" />\n </label>\n <label class=\"fwe-input-text fwe-blue-input\">\n <input type=\"number\" min=\"0\" max=\"255\" [(ngModel)]=\"blueInput\" (input)=\"onRgbInput(blueInput, 'b')\" />\n </label>\n </ng-container>\n\n <label class=\"fwe-input-text fwe-alpha-input fwe-ml-auto\" *ngIf=\"useAlpha\">\n <span>\n <input type=\"number\" min=\"0\" max=\"100\" [(ngModel)]=\"alphaInput\" (input)=\"onAlphaInput(alphaInput)\" />\n <span class=\"fwe-percent-char\">%</span>\n </span>\n </label>\n </div>\n </div>\n\n <div class=\"fwe-mt-xs fwe-color-grid\" *ngIf=\"palette && palette.length\">\n <div class=\"fwe-remove-color-button\" (click)=\"onRemoveColor()\">\n <svg\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n <i class=\"fwe-icon fwe-icon-menu-check\" [class.fwe-color-text]=\"!color\"></i>\n </div>\n <ng-container *ngFor=\"let colorItem of palette\">\n <div\n class=\"fwe-color-item\"\n [class.fwe-white-item]=\"colorItem.toUpperCase() === '#FFFFFF'\"\n [style.background]=\"colorItem\"\n (click)=\"color = colorItem\"\n >\n <i class=\"fwe-icon fwe-icon-menu-check\" *ngIf=\"colorItem.toUpperCase() === color\"></i>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".fwe-triangle.fwe-triangle-right,.fwe-triangle.fwe-triangle-left,.fwe-triangle.fwe-triangle-bottom,.fwe-triangle.fwe-triangle-top{width:17px;height:17px;position:absolute;overflow:hidden}.fwe-triangle.fwe-triangle-right:after,.fwe-triangle.fwe-triangle-left:after,.fwe-triangle.fwe-triangle-bottom:after,.fwe-triangle.fwe-triangle-top:after{content:\"\";position:absolute;width:12px;height:12px;background:var(--fwe-white);transform:rotate(45deg);box-shadow:0 1px 4px #3333}.fwe-popover.fwe-popover-menu,.fwe-popover{background-color:var(--fwe-white);box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-popover{padding:8px;font-size:var(--fwe-font-size-md);line-height:1rem}.fwe-popover-container{position:relative;display:inline-block}.fwe-triangle.fwe-triangle-top{left:50%;top:-17px;transform:translate(-8px)}.fwe-triangle.fwe-triangle-top:after{top:11px;left:3px}.fwe-triangle.fwe-triangle-bottom{left:50%;top:100%;transform:translate(-8px)}.fwe-triangle.fwe-triangle-bottom:after{top:-6px;left:3px}.fwe-triangle.fwe-triangle-left{left:-17px;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-left:after{top:2px;left:11px}.fwe-triangle.fwe-triangle-right{left:100%;top:50%;transform:translateY(-8px)}.fwe-triangle.fwe-triangle-right:after{top:2px;left:-6px}.fwe-popover.fwe-popover-menu{font-size:var(--fwe-font-size-base);line-height:1.5rem;padding:16px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item{border-bottom:none;min-height:36px;padding:0}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button{width:100%;margin-left:inherit;padding:0 8px 0 0;text-align:left;height:32px;max-height:32px;display:inline-flex;justify-content:unset}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button:hover{color:var(--fwe-black)}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:24px;width:32px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button i:before{display:inline-flex}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button span{display:inline-flex;height:24px}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item button [class*=\" fwe-icon-\"]{margin-left:inherit}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:hover{color:var(--fwe-black);background-color:#3333331a}.fwe-popover.fwe-popover-menu .fwe-list-group .fwe-list-group-item:active{background-color:#3333}.fwe-popover .fwe-popover-legend{display:table;margin:16px;line-height:24px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content{display:table-row}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dt{display:table-cell;margin:0;padding-right:8px}.fwe-popover .fwe-popover-legend .fwe-popover-legend-content dd{display:table-cell;margin:0}.fwe-color-picker{width:216px}.fwe-color-picker.fwe-alpha-active{width:245px}.fwe-color-picker .fwe-gradient-picker{position:relative;width:198px;height:198px;margin:-7px}.fwe-color-picker .fwe-gradient-picker .fwe-brightness-gradient{position:absolute;inset:7px;background-image:linear-gradient(transparent,black)}.fwe-color-picker .fwe-gradient-picker .fwe-saturation-gradient{position:absolute;inset:7px}.fwe-color-picker .fwe-vertical-picker,.fwe-color-picker .fwe-alpha-picker,.fwe-color-picker .fwe-hue-picker{position:relative;height:198px;width:14px;margin:-7px -3px -7px 18px}.fwe-color-picker .fwe-vertical-picker .fwe-picker-background,.fwe-color-picker .fwe-alpha-picker .fwe-picker-background,.fwe-color-picker .fwe-hue-picker .fwe-picker-background{margin:7px 3px;height:184px;width:8px;border-radius:4px}.fwe-color-picker .fwe-vertical-picker .fwe-knob,.fwe-color-picker .fwe-alpha-picker .fwe-knob,.fwe-color-picker .fwe-hue-picker .fwe-knob{left:-3px}.fwe-color-picker .fwe-hue-picker .fwe-picker-background{background-image:linear-gradient(#ff0000,#ffff00,#00ff00,#00ffff,#0000ff,#ff00ff,#ff0000)}.fwe-color-picker .fwe-alpha-picker .fwe-no-color-pattern{margin:7px 3px;position:absolute}.fwe-color-picker .fwe-alpha-picker .fwe-picker-background{position:absolute}.fwe-color-picker .fwe-type-select{position:relative;display:flex}.fwe-color-picker .fwe-type-select .fwe-type-indicator{flex-shrink:1;cursor:pointer;display:flex}.fwe-color-picker .fwe-type-select .fwe-type-indicator .fwe-input-type{font-size:var(--fwe-font-size-small);line-height:calc(var(--fwe-font-size-small) + 5px);font-weight:var(--fwe-font-weight-bold)}.fwe-color-picker .fwe-type-select .fwe-type-indicator:hover{color:var(--fwe-hero)}.fwe-color-picker .fwe-type-select .fwe-icon-arrows-collapse{margin-left:16px;line-height:16px}.fwe-color-picker .fwe-type-select .fwe-popover{position:absolute;z-index:1;top:24px;left:0}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item{cursor:pointer;display:flex;padding:8px}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item:hover{color:var(--fwe-hero)}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item .fwe-icon-menu-check{opacity:0;margin-right:8px}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item.fwe-selected{cursor:default}.fwe-color-picker .fwe-type-select .fwe-popover .fwe-type-item.fwe-selected .fwe-icon-menu-check{opacity:1}.fwe-color-picker input::-webkit-outer-spin-button,.fwe-color-picker input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fwe-color-picker input[type=number]{-moz-appearance:textfield}.fwe-color-picker input{padding-right:0!important;text-align:center}.fwe-color-picker .fwe-hex-input{width:75px;margin-right:16px}.fwe-color-picker .fwe-red-input,.fwe-color-picker .fwe-green-input{width:32px;margin-right:8px}.fwe-color-picker .fwe-blue-input{width:32px}.fwe-color-picker .fwe-alpha-input span input{width:48px;padding-right:16px!important}.fwe-color-picker .fwe-alpha-input .fwe-percent-char{margin-left:-16px}.fwe-color-picker .fwe-color-grid{display:flex;flex-wrap:wrap;margin-right:-8px;margin-bottom:-8px}.fwe-color-picker .fwe-color-grid .fwe-color-item{align-items:center;display:flex;justify-content:center;color:#fff;height:24px;width:24px;border-radius:4px;margin-right:8px;margin-bottom:8px}.fwe-color-picker .fwe-color-grid .fwe-color-item.fwe-white-item{border:1px solid var(--fwe-control-border);color:#000}.fwe-color-picker .fwe-color-grid .fwe-remove-color-button{align-items:center;display:flex;justify-content:center;height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);color:var(--fwe-control);margin-right:8px;margin-bottom:8px}.fwe-color-picker .fwe-color-grid .fwe-remove-color-button .fwe-no-color-pattern{margin:2px}.fwe-color-picker .fwe-color-grid .fwe-remove-color-button i{color:transparent;position:absolute}.fwe-color-picker .fwe-knob{position:absolute;z-index:1;height:14px;width:14px;border-radius:50%;border:2px solid white;box-shadow:0 0 4px #00000026}\n"] }]
|
|
@@ -3668,208 +3972,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3668
3972
|
type: Input
|
|
3669
3973
|
}] } });
|
|
3670
3974
|
|
|
3671
|
-
|
|
3672
|
-
* A custom form element for text inputs.
|
|
3673
|
-
*/
|
|
3674
|
-
class TextInputComponent {
|
|
3675
|
-
constructor() {
|
|
3676
|
-
/**
|
|
3677
|
-
* The text input label.
|
|
3678
|
-
*/
|
|
3679
|
-
this.label = '';
|
|
3680
|
-
this.innerType = 'text';
|
|
3681
|
-
this.innerReadonly = false;
|
|
3682
|
-
this.step = 0;
|
|
3683
|
-
this.min = 0;
|
|
3684
|
-
this.max = 0;
|
|
3685
|
-
this.tabindex = 0;
|
|
3686
|
-
this.placeholder = '';
|
|
3687
|
-
this.name = '';
|
|
3688
|
-
this.innerDisabled = false;
|
|
3689
|
-
/**
|
|
3690
|
-
* The inner value.
|
|
3691
|
-
*/
|
|
3692
|
-
this.innerValue = '';
|
|
3693
|
-
this.innerRequired = false;
|
|
3694
|
-
/**
|
|
3695
|
-
* Error description when invalid.
|
|
3696
|
-
*/
|
|
3697
|
-
this.error = '';
|
|
3698
|
-
/**
|
|
3699
|
-
* Hint description when valid.
|
|
3700
|
-
*/
|
|
3701
|
-
this.hint = '';
|
|
3702
|
-
/**
|
|
3703
|
-
* When true the text input has focus.
|
|
3704
|
-
*/
|
|
3705
|
-
this.focused = false;
|
|
3706
|
-
}
|
|
3707
|
-
/**
|
|
3708
|
-
* A string specifying the type of control to render.
|
|
3709
|
-
*/
|
|
3710
|
-
get type() {
|
|
3711
|
-
return this.innerType;
|
|
3712
|
-
}
|
|
3713
|
-
set type(value) {
|
|
3714
|
-
const supported = ['text', 'number', 'password', 'date', 'time', 'datetime-local'];
|
|
3715
|
-
if (value != null && supported.indexOf(value) !== -1) {
|
|
3716
|
-
this.innerType = value;
|
|
3717
|
-
}
|
|
3718
|
-
else {
|
|
3719
|
-
this.innerType = 'text';
|
|
3720
|
-
}
|
|
3721
|
-
}
|
|
3722
|
-
get readonly() {
|
|
3723
|
-
return this.innerReadonly;
|
|
3724
|
-
}
|
|
3725
|
-
set readonly(value) {
|
|
3726
|
-
this.innerReadonly = coerceBooleanProperty(value);
|
|
3727
|
-
}
|
|
3728
|
-
/**
|
|
3729
|
-
* When true the control's disabled attribute is set
|
|
3730
|
-
* and it gets addeed the .disabled css class.
|
|
3731
|
-
*/
|
|
3732
|
-
get disabled() {
|
|
3733
|
-
return this.innerDisabled;
|
|
3734
|
-
}
|
|
3735
|
-
set disabled(value) {
|
|
3736
|
-
this.innerDisabled = coerceBooleanProperty(value);
|
|
3737
|
-
if (this.focused) {
|
|
3738
|
-
this.focused = false;
|
|
3739
|
-
}
|
|
3740
|
-
}
|
|
3741
|
-
/**
|
|
3742
|
-
* The getter for value.
|
|
3743
|
-
*/
|
|
3744
|
-
get value() {
|
|
3745
|
-
return this.innerValue;
|
|
3746
|
-
}
|
|
3747
|
-
/**
|
|
3748
|
-
* The setter for value.
|
|
3749
|
-
*/
|
|
3750
|
-
set value(value) {
|
|
3751
|
-
if (value != null) {
|
|
3752
|
-
value = '' + value;
|
|
3753
|
-
}
|
|
3754
|
-
this.innerValue = value;
|
|
3755
|
-
this.focused = !!value;
|
|
3756
|
-
if (this.onChange != null) {
|
|
3757
|
-
this.onChange(value);
|
|
3758
|
-
}
|
|
3759
|
-
if (this.onTouched != null) {
|
|
3760
|
-
this.onTouched();
|
|
3761
|
-
}
|
|
3762
|
-
}
|
|
3763
|
-
get required() {
|
|
3764
|
-
return this.innerRequired;
|
|
3765
|
-
}
|
|
3766
|
-
set required(value) {
|
|
3767
|
-
this.innerRequired = coerceBooleanProperty(value);
|
|
3768
|
-
}
|
|
3769
|
-
/**
|
|
3770
|
-
* Called on component initialisation.
|
|
3771
|
-
*/
|
|
3772
|
-
ngOnInit() {
|
|
3773
|
-
this.onBlur();
|
|
3774
|
-
}
|
|
3775
|
-
/**
|
|
3776
|
-
* Writes the value.
|
|
3777
|
-
* @param value The value.
|
|
3778
|
-
*/
|
|
3779
|
-
writeValue(value) {
|
|
3780
|
-
if (value != null) {
|
|
3781
|
-
value = '' + value;
|
|
3782
|
-
}
|
|
3783
|
-
this.innerValue = value;
|
|
3784
|
-
this.focused = !!value;
|
|
3785
|
-
}
|
|
3786
|
-
/**
|
|
3787
|
-
* Registers a function to onChange.
|
|
3788
|
-
* @param fn The registered function.
|
|
3789
|
-
*/
|
|
3790
|
-
registerOnChange(fn) {
|
|
3791
|
-
this.onChange = fn;
|
|
3792
|
-
}
|
|
3793
|
-
/**
|
|
3794
|
-
* Registers a function to onTouched.
|
|
3795
|
-
* @param fn The registered function.
|
|
3796
|
-
*/
|
|
3797
|
-
registerOnTouched(fn) {
|
|
3798
|
-
this.onTouched = fn;
|
|
3799
|
-
}
|
|
3800
|
-
/**
|
|
3801
|
-
* Called when the text input is in focus.
|
|
3802
|
-
*/
|
|
3803
|
-
onFocus() {
|
|
3804
|
-
this.focused = true;
|
|
3805
|
-
}
|
|
3806
|
-
/**
|
|
3807
|
-
* Called when the text input blurs.
|
|
3808
|
-
*/
|
|
3809
|
-
onBlur() {
|
|
3810
|
-
if (this.focused) {
|
|
3811
|
-
this.focused = false;
|
|
3812
|
-
}
|
|
3813
|
-
}
|
|
3814
|
-
/**
|
|
3815
|
-
* Sets the disabled state.
|
|
3816
|
-
* @param isDisabled When true the control is disabled
|
|
3817
|
-
*/
|
|
3818
|
-
setDisabledState(isDisabled) {
|
|
3819
|
-
this.disabled = isDisabled;
|
|
3820
|
-
}
|
|
3821
|
-
}
|
|
3822
|
-
TextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3823
|
-
TextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: TextInputComponent, isStandalone: true, selector: "fng-text-input", inputs: { label: "label", type: "type", readonly: "readonly", step: "step", min: "min", max: "max", tabindex: "tabindex", placeholder: "placeholder", name: "name", disabled: "disabled", value: "value", required: "required", error: "error", hint: "hint" }, providers: [
|
|
3824
|
-
{
|
|
3825
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3826
|
-
useExisting: forwardRef(() => TextInputComponent),
|
|
3827
|
-
multi: true
|
|
3828
|
-
}
|
|
3829
|
-
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<label class=\"fwe-input-text\" [class.fwe-no-pointer-events]=\"readonly === true\">\n <input\n #inputElement\n [disabled]=\"disabled\"\n [required]=\"required === true || false\"\n [attr.readonly]=\"readonly === true || null\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.type]=\"type\"\n [attr.step]=\"step\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.name]=\"name || null\"\n [attr.tabindex]=\"tabindex\"\n [class.fng-has-value]=\"value != null && value !== ''\"\n autocomplete=\"off\"\n (focus)=\"onFocus()\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur()\"\n />\n <span class=\"fwe-input-text-label\">{{ label }}</span>\n <span *ngIf=\"hint; else projectedHint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error; else projectedError\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n\n <ng-template #projectedHint>\n <span class=\"fwe-input-text-info fng-projected\"><ng-content select=\".fng-hint\"></ng-content></span>\n </ng-template>\n\n <ng-template #projectedError>\n <span class=\"fwe-input-text-invalid fng-projected\"><ng-content select=\".fng-error\"></ng-content></span>\n </ng-template>\n</label>\n", styles: ["fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]{border-bottom:1px solid var(--fwe-red)!important;box-shadow:none;outline:none}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:focus{border-bottom:1px solid var(--fwe-red)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-info{color:var(--fwe-text-disabled)}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-info{display:none!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-invalid{display:block!important}fng-text-input.ng-valid label.fwe-input-text input[type=text]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=password]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=date]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=time]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=datetime-local]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=number]:hover:not(:disabled){border-bottom:1px solid var(--fwe-hero)!important}fng-text-input label.fwe-input-text.fwe-no-pointer-events{pointer-events:none!important}.fwe-input-text-invalid.fng-projected:empty{display:none}.fwe-input-text-info.fng-projected:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3830
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
3831
|
-
type: Component,
|
|
3832
|
-
args: [{ standalone: true, imports: [CommonModule, FormsModule], selector: 'fng-text-input', providers: [
|
|
3833
|
-
{
|
|
3834
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3835
|
-
useExisting: forwardRef(() => TextInputComponent),
|
|
3836
|
-
multi: true
|
|
3837
|
-
}
|
|
3838
|
-
], encapsulation: ViewEncapsulation.None, template: "<label class=\"fwe-input-text\" [class.fwe-no-pointer-events]=\"readonly === true\">\n <input\n #inputElement\n [disabled]=\"disabled\"\n [required]=\"required === true || false\"\n [attr.readonly]=\"readonly === true || null\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.type]=\"type\"\n [attr.step]=\"step\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.name]=\"name || null\"\n [attr.tabindex]=\"tabindex\"\n [class.fng-has-value]=\"value != null && value !== ''\"\n autocomplete=\"off\"\n (focus)=\"onFocus()\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur()\"\n />\n <span class=\"fwe-input-text-label\">{{ label }}</span>\n <span *ngIf=\"hint; else projectedHint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error; else projectedError\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n\n <ng-template #projectedHint>\n <span class=\"fwe-input-text-info fng-projected\"><ng-content select=\".fng-hint\"></ng-content></span>\n </ng-template>\n\n <ng-template #projectedError>\n <span class=\"fwe-input-text-invalid fng-projected\"><ng-content select=\".fng-error\"></ng-content></span>\n </ng-template>\n</label>\n", styles: ["fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local],fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]{border-bottom:1px solid var(--fwe-red)!important;box-shadow:none;outline:none}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:focus,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:focus{border-bottom:1px solid var(--fwe-red)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=text]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=password]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=date]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=datetime-local]:disabled~.fwe-input-text-info,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-label,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-invalid,fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text input[type=number]:disabled~.fwe-input-text-info{color:var(--fwe-text-disabled)}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-info{display:none!important}fng-text-input:not(.ng-pristine).ng-invalid label.fwe-input-text .fwe-input-text-invalid{display:block!important}fng-text-input.ng-valid label.fwe-input-text input[type=text]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=password]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=date]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=time]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=datetime-local]:hover:not(:disabled),fng-text-input.ng-valid label.fwe-input-text input[type=number]:hover:not(:disabled){border-bottom:1px solid var(--fwe-hero)!important}fng-text-input label.fwe-input-text.fwe-no-pointer-events{pointer-events:none!important}.fwe-input-text-invalid.fng-projected:empty{display:none}.fwe-input-text-info.fng-projected:empty{display:none}\n"] }]
|
|
3839
|
-
}], propDecorators: { label: [{
|
|
3840
|
-
type: Input
|
|
3841
|
-
}], type: [{
|
|
3842
|
-
type: Input
|
|
3843
|
-
}], readonly: [{
|
|
3844
|
-
type: Input
|
|
3845
|
-
}], step: [{
|
|
3846
|
-
type: Input
|
|
3847
|
-
}], min: [{
|
|
3848
|
-
type: Input
|
|
3849
|
-
}], max: [{
|
|
3850
|
-
type: Input
|
|
3851
|
-
}], tabindex: [{
|
|
3852
|
-
type: Input
|
|
3853
|
-
}], placeholder: [{
|
|
3854
|
-
type: Input
|
|
3855
|
-
}], name: [{
|
|
3856
|
-
type: Input
|
|
3857
|
-
}], disabled: [{
|
|
3858
|
-
type: Input
|
|
3859
|
-
}], value: [{
|
|
3860
|
-
type: Input
|
|
3861
|
-
}], required: [{
|
|
3862
|
-
type: Input
|
|
3863
|
-
}], error: [{
|
|
3864
|
-
type: Input
|
|
3865
|
-
}], hint: [{
|
|
3866
|
-
type: Input
|
|
3867
|
-
}], inputElement: [{
|
|
3868
|
-
type: ViewChild,
|
|
3869
|
-
args: ['inputElement']
|
|
3870
|
-
}] } });
|
|
3871
|
-
|
|
3872
|
-
class TimePickerDropdownComponent {
|
|
3975
|
+
class FngTimePickerDropdownComponent {
|
|
3873
3976
|
constructor() {
|
|
3874
3977
|
this.date = new Date();
|
|
3875
3978
|
this.showSeconds = false;
|
|
@@ -3944,9 +4047,9 @@ class TimePickerDropdownComponent {
|
|
|
3944
4047
|
}
|
|
3945
4048
|
}
|
|
3946
4049
|
}
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4050
|
+
FngTimePickerDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4051
|
+
FngTimePickerDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTimePickerDropdownComponent, isStandalone: true, selector: "fng-time-picker-dropdown", inputs: { date: "date", showSeconds: "showSeconds", timeFormat: "timeFormat" }, outputs: { dateChange: "dateChange" }, host: { listeners: { "document:keydown": "hide($event)" } }, viewQueries: [{ propertyName: "hoursInput", first: true, predicate: ["hoursInput"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-timepicker\" [class.fwe-timepicker-am-pm]=\"timeFormat === '12'\">\n <div class=\"fwe-timepicker-spinners\">\n <div class=\"fwe-timepicker-spinners-hours\">\n <button type=\"button\" aria-label=\"hour up\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onHourUp()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-expand\"></i>\n </button>\n <input\n #hoursInput\n aria-label=\"hours value\"\n class=\"fwe-timepicker-hide-spinners\"\n type=\"number\"\n min=\"0\"\n tabindex=\"1\"\n step=\"1\"\n [value]=\"date | date : (timeFormat === '12' ? 'hh' : 'HH')\"\n [attr.max]=\"timeFormat === '12' ? 12 : 23\"\n (input)=\"onHourChange($event)\"\n />\n <button type=\"button\" aria-label=\"hour down\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onHourDown()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </button>\n </div>\n <div class=\"fwe-timepicker-spinners-minutes\">\n <button type=\"button\" aria-label=\"minute up\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onMinuteUp()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-expand\"></i>\n </button>\n <input\n aria-label=\"minutes value\"\n class=\"fwe-timepicker-hide-spinners\"\n type=\"number\"\n min=\"0\"\n max=\"59\"\n step=\"1\"\n tabindex=\"2\"\n [value]=\"date | date : 'mm'\"\n (input)=\"onMinuteChange($event)\"\n />\n <button type=\"button\" aria-label=\"minute down\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onMinuteDown()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </button>\n </div>\n <div *ngIf=\"showSeconds\" class=\"fwe-timepicker-spinners-seconds\">\n <button type=\"button\" aria-label=\"seconds up\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onSecondUp()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-expand\"></i>\n </button>\n <input\n aria-label=\"seconds value\"\n class=\"fwe-timepicker-hide-spinners\"\n type=\"number\"\n min=\"0\"\n max=\"59\"\n step=\"1\"\n tabindex=\"3\"\n [value]=\"date | date : 'ss'\"\n (input)=\"onSecondChange($event)\"\n />\n <button type=\"button\" aria-label=\"seconds down\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onSecondDown()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </button>\n </div>\n </div>\n <span *ngIf=\"timeFormat === '12'\" class=\"fwe-badge fwe-badge-control\">\n {{ date | date : 'a' }}\n </span>\n</div>\n", styles: [".border-hero{border-color:var(--fwe-hero)!important}.fwe-timepicker{width:100%;max-width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
4052
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerDropdownComponent, decorators: [{
|
|
3950
4053
|
type: Component,
|
|
3951
4054
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-time-picker-dropdown', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-timepicker\" [class.fwe-timepicker-am-pm]=\"timeFormat === '12'\">\n <div class=\"fwe-timepicker-spinners\">\n <div class=\"fwe-timepicker-spinners-hours\">\n <button type=\"button\" aria-label=\"hour up\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onHourUp()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-expand\"></i>\n </button>\n <input\n #hoursInput\n aria-label=\"hours value\"\n class=\"fwe-timepicker-hide-spinners\"\n type=\"number\"\n min=\"0\"\n tabindex=\"1\"\n step=\"1\"\n [value]=\"date | date : (timeFormat === '12' ? 'hh' : 'HH')\"\n [attr.max]=\"timeFormat === '12' ? 12 : 23\"\n (input)=\"onHourChange($event)\"\n />\n <button type=\"button\" aria-label=\"hour down\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onHourDown()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </button>\n </div>\n <div class=\"fwe-timepicker-spinners-minutes\">\n <button type=\"button\" aria-label=\"minute up\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onMinuteUp()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-expand\"></i>\n </button>\n <input\n aria-label=\"minutes value\"\n class=\"fwe-timepicker-hide-spinners\"\n type=\"number\"\n min=\"0\"\n max=\"59\"\n step=\"1\"\n tabindex=\"2\"\n [value]=\"date | date : 'mm'\"\n (input)=\"onMinuteChange($event)\"\n />\n <button type=\"button\" aria-label=\"minute down\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onMinuteDown()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </button>\n </div>\n <div *ngIf=\"showSeconds\" class=\"fwe-timepicker-spinners-seconds\">\n <button type=\"button\" aria-label=\"seconds up\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onSecondUp()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-expand\"></i>\n </button>\n <input\n aria-label=\"seconds value\"\n class=\"fwe-timepicker-hide-spinners\"\n type=\"number\"\n min=\"0\"\n max=\"59\"\n step=\"1\"\n tabindex=\"3\"\n [value]=\"date | date : 'ss'\"\n (input)=\"onSecondChange($event)\"\n />\n <button type=\"button\" aria-label=\"seconds down\" class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onSecondDown()\">\n <i aria-hidden=\"true\" class=\"fwe-icon fwe-icon-arrows-collapse\"></i>\n </button>\n </div>\n </div>\n <span *ngIf=\"timeFormat === '12'\" class=\"fwe-badge fwe-badge-control\">\n {{ date | date : 'a' }}\n </span>\n</div>\n", styles: [".border-hero{border-color:var(--fwe-hero)!important}.fwe-timepicker{width:100%;max-width:100%}\n"] }]
|
|
3952
4055
|
}], propDecorators: { date: [{
|
|
@@ -3965,7 +4068,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3965
4068
|
args: ['document:keydown', ['$event']]
|
|
3966
4069
|
}] } });
|
|
3967
4070
|
|
|
3968
|
-
class
|
|
4071
|
+
class FngTimePickerComponent {
|
|
3969
4072
|
get value() {
|
|
3970
4073
|
return this.innerValue;
|
|
3971
4074
|
}
|
|
@@ -4065,7 +4168,7 @@ class TimePickerComponent {
|
|
|
4065
4168
|
.withFlexibleDimensions(false)
|
|
4066
4169
|
.withPush(false)
|
|
4067
4170
|
});
|
|
4068
|
-
const timePickerPortal = new ComponentPortal(
|
|
4171
|
+
const timePickerPortal = new ComponentPortal(FngTimePickerDropdownComponent);
|
|
4069
4172
|
this.timePicker = this.timePickerRef.attach(timePickerPortal);
|
|
4070
4173
|
this.timePicker.instance.timeFormat = this.options != null && this.options.timeFormat != null ? this.options.timeFormat : '24';
|
|
4071
4174
|
this.timePicker.instance.showSeconds = this.options != null && this.options.showSeconds != null ? this.options.showSeconds : false;
|
|
@@ -4100,20 +4203,20 @@ class TimePickerComponent {
|
|
|
4100
4203
|
}
|
|
4101
4204
|
}
|
|
4102
4205
|
}
|
|
4103
|
-
|
|
4104
|
-
|
|
4206
|
+
FngTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerComponent, deps: [{ token: i1$3.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
4207
|
+
FngTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTimePickerComponent, isStandalone: true, selector: "fng-time-picker", inputs: { value: "value", disabled: "disabled", required: "required", hint: "hint", error: "error", options: "options", width: "width" }, host: { listeners: { "document:keydown": "hide($event)" }, properties: { "style.width": "this.width", "style.display": "this.display" } }, providers: [
|
|
4105
4208
|
{
|
|
4106
4209
|
provide: NG_VALUE_ACCESSOR,
|
|
4107
|
-
useExisting: forwardRef(() =>
|
|
4210
|
+
useExisting: forwardRef(() => FngTimePickerComponent),
|
|
4108
4211
|
multi: true
|
|
4109
4212
|
}
|
|
4110
4213
|
], viewQueries: [{ propertyName: "connector", first: true, predicate: ["connector"], descendants: true, static: true }], ngImport: i0, template: "<label #connector class=\"fng-time-picker fwe-input-text fwe-input-text-icon\" (click)=\"toggle($event)\">\n <i class=\"fwe-icon fwe-icon-time-time\" [class.fwe-color-hero]=\"timePickerRef != null\" [class.fwe-color-control-disabled]=\"disabled\"></i>\n <input\n aria-label=\"picked time\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"timePickerRef != null\"\n [value]=\"value | date: timeFormat\"\n [disabled]=\"disabled\"\n />\n <span class=\"fwe-input-text-label\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n</label>\n", styles: [".fng-first-child-fullwidth fng-time-picker-dropdown{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None });
|
|
4111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerComponent, decorators: [{
|
|
4112
4215
|
type: Component,
|
|
4113
4216
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-time-picker', providers: [
|
|
4114
4217
|
{
|
|
4115
4218
|
provide: NG_VALUE_ACCESSOR,
|
|
4116
|
-
useExisting: forwardRef(() =>
|
|
4219
|
+
useExisting: forwardRef(() => FngTimePickerComponent),
|
|
4117
4220
|
multi: true
|
|
4118
4221
|
}
|
|
4119
4222
|
], encapsulation: ViewEncapsulation.None, template: "<label #connector class=\"fng-time-picker fwe-input-text fwe-input-text-icon\" (click)=\"toggle($event)\">\n <i class=\"fwe-icon fwe-icon-time-time\" [class.fwe-color-hero]=\"timePickerRef != null\" [class.fwe-color-control-disabled]=\"disabled\"></i>\n <input\n aria-label=\"picked time\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"timePickerRef != null\"\n [value]=\"value | date: timeFormat\"\n [disabled]=\"disabled\"\n />\n <span class=\"fwe-input-text-label\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n</label>\n", styles: [".fng-first-child-fullwidth fng-time-picker-dropdown{width:100%}\n"] }]
|
|
@@ -4145,7 +4248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4145
4248
|
args: ['document:keydown', ['$event']]
|
|
4146
4249
|
}] } });
|
|
4147
4250
|
|
|
4148
|
-
class
|
|
4251
|
+
class FngFlatpickrComponent {
|
|
4149
4252
|
constructor() {
|
|
4150
4253
|
this.date = new Date();
|
|
4151
4254
|
this.dateChange = new EventEmitter();
|
|
@@ -4182,9 +4285,9 @@ class FlatpickrComponent {
|
|
|
4182
4285
|
}
|
|
4183
4286
|
}
|
|
4184
4287
|
}
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4288
|
+
FngFlatpickrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngFlatpickrComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4289
|
+
FngFlatpickrComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngFlatpickrComponent, isStandalone: true, selector: "fng-flatpickr", inputs: { date: "date", options: "options" }, outputs: { dateChange: "dateChange" }, viewQueries: [{ propertyName: "datePickerRef", first: true, predicate: ["datePicker"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"fng-flatpickr\">\n <div #datePicker></div>\n</div>\n", encapsulation: i0.ViewEncapsulation.None });
|
|
4290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngFlatpickrComponent, decorators: [{
|
|
4188
4291
|
type: Component,
|
|
4189
4292
|
args: [{ standalone: true, selector: 'fng-flatpickr', encapsulation: ViewEncapsulation.None, template: "<div class=\"fng-flatpickr\">\n <div #datePicker></div>\n</div>\n" }]
|
|
4190
4293
|
}], propDecorators: { date: [{
|
|
@@ -4198,7 +4301,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4198
4301
|
args: ['datePicker', { static: true }]
|
|
4199
4302
|
}] } });
|
|
4200
4303
|
|
|
4201
|
-
class
|
|
4304
|
+
class FngDatePickerComponent {
|
|
4202
4305
|
get value() {
|
|
4203
4306
|
return this.innerValue;
|
|
4204
4307
|
}
|
|
@@ -4300,7 +4403,7 @@ class DatePickerComponent {
|
|
|
4300
4403
|
.withFlexibleDimensions(false)
|
|
4301
4404
|
.withPush(false)
|
|
4302
4405
|
});
|
|
4303
|
-
const datePickerPortal = new ComponentPortal(
|
|
4406
|
+
const datePickerPortal = new ComponentPortal(FngFlatpickrComponent);
|
|
4304
4407
|
this.datePicker = this.datePickerRef.attach(datePickerPortal);
|
|
4305
4408
|
this.datePicker.instance.options = this.options;
|
|
4306
4409
|
this.datePicker.instance.date = this.value;
|
|
@@ -4335,20 +4438,20 @@ class DatePickerComponent {
|
|
|
4335
4438
|
}
|
|
4336
4439
|
}
|
|
4337
4440
|
}
|
|
4338
|
-
|
|
4339
|
-
|
|
4441
|
+
FngDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngDatePickerComponent, deps: [{ token: i1$3.Overlay }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
4442
|
+
FngDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngDatePickerComponent, isStandalone: true, selector: "fng-date-picker", inputs: { value: "value", disabled: "disabled", hint: "hint", error: "error", options: "options", locale: "locale", format: "format", timezone: "timezone", required: "required", width: "width" }, host: { listeners: { "document:keydown": "hide($event)" }, properties: { "style.width": "this.width", "style.display": "this.display" } }, providers: [
|
|
4340
4443
|
{
|
|
4341
4444
|
provide: NG_VALUE_ACCESSOR,
|
|
4342
|
-
useExisting: forwardRef(() =>
|
|
4445
|
+
useExisting: forwardRef(() => FngDatePickerComponent),
|
|
4343
4446
|
multi: true
|
|
4344
4447
|
}
|
|
4345
4448
|
], viewQueries: [{ propertyName: "connector", first: true, predicate: ["connector"], descendants: true, static: true }], ngImport: i0, template: "<label #connector class=\"fng-date-picker fwe-input-text fwe-input-text-icon\" (click)=\"toggle($event)\">\n <i\n class=\"fwe-icon fwe-icon-time-calendar\"\n [class.fwe-color-hero]=\"datePickerRef != null\"\n [class.fwe-color-control-disabled]=\"disabled\"\n ></i>\n <input\n aria-label=\"picked date\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"datePickerRef != null\"\n [value]=\"displayValue\"\n [disabled]=\"disabled\"\n />\n <span class=\"fwe-input-text-label\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n</label>\n", styles: [".fwe-border-hero{border-color:var(--fwe-hero)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4449
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngDatePickerComponent, decorators: [{
|
|
4347
4450
|
type: Component,
|
|
4348
|
-
args: [{ standalone: true, imports: [CommonModule,
|
|
4451
|
+
args: [{ standalone: true, imports: [CommonModule, FngFlatpickrComponent], selector: 'fng-date-picker', providers: [
|
|
4349
4452
|
{
|
|
4350
4453
|
provide: NG_VALUE_ACCESSOR,
|
|
4351
|
-
useExisting: forwardRef(() =>
|
|
4454
|
+
useExisting: forwardRef(() => FngDatePickerComponent),
|
|
4352
4455
|
multi: true
|
|
4353
4456
|
}
|
|
4354
4457
|
], encapsulation: ViewEncapsulation.None, template: "<label #connector class=\"fng-date-picker fwe-input-text fwe-input-text-icon\" (click)=\"toggle($event)\">\n <i\n class=\"fwe-icon fwe-icon-time-calendar\"\n [class.fwe-color-hero]=\"datePickerRef != null\"\n [class.fwe-color-control-disabled]=\"disabled\"\n ></i>\n <input\n aria-label=\"picked date\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"datePickerRef != null\"\n [value]=\"displayValue\"\n [disabled]=\"disabled\"\n />\n <span class=\"fwe-input-text-label\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n</label>\n", styles: [".fwe-border-hero{border-color:var(--fwe-hero)!important}\n"] }]
|
|
@@ -4391,7 +4494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4391
4494
|
args: ['document:keydown', ['$event']]
|
|
4392
4495
|
}] } });
|
|
4393
4496
|
|
|
4394
|
-
class
|
|
4497
|
+
class FngDateRangePickerComponent {
|
|
4395
4498
|
get value() {
|
|
4396
4499
|
return this.innerValue;
|
|
4397
4500
|
}
|
|
@@ -4511,7 +4614,7 @@ class DateRangePickerComponent {
|
|
|
4511
4614
|
.withFlexibleDimensions(false)
|
|
4512
4615
|
.withPush(false)
|
|
4513
4616
|
});
|
|
4514
|
-
const datePickerPortal = new ComponentPortal(
|
|
4617
|
+
const datePickerPortal = new ComponentPortal(FngFlatpickrComponent);
|
|
4515
4618
|
this.datePicker = this.dateRangePickerRef.attach(datePickerPortal);
|
|
4516
4619
|
this.datePicker.instance.options = {
|
|
4517
4620
|
mode: 'range',
|
|
@@ -4550,20 +4653,20 @@ class DateRangePickerComponent {
|
|
|
4550
4653
|
}
|
|
4551
4654
|
}
|
|
4552
4655
|
}
|
|
4553
|
-
|
|
4554
|
-
|
|
4656
|
+
FngDateRangePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngDateRangePickerComponent, deps: [{ token: i1$3.Overlay }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
4657
|
+
FngDateRangePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngDateRangePickerComponent, isStandalone: true, selector: "fng-date-range-picker", inputs: { value: "value", disabled: "disabled", hint: "hint", error: "error", locale: "locale", format: "format", timezone: "timezone", options: "options", required: "required", width: "width" }, outputs: { fngChange: "fngChange", change: "change" }, host: { listeners: { "document:keydown": "hide($event)" }, properties: { "style.width": "this.width", "style.display": "this.display" } }, providers: [
|
|
4555
4658
|
{
|
|
4556
4659
|
provide: NG_VALUE_ACCESSOR,
|
|
4557
|
-
useExisting: forwardRef(() =>
|
|
4660
|
+
useExisting: forwardRef(() => FngDateRangePickerComponent),
|
|
4558
4661
|
multi: true
|
|
4559
4662
|
}
|
|
4560
4663
|
], viewQueries: [{ propertyName: "connector", first: true, predicate: ["connector"], descendants: true, static: true }], ngImport: i0, template: "<div #connector class=\"fng-date-range-picker\" (click)=\"toggle($event)\">\n <label class=\"fwe-input-text fwe-input-text-icon\">\n <i\n class=\"fwe-icon fwe-icon-time-calendar\"\n [class.fwe-color-hero]=\"dateRangePickerRef != null\"\n [class.fwe-color-control-disabled]=\"disabled\"\n ></i>\n <div class=\"fng-date-range-picker-inputs\" [class.fng-date-range-picker-inputs--disabled]=\"disabled\">\n <input\n aria-label=\"picked start date\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"dateRangePickerRef != null\"\n [value]=\"fromDateDisplayValue\"\n [disabled]=\"disabled\"\n />\n <input\n aria-label=\"picked end date\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"dateRangePickerRef != null\"\n [value]=\"toDateDisplayValue\"\n [disabled]=\"disabled\"\n />\n </div>\n <span class=\"fwe-input-text-label\" [class.fwe-color-text-disabled]=\"disabled\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n </label>\n</div>\n", styles: [".fwe-border-hero{border-color:var(--fwe-hero)!important}.fng-date-range-picker:hover input{color:var(--fwe-hero)}.fng-date-range-picker-inputs{display:flex;order:2;position:relative}.fng-date-range-picker-inputs--disabled:after{color:var(--fwe-text-disabled)}.fng-date-range-picker-inputs:after{position:absolute;content:\"-\";left:50%;top:50%;transform:translate(-50%,-50%);padding-right:32px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4561
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngDateRangePickerComponent, decorators: [{
|
|
4562
4665
|
type: Component,
|
|
4563
4666
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-date-range-picker', providers: [
|
|
4564
4667
|
{
|
|
4565
4668
|
provide: NG_VALUE_ACCESSOR,
|
|
4566
|
-
useExisting: forwardRef(() =>
|
|
4669
|
+
useExisting: forwardRef(() => FngDateRangePickerComponent),
|
|
4567
4670
|
multi: true
|
|
4568
4671
|
}
|
|
4569
4672
|
], encapsulation: ViewEncapsulation.None, template: "<div #connector class=\"fng-date-range-picker\" (click)=\"toggle($event)\">\n <label class=\"fwe-input-text fwe-input-text-icon\">\n <i\n class=\"fwe-icon fwe-icon-time-calendar\"\n [class.fwe-color-hero]=\"dateRangePickerRef != null\"\n [class.fwe-color-control-disabled]=\"disabled\"\n ></i>\n <div class=\"fng-date-range-picker-inputs\" [class.fng-date-range-picker-inputs--disabled]=\"disabled\">\n <input\n aria-label=\"picked start date\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"dateRangePickerRef != null\"\n [value]=\"fromDateDisplayValue\"\n [disabled]=\"disabled\"\n />\n <input\n aria-label=\"picked end date\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"dateRangePickerRef != null\"\n [value]=\"toDateDisplayValue\"\n [disabled]=\"disabled\"\n />\n </div>\n <span class=\"fwe-input-text-label\" [class.fwe-color-text-disabled]=\"disabled\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n </label>\n</div>\n", styles: [".fwe-border-hero{border-color:var(--fwe-hero)!important}.fng-date-range-picker:hover input{color:var(--fwe-hero)}.fng-date-range-picker-inputs{display:flex;order:2;position:relative}.fng-date-range-picker-inputs--disabled:after{color:var(--fwe-text-disabled)}.fng-date-range-picker-inputs:after{position:absolute;content:\"-\";left:50%;top:50%;transform:translate(-50%,-50%);padding-right:32px}\n"] }]
|
|
@@ -4610,7 +4713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4610
4713
|
args: ['document:keydown', ['$event']]
|
|
4611
4714
|
}] } });
|
|
4612
4715
|
|
|
4613
|
-
class
|
|
4716
|
+
class FngUniqueSelectionDispatcher {
|
|
4614
4717
|
constructor() {
|
|
4615
4718
|
this.listeners = [];
|
|
4616
4719
|
}
|
|
@@ -4642,21 +4745,21 @@ class UniqueSelectionDispatcher {
|
|
|
4642
4745
|
this.listeners = [];
|
|
4643
4746
|
}
|
|
4644
4747
|
}
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4748
|
+
FngUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngUniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4749
|
+
FngUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngUniqueSelectionDispatcher, providedIn: 'root' });
|
|
4750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngUniqueSelectionDispatcher, decorators: [{
|
|
4648
4751
|
type: Injectable,
|
|
4649
4752
|
args: [{ providedIn: 'root' }]
|
|
4650
4753
|
}] });
|
|
4651
4754
|
|
|
4652
|
-
class
|
|
4755
|
+
class FngRadioChange {
|
|
4653
4756
|
constructor(source, value) {
|
|
4654
4757
|
this.source = source;
|
|
4655
4758
|
this.value = value;
|
|
4656
4759
|
}
|
|
4657
4760
|
}
|
|
4658
4761
|
let nextUniqueId$1 = 0;
|
|
4659
|
-
class
|
|
4762
|
+
class FngRadioGroupDirective {
|
|
4660
4763
|
get name() {
|
|
4661
4764
|
return this.innerName;
|
|
4662
4765
|
}
|
|
@@ -4739,7 +4842,7 @@ class RadioGroupDirective {
|
|
|
4739
4842
|
}
|
|
4740
4843
|
emitChangeEvent() {
|
|
4741
4844
|
if (this.isInitialized) {
|
|
4742
|
-
this.change.emit(new
|
|
4845
|
+
this.change.emit(new FngRadioChange(this.isSelected, this.innerValue));
|
|
4743
4846
|
}
|
|
4744
4847
|
}
|
|
4745
4848
|
markRadiosForCheck() {
|
|
@@ -4790,15 +4893,15 @@ class RadioGroupDirective {
|
|
|
4790
4893
|
}
|
|
4791
4894
|
}
|
|
4792
4895
|
}
|
|
4793
|
-
|
|
4794
|
-
|
|
4896
|
+
FngRadioGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4897
|
+
FngRadioGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngRadioGroupDirective, isStandalone: true, selector: "[fngRadioGroup]", inputs: { name: "name", large: "large", labelPosition: "labelPosition", value: "value", selected: "selected", disabled: "disabled", required: "required" }, outputs: { change: "change" }, host: { properties: { "class.fwe-radio-group": "this.hostClass", "attr.role": "this.role" } }, providers: [
|
|
4795
4898
|
{
|
|
4796
4899
|
provide: NG_VALUE_ACCESSOR,
|
|
4797
|
-
useExisting: forwardRef(() =>
|
|
4900
|
+
useExisting: forwardRef(() => FngRadioGroupDirective),
|
|
4798
4901
|
multi: true
|
|
4799
4902
|
}
|
|
4800
|
-
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return
|
|
4801
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4903
|
+
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return FngRadioComponent; }), descendants: true }], ngImport: i0 });
|
|
4904
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioGroupDirective, decorators: [{
|
|
4802
4905
|
type: Directive,
|
|
4803
4906
|
args: [{
|
|
4804
4907
|
standalone: true,
|
|
@@ -4806,7 +4909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4806
4909
|
providers: [
|
|
4807
4910
|
{
|
|
4808
4911
|
provide: NG_VALUE_ACCESSOR,
|
|
4809
|
-
useExisting: forwardRef(() =>
|
|
4912
|
+
useExisting: forwardRef(() => FngRadioGroupDirective),
|
|
4810
4913
|
multi: true
|
|
4811
4914
|
}
|
|
4812
4915
|
]
|
|
@@ -4821,7 +4924,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4821
4924
|
type: Output
|
|
4822
4925
|
}], radios: [{
|
|
4823
4926
|
type: ContentChildren,
|
|
4824
|
-
args: [forwardRef(() =>
|
|
4927
|
+
args: [forwardRef(() => FngRadioComponent), { descendants: true }]
|
|
4825
4928
|
}], name: [{
|
|
4826
4929
|
type: Input
|
|
4827
4930
|
}], large: [{
|
|
@@ -4837,7 +4940,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4837
4940
|
}], required: [{
|
|
4838
4941
|
type: Input
|
|
4839
4942
|
}] } });
|
|
4840
|
-
class
|
|
4943
|
+
class FngRadioComponent {
|
|
4841
4944
|
get id() {
|
|
4842
4945
|
return this.innerId;
|
|
4843
4946
|
}
|
|
@@ -4963,18 +5066,18 @@ class RadioComponent {
|
|
|
4963
5066
|
this.changeDetector.markForCheck();
|
|
4964
5067
|
}
|
|
4965
5068
|
emitChangeEvent() {
|
|
4966
|
-
this.change.emit(new
|
|
5069
|
+
this.change.emit(new FngRadioChange(this, this.innerValue));
|
|
4967
5070
|
}
|
|
4968
5071
|
}
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5072
|
+
FngRadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioComponent, deps: [{ token: FngRadioGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }, { token: FngUniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
5073
|
+
FngRadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngRadioComponent, isStandalone: true, selector: "fng-radio", inputs: { name: "name", id: "id", checked: "checked", value: "value", large: "large", labelPosition: "labelPosition", disabled: "disabled", required: "required" }, outputs: { change: "change" }, ngImport: i0, template: "<label\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-radio': true,\n 'fwe-radio-label-below': labelPosition == 'below',\n 'fwe-radio-label-before': labelPosition == 'before',\n 'fwe-radio-lg': large\n }\"\n>\n <input\n type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-radio-checkmark\"></div>\n <div class=\"fwe-radio-label-content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-radio:hover .fwe-radio-checkmark{background-color:var(--fwe-control)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
5074
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioComponent, decorators: [{
|
|
4972
5075
|
type: Component,
|
|
4973
5076
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-radio', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<label\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-radio': true,\n 'fwe-radio-label-below': labelPosition == 'below',\n 'fwe-radio-label-before': labelPosition == 'before',\n 'fwe-radio-lg': large\n }\"\n>\n <input\n type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-radio-checkmark\"></div>\n <div class=\"fwe-radio-label-content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-radio:hover .fwe-radio-checkmark{background-color:var(--fwe-control)}\n"] }]
|
|
4974
5077
|
}], ctorParameters: function () {
|
|
4975
|
-
return [{ type:
|
|
5078
|
+
return [{ type: FngRadioGroupDirective, decorators: [{
|
|
4976
5079
|
type: Optional
|
|
4977
|
-
}] }, { type: i0.ChangeDetectorRef }, { type:
|
|
5080
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: FngUniqueSelectionDispatcher }];
|
|
4978
5081
|
}, propDecorators: { name: [{
|
|
4979
5082
|
type: Input
|
|
4980
5083
|
}], id: [{
|
|
@@ -4995,46 +5098,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4995
5098
|
type: Output
|
|
4996
5099
|
}] } });
|
|
4997
5100
|
|
|
4998
|
-
class
|
|
4999
|
-
constructor() {
|
|
5000
|
-
this.disabled = false;
|
|
5001
|
-
this.changed = new Array();
|
|
5002
|
-
this.touched = new Array();
|
|
5003
|
-
}
|
|
5004
|
-
get value() {
|
|
5005
|
-
return this.innerValue;
|
|
5006
|
-
}
|
|
5007
|
-
set value(value) {
|
|
5008
|
-
if (value && this.innerValue !== value) {
|
|
5009
|
-
this.innerValue = value;
|
|
5010
|
-
this.changed.forEach(f => f(value));
|
|
5011
|
-
}
|
|
5012
|
-
}
|
|
5013
|
-
touch() {
|
|
5014
|
-
this.touched.forEach(f => f());
|
|
5015
|
-
}
|
|
5016
|
-
writeValue(value) {
|
|
5017
|
-
this.innerValue = value;
|
|
5018
|
-
}
|
|
5019
|
-
registerOnChange(fn) {
|
|
5020
|
-
this.changed.push(fn);
|
|
5021
|
-
}
|
|
5022
|
-
registerOnTouched(fn) {
|
|
5023
|
-
this.touched.push(fn);
|
|
5024
|
-
}
|
|
5025
|
-
setDisabledState(isDisabled) {
|
|
5026
|
-
this.disabled = isDisabled;
|
|
5027
|
-
}
|
|
5028
|
-
}
|
|
5029
|
-
ValueAccessorBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueAccessorBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5030
|
-
ValueAccessorBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ValueAccessorBaseDirective, inputs: { disabled: "disabled" }, ngImport: i0 });
|
|
5031
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueAccessorBaseDirective, decorators: [{
|
|
5032
|
-
type: Directive
|
|
5033
|
-
}], propDecorators: { disabled: [{
|
|
5034
|
-
type: Input
|
|
5035
|
-
}] } });
|
|
5036
|
-
|
|
5037
|
-
class SegmentControlComponent {
|
|
5101
|
+
class FngSegmentControlComponent {
|
|
5038
5102
|
constructor() {
|
|
5039
5103
|
this.viewMode = 'text';
|
|
5040
5104
|
this.change = new EventEmitter();
|
|
@@ -5061,16 +5125,21 @@ class SegmentControlComponent {
|
|
|
5061
5125
|
var _a;
|
|
5062
5126
|
this.view = (_a = this.tpl) === null || _a === void 0 ? void 0 : _a.createEmbeddedView(null);
|
|
5063
5127
|
}
|
|
5064
|
-
|
|
5128
|
+
onInputChange(event) {
|
|
5129
|
+
event.stopPropagation();
|
|
5130
|
+
this.checked = true;
|
|
5065
5131
|
const target = event.target;
|
|
5066
5132
|
this.change.emit(target.value);
|
|
5067
5133
|
}
|
|
5134
|
+
onInputClick(event) {
|
|
5135
|
+
event.stopPropagation();
|
|
5136
|
+
}
|
|
5068
5137
|
}
|
|
5069
|
-
|
|
5070
|
-
|
|
5071
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5138
|
+
FngSegmentControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5139
|
+
FngSegmentControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSegmentControlComponent, isStandalone: true, selector: "fng-segment-control", inputs: { name: "name", value: "value", label: "label", icon: "icon", iconOnly: "iconOnly", checked: "checked", disabled: "disabled" }, outputs: { change: "change" }, viewQueries: [{ propertyName: "tpl", first: true, predicate: ["tpl"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #tpl>\n <input\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n class=\"fwe-segment-input\"\n type=\"radio\"\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <label class=\"fwe-segment-label\" [for]=\"id\">\n <ng-container [ngSwitch]=\"viewMode\">\n <ng-container *ngSwitchCase=\"'icon'\">\n <span class=\"fwe-sr-only\">{{ label }}</span>\n <i aria-hidden=\"true\" class=\"fwe-icon\" [ngClass]=\"icon\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text'\">\n {{ label }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'icon-text'\"> <i aria-hidden=\"true\" class=\"fwe-icon\" [ngClass]=\"icon\"></i>{{ label }} </ng-container>\n </ng-container>\n </label>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
5140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentControlComponent, decorators: [{
|
|
5072
5141
|
type: Component,
|
|
5073
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment-control',
|
|
5142
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment-control', encapsulation: ViewEncapsulation.None, template: "<ng-template #tpl>\n <input\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n class=\"fwe-segment-input\"\n type=\"radio\"\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n />\n <label class=\"fwe-segment-label\" [for]=\"id\">\n <ng-container [ngSwitch]=\"viewMode\">\n <ng-container *ngSwitchCase=\"'icon'\">\n <span class=\"fwe-sr-only\">{{ label }}</span>\n <i aria-hidden=\"true\" class=\"fwe-icon\" [ngClass]=\"icon\"></i>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text'\">\n {{ label }}\n </ng-container>\n <ng-container *ngSwitchCase=\"'icon-text'\"> <i aria-hidden=\"true\" class=\"fwe-icon\" [ngClass]=\"icon\"></i>{{ label }} </ng-container>\n </ng-container>\n </label>\n</ng-template>\n" }]
|
|
5074
5143
|
}], propDecorators: { name: [{
|
|
5075
5144
|
type: Input
|
|
5076
5145
|
}], value: [{
|
|
@@ -5092,7 +5161,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5092
5161
|
args: ['tpl']
|
|
5093
5162
|
}] } });
|
|
5094
5163
|
|
|
5095
|
-
class
|
|
5164
|
+
class FngSegmentComponent {
|
|
5165
|
+
writeValue(value) {
|
|
5166
|
+
this.innerValue = value;
|
|
5167
|
+
this.updateCheckState();
|
|
5168
|
+
}
|
|
5169
|
+
updateCheckState() {
|
|
5170
|
+
if (this.controls) {
|
|
5171
|
+
this.controls.forEach(component => {
|
|
5172
|
+
component.checked = component.value === this.value;
|
|
5173
|
+
});
|
|
5174
|
+
}
|
|
5175
|
+
}
|
|
5176
|
+
registerOnChange(fn) {
|
|
5177
|
+
this.changed.push(fn);
|
|
5178
|
+
}
|
|
5179
|
+
registerOnTouched(fn) {
|
|
5180
|
+
this.touched.push(fn);
|
|
5181
|
+
}
|
|
5096
5182
|
set value(value) {
|
|
5097
5183
|
if (this.innerValue !== value) {
|
|
5098
5184
|
this.innerValue = value;
|
|
@@ -5103,9 +5189,13 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5103
5189
|
});
|
|
5104
5190
|
}
|
|
5105
5191
|
}
|
|
5192
|
+
get value() {
|
|
5193
|
+
return this.innerValue;
|
|
5194
|
+
}
|
|
5106
5195
|
constructor(cd) {
|
|
5107
|
-
super();
|
|
5108
5196
|
this.cd = cd;
|
|
5197
|
+
this.changed = new Array();
|
|
5198
|
+
this.touched = new Array();
|
|
5109
5199
|
this.complete = new Subject();
|
|
5110
5200
|
this.defaultConfig = {
|
|
5111
5201
|
outline: true,
|
|
@@ -5117,6 +5207,7 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5117
5207
|
this.config = this.defaultConfig;
|
|
5118
5208
|
this.fngChange = new EventEmitter();
|
|
5119
5209
|
this.change = new EventEmitter();
|
|
5210
|
+
this.id = (Math.random() * Date.now()).toString().replace('.', '-');
|
|
5120
5211
|
}
|
|
5121
5212
|
ngOnChanges(changes) {
|
|
5122
5213
|
var _a;
|
|
@@ -5130,6 +5221,7 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5130
5221
|
this.controls.forEach(component => {
|
|
5131
5222
|
component.change.pipe(takeUntil(this.complete)).subscribe(val => {
|
|
5132
5223
|
this.value = val;
|
|
5224
|
+
this.updateCheckState();
|
|
5133
5225
|
});
|
|
5134
5226
|
if (component.icon != null && this.config.iconOnly === true) {
|
|
5135
5227
|
this.useIcon = true;
|
|
@@ -5159,26 +5251,29 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5159
5251
|
this.controls.forEach(component => {
|
|
5160
5252
|
var _a;
|
|
5161
5253
|
if (component.view) {
|
|
5254
|
+
if (!component.name) {
|
|
5255
|
+
component.name = this.id;
|
|
5256
|
+
}
|
|
5162
5257
|
(_a = this.vc) === null || _a === void 0 ? void 0 : _a.insert(component.view);
|
|
5163
5258
|
}
|
|
5164
5259
|
});
|
|
5165
5260
|
}
|
|
5166
5261
|
}
|
|
5167
5262
|
}
|
|
5168
|
-
|
|
5169
|
-
|
|
5263
|
+
FngSegmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5264
|
+
FngSegmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSegmentComponent, isStandalone: true, selector: "fng-segment", inputs: { legend: "legend", config: "config", value: "value" }, outputs: { fngChange: "fngChange", change: "change" }, providers: [
|
|
5170
5265
|
{
|
|
5171
5266
|
provide: NG_VALUE_ACCESSOR,
|
|
5172
|
-
useExisting: forwardRef(() =>
|
|
5267
|
+
useExisting: forwardRef(() => FngSegmentComponent),
|
|
5173
5268
|
multi: true
|
|
5174
5269
|
}
|
|
5175
|
-
], queries: [{ propertyName: "controls", predicate:
|
|
5176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5270
|
+
], queries: [{ propertyName: "controls", predicate: FngSegmentControlComponent, descendants: true }], viewQueries: [{ propertyName: "vc", first: true, predicate: ["vc"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<fieldset\n class=\"fwe-segment\"\n [ngClass]=\"{\n 'fwe-segment-outline': config.outline,\n 'fwe-segment-icon': useIcon,\n 'fwe-segment-icon-text': useIconAndText\n }\"\n>\n <legend class=\"fwe-sr-only fwe-d-inline-block\">{{ legend }}</legend>\n <div class=\"fwe-segment-group\">\n <ng-container #vc></ng-container>\n </div>\n</fieldset>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
5271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentComponent, decorators: [{
|
|
5177
5272
|
type: Component,
|
|
5178
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment',
|
|
5273
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment', encapsulation: ViewEncapsulation.None, providers: [
|
|
5179
5274
|
{
|
|
5180
5275
|
provide: NG_VALUE_ACCESSOR,
|
|
5181
|
-
useExisting: forwardRef(() =>
|
|
5276
|
+
useExisting: forwardRef(() => FngSegmentComponent),
|
|
5182
5277
|
multi: true
|
|
5183
5278
|
}
|
|
5184
5279
|
], template: "<fieldset\n class=\"fwe-segment\"\n [ngClass]=\"{\n 'fwe-segment-outline': config.outline,\n 'fwe-segment-icon': useIcon,\n 'fwe-segment-icon-text': useIconAndText\n }\"\n>\n <legend class=\"fwe-sr-only fwe-d-inline-block\">{{ legend }}</legend>\n <div class=\"fwe-segment-group\">\n <ng-container #vc></ng-container>\n </div>\n</fieldset>\n" }]
|
|
@@ -5188,7 +5283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5188
5283
|
type: Input
|
|
5189
5284
|
}], controls: [{
|
|
5190
5285
|
type: ContentChildren,
|
|
5191
|
-
args: [
|
|
5286
|
+
args: [FngSegmentControlComponent, { descendants: true }]
|
|
5192
5287
|
}], vc: [{
|
|
5193
5288
|
type: ViewChild,
|
|
5194
5289
|
args: ['vc', { read: ViewContainerRef }]
|
|
@@ -5200,7 +5295,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5200
5295
|
type: Input
|
|
5201
5296
|
}] } });
|
|
5202
5297
|
|
|
5203
|
-
class
|
|
5298
|
+
class FngSelectOptionComponent {
|
|
5204
5299
|
ngAfterViewInit() {
|
|
5205
5300
|
this.el = this.elementRef.nativeElement;
|
|
5206
5301
|
}
|
|
@@ -5210,9 +5305,9 @@ class SelectOptionComponent {
|
|
|
5210
5305
|
});
|
|
5211
5306
|
}
|
|
5212
5307
|
}
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5308
|
+
FngSelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5309
|
+
FngSelectOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSelectOptionComponent, isStandalone: true, selector: "fng-select-option", inputs: { value: "value" }, viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["root"], descendants: true }], ngImport: i0, template: "<span #root>\n <ng-content></ng-content>\n</span>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
5310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectOptionComponent, decorators: [{
|
|
5216
5311
|
type: Component,
|
|
5217
5312
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-select-option', template: "<span #root>\n <ng-content></ng-content>\n</span>\n" }]
|
|
5218
5313
|
}], propDecorators: { value: [{
|
|
@@ -5228,7 +5323,7 @@ function defaultValueKey(key) {
|
|
|
5228
5323
|
function defaultTextKey(key) {
|
|
5229
5324
|
return key === undefined ? 'text' : key;
|
|
5230
5325
|
}
|
|
5231
|
-
class
|
|
5326
|
+
class FngChipTextPipe {
|
|
5232
5327
|
transform(value, options, optionsValueKey, optionsTextKey) {
|
|
5233
5328
|
let chipText = '';
|
|
5234
5329
|
optionsValueKey = defaultValueKey(optionsValueKey);
|
|
@@ -5248,9 +5343,9 @@ class ChipTextPipe {
|
|
|
5248
5343
|
return chipText;
|
|
5249
5344
|
}
|
|
5250
5345
|
}
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5346
|
+
FngChipTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5347
|
+
FngChipTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FngChipTextPipe, isStandalone: true, name: "fngChipText", pure: false });
|
|
5348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipTextPipe, decorators: [{
|
|
5254
5349
|
type: Pipe,
|
|
5255
5350
|
args: [{
|
|
5256
5351
|
standalone: true,
|
|
@@ -5259,7 +5354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5259
5354
|
}]
|
|
5260
5355
|
}] });
|
|
5261
5356
|
|
|
5262
|
-
class
|
|
5357
|
+
class FngSelectComponent {
|
|
5263
5358
|
get disabled() {
|
|
5264
5359
|
return this._disabled;
|
|
5265
5360
|
}
|
|
@@ -5302,7 +5397,7 @@ class SelectComponent {
|
|
|
5302
5397
|
this._disabled = false;
|
|
5303
5398
|
this._required = false;
|
|
5304
5399
|
this.touched = false;
|
|
5305
|
-
this.id = `input-control-${++
|
|
5400
|
+
this.id = `input-control-${++FngSelectComponent.nextId}`;
|
|
5306
5401
|
this.multiple = false;
|
|
5307
5402
|
this.size = 0;
|
|
5308
5403
|
this.options = [];
|
|
@@ -5316,8 +5411,19 @@ class SelectComponent {
|
|
|
5316
5411
|
this.checked = new Map();
|
|
5317
5412
|
this.hasProjectedOptions = false;
|
|
5318
5413
|
this.projectedHtml = [];
|
|
5414
|
+
this.complete = new Subject();
|
|
5319
5415
|
this.body = this.document.body;
|
|
5320
5416
|
}
|
|
5417
|
+
ngAfterContentInit() {
|
|
5418
|
+
var _a;
|
|
5419
|
+
// observe if any of the projected content (fng-select-option) changes
|
|
5420
|
+
(_a = this.fngSelectOptions) === null || _a === void 0 ? void 0 : _a.changes.pipe(takeUntil(this.complete)).subscribe(_ => {
|
|
5421
|
+
// if content changes init again
|
|
5422
|
+
this.options = [];
|
|
5423
|
+
this.projectedHtml = [];
|
|
5424
|
+
this.initProjectedOptions();
|
|
5425
|
+
});
|
|
5426
|
+
}
|
|
5321
5427
|
ngOnInit() {
|
|
5322
5428
|
if (this.size != null) {
|
|
5323
5429
|
this.selectPanelClasses.push('fng-select-panel-options-' + this.size);
|
|
@@ -5332,6 +5438,10 @@ class SelectComponent {
|
|
|
5332
5438
|
this.triggerWidth = (_c = (_b = (_a = this.elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect()) === null || _c === void 0 ? void 0 : _c.width;
|
|
5333
5439
|
this.initProjectedOptions();
|
|
5334
5440
|
}
|
|
5441
|
+
ngOnDestroy() {
|
|
5442
|
+
this.complete.next(true);
|
|
5443
|
+
this.complete.unsubscribe();
|
|
5444
|
+
}
|
|
5335
5445
|
registerOnChange(fn) {
|
|
5336
5446
|
this.onChange = fn;
|
|
5337
5447
|
}
|
|
@@ -5425,14 +5535,6 @@ class SelectComponent {
|
|
|
5425
5535
|
this.touched = true;
|
|
5426
5536
|
}
|
|
5427
5537
|
}
|
|
5428
|
-
onContentChange(event) {
|
|
5429
|
-
const changes = event;
|
|
5430
|
-
if (changes != null) {
|
|
5431
|
-
this.options = [];
|
|
5432
|
-
this.projectedHtml = [];
|
|
5433
|
-
this.initProjectedOptions();
|
|
5434
|
-
}
|
|
5435
|
-
}
|
|
5436
5538
|
initProjectedOptions() {
|
|
5437
5539
|
var _a;
|
|
5438
5540
|
if ((_a = this.fngSelectOptions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
@@ -5459,24 +5561,24 @@ class SelectComponent {
|
|
|
5459
5561
|
}
|
|
5460
5562
|
}
|
|
5461
5563
|
}
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5564
|
+
FngSelectComponent.nextId = 0;
|
|
5565
|
+
FngSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5566
|
+
FngSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSelectComponent, isStandalone: true, selector: "fng-select", inputs: { disabled: "disabled", required: "required", multiple: "multiple", size: "size", options: "options", optionsValueKey: "optionsValueKey", optionsTextKey: "optionsTextKey", optionObjectAsValue: "optionObjectAsValue", error: "error", label: "label", hideLabel: "hideLabel", hint: "hint", resetOption: "resetOption" }, outputs: { fngChange: "fngChange" }, host: { properties: { "id": "this.id" } }, providers: [
|
|
5465
5567
|
{
|
|
5466
5568
|
provide: NG_VALUE_ACCESSOR,
|
|
5467
|
-
useExisting: forwardRef(() =>
|
|
5569
|
+
useExisting: forwardRef(() => FngSelectComponent),
|
|
5468
5570
|
multi: true
|
|
5469
5571
|
}
|
|
5470
|
-
], queries: [{ propertyName: "fngSelectOptions", predicate: SelectOptionComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["div"], descendants: true }], ngImport: i0, template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\" (cdkObserveContent)=\"onContentChange($event)\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100)}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:12px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:6px}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: ChipTextPipe, name: "fngChipText" }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
5471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5572
|
+
], queries: [{ propertyName: "fngSelectOptions", predicate: FngSelectOptionComponent }], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["div"], descendants: true }], ngImport: i0, template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100)}@media (pointer: fine){.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:14px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngChipTextPipe, name: "fngChipText" }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
5573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectComponent, decorators: [{
|
|
5472
5574
|
type: Component,
|
|
5473
|
-
args: [{ standalone: true, imports: [CommonModule,
|
|
5575
|
+
args: [{ standalone: true, imports: [CommonModule, FngChipTextPipe, FngSelectOptionComponent, OverlayModule], selector: 'fng-select', encapsulation: ViewEncapsulation.None, providers: [
|
|
5474
5576
|
{
|
|
5475
5577
|
provide: NG_VALUE_ACCESSOR,
|
|
5476
|
-
useExisting: forwardRef(() =>
|
|
5578
|
+
useExisting: forwardRef(() => FngSelectComponent),
|
|
5477
5579
|
multi: true
|
|
5478
5580
|
}
|
|
5479
|
-
], template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\"
|
|
5581
|
+
], template: "<div #div class=\"fwe-select-wrapper\" [class.fwe-disabled]=\"disabled\" [class.fng-hide-label]=\"hideLabel\">\n <div\n class=\"fwe-select\"\n (click)=\"toggle()\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [class.fwe-focus]=\"showOptions\"\n [class.fwe-required]=\"required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fwe-pty]=\"empty\"\n >\n <div class=\"fwe-select-content\">\n <ng-container *ngIf=\"!multiple; else chips\">\n {{ value != null && value | fngChipText: options:optionsValueKey:optionsTextKey }}\n </ng-container>\n <ng-template #chips>\n <div class=\"fwe-chip-container\">\n <div\n *ngFor=\"let v of value\"\n class=\"fwe-chip chip-text-truncate fwe-pr-4\"\n [style.max-width.px]=\"triggerWidth\"\n [title]=\"v | fngChipText: options:optionsValueKey:optionsTextKey\"\n >\n {{ v | fngChipText: options:optionsValueKey:optionsTextKey }}\n <span class=\"chip-removable\" (click)=\"removeChip($event, v)\"></span>\n </div>\n </div>\n </ng-template>\n </div>\n </div>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayMinWidth]=\"triggerWidth\"\n [cdkConnectedOverlayOpen]=\"showOptions\"\n [cdkConnectedOverlayPanelClass]=\"selectPanelClasses\"\n (backdropClick)=\"close()\"\n >\n <div class=\"fng-select-panel-wrap\">\n <ul class=\"fwe-select-options-container\">\n <li class=\"fwe-select-option\" *ngIf=\"resetOption != null && !multiple\" (click)=\"select(null, $event)\">{{ resetOption }}</li>\n <li\n class=\"fwe-select-option\"\n *ngFor=\"let option of options; let i = index\"\n (click)=\"select(getOptionValue(i), $event)\"\n [title]=\"getOptionText(i) || option?.text\"\n >\n <span class=\"fwe-select-option-content\">\n <span\n *ngIf=\"multiple\"\n class=\"fng-select-pseudo-checkbox\"\n [ngClass]=\"{ 'fng-select-pseudo-checkbox-checked': checked.get(getOptionValue(i)) === 'checked' }\"\n ></span>\n <span *ngIf=\"hasProjectedOptions; else defaultTemplate\" [innerHTML]=\"projectedHtml[i]\"></span>\n <ng-template #defaultTemplate>{{ getOptionText(i) || option?.text }}</ng-template>\n </span>\n </li>\n </ul>\n </div>\n </ng-template>\n <label class=\"fwe-select-label\" [for]=\"id\" [class.fwe-sr-only]=\"hideLabel\">{{ label }}</label>\n <div class=\"fwe-select-description\" *ngIf=\"hint\">\n {{ hint }}\n </div>\n <div class=\"fwe-select-invalid\" *ngIf=\"error\">\n {{ error }}\n </div>\n</div>\n<div class=\"fwe-d-none\">\n <ng-content></ng-content>\n</div>\n", styles: [".fng-select-panel-open .fng-select-panel{opacity:1!important}fng-select{width:auto}fng-select.ng-invalid:not(.ng-pristine) .fwe-select:hover{border-color:var(--fwe-red)}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-invalid{display:block}fng-select.ng-invalid:not(.ng-pristine) .fwe-select.fwe-required~.fwe-select-description{display:none}.fng-select-panel{opacity:0!important}.fng-select-panel.fng-select-panel-options-3 .fwe-select-options-container{max-height:162px}.fng-select-panel.fng-select-panel-options-4 .fwe-select-options-container{max-height:210px}.fng-select-panel.fng-select-panel-options-5 .fwe-select-options-container{max-height:258px}.fng-select-panel.fng-select-panel-options-6 .fwe-select-options-container{max-height:306px}.fng-select-panel.fng-select-panel-options-7 .fwe-select-options-container{max-height:354px}.fng-select-panel.fng-select-panel-options-8 .fwe-select-options-container{max-height:402px}.fng-select-panel.fng-select-panel-options-9 .fwe-select-options-container{max-height:450px}.fng-select-panel.fng-select-panel-options-10 .fwe-select-options-container{max-height:498px}.fng-select-panel .fwe-select-options-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100)}@media (pointer: fine){.fng-select-panel .fwe-select-options-container::-webkit-scrollbar{width:14px}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-track{background:transparent}.fng-select-panel .fwe-select-options-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}.fng-select-panel-wrap{flex-basis:100%}.fwe-select-options-container{position:relative;top:4px;left:0;max-height:258px;min-width:calc(100% + 0px)!important;max-width:280px;overflow:auto;font-size:var(--fwe-font-size-base);background-color:var(--fwe-white);border-radius:4px;padding:8px;margin:0;border:1px solid var(--fwe-gray-200);box-shadow:0 1px 4px #00000029;list-style:none;outline:0}.fwe-select-options-container .fwe-select-option{position:relative;line-height:24px;padding:12px 8px;min-height:24px;cursor:pointer}.fwe-select-options-container .fwe-select-option:hover{background-color:var(--fwe-gray-100)}.fwe-select-options-container .fwe-select-option:last-child{border-bottom:none}.fwe-select-options-container .fwe-select-option .fwe-select-option-content{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;line-height:24px;min-height:24px}.fng-select-pseudo-checkbox{width:16px;height:16px;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;color:var(--fwe-control-border);border:1px solid;transition:none;margin-right:12px;top:-1px}.fng-select-pseudo-checkbox:after{color:var(--fwe-white);position:absolute;display:block;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0,0,.2,.1)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked{background:var(--fwe-caerul);border:1px solid var(--fwe-caerul)}.fng-select-pseudo-checkbox.fng-select-pseudo-checkbox-checked:after{top:3px;left:2px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.chip-text-truncate{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-removable:after{position:absolute;right:5px;top:4px;color:var(--fwe-text);font-family:var(--fwe-font-family-icons-16);font-size:var(--fwe-font-size-base);content:\"\\ea1c\";line-height:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fwe-select-wrapper{display:flex;width:inherit;min-width:48px}.fwe-select-wrapper:before{bottom:unset;top:24px}.fwe-select-wrapper.fng-hide-label{margin-top:18px}.fwe-select-wrapper.fng-hide-label:before{top:6px}.fwe-select-wrapper.fwe-disabled:before{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select{cursor:pointer;height:unset;min-height:33px}.fwe-select-wrapper .fwe-select .fwe-select-content{padding-right:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5rem}.fwe-select-wrapper .fwe-select.fwe-required:not(.fwe-disabled)~.fwe-select-label:after{position:relative;left:3px;display:inline-block;content:\"*\"}.fwe-select-wrapper .fwe-select.fwe-disabled{cursor:default;border-color:var(--fwe-control-disabled)!important}.fwe-select-wrapper .fwe-select.fwe-disabled~.fwe-select-label{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-select-content{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip{color:var(--fwe-text-disabled);border:1px solid var(--fwe-control-disabled);pointer-events:none}.fwe-select-wrapper .fwe-select.fwe-disabled .fwe-chip .chip-removable:after{color:var(--fwe-text-disabled)}.fwe-select-wrapper .fwe-select-label:empty~.fwe-select-options-container,.fwe-select-wrapper .fwe-select-label.fwe-sr-only~.fwe-select-options-container{top:38px}\n"] }]
|
|
5480
5582
|
}], ctorParameters: function () {
|
|
5481
5583
|
return [{ type: undefined, decorators: [{
|
|
5482
5584
|
type: Inject,
|
|
@@ -5512,7 +5614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5512
5614
|
type: Input
|
|
5513
5615
|
}], fngSelectOptions: [{
|
|
5514
5616
|
type: ContentChildren,
|
|
5515
|
-
args: [
|
|
5617
|
+
args: [FngSelectOptionComponent]
|
|
5516
5618
|
}], elementRef: [{
|
|
5517
5619
|
type: ViewChild,
|
|
5518
5620
|
args: ['div']
|
|
@@ -5520,7 +5622,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5520
5622
|
type: Output
|
|
5521
5623
|
}] } });
|
|
5522
5624
|
|
|
5523
|
-
class
|
|
5625
|
+
class FngSliderComponent {
|
|
5524
5626
|
get disabled() {
|
|
5525
5627
|
return this.innerDisabled;
|
|
5526
5628
|
}
|
|
@@ -5585,20 +5687,20 @@ class SliderComponent {
|
|
|
5585
5687
|
}
|
|
5586
5688
|
}
|
|
5587
5689
|
}
|
|
5588
|
-
|
|
5589
|
-
|
|
5690
|
+
FngSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSliderComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5691
|
+
FngSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSliderComponent, isStandalone: true, selector: "fng-slider", inputs: { label: "label", large: "large", min: "min", max: "max", step: "step", digitsInfo: "digitsInfo", locale: "locale", disabled: "disabled", value: "value" }, host: { listeners: { "window:resize": "onResize()" } }, providers: [
|
|
5590
5692
|
{
|
|
5591
5693
|
provide: NG_VALUE_ACCESSOR,
|
|
5592
|
-
useExisting: forwardRef(() =>
|
|
5694
|
+
useExisting: forwardRef(() => FngSliderComponent),
|
|
5593
5695
|
multi: true
|
|
5594
5696
|
}
|
|
5595
5697
|
], ngImport: i0, template: "<label class=\"fwe-slider\" [class.fwe-slider-lg]=\"large\" [class.fng-slider-label]=\"label != null\">\n <span *ngIf=\"label\">{{ label }}</span>\n <input\n type=\"range\"\n class=\"fwe-slider-input\"\n [disabled]=\"disabled\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n autocomplete=\"off\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n />\n <span *ngIf=\"left != null\" class=\"fng-slider-value\" [style.left]=\"left + 'px'\">{{ value | number: digitsInfo:locale }}</span>\n</label>\n", styles: ["label.fwe-slider{display:block;height:56px;position:relative}label.fwe-slider.fng-slider-label{height:83px}label.fwe-slider .fng-slider-value{color:var(--fwe-text);font-size:var(--fwe-font-size-base);margin-bottom:0;position:absolute;bottom:0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }], encapsulation: i0.ViewEncapsulation.None });
|
|
5596
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5698
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSliderComponent, decorators: [{
|
|
5597
5699
|
type: Component,
|
|
5598
5700
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-slider', providers: [
|
|
5599
5701
|
{
|
|
5600
5702
|
provide: NG_VALUE_ACCESSOR,
|
|
5601
|
-
useExisting: forwardRef(() =>
|
|
5703
|
+
useExisting: forwardRef(() => FngSliderComponent),
|
|
5602
5704
|
multi: true
|
|
5603
5705
|
}
|
|
5604
5706
|
], encapsulation: ViewEncapsulation.None, template: "<label class=\"fwe-slider\" [class.fwe-slider-lg]=\"large\" [class.fng-slider-label]=\"label != null\">\n <span *ngIf=\"label\">{{ label }}</span>\n <input\n type=\"range\"\n class=\"fwe-slider-input\"\n [disabled]=\"disabled\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n autocomplete=\"off\"\n [value]=\"value\"\n (input)=\"onInput($event)\"\n />\n <span *ngIf=\"left != null\" class=\"fng-slider-value\" [style.left]=\"left + 'px'\">{{ value | number: digitsInfo:locale }}</span>\n</label>\n", styles: ["label.fwe-slider{display:block;height:56px;position:relative}label.fwe-slider.fng-slider-label{height:83px}label.fwe-slider .fng-slider-value{color:var(--fwe-text);font-size:var(--fwe-font-size-base);margin-bottom:0;position:absolute;bottom:0;-webkit-user-select:none;user-select:none}\n"] }]
|
|
@@ -5626,7 +5728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5626
5728
|
}] } });
|
|
5627
5729
|
|
|
5628
5730
|
let nextUniqueId = 0;
|
|
5629
|
-
class
|
|
5731
|
+
class FngSwitchComponent {
|
|
5630
5732
|
get id() {
|
|
5631
5733
|
return this.innerId;
|
|
5632
5734
|
}
|
|
@@ -5703,20 +5805,20 @@ class SwitchComponent {
|
|
|
5703
5805
|
}
|
|
5704
5806
|
}
|
|
5705
5807
|
}
|
|
5706
|
-
|
|
5707
|
-
|
|
5808
|
+
FngSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSwitchComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5809
|
+
FngSwitchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngSwitchComponent, isStandalone: true, selector: "fng-switch", inputs: { name: "name", large: "large", labelPosition: "labelPosition", id: "id", checked: "checked", disabled: "disabled", value: "value", required: "required" }, outputs: { change: "change" }, providers: [
|
|
5708
5810
|
{
|
|
5709
5811
|
provide: NG_VALUE_ACCESSOR,
|
|
5710
|
-
useExisting: forwardRef(() =>
|
|
5812
|
+
useExisting: forwardRef(() => FngSwitchComponent),
|
|
5711
5813
|
multi: true
|
|
5712
5814
|
}
|
|
5713
5815
|
], ngImport: i0, template: "<label\n [ngClass]=\"{\n 'fwe-switch-container': true,\n 'fwe-checked': checked,\n 'fwe-disabled': disabled,\n 'fwe-switch-label-below': labelPosition == 'below',\n 'fwe-switch-label-before': labelPosition == 'before',\n 'fwe-switch-lg': large\n }\"\n>\n <input\n title=\"checkbox\"\n type=\"checkbox\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n [disabled]=\"disabled\"\n />\n <div class=\"fwe-switch-track\"></div>\n <div class=\"fwe-switch-label-content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-switch-container.fwe-switch-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-switch-container.fwe-switch-label-before .fwe-switch-label-content{margin-left:0;margin-right:8px}.fwe-switch-container.fwe-switch-label-below{flex-direction:column}.fwe-switch-container.fwe-switch-label-below .fwe-switch-label-content{margin:8px 0 0}.fwe-switch-container.fwe-switch-label-below .fwe-switch-track{margin-top:0;margin-bottom:0}.fwe-switch-container{cursor:pointer;display:flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%;-webkit-user-select:none;user-select:none}.fwe-switch-container .fwe-switch-track{box-sizing:border-box;position:relative;height:16px;width:32px;border:none;background-color:var(--fwe-control-border);border-radius:8px;margin-top:4px;margin-bottom:4px}.fwe-switch-container .fwe-switch-track:after{content:\"\";position:absolute;top:3px;left:3px;height:10px;width:10px;background:var(--fwe-white);border-radius:50%;transition:left .2s}.fwe-switch-container.fwe-switch-lg .fwe-switch-track{height:24px;width:48px;border-radius:12px;margin-top:0;margin-bottom:0}.fwe-switch-container.fwe-switch-lg .fwe-switch-track:after{top:5px;left:5px;height:14px;width:14px}.fwe-switch-container.fwe-switch-lg.fwe-checked .fwe-switch-track:after{left:29px}.fwe-switch-container .fwe-switch-label-content{line-height:24px;margin-left:8px}.fwe-switch-container input[type=checkbox]{height:0px;width:0px;opacity:0;cursor:pointer}.fwe-switch-container:hover .fwe-switch-track{background-color:var(--fwe-control-border-dark)}.fwe-switch-container:active .fwe-switch-track{background-color:var(--fwe-control-border-darker)}.fwe-switch-container.fwe-checked .fwe-switch-track{background-color:var(--fwe-caerul)}.fwe-switch-container.fwe-checked .fwe-switch-track:after{left:19px}.fwe-switch-container:hover.fwe-checked .fwe-switch-track{background-color:var(--fwe-hero-dark)}.fwe-switch-container:active.fwe-checked .fwe-switch-track{background-color:var(--fwe-hero-darker)}.fwe-switch-container.fwe-disabled .fwe-switch-track,.fwe-switch-container.fwe-disabled.fwe-checked .fwe-switch-track{background-color:var(--fwe-control-disabled);cursor:not-allowed}.fwe-switch-container.fwe-disabled{cursor:not-allowed}.fwe-switch-container.fwe-disabled .fwe-switch-label-content{color:var(--fwe-text-disabled);cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
5714
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5816
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSwitchComponent, decorators: [{
|
|
5715
5817
|
type: Component,
|
|
5716
5818
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
5717
5819
|
{
|
|
5718
5820
|
provide: NG_VALUE_ACCESSOR,
|
|
5719
|
-
useExisting: forwardRef(() =>
|
|
5821
|
+
useExisting: forwardRef(() => FngSwitchComponent),
|
|
5720
5822
|
multi: true
|
|
5721
5823
|
}
|
|
5722
5824
|
], template: "<label\n [ngClass]=\"{\n 'fwe-switch-container': true,\n 'fwe-checked': checked,\n 'fwe-disabled': disabled,\n 'fwe-switch-label-below': labelPosition == 'below',\n 'fwe-switch-label-before': labelPosition == 'before',\n 'fwe-switch-lg': large\n }\"\n>\n <input\n title=\"checkbox\"\n type=\"checkbox\"\n [checked]=\"checked\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n [disabled]=\"disabled\"\n />\n <div class=\"fwe-switch-track\"></div>\n <div class=\"fwe-switch-label-content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-switch-container.fwe-switch-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-switch-container.fwe-switch-label-before .fwe-switch-label-content{margin-left:0;margin-right:8px}.fwe-switch-container.fwe-switch-label-below{flex-direction:column}.fwe-switch-container.fwe-switch-label-below .fwe-switch-label-content{margin:8px 0 0}.fwe-switch-container.fwe-switch-label-below .fwe-switch-track{margin-top:0;margin-bottom:0}.fwe-switch-container{cursor:pointer;display:flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%;-webkit-user-select:none;user-select:none}.fwe-switch-container .fwe-switch-track{box-sizing:border-box;position:relative;height:16px;width:32px;border:none;background-color:var(--fwe-control-border);border-radius:8px;margin-top:4px;margin-bottom:4px}.fwe-switch-container .fwe-switch-track:after{content:\"\";position:absolute;top:3px;left:3px;height:10px;width:10px;background:var(--fwe-white);border-radius:50%;transition:left .2s}.fwe-switch-container.fwe-switch-lg .fwe-switch-track{height:24px;width:48px;border-radius:12px;margin-top:0;margin-bottom:0}.fwe-switch-container.fwe-switch-lg .fwe-switch-track:after{top:5px;left:5px;height:14px;width:14px}.fwe-switch-container.fwe-switch-lg.fwe-checked .fwe-switch-track:after{left:29px}.fwe-switch-container .fwe-switch-label-content{line-height:24px;margin-left:8px}.fwe-switch-container input[type=checkbox]{height:0px;width:0px;opacity:0;cursor:pointer}.fwe-switch-container:hover .fwe-switch-track{background-color:var(--fwe-control-border-dark)}.fwe-switch-container:active .fwe-switch-track{background-color:var(--fwe-control-border-darker)}.fwe-switch-container.fwe-checked .fwe-switch-track{background-color:var(--fwe-caerul)}.fwe-switch-container.fwe-checked .fwe-switch-track:after{left:19px}.fwe-switch-container:hover.fwe-checked .fwe-switch-track{background-color:var(--fwe-hero-dark)}.fwe-switch-container:active.fwe-checked .fwe-switch-track{background-color:var(--fwe-hero-darker)}.fwe-switch-container.fwe-disabled .fwe-switch-track,.fwe-switch-container.fwe-disabled.fwe-checked .fwe-switch-track{background-color:var(--fwe-control-disabled);cursor:not-allowed}.fwe-switch-container.fwe-disabled{cursor:not-allowed}.fwe-switch-container.fwe-disabled .fwe-switch-label-content{color:var(--fwe-text-disabled);cursor:not-allowed}\n"] }]
|
|
@@ -5743,7 +5845,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5743
5845
|
/**
|
|
5744
5846
|
* A custom form element for text inputs.
|
|
5745
5847
|
*/
|
|
5746
|
-
class
|
|
5848
|
+
class FngTextAreaComponent {
|
|
5747
5849
|
constructor() {
|
|
5748
5850
|
this.innerReadonly = false;
|
|
5749
5851
|
this.tabindex = 0;
|
|
@@ -5876,20 +5978,20 @@ class TextAreaComponent {
|
|
|
5876
5978
|
this.disabled = isDisabled;
|
|
5877
5979
|
}
|
|
5878
5980
|
}
|
|
5879
|
-
|
|
5880
|
-
|
|
5981
|
+
FngTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5982
|
+
FngTextAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTextAreaComponent, isStandalone: true, selector: "fng-text-area", inputs: { label: "label", readonly: "readonly", placeholder: "placeholder", tabindex: "tabindex", name: "name", disabled: "disabled", value: "value", required: "required", error: "error", hint: "hint", rows: "rows", maxlength: "maxlength" }, providers: [
|
|
5881
5983
|
{
|
|
5882
5984
|
provide: NG_VALUE_ACCESSOR,
|
|
5883
|
-
useExisting: forwardRef(() =>
|
|
5985
|
+
useExisting: forwardRef(() => FngTextAreaComponent),
|
|
5884
5986
|
multi: true
|
|
5885
5987
|
}
|
|
5886
5988
|
], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<label class=\"fwe-input-text\">\n <textarea\n #inputElement\n [class]=\"'fwe-row-' + rows\"\n [disabled]=\"disabled\"\n [required]=\"required === true || null\"\n [attr.readonly]=\"readonly === true || null\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.name]=\"name || null\"\n [attr.tabindex]=\"tabindex\"\n [class.fng-has-value]=\"value != null && value !== ''\"\n autocomplete=\"off\"\n (focus)=\"onFocus()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n >{{ value }}</textarea\n >\n <span class=\"fwe-input-text-label\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n <span *ngIf=\"maxlength > 0 && value != null\" class=\"fwe-input-text-count\">{{ value.length }} / {{ maxlength }}</span>\n</label>\n", styles: ["fng-text-area.ng-invalid label.fwe-input-text textarea{border:1px solid var(--fwe-red)!important;box-shadow:none;outline:none}fng-text-area.ng-invalid label.fwe-input-text textarea:focus{border:1px solid var(--fwe-red)!important}fng-text-area.ng-invalid label.fwe-input-text textarea:disabled{border:1px solid var(--fwe-control-disabled)!important}fng-text-area.ng-invalid label.fwe-input-text textarea:disabled~.fwe-input-text-label,fng-text-area.ng-invalid label.fwe-input-text textarea:disabled~.fwe-input-text-invalid,fng-text-area.ng-invalid label.fwe-input-text textarea:disabled~.fwe-input-text-info{color:var(--fwe-text-disabled)}fng-text-area.ng-invalid label.fwe-input-text .fwe-input-text-info{display:none!important}fng-text-area.ng-invalid label.fwe-input-text .fwe-input-text-invalid{display:block!important}label.fwe-input-text .fwe-input-text-count{display:block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
5887
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5989
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextAreaComponent, decorators: [{
|
|
5888
5990
|
type: Component,
|
|
5889
5991
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-text-area', providers: [
|
|
5890
5992
|
{
|
|
5891
5993
|
provide: NG_VALUE_ACCESSOR,
|
|
5892
|
-
useExisting: forwardRef(() =>
|
|
5994
|
+
useExisting: forwardRef(() => FngTextAreaComponent),
|
|
5893
5995
|
multi: true
|
|
5894
5996
|
}
|
|
5895
5997
|
], encapsulation: ViewEncapsulation.None, template: "<label class=\"fwe-input-text\">\n <textarea\n #inputElement\n [class]=\"'fwe-row-' + rows\"\n [disabled]=\"disabled\"\n [required]=\"required === true || null\"\n [attr.readonly]=\"readonly === true || null\"\n [attr.placeholder]=\"placeholder || null\"\n [attr.name]=\"name || null\"\n [attr.tabindex]=\"tabindex\"\n [class.fng-has-value]=\"value != null && value !== ''\"\n autocomplete=\"off\"\n (focus)=\"onFocus()\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n >{{ value }}</textarea\n >\n <span class=\"fwe-input-text-label\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n <span *ngIf=\"maxlength > 0 && value != null\" class=\"fwe-input-text-count\">{{ value.length }} / {{ maxlength }}</span>\n</label>\n", styles: ["fng-text-area.ng-invalid label.fwe-input-text textarea{border:1px solid var(--fwe-red)!important;box-shadow:none;outline:none}fng-text-area.ng-invalid label.fwe-input-text textarea:focus{border:1px solid var(--fwe-red)!important}fng-text-area.ng-invalid label.fwe-input-text textarea:disabled{border:1px solid var(--fwe-control-disabled)!important}fng-text-area.ng-invalid label.fwe-input-text textarea:disabled~.fwe-input-text-label,fng-text-area.ng-invalid label.fwe-input-text textarea:disabled~.fwe-input-text-invalid,fng-text-area.ng-invalid label.fwe-input-text textarea:disabled~.fwe-input-text-info{color:var(--fwe-text-disabled)}fng-text-area.ng-invalid label.fwe-input-text .fwe-input-text-info{display:none!important}fng-text-area.ng-invalid label.fwe-input-text .fwe-input-text-invalid{display:block!important}label.fwe-input-text .fwe-input-text-count{display:block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}\n"] }]
|
|
@@ -5922,17 +6024,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5922
6024
|
args: ['inputElement']
|
|
5923
6025
|
}] } });
|
|
5924
6026
|
|
|
5925
|
-
class
|
|
6027
|
+
class FngValueAccessorBaseDirective {
|
|
6028
|
+
constructor() {
|
|
6029
|
+
this.disabled = false;
|
|
6030
|
+
this.changed = new Array();
|
|
6031
|
+
this.touched = new Array();
|
|
6032
|
+
}
|
|
6033
|
+
get value() {
|
|
6034
|
+
return this.innerValue;
|
|
6035
|
+
}
|
|
6036
|
+
set value(value) {
|
|
6037
|
+
if (value && this.innerValue !== value) {
|
|
6038
|
+
this.innerValue = value;
|
|
6039
|
+
this.changed.forEach(f => f(value));
|
|
6040
|
+
}
|
|
6041
|
+
}
|
|
6042
|
+
touch() {
|
|
6043
|
+
this.touched.forEach(f => f());
|
|
6044
|
+
}
|
|
6045
|
+
writeValue(value) {
|
|
6046
|
+
this.innerValue = value;
|
|
6047
|
+
}
|
|
6048
|
+
registerOnChange(fn) {
|
|
6049
|
+
this.changed.push(fn);
|
|
6050
|
+
}
|
|
6051
|
+
registerOnTouched(fn) {
|
|
6052
|
+
this.touched.push(fn);
|
|
6053
|
+
}
|
|
6054
|
+
setDisabledState(isDisabled) {
|
|
6055
|
+
this.disabled = isDisabled;
|
|
6056
|
+
}
|
|
6057
|
+
}
|
|
6058
|
+
FngValueAccessorBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngValueAccessorBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6059
|
+
FngValueAccessorBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngValueAccessorBaseDirective, inputs: { disabled: "disabled" }, ngImport: i0 });
|
|
6060
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngValueAccessorBaseDirective, decorators: [{
|
|
6061
|
+
type: Directive
|
|
6062
|
+
}], propDecorators: { disabled: [{
|
|
6063
|
+
type: Input
|
|
6064
|
+
}] } });
|
|
6065
|
+
|
|
6066
|
+
class FngTextEditorComponent extends FngValueAccessorBaseDirective {
|
|
5926
6067
|
set value(value) {
|
|
5927
6068
|
if (this.innerValue !== value) {
|
|
5928
6069
|
this.innerValue = value;
|
|
5929
|
-
|
|
5930
|
-
this.
|
|
5931
|
-
|
|
5932
|
-
|
|
5933
|
-
|
|
5934
|
-
});
|
|
5935
|
-
}
|
|
6070
|
+
this.changed.forEach(f => {
|
|
6071
|
+
this.fngChange.emit(this.innerValue);
|
|
6072
|
+
this.change.emit(this.innerValue);
|
|
6073
|
+
return f(value);
|
|
6074
|
+
});
|
|
5936
6075
|
}
|
|
5937
6076
|
}
|
|
5938
6077
|
get value() {
|
|
@@ -5959,7 +6098,8 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5959
6098
|
sanitizingFn: undefined,
|
|
5960
6099
|
skipDefaultSanitizing: false,
|
|
5961
6100
|
skipWhitespaceHandling: false
|
|
5962
|
-
}
|
|
6101
|
+
},
|
|
6102
|
+
focusCursorToEndOnWrite: true
|
|
5963
6103
|
};
|
|
5964
6104
|
this.fngChange = new EventEmitter();
|
|
5965
6105
|
this.change = new EventEmitter();
|
|
@@ -6004,11 +6144,9 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
6004
6144
|
this.setEditorLabel();
|
|
6005
6145
|
this.addWhitespaceMatcher();
|
|
6006
6146
|
this.addImageMatcher();
|
|
6007
|
-
|
|
6008
|
-
|
|
6009
|
-
|
|
6010
|
-
this.quillEditor.getModule('history').clear();
|
|
6011
|
-
}
|
|
6147
|
+
const content = this.valueSetter(this.quillEditor, this.innerValue || '');
|
|
6148
|
+
this.quillEditor.setContents(content, 'silent');
|
|
6149
|
+
this.quillEditor.getModule('history').clear();
|
|
6012
6150
|
this.handle();
|
|
6013
6151
|
this.quillEditor.on('text-change', () => {
|
|
6014
6152
|
this.value = this.valueGetter(this.editorElem);
|
|
@@ -6028,15 +6166,17 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
6028
6166
|
this.handle();
|
|
6029
6167
|
}
|
|
6030
6168
|
writeValue(value) {
|
|
6031
|
-
|
|
6032
|
-
return;
|
|
6033
|
-
}
|
|
6169
|
+
var _a;
|
|
6034
6170
|
this.innerValue = value;
|
|
6035
6171
|
if (!this.quillEditor) {
|
|
6036
6172
|
return;
|
|
6037
6173
|
}
|
|
6038
|
-
const content = this.valueSetter(this.quillEditor, value);
|
|
6174
|
+
const content = this.valueSetter(this.quillEditor, value || '');
|
|
6039
6175
|
this.quillEditor.setContents(content);
|
|
6176
|
+
if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.focusCursorToEndOnWrite) {
|
|
6177
|
+
// when new content gets written we always set cursor focus to end of text
|
|
6178
|
+
this.quillEditor.setSelection(Number.MAX_SAFE_INTEGER, 0);
|
|
6179
|
+
}
|
|
6040
6180
|
}
|
|
6041
6181
|
setDisabledState(isDisabled = this.disabled) {
|
|
6042
6182
|
this.disabled = isDisabled;
|
|
@@ -6160,23 +6300,23 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
6160
6300
|
return value.replace(/	/gi, '###tab###');
|
|
6161
6301
|
}
|
|
6162
6302
|
}
|
|
6163
|
-
|
|
6164
|
-
|
|
6303
|
+
FngTextEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextEditorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
6304
|
+
FngTextEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngTextEditorComponent, isStandalone: true, selector: "fng-text-editor", inputs: { config: "config", modules: "modules", label: "label", readOnly: "readOnly", maxLength: "maxLength", error: "error", hint: "hint", value: "value" }, outputs: { fngChange: "fngChange", change: "change" }, providers: [
|
|
6165
6305
|
{
|
|
6166
6306
|
provide: NG_VALUE_ACCESSOR,
|
|
6167
|
-
useExisting: forwardRef(() =>
|
|
6307
|
+
useExisting: forwardRef(() => FngTextEditorComponent),
|
|
6168
6308
|
multi: true
|
|
6169
6309
|
}
|
|
6170
|
-
], viewQueries: [{ propertyName: "btnBold", first: true, predicate: ["btnBold"], descendants: true }, { propertyName: "btnItalic", first: true, predicate: ["btnItalic"], descendants: true }, { propertyName: "btnUnderline", first: true, predicate: ["btnUnderline"], descendants: true }, { propertyName: "btnAlignCenter", first: true, predicate: ["btnAlignCenter"], descendants: true }, { propertyName: "btnAlignRight", first: true, predicate: ["btnAlignRight"], descendants: true }, { propertyName: "btnLink", first: true, predicate: ["btnLink"], descendants: true }, { propertyName: "btnUl", first: true, predicate: ["btnUl"], descendants: true }, { propertyName: "btnOl", first: true, predicate: ["btnOl"], descendants: true }, { propertyName: "btnImage", first: true, predicate: ["btnImage"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"fwe-input-text\" [class.fwe-disabled]=\"disabled\">\n <div class=\"fng-editor-toolbar\" [id]=\"'editor-toolbar-' + id\">\n <span class=\"ql-formats fwe-d-none\">\n <select class=\"ql-size\" aria-hidden=\"true\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats fng-editor-toolbar-buttons-container fwe-mr-3\">\n <ng-container *ngIf=\"config?.toolbar?.bold\">\n <button type=\"button\" #btnBold class=\"ql-bold fwe-d-none action-bold\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline || config.toolbar?.italic\"\n (click)=\"delegate($event, 'bold')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-bold\">B</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.italic\">\n <button type=\"button\" #btnItalic class=\"ql-italic fwe-d-none action-italic\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline\"\n (click)=\"delegate($event, 'italic')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-italic\">I</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.underline\">\n <button type=\"button\" #btnUnderline class=\"ql-underline fwe-d-none action-underline\" aria-hidden=\"true\"></button>\n <button type=\"button\" class=\"fwe-btn fng-button\" (click)=\"delegate($event, 'underline')\" [disabled]=\"disabled\">\n <div class=\"fng-button-text fng-text-underline\">U</div>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('typo')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.alignCenter\">\n <button type=\"button\" #btnAlignCenter class=\"ql-align fwe-d-none action-align-center\" aria-hidden=\"true\" value=\"center\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.alignRight\"\n (click)=\"delegate($event, 'align-center')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"config?.toolbar?.alignRight\">\n <button type=\"button\" #btnAlignRight class=\"ql-align fwe-d-none action-align-right\" aria-hidden=\"true\" value=\"right\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n (click)=\"delegate($event, 'align-right')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('text-align')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.bulletList\">\n <button type=\"button\" #btnUl class=\"ql-list fwe-d-none action-ul\" aria-hidden=\"true\" value=\"bullet\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.orderedList\"\n (click)=\"delegate($event, 'ul')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-pr-0\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.orderedList\">\n <button type=\"button\" #btnOl class=\"ql-list fwe-d-none action-ol\" aria-hidden=\"true\" value=\"ordered\"></button>\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'ol')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-pr-0\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('lists')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.image\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'image')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnImage class=\"ql-image fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('image')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.link\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'link')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnLink class=\"ql-link fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n </span>\n </div>\n <div class=\"fng-editor-container\" [id]=\"'editor-container-' + id\">\n <div class=\"fng-editor\" [id]=\"'editor-' + id\"></div>\n </div>\n <span class=\"fwe-input-text-label\" [id]=\"'editor-label-' + id\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fng-text-editor-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fng-text-editor-invalid\">{{ error }}</span>\n <span *ngIf=\"maxLength > 0 && value != null\" class=\"fwe-input-text-count\">{{ currentLength() }} / {{ maxLength }}</span>\n</label>\n", styles: ["@charset \"UTF-8\";/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}fng-text-editor .fng-divider-y{display:inline-flex;flex:0 0 1px;height:24px;width:1px;background-color:var(--fwe-gray-400)}fng-text-editor .fng-editor{min-height:100%}fng-text-editor .fng-editor-container{order:2;height:160px;min-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100);padding-top:4px;padding-bottom:4px;padding-left:8px;border:var(--fwe-control-border) solid 1px}fng-text-editor .fng-editor-container::-webkit-scrollbar{width:12px}fng-text-editor .fng-editor-container::-webkit-scrollbar-track{background:transparent}fng-text-editor .fng-editor-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:6px}fng-text-editor .fng-editor-container:hover{border-color:var(--fwe-hero)}fng-text-editor .fng-editor-container[contenteditable=true]{outline:none}fng-text-editor .fng-editor-container[contenteditable=true]:focus{border-color:var(--fwe-hero)}fng-text-editor label.fwe-input-text{line-height:24px}fng-text-editor label.fwe-input-text .fwe-input-text-count{display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;z-index:1;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text .fwe-input-text-label{order:-1}fng-text-editor label.fwe-input-text .fng-text-editor-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;left:0;top:unset;bottom:0;z-index:2;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text.fwe-disabled{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fwe-input-text-label{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container:hover{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-divider-y{background-color:var(--fwe-text-disabled)}fng-text-editor .fng-text-editor-invalid{display:none;line-height:1.5;position:absolute;left:0;bottom:0;z-index:2;color:var(--fwe-red);font-size:var(--fwe-font-size-small)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor{box-shadow:none;outline:none}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info:after{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor-container{border-color:var(--fwe-red)}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-info{display:none!important}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-invalid{display:block!important}fng-text-editor .fng-text-bold{font-weight:var(--fwe-font-weight-bold)}fng-text-editor .fng-text-italic{font-style:italic}fng-text-editor .fng-text-underline{text-decoration:underline}fng-text-editor .fng-icon-text-align-center{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-center.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .ql-tooltip{z-index:var(--fwe-z-index-tooltip)}fng-text-editor .ql-editor{font-family:var(--fwe-font-family-sans-serif);font-size:var(--fwe-font-size-base);padding:0;min-height:72px;overflow-x:hidden}fng-text-editor .ql-editor p::selection,fng-text-editor .ql-editor strong::selection,fng-text-editor .ql-editor em::selection,fng-text-editor .ql-editor u::selection,fng-text-editor .ql-editor ul::selection,fng-text-editor .ql-editor ol::selection,fng-text-editor .ql-editor li::selection,fng-text-editor .ql-editor a::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow{border:0;background-color:var(--fwe-white)}fng-text-editor .ql-container.ql-snow .ql-tooltip{transform:translate(160px,12px);color:var(--fwe-black);box-shadow:-1px 1px 4px -1px #3333;border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input{border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow a{color:var(--fwe-caerul)}fng-text-editor .ql-toolbar.ql-snow{border:0;padding:4px 0}fng-text-editor .ql-toolbar.ql-snow .ql-formats.fng-editor-toolbar-buttons-container{display:flex;align-items:center;flex-wrap:wrap}fng-text-editor .ql-toolbar.ql-snow button{line-height:normal;box-sizing:border-box;display:inline-flex;text-align:center;padding:0 8px;height:32px;min-height:unset;color:var(--fwe-black);background:none;border-radius:4px;cursor:pointer;border:none;width:unset;max-width:24px;justify-content:center;align-items:center;float:unset}@media (hover: hover) and (pointer: fine){fng-text-editor .ql-toolbar.ql-snow button:hover{background-color:var(--fwe-control-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}fng-text-editor .ql-toolbar.ql-snow button.ql-active+button{background-color:var(--fwe-control)}fng-text-editor .ql-toolbar.ql-snow button.fng-btn-toolbar-list{padding:0 6px}fng-text-editor .ql-toolbar.ql-snow button.fng-button i{pointer-events:none}fng-text-editor .ql-toolbar.ql-snow button.fng-button div{pointer-events:none}fng-text-editor .ql-toolbar .fng-button-text{min-width:12px;line-height:16px}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar{pointer-events:none}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar button{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "ngmodule", type: ObserversModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
6171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
6310
|
+
], viewQueries: [{ propertyName: "btnBold", first: true, predicate: ["btnBold"], descendants: true }, { propertyName: "btnItalic", first: true, predicate: ["btnItalic"], descendants: true }, { propertyName: "btnUnderline", first: true, predicate: ["btnUnderline"], descendants: true }, { propertyName: "btnAlignCenter", first: true, predicate: ["btnAlignCenter"], descendants: true }, { propertyName: "btnAlignRight", first: true, predicate: ["btnAlignRight"], descendants: true }, { propertyName: "btnLink", first: true, predicate: ["btnLink"], descendants: true }, { propertyName: "btnUl", first: true, predicate: ["btnUl"], descendants: true }, { propertyName: "btnOl", first: true, predicate: ["btnOl"], descendants: true }, { propertyName: "btnImage", first: true, predicate: ["btnImage"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"fwe-input-text\" [class.fwe-disabled]=\"disabled\">\n <div class=\"fng-editor-toolbar\" [id]=\"'editor-toolbar-' + id\">\n <span class=\"ql-formats fwe-d-none\">\n <select class=\"ql-size\" aria-hidden=\"true\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats fng-editor-toolbar-buttons-container fwe-mr-3\">\n <ng-container *ngIf=\"config?.toolbar?.bold\">\n <button type=\"button\" #btnBold class=\"ql-bold fwe-d-none action-bold\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline || config.toolbar?.italic\"\n (click)=\"delegate($event, 'bold')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-bold\">B</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.italic\">\n <button type=\"button\" #btnItalic class=\"ql-italic fwe-d-none action-italic\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline\"\n (click)=\"delegate($event, 'italic')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-italic\">I</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.underline\">\n <button type=\"button\" #btnUnderline class=\"ql-underline fwe-d-none action-underline\" aria-hidden=\"true\"></button>\n <button type=\"button\" class=\"fwe-btn fng-button\" (click)=\"delegate($event, 'underline')\" [disabled]=\"disabled\">\n <div class=\"fng-button-text fng-text-underline\">U</div>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('typo')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.alignCenter\">\n <button type=\"button\" #btnAlignCenter class=\"ql-align fwe-d-none action-align-center\" aria-hidden=\"true\" value=\"center\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.alignRight\"\n (click)=\"delegate($event, 'align-center')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"config?.toolbar?.alignRight\">\n <button type=\"button\" #btnAlignRight class=\"ql-align fwe-d-none action-align-right\" aria-hidden=\"true\" value=\"right\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n (click)=\"delegate($event, 'align-right')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('text-align')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.bulletList\">\n <button type=\"button\" #btnUl class=\"ql-list fwe-d-none action-ul\" aria-hidden=\"true\" value=\"bullet\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.orderedList\"\n (click)=\"delegate($event, 'ul')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-pr-0\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.orderedList\">\n <button type=\"button\" #btnOl class=\"ql-list fwe-d-none action-ol\" aria-hidden=\"true\" value=\"ordered\"></button>\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'ol')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-pr-0\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('lists')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.image\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'image')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnImage class=\"ql-image fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('image')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.link\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'link')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnLink class=\"ql-link fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n </span>\n </div>\n <div class=\"fng-editor-container\" [id]=\"'editor-container-' + id\">\n <div class=\"fng-editor\" [id]=\"'editor-' + id\"></div>\n </div>\n <span class=\"fwe-input-text-label\" [id]=\"'editor-label-' + id\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fng-text-editor-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fng-text-editor-invalid\">{{ error }}</span>\n <span *ngIf=\"maxLength > 0 && value != null\" class=\"fwe-input-text-count\">{{ currentLength() }} / {{ maxLength }}</span>\n</label>\n", styles: ["@charset \"UTF-8\";/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}fng-text-editor .fng-divider-y{display:inline-flex;flex:0 0 1px;height:24px;width:1px;background-color:var(--fwe-gray-400)}fng-text-editor .fng-editor{min-height:100%}fng-text-editor .fng-editor-container{order:2;height:160px;min-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100);padding-top:4px;padding-bottom:4px;padding-left:8px;border:var(--fwe-control-border) solid 1px}@media (pointer: fine){fng-text-editor .fng-editor-container::-webkit-scrollbar{width:14px}fng-text-editor .fng-editor-container::-webkit-scrollbar-track{background:transparent}fng-text-editor .fng-editor-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}fng-text-editor .fng-editor-container:hover{border-color:var(--fwe-hero)}fng-text-editor .fng-editor-container[contenteditable=true]{outline:none}fng-text-editor .fng-editor-container[contenteditable=true]:focus{border-color:var(--fwe-hero)}fng-text-editor label.fwe-input-text{line-height:24px}fng-text-editor label.fwe-input-text .fwe-input-text-count{display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;z-index:1;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text .fwe-input-text-label{order:-1}fng-text-editor label.fwe-input-text .fng-text-editor-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;left:0;top:unset;bottom:0;z-index:2;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text.fwe-disabled{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fwe-input-text-label{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container:hover{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-divider-y{background-color:var(--fwe-text-disabled)}fng-text-editor .fng-text-editor-invalid{display:none;line-height:1.5;position:absolute;left:0;bottom:0;z-index:2;color:var(--fwe-red);font-size:var(--fwe-font-size-small)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor{box-shadow:none;outline:none}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info:after{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor-container{border-color:var(--fwe-red)}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-info{display:none!important}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-invalid{display:block!important}fng-text-editor .fng-text-bold{font-weight:var(--fwe-font-weight-bold)}fng-text-editor .fng-text-italic{font-style:italic}fng-text-editor .fng-text-underline{text-decoration:underline}fng-text-editor .fng-icon-text-align-center{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-center.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .ql-tooltip{z-index:var(--fwe-z-index-tooltip)}fng-text-editor .ql-editor{font-family:var(--fwe-font-family-sans-serif);font-size:var(--fwe-font-size-base);padding:0;min-height:72px;overflow-x:hidden}fng-text-editor .ql-editor p::selection,fng-text-editor .ql-editor strong::selection,fng-text-editor .ql-editor em::selection,fng-text-editor .ql-editor u::selection,fng-text-editor .ql-editor ul::selection,fng-text-editor .ql-editor ol::selection,fng-text-editor .ql-editor li::selection,fng-text-editor .ql-editor a::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow{border:0;background-color:var(--fwe-white)}fng-text-editor .ql-container.ql-snow .ql-tooltip{transform:translate(160px,12px);color:var(--fwe-black);box-shadow:-1px 1px 4px -1px #3333;border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input{border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow a{color:var(--fwe-caerul)}fng-text-editor .ql-toolbar.ql-snow{border:0;padding:4px 0}fng-text-editor .ql-toolbar.ql-snow .ql-formats.fng-editor-toolbar-buttons-container{display:flex;align-items:center;flex-wrap:wrap}fng-text-editor .ql-toolbar.ql-snow button{line-height:normal;box-sizing:border-box;display:inline-flex;text-align:center;padding:0 8px;height:32px;min-height:unset;color:var(--fwe-black);background:none;border-radius:4px;cursor:pointer;border:none;width:unset;max-width:24px;justify-content:center;align-items:center;float:unset}@media (hover: hover) and (pointer: fine){fng-text-editor .ql-toolbar.ql-snow button:hover{background-color:var(--fwe-control-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}fng-text-editor .ql-toolbar.ql-snow button.ql-active+button{background-color:var(--fwe-control)}fng-text-editor .ql-toolbar.ql-snow button.fng-btn-toolbar-list{padding:0 6px}fng-text-editor .ql-toolbar.ql-snow button.fng-button i{pointer-events:none}fng-text-editor .ql-toolbar.ql-snow button.fng-button div{pointer-events:none}fng-text-editor .ql-toolbar .fng-button-text{min-width:12px;line-height:16px}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar{pointer-events:none}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar button{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "ngmodule", type: ObserversModule }], encapsulation: i0.ViewEncapsulation.None });
|
|
6311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextEditorComponent, decorators: [{
|
|
6172
6312
|
type: Component,
|
|
6173
6313
|
args: [{ standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule], selector: 'fng-text-editor', encapsulation: ViewEncapsulation.None, providers: [
|
|
6174
6314
|
{
|
|
6175
6315
|
provide: NG_VALUE_ACCESSOR,
|
|
6176
|
-
useExisting: forwardRef(() =>
|
|
6316
|
+
useExisting: forwardRef(() => FngTextEditorComponent),
|
|
6177
6317
|
multi: true
|
|
6178
6318
|
}
|
|
6179
|
-
], template: "<label class=\"fwe-input-text\" [class.fwe-disabled]=\"disabled\">\n <div class=\"fng-editor-toolbar\" [id]=\"'editor-toolbar-' + id\">\n <span class=\"ql-formats fwe-d-none\">\n <select class=\"ql-size\" aria-hidden=\"true\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats fng-editor-toolbar-buttons-container fwe-mr-3\">\n <ng-container *ngIf=\"config?.toolbar?.bold\">\n <button type=\"button\" #btnBold class=\"ql-bold fwe-d-none action-bold\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline || config.toolbar?.italic\"\n (click)=\"delegate($event, 'bold')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-bold\">B</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.italic\">\n <button type=\"button\" #btnItalic class=\"ql-italic fwe-d-none action-italic\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline\"\n (click)=\"delegate($event, 'italic')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-italic\">I</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.underline\">\n <button type=\"button\" #btnUnderline class=\"ql-underline fwe-d-none action-underline\" aria-hidden=\"true\"></button>\n <button type=\"button\" class=\"fwe-btn fng-button\" (click)=\"delegate($event, 'underline')\" [disabled]=\"disabled\">\n <div class=\"fng-button-text fng-text-underline\">U</div>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('typo')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.alignCenter\">\n <button type=\"button\" #btnAlignCenter class=\"ql-align fwe-d-none action-align-center\" aria-hidden=\"true\" value=\"center\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.alignRight\"\n (click)=\"delegate($event, 'align-center')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"config?.toolbar?.alignRight\">\n <button type=\"button\" #btnAlignRight class=\"ql-align fwe-d-none action-align-right\" aria-hidden=\"true\" value=\"right\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n (click)=\"delegate($event, 'align-right')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('text-align')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.bulletList\">\n <button type=\"button\" #btnUl class=\"ql-list fwe-d-none action-ul\" aria-hidden=\"true\" value=\"bullet\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.orderedList\"\n (click)=\"delegate($event, 'ul')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-pr-0\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.orderedList\">\n <button type=\"button\" #btnOl class=\"ql-list fwe-d-none action-ol\" aria-hidden=\"true\" value=\"ordered\"></button>\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'ol')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-pr-0\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('lists')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.image\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'image')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnImage class=\"ql-image fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('image')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.link\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'link')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnLink class=\"ql-link fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n </span>\n </div>\n <div class=\"fng-editor-container\" [id]=\"'editor-container-' + id\">\n <div class=\"fng-editor\" [id]=\"'editor-' + id\"></div>\n </div>\n <span class=\"fwe-input-text-label\" [id]=\"'editor-label-' + id\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fng-text-editor-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fng-text-editor-invalid\">{{ error }}</span>\n <span *ngIf=\"maxLength > 0 && value != null\" class=\"fwe-input-text-count\">{{ currentLength() }} / {{ maxLength }}</span>\n</label>\n", styles: ["@charset \"UTF-8\";/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}fng-text-editor .fng-divider-y{display:inline-flex;flex:0 0 1px;height:24px;width:1px;background-color:var(--fwe-gray-400)}fng-text-editor .fng-editor{min-height:100%}fng-text-editor .fng-editor-container{order:2;height:160px;min-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100);padding-top:4px;padding-bottom:4px;padding-left:8px;border:var(--fwe-control-border) solid 1px}fng-text-editor .fng-editor-container::-webkit-scrollbar{width:12px}fng-text-editor .fng-editor-container::-webkit-scrollbar-track{background:transparent}fng-text-editor .fng-editor-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:6px}fng-text-editor .fng-editor-container:hover{border-color:var(--fwe-hero)}fng-text-editor .fng-editor-container[contenteditable=true]{outline:none}fng-text-editor .fng-editor-container[contenteditable=true]:focus{border-color:var(--fwe-hero)}fng-text-editor label.fwe-input-text{line-height:24px}fng-text-editor label.fwe-input-text .fwe-input-text-count{display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;z-index:1;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text .fwe-input-text-label{order:-1}fng-text-editor label.fwe-input-text .fng-text-editor-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;left:0;top:unset;bottom:0;z-index:2;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text.fwe-disabled{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fwe-input-text-label{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container:hover{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-divider-y{background-color:var(--fwe-text-disabled)}fng-text-editor .fng-text-editor-invalid{display:none;line-height:1.5;position:absolute;left:0;bottom:0;z-index:2;color:var(--fwe-red);font-size:var(--fwe-font-size-small)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor{box-shadow:none;outline:none}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info:after{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor-container{border-color:var(--fwe-red)}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-info{display:none!important}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-invalid{display:block!important}fng-text-editor .fng-text-bold{font-weight:var(--fwe-font-weight-bold)}fng-text-editor .fng-text-italic{font-style:italic}fng-text-editor .fng-text-underline{text-decoration:underline}fng-text-editor .fng-icon-text-align-center{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-center.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .ql-tooltip{z-index:var(--fwe-z-index-tooltip)}fng-text-editor .ql-editor{font-family:var(--fwe-font-family-sans-serif);font-size:var(--fwe-font-size-base);padding:0;min-height:72px;overflow-x:hidden}fng-text-editor .ql-editor p::selection,fng-text-editor .ql-editor strong::selection,fng-text-editor .ql-editor em::selection,fng-text-editor .ql-editor u::selection,fng-text-editor .ql-editor ul::selection,fng-text-editor .ql-editor ol::selection,fng-text-editor .ql-editor li::selection,fng-text-editor .ql-editor a::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow{border:0;background-color:var(--fwe-white)}fng-text-editor .ql-container.ql-snow .ql-tooltip{transform:translate(160px,12px);color:var(--fwe-black);box-shadow:-1px 1px 4px -1px #3333;border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input{border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow a{color:var(--fwe-caerul)}fng-text-editor .ql-toolbar.ql-snow{border:0;padding:4px 0}fng-text-editor .ql-toolbar.ql-snow .ql-formats.fng-editor-toolbar-buttons-container{display:flex;align-items:center;flex-wrap:wrap}fng-text-editor .ql-toolbar.ql-snow button{line-height:normal;box-sizing:border-box;display:inline-flex;text-align:center;padding:0 8px;height:32px;min-height:unset;color:var(--fwe-black);background:none;border-radius:4px;cursor:pointer;border:none;width:unset;max-width:24px;justify-content:center;align-items:center;float:unset}@media (hover: hover) and (pointer: fine){fng-text-editor .ql-toolbar.ql-snow button:hover{background-color:var(--fwe-control-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}fng-text-editor .ql-toolbar.ql-snow button.ql-active+button{background-color:var(--fwe-control)}fng-text-editor .ql-toolbar.ql-snow button.fng-btn-toolbar-list{padding:0 6px}fng-text-editor .ql-toolbar.ql-snow button.fng-button i{pointer-events:none}fng-text-editor .ql-toolbar.ql-snow button.fng-button div{pointer-events:none}fng-text-editor .ql-toolbar .fng-button-text{min-width:12px;line-height:16px}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar{pointer-events:none}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar button{color:var(--fwe-text-disabled)}\n"] }]
|
|
6319
|
+
], template: "<label class=\"fwe-input-text\" [class.fwe-disabled]=\"disabled\">\n <div class=\"fng-editor-toolbar\" [id]=\"'editor-toolbar-' + id\">\n <span class=\"ql-formats fwe-d-none\">\n <select class=\"ql-size\" aria-hidden=\"true\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats fng-editor-toolbar-buttons-container fwe-mr-3\">\n <ng-container *ngIf=\"config?.toolbar?.bold\">\n <button type=\"button\" #btnBold class=\"ql-bold fwe-d-none action-bold\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline || config.toolbar?.italic\"\n (click)=\"delegate($event, 'bold')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-bold\">B</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.italic\">\n <button type=\"button\" #btnItalic class=\"ql-italic fwe-d-none action-italic\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline\"\n (click)=\"delegate($event, 'italic')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-italic\">I</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.underline\">\n <button type=\"button\" #btnUnderline class=\"ql-underline fwe-d-none action-underline\" aria-hidden=\"true\"></button>\n <button type=\"button\" class=\"fwe-btn fng-button\" (click)=\"delegate($event, 'underline')\" [disabled]=\"disabled\">\n <div class=\"fng-button-text fng-text-underline\">U</div>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('typo')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.alignCenter\">\n <button type=\"button\" #btnAlignCenter class=\"ql-align fwe-d-none action-align-center\" aria-hidden=\"true\" value=\"center\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.alignRight\"\n (click)=\"delegate($event, 'align-center')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"config?.toolbar?.alignRight\">\n <button type=\"button\" #btnAlignRight class=\"ql-align fwe-d-none action-align-right\" aria-hidden=\"true\" value=\"right\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n (click)=\"delegate($event, 'align-right')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-pr-0\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('text-align')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.bulletList\">\n <button type=\"button\" #btnUl class=\"ql-list fwe-d-none action-ul\" aria-hidden=\"true\" value=\"bullet\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.orderedList\"\n (click)=\"delegate($event, 'ul')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-pr-0\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.orderedList\">\n <button type=\"button\" #btnOl class=\"ql-list fwe-d-none action-ol\" aria-hidden=\"true\" value=\"ordered\"></button>\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'ol')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-pr-0\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('lists')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.image\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'image')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnImage class=\"ql-image fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('image')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.link\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'link')\" [disabled]=\"disabled\">\n <i class=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-pr-0\"></i>\n </button>\n <button type=\"button\" #btnLink class=\"ql-link fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n </span>\n </div>\n <div class=\"fng-editor-container\" [id]=\"'editor-container-' + id\">\n <div class=\"fng-editor\" [id]=\"'editor-' + id\"></div>\n </div>\n <span class=\"fwe-input-text-label\" [id]=\"'editor-label-' + id\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fng-text-editor-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fng-text-editor-invalid\">{{ error }}</span>\n <span *ngIf=\"maxLength > 0 && value != null\" class=\"fwe-input-text-count\">{{ currentLength() }} / {{ maxLength }}</span>\n</label>\n", styles: ["@charset \"UTF-8\";/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}fng-text-editor .fng-divider-y{display:inline-flex;flex:0 0 1px;height:24px;width:1px;background-color:var(--fwe-gray-400)}fng-text-editor .fng-editor{min-height:100%}fng-text-editor .fng-editor-container{order:2;height:160px;min-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) var(--fwe-gray-100);padding-top:4px;padding-bottom:4px;padding-left:8px;border:var(--fwe-control-border) solid 1px}@media (pointer: fine){fng-text-editor .fng-editor-container::-webkit-scrollbar{width:14px}fng-text-editor .fng-editor-container::-webkit-scrollbar-track{background:transparent}fng-text-editor .fng-editor-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}fng-text-editor .fng-editor-container:hover{border-color:var(--fwe-hero)}fng-text-editor .fng-editor-container[contenteditable=true]{outline:none}fng-text-editor .fng-editor-container[contenteditable=true]:focus{border-color:var(--fwe-hero)}fng-text-editor label.fwe-input-text{line-height:24px}fng-text-editor label.fwe-input-text .fwe-input-text-count{display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;z-index:1;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text .fwe-input-text-label{order:-1}fng-text-editor label.fwe-input-text .fng-text-editor-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;left:0;top:unset;bottom:0;z-index:2;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text.fwe-disabled{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fwe-input-text-label{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container:hover{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-divider-y{background-color:var(--fwe-text-disabled)}fng-text-editor .fng-text-editor-invalid{display:none;line-height:1.5;position:absolute;left:0;bottom:0;z-index:2;color:var(--fwe-red);font-size:var(--fwe-font-size-small)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor{box-shadow:none;outline:none}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info:after{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor-container{border-color:var(--fwe-red)}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-info{display:none!important}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-invalid{display:block!important}fng-text-editor .fng-text-bold{font-weight:var(--fwe-font-weight-bold)}fng-text-editor .fng-text-italic{font-style:italic}fng-text-editor .fng-text-underline{text-decoration:underline}fng-text-editor .fng-icon-text-align-center{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-center.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-text-align-right.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .ql-tooltip{z-index:var(--fwe-z-index-tooltip)}fng-text-editor .ql-editor{font-family:var(--fwe-font-family-sans-serif);font-size:var(--fwe-font-size-base);padding:0;min-height:72px;overflow-x:hidden}fng-text-editor .ql-editor p::selection,fng-text-editor .ql-editor strong::selection,fng-text-editor .ql-editor em::selection,fng-text-editor .ql-editor u::selection,fng-text-editor .ql-editor ul::selection,fng-text-editor .ql-editor ol::selection,fng-text-editor .ql-editor li::selection,fng-text-editor .ql-editor a::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow{border:0;background-color:var(--fwe-white)}fng-text-editor .ql-container.ql-snow .ql-tooltip{transform:translate(160px,12px);color:var(--fwe-black);box-shadow:-1px 1px 4px -1px #3333;border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input{border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input::selection{background:var(--fwe-icon-hero-light)}fng-text-editor .ql-container.ql-snow a{color:var(--fwe-caerul)}fng-text-editor .ql-toolbar.ql-snow{border:0;padding:4px 0}fng-text-editor .ql-toolbar.ql-snow .ql-formats.fng-editor-toolbar-buttons-container{display:flex;align-items:center;flex-wrap:wrap}fng-text-editor .ql-toolbar.ql-snow button{line-height:normal;box-sizing:border-box;display:inline-flex;text-align:center;padding:0 8px;height:32px;min-height:unset;color:var(--fwe-black);background:none;border-radius:4px;cursor:pointer;border:none;width:unset;max-width:24px;justify-content:center;align-items:center;float:unset}@media (hover: hover) and (pointer: fine){fng-text-editor .ql-toolbar.ql-snow button:hover{background-color:var(--fwe-control-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}fng-text-editor .ql-toolbar.ql-snow button.ql-active+button{background-color:var(--fwe-control)}fng-text-editor .ql-toolbar.ql-snow button.fng-btn-toolbar-list{padding:0 6px}fng-text-editor .ql-toolbar.ql-snow button.fng-button i{pointer-events:none}fng-text-editor .ql-toolbar.ql-snow button.fng-button div{pointer-events:none}fng-text-editor .ql-toolbar .fng-button-text{min-width:12px;line-height:16px}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar{pointer-events:none}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar button{color:var(--fwe-text-disabled)}\n"] }]
|
|
6180
6320
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$2.DomSanitizer }]; }, propDecorators: { btnBold: [{
|
|
6181
6321
|
type: ViewChild,
|
|
6182
6322
|
args: ['btnBold']
|
|
@@ -6231,72 +6371,62 @@ class FestoAngularFormsModule {
|
|
|
6231
6371
|
FestoAngularFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6232
6372
|
FestoAngularFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, imports: [ReactiveFormsModule,
|
|
6233
6373
|
FormsModule,
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
SelectComponent,
|
|
6253
|
-
SliderComponent,
|
|
6254
|
-
SwitchComponent,
|
|
6255
|
-
TextAreaComponent,
|
|
6256
|
-
TextEditorComponent], exports: [CheckboxComponent,
|
|
6257
|
-
ReactiveFormsModule,
|
|
6374
|
+
FngCheckboxComponent,
|
|
6375
|
+
FngColorIndicatorComponent,
|
|
6376
|
+
FngColorPickerComponent,
|
|
6377
|
+
FngTextInputComponent,
|
|
6378
|
+
FngTimePickerDropdownComponent,
|
|
6379
|
+
FngTimePickerComponent,
|
|
6380
|
+
FngDatePickerComponent,
|
|
6381
|
+
FngDateRangePickerComponent,
|
|
6382
|
+
FngRadioGroupDirective,
|
|
6383
|
+
FngRadioComponent,
|
|
6384
|
+
FngSegmentComponent,
|
|
6385
|
+
FngSegmentControlComponent,
|
|
6386
|
+
FngSelectOptionComponent,
|
|
6387
|
+
FngSelectComponent,
|
|
6388
|
+
FngSliderComponent,
|
|
6389
|
+
FngSwitchComponent,
|
|
6390
|
+
FngTextAreaComponent,
|
|
6391
|
+
FngTextEditorComponent], exports: [ReactiveFormsModule,
|
|
6258
6392
|
FormsModule,
|
|
6259
|
-
|
|
6260
|
-
|
|
6261
|
-
|
|
6262
|
-
|
|
6263
|
-
|
|
6264
|
-
|
|
6265
|
-
|
|
6266
|
-
|
|
6267
|
-
|
|
6268
|
-
|
|
6269
|
-
|
|
6270
|
-
|
|
6271
|
-
|
|
6272
|
-
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
|
|
6393
|
+
FngCheckboxComponent,
|
|
6394
|
+
FngColorIndicatorComponent,
|
|
6395
|
+
FngColorPickerComponent,
|
|
6396
|
+
FngTextInputComponent,
|
|
6397
|
+
FngTimePickerDropdownComponent,
|
|
6398
|
+
FngTimePickerComponent,
|
|
6399
|
+
FngDatePickerComponent,
|
|
6400
|
+
FngDateRangePickerComponent,
|
|
6401
|
+
FngRadioGroupDirective,
|
|
6402
|
+
FngRadioComponent,
|
|
6403
|
+
FngSegmentComponent,
|
|
6404
|
+
FngSegmentControlComponent,
|
|
6405
|
+
FngSelectOptionComponent,
|
|
6406
|
+
FngSelectComponent,
|
|
6407
|
+
FngSliderComponent,
|
|
6408
|
+
FngSwitchComponent,
|
|
6409
|
+
FngTextAreaComponent,
|
|
6410
|
+
FngTextEditorComponent] });
|
|
6276
6411
|
FestoAngularFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, imports: [ReactiveFormsModule,
|
|
6277
6412
|
FormsModule,
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
|
|
6282
|
-
|
|
6283
|
-
|
|
6284
|
-
|
|
6285
|
-
|
|
6286
|
-
|
|
6287
|
-
|
|
6288
|
-
|
|
6289
|
-
|
|
6290
|
-
|
|
6291
|
-
|
|
6292
|
-
|
|
6293
|
-
|
|
6294
|
-
|
|
6295
|
-
SelectComponent,
|
|
6296
|
-
SliderComponent,
|
|
6297
|
-
SwitchComponent,
|
|
6298
|
-
TextAreaComponent,
|
|
6299
|
-
TextEditorComponent, ReactiveFormsModule,
|
|
6413
|
+
FngCheckboxComponent,
|
|
6414
|
+
FngColorIndicatorComponent,
|
|
6415
|
+
FngColorPickerComponent,
|
|
6416
|
+
FngTextInputComponent,
|
|
6417
|
+
FngTimePickerDropdownComponent,
|
|
6418
|
+
FngTimePickerComponent,
|
|
6419
|
+
FngDatePickerComponent,
|
|
6420
|
+
FngDateRangePickerComponent,
|
|
6421
|
+
FngRadioComponent,
|
|
6422
|
+
FngSegmentComponent,
|
|
6423
|
+
FngSegmentControlComponent,
|
|
6424
|
+
FngSelectOptionComponent,
|
|
6425
|
+
FngSelectComponent,
|
|
6426
|
+
FngSliderComponent,
|
|
6427
|
+
FngSwitchComponent,
|
|
6428
|
+
FngTextAreaComponent,
|
|
6429
|
+
FngTextEditorComponent, ReactiveFormsModule,
|
|
6300
6430
|
FormsModule] });
|
|
6301
6431
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, decorators: [{
|
|
6302
6432
|
type: NgModule,
|
|
@@ -6304,93 +6434,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
6304
6434
|
imports: [
|
|
6305
6435
|
ReactiveFormsModule,
|
|
6306
6436
|
FormsModule,
|
|
6307
|
-
|
|
6308
|
-
|
|
6309
|
-
|
|
6310
|
-
|
|
6311
|
-
|
|
6312
|
-
|
|
6313
|
-
|
|
6314
|
-
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
|
|
6325
|
-
SelectComponent,
|
|
6326
|
-
SliderComponent,
|
|
6327
|
-
SwitchComponent,
|
|
6328
|
-
TextAreaComponent,
|
|
6329
|
-
TextEditorComponent
|
|
6437
|
+
FngCheckboxComponent,
|
|
6438
|
+
FngColorIndicatorComponent,
|
|
6439
|
+
FngColorPickerComponent,
|
|
6440
|
+
FngTextInputComponent,
|
|
6441
|
+
FngTimePickerDropdownComponent,
|
|
6442
|
+
FngTimePickerComponent,
|
|
6443
|
+
FngDatePickerComponent,
|
|
6444
|
+
FngDateRangePickerComponent,
|
|
6445
|
+
FngRadioGroupDirective,
|
|
6446
|
+
FngRadioComponent,
|
|
6447
|
+
FngSegmentComponent,
|
|
6448
|
+
FngSegmentControlComponent,
|
|
6449
|
+
FngSelectOptionComponent,
|
|
6450
|
+
FngSelectComponent,
|
|
6451
|
+
FngSliderComponent,
|
|
6452
|
+
FngSwitchComponent,
|
|
6453
|
+
FngTextAreaComponent,
|
|
6454
|
+
FngTextEditorComponent
|
|
6330
6455
|
],
|
|
6331
6456
|
exports: [
|
|
6332
|
-
CheckboxComponent,
|
|
6333
6457
|
ReactiveFormsModule,
|
|
6334
6458
|
FormsModule,
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
|
|
6351
|
-
|
|
6459
|
+
FngCheckboxComponent,
|
|
6460
|
+
FngColorIndicatorComponent,
|
|
6461
|
+
FngColorPickerComponent,
|
|
6462
|
+
FngTextInputComponent,
|
|
6463
|
+
FngTimePickerDropdownComponent,
|
|
6464
|
+
FngTimePickerComponent,
|
|
6465
|
+
FngDatePickerComponent,
|
|
6466
|
+
FngDateRangePickerComponent,
|
|
6467
|
+
FngRadioGroupDirective,
|
|
6468
|
+
FngRadioComponent,
|
|
6469
|
+
FngSegmentComponent,
|
|
6470
|
+
FngSegmentControlComponent,
|
|
6471
|
+
FngSelectOptionComponent,
|
|
6472
|
+
FngSelectComponent,
|
|
6473
|
+
FngSliderComponent,
|
|
6474
|
+
FngSwitchComponent,
|
|
6475
|
+
FngTextAreaComponent,
|
|
6476
|
+
FngTextEditorComponent
|
|
6352
6477
|
]
|
|
6353
6478
|
}]
|
|
6354
6479
|
}] });
|
|
6355
6480
|
|
|
6356
|
-
class ClickOutsideDirective {
|
|
6357
|
-
constructor(elRef) {
|
|
6358
|
-
this.elRef = elRef;
|
|
6359
|
-
this.clickOutside = new EventEmitter();
|
|
6360
|
-
}
|
|
6361
|
-
onClick(targetElement) {
|
|
6362
|
-
const inside = this.elRef.nativeElement.contains(targetElement);
|
|
6363
|
-
if (!inside) {
|
|
6364
|
-
this.clickOutside.emit(null);
|
|
6365
|
-
}
|
|
6366
|
-
}
|
|
6367
|
-
}
|
|
6368
|
-
ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6369
|
-
ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ClickOutsideDirective, isStandalone: true, selector: "[fngClickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0 });
|
|
6370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
6371
|
-
type: Directive,
|
|
6372
|
-
args: [{
|
|
6373
|
-
standalone: true,
|
|
6374
|
-
selector: '[fngClickOutside]'
|
|
6375
|
-
}]
|
|
6376
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
|
|
6377
|
-
type: Output
|
|
6378
|
-
}], onClick: [{
|
|
6379
|
-
type: HostListener,
|
|
6380
|
-
args: ['document:click', ['$event.target']]
|
|
6381
|
-
}] } });
|
|
6382
|
-
|
|
6383
6481
|
class FestoAngularModule {
|
|
6384
6482
|
}
|
|
6385
6483
|
FestoAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6386
|
-
FestoAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, imports: [
|
|
6484
|
+
FestoAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, imports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule], exports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule] });
|
|
6387
6485
|
FestoAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, imports: [FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule] });
|
|
6388
6486
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, decorators: [{
|
|
6389
6487
|
type: NgModule,
|
|
6390
6488
|
args: [{
|
|
6391
6489
|
declarations: [],
|
|
6392
|
-
imports: [
|
|
6393
|
-
exports: [
|
|
6490
|
+
imports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule],
|
|
6491
|
+
exports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule]
|
|
6394
6492
|
}]
|
|
6395
6493
|
}] });
|
|
6396
6494
|
|
|
@@ -6402,5 +6500,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
6402
6500
|
* Generated bundle index. Do not edit.
|
|
6403
6501
|
*/
|
|
6404
6502
|
|
|
6405
|
-
export {
|
|
6503
|
+
export { ChipType, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularModule, FestoAngularSnackbarModule, FngAccordionActions, FngAccordionComponent, FngAccordionHeaderActions, FngAccordionHeaderComponent, FngAccordionItemBodyComponent, FngAccordionItemComponent, FngAccordionItemHeaderComponent, FngAlertComponent, FngBreadcrumbComponent, FngButtonComponent, FngCheckboxComponent, FngChipComponent, FngChipContainerComponent, FngClickOutsideDirective, FngColorIndicatorComponent, FngColorPickerComponent, FngConfirmComponent, FngCustomModalComponent, FngDatePickerComponent, FngDateRangePickerComponent, FngImageGalleryComponent, FngLegendComponent, FngLegendDirective, FngLinkButtonComponent, FngLoadingIndicatorComponent, FngMobileFlyoutComponent, FngMobileFlyoutItemComponent, FngMobileFlyoutPageComponent, FngModalService, FngPaginationComponent, FngPaginationType, FngPopoverComponent, FngPopoverContentComponent, FngPopoverContentDirective, FngPopoverContentTypes, FngPopoverMenuComponent, FngPopoverService, FngProgressComponent, FngPromptComponent, FngRadioChange, FngRadioComponent, FngRadioGroupDirective, FngSafeHtmlPipe, FngScrollableDirective, FngSearchInputComponent, FngSearchSuggestion, FngSegmentComponent, FngSegmentControlComponent, FngSelectComponent, FngSelectOptionComponent, FngSidebarOverlayComponent, FngSliderComponent, FngSnackbarComponent, FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarService, FngStepHorizontalComponent, FngStepVerticalComponent, FngStepperHorizontalComponent, FngStepperVerticalComponent, FngSwitchComponent, FngTabPaneComponent, FngTableHeaderCellDirective, FngTabsComponent, FngTextAreaComponent, FngTextEditorComponent, FngTextInputComponent, FngTimePickerComponent, FngTimePickerDropdownComponent, FngTooltipDirective, PREDEFINED_COLORS };
|
|
6406
6504
|
//# sourceMappingURL=festo-ui-angular.mjs.map
|