@festo-ui/angular 5.1.0 → 6.0.0-dev.198
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 → esm2022}/lib/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +4 -4
- package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +148 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/buttons/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/buttons/link-button/link-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/chips/chip/chip.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/chips/chip-container/chip-container.component.mjs +4 -4
- package/esm2022/lib/components/components.module.mjs +207 -0
- package/{esm2020 → esm2022}/lib/components/loading-indicator/loading-indicator.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/mobile-flyout/mobile-flyout.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/pagination/pagination.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/popovers/legend/legend.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/legend/legend.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/popover/popover.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/popover-content/popover-content.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/popover-content/popover-content.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/popover-menu/popover-menu.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/popover.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/popovers/tooltip/tooltip.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/progress/progress.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/scroll/scrollable.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/search-input/search-input.component.mjs +4 -4
- package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/components/snackbar/snackbar-container.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/snackbar/snackbar-container.directive.mjs +5 -5
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +81 -0
- package/esm2022/lib/components/snackbar/snackbar.module.mjs +24 -0
- package/{esm2020 → esm2022}/lib/components/snackbar/snackbar.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/stepper-vertical/stepper-vertical.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/table-header-cell/table-header-cell.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +34 -0
- package/esm2022/lib/components/tabs/tabs.component.mjs +459 -0
- package/{esm2020 → esm2022}/lib/directives/click-outside.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/festo-angular.module.mjs +5 -5
- package/esm2022/lib/forms/checkbox/checkbox.component.mjs +154 -0
- package/{esm2020 → esm2022}/lib/forms/color-indicator/color-indicator.component.mjs +4 -4
- package/esm2022/lib/forms/color-picker/color-picker.component.mjs +292 -0
- package/{esm2020 → esm2022}/lib/forms/date-picker/date-picker.component.mjs +12 -12
- package/{esm2020 → esm2022}/lib/forms/date-range-picker/date-range-picker.component.mjs +12 -12
- package/{esm2020 → esm2022}/lib/forms/flatpickr/flatpickr.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms/forms.module.mjs +62 -62
- package/esm2022/lib/forms/radio/radio.component.mjs +350 -0
- package/{esm2020 → esm2022}/lib/forms/segment/segment-control/segment-control.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms/segment/segment.component.mjs +11 -11
- package/{esm2020 → esm2022}/lib/forms/select/chip-text.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms/select/select-option/select-option.component.mjs +4 -4
- package/esm2022/lib/forms/select/select.component.mjs +275 -0
- package/esm2022/lib/forms/slider/slider.component.mjs +113 -0
- package/esm2022/lib/forms/switch/switch.component.mjs +121 -0
- package/esm2022/lib/forms/text-area/text-area.component.mjs +187 -0
- package/esm2022/lib/forms/text-editor/text-editor.component.mjs +308 -0
- package/esm2022/lib/forms/text-input/text-input.component.mjs +208 -0
- package/{esm2020 → esm2022}/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms/time-picker/time-picker.component.mjs +11 -11
- package/{esm2020 → esm2022}/lib/forms/unique-selection-dispatcher.mjs +4 -4
- package/{esm2020 → esm2022}/lib/forms/value-accessor-base.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modals/alert/alert.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modals/confirm/confirm.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modals/custom-modal/custom-modal.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modals/image-gallery/image-gallery.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modals/modal.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modals/modals.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modals/prompt/prompt.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/safe-html.pipe.mjs +5 -5
- package/{fesm2020 → fesm2022}/festo-ui-angular.mjs +512 -520
- package/{fesm2020 → fesm2022}/festo-ui-angular.mjs.map +1 -1
- package/lib/components/accordion/accordion.component.d.ts +1 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/lib/components/buttons/button/button.component.d.ts +1 -1
- package/lib/components/buttons/link-button/link-button.component.d.ts +1 -1
- package/lib/components/chips/chip/chip.component.d.ts +1 -1
- package/lib/components/chips/chip-container/chip-container.component.d.ts +1 -1
- package/lib/components/loading-indicator/loading-indicator.component.d.ts +1 -1
- package/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.d.ts +1 -1
- package/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.d.ts +1 -1
- package/lib/components/pagination/pagination.component.d.ts +1 -1
- package/lib/components/popovers/legend/legend.component.d.ts +1 -1
- package/lib/components/popovers/popover-content/popover-content.component.d.ts +1 -1
- package/lib/components/popovers/popover-menu/popover-menu.component.d.ts +1 -1
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/components/progress/progress.component.d.ts +1 -1
- package/lib/components/scroll/scrollable.directive.d.ts +1 -1
- package/lib/components/search-input/search-input.component.d.ts +1 -1
- package/lib/components/sidebar-overlay/sidebar-overlay.component.d.ts +1 -1
- package/lib/components/snackbar/snackbar-container.component.d.ts +1 -1
- package/lib/components/snackbar/snackbar-container.directive.d.ts +1 -1
- package/lib/components/snackbar/snackbar.component.d.ts +1 -1
- package/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.d.ts +1 -1
- package/lib/components/stepper-horizontal/stepper-horizontal.component.d.ts +1 -1
- package/lib/components/stepper-vertical/step-vertical/step-vertical.component.d.ts +1 -1
- package/lib/components/stepper-vertical/stepper-vertical.component.d.ts +1 -1
- package/lib/components/table-header-cell/table-header-cell.directive.d.ts +1 -1
- package/lib/components/tabs/tab-pane/tab-pane.component.d.ts +1 -1
- package/lib/components/tabs/tabs.component.d.ts +1 -1
- package/lib/forms/checkbox/checkbox.component.d.ts +1 -1
- package/lib/forms/color-indicator/color-indicator.component.d.ts +1 -1
- package/lib/forms/color-picker/color-picker.component.d.ts +1 -1
- package/lib/forms/date-picker/date-picker.component.d.ts +1 -1
- package/lib/forms/date-range-picker/date-range-picker.component.d.ts +1 -1
- package/lib/forms/flatpickr/flatpickr.component.d.ts +1 -1
- package/lib/forms/radio/radio.component.d.ts +6 -6
- package/lib/forms/segment/segment-control/segment-control.component.d.ts +1 -1
- package/lib/forms/segment/segment.component.d.ts +1 -1
- package/lib/forms/select/select-option/select-option.component.d.ts +1 -1
- package/lib/forms/select/select.component.d.ts +6 -5
- package/lib/forms/slider/slider.component.d.ts +1 -1
- package/lib/forms/switch/switch.component.d.ts +1 -1
- package/lib/forms/text-area/text-area.component.d.ts +1 -1
- package/lib/forms/text-editor/text-editor.component.d.ts +1 -1
- package/lib/forms/text-input/text-input.component.d.ts +1 -1
- package/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.d.ts +1 -1
- package/lib/forms/time-picker/time-picker.component.d.ts +1 -1
- package/lib/forms/value-accessor-base.d.ts +1 -1
- package/lib/modals/alert/alert.component.d.ts +1 -1
- package/lib/modals/confirm/confirm.component.d.ts +1 -1
- package/lib/modals/custom-modal/custom-modal.component.d.ts +1 -1
- package/lib/modals/image-gallery/image-gallery.component.d.ts +1 -1
- package/lib/modals/prompt/prompt.component.d.ts +1 -1
- package/package.json +17 -23
- package/esm2020/lib/components/accordion/accordion-item/accordion-item.component.mjs +0 -148
- package/esm2020/lib/components/accordion/accordion.component.mjs +0 -59
- package/esm2020/lib/components/components.module.mjs +0 -218
- package/esm2020/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +0 -59
- package/esm2020/lib/components/snackbar/snackbar.component.mjs +0 -81
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +0 -24
- package/esm2020/lib/components/tabs/tab-pane/tab-pane.component.mjs +0 -34
- package/esm2020/lib/components/tabs/tabs.component.mjs +0 -459
- package/esm2020/lib/forms/checkbox/checkbox.component.mjs +0 -154
- package/esm2020/lib/forms/color-picker/color-picker.component.mjs +0 -292
- package/esm2020/lib/forms/radio/radio.component.mjs +0 -350
- package/esm2020/lib/forms/select/select.component.mjs +0 -273
- package/esm2020/lib/forms/slider/slider.component.mjs +0 -113
- package/esm2020/lib/forms/switch/switch.component.mjs +0 -121
- package/esm2020/lib/forms/text-area/text-area.component.mjs +0 -187
- package/esm2020/lib/forms/text-editor/text-editor.component.mjs +0 -308
- package/esm2020/lib/forms/text-input/text-input.component.mjs +0 -208
- package/fesm2015/festo-ui-angular.mjs +0 -6504
- package/fesm2015/festo-ui-angular.mjs.map +0 -1
- /package/{esm2020 → esm2022}/festo-ui-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/popovers/popover-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/popovers/popover.defaults.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/popovers/popover.models.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/scroll/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/snackbar/snackbar.models.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forms/color-picker/color-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modals/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
let nextUniqueId = 0;
|
|
8
|
+
export class FngSwitchComponent {
|
|
9
|
+
get id() {
|
|
10
|
+
return this.innerId;
|
|
11
|
+
}
|
|
12
|
+
set id(value) {
|
|
13
|
+
this.innerId = value ? `${value}-${++nextUniqueId}` : `fng-switch-${++nextUniqueId}`;
|
|
14
|
+
}
|
|
15
|
+
get inputId() {
|
|
16
|
+
return `${this.innerId}-input`;
|
|
17
|
+
}
|
|
18
|
+
get checked() {
|
|
19
|
+
return this.isChecked;
|
|
20
|
+
}
|
|
21
|
+
set checked(value) {
|
|
22
|
+
if (value !== this.checked) {
|
|
23
|
+
this.isChecked = value;
|
|
24
|
+
this.changeDetector.markForCheck();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
get disabled() {
|
|
28
|
+
return this.isDisabled;
|
|
29
|
+
}
|
|
30
|
+
set disabled(value) {
|
|
31
|
+
const newValue = coerceBooleanProperty(value);
|
|
32
|
+
if (newValue !== this.disabled) {
|
|
33
|
+
this.isDisabled = newValue;
|
|
34
|
+
this.changeDetector.markForCheck();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
get required() {
|
|
38
|
+
return this.isRequired;
|
|
39
|
+
}
|
|
40
|
+
set required(value) {
|
|
41
|
+
this.isRequired = coerceBooleanProperty(value);
|
|
42
|
+
}
|
|
43
|
+
constructor(changeDetector) {
|
|
44
|
+
this.changeDetector = changeDetector;
|
|
45
|
+
this.large = false;
|
|
46
|
+
this.labelPosition = 'before';
|
|
47
|
+
this.innerId = `fng-switch-${++nextUniqueId}`;
|
|
48
|
+
this.isChecked = false;
|
|
49
|
+
this.isDisabled = false;
|
|
50
|
+
this.isRequired = false;
|
|
51
|
+
this.change = new EventEmitter();
|
|
52
|
+
}
|
|
53
|
+
writeValue(value) {
|
|
54
|
+
this.checked = !!value;
|
|
55
|
+
}
|
|
56
|
+
registerOnChange(fn) {
|
|
57
|
+
this.controlValueAccessorChangeFn = fn;
|
|
58
|
+
}
|
|
59
|
+
registerOnTouched(fn) {
|
|
60
|
+
this.onTouched = fn;
|
|
61
|
+
}
|
|
62
|
+
setDisabledState(isDisabled) {
|
|
63
|
+
this.disabled = isDisabled;
|
|
64
|
+
}
|
|
65
|
+
onInteractionEvent(event) {
|
|
66
|
+
event.stopPropagation();
|
|
67
|
+
}
|
|
68
|
+
onInputClick(event) {
|
|
69
|
+
event.stopPropagation();
|
|
70
|
+
if (!this.disabled) {
|
|
71
|
+
if (this.required) {
|
|
72
|
+
this.required = false;
|
|
73
|
+
}
|
|
74
|
+
this.checked = !this.checked;
|
|
75
|
+
if (this.controlValueAccessorChangeFn != null) {
|
|
76
|
+
this.controlValueAccessorChangeFn(this.checked);
|
|
77
|
+
}
|
|
78
|
+
if (this.onTouched != null) {
|
|
79
|
+
this.onTouched();
|
|
80
|
+
}
|
|
81
|
+
this.change.emit(this.checked);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FngSwitchComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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: [
|
|
86
|
+
{
|
|
87
|
+
provide: NG_VALUE_ACCESSOR,
|
|
88
|
+
useExisting: forwardRef(() => FngSwitchComponent),
|
|
89
|
+
multi: true
|
|
90
|
+
}
|
|
91
|
+
], 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FngSwitchComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-switch', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
96
|
+
{
|
|
97
|
+
provide: NG_VALUE_ACCESSOR,
|
|
98
|
+
useExisting: forwardRef(() => FngSwitchComponent),
|
|
99
|
+
multi: true
|
|
100
|
+
}
|
|
101
|
+
], 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"] }]
|
|
102
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { name: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], large: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], labelPosition: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], id: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], checked: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], disabled: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], value: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], required: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], change: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}] } });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQWtCckIsTUFBTSxPQUFPLGtCQUFrQjtJQU03QixJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQ0ksRUFBRSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN2RixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxL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RURQWSxZQUFZOzsyRkFjWCxrQkFBa0I7a0JBaEI5QixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9GLEVBQUU7c0JBREwsS0FBSztnQkFVRixPQUFPO3NCQURWLEtBQUs7Z0JBYUYsUUFBUTtzQkFEWCxLQUFLO2dCQWFHLEtBQUs7c0JBQWIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7Z0JBU2EsTUFBTTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZm5nLXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm5nU3dpdGNoQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZuZ1N3aXRjaENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBsYXJnZSA9IGZhbHNlO1xuICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgfCAnYmVsb3cnID0gJ2JlZm9yZSc7XG5cbiAgcHJpdmF0ZSBpbm5lcklkID0gYGZuZy1zd2l0Y2gtJHsrK25leHRVbmlxdWVJZH1gO1xuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lcklkO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pbm5lcklkID0gdmFsdWUgPyBgJHt2YWx1ZX0tJHsrK25leHRVbmlxdWVJZH1gIDogYGZuZy1zd2l0Y2gtJHsrK25leHRVbmlxdWVJZH1gO1xuICB9XG5cbiAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pbm5lcklkfS1pbnB1dGA7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0NoZWNrZWQ7XG4gIH1cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgaXNDaGVja2VkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKCh2YWx1ZTogYW55KSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICBvblRvdWNoZWQ6ICgoKSA9PiBhbnkpIHwgdW5kZWZpbmVkO1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIG9uSW50ZXJhY3Rpb25FdmVudChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uSW5wdXRDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gIT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy5jaGVja2VkKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm9uVG91Y2hlZCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgfVxuICB9XG59XG4iLCI8bGFiZWxcbiAgW25nQ2xhc3NdPVwie1xuICAgICdmd2Utc3dpdGNoLWNvbnRhaW5lcic6IHRydWUsXG4gICAgJ2Z3ZS1jaGVja2VkJzogY2hlY2tlZCxcbiAgICAnZndlLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ2Z3ZS1zd2l0Y2gtbGFiZWwtYmVsb3cnOiBsYWJlbFBvc2l0aW9uID09ICdiZWxvdycsXG4gICAgJ2Z3ZS1zd2l0Y2gtbGFiZWwtYmVmb3JlJzogbGFiZWxQb3NpdGlvbiA9PSAnYmVmb3JlJyxcbiAgICAnZndlLXN3aXRjaC1sZyc6IGxhcmdlXG4gIH1cIlxuPlxuICA8aW5wdXRcbiAgICB0aXRsZT1cImNoZWNrYm94XCJcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIChjaGFuZ2UpPVwib25JbnRlcmFjdGlvbkV2ZW50KCRldmVudClcIlxuICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1zd2l0Y2gtdHJhY2tcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1zd2l0Y2gtbGFiZWwtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2xhYmVsPlxuIl19
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { Component, Input, forwardRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
/**
|
|
8
|
+
* A custom form element for text inputs.
|
|
9
|
+
*/
|
|
10
|
+
export class FngTextAreaComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.innerReadonly = false;
|
|
13
|
+
this.tabindex = 0;
|
|
14
|
+
this.innerDisabled = false;
|
|
15
|
+
this.innerRequired = false;
|
|
16
|
+
this.innerRows = 3;
|
|
17
|
+
this.maxlength = 0;
|
|
18
|
+
/**
|
|
19
|
+
* When true the text input has focus.
|
|
20
|
+
*/
|
|
21
|
+
this.focused = false;
|
|
22
|
+
}
|
|
23
|
+
get readonly() {
|
|
24
|
+
return this.innerReadonly;
|
|
25
|
+
}
|
|
26
|
+
set readonly(value) {
|
|
27
|
+
this.innerReadonly = coerceBooleanProperty(value);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* When true the control's disabled attribute is set
|
|
31
|
+
* and it gets addeed the .disabled css class.
|
|
32
|
+
*/
|
|
33
|
+
get disabled() {
|
|
34
|
+
return this.innerDisabled;
|
|
35
|
+
}
|
|
36
|
+
set disabled(value) {
|
|
37
|
+
this.innerDisabled = coerceBooleanProperty(value);
|
|
38
|
+
if (this.focused) {
|
|
39
|
+
this.focused = false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The getter for value.
|
|
44
|
+
*/
|
|
45
|
+
get value() {
|
|
46
|
+
return this.innerValue;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The setter for value.
|
|
50
|
+
*/
|
|
51
|
+
set value(value) {
|
|
52
|
+
if (value != null) {
|
|
53
|
+
value = '' + value;
|
|
54
|
+
}
|
|
55
|
+
this.innerValue = value;
|
|
56
|
+
this.focused = !!value;
|
|
57
|
+
if (this.onChange != null) {
|
|
58
|
+
this.onChange(value);
|
|
59
|
+
}
|
|
60
|
+
if (this.onTouched != null) {
|
|
61
|
+
this.onTouched();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get required() {
|
|
65
|
+
return this.innerRequired;
|
|
66
|
+
}
|
|
67
|
+
set required(value) {
|
|
68
|
+
this.innerRequired = coerceBooleanProperty(value);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* the height is managed by classes. the last one is "fwe-row-10"
|
|
72
|
+
*/
|
|
73
|
+
get rows() {
|
|
74
|
+
return this.innerRows;
|
|
75
|
+
}
|
|
76
|
+
set rows(value) {
|
|
77
|
+
const v = coerceNumberProperty(value);
|
|
78
|
+
this.innerRows = v > 10 ? 10 : v;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Called on component initialisation.
|
|
82
|
+
*/
|
|
83
|
+
ngOnInit() {
|
|
84
|
+
this.onBlur();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Writes the value.
|
|
88
|
+
* @param value The value.
|
|
89
|
+
*/
|
|
90
|
+
writeValue(value) {
|
|
91
|
+
if (value != null) {
|
|
92
|
+
value = '' + value;
|
|
93
|
+
}
|
|
94
|
+
this.innerValue = value;
|
|
95
|
+
this.focused = !!value;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Registers a function to onChange.
|
|
99
|
+
* @param fn The registered function.
|
|
100
|
+
*/
|
|
101
|
+
registerOnChange(fn) {
|
|
102
|
+
this.onChange = fn;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Registers a function to onTouched.
|
|
106
|
+
* @param fn The registered function.
|
|
107
|
+
*/
|
|
108
|
+
registerOnTouched(fn) {
|
|
109
|
+
this.onTouched = fn;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Called when the text input is in focus.
|
|
113
|
+
*/
|
|
114
|
+
onFocus() {
|
|
115
|
+
this.focused = true;
|
|
116
|
+
}
|
|
117
|
+
onInput(event) {
|
|
118
|
+
this.value = event.target.value;
|
|
119
|
+
// The height is adjusted to the content on "rows = 0"
|
|
120
|
+
if (this.rows === 0) {
|
|
121
|
+
const textarea = this.inputElement?.nativeElement;
|
|
122
|
+
textarea.style.height = '1px'; // trigger calculation of the textarea.scrollHeight
|
|
123
|
+
textarea.style.height = 25 + textarea.scrollHeight + 'px';
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Called when the text input blurs.
|
|
128
|
+
*/
|
|
129
|
+
onBlur() {
|
|
130
|
+
if (this.focused) {
|
|
131
|
+
this.focused = false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Sets the disabled state.
|
|
136
|
+
* @param isDisabled When true the control is disabled
|
|
137
|
+
*/
|
|
138
|
+
setDisabledState(isDisabled) {
|
|
139
|
+
this.disabled = isDisabled;
|
|
140
|
+
}
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FngTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", 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: [
|
|
143
|
+
{
|
|
144
|
+
provide: NG_VALUE_ACCESSOR,
|
|
145
|
+
useExisting: forwardRef(() => FngTextAreaComponent),
|
|
146
|
+
multi: true
|
|
147
|
+
}
|
|
148
|
+
], 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: FngTextAreaComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-text-area', providers: [
|
|
153
|
+
{
|
|
154
|
+
provide: NG_VALUE_ACCESSOR,
|
|
155
|
+
useExisting: forwardRef(() => FngTextAreaComponent),
|
|
156
|
+
multi: true
|
|
157
|
+
}
|
|
158
|
+
], 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"] }]
|
|
159
|
+
}], propDecorators: { label: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], readonly: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], placeholder: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], tabindex: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], name: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], disabled: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], value: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], required: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], error: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], hint: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], rows: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], maxlength: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], inputElement: [{
|
|
184
|
+
type: ViewChild,
|
|
185
|
+
args: ['inputElement']
|
|
186
|
+
}] } });
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DOztHQUVHO0FBZ0JILE1BQU0sT0FBTyxvQkFBb0I7SUFmakM7UUE0QlUsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHckIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQWtCcEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUF1Q3RCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBdUJ0QixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRWYsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUkvQjs7V0FFRztRQUNILFlBQU8sR0FBWSxLQUFLLENBQUM7S0FpRjFCO0lBcExDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFPRDs7O09BR0c7SUFDSCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBUUQ7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBeUI7UUFDakMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLEtBQUssR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFhRDs7T0FFRztJQUNILElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBYTtRQUNwQixNQUFNLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFzQkQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDakIsS0FBSyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBRWhDLHNEQUFzRDtRQUN0RCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO1lBQ2xELFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLG1EQUFtRDtZQUNsRixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQzdCLENBQUM7OEdBekxVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDhTQVRwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRix3SUNwQkgsNjNCQXNCQSx5akNEWlksWUFBWTs7MkZBYVgsb0JBQW9CO2tCQWZoQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLGVBQWUsYUFHZDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzs0QkFDbkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSTs4QkFNNUIsS0FBSztzQkFBYixLQUFLO2dCQUdGLFFBQVE7c0JBRFgsS0FBSztnQkFTRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQU9GLFFBQVE7c0JBRFgsS0FBSztnQkE2QkYsS0FBSztzQkFEUixLQUFLO2dCQWdCRixRQUFRO3NCQURYLEtBQUs7Z0JBWUcsS0FBSztzQkFBYixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRixJQUFJO3NCQURQLEtBQUs7Z0JBVUcsU0FBUztzQkFBakIsS0FBSztnQkFFcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQSBjdXN0b20gZm9ybSBlbGVtZW50IGZvciB0ZXh0IGlucHV0cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy10ZXh0LWFyZWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm5nVGV4dEFyZWFDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm5nVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGlucHV0IGxhYmVsLlxuICAgKi9cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJSZWFkb25seTtcbiAgfVxuICBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlubmVyUmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgaW5uZXJSZWFkb25seSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSB0aGUgY29udHJvbCdzIGRpc2FibGVkIGF0dHJpYnV0ZSBpcyBzZXRcbiAgICogYW5kIGl0IGdldHMgYWRkZWVkIHRoZSAuZGlzYWJsZWQgY3NzIGNsYXNzLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlubmVyRGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pbm5lckRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcblxuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgaW5uZXJEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5uZXIgdmFsdWUuXG4gICAqL1xuICBpbm5lclZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBnZXR0ZXIgZm9yIHZhbHVlLlxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGVyIGZvciB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHZhbHVlID0gJycgKyB2YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5mb2N1c2VkID0gISF2YWx1ZTtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkICE9IG51bGwpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlubmVyUmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pbm5lclJlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgaW5uZXJSZXF1aXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFcnJvciBkZXNjcmlwdGlvbiB3aGVuIGludmFsaWQuXG4gICAqL1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBIaW50IGRlc2NyaXB0aW9uIHdoZW4gdmFsaWQuXG4gICAqL1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIHRoZSBoZWlnaHQgaXMgbWFuYWdlZCBieSBjbGFzc2VzLiB0aGUgbGFzdCBvbmUgaXMgXCJmd2Utcm93LTEwXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCByb3dzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJSb3dzO1xuICB9XG4gIHNldCByb3dzKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCB2ID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMuaW5uZXJSb3dzID0gdiA+IDEwID8gMTAgOiB2O1xuICB9XG4gIHByb3RlY3RlZCBpbm5lclJvd3MgPSAzO1xuXG4gIEBJbnB1dCgpIG1heGxlbmd0aDogbnVtYmVyID0gMDtcblxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSB0aGUgdGV4dCBpbnB1dCBoYXMgZm9jdXMuXG4gICAqL1xuICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBvbiBjaGFuZ2UuXG4gICAqL1xuICBvbkNoYW5nZTogKCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVHJpZ2dlcmVkIG9uIHRvdWNoLlxuICAgKi9cbiAgb25Ub3VjaGVkOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uQmx1cigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdyaXRlcyB0aGUgdmFsdWUuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUuXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSAnJyArIHZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmZvY3VzZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIHRvIG9uQ2hhbmdlLlxuICAgKiBAcGFyYW0gZm4gVGhlIHJlZ2lzdGVyZWQgZnVuY3Rpb24uXG4gICAqL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gdG8gb25Ub3VjaGVkLlxuICAgKiBAcGFyYW0gZm4gVGhlIHJlZ2lzdGVyZWQgZnVuY3Rpb24uXG4gICAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgdGV4dCBpbnB1dCBpcyBpbiBmb2N1cy5cbiAgICovXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG5cbiAgICAvLyBUaGUgaGVpZ2h0IGlzIGFkanVzdGVkIHRvIHRoZSBjb250ZW50IG9uIFwicm93cyA9IDBcIlxuICAgIGlmICh0aGlzLnJvd3MgPT09IDApIHtcbiAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSAnMXB4JzsgLy8gdHJpZ2dlciBjYWxjdWxhdGlvbiBvZiB0aGUgdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0XG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSAyNSArIHRleHRhcmVhLnNjcm9sbEhlaWdodCArICdweCc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB0ZXh0IGlucHV0IGJsdXJzLlxuICAgKi9cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZS5cbiAgICogQHBhcmFtIGlzRGlzYWJsZWQgV2hlbiB0cnVlIHRoZSBjb250cm9sIGlzIGRpc2FibGVkXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxufVxuIiwiPGxhYmVsIGNsYXNzPVwiZndlLWlucHV0LXRleHRcIj5cbiAgPHRleHRhcmVhXG4gICAgI2lucHV0RWxlbWVudFxuICAgIFtjbGFzc109XCInZndlLXJvdy0nICsgcm93c1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWQgPT09IHRydWUgfHwgbnVsbFwiXG4gICAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPT09IHRydWUgfHwgbnVsbFwiXG4gICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgbnVsbFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lIHx8IG51bGxcIlxuICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICBbY2xhc3MuZm5nLWhhcy12YWx1ZV09XCJ2YWx1ZSAhPSBudWxsICYmIHZhbHVlICE9PSAnJ1wiXG4gICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgPnt7IHZhbHVlIH19PC90ZXh0YXJlYVxuICA+XG4gIDxzcGFuIGNsYXNzPVwiZndlLWlucHV0LXRleHQtbGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1pbmZvXCI+e3sgaGludCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZndlLWlucHV0LXRleHQtaW52YWxpZFwiPnt7IGVycm9yIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIm1heGxlbmd0aCA+IDAgJiYgdmFsdWUgIT0gbnVsbFwiIGNsYXNzPVwiZndlLWlucHV0LXRleHQtY291bnRcIj57eyB2YWx1ZS5sZW5ndGggfX0gLyB7eyBtYXhsZW5ndGggfX08L3NwYW4+XG48L2xhYmVsPlxuIl19
|