@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,40 +1,40 @@
|
|
|
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 QuillType from 'quill';
|
|
25
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
26
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
27
27
|
|
|
28
|
-
class
|
|
28
|
+
class FngBreadcrumbComponent {
|
|
29
29
|
constructor() {
|
|
30
30
|
this.useRouterLink = false;
|
|
31
31
|
this.locations = [];
|
|
32
32
|
this.navigate = new EventEmitter();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
35
|
+
FngBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
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 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngBreadcrumbComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
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" }]
|
|
40
40
|
}], propDecorators: { useRouterLink: [{
|
|
@@ -45,24 +45,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
45
45
|
type: Output
|
|
46
46
|
}] } });
|
|
47
47
|
|
|
48
|
-
class
|
|
48
|
+
class FngAccordionItemBodyComponent {
|
|
49
49
|
constructor() {
|
|
50
50
|
// parentId will be set by accordion item this body belongs to
|
|
51
51
|
this.id = '';
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
54
|
+
FngAccordionItemBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
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 });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemBodyComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
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"] }]
|
|
59
59
|
}] });
|
|
60
60
|
|
|
61
|
-
var
|
|
62
|
-
(function (
|
|
63
|
-
|
|
64
|
-
})(
|
|
65
|
-
class
|
|
61
|
+
var FngAccordionHeaderActions;
|
|
62
|
+
(function (FngAccordionHeaderActions) {
|
|
63
|
+
FngAccordionHeaderActions["Toggle"] = "toggle";
|
|
64
|
+
})(FngAccordionHeaderActions || (FngAccordionHeaderActions = {}));
|
|
65
|
+
class FngAccordionItemHeaderComponent {
|
|
66
66
|
constructor() {
|
|
67
67
|
// parentId will be set by accordion item this header belongs to
|
|
68
68
|
this.id = '';
|
|
@@ -73,17 +73,17 @@ class AccordionItemHeaderComponent {
|
|
|
73
73
|
this.actions.complete();
|
|
74
74
|
}
|
|
75
75
|
toggle() {
|
|
76
|
-
this.actions.next(
|
|
76
|
+
this.actions.next(FngAccordionHeaderActions.Toggle);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
79
|
+
FngAccordionItemHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
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 });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemHeaderComponent, decorators: [{
|
|
82
82
|
type: Component,
|
|
83
83
|
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"] }]
|
|
84
84
|
}] });
|
|
85
85
|
|
|
86
|
-
class
|
|
86
|
+
class FngAccordionItemComponent {
|
|
87
87
|
get linkText() {
|
|
88
88
|
if (this.expanded === true) {
|
|
89
89
|
this._linkText = this?.accordion?.showLess || '';
|
|
@@ -97,7 +97,7 @@ class AccordionItemComponent {
|
|
|
97
97
|
this.elementRef = elementRef;
|
|
98
98
|
this.renderer = renderer;
|
|
99
99
|
this.cd = cd;
|
|
100
|
-
this.componentId = `accordion-item-${++
|
|
100
|
+
this.componentId = `accordion-item-${++FngAccordionItemComponent.nextId}`;
|
|
101
101
|
this.expanded = false;
|
|
102
102
|
this._linkText = '';
|
|
103
103
|
// compound id of parent id and this component id to get a unique identifier in dom
|
|
@@ -178,17 +178,17 @@ class AccordionItemComponent {
|
|
|
178
178
|
}
|
|
179
179
|
handleAction(action) {
|
|
180
180
|
switch (action) {
|
|
181
|
-
case
|
|
181
|
+
case FngAccordionActions.OpenAll:
|
|
182
182
|
this.expanded = true;
|
|
183
183
|
this.expandItem();
|
|
184
184
|
break;
|
|
185
|
-
case
|
|
185
|
+
case FngAccordionActions.CloseAll:
|
|
186
186
|
if (this.expanded === true) {
|
|
187
187
|
this.expanded = false;
|
|
188
188
|
this.collapseItem();
|
|
189
189
|
}
|
|
190
190
|
break;
|
|
191
|
-
case
|
|
191
|
+
case FngAccordionHeaderActions.Toggle:
|
|
192
192
|
this.toggle();
|
|
193
193
|
break;
|
|
194
194
|
default:
|
|
@@ -212,28 +212,28 @@ class AccordionItemComponent {
|
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
215
|
+
FngAccordionItemComponent.nextId = 0;
|
|
216
|
+
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 });
|
|
217
|
+
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 });
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionItemComponent, decorators: [{
|
|
219
219
|
type: Component,
|
|
220
220
|
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"] }]
|
|
221
221
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { header: [{
|
|
222
222
|
type: ContentChild,
|
|
223
|
-
args: [
|
|
223
|
+
args: [FngAccordionItemHeaderComponent]
|
|
224
224
|
}], body: [{
|
|
225
225
|
type: ContentChild,
|
|
226
|
-
args: [
|
|
226
|
+
args: [FngAccordionItemBodyComponent]
|
|
227
227
|
}] } });
|
|
228
228
|
|
|
229
|
-
var
|
|
230
|
-
(function (
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
})(
|
|
234
|
-
class
|
|
229
|
+
var FngAccordionActions;
|
|
230
|
+
(function (FngAccordionActions) {
|
|
231
|
+
FngAccordionActions["OpenAll"] = "openAll";
|
|
232
|
+
FngAccordionActions["CloseAll"] = "closeAll";
|
|
233
|
+
})(FngAccordionActions || (FngAccordionActions = {}));
|
|
234
|
+
class FngAccordionComponent {
|
|
235
235
|
constructor() {
|
|
236
|
-
this.componentId = `accordion-${++
|
|
236
|
+
this.componentId = `accordion-${++FngAccordionComponent.nextId}`;
|
|
237
237
|
this.actions = new Subject();
|
|
238
238
|
this.actions$ = this.actions.asObservable();
|
|
239
239
|
// if the accordion should only allow one expanded item at once this property can be set to false
|
|
@@ -254,17 +254,17 @@ class AccordionComponent {
|
|
|
254
254
|
}
|
|
255
255
|
openAll() {
|
|
256
256
|
if (this.multi) {
|
|
257
|
-
this.actions.next(
|
|
257
|
+
this.actions.next(FngAccordionActions.OpenAll);
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
closeAll() {
|
|
261
|
-
this.actions.next(
|
|
261
|
+
this.actions.next(FngAccordionActions.CloseAll);
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
264
|
+
FngAccordionComponent.nextId = 0;
|
|
265
|
+
FngAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
266
|
+
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 });
|
|
267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionComponent, decorators: [{
|
|
268
268
|
type: Component,
|
|
269
269
|
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"] }]
|
|
270
270
|
}], propDecorators: { multi: [{
|
|
@@ -278,19 +278,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
278
278
|
args: ['fngAccordionShowLessText']
|
|
279
279
|
}], items: [{
|
|
280
280
|
type: ContentChildren,
|
|
281
|
-
args: [
|
|
281
|
+
args: [FngAccordionItemComponent]
|
|
282
282
|
}] } });
|
|
283
283
|
|
|
284
|
-
class
|
|
284
|
+
class FngAccordionHeaderComponent {
|
|
285
285
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
286
|
+
FngAccordionHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
287
|
+
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 });
|
|
288
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAccordionHeaderComponent, decorators: [{
|
|
289
289
|
type: Component,
|
|
290
290
|
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"] }]
|
|
291
291
|
}] });
|
|
292
292
|
|
|
293
|
-
class
|
|
293
|
+
class FngButtonComponent {
|
|
294
294
|
constructor() {
|
|
295
295
|
this.disabled = false;
|
|
296
296
|
this.primary = false;
|
|
@@ -304,9 +304,9 @@ class ButtonComponent {
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
}
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
307
|
+
FngButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
308
|
+
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 });
|
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngButtonComponent, decorators: [{
|
|
310
310
|
type: Component,
|
|
311
311
|
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"] }]
|
|
312
312
|
}], propDecorators: { text: [{
|
|
@@ -328,7 +328,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
328
328
|
args: ['content']
|
|
329
329
|
}] } });
|
|
330
330
|
|
|
331
|
-
class
|
|
331
|
+
class FngLinkButtonComponent {
|
|
332
332
|
constructor() {
|
|
333
333
|
this.disabled = false;
|
|
334
334
|
this.iconOnly = false;
|
|
@@ -338,9 +338,9 @@ class LinkButtonComponent {
|
|
|
338
338
|
this.fngClick.emit(event);
|
|
339
339
|
}
|
|
340
340
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
341
|
+
FngLinkButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
342
|
+
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 });
|
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLinkButtonComponent, decorators: [{
|
|
344
344
|
type: Component,
|
|
345
345
|
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" }]
|
|
346
346
|
}], propDecorators: { text: [{
|
|
@@ -366,7 +366,7 @@ var ChipType;
|
|
|
366
366
|
ChipType["Action"] = "ACTION";
|
|
367
367
|
ChipType["Readonly"] = "READONLY";
|
|
368
368
|
})(ChipType || (ChipType = {}));
|
|
369
|
-
class
|
|
369
|
+
class FngChipComponent {
|
|
370
370
|
constructor() {
|
|
371
371
|
this.ChipType = ChipType;
|
|
372
372
|
this.type = ChipType.Choise;
|
|
@@ -375,9 +375,9 @@ class ChipComponent {
|
|
|
375
375
|
this.large = false;
|
|
376
376
|
}
|
|
377
377
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
378
|
+
FngChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
379
|
+
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 });
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipComponent, decorators: [{
|
|
381
381
|
type: Component,
|
|
382
382
|
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" }]
|
|
383
383
|
}], propDecorators: { type: [{
|
|
@@ -392,28 +392,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
392
392
|
type: Input
|
|
393
393
|
}] } });
|
|
394
394
|
|
|
395
|
-
class
|
|
395
|
+
class FngChipContainerComponent {
|
|
396
396
|
constructor() {
|
|
397
397
|
this.large = false;
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
400
|
+
FngChipContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
401
|
+
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 });
|
|
402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipContainerComponent, decorators: [{
|
|
403
403
|
type: Component,
|
|
404
404
|
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" }]
|
|
405
405
|
}], propDecorators: { large: [{
|
|
406
406
|
type: Input
|
|
407
407
|
}] } });
|
|
408
408
|
|
|
409
|
-
class
|
|
409
|
+
class FngLoadingIndicatorComponent {
|
|
410
410
|
constructor() {
|
|
411
411
|
this.size = 'large';
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
414
|
+
FngLoadingIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLoadingIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
415
|
+
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 });
|
|
416
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLoadingIndicatorComponent, decorators: [{
|
|
417
417
|
type: Component,
|
|
418
418
|
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" }]
|
|
419
419
|
}], propDecorators: { size: [{
|
|
@@ -421,7 +421,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
421
421
|
}] } });
|
|
422
422
|
|
|
423
423
|
/* eslint-disable @angular-eslint/no-empty-lifecycle-method */
|
|
424
|
-
class
|
|
424
|
+
class FngMobileFlyoutItemComponent {
|
|
425
425
|
constructor(rla) {
|
|
426
426
|
this.rla = rla;
|
|
427
427
|
this.icon = '';
|
|
@@ -437,9 +437,9 @@ class MobileFlyoutItemComponent {
|
|
|
437
437
|
}
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
440
|
+
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 });
|
|
441
|
+
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"] }] });
|
|
442
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutItemComponent, decorators: [{
|
|
443
443
|
type: Component,
|
|
444
444
|
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" }]
|
|
445
445
|
}], ctorParameters: function () { return [{ type: i1.RouterLinkActive, decorators: [{
|
|
@@ -452,7 +452,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
452
452
|
type: Input
|
|
453
453
|
}] } });
|
|
454
454
|
|
|
455
|
-
class
|
|
455
|
+
class FngMobileFlyoutPageComponent {
|
|
456
456
|
constructor() {
|
|
457
457
|
this.name = '';
|
|
458
458
|
this.back = 'Back';
|
|
@@ -496,21 +496,48 @@ class MobileFlyoutPageComponent {
|
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
498
|
}
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
499
|
+
FngMobileFlyoutPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
500
|
+
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"] }] });
|
|
501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutPageComponent, decorators: [{
|
|
502
502
|
type: Component,
|
|
503
503
|
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" }]
|
|
504
504
|
}], propDecorators: { itemComponents: [{
|
|
505
505
|
type: ContentChildren,
|
|
506
|
-
args: [
|
|
506
|
+
args: [FngMobileFlyoutItemComponent]
|
|
507
507
|
}], name: [{
|
|
508
508
|
type: Input
|
|
509
509
|
}], back: [{
|
|
510
510
|
type: Input
|
|
511
511
|
}] } });
|
|
512
512
|
|
|
513
|
-
class
|
|
513
|
+
class FngClickOutsideDirective {
|
|
514
|
+
constructor(elRef) {
|
|
515
|
+
this.elRef = elRef;
|
|
516
|
+
this.clickOutside = new EventEmitter();
|
|
517
|
+
}
|
|
518
|
+
onClick(targetElement) {
|
|
519
|
+
const inside = this.elRef.nativeElement.contains(targetElement);
|
|
520
|
+
if (!inside) {
|
|
521
|
+
this.clickOutside.emit(null);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
FngClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
526
|
+
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 });
|
|
527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngClickOutsideDirective, decorators: [{
|
|
528
|
+
type: Directive,
|
|
529
|
+
args: [{
|
|
530
|
+
standalone: true,
|
|
531
|
+
selector: '[fngClickOutside]'
|
|
532
|
+
}]
|
|
533
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
|
|
534
|
+
type: Output
|
|
535
|
+
}], onClick: [{
|
|
536
|
+
type: HostListener,
|
|
537
|
+
args: ['document:click', ['$event.target']]
|
|
538
|
+
}] } });
|
|
539
|
+
|
|
540
|
+
class FngMobileFlyoutComponent {
|
|
514
541
|
constructor() {
|
|
515
542
|
this.flyoutOpenChange = new EventEmitter();
|
|
516
543
|
this.isOpen = false;
|
|
@@ -560,27 +587,27 @@ class MobileFlyoutComponent {
|
|
|
560
587
|
});
|
|
561
588
|
}
|
|
562
589
|
}
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
590
|
+
FngMobileFlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
591
|
+
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"] }] });
|
|
592
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngMobileFlyoutComponent, decorators: [{
|
|
566
593
|
type: Component,
|
|
567
|
-
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" }]
|
|
594
|
+
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" }]
|
|
568
595
|
}], propDecorators: { flyoutOpenChange: [{
|
|
569
596
|
type: Output
|
|
570
597
|
}], pageComponents: [{
|
|
571
598
|
type: ContentChildren,
|
|
572
|
-
args: [
|
|
599
|
+
args: [FngMobileFlyoutPageComponent]
|
|
573
600
|
}] } });
|
|
574
601
|
|
|
575
|
-
var
|
|
576
|
-
(function (
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
})(
|
|
580
|
-
class
|
|
602
|
+
var FngPaginationType;
|
|
603
|
+
(function (FngPaginationType) {
|
|
604
|
+
FngPaginationType["Numeric"] = "NUMERIC";
|
|
605
|
+
FngPaginationType["Dots"] = "DOTS";
|
|
606
|
+
})(FngPaginationType || (FngPaginationType = {}));
|
|
607
|
+
class FngPaginationComponent {
|
|
581
608
|
constructor() {
|
|
582
|
-
this.PaginationType =
|
|
583
|
-
this.type =
|
|
609
|
+
this.PaginationType = FngPaginationType;
|
|
610
|
+
this.type = FngPaginationType.Numeric;
|
|
584
611
|
this.pageCurrent = 0;
|
|
585
612
|
this.changePage = new EventEmitter();
|
|
586
613
|
this.innerPageMax = 0;
|
|
@@ -610,9 +637,9 @@ class PaginationComponent {
|
|
|
610
637
|
this.changePage.emit(this.pageCurrent);
|
|
611
638
|
}
|
|
612
639
|
}
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
640
|
+
FngPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
641
|
+
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 });
|
|
642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPaginationComponent, decorators: [{
|
|
616
643
|
type: Component,
|
|
617
644
|
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" }]
|
|
618
645
|
}], propDecorators: { type: [{
|
|
@@ -625,16 +652,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
625
652
|
type: Output
|
|
626
653
|
}] } });
|
|
627
654
|
|
|
628
|
-
class
|
|
655
|
+
class FngProgressComponent {
|
|
629
656
|
constructor() {
|
|
630
657
|
this.progress = 0;
|
|
631
658
|
this.error = false;
|
|
632
659
|
this.background = 'white';
|
|
633
660
|
}
|
|
634
661
|
}
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
662
|
+
FngProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
663
|
+
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" });
|
|
664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngProgressComponent, decorators: [{
|
|
638
665
|
type: Component,
|
|
639
666
|
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" }]
|
|
640
667
|
}], propDecorators: { progress: [{
|
|
@@ -645,7 +672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
645
672
|
type: Input
|
|
646
673
|
}] } });
|
|
647
674
|
|
|
648
|
-
class
|
|
675
|
+
class FngSafeHtmlPipe {
|
|
649
676
|
constructor(sanitizer) {
|
|
650
677
|
this.sanitizer = sanitizer;
|
|
651
678
|
}
|
|
@@ -653,17 +680,17 @@ class SafeHtmlPipe {
|
|
|
653
680
|
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
654
681
|
}
|
|
655
682
|
}
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
683
|
+
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 });
|
|
684
|
+
FngSafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FngSafeHtmlPipe, isStandalone: true, name: "fngSafeHtml" });
|
|
685
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSafeHtmlPipe, decorators: [{
|
|
659
686
|
type: Pipe,
|
|
660
687
|
args: [{
|
|
661
688
|
standalone: true,
|
|
662
|
-
name: '
|
|
689
|
+
name: 'fngSafeHtml'
|
|
663
690
|
}]
|
|
664
691
|
}], ctorParameters: function () { return [{ type: i1$2.DomSanitizer }]; } });
|
|
665
692
|
|
|
666
|
-
class
|
|
693
|
+
class FngSearchSuggestion {
|
|
667
694
|
constructor() {
|
|
668
695
|
/**
|
|
669
696
|
* a html-string. e.g.: '<b> hello </b>'
|
|
@@ -697,7 +724,7 @@ class SearchSuggestion {
|
|
|
697
724
|
/**
|
|
698
725
|
* A custom form element for search inputs.
|
|
699
726
|
*/
|
|
700
|
-
class
|
|
727
|
+
class FngSearchInputComponent {
|
|
701
728
|
constructor() {
|
|
702
729
|
/**
|
|
703
730
|
* the querrry was changed, update the suggetion list
|
|
@@ -814,11 +841,11 @@ class SearchInputComponent {
|
|
|
814
841
|
this.inputRef.nativeElement.blur();
|
|
815
842
|
}
|
|
816
843
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
844
|
+
FngSearchInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
845
|
+
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 });
|
|
846
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSearchInputComponent, decorators: [{
|
|
820
847
|
type: Component,
|
|
821
|
-
args: [{ standalone: true, imports: [CommonModule,
|
|
848
|
+
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"] }]
|
|
822
849
|
}], propDecorators: { inputRef: [{
|
|
823
850
|
type: ViewChild,
|
|
824
851
|
args: ['inputElement']
|
|
@@ -839,7 +866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
839
866
|
args: ['document:keydown', ['$event']]
|
|
840
867
|
}] } });
|
|
841
868
|
|
|
842
|
-
class
|
|
869
|
+
class FngSnackbarComponent {
|
|
843
870
|
constructor() {
|
|
844
871
|
this.data = {};
|
|
845
872
|
this.close = new EventEmitter();
|
|
@@ -864,8 +891,8 @@ class SnackbarComponent {
|
|
|
864
891
|
this.close.emit();
|
|
865
892
|
}
|
|
866
893
|
}
|
|
867
|
-
|
|
868
|
-
|
|
894
|
+
FngSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
895
|
+
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: [
|
|
869
896
|
trigger('appearDisappear', [
|
|
870
897
|
state('init', style({ opacity: 0 })),
|
|
871
898
|
state('first', style({
|
|
@@ -882,7 +909,7 @@ SnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
882
909
|
]))
|
|
883
910
|
])
|
|
884
911
|
], encapsulation: i0.ViewEncapsulation.None });
|
|
885
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
912
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarComponent, decorators: [{
|
|
886
913
|
type: Component,
|
|
887
914
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-snackbar', encapsulation: ViewEncapsulation.None, animations: [
|
|
888
915
|
trigger('appearDisappear', [
|
|
@@ -915,7 +942,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
915
942
|
args: ['@appearDisappear']
|
|
916
943
|
}] } });
|
|
917
944
|
|
|
918
|
-
class
|
|
945
|
+
class FngSnackbarService {
|
|
919
946
|
constructor() {
|
|
920
947
|
this.snacks = new Subject();
|
|
921
948
|
this.snacks$ = this.snacks.asObservable();
|
|
@@ -926,16 +953,16 @@ class SnackbarService {
|
|
|
926
953
|
});
|
|
927
954
|
}
|
|
928
955
|
}
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
956
|
+
FngSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
957
|
+
FngSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarService, providedIn: 'root' });
|
|
958
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarService, decorators: [{
|
|
932
959
|
type: Injectable,
|
|
933
960
|
args: [{
|
|
934
961
|
providedIn: 'root'
|
|
935
962
|
}]
|
|
936
963
|
}], ctorParameters: function () { return []; } });
|
|
937
964
|
|
|
938
|
-
class
|
|
965
|
+
class FngSnackbarContainerDirective {
|
|
939
966
|
constructor(viewContainerRef, snackbarService) {
|
|
940
967
|
this.viewContainerRef = viewContainerRef;
|
|
941
968
|
this.snackbarService = snackbarService;
|
|
@@ -957,7 +984,7 @@ class SnackbarContainerDirective {
|
|
|
957
984
|
}
|
|
958
985
|
push(snackDescription) {
|
|
959
986
|
const complete = new Subject();
|
|
960
|
-
const componentRef = this.viewContainerRef.createComponent(
|
|
987
|
+
const componentRef = this.viewContainerRef.createComponent(FngSnackbarComponent);
|
|
961
988
|
const componentInstance = componentRef.instance;
|
|
962
989
|
componentInstance.data = { ...this.fngSnackbarContainer, ...snackDescription.data };
|
|
963
990
|
componentInstance.animationState = this.snacks.length === 0 ? 'first' : 'fadeIn';
|
|
@@ -997,19 +1024,19 @@ class SnackbarContainerDirective {
|
|
|
997
1024
|
}
|
|
998
1025
|
}
|
|
999
1026
|
}
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1027
|
+
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 });
|
|
1028
|
+
FngSnackbarContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngSnackbarContainerDirective, isStandalone: true, selector: "[fngSnackbarContainer]", inputs: { fngSnackbarContainer: "fngSnackbarContainer" }, ngImport: i0 });
|
|
1029
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerDirective, decorators: [{
|
|
1003
1030
|
type: Directive,
|
|
1004
1031
|
args: [{
|
|
1005
1032
|
standalone: true,
|
|
1006
1033
|
selector: '[fngSnackbarContainer]'
|
|
1007
1034
|
}]
|
|
1008
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type:
|
|
1035
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: FngSnackbarService }]; }, propDecorators: { fngSnackbarContainer: [{
|
|
1009
1036
|
type: Input
|
|
1010
1037
|
}] } });
|
|
1011
1038
|
|
|
1012
|
-
class
|
|
1039
|
+
class FngSnackbarContainerComponent {
|
|
1013
1040
|
constructor() {
|
|
1014
1041
|
this.config = {
|
|
1015
1042
|
darkBackground: true,
|
|
@@ -1018,24 +1045,24 @@ class SnackbarContainerComponent {
|
|
|
1018
1045
|
};
|
|
1019
1046
|
}
|
|
1020
1047
|
}
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1048
|
+
FngSnackbarContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1049
|
+
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 });
|
|
1050
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSnackbarContainerComponent, decorators: [{
|
|
1024
1051
|
type: Component,
|
|
1025
|
-
args: [{ standalone: true, imports: [
|
|
1052
|
+
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"] }]
|
|
1026
1053
|
}], propDecorators: { config: [{
|
|
1027
1054
|
type: Input
|
|
1028
1055
|
}] } });
|
|
1029
1056
|
|
|
1030
|
-
class
|
|
1057
|
+
class FngStepHorizontalComponent {
|
|
1031
1058
|
constructor() {
|
|
1032
1059
|
this.isActive = false;
|
|
1033
1060
|
this.title = '';
|
|
1034
1061
|
}
|
|
1035
1062
|
}
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1063
|
+
FngStepHorizontalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1064
|
+
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"] });
|
|
1065
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepHorizontalComponent, decorators: [{
|
|
1039
1066
|
type: Component,
|
|
1040
1067
|
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"] }]
|
|
1041
1068
|
}], propDecorators: { isActive: [{
|
|
@@ -1044,7 +1071,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1044
1071
|
type: Input
|
|
1045
1072
|
}] } });
|
|
1046
1073
|
|
|
1047
|
-
class
|
|
1074
|
+
class FngStepperHorizontalComponent {
|
|
1048
1075
|
constructor() {
|
|
1049
1076
|
this.stepIndex = 0;
|
|
1050
1077
|
this.stepIndexChange = new EventEmitter();
|
|
@@ -1076,21 +1103,21 @@ class StepperHorizontalComponent {
|
|
|
1076
1103
|
}
|
|
1077
1104
|
}
|
|
1078
1105
|
}
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1106
|
+
FngStepperHorizontalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1107
|
+
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"] }] });
|
|
1108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperHorizontalComponent, decorators: [{
|
|
1082
1109
|
type: Component,
|
|
1083
1110
|
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" }]
|
|
1084
1111
|
}], propDecorators: { stepComponents: [{
|
|
1085
1112
|
type: ContentChildren,
|
|
1086
|
-
args: [
|
|
1113
|
+
args: [FngStepHorizontalComponent]
|
|
1087
1114
|
}], stepIndex: [{
|
|
1088
1115
|
type: Input
|
|
1089
1116
|
}], stepIndexChange: [{
|
|
1090
1117
|
type: Output
|
|
1091
1118
|
}] } });
|
|
1092
1119
|
|
|
1093
|
-
class
|
|
1120
|
+
class FngStepVerticalComponent {
|
|
1094
1121
|
constructor() {
|
|
1095
1122
|
this.index = 0;
|
|
1096
1123
|
this.title = '';
|
|
@@ -1122,9 +1149,9 @@ class StepVerticalComponent {
|
|
|
1122
1149
|
this.updateHeight();
|
|
1123
1150
|
}
|
|
1124
1151
|
}
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1152
|
+
FngStepVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1153
|
+
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"] });
|
|
1154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepVerticalComponent, decorators: [{
|
|
1128
1155
|
type: Component,
|
|
1129
1156
|
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"] }]
|
|
1130
1157
|
}], propDecorators: { stepContent: [{
|
|
@@ -1145,7 +1172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1145
1172
|
type: Input
|
|
1146
1173
|
}] } });
|
|
1147
1174
|
|
|
1148
|
-
class
|
|
1175
|
+
class FngStepperVerticalComponent {
|
|
1149
1176
|
constructor() {
|
|
1150
1177
|
this.stepIndex = 0;
|
|
1151
1178
|
this.stepIndexChange = new EventEmitter();
|
|
@@ -1181,21 +1208,21 @@ class StepperVerticalComponent {
|
|
|
1181
1208
|
}
|
|
1182
1209
|
}
|
|
1183
1210
|
}
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1211
|
+
FngStepperVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1212
|
+
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" });
|
|
1213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngStepperVerticalComponent, decorators: [{
|
|
1187
1214
|
type: Component,
|
|
1188
1215
|
args: [{ standalone: true, selector: 'fng-stepper-vertical', template: "<div class=\"fwe-stepper-vertical\">\n <ng-content></ng-content>\n</div>\n" }]
|
|
1189
1216
|
}], propDecorators: { stepComponents: [{
|
|
1190
1217
|
type: ContentChildren,
|
|
1191
|
-
args: [
|
|
1218
|
+
args: [FngStepVerticalComponent]
|
|
1192
1219
|
}], stepIndex: [{
|
|
1193
1220
|
type: Input
|
|
1194
1221
|
}], stepIndexChange: [{
|
|
1195
1222
|
type: Output
|
|
1196
1223
|
}] } });
|
|
1197
1224
|
|
|
1198
|
-
class
|
|
1225
|
+
class FngTableHeaderCellDirective {
|
|
1199
1226
|
constructor() {
|
|
1200
1227
|
this.changeOrder = new EventEmitter();
|
|
1201
1228
|
}
|
|
@@ -1215,9 +1242,9 @@ class TableHeaderCellDirective {
|
|
|
1215
1242
|
this.changeOrder.emit(this.fngTh);
|
|
1216
1243
|
}
|
|
1217
1244
|
}
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1245
|
+
FngTableHeaderCellDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTableHeaderCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1246
|
+
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 });
|
|
1247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTableHeaderCellDirective, decorators: [{
|
|
1221
1248
|
type: Directive,
|
|
1222
1249
|
args: [{
|
|
1223
1250
|
standalone: true,
|
|
@@ -1252,7 +1279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1252
1279
|
type: Input
|
|
1253
1280
|
}] } });
|
|
1254
1281
|
|
|
1255
|
-
class
|
|
1282
|
+
class FngScrollableDirective {
|
|
1256
1283
|
constructor(el, ngZone, renderer) {
|
|
1257
1284
|
this.el = el;
|
|
1258
1285
|
this.ngZone = ngZone;
|
|
@@ -1308,9 +1335,9 @@ class ScrollableDirective {
|
|
|
1308
1335
|
};
|
|
1309
1336
|
}
|
|
1310
1337
|
}
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1338
|
+
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 });
|
|
1339
|
+
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 });
|
|
1340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngScrollableDirective, decorators: [{
|
|
1314
1341
|
type: Directive,
|
|
1315
1342
|
args: [{
|
|
1316
1343
|
standalone: true,
|
|
@@ -1324,10 +1351,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1324
1351
|
args: ['fngScrollableViewReady']
|
|
1325
1352
|
}] } });
|
|
1326
1353
|
|
|
1327
|
-
class
|
|
1354
|
+
class FngTabPaneComponent {
|
|
1328
1355
|
constructor() {
|
|
1329
1356
|
this.disabled = false;
|
|
1330
|
-
this.tabPaneId = `tab-panel-content-${++
|
|
1357
|
+
this.tabPaneId = `tab-panel-content-${++FngTabPaneComponent.nextId}`;
|
|
1331
1358
|
this.changesSubject = new Subject();
|
|
1332
1359
|
this.changes$ = this.changesSubject.asObservable();
|
|
1333
1360
|
}
|
|
@@ -1335,10 +1362,10 @@ class TabPaneComponent {
|
|
|
1335
1362
|
this.changesSubject.next(true);
|
|
1336
1363
|
}
|
|
1337
1364
|
}
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1365
|
+
FngTabPaneComponent.nextId = 0;
|
|
1366
|
+
FngTabPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabPaneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1367
|
+
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"] });
|
|
1368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabPaneComponent, decorators: [{
|
|
1342
1369
|
type: Component,
|
|
1343
1370
|
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"] }]
|
|
1344
1371
|
}], propDecorators: { id: [{
|
|
@@ -1355,7 +1382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1355
1382
|
type: Input
|
|
1356
1383
|
}] } });
|
|
1357
1384
|
|
|
1358
|
-
class
|
|
1385
|
+
class FngTabsComponent {
|
|
1359
1386
|
constructor(elRef, document, renderer, cd) {
|
|
1360
1387
|
this.elRef = elRef;
|
|
1361
1388
|
this.document = document;
|
|
@@ -1366,7 +1393,7 @@ class TabsComponent {
|
|
|
1366
1393
|
this.config = null;
|
|
1367
1394
|
this.fngBeforeTabChange = new EventEmitter();
|
|
1368
1395
|
this.fngTabChange = new EventEmitter();
|
|
1369
|
-
this.componentId = `tabs-${++
|
|
1396
|
+
this.componentId = `tabs-${++FngTabsComponent.nextId}`;
|
|
1370
1397
|
this.tabs = [];
|
|
1371
1398
|
this.useCompactDensity = true;
|
|
1372
1399
|
this.activeTab = undefined;
|
|
@@ -1772,12 +1799,12 @@ class TabsComponent {
|
|
|
1772
1799
|
return -1;
|
|
1773
1800
|
}
|
|
1774
1801
|
}
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
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 });
|
|
1778
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1802
|
+
FngTabsComponent.nextId = 0;
|
|
1803
|
+
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 });
|
|
1804
|
+
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 });
|
|
1805
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTabsComponent, decorators: [{
|
|
1779
1806
|
type: Component,
|
|
1780
|
-
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:
|
|
1807
|
+
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"] }]
|
|
1781
1808
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Document, decorators: [{
|
|
1782
1809
|
type: Inject,
|
|
1783
1810
|
args: [DOCUMENT]
|
|
@@ -1795,7 +1822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
1795
1822
|
type: Output
|
|
1796
1823
|
}], panes: [{
|
|
1797
1824
|
type: ContentChildren,
|
|
1798
|
-
args: [
|
|
1825
|
+
args: [FngTabPaneComponent]
|
|
1799
1826
|
}], scroller: [{
|
|
1800
1827
|
type: ViewChild,
|
|
1801
1828
|
args: ['scroller']
|
|
@@ -1831,34 +1858,34 @@ class PopoverRef {
|
|
|
1831
1858
|
}
|
|
1832
1859
|
}
|
|
1833
1860
|
|
|
1834
|
-
var
|
|
1835
|
-
(function (
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
})(
|
|
1861
|
+
var FngPopoverContentTypes;
|
|
1862
|
+
(function (FngPopoverContentTypes) {
|
|
1863
|
+
FngPopoverContentTypes["Template"] = "template";
|
|
1864
|
+
FngPopoverContentTypes["Component"] = "component";
|
|
1865
|
+
FngPopoverContentTypes["Text"] = "text";
|
|
1866
|
+
})(FngPopoverContentTypes || (FngPopoverContentTypes = {}));
|
|
1840
1867
|
|
|
1841
|
-
class
|
|
1868
|
+
class FngPopoverComponent {
|
|
1842
1869
|
constructor(popoverRef) {
|
|
1843
1870
|
this.popoverRef = popoverRef;
|
|
1844
|
-
this.type =
|
|
1871
|
+
this.type = FngPopoverContentTypes.Text;
|
|
1845
1872
|
}
|
|
1846
1873
|
ngOnInit() {
|
|
1847
1874
|
this.content = this.popoverRef.content;
|
|
1848
1875
|
if ('string' === typeof this.content) {
|
|
1849
|
-
this.type =
|
|
1876
|
+
this.type = FngPopoverContentTypes.Text;
|
|
1850
1877
|
}
|
|
1851
1878
|
if (this.content instanceof TemplateRef) {
|
|
1852
|
-
this.type =
|
|
1879
|
+
this.type = FngPopoverContentTypes.Template;
|
|
1853
1880
|
this.context = {
|
|
1854
1881
|
close: this.popoverRef.close.bind(this.popoverRef)
|
|
1855
1882
|
};
|
|
1856
1883
|
}
|
|
1857
1884
|
}
|
|
1858
1885
|
}
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
1886
|
+
FngPopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverComponent, deps: [{ token: PopoverRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1887
|
+
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"] }] });
|
|
1888
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverComponent, decorators: [{
|
|
1862
1889
|
type: Component,
|
|
1863
1890
|
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" }]
|
|
1864
1891
|
}], ctorParameters: function () { return [{ type: PopoverRef }]; } });
|
|
@@ -1922,7 +1949,7 @@ const defaultClasses = {
|
|
|
1922
1949
|
leftTop: 'fng-popover-left-top'
|
|
1923
1950
|
};
|
|
1924
1951
|
|
|
1925
|
-
class
|
|
1952
|
+
class FngPopoverService {
|
|
1926
1953
|
get defaultOptions() {
|
|
1927
1954
|
return this.options;
|
|
1928
1955
|
}
|
|
@@ -1950,7 +1977,7 @@ class PopoverService {
|
|
|
1950
1977
|
const overlayRef = this.overlay.create(overlayConfig);
|
|
1951
1978
|
const popoverRef = new PopoverRef(overlayRef, content, data);
|
|
1952
1979
|
const injector = this.createInjector(popoverRef, this.injector);
|
|
1953
|
-
overlayRef.attach(new ComponentPortal(
|
|
1980
|
+
overlayRef.attach(new ComponentPortal(FngPopoverComponent, null, injector));
|
|
1954
1981
|
return popoverRef;
|
|
1955
1982
|
}
|
|
1956
1983
|
getOverlayConfig({ origin, options }) {
|
|
@@ -2027,16 +2054,16 @@ class PopoverService {
|
|
|
2027
2054
|
return pairs;
|
|
2028
2055
|
}
|
|
2029
2056
|
}
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2057
|
+
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 });
|
|
2058
|
+
FngPopoverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverService, providedIn: 'root' });
|
|
2059
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverService, decorators: [{
|
|
2033
2060
|
type: Injectable,
|
|
2034
2061
|
args: [{
|
|
2035
2062
|
providedIn: 'root'
|
|
2036
2063
|
}]
|
|
2037
2064
|
}], ctorParameters: function () { return [{ type: i1$3.Overlay }, { type: i0.Injector }]; } });
|
|
2038
2065
|
|
|
2039
|
-
class
|
|
2066
|
+
class FngLegendComponent {
|
|
2040
2067
|
constructor(popoverService) {
|
|
2041
2068
|
this.popoverService = popoverService;
|
|
2042
2069
|
this.items = [];
|
|
@@ -2059,12 +2086,12 @@ class LegendComponent {
|
|
|
2059
2086
|
this.popoverRef?.close();
|
|
2060
2087
|
}
|
|
2061
2088
|
}
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2089
|
+
FngLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendComponent, deps: [{ token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2090
|
+
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"] }] });
|
|
2091
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendComponent, decorators: [{
|
|
2065
2092
|
type: Component,
|
|
2066
2093
|
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"] }]
|
|
2067
|
-
}], ctorParameters: function () { return [{ type:
|
|
2094
|
+
}], ctorParameters: function () { return [{ type: FngPopoverService }]; }, propDecorators: { items: [{
|
|
2068
2095
|
type: Input
|
|
2069
2096
|
}], options: [{
|
|
2070
2097
|
type: Input
|
|
@@ -2073,7 +2100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2073
2100
|
args: ['tpl']
|
|
2074
2101
|
}] } });
|
|
2075
2102
|
|
|
2076
|
-
class
|
|
2103
|
+
class FngLegendDirective {
|
|
2077
2104
|
constructor(elmenetRef) {
|
|
2078
2105
|
this.elmenetRef = elmenetRef;
|
|
2079
2106
|
}
|
|
@@ -2086,9 +2113,9 @@ class LegendDirective {
|
|
|
2086
2113
|
}
|
|
2087
2114
|
}
|
|
2088
2115
|
}
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2116
|
+
FngLegendDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2117
|
+
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 });
|
|
2118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngLegendDirective, decorators: [{
|
|
2092
2119
|
type: Directive,
|
|
2093
2120
|
args: [{
|
|
2094
2121
|
standalone: true,
|
|
@@ -2102,7 +2129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2102
2129
|
args: ['click']
|
|
2103
2130
|
}] } });
|
|
2104
2131
|
|
|
2105
|
-
class
|
|
2132
|
+
class FngPopoverContentComponent {
|
|
2106
2133
|
constructor(popoverService) {
|
|
2107
2134
|
this.popoverService = popoverService;
|
|
2108
2135
|
this.options = {};
|
|
@@ -2157,12 +2184,12 @@ class PopoverContentComponent {
|
|
|
2157
2184
|
this.popoverRef?.close();
|
|
2158
2185
|
}
|
|
2159
2186
|
}
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2187
|
+
FngPopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentComponent, deps: [{ token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2188
|
+
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"] }] });
|
|
2189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentComponent, decorators: [{
|
|
2163
2190
|
type: Component,
|
|
2164
2191
|
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"] }]
|
|
2165
|
-
}], ctorParameters: function () { return [{ type:
|
|
2192
|
+
}], ctorParameters: function () { return [{ type: FngPopoverService }]; }, propDecorators: { options: [{
|
|
2166
2193
|
type: Input
|
|
2167
2194
|
}], close: [{
|
|
2168
2195
|
type: Output
|
|
@@ -2176,7 +2203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2176
2203
|
args: ['fngContent']
|
|
2177
2204
|
}] } });
|
|
2178
2205
|
|
|
2179
|
-
class
|
|
2206
|
+
class FngPopoverContentDirective {
|
|
2180
2207
|
constructor(elmenetRef) {
|
|
2181
2208
|
this.elmenetRef = elmenetRef;
|
|
2182
2209
|
}
|
|
@@ -2194,9 +2221,9 @@ class PopoverContentDirective {
|
|
|
2194
2221
|
}
|
|
2195
2222
|
}
|
|
2196
2223
|
}
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2224
|
+
FngPopoverContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2225
|
+
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 });
|
|
2226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverContentDirective, decorators: [{
|
|
2200
2227
|
type: Directive,
|
|
2201
2228
|
args: [{
|
|
2202
2229
|
standalone: true,
|
|
@@ -2213,7 +2240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2213
2240
|
args: ['document:keydown.escape']
|
|
2214
2241
|
}] } });
|
|
2215
2242
|
|
|
2216
|
-
class
|
|
2243
|
+
class FngPopoverMenuComponent {
|
|
2217
2244
|
constructor(popoverService) {
|
|
2218
2245
|
this.popoverService = popoverService;
|
|
2219
2246
|
this.icon = 'fwe-icon-menu-more fwe-icon-lg';
|
|
@@ -2251,12 +2278,12 @@ class PopoverMenuComponent {
|
|
|
2251
2278
|
this.popoverRef?.close();
|
|
2252
2279
|
}
|
|
2253
2280
|
}
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2281
|
+
FngPopoverMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverMenuComponent, deps: [{ token: FngPopoverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2282
|
+
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"] }] });
|
|
2283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPopoverMenuComponent, decorators: [{
|
|
2257
2284
|
type: Component,
|
|
2258
2285
|
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" }]
|
|
2259
|
-
}], ctorParameters: function () { return [{ type:
|
|
2286
|
+
}], ctorParameters: function () { return [{ type: FngPopoverService }]; }, propDecorators: { icon: [{
|
|
2260
2287
|
type: Input
|
|
2261
2288
|
}], menu: [{
|
|
2262
2289
|
type: Input
|
|
@@ -2275,7 +2302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2275
2302
|
args: ['document:keydown.escape']
|
|
2276
2303
|
}] } });
|
|
2277
2304
|
|
|
2278
|
-
class
|
|
2305
|
+
class FngTooltipDirective {
|
|
2279
2306
|
constructor(elmenetRef, popoverService) {
|
|
2280
2307
|
this.elmenetRef = elmenetRef;
|
|
2281
2308
|
this.popoverService = popoverService;
|
|
@@ -2344,15 +2371,15 @@ class TooltipDirective {
|
|
|
2344
2371
|
this.innerIsVisible = false;
|
|
2345
2372
|
}
|
|
2346
2373
|
}
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2374
|
+
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 });
|
|
2375
|
+
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 });
|
|
2376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTooltipDirective, decorators: [{
|
|
2350
2377
|
type: Directive,
|
|
2351
2378
|
args: [{
|
|
2352
2379
|
standalone: true,
|
|
2353
2380
|
selector: '[fngTooltip]'
|
|
2354
2381
|
}]
|
|
2355
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type:
|
|
2382
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FngPopoverService }]; }, propDecorators: { text: [{
|
|
2356
2383
|
type: Input,
|
|
2357
2384
|
args: ['fngTooltip']
|
|
2358
2385
|
}], isVisible: [{
|
|
@@ -2362,7 +2389,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2362
2389
|
type: Input,
|
|
2363
2390
|
args: ['fngTooltipPositions']
|
|
2364
2391
|
}], options: [{
|
|
2365
|
-
type: Input
|
|
2392
|
+
type: Input,
|
|
2393
|
+
args: ['fngTooltipOptions']
|
|
2366
2394
|
}], show: [{
|
|
2367
2395
|
type: HostListener,
|
|
2368
2396
|
args: ['mouseenter']
|
|
@@ -2371,184 +2399,242 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2371
2399
|
args: ['mouseleave']
|
|
2372
2400
|
}] } });
|
|
2373
2401
|
|
|
2402
|
+
/**
|
|
2403
|
+
* Every sidebar instance has its unique instanceID.
|
|
2404
|
+
* When a sidebar is opened, this ID is the next currentsInstanceID.
|
|
2405
|
+
* Every instance with an other ID will be closed then.
|
|
2406
|
+
*
|
|
2407
|
+
* usage: <fng-sidebar-overlay [(open)]="sidebarOpen"> ... </fng-details-sidebar>
|
|
2408
|
+
*/
|
|
2409
|
+
class FngSidebarOverlayComponent {
|
|
2410
|
+
get fngNavbarMargin() {
|
|
2411
|
+
return this.internalNavbarMargin;
|
|
2412
|
+
}
|
|
2413
|
+
set fngNavbarMargin(value) {
|
|
2414
|
+
this.internalNavbarMargin = value === '' || value;
|
|
2415
|
+
}
|
|
2416
|
+
set open(value) {
|
|
2417
|
+
this.internalOpen = value === '' || value;
|
|
2418
|
+
if (this.internalOpen) {
|
|
2419
|
+
FngSidebarOverlayComponent.currentsInstanceID$.next(this.instanceID);
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
get open() {
|
|
2423
|
+
return this.internalOpen;
|
|
2424
|
+
}
|
|
2425
|
+
constructor() {
|
|
2426
|
+
this.internalOpen = false;
|
|
2427
|
+
this.internalNavbarMargin = false;
|
|
2428
|
+
this.openChange = new EventEmitter();
|
|
2429
|
+
this.instanceID = Math.random();
|
|
2430
|
+
FngSidebarOverlayComponent.currentsInstanceID$.subscribe(id => {
|
|
2431
|
+
// close open instances when an other is opened
|
|
2432
|
+
if (this.internalOpen && id !== this.instanceID) {
|
|
2433
|
+
this.internalOpen = false;
|
|
2434
|
+
this.openChange.emit(this.internalOpen);
|
|
2435
|
+
}
|
|
2436
|
+
});
|
|
2437
|
+
}
|
|
2438
|
+
closeSidebar() {
|
|
2439
|
+
this.internalOpen = false;
|
|
2440
|
+
this.openChange.emit(this.internalOpen);
|
|
2441
|
+
}
|
|
2442
|
+
}
|
|
2443
|
+
FngSidebarOverlayComponent.currentsInstanceID$ = new BehaviorSubject(0);
|
|
2444
|
+
FngSidebarOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSidebarOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2445
|
+
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 }] });
|
|
2446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSidebarOverlayComponent, decorators: [{
|
|
2447
|
+
type: Component,
|
|
2448
|
+
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" }]
|
|
2449
|
+
}], ctorParameters: function () { return []; }, propDecorators: { fngNavbarMargin: [{
|
|
2450
|
+
type: Input
|
|
2451
|
+
}], open: [{
|
|
2452
|
+
type: Input
|
|
2453
|
+
}], openChange: [{
|
|
2454
|
+
type: Output
|
|
2455
|
+
}] } });
|
|
2456
|
+
|
|
2374
2457
|
class FestoAngularComponentsModule {
|
|
2375
2458
|
}
|
|
2376
2459
|
FestoAngularComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2377
|
-
FestoAngularComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, imports: [
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
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
|
-
|
|
2460
|
+
FestoAngularComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, imports: [FngClickOutsideDirective,
|
|
2461
|
+
FngPaginationComponent,
|
|
2462
|
+
FngMobileFlyoutPageComponent,
|
|
2463
|
+
FngMobileFlyoutItemComponent,
|
|
2464
|
+
FngMobileFlyoutComponent,
|
|
2465
|
+
FngLoadingIndicatorComponent,
|
|
2466
|
+
FngChipComponent,
|
|
2467
|
+
FngChipContainerComponent,
|
|
2468
|
+
FngTabsComponent,
|
|
2469
|
+
FngTabPaneComponent,
|
|
2470
|
+
FngBreadcrumbComponent,
|
|
2471
|
+
FngAccordionComponent,
|
|
2472
|
+
FngAccordionHeaderComponent,
|
|
2473
|
+
FngAccordionItemComponent,
|
|
2474
|
+
FngAccordionItemBodyComponent,
|
|
2475
|
+
FngAccordionItemHeaderComponent,
|
|
2476
|
+
FngButtonComponent,
|
|
2477
|
+
FngLinkButtonComponent,
|
|
2478
|
+
FngSearchInputComponent,
|
|
2479
|
+
FngSnackbarContainerComponent,
|
|
2480
|
+
FngStepHorizontalComponent,
|
|
2481
|
+
FngStepperHorizontalComponent,
|
|
2482
|
+
FngStepperVerticalComponent,
|
|
2483
|
+
FngStepVerticalComponent,
|
|
2484
|
+
FngTableHeaderCellDirective,
|
|
2485
|
+
FngScrollableDirective,
|
|
2486
|
+
FngProgressComponent,
|
|
2487
|
+
FngLegendDirective,
|
|
2488
|
+
FngPopoverComponent,
|
|
2489
|
+
FngPopoverContentDirective,
|
|
2490
|
+
FngPopoverContentComponent,
|
|
2491
|
+
FngPopoverMenuComponent,
|
|
2492
|
+
FngTooltipDirective,
|
|
2493
|
+
FngLegendDirective,
|
|
2494
|
+
FngLegendComponent,
|
|
2495
|
+
FngSidebarOverlayComponent], exports: [FngClickOutsideDirective,
|
|
2496
|
+
FngBreadcrumbComponent,
|
|
2497
|
+
FngAccordionComponent,
|
|
2498
|
+
FngAccordionHeaderComponent,
|
|
2499
|
+
FngAccordionItemComponent,
|
|
2500
|
+
FngAccordionItemBodyComponent,
|
|
2501
|
+
FngAccordionItemHeaderComponent,
|
|
2502
|
+
FngButtonComponent,
|
|
2503
|
+
FngLinkButtonComponent,
|
|
2504
|
+
FngChipContainerComponent,
|
|
2505
|
+
FngChipComponent,
|
|
2506
|
+
FngLoadingIndicatorComponent,
|
|
2507
|
+
FngMobileFlyoutComponent,
|
|
2508
|
+
FngMobileFlyoutItemComponent,
|
|
2509
|
+
FngMobileFlyoutPageComponent,
|
|
2510
|
+
FngPaginationComponent,
|
|
2511
|
+
FngSearchInputComponent,
|
|
2512
|
+
FngSnackbarContainerComponent,
|
|
2513
|
+
FngStepHorizontalComponent,
|
|
2514
|
+
FngStepperHorizontalComponent,
|
|
2515
|
+
FngStepperVerticalComponent,
|
|
2516
|
+
FngStepVerticalComponent,
|
|
2517
|
+
FngTableHeaderCellDirective,
|
|
2518
|
+
FngScrollableDirective,
|
|
2519
|
+
FngProgressComponent,
|
|
2520
|
+
FngTabsComponent,
|
|
2521
|
+
FngTabPaneComponent,
|
|
2522
|
+
FngLegendDirective,
|
|
2523
|
+
FngPopoverComponent,
|
|
2524
|
+
FngPopoverContentDirective,
|
|
2525
|
+
FngPopoverContentComponent,
|
|
2526
|
+
FngPopoverMenuComponent,
|
|
2527
|
+
FngTooltipDirective,
|
|
2528
|
+
FngLegendDirective,
|
|
2529
|
+
FngLegendComponent,
|
|
2530
|
+
FngSidebarOverlayComponent] });
|
|
2531
|
+
FestoAngularComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, imports: [FngPaginationComponent,
|
|
2532
|
+
FngMobileFlyoutPageComponent,
|
|
2533
|
+
FngMobileFlyoutItemComponent,
|
|
2534
|
+
FngMobileFlyoutComponent,
|
|
2535
|
+
FngLoadingIndicatorComponent,
|
|
2536
|
+
FngChipComponent,
|
|
2537
|
+
FngChipContainerComponent,
|
|
2538
|
+
FngTabsComponent,
|
|
2539
|
+
FngTabPaneComponent,
|
|
2540
|
+
FngBreadcrumbComponent,
|
|
2541
|
+
FngAccordionComponent,
|
|
2542
|
+
FngAccordionHeaderComponent,
|
|
2543
|
+
FngAccordionItemComponent,
|
|
2544
|
+
FngAccordionItemBodyComponent,
|
|
2545
|
+
FngAccordionItemHeaderComponent,
|
|
2546
|
+
FngButtonComponent,
|
|
2547
|
+
FngLinkButtonComponent,
|
|
2548
|
+
FngSearchInputComponent,
|
|
2549
|
+
FngSnackbarContainerComponent,
|
|
2550
|
+
FngStepHorizontalComponent,
|
|
2551
|
+
FngStepperHorizontalComponent,
|
|
2552
|
+
FngStepperVerticalComponent,
|
|
2553
|
+
FngStepVerticalComponent,
|
|
2554
|
+
FngProgressComponent,
|
|
2555
|
+
FngPopoverComponent,
|
|
2556
|
+
FngPopoverContentComponent,
|
|
2557
|
+
FngPopoverMenuComponent,
|
|
2558
|
+
FngLegendComponent,
|
|
2559
|
+
FngSidebarOverlayComponent] });
|
|
2476
2560
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularComponentsModule, decorators: [{
|
|
2477
2561
|
type: NgModule,
|
|
2478
2562
|
args: [{
|
|
2479
2563
|
imports: [
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2564
|
+
FngClickOutsideDirective,
|
|
2565
|
+
FngPaginationComponent,
|
|
2566
|
+
FngMobileFlyoutPageComponent,
|
|
2567
|
+
FngMobileFlyoutItemComponent,
|
|
2568
|
+
FngMobileFlyoutComponent,
|
|
2569
|
+
FngLoadingIndicatorComponent,
|
|
2570
|
+
FngChipComponent,
|
|
2571
|
+
FngChipContainerComponent,
|
|
2572
|
+
FngTabsComponent,
|
|
2573
|
+
FngTabPaneComponent,
|
|
2574
|
+
FngBreadcrumbComponent,
|
|
2575
|
+
FngAccordionComponent,
|
|
2576
|
+
FngAccordionHeaderComponent,
|
|
2577
|
+
FngAccordionItemComponent,
|
|
2578
|
+
FngAccordionItemBodyComponent,
|
|
2579
|
+
FngAccordionItemHeaderComponent,
|
|
2580
|
+
FngButtonComponent,
|
|
2581
|
+
FngLinkButtonComponent,
|
|
2582
|
+
FngSearchInputComponent,
|
|
2583
|
+
FngSnackbarContainerComponent,
|
|
2584
|
+
FngStepHorizontalComponent,
|
|
2585
|
+
FngStepperHorizontalComponent,
|
|
2586
|
+
FngStepperVerticalComponent,
|
|
2587
|
+
FngStepVerticalComponent,
|
|
2588
|
+
FngTableHeaderCellDirective,
|
|
2589
|
+
FngScrollableDirective,
|
|
2590
|
+
FngProgressComponent,
|
|
2591
|
+
FngLegendDirective,
|
|
2592
|
+
FngPopoverComponent,
|
|
2593
|
+
FngPopoverContentDirective,
|
|
2594
|
+
FngPopoverContentComponent,
|
|
2595
|
+
FngPopoverMenuComponent,
|
|
2596
|
+
FngTooltipDirective,
|
|
2597
|
+
FngLegendDirective,
|
|
2598
|
+
FngLegendComponent,
|
|
2599
|
+
FngSidebarOverlayComponent
|
|
2516
2600
|
],
|
|
2517
2601
|
exports: [
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2602
|
+
FngClickOutsideDirective,
|
|
2603
|
+
FngBreadcrumbComponent,
|
|
2604
|
+
FngAccordionComponent,
|
|
2605
|
+
FngAccordionHeaderComponent,
|
|
2606
|
+
FngAccordionItemComponent,
|
|
2607
|
+
FngAccordionItemBodyComponent,
|
|
2608
|
+
FngAccordionItemHeaderComponent,
|
|
2609
|
+
FngButtonComponent,
|
|
2610
|
+
FngLinkButtonComponent,
|
|
2611
|
+
FngChipContainerComponent,
|
|
2612
|
+
FngChipComponent,
|
|
2613
|
+
FngLoadingIndicatorComponent,
|
|
2614
|
+
FngMobileFlyoutComponent,
|
|
2615
|
+
FngMobileFlyoutItemComponent,
|
|
2616
|
+
FngMobileFlyoutPageComponent,
|
|
2617
|
+
FngPaginationComponent,
|
|
2618
|
+
FngSearchInputComponent,
|
|
2619
|
+
FngSnackbarContainerComponent,
|
|
2620
|
+
FngStepHorizontalComponent,
|
|
2621
|
+
FngStepperHorizontalComponent,
|
|
2622
|
+
FngStepperVerticalComponent,
|
|
2623
|
+
FngStepVerticalComponent,
|
|
2624
|
+
FngTableHeaderCellDirective,
|
|
2625
|
+
FngScrollableDirective,
|
|
2626
|
+
FngProgressComponent,
|
|
2627
|
+
FngTabsComponent,
|
|
2628
|
+
FngTabPaneComponent,
|
|
2629
|
+
FngLegendDirective,
|
|
2630
|
+
FngPopoverComponent,
|
|
2631
|
+
FngPopoverContentDirective,
|
|
2632
|
+
FngPopoverContentComponent,
|
|
2633
|
+
FngPopoverMenuComponent,
|
|
2634
|
+
FngTooltipDirective,
|
|
2635
|
+
FngLegendDirective,
|
|
2636
|
+
FngLegendComponent,
|
|
2637
|
+
FngSidebarOverlayComponent
|
|
2552
2638
|
]
|
|
2553
2639
|
}]
|
|
2554
2640
|
}] });
|
|
@@ -2556,19 +2642,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2556
2642
|
class FestoAngularSnackbarModule {
|
|
2557
2643
|
}
|
|
2558
2644
|
FestoAngularSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2559
|
-
FestoAngularSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [
|
|
2560
|
-
FestoAngularSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [
|
|
2645
|
+
FestoAngularSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [FngSnackbarComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent], exports: [FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent] });
|
|
2646
|
+
FestoAngularSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, imports: [FngSnackbarComponent, FngSnackbarContainerComponent] });
|
|
2561
2647
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularSnackbarModule, decorators: [{
|
|
2562
2648
|
type: NgModule,
|
|
2563
2649
|
args: [{
|
|
2564
|
-
imports: [
|
|
2565
|
-
exports: [
|
|
2566
|
-
providers: []
|
|
2650
|
+
imports: [FngSnackbarComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent],
|
|
2651
|
+
exports: [FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent],
|
|
2652
|
+
providers: []
|
|
2567
2653
|
// bootstrap: [SnackbarComponent]
|
|
2568
2654
|
}]
|
|
2569
2655
|
}] });
|
|
2570
2656
|
|
|
2571
|
-
class
|
|
2657
|
+
class FngAlertComponent {
|
|
2572
2658
|
constructor() {
|
|
2573
2659
|
this.data = {};
|
|
2574
2660
|
this.close = new EventEmitter();
|
|
@@ -2597,11 +2683,11 @@ class AlertComponent {
|
|
|
2597
2683
|
this.cancel.emit();
|
|
2598
2684
|
}
|
|
2599
2685
|
}
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2686
|
+
FngAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2687
|
+
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 });
|
|
2688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngAlertComponent, decorators: [{
|
|
2603
2689
|
type: Component,
|
|
2604
|
-
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\"
|
|
2690
|
+
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" }]
|
|
2605
2691
|
}], propDecorators: { data: [{
|
|
2606
2692
|
type: Input
|
|
2607
2693
|
}], close: [{
|
|
@@ -2618,7 +2704,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2618
2704
|
args: ['window:keyup', ['$event']]
|
|
2619
2705
|
}] } });
|
|
2620
2706
|
|
|
2621
|
-
class
|
|
2707
|
+
class FngConfirmComponent {
|
|
2622
2708
|
onKeyUp(event) {
|
|
2623
2709
|
event.preventDefault();
|
|
2624
2710
|
event.stopPropagation();
|
|
@@ -2648,11 +2734,11 @@ class ConfirmComponent {
|
|
|
2648
2734
|
this.cancel.emit();
|
|
2649
2735
|
}
|
|
2650
2736
|
}
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
2737
|
+
FngConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngConfirmComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2738
|
+
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 });
|
|
2739
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngConfirmComponent, decorators: [{
|
|
2654
2740
|
type: Component,
|
|
2655
|
-
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\"
|
|
2741
|
+
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" }]
|
|
2656
2742
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
2657
2743
|
type: Input
|
|
2658
2744
|
}], close: [{
|
|
@@ -2669,7 +2755,208 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2669
2755
|
args: ['window:keyup', ['$event']]
|
|
2670
2756
|
}] } });
|
|
2671
2757
|
|
|
2672
|
-
|
|
2758
|
+
/**
|
|
2759
|
+
* A custom form element for text inputs.
|
|
2760
|
+
*/
|
|
2761
|
+
class FngTextInputComponent {
|
|
2762
|
+
constructor() {
|
|
2763
|
+
/**
|
|
2764
|
+
* The text input label.
|
|
2765
|
+
*/
|
|
2766
|
+
this.label = '';
|
|
2767
|
+
this.innerType = 'text';
|
|
2768
|
+
this.innerReadonly = false;
|
|
2769
|
+
this.step = undefined;
|
|
2770
|
+
this.min = undefined;
|
|
2771
|
+
this.max = undefined;
|
|
2772
|
+
this.tabindex = undefined;
|
|
2773
|
+
this.placeholder = undefined;
|
|
2774
|
+
this.name = '';
|
|
2775
|
+
this.innerDisabled = false;
|
|
2776
|
+
/**
|
|
2777
|
+
* The inner value.
|
|
2778
|
+
*/
|
|
2779
|
+
this.innerValue = '';
|
|
2780
|
+
this.innerRequired = false;
|
|
2781
|
+
/**
|
|
2782
|
+
* Error description when invalid.
|
|
2783
|
+
*/
|
|
2784
|
+
this.error = '';
|
|
2785
|
+
/**
|
|
2786
|
+
* Hint description when valid.
|
|
2787
|
+
*/
|
|
2788
|
+
this.hint = undefined;
|
|
2789
|
+
/**
|
|
2790
|
+
* When true the text input has focus.
|
|
2791
|
+
*/
|
|
2792
|
+
this.focused = false;
|
|
2793
|
+
}
|
|
2794
|
+
/**
|
|
2795
|
+
* A string specifying the type of control to render.
|
|
2796
|
+
*/
|
|
2797
|
+
get type() {
|
|
2798
|
+
return this.innerType;
|
|
2799
|
+
}
|
|
2800
|
+
set type(value) {
|
|
2801
|
+
const supported = ['text', 'number', 'password', 'date', 'time', 'datetime-local'];
|
|
2802
|
+
if (value != null && supported.indexOf(value) !== -1) {
|
|
2803
|
+
this.innerType = value;
|
|
2804
|
+
}
|
|
2805
|
+
else {
|
|
2806
|
+
this.innerType = 'text';
|
|
2807
|
+
}
|
|
2808
|
+
}
|
|
2809
|
+
get readonly() {
|
|
2810
|
+
return this.innerReadonly;
|
|
2811
|
+
}
|
|
2812
|
+
set readonly(value) {
|
|
2813
|
+
this.innerReadonly = coerceBooleanProperty(value);
|
|
2814
|
+
}
|
|
2815
|
+
/**
|
|
2816
|
+
* When true the control's disabled attribute is set
|
|
2817
|
+
* and it gets addeed the .disabled css class.
|
|
2818
|
+
*/
|
|
2819
|
+
get disabled() {
|
|
2820
|
+
return this.innerDisabled;
|
|
2821
|
+
}
|
|
2822
|
+
set disabled(value) {
|
|
2823
|
+
this.innerDisabled = coerceBooleanProperty(value);
|
|
2824
|
+
if (this.focused) {
|
|
2825
|
+
this.focused = false;
|
|
2826
|
+
}
|
|
2827
|
+
}
|
|
2828
|
+
/**
|
|
2829
|
+
* The getter for value.
|
|
2830
|
+
*/
|
|
2831
|
+
get value() {
|
|
2832
|
+
return this.innerValue;
|
|
2833
|
+
}
|
|
2834
|
+
/**
|
|
2835
|
+
* The setter for value.
|
|
2836
|
+
*/
|
|
2837
|
+
set value(value) {
|
|
2838
|
+
if (value != null) {
|
|
2839
|
+
value = '' + value;
|
|
2840
|
+
}
|
|
2841
|
+
this.innerValue = value;
|
|
2842
|
+
this.focused = !!value;
|
|
2843
|
+
if (this.onChange != null) {
|
|
2844
|
+
this.onChange(value);
|
|
2845
|
+
}
|
|
2846
|
+
if (this.onTouched != null) {
|
|
2847
|
+
this.onTouched();
|
|
2848
|
+
}
|
|
2849
|
+
}
|
|
2850
|
+
get required() {
|
|
2851
|
+
return this.innerRequired;
|
|
2852
|
+
}
|
|
2853
|
+
set required(value) {
|
|
2854
|
+
this.innerRequired = coerceBooleanProperty(value);
|
|
2855
|
+
}
|
|
2856
|
+
/**
|
|
2857
|
+
* Called on component initialisation.
|
|
2858
|
+
*/
|
|
2859
|
+
ngOnInit() {
|
|
2860
|
+
this.onBlur();
|
|
2861
|
+
}
|
|
2862
|
+
/**
|
|
2863
|
+
* Writes the value.
|
|
2864
|
+
* @param value The value.
|
|
2865
|
+
*/
|
|
2866
|
+
writeValue(value) {
|
|
2867
|
+
if (value != null) {
|
|
2868
|
+
value = '' + value;
|
|
2869
|
+
}
|
|
2870
|
+
this.innerValue = value;
|
|
2871
|
+
this.focused = !!value;
|
|
2872
|
+
}
|
|
2873
|
+
/**
|
|
2874
|
+
* Registers a function to onChange.
|
|
2875
|
+
* @param fn The registered function.
|
|
2876
|
+
*/
|
|
2877
|
+
registerOnChange(fn) {
|
|
2878
|
+
this.onChange = fn;
|
|
2879
|
+
}
|
|
2880
|
+
/**
|
|
2881
|
+
* Registers a function to onTouched.
|
|
2882
|
+
* @param fn The registered function.
|
|
2883
|
+
*/
|
|
2884
|
+
registerOnTouched(fn) {
|
|
2885
|
+
this.onTouched = fn;
|
|
2886
|
+
}
|
|
2887
|
+
/**
|
|
2888
|
+
* Called when the text input is in focus.
|
|
2889
|
+
*/
|
|
2890
|
+
onFocus() {
|
|
2891
|
+
this.focused = true;
|
|
2892
|
+
}
|
|
2893
|
+
/**
|
|
2894
|
+
* Called when the text input blurs.
|
|
2895
|
+
*/
|
|
2896
|
+
onBlur() {
|
|
2897
|
+
if (this.focused) {
|
|
2898
|
+
this.focused = false;
|
|
2899
|
+
}
|
|
2900
|
+
}
|
|
2901
|
+
/**
|
|
2902
|
+
* Sets the disabled state.
|
|
2903
|
+
* @param isDisabled When true the control is disabled
|
|
2904
|
+
*/
|
|
2905
|
+
setDisabledState(isDisabled) {
|
|
2906
|
+
this.disabled = isDisabled;
|
|
2907
|
+
}
|
|
2908
|
+
}
|
|
2909
|
+
FngTextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2910
|
+
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: [
|
|
2911
|
+
{
|
|
2912
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2913
|
+
useExisting: forwardRef(() => FngTextInputComponent),
|
|
2914
|
+
multi: true
|
|
2915
|
+
}
|
|
2916
|
+
], 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 });
|
|
2917
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextInputComponent, decorators: [{
|
|
2918
|
+
type: Component,
|
|
2919
|
+
args: [{ standalone: true, imports: [CommonModule, FormsModule], selector: 'fng-text-input', providers: [
|
|
2920
|
+
{
|
|
2921
|
+
provide: NG_VALUE_ACCESSOR,
|
|
2922
|
+
useExisting: forwardRef(() => FngTextInputComponent),
|
|
2923
|
+
multi: true
|
|
2924
|
+
}
|
|
2925
|
+
], 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"] }]
|
|
2926
|
+
}], propDecorators: { label: [{
|
|
2927
|
+
type: Input
|
|
2928
|
+
}], type: [{
|
|
2929
|
+
type: Input
|
|
2930
|
+
}], readonly: [{
|
|
2931
|
+
type: Input
|
|
2932
|
+
}], step: [{
|
|
2933
|
+
type: Input
|
|
2934
|
+
}], min: [{
|
|
2935
|
+
type: Input
|
|
2936
|
+
}], max: [{
|
|
2937
|
+
type: Input
|
|
2938
|
+
}], tabindex: [{
|
|
2939
|
+
type: Input
|
|
2940
|
+
}], placeholder: [{
|
|
2941
|
+
type: Input
|
|
2942
|
+
}], name: [{
|
|
2943
|
+
type: Input
|
|
2944
|
+
}], disabled: [{
|
|
2945
|
+
type: Input
|
|
2946
|
+
}], value: [{
|
|
2947
|
+
type: Input
|
|
2948
|
+
}], required: [{
|
|
2949
|
+
type: Input
|
|
2950
|
+
}], error: [{
|
|
2951
|
+
type: Input
|
|
2952
|
+
}], hint: [{
|
|
2953
|
+
type: Input
|
|
2954
|
+
}], inputElement: [{
|
|
2955
|
+
type: ViewChild,
|
|
2956
|
+
args: ['inputElement']
|
|
2957
|
+
}] } });
|
|
2958
|
+
|
|
2959
|
+
class FngPromptComponent {
|
|
2673
2960
|
get text() {
|
|
2674
2961
|
return this.form?.get('text')?.value;
|
|
2675
2962
|
}
|
|
@@ -2694,6 +2981,9 @@ class PromptComponent {
|
|
|
2694
2981
|
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
2695
2982
|
this.onClose();
|
|
2696
2983
|
}
|
|
2984
|
+
if (event.key === 'Enter') {
|
|
2985
|
+
this.onOk();
|
|
2986
|
+
}
|
|
2697
2987
|
}
|
|
2698
2988
|
ngOnInit() {
|
|
2699
2989
|
const text = this.data.value || '';
|
|
@@ -2712,10 +3002,11 @@ class PromptComponent {
|
|
|
2712
3002
|
this.error = '';
|
|
2713
3003
|
}
|
|
2714
3004
|
});
|
|
3005
|
+
this.handleErrors();
|
|
2715
3006
|
}
|
|
2716
3007
|
ngAfterViewInit() {
|
|
2717
|
-
if (this.
|
|
2718
|
-
this.
|
|
3008
|
+
if (this.inputField) {
|
|
3009
|
+
(this.inputField.inputElement?.nativeElement).focus();
|
|
2719
3010
|
}
|
|
2720
3011
|
}
|
|
2721
3012
|
ngOnDestroy() {
|
|
@@ -2746,11 +3037,11 @@ class PromptComponent {
|
|
|
2746
3037
|
}
|
|
2747
3038
|
}
|
|
2748
3039
|
}
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3040
|
+
FngPromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPromptComponent, deps: [{ token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
3041
|
+
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 });
|
|
3042
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngPromptComponent, decorators: [{
|
|
2752
3043
|
type: Component,
|
|
2753
|
-
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 <
|
|
3044
|
+
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" }]
|
|
2754
3045
|
}], ctorParameters: function () { return [{ type: i3.FormBuilder }]; }, propDecorators: { data: [{
|
|
2755
3046
|
type: Input
|
|
2756
3047
|
}], close: [{
|
|
@@ -2762,12 +3053,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2762
3053
|
}], closeBtn: [{
|
|
2763
3054
|
type: ViewChild,
|
|
2764
3055
|
args: ['closeBtn']
|
|
3056
|
+
}], inputField: [{
|
|
3057
|
+
type: ViewChild,
|
|
3058
|
+
args: ['inputField']
|
|
2765
3059
|
}], onKeyUp: [{
|
|
2766
3060
|
type: HostListener,
|
|
2767
3061
|
args: ['window:keyup', ['$event']]
|
|
2768
3062
|
}] } });
|
|
2769
3063
|
|
|
2770
|
-
class
|
|
3064
|
+
class FngCustomModalComponent {
|
|
2771
3065
|
constructor() {
|
|
2772
3066
|
this.closeOnBackdrop = false;
|
|
2773
3067
|
this.large = false;
|
|
@@ -2779,6 +3073,7 @@ class CustomModalComponent {
|
|
|
2779
3073
|
this.acknowledge = new EventEmitter();
|
|
2780
3074
|
this.cancelLabel = 'Cancel';
|
|
2781
3075
|
this.cancel = new EventEmitter();
|
|
3076
|
+
this.close = new EventEmitter();
|
|
2782
3077
|
}
|
|
2783
3078
|
closeModal() {
|
|
2784
3079
|
this.visible = false;
|
|
@@ -2786,6 +3081,12 @@ class CustomModalComponent {
|
|
|
2786
3081
|
this.visibleChange.emit(false);
|
|
2787
3082
|
}
|
|
2788
3083
|
}
|
|
3084
|
+
onClose() {
|
|
3085
|
+
if (this.close) {
|
|
3086
|
+
this.close.emit();
|
|
3087
|
+
}
|
|
3088
|
+
this.closeModal();
|
|
3089
|
+
}
|
|
2789
3090
|
onCancel() {
|
|
2790
3091
|
this.closeModal();
|
|
2791
3092
|
if (this.cancel) {
|
|
@@ -2799,18 +3100,18 @@ class CustomModalComponent {
|
|
|
2799
3100
|
}
|
|
2800
3101
|
onClickOutside() {
|
|
2801
3102
|
if (this.closeOnBackdrop) {
|
|
2802
|
-
this.
|
|
3103
|
+
this.onClose();
|
|
2803
3104
|
}
|
|
2804
3105
|
}
|
|
2805
3106
|
onClickInside(event) {
|
|
2806
3107
|
event.stopPropagation();
|
|
2807
3108
|
}
|
|
2808
3109
|
}
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3110
|
+
FngCustomModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3111
|
+
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"] }] });
|
|
3112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, decorators: [{
|
|
2812
3113
|
type: Component,
|
|
2813
|
-
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)=\"
|
|
3114
|
+
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" }]
|
|
2814
3115
|
}], propDecorators: { closeOnBackdrop: [{
|
|
2815
3116
|
type: Input
|
|
2816
3117
|
}], large: [{
|
|
@@ -2831,24 +3132,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2831
3132
|
type: Input
|
|
2832
3133
|
}], cancel: [{
|
|
2833
3134
|
type: Output
|
|
3135
|
+
}], close: [{
|
|
3136
|
+
type: Output
|
|
2834
3137
|
}] } });
|
|
2835
3138
|
|
|
2836
|
-
class FestoAngularModalsModule {
|
|
2837
|
-
}
|
|
2838
|
-
FestoAngularModalsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2839
|
-
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] });
|
|
2840
|
-
FestoAngularModalsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, imports: [CommonModule, RouterModule, OverlayModule, AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent] });
|
|
2841
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, decorators: [{
|
|
2842
|
-
type: NgModule,
|
|
2843
|
-
args: [{
|
|
2844
|
-
imports: [CommonModule, RouterModule, OverlayModule, AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent],
|
|
2845
|
-
exports: [AlertComponent, ConfirmComponent, PromptComponent, CustomModalComponent],
|
|
2846
|
-
providers: []
|
|
2847
|
-
}]
|
|
2848
|
-
}] });
|
|
2849
|
-
|
|
2850
3139
|
SwiperCore.use([FreeMode, Navigation, Keyboard, Thumbs, Zoom]);
|
|
2851
|
-
class
|
|
3140
|
+
class FngImageGalleryComponent {
|
|
2852
3141
|
constructor(cd) {
|
|
2853
3142
|
this.cd = cd;
|
|
2854
3143
|
this.data = {
|
|
@@ -2883,11 +3172,11 @@ class ImageGalleryComponent {
|
|
|
2883
3172
|
this.close.emit();
|
|
2884
3173
|
}
|
|
2885
3174
|
}
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3175
|
+
FngImageGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3176
|
+
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 });
|
|
3177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, decorators: [{
|
|
2889
3178
|
type: Component,
|
|
2890
|
-
args: [{ standalone: true, imports: [SwiperModule, CommonModule,
|
|
3179
|
+
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" }]
|
|
2891
3180
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
2892
3181
|
type: Input
|
|
2893
3182
|
}], close: [{
|
|
@@ -2901,13 +3190,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
2901
3190
|
args: ['window:keyup', ['$event']]
|
|
2902
3191
|
}] } });
|
|
2903
3192
|
|
|
2904
|
-
class
|
|
3193
|
+
class FestoAngularModalsModule {
|
|
3194
|
+
}
|
|
3195
|
+
FestoAngularModalsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3196
|
+
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] });
|
|
3197
|
+
FestoAngularModalsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, imports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent] });
|
|
3198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModalsModule, decorators: [{
|
|
3199
|
+
type: NgModule,
|
|
3200
|
+
args: [{
|
|
3201
|
+
imports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent],
|
|
3202
|
+
exports: [FngAlertComponent, FngConfirmComponent, FngPromptComponent, FngCustomModalComponent, FngImageGalleryComponent],
|
|
3203
|
+
providers: []
|
|
3204
|
+
}]
|
|
3205
|
+
}] });
|
|
3206
|
+
|
|
3207
|
+
class FngModalService {
|
|
2905
3208
|
constructor(overlay, router) {
|
|
2906
3209
|
this.overlay = overlay;
|
|
2907
3210
|
this.router = router;
|
|
2908
3211
|
}
|
|
2909
3212
|
alert(data, options) {
|
|
2910
|
-
return this.open(data,
|
|
3213
|
+
return this.open(data, FngAlertComponent, {
|
|
2911
3214
|
backdropClass: 'fwe-modal-backdrop',
|
|
2912
3215
|
hasBackdrop: true,
|
|
2913
3216
|
shouldCloseOnBackdrop: true,
|
|
@@ -2920,7 +3223,7 @@ class ModalService {
|
|
|
2920
3223
|
hasBackdrop: true,
|
|
2921
3224
|
shouldCloseOnBackdrop: true
|
|
2922
3225
|
};
|
|
2923
|
-
return this.open(data,
|
|
3226
|
+
return this.open(data, FngConfirmComponent, options);
|
|
2924
3227
|
}
|
|
2925
3228
|
prompt(data, options) {
|
|
2926
3229
|
options = options || {
|
|
@@ -2928,7 +3231,7 @@ class ModalService {
|
|
|
2928
3231
|
hasBackdrop: true,
|
|
2929
3232
|
shouldCloseOnBackdrop: true
|
|
2930
3233
|
};
|
|
2931
|
-
return this.open(data,
|
|
3234
|
+
return this.open(data, FngPromptComponent, options);
|
|
2932
3235
|
}
|
|
2933
3236
|
openImageGallery(data) {
|
|
2934
3237
|
const options = {
|
|
@@ -2936,7 +3239,7 @@ class ModalService {
|
|
|
2936
3239
|
hasBackdrop: true,
|
|
2937
3240
|
shouldCloseOnBackdrop: true
|
|
2938
3241
|
};
|
|
2939
|
-
return this.open(data,
|
|
3242
|
+
return this.open(data, FngImageGalleryComponent, options);
|
|
2940
3243
|
}
|
|
2941
3244
|
open(data, modal, options) {
|
|
2942
3245
|
return new Promise((resolve, reject) => {
|
|
@@ -3000,15 +3303,15 @@ class ModalService {
|
|
|
3000
3303
|
});
|
|
3001
3304
|
}
|
|
3002
3305
|
}
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3306
|
+
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 });
|
|
3307
|
+
FngModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngModalService, providedIn: 'root' });
|
|
3308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngModalService, decorators: [{
|
|
3006
3309
|
type: Injectable,
|
|
3007
3310
|
args: [{ providedIn: 'root' }]
|
|
3008
3311
|
}], ctorParameters: function () { return [{ type: i1$3.Overlay }, { type: i1.Router }]; } });
|
|
3009
3312
|
|
|
3010
3313
|
let nextUniqueId$2 = 0;
|
|
3011
|
-
class
|
|
3314
|
+
class FngCheckboxComponent {
|
|
3012
3315
|
get id() {
|
|
3013
3316
|
return this.innerId;
|
|
3014
3317
|
}
|
|
@@ -3112,20 +3415,20 @@ class CheckboxComponent {
|
|
|
3112
3415
|
}
|
|
3113
3416
|
}
|
|
3114
3417
|
}
|
|
3115
|
-
|
|
3116
|
-
|
|
3418
|
+
FngCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3419
|
+
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: [
|
|
3117
3420
|
{
|
|
3118
3421
|
provide: NG_VALUE_ACCESSOR,
|
|
3119
|
-
useExisting: forwardRef(() =>
|
|
3422
|
+
useExisting: forwardRef(() => FngCheckboxComponent),
|
|
3120
3423
|
multi: true
|
|
3121
3424
|
}
|
|
3122
3425
|
], 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 });
|
|
3123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3426
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCheckboxComponent, decorators: [{
|
|
3124
3427
|
type: Component,
|
|
3125
3428
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
3126
3429
|
{
|
|
3127
3430
|
provide: NG_VALUE_ACCESSOR,
|
|
3128
|
-
useExisting: forwardRef(() =>
|
|
3431
|
+
useExisting: forwardRef(() => FngCheckboxComponent),
|
|
3129
3432
|
multi: true
|
|
3130
3433
|
}
|
|
3131
3434
|
], 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"] }]
|
|
@@ -3158,7 +3461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3158
3461
|
/**
|
|
3159
3462
|
* A control to display a color.
|
|
3160
3463
|
*/
|
|
3161
|
-
class
|
|
3464
|
+
class FngColorIndicatorComponent {
|
|
3162
3465
|
constructor() {
|
|
3163
3466
|
/**
|
|
3164
3467
|
* The label above the color.
|
|
@@ -3220,9 +3523,9 @@ class ColorIndicatorComponent {
|
|
|
3220
3523
|
}
|
|
3221
3524
|
}
|
|
3222
3525
|
}
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3526
|
+
FngColorIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3527
|
+
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"] }] });
|
|
3528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorIndicatorComponent, decorators: [{
|
|
3226
3529
|
type: Component,
|
|
3227
3530
|
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"] }]
|
|
3228
3531
|
}], propDecorators: { label: [{
|
|
@@ -3382,7 +3685,7 @@ const PREDEFINED_COLORS = [
|
|
|
3382
3685
|
/**
|
|
3383
3686
|
* A custom form element to pick a color.
|
|
3384
3687
|
*/
|
|
3385
|
-
class
|
|
3688
|
+
class FngColorPickerComponent {
|
|
3386
3689
|
constructor() {
|
|
3387
3690
|
this.baseSize = 184;
|
|
3388
3691
|
this.inputType = 'RGB';
|
|
@@ -3615,20 +3918,20 @@ class ColorPickerComponent {
|
|
|
3615
3918
|
this.isSelectOpen = false;
|
|
3616
3919
|
}
|
|
3617
3920
|
}
|
|
3618
|
-
|
|
3619
|
-
|
|
3921
|
+
FngColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3922
|
+
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: [
|
|
3620
3923
|
{
|
|
3621
3924
|
provide: NG_VALUE_ACCESSOR,
|
|
3622
|
-
useExisting: forwardRef(() =>
|
|
3925
|
+
useExisting: forwardRef(() => FngColorPickerComponent),
|
|
3623
3926
|
multi: true
|
|
3624
3927
|
}
|
|
3625
3928
|
], 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 });
|
|
3626
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
3929
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngColorPickerComponent, decorators: [{
|
|
3627
3930
|
type: Component,
|
|
3628
3931
|
args: [{ standalone: true, imports: [CommonModule, DragDropModule, FormsModule], selector: 'fng-color-picker', providers: [
|
|
3629
3932
|
{
|
|
3630
3933
|
provide: NG_VALUE_ACCESSOR,
|
|
3631
|
-
useExisting: forwardRef(() =>
|
|
3934
|
+
useExisting: forwardRef(() => FngColorPickerComponent),
|
|
3632
3935
|
multi: true
|
|
3633
3936
|
}
|
|
3634
3937
|
], 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"] }]
|
|
@@ -3648,208 +3951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3648
3951
|
type: Input
|
|
3649
3952
|
}] } });
|
|
3650
3953
|
|
|
3651
|
-
|
|
3652
|
-
* A custom form element for text inputs.
|
|
3653
|
-
*/
|
|
3654
|
-
class TextInputComponent {
|
|
3655
|
-
constructor() {
|
|
3656
|
-
/**
|
|
3657
|
-
* The text input label.
|
|
3658
|
-
*/
|
|
3659
|
-
this.label = '';
|
|
3660
|
-
this.innerType = 'text';
|
|
3661
|
-
this.innerReadonly = false;
|
|
3662
|
-
this.step = 0;
|
|
3663
|
-
this.min = 0;
|
|
3664
|
-
this.max = 0;
|
|
3665
|
-
this.tabindex = 0;
|
|
3666
|
-
this.placeholder = '';
|
|
3667
|
-
this.name = '';
|
|
3668
|
-
this.innerDisabled = false;
|
|
3669
|
-
/**
|
|
3670
|
-
* The inner value.
|
|
3671
|
-
*/
|
|
3672
|
-
this.innerValue = '';
|
|
3673
|
-
this.innerRequired = false;
|
|
3674
|
-
/**
|
|
3675
|
-
* Error description when invalid.
|
|
3676
|
-
*/
|
|
3677
|
-
this.error = '';
|
|
3678
|
-
/**
|
|
3679
|
-
* Hint description when valid.
|
|
3680
|
-
*/
|
|
3681
|
-
this.hint = '';
|
|
3682
|
-
/**
|
|
3683
|
-
* When true the text input has focus.
|
|
3684
|
-
*/
|
|
3685
|
-
this.focused = false;
|
|
3686
|
-
}
|
|
3687
|
-
/**
|
|
3688
|
-
* A string specifying the type of control to render.
|
|
3689
|
-
*/
|
|
3690
|
-
get type() {
|
|
3691
|
-
return this.innerType;
|
|
3692
|
-
}
|
|
3693
|
-
set type(value) {
|
|
3694
|
-
const supported = ['text', 'number', 'password', 'date', 'time', 'datetime-local'];
|
|
3695
|
-
if (value != null && supported.indexOf(value) !== -1) {
|
|
3696
|
-
this.innerType = value;
|
|
3697
|
-
}
|
|
3698
|
-
else {
|
|
3699
|
-
this.innerType = 'text';
|
|
3700
|
-
}
|
|
3701
|
-
}
|
|
3702
|
-
get readonly() {
|
|
3703
|
-
return this.innerReadonly;
|
|
3704
|
-
}
|
|
3705
|
-
set readonly(value) {
|
|
3706
|
-
this.innerReadonly = coerceBooleanProperty(value);
|
|
3707
|
-
}
|
|
3708
|
-
/**
|
|
3709
|
-
* When true the control's disabled attribute is set
|
|
3710
|
-
* and it gets addeed the .disabled css class.
|
|
3711
|
-
*/
|
|
3712
|
-
get disabled() {
|
|
3713
|
-
return this.innerDisabled;
|
|
3714
|
-
}
|
|
3715
|
-
set disabled(value) {
|
|
3716
|
-
this.innerDisabled = coerceBooleanProperty(value);
|
|
3717
|
-
if (this.focused) {
|
|
3718
|
-
this.focused = false;
|
|
3719
|
-
}
|
|
3720
|
-
}
|
|
3721
|
-
/**
|
|
3722
|
-
* The getter for value.
|
|
3723
|
-
*/
|
|
3724
|
-
get value() {
|
|
3725
|
-
return this.innerValue;
|
|
3726
|
-
}
|
|
3727
|
-
/**
|
|
3728
|
-
* The setter for value.
|
|
3729
|
-
*/
|
|
3730
|
-
set value(value) {
|
|
3731
|
-
if (value != null) {
|
|
3732
|
-
value = '' + value;
|
|
3733
|
-
}
|
|
3734
|
-
this.innerValue = value;
|
|
3735
|
-
this.focused = !!value;
|
|
3736
|
-
if (this.onChange != null) {
|
|
3737
|
-
this.onChange(value);
|
|
3738
|
-
}
|
|
3739
|
-
if (this.onTouched != null) {
|
|
3740
|
-
this.onTouched();
|
|
3741
|
-
}
|
|
3742
|
-
}
|
|
3743
|
-
get required() {
|
|
3744
|
-
return this.innerRequired;
|
|
3745
|
-
}
|
|
3746
|
-
set required(value) {
|
|
3747
|
-
this.innerRequired = coerceBooleanProperty(value);
|
|
3748
|
-
}
|
|
3749
|
-
/**
|
|
3750
|
-
* Called on component initialisation.
|
|
3751
|
-
*/
|
|
3752
|
-
ngOnInit() {
|
|
3753
|
-
this.onBlur();
|
|
3754
|
-
}
|
|
3755
|
-
/**
|
|
3756
|
-
* Writes the value.
|
|
3757
|
-
* @param value The value.
|
|
3758
|
-
*/
|
|
3759
|
-
writeValue(value) {
|
|
3760
|
-
if (value != null) {
|
|
3761
|
-
value = '' + value;
|
|
3762
|
-
}
|
|
3763
|
-
this.innerValue = value;
|
|
3764
|
-
this.focused = !!value;
|
|
3765
|
-
}
|
|
3766
|
-
/**
|
|
3767
|
-
* Registers a function to onChange.
|
|
3768
|
-
* @param fn The registered function.
|
|
3769
|
-
*/
|
|
3770
|
-
registerOnChange(fn) {
|
|
3771
|
-
this.onChange = fn;
|
|
3772
|
-
}
|
|
3773
|
-
/**
|
|
3774
|
-
* Registers a function to onTouched.
|
|
3775
|
-
* @param fn The registered function.
|
|
3776
|
-
*/
|
|
3777
|
-
registerOnTouched(fn) {
|
|
3778
|
-
this.onTouched = fn;
|
|
3779
|
-
}
|
|
3780
|
-
/**
|
|
3781
|
-
* Called when the text input is in focus.
|
|
3782
|
-
*/
|
|
3783
|
-
onFocus() {
|
|
3784
|
-
this.focused = true;
|
|
3785
|
-
}
|
|
3786
|
-
/**
|
|
3787
|
-
* Called when the text input blurs.
|
|
3788
|
-
*/
|
|
3789
|
-
onBlur() {
|
|
3790
|
-
if (this.focused) {
|
|
3791
|
-
this.focused = false;
|
|
3792
|
-
}
|
|
3793
|
-
}
|
|
3794
|
-
/**
|
|
3795
|
-
* Sets the disabled state.
|
|
3796
|
-
* @param isDisabled When true the control is disabled
|
|
3797
|
-
*/
|
|
3798
|
-
setDisabledState(isDisabled) {
|
|
3799
|
-
this.disabled = isDisabled;
|
|
3800
|
-
}
|
|
3801
|
-
}
|
|
3802
|
-
TextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3803
|
-
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: [
|
|
3804
|
-
{
|
|
3805
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3806
|
-
useExisting: forwardRef(() => TextInputComponent),
|
|
3807
|
-
multi: true
|
|
3808
|
-
}
|
|
3809
|
-
], 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 });
|
|
3810
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
3811
|
-
type: Component,
|
|
3812
|
-
args: [{ standalone: true, imports: [CommonModule, FormsModule], selector: 'fng-text-input', providers: [
|
|
3813
|
-
{
|
|
3814
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3815
|
-
useExisting: forwardRef(() => TextInputComponent),
|
|
3816
|
-
multi: true
|
|
3817
|
-
}
|
|
3818
|
-
], 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"] }]
|
|
3819
|
-
}], propDecorators: { label: [{
|
|
3820
|
-
type: Input
|
|
3821
|
-
}], type: [{
|
|
3822
|
-
type: Input
|
|
3823
|
-
}], readonly: [{
|
|
3824
|
-
type: Input
|
|
3825
|
-
}], step: [{
|
|
3826
|
-
type: Input
|
|
3827
|
-
}], min: [{
|
|
3828
|
-
type: Input
|
|
3829
|
-
}], max: [{
|
|
3830
|
-
type: Input
|
|
3831
|
-
}], tabindex: [{
|
|
3832
|
-
type: Input
|
|
3833
|
-
}], placeholder: [{
|
|
3834
|
-
type: Input
|
|
3835
|
-
}], name: [{
|
|
3836
|
-
type: Input
|
|
3837
|
-
}], disabled: [{
|
|
3838
|
-
type: Input
|
|
3839
|
-
}], value: [{
|
|
3840
|
-
type: Input
|
|
3841
|
-
}], required: [{
|
|
3842
|
-
type: Input
|
|
3843
|
-
}], error: [{
|
|
3844
|
-
type: Input
|
|
3845
|
-
}], hint: [{
|
|
3846
|
-
type: Input
|
|
3847
|
-
}], inputElement: [{
|
|
3848
|
-
type: ViewChild,
|
|
3849
|
-
args: ['inputElement']
|
|
3850
|
-
}] } });
|
|
3851
|
-
|
|
3852
|
-
class TimePickerDropdownComponent {
|
|
3954
|
+
class FngTimePickerDropdownComponent {
|
|
3853
3955
|
constructor() {
|
|
3854
3956
|
this.date = new Date();
|
|
3855
3957
|
this.showSeconds = false;
|
|
@@ -3915,9 +4017,9 @@ class TimePickerDropdownComponent {
|
|
|
3915
4017
|
}
|
|
3916
4018
|
}
|
|
3917
4019
|
}
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4020
|
+
FngTimePickerDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4021
|
+
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 });
|
|
4022
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerDropdownComponent, decorators: [{
|
|
3921
4023
|
type: Component,
|
|
3922
4024
|
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"] }]
|
|
3923
4025
|
}], propDecorators: { date: [{
|
|
@@ -3936,7 +4038,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
3936
4038
|
args: ['document:keydown', ['$event']]
|
|
3937
4039
|
}] } });
|
|
3938
4040
|
|
|
3939
|
-
class
|
|
4041
|
+
class FngTimePickerComponent {
|
|
3940
4042
|
get value() {
|
|
3941
4043
|
return this.innerValue;
|
|
3942
4044
|
}
|
|
@@ -4036,7 +4138,7 @@ class TimePickerComponent {
|
|
|
4036
4138
|
.withFlexibleDimensions(false)
|
|
4037
4139
|
.withPush(false)
|
|
4038
4140
|
});
|
|
4039
|
-
const timePickerPortal = new ComponentPortal(
|
|
4141
|
+
const timePickerPortal = new ComponentPortal(FngTimePickerDropdownComponent);
|
|
4040
4142
|
this.timePicker = this.timePickerRef.attach(timePickerPortal);
|
|
4041
4143
|
this.timePicker.instance.timeFormat = this.options != null && this.options.timeFormat != null ? this.options.timeFormat : '24';
|
|
4042
4144
|
this.timePicker.instance.showSeconds = this.options != null && this.options.showSeconds != null ? this.options.showSeconds : false;
|
|
@@ -4071,20 +4173,20 @@ class TimePickerComponent {
|
|
|
4071
4173
|
}
|
|
4072
4174
|
}
|
|
4073
4175
|
}
|
|
4074
|
-
|
|
4075
|
-
|
|
4176
|
+
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 });
|
|
4177
|
+
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: [
|
|
4076
4178
|
{
|
|
4077
4179
|
provide: NG_VALUE_ACCESSOR,
|
|
4078
|
-
useExisting: forwardRef(() =>
|
|
4180
|
+
useExisting: forwardRef(() => FngTimePickerComponent),
|
|
4079
4181
|
multi: true
|
|
4080
4182
|
}
|
|
4081
4183
|
], 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 });
|
|
4082
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTimePickerComponent, decorators: [{
|
|
4083
4185
|
type: Component,
|
|
4084
4186
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-time-picker', providers: [
|
|
4085
4187
|
{
|
|
4086
4188
|
provide: NG_VALUE_ACCESSOR,
|
|
4087
|
-
useExisting: forwardRef(() =>
|
|
4189
|
+
useExisting: forwardRef(() => FngTimePickerComponent),
|
|
4088
4190
|
multi: true
|
|
4089
4191
|
}
|
|
4090
4192
|
], 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"] }]
|
|
@@ -4116,7 +4218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4116
4218
|
args: ['document:keydown', ['$event']]
|
|
4117
4219
|
}] } });
|
|
4118
4220
|
|
|
4119
|
-
class
|
|
4221
|
+
class FngFlatpickrComponent {
|
|
4120
4222
|
constructor() {
|
|
4121
4223
|
this.date = new Date();
|
|
4122
4224
|
this.dateChange = new EventEmitter();
|
|
@@ -4152,9 +4254,9 @@ class FlatpickrComponent {
|
|
|
4152
4254
|
}
|
|
4153
4255
|
}
|
|
4154
4256
|
}
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4257
|
+
FngFlatpickrComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngFlatpickrComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4258
|
+
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 });
|
|
4259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngFlatpickrComponent, decorators: [{
|
|
4158
4260
|
type: Component,
|
|
4159
4261
|
args: [{ standalone: true, selector: 'fng-flatpickr', encapsulation: ViewEncapsulation.None, template: "<div class=\"fng-flatpickr\">\n <div #datePicker></div>\n</div>\n" }]
|
|
4160
4262
|
}], propDecorators: { date: [{
|
|
@@ -4168,7 +4270,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4168
4270
|
args: ['datePicker', { static: true }]
|
|
4169
4271
|
}] } });
|
|
4170
4272
|
|
|
4171
|
-
class
|
|
4273
|
+
class FngDatePickerComponent {
|
|
4172
4274
|
get value() {
|
|
4173
4275
|
return this.innerValue;
|
|
4174
4276
|
}
|
|
@@ -4269,7 +4371,7 @@ class DatePickerComponent {
|
|
|
4269
4371
|
.withFlexibleDimensions(false)
|
|
4270
4372
|
.withPush(false)
|
|
4271
4373
|
});
|
|
4272
|
-
const datePickerPortal = new ComponentPortal(
|
|
4374
|
+
const datePickerPortal = new ComponentPortal(FngFlatpickrComponent);
|
|
4273
4375
|
this.datePicker = this.datePickerRef.attach(datePickerPortal);
|
|
4274
4376
|
this.datePicker.instance.options = this.options;
|
|
4275
4377
|
this.datePicker.instance.date = this.value;
|
|
@@ -4304,20 +4406,20 @@ class DatePickerComponent {
|
|
|
4304
4406
|
}
|
|
4305
4407
|
}
|
|
4306
4408
|
}
|
|
4307
|
-
|
|
4308
|
-
|
|
4409
|
+
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 });
|
|
4410
|
+
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: [
|
|
4309
4411
|
{
|
|
4310
4412
|
provide: NG_VALUE_ACCESSOR,
|
|
4311
|
-
useExisting: forwardRef(() =>
|
|
4413
|
+
useExisting: forwardRef(() => FngDatePickerComponent),
|
|
4312
4414
|
multi: true
|
|
4313
4415
|
}
|
|
4314
4416
|
], 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 });
|
|
4315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngDatePickerComponent, decorators: [{
|
|
4316
4418
|
type: Component,
|
|
4317
|
-
args: [{ standalone: true, imports: [CommonModule,
|
|
4419
|
+
args: [{ standalone: true, imports: [CommonModule, FngFlatpickrComponent], selector: 'fng-date-picker', providers: [
|
|
4318
4420
|
{
|
|
4319
4421
|
provide: NG_VALUE_ACCESSOR,
|
|
4320
|
-
useExisting: forwardRef(() =>
|
|
4422
|
+
useExisting: forwardRef(() => FngDatePickerComponent),
|
|
4321
4423
|
multi: true
|
|
4322
4424
|
}
|
|
4323
4425
|
], 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"] }]
|
|
@@ -4358,7 +4460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4358
4460
|
args: ['document:keydown', ['$event']]
|
|
4359
4461
|
}] } });
|
|
4360
4462
|
|
|
4361
|
-
class
|
|
4463
|
+
class FngDateRangePickerComponent {
|
|
4362
4464
|
get value() {
|
|
4363
4465
|
return this.innerValue;
|
|
4364
4466
|
}
|
|
@@ -4477,7 +4579,7 @@ class DateRangePickerComponent {
|
|
|
4477
4579
|
.withFlexibleDimensions(false)
|
|
4478
4580
|
.withPush(false)
|
|
4479
4581
|
});
|
|
4480
|
-
const datePickerPortal = new ComponentPortal(
|
|
4582
|
+
const datePickerPortal = new ComponentPortal(FngFlatpickrComponent);
|
|
4481
4583
|
this.datePicker = this.dateRangePickerRef.attach(datePickerPortal);
|
|
4482
4584
|
this.datePicker.instance.options = {
|
|
4483
4585
|
mode: 'range',
|
|
@@ -4516,20 +4618,20 @@ class DateRangePickerComponent {
|
|
|
4516
4618
|
}
|
|
4517
4619
|
}
|
|
4518
4620
|
}
|
|
4519
|
-
|
|
4520
|
-
|
|
4621
|
+
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 });
|
|
4622
|
+
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: [
|
|
4521
4623
|
{
|
|
4522
4624
|
provide: NG_VALUE_ACCESSOR,
|
|
4523
|
-
useExisting: forwardRef(() =>
|
|
4625
|
+
useExisting: forwardRef(() => FngDateRangePickerComponent),
|
|
4524
4626
|
multi: true
|
|
4525
4627
|
}
|
|
4526
4628
|
], 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 });
|
|
4527
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4629
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngDateRangePickerComponent, decorators: [{
|
|
4528
4630
|
type: Component,
|
|
4529
4631
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-date-range-picker', providers: [
|
|
4530
4632
|
{
|
|
4531
4633
|
provide: NG_VALUE_ACCESSOR,
|
|
4532
|
-
useExisting: forwardRef(() =>
|
|
4634
|
+
useExisting: forwardRef(() => FngDateRangePickerComponent),
|
|
4533
4635
|
multi: true
|
|
4534
4636
|
}
|
|
4535
4637
|
], 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"] }]
|
|
@@ -4574,7 +4676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4574
4676
|
args: ['document:keydown', ['$event']]
|
|
4575
4677
|
}] } });
|
|
4576
4678
|
|
|
4577
|
-
class
|
|
4679
|
+
class FngUniqueSelectionDispatcher {
|
|
4578
4680
|
constructor() {
|
|
4579
4681
|
this.listeners = [];
|
|
4580
4682
|
}
|
|
@@ -4606,21 +4708,21 @@ class UniqueSelectionDispatcher {
|
|
|
4606
4708
|
this.listeners = [];
|
|
4607
4709
|
}
|
|
4608
4710
|
}
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4711
|
+
FngUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngUniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4712
|
+
FngUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngUniqueSelectionDispatcher, providedIn: 'root' });
|
|
4713
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngUniqueSelectionDispatcher, decorators: [{
|
|
4612
4714
|
type: Injectable,
|
|
4613
4715
|
args: [{ providedIn: 'root' }]
|
|
4614
4716
|
}] });
|
|
4615
4717
|
|
|
4616
|
-
class
|
|
4718
|
+
class FngRadioChange {
|
|
4617
4719
|
constructor(source, value) {
|
|
4618
4720
|
this.source = source;
|
|
4619
4721
|
this.value = value;
|
|
4620
4722
|
}
|
|
4621
4723
|
}
|
|
4622
4724
|
let nextUniqueId$1 = 0;
|
|
4623
|
-
class
|
|
4725
|
+
class FngRadioGroupDirective {
|
|
4624
4726
|
get name() {
|
|
4625
4727
|
return this.innerName;
|
|
4626
4728
|
}
|
|
@@ -4703,7 +4805,7 @@ class RadioGroupDirective {
|
|
|
4703
4805
|
}
|
|
4704
4806
|
emitChangeEvent() {
|
|
4705
4807
|
if (this.isInitialized) {
|
|
4706
|
-
this.change.emit(new
|
|
4808
|
+
this.change.emit(new FngRadioChange(this.isSelected, this.innerValue));
|
|
4707
4809
|
}
|
|
4708
4810
|
}
|
|
4709
4811
|
markRadiosForCheck() {
|
|
@@ -4754,15 +4856,15 @@ class RadioGroupDirective {
|
|
|
4754
4856
|
}
|
|
4755
4857
|
}
|
|
4756
4858
|
}
|
|
4757
|
-
|
|
4758
|
-
|
|
4859
|
+
FngRadioGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4860
|
+
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: [
|
|
4759
4861
|
{
|
|
4760
4862
|
provide: NG_VALUE_ACCESSOR,
|
|
4761
|
-
useExisting: forwardRef(() =>
|
|
4863
|
+
useExisting: forwardRef(() => FngRadioGroupDirective),
|
|
4762
4864
|
multi: true
|
|
4763
4865
|
}
|
|
4764
|
-
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return
|
|
4765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
4866
|
+
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return FngRadioComponent; }), descendants: true }], ngImport: i0 });
|
|
4867
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioGroupDirective, decorators: [{
|
|
4766
4868
|
type: Directive,
|
|
4767
4869
|
args: [{
|
|
4768
4870
|
standalone: true,
|
|
@@ -4770,7 +4872,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4770
4872
|
providers: [
|
|
4771
4873
|
{
|
|
4772
4874
|
provide: NG_VALUE_ACCESSOR,
|
|
4773
|
-
useExisting: forwardRef(() =>
|
|
4875
|
+
useExisting: forwardRef(() => FngRadioGroupDirective),
|
|
4774
4876
|
multi: true
|
|
4775
4877
|
}
|
|
4776
4878
|
]
|
|
@@ -4785,7 +4887,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4785
4887
|
type: Output
|
|
4786
4888
|
}], radios: [{
|
|
4787
4889
|
type: ContentChildren,
|
|
4788
|
-
args: [forwardRef(() =>
|
|
4890
|
+
args: [forwardRef(() => FngRadioComponent), { descendants: true }]
|
|
4789
4891
|
}], name: [{
|
|
4790
4892
|
type: Input
|
|
4791
4893
|
}], large: [{
|
|
@@ -4801,7 +4903,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4801
4903
|
}], required: [{
|
|
4802
4904
|
type: Input
|
|
4803
4905
|
}] } });
|
|
4804
|
-
class
|
|
4906
|
+
class FngRadioComponent {
|
|
4805
4907
|
get id() {
|
|
4806
4908
|
return this.innerId;
|
|
4807
4909
|
}
|
|
@@ -4926,17 +5028,17 @@ class RadioComponent {
|
|
|
4926
5028
|
this.changeDetector.markForCheck();
|
|
4927
5029
|
}
|
|
4928
5030
|
emitChangeEvent() {
|
|
4929
|
-
this.change.emit(new
|
|
5031
|
+
this.change.emit(new FngRadioChange(this, this.innerValue));
|
|
4930
5032
|
}
|
|
4931
5033
|
}
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5034
|
+
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 });
|
|
5035
|
+
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 });
|
|
5036
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngRadioComponent, decorators: [{
|
|
4935
5037
|
type: Component,
|
|
4936
5038
|
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"] }]
|
|
4937
|
-
}], ctorParameters: function () { return [{ type:
|
|
5039
|
+
}], ctorParameters: function () { return [{ type: FngRadioGroupDirective, decorators: [{
|
|
4938
5040
|
type: Optional
|
|
4939
|
-
}] }, { type: i0.ChangeDetectorRef }, { type:
|
|
5041
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: FngUniqueSelectionDispatcher }]; }, propDecorators: { name: [{
|
|
4940
5042
|
type: Input
|
|
4941
5043
|
}], id: [{
|
|
4942
5044
|
type: Input
|
|
@@ -4956,46 +5058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
4956
5058
|
type: Output
|
|
4957
5059
|
}] } });
|
|
4958
5060
|
|
|
4959
|
-
class
|
|
4960
|
-
constructor() {
|
|
4961
|
-
this.disabled = false;
|
|
4962
|
-
this.changed = new Array();
|
|
4963
|
-
this.touched = new Array();
|
|
4964
|
-
}
|
|
4965
|
-
get value() {
|
|
4966
|
-
return this.innerValue;
|
|
4967
|
-
}
|
|
4968
|
-
set value(value) {
|
|
4969
|
-
if (value && this.innerValue !== value) {
|
|
4970
|
-
this.innerValue = value;
|
|
4971
|
-
this.changed.forEach(f => f(value));
|
|
4972
|
-
}
|
|
4973
|
-
}
|
|
4974
|
-
touch() {
|
|
4975
|
-
this.touched.forEach(f => f());
|
|
4976
|
-
}
|
|
4977
|
-
writeValue(value) {
|
|
4978
|
-
this.innerValue = value;
|
|
4979
|
-
}
|
|
4980
|
-
registerOnChange(fn) {
|
|
4981
|
-
this.changed.push(fn);
|
|
4982
|
-
}
|
|
4983
|
-
registerOnTouched(fn) {
|
|
4984
|
-
this.touched.push(fn);
|
|
4985
|
-
}
|
|
4986
|
-
setDisabledState(isDisabled) {
|
|
4987
|
-
this.disabled = isDisabled;
|
|
4988
|
-
}
|
|
4989
|
-
}
|
|
4990
|
-
ValueAccessorBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueAccessorBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4991
|
-
ValueAccessorBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ValueAccessorBaseDirective, inputs: { disabled: "disabled" }, ngImport: i0 });
|
|
4992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ValueAccessorBaseDirective, decorators: [{
|
|
4993
|
-
type: Directive
|
|
4994
|
-
}], propDecorators: { disabled: [{
|
|
4995
|
-
type: Input
|
|
4996
|
-
}] } });
|
|
4997
|
-
|
|
4998
|
-
class SegmentControlComponent {
|
|
5061
|
+
class FngSegmentControlComponent {
|
|
4999
5062
|
constructor() {
|
|
5000
5063
|
this.viewMode = 'text';
|
|
5001
5064
|
this.change = new EventEmitter();
|
|
@@ -5020,16 +5083,21 @@ class SegmentControlComponent {
|
|
|
5020
5083
|
ngAfterViewInit() {
|
|
5021
5084
|
this.view = this.tpl?.createEmbeddedView(null);
|
|
5022
5085
|
}
|
|
5023
|
-
|
|
5086
|
+
onInputChange(event) {
|
|
5087
|
+
event.stopPropagation();
|
|
5088
|
+
this.checked = true;
|
|
5024
5089
|
const target = event.target;
|
|
5025
5090
|
this.change.emit(target.value);
|
|
5026
5091
|
}
|
|
5092
|
+
onInputClick(event) {
|
|
5093
|
+
event.stopPropagation();
|
|
5094
|
+
}
|
|
5027
5095
|
}
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5096
|
+
FngSegmentControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5097
|
+
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 });
|
|
5098
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentControlComponent, decorators: [{
|
|
5031
5099
|
type: Component,
|
|
5032
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment-control',
|
|
5100
|
+
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" }]
|
|
5033
5101
|
}], propDecorators: { name: [{
|
|
5034
5102
|
type: Input
|
|
5035
5103
|
}], value: [{
|
|
@@ -5051,7 +5119,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5051
5119
|
args: ['tpl']
|
|
5052
5120
|
}] } });
|
|
5053
5121
|
|
|
5054
|
-
class
|
|
5122
|
+
class FngSegmentComponent {
|
|
5123
|
+
writeValue(value) {
|
|
5124
|
+
this.innerValue = value;
|
|
5125
|
+
this.updateCheckState();
|
|
5126
|
+
}
|
|
5127
|
+
updateCheckState() {
|
|
5128
|
+
if (this.controls) {
|
|
5129
|
+
this.controls.forEach(component => {
|
|
5130
|
+
component.checked = component.value === this.value;
|
|
5131
|
+
});
|
|
5132
|
+
}
|
|
5133
|
+
}
|
|
5134
|
+
registerOnChange(fn) {
|
|
5135
|
+
this.changed.push(fn);
|
|
5136
|
+
}
|
|
5137
|
+
registerOnTouched(fn) {
|
|
5138
|
+
this.touched.push(fn);
|
|
5139
|
+
}
|
|
5055
5140
|
set value(value) {
|
|
5056
5141
|
if (this.innerValue !== value) {
|
|
5057
5142
|
this.innerValue = value;
|
|
@@ -5062,9 +5147,13 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5062
5147
|
});
|
|
5063
5148
|
}
|
|
5064
5149
|
}
|
|
5150
|
+
get value() {
|
|
5151
|
+
return this.innerValue;
|
|
5152
|
+
}
|
|
5065
5153
|
constructor(cd) {
|
|
5066
|
-
super();
|
|
5067
5154
|
this.cd = cd;
|
|
5155
|
+
this.changed = new Array();
|
|
5156
|
+
this.touched = new Array();
|
|
5068
5157
|
this.complete = new Subject();
|
|
5069
5158
|
this.defaultConfig = {
|
|
5070
5159
|
outline: true,
|
|
@@ -5076,6 +5165,7 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5076
5165
|
this.config = this.defaultConfig;
|
|
5077
5166
|
this.fngChange = new EventEmitter();
|
|
5078
5167
|
this.change = new EventEmitter();
|
|
5168
|
+
this.id = (Math.random() * Date.now()).toString().replace('.', '-');
|
|
5079
5169
|
}
|
|
5080
5170
|
ngOnChanges(changes) {
|
|
5081
5171
|
if (changes['config']?.currentValue) {
|
|
@@ -5087,6 +5177,7 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5087
5177
|
this.controls.forEach(component => {
|
|
5088
5178
|
component.change.pipe(takeUntil(this.complete)).subscribe(val => {
|
|
5089
5179
|
this.value = val;
|
|
5180
|
+
this.updateCheckState();
|
|
5090
5181
|
});
|
|
5091
5182
|
if (component.icon != null && this.config.iconOnly === true) {
|
|
5092
5183
|
this.useIcon = true;
|
|
@@ -5115,26 +5206,29 @@ class SegmentComponent extends ValueAccessorBaseDirective {
|
|
|
5115
5206
|
if (this.controls) {
|
|
5116
5207
|
this.controls.forEach(component => {
|
|
5117
5208
|
if (component.view) {
|
|
5209
|
+
if (!component.name) {
|
|
5210
|
+
component.name = this.id;
|
|
5211
|
+
}
|
|
5118
5212
|
this.vc?.insert(component.view);
|
|
5119
5213
|
}
|
|
5120
5214
|
});
|
|
5121
5215
|
}
|
|
5122
5216
|
}
|
|
5123
5217
|
}
|
|
5124
|
-
|
|
5125
|
-
|
|
5218
|
+
FngSegmentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5219
|
+
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: [
|
|
5126
5220
|
{
|
|
5127
5221
|
provide: NG_VALUE_ACCESSOR,
|
|
5128
|
-
useExisting: forwardRef(() =>
|
|
5222
|
+
useExisting: forwardRef(() => FngSegmentComponent),
|
|
5129
5223
|
multi: true
|
|
5130
5224
|
}
|
|
5131
|
-
], queries: [{ propertyName: "controls", predicate:
|
|
5132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5225
|
+
], 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 });
|
|
5226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSegmentComponent, decorators: [{
|
|
5133
5227
|
type: Component,
|
|
5134
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment',
|
|
5228
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-segment', encapsulation: ViewEncapsulation.None, providers: [
|
|
5135
5229
|
{
|
|
5136
5230
|
provide: NG_VALUE_ACCESSOR,
|
|
5137
|
-
useExisting: forwardRef(() =>
|
|
5231
|
+
useExisting: forwardRef(() => FngSegmentComponent),
|
|
5138
5232
|
multi: true
|
|
5139
5233
|
}
|
|
5140
5234
|
], 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" }]
|
|
@@ -5144,7 +5238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5144
5238
|
type: Input
|
|
5145
5239
|
}], controls: [{
|
|
5146
5240
|
type: ContentChildren,
|
|
5147
|
-
args: [
|
|
5241
|
+
args: [FngSegmentControlComponent, { descendants: true }]
|
|
5148
5242
|
}], vc: [{
|
|
5149
5243
|
type: ViewChild,
|
|
5150
5244
|
args: ['vc', { read: ViewContainerRef }]
|
|
@@ -5156,7 +5250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5156
5250
|
type: Input
|
|
5157
5251
|
}] } });
|
|
5158
5252
|
|
|
5159
|
-
class
|
|
5253
|
+
class FngSelectOptionComponent {
|
|
5160
5254
|
ngAfterViewInit() {
|
|
5161
5255
|
this.el = this.elementRef.nativeElement;
|
|
5162
5256
|
}
|
|
@@ -5164,9 +5258,9 @@ class SelectOptionComponent {
|
|
|
5164
5258
|
return await Promise.resolve(this.el);
|
|
5165
5259
|
}
|
|
5166
5260
|
}
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5261
|
+
FngSelectOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5262
|
+
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 }] });
|
|
5263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectOptionComponent, decorators: [{
|
|
5170
5264
|
type: Component,
|
|
5171
5265
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-select-option', template: "<span #root>\n <ng-content></ng-content>\n</span>\n" }]
|
|
5172
5266
|
}], propDecorators: { value: [{
|
|
@@ -5182,7 +5276,7 @@ function defaultValueKey(key) {
|
|
|
5182
5276
|
function defaultTextKey(key) {
|
|
5183
5277
|
return key === undefined ? 'text' : key;
|
|
5184
5278
|
}
|
|
5185
|
-
class
|
|
5279
|
+
class FngChipTextPipe {
|
|
5186
5280
|
transform(value, options, optionsValueKey, optionsTextKey) {
|
|
5187
5281
|
let chipText = '';
|
|
5188
5282
|
optionsValueKey = defaultValueKey(optionsValueKey);
|
|
@@ -5202,9 +5296,9 @@ class ChipTextPipe {
|
|
|
5202
5296
|
return chipText;
|
|
5203
5297
|
}
|
|
5204
5298
|
}
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5299
|
+
FngChipTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
5300
|
+
FngChipTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FngChipTextPipe, isStandalone: true, name: "fngChipText", pure: false });
|
|
5301
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngChipTextPipe, decorators: [{
|
|
5208
5302
|
type: Pipe,
|
|
5209
5303
|
args: [{
|
|
5210
5304
|
standalone: true,
|
|
@@ -5213,7 +5307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5213
5307
|
}]
|
|
5214
5308
|
}] });
|
|
5215
5309
|
|
|
5216
|
-
class
|
|
5310
|
+
class FngSelectComponent {
|
|
5217
5311
|
get disabled() {
|
|
5218
5312
|
return this._disabled;
|
|
5219
5313
|
}
|
|
@@ -5256,7 +5350,7 @@ class SelectComponent {
|
|
|
5256
5350
|
this._disabled = false;
|
|
5257
5351
|
this._required = false;
|
|
5258
5352
|
this.touched = false;
|
|
5259
|
-
this.id = `input-control-${++
|
|
5353
|
+
this.id = `input-control-${++FngSelectComponent.nextId}`;
|
|
5260
5354
|
this.multiple = false;
|
|
5261
5355
|
this.size = 0;
|
|
5262
5356
|
this.options = [];
|
|
@@ -5270,8 +5364,18 @@ class SelectComponent {
|
|
|
5270
5364
|
this.checked = new Map();
|
|
5271
5365
|
this.hasProjectedOptions = false;
|
|
5272
5366
|
this.projectedHtml = [];
|
|
5367
|
+
this.complete = new Subject();
|
|
5273
5368
|
this.body = this.document.body;
|
|
5274
5369
|
}
|
|
5370
|
+
ngAfterContentInit() {
|
|
5371
|
+
// observe if any of the projected content (fng-select-option) changes
|
|
5372
|
+
this.fngSelectOptions?.changes.pipe(takeUntil(this.complete)).subscribe(_ => {
|
|
5373
|
+
// if content changes init again
|
|
5374
|
+
this.options = [];
|
|
5375
|
+
this.projectedHtml = [];
|
|
5376
|
+
this.initProjectedOptions();
|
|
5377
|
+
});
|
|
5378
|
+
}
|
|
5275
5379
|
ngOnInit() {
|
|
5276
5380
|
if (this.size != null) {
|
|
5277
5381
|
this.selectPanelClasses.push('fng-select-panel-options-' + this.size);
|
|
@@ -5285,6 +5389,10 @@ class SelectComponent {
|
|
|
5285
5389
|
this.triggerWidth = this.elementRef?.nativeElement?.getBoundingClientRect()?.width;
|
|
5286
5390
|
this.initProjectedOptions();
|
|
5287
5391
|
}
|
|
5392
|
+
ngOnDestroy() {
|
|
5393
|
+
this.complete.next(true);
|
|
5394
|
+
this.complete.unsubscribe();
|
|
5395
|
+
}
|
|
5288
5396
|
registerOnChange(fn) {
|
|
5289
5397
|
this.onChange = fn;
|
|
5290
5398
|
}
|
|
@@ -5377,14 +5485,6 @@ class SelectComponent {
|
|
|
5377
5485
|
this.touched = true;
|
|
5378
5486
|
}
|
|
5379
5487
|
}
|
|
5380
|
-
onContentChange(event) {
|
|
5381
|
-
const changes = event;
|
|
5382
|
-
if (changes != null) {
|
|
5383
|
-
this.options = [];
|
|
5384
|
-
this.projectedHtml = [];
|
|
5385
|
-
this.initProjectedOptions();
|
|
5386
|
-
}
|
|
5387
|
-
}
|
|
5388
5488
|
initProjectedOptions() {
|
|
5389
5489
|
if (this.fngSelectOptions?.length) {
|
|
5390
5490
|
this.hasProjectedOptions = true;
|
|
@@ -5409,24 +5509,24 @@ class SelectComponent {
|
|
|
5409
5509
|
}
|
|
5410
5510
|
}
|
|
5411
5511
|
}
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5512
|
+
FngSelectComponent.nextId = 0;
|
|
5513
|
+
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 });
|
|
5514
|
+
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: [
|
|
5415
5515
|
{
|
|
5416
5516
|
provide: NG_VALUE_ACCESSOR,
|
|
5417
|
-
useExisting: forwardRef(() =>
|
|
5517
|
+
useExisting: forwardRef(() => FngSelectComponent),
|
|
5418
5518
|
multi: true
|
|
5419
5519
|
}
|
|
5420
|
-
], 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 });
|
|
5421
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5520
|
+
], 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 });
|
|
5521
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSelectComponent, decorators: [{
|
|
5422
5522
|
type: Component,
|
|
5423
|
-
args: [{ standalone: true, imports: [CommonModule,
|
|
5523
|
+
args: [{ standalone: true, imports: [CommonModule, FngChipTextPipe, FngSelectOptionComponent, OverlayModule], selector: 'fng-select', encapsulation: ViewEncapsulation.None, providers: [
|
|
5424
5524
|
{
|
|
5425
5525
|
provide: NG_VALUE_ACCESSOR,
|
|
5426
|
-
useExisting: forwardRef(() =>
|
|
5526
|
+
useExisting: forwardRef(() => FngSelectComponent),
|
|
5427
5527
|
multi: true
|
|
5428
5528
|
}
|
|
5429
|
-
], 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\"
|
|
5529
|
+
], 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"] }]
|
|
5430
5530
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
5431
5531
|
type: Inject,
|
|
5432
5532
|
args: [DOCUMENT]
|
|
@@ -5460,7 +5560,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5460
5560
|
type: Input
|
|
5461
5561
|
}], fngSelectOptions: [{
|
|
5462
5562
|
type: ContentChildren,
|
|
5463
|
-
args: [
|
|
5563
|
+
args: [FngSelectOptionComponent]
|
|
5464
5564
|
}], elementRef: [{
|
|
5465
5565
|
type: ViewChild,
|
|
5466
5566
|
args: ['div']
|
|
@@ -5468,7 +5568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5468
5568
|
type: Output
|
|
5469
5569
|
}] } });
|
|
5470
5570
|
|
|
5471
|
-
class
|
|
5571
|
+
class FngSliderComponent {
|
|
5472
5572
|
get disabled() {
|
|
5473
5573
|
return this.innerDisabled;
|
|
5474
5574
|
}
|
|
@@ -5533,20 +5633,20 @@ class SliderComponent {
|
|
|
5533
5633
|
}
|
|
5534
5634
|
}
|
|
5535
5635
|
}
|
|
5536
|
-
|
|
5537
|
-
|
|
5636
|
+
FngSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSliderComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5637
|
+
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: [
|
|
5538
5638
|
{
|
|
5539
5639
|
provide: NG_VALUE_ACCESSOR,
|
|
5540
|
-
useExisting: forwardRef(() =>
|
|
5640
|
+
useExisting: forwardRef(() => FngSliderComponent),
|
|
5541
5641
|
multi: true
|
|
5542
5642
|
}
|
|
5543
5643
|
], 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 });
|
|
5544
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5644
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSliderComponent, decorators: [{
|
|
5545
5645
|
type: Component,
|
|
5546
5646
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-slider', providers: [
|
|
5547
5647
|
{
|
|
5548
5648
|
provide: NG_VALUE_ACCESSOR,
|
|
5549
|
-
useExisting: forwardRef(() =>
|
|
5649
|
+
useExisting: forwardRef(() => FngSliderComponent),
|
|
5550
5650
|
multi: true
|
|
5551
5651
|
}
|
|
5552
5652
|
], 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"] }]
|
|
@@ -5574,7 +5674,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5574
5674
|
}] } });
|
|
5575
5675
|
|
|
5576
5676
|
let nextUniqueId = 0;
|
|
5577
|
-
class
|
|
5677
|
+
class FngSwitchComponent {
|
|
5578
5678
|
get id() {
|
|
5579
5679
|
return this.innerId;
|
|
5580
5680
|
}
|
|
@@ -5651,20 +5751,20 @@ class SwitchComponent {
|
|
|
5651
5751
|
}
|
|
5652
5752
|
}
|
|
5653
5753
|
}
|
|
5654
|
-
|
|
5655
|
-
|
|
5754
|
+
FngSwitchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSwitchComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
5755
|
+
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: [
|
|
5656
5756
|
{
|
|
5657
5757
|
provide: NG_VALUE_ACCESSOR,
|
|
5658
|
-
useExisting: forwardRef(() =>
|
|
5758
|
+
useExisting: forwardRef(() => FngSwitchComponent),
|
|
5659
5759
|
multi: true
|
|
5660
5760
|
}
|
|
5661
5761
|
], 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 });
|
|
5662
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5762
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngSwitchComponent, decorators: [{
|
|
5663
5763
|
type: Component,
|
|
5664
5764
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
5665
5765
|
{
|
|
5666
5766
|
provide: NG_VALUE_ACCESSOR,
|
|
5667
|
-
useExisting: forwardRef(() =>
|
|
5767
|
+
useExisting: forwardRef(() => FngSwitchComponent),
|
|
5668
5768
|
multi: true
|
|
5669
5769
|
}
|
|
5670
5770
|
], 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"] }]
|
|
@@ -5691,7 +5791,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5691
5791
|
/**
|
|
5692
5792
|
* A custom form element for text inputs.
|
|
5693
5793
|
*/
|
|
5694
|
-
class
|
|
5794
|
+
class FngTextAreaComponent {
|
|
5695
5795
|
constructor() {
|
|
5696
5796
|
this.innerReadonly = false;
|
|
5697
5797
|
this.tabindex = 0;
|
|
@@ -5823,20 +5923,20 @@ class TextAreaComponent {
|
|
|
5823
5923
|
this.disabled = isDisabled;
|
|
5824
5924
|
}
|
|
5825
5925
|
}
|
|
5826
|
-
|
|
5827
|
-
|
|
5926
|
+
FngTextAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5927
|
+
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: [
|
|
5828
5928
|
{
|
|
5829
5929
|
provide: NG_VALUE_ACCESSOR,
|
|
5830
|
-
useExisting: forwardRef(() =>
|
|
5930
|
+
useExisting: forwardRef(() => FngTextAreaComponent),
|
|
5831
5931
|
multi: true
|
|
5832
5932
|
}
|
|
5833
5933
|
], 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 });
|
|
5834
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
5934
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextAreaComponent, decorators: [{
|
|
5835
5935
|
type: Component,
|
|
5836
5936
|
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-text-area', providers: [
|
|
5837
5937
|
{
|
|
5838
5938
|
provide: NG_VALUE_ACCESSOR,
|
|
5839
|
-
useExisting: forwardRef(() =>
|
|
5939
|
+
useExisting: forwardRef(() => FngTextAreaComponent),
|
|
5840
5940
|
multi: true
|
|
5841
5941
|
}
|
|
5842
5942
|
], 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"] }]
|
|
@@ -5869,17 +5969,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
5869
5969
|
args: ['inputElement']
|
|
5870
5970
|
}] } });
|
|
5871
5971
|
|
|
5872
|
-
class
|
|
5972
|
+
class FngValueAccessorBaseDirective {
|
|
5973
|
+
constructor() {
|
|
5974
|
+
this.disabled = false;
|
|
5975
|
+
this.changed = new Array();
|
|
5976
|
+
this.touched = new Array();
|
|
5977
|
+
}
|
|
5978
|
+
get value() {
|
|
5979
|
+
return this.innerValue;
|
|
5980
|
+
}
|
|
5981
|
+
set value(value) {
|
|
5982
|
+
if (value && this.innerValue !== value) {
|
|
5983
|
+
this.innerValue = value;
|
|
5984
|
+
this.changed.forEach(f => f(value));
|
|
5985
|
+
}
|
|
5986
|
+
}
|
|
5987
|
+
touch() {
|
|
5988
|
+
this.touched.forEach(f => f());
|
|
5989
|
+
}
|
|
5990
|
+
writeValue(value) {
|
|
5991
|
+
this.innerValue = value;
|
|
5992
|
+
}
|
|
5993
|
+
registerOnChange(fn) {
|
|
5994
|
+
this.changed.push(fn);
|
|
5995
|
+
}
|
|
5996
|
+
registerOnTouched(fn) {
|
|
5997
|
+
this.touched.push(fn);
|
|
5998
|
+
}
|
|
5999
|
+
setDisabledState(isDisabled) {
|
|
6000
|
+
this.disabled = isDisabled;
|
|
6001
|
+
}
|
|
6002
|
+
}
|
|
6003
|
+
FngValueAccessorBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngValueAccessorBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6004
|
+
FngValueAccessorBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: FngValueAccessorBaseDirective, inputs: { disabled: "disabled" }, ngImport: i0 });
|
|
6005
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngValueAccessorBaseDirective, decorators: [{
|
|
6006
|
+
type: Directive
|
|
6007
|
+
}], propDecorators: { disabled: [{
|
|
6008
|
+
type: Input
|
|
6009
|
+
}] } });
|
|
6010
|
+
|
|
6011
|
+
class FngTextEditorComponent extends FngValueAccessorBaseDirective {
|
|
5873
6012
|
set value(value) {
|
|
5874
6013
|
if (this.innerValue !== value) {
|
|
5875
6014
|
this.innerValue = value;
|
|
5876
|
-
|
|
5877
|
-
this.
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
});
|
|
5882
|
-
}
|
|
6015
|
+
this.changed.forEach(f => {
|
|
6016
|
+
this.fngChange.emit(this.innerValue);
|
|
6017
|
+
this.change.emit(this.innerValue);
|
|
6018
|
+
return f(value);
|
|
6019
|
+
});
|
|
5883
6020
|
}
|
|
5884
6021
|
}
|
|
5885
6022
|
get value() {
|
|
@@ -5906,7 +6043,8 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5906
6043
|
sanitizingFn: undefined,
|
|
5907
6044
|
skipDefaultSanitizing: false,
|
|
5908
6045
|
skipWhitespaceHandling: false
|
|
5909
|
-
}
|
|
6046
|
+
},
|
|
6047
|
+
focusCursorToEndOnWrite: true
|
|
5910
6048
|
};
|
|
5911
6049
|
this.fngChange = new EventEmitter();
|
|
5912
6050
|
this.change = new EventEmitter();
|
|
@@ -5949,11 +6087,9 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5949
6087
|
this.setEditorLabel();
|
|
5950
6088
|
this.addWhitespaceMatcher();
|
|
5951
6089
|
this.addImageMatcher();
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
this.quillEditor.getModule('history').clear();
|
|
5956
|
-
}
|
|
6090
|
+
const content = this.valueSetter(this.quillEditor, this.innerValue || '');
|
|
6091
|
+
this.quillEditor.setContents(content, 'silent');
|
|
6092
|
+
this.quillEditor.getModule('history').clear();
|
|
5957
6093
|
this.handle();
|
|
5958
6094
|
this.quillEditor.on('text-change', () => {
|
|
5959
6095
|
this.value = this.valueGetter(this.editorElem);
|
|
@@ -5972,15 +6108,16 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
5972
6108
|
this.handle();
|
|
5973
6109
|
}
|
|
5974
6110
|
writeValue(value) {
|
|
5975
|
-
if (value === null || value === '') {
|
|
5976
|
-
return;
|
|
5977
|
-
}
|
|
5978
6111
|
this.innerValue = value;
|
|
5979
6112
|
if (!this.quillEditor) {
|
|
5980
6113
|
return;
|
|
5981
6114
|
}
|
|
5982
|
-
const content = this.valueSetter(this.quillEditor, value);
|
|
6115
|
+
const content = this.valueSetter(this.quillEditor, value || '');
|
|
5983
6116
|
this.quillEditor.setContents(content);
|
|
6117
|
+
if (this.config?.focusCursorToEndOnWrite) {
|
|
6118
|
+
// when new content gets written we always set cursor focus to end of text
|
|
6119
|
+
this.quillEditor.setSelection(Number.MAX_SAFE_INTEGER, 0);
|
|
6120
|
+
}
|
|
5984
6121
|
}
|
|
5985
6122
|
setDisabledState(isDisabled = this.disabled) {
|
|
5986
6123
|
this.disabled = isDisabled;
|
|
@@ -6100,23 +6237,23 @@ class TextEditorComponent extends ValueAccessorBaseDirective {
|
|
|
6100
6237
|
return value.replace(/	/gi, '###tab###');
|
|
6101
6238
|
}
|
|
6102
6239
|
}
|
|
6103
|
-
|
|
6104
|
-
|
|
6240
|
+
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 });
|
|
6241
|
+
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: [
|
|
6105
6242
|
{
|
|
6106
6243
|
provide: NG_VALUE_ACCESSOR,
|
|
6107
|
-
useExisting: forwardRef(() =>
|
|
6244
|
+
useExisting: forwardRef(() => FngTextEditorComponent),
|
|
6108
6245
|
multi: true
|
|
6109
6246
|
}
|
|
6110
|
-
], 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 });
|
|
6111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type:
|
|
6247
|
+
], 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 });
|
|
6248
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngTextEditorComponent, decorators: [{
|
|
6112
6249
|
type: Component,
|
|
6113
6250
|
args: [{ standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule], selector: 'fng-text-editor', encapsulation: ViewEncapsulation.None, providers: [
|
|
6114
6251
|
{
|
|
6115
6252
|
provide: NG_VALUE_ACCESSOR,
|
|
6116
|
-
useExisting: forwardRef(() =>
|
|
6253
|
+
useExisting: forwardRef(() => FngTextEditorComponent),
|
|
6117
6254
|
multi: true
|
|
6118
6255
|
}
|
|
6119
|
-
], 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"] }]
|
|
6256
|
+
], 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"] }]
|
|
6120
6257
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$2.DomSanitizer }]; }, propDecorators: { btnBold: [{
|
|
6121
6258
|
type: ViewChild,
|
|
6122
6259
|
args: ['btnBold']
|
|
@@ -6171,72 +6308,62 @@ class FestoAngularFormsModule {
|
|
|
6171
6308
|
FestoAngularFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6172
6309
|
FestoAngularFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, imports: [ReactiveFormsModule,
|
|
6173
6310
|
FormsModule,
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6177
|
-
|
|
6178
|
-
|
|
6179
|
-
|
|
6180
|
-
|
|
6181
|
-
|
|
6182
|
-
|
|
6183
|
-
|
|
6184
|
-
|
|
6185
|
-
|
|
6186
|
-
|
|
6187
|
-
|
|
6188
|
-
|
|
6189
|
-
|
|
6190
|
-
|
|
6191
|
-
|
|
6192
|
-
SelectComponent,
|
|
6193
|
-
SliderComponent,
|
|
6194
|
-
SwitchComponent,
|
|
6195
|
-
TextAreaComponent,
|
|
6196
|
-
TextEditorComponent], exports: [CheckboxComponent,
|
|
6197
|
-
ReactiveFormsModule,
|
|
6311
|
+
FngCheckboxComponent,
|
|
6312
|
+
FngColorIndicatorComponent,
|
|
6313
|
+
FngColorPickerComponent,
|
|
6314
|
+
FngTextInputComponent,
|
|
6315
|
+
FngTimePickerDropdownComponent,
|
|
6316
|
+
FngTimePickerComponent,
|
|
6317
|
+
FngDatePickerComponent,
|
|
6318
|
+
FngDateRangePickerComponent,
|
|
6319
|
+
FngRadioGroupDirective,
|
|
6320
|
+
FngRadioComponent,
|
|
6321
|
+
FngSegmentComponent,
|
|
6322
|
+
FngSegmentControlComponent,
|
|
6323
|
+
FngSelectOptionComponent,
|
|
6324
|
+
FngSelectComponent,
|
|
6325
|
+
FngSliderComponent,
|
|
6326
|
+
FngSwitchComponent,
|
|
6327
|
+
FngTextAreaComponent,
|
|
6328
|
+
FngTextEditorComponent], exports: [ReactiveFormsModule,
|
|
6198
6329
|
FormsModule,
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6330
|
+
FngCheckboxComponent,
|
|
6331
|
+
FngColorIndicatorComponent,
|
|
6332
|
+
FngColorPickerComponent,
|
|
6333
|
+
FngTextInputComponent,
|
|
6334
|
+
FngTimePickerDropdownComponent,
|
|
6335
|
+
FngTimePickerComponent,
|
|
6336
|
+
FngDatePickerComponent,
|
|
6337
|
+
FngDateRangePickerComponent,
|
|
6338
|
+
FngRadioGroupDirective,
|
|
6339
|
+
FngRadioComponent,
|
|
6340
|
+
FngSegmentComponent,
|
|
6341
|
+
FngSegmentControlComponent,
|
|
6342
|
+
FngSelectOptionComponent,
|
|
6343
|
+
FngSelectComponent,
|
|
6344
|
+
FngSliderComponent,
|
|
6345
|
+
FngSwitchComponent,
|
|
6346
|
+
FngTextAreaComponent,
|
|
6347
|
+
FngTextEditorComponent] });
|
|
6216
6348
|
FestoAngularFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, imports: [ReactiveFormsModule,
|
|
6217
6349
|
FormsModule,
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6225
|
-
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
SelectComponent,
|
|
6236
|
-
SliderComponent,
|
|
6237
|
-
SwitchComponent,
|
|
6238
|
-
TextAreaComponent,
|
|
6239
|
-
TextEditorComponent, ReactiveFormsModule,
|
|
6350
|
+
FngCheckboxComponent,
|
|
6351
|
+
FngColorIndicatorComponent,
|
|
6352
|
+
FngColorPickerComponent,
|
|
6353
|
+
FngTextInputComponent,
|
|
6354
|
+
FngTimePickerDropdownComponent,
|
|
6355
|
+
FngTimePickerComponent,
|
|
6356
|
+
FngDatePickerComponent,
|
|
6357
|
+
FngDateRangePickerComponent,
|
|
6358
|
+
FngRadioComponent,
|
|
6359
|
+
FngSegmentComponent,
|
|
6360
|
+
FngSegmentControlComponent,
|
|
6361
|
+
FngSelectOptionComponent,
|
|
6362
|
+
FngSelectComponent,
|
|
6363
|
+
FngSliderComponent,
|
|
6364
|
+
FngSwitchComponent,
|
|
6365
|
+
FngTextAreaComponent,
|
|
6366
|
+
FngTextEditorComponent, ReactiveFormsModule,
|
|
6240
6367
|
FormsModule] });
|
|
6241
6368
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularFormsModule, decorators: [{
|
|
6242
6369
|
type: NgModule,
|
|
@@ -6244,93 +6371,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
6244
6371
|
imports: [
|
|
6245
6372
|
ReactiveFormsModule,
|
|
6246
6373
|
FormsModule,
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
|
|
6253
|
-
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
-
|
|
6261
|
-
|
|
6262
|
-
|
|
6263
|
-
|
|
6264
|
-
|
|
6265
|
-
SelectComponent,
|
|
6266
|
-
SliderComponent,
|
|
6267
|
-
SwitchComponent,
|
|
6268
|
-
TextAreaComponent,
|
|
6269
|
-
TextEditorComponent
|
|
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
|
|
6270
6392
|
],
|
|
6271
6393
|
exports: [
|
|
6272
|
-
CheckboxComponent,
|
|
6273
6394
|
ReactiveFormsModule,
|
|
6274
6395
|
FormsModule,
|
|
6275
|
-
|
|
6276
|
-
|
|
6277
|
-
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
|
|
6282
|
-
|
|
6283
|
-
|
|
6284
|
-
|
|
6285
|
-
|
|
6286
|
-
|
|
6287
|
-
|
|
6288
|
-
|
|
6289
|
-
|
|
6290
|
-
|
|
6291
|
-
|
|
6396
|
+
FngCheckboxComponent,
|
|
6397
|
+
FngColorIndicatorComponent,
|
|
6398
|
+
FngColorPickerComponent,
|
|
6399
|
+
FngTextInputComponent,
|
|
6400
|
+
FngTimePickerDropdownComponent,
|
|
6401
|
+
FngTimePickerComponent,
|
|
6402
|
+
FngDatePickerComponent,
|
|
6403
|
+
FngDateRangePickerComponent,
|
|
6404
|
+
FngRadioGroupDirective,
|
|
6405
|
+
FngRadioComponent,
|
|
6406
|
+
FngSegmentComponent,
|
|
6407
|
+
FngSegmentControlComponent,
|
|
6408
|
+
FngSelectOptionComponent,
|
|
6409
|
+
FngSelectComponent,
|
|
6410
|
+
FngSliderComponent,
|
|
6411
|
+
FngSwitchComponent,
|
|
6412
|
+
FngTextAreaComponent,
|
|
6413
|
+
FngTextEditorComponent
|
|
6292
6414
|
]
|
|
6293
6415
|
}]
|
|
6294
6416
|
}] });
|
|
6295
6417
|
|
|
6296
|
-
class ClickOutsideDirective {
|
|
6297
|
-
constructor(elRef) {
|
|
6298
|
-
this.elRef = elRef;
|
|
6299
|
-
this.clickOutside = new EventEmitter();
|
|
6300
|
-
}
|
|
6301
|
-
onClick(targetElement) {
|
|
6302
|
-
const inside = this.elRef.nativeElement.contains(targetElement);
|
|
6303
|
-
if (!inside) {
|
|
6304
|
-
this.clickOutside.emit(null);
|
|
6305
|
-
}
|
|
6306
|
-
}
|
|
6307
|
-
}
|
|
6308
|
-
ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6309
|
-
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 });
|
|
6310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
6311
|
-
type: Directive,
|
|
6312
|
-
args: [{
|
|
6313
|
-
standalone: true,
|
|
6314
|
-
selector: '[fngClickOutside]'
|
|
6315
|
-
}]
|
|
6316
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
|
|
6317
|
-
type: Output
|
|
6318
|
-
}], onClick: [{
|
|
6319
|
-
type: HostListener,
|
|
6320
|
-
args: ['document:click', ['$event.target']]
|
|
6321
|
-
}] } });
|
|
6322
|
-
|
|
6323
6418
|
class FestoAngularModule {
|
|
6324
6419
|
}
|
|
6325
6420
|
FestoAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6326
|
-
FestoAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, imports: [
|
|
6421
|
+
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] });
|
|
6327
6422
|
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] });
|
|
6328
6423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, decorators: [{
|
|
6329
6424
|
type: NgModule,
|
|
6330
6425
|
args: [{
|
|
6331
6426
|
declarations: [],
|
|
6332
|
-
imports: [
|
|
6333
|
-
exports: [
|
|
6427
|
+
imports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule],
|
|
6428
|
+
exports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule]
|
|
6334
6429
|
}]
|
|
6335
6430
|
}] });
|
|
6336
6431
|
|
|
@@ -6342,5 +6437,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
6342
6437
|
* Generated bundle index. Do not edit.
|
|
6343
6438
|
*/
|
|
6344
6439
|
|
|
6345
|
-
export {
|
|
6440
|
+
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 };
|
|
6346
6441
|
//# sourceMappingURL=festo-ui-angular.mjs.map
|