@festo-ui/angular 8.2.0-dev.617 → 8.2.0-dev.620
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/css/bundle.css +1 -1
- package/css/popover.css +1 -1
- package/fesm2022/festo-ui-angular.mjs +514 -260
- package/fesm2022/festo-ui-angular.mjs.map +1 -1
- package/lib/components/components.module.d.ts +3 -1
- package/lib/components/overlay/overlay-content/overlay-content.component.d.ts +5 -0
- package/lib/components/overlay/overlay-outlet.directive.d.ts +64 -0
- package/lib/components/popovers/popover.defaults.d.ts +0 -18
- package/lib/components/popovers/popover.models.d.ts +2 -1
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +7 -0
- package/lib/forms/value-accessor-base.d.ts +1 -1
- package/package.json +9 -11
- package/public-api.d.ts +2 -0
- package/scss/base/icons-svg.scss +1 -1
- package/scss/base/image-gallery.scss +2 -2
- package/scss/base/popover.scss +2 -2
- package/scss/base/styles.scss +4 -4
- package/esm2022/festo-ui-angular.mjs +0 -5
- package/esm2022/lib/components/accordion/accordion-header/accordion-header.component.mjs +0 -11
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +0 -15
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +0 -28
- package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +0 -148
- package/esm2022/lib/components/accordion/accordion.component.mjs +0 -59
- package/esm2022/lib/components/accordion/index.mjs +0 -6
- package/esm2022/lib/components/bottom-sheet/bottom-sheet.component.mjs +0 -97
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -26
- package/esm2022/lib/components/buttons/button/button.component.mjs +0 -48
- package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +0 -34
- package/esm2022/lib/components/chips/chip/chip.component.mjs +0 -38
- package/esm2022/lib/components/chips/chip-container/chip-container.component.mjs +0 -17
- package/esm2022/lib/components/components.module.mjs +0 -212
- package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +0 -17
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +0 -39
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +0 -65
- package/esm2022/lib/components/mobile-flyout/mobile-flyout.component.mjs +0 -69
- package/esm2022/lib/components/pagination/pagination.component.mjs +0 -57
- package/esm2022/lib/components/popovers/legend/legend.component.mjs +0 -42
- package/esm2022/lib/components/popovers/legend/legend.directive.mjs +0 -31
- package/esm2022/lib/components/popovers/popover/popover.component.mjs +0 -31
- package/esm2022/lib/components/popovers/popover-content/popover-content.component.mjs +0 -80
- package/esm2022/lib/components/popovers/popover-content/popover-content.directive.mjs +0 -39
- package/esm2022/lib/components/popovers/popover-menu/popover-menu.component.mjs +0 -67
- package/esm2022/lib/components/popovers/popover-ref.mjs +0 -25
- package/esm2022/lib/components/popovers/popover.defaults.mjs +0 -59
- package/esm2022/lib/components/popovers/popover.models.mjs +0 -7
- package/esm2022/lib/components/popovers/popover.service.mjs +0 -140
- package/esm2022/lib/components/popovers/tooltip/tooltip.directive.mjs +0 -101
- package/esm2022/lib/components/progress/progress.component.mjs +0 -22
- package/esm2022/lib/components/scroll/index.mjs +0 -2
- package/esm2022/lib/components/scroll/scrollable.directive.mjs +0 -75
- package/esm2022/lib/components/search-input/search-input.component.mjs +0 -182
- package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +0 -59
- package/esm2022/lib/components/snackbar/snackbar-container.component.mjs +0 -21
- package/esm2022/lib/components/snackbar/snackbar-container.directive.mjs +0 -80
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -81
- package/esm2022/lib/components/snackbar/snackbar.models.mjs +0 -2
- package/esm2022/lib/components/snackbar/snackbar.module.mjs +0 -24
- package/esm2022/lib/components/snackbar/snackbar.service.mjs +0 -23
- package/esm2022/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +0 -19
- package/esm2022/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +0 -52
- package/esm2022/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +0 -57
- package/esm2022/lib/components/stepper-vertical/stepper-vertical.component.mjs +0 -54
- package/esm2022/lib/components/table-header-cell/table-header-cell.directive.mjs +0 -60
- package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +0 -34
- package/esm2022/lib/components/tabs/tabs.component.mjs +0 -459
- package/esm2022/lib/directives/click-outside.directive.mjs +0 -29
- package/esm2022/lib/festo-angular.module.mjs +0 -21
- package/esm2022/lib/forms/checkbox/checkbox.component.mjs +0 -154
- package/esm2022/lib/forms/color-indicator/color-indicator.component.mjs +0 -88
- package/esm2022/lib/forms/color-picker/color-helper.mjs +0 -129
- package/esm2022/lib/forms/color-picker/color-picker.component.mjs +0 -292
- package/esm2022/lib/forms/date-picker/date-picker.component.mjs +0 -205
- package/esm2022/lib/forms/date-range-picker/date-range-picker.component.mjs +0 -231
- package/esm2022/lib/forms/flatpickr/flatpickr.component.mjs +0 -55
- package/esm2022/lib/forms/forms.module.mjs +0 -132
- package/esm2022/lib/forms/radio/radio.component.mjs +0 -349
- package/esm2022/lib/forms/segment/segment-control/segment-control.component.mjs +0 -65
- package/esm2022/lib/forms/segment/segment.component.mjs +0 -139
- package/esm2022/lib/forms/select/chip-text.pipe.mjs +0 -39
- package/esm2022/lib/forms/select/select-option/select-option.component.mjs +0 -23
- package/esm2022/lib/forms/select/select.component.mjs +0 -273
- package/esm2022/lib/forms/slider/slider.component.mjs +0 -117
- package/esm2022/lib/forms/switch/switch.component.mjs +0 -121
- package/esm2022/lib/forms/text-area/text-area.component.mjs +0 -187
- package/esm2022/lib/forms/text-editor/text-editor.component.mjs +0 -307
- package/esm2022/lib/forms/text-input/text-input.component.mjs +0 -208
- package/esm2022/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +0 -107
- package/esm2022/lib/forms/time-picker/time-picker.component.mjs +0 -204
- package/esm2022/lib/forms/unique-selection-dispatcher.mjs +0 -41
- package/esm2022/lib/forms/value-accessor-base.mjs +0 -41
- package/esm2022/lib/modals/alert/alert.component.mjs +0 -55
- package/esm2022/lib/modals/confirm/confirm.component.mjs +0 -56
- package/esm2022/lib/modals/custom-modal/custom-modal.component.mjs +0 -88
- package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +0 -80
- package/esm2022/lib/modals/index.mjs +0 -2
- package/esm2022/lib/modals/modal.service.mjs +0 -118
- package/esm2022/lib/modals/modals.module.mjs +0 -27
- package/esm2022/lib/modals/prompt/prompt.component.mjs +0 -114
- package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -21
- package/esm2022/public-api.mjs +0 -66
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FngCheckboxComponent } from './checkbox/checkbox.component';
|
|
3
|
-
import { FngColorIndicatorComponent } from './color-indicator/color-indicator.component';
|
|
4
|
-
import { FngColorPickerComponent } from './color-picker/color-picker.component';
|
|
5
|
-
import { FngTextInputComponent } from './text-input/text-input.component';
|
|
6
|
-
import { FngTimePickerDropdownComponent } from './time-picker/time-picker-dropdown/time-picker-dropdown.component';
|
|
7
|
-
import { FngTimePickerComponent } from './time-picker/time-picker.component';
|
|
8
|
-
import { FngDatePickerComponent } from './date-picker/date-picker.component';
|
|
9
|
-
import { FngDateRangePickerComponent } from './date-range-picker/date-range-picker.component';
|
|
10
|
-
import { FngRadioComponent, FngRadioGroupDirective } from './radio/radio.component';
|
|
11
|
-
import { FngSegmentComponent } from './segment/segment.component';
|
|
12
|
-
import { FngSegmentControlComponent } from './segment/segment-control/segment-control.component';
|
|
13
|
-
import { FngSelectOptionComponent } from './select/select-option/select-option.component';
|
|
14
|
-
import { FngSelectComponent } from './select/select.component';
|
|
15
|
-
import { FngSliderComponent } from './slider/slider.component';
|
|
16
|
-
import { FngSwitchComponent } from './switch/switch.component';
|
|
17
|
-
import { FngTextAreaComponent } from './text-area/text-area.component';
|
|
18
|
-
import { FngTextEditorComponent } from './text-editor/text-editor.component';
|
|
19
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
export class FestoAngularFormsModule {
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularFormsModule, imports: [ReactiveFormsModule,
|
|
24
|
-
FormsModule,
|
|
25
|
-
FngCheckboxComponent,
|
|
26
|
-
FngColorIndicatorComponent,
|
|
27
|
-
FngColorPickerComponent,
|
|
28
|
-
FngTextInputComponent,
|
|
29
|
-
FngTimePickerDropdownComponent,
|
|
30
|
-
FngTimePickerComponent,
|
|
31
|
-
FngDatePickerComponent,
|
|
32
|
-
FngDateRangePickerComponent,
|
|
33
|
-
FngRadioGroupDirective,
|
|
34
|
-
FngRadioComponent,
|
|
35
|
-
FngSegmentComponent,
|
|
36
|
-
FngSegmentControlComponent,
|
|
37
|
-
FngSelectOptionComponent,
|
|
38
|
-
FngSelectComponent,
|
|
39
|
-
FngSliderComponent,
|
|
40
|
-
FngSwitchComponent,
|
|
41
|
-
FngTextAreaComponent,
|
|
42
|
-
FngTextEditorComponent], exports: [ReactiveFormsModule,
|
|
43
|
-
FormsModule,
|
|
44
|
-
FngCheckboxComponent,
|
|
45
|
-
FngColorIndicatorComponent,
|
|
46
|
-
FngColorPickerComponent,
|
|
47
|
-
FngTextInputComponent,
|
|
48
|
-
FngTimePickerDropdownComponent,
|
|
49
|
-
FngTimePickerComponent,
|
|
50
|
-
FngDatePickerComponent,
|
|
51
|
-
FngDateRangePickerComponent,
|
|
52
|
-
FngRadioGroupDirective,
|
|
53
|
-
FngRadioComponent,
|
|
54
|
-
FngSegmentComponent,
|
|
55
|
-
FngSegmentControlComponent,
|
|
56
|
-
FngSelectOptionComponent,
|
|
57
|
-
FngSelectComponent,
|
|
58
|
-
FngSliderComponent,
|
|
59
|
-
FngSwitchComponent,
|
|
60
|
-
FngTextAreaComponent,
|
|
61
|
-
FngTextEditorComponent] }); }
|
|
62
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularFormsModule, imports: [ReactiveFormsModule,
|
|
63
|
-
FormsModule,
|
|
64
|
-
FngCheckboxComponent,
|
|
65
|
-
FngColorIndicatorComponent,
|
|
66
|
-
FngColorPickerComponent,
|
|
67
|
-
FngTextInputComponent,
|
|
68
|
-
FngTimePickerDropdownComponent,
|
|
69
|
-
FngTimePickerComponent,
|
|
70
|
-
FngDatePickerComponent,
|
|
71
|
-
FngDateRangePickerComponent,
|
|
72
|
-
FngRadioComponent,
|
|
73
|
-
FngSegmentComponent,
|
|
74
|
-
FngSegmentControlComponent,
|
|
75
|
-
FngSelectOptionComponent,
|
|
76
|
-
FngSelectComponent,
|
|
77
|
-
FngSliderComponent,
|
|
78
|
-
FngSwitchComponent,
|
|
79
|
-
FngTextAreaComponent,
|
|
80
|
-
FngTextEditorComponent, ReactiveFormsModule,
|
|
81
|
-
FormsModule] }); }
|
|
82
|
-
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularFormsModule, decorators: [{
|
|
84
|
-
type: NgModule,
|
|
85
|
-
args: [{
|
|
86
|
-
imports: [
|
|
87
|
-
ReactiveFormsModule,
|
|
88
|
-
FormsModule,
|
|
89
|
-
FngCheckboxComponent,
|
|
90
|
-
FngColorIndicatorComponent,
|
|
91
|
-
FngColorPickerComponent,
|
|
92
|
-
FngTextInputComponent,
|
|
93
|
-
FngTimePickerDropdownComponent,
|
|
94
|
-
FngTimePickerComponent,
|
|
95
|
-
FngDatePickerComponent,
|
|
96
|
-
FngDateRangePickerComponent,
|
|
97
|
-
FngRadioGroupDirective,
|
|
98
|
-
FngRadioComponent,
|
|
99
|
-
FngSegmentComponent,
|
|
100
|
-
FngSegmentControlComponent,
|
|
101
|
-
FngSelectOptionComponent,
|
|
102
|
-
FngSelectComponent,
|
|
103
|
-
FngSliderComponent,
|
|
104
|
-
FngSwitchComponent,
|
|
105
|
-
FngTextAreaComponent,
|
|
106
|
-
FngTextEditorComponent
|
|
107
|
-
],
|
|
108
|
-
exports: [
|
|
109
|
-
ReactiveFormsModule,
|
|
110
|
-
FormsModule,
|
|
111
|
-
FngCheckboxComponent,
|
|
112
|
-
FngColorIndicatorComponent,
|
|
113
|
-
FngColorPickerComponent,
|
|
114
|
-
FngTextInputComponent,
|
|
115
|
-
FngTimePickerDropdownComponent,
|
|
116
|
-
FngTimePickerComponent,
|
|
117
|
-
FngDatePickerComponent,
|
|
118
|
-
FngDateRangePickerComponent,
|
|
119
|
-
FngRadioGroupDirective,
|
|
120
|
-
FngRadioComponent,
|
|
121
|
-
FngSegmentComponent,
|
|
122
|
-
FngSegmentControlComponent,
|
|
123
|
-
FngSelectOptionComponent,
|
|
124
|
-
FngSelectComponent,
|
|
125
|
-
FngSliderComponent,
|
|
126
|
-
FngSwitchComponent,
|
|
127
|
-
FngTextAreaComponent,
|
|
128
|
-
FngTextEditorComponent
|
|
129
|
-
]
|
|
130
|
-
}]
|
|
131
|
-
}] });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL2Zvcm1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFnRGxFLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLFlBNUNoQyxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQiw4QkFBOEI7WUFDOUIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFDM0Isc0JBQXNCO1lBQ3RCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsc0JBQXNCLGFBR3RCLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLDhCQUE4QjtZQUM5QixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixzQkFBc0I7WUFDdEIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsd0JBQXdCO1lBQ3hCLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixzQkFBc0I7K0dBR2IsdUJBQXVCLFlBNUNoQyxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLG9CQUFvQjtZQUNwQiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQiw4QkFBOEI7WUFDOUIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFFM0IsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsd0JBQXdCO1lBQ3hCLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixzQkFBc0IsRUFHdEIsbUJBQW1CO1lBQ25CLFdBQVc7OzJGQXFCRix1QkFBdUI7a0JBOUNuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQiw4QkFBOEI7d0JBQzlCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLDhCQUE4Qjt3QkFDOUIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isc0JBQXNCO3dCQUN0QixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbmdDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ0NvbG9ySW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1pbmRpY2F0b3IvY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RpbWVQaWNrZXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIvdGltZS1waWNrZXItZHJvcGRvd24vdGltZS1waWNrZXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nUmFkaW9Db21wb25lbnQsIEZuZ1JhZGlvR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdTZWdtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9zZWdtZW50L3NlZ21lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1NlZ21lbnRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9zZWdtZW50L3NlZ21lbnQtY29udHJvbC9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1NlbGVjdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC1vcHRpb24vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbmdTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3NsaWRlci9zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1N3aXRjaENvbXBvbmVudCB9IGZyb20gJy4vc3dpdGNoL3N3aXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1RleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgRm5nQ2hlY2tib3hDb21wb25lbnQsXG4gICAgRm5nQ29sb3JJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgRm5nQ29sb3JQaWNrZXJDb21wb25lbnQsXG4gICAgRm5nVGV4dElucHV0Q29tcG9uZW50LFxuICAgIEZuZ1RpbWVQaWNrZXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBGbmdUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgIEZuZ0RhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgRm5nRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIEZuZ1JhZGlvR3JvdXBEaXJlY3RpdmUsXG4gICAgRm5nUmFkaW9Db21wb25lbnQsXG4gICAgRm5nU2VnbWVudENvbXBvbmVudCxcbiAgICBGbmdTZWdtZW50Q29udHJvbENvbXBvbmVudCxcbiAgICBGbmdTZWxlY3RPcHRpb25Db21wb25lbnQsXG4gICAgRm5nU2VsZWN0Q29tcG9uZW50LFxuICAgIEZuZ1NsaWRlckNvbXBvbmVudCxcbiAgICBGbmdTd2l0Y2hDb21wb25lbnQsXG4gICAgRm5nVGV4dEFyZWFDb21wb25lbnQsXG4gICAgRm5nVGV4dEVkaXRvckNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBGbmdDaGVja2JveENvbXBvbmVudCxcbiAgICBGbmdDb2xvckluZGljYXRvckNvbXBvbmVudCxcbiAgICBGbmdDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICBGbmdUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgRm5nVGltZVBpY2tlckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEZuZ1RpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgRm5nRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBGbmdEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgRm5nUmFkaW9Hcm91cERpcmVjdGl2ZSxcbiAgICBGbmdSYWRpb0NvbXBvbmVudCxcbiAgICBGbmdTZWdtZW50Q29tcG9uZW50LFxuICAgIEZuZ1NlZ21lbnRDb250cm9sQ29tcG9uZW50LFxuICAgIEZuZ1NlbGVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICBGbmdTZWxlY3RDb21wb25lbnQsXG4gICAgRm5nU2xpZGVyQ29tcG9uZW50LFxuICAgIEZuZ1N3aXRjaENvbXBvbmVudCxcbiAgICBGbmdUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBGbmdUZXh0RWRpdG9yQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmVzdG9Bbmd1bGFyRm9ybXNNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy, Optional, EventEmitter, Output, ViewEncapsulation, Directive, forwardRef, ContentChildren, HostBinding } 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 "../unique-selection-dispatcher";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
export class FngRadioChange {
|
|
9
|
-
constructor(source, value) {
|
|
10
|
-
this.source = source;
|
|
11
|
-
this.value = value;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
let nextUniqueId = 0;
|
|
15
|
-
export class FngRadioGroupDirective {
|
|
16
|
-
get name() {
|
|
17
|
-
return this.innerName;
|
|
18
|
-
}
|
|
19
|
-
set name(value) {
|
|
20
|
-
this.innerName = value;
|
|
21
|
-
this.updateRadioButtonNames();
|
|
22
|
-
}
|
|
23
|
-
get large() {
|
|
24
|
-
return this.isLarge;
|
|
25
|
-
}
|
|
26
|
-
set large(v) {
|
|
27
|
-
this.isLarge = v;
|
|
28
|
-
this.updateRadioButtonSize();
|
|
29
|
-
}
|
|
30
|
-
get labelPosition() {
|
|
31
|
-
return this.innerLabelPosition;
|
|
32
|
-
}
|
|
33
|
-
set labelPosition(v) {
|
|
34
|
-
this.innerLabelPosition = v;
|
|
35
|
-
this.markRadiosForCheck();
|
|
36
|
-
}
|
|
37
|
-
get value() {
|
|
38
|
-
return this.innerValue;
|
|
39
|
-
}
|
|
40
|
-
set value(newValue) {
|
|
41
|
-
if (this.innerValue !== newValue) {
|
|
42
|
-
this.innerValue = newValue;
|
|
43
|
-
this.updateSelectedRadioFromValue();
|
|
44
|
-
this.checkSelectedRadioButton();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
get selected() {
|
|
48
|
-
return this.isSelected;
|
|
49
|
-
}
|
|
50
|
-
set selected(selected) {
|
|
51
|
-
this.isSelected = selected;
|
|
52
|
-
this.value = selected ? selected.value : null;
|
|
53
|
-
this.checkSelectedRadioButton();
|
|
54
|
-
}
|
|
55
|
-
get disabled() {
|
|
56
|
-
return this.isDisabled;
|
|
57
|
-
}
|
|
58
|
-
set disabled(value) {
|
|
59
|
-
this.isDisabled = coerceBooleanProperty(value);
|
|
60
|
-
this.markRadiosForCheck();
|
|
61
|
-
}
|
|
62
|
-
get required() {
|
|
63
|
-
return this.isRequired;
|
|
64
|
-
}
|
|
65
|
-
set required(value) {
|
|
66
|
-
this.isRequired = coerceBooleanProperty(value);
|
|
67
|
-
this.markRadiosForCheck();
|
|
68
|
-
}
|
|
69
|
-
constructor(changeDetector) {
|
|
70
|
-
this.changeDetector = changeDetector;
|
|
71
|
-
this.hostClass = true;
|
|
72
|
-
this.role = 'radiogroup';
|
|
73
|
-
this.change = new EventEmitter();
|
|
74
|
-
this.isLarge = false;
|
|
75
|
-
this.isDisabled = false;
|
|
76
|
-
this.isRequired = false;
|
|
77
|
-
this.innerValue = null;
|
|
78
|
-
this.isInitialized = false;
|
|
79
|
-
this.isSelected = null;
|
|
80
|
-
this.innerName = `fngRadioGroup-${nextUniqueId++}`;
|
|
81
|
-
this.innerLabelPosition = 'after';
|
|
82
|
-
}
|
|
83
|
-
ngAfterContentInit() {
|
|
84
|
-
this.isInitialized = true;
|
|
85
|
-
}
|
|
86
|
-
checkSelectedRadioButton() {
|
|
87
|
-
if (this.isSelected && !this.isSelected.checked) {
|
|
88
|
-
this.isSelected.checked = true;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
touch() {
|
|
92
|
-
if (this.onTouched != null) {
|
|
93
|
-
this.onTouched();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
emitChangeEvent() {
|
|
97
|
-
if (this.isInitialized) {
|
|
98
|
-
this.change.emit(new FngRadioChange(this.isSelected, this.innerValue));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
markRadiosForCheck() {
|
|
102
|
-
if (this.radios) {
|
|
103
|
-
this.radios.forEach(radio => radio.markForCheck());
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
writeValue(value) {
|
|
107
|
-
this.value = value;
|
|
108
|
-
this.changeDetector.markForCheck();
|
|
109
|
-
}
|
|
110
|
-
registerOnChange(fn) {
|
|
111
|
-
this.controlValueAccessorChangeFn = fn;
|
|
112
|
-
}
|
|
113
|
-
registerOnTouched(fn) {
|
|
114
|
-
this.onTouched = fn;
|
|
115
|
-
}
|
|
116
|
-
setDisabledState(isDisabled) {
|
|
117
|
-
this.disabled = isDisabled;
|
|
118
|
-
this.changeDetector.markForCheck();
|
|
119
|
-
}
|
|
120
|
-
updateRadioButtonSize() {
|
|
121
|
-
if (this.radios) {
|
|
122
|
-
this.radios.forEach(radio => {
|
|
123
|
-
radio.large = this.large;
|
|
124
|
-
radio.markForCheck();
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
updateRadioButtonNames() {
|
|
129
|
-
if (this.radios) {
|
|
130
|
-
this.radios.forEach(radio => {
|
|
131
|
-
radio.name = this.name;
|
|
132
|
-
radio.markForCheck();
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
updateSelectedRadioFromValue() {
|
|
137
|
-
const isAlreadySelected = this.isSelected !== null && this.isSelected.value === this.innerValue;
|
|
138
|
-
if (this.radios && !isAlreadySelected) {
|
|
139
|
-
this.isSelected = null;
|
|
140
|
-
this.radios.forEach(radio => {
|
|
141
|
-
radio.checked = this.value === radio.value;
|
|
142
|
-
if (radio.checked) {
|
|
143
|
-
this.isSelected = radio;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngRadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
149
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", 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: [
|
|
150
|
-
{
|
|
151
|
-
provide: NG_VALUE_ACCESSOR,
|
|
152
|
-
useExisting: forwardRef(() => FngRadioGroupDirective),
|
|
153
|
-
multi: true
|
|
154
|
-
}
|
|
155
|
-
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(() => FngRadioComponent), descendants: true }], ngImport: i0 }); }
|
|
156
|
-
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngRadioGroupDirective, decorators: [{
|
|
158
|
-
type: Directive,
|
|
159
|
-
args: [{
|
|
160
|
-
standalone: true,
|
|
161
|
-
selector: '[fngRadioGroup]',
|
|
162
|
-
providers: [
|
|
163
|
-
{
|
|
164
|
-
provide: NG_VALUE_ACCESSOR,
|
|
165
|
-
useExisting: forwardRef(() => FngRadioGroupDirective),
|
|
166
|
-
multi: true
|
|
167
|
-
}
|
|
168
|
-
]
|
|
169
|
-
}]
|
|
170
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hostClass: [{
|
|
171
|
-
type: HostBinding,
|
|
172
|
-
args: ['class.fwe-radio-group']
|
|
173
|
-
}], role: [{
|
|
174
|
-
type: HostBinding,
|
|
175
|
-
args: ['attr.role']
|
|
176
|
-
}], change: [{
|
|
177
|
-
type: Output
|
|
178
|
-
}], radios: [{
|
|
179
|
-
type: ContentChildren,
|
|
180
|
-
args: [forwardRef(() => FngRadioComponent), { descendants: true }]
|
|
181
|
-
}], name: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], large: [{
|
|
184
|
-
type: Input
|
|
185
|
-
}], labelPosition: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], value: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], selected: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], disabled: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], required: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}] } });
|
|
196
|
-
export class FngRadioComponent {
|
|
197
|
-
get id() {
|
|
198
|
-
return this.innerId;
|
|
199
|
-
}
|
|
200
|
-
set id(value) {
|
|
201
|
-
this.innerId = value ? `${value}-${++nextUniqueId}` : `fng-radio-${++nextUniqueId}`;
|
|
202
|
-
}
|
|
203
|
-
get inputId() {
|
|
204
|
-
return `${this.innerId}-input`;
|
|
205
|
-
}
|
|
206
|
-
get checked() {
|
|
207
|
-
return this.isChecked;
|
|
208
|
-
}
|
|
209
|
-
set checked(value) {
|
|
210
|
-
const newCheckedState = coerceBooleanProperty(value);
|
|
211
|
-
if (this.isChecked !== newCheckedState) {
|
|
212
|
-
this.isChecked = newCheckedState;
|
|
213
|
-
if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {
|
|
214
|
-
this.radioGroup.selected = this;
|
|
215
|
-
}
|
|
216
|
-
else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {
|
|
217
|
-
this.radioGroup.selected = null;
|
|
218
|
-
}
|
|
219
|
-
if (newCheckedState) {
|
|
220
|
-
this.radioDispatcher.notify(this.id, this.name);
|
|
221
|
-
}
|
|
222
|
-
this.changeDetector.markForCheck();
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
get value() {
|
|
226
|
-
return this.innerValue;
|
|
227
|
-
}
|
|
228
|
-
set value(value) {
|
|
229
|
-
if (this.innerValue !== value) {
|
|
230
|
-
this.innerValue = value;
|
|
231
|
-
if (this.radioGroup !== null) {
|
|
232
|
-
if (!this.checked) {
|
|
233
|
-
this.checked = this.radioGroup.value === value;
|
|
234
|
-
}
|
|
235
|
-
if (this.checked) {
|
|
236
|
-
this.radioGroup.selected = this;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
get large() {
|
|
242
|
-
return this.isLarge || (this.radioGroup != null && this.radioGroup.large);
|
|
243
|
-
}
|
|
244
|
-
set large(value) {
|
|
245
|
-
this.isLarge = value;
|
|
246
|
-
}
|
|
247
|
-
get labelPosition() {
|
|
248
|
-
return this.innerLabelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'before';
|
|
249
|
-
}
|
|
250
|
-
set labelPosition(value) {
|
|
251
|
-
this.innerLabelPosition = value;
|
|
252
|
-
}
|
|
253
|
-
get disabled() {
|
|
254
|
-
return this.isDisabled || (this.radioGroup != null && this.radioGroup.disabled);
|
|
255
|
-
}
|
|
256
|
-
set disabled(value) {
|
|
257
|
-
const newDisabledState = coerceBooleanProperty(value);
|
|
258
|
-
if (this.isDisabled !== newDisabledState) {
|
|
259
|
-
this.isDisabled = newDisabledState;
|
|
260
|
-
this.changeDetector.markForCheck();
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
get required() {
|
|
264
|
-
return this.isRequired || (this.radioGroup && this.radioGroup.required);
|
|
265
|
-
}
|
|
266
|
-
set required(value) {
|
|
267
|
-
this.isRequired = coerceBooleanProperty(value);
|
|
268
|
-
}
|
|
269
|
-
constructor(radioGroup, changeDetector, radioDispatcher) {
|
|
270
|
-
this.changeDetector = changeDetector;
|
|
271
|
-
this.radioDispatcher = radioDispatcher;
|
|
272
|
-
this.innerId = `fng-radio-${++nextUniqueId}`;
|
|
273
|
-
this.change = new EventEmitter();
|
|
274
|
-
this.isLarge = false;
|
|
275
|
-
this.isChecked = false;
|
|
276
|
-
this.isDisabled = false;
|
|
277
|
-
this.isRequired = false;
|
|
278
|
-
this.innerValue = null;
|
|
279
|
-
this.radioGroup = radioGroup;
|
|
280
|
-
this.removeUniqueSelectionListener = radioDispatcher.listen((id, name) => {
|
|
281
|
-
if (id !== this.id && name === this.name) {
|
|
282
|
-
this.checked = false;
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
ngOnInit() {
|
|
287
|
-
if (this.radioGroup) {
|
|
288
|
-
this.checked = this.radioGroup.value === this.innerValue;
|
|
289
|
-
this.name = this.radioGroup.name;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
ngOnDestroy() {
|
|
293
|
-
if (this.removeUniqueSelectionListener != null) {
|
|
294
|
-
this.removeUniqueSelectionListener();
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
onInputClick(event) {
|
|
298
|
-
event.stopPropagation();
|
|
299
|
-
}
|
|
300
|
-
onInputChange(event) {
|
|
301
|
-
event.stopPropagation();
|
|
302
|
-
if (!this.disabled) {
|
|
303
|
-
const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;
|
|
304
|
-
this.checked = true;
|
|
305
|
-
this.emitChangeEvent();
|
|
306
|
-
if (this.radioGroup) {
|
|
307
|
-
if (typeof this.radioGroup?.controlValueAccessorChangeFn === 'function') {
|
|
308
|
-
this.radioGroup?.controlValueAccessorChangeFn(this.value);
|
|
309
|
-
}
|
|
310
|
-
if (groupValueChanged) {
|
|
311
|
-
this.radioGroup.emitChangeEvent();
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
markForCheck() {
|
|
317
|
-
this.changeDetector.markForCheck();
|
|
318
|
-
}
|
|
319
|
-
emitChangeEvent() {
|
|
320
|
-
this.change.emit(new FngRadioChange(this, this.innerValue));
|
|
321
|
-
}
|
|
322
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngRadioComponent, deps: [{ token: FngRadioGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FngUniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
323
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", 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: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
324
|
-
}
|
|
325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngRadioComponent, decorators: [{
|
|
326
|
-
type: Component,
|
|
327
|
-
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" }]
|
|
328
|
-
}], ctorParameters: () => [{ type: FngRadioGroupDirective, decorators: [{
|
|
329
|
-
type: Optional
|
|
330
|
-
}] }, { type: i0.ChangeDetectorRef }, { type: i1.FngUniqueSelectionDispatcher }], propDecorators: { name: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], id: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}], checked: [{
|
|
335
|
-
type: Input
|
|
336
|
-
}], value: [{
|
|
337
|
-
type: Input
|
|
338
|
-
}], large: [{
|
|
339
|
-
type: Input
|
|
340
|
-
}], labelPosition: [{
|
|
341
|
-
type: Input
|
|
342
|
-
}], disabled: [{
|
|
343
|
-
type: Input
|
|
344
|
-
}], required: [{
|
|
345
|
-
type: Input
|
|
346
|
-
}], change: [{
|
|
347
|
-
type: Output
|
|
348
|
-
}] } });
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3JhZGlvL3JhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9yYWRpby9yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBR04saUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBRVYsZUFBZSxFQUNmLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRS9DLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW1CLE1BQWdDLEVBQVMsS0FBVTtRQUFuRCxXQUFNLEdBQU4sTUFBTSxDQUEwQjtRQUFTLFVBQUssR0FBTCxLQUFLLENBQUs7SUFBRyxDQUFDO0NBQzNFO0FBRUQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBYXJCLE1BQU0sT0FBTyxzQkFBc0I7SUFVakMsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFP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QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDOzhHQS9KVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix3UUMzTjlCLGtvQkF5QkEseUREMkxZLFlBQVk7OzJGQU9YLGlCQUFpQjtrQkFUN0IsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYixXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQTBHbEMsUUFBUTtvSEF2R0YsSUFBSTtzQkFBWixLQUFLO2dCQU9GLEVBQUU7c0JBREwsS0FBSztnQkFVRixPQUFPO3NCQURWLEtBQUs7Z0JBc0JGLEtBQUs7c0JBRFIsS0FBSztnQkFtQkYsS0FBSztzQkFEUixLQUFLO2dCQVNGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQWFGLFFBQVE7c0JBRFgsS0FBSztnQkFRYSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3B0aW9uYWwsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZuZ1VuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIgfSBmcm9tICcuLi91bmlxdWUtc2VsZWN0aW9uLWRpc3BhdGNoZXInO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBGbmdSYWRpb0NoYW5nZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzb3VyY2U6IEZuZ1JhZGlvQ29tcG9uZW50IHwgbnVsbCwgcHVibGljIHZhbHVlOiBhbnkpIHt9XG59XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbZm5nUmFkaW9Hcm91cF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZuZ1JhZGlvR3JvdXBEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm5nUmFkaW9Hcm91cERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5md2UtcmFkaW8tZ3JvdXAnKSBob3N0Q2xhc3MgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAncmFkaW9ncm91cCc7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm5nUmFkaW9DaGFuZ2U+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEZuZ1JhZGlvQ29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICByYWRpb3M6IFF1ZXJ5TGlzdDxGbmdSYWRpb0NvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lck5hbWU7XG4gIH1cbiAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaW5uZXJOYW1lID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVSYWRpb0J1dHRvbk5hbWVzKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgbGFyZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNMYXJnZTtcbiAgfVxuICBzZXQgbGFyZ2Uodikge1xuICAgIHRoaXMuaXNMYXJnZSA9IHY7XG4gICAgdGhpcy51cGRhdGVSYWRpb0J1dHRvblNpemUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsYWJlbFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmlubmVyTGFiZWxQb3NpdGlvbjtcbiAgfVxuICBzZXQgbGFiZWxQb3NpdGlvbih2KSB7XG4gICAgdGhpcy5pbm5lckxhYmVsUG9zaXRpb24gPSB2O1xuICAgIHRoaXMubWFya1JhZGlvc0ZvckNoZWNrKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSAhPT0gbmV3VmFsdWUpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFJhZGlvRnJvbVZhbHVlKCk7XG4gICAgICB0aGlzLmNoZWNrU2VsZWN0ZWRSYWRpb0J1dHRvbigpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkO1xuICB9XG4gIHNldCBzZWxlY3RlZChzZWxlY3RlZDogYW55IHwgbnVsbCkge1xuICAgIHRoaXMuaXNTZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgIHRoaXMudmFsdWUgPSBzZWxlY3RlZCA/IHNlbGVjdGVkLnZhbHVlIDogbnVsbDtcbiAgICB0aGlzLmNoZWNrU2VsZWN0ZWRSYWRpb0J1dHRvbigpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlKSB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLm1hcmtSYWRpb3NGb3JDaGVjaygpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLm1hcmtSYWRpb3NGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0xhcmdlID0gZmFsc2U7XG4gIHByaXZhdGUgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzUmVxdWlyZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpbm5lclZhbHVlOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1NlbGVjdGVkOiBGbmdSYWRpb0NvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlubmVyTmFtZSA9IGBmbmdSYWRpb0dyb3VwLSR7bmV4dFVuaXF1ZUlkKyt9YDtcbiAgcHJpdmF0ZSBpbm5lckxhYmVsUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyB8ICdiZWxvdycgPSAnYWZ0ZXInO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICgodmFsdWU6IGFueSkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cbiAgb25Ub3VjaGVkOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBjaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKSB7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCAmJiAhdGhpcy5pc1NlbGVjdGVkLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZC5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0b3VjaCgpIHtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG4gIH1cblxuICBlbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdChuZXcgRm5nUmFkaW9DaGFuZ2UodGhpcy5pc1NlbGVjdGVkLCB0aGlzLmlubmVyVmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBtYXJrUmFkaW9zRm9yQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMucmFkaW9zKSB7XG4gICAgICB0aGlzLnJhZGlvcy5mb3JFYWNoKHJhZGlvID0+IHJhZGlvLm1hcmtGb3JDaGVjaygpKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJhZGlvQnV0dG9uU2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yYWRpb3MpIHtcbiAgICAgIHRoaXMucmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5sYXJnZSA9IHRoaXMubGFyZ2U7XG4gICAgICAgIHJhZGlvLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVSYWRpb0J1dHRvbk5hbWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhZGlvcykge1xuICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaChyYWRpbyA9PiB7XG4gICAgICAgIHJhZGlvLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgICAgIHJhZGlvLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZFJhZGlvRnJvbVZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzQWxyZWFkeVNlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkICE9PSBudWxsICYmIHRoaXMuaXNTZWxlY3RlZC52YWx1ZSA9PT0gdGhpcy5pbm5lclZhbHVlO1xuICAgIGlmICh0aGlzLnJhZGlvcyAmJiAhaXNBbHJlYWR5U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IG51bGw7XG4gICAgICB0aGlzLnJhZGlvcy5mb3JFYWNoKHJhZGlvID0+IHtcbiAgICAgICAgcmFkaW8uY2hlY2tlZCA9IHRoaXMudmFsdWUgPT09IHJhZGlvLnZhbHVlO1xuICAgICAgICBpZiAocmFkaW8uY2hlY2tlZCkge1xuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHJhZGlvO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ1JhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBpbm5lcklkID0gYGZuZy1yYWRpby0keysrbmV4dFVuaXF1ZUlkfWA7XG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlubmVySWQ7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVySWQgPSB2YWx1ZSA/IGAke3ZhbHVlfS0keysrbmV4dFVuaXF1ZUlkfWAgOiBgZm5nLXJhZGlvLSR7KytuZXh0VW5pcXVlSWR9YDtcbiAgfVxuXG4gIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaW5uZXJJZH0taW5wdXRgO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNDaGVja2VkO1xuICB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgbmV3Q2hlY2tlZFN0YXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy5pc0NoZWNrZWQgIT09IG5ld0NoZWNrZWRTdGF0ZSkge1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPSBuZXdDaGVja2VkU3RhdGU7XG4gICAgICBpZiAobmV3Q2hlY2tlZFN0YXRlICYmIHRoaXMucmFkaW9Hcm91cCAmJiB0aGlzLnJhZGlvR3JvdXAudmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5yYWRpb0dyb3VwLnNlbGVjdGVkID0gdGhpcztcbiAgICAgIH0gZWxzZSBpZiAoIW5ld0NoZWNrZWRTdGF0ZSAmJiB0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy5yYWRpb0dyb3VwLnZhbHVlID09PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMucmFkaW9Hcm91cC5zZWxlY3RlZCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdDaGVja2VkU3RhdGUpIHtcbiAgICAgICAgdGhpcy5yYWRpb0Rpc3BhdGNoZXIubm90aWZ5KHRoaXMuaWQsIHRoaXMubmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pbm5lclZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy5yYWRpb0dyb3VwICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghdGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5yYWRpb0dyb3VwLnZhbHVlID09PSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5yYWRpb0dyb3VwLnNlbGVjdGVkID0gdGhpcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsYXJnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0xhcmdlIHx8ICh0aGlzLnJhZGlvR3JvdXAgIT0gbnVsbCAmJiB0aGlzLnJhZGlvR3JvdXAubGFyZ2UpO1xuICB9XG4gIHNldCBsYXJnZSh2YWx1ZSkge1xuICAgIHRoaXMuaXNMYXJnZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxhYmVsUG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJMYWJlbFBvc2l0aW9uIHx8ICh0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy5yYWRpb0dyb3VwLmxhYmVsUG9zaXRpb24pIHx8ICdiZWZvcmUnO1xuICB9XG4gIHNldCBsYWJlbFBvc2l0aW9uKHZhbHVlKSB7XG4gICAgdGhpcy5pbm5lckxhYmVsUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkIHx8ICh0aGlzLnJhZGlvR3JvdXAgIT0gbnVsbCAmJiB0aGlzLnJhZGlvR3JvdXAuZGlzYWJsZWQpO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld0Rpc2FibGVkU3RhdGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQgIT09IG5ld0Rpc2FibGVkU3RhdGUpIHtcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IG5ld0Rpc2FibGVkU3RhdGU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1JlcXVpcmVkIHx8ICh0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy5yYWRpb0dyb3VwLnJlcXVpcmVkKTtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rm5nUmFkaW9DaGFuZ2U+KCk7XG5cbiAgcmFkaW9Hcm91cDogRm5nUmFkaW9Hcm91cERpcmVjdGl2ZTtcblxuICBwcml2YXRlIGlzTGFyZ2UgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGlubmVyVmFsdWU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgaW5uZXJMYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgfCAnYmVsb3cnIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHJhZGlvR3JvdXA6IEZuZ1JhZGlvR3JvdXBEaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByYWRpb0Rpc3BhdGNoZXI6IEZuZ1VuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXJcbiAgKSB7XG4gICAgdGhpcy5yYWRpb0dyb3VwID0gcmFkaW9Hcm91cDtcbiAgICB0aGlzLnJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyID0gcmFkaW9EaXNwYXRjaGVyLmxpc3RlbigoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoaWQgIT09IHRoaXMuaWQgJiYgbmFtZSA9PT0gdGhpcy5uYW1lKSB7XG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucmFkaW9Hcm91cCkge1xuICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5yYWRpb0dyb3VwLnZhbHVlID09PSB0aGlzLmlubmVyVmFsdWU7XG4gICAgICB0aGlzLm5hbWUgPSB0aGlzLnJhZGlvR3JvdXAubmFtZTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5yZW1vdmVVbmlxdWVTZWxlY3Rpb25MaXN0ZW5lciAhPSBudWxsKSB7XG4gICAgICB0aGlzLnJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29uc3QgZ3JvdXBWYWx1ZUNoYW5nZWQgPSB0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy52YWx1ZSAhPT0gdGhpcy5yYWRpb0dyb3VwLnZhbHVlO1xuICAgICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG5cbiAgICAgIGlmICh0aGlzLnJhZGlvR3JvdXApIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJhZGlvR3JvdXA/LmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0aGlzLnJhZGlvR3JvdXA/LmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ3JvdXBWYWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICB0aGlzLnJhZGlvR3JvdXAuZW1pdENoYW5nZUV2ZW50KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3IEZuZ1JhZGlvQ2hhbmdlKHRoaXMsIHRoaXMuaW5uZXJWYWx1ZSkpO1xuICB9XG59XG4iLCI8bGFiZWxcbiAgW2F0dHIuZm9yXT1cImlucHV0SWRcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2Z3ZS1yYWRpbyc6IHRydWUsXG4gICAgJ2Z3ZS1yYWRpby1sYWJlbC1iZWxvdyc6IGxhYmVsUG9zaXRpb24gPT0gJ2JlbG93JyxcbiAgICAnZndlLXJhZGlvLWxhYmVsLWJlZm9yZSc6IGxhYmVsUG9zaXRpb24gPT0gJ2JlZm9yZScsXG4gICAgJ2Z3ZS1yYWRpby1sZyc6IGxhcmdlXG4gIH1cIlxuPlxuICA8aW5wdXRcbiAgICB0eXBlPVwicmFkaW9cIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJmd2UtcmFkaW8tY2hlY2ttYXJrXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtcmFkaW8tbGFiZWwtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2xhYmVsPlxuIl19
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, Input, ViewChild, Output, EventEmitter, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class FngSegmentControlComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.viewMode = 'text';
|
|
8
|
-
this.change = new EventEmitter();
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
this.id = (Math.random() * Date.now()).toString().replace('.', '-');
|
|
12
|
-
this.viewMode = 'text';
|
|
13
|
-
}
|
|
14
|
-
ngOnChanges(changes) {
|
|
15
|
-
if (changes['icon']?.currentValue) {
|
|
16
|
-
const prefix = 'fwe-icon-';
|
|
17
|
-
let icon = changes['icon'].currentValue;
|
|
18
|
-
if (icon.indexOf(prefix) === -1) {
|
|
19
|
-
icon = `${prefix}${icon}`;
|
|
20
|
-
}
|
|
21
|
-
this.icon = icon;
|
|
22
|
-
}
|
|
23
|
-
if (changes['iconOnly']?.currentValue) {
|
|
24
|
-
this.viewMode = changes['iconOnly'].currentValue === true ? 'icon' : 'icon-text';
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
ngAfterViewInit() {
|
|
28
|
-
this.view = this.tpl?.createEmbeddedView(null);
|
|
29
|
-
}
|
|
30
|
-
onInputChange(event) {
|
|
31
|
-
event.stopPropagation();
|
|
32
|
-
this.checked = true;
|
|
33
|
-
const target = event.target;
|
|
34
|
-
this.change.emit(target.value);
|
|
35
|
-
}
|
|
36
|
-
onInputClick(event) {
|
|
37
|
-
event.stopPropagation();
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSegmentControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", 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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSegmentControlComponent, decorators: [{
|
|
43
|
-
type: Component,
|
|
44
|
-
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" }]
|
|
45
|
-
}], propDecorators: { name: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], value: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], label: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], icon: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], iconOnly: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], checked: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}], disabled: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], change: [{
|
|
60
|
-
type: Output
|
|
61
|
-
}], tpl: [{
|
|
62
|
-
type: ViewChild,
|
|
63
|
-
args: ['tpl']
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zZWdtZW50L3NlZ21lbnQtY29udHJvbC9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3NlZ21lbnQvc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBSUwsU0FBUyxFQUlULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7QUFVdkIsTUFBTSxPQUFPLDBCQUEwQjtJQVJ2QztRQVdFLGFBQVEsR0FBa0MsTUFBTSxDQUFDO1FBU3ZDLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQXNDMUQ7SUFsQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUMzQixJQUFJLElBQUksR0FBVyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ2hELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNuRixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLE1BQU0sR0FBSSxLQUFpRCxDQUFDLE1BQU0sQ0FBQztRQUN6RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQWpEVSwwQkFBMEI7a0dBQTFCLDBCQUEwQix1V0N4QnZDLHMyQkF5QkEseUREUFksWUFBWTs7MkZBTVgsMEJBQTBCO2tCQVJ0QyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSTs4QkFPNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUVXLEdBQUc7c0JBQXBCLFNBQVM7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBUZW1wbGF0ZVJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgVmlld1JlZixcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZm5nLXNlZ21lbnQtY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGbmdTZWdtZW50Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdmlldzogVmlld1JlZiB8IHVuZGVmaW5lZDtcbiAgdmlld01vZGU6ICd0ZXh0JyB8ICdpY29uJyB8ICdpY29uLXRleHQnID0gJ3RleHQnO1xuXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpY29uT25seTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RwbCcpIHRwbDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCAnLScpO1xuICAgIHRoaXMudmlld01vZGUgPSAndGV4dCc7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2ljb24nXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSAnZndlLWljb24tJztcbiAgICAgIGxldCBpY29uOiBzdHJpbmcgPSBjaGFuZ2VzWydpY29uJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKGljb24uaW5kZXhPZihwcmVmaXgpID09PSAtMSkge1xuICAgICAgICBpY29uID0gYCR7cHJlZml4fSR7aWNvbn1gO1xuICAgICAgfVxuICAgICAgdGhpcy5pY29uID0gaWNvbjtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snaWNvbk9ubHknXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnZpZXdNb2RlID0gY2hhbmdlc1snaWNvbk9ubHknXS5jdXJyZW50VmFsdWUgPT09IHRydWUgPyAnaWNvbicgOiAnaWNvbi10ZXh0JztcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3ID0gdGhpcy50cGw/LmNyZWF0ZUVtYmVkZGVkVmlldyhudWxsKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICBjb25zdCB0YXJnZXQgPSAoZXZlbnQgYXMgdW5rbm93biBhcyB7IHRhcmdldDogSFRNTElucHV0RWxlbWVudCB9KS50YXJnZXQ7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgb25JbnB1dENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RwbD5cbiAgPGlucHV0XG4gICAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gICAgY2xhc3M9XCJmd2Utc2VnbWVudC1pbnB1dFwiXG4gICAgdHlwZT1cInJhZGlvXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgLz5cbiAgPGxhYmVsIGNsYXNzPVwiZndlLXNlZ21lbnQtbGFiZWxcIiBbZm9yXT1cImlkXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidmlld01vZGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidpY29uJ1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZ3ZS1zci1vbmx5XCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDxpIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwiZndlLWljb25cIiBbbmdDbGFzc109XCJpY29uXCI+PC9pPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24tdGV4dCdcIj4gPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmd2UtaWNvblwiIFtuZ0NsYXNzXT1cImljb25cIj48L2k+e3sgbGFiZWwgfX0gPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuIl19
|