sidesys-generic-ui 2.2.2 → 2.3.1-local.1

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.
Files changed (119) hide show
  1. package/esm2022/lib/animation/animation.component.mjs +14 -5
  2. package/esm2022/lib/animation/emuns/animation.enum.mjs +33 -6
  3. package/esm2022/lib/avatar/components/profile-group/s-profile-group.component.mjs +2 -2
  4. package/esm2022/lib/avatar/s-avatar.component.mjs +2 -2
  5. package/esm2022/lib/badge/s-badge.component.mjs +2 -2
  6. package/esm2022/lib/button/components/button/s-button.component.mjs +2 -2
  7. package/esm2022/lib/card/s-card.component.mjs +3 -4
  8. package/esm2022/lib/card/s-card.module.mjs +4 -12
  9. package/esm2022/lib/checkbox/checkbox-new/s-checkbox.component.mjs +2 -2
  10. package/esm2022/lib/checkbox/s-checkbox.component.mjs +2 -2
  11. package/esm2022/lib/collapse/s-collapse.component.mjs +2 -2
  12. package/esm2022/lib/dynamic-form/s-dynamic-form.component.mjs +1 -1
  13. package/esm2022/lib/dynamic-form/s-dynamic-form.module.mjs +4 -19
  14. package/esm2022/lib/footer/s-footer.component.mjs +2 -2
  15. package/esm2022/lib/grid-multi-inputs/components/grid-multi-inputs-toolbar-top/grid-multi-inputs-toolbar-top.component.mjs +2 -2
  16. package/esm2022/lib/grid-multi-inputs/grid-multi-inputs.component.mjs +2 -2
  17. package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +2 -2
  18. package/esm2022/lib/input/components/color/s-color.component.mjs +2 -2
  19. package/esm2022/lib/input/components/error-control/s-error-control.component.mjs +2 -2
  20. package/esm2022/lib/input/components/input/s-input.component.mjs +2 -2
  21. package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +2 -2
  22. package/esm2022/lib/input/components/input-textarea/s-input-textarea.component.mjs +2 -2
  23. package/esm2022/lib/input/components/range/s-range.component.mjs +7 -7
  24. package/esm2022/lib/input/components/time/s-time.component.mjs +2 -2
  25. package/esm2022/lib/input/directives/control-boolean-accessor.directive.mjs +1 -1
  26. package/esm2022/lib/input/index.mjs +1 -2
  27. package/esm2022/lib/input/input.module.mjs +7 -12
  28. package/esm2022/lib/link/s-link.component.mjs +2 -2
  29. package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
  30. package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +2 -2
  31. package/esm2022/lib/navbar/components/icon-menu/components/s-notificaction.component.mjs +2 -2
  32. package/esm2022/lib/navbar/components/icon-menu/s-icon-menu.component.mjs +2 -2
  33. package/esm2022/lib/navbar/components/menu-main/s-menu-main.component.mjs +2 -2
  34. package/esm2022/lib/navbar/components/menu-main/s-menu-main.module.mjs +4 -10
  35. package/esm2022/lib/navbar/s-navbar.component.mjs +2 -2
  36. package/esm2022/lib/navbar/s-navbar.module.mjs +4 -10
  37. package/esm2022/lib/radio/s-radio.component.mjs +2 -2
  38. package/esm2022/lib/select/select/s-select.component.mjs +3 -3
  39. package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +3 -3
  40. package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +2 -2
  41. package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +3 -3
  42. package/esm2022/lib/sidebar/s-sidebar.component.mjs +2 -2
  43. package/esm2022/lib/sidebar/s-sidebar.module.mjs +6 -25
  44. package/esm2022/lib/spinner/s-spinner.component.mjs +8 -17
  45. package/esm2022/lib/spinner/s-spinner.module.mjs +7 -12
  46. package/esm2022/lib/table-complete/table-complete.component.mjs +2 -2
  47. package/esm2022/lib/table-t/s-tablet.component.mjs +2 -2
  48. package/esm2022/lib/tabs/s-tabs.component.mjs +7 -2
  49. package/esm2022/lib/tag/s-tag.component.mjs +2 -2
  50. package/esm2022/lib/theme/s-theme.component.mjs +2 -2
  51. package/esm2022/lib/timeline/s-timeline.component.mjs +2 -2
  52. package/esm2022/lib/toast/s-toast.component.mjs +2 -2
  53. package/esm2022/lib/toggle-switch/s-toggle-switch.component.mjs +2 -2
  54. package/esm2022/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.mjs +115 -16
  55. package/esm2022/lib/toolbar-top/toolbar-top.component.mjs +9 -4
  56. package/esm2022/lib/toolbar-top/toolbar-top.module.mjs +1 -5
  57. package/esm2022/lib/tooltip/s-tooltip.component.mjs +4 -4
  58. package/esm2022/lib/tree-list/s-tree-list.component.mjs +2 -2
  59. package/esm2022/public-api.mjs +1 -5
  60. package/fesm2022/sidesys-generic-ui.mjs +1728 -2522
  61. package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
  62. package/lib/animation/animation.component.d.ts +5 -2
  63. package/lib/animation/emuns/animation.enum.d.ts +14 -2
  64. package/lib/card/s-card.component.d.ts +0 -2
  65. package/lib/card/s-card.module.d.ts +4 -5
  66. package/lib/dynamic-form/s-dynamic-form.module.d.ts +7 -9
  67. package/lib/input/index.d.ts +0 -1
  68. package/lib/input/input.module.d.ts +14 -15
  69. package/lib/navbar/components/menu-main/s-menu-main.module.d.ts +4 -5
  70. package/lib/navbar/s-navbar.module.d.ts +8 -9
  71. package/lib/sidebar/s-sidebar.module.d.ts +4 -5
  72. package/lib/spinner/s-spinner.component.d.ts +5 -9
  73. package/lib/spinner/s-spinner.module.d.ts +2 -1
  74. package/lib/tabs/s-tabs.component.d.ts +3 -2
  75. package/lib/toggle-switch/toggle-switch-form/toggle-switch-form.component.d.ts +17 -4
  76. package/lib/toolbar-top/toolbar-top.component.d.ts +3 -1
  77. package/lib/toolbar-top/toolbar-top.module.d.ts +7 -8
  78. package/package.json +1 -1
  79. package/public-api.d.ts +0 -4
  80. package/esm2022/lib/drop-down/index.mjs +0 -4
  81. package/esm2022/lib/drop-down/s-drop-down-button.mjs +0 -7
  82. package/esm2022/lib/drop-down/s-drop-down.component.mjs +0 -29
  83. package/esm2022/lib/drop-down/s-drop-down.module.mjs +0 -18
  84. package/esm2022/lib/form/index.mjs +0 -4
  85. package/esm2022/lib/form/s-form-control.mjs +0 -59
  86. package/esm2022/lib/form/s-form.component.mjs +0 -130
  87. package/esm2022/lib/form/s-form.module.mjs +0 -51
  88. package/esm2022/lib/icon/index.mjs +0 -3
  89. package/esm2022/lib/icon/s-icon.component.mjs +0 -41
  90. package/esm2022/lib/icon/s-icon.module.mjs +0 -22
  91. package/esm2022/lib/icon/s-icons.mjs +0 -55
  92. package/esm2022/lib/input/components/input-text/s-input-text.component.mjs +0 -346
  93. package/esm2022/lib/login/index.mjs +0 -6
  94. package/esm2022/lib/login/s-login-errors-model.mjs +0 -3
  95. package/esm2022/lib/login/s-login-event.mjs +0 -3
  96. package/esm2022/lib/login/s-login-images.mjs +0 -4
  97. package/esm2022/lib/login/s-login-model.mjs +0 -3
  98. package/esm2022/lib/login/s-login.component.mjs +0 -121
  99. package/esm2022/lib/login/s-login.module.mjs +0 -32
  100. package/lib/drop-down/index.d.ts +0 -3
  101. package/lib/drop-down/s-drop-down-button.d.ts +0 -4
  102. package/lib/drop-down/s-drop-down.component.d.ts +0 -12
  103. package/lib/drop-down/s-drop-down.module.d.ts +0 -8
  104. package/lib/form/index.d.ts +0 -3
  105. package/lib/form/s-form-control.d.ts +0 -26
  106. package/lib/form/s-form.component.d.ts +0 -33
  107. package/lib/form/s-form.module.d.ts +0 -14
  108. package/lib/icon/index.d.ts +0 -2
  109. package/lib/icon/s-icon.component.d.ts +0 -18
  110. package/lib/icon/s-icon.module.d.ts +0 -8
  111. package/lib/icon/s-icons.d.ts +0 -8
  112. package/lib/input/components/input-text/s-input-text.component.d.ts +0 -66
  113. package/lib/login/index.d.ts +0 -5
  114. package/lib/login/s-login-errors-model.d.ts +0 -7
  115. package/lib/login/s-login-event.d.ts +0 -4
  116. package/lib/login/s-login-images.d.ts +0 -3
  117. package/lib/login/s-login-model.d.ts +0 -8
  118. package/lib/login/s-login.component.d.ts +0 -42
  119. package/lib/login/s-login.module.d.ts +0 -10
@@ -1,5 +1,5 @@
1
- import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
1
+ import { Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { ControlBooleanAccessorDirective } from '../../input/directives/control-boolean-accessor.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
@@ -10,30 +10,95 @@ export class SSwitch {
10
10
  export class ToggleSwitchFormComponent extends ControlBooleanAccessorDirective {
11
11
  constructor() {
12
12
  super(...arguments);
13
+ this.config = {};
13
14
  this.blur = new EventEmitter();
14
15
  this.focus = new EventEmitter();
16
+ this.valueChange = new EventEmitter();
15
17
  this.checked = false;
18
+ this._valueInternal = false;
19
+ this._isFirstWriteValue = true;
20
+ this._controlSubscribed = false;
16
21
  }
17
- onInput(event) {
22
+ ngAfterViewInit() {
23
+ if (this.config.useFormControl &&
24
+ this.control &&
25
+ !this._controlSubscribed) {
26
+ this.subscribeToControl();
27
+ }
28
+ }
29
+ subscribeToControl() {
30
+ if (this._controlSubscribed || !this.control)
31
+ return;
32
+ this._controlSubscribed = true;
33
+ this.control.valueChanges.subscribe(val => {
34
+ if (this._valueInternal !== val) {
35
+ this._valueInternal = val;
36
+ this.valueChange.emit(val);
37
+ this.onChange(val);
38
+ }
39
+ });
40
+ }
41
+ get valueProxy() {
42
+ return this._valueInternal;
43
+ }
44
+ set valueProxy(val) {
45
+ if (val == null) {
46
+ return;
47
+ }
48
+ this._valueInternal = val;
49
+ if (!this.useFormControl && this.inputHidden) {
50
+ this.inputHidden.nativeElement.checked = val;
51
+ }
52
+ }
53
+ writeValue(value) {
54
+ if (value == null)
55
+ return;
56
+ const newValue = value;
57
+ this.value = newValue;
58
+ this.valueProxy = newValue;
59
+ if (this.useFormControl) {
60
+ if (!this.control) {
61
+ this.control = new FormControl(newValue);
62
+ }
63
+ this.subscribeToControl();
64
+ if (this.control.value !== newValue) {
65
+ this.control.setValue(newValue, { emitEvent: false });
66
+ }
67
+ }
68
+ else {
69
+ if (!this._isFirstWriteValue) {
70
+ this.valueChange.emit(newValue);
71
+ this.onChange(newValue);
72
+ }
73
+ }
74
+ this.updateValue(newValue, true, this._isFirstWriteValue);
75
+ this._isFirstWriteValue = false;
76
+ }
77
+ onInput() {
18
78
  if (this.config.disabled)
19
79
  return;
20
- const input = event.target;
80
+ const input = this.inputHidden?.nativeElement;
21
81
  this.value = input.checked;
82
+ this.updateValue(this.value);
22
83
  this.onChange(this.value);
23
84
  if (this.config?.useFormControl) {
24
85
  this.onTouched();
25
86
  }
26
87
  }
27
88
  registerOnChange(fn) {
28
- if (!this.config?.useFormControl) {
29
- this.onChange = fn;
30
- }
89
+ this.onChange = fn;
31
90
  }
32
91
  getValue() {
33
92
  if (this.value)
34
93
  this.checked = this.value === true;
35
94
  return this.checked;
36
95
  }
96
+ getValueGeneral() {
97
+ if (this.control) {
98
+ return !!this.control.value;
99
+ }
100
+ return !!this.value;
101
+ }
37
102
  getIcon() {
38
103
  const isChecked = this.control?.value ?? this.value === true;
39
104
  return isChecked
@@ -49,23 +114,52 @@ export class ToggleSwitchFormComponent extends ControlBooleanAccessorDirective {
49
114
  onKeydown(event) {
50
115
  if (event.key === 'Enter' || event.key === ' ') {
51
116
  event.preventDefault();
52
- this.value = this.value === true;
53
- this.control?.setValue(this.value);
54
- this.checked = this.value === true;
55
- this.onChange(this.value);
117
+ this.value = !this.value;
118
+ this.updateValue(this.value);
119
+ if (this.config?.useFormControl) {
120
+ this.onTouched();
121
+ }
122
+ }
123
+ }
124
+ onClickLabel() {
125
+ const input = this.inputHidden?.nativeElement;
126
+ if (input && !this.config.disabled && !this.config.readOnly) {
127
+ const newVal = !input.checked;
128
+ input.checked = newVal;
129
+ this.value = newVal;
56
130
  if (this.config?.useFormControl) {
131
+ this.control?.setValue(newVal);
57
132
  this.onTouched();
58
133
  }
134
+ else {
135
+ this.onChange(newVal);
136
+ }
137
+ this.updateValue(newVal);
138
+ }
139
+ }
140
+ updateValue(newVal, fromWriteValue = false, skipEmit = false) {
141
+ if (this._valueInternal === newVal)
142
+ return;
143
+ this._valueInternal = newVal;
144
+ if (!this.useFormControl && this.inputHidden) {
145
+ this.inputHidden.nativeElement.checked = newVal;
146
+ }
147
+ this.onChange(newVal);
148
+ if (!skipEmit) {
149
+ this.valueChange.emit(newVal);
150
+ }
151
+ if (this.config?.useFormControl && !fromWriteValue) {
152
+ this.control?.setValue(newVal, { emitEvent: false });
59
153
  }
60
154
  }
61
155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleSwitchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleSwitchFormComponent, selector: "s-toggle-switch", inputs: { config: "config" }, outputs: { blur: "blur", focus: "focus" }, providers: [
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToggleSwitchFormComponent, selector: "s-toggle-switch", inputs: { config: "config" }, outputs: { blur: "blur", focus: "focus", valueChange: "valueChange" }, providers: [
63
157
  {
64
158
  provide: NG_VALUE_ACCESSOR,
65
159
  useExisting: forwardRef(() => ToggleSwitchFormComponent),
66
160
  multi: true,
67
161
  },
68
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"s-toggle-switch\"\n [ngClass]=\"{\n 's-toggle-switch--size-md': config && config.size == 'md',\n 's-toggle-switch--vertical': config && config.vertical,\n }\">\n <label class=\"s-toggle-switch__content\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"/>\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [disabled]=\"config.disabled || config.readOnly\"\n [checked]=\"getValue()\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"/>\n </ng-template>\n <span\n class=\"s-toggle-switch__content__slider\"\n [ngClass]=\"{\n active: control?.value || value,\n 'no-active': control?.value || value,\n disabled: (control?.disabled || (config && config.disabled)) && !(config && config.readOnly)\n }\">\n <s-icon-mat\n class=\"slider-icon-close\"\n *ngIf=\"(config && config.showIcon !== false) || !config\"\n >{{ getIcon() }}</s-icon-mat\n >\n </span>\n </label>\n\n <div *ngIf=\"config?.label\">\n <label *ngIf=\"control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active': ((config.boldSelectActive ?? true) && control.value),\n disabled: (control.disabled || config.disabled) && !config.readOnly\n }\"\n >{{ config.label }}</label>\n\n <label *ngIf=\"!control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active': ((config.boldSelectActive ?? true) && value),\n disabled: config.disabled && !config.readOnly\n }\"\n >{{ config.label }}</label>\n </div>\n</div>\n", styles: [".s-toggle-switch{display:flex;align-items:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.s-toggle-switch__content{transform:translate(2px);position:relative;display:inline-block;width:32px;height:16px;min-width:32px}.s-toggle-switch__content__input{opacity:0;width:0;height:0}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider{background-color:var(--primary-600)}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider:before{-webkit-transform:translateX(24px);-ms-transform:translateX(24px);transform:translate(24px);left:-6px}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider.disabled{background-color:var(--neutrals-900)!important;cursor:default}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon-close{left:3px}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon{left:-6px}.s-toggle-switch__content__slider{position:absolute;cursor:pointer;inset:0;background-color:var(--secondary-600);-webkit-transition:.4s;transition:.4s;border-radius:15px}.s-toggle-switch__content__slider .slider-icon-close{z-index:1;position:absolute;-webkit-transition:.4s;transition:.4s;left:16px;top:2px}.s-toggle-switch__content__slider .slider-icon-close span{color:var(--neutrals-1200);font-size:.8rem;font-weight:900}.s-toggle-switch__content__slider.disabled{background-color:var(--neutrals-900)!important;cursor:default}.s-toggle-switch__content__slider:before{z-index:2;position:absolute;content:\"\";background-color:var(--neutrals-1200);-webkit-transition:.4s;transition:.4s;border-radius:50%;height:12px;width:12px;left:2px;bottom:2px}.s-toggle-switch__label{margin-left:8px;font-size:.875rem;color:var(--secondary-600)}.s-toggle-switch__label.disabled{color:var(--neutrals-700)}.s-toggle-switch__label.bold-select-active{font-weight:700}.s-toggle-switch--size-md .s-toggle-switch__content{width:40px;height:20px;min-width:40px}.s-toggle-switch--size-md .s-toggle-switch__content__slider:before{height:16px;width:16px;left:2px;bottom:2px}.s-toggle-switch--size-md .s-toggle-switch__content .slider-icon-close{left:22px;top:3px}.s-toggle-switch--size-md .s-toggle-switch__content .slider-icon-close span{font-size:.9rem}.s-toggle-switch--size-md .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider:before{left:-2px}.s-toggle-switch--size-md .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon-close{left:3px}.s-toggle-switch--size-md .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon{left:-1px}.s-toggle-switch--size-sm .s-toggle-switch__content{width:32px;height:16px;min-width:32px}.s-toggle-switch--size-sm .s-toggle-switch__content__slider:before{height:12px;width:12px;left:2px;bottom:2px}.s-toggle-switch--size-sm .s-toggle-switch__content .slider-icon-close{left:16px;top:2px}.s-toggle-switch--size-sm .s-toggle-switch__content .slider-icon-close span{font-size:.8rem}.s-toggle-switch--size-sm .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider:before{left:-6px}.s-toggle-switch--size-sm .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon-close{left:3px}.s-toggle-switch--size-sm .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon{left:-6px}.s-toggle-switch:hover .s-toggle-switch__content__slider.active{background-color:var(--primary-900)}.s-toggle-switch:hover .s-toggle-switch__content__slider.no-active{background-color:var(--secondary-900)}.s-toggle-switch--vertical{align-items:center}.s-toggle-switch--vertical .s-toggle-switch__content{transform:rotate(90deg)}.s-toggle-switch--vertical .slider-icon-close{transform:rotate(-90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
162
+ ], viewQueries: [{ propertyName: "inputHidden", first: true, predicate: ["inputHidden"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"s-toggle-switch\"\n [ngClass]=\"{\n 's-toggle-switch--size-md': config && config.size === 'md',\n 's-toggle-switch--vertical': config && config.vertical,\n }\">\n <label\n class=\"s-toggle-switch__content\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n #inputHidden\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n #inputHidden\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [disabled]=\"config.disabled || config.readOnly\"\n [checked]=\"getValue()\"\n (input)=\"onInput()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n <span\n class=\"s-toggle-switch__content__slider\"\n [ngClass]=\"{\n active: getValueGeneral(),\n 'no-active': !getValueGeneral(),\n disabled:\n (control?.disabled || (config && config.disabled)) &&\n !(config && config.readOnly),\n }\">\n <s-icon-mat\n class=\"slider-icon-dynamic\"\n *ngIf=\"(config && config.showIcon !== false) || !config\"\n >{{ getIcon() }}</s-icon-mat\n >\n </span>\n </label>\n\n <div *ngIf=\"config?.label\" (click)=\"onClickLabel()\">\n <div\n *ngIf=\"control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active':\n (config.boldSelectActive ?? true) && control.value,\n disabled: (control.disabled || config.disabled) && !config.readOnly,\n }\">\n {{ config.label }}\n </div>\n\n <div\n *ngIf=\"!control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active': (config.boldSelectActive ?? true) && value,\n disabled: config.disabled && !config.readOnly,\n }\">\n {{ config.label }}\n </div>\n </div>\n</div>\n", styles: [".s-toggle-switch{display:flex;align-items:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.s-toggle-switch__content{transform:translate(.125rem);position:relative;display:inline-block;width:2rem;height:1rem;min-width:2rem}.s-toggle-switch__content__input{opacity:0;width:0;height:0}.s-toggle-switch__content__slider.active{background-color:var(--primary-600)}.s-toggle-switch__content__slider.no-active{background-color:var(--secondary-600)}.s-toggle-switch__content__slider.active:before{-webkit-transform:translateX(1.5rem);-ms-transform:translateX(1.5rem);transform:translate(1.5rem);left:-.375rem}.s-toggle-switch__content__slider{position:absolute;cursor:pointer;inset:0;background-color:var(--secondary-600);-webkit-transition:.4s;transition:.4s;border-radius:.938rem}.s-toggle-switch__content__slider .slider-icon-dynamic{position:absolute;transition:left .4s;top:.125rem;z-index:1}.s-toggle-switch__content__slider .slider-icon-dynamic span{color:var(--neutrals-1200);font-size:.8rem;font-weight:900}.s-toggle-switch__content__slider.active .slider-icon-dynamic{left:.188rem}.s-toggle-switch__content__slider.no-active .slider-icon-dynamic{left:1rem}.s-toggle-switch__content__slider.disabled{background-color:var(--neutrals-900)!important;cursor:default}.s-toggle-switch__content__slider:before{z-index:2;position:absolute;content:\"\";background-color:var(--neutrals-1200);-webkit-transition:.4s;transition:.4s;border-radius:50%;height:.75rem;width:.75rem;left:.125rem;bottom:.125rem}.s-toggle-switch__label{margin-left:.563rem;font-size:.875rem;color:var(--secondary-600)}.s-toggle-switch__label.disabled{color:var(--neutrals-700)}.s-toggle-switch__label.bold-select-active{font-weight:700}.s-toggle-switch--size-md .s-toggle-switch__content{width:2.5rem;height:1.25rem;min-width:2.5rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider:before{height:1rem;width:1rem;left:.125rem;bottom:.125rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.active:before{left:-.125rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.no-active:before{left:.125rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider .slider-icon-dynamic span{position:absolute;font-size:1rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.active .slider-icon-dynamic{left:.188rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.no-active .slider-icon-dynamic{left:1.375rem}.s-toggle-switch:hover .s-toggle-switch__content__slider.active{background-color:var(--primary-900)}.s-toggle-switch:hover .s-toggle-switch__content__slider.no-active{background-color:var(--secondary-900)}.s-toggle-switch--vertical{align-items:center}.s-toggle-switch--vertical .s-toggle-switch__content{transform:rotate(90deg)}.s-toggle-switch--vertical .slider-icon-dynamic .s-icon-mat .material-icons{transform:rotate(-90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
69
163
  }
70
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToggleSwitchFormComponent, decorators: [{
71
165
  type: Component,
@@ -75,12 +169,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
75
169
  useExisting: forwardRef(() => ToggleSwitchFormComponent),
76
170
  multi: true,
77
171
  },
78
- ], template: "<div\n class=\"s-toggle-switch\"\n [ngClass]=\"{\n 's-toggle-switch--size-md': config && config.size == 'md',\n 's-toggle-switch--vertical': config && config.vertical,\n }\">\n <label class=\"s-toggle-switch__content\" tabindex=\"0\" (keydown)=\"onKeydown($event)\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"/>\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [disabled]=\"config.disabled || config.readOnly\"\n [checked]=\"getValue()\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"/>\n </ng-template>\n <span\n class=\"s-toggle-switch__content__slider\"\n [ngClass]=\"{\n active: control?.value || value,\n 'no-active': control?.value || value,\n disabled: (control?.disabled || (config && config.disabled)) && !(config && config.readOnly)\n }\">\n <s-icon-mat\n class=\"slider-icon-close\"\n *ngIf=\"(config && config.showIcon !== false) || !config\"\n >{{ getIcon() }}</s-icon-mat\n >\n </span>\n </label>\n\n <div *ngIf=\"config?.label\">\n <label *ngIf=\"control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active': ((config.boldSelectActive ?? true) && control.value),\n disabled: (control.disabled || config.disabled) && !config.readOnly\n }\"\n >{{ config.label }}</label>\n\n <label *ngIf=\"!control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active': ((config.boldSelectActive ?? true) && value),\n disabled: config.disabled && !config.readOnly\n }\"\n >{{ config.label }}</label>\n </div>\n</div>\n", styles: [".s-toggle-switch{display:flex;align-items:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.s-toggle-switch__content{transform:translate(2px);position:relative;display:inline-block;width:32px;height:16px;min-width:32px}.s-toggle-switch__content__input{opacity:0;width:0;height:0}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider{background-color:var(--primary-600)}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider:before{-webkit-transform:translateX(24px);-ms-transform:translateX(24px);transform:translate(24px);left:-6px}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider.disabled{background-color:var(--neutrals-900)!important;cursor:default}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon-close{left:3px}.s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon{left:-6px}.s-toggle-switch__content__slider{position:absolute;cursor:pointer;inset:0;background-color:var(--secondary-600);-webkit-transition:.4s;transition:.4s;border-radius:15px}.s-toggle-switch__content__slider .slider-icon-close{z-index:1;position:absolute;-webkit-transition:.4s;transition:.4s;left:16px;top:2px}.s-toggle-switch__content__slider .slider-icon-close span{color:var(--neutrals-1200);font-size:.8rem;font-weight:900}.s-toggle-switch__content__slider.disabled{background-color:var(--neutrals-900)!important;cursor:default}.s-toggle-switch__content__slider:before{z-index:2;position:absolute;content:\"\";background-color:var(--neutrals-1200);-webkit-transition:.4s;transition:.4s;border-radius:50%;height:12px;width:12px;left:2px;bottom:2px}.s-toggle-switch__label{margin-left:8px;font-size:.875rem;color:var(--secondary-600)}.s-toggle-switch__label.disabled{color:var(--neutrals-700)}.s-toggle-switch__label.bold-select-active{font-weight:700}.s-toggle-switch--size-md .s-toggle-switch__content{width:40px;height:20px;min-width:40px}.s-toggle-switch--size-md .s-toggle-switch__content__slider:before{height:16px;width:16px;left:2px;bottom:2px}.s-toggle-switch--size-md .s-toggle-switch__content .slider-icon-close{left:22px;top:3px}.s-toggle-switch--size-md .s-toggle-switch__content .slider-icon-close span{font-size:.9rem}.s-toggle-switch--size-md .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider:before{left:-2px}.s-toggle-switch--size-md .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon-close{left:3px}.s-toggle-switch--size-md .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon{left:-1px}.s-toggle-switch--size-sm .s-toggle-switch__content{width:32px;height:16px;min-width:32px}.s-toggle-switch--size-sm .s-toggle-switch__content__slider:before{height:12px;width:12px;left:2px;bottom:2px}.s-toggle-switch--size-sm .s-toggle-switch__content .slider-icon-close{left:16px;top:2px}.s-toggle-switch--size-sm .s-toggle-switch__content .slider-icon-close span{font-size:.8rem}.s-toggle-switch--size-sm .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider:before{left:-6px}.s-toggle-switch--size-sm .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon-close{left:3px}.s-toggle-switch--size-sm .s-toggle-switch__content__input:checked+.s-toggle-switch__content__slider>s-icon-mat.slider-icon{left:-6px}.s-toggle-switch:hover .s-toggle-switch__content__slider.active{background-color:var(--primary-900)}.s-toggle-switch:hover .s-toggle-switch__content__slider.no-active{background-color:var(--secondary-900)}.s-toggle-switch--vertical{align-items:center}.s-toggle-switch--vertical .s-toggle-switch__content{transform:rotate(90deg)}.s-toggle-switch--vertical .slider-icon-close{transform:rotate(-90deg)}\n"] }]
79
- }], propDecorators: { config: [{
172
+ ], template: "<div\n class=\"s-toggle-switch\"\n [ngClass]=\"{\n 's-toggle-switch--size-md': config && config.size === 'md',\n 's-toggle-switch--vertical': config && config.vertical,\n }\">\n <label\n class=\"s-toggle-switch__content\"\n tabindex=\"0\"\n (keydown)=\"onKeydown($event)\">\n <ng-container *ngIf=\"control; else notUseFormControl\">\n <input\n #inputHidden\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [formControl]=\"control\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-container>\n <ng-template #notUseFormControl>\n <input\n #inputHidden\n tabindex=\"-1\"\n class=\"s-toggle-switch__content__input\"\n type=\"checkbox\"\n [disabled]=\"config.disabled || config.readOnly\"\n [checked]=\"getValue()\"\n (input)=\"onInput()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\" />\n </ng-template>\n <span\n class=\"s-toggle-switch__content__slider\"\n [ngClass]=\"{\n active: getValueGeneral(),\n 'no-active': !getValueGeneral(),\n disabled:\n (control?.disabled || (config && config.disabled)) &&\n !(config && config.readOnly),\n }\">\n <s-icon-mat\n class=\"slider-icon-dynamic\"\n *ngIf=\"(config && config.showIcon !== false) || !config\"\n >{{ getIcon() }}</s-icon-mat\n >\n </span>\n </label>\n\n <div *ngIf=\"config?.label\" (click)=\"onClickLabel()\">\n <div\n *ngIf=\"control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active':\n (config.boldSelectActive ?? true) && control.value,\n disabled: (control.disabled || config.disabled) && !config.readOnly,\n }\">\n {{ config.label }}\n </div>\n\n <div\n *ngIf=\"!control\"\n class=\"s-toggle-switch__label\"\n [ngClass]=\"{\n 'bold-select-active': (config.boldSelectActive ?? true) && value,\n disabled: config.disabled && !config.readOnly,\n }\">\n {{ config.label }}\n </div>\n </div>\n</div>\n", styles: [".s-toggle-switch{display:flex;align-items:center;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.s-toggle-switch__content{transform:translate(.125rem);position:relative;display:inline-block;width:2rem;height:1rem;min-width:2rem}.s-toggle-switch__content__input{opacity:0;width:0;height:0}.s-toggle-switch__content__slider.active{background-color:var(--primary-600)}.s-toggle-switch__content__slider.no-active{background-color:var(--secondary-600)}.s-toggle-switch__content__slider.active:before{-webkit-transform:translateX(1.5rem);-ms-transform:translateX(1.5rem);transform:translate(1.5rem);left:-.375rem}.s-toggle-switch__content__slider{position:absolute;cursor:pointer;inset:0;background-color:var(--secondary-600);-webkit-transition:.4s;transition:.4s;border-radius:.938rem}.s-toggle-switch__content__slider .slider-icon-dynamic{position:absolute;transition:left .4s;top:.125rem;z-index:1}.s-toggle-switch__content__slider .slider-icon-dynamic span{color:var(--neutrals-1200);font-size:.8rem;font-weight:900}.s-toggle-switch__content__slider.active .slider-icon-dynamic{left:.188rem}.s-toggle-switch__content__slider.no-active .slider-icon-dynamic{left:1rem}.s-toggle-switch__content__slider.disabled{background-color:var(--neutrals-900)!important;cursor:default}.s-toggle-switch__content__slider:before{z-index:2;position:absolute;content:\"\";background-color:var(--neutrals-1200);-webkit-transition:.4s;transition:.4s;border-radius:50%;height:.75rem;width:.75rem;left:.125rem;bottom:.125rem}.s-toggle-switch__label{margin-left:.563rem;font-size:.875rem;color:var(--secondary-600)}.s-toggle-switch__label.disabled{color:var(--neutrals-700)}.s-toggle-switch__label.bold-select-active{font-weight:700}.s-toggle-switch--size-md .s-toggle-switch__content{width:2.5rem;height:1.25rem;min-width:2.5rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider:before{height:1rem;width:1rem;left:.125rem;bottom:.125rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.active:before{left:-.125rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.no-active:before{left:.125rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider .slider-icon-dynamic span{position:absolute;font-size:1rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.active .slider-icon-dynamic{left:.188rem}.s-toggle-switch--size-md .s-toggle-switch__content__slider.no-active .slider-icon-dynamic{left:1.375rem}.s-toggle-switch:hover .s-toggle-switch__content__slider.active{background-color:var(--primary-900)}.s-toggle-switch:hover .s-toggle-switch__content__slider.no-active{background-color:var(--secondary-900)}.s-toggle-switch--vertical{align-items:center}.s-toggle-switch--vertical .s-toggle-switch__content{transform:rotate(90deg)}.s-toggle-switch--vertical .slider-icon-dynamic .s-icon-mat .material-icons{transform:rotate(-90deg)}\n"] }]
173
+ }], propDecorators: { inputHidden: [{
174
+ type: ViewChild,
175
+ args: ['inputHidden']
176
+ }], config: [{
80
177
  type: Input
81
178
  }], blur: [{
82
179
  type: Output
83
180
  }], focus: [{
84
181
  type: Output
182
+ }], valueChange: [{
183
+ type: Output
85
184
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC1mb3JtL3RvZ2dsZS1zd2l0Y2gtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2gtZm9ybS90b2dnbGUtc3dpdGNoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDOzs7OztBQUU1RyxNQUFNLE9BQU8sT0FBTztDQVduQjtBQWVELE1BQU0sT0FBTyx5QkFFWCxTQUFRLCtCQUFrQztJQWY1Qzs7UUFpQlksU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0MsWUFBTyxHQUFZLEtBQUssQ0FBQztLQWtEMUI7SUFoREMsT0FBTyxDQUFDLEtBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztRQUM3RCxPQUFPLFNBQVM7WUFDZCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxPQUFPLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQy9DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0F2RFUseUJBQXlCO21HQUF6Qix5QkFBeUIsbUhBUnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ25DSCx5akVBNERBOzs0RkR2QmEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksSUFBSTtzQkFBYixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xCb29sZWFuQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9pbnB1dC9kaXJlY3RpdmVzL2NvbnRyb2wtYm9vbGVhbi1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY2xhc3MgU1N3aXRjaCB7XG4gIGJvbGRTZWxlY3RBY3RpdmU/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBpY29uT2ZmPzogc3RyaW5nO1xuICBzaXplPzogJ3NtJyB8ICdtZCc7XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgdmVydGljYWw/OiBib29sZWFuO1xuICB1c2VGb3JtQ29udHJvbD86IGJvb2xlYW47XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy10b2dnbGUtc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1zd2l0Y2gtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvZ2dsZS1zd2l0Y2gtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRvZ2dsZVN3aXRjaEZvcm1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlU3dpdGNoRm9ybUNvbXBvbmVudDxcbiAgVCxcbj4gZXh0ZW5kcyBDb250cm9sQm9vbGVhbkFjY2Vzc29yRGlyZWN0aXZlPFQ+IHtcbiAgQElucHV0KCkgY29uZmlnITogU1N3aXRjaDtcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmRpc2FibGVkKSByZXR1cm47XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXQuY2hlY2tlZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8udXNlRm9ybUNvbnRyb2wpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZz8udXNlRm9ybUNvbnRyb2wpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy52YWx1ZSkgdGhpcy5jaGVja2VkID0gdGhpcy52YWx1ZSA9PT0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5jaGVja2VkO1xuICB9XG5cbiAgZ2V0SWNvbigpIHtcbiAgICBjb25zdCBpc0NoZWNrZWQgPSB0aGlzLmNvbnRyb2w/LnZhbHVlID8/IHRoaXMudmFsdWUgPT09IHRydWU7XG4gICAgcmV0dXJuIGlzQ2hlY2tlZFxuICAgICAgPyAodGhpcy5jb25maWc/Lmljb24gPz8gJ2NoZWNrJylcbiAgICAgIDogKHRoaXMuY29uZmlnPy5pY29uT2ZmID8/ICdjbG9zZScpO1xuICB9XG5cbiAgb25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIubmV4dChldmVudCk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlID09PSB0cnVlO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMudmFsdWUgPT09IHRydWU7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgaWYgKHRoaXMuY29uZmlnPy51c2VGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInMtdG9nZ2xlLXN3aXRjaFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAncy10b2dnbGUtc3dpdGNoLS1zaXplLW1kJzogY29uZmlnICYmIGNvbmZpZy5zaXplID09ICdtZCcsXG4gICAgJ3MtdG9nZ2xlLXN3aXRjaC0tdmVydGljYWwnOiBjb25maWcgJiYgY29uZmlnLnZlcnRpY2FsLFxuICB9XCI+XG4gIDxsYWJlbCBjbGFzcz1cInMtdG9nZ2xlLXN3aXRjaF9fY29udGVudFwiIHRhYmluZGV4PVwiMFwiIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2w7IGVsc2Ugbm90VXNlRm9ybUNvbnRyb2xcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3M9XCJzLXRvZ2dsZS1zd2l0Y2hfX2NvbnRlbnRfX2lucHV0XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIi8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNub3RVc2VGb3JtQ29udHJvbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3M9XCJzLXRvZ2dsZS1zd2l0Y2hfX2NvbnRlbnRfX2lucHV0XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy5kaXNhYmxlZCB8fCBjb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbY2hlY2tlZF09XCJnZXRWYWx1ZSgpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInMtdG9nZ2xlLXN3aXRjaF9fY29udGVudF9fc2xpZGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgYWN0aXZlOiBjb250cm9sPy52YWx1ZSB8fCB2YWx1ZSxcbiAgICAgICAgJ25vLWFjdGl2ZSc6IGNvbnRyb2w/LnZhbHVlIHx8IHZhbHVlLFxuICAgICAgICBkaXNhYmxlZDogKGNvbnRyb2w/LmRpc2FibGVkIHx8IChjb25maWcgJiYgY29uZmlnLmRpc2FibGVkKSkgJiYgIShjb25maWcgJiYgY29uZmlnLnJlYWRPbmx5KVxuICAgICAgfVwiPlxuICAgICAgPHMtaWNvbi1tYXRcbiAgICAgICAgY2xhc3M9XCJzbGlkZXItaWNvbi1jbG9zZVwiXG4gICAgICAgICpuZ0lmPVwiKGNvbmZpZyAmJiBjb25maWcuc2hvd0ljb24gIT09IGZhbHNlKSB8fCAhY29uZmlnXCJcbiAgICAgICAgPnt7IGdldEljb24oKSB9fTwvcy1pY29uLW1hdFxuICAgICAgPlxuICAgIDwvc3Bhbj5cbiAgPC9sYWJlbD5cblxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnPy5sYWJlbFwiPlxuICAgICAgPGxhYmVsICpuZ0lmPVwiY29udHJvbFwiXG4gICAgICAgIGNsYXNzPVwicy10b2dnbGUtc3dpdGNoX19sYWJlbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnYm9sZC1zZWxlY3QtYWN0aXZlJzogKChjb25maWcuYm9sZFNlbGVjdEFjdGl2ZSA/PyB0cnVlKSAmJiBjb250cm9sLnZhbHVlKSxcbiAgICAgICAgICAgIGRpc2FibGVkOiAoY29udHJvbC5kaXNhYmxlZCB8fCBjb25maWcuZGlzYWJsZWQpICYmICFjb25maWcucmVhZE9ubHlcbiAgICAgICAgfVwiXG4gICAgICAgID57eyBjb25maWcubGFiZWwgfX08L2xhYmVsPlxuXG4gICAgICA8bGFiZWwgKm5nSWY9XCIhY29udHJvbFwiXG4gICAgICAgIGNsYXNzPVwicy10b2dnbGUtc3dpdGNoX19sYWJlbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnYm9sZC1zZWxlY3QtYWN0aXZlJzogKChjb25maWcuYm9sZFNlbGVjdEFjdGl2ZSA/PyB0cnVlKSAmJiB2YWx1ZSksXG4gICAgICAgICAgICBkaXNhYmxlZDogY29uZmlnLmRpc2FibGVkICYmICFjb25maWcucmVhZE9ubHlcbiAgICAgICAgfVwiXG4gICAgICAgID57eyBjb25maWcubGFiZWwgfX08L2xhYmVsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXN3aXRjaC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpZGVzeXMtZ2VuZXJpYy11aS9zcmMvbGliL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC1mb3JtL3RvZ2dsZS1zd2l0Y2gtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaWRlc3lzLWdlbmVyaWMtdWkvc3JjL2xpYi90b2dnbGUtc3dpdGNoL3RvZ2dsZS1zd2l0Y2gtZm9ybS90b2dnbGUtc3dpdGNoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkRBQTJELENBQUM7Ozs7O0FBRTVHLE1BQU0sT0FBTyxPQUFPO0NBV25CO0FBZUQsTUFBTSxPQUFPLHlCQUNYLFNBQVEsK0JBQWtDO0lBZDVDOztRQW1CVyxXQUFNLEdBQVksRUFBRSxDQUFDO1FBQ3BCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVwRCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRWpCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUMxQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7S0FrS3BDO0lBaEtDLGVBQWU7UUFDYixJQUNFLElBQUks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QUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQU15QixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRyb2xCb29sZWFuQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9pbnB1dC9kaXJlY3RpdmVzL2NvbnRyb2wtYm9vbGVhbi1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY2xhc3MgU1N3aXRjaCB7XG4gIGJvbGRTZWxlY3RBY3RpdmU/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBpY29uT2ZmPzogc3RyaW5nO1xuICBzaXplPzogJ3NtJyB8ICdtZCc7XG4gIHNob3dJY29uPzogYm9vbGVhbjtcbiAgdmVydGljYWw/OiBib29sZWFuO1xuICB1c2VGb3JtQ29udHJvbD86IGJvb2xlYW47XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncy10b2dnbGUtc3dpdGNoJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1zd2l0Y2gtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvZ2dsZS1zd2l0Y2gtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRvZ2dsZVN3aXRjaEZvcm1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlU3dpdGNoRm9ybUNvbXBvbmVudDxUPlxuICBleHRlbmRzIENvbnRyb2xCb29sZWFuQWNjZXNzb3JEaXJlY3RpdmU8VD5cbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBWaWV3Q2hpbGQoJ2lucHV0SGlkZGVuJykgaW5wdXRIaWRkZW4hOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogU1N3aXRjaCA9IHt9O1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3ZhbHVlSW50ZXJuYWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaXNGaXJzdFdyaXRlVmFsdWUgPSB0cnVlO1xuICBwcml2YXRlIF9jb250cm9sU3Vic2NyaWJlZCA9IGZhbHNlO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZy51c2VGb3JtQ29udHJvbCAmJlxuICAgICAgdGhpcy5jb250cm9sICYmXG4gICAgICAhdGhpcy5fY29udHJvbFN1YnNjcmliZWRcbiAgICApIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9Db250cm9sKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0NvbnRyb2woKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2NvbnRyb2xTdWJzY3JpYmVkIHx8ICF0aGlzLmNvbnRyb2wpIHJldHVybjtcbiAgICB0aGlzLl9jb250cm9sU3Vic2NyaWJlZCA9IHRydWU7XG5cbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlSW50ZXJuYWwgIT09IHZhbCkge1xuICAgICAgICB0aGlzLl92YWx1ZUludGVybmFsID0gdmFsO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHZhbHVlUHJveHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlSW50ZXJuYWw7XG4gIH1cblxuICBzZXQgdmFsdWVQcm94eSh2YWw6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdmFsdWVJbnRlcm5hbCA9IHZhbDtcbiAgICBpZiAoIXRoaXMudXNlRm9ybUNvbnRyb2wgJiYgdGhpcy5pbnB1dEhpZGRlbikge1xuICAgICAgdGhpcy5pbnB1dEhpZGRlbi5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB2YWw7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm47XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlIGFzIGJvb2xlYW47XG4gICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIHRoaXMudmFsdWVQcm94eSA9IG5ld1ZhbHVlO1xuXG4gICAgaWYgKHRoaXMudXNlRm9ybUNvbnRyb2wpIHtcbiAgICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChuZXdWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9Db250cm9sKCk7XG5cbiAgICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIXRoaXMuX2lzRmlyc3RXcml0ZVZhbHVlKSB7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUsIHRydWUsIHRoaXMuX2lzRmlyc3RXcml0ZVZhbHVlKTtcblxuICAgIHRoaXMuX2lzRmlyc3RXcml0ZVZhbHVlID0gZmFsc2U7XG4gIH1cblxuICBvbklucHV0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dEhpZGRlbj8ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnZhbHVlID0gaW5wdXQuY2hlY2tlZDtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgaWYgKHRoaXMuY29uZmlnPy51c2VGb3JtQ29udHJvbCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy52YWx1ZSkgdGhpcy5jaGVja2VkID0gdGhpcy52YWx1ZSA9PT0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5jaGVja2VkO1xuICB9XG5cbiAgZ2V0VmFsdWVHZW5lcmFsKCkge1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbC52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuICEhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIGdldEljb24oKSB7XG4gICAgY29uc3QgaXNDaGVja2VkID0gdGhpcy5jb250cm9sPy52YWx1ZSA/PyB0aGlzLnZhbHVlID09PSB0cnVlO1xuICAgIHJldHVybiBpc0NoZWNrZWRcbiAgICAgID8gKHRoaXMuY29uZmlnPy5pY29uID8/ICdjaGVjaycpXG4gICAgICA6ICh0aGlzLmNvbmZpZz8uaWNvbk9mZiA/PyAnY2xvc2UnKTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5ibHVyLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgb25Gb2N1cyhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1cy5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnZhbHVlID0gIXRoaXMudmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgaWYgKHRoaXMuY29uZmlnPy51c2VGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQ2xpY2tMYWJlbCgpIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRIaWRkZW4/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGlucHV0ICYmICF0aGlzLmNvbmZpZy5kaXNhYmxlZCAmJiAhdGhpcy5jb25maWcucmVhZE9ubHkpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbCA9ICFpbnB1dC5jaGVja2VkO1xuICAgICAgaW5wdXQuY2hlY2tlZCA9IG5ld1ZhbDtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWw7XG5cbiAgICAgIGlmICh0aGlzLmNvbmZpZz8udXNlRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZShuZXdWYWwpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShuZXdWYWwpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWYWx1ZShcbiAgICBuZXdWYWw6IGJvb2xlYW4sXG4gICAgZnJvbVdyaXRlVmFsdWUgPSBmYWxzZSxcbiAgICBza2lwRW1pdCA9IGZhbHNlXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZUludGVybmFsID09PSBuZXdWYWwpIHJldHVybjtcblxuICAgIHRoaXMuX3ZhbHVlSW50ZXJuYWwgPSBuZXdWYWw7XG5cbiAgICBpZiAoIXRoaXMudXNlRm9ybUNvbnRyb2wgJiYgdGhpcy5pbnB1dEhpZGRlbikge1xuICAgICAgdGhpcy5pbnB1dEhpZGRlbi5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSBuZXdWYWw7XG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZShuZXdWYWwpO1xuXG4gICAgaWYgKCFza2lwRW1pdCkge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnPy51c2VGb3JtQ29udHJvbCAmJiAhZnJvbVdyaXRlVmFsdWUpIHtcbiAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUobmV3VmFsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwicy10b2dnbGUtc3dpdGNoXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdzLXRvZ2dsZS1zd2l0Y2gtLXNpemUtbWQnOiBjb25maWcgJiYgY29uZmlnLnNpemUgPT09ICdtZCcsXG4gICAgJ3MtdG9nZ2xlLXN3aXRjaC0tdmVydGljYWwnOiBjb25maWcgJiYgY29uZmlnLnZlcnRpY2FsLFxuICB9XCI+XG4gIDxsYWJlbFxuICAgIGNsYXNzPVwicy10b2dnbGUtc3dpdGNoX19jb250ZW50XCJcbiAgICB0YWJpbmRleD1cIjBcIlxuICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2w7IGVsc2Ugbm90VXNlRm9ybUNvbnRyb2xcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRIaWRkZW5cbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIGNsYXNzPVwicy10b2dnbGUtc3dpdGNoX19jb250ZW50X19pbnB1dFwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI25vdFVzZUZvcm1Db250cm9sPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dEhpZGRlblxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgY2xhc3M9XCJzLXRvZ2dsZS1zd2l0Y2hfX2NvbnRlbnRfX2lucHV0XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy5kaXNhYmxlZCB8fCBjb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbY2hlY2tlZF09XCJnZXRWYWx1ZSgpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJzLXRvZ2dsZS1zd2l0Y2hfX2NvbnRlbnRfX3NsaWRlclwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGFjdGl2ZTogZ2V0VmFsdWVHZW5lcmFsKCksXG4gICAgICAgICduby1hY3RpdmUnOiAhZ2V0VmFsdWVHZW5lcmFsKCksXG4gICAgICAgIGRpc2FibGVkOlxuICAgICAgICAgIChjb250cm9sPy5kaXNhYmxlZCB8fCAoY29uZmlnICYmIGNvbmZpZy5kaXNhYmxlZCkpICYmXG4gICAgICAgICAgIShjb25maWcgJiYgY29uZmlnLnJlYWRPbmx5KSxcbiAgICAgIH1cIj5cbiAgICAgIDxzLWljb24tbWF0XG4gICAgICAgIGNsYXNzPVwic2xpZGVyLWljb24tZHluYW1pY1wiXG4gICAgICAgICpuZ0lmPVwiKGNvbmZpZyAmJiBjb25maWcuc2hvd0ljb24gIT09IGZhbHNlKSB8fCAhY29uZmlnXCJcbiAgICAgICAgPnt7IGdldEljb24oKSB9fTwvcy1pY29uLW1hdFxuICAgICAgPlxuICAgIDwvc3Bhbj5cbiAgPC9sYWJlbD5cblxuICA8ZGl2ICpuZ0lmPVwiY29uZmlnPy5sYWJlbFwiIChjbGljayk9XCJvbkNsaWNrTGFiZWwoKVwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiY29udHJvbFwiXG4gICAgICBjbGFzcz1cInMtdG9nZ2xlLXN3aXRjaF9fbGFiZWxcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYm9sZC1zZWxlY3QtYWN0aXZlJzpcbiAgICAgICAgICAoY29uZmlnLmJvbGRTZWxlY3RBY3RpdmUgPz8gdHJ1ZSkgJiYgY29udHJvbC52YWx1ZSxcbiAgICAgICAgZGlzYWJsZWQ6IChjb250cm9sLmRpc2FibGVkIHx8IGNvbmZpZy5kaXNhYmxlZCkgJiYgIWNvbmZpZy5yZWFkT25seSxcbiAgICAgIH1cIj5cbiAgICAgIHt7IGNvbmZpZy5sYWJlbCB9fVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhY29udHJvbFwiXG4gICAgICBjbGFzcz1cInMtdG9nZ2xlLXN3aXRjaF9fbGFiZWxcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYm9sZC1zZWxlY3QtYWN0aXZlJzogKGNvbmZpZy5ib2xkU2VsZWN0QWN0aXZlID8/IHRydWUpICYmIHZhbHVlLFxuICAgICAgICBkaXNhYmxlZDogY29uZmlnLmRpc2FibGVkICYmICFjb25maWcucmVhZE9ubHksXG4gICAgICB9XCI+XG4gICAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -18,7 +18,6 @@ export class SToolbarTopComponent {
18
18
  this.pillButtonEvent = new EventEmitter();
19
19
  this.selectEvent = new EventEmitter();
20
20
  this.searchEvent = new EventEmitter();
21
- this.searchValue = '';
22
21
  this.multiAction = false;
23
22
  this.filterToggle = false;
24
23
  }
@@ -101,12 +100,18 @@ export class SToolbarTopComponent {
101
100
  };
102
101
  }
103
102
  }
103
+ get searchValue() {
104
+ return this.config?.searchValue ?? '';
105
+ }
106
+ set searchValue(val) {
107
+ this.config.searchValue = val;
108
+ }
104
109
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SToolbarTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SToolbarTopComponent, selector: "s-toolbar-top", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", deleteEvent: "deleteEvent", filterEvent: "filterEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-toolbar-top\">\n <section class=\"s-toolbar-top__content\">\n <div class=\"s-toolbar-top__section\">\n <h3 *ngIf=\"config.title\" class=\"s-toolbar-top__title\">\n {{ config.title }}\n </h3>\n <div\n *ngIf=\"config.title && (config.actionButton || config.multiActionButton)\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.actionButton\"\n (click)=\"action()\"\n (keydown.enter)=\"action()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.actionButton }}\n </s-button>\n <div *ngIf=\"this.config.multiActionButton\">\n <s-button\n class=\"s-toolbar-top__multiAction s-toolbar-top__button\"\n (click)=\"multiActionToggle()\"\n (keydown.enter)=\"multiActionToggle()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.multiActionButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__multiAction--sub-menu\" *ngIf=\"multiAction\">\n <s-sub-menu\n *ngIf=\"multiActionMenu\"\n class=\"w-100\"\n [menu]=\"multiActionMenu\"\n (closeMenuEvent)=\"multiActionToggle()\"></s-sub-menu>\n </div>\n </div>\n <div\n *ngIf=\"config.deleteButton\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.deleteButton\"\n theme=\"red\"\n [disabled]=\"config.deleteDisabled ?? false\"\n (click)=\"delete()\"\n (keydown.enter)=\"delete()\">\n <s-icon-mat>delete</s-icon-mat>\n {{ config.deleteButton }}\n </s-button>\n </div>\n <div class=\"s-toolbar-top__section\">\n <div class=\"s-toolbar-top__section--search\">\n <s-input\n *ngIf=\"inputSearchConfig\"\n class=\"w-100\"\n [config]=\"inputSearchConfig\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"search($event)\">\n </s-input>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.select\">\n <s-select\n [config]=\"config.select\"\n [(ngModel)]=\"select\"\n (ngModelChange)=\"selectChange($event)\"></s-select>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.multiSelect\">\n <s-select-multiple\n class=\"s-toolbar-top__section--multi-select\"\n [config]=\"config.multiSelect\"\n (selectedEvent)=\"multiSelect($event)\">\n </s-select-multiple>\n </div>\n <div *ngIf=\"config.filterButton && config.filters\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"filterShow()\">\n <s-icon-mat>tune</s-icon-mat>\n {{ config.filterButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__section--toggle\" *ngIf=\"filterToggle\">\n <s-sub-menu\n [menu]=\"config.filters\"\n (changeMenuEvent)=\"selectFilter($event)\"\n (closeMenuEvent)=\"filterShow()\"></s-sub-menu>\n </div>\n </div>\n <div *ngIf=\"config.pillButton\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"pillSelect()\"\n (keydowyn.enter)=\"pillSelect()\"\n [pill]=\"true\">\n <s-icon-mat>{{ config.pillButton }}</s-icon-mat>\n </s-button>\n </div>\n </div>\n </section>\n</section>\n", styles: [".s-toolbar-top{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.5rem .5rem 0 0;border-bottom:.5px solid var(--secondary-300)}.s-toolbar-top__content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem}.s-toolbar-top__button{white-space:nowrap}.s-toolbar-top__section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.s-toolbar-top__section--line{width:1px;height:2rem;background-color:var(--neutrals-700)}.s-toolbar-top__section--search{max-width:17.5rem;min-width:13.5rem}.s-toolbar-top__section--select{width:12rem}.s-toolbar-top__section--select s-select-multiple .s-select__main__selected-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-toolbar-top__section--multi-select{width:12rem}.s-toolbar-top__section--toggle{position:absolute;z-index:2}.s-toolbar-top__section-filters{justify-content:start!important}.s-toolbar-top__title{background-color:var(--primary-100);border-radius:.25rem;font-size:.875rem;font-weight:700;padding:.1rem .75rem;white-space:nowrap}.s-toolbar-top__multiAction{position:relative}.s-toolbar-top__multiAction--sub-menu{display:flex;z-index:1;position:absolute;width:21rem}.s-toolbar-top s-input .s-input{margin-bottom:none!important}.s-toolbar-top .s-select__options.md{top:3rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "component", type: i3.SInputComponent, selector: "s-input", inputs: ["config"], outputs: ["clickHelpIconEvent", "blur", "focus"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i6.SSubMenuComponent, selector: "s-sub-menu", inputs: ["menu"], outputs: ["changeMenuEvent", "closeMenuEvent"] }, { kind: "component", type: i7.SSelectMultipleComponent, selector: "s-select-multiple", inputs: ["config"], outputs: ["selectEvent", "selectedEvent", "blurEvent", "focusEvent"] }, { kind: "component", type: i8.SSelectComponent, selector: "s-select", inputs: ["config"], outputs: ["blur", "focus"] }], encapsulation: i0.ViewEncapsulation.None }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SToolbarTopComponent, selector: "s-toolbar-top", inputs: { config: "config" }, outputs: { actionEvent: "actionEvent", deleteEvent: "deleteEvent", filterEvent: "filterEvent", multiSelectEvent: "multiSelectEvent", pillButtonEvent: "pillButtonEvent", selectEvent: "selectEvent", searchEvent: "searchEvent" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"s-toolbar-top\">\n <section class=\"s-toolbar-top__content\">\n <div class=\"s-toolbar-top__section\">\n <h3 *ngIf=\"config.title\" class=\"s-toolbar-top__title\">\n {{ config.title }}\n </h3>\n <div\n *ngIf=\"config.title && (config.actionButton || config.multiActionButton)\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.actionButton\"\n (click)=\"action()\"\n (keydown.enter)=\"action()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.actionButton }}\n </s-button>\n <div\n class=\"s-toolbar-top--relativeContainer\"\n *ngIf=\"this.config.multiActionButton\">\n <s-button\n class=\"s-toolbar-top__multiAction s-toolbar-top__button\"\n (click)=\"multiActionToggle()\"\n (keydown.enter)=\"multiActionToggle()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.multiActionButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__multiAction--sub-menu\" *ngIf=\"multiAction\">\n <s-sub-menu\n *ngIf=\"multiActionMenu\"\n class=\"w-100\"\n [menu]=\"multiActionMenu\"\n (closeMenuEvent)=\"multiActionToggle()\"></s-sub-menu>\n </div>\n </div>\n <div\n *ngIf=\"config.deleteButton\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.deleteButton\"\n theme=\"red\"\n [disabled]=\"config.deleteDisabled ?? false\"\n (click)=\"delete()\"\n (keydown.enter)=\"delete()\">\n <s-icon-mat>delete</s-icon-mat>\n {{ config.deleteButton }}\n </s-button>\n </div>\n <div class=\"s-toolbar-top__section\">\n <div class=\"s-toolbar-top__section--search\">\n <s-input\n *ngIf=\"inputSearchConfig\"\n class=\"w-100\"\n [config]=\"inputSearchConfig\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"search($event)\">\n </s-input>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.select\">\n <s-select\n [config]=\"config.select\"\n [(ngModel)]=\"select\"\n (ngModelChange)=\"selectChange($event)\"></s-select>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.multiSelect\">\n <s-select-multiple\n class=\"s-toolbar-top__section--multi-select\"\n [config]=\"config.multiSelect\"\n (selectedEvent)=\"multiSelect($event)\">\n </s-select-multiple>\n </div>\n <div class=\"s-toolbar-top--relativeContainer\" *ngIf=\"config.filterButton && config.filters\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"filterShow()\">\n <s-icon-mat>tune</s-icon-mat>\n {{ config.filterButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__section--toggle\" *ngIf=\"filterToggle\">\n <s-sub-menu\n [menu]=\"config.filters\"\n (changeMenuEvent)=\"selectFilter($event)\"\n (closeMenuEvent)=\"filterShow()\"></s-sub-menu>\n </div>\n </div>\n <div *ngIf=\"config.pillButton\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"pillSelect()\"\n (keydowyn.enter)=\"pillSelect()\"\n [pill]=\"true\">\n <s-icon-mat>{{ config.pillButton }}</s-icon-mat>\n </s-button>\n </div>\n </div>\n </section>\n</section>\n", styles: [".s-toolbar-top{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.5rem .5rem 0 0;border-bottom:.031rem solid var(--secondary-300)}.s-toolbar-top--relativeContainer{position:relative}.s-toolbar-top__content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem}.s-toolbar-top__button{white-space:nowrap}.s-toolbar-top__section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.s-toolbar-top__section--line{width:.063rem;height:2rem;background-color:var(--neutrals-700)}.s-toolbar-top__section--search{max-width:17.5rem;min-width:13.5rem}.s-toolbar-top__section--select{width:12rem}.s-toolbar-top__section--select s-select-multiple .s-select__main__selected-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-toolbar-top__section--multi-select{width:12rem}.s-toolbar-top__section--toggle{position:absolute;z-index:2}.s-toolbar-top__section-filters{justify-content:start!important}.s-toolbar-top__title{background-color:var(--primary-100);border-radius:.25rem;font-size:.875rem;font-weight:700;padding:.1rem .75rem;white-space:nowrap}.s-toolbar-top__multiAction{position:relative}.s-toolbar-top__multiAction--sub-menu{display:flex;z-index:1;position:absolute;width:21rem}.s-toolbar-top s-input .s-input{margin-bottom:none!important}.s-toolbar-top .s-select__options.md{top:3rem!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SButtonComponent, selector: "s-button", inputs: ["disabled", "pill", "size", "invert", "type", "loading", "position", "theme", "active"] }, { kind: "component", type: i3.SInputComponent, selector: "s-input", inputs: ["config"], outputs: ["clickHelpIconEvent", "blur", "focus"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.SIconMaterialComponent, selector: "s-icon-mat", inputs: ["name", "size", "fill", "weight", "grade", "opticalSize", "style", "type"] }, { kind: "component", type: i6.SSubMenuComponent, selector: "s-sub-menu", inputs: ["menu"], outputs: ["changeMenuEvent", "closeMenuEvent"] }, { kind: "component", type: i7.SSelectMultipleComponent, selector: "s-select-multiple", inputs: ["config"], outputs: ["selectEvent", "selectedEvent", "blurEvent", "focusEvent"] }, { kind: "component", type: i8.SSelectComponent, selector: "s-select", inputs: ["config"], outputs: ["blur", "focus"] }], encapsulation: i0.ViewEncapsulation.None }); }
106
111
  }
107
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SToolbarTopComponent, decorators: [{
108
113
  type: Component,
109
- args: [{ selector: 's-toolbar-top', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-toolbar-top\">\n <section class=\"s-toolbar-top__content\">\n <div class=\"s-toolbar-top__section\">\n <h3 *ngIf=\"config.title\" class=\"s-toolbar-top__title\">\n {{ config.title }}\n </h3>\n <div\n *ngIf=\"config.title && (config.actionButton || config.multiActionButton)\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.actionButton\"\n (click)=\"action()\"\n (keydown.enter)=\"action()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.actionButton }}\n </s-button>\n <div *ngIf=\"this.config.multiActionButton\">\n <s-button\n class=\"s-toolbar-top__multiAction s-toolbar-top__button\"\n (click)=\"multiActionToggle()\"\n (keydown.enter)=\"multiActionToggle()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.multiActionButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__multiAction--sub-menu\" *ngIf=\"multiAction\">\n <s-sub-menu\n *ngIf=\"multiActionMenu\"\n class=\"w-100\"\n [menu]=\"multiActionMenu\"\n (closeMenuEvent)=\"multiActionToggle()\"></s-sub-menu>\n </div>\n </div>\n <div\n *ngIf=\"config.deleteButton\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.deleteButton\"\n theme=\"red\"\n [disabled]=\"config.deleteDisabled ?? false\"\n (click)=\"delete()\"\n (keydown.enter)=\"delete()\">\n <s-icon-mat>delete</s-icon-mat>\n {{ config.deleteButton }}\n </s-button>\n </div>\n <div class=\"s-toolbar-top__section\">\n <div class=\"s-toolbar-top__section--search\">\n <s-input\n *ngIf=\"inputSearchConfig\"\n class=\"w-100\"\n [config]=\"inputSearchConfig\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"search($event)\">\n </s-input>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.select\">\n <s-select\n [config]=\"config.select\"\n [(ngModel)]=\"select\"\n (ngModelChange)=\"selectChange($event)\"></s-select>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.multiSelect\">\n <s-select-multiple\n class=\"s-toolbar-top__section--multi-select\"\n [config]=\"config.multiSelect\"\n (selectedEvent)=\"multiSelect($event)\">\n </s-select-multiple>\n </div>\n <div *ngIf=\"config.filterButton && config.filters\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"filterShow()\">\n <s-icon-mat>tune</s-icon-mat>\n {{ config.filterButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__section--toggle\" *ngIf=\"filterToggle\">\n <s-sub-menu\n [menu]=\"config.filters\"\n (changeMenuEvent)=\"selectFilter($event)\"\n (closeMenuEvent)=\"filterShow()\"></s-sub-menu>\n </div>\n </div>\n <div *ngIf=\"config.pillButton\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"pillSelect()\"\n (keydowyn.enter)=\"pillSelect()\"\n [pill]=\"true\">\n <s-icon-mat>{{ config.pillButton }}</s-icon-mat>\n </s-button>\n </div>\n </div>\n </section>\n</section>\n", styles: [".s-toolbar-top{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.5rem .5rem 0 0;border-bottom:.5px solid var(--secondary-300)}.s-toolbar-top__content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem}.s-toolbar-top__button{white-space:nowrap}.s-toolbar-top__section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.s-toolbar-top__section--line{width:1px;height:2rem;background-color:var(--neutrals-700)}.s-toolbar-top__section--search{max-width:17.5rem;min-width:13.5rem}.s-toolbar-top__section--select{width:12rem}.s-toolbar-top__section--select s-select-multiple .s-select__main__selected-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-toolbar-top__section--multi-select{width:12rem}.s-toolbar-top__section--toggle{position:absolute;z-index:2}.s-toolbar-top__section-filters{justify-content:start!important}.s-toolbar-top__title{background-color:var(--primary-100);border-radius:.25rem;font-size:.875rem;font-weight:700;padding:.1rem .75rem;white-space:nowrap}.s-toolbar-top__multiAction{position:relative}.s-toolbar-top__multiAction--sub-menu{display:flex;z-index:1;position:absolute;width:21rem}.s-toolbar-top s-input .s-input{margin-bottom:none!important}.s-toolbar-top .s-select__options.md{top:3rem!important}\n"] }]
114
+ args: [{ selector: 's-toolbar-top', encapsulation: ViewEncapsulation.None, template: "<section class=\"s-toolbar-top\">\n <section class=\"s-toolbar-top__content\">\n <div class=\"s-toolbar-top__section\">\n <h3 *ngIf=\"config.title\" class=\"s-toolbar-top__title\">\n {{ config.title }}\n </h3>\n <div\n *ngIf=\"config.title && (config.actionButton || config.multiActionButton)\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.actionButton\"\n (click)=\"action()\"\n (keydown.enter)=\"action()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.actionButton }}\n </s-button>\n <div\n class=\"s-toolbar-top--relativeContainer\"\n *ngIf=\"this.config.multiActionButton\">\n <s-button\n class=\"s-toolbar-top__multiAction s-toolbar-top__button\"\n (click)=\"multiActionToggle()\"\n (keydown.enter)=\"multiActionToggle()\">\n <s-icon-mat>add_circle</s-icon-mat>\n {{ config.multiActionButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__multiAction--sub-menu\" *ngIf=\"multiAction\">\n <s-sub-menu\n *ngIf=\"multiActionMenu\"\n class=\"w-100\"\n [menu]=\"multiActionMenu\"\n (closeMenuEvent)=\"multiActionToggle()\"></s-sub-menu>\n </div>\n </div>\n <div\n *ngIf=\"config.deleteButton\"\n class=\"s-toolbar-top__section--line\"></div>\n <s-button\n class=\"s-toolbar-top__button\"\n *ngIf=\"config.deleteButton\"\n theme=\"red\"\n [disabled]=\"config.deleteDisabled ?? false\"\n (click)=\"delete()\"\n (keydown.enter)=\"delete()\">\n <s-icon-mat>delete</s-icon-mat>\n {{ config.deleteButton }}\n </s-button>\n </div>\n <div class=\"s-toolbar-top__section\">\n <div class=\"s-toolbar-top__section--search\">\n <s-input\n *ngIf=\"inputSearchConfig\"\n class=\"w-100\"\n [config]=\"inputSearchConfig\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"search($event)\">\n </s-input>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.select\">\n <s-select\n [config]=\"config.select\"\n [(ngModel)]=\"select\"\n (ngModelChange)=\"selectChange($event)\"></s-select>\n </div>\n <div class=\"s-toolbar-top__section--select\" *ngIf=\"config.multiSelect\">\n <s-select-multiple\n class=\"s-toolbar-top__section--multi-select\"\n [config]=\"config.multiSelect\"\n (selectedEvent)=\"multiSelect($event)\">\n </s-select-multiple>\n </div>\n <div class=\"s-toolbar-top--relativeContainer\" *ngIf=\"config.filterButton && config.filters\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"filterShow()\">\n <s-icon-mat>tune</s-icon-mat>\n {{ config.filterButton }}\n <s-icon-mat>keyboard_arrow_down</s-icon-mat>\n </s-button>\n <div class=\"s-toolbar-top__section--toggle\" *ngIf=\"filterToggle\">\n <s-sub-menu\n [menu]=\"config.filters\"\n (changeMenuEvent)=\"selectFilter($event)\"\n (closeMenuEvent)=\"filterShow()\"></s-sub-menu>\n </div>\n </div>\n <div *ngIf=\"config.pillButton\">\n <s-button\n class=\"s-toolbar-top__button\"\n [disabled]=\"config.filtersDisabled ?? false\"\n (click)=\"pillSelect()\"\n (keydowyn.enter)=\"pillSelect()\"\n [pill]=\"true\">\n <s-icon-mat>{{ config.pillButton }}</s-icon-mat>\n </s-button>\n </div>\n </div>\n </section>\n</section>\n", styles: [".s-toolbar-top{color:var(--secondary-700);min-width:0;word-wrap:break-word;background-color:var(--neutrals-1200);border-radius:.5rem .5rem 0 0;border-bottom:.031rem solid var(--secondary-300)}.s-toolbar-top--relativeContainer{position:relative}.s-toolbar-top__content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem}.s-toolbar-top__button{white-space:nowrap}.s-toolbar-top__section{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.s-toolbar-top__section--line{width:.063rem;height:2rem;background-color:var(--neutrals-700)}.s-toolbar-top__section--search{max-width:17.5rem;min-width:13.5rem}.s-toolbar-top__section--select{width:12rem}.s-toolbar-top__section--select s-select-multiple .s-select__main__selected-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-toolbar-top__section--multi-select{width:12rem}.s-toolbar-top__section--toggle{position:absolute;z-index:2}.s-toolbar-top__section-filters{justify-content:start!important}.s-toolbar-top__title{background-color:var(--primary-100);border-radius:.25rem;font-size:.875rem;font-weight:700;padding:.1rem .75rem;white-space:nowrap}.s-toolbar-top__multiAction{position:relative}.s-toolbar-top__multiAction--sub-menu{display:flex;z-index:1;position:absolute;width:21rem}.s-toolbar-top s-input .s-input{margin-bottom:none!important}.s-toolbar-top .s-select__options.md{top:3rem!important}\n"] }]
110
115
  }], propDecorators: { config: [{
111
116
  type: Input
112
117
  }], actionEvent: [{
@@ -124,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
124
129
  }], searchEvent: [{
125
130
  type: Output
126
131
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdG9vbGJhci10b3AvdG9vbGJhci10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdG9vbGJhci10b3AvdG9vbGJhci10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7O0FBMEI3RSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBUVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVuRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztLQTRGL0I7SUExRkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJ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QztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHO2dCQUNyQixLQUFLLEVBQUU7b0JBQ0w7d0JBQ0UsRUFBRSxFQUFFLEdBQUc7d0JBQ1AsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLElBQUksRUFBRSxVQUFVO3FCQUNqQjtvQkFDRDt3QkFDRSxFQUFFLEVBQUUsR0FBRzt3QkFDUCxLQUFLLEVBQUUsT0FBTzt3QkFDZCxJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0ExR1Usb0JBQW9CO21HQUFwQixvQkFBb0IsMlVDckNqQywyc0hBb0dBOzs0RkQvRGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU1N1Yk1lbnUsIFNTdWJNZW51SXRlbSB9IGZyb20gJy4uL3N1Yi1tZW51JztcbmltcG9ydCB7IElOUFVUX1RZUEUsIFNJbnB1dCB9IGZyb20gJy4uL2lucHV0L2NvbXBvbmVudHMvaW5wdXQvcy1pbnB1dC1tb2RlbCc7XG5pbXBvcnQgeyBTTXVsdGlTZWxlY3QgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0LW11bHRpcGxlL3Mtc2VsZWN0LW11bHRpcGxlLW1vZGVsJztcbmltcG9ydCB7IFNTZWxlY3QgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0L3Mtc2VsZWN0LW1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTVG9vbGJhclRvcCB7XG4gIGFjdGlvbkJ1dHRvbj86IHN0cmluZzsgLy9UZXh0byBkZWwgYnRuIGRlIGFjY2nDs24sIHNpbm8gbm8gc2UgbXVlc3RyYVxuICBtdWx0aUFjdGlvbkJ1dHRvbj86IHN0cmluZzsgLy9UZXh0byBkZWwgYnRuIGRlIG11bHRpQWNjacOzbiwgc2lubyBubyBzZSBtdWVzdHJhXG4gIGRlbGV0ZUJ1dHRvbj86IHN0cmluZzsgLy9UZXh0byBkZWwgYnRuIGRlIGVsaW1pbmFyLCBzaW5vIG5vIHNlIG11ZXN0cmFcbiAgZGVsZXRlRGlzYWJsZWQ/OiBib29sZWFuO1xuICBmaWx0ZXJCdXR0b24/OiBzdHJpbmc7IC8vVGV4dG8gZGVsIGJ0biBkZSBmaWx0cmFyLCBzaW5vIG5vIHNlIG11ZXN0cmFcbiAgZmlsdGVyc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgZmlsdGVycz86IFNTdWJNZW51OyAvL0ZpbHRyb3MgcGFyYSBtb3N0cmFyIGVuIGVsIGRlc3BsZWdhYmxlXG4gIHBsYWNlaG9sZGVyU2VhcmNoPzogc3RyaW5nOyAvL1BvciBkZWZlY3RvICdCdXNjYXJcbiAgc2VhcmNoPzogYm9vbGVhbjsgLy9Qb3IgZGVmZWN0byB0cnVlXG4gIHNlbGVjdD86IFNTZWxlY3Q7XG4gIG11bHRpU2VsZWN0PzogU011bHRpU2VsZWN0O1xuICBwaWxsQnV0dG9uPzogc3RyaW5nOyAvL0ljb25vIGRlbCBidG4gZGUgcGlsbCwgc2lubyBubyBzZSBtdWVzdHJhXG4gIHRpdGxlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRvb2xiYXItdG9wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItdG9wLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbGJhci10b3AuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU1Rvb2xiYXJUb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbmZpZyE6IFNUb29sYmFyVG9wO1xuICBAT3V0cHV0KCkgYWN0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgcGlsbEJ1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgc2VhcmNoVmFsdWU6IHN0cmluZyA9ICcnO1xuICBpbnB1dFNlYXJjaENvbmZpZyE6IFNJbnB1dDtcbiAgbXVsdGlBY3Rpb25NZW51ITogU1N1Yk1lbnU7XG4gIG11bHRpQWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdCE6IHN0cmluZztcbiAgZmlsdGVyVG9nZ2xlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgaWYgKHRoaXMuY29uZmlnLnNlYXJjaCAmJiB0aGlzLmNvbmZpZy5maWx0ZXJzRGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5pbnB1dFNlYXJjaENvbmZpZy5kaXNhYmxlZCA9IHRoaXMuY29uZmlnLmZpbHRlcnNEaXNhYmxlZCA/PyBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zZWxlY3QpIHtcbiAgICAgICAgdGhpcy5jb25maWcuc2VsZWN0LmRpc2FibGVkID0gdGhpcy5jb25maWcuZmlsdGVyc0Rpc2FibGVkID8/IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29uZmlnLm11bHRpU2VsZWN0KSB7XG4gICAgICAgIHRoaXMuY29uZmlnLm11bHRpU2VsZWN0LmRpc2FibGVkID0gdGhpcy5jb25maWcuZmlsdGVyc0Rpc2FibGVkID8/IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRDb25maWcoKTtcbiAgfVxuXG4gIGFjdGlvbigpIHtcbiAgICB0aGlzLmFjdGlvbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIG11bHRpQWN0aW9uVG9nZ2xlKCkge1xuICAgIHRoaXMubXVsdGlBY3Rpb24gPSAhdGhpcy5tdWx0aUFjdGlvbjtcbiAgfVxuXG4gIGRlbGV0ZSgpIHtcbiAgICB0aGlzLmRlbGV0ZUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHNlYXJjaCh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaEV2ZW50LmVtaXQodGV4dCk7XG4gIH1cblxuICBzZWxlY3RDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBtdWx0aVNlbGVjdCh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLm11bHRpU2VsZWN0RXZlbnQuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBzZWxlY3RGaWx0ZXIoaXRlbXM6IFNTdWJNZW51SXRlbVtdKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBpdGVtc1xuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0udmFsdWUgPT09IHRydWUpXG4gICAgICAubWFwKGl0ZW0gPT4gaXRlbS5pZCk7XG4gICAgdGhpcy5maWx0ZXJFdmVudC5lbWl0KHNlbGVjdGVkSWRzKTtcbiAgfVxuXG4gIGZpbHRlclNob3coKSB7XG4gICAgdGhpcy5maWx0ZXJUb2dnbGUgPSAhdGhpcy5maWx0ZXJUb2dnbGU7XG4gIH1cblxuICBwaWxsU2VsZWN0KCkge1xuICAgIHRoaXMucGlsbEJ1dHRvbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRDb25maWcoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnNlYXJjaCB8fCB0aGlzLmNvbmZpZy5zZWFyY2ggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pbnB1dFNlYXJjaENvbmZpZyA9IHtcbiAgICAgICAgaWQ6ICdzZWFyY2gnLFxuICAgICAgICBkaXNhYmxlZDogdGhpcy5jb25maWcuZmlsdGVyc0Rpc2FibGVkID8/IGZhbHNlLFxuICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy5jb25maWcucGxhY2Vob2xkZXJTZWFyY2ggPz8gJ0J1c2NhcicsXG4gICAgICAgIHR5cGU6IElOUFVUX1RZUEUuU0VBUkNILFxuICAgICAgICB1c2VGb3JtQ29udHJvbDogZmFsc2UsXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0KSB7XG4gICAgICB0aGlzLmNvbmZpZy5zZWxlY3QuZGlzYWJsZWQgPSB0aGlzLmNvbmZpZy5maWx0ZXJzRGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZy5tdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5jb25maWcubXVsdGlTZWxlY3QuZGlzYWJsZWQgPSB0aGlzLmNvbmZpZy5maWx0ZXJzRGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZy5tdWx0aUFjdGlvbkJ1dHRvbikge1xuICAgICAgdGhpcy5tdWx0aUFjdGlvbk1lbnUgPSB7XG4gICAgICAgIGl0ZW1zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgIHRpdGxlOiAnU3VibWVudScsXG4gICAgICAgICAgICBsaW5rOiAnL3N1Ym1lbnUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICcyJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQmFkZ2UnLFxuICAgICAgICAgICAgbGluazogJy9iYWRnZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInMtdG9vbGJhci10b3BcIj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJzLXRvb2xiYXItdG9wX19jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInMtdG9vbGJhci10b3BfX3NlY3Rpb25cIj5cbiAgICAgIDxoMyAqbmdJZj1cImNvbmZpZy50aXRsZVwiIGNsYXNzPVwicy10b29sYmFyLXRvcF9fdGl0bGVcIj5cbiAgICAgICAge3sgY29uZmlnLnRpdGxlIH19XG4gICAgICA8L2gzPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImNvbmZpZy50aXRsZSAmJiAoY29uZmlnLmFjdGlvbkJ1dHRvbiB8fCBjb25maWcubXVsdGlBY3Rpb25CdXR0b24pXCJcbiAgICAgICAgY2xhc3M9XCJzLXRvb2xiYXItdG9wX19zZWN0aW9uLS1saW5lXCI+PC9kaXY+XG4gICAgICA8cy1idXR0b25cbiAgICAgICAgY2xhc3M9XCJzLXRvb2xiYXItdG9wX19idXR0b25cIlxuICAgICAgICAqbmdJZj1cImNvbmZpZy5hY3Rpb25CdXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiYWN0aW9uKClcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJhY3Rpb24oKVwiPlxuICAgICAgICA8cy1pY29uLW1hdD5hZGRfY2lyY2xlPC9zLWljb24tbWF0PlxuICAgICAgICB7eyBjb25maWcuYWN0aW9uQnV0dG9uIH19XG4gICAgICA8L3MtYnV0dG9uPlxuICAgICAgPGRpdiAqbmdJZj1cInRoaXMuY29uZmlnLm11bHRpQWN0aW9uQnV0dG9uXCI+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fbXVsdGlBY3Rpb24gcy10b29sYmFyLXRvcF9fYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwibXVsdGlBY3Rpb25Ub2dnbGUoKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwibXVsdGlBY3Rpb25Ub2dnbGUoKVwiPlxuICAgICAgICAgIDxzLWljb24tbWF0PmFkZF9jaXJjbGU8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAge3sgY29uZmlnLm11bHRpQWN0aW9uQnV0dG9uIH19XG4gICAgICAgICAgPHMtaWNvbi1tYXQ+a2V5Ym9hcmRfYXJyb3dfZG93bjwvcy1pY29uLW1hdD5cbiAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInMtdG9vbGJhci10b3BfX211bHRpQWN0aW9uLS1zdWItbWVudVwiICpuZ0lmPVwibXVsdGlBY3Rpb25cIj5cbiAgICAgICAgICA8cy1zdWItbWVudVxuICAgICAgICAgICAgKm5nSWY9XCJtdWx0aUFjdGlvbk1lbnVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICBbbWVudV09XCJtdWx0aUFjdGlvbk1lbnVcIlxuICAgICAgICAgICAgKGNsb3NlTWVudUV2ZW50KT1cIm11bHRpQWN0aW9uVG9nZ2xlKClcIj48L3Mtc3ViLW1lbnU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmRlbGV0ZUJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tbGluZVwiPjwvZGl2PlxuICAgICAgPHMtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuZGVsZXRlQnV0dG9uXCJcbiAgICAgICAgdGhlbWU9XCJyZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29uZmlnLmRlbGV0ZURpc2FibGVkID8/IGZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cImRlbGV0ZSgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlKClcIj5cbiAgICAgICAgPHMtaWNvbi1tYXQ+ZGVsZXRlPC9zLWljb24tbWF0PlxuICAgICAgICB7eyBjb25maWcuZGVsZXRlQnV0dG9uIH19XG4gICAgICA8L3MtYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzLXRvb2xiYXItdG9wX19zZWN0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tc2VhcmNoXCI+XG4gICAgICAgIDxzLWlucHV0XG4gICAgICAgICAgKm5nSWY9XCJpbnB1dFNlYXJjaENvbmZpZ1wiXG4gICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgW2NvbmZpZ109XCJpbnB1dFNlYXJjaENvbmZpZ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgPC9zLWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tc2VsZWN0XCIgKm5nSWY9XCJjb25maWcuc2VsZWN0XCI+XG4gICAgICAgIDxzLXNlbGVjdFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnLnNlbGVjdFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdENoYW5nZSgkZXZlbnQpXCI+PC9zLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInMtdG9vbGJhci10b3BfX3NlY3Rpb24tLXNlbGVjdFwiICpuZ0lmPVwiY29uZmlnLm11bHRpU2VsZWN0XCI+XG4gICAgICAgIDxzLXNlbGVjdC1tdWx0aXBsZVxuICAgICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tbXVsdGktc2VsZWN0XCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZy5tdWx0aVNlbGVjdFwiXG4gICAgICAgICAgKHNlbGVjdGVkRXZlbnQpPVwibXVsdGlTZWxlY3QoJGV2ZW50KVwiPlxuICAgICAgICA8L3Mtc2VsZWN0LW11bHRpcGxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29uZmlnLmZpbHRlckJ1dHRvbiAmJiBjb25maWcuZmlsdGVyc1wiPlxuICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICBjbGFzcz1cInMtdG9vbGJhci10b3BfX2J1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy5maWx0ZXJzRGlzYWJsZWQgPz8gZmFsc2VcIlxuICAgICAgICAgIChjbGljayk9XCJmaWx0ZXJTaG93KClcIj5cbiAgICAgICAgICA8cy1pY29uLW1hdD50dW5lPC9zLWljb24tbWF0PlxuICAgICAgICAgIHt7IGNvbmZpZy5maWx0ZXJCdXR0b24gfX1cbiAgICAgICAgICA8cy1pY29uLW1hdD5rZXlib2FyZF9hcnJvd19kb3duPC9zLWljb24tbWF0PlxuICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tdG9nZ2xlXCIgKm5nSWY9XCJmaWx0ZXJUb2dnbGVcIj5cbiAgICAgICAgICA8cy1zdWItbWVudVxuICAgICAgICAgICAgW21lbnVdPVwiY29uZmlnLmZpbHRlcnNcIlxuICAgICAgICAgICAgKGNoYW5nZU1lbnVFdmVudCk9XCJzZWxlY3RGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xvc2VNZW51RXZlbnQpPVwiZmlsdGVyU2hvdygpXCI+PC9zLXN1Yi1tZW51PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImNvbmZpZy5waWxsQnV0dG9uXCI+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fYnV0dG9uXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY29uZmlnLmZpbHRlcnNEaXNhYmxlZCA/PyBmYWxzZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInBpbGxTZWxlY3QoKVwiXG4gICAgICAgICAgKGtleWRvd3luLmVudGVyKT1cInBpbGxTZWxlY3QoKVwiXG4gICAgICAgICAgW3BpbGxdPVwidHJ1ZVwiPlxuICAgICAgICAgIDxzLWljb24tbWF0Pnt7IGNvbmZpZy5waWxsQnV0dG9uIH19PC9zLWljb24tbWF0PlxuICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdG9vbGJhci10b3AvdG9vbGJhci10b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdG9vbGJhci10b3AvdG9vbGJhci10b3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7O0FBMkI3RSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBUVksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDM0MscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUluRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztLQW9HL0I7SUFsR0MsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxD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LFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO1FBQzFFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsZUFBZSxHQUFHO2dCQUNyQixLQUFLLEVBQUU7b0JBQ0w7d0JBQ0UsRUFBRSxFQUFFLEdBQUc7d0JBQ1AsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLElBQUksRUFBRSxVQUFVO3FCQUNqQjtvQkFDRDt3QkFDRSxFQUFFLEVBQUUsR0FBRzt3QkFDUCxLQUFLLEVBQUUsT0FBTzt3QkFDZCxJQUFJLEVBQUUsUUFBUTtxQkFDZjtpQkFDRjthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxHQUFXO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNoQyxDQUFDOytHQWpIVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiwyVUN0Q2pDLG16SEFzR0E7OzRGRGhFYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTU3ViTWVudSwgU1N1Yk1lbnVJdGVtIH0gZnJvbSAnLi4vc3ViLW1lbnUnO1xuaW1wb3J0IHsgSU5QVVRfVFlQRSwgU0lucHV0IH0gZnJvbSAnLi4vaW5wdXQvY29tcG9uZW50cy9pbnB1dC9zLWlucHV0LW1vZGVsJztcbmltcG9ydCB7IFNNdWx0aVNlbGVjdCB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QtbXVsdGlwbGUvcy1zZWxlY3QtbXVsdGlwbGUtbW9kZWwnO1xuaW1wb3J0IHsgU1NlbGVjdCB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Qvcy1zZWxlY3QtbW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNUb29sYmFyVG9wIHtcbiAgYWN0aW9uQnV0dG9uPzogc3RyaW5nOyAvL1RleHRvIGRlbCBidG4gZGUgYWNjacOzbiwgc2lubyBubyBzZSBtdWVzdHJhXG4gIG11bHRpQWN0aW9uQnV0dG9uPzogc3RyaW5nOyAvL1RleHRvIGRlbCBidG4gZGUgbXVsdGlBY2Npw7NuLCBzaW5vIG5vIHNlIG11ZXN0cmFcbiAgZGVsZXRlQnV0dG9uPzogc3RyaW5nOyAvL1RleHRvIGRlbCBidG4gZGUgZWxpbWluYXIsIHNpbm8gbm8gc2UgbXVlc3RyYVxuICBkZWxldGVEaXNhYmxlZD86IGJvb2xlYW47XG4gIGZpbHRlckJ1dHRvbj86IHN0cmluZzsgLy9UZXh0byBkZWwgYnRuIGRlIGZpbHRyYXIsIHNpbm8gbm8gc2UgbXVlc3RyYVxuICBmaWx0ZXJzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBmaWx0ZXJzPzogU1N1Yk1lbnU7IC8vRmlsdHJvcyBwYXJhIG1vc3RyYXIgZW4gZWwgZGVzcGxlZ2FibGVcbiAgcGxhY2Vob2xkZXJTZWFyY2g/OiBzdHJpbmc7IC8vUG9yIGRlZmVjdG8gJ0J1c2NhclxuICBzZWFyY2g/OiBib29sZWFuOyAvL1BvciBkZWZlY3RvIHRydWVcbiAgc2VhcmNoVmFsdWU/OiBzdHJpbmc7XG4gIHNlbGVjdD86IFNTZWxlY3Q7XG4gIG11bHRpU2VsZWN0PzogU011bHRpU2VsZWN0O1xuICBwaWxsQnV0dG9uPzogc3RyaW5nOyAvL0ljb25vIGRlbCBidG4gZGUgcGlsbCwgc2lubyBubyBzZSBtdWVzdHJhXG4gIHRpdGxlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzLXRvb2xiYXItdG9wJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItdG9wLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbGJhci10b3AuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU1Rvb2xiYXJUb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNvbmZpZyE6IFNUb29sYmFyVG9wO1xuICBAT3V0cHV0KCkgYWN0aW9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgcGlsbEJ1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgaW5wdXRTZWFyY2hDb25maWchOiBTSW5wdXQ7XG4gIG11bHRpQWN0aW9uTWVudSE6IFNTdWJNZW51O1xuICBtdWx0aUFjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3QhOiBzdHJpbmc7XG4gIGZpbHRlclRvZ2dsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zZWFyY2ggJiYgdGhpcy5jb25maWcuZmlsdGVyc0Rpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuaW5wdXRTZWFyY2hDb25maWcuZGlzYWJsZWQgPSB0aGlzLmNvbmZpZy5maWx0ZXJzRGlzYWJsZWQgPz8gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0KSB7XG4gICAgICAgIHRoaXMuY29uZmlnLnNlbGVjdC5kaXNhYmxlZCA9IHRoaXMuY29uZmlnLmZpbHRlcnNEaXNhYmxlZCA/PyBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbmZpZy5tdWx0aVNlbGVjdCkge1xuICAgICAgICB0aGlzLmNvbmZpZy5tdWx0aVNlbGVjdC5kaXNhYmxlZCA9IHRoaXMuY29uZmlnLmZpbHRlcnNEaXNhYmxlZCA/PyBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0Q29uZmlnKCk7XG4gIH1cblxuICBhY3Rpb24oKSB7XG4gICAgdGhpcy5hY3Rpb25FdmVudC5lbWl0KCk7XG4gIH1cblxuICBtdWx0aUFjdGlvblRvZ2dsZSgpIHtcbiAgICB0aGlzLm11bHRpQWN0aW9uID0gIXRoaXMubXVsdGlBY3Rpb247XG4gIH1cblxuICBkZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGVFdmVudC5lbWl0KCk7XG4gIH1cblxuICBzZWFyY2godGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hFdmVudC5lbWl0KHRleHQpO1xuICB9XG5cbiAgc2VsZWN0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgbXVsdGlTZWxlY3QodmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5tdWx0aVNlbGVjdEV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgc2VsZWN0RmlsdGVyKGl0ZW1zOiBTU3ViTWVudUl0ZW1bXSkge1xuICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gaXRlbXNcbiAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB0cnVlKVxuICAgICAgLm1hcChpdGVtID0+IGl0ZW0uaWQpO1xuICAgIHRoaXMuZmlsdGVyRXZlbnQuZW1pdChzZWxlY3RlZElkcyk7XG4gIH1cblxuICBmaWx0ZXJTaG93KCkge1xuICAgIHRoaXMuZmlsdGVyVG9nZ2xlID0gIXRoaXMuZmlsdGVyVG9nZ2xlO1xuICB9XG5cbiAgcGlsbFNlbGVjdCgpIHtcbiAgICB0aGlzLnBpbGxCdXR0b25FdmVudC5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q29uZmlnKCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5zZWFyY2ggfHwgdGhpcy5jb25maWcuc2VhcmNoID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaW5wdXRTZWFyY2hDb25maWcgPSB7XG4gICAgICAgIGlkOiAnc2VhcmNoJyxcbiAgICAgICAgZGlzYWJsZWQ6IHRoaXMuY29uZmlnLmZpbHRlcnNEaXNhYmxlZCA/PyBmYWxzZSxcbiAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyU2VhcmNoID8/ICdCdXNjYXInLFxuICAgICAgICB0eXBlOiBJTlBVVF9UWVBFLlNFQVJDSCxcbiAgICAgICAgdXNlRm9ybUNvbnRyb2w6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdCkge1xuICAgICAgdGhpcy5jb25maWcuc2VsZWN0LmRpc2FibGVkID0gdGhpcy5jb25maWcuZmlsdGVyc0Rpc2FibGVkID8/IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcubXVsdGlTZWxlY3QpIHtcbiAgICAgIHRoaXMuY29uZmlnLm11bHRpU2VsZWN0LmRpc2FibGVkID0gdGhpcy5jb25maWcuZmlsdGVyc0Rpc2FibGVkID8/IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb25maWcubXVsdGlBY3Rpb25CdXR0b24pIHtcbiAgICAgIHRoaXMubXVsdGlBY3Rpb25NZW51ID0ge1xuICAgICAgICBpdGVtczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICB0aXRsZTogJ1N1Ym1lbnUnLFxuICAgICAgICAgICAgbGluazogJy9zdWJtZW51JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnMicsXG4gICAgICAgICAgICB0aXRsZTogJ0JhZGdlJyxcbiAgICAgICAgICAgIGxpbms6ICcvYmFkZ2UnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGdldCBzZWFyY2hWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc/LnNlYXJjaFZhbHVlID8/ICcnO1xuICB9XG5cbiAgc2V0IHNlYXJjaFZhbHVlKHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maWcuc2VhcmNoVmFsdWUgPSB2YWw7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwicy10b29sYmFyLXRvcFwiPlxuICA8c2VjdGlvbiBjbGFzcz1cInMtdG9vbGJhci10b3BfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvblwiPlxuICAgICAgPGgzICpuZ0lmPVwiY29uZmlnLnRpdGxlXCIgY2xhc3M9XCJzLXRvb2xiYXItdG9wX190aXRsZVwiPlxuICAgICAgICB7eyBjb25maWcudGl0bGUgfX1cbiAgICAgIDwvaDM+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29uZmlnLnRpdGxlICYmIChjb25maWcuYWN0aW9uQnV0dG9uIHx8IGNvbmZpZy5tdWx0aUFjdGlvbkJ1dHRvbilcIlxuICAgICAgICBjbGFzcz1cInMtdG9vbGJhci10b3BfX3NlY3Rpb24tLWxpbmVcIj48L2Rpdj5cbiAgICAgIDxzLWJ1dHRvblxuICAgICAgICBjbGFzcz1cInMtdG9vbGJhci10b3BfX2J1dHRvblwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmFjdGlvbkJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJhY3Rpb24oKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImFjdGlvbigpXCI+XG4gICAgICAgIDxzLWljb24tbWF0PmFkZF9jaXJjbGU8L3MtaWNvbi1tYXQ+XG4gICAgICAgIHt7IGNvbmZpZy5hY3Rpb25CdXR0b24gfX1cbiAgICAgIDwvcy1idXR0b24+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcC0tcmVsYXRpdmVDb250YWluZXJcIlxuICAgICAgICAqbmdJZj1cInRoaXMuY29uZmlnLm11bHRpQWN0aW9uQnV0dG9uXCI+XG4gICAgICAgIDxzLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fbXVsdGlBY3Rpb24gcy10b29sYmFyLXRvcF9fYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwibXVsdGlBY3Rpb25Ub2dnbGUoKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwibXVsdGlBY3Rpb25Ub2dnbGUoKVwiPlxuICAgICAgICAgIDxzLWljb24tbWF0PmFkZF9jaXJjbGU8L3MtaWNvbi1tYXQ+XG4gICAgICAgICAge3sgY29uZmlnLm11bHRpQWN0aW9uQnV0dG9uIH19XG4gICAgICAgICAgPHMtaWNvbi1tYXQ+a2V5Ym9hcmRfYXJyb3dfZG93bjwvcy1pY29uLW1hdD5cbiAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInMtdG9vbGJhci10b3BfX211bHRpQWN0aW9uLS1zdWItbWVudVwiICpuZ0lmPVwibXVsdGlBY3Rpb25cIj5cbiAgICAgICAgICA8cy1zdWItbWVudVxuICAgICAgICAgICAgKm5nSWY9XCJtdWx0aUFjdGlvbk1lbnVcIlxuICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICBbbWVudV09XCJtdWx0aUFjdGlvbk1lbnVcIlxuICAgICAgICAgICAgKGNsb3NlTWVudUV2ZW50KT1cIm11bHRpQWN0aW9uVG9nZ2xlKClcIj48L3Mtc3ViLW1lbnU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmRlbGV0ZUJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tbGluZVwiPjwvZGl2PlxuICAgICAgPHMtYnV0dG9uXG4gICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJjb25maWcuZGVsZXRlQnV0dG9uXCJcbiAgICAgICAgdGhlbWU9XCJyZWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29uZmlnLmRlbGV0ZURpc2FibGVkID8/IGZhbHNlXCJcbiAgICAgICAgKGNsaWNrKT1cImRlbGV0ZSgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlKClcIj5cbiAgICAgICAgPHMtaWNvbi1tYXQ+ZGVsZXRlPC9zLWljb24tbWF0PlxuICAgICAgICB7eyBjb25maWcuZGVsZXRlQnV0dG9uIH19XG4gICAgICA8L3MtYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzLXRvb2xiYXItdG9wX19zZWN0aW9uXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tc2VhcmNoXCI+XG4gICAgICAgIDxzLWlucHV0XG4gICAgICAgICAgKm5nSWY9XCJpbnB1dFNlYXJjaENvbmZpZ1wiXG4gICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgW2NvbmZpZ109XCJpbnB1dFNlYXJjaENvbmZpZ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj5cbiAgICAgICAgPC9zLWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tc2VsZWN0XCIgKm5nSWY9XCJjb25maWcuc2VsZWN0XCI+XG4gICAgICAgIDxzLXNlbGVjdFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnLnNlbGVjdFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdENoYW5nZSgkZXZlbnQpXCI+PC9zLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInMtdG9vbGJhci10b3BfX3NlY3Rpb24tLXNlbGVjdFwiICpuZ0lmPVwiY29uZmlnLm11bHRpU2VsZWN0XCI+XG4gICAgICAgIDxzLXNlbGVjdC1tdWx0aXBsZVxuICAgICAgICAgIGNsYXNzPVwicy10b29sYmFyLXRvcF9fc2VjdGlvbi0tbXVsdGktc2VsZWN0XCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZy5tdWx0aVNlbGVjdFwiXG4gICAgICAgICAgKHNlbGVjdGVkRXZlbnQpPVwibXVsdGlTZWxlY3QoJGV2ZW50KVwiPlxuICAgICAgICA8L3Mtc2VsZWN0LW11bHRpcGxlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicy10b29sYmFyLXRvcC0tcmVsYXRpdmVDb250YWluZXJcIiAqbmdJZj1cImNvbmZpZy5maWx0ZXJCdXR0b24gJiYgY29uZmlnLmZpbHRlcnNcIj5cbiAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzLXRvb2xiYXItdG9wX19idXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maWcuZmlsdGVyc0Rpc2FibGVkID8/IGZhbHNlXCJcbiAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyU2hvdygpXCI+XG4gICAgICAgICAgPHMtaWNvbi1tYXQ+dHVuZTwvcy1pY29uLW1hdD5cbiAgICAgICAgICB7eyBjb25maWcuZmlsdGVyQnV0dG9uIH19XG4gICAgICAgICAgPHMtaWNvbi1tYXQ+a2V5Ym9hcmRfYXJyb3dfZG93bjwvcy1pY29uLW1hdD5cbiAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInMtdG9vbGJhci10b3BfX3NlY3Rpb24tLXRvZ2dsZVwiICpuZ0lmPVwiZmlsdGVyVG9nZ2xlXCI+XG4gICAgICAgICAgPHMtc3ViLW1lbnVcbiAgICAgICAgICAgIFttZW51XT1cImNvbmZpZy5maWx0ZXJzXCJcbiAgICAgICAgICAgIChjaGFuZ2VNZW51RXZlbnQpPVwic2VsZWN0RmlsdGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGNsb3NlTWVudUV2ZW50KT1cImZpbHRlclNob3coKVwiPjwvcy1zdWItbWVudT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb25maWcucGlsbEJ1dHRvblwiPlxuICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICBjbGFzcz1cInMtdG9vbGJhci10b3BfX2J1dHRvblwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImNvbmZpZy5maWx0ZXJzRGlzYWJsZWQgPz8gZmFsc2VcIlxuICAgICAgICAgIChjbGljayk9XCJwaWxsU2VsZWN0KClcIlxuICAgICAgICAgIChrZXlkb3d5bi5lbnRlcik9XCJwaWxsU2VsZWN0KClcIlxuICAgICAgICAgIFtwaWxsXT1cInRydWVcIj5cbiAgICAgICAgICA8cy1pY29uLW1hdD57eyBjb25maWcucGlsbEJ1dHRvbiB9fTwvcy1pY29uLW1hdD5cbiAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,7 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { SToolbarTopComponent } from './toolbar-top.component';
4
- import { SCardModule } from '../card/s-card.module';
5
4
  import { SButtonModule } from '../button/button.module';
6
5
  import { SInputModule } from '../input/input.module';
7
6
  import { FormsModule } from '@angular/forms';
@@ -12,7 +11,6 @@ import * as i0 from "@angular/core";
12
11
  export class SToolbarTopModule {
13
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SToolbarTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
13
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SToolbarTopModule, declarations: [SToolbarTopComponent], imports: [CommonModule,
15
- SCardModule,
16
14
  SButtonModule,
17
15
  SInputModule,
18
16
  FormsModule,
@@ -20,7 +18,6 @@ export class SToolbarTopModule {
20
18
  SSubMenuModule,
21
19
  SSelectModule], exports: [SToolbarTopComponent] }); }
22
20
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SToolbarTopModule, imports: [CommonModule,
23
- SCardModule,
24
21
  SButtonModule,
25
22
  SInputModule,
26
23
  FormsModule,
@@ -34,7 +31,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
34
31
  declarations: [SToolbarTopComponent],
35
32
  imports: [
36
33
  CommonModule,
37
- SCardModule,
38
34
  SButtonModule,
39
35
  SInputModule,
40
36
  FormsModule,
@@ -45,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
45
41
  exports: [SToolbarTopComponent],
46
42
  }]
47
43
  }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci10b3AubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdG9vbGJhci10b3AvdG9vbGJhci10b3AubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBZ0IxQyxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFiYixvQkFBb0IsYUFFakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGFBQWEsYUFFTCxvQkFBb0I7Z0hBRW5CLGlCQUFpQixZQVgxQixZQUFZO1lBQ1osV0FBVztZQUNYLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsYUFBYTs7NEZBSUosaUJBQWlCO2tCQWQ3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU1Rvb2xiYXJUb3BDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItdG9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTQ2FyZE1vZHVsZSB9IGZyb20gJy4uL2NhcmQvcy1jYXJkLm1vZHVsZSc7XG5pbXBvcnQgeyBTQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU0lucHV0TW9kdWxlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0ljb25NYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL2ljb24tbWF0ZXJpYWwvcy1pY29uLW1hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBTU3ViTWVudU1vZHVsZSB9IGZyb20gJy4uL3N1Yi1tZW51JztcbmltcG9ydCB7IFNTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTVG9vbGJhclRvcENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0NhcmRNb2R1bGUsXG4gICAgU0J1dHRvbk1vZHVsZSxcbiAgICBTSW5wdXRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU0ljb25NYXRlcmlhbE1vZHVsZSxcbiAgICBTU3ViTWVudU1vZHVsZSxcbiAgICBTU2VsZWN0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU1Rvb2xiYXJUb3BDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTVG9vbGJhclRvcE1vZHVsZSB7fVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci10b3AubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2lkZXN5cy1nZW5lcmljLXVpL3NyYy9saWIvdG9vbGJhci10b3AvdG9vbGJhci10b3AubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFlMUMsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBWmIsb0JBQW9CLGFBRWpDLFlBQVk7WUFDWixhQUFhO1lBQ2IsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGFBQWEsYUFFTCxvQkFBb0I7Z0hBRW5CLGlCQUFpQixZQVYxQixZQUFZO1lBQ1osYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxhQUFhOzs0RkFJSixpQkFBaUI7a0JBYjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU1Rvb2xiYXJUb3BDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItdG9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgU0lucHV0TW9kdWxlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0ljb25NYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL2ljb24tbWF0ZXJpYWwvcy1pY29uLW1hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBTU3ViTWVudU1vZHVsZSB9IGZyb20gJy4uL3N1Yi1tZW51JztcbmltcG9ydCB7IFNTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTVG9vbGJhclRvcENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0J1dHRvbk1vZHVsZSxcbiAgICBTSW5wdXRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU0ljb25NYXRlcmlhbE1vZHVsZSxcbiAgICBTU3ViTWVudU1vZHVsZSxcbiAgICBTU2VsZWN0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU1Rvb2xiYXJUb3BDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTVG9vbGJhclRvcE1vZHVsZSB7fVxuIl19