monkey-style-guide-v2 0.0.5 → 0.0.6

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 (164) hide show
  1. package/assets/scss/directives/_index.scss +7 -0
  2. package/assets/scss/directives/_styles.scss +100 -0
  3. package/assets/scss/input/_index.scss +7 -0
  4. package/assets/scss/input/_styles.scss +43 -0
  5. package/assets/scss/partials/_index.scss +7 -0
  6. package/assets/scss/partials/_style-reset.scss +189 -0
  7. package/assets/scss/partials/_variables.scss +178 -0
  8. package/assets/scss/table/_index.scss +7 -0
  9. package/assets/scss/table/_styles.scss +45 -0
  10. package/assets/scss/theme.scss +11 -0
  11. package/assets/scss/typography/_function.scss +23 -0
  12. package/assets/scss/typography/_index.scss +9 -0
  13. package/assets/scss/typography/_mixins.scss +111 -0
  14. package/assets/scss/typography/_styles.scss +173 -0
  15. package/esm2022/lib/components/index.mjs +13 -1
  16. package/esm2022/lib/components/monkey-accordion/index.mjs +2 -0
  17. package/esm2022/lib/components/monkey-accordion/monkey-accordion.component.mjs +102 -0
  18. package/esm2022/lib/components/monkey-alert/index.mjs +2 -0
  19. package/esm2022/lib/components/monkey-alert/monkey-alert.component.mjs +50 -0
  20. package/esm2022/lib/components/monkey-breadcrumb/index.mjs +2 -0
  21. package/esm2022/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.mjs +56 -0
  22. package/esm2022/lib/components/monkey-button/monkey-button.component.mjs +27 -12
  23. package/esm2022/lib/components/monkey-checkbox/index.mjs +2 -0
  24. package/esm2022/lib/components/monkey-checkbox/monkey-checkbox.component.mjs +216 -0
  25. package/esm2022/lib/components/monkey-divider/index.mjs +2 -0
  26. package/esm2022/lib/components/monkey-divider/monkey-divider.component.mjs +44 -0
  27. package/esm2022/lib/components/monkey-form-field/form-field-control.mjs +15 -0
  28. package/esm2022/lib/components/monkey-form-field/form-field.mjs +250 -0
  29. package/esm2022/lib/components/monkey-form-field/index.mjs +5 -0
  30. package/esm2022/lib/components/monkey-form-field/module.mjs +21 -0
  31. package/esm2022/lib/components/monkey-form-field/utils.mjs +16 -0
  32. package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +31 -15
  33. package/esm2022/lib/components/monkey-icon-button/monkey-icon-button.component.mjs +25 -9
  34. package/esm2022/lib/components/monkey-input/index.mjs +5 -0
  35. package/esm2022/lib/components/monkey-input/monkey-input-currency.directive.mjs +187 -0
  36. package/esm2022/lib/components/monkey-input/monkey-input.directive.mjs +166 -0
  37. package/esm2022/lib/components/monkey-input/monkey-input.module.mjs +24 -0
  38. package/esm2022/lib/components/monkey-input/validators.mjs +17 -0
  39. package/esm2022/lib/components/monkey-option/index.mjs +2 -0
  40. package/esm2022/lib/components/monkey-option/monkey-option.component.mjs +54 -0
  41. package/esm2022/lib/components/monkey-security-level/monkey-security-level.component.mjs +30 -14
  42. package/esm2022/lib/components/monkey-select/index.mjs +2 -0
  43. package/esm2022/lib/components/monkey-select/monkey-select.component.mjs +352 -0
  44. package/esm2022/lib/components/monkey-status/monkey-status.component.mjs +28 -12
  45. package/esm2022/lib/components/monkey-table/components/pagination-action/pagination-action.mjs +53 -0
  46. package/esm2022/lib/components/monkey-table/components/pagination-label/pagination-label.mjs +34 -0
  47. package/esm2022/lib/components/monkey-table/components/pagination-size/pagination-size.mjs +57 -0
  48. package/esm2022/lib/components/monkey-table/directives/column-checked.mjs +109 -0
  49. package/esm2022/lib/components/monkey-table/directives/column-expansible.mjs +134 -0
  50. package/esm2022/lib/components/monkey-table/directives/column-sortable.mjs +97 -0
  51. package/esm2022/lib/components/monkey-table/directives/column-stick.mjs +28 -0
  52. package/esm2022/lib/components/monkey-table/index.mjs +10 -0
  53. package/esm2022/lib/components/monkey-table/table.mjs +132 -0
  54. package/esm2022/lib/components/monkey-table/table.module.mjs +60 -0
  55. package/esm2022/lib/components/monkey-toast/index.mjs +2 -0
  56. package/esm2022/lib/components/monkey-toast/monkey-toast.component.mjs +74 -0
  57. package/esm2022/lib/components/monkey-toggle/monkey-toggle.component.mjs +28 -14
  58. package/esm2022/lib/components/monkey-toggle-line/index.mjs +3 -0
  59. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.mjs +2 -0
  60. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.mjs +24 -0
  61. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line.component.mjs +85 -0
  62. package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +4 -4
  63. package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +20 -7
  64. package/esm2022/lib/directives/error.mjs +18 -0
  65. package/esm2022/lib/directives/helper.mjs +18 -0
  66. package/esm2022/lib/directives/index.mjs +8 -0
  67. package/esm2022/lib/directives/info.mjs +18 -0
  68. package/esm2022/lib/directives/label.mjs +18 -0
  69. package/esm2022/lib/directives/module.mjs +26 -0
  70. package/esm2022/lib/directives/prefix.mjs +18 -0
  71. package/esm2022/lib/directives/suffix.mjs +43 -0
  72. package/esm2022/lib/interfaces/alert.mjs +2 -0
  73. package/esm2022/lib/interfaces/breadcrumb.mjs +2 -0
  74. package/esm2022/lib/interfaces/button.mjs +2 -0
  75. package/esm2022/lib/interfaces/index.mjs +7 -0
  76. package/esm2022/lib/interfaces/sizes.mjs +2 -0
  77. package/esm2022/lib/interfaces/table.mjs +2 -0
  78. package/esm2022/lib/interfaces/toast.mjs +10 -0
  79. package/esm2022/lib/services/index.mjs +4 -0
  80. package/esm2022/lib/services/monkey-destroy.service.mjs +15 -0
  81. package/esm2022/lib/services/monkey-icons.service.mjs +45 -0
  82. package/esm2022/lib/services/monkey-toast.service.mjs +72 -0
  83. package/esm2022/public-api.mjs +6 -3
  84. package/esm2022/utils/id-generator.mjs +20 -0
  85. package/esm2022/utils/index.mjs +4 -0
  86. package/esm2022/utils/tests-utils.mjs +4 -0
  87. package/esm2022/utils/utils.mjs +10 -0
  88. package/fesm2022/monkey-style-guide-v2.mjs +2849 -129
  89. package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
  90. package/lib/components/index.d.ts +12 -0
  91. package/lib/components/monkey-accordion/index.d.ts +1 -0
  92. package/lib/components/monkey-accordion/monkey-accordion.component.d.ts +22 -0
  93. package/lib/components/monkey-alert/index.d.ts +1 -0
  94. package/lib/components/monkey-alert/monkey-alert.component.d.ts +23 -0
  95. package/lib/components/monkey-breadcrumb/index.d.ts +1 -0
  96. package/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.d.ts +18 -0
  97. package/lib/components/monkey-button/monkey-button.component.d.ts +11 -4
  98. package/lib/components/monkey-checkbox/index.d.ts +1 -0
  99. package/lib/components/monkey-checkbox/monkey-checkbox.component.d.ts +50 -0
  100. package/lib/components/monkey-divider/index.d.ts +1 -0
  101. package/lib/components/monkey-divider/monkey-divider.component.d.ts +20 -0
  102. package/lib/components/monkey-form-field/form-field-control.d.ts +18 -0
  103. package/lib/components/monkey-form-field/form-field.d.ts +74 -0
  104. package/lib/components/monkey-form-field/index.d.ts +4 -0
  105. package/lib/components/monkey-form-field/module.d.ts +7 -0
  106. package/lib/components/monkey-form-field/utils.d.ts +6 -0
  107. package/lib/components/monkey-icon/monkey-icon.component.d.ts +6 -1
  108. package/lib/components/monkey-icon-button/monkey-icon-button.component.d.ts +6 -1
  109. package/lib/components/monkey-input/index.d.ts +4 -0
  110. package/lib/components/monkey-input/monkey-input-currency.directive.d.ts +57 -0
  111. package/lib/components/monkey-input/monkey-input.directive.d.ts +46 -0
  112. package/lib/components/monkey-input/monkey-input.module.d.ts +8 -0
  113. package/lib/components/monkey-input/validators.d.ts +1 -0
  114. package/lib/components/monkey-option/index.d.ts +1 -0
  115. package/lib/components/monkey-option/monkey-option.component.d.ts +22 -0
  116. package/lib/components/monkey-security-level/monkey-security-level.component.d.ts +7 -2
  117. package/lib/components/monkey-select/index.d.ts +1 -0
  118. package/lib/components/monkey-select/monkey-select.component.d.ts +74 -0
  119. package/lib/components/monkey-status/monkey-status.component.d.ts +8 -3
  120. package/lib/components/monkey-table/components/pagination-action/pagination-action.d.ts +17 -0
  121. package/lib/components/monkey-table/components/pagination-label/pagination-label.d.ts +10 -0
  122. package/lib/components/monkey-table/components/pagination-size/pagination-size.d.ts +15 -0
  123. package/lib/components/monkey-table/directives/column-checked.d.ts +32 -0
  124. package/lib/components/monkey-table/directives/column-expansible.d.ts +25 -0
  125. package/lib/components/monkey-table/directives/column-sortable.d.ts +24 -0
  126. package/lib/components/monkey-table/directives/column-stick.d.ts +6 -0
  127. package/lib/components/monkey-table/index.d.ts +9 -0
  128. package/lib/components/monkey-table/table.d.ts +32 -0
  129. package/lib/components/monkey-table/table.module.d.ts +15 -0
  130. package/lib/components/monkey-toast/index.d.ts +1 -0
  131. package/lib/components/monkey-toast/monkey-toast.component.d.ts +26 -0
  132. package/lib/components/monkey-toggle/monkey-toggle.component.d.ts +6 -1
  133. package/lib/components/monkey-toggle-line/index.d.ts +2 -0
  134. package/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.d.ts +1 -0
  135. package/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.d.ts +16 -0
  136. package/lib/components/monkey-toggle-line/monkey-toggle-line.component.d.ts +24 -0
  137. package/lib/components/monkey-tooltip/tooltip/tooltip.component.d.ts +5 -1
  138. package/lib/directives/error.d.ts +5 -0
  139. package/lib/directives/helper.d.ts +5 -0
  140. package/lib/directives/index.d.ts +7 -0
  141. package/lib/directives/info.d.ts +5 -0
  142. package/lib/directives/label.d.ts +5 -0
  143. package/lib/directives/module.d.ts +12 -0
  144. package/lib/directives/prefix.d.ts +5 -0
  145. package/lib/directives/suffix.d.ts +9 -0
  146. package/lib/interfaces/alert.d.ts +1 -0
  147. package/lib/interfaces/breadcrumb.d.ts +5 -0
  148. package/lib/interfaces/button.d.ts +1 -0
  149. package/lib/interfaces/index.d.ts +6 -0
  150. package/lib/interfaces/sizes.d.ts +1 -0
  151. package/lib/interfaces/table.d.ts +4 -0
  152. package/lib/interfaces/toast.d.ts +22 -0
  153. package/lib/services/index.d.ts +3 -0
  154. package/lib/services/monkey-destroy.service.d.ts +8 -0
  155. package/lib/services/monkey-icons.service.d.ts +14 -0
  156. package/lib/services/monkey-toast.service.d.ts +13 -0
  157. package/monkey-style-guide-v2-0.0.6.tgz +0 -0
  158. package/package.json +10 -3
  159. package/public-api.d.ts +5 -2
  160. package/utils/id-generator.d.ts +6 -0
  161. package/utils/index.d.ts +3 -0
  162. package/utils/tests-utils.d.ts +1 -0
  163. package/utils/utils.d.ts +1 -0
  164. package/monkey-style-guide-v2-0.0.5.tgz +0 -0
@@ -0,0 +1,187 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
+ import { booleanAttribute, ChangeDetectorRef, DEFAULT_CURRENCY_CODE, Directive, ElementRef, inject, Input, LOCALE_ID } from '@angular/core';
8
+ import { NgControl, Validators } from '@angular/forms';
9
+ import { Subject, takeUntil } from 'rxjs';
10
+ import { IdGenerator } from '../../../utils';
11
+ import { MonkeyDestroyService } from '../../services';
12
+ import { MonkeyFormFieldControl } from '../monkey-form-field';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common";
15
+ export class MonkeyInputCurrencyDirective {
16
+ get disabled() {
17
+ if (this.ngControl && this.ngControl.disabled !== null) {
18
+ return this.ngControl.disabled;
19
+ }
20
+ return this._disabled;
21
+ }
22
+ set disabled(value) {
23
+ this._disabled = value;
24
+ if (this.focused) {
25
+ this.focused = false;
26
+ this.stateChanges.next();
27
+ }
28
+ }
29
+ get id() {
30
+ return this._id;
31
+ }
32
+ set id(value) {
33
+ this._id = value || this._uid;
34
+ }
35
+ get required() {
36
+ return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
37
+ }
38
+ set required(value) {
39
+ this._required = coerceBooleanProperty(value);
40
+ }
41
+ get type() {
42
+ return this._type;
43
+ }
44
+ set type(value) {
45
+ this._type = value;
46
+ }
47
+ get currency() {
48
+ return true;
49
+ }
50
+ get percent() {
51
+ return false;
52
+ }
53
+ constructor(el, renderer, currencyPipe) {
54
+ this.el = el;
55
+ this.renderer = renderer;
56
+ this.currencyPipe = currencyPipe;
57
+ this._elementRef = inject(ElementRef);
58
+ this._uid = inject(IdGenerator).getId('monkey-input-currency-');
59
+ this.stateChanges = new Subject();
60
+ this._disabled = false;
61
+ this._type = 'text';
62
+ this._changeDetectorRef = inject(ChangeDetectorRef);
63
+ this._currencyCode = inject(DEFAULT_CURRENCY_CODE);
64
+ this._localeId = inject(LOCALE_ID);
65
+ this._destroyed = new Subject();
66
+ this._rawValue = 0;
67
+ this.ngControl = inject(NgControl, { self: true, optional: true });
68
+ this.focused = false;
69
+ // eslint-disable-next-line no-self-assign
70
+ this.id = this.id;
71
+ }
72
+ markAsUntouched() {
73
+ this.ngControl?.control?.markAsUntouched();
74
+ }
75
+ focus(options) {
76
+ this._elementRef.nativeElement.focus(options);
77
+ this.markAsUntouched();
78
+ }
79
+ formatValue(value) {
80
+ return this.currencyPipe.transform(value, this._currencyCode || 'BRL', '', '1.2-2', this._localeId || 'pt-BR');
81
+ }
82
+ handleControlValue() {
83
+ const value = this.ngControl?.control?.value;
84
+ if (this._rawValue !== value) {
85
+ this._rawValue = value;
86
+ let handled = value;
87
+ const decimal = `${value}`.split('.')[1];
88
+ if (`${decimal}`.length >= 2) {
89
+ handled = `${value}`.replace(/[^0-9]/g, '');
90
+ handled = `${Number(handled) / 100}`;
91
+ }
92
+ this.ngControl?.control?.setValue(Number(handled), { emitEvent: false, onlySelf: true });
93
+ const formattedValue = this.formatValue(handled);
94
+ this.renderer.setProperty(this.el.nativeElement, 'value', formattedValue);
95
+ this._changeDetectorRef.markForCheck();
96
+ }
97
+ }
98
+ ngOnInit() {
99
+ this.handleControlValue();
100
+ this._valueChanges?.unsubscribe();
101
+ this._valueChanges = this.ngControl?.control?.valueChanges
102
+ .pipe(takeUntil(this._destroyed))
103
+ .subscribe(() => {
104
+ this.handleControlValue();
105
+ });
106
+ }
107
+ ngOnDestroy() {
108
+ this.stateChanges.complete();
109
+ this._valueChanges?.unsubscribe();
110
+ }
111
+ ngOnChanges({ disabled }) {
112
+ if (!disabled) {
113
+ this.stateChanges.next();
114
+ }
115
+ }
116
+ onContainerClick() {
117
+ if (!this.focused) {
118
+ this.focus();
119
+ }
120
+ }
121
+ focusChanged(isFocused) {
122
+ if (isFocused === this.focused) {
123
+ return;
124
+ }
125
+ if (isFocused && this.disabled) {
126
+ const element = this._elementRef.nativeElement;
127
+ element.setSelectionRange(0, 0);
128
+ }
129
+ this.markAsUntouched();
130
+ this.focused = isFocused;
131
+ this.stateChanges.next();
132
+ }
133
+ focusOutChanged() {
134
+ this.ngControl?.control?.markAsTouched();
135
+ }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputCurrencyDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.CurrencyPipe }], target: i0.ɵɵFactoryTarget.Directive }); }
137
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyInputCurrencyDirective, selector: "input[monkey-input-currency]", inputs: { name: "name", disabled: ["disabled", "disabled", booleanAttribute], id: "id", required: "required", type: "type" }, host: { listeners: { "focus": "focusChanged(true)", "focusout": "focusOutChanged()", "blur": "focusChanged(false)" }, properties: { "class.mecx-input-disabled": "disabled", "id": "id", "disabled": "disabled", "required": "required", "attr.name": "name || null", "attr.disabled": "disabled || null", "attr.aria-invalid": "(empty && required) ? null : errorState", "attr.aria-required": "required", "attr.id": "id" }, classAttribute: "mecx-input" }, providers: [
138
+ {
139
+ provide: MonkeyFormFieldControl,
140
+ // eslint-disable-next-line no-use-before-define
141
+ useExisting: MonkeyInputCurrencyDirective
142
+ },
143
+ MonkeyDestroyService
144
+ ], exportAs: ["monkeyInput"], usesOnChanges: true, ngImport: i0 }); }
145
+ }
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputCurrencyDirective, decorators: [{
147
+ type: Directive,
148
+ args: [{
149
+ selector: 'input[monkey-input-currency]',
150
+ exportAs: 'monkeyInput',
151
+ host: {
152
+ class: 'mecx-input',
153
+ '[class.mecx-input-disabled]': 'disabled',
154
+ '[id]': 'id',
155
+ '[disabled]': 'disabled',
156
+ '[required]': 'required',
157
+ '[attr.name]': 'name || null',
158
+ '[attr.disabled]': 'disabled || null',
159
+ '[attr.aria-invalid]': '(empty && required) ? null : errorState',
160
+ '[attr.aria-required]': 'required',
161
+ '[attr.id]': 'id',
162
+ '(focus)': 'focusChanged(true)',
163
+ '(focusout)': 'focusOutChanged()',
164
+ '(blur)': 'focusChanged(false)'
165
+ },
166
+ providers: [
167
+ {
168
+ provide: MonkeyFormFieldControl,
169
+ // eslint-disable-next-line no-use-before-define
170
+ useExisting: MonkeyInputCurrencyDirective
171
+ },
172
+ MonkeyDestroyService
173
+ ]
174
+ }]
175
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.CurrencyPipe }], propDecorators: { name: [{
176
+ type: Input
177
+ }], disabled: [{
178
+ type: Input,
179
+ args: [{ transform: booleanAttribute }]
180
+ }], id: [{
181
+ type: Input
182
+ }], required: [{
183
+ type: Input
184
+ }], type: [{
185
+ type: Input
186
+ }] } });
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWlucHV0LWN1cnJlbmN5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L21vbmtleS1pbnB1dC1jdXJyZW5jeS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFNVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQTZCOUQsTUFBTSxPQUFPLDRCQUE0QjtJQWN2QyxJQUNJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFT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KioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBMT0NBTEVfSUQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleURlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4uL21vbmtleS1mb3JtLWZpZWxkJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbbW9ua2V5LWlucHV0LWN1cnJlbmN5XScsXG4gIGV4cG9ydEFzOiAnbW9ua2V5SW5wdXQnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWlucHV0JyxcbiAgICAnW2NsYXNzLm1lY3gtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2lkXSc6ICdpZCcsXG4gICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIubmFtZV0nOiAnbmFtZSB8fCBudWxsJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJyhlbXB0eSAmJiByZXF1aXJlZCkgPyBudWxsIDogZXJyb3JTdGF0ZScsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknLFxuICAgICcoZm9jdXNvdXQpJzogJ2ZvY3VzT3V0Q2hhbmdlZCgpJyxcbiAgICAnKGJsdXIpJzogJ2ZvY3VzQ2hhbmdlZChmYWxzZSknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1vbmtleUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgIHVzZUV4aXN0aW5nOiBNb25rZXlJbnB1dEN1cnJlbmN5RGlyZWN0aXZlXG4gICAgfSxcbiAgICBNb25rZXlEZXN0cm95U2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUlucHV0Q3VycmVuY3lEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBNb25rZXlGb3JtRmllbGRDb250cm9sLCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByb3RlY3RlZCBfZWxlbWVudFJlZiA9XG4gICAgaW5qZWN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudCB8IEhUTUxTZWxlY3RFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHByb3RlY3RlZCBfdWlkID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LWlucHV0LWN1cnJlbmN5LScpO1xuXG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKSBuYW1lITogc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sICYmIHRoaXMubmdDb250cm9sLmRpc2FibGVkICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG5cbiAgICBpZiAodGhpcy5mb2N1c2VkKSB7XG4gICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZCA/PyB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/IGZhbHNlO1xuICB9XG5cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgc2V0IHR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdHlwZSA9ICd0ZXh0JztcblxuICBnZXQgY3VycmVuY3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgcGVyY2VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY3VycmVuY3lDb2RlID0gaW5qZWN0KERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxlSWQgPSBpbmplY3QoTE9DQUxFX0lEKTtcblxuICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX3Jhd1ZhbHVlID0gMDtcblxuICBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlXG4gICkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNVbnRvdWNoZWQoKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIHRoaXMubWFya0FzVW50b3VjaGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKFxuICAgICAgdmFsdWUsXG4gICAgICB0aGlzLl9jdXJyZW5jeUNvZGUgfHwgJ0JSTCcsXG4gICAgICAnJyxcbiAgICAgICcxLjItMicsXG4gICAgICB0aGlzLl9sb2NhbGVJZCB8fCAncHQtQlInXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udHJvbFZhbHVlKCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlO1xuICAgIGlmICh0aGlzLl9yYXdWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX3Jhd1ZhbHVlID0gdmFsdWU7XG4gICAgICBsZXQgaGFuZGxlZCA9IHZhbHVlO1xuICAgICAgY29uc3QgZGVjaW1hbCA9IGAke3ZhbHVlfWAuc3BsaXQoJy4nKVsxXTtcbiAgICAgIGlmIChgJHtkZWNpbWFsfWAubGVuZ3RoID49IDIpIHtcbiAgICAgICAgaGFuZGxlZCA9IGAke3ZhbHVlfWAucmVwbGFjZSgvW14wLTldL2csICcnKTtcbiAgICAgICAgaGFuZGxlZCA9IGAke051bWJlcihoYW5kbGVkKSAvIDEwMH1gO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoTnVtYmVyKGhhbmRsZWQpLCB7IGVtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgY29uc3QgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmZvcm1hdFZhbHVlKGhhbmRsZWQpO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlQ29udHJvbFZhbHVlKCk7XG4gICAgdGhpcy5fdmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdmFsdWVDaGFuZ2VzID0gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVDb250cm9sVmFsdWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZXM/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IGRpc2FibGVkIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWRpc2FibGVkKSB7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgb25Db250YWluZXJDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNGb2N1c2VkID09PSB0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNGb2N1c2VkICYmIHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgIGVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgMCk7XG4gICAgfVxuXG4gICAgdGhpcy5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICB0aGlzLmZvY3VzZWQgPSBpc0ZvY3VzZWQ7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgZm9jdXNPdXRDaGFuZ2VkKCkge1xuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,166 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
+ import { booleanAttribute, Directive, ElementRef, inject, Input } from '@angular/core';
8
+ import { NgControl, Validators } from '@angular/forms';
9
+ import { Subject } from 'rxjs';
10
+ import { IdGenerator } from '../../../utils';
11
+ import { MonkeyDestroyService } from '../../services';
12
+ import { MonkeyFormFieldControl } from '../monkey-form-field';
13
+ import { validateType } from './validators';
14
+ import * as i0 from "@angular/core";
15
+ export class MonkeyInputDirective {
16
+ get disabled() {
17
+ if (this.ngControl && this.ngControl.disabled !== null) {
18
+ return this.ngControl.disabled;
19
+ }
20
+ return this._disabled;
21
+ }
22
+ set disabled(value) {
23
+ this._disabled = value;
24
+ if (this.focused) {
25
+ this.focused = false;
26
+ this.stateChanges.next();
27
+ }
28
+ }
29
+ get id() {
30
+ return this._id;
31
+ }
32
+ set id(value) {
33
+ this._id = value || this._uid;
34
+ }
35
+ get required() {
36
+ return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
37
+ }
38
+ set required(value) {
39
+ this._required = coerceBooleanProperty(value);
40
+ }
41
+ get type() {
42
+ return this._type;
43
+ }
44
+ set type(value) {
45
+ validateType(value);
46
+ this._type = value || 'text';
47
+ this._elementRef.nativeElement.type = this._type;
48
+ }
49
+ get currency() {
50
+ return false;
51
+ }
52
+ get percent() {
53
+ return this._percent;
54
+ }
55
+ set percent(value) {
56
+ this._percent = true;
57
+ }
58
+ constructor() {
59
+ this._elementRef = inject(ElementRef);
60
+ this._uid = inject(IdGenerator).getId('monkey-input-');
61
+ this.stateChanges = new Subject();
62
+ this._disabled = false;
63
+ this._type = 'text';
64
+ this._percent = false;
65
+ this.ngControl = inject(NgControl, { self: true, optional: true });
66
+ this.focused = false;
67
+ // eslint-disable-next-line no-self-assign
68
+ this.id = this.id;
69
+ }
70
+ markAsUntouched() {
71
+ this.ngControl?.control?.markAsUntouched();
72
+ }
73
+ focus(options) {
74
+ this._elementRef.nativeElement.focus(options);
75
+ this.markAsUntouched();
76
+ }
77
+ ngOnDestroy() {
78
+ this.stateChanges.complete();
79
+ }
80
+ ngOnChanges({ disabled }) {
81
+ if (!disabled) {
82
+ this.stateChanges.next();
83
+ }
84
+ }
85
+ onContainerClick() {
86
+ if (!this.focused) {
87
+ this.focus();
88
+ }
89
+ }
90
+ focusChanged(isFocused) {
91
+ if (isFocused === this.focused) {
92
+ return;
93
+ }
94
+ if (isFocused && this.disabled) {
95
+ const element = this._elementRef.nativeElement;
96
+ if (element.type === 'number') {
97
+ element.type = 'text';
98
+ element.setSelectionRange(0, 0);
99
+ element.type = 'number';
100
+ }
101
+ else {
102
+ element.setSelectionRange(0, 0);
103
+ }
104
+ }
105
+ this.markAsUntouched();
106
+ this.focused = isFocused;
107
+ this.stateChanges.next();
108
+ }
109
+ focusOutChanged() {
110
+ this.ngControl?.control?.markAsTouched();
111
+ }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
113
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyInputDirective, selector: "input[monkey-input],textarea[monkey-input]", inputs: { name: "name", disabled: ["disabled", "disabled", booleanAttribute], id: "id", required: "required", type: "type", percent: "percent" }, host: { attributes: { "data-testid": "monkey-input" }, listeners: { "focus": "focusChanged(true)", "focusout": "focusOutChanged()", "blur": "focusChanged(false)" }, properties: { "class.mecx-input-disabled": "disabled", "id": "id", "disabled": "disabled", "required": "required", "attr.name": "name || null", "attr.disabled": "disabled || null", "attr.aria-invalid": "(empty && required) ? null : errorState", "attr.aria-required": "required", "attr.id": "id" }, classAttribute: "mecx-input" }, providers: [
114
+ {
115
+ provide: MonkeyFormFieldControl,
116
+ // eslint-disable-next-line no-use-before-define
117
+ useExisting: MonkeyInputDirective
118
+ },
119
+ MonkeyDestroyService
120
+ ], exportAs: ["monkeyInput"], usesOnChanges: true, ngImport: i0 }); }
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputDirective, decorators: [{
123
+ type: Directive,
124
+ args: [{
125
+ selector: 'input[monkey-input],textarea[monkey-input]',
126
+ exportAs: 'monkeyInput',
127
+ host: {
128
+ class: 'mecx-input',
129
+ 'data-testid': 'monkey-input',
130
+ '[class.mecx-input-disabled]': 'disabled',
131
+ '[id]': 'id',
132
+ '[disabled]': 'disabled',
133
+ '[required]': 'required',
134
+ '[attr.name]': 'name || null',
135
+ '[attr.disabled]': 'disabled || null',
136
+ '[attr.aria-invalid]': '(empty && required) ? null : errorState',
137
+ '[attr.aria-required]': 'required',
138
+ '[attr.id]': 'id',
139
+ '(focus)': 'focusChanged(true)',
140
+ '(focusout)': 'focusOutChanged()',
141
+ '(blur)': 'focusChanged(false)'
142
+ },
143
+ providers: [
144
+ {
145
+ provide: MonkeyFormFieldControl,
146
+ // eslint-disable-next-line no-use-before-define
147
+ useExisting: MonkeyInputDirective
148
+ },
149
+ MonkeyDestroyService
150
+ ]
151
+ }]
152
+ }], ctorParameters: () => [], propDecorators: { name: [{
153
+ type: Input
154
+ }], disabled: [{
155
+ type: Input,
156
+ args: [{ transform: booleanAttribute }]
157
+ }], id: [{
158
+ type: Input
159
+ }], required: [{
160
+ type: Input
161
+ }], type: [{
162
+ type: Input
163
+ }], percent: [{
164
+ type: Input
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L21vbmtleS1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBOEI1QyxNQUFNLE9BQU8sb0JBQW9CO0lBWS9CLElBQ0ksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFB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QUFZO3dCQUNuQixhQUFhLEVBQUUsY0FBYzt3QkFDN0IsNkJBQTZCLEVBQUUsVUFBVTt3QkFDekMsTUFBTSxFQUFFLElBQUk7d0JBQ1osWUFBWSxFQUFFLFVBQVU7d0JBQ3hCLFlBQVksRUFBRSxVQUFVO3dCQUN4QixhQUFhLEVBQUUsY0FBYzt3QkFDN0IsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxxQkFBcUIsRUFBRSx5Q0FBeUM7d0JBQ2hFLHNCQUFzQixFQUFFLFVBQVU7d0JBQ2xDLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixTQUFTLEVBQUUsb0JBQW9CO3dCQUMvQixZQUFZLEVBQUUsbUJBQW1CO3dCQUNqQyxRQUFRLEVBQUUscUJBQXFCO3FCQUNoQztvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsZ0RBQWdEOzRCQUNoRCxXQUFXLHNCQUFzQjt5QkFDbEM7d0JBQ0Qsb0JBQW9CO3FCQUNyQjtpQkFDRjt3REFXVSxJQUFJO3NCQUFaLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWtCbEMsRUFBRTtzQkFETCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSztnQkFjRixJQUFJO3NCQURQLEtBQUs7Z0JBbUJGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleURlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJy4uL21vbmtleS1mb3JtLWZpZWxkJztcbmltcG9ydCB7IHZhbGlkYXRlVHlwZSB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W21vbmtleS1pbnB1dF0sdGV4dGFyZWFbbW9ua2V5LWlucHV0XScsXG4gIGV4cG9ydEFzOiAnbW9ua2V5SW5wdXQnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWlucHV0JyxcbiAgICAnZGF0YS10ZXN0aWQnOiAnbW9ua2V5LWlucHV0JyxcbiAgICAnW2NsYXNzLm1lY3gtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2lkXSc6ICdpZCcsXG4gICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIubmFtZV0nOiAnbmFtZSB8fCBudWxsJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJyhlbXB0eSAmJiByZXF1aXJlZCkgPyBudWxsIDogZXJyb3JTdGF0ZScsXG4gICAgJ1thdHRyLmFyaWEtcmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnKGZvY3VzKSc6ICdmb2N1c0NoYW5nZWQodHJ1ZSknLFxuICAgICcoZm9jdXNvdXQpJzogJ2ZvY3VzT3V0Q2hhbmdlZCgpJyxcbiAgICAnKGJsdXIpJzogJ2ZvY3VzQ2hhbmdlZChmYWxzZSknXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1vbmtleUZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgIHVzZUV4aXN0aW5nOiBNb25rZXlJbnB1dERpcmVjdGl2ZVxuICAgIH0sXG4gICAgTW9ua2V5RGVzdHJveVNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE1vbmtleUZvcm1GaWVsZENvbnRyb2wsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9lbGVtZW50UmVmID1cbiAgICBpbmplY3Q8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBpbmplY3QoSWRHZW5lcmF0b3IpLmdldElkKCdtb25rZXktaW5wdXQtJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpIG5hbWUhOiBzdHJpbmc7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZSB8fCB0aGlzLl91aWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkID8/IHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz8gZmFsc2U7XG4gIH1cblxuICBzZXQgcmVxdWlyZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBzZXQgdHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdmFsaWRhdGVUeXBlKHZhbHVlKTtcbiAgICB0aGlzLl90eXBlID0gdmFsdWUgfHwgJ3RleHQnO1xuXG4gICAgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50KS50eXBlID0gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdHlwZSA9ICd0ZXh0JztcblxuICBnZXQgY3VycmVuY3koKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHBlcmNlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlcmNlbnQ7XG4gIH1cblxuICBzZXQgcGVyY2VudCh2YWx1ZTogJycpIHtcbiAgICB0aGlzLl9wZXJjZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfcGVyY2VudCA9IGZhbHNlO1xuXG4gIG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrQXNVbnRvdWNoZWQoKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/Lm1hcmtBc1VudG91Y2hlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIHRoaXMubWFya0FzVW50b3VjaGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoeyBkaXNhYmxlZCB9OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBmb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKSB7XG4gICAgaWYgKGlzRm9jdXNlZCA9PT0gdGhpcy5mb2N1c2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzRm9jdXNlZCAmJiB0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGVsZW1lbnQudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgZWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCAwKTtcbiAgICAgICAgZWxlbWVudC50eXBlID0gJ251bWJlcic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubWFya0FzVW50b3VjaGVkKCk7XG4gICAgdGhpcy5mb2N1c2VkID0gaXNGb2N1c2VkO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIGZvY3VzT3V0Q2hhbmdlZCgpIHtcbiAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8ubWFya0FzVG91Y2hlZCgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { CurrencyPipe } from '@angular/common';
7
+ import { NgModule } from '@angular/core';
8
+ import { MonkeyInputCurrencyDirective } from './monkey-input-currency.directive';
9
+ import { MonkeyInputDirective } from './monkey-input.directive';
10
+ import * as i0 from "@angular/core";
11
+ export class MonkeyInputModule {
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, declarations: [MonkeyInputDirective, MonkeyInputCurrencyDirective], exports: [MonkeyInputDirective, MonkeyInputCurrencyDirective] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, providers: [CurrencyPipe] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInputModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ providers: [CurrencyPipe],
20
+ declarations: [MonkeyInputDirective, MonkeyInputCurrencyDirective],
21
+ exports: [MonkeyInputDirective, MonkeyInputCurrencyDirective]
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L21vbmtleS1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU9oRSxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFIYixvQkFBb0IsRUFBRSw0QkFBNEIsYUFDdkQsb0JBQW9CLEVBQUUsNEJBQTRCO2dIQUVqRCxpQkFBaUIsYUFKakIsQ0FBQyxZQUFZLENBQUM7OzRGQUlkLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3pCLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLDRCQUE0QixDQUFDO29CQUNsRSxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSw0QkFBNEIsQ0FBQztpQkFDOUQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUlucHV0Q3VycmVuY3lEaXJlY3RpdmUgfSBmcm9tICcuL21vbmtleS1pbnB1dC1jdXJyZW5jeS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTW9ua2V5SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL21vbmtleS1pbnB1dC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtDdXJyZW5jeVBpcGVdLFxuICBkZWNsYXJhdGlvbnM6IFtNb25rZXlJbnB1dERpcmVjdGl2ZSwgTW9ua2V5SW5wdXRDdXJyZW5jeURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtNb25rZXlJbnB1dERpcmVjdGl2ZSwgTW9ua2V5SW5wdXRDdXJyZW5jeURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5SW5wdXRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { getSupportedInputTypes } from '@angular/cdk/platform';
2
+ const INPUT_INVALID_TYPES = [
3
+ 'button',
4
+ 'checkbox',
5
+ 'file',
6
+ 'image',
7
+ 'radio',
8
+ 'range',
9
+ 'reset',
10
+ 'submit'
11
+ ];
12
+ export function validateType(type) {
13
+ if (INPUT_INVALID_TYPES.indexOf(type) > -1 || !getSupportedInputTypes().has(type)) {
14
+ throw Error(`Input type "${type}" isn't supported.`);
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWlucHV0L3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0QsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixRQUFRO0lBQ1IsVUFBVTtJQUNWLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFDdkMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xGLE1BQU0sS0FBSyxDQUFDLGVBQWUsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0U3VwcG9ydGVkSW5wdXRUeXBlcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbmNvbnN0IElOUFVUX0lOVkFMSURfVFlQRVMgPSBbXG4gICdidXR0b24nLFxuICAnY2hlY2tib3gnLFxuICAnZmlsZScsXG4gICdpbWFnZScsXG4gICdyYWRpbycsXG4gICdyYW5nZScsXG4gICdyZXNldCcsXG4gICdzdWJtaXQnXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUeXBlKHR5cGU6IHN0cmluZykge1xuICBpZiAoSU5QVVRfSU5WQUxJRF9UWVBFUy5pbmRleE9mKHR5cGUpID4gLTEgfHwgIWdldFN1cHBvcnRlZElucHV0VHlwZXMoKS5oYXModHlwZSkpIHtcbiAgICB0aHJvdyBFcnJvcihgSW5wdXQgdHlwZSBcIiR7dHlwZX1cIiBpc24ndCBzdXBwb3J0ZWQuYCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './monkey-option.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1vcHRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5LW9wdGlvbi5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,54 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { booleanAttribute, ChangeDetectionStrategy, Component, HostListener, inject, Input, ViewChild, ViewEncapsulation } from '@angular/core';
7
+ import { IdGenerator } from '../../../utils';
8
+ import * as i0 from "@angular/core";
9
+ export class MonkeyOptionComponent {
10
+ constructor() {
11
+ this.idGenerator = inject(IdGenerator);
12
+ this.disabled = false;
13
+ this.selected = false;
14
+ this.tabIndex = 0;
15
+ this.id = this.idGenerator.getId('mecx-option-');
16
+ }
17
+ get displayContent() {
18
+ return (this._content?.nativeElement.textContent || '').trim();
19
+ }
20
+ onClick(event) {
21
+ if (this.disabled) {
22
+ event.stopPropagation();
23
+ event.preventDefault();
24
+ }
25
+ else {
26
+ this.action?.();
27
+ }
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyOptionComponent, isStandalone: true, selector: "monkey-option", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "data-testid": "monkey-option" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "class.mecx-option-disabled": "disabled", "class.mecx-option-selected": "selected", "attr.tabindex": "disabled ? -1 : tabIndex" }, classAttribute: "mecx-option" }, viewQueries: [{ propertyName: "_content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: `<div #content><ng-content /></div>`, isInline: true, styles: ["monkey-option{display:flex;position:relative;cursor:pointer;padding:16px;line-height:16px;font-size:14px;color:var(--mecx-color-gray-900);transition:all .1s ease-in-out}monkey-option>div{display:flex;white-space:normal;word-break:break-all}monkey-option:hover{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}monkey-option.mecx-option-disabled{color:var(--mecx-color-gray-400);background-color:#fff;cursor:default}monkey-option.mecx-option-selected{color:var(--mecx-color-theme-contrast-main);background-color:var(--mecx-color-theme-main)}.ng-animating monkey-option.mecx-option-selected{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyOptionComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'monkey-option', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: `<div #content><ng-content /></div>`, encapsulation: ViewEncapsulation.None, host: {
35
+ 'data-testid': 'monkey-option',
36
+ '[attr.id]': 'id',
37
+ class: 'mecx-option',
38
+ '[class.mecx-option-disabled]': 'disabled',
39
+ '[class.mecx-option-selected]': 'selected',
40
+ '[attr.tabindex]': 'disabled ? -1 : tabIndex'
41
+ }, styles: ["monkey-option{display:flex;position:relative;cursor:pointer;padding:16px;line-height:16px;font-size:14px;color:var(--mecx-color-gray-900);transition:all .1s ease-in-out}monkey-option>div{display:flex;white-space:normal;word-break:break-all}monkey-option:hover{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}monkey-option.mecx-option-disabled{color:var(--mecx-color-gray-400);background-color:#fff;cursor:default}monkey-option.mecx-option-selected{color:var(--mecx-color-theme-contrast-main);background-color:var(--mecx-color-theme-main)}.ng-animating monkey-option.mecx-option-selected{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}\n"] }]
42
+ }], propDecorators: { _content: [{
43
+ type: ViewChild,
44
+ args: ['content', { static: true }]
45
+ }], value: [{
46
+ type: Input
47
+ }], disabled: [{
48
+ type: Input,
49
+ args: [{ transform: booleanAttribute }]
50
+ }], onClick: [{
51
+ type: HostListener,
52
+ args: ['click', ['$event']]
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1vcHRpb24vbW9ua2V5LW9wdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFrQjdDLE1BQU0sT0FBTyxxQkFBcUI7SUFoQmxDO1FBaUJtQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQU1YLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFNekQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBSUosT0FBRSxHQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBVzlEO0lBckJDLElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFXRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDOytHQTdCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4R0FPWixnQkFBZ0Isc2JBbkIxQixvQ0FBb0M7OzRGQVluQyxxQkFBcUI7a0JBaEJqQyxTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsb0NBQW9DLGlCQUUvQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGFBQWEsRUFBRSxlQUFlO3dCQUM5QixXQUFXLEVBQUUsSUFBSTt3QkFDakIsS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLDhCQUE4QixFQUFFLFVBQVU7d0JBQzFDLDhCQUE4QixFQUFFLFVBQVU7d0JBQzFDLGlCQUFpQixFQUFFLDBCQUEwQjtxQkFDOUM7OEJBS3VDLFFBQVE7c0JBQS9DLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFN0IsS0FBSztzQkFBYixLQUFLO2dCQUVrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQWV0QyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1vcHRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGA8ZGl2ICNjb250ZW50PjxuZy1jb250ZW50IC8+PC9kaXY+YCxcbiAgc3R5bGVVcmxzOiBbJy4vbW9ua2V5LW9wdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21vbmtleS1vcHRpb24nLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiAnbWVjeC1vcHRpb24nLFxuICAgICdbY2xhc3MubWVjeC1vcHRpb24tZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLm1lY3gtb3B0aW9uLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgJ1thdHRyLnRhYmluZGV4XSc6ICdkaXNhYmxlZCA/IC0xIDogdGFiSW5kZXgnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5T3B0aW9uQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBpZEdlbmVyYXRvciA9IGluamVjdChJZEdlbmVyYXRvcik7XG5cbiAgQFZpZXdDaGlsZCgnY29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pIF9jb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGdldCBkaXNwbGF5Q29udGVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5fY29udGVudD8ubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpO1xuICB9XG5cbiAgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICB0YWJJbmRleCA9IDA7XG5cbiAgYWN0aW9uITogRnVuY3Rpb247XG5cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZyA9IHRoaXMuaWRHZW5lcmF0b3IuZ2V0SWQoJ21lY3gtb3B0aW9uLScpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aW9uPy4oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,18 +1,14 @@
1
- /**************************
1
+ /** ************************
2
2
  * Copyright Monkey Exchange. All Rights Reserved
3
3
  * This style guide was developed by Monkey Exchange Team
4
4
  * MIT Licence
5
- **************************/
5
+ ************************* */
6
6
  import { CommonModule } from '@angular/common';
7
- import { Component, HostBinding, input } from '@angular/core';
7
+ import { Component, HostBinding, inject, Input, input, ViewEncapsulation } from '@angular/core';
8
+ import { IdGenerator } from '../../../utils';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
11
  export class MonkeySecurityLevelComponent {
11
- constructor() {
12
- this.score = input.required();
13
- this.label = input();
14
- this.strengthLabel = input();
15
- }
16
12
  get class() {
17
13
  if (this.score() === 0) {
18
14
  return 'empty';
@@ -28,14 +24,34 @@ export class MonkeySecurityLevelComponent {
28
24
  }
29
25
  return 'very-strong';
30
26
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeySecurityLevelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: MonkeySecurityLevelComponent, isStandalone: true, selector: "monkey-security-level", inputs: { score: { classPropertyName: "score", publicName: "score", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, strengthLabel: { classPropertyName: "strengthLabel", publicName: "strengthLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"body\">\n <div>\n <span data-testid=\"label\" *ngIf=\"label() as lb\">\n {{ lb }}\n </span>\n <span data-testid=\"str-label\" class=\"level-info\" *ngIf=\"strengthLabel() as strLabel\">\n {{ strLabel }}\n </span>\n </div>\n <div class=\"bar\"></div>\n</div>\n", styles: [":host{display:flex;align-items:center;gap:8px;width:100%}:host span{color:#545a63;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .level-info{color:#1f2024;margin-left:24px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .body{display:flex;flex-direction:column;align-items:baseline;width:100%}:host .bar{height:4px;width:100%;max-width:426px;border-radius:8px;background:#d3d6da;position:relative;overflow:hidden}:host .bar:before{content:\"\";display:block;position:absolute;height:100%;left:0;top:0;transition:all 1s}:host.very-strong .bar:before{background:#00875a;width:100%}:host.strong .bar:before{background:#00875a;width:80%}:host.medium .bar:before{background:#efa30e;width:66%}:host.weak .bar:before{background:#db0505;width:33%}:host.empty .bar:before{background:#db0505;width:0%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
27
+ get id() {
28
+ return this._id;
29
+ }
30
+ set id(value) {
31
+ this._id = value || this._uid;
32
+ }
33
+ constructor() {
34
+ this.label = input();
35
+ this.score = input.required();
36
+ this.strengthLabel = input();
37
+ this._uid = inject(IdGenerator).getId('monkey-security-level-');
38
+ // eslint-disable-next-line no-self-assign
39
+ this.id = this.id;
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySecurityLevelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MonkeySecurityLevelComponent, isStandalone: true, selector: "monkey-security-level", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, score: { classPropertyName: "score", publicName: "score", isSignal: true, isRequired: true, transformFunction: null }, strengthLabel: { classPropertyName: "strengthLabel", publicName: "strengthLabel", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, host: { attributes: { "data-testid": "monkey-security-level" }, properties: { "attr.id": "id", "id": "id", "class": "this.class" } }, ngImport: i0, template: "<div class=\"body\">\n <div>\n <span data-testid=\"label\" *ngIf=\"label() as lb\">\n {{ lb }}\n </span>\n <span data-testid=\"str-label\" class=\"level-info\" *ngIf=\"strengthLabel() as strLabel\">\n {{ strLabel }}\n </span>\n </div>\n <div class=\"bar\"></div>\n</div>\n", styles: ["monkey-security-level{display:flex;align-items:center;gap:8px;width:100%}monkey-security-level span{color:#545a63;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .level-info{color:#1f2024;margin-left:24px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .body{display:flex;flex-direction:column;align-items:baseline;width:100%}monkey-security-level .bar{height:4px;width:100%;max-width:426px;border-radius:8px;background:#d3d6da;position:relative;overflow:hidden}monkey-security-level .bar:before{content:\"\";display:block;position:absolute;height:100%;left:0;top:0;transition:all 1s}monkey-security-level.very-strong .bar:before{background:#00875a;width:100%}monkey-security-level.strong .bar:before{background:#00875a;width:80%}monkey-security-level.medium .bar:before{background:#efa30e;width:66%}monkey-security-level.weak .bar:before{background:#db0505;width:33%}monkey-security-level.empty .bar:before{background:#db0505;width:0%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
33
43
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeySecurityLevelComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySecurityLevelComponent, decorators: [{
35
45
  type: Component,
36
- args: [{ selector: 'monkey-security-level', standalone: true, imports: [CommonModule], template: "<div class=\"body\">\n <div>\n <span data-testid=\"label\" *ngIf=\"label() as lb\">\n {{ lb }}\n </span>\n <span data-testid=\"str-label\" class=\"level-info\" *ngIf=\"strengthLabel() as strLabel\">\n {{ strLabel }}\n </span>\n </div>\n <div class=\"bar\"></div>\n</div>\n", styles: [":host{display:flex;align-items:center;gap:8px;width:100%}:host span{color:#545a63;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .level-info{color:#1f2024;margin-left:24px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .body{display:flex;flex-direction:column;align-items:baseline;width:100%}:host .bar{height:4px;width:100%;max-width:426px;border-radius:8px;background:#d3d6da;position:relative;overflow:hidden}:host .bar:before{content:\"\";display:block;position:absolute;height:100%;left:0;top:0;transition:all 1s}:host.very-strong .bar:before{background:#00875a;width:100%}:host.strong .bar:before{background:#00875a;width:80%}:host.medium .bar:before{background:#efa30e;width:66%}:host.weak .bar:before{background:#db0505;width:33%}:host.empty .bar:before{background:#db0505;width:0%}\n"] }]
37
- }], propDecorators: { class: [{
46
+ args: [{ encapsulation: ViewEncapsulation.None, imports: [CommonModule], selector: 'monkey-security-level', standalone: true, host: {
47
+ 'data-testid': 'monkey-security-level',
48
+ '[attr.id]': 'id',
49
+ '[id]': 'id'
50
+ }, template: "<div class=\"body\">\n <div>\n <span data-testid=\"label\" *ngIf=\"label() as lb\">\n {{ lb }}\n </span>\n <span data-testid=\"str-label\" class=\"level-info\" *ngIf=\"strengthLabel() as strLabel\">\n {{ strLabel }}\n </span>\n </div>\n <div class=\"bar\"></div>\n</div>\n", styles: ["monkey-security-level{display:flex;align-items:center;gap:8px;width:100%}monkey-security-level span{color:#545a63;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .level-info{color:#1f2024;margin-left:24px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .body{display:flex;flex-direction:column;align-items:baseline;width:100%}monkey-security-level .bar{height:4px;width:100%;max-width:426px;border-radius:8px;background:#d3d6da;position:relative;overflow:hidden}monkey-security-level .bar:before{content:\"\";display:block;position:absolute;height:100%;left:0;top:0;transition:all 1s}monkey-security-level.very-strong .bar:before{background:#00875a;width:100%}monkey-security-level.strong .bar:before{background:#00875a;width:80%}monkey-security-level.medium .bar:before{background:#efa30e;width:66%}monkey-security-level.weak .bar:before{background:#db0505;width:33%}monkey-security-level.empty .bar:before{background:#db0505;width:0%}\n"] }]
51
+ }], ctorParameters: () => [], propDecorators: { class: [{
38
52
  type: HostBinding,
39
53
  args: ['class']
54
+ }], id: [{
55
+ type: Input
40
56
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXNlY3VyaXR5LWxldmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LXNlY3VyaXR5LWxldmVsL21vbmtleS1zZWN1cml0eS1sZXZlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zZWN1cml0eS1sZXZlbC9tb25rZXktc2VjdXJpdHktbGV2ZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NEJBSTRCO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVM5RCxNQUFNLE9BQU8sNEJBQTRCO0lBUHpDO1FBUUUsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxLQUFLLEVBQVUsQ0FBQztLQWtCakM7SUFoQkMsSUFDVyxLQUFLO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQzlDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1lBQy9DLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDOzhHQXBCVSw0QkFBNEI7a0dBQTVCLDRCQUE0Qiw2Z0JDZnpDLDJTQVdBLDY2QkRBWSxZQUFZOzsyRkFJWCw0QkFBNEI7a0JBUHhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFVWixLQUFLO3NCQURmLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1zZWN1cml0eS1sZXZlbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9ua2V5LXNlY3VyaXR5LWxldmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21vbmtleS1zZWN1cml0eS1sZXZlbC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5U2VjdXJpdHlMZXZlbENvbXBvbmVudCB7XG4gIHNjb3JlID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgc3RyZW5ndGhMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNjb3JlKCkgPT09IDApIHtcbiAgICAgIHJldHVybiAnZW1wdHknO1xuICAgIH1cbiAgICBpZiAodGhpcy5zY29yZSgpIDwgMzAwKSB7XG4gICAgICByZXR1cm4gJ3dlYWsnO1xuICAgIH1cbiAgICBpZiAodGhpcy5zY29yZSgpID49IDMwMCAmJiB0aGlzLnNjb3JlKCkgPCA4MDApIHtcbiAgICAgIHJldHVybiAnbWVkaXVtJztcbiAgICB9XG4gICAgaWYgKHRoaXMuc2NvcmUoKSA+PSA4MDAgJiYgdGhpcy5zY29yZSgpIDwgMTAwMCkge1xuICAgICAgcmV0dXJuICdzdHJvbmcnO1xuICAgIH1cbiAgICByZXR1cm4gJ3Zlcnktc3Ryb25nJztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJvZHlcIj5cbiAgPGRpdj5cbiAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImxhYmVsXCIgKm5nSWY9XCJsYWJlbCgpIGFzIGxiXCI+XG4gICAgICB7eyBsYiB9fVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBkYXRhLXRlc3RpZD1cInN0ci1sYWJlbFwiIGNsYXNzPVwibGV2ZWwtaW5mb1wiICpuZ0lmPVwic3RyZW5ndGhMYWJlbCgpIGFzIHN0ckxhYmVsXCI+XG4gICAgICB7eyBzdHJMYWJlbCB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJiYXJcIj48L2Rpdj5cbjwvZGl2PlxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXNlY3VyaXR5LWxldmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LXNlY3VyaXR5LWxldmVsL21vbmtleS1zZWN1cml0eS1sZXZlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zZWN1cml0eS1sZXZlbC9tb25rZXktc2VjdXJpdHktbGV2ZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWU3QyxNQUFNLE9BQU8sNEJBQTRCO0lBT3ZDLElBQ1csS0FBSztRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN2QixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM5QyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQU1ELElBQ0ksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxFQUFFLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRDtRQXhDQSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFeEIsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUVqQyxrQkFBYSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBdUJ0QixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBY25FLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0E1Q1UsNEJBQTRCO21HQUE1Qiw0QkFBNEIsa3RCQ3RCekMsMlNBV0EsNmxDREFZLFlBQVk7OzRGQVdYLDRCQUE0QjtrQkFieEMsU0FBUztvQ0FDTyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsWUFBWSxDQUFDLFlBQ2IsdUJBQXVCLGNBQ3JCLElBQUksUUFHVjt3QkFDSixhQUFhLEVBQUUsdUJBQXVCO3dCQUN0QyxXQUFXLEVBQUUsSUFBSTt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7d0RBVVUsS0FBSztzQkFEZixXQUFXO3VCQUFDLE9BQU87Z0JBMEJoQixFQUFFO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIGlucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdtb25rZXktc2VjdXJpdHktbGV2ZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vbW9ua2V5LXNlY3VyaXR5LWxldmVsLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vbmtleS1zZWN1cml0eS1sZXZlbC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbW9ua2V5LXNlY3VyaXR5LWxldmVsJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2lkXSc6ICdpZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlTZWN1cml0eUxldmVsQ29tcG9uZW50IHtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgc2NvcmUgPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG5cbiAgc3RyZW5ndGhMYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNjb3JlKCkgPT09IDApIHtcbiAgICAgIHJldHVybiAnZW1wdHknO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNjb3JlKCkgPCAzMDApIHtcbiAgICAgIHJldHVybiAnd2Vhayc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NvcmUoKSA+PSAzMDAgJiYgdGhpcy5zY29yZSgpIDwgODAwKSB7XG4gICAgICByZXR1cm4gJ21lZGl1bSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NvcmUoKSA+PSA4MDAgJiYgdGhpcy5zY29yZSgpIDwgMTAwMCkge1xuICAgICAgcmV0dXJuICdzdHJvbmcnO1xuICAgIH1cblxuICAgIHJldHVybiAndmVyeS1zdHJvbmcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBpbmplY3QoSWRHZW5lcmF0b3IpLmdldElkKCdtb25rZXktc2VjdXJpdHktbGV2ZWwtJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJib2R5XCI+XG4gIDxkaXY+XG4gICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJsYWJlbFwiICpuZ0lmPVwibGFiZWwoKSBhcyBsYlwiPlxuICAgICAge3sgbGIgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJzdHItbGFiZWxcIiBjbGFzcz1cImxldmVsLWluZm9cIiAqbmdJZj1cInN0cmVuZ3RoTGFiZWwoKSBhcyBzdHJMYWJlbFwiPlxuICAgICAge3sgc3RyTGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYmFyXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './monkey-select.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zZWxlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5LXNlbGVjdC5jb21wb25lbnQnO1xuIl19