@festo-ui/angular 3.1.0-pre-20220203.2 → 3.1.0-pre-20220203.4
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/festo-ui-angular.mjs +5 -0
- package/esm2020/index.mjs +18 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +23 -0
- package/esm2020/lib/components/buttons/button/button.component.mjs +41 -0
- package/esm2020/lib/components/buttons/link-button/link-button.component.mjs +33 -0
- package/esm2020/lib/components/chips/chip/chip.component.mjs +37 -0
- package/esm2020/lib/components/chips/chip-container/chip-container.component.mjs +16 -0
- package/esm2020/lib/components/click-outside.directive.mjs +28 -0
- package/esm2020/lib/components/components.module.mjs +155 -0
- package/esm2020/lib/components/loading-indicator/loading-indicator.component.mjs +16 -0
- package/esm2020/lib/components/modals/alert/alert.component.mjs +52 -0
- package/esm2020/lib/components/modals/confirm/confirm.component.mjs +67 -0
- package/esm2020/lib/components/modals/index.mjs +2 -0
- package/esm2020/lib/components/modals/modal.service.mjs +112 -0
- package/esm2020/lib/components/modals/modals.module.mjs +28 -0
- package/esm2020/lib/components/modals/prompt/prompt.component.mjs +102 -0
- package/esm2020/lib/components/pagination/pagination.component.mjs +55 -0
- package/esm2020/lib/components/popovers/legend/legend.component.mjs +42 -0
- package/esm2020/lib/components/popovers/legend/legend.directive.mjs +31 -0
- package/esm2020/lib/components/popovers/popover/popover.component.mjs +31 -0
- package/esm2020/lib/components/popovers/popover-content/popover-content.component.mjs +82 -0
- package/esm2020/lib/components/popovers/popover-content/popover-content.directive.mjs +39 -0
- package/esm2020/lib/components/popovers/popover-menu/popover-menu.component.mjs +68 -0
- package/esm2020/lib/components/popovers/popover-ref.mjs +25 -0
- package/esm2020/lib/components/popovers/popover.defaults.mjs +60 -0
- package/esm2020/lib/components/popovers/popover.models.mjs +23 -0
- package/esm2020/lib/components/popovers/popover.service.mjs +123 -0
- package/esm2020/lib/components/popovers/tooltip/tooltip.directive.mjs +94 -0
- package/esm2020/lib/components/progress/progress.component.mjs +20 -0
- package/esm2020/lib/components/scroll/index.mjs +2 -0
- package/esm2020/lib/components/scroll/scrollable.directive.mjs +72 -0
- package/esm2020/lib/components/search-input/search-input.component.mjs +150 -0
- package/esm2020/lib/components/snackbar/snackbar-container.component.mjs +21 -0
- package/esm2020/lib/components/snackbar/snackbar-container.directive.mjs +83 -0
- package/esm2020/lib/components/snackbar/snackbar.component.mjs +79 -0
- package/esm2020/lib/components/snackbar/snackbar.models.mjs +2 -0
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +26 -0
- package/esm2020/lib/components/snackbar/snackbar.service.mjs +23 -0
- package/esm2020/lib/components/stepper/stepper.component.mjs +22 -0
- package/esm2020/lib/components/table-header-cell/table-header-cell.directive.mjs +58 -0
- package/esm2020/lib/components/tabs/tab-pane/tab-pane.component.mjs +31 -0
- package/esm2020/lib/components/tabs/tabs.component.mjs +355 -0
- package/esm2020/lib/content/content.module.mjs +20 -0
- package/esm2020/lib/content/icon/icon.component.mjs +17 -0
- package/esm2020/lib/festo-angular.module.mjs +58 -0
- package/esm2020/lib/forms/checkbox/checkbox.component.mjs +149 -0
- package/esm2020/lib/forms/color-indicator/color-indicator.component.mjs +68 -0
- package/esm2020/lib/forms/color-picker/color-helper.mjs +121 -0
- package/esm2020/lib/forms/color-picker/color-picker.component.mjs +273 -0
- package/esm2020/lib/forms/container-host.mjs +27 -0
- package/esm2020/lib/forms/date-picker/date-picker.component.mjs +199 -0
- package/esm2020/lib/forms/date-range-picker/date-range-picker.component.mjs +224 -0
- package/esm2020/lib/forms/forms.module.mjs +146 -0
- package/esm2020/lib/forms/radio/radio.component.mjs +346 -0
- package/esm2020/lib/forms/segment/segment-control/segment-control.component.mjs +52 -0
- package/esm2020/lib/forms/segment/segment.component.mjs +109 -0
- package/esm2020/lib/forms/select/chip-text.pipe.mjs +34 -0
- package/esm2020/lib/forms/select/select-option/select-option.component.mjs +22 -0
- package/esm2020/lib/forms/select/select.component.mjs +257 -0
- package/esm2020/lib/forms/slider/slider.component.mjs +110 -0
- package/esm2020/lib/forms/switch/switch.component.mjs +120 -0
- package/esm2020/lib/forms/text-area/text-area.component.mjs +180 -0
- package/esm2020/lib/forms/text-editor/text-editor.component.mjs +286 -0
- package/esm2020/lib/forms/text-input/text-input.component.mjs +183 -0
- package/esm2020/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +89 -0
- package/esm2020/lib/forms/time-picker/time-picker.component.mjs +188 -0
- package/esm2020/lib/forms/unique-selection-dispatcher.mjs +39 -0
- package/esm2020/lib/forms/value-accessor-base.mjs +41 -0
- package/esm2020/lib/layout/layout.module.mjs +18 -0
- package/esm2020/lib/wrappers/flatpickr/flatpickr.component.mjs +59 -0
- package/fesm2015/{festo-ui-angular.js → festo-ui-angular.mjs} +317 -521
- package/fesm2015/festo-ui-angular.mjs.map +1 -0
- package/fesm2020/festo-ui-angular.mjs +5383 -0
- package/fesm2020/festo-ui-angular.mjs.map +1 -0
- package/package.json +31 -16
- package/scss/base/components/breadcrumb/breadcrumb.component.scss +0 -1
- package/scss/base/components/modals/prompt/prompt.component.scss +0 -1
- package/scss/base/components/popovers/legend/legend.component.scss +2 -2
- package/scss/base/components/popovers/popover/styles.scss +3 -3
- package/scss/base/components/popovers/popover-content/popover-content.component.scss +1 -1
- package/scss/base/components/scroll/scroll-story-helper.scss +1 -3
- package/scss/base/components/snackbar/snackbar.component.scss +1 -1
- package/scss/base/components/stepper/stepper.component.scss +16 -15
- package/scss/base/forms/color-picker/color-picker.component.scss +12 -12
- package/scss/base/forms/date-picker/date-picker.component.scss +1 -1
- package/scss/base/forms/date-range-picker/date-range-picker.component.scss +1 -1
- package/scss/base/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.scss +1 -1
- package/scss/styles.scss +2 -2
- package/bundles/festo-ui-angular.umd.js +0 -6429
- package/bundles/festo-ui-angular.umd.js.map +0 -1
- package/esm2015/festo-ui-angular.js +0 -5
- package/esm2015/festo-ui-angular.js.map +0 -1
- package/esm2015/index.js +0 -18
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -27
- package/esm2015/lib/components/breadcrumb/breadcrumb.component.js.map +0 -1
- package/esm2015/lib/components/buttons/button/button.component.js +0 -46
- package/esm2015/lib/components/buttons/button/button.component.js.map +0 -1
- package/esm2015/lib/components/buttons/link-button/link-button.component.js +0 -38
- package/esm2015/lib/components/buttons/link-button/link-button.component.js.map +0 -1
- package/esm2015/lib/components/chips/chip/chip.component.js +0 -42
- package/esm2015/lib/components/chips/chip/chip.component.js.map +0 -1
- package/esm2015/lib/components/chips/chip-container/chip-container.component.js +0 -21
- package/esm2015/lib/components/chips/chip-container/chip-container.component.js.map +0 -1
- package/esm2015/lib/components/click-outside.directive.js +0 -28
- package/esm2015/lib/components/click-outside.directive.js.map +0 -1
- package/esm2015/lib/components/components.module.js +0 -155
- package/esm2015/lib/components/components.module.js.map +0 -1
- package/esm2015/lib/components/loading-indicator/loading-indicator.component.js +0 -21
- package/esm2015/lib/components/loading-indicator/loading-indicator.component.js.map +0 -1
- package/esm2015/lib/components/modals/alert/alert.component.js +0 -57
- package/esm2015/lib/components/modals/alert/alert.component.js.map +0 -1
- package/esm2015/lib/components/modals/confirm/confirm.component.js +0 -73
- package/esm2015/lib/components/modals/confirm/confirm.component.js.map +0 -1
- package/esm2015/lib/components/modals/index.js +0 -2
- package/esm2015/lib/components/modals/index.js.map +0 -1
- package/esm2015/lib/components/modals/modal.service.js +0 -91
- package/esm2015/lib/components/modals/modal.service.js.map +0 -1
- package/esm2015/lib/components/modals/modals.module.js +0 -28
- package/esm2015/lib/components/modals/modals.module.js.map +0 -1
- package/esm2015/lib/components/modals/prompt/prompt.component.js +0 -110
- package/esm2015/lib/components/modals/prompt/prompt.component.js.map +0 -1
- package/esm2015/lib/components/pagination/pagination.component.js +0 -60
- package/esm2015/lib/components/pagination/pagination.component.js.map +0 -1
- package/esm2015/lib/components/popovers/legend/legend.component.js +0 -46
- package/esm2015/lib/components/popovers/legend/legend.component.js.map +0 -1
- package/esm2015/lib/components/popovers/legend/legend.directive.js +0 -31
- package/esm2015/lib/components/popovers/legend/legend.directive.js.map +0 -1
- package/esm2015/lib/components/popovers/popover/popover.component.js +0 -35
- package/esm2015/lib/components/popovers/popover/popover.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-content/popover-content.component.js +0 -86
- package/esm2015/lib/components/popovers/popover-content/popover-content.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-content/popover-content.directive.js +0 -39
- package/esm2015/lib/components/popovers/popover-content/popover-content.directive.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-menu/popover-menu.component.js +0 -72
- package/esm2015/lib/components/popovers/popover-menu/popover-menu.component.js.map +0 -1
- package/esm2015/lib/components/popovers/popover-ref.js +0 -25
- package/esm2015/lib/components/popovers/popover-ref.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.defaults.js +0 -60
- package/esm2015/lib/components/popovers/popover.defaults.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.models.js +0 -23
- package/esm2015/lib/components/popovers/popover.models.js.map +0 -1
- package/esm2015/lib/components/popovers/popover.service.js +0 -117
- package/esm2015/lib/components/popovers/popover.service.js.map +0 -1
- package/esm2015/lib/components/popovers/tooltip/tooltip.directive.js +0 -96
- package/esm2015/lib/components/popovers/tooltip/tooltip.directive.js.map +0 -1
- package/esm2015/lib/components/progress/progress.component.js +0 -23
- package/esm2015/lib/components/progress/progress.component.js.map +0 -1
- package/esm2015/lib/components/scroll/index.js +0 -2
- package/esm2015/lib/components/scroll/index.js.map +0 -1
- package/esm2015/lib/components/scroll/scrollable.directive.js +0 -73
- package/esm2015/lib/components/scroll/scrollable.directive.js.map +0 -1
- package/esm2015/lib/components/search-input/search-input.component.js +0 -155
- package/esm2015/lib/components/search-input/search-input.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar-container.component.js +0 -26
- package/esm2015/lib/components/snackbar/snackbar-container.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar-container.directive.js +0 -83
- package/esm2015/lib/components/snackbar/snackbar-container.directive.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.component.js +0 -85
- package/esm2015/lib/components/snackbar/snackbar.component.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.models.js +0 -2
- package/esm2015/lib/components/snackbar/snackbar.models.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.module.js +0 -26
- package/esm2015/lib/components/snackbar/snackbar.module.js.map +0 -1
- package/esm2015/lib/components/snackbar/snackbar.service.js +0 -23
- package/esm2015/lib/components/snackbar/snackbar.service.js.map +0 -1
- package/esm2015/lib/components/stepper/stepper.component.js +0 -28
- package/esm2015/lib/components/stepper/stepper.component.js.map +0 -1
- package/esm2015/lib/components/table-header-cell/table-header-cell.directive.js +0 -58
- package/esm2015/lib/components/table-header-cell/table-header-cell.directive.js.map +0 -1
- package/esm2015/lib/components/tabs/tab-pane/tab-pane.component.js +0 -35
- package/esm2015/lib/components/tabs/tab-pane/tab-pane.component.js.map +0 -1
- package/esm2015/lib/components/tabs/tabs.component.js +0 -362
- package/esm2015/lib/components/tabs/tabs.component.js.map +0 -1
- package/esm2015/lib/content/content.module.js +0 -24
- package/esm2015/lib/content/content.module.js.map +0 -1
- package/esm2015/lib/content/icon/icon.component.js +0 -23
- package/esm2015/lib/content/icon/icon.component.js.map +0 -1
- package/esm2015/lib/festo-angular.module.js +0 -58
- package/esm2015/lib/festo-angular.module.js.map +0 -1
- package/esm2015/lib/forms/checkbox/checkbox.component.js +0 -156
- package/esm2015/lib/forms/checkbox/checkbox.component.js.map +0 -1
- package/esm2015/lib/forms/color-indicator/color-indicator.component.js +0 -72
- package/esm2015/lib/forms/color-indicator/color-indicator.component.js.map +0 -1
- package/esm2015/lib/forms/color-picker/color-helper.js +0 -121
- package/esm2015/lib/forms/color-picker/color-helper.js.map +0 -1
- package/esm2015/lib/forms/color-picker/color-picker.component.js +0 -280
- package/esm2015/lib/forms/color-picker/color-picker.component.js.map +0 -1
- package/esm2015/lib/forms/container-host.js +0 -27
- package/esm2015/lib/forms/container-host.js.map +0 -1
- package/esm2015/lib/forms/date-picker/date-picker.component.js +0 -205
- package/esm2015/lib/forms/date-picker/date-picker.component.js.map +0 -1
- package/esm2015/lib/forms/date-range-picker/date-range-picker.component.js +0 -230
- package/esm2015/lib/forms/date-range-picker/date-range-picker.component.js.map +0 -1
- package/esm2015/lib/forms/forms.module.js +0 -146
- package/esm2015/lib/forms/forms.module.js.map +0 -1
- package/esm2015/lib/forms/radio/radio.component.js +0 -353
- package/esm2015/lib/forms/radio/radio.component.js.map +0 -1
- package/esm2015/lib/forms/segment/segment-control/segment-control.component.js +0 -58
- package/esm2015/lib/forms/segment/segment-control/segment-control.component.js.map +0 -1
- package/esm2015/lib/forms/segment/segment.component.js +0 -116
- package/esm2015/lib/forms/segment/segment.component.js.map +0 -1
- package/esm2015/lib/forms/select/chip-text.pipe.js +0 -34
- package/esm2015/lib/forms/select/chip-text.pipe.js.map +0 -1
- package/esm2015/lib/forms/select/select-option/select-option.component.js +0 -29
- package/esm2015/lib/forms/select/select-option/select-option.component.js.map +0 -1
- package/esm2015/lib/forms/select/select.component.js +0 -265
- package/esm2015/lib/forms/select/select.component.js.map +0 -1
- package/esm2015/lib/forms/slider/slider.component.js +0 -116
- package/esm2015/lib/forms/slider/slider.component.js.map +0 -1
- package/esm2015/lib/forms/switch/switch.component.js +0 -127
- package/esm2015/lib/forms/switch/switch.component.js.map +0 -1
- package/esm2015/lib/forms/text-area/text-area.component.js +0 -186
- package/esm2015/lib/forms/text-area/text-area.component.js.map +0 -1
- package/esm2015/lib/forms/text-editor/text-editor.component.js +0 -294
- package/esm2015/lib/forms/text-editor/text-editor.component.js.map +0 -1
- package/esm2015/lib/forms/text-input/text-input.component.js +0 -189
- package/esm2015/lib/forms/text-input/text-input.component.js.map +0 -1
- package/esm2015/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.js +0 -103
- package/esm2015/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.js.map +0 -1
- package/esm2015/lib/forms/time-picker/time-picker.component.js +0 -194
- package/esm2015/lib/forms/time-picker/time-picker.component.js.map +0 -1
- package/esm2015/lib/forms/unique-selection-dispatcher.js +0 -39
- package/esm2015/lib/forms/unique-selection-dispatcher.js.map +0 -1
- package/esm2015/lib/forms/value-accessor-base.js +0 -41
- package/esm2015/lib/forms/value-accessor-base.js.map +0 -1
- package/esm2015/lib/layout/layout.module.js +0 -18
- package/esm2015/lib/layout/layout.module.js.map +0 -1
- package/esm2015/lib/wrappers/flatpickr/flatpickr.component.js +0 -63
- package/esm2015/lib/wrappers/flatpickr/flatpickr.component.js.map +0 -1
- package/fesm2015/festo-ui-angular.js.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
|
4
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
5
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
6
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
7
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { CheckboxComponent } from './checkbox/checkbox.component';
|
|
9
|
+
import { SwitchComponent } from './switch/switch.component';
|
|
10
|
+
import { RadioComponent, RadioGroupDirective } from './radio/radio.component';
|
|
11
|
+
import { UniqueSelectionDispatcher } from './unique-selection-dispatcher';
|
|
12
|
+
import { SelectComponent } from './select/select.component';
|
|
13
|
+
import { TextInputComponent } from './text-input/text-input.component';
|
|
14
|
+
import { TextAreaComponent } from './text-area/text-area.component';
|
|
15
|
+
import { ColorPickerComponent } from './color-picker/color-picker.component';
|
|
16
|
+
import { SliderComponent } from './slider/slider.component';
|
|
17
|
+
import { ColorIndicatorComponent } from './color-indicator/color-indicator.component';
|
|
18
|
+
import { SegmentComponent } from './segment/segment.component';
|
|
19
|
+
import { SegmentControlComponent } from './segment/segment-control/segment-control.component';
|
|
20
|
+
import { DatePickerComponent } from './date-picker/date-picker.component';
|
|
21
|
+
import { FlatpickrComponent } from '../wrappers/flatpickr/flatpickr.component';
|
|
22
|
+
import { DateRangePickerComponent } from './date-range-picker/date-range-picker.component';
|
|
23
|
+
import { TimePickerComponent } from './time-picker/time-picker.component';
|
|
24
|
+
import { TimePickerDropdownComponent } from './time-picker/time-picker-dropdown/time-picker-dropdown.component';
|
|
25
|
+
import { TextEditorComponent } from './text-editor/text-editor.component';
|
|
26
|
+
import { ChipTextPipe } from './select/chip-text.pipe';
|
|
27
|
+
import { SelectOptionComponent } from './select/select-option/select-option.component';
|
|
28
|
+
import * as i0 from "@angular/core";
|
|
29
|
+
export * from './checkbox/checkbox.component';
|
|
30
|
+
export * from './switch/switch.component';
|
|
31
|
+
export * from './radio/radio.component';
|
|
32
|
+
export * from './select/select.component';
|
|
33
|
+
export * from './select/select-option/select-option.component';
|
|
34
|
+
export * from './select/chip-text.pipe';
|
|
35
|
+
export * from './text-input/text-input.component';
|
|
36
|
+
export * from './text-area/text-area.component';
|
|
37
|
+
export * from './color-picker/color-picker.component';
|
|
38
|
+
export * from './slider/slider.component';
|
|
39
|
+
export * from './color-indicator/color-indicator.component';
|
|
40
|
+
export * from './segment/segment.component';
|
|
41
|
+
export * from './segment/segment-control/segment-control.component';
|
|
42
|
+
export * from './date-picker/date-picker.component';
|
|
43
|
+
export * from './date-range-picker/date-range-picker.component';
|
|
44
|
+
export * from './time-picker/time-picker.component';
|
|
45
|
+
export * from './time-picker/time-picker-dropdown/time-picker-dropdown.component';
|
|
46
|
+
export * from './text-editor/text-editor.component';
|
|
47
|
+
export { ValueAccessorBaseDirective as ValueAccessorBase } from './value-accessor-base';
|
|
48
|
+
export { ContainerHostDirective as ContainerHost } from './container-host';
|
|
49
|
+
export class FestoAngularFormsModule {
|
|
50
|
+
}
|
|
51
|
+
FestoAngularFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
52
|
+
FestoAngularFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularFormsModule, declarations: [CheckboxComponent,
|
|
53
|
+
SwitchComponent,
|
|
54
|
+
RadioGroupDirective,
|
|
55
|
+
RadioComponent,
|
|
56
|
+
TextInputComponent,
|
|
57
|
+
TextAreaComponent,
|
|
58
|
+
ColorIndicatorComponent,
|
|
59
|
+
FlatpickrComponent,
|
|
60
|
+
DatePickerComponent,
|
|
61
|
+
DateRangePickerComponent,
|
|
62
|
+
ColorPickerComponent,
|
|
63
|
+
SelectComponent,
|
|
64
|
+
SelectOptionComponent,
|
|
65
|
+
SliderComponent,
|
|
66
|
+
SegmentComponent,
|
|
67
|
+
SegmentControlComponent,
|
|
68
|
+
TimePickerComponent,
|
|
69
|
+
TimePickerDropdownComponent,
|
|
70
|
+
TextEditorComponent,
|
|
71
|
+
ChipTextPipe], imports: [ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule], exports: [ReactiveFormsModule,
|
|
72
|
+
FormsModule,
|
|
73
|
+
CheckboxComponent,
|
|
74
|
+
SwitchComponent,
|
|
75
|
+
RadioGroupDirective,
|
|
76
|
+
RadioComponent,
|
|
77
|
+
TextInputComponent,
|
|
78
|
+
TextAreaComponent,
|
|
79
|
+
ColorIndicatorComponent,
|
|
80
|
+
DatePickerComponent,
|
|
81
|
+
DateRangePickerComponent,
|
|
82
|
+
ColorPickerComponent,
|
|
83
|
+
SelectComponent,
|
|
84
|
+
SelectOptionComponent,
|
|
85
|
+
SliderComponent,
|
|
86
|
+
SegmentComponent,
|
|
87
|
+
SegmentControlComponent,
|
|
88
|
+
TimePickerComponent,
|
|
89
|
+
TimePickerDropdownComponent,
|
|
90
|
+
TextEditorComponent,
|
|
91
|
+
ChipTextPipe] });
|
|
92
|
+
FestoAngularFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularFormsModule, providers: [UniqueSelectionDispatcher], imports: [[ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule], ReactiveFormsModule,
|
|
93
|
+
FormsModule] });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FestoAngularFormsModule, decorators: [{
|
|
95
|
+
type: NgModule,
|
|
96
|
+
args: [{
|
|
97
|
+
declarations: [
|
|
98
|
+
CheckboxComponent,
|
|
99
|
+
SwitchComponent,
|
|
100
|
+
RadioGroupDirective,
|
|
101
|
+
RadioComponent,
|
|
102
|
+
TextInputComponent,
|
|
103
|
+
TextAreaComponent,
|
|
104
|
+
ColorIndicatorComponent,
|
|
105
|
+
FlatpickrComponent,
|
|
106
|
+
DatePickerComponent,
|
|
107
|
+
DateRangePickerComponent,
|
|
108
|
+
ColorPickerComponent,
|
|
109
|
+
SelectComponent,
|
|
110
|
+
SelectOptionComponent,
|
|
111
|
+
SliderComponent,
|
|
112
|
+
SegmentComponent,
|
|
113
|
+
SegmentControlComponent,
|
|
114
|
+
TimePickerComponent,
|
|
115
|
+
TimePickerDropdownComponent,
|
|
116
|
+
TextEditorComponent,
|
|
117
|
+
ChipTextPipe
|
|
118
|
+
],
|
|
119
|
+
imports: [ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule],
|
|
120
|
+
exports: [
|
|
121
|
+
ReactiveFormsModule,
|
|
122
|
+
FormsModule,
|
|
123
|
+
CheckboxComponent,
|
|
124
|
+
SwitchComponent,
|
|
125
|
+
RadioGroupDirective,
|
|
126
|
+
RadioComponent,
|
|
127
|
+
TextInputComponent,
|
|
128
|
+
TextAreaComponent,
|
|
129
|
+
ColorIndicatorComponent,
|
|
130
|
+
DatePickerComponent,
|
|
131
|
+
DateRangePickerComponent,
|
|
132
|
+
ColorPickerComponent,
|
|
133
|
+
SelectComponent,
|
|
134
|
+
SelectOptionComponent,
|
|
135
|
+
SliderComponent,
|
|
136
|
+
SegmentComponent,
|
|
137
|
+
SegmentControlComponent,
|
|
138
|
+
TimePickerComponent,
|
|
139
|
+
TimePickerDropdownComponent,
|
|
140
|
+
TextEditorComponent,
|
|
141
|
+
ChipTextPipe
|
|
142
|
+
],
|
|
143
|
+
providers: [UniqueSelectionDispatcher]
|
|
144
|
+
}]
|
|
145
|
+
}] });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvZm9ybXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxN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QkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDO29CQUMxSCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixtQkFBbUI7d0JBQ25CLFlBQVk7cUJBQ2I7b0JBQ0QsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTd2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50LCBSYWRpb0dyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlciB9IGZyb20gJy4vdW5pcXVlLXNlbGVjdGlvbi1kaXNwYXRjaGVyJztcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2xvckluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItaW5kaWNhdG9yL2NvbG9yLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VnbWVudENvbXBvbmVudCB9IGZyb20gJy4vc2VnbWVudC9zZWdtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWdtZW50Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc2VnbWVudC9zZWdtZW50LWNvbnRyb2wvc2VnbWVudC1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxhdHBpY2tyQ29tcG9uZW50IH0gZnJvbSAnLi4vd3JhcHBlcnMvZmxhdHBpY2tyL2ZsYXRwaWNrci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVQaWNrZXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIvdGltZS1waWNrZXItZHJvcGRvd24vdGltZS1waWNrZXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3dpdGNoL3N3aXRjaC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0L2NoaXAtdGV4dC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZXIvc2xpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbG9yLWluZGljYXRvci9jb2xvci1pbmRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VnbWVudC9zZWdtZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlZ21lbnQvc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1kcm9wZG93bi90aW1lLXBpY2tlci1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgVmFsdWVBY2Nlc3NvckJhc2VEaXJlY3RpdmUgYXMgVmFsdWVBY2Nlc3NvckJhc2UgfSBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yLWJhc2UnO1xuZXhwb3J0IHsgQ29udGFpbmVySG9zdERpcmVjdGl2ZSBhcyBDb250YWluZXJIb3N0IH0gZnJvbSAnLi9jb250YWluZXItaG9zdCc7XG5pbXBvcnQgeyBDaGlwVGV4dFBpcGUgfSBmcm9tICcuL3NlbGVjdC9jaGlwLXRleHQucGlwZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU3dpdGNoQ29tcG9uZW50LFxuICAgIFJhZGlvR3JvdXBEaXJlY3RpdmUsXG4gICAgUmFkaW9Db21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIENvbG9ySW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEZsYXRwaWNrckNvbXBvbmVudCxcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgICBDb2xvclBpY2tlckNvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgIFNsaWRlckNvbXBvbmVudCxcbiAgICBTZWdtZW50Q29tcG9uZW50LFxuICAgIFNlZ21lbnRDb250cm9sQ29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgVGltZVBpY2tlckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFRleHRFZGl0b3JDb21wb25lbnQsXG4gICAgQ2hpcFRleHRQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBTY3JvbGxpbmdNb2R1bGUsIERyYWdEcm9wTW9kdWxlLCBPYnNlcnZlcnNNb2R1bGVdLFxuICBleHBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBTd2l0Y2hDb21wb25lbnQsXG4gICAgUmFkaW9Hcm91cERpcmVjdGl2ZSxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgQ29sb3JJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgQ29sb3JQaWNrZXJDb21wb25lbnQsXG4gICAgU2VsZWN0Q29tcG9uZW50LFxuICAgIFNlbGVjdE9wdGlvbkNvbXBvbmVudCxcbiAgICBTbGlkZXJDb21wb25lbnQsXG4gICAgU2VnbWVudENvbXBvbmVudCxcbiAgICBTZWdtZW50Q29udHJvbENvbXBvbmVudCxcbiAgICBUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBUZXh0RWRpdG9yQ29tcG9uZW50LFxuICAgIENoaXBUZXh0UGlwZVxuICBdLFxuICBwcm92aWRlcnM6IFtVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyXVxufSlcbmV4cG9ydCBjbGFzcyBGZXN0b0FuZ3VsYXJGb3Jtc01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, Optional, EventEmitter, Output, ChangeDetectorRef, ViewEncapsulation, Directive, forwardRef, ContentChildren, HostBinding } from '@angular/core';
|
|
2
|
+
import { UniqueSelectionDispatcher } from '../unique-selection-dispatcher';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
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 RadioChange {
|
|
9
|
+
constructor(source, value) {
|
|
10
|
+
this.source = source;
|
|
11
|
+
this.value = value;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
let nextUniqueId = 0;
|
|
15
|
+
export class RadioGroupDirective {
|
|
16
|
+
constructor(changeDetector) {
|
|
17
|
+
this.changeDetector = changeDetector;
|
|
18
|
+
this.hostClass = true;
|
|
19
|
+
this.role = 'radiogroup';
|
|
20
|
+
this.change = new EventEmitter();
|
|
21
|
+
this.isLarge = false;
|
|
22
|
+
this.isDisabled = false;
|
|
23
|
+
this.isRequired = false;
|
|
24
|
+
this.innerValue = null;
|
|
25
|
+
this.isInitialized = false;
|
|
26
|
+
this.isSelected = null;
|
|
27
|
+
this.innerName = `fngRadioGroup-${nextUniqueId++}`;
|
|
28
|
+
this.innerLabelPosition = 'before';
|
|
29
|
+
}
|
|
30
|
+
get name() {
|
|
31
|
+
return this.innerName;
|
|
32
|
+
}
|
|
33
|
+
set name(value) {
|
|
34
|
+
this.innerName = value;
|
|
35
|
+
this.updateRadioButtonNames();
|
|
36
|
+
}
|
|
37
|
+
get large() {
|
|
38
|
+
return this.isLarge;
|
|
39
|
+
}
|
|
40
|
+
set large(v) {
|
|
41
|
+
this.isLarge = v;
|
|
42
|
+
this.updateRadioButtonSize();
|
|
43
|
+
}
|
|
44
|
+
get labelPosition() {
|
|
45
|
+
return this.innerLabelPosition;
|
|
46
|
+
}
|
|
47
|
+
set labelPosition(v) {
|
|
48
|
+
this.innerLabelPosition = v;
|
|
49
|
+
this.markRadiosForCheck();
|
|
50
|
+
}
|
|
51
|
+
get value() {
|
|
52
|
+
return this.innerValue;
|
|
53
|
+
}
|
|
54
|
+
set value(newValue) {
|
|
55
|
+
if (this.innerValue !== newValue) {
|
|
56
|
+
this.innerValue = newValue;
|
|
57
|
+
this.updateSelectedRadioFromValue();
|
|
58
|
+
this.checkSelectedRadioButton();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
get selected() {
|
|
62
|
+
return this.isSelected;
|
|
63
|
+
}
|
|
64
|
+
set selected(selected) {
|
|
65
|
+
this.isSelected = selected;
|
|
66
|
+
this.value = selected ? selected.value : null;
|
|
67
|
+
this.checkSelectedRadioButton();
|
|
68
|
+
}
|
|
69
|
+
get disabled() {
|
|
70
|
+
return this.isDisabled;
|
|
71
|
+
}
|
|
72
|
+
set disabled(value) {
|
|
73
|
+
this.isDisabled = coerceBooleanProperty(value);
|
|
74
|
+
this.markRadiosForCheck();
|
|
75
|
+
}
|
|
76
|
+
get required() {
|
|
77
|
+
return this.isRequired;
|
|
78
|
+
}
|
|
79
|
+
set required(value) {
|
|
80
|
+
this.isRequired = coerceBooleanProperty(value);
|
|
81
|
+
this.markRadiosForCheck();
|
|
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 RadioChange(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
|
+
}
|
|
149
|
+
RadioGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RadioGroupDirective, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
150
|
+
RadioGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: RadioGroupDirective, 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: [
|
|
151
|
+
{
|
|
152
|
+
provide: NG_VALUE_ACCESSOR,
|
|
153
|
+
useExisting: forwardRef(() => RadioGroupDirective),
|
|
154
|
+
multi: true
|
|
155
|
+
}
|
|
156
|
+
], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return RadioComponent; }), descendants: true }], ngImport: i0 });
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RadioGroupDirective, decorators: [{
|
|
158
|
+
type: Directive,
|
|
159
|
+
args: [{
|
|
160
|
+
selector: '[fngRadioGroup]',
|
|
161
|
+
providers: [
|
|
162
|
+
{
|
|
163
|
+
provide: NG_VALUE_ACCESSOR,
|
|
164
|
+
useExisting: forwardRef(() => RadioGroupDirective),
|
|
165
|
+
multi: true
|
|
166
|
+
}
|
|
167
|
+
]
|
|
168
|
+
}]
|
|
169
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
|
|
170
|
+
type: HostBinding,
|
|
171
|
+
args: ['class.fwe-radio-group']
|
|
172
|
+
}], role: [{
|
|
173
|
+
type: HostBinding,
|
|
174
|
+
args: ['attr.role']
|
|
175
|
+
}], change: [{
|
|
176
|
+
type: Output
|
|
177
|
+
}], radios: [{
|
|
178
|
+
type: ContentChildren,
|
|
179
|
+
args: [forwardRef(() => RadioComponent), { descendants: true }]
|
|
180
|
+
}], name: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], large: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], labelPosition: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], value: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], selected: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], disabled: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], required: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}] } });
|
|
195
|
+
export class RadioComponent {
|
|
196
|
+
constructor(radioGroup, changeDetector, radioDispatcher) {
|
|
197
|
+
this.changeDetector = changeDetector;
|
|
198
|
+
this.radioDispatcher = radioDispatcher;
|
|
199
|
+
this.innerId = `fng-radio-${++nextUniqueId}`;
|
|
200
|
+
this.change = new EventEmitter();
|
|
201
|
+
this.isLarge = false;
|
|
202
|
+
this.isChecked = false;
|
|
203
|
+
this.innerValue = null;
|
|
204
|
+
this.radioGroup = radioGroup;
|
|
205
|
+
this.removeUniqueSelectionListener = radioDispatcher.listen((id, name) => {
|
|
206
|
+
if (id !== this.id && name === this.name) {
|
|
207
|
+
this.checked = false;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
get id() {
|
|
212
|
+
return this.innerId;
|
|
213
|
+
}
|
|
214
|
+
set id(value) {
|
|
215
|
+
this.innerId = value ? `${value}-${++nextUniqueId}` : `fng-radio-${++nextUniqueId}`;
|
|
216
|
+
}
|
|
217
|
+
get inputId() {
|
|
218
|
+
return `${this.innerId}-input`;
|
|
219
|
+
}
|
|
220
|
+
get checked() {
|
|
221
|
+
return this.isChecked;
|
|
222
|
+
}
|
|
223
|
+
set checked(value) {
|
|
224
|
+
const newCheckedState = coerceBooleanProperty(value);
|
|
225
|
+
if (this.isChecked !== newCheckedState) {
|
|
226
|
+
this.isChecked = newCheckedState;
|
|
227
|
+
if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {
|
|
228
|
+
this.radioGroup.selected = this;
|
|
229
|
+
}
|
|
230
|
+
else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {
|
|
231
|
+
this.radioGroup.selected = null;
|
|
232
|
+
}
|
|
233
|
+
if (newCheckedState) {
|
|
234
|
+
this.radioDispatcher.notify(this.id, this.name);
|
|
235
|
+
}
|
|
236
|
+
this.changeDetector.markForCheck();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
get value() {
|
|
240
|
+
return this.innerValue;
|
|
241
|
+
}
|
|
242
|
+
set value(value) {
|
|
243
|
+
if (this.innerValue !== value) {
|
|
244
|
+
this.innerValue = value;
|
|
245
|
+
if (this.radioGroup !== null) {
|
|
246
|
+
if (!this.checked) {
|
|
247
|
+
this.checked = this.radioGroup.value === value;
|
|
248
|
+
}
|
|
249
|
+
if (this.checked) {
|
|
250
|
+
this.radioGroup.selected = this;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
get large() {
|
|
256
|
+
return this.isLarge || (this.radioGroup != null && this.radioGroup.large);
|
|
257
|
+
}
|
|
258
|
+
set large(value) {
|
|
259
|
+
this.isLarge = value;
|
|
260
|
+
}
|
|
261
|
+
get labelPosition() {
|
|
262
|
+
return this.innerLabelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'before';
|
|
263
|
+
}
|
|
264
|
+
set labelPosition(value) {
|
|
265
|
+
this.innerLabelPosition = value;
|
|
266
|
+
}
|
|
267
|
+
get disabled() {
|
|
268
|
+
return this.isDisabled || (this.radioGroup != null && this.radioGroup.disabled);
|
|
269
|
+
}
|
|
270
|
+
set disabled(value) {
|
|
271
|
+
const newDisabledState = coerceBooleanProperty(value);
|
|
272
|
+
if (this.isDisabled !== newDisabledState) {
|
|
273
|
+
this.isDisabled = newDisabledState;
|
|
274
|
+
this.changeDetector.markForCheck();
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
get required() {
|
|
278
|
+
return this.isRequired || (this.radioGroup && this.radioGroup.required);
|
|
279
|
+
}
|
|
280
|
+
set required(value) {
|
|
281
|
+
this.isRequired = coerceBooleanProperty(value);
|
|
282
|
+
}
|
|
283
|
+
ngOnInit() {
|
|
284
|
+
if (this.radioGroup) {
|
|
285
|
+
this.checked = this.radioGroup.value === this.innerValue;
|
|
286
|
+
this.name = this.radioGroup.name;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
ngOnDestroy() {
|
|
290
|
+
if (this.removeUniqueSelectionListener != null) {
|
|
291
|
+
this.removeUniqueSelectionListener();
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
onInputClick(event) {
|
|
295
|
+
event.stopPropagation();
|
|
296
|
+
}
|
|
297
|
+
onInputChange(event) {
|
|
298
|
+
event.stopPropagation();
|
|
299
|
+
if (!this.disabled) {
|
|
300
|
+
const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;
|
|
301
|
+
this.checked = true;
|
|
302
|
+
this.emitChangeEvent();
|
|
303
|
+
if (this.radioGroup) {
|
|
304
|
+
if (typeof this.radioGroup?.controlValueAccessorChangeFn === 'function') {
|
|
305
|
+
this.radioGroup?.controlValueAccessorChangeFn(this.value);
|
|
306
|
+
}
|
|
307
|
+
if (groupValueChanged) {
|
|
308
|
+
this.radioGroup.emitChangeEvent();
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
markForCheck() {
|
|
314
|
+
this.changeDetector.markForCheck();
|
|
315
|
+
}
|
|
316
|
+
emitChangeEvent() {
|
|
317
|
+
this.change.emit(new RadioChange(this, this.innerValue));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RadioComponent, deps: [{ token: RadioGroupDirective, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
321
|
+
RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: RadioComponent, selector: "fng-radio", inputs: { name: "name", id: "id", checked: "checked", value: "value", large: "large", labelPosition: "labelPosition", disabled: "disabled", required: "required" }, outputs: { change: "change" }, ngImport: i0, template: "<label\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-radio': true,\n 'fwe-radio-label-below': labelPosition == 'below',\n 'fwe-radio-label-before': labelPosition == 'before',\n 'fwe-radio-lg': large\n }\"\n>\n <input\n type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-radio-checkmark\"></div>\n <div class=\"fwe-radio-label-content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-radio:hover .fwe-radio-checkmark{background-color:var(--fwe-control)}\n"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: RadioComponent, decorators: [{
|
|
323
|
+
type: Component,
|
|
324
|
+
args: [{ selector: 'fng-radio', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<label\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-radio': true,\n 'fwe-radio-label-below': labelPosition == 'below',\n 'fwe-radio-label-before': labelPosition == 'before',\n 'fwe-radio-lg': large\n }\"\n>\n <input\n type=\"radio\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.name]=\"name\"\n [attr.value]=\"value\"\n [required]=\"required\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-radio-checkmark\"></div>\n <div class=\"fwe-radio-label-content\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-radio:hover .fwe-radio-checkmark{background-color:var(--fwe-control)}\n"] }]
|
|
325
|
+
}], ctorParameters: function () { return [{ type: RadioGroupDirective, decorators: [{
|
|
326
|
+
type: Optional
|
|
327
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i1.UniqueSelectionDispatcher }]; }, propDecorators: { name: [{
|
|
328
|
+
type: Input
|
|
329
|
+
}], id: [{
|
|
330
|
+
type: Input
|
|
331
|
+
}], checked: [{
|
|
332
|
+
type: Input
|
|
333
|
+
}], value: [{
|
|
334
|
+
type: Input
|
|
335
|
+
}], large: [{
|
|
336
|
+
type: Input
|
|
337
|
+
}], labelPosition: [{
|
|
338
|
+
type: Input
|
|
339
|
+
}], disabled: [{
|
|
340
|
+
type: Input
|
|
341
|
+
}], required: [{
|
|
342
|
+
type: Input
|
|
343
|
+
}], change: [{
|
|
344
|
+
type: Output
|
|
345
|
+
}] } });
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvcmFkaW8vcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLGlCQUFpQixFQUVqQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFFVixlQUFlLEVBQ2YsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUU5RCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFtQixNQUFzQixFQUFTLEtBQVU7UUFBekMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBQUcsQ0FBQztDQUNqRTtBQUVELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQVlyQixNQUFNLE9BQU8sbUJBQW1CO0lBc0Y5QixZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFyRmYsY0FBUyxHQUFHLElBQUksQ0FBQztRQUM3QixTQUFJLEdBQUcsWUFBWSxDQUFDO1FBR3JDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBd0UxQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxLQUFLLENBQUM7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Z0JBc0JGLEtBQUs7c0JBRFIsS0FBSztnQkFtQkYsS0FBSztzQkFEUixLQUFLO2dCQVNGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQWFGLFFBQVE7c0JBRFgsS0FBSztnQkFRYSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3B0aW9uYWwsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgT25EZXN0cm95LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIgfSBmcm9tICcuLi91bmlxdWUtc2VsZWN0aW9uLWRpc3BhdGNoZXInO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuZXhwb3J0IGNsYXNzIFJhZGlvQ2hhbmdlIHtcbiAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogUmFkaW9Db21wb25lbnQsIHB1YmxpYyB2YWx1ZTogYW55KSB7fVxufVxuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZuZ1JhZGlvR3JvdXBdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0dyb3VwRGlyZWN0aXZlKSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZndlLXJhZGlvLWdyb3VwJykgaG9zdENsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ3JhZGlvZ3JvdXAnO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvQ2hhbmdlPigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBSYWRpb0NvbXBvbmVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcmFkaW9zOiBRdWVyeUxpc3Q8UmFkaW9Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJOYW1lO1xuICB9XG4gIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVyTmFtZSA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlUmFkaW9CdXR0b25OYW1lcygpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxhcmdlKCkge1xuICAgIHJldHVybiB0aGlzLmlzTGFyZ2U7XG4gIH1cbiAgc2V0IGxhcmdlKHYpIHtcbiAgICB0aGlzLmlzTGFyZ2UgPSB2O1xuICAgIHRoaXMudXBkYXRlUmFkaW9CdXR0b25TaXplKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgbGFiZWxQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lckxhYmVsUG9zaXRpb247XG4gIH1cbiAgc2V0IGxhYmVsUG9zaXRpb24odikge1xuICAgIHRoaXMuaW5uZXJMYWJlbFBvc2l0aW9uID0gdjtcbiAgICB0aGlzLm1hcmtSYWRpb3NGb3JDaGVjaygpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLmlubmVyVmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRSYWRpb0Zyb21WYWx1ZSgpO1xuICAgICAgdGhpcy5jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZDtcbiAgfVxuICBzZXQgc2VsZWN0ZWQoc2VsZWN0ZWQ6IGFueSB8IG51bGwpIHtcbiAgICB0aGlzLmlzU2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWQgPyBzZWxlY3RlZC52YWx1ZSA6IG51bGw7XG4gICAgdGhpcy5jaGVja1NlbGVjdGVkUmFkaW9CdXR0b24oKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZSkge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5tYXJrUmFkaW9zRm9yQ2hlY2soKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1JlcXVpcmVkO1xuICB9XG4gIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNSZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5tYXJrUmFkaW9zRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNMYXJnZSA9IGZhbHNlO1xuICBwcml2YXRlIGlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1JlcXVpcmVkID0gZmFsc2U7XG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gIHByaXZhdGUgaXNTZWxlY3RlZDogUmFkaW9Db21wb25lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpbm5lck5hbWUgPSBgZm5nUmFkaW9Hcm91cC0ke25leHRVbmlxdWVJZCsrfWA7XG4gIHByaXZhdGUgaW5uZXJMYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgfCAnYmVsb3cnID0gJ2JlZm9yZSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG5cbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgY2hlY2tTZWxlY3RlZFJhZGlvQnV0dG9uKCkge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQgJiYgIXRoaXMuaXNTZWxlY3RlZC5jaGVja2VkKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQuY2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG91Y2goKSB7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkICE9IG51bGwpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQobmV3IFJhZGlvQ2hhbmdlKHRoaXMuaXNTZWxlY3RlZCwgdGhpcy5pbm5lclZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgbWFya1JhZGlvc0ZvckNoZWNrKCkge1xuICAgIGlmICh0aGlzLnJhZGlvcykge1xuICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaChyYWRpbyA9PiByYWRpby5tYXJrRm9yQ2hlY2soKSk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVSYWRpb0J1dHRvblNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFkaW9zKSB7XG4gICAgICB0aGlzLnJhZGlvcy5mb3JFYWNoKHJhZGlvID0+IHtcbiAgICAgICAgcmFkaW8ubGFyZ2UgPSB0aGlzLmxhcmdlO1xuICAgICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmFkaW9CdXR0b25OYW1lcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yYWRpb3MpIHtcbiAgICAgIHRoaXMucmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5uYW1lID0gdGhpcy5uYW1lO1xuICAgICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRSYWRpb0Zyb21WYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0FscmVhZHlTZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZCAhPT0gbnVsbCAmJiB0aGlzLmlzU2VsZWN0ZWQudmFsdWUgPT09IHRoaXMuaW5uZXJWYWx1ZTtcbiAgICBpZiAodGhpcy5yYWRpb3MgJiYgIWlzQWxyZWFkeVNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBudWxsO1xuICAgICAgdGhpcy5yYWRpb3MuZm9yRWFjaChyYWRpbyA9PiB7XG4gICAgICAgIHJhZGlvLmNoZWNrZWQgPSB0aGlzLnZhbHVlID09PSByYWRpby52YWx1ZTtcbiAgICAgICAgaWYgKHJhZGlvLmNoZWNrZWQpIHtcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSByYWRpbztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZuZy1yYWRpbycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBpbm5lcklkID0gYGZuZy1yYWRpby0keysrbmV4dFVuaXF1ZUlkfWA7XG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlubmVySWQ7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVySWQgPSB2YWx1ZSA/IGAke3ZhbHVlfS0keysrbmV4dFVuaXF1ZUlkfWAgOiBgZm5nLXJhZGlvLSR7KytuZXh0VW5pcXVlSWR9YDtcbiAgfVxuXG4gIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaW5uZXJJZH0taW5wdXRgO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNDaGVja2VkO1xuICB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgbmV3Q2hlY2tlZFN0YXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy5pc0NoZWNrZWQgIT09IG5ld0NoZWNrZWRTdGF0ZSkge1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPSBuZXdDaGVja2VkU3RhdGU7XG4gICAgICBpZiAobmV3Q2hlY2tlZFN0YXRlICYmIHRoaXMucmFkaW9Hcm91cCAmJiB0aGlzLnJhZGlvR3JvdXAudmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgdGhpcy5yYWRpb0dyb3VwLnNlbGVjdGVkID0gdGhpcztcbiAgICAgIH0gZWxzZSBpZiAoIW5ld0NoZWNrZWRTdGF0ZSAmJiB0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy5yYWRpb0dyb3VwLnZhbHVlID09PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMucmFkaW9Hcm91cC5zZWxlY3RlZCA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdDaGVja2VkU3RhdGUpIHtcbiAgICAgICAgdGhpcy5yYWRpb0Rpc3BhdGNoZXIubm90aWZ5KHRoaXMuaWQsIHRoaXMubmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pbm5lclZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy5yYWRpb0dyb3VwICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghdGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5yYWRpb0dyb3VwLnZhbHVlID09PSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgICAgdGhpcy5yYWRpb0dyb3VwLnNlbGVjdGVkID0gdGhpcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsYXJnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0xhcmdlIHx8ICh0aGlzLnJhZGlvR3JvdXAgIT0gbnVsbCAmJiB0aGlzLnJhZGlvR3JvdXAubGFyZ2UpO1xuICB9XG4gIHNldCBsYXJnZSh2YWx1ZSkge1xuICAgIHRoaXMuaXNMYXJnZSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxhYmVsUG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJMYWJlbFBvc2l0aW9uIHx8ICh0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy5yYWRpb0dyb3VwLmxhYmVsUG9zaXRpb24pIHx8ICdiZWZvcmUnO1xuICB9XG4gIHNldCBsYWJlbFBvc2l0aW9uKHZhbHVlKSB7XG4gICAgdGhpcy5pbm5lckxhYmVsUG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkIHx8ICh0aGlzLnJhZGlvR3JvdXAgIT0gbnVsbCAmJiB0aGlzLnJhZGlvR3JvdXAuZGlzYWJsZWQpO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld0Rpc2FibGVkU3RhdGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQgIT09IG5ld0Rpc2FibGVkU3RhdGUpIHtcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IG5ld0Rpc2FibGVkU3RhdGU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1JlcXVpcmVkIHx8ICh0aGlzLnJhZGlvR3JvdXAgJiYgdGhpcy5yYWRpb0dyb3VwLnJlcXVpcmVkKTtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9DaGFuZ2U+KCk7XG5cbiAgcmFkaW9Hcm91cDogUmFkaW9Hcm91cERpcmVjdGl2ZTtcblxuICBwcml2YXRlIGlzTGFyZ2UgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0NoZWNrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuO1xuICBwcml2YXRlIGlzUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBpbm5lckxhYmVsUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyB8ICdiZWxvdyc7XG4gIHByaXZhdGUgcmVtb3ZlVW5pcXVlU2VsZWN0aW9uTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcmFkaW9Hcm91cDogUmFkaW9Hcm91cERpcmVjdGl2ZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJhZGlvRGlzcGF0Y2hlcjogVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlclxuICApIHtcbiAgICB0aGlzLnJhZGlvR3JvdXAgPSByYWRpb0dyb3VwO1xuICAgIHRoaXMucmVtb3ZlVW5pcXVlU2VsZWN0aW9uTGlzdGVuZXIgPSByYWRpb0Rpc3BhdGNoZXIubGlzdGVuKChpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChpZCAhPT0gdGhpcy5pZCAmJiBuYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5yYWRpb0dyb3VwKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLnJhZGlvR3JvdXAudmFsdWUgPT09IHRoaXMuaW5uZXJWYWx1ZTtcbiAgICAgIHRoaXMubmFtZSA9IHRoaXMucmFkaW9Hcm91cC5uYW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnJlbW92ZVVuaXF1ZVNlbGVjdGlvbkxpc3RlbmVyICE9IG51bGwpIHtcbiAgICAgIHRoaXMucmVtb3ZlVW5pcXVlU2VsZWN0aW9uTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCBncm91cFZhbHVlQ2hhbmdlZCA9IHRoaXMucmFkaW9Hcm91cCAmJiB0aGlzLnZhbHVlICE9PSB0aGlzLnJhZGlvR3JvdXAudmFsdWU7XG4gICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblxuICAgICAgaWYgKHRoaXMucmFkaW9Hcm91cCkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmFkaW9Hcm91cD8uY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHRoaXMucmFkaW9Hcm91cD8uY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbih0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChncm91cFZhbHVlQ2hhbmdlZCkge1xuICAgICAgICAgIHRoaXMucmFkaW9Hcm91cC5lbWl0Q2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChuZXcgUmFkaW9DaGFuZ2UodGhpcywgdGhpcy5pbm5lclZhbHVlKSk7XG4gIH1cbn1cbiIsIjxsYWJlbFxuICBbYXR0ci5mb3JdPVwiaW5wdXRJZFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZndlLXJhZGlvJzogdHJ1ZSxcbiAgICAnZndlLXJhZGlvLWxhYmVsLWJlbG93JzogbGFiZWxQb3NpdGlvbiA9PSAnYmVsb3cnLFxuICAgICdmd2UtcmFkaW8tbGFiZWwtYmVmb3JlJzogbGFiZWxQb3NpdGlvbiA9PSAnYmVmb3JlJyxcbiAgICAnZndlLXJhZGlvLWxnJzogbGFyZ2VcbiAgfVwiXG4+XG4gIDxpbnB1dFxuICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1yYWRpby1jaGVja21hcmtcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1yYWRpby1sYWJlbC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbGFiZWw+XG4iXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, TemplateRef, ChangeDetectionStrategy, Output, EventEmitter, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class SegmentControlComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.change = new EventEmitter();
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
this.id = (Math.random() * Date.now()).toString().replace('.', '-');
|
|
10
|
+
this.viewMode = 'text';
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if (null != changes.icon && null != changes.icon.currentValue) {
|
|
14
|
+
this.icon = `fwe-icon-${this.icon}`;
|
|
15
|
+
}
|
|
16
|
+
if (null != changes.iconOnly && null != changes.iconOnly.currentValue) {
|
|
17
|
+
this.viewMode = changes.iconOnly.currentValue === true ? 'icon' : 'icon-text';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
ngAfterViewInit() {
|
|
21
|
+
this.view = this.tpl.createEmbeddedView(null);
|
|
22
|
+
}
|
|
23
|
+
onChange(event) {
|
|
24
|
+
this.change.emit(event.target.value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
SegmentControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SegmentControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
SegmentControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: SegmentControlComponent, 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)=\"onChange($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: [""], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: SegmentControlComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'fng-segment-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #tpl>\n <input\n (change)=\"onChange($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: [""] }]
|
|
32
|
+
}], propDecorators: { name: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], value: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], label: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], icon: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], iconOnly: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], checked: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], disabled: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], change: [{
|
|
47
|
+
type: Output
|
|
48
|
+
}], tpl: [{
|
|
49
|
+
type: ViewChild,
|
|
50
|
+
args: ['tpl']
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3NlZ21lbnQvc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9zZWdtZW50L3NlZ21lbnQtY29udHJvbC9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBSUwsU0FBUyxFQUNULFdBQVcsRUFHWCx1QkFBdUIsRUFDdkIsTUFBTSxFQUNOLFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7OztBQVN2QixNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBbUJZLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTBCMUQ7SUF0QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDckM7UUFFRCxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7U0FDL0U7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW1DO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7b0hBckNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG1WQ3ZCcEMsMnpCQXdCQTsyRkREYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBTzVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFFVyxHQUFHO3NCQUFwQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBUZW1wbGF0ZVJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgVmlld1JlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLXNlZ21lbnQtY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VnbWVudENvbnRyb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIGlkOiBzdHJpbmc7XG4gIHZpZXc6IFZpZXdSZWY7XG4gIHZpZXdNb2RlOiAndGV4dCcgfCAnaWNvbicgfCAnaWNvbi10ZXh0JztcblxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb246IHN0cmluZztcbiAgQElucHV0KCkgaWNvbk9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCd0cGwnKSB0cGw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IChNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkudG9TdHJpbmcoKS5yZXBsYWNlKCcuJywgJy0nKTtcbiAgICB0aGlzLnZpZXdNb2RlID0gJ3RleHQnO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChudWxsICE9IGNoYW5nZXMuaWNvbiAmJiBudWxsICE9IGNoYW5nZXMuaWNvbi5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuaWNvbiA9IGBmd2UtaWNvbi0ke3RoaXMuaWNvbn1gO1xuICAgIH1cblxuICAgIGlmIChudWxsICE9IGNoYW5nZXMuaWNvbk9ubHkgJiYgbnVsbCAhPSBjaGFuZ2VzLmljb25Pbmx5LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy52aWV3TW9kZSA9IGNoYW5nZXMuaWNvbk9ubHkuY3VycmVudFZhbHVlID09PSB0cnVlID8gJ2ljb24nIDogJ2ljb24tdGV4dCc7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmlldyA9IHRoaXMudHBsLmNyZWF0ZUVtYmVkZGVkVmlldyhudWxsKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiB7IHRhcmdldDogSFRNTElucHV0RWxlbWVudCB9KSB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI3RwbD5cbiAgPGlucHV0XG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICBjbGFzcz1cImZ3ZS1zZWdtZW50LWlucHV0XCJcbiAgICB0eXBlPVwicmFkaW9cIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAvPlxuICA8bGFiZWwgY2xhc3M9XCJmd2Utc2VnbWVudC1sYWJlbFwiIFtmb3JdPVwiaWRcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ2aWV3TW9kZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZndlLXNyLW9ubHlcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJmd2UtaWNvblwiIFtuZ0NsYXNzXT1cImljb25cIj48L2k+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaWNvbi10ZXh0J1wiPiA8aSBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImZ3ZS1pY29uXCIgW25nQ2xhc3NdPVwiaWNvblwiPjwvaT57eyBsYWJlbCB9fSA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|