monkey-style-guide-v2 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scss/directives/_index.scss +7 -0
- package/assets/scss/directives/_styles.scss +100 -0
- package/assets/scss/input/_index.scss +7 -0
- package/assets/scss/input/_styles.scss +43 -0
- package/assets/scss/partials/_index.scss +7 -0
- package/assets/scss/partials/_style-reset.scss +189 -0
- package/assets/scss/partials/_variables.scss +178 -0
- package/assets/scss/table/_index.scss +7 -0
- package/assets/scss/table/_styles.scss +45 -0
- package/assets/scss/theme.scss +11 -0
- package/assets/scss/typography/_function.scss +23 -0
- package/assets/scss/typography/_index.scss +9 -0
- package/assets/scss/typography/_mixins.scss +111 -0
- package/assets/scss/typography/_styles.scss +186 -0
- package/esm2022/lib/components/index.mjs +13 -1
- package/esm2022/lib/components/monkey-accordion/index.mjs +2 -0
- package/esm2022/lib/components/monkey-accordion/monkey-accordion.component.mjs +102 -0
- package/esm2022/lib/components/monkey-alert/index.mjs +2 -0
- package/esm2022/lib/components/monkey-alert/monkey-alert.component.mjs +50 -0
- package/esm2022/lib/components/monkey-breadcrumb/index.mjs +2 -0
- package/esm2022/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.mjs +56 -0
- package/esm2022/lib/components/monkey-button/monkey-button.component.mjs +27 -12
- package/esm2022/lib/components/monkey-checkbox/index.mjs +2 -0
- package/esm2022/lib/components/monkey-checkbox/monkey-checkbox.component.mjs +216 -0
- package/esm2022/lib/components/monkey-divider/index.mjs +2 -0
- package/esm2022/lib/components/monkey-divider/monkey-divider.component.mjs +44 -0
- package/esm2022/lib/components/monkey-form-field/form-field-control.mjs +15 -0
- package/esm2022/lib/components/monkey-form-field/form-field.mjs +250 -0
- package/esm2022/lib/components/monkey-form-field/index.mjs +5 -0
- package/esm2022/lib/components/monkey-form-field/module.mjs +21 -0
- package/esm2022/lib/components/monkey-form-field/utils.mjs +16 -0
- package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +31 -15
- package/esm2022/lib/components/monkey-icon-button/monkey-icon-button.component.mjs +25 -9
- package/esm2022/lib/components/monkey-input/index.mjs +5 -0
- package/esm2022/lib/components/monkey-input/monkey-input-currency.directive.mjs +187 -0
- package/esm2022/lib/components/monkey-input/monkey-input.directive.mjs +166 -0
- package/esm2022/lib/components/monkey-input/monkey-input.module.mjs +24 -0
- package/esm2022/lib/components/monkey-input/validators.mjs +17 -0
- package/esm2022/lib/components/monkey-option/index.mjs +2 -0
- package/esm2022/lib/components/monkey-option/monkey-option.component.mjs +54 -0
- package/esm2022/lib/components/monkey-security-level/monkey-security-level.component.mjs +30 -14
- package/esm2022/lib/components/monkey-select/index.mjs +2 -0
- package/esm2022/lib/components/monkey-select/monkey-select.component.mjs +352 -0
- package/esm2022/lib/components/monkey-status/monkey-status.component.mjs +28 -12
- package/esm2022/lib/components/monkey-table/components/pagination-action/pagination-action.mjs +53 -0
- package/esm2022/lib/components/monkey-table/components/pagination-label/pagination-label.mjs +34 -0
- package/esm2022/lib/components/monkey-table/components/pagination-size/pagination-size.mjs +57 -0
- package/esm2022/lib/components/monkey-table/directives/column-checked.mjs +109 -0
- package/esm2022/lib/components/monkey-table/directives/column-expansible.mjs +134 -0
- package/esm2022/lib/components/monkey-table/directives/column-sortable.mjs +97 -0
- package/esm2022/lib/components/monkey-table/directives/column-stick.mjs +28 -0
- package/esm2022/lib/components/monkey-table/index.mjs +10 -0
- package/esm2022/lib/components/monkey-table/table.mjs +132 -0
- package/esm2022/lib/components/monkey-table/table.module.mjs +60 -0
- package/esm2022/lib/components/monkey-toast/index.mjs +2 -0
- package/esm2022/lib/components/monkey-toast/monkey-toast.component.mjs +74 -0
- package/esm2022/lib/components/monkey-toggle/monkey-toggle.component.mjs +28 -14
- package/esm2022/lib/components/monkey-toggle-line/index.mjs +3 -0
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.mjs +2 -0
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.mjs +24 -0
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line.component.mjs +85 -0
- package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +4 -4
- package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +20 -7
- package/esm2022/lib/directives/error.mjs +18 -0
- package/esm2022/lib/directives/helper.mjs +18 -0
- package/esm2022/lib/directives/index.mjs +8 -0
- package/esm2022/lib/directives/info.mjs +18 -0
- package/esm2022/lib/directives/label.mjs +18 -0
- package/esm2022/lib/directives/module.mjs +26 -0
- package/esm2022/lib/directives/prefix.mjs +18 -0
- package/esm2022/lib/directives/suffix.mjs +43 -0
- package/esm2022/lib/interfaces/alert.mjs +2 -0
- package/esm2022/lib/interfaces/breadcrumb.mjs +2 -0
- package/esm2022/lib/interfaces/button.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +7 -0
- package/esm2022/lib/interfaces/sizes.mjs +2 -0
- package/esm2022/lib/interfaces/table.mjs +2 -0
- package/esm2022/lib/interfaces/toast.mjs +10 -0
- package/esm2022/lib/services/index.mjs +4 -0
- package/esm2022/lib/services/monkey-destroy.service.mjs +15 -0
- package/esm2022/lib/services/monkey-icons.service.mjs +45 -0
- package/esm2022/lib/services/monkey-toast.service.mjs +72 -0
- package/esm2022/public-api.mjs +6 -3
- package/esm2022/utils/id-generator.mjs +20 -0
- package/esm2022/utils/index.mjs +4 -0
- package/esm2022/utils/tests-utils.mjs +4 -0
- package/esm2022/utils/utils.mjs +10 -0
- package/fesm2022/monkey-style-guide-v2.mjs +2849 -129
- package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
- package/lib/components/index.d.ts +12 -0
- package/lib/components/monkey-accordion/index.d.ts +1 -0
- package/lib/components/monkey-accordion/monkey-accordion.component.d.ts +22 -0
- package/lib/components/monkey-alert/index.d.ts +1 -0
- package/lib/components/monkey-alert/monkey-alert.component.d.ts +23 -0
- package/lib/components/monkey-breadcrumb/index.d.ts +1 -0
- package/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.d.ts +18 -0
- package/lib/components/monkey-button/monkey-button.component.d.ts +11 -4
- package/lib/components/monkey-checkbox/index.d.ts +1 -0
- package/lib/components/monkey-checkbox/monkey-checkbox.component.d.ts +50 -0
- package/lib/components/monkey-divider/index.d.ts +1 -0
- package/lib/components/monkey-divider/monkey-divider.component.d.ts +20 -0
- package/lib/components/monkey-form-field/form-field-control.d.ts +18 -0
- package/lib/components/monkey-form-field/form-field.d.ts +74 -0
- package/lib/components/monkey-form-field/index.d.ts +4 -0
- package/lib/components/monkey-form-field/module.d.ts +7 -0
- package/lib/components/monkey-form-field/utils.d.ts +6 -0
- package/lib/components/monkey-icon/monkey-icon.component.d.ts +6 -1
- package/lib/components/monkey-icon-button/monkey-icon-button.component.d.ts +6 -1
- package/lib/components/monkey-input/index.d.ts +4 -0
- package/lib/components/monkey-input/monkey-input-currency.directive.d.ts +57 -0
- package/lib/components/monkey-input/monkey-input.directive.d.ts +46 -0
- package/lib/components/monkey-input/monkey-input.module.d.ts +8 -0
- package/lib/components/monkey-input/validators.d.ts +1 -0
- package/lib/components/monkey-option/index.d.ts +1 -0
- package/lib/components/monkey-option/monkey-option.component.d.ts +22 -0
- package/lib/components/monkey-security-level/monkey-security-level.component.d.ts +7 -2
- package/lib/components/monkey-select/index.d.ts +1 -0
- package/lib/components/monkey-select/monkey-select.component.d.ts +74 -0
- package/lib/components/monkey-status/monkey-status.component.d.ts +8 -3
- package/lib/components/monkey-table/components/pagination-action/pagination-action.d.ts +17 -0
- package/lib/components/monkey-table/components/pagination-label/pagination-label.d.ts +10 -0
- package/lib/components/monkey-table/components/pagination-size/pagination-size.d.ts +15 -0
- package/lib/components/monkey-table/directives/column-checked.d.ts +32 -0
- package/lib/components/monkey-table/directives/column-expansible.d.ts +25 -0
- package/lib/components/monkey-table/directives/column-sortable.d.ts +24 -0
- package/lib/components/monkey-table/directives/column-stick.d.ts +6 -0
- package/lib/components/monkey-table/index.d.ts +9 -0
- package/lib/components/monkey-table/table.d.ts +32 -0
- package/lib/components/monkey-table/table.module.d.ts +15 -0
- package/lib/components/monkey-toast/index.d.ts +1 -0
- package/lib/components/monkey-toast/monkey-toast.component.d.ts +26 -0
- package/lib/components/monkey-toggle/monkey-toggle.component.d.ts +6 -1
- package/lib/components/monkey-toggle-line/index.d.ts +2 -0
- package/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.d.ts +1 -0
- package/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.d.ts +16 -0
- package/lib/components/monkey-toggle-line/monkey-toggle-line.component.d.ts +24 -0
- package/lib/components/monkey-tooltip/tooltip/tooltip.component.d.ts +5 -1
- package/lib/directives/error.d.ts +5 -0
- package/lib/directives/helper.d.ts +5 -0
- package/lib/directives/index.d.ts +7 -0
- package/lib/directives/info.d.ts +5 -0
- package/lib/directives/label.d.ts +5 -0
- package/lib/directives/module.d.ts +12 -0
- package/lib/directives/prefix.d.ts +5 -0
- package/lib/directives/suffix.d.ts +9 -0
- package/lib/interfaces/alert.d.ts +1 -0
- package/lib/interfaces/breadcrumb.d.ts +5 -0
- package/lib/interfaces/button.d.ts +1 -0
- package/lib/interfaces/index.d.ts +6 -0
- package/lib/interfaces/sizes.d.ts +1 -0
- package/lib/interfaces/table.d.ts +4 -0
- package/lib/interfaces/toast.d.ts +22 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/monkey-destroy.service.d.ts +8 -0
- package/lib/services/monkey-icons.service.d.ts +14 -0
- package/lib/services/monkey-toast.service.d.ts +13 -0
- package/monkey-style-guide-v2-0.0.7.tgz +0 -0
- package/package.json +10 -3
- package/public-api.d.ts +5 -2
- package/utils/id-generator.d.ts +6 -0
- package/utils/index.d.ts +3 -0
- package/utils/tests-utils.d.ts +1 -0
- package/utils/utils.d.ts +1 -0
- package/monkey-style-guide-v2-0.0.5.tgz +0 -0
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
7
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
8
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, inject, Input, Optional, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
9
|
+
import { FormsModule, NgControl, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
10
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
11
|
+
import { IdGenerator } from '../../../utils/id-generator';
|
|
12
|
+
import { MonkeyDestroyService } from '../../services/monkey-destroy.service';
|
|
13
|
+
import { MonkeyIconsService } from '../../services/monkey-icons.service';
|
|
14
|
+
import { MonkeyFormFieldControl } from '../monkey-form-field/form-field-control';
|
|
15
|
+
import { MonkeyOptionComponent } from '../monkey-option/monkey-option.component';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
18
|
+
import * as i2 from "../monkey-form-field/form-field";
|
|
19
|
+
export class MonkeySelectComponent {
|
|
20
|
+
get disabled() {
|
|
21
|
+
if (this.ngControl && this.ngControl.disabled !== null) {
|
|
22
|
+
return this.ngControl.disabled;
|
|
23
|
+
}
|
|
24
|
+
return this._disabled;
|
|
25
|
+
}
|
|
26
|
+
set disabled(value) {
|
|
27
|
+
this._disabled = value;
|
|
28
|
+
if (this.focused) {
|
|
29
|
+
this.focused = false;
|
|
30
|
+
this.stateChanges.next();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get required() {
|
|
34
|
+
return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
|
|
35
|
+
}
|
|
36
|
+
set required(value) {
|
|
37
|
+
this._required = value;
|
|
38
|
+
this.stateChanges.next();
|
|
39
|
+
}
|
|
40
|
+
set value(value) {
|
|
41
|
+
if (this._value !== value) {
|
|
42
|
+
this._value = value;
|
|
43
|
+
this._onChange(value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
get value() {
|
|
47
|
+
return this._value;
|
|
48
|
+
}
|
|
49
|
+
constructor(overlay, changeDetectorRef, viewContainerRef, formField) {
|
|
50
|
+
this.overlay = overlay;
|
|
51
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
52
|
+
this.viewContainerRef = viewContainerRef;
|
|
53
|
+
this.formField = formField;
|
|
54
|
+
this.tabIndex = 0;
|
|
55
|
+
this.onChange = new EventEmitter();
|
|
56
|
+
this.placeholder = '';
|
|
57
|
+
this.loading = false;
|
|
58
|
+
this._value = null;
|
|
59
|
+
this.labelSelected = '';
|
|
60
|
+
this.overlayRef = null;
|
|
61
|
+
this.isOpen = false;
|
|
62
|
+
this._destroyed = inject(MonkeyDestroyService);
|
|
63
|
+
this.iconArrowDown = inject(MonkeyIconsService).arrowDown;
|
|
64
|
+
this.idGenerator = inject(IdGenerator);
|
|
65
|
+
this.ngControl = inject(NgControl, { self: true, optional: true });
|
|
66
|
+
this._elementRef = inject(ElementRef);
|
|
67
|
+
this.currency = false;
|
|
68
|
+
this.focused = false;
|
|
69
|
+
this._disabled = false;
|
|
70
|
+
this.id = this.idGenerator.getId('monkey-select-');
|
|
71
|
+
this.percent = false;
|
|
72
|
+
this.stateChanges = new Subject();
|
|
73
|
+
this.type = '';
|
|
74
|
+
this.onAnimationEnd = (event) => {
|
|
75
|
+
if (event.toState === 'closed') {
|
|
76
|
+
this.closeOverlay();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
this._onChange = () => { };
|
|
80
|
+
this._onTouched = () => { };
|
|
81
|
+
if (this.ngControl) {
|
|
82
|
+
this.ngControl.valueAccessor = this;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
changeControl() {
|
|
86
|
+
if (this.formField?.control) {
|
|
87
|
+
this.formField.control.loading = this.loading;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
changeSelected() {
|
|
91
|
+
setTimeout(() => {
|
|
92
|
+
if (this.options) {
|
|
93
|
+
this.options.forEach((opt) => {
|
|
94
|
+
opt.selected = opt.value === this.value;
|
|
95
|
+
});
|
|
96
|
+
this.updateSelectedLabel();
|
|
97
|
+
}
|
|
98
|
+
this.changeDetectorRef.markForCheck();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
initializeOptions() {
|
|
102
|
+
this.options.forEach((option) => {
|
|
103
|
+
if (!option.action) {
|
|
104
|
+
option.action = this.selectOption.bind(this, option);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
ngAfterContentInit() {
|
|
109
|
+
this.initializeOptions();
|
|
110
|
+
this.options.changes.subscribe((resp) => {
|
|
111
|
+
this.updateSelectedLabel();
|
|
112
|
+
this.initializeOptions();
|
|
113
|
+
this.changeSelected();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
ngOnDestroy() {
|
|
117
|
+
if (this.overlayRef) {
|
|
118
|
+
this.overlayRef.dispose();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
toggleDropdown() {
|
|
122
|
+
if (!this.disabled) {
|
|
123
|
+
if (this.isOpen) {
|
|
124
|
+
this.closeDropdown();
|
|
125
|
+
this._onTouched();
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.openDropdown();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
openDropdown() {
|
|
133
|
+
if (this.options?.length) {
|
|
134
|
+
this.formField.control.disableToBeDirty = true;
|
|
135
|
+
this.isOpen = true;
|
|
136
|
+
this.createOverlay();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
closeDropdown() {
|
|
140
|
+
this.changeDetectorRef.markForCheck();
|
|
141
|
+
this.isOpen = false;
|
|
142
|
+
this.focused = false;
|
|
143
|
+
this.formField.control.disableToBeDirty = false;
|
|
144
|
+
}
|
|
145
|
+
closeOverlay() {
|
|
146
|
+
if (this.overlayRef) {
|
|
147
|
+
this.overlayRef.dispose();
|
|
148
|
+
this.overlayRef = null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
createOverlay() {
|
|
152
|
+
if (this.overlayRef) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const offset = 4;
|
|
156
|
+
const positions = [
|
|
157
|
+
{
|
|
158
|
+
originX: 'start',
|
|
159
|
+
originY: 'bottom',
|
|
160
|
+
overlayX: 'start',
|
|
161
|
+
overlayY: 'top',
|
|
162
|
+
offsetY: offset
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
originX: 'start',
|
|
166
|
+
originY: 'top',
|
|
167
|
+
overlayX: 'start',
|
|
168
|
+
overlayY: 'bottom',
|
|
169
|
+
offsetY: -offset
|
|
170
|
+
}
|
|
171
|
+
];
|
|
172
|
+
let anchor = this.trigger;
|
|
173
|
+
let width = anchor.nativeElement.offsetWidth;
|
|
174
|
+
if (this.formField?.elementRef) {
|
|
175
|
+
const el = this.formField?.elementRef.nativeElement.querySelector('.mecx-form-field-body');
|
|
176
|
+
anchor = el;
|
|
177
|
+
width = el.offsetWidth;
|
|
178
|
+
}
|
|
179
|
+
const positionStrategy = this.overlay
|
|
180
|
+
.position()
|
|
181
|
+
.flexibleConnectedTo(anchor)
|
|
182
|
+
.withPositions(positions)
|
|
183
|
+
.withPush(true);
|
|
184
|
+
this.overlayRef = this.overlay.create({
|
|
185
|
+
positionStrategy,
|
|
186
|
+
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
187
|
+
width,
|
|
188
|
+
hasBackdrop: true,
|
|
189
|
+
backdropClass: 'no-class'
|
|
190
|
+
});
|
|
191
|
+
const portal = new TemplatePortal(this.overlayTemplate, this.viewContainerRef);
|
|
192
|
+
this.overlayRef.attach(portal);
|
|
193
|
+
this.overlayRef
|
|
194
|
+
.backdropClick()
|
|
195
|
+
.pipe(takeUntil(this._destroyed))
|
|
196
|
+
.subscribe(() => {
|
|
197
|
+
return this.closeDropdown();
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
selectOption(option) {
|
|
201
|
+
if (!option.disabled && !this.disabled) {
|
|
202
|
+
this.value = option.value;
|
|
203
|
+
this.updateSelectedLabel();
|
|
204
|
+
this.closeDropdown();
|
|
205
|
+
this._onChange(this.value);
|
|
206
|
+
this.onChange.emit(this.value);
|
|
207
|
+
this.options.forEach((opt) => {
|
|
208
|
+
opt.selected = opt.value === this.value;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
updateSelectedLabel() {
|
|
213
|
+
const selectedOption = this.options.find((opt) => {
|
|
214
|
+
return opt.value === this.value;
|
|
215
|
+
});
|
|
216
|
+
this.labelSelected = selectedOption ? selectedOption.displayContent : '';
|
|
217
|
+
}
|
|
218
|
+
writeValue(value) {
|
|
219
|
+
this.value = value;
|
|
220
|
+
this.changeSelected();
|
|
221
|
+
}
|
|
222
|
+
onContainerClick(event) {
|
|
223
|
+
if (this.disabled)
|
|
224
|
+
return;
|
|
225
|
+
this.openDropdown();
|
|
226
|
+
this._elementRef.nativeElement.focus();
|
|
227
|
+
}
|
|
228
|
+
_onFocus() {
|
|
229
|
+
if (!this.disabled) {
|
|
230
|
+
this.focused = true;
|
|
231
|
+
this._onTouched();
|
|
232
|
+
this.stateChanges.next();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
_onBlur() {
|
|
236
|
+
this.focused = false;
|
|
237
|
+
this.stateChanges.next();
|
|
238
|
+
}
|
|
239
|
+
registerOnChange(fn) {
|
|
240
|
+
this._onChange = fn;
|
|
241
|
+
}
|
|
242
|
+
registerOnTouched(fn) {
|
|
243
|
+
this._onTouched = fn;
|
|
244
|
+
}
|
|
245
|
+
setDisabledState(isDisabled) {
|
|
246
|
+
this.disabled = isDisabled;
|
|
247
|
+
}
|
|
248
|
+
ngOnChanges(changes) {
|
|
249
|
+
let hasChanges = false;
|
|
250
|
+
// eslint-disable-next-line dot-notation
|
|
251
|
+
const changesLoading = changes?.['loading'];
|
|
252
|
+
if (changesLoading?.currentValue !== changesLoading?.previousValue) {
|
|
253
|
+
hasChanges = true;
|
|
254
|
+
this.changeControl();
|
|
255
|
+
}
|
|
256
|
+
if (hasChanges) {
|
|
257
|
+
this.stateChanges.next();
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySelectComponent, deps: [{ token: i1.Overlay }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i2.MonkeyFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
261
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeySelectComponent, isStandalone: true, selector: "monkey-select", inputs: { tabIndex: "tabIndex", placeholder: "placeholder", loading: ["loading", "loading", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "monkey-select" }, listeners: { "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "class.mecx-select-disabled": "_disabled", "class.mecx-select-focused": "focused", "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex" }, classAttribute: "mecx-select" }, providers: [
|
|
262
|
+
// eslint-disable-next-line no-use-before-define
|
|
263
|
+
{ provide: MonkeyFormFieldControl, useExisting: MonkeySelectComponent },
|
|
264
|
+
MonkeyDestroyService
|
|
265
|
+
], queries: [{ propertyName: "options", predicate: MonkeyOptionComponent }], viewQueries: [{ propertyName: "overlayTemplate", first: true, predicate: ["overlayTemplate"], descendants: true }, { propertyName: "overlayEl", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"mecx-select-trigger\"\n [class.open]=\"isOpen\"\n (click)=\"toggleDropdown()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen\"\n #trigger\n>\n <div class=\"mecx-select-value\" [class.has-value]=\"value\">\n <span>{{ labelSelected || placeholder }}</span>\n </div>\n\n @if (!loading) {\n <div class=\"mecx-select-icon\" [innerHTML]=\"iconArrowDown\"></div>\n }\n</div>\n\n<ng-template #overlayTemplate>\n <div\n class=\"mecx-select-overlay\"\n #overlay\n [@animation]=\"isOpen ? 'open' : 'closed'\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <ng-content />\n </div>\n</ng-template>\n", styles: ["monkey-select{display:inline-flex;width:100%;min-width:0;position:relative}monkey-select:focus-visible,monkey-select:focus{outline:none}.mecx-select-trigger{width:100%;display:inline-flex;align-items:center;cursor:pointer;gap:8px;box-sizing:border-box}.mecx-select-trigger .mecx-select-value{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--mecx-color-gray-500);font-size:14px;line-height:24px;letter-spacing:.42px}.mecx-select-trigger .mecx-select-value.has-value{color:var(--mecx-color-gray-900)}.mecx-select-trigger .mecx-select-icon{display:flex;transition:all .2s ease-in-out}.mecx-select-trigger .mecx-select-icon svg *{stroke:var(--mecx-color-theme-main)}.mecx-select-disabled .mecx-select-trigger{background-color:var(--mecx-color-gray-50);border-color:var(--mecx-color-gray-50);cursor:default}.mecx-select-disabled .mecx-select-trigger .mecx-select-value{color:var(--mecx-color-gray-400)}.mecx-select-disabled .mecx-select-trigger .mecx-select-icon svg *{stroke:var(--mecx-color-gray-400)}.mecx-select-trigger.open .mecx-select-icon{transform:rotate(180deg)}.mecx-select-overlay{width:100%;background:#fff;border:2px solid var(--mecx-color-gray-400);overflow:hidden auto;border-radius:8px;box-shadow:0 16px 32px #d6d6d694;max-height:360px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }], animations: [
|
|
266
|
+
trigger('animation', [
|
|
267
|
+
transition(':enter', [
|
|
268
|
+
style({
|
|
269
|
+
opacity: 0,
|
|
270
|
+
transform: 'scaleY(.9)'
|
|
271
|
+
}),
|
|
272
|
+
animate('100ms ease-in-out', style({
|
|
273
|
+
opacity: 1,
|
|
274
|
+
transform: 'scaleY(1)'
|
|
275
|
+
}))
|
|
276
|
+
]),
|
|
277
|
+
state('closed', style({
|
|
278
|
+
transform: 'scaleY(.9)',
|
|
279
|
+
opacity: 0
|
|
280
|
+
})),
|
|
281
|
+
transition('closed <=> open', animate('200ms ease-in-out'))
|
|
282
|
+
])
|
|
283
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
284
|
+
}
|
|
285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySelectComponent, decorators: [{
|
|
286
|
+
type: Component,
|
|
287
|
+
args: [{ selector: 'monkey-select', standalone: true, imports: [ReactiveFormsModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
288
|
+
// eslint-disable-next-line no-use-before-define
|
|
289
|
+
{ provide: MonkeyFormFieldControl, useExisting: MonkeySelectComponent },
|
|
290
|
+
MonkeyDestroyService
|
|
291
|
+
], animations: [
|
|
292
|
+
trigger('animation', [
|
|
293
|
+
transition(':enter', [
|
|
294
|
+
style({
|
|
295
|
+
opacity: 0,
|
|
296
|
+
transform: 'scaleY(.9)'
|
|
297
|
+
}),
|
|
298
|
+
animate('100ms ease-in-out', style({
|
|
299
|
+
opacity: 1,
|
|
300
|
+
transform: 'scaleY(1)'
|
|
301
|
+
}))
|
|
302
|
+
]),
|
|
303
|
+
state('closed', style({
|
|
304
|
+
transform: 'scaleY(.9)',
|
|
305
|
+
opacity: 0
|
|
306
|
+
})),
|
|
307
|
+
transition('closed <=> open', animate('200ms ease-in-out'))
|
|
308
|
+
])
|
|
309
|
+
], host: {
|
|
310
|
+
'data-testid': 'monkey-select',
|
|
311
|
+
class: 'mecx-select',
|
|
312
|
+
'[class.mecx-select-disabled]': '_disabled',
|
|
313
|
+
'[class.mecx-select-focused]': 'focused',
|
|
314
|
+
'[attr.id]': 'id',
|
|
315
|
+
'[attr.tabindex]': 'disabled ? -1 : tabIndex',
|
|
316
|
+
'(focus)': '_onFocus()',
|
|
317
|
+
'(blur)': '_onBlur()'
|
|
318
|
+
}, template: "<div\n class=\"mecx-select-trigger\"\n [class.open]=\"isOpen\"\n (click)=\"toggleDropdown()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen\"\n #trigger\n>\n <div class=\"mecx-select-value\" [class.has-value]=\"value\">\n <span>{{ labelSelected || placeholder }}</span>\n </div>\n\n @if (!loading) {\n <div class=\"mecx-select-icon\" [innerHTML]=\"iconArrowDown\"></div>\n }\n</div>\n\n<ng-template #overlayTemplate>\n <div\n class=\"mecx-select-overlay\"\n #overlay\n [@animation]=\"isOpen ? 'open' : 'closed'\"\n (@animation.done)=\"onAnimationEnd($event)\"\n >\n <ng-content />\n </div>\n</ng-template>\n", styles: ["monkey-select{display:inline-flex;width:100%;min-width:0;position:relative}monkey-select:focus-visible,monkey-select:focus{outline:none}.mecx-select-trigger{width:100%;display:inline-flex;align-items:center;cursor:pointer;gap:8px;box-sizing:border-box}.mecx-select-trigger .mecx-select-value{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--mecx-color-gray-500);font-size:14px;line-height:24px;letter-spacing:.42px}.mecx-select-trigger .mecx-select-value.has-value{color:var(--mecx-color-gray-900)}.mecx-select-trigger .mecx-select-icon{display:flex;transition:all .2s ease-in-out}.mecx-select-trigger .mecx-select-icon svg *{stroke:var(--mecx-color-theme-main)}.mecx-select-disabled .mecx-select-trigger{background-color:var(--mecx-color-gray-50);border-color:var(--mecx-color-gray-50);cursor:default}.mecx-select-disabled .mecx-select-trigger .mecx-select-value{color:var(--mecx-color-gray-400)}.mecx-select-disabled .mecx-select-trigger .mecx-select-icon svg *{stroke:var(--mecx-color-gray-400)}.mecx-select-trigger.open .mecx-select-icon{transform:rotate(180deg)}.mecx-select-overlay{width:100%;background:#fff;border:2px solid var(--mecx-color-gray-400);overflow:hidden auto;border-radius:8px;box-shadow:0 16px 32px #d6d6d694;max-height:360px}\n"] }]
|
|
319
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i2.MonkeyFormFieldComponent, decorators: [{
|
|
320
|
+
type: Optional
|
|
321
|
+
}] }], propDecorators: { overlayTemplate: [{
|
|
322
|
+
type: ViewChild,
|
|
323
|
+
args: ['overlayTemplate']
|
|
324
|
+
}], overlayEl: [{
|
|
325
|
+
type: ViewChild,
|
|
326
|
+
args: ['overlay']
|
|
327
|
+
}], trigger: [{
|
|
328
|
+
type: ViewChild,
|
|
329
|
+
args: ['trigger']
|
|
330
|
+
}], options: [{
|
|
331
|
+
type: ContentChildren,
|
|
332
|
+
args: [MonkeyOptionComponent]
|
|
333
|
+
}], tabIndex: [{
|
|
334
|
+
type: Input
|
|
335
|
+
}], onChange: [{
|
|
336
|
+
type: Output
|
|
337
|
+
}], placeholder: [{
|
|
338
|
+
type: Input,
|
|
339
|
+
args: [{ required: true }]
|
|
340
|
+
}], loading: [{
|
|
341
|
+
type: Input,
|
|
342
|
+
args: [{ transform: booleanAttribute }]
|
|
343
|
+
}], disabled: [{
|
|
344
|
+
type: Input,
|
|
345
|
+
args: [{ transform: booleanAttribute }]
|
|
346
|
+
}], required: [{
|
|
347
|
+
type: Input,
|
|
348
|
+
args: [{ transform: booleanAttribute }]
|
|
349
|
+
}], value: [{
|
|
350
|
+
type: Input
|
|
351
|
+
}] } });
|
|
352
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zZWxlY3QvbW9ua2V5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zZWxlY3QvbW9ua2V5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFFN0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUVMLGdCQUFnQixFQUNoQix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFJTixTQUFTLEVBRVQsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBQ1gsU0FBUyxFQUNULG1CQUFtQixFQUNuQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFekUsT0FBTyxFQUFF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b3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybXNNb2R1bGUsXG4gIE5nQ29udHJvbCxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcbmltcG9ydCB7IE1vbmtleURlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbW9ua2V5LWRlc3Ryb3kuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlJY29uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb25rZXktaWNvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9tb25rZXktZm9ybS1maWVsZC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1vbmtleUZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICcuLi9tb25rZXktZm9ybS1maWVsZC9mb3JtLWZpZWxkLWNvbnRyb2wnO1xuaW1wb3J0IHsgTW9ua2V5T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vbW9ua2V5LW9wdGlvbi9tb25rZXktb3B0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1zZWxlY3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGVVcmw6ICdtb25rZXktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9ua2V5LXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICB7IHByb3ZpZGU6IE1vbmtleUZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBNb25rZXlTZWxlY3RDb21wb25lbnQgfSxcbiAgICBNb25rZXlEZXN0cm95U2VydmljZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignYW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVkoLjkpJ1xuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTAwbXMgZWFzZS1pbi1vdXQnLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVkoMSknXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgXSksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2Nsb3NlZCcsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVkoLjkpJyxcbiAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbignY2xvc2VkIDw9PiBvcGVuJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSlcbiAgICBdKVxuICBdLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21vbmtleS1zZWxlY3QnLFxuICAgIGNsYXNzOiAnbWVjeC1zZWxlY3QnLFxuICAgICdbY2xhc3MubWVjeC1zZWxlY3QtZGlzYWJsZWRdJzogJ19kaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5tZWN4LXNlbGVjdC1mb2N1c2VkXSc6ICdmb2N1c2VkJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2F0dHIudGFiaW5kZXhdJzogJ2Rpc2FibGVkID8gLTEgOiB0YWJJbmRleCcsXG4gICAgJyhmb2N1cyknOiAnX29uRm9jdXMoKScsXG4gICAgJyhibHVyKSc6ICdfb25CbHVyKCknXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5U2VsZWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlUZW1wbGF0ZScpIG92ZXJsYXlUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheScpIG92ZXJsYXlFbCE6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlcicpIHRyaWdnZXIhOiBFbGVtZW50UmVmO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9ua2V5T3B0aW9uQ29tcG9uZW50KSBvcHRpb25zITogUXVlcnlMaXN0PE1vbmtleU9wdGlvbkNvbXBvbmVudD47XG5cbiAgQElucHV0KCkgdGFiSW5kZXggPSAwO1xuXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwbGFjZWhvbGRlciA9ICcnO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkID8/IHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgPz8gZmFsc2U7XG4gIH1cblxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IHZhbHVlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBfdmFsdWUgPSBudWxsO1xuXG4gIGxhYmVsU2VsZWN0ZWQgPSAnJztcblxuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblxuICBpc09wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9kZXN0cm95ZWQgPSBpbmplY3QoTW9ua2V5RGVzdHJveVNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGljb25BcnJvd0Rvd24gPSBpbmplY3QoTW9ua2V5SWNvbnNTZXJ2aWNlKS5hcnJvd0Rvd247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZEdlbmVyYXRvciA9IGluamVjdChJZEdlbmVyYXRvcik7XG5cbiAgbmdDb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsID0gaW5qZWN0KE5nQ29udHJvbCwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KSE7XG5cbiAgcHJvdGVjdGVkIF9lbGVtZW50UmVmID1cbiAgICBpbmplY3Q8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFNlbGVjdEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgcmVhZG9ubHkgY3VycmVuY3k6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZyA9IHRoaXMuaWRHZW5lcmF0b3IuZ2V0SWQoJ21vbmtleS1zZWxlY3QtJyk7XG5cbiAgcmVhZG9ubHkgcGVyY2VudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1GaWVsZDogTW9ua2V5Rm9ybUZpZWxkQ29tcG9uZW50XG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VDb250cm9sKCkge1xuICAgIGlmICh0aGlzLmZvcm1GaWVsZD8uY29udHJvbCkge1xuICAgICAgdGhpcy5mb3JtRmllbGQuY29udHJvbC5sb2FkaW5nID0gdGhpcy5sb2FkaW5nO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlU2VsZWN0ZWQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICBvcHQuc2VsZWN0ZWQgPSBvcHQudmFsdWUgPT09IHRoaXMudmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkTGFiZWwoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgIGlmICghb3B0aW9uLmFjdGlvbikge1xuICAgICAgICBvcHRpb24uYWN0aW9uID0gdGhpcy5zZWxlY3RPcHRpb24uYmluZCh0aGlzLCBvcHRpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaW5pdGlhbGl6ZU9wdGlvbnMoKTtcbiAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKHJlc3ApID0+IHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRMYWJlbCgpO1xuICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgdGhpcy5jaGFuZ2VTZWxlY3RlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5mb3JtRmllbGQuY29udHJvbC5kaXNhYmxlVG9CZURpcnR5ID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5mb3JtRmllbGQuY29udHJvbC5kaXNhYmxlVG9CZURpcnR5ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBvbkFuaW1hdGlvbkVuZCA9IChldmVudDogYW55KSA9PiB7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9mZnNldCA9IDQ7XG4gICAgY29uc3QgcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgICAge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgb2Zmc2V0WTogb2Zmc2V0XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgb2Zmc2V0WTogLW9mZnNldFxuICAgICAgfVxuICAgIF07XG5cbiAgICBsZXQgYW5jaG9yID0gdGhpcy50cmlnZ2VyO1xuICAgIGxldCB3aWR0aCA9IGFuY2hvci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuXG4gICAgaWYgKHRoaXMuZm9ybUZpZWxkPy5lbGVtZW50UmVmKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMuZm9ybUZpZWxkPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm1lY3gtZm9ybS1maWVsZC1ib2R5Jyk7XG4gICAgICBhbmNob3IgPSBlbDtcbiAgICAgIHdpZHRoID0gZWwub2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGFuY2hvcilcbiAgICAgIC53aXRoUG9zaXRpb25zKHBvc2l0aW9ucylcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgd2lkdGgsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICduby1jbGFzcydcbiAgICB9KTtcblxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm92ZXJsYXlUZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcblxuICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfSk7XG4gIH1cblxuICBzZWxlY3RPcHRpb24ob3B0aW9uOiBNb25rZXlPcHRpb25Db21wb25lbnQpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbi5kaXNhYmxlZCAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbi52YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRMYWJlbCgpO1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcblxuICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2goKG9wdCkgPT4ge1xuICAgICAgICBvcHQuc2VsZWN0ZWQgPSBvcHQudmFsdWUgPT09IHRoaXMudmFsdWU7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkTGFiZWwoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZCgob3B0KSA9PiB7XG4gICAgICByZXR1cm4gb3B0LnZhbHVlID09PSB0aGlzLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMubGFiZWxTZWxlY3RlZCA9IHNlbGVjdGVkT3B0aW9uID8gc2VsZWN0ZWRPcHRpb24uZGlzcGxheUNvbnRlbnQgOiAnJztcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkKCk7XG4gIH1cblxuICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBfb25Gb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBfb25CbHVyKCkge1xuICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIF9vbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgX29uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGxldCBoYXNDaGFuZ2VzID0gZmFsc2U7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvblxuICAgIGNvbnN0IGNoYW5nZXNMb2FkaW5nID0gY2hhbmdlcz8uWydsb2FkaW5nJ107XG4gICAgaWYgKGNoYW5nZXNMb2FkaW5nPy5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXNMb2FkaW5nPy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICBoYXNDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2hhbmdlQ29udHJvbCgpO1xuICAgIH1cblxuICAgIGlmIChoYXNDaGFuZ2VzKSB7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwibWVjeC1zZWxlY3QtdHJpZ2dlclwiXG4gIFtjbGFzcy5vcGVuXT1cImlzT3BlblwiXG4gIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCJcbiAgcm9sZT1cImNvbWJvYm94XCJcbiAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW5cIlxuICAjdHJpZ2dlclxuPlxuICA8ZGl2IGNsYXNzPVwibWVjeC1zZWxlY3QtdmFsdWVcIiBbY2xhc3MuaGFzLXZhbHVlXT1cInZhbHVlXCI+XG4gICAgPHNwYW4+e3sgbGFiZWxTZWxlY3RlZCB8fCBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgQGlmICghbG9hZGluZykge1xuICAgIDxkaXYgY2xhc3M9XCJtZWN4LXNlbGVjdC1pY29uXCIgW2lubmVySFRNTF09XCJpY29uQXJyb3dEb3duXCI+PC9kaXY+XG4gIH1cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI292ZXJsYXlUZW1wbGF0ZT5cbiAgPGRpdlxuICAgIGNsYXNzPVwibWVjeC1zZWxlY3Qtb3ZlcmxheVwiXG4gICAgI292ZXJsYXlcbiAgICBbQGFuaW1hdGlvbl09XCJpc09wZW4gPyAnb3BlbicgOiAnY2xvc2VkJ1wiXG4gICAgKEBhbmltYXRpb24uZG9uZSk9XCJvbkFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,29 +1,45 @@
|
|
|
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 } 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 MonkeyStatusComponent {
|
|
12
|
+
get class() {
|
|
13
|
+
return `${this.type()} ${this.size()}`;
|
|
14
|
+
}
|
|
15
|
+
get id() {
|
|
16
|
+
return this._id;
|
|
17
|
+
}
|
|
18
|
+
set id(value) {
|
|
19
|
+
this._id = value || this._uid;
|
|
20
|
+
}
|
|
11
21
|
constructor() {
|
|
12
22
|
this.type = input.required();
|
|
13
23
|
this.size = input('md');
|
|
14
24
|
this.label = input();
|
|
25
|
+
this._uid = inject(IdGenerator).getId('monkey-status-');
|
|
26
|
+
// eslint-disable-next-line no-self-assign
|
|
27
|
+
this.id = this.id;
|
|
15
28
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: MonkeyStatusComponent, isStandalone: true, selector: "monkey-status", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n", styles: [":host{display:flex;align-items:center;gap:8px}:host span{color:#545a63;font-style:normal;font-weight:400;line-height:24px}:host .status{width:8px;height:8px;border-radius:50%;flex-shrink:0}:host.sm span{font-size:14px;letter-spacing:.42px}:host.sm .status{height:8px;width:8px}:host.md span{font-size:16px;letter-spacing:.48px}:host.md .status{height:12px;width:12px}:host.lg span{font-size:18px;letter-spacing:.52px}:host.lg .status{height:16px;width:16px}:host.default .status{background-color:#d3d6da}:host.success .status{background-color:#00875a}:host.warning .status{background-color:#efa30e}:host.error .status{background-color:#db0505}:host.question .status{background-color:#8d38fa}:host.info .status{background-color:#003687}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MonkeyStatusComponent, isStandalone: true, selector: "monkey-status", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, host: { attributes: { "data-testid": "monkey-status" }, properties: { "attr.id": "id", "id": "id", "class": "this.class" } }, ngImport: i0, template: "<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n", styles: [":host{display:flex;align-items:center;gap:8px}:host span{color:#545a63;font-style:normal;font-weight:400;line-height:24px}:host .status{width:8px;height:8px;border-radius:50%;flex-shrink:0}:host.sm span{font-size:14px;letter-spacing:.42px}:host.sm .status{height:8px;width:8px}:host.md span{font-size:16px;letter-spacing:.48px}:host.md .status{height:12px;width:12px}:host.lg span{font-size:18px;letter-spacing:.52px}:host.lg .status{height:16px;width:16px}:host.default .status{background-color:#d3d6da}:host.success .status{background-color:#00875a}:host.warning .status{background-color:#efa30e}:host.error .status{background-color:#db0505}:host.question .status{background-color:#8d38fa}:host.info .status{background-color:#003687}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
21
31
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyStatusComponent, decorators: [{
|
|
23
33
|
type: Component,
|
|
24
|
-
args: [{ selector: 'monkey-status', standalone: true, imports: [CommonModule],
|
|
25
|
-
|
|
34
|
+
args: [{ selector: 'monkey-status', standalone: true, imports: [CommonModule], host: {
|
|
35
|
+
'data-testid': 'monkey-status',
|
|
36
|
+
'[attr.id]': 'id',
|
|
37
|
+
'[id]': 'id'
|
|
38
|
+
}, template: "<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n", styles: [":host{display:flex;align-items:center;gap:8px}:host span{color:#545a63;font-style:normal;font-weight:400;line-height:24px}:host .status{width:8px;height:8px;border-radius:50%;flex-shrink:0}:host.sm span{font-size:14px;letter-spacing:.42px}:host.sm .status{height:8px;width:8px}:host.md span{font-size:16px;letter-spacing:.48px}:host.md .status{height:12px;width:12px}:host.lg span{font-size:18px;letter-spacing:.52px}:host.lg .status{height:16px;width:16px}:host.default .status{background-color:#d3d6da}:host.success .status{background-color:#00875a}:host.warning .status{background-color:#efa30e}:host.error .status{background-color:#db0505}:host.question .status{background-color:#8d38fa}:host.info .status{background-color:#003687}\n"] }]
|
|
39
|
+
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
26
40
|
type: HostBinding,
|
|
27
41
|
args: ['class']
|
|
42
|
+
}], id: [{
|
|
43
|
+
type: Input
|
|
28
44
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zdGF0dXMvbW9ua2V5LXN0YXR1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1zdGF0dXMvbW9ua2V5LXN0YXR1cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUI3QyxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLElBQ1csS0FBSztRQUNkLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQU1ELElBQ0ksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxFQUFFLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRDtRQXhCQSxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBRWhDLFNBQUksR0FBRyxLQUFLLENBQWEsSUFBSSxDQUFDLENBQUM7UUFFL0IsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBT2QsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQWMzRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBNUJVLHFCQUFxQjttR0FBckIscUJBQXFCLG9xQkN4QmxDLHFGQUlBLDB4QkRXWSxZQUFZOzs0RkFTWCxxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxRQUdqQjt3QkFDSixhQUFhLEVBQUUsZUFBZTt3QkFDOUIsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO3dEQVVVLEtBQUs7c0JBRGYsV0FBVzt1QkFBQyxPQUFPO2dCQVVoQixFQUFFO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleVNpemUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxudHlwZSBTdGF0dXMgPSAnZGVmYXVsdCcgfCAnc3VjY2VzcycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ3F1ZXN0aW9uJyB8ICdpbmZvJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9ua2V5LXN0YXR1cycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9ua2V5LXN0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tb25rZXktc3RhdHVzLmNvbXBvbmVudC5zY3NzJyxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdtb25rZXktc3RhdHVzJyxcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2lkXSc6ICdpZCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlTdGF0dXNDb21wb25lbnQge1xuICB0eXBlID0gaW5wdXQucmVxdWlyZWQ8U3RhdHVzPigpO1xuXG4gIHNpemUgPSBpbnB1dDxNb25rZXlTaXplPignbWQnKTtcblxuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHVibGljIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnR5cGUoKX0gJHt0aGlzLnNpemUoKX1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBpbmplY3QoSWRHZW5lcmF0b3IpLmdldElkKCdtb25rZXktc3RhdHVzLScpO1xuXG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlIHx8IHRoaXMuX3VpZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RhdHVzXCI+PC9kaXY+XG48c3BhbiAqbmdJZj1cImxhYmVsKCkgYXMgbGJcIj5cbiAge3sgbGIgfX1cbjwvc3Bhbj5cbiJdfQ==
|
package/esm2022/lib/components/monkey-table/components/pagination-action/pagination-action.mjs
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { Component, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
8
|
+
import { IdGenerator } from '../../../../../utils';
|
|
9
|
+
import { MonkeyButtonComponent } from '../../../monkey-button';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class MonkeyPaginationActionComponent {
|
|
12
|
+
get id() {
|
|
13
|
+
return this._id;
|
|
14
|
+
}
|
|
15
|
+
set id(value) {
|
|
16
|
+
this._id = value || this._uid;
|
|
17
|
+
}
|
|
18
|
+
constructor() {
|
|
19
|
+
this.next = false;
|
|
20
|
+
this.prev = false;
|
|
21
|
+
this.onAction = new EventEmitter();
|
|
22
|
+
this._uid = inject(IdGenerator).getId('monkey-pagination-action-');
|
|
23
|
+
// eslint-disable-next-line no-self-assign
|
|
24
|
+
this.id = this.id;
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyPaginationActionComponent, isStandalone: true, selector: "monkey-pagination-action", inputs: { disabled: "disabled", first: "first", last: "last", next: "next", prev: "prev", id: "id" }, outputs: { onAction: "onAction" }, host: { attributes: { "data-testid": "monkey-pagination-action" }, properties: { "attr.id": "id", "id": "id" } }, exportAs: ["monkeyPaginationAction"], ngImport: i0, template: "<monkey-button\n type=\"secondary\"\n size=\"sm\"\n (click)=\"onAction.next('prev')\"\n [disabled]=\"disabled || !prev\"\n>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.670 8.630 C 9.335 10.964,8.550 11.772,8.523 11.870 C 8.501 11.947,8.501 12.053,8.523 12.130 C 8.574 12.316,14.682 18.423,14.870 18.477 C 15.231 18.581,15.581 18.231,15.477 17.869 C 15.450 17.774,14.687 16.987,12.570 14.870 L 9.700 12.000 12.570 9.130 C 14.687 7.013,15.450 6.226,15.477 6.131 C 15.528 5.951,15.464 5.747,15.316 5.623 C 15.219 5.541,15.151 5.520,14.988 5.520 L 14.781 5.520 11.670 8.630 \"\n stroke=\"none\"\n fill-rule=\"evenodd\"\n fill=\"black\"\n ></path>\n </svg>\n</monkey-button>\n\n<monkey-button\n type=\"secondary\"\n size=\"sm\"\n (click)=\"onAction.next('next')\"\n [disabled]=\"disabled || !next\"\n>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.751 5.583 C 8.552 5.691,8.459 6.004,8.564 6.213 C 8.588 6.261,9.889 7.583,11.454 9.150 L 14.300 12.000 11.454 14.850 C 9.889 16.418,8.588 17.739,8.564 17.787 C 8.357 18.197,8.823 18.640,9.232 18.423 C 9.363 18.353,15.373 12.337,15.436 12.213 C 15.497 12.092,15.491 11.897,15.423 11.768 C 15.353 11.637,9.337 5.627,9.213 5.564 C 9.092 5.503,8.881 5.512,8.751 5.583 \"\n stroke=\"none\"\n fill-rule=\"evenodd\"\n fill=\"black\"\n ></path>\n </svg>\n</monkey-button>\n", styles: ["monkey-pagination-action{display:flex;align-items:center;gap:8px}monkey-pagination-action monkey-button .mecx-button .content{padding:unset}monkey-pagination-action monkey-button .mecx-button .content span{display:flex;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MonkeyButtonComponent, selector: "monkey-button", inputs: ["disabled", "size", "type", "id"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationActionComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ standalone: true, imports: [CommonModule, MonkeyButtonComponent], encapsulation: ViewEncapsulation.None, selector: 'monkey-pagination-action', exportAs: 'monkeyPaginationAction', host: {
|
|
32
|
+
'data-testid': 'monkey-pagination-action',
|
|
33
|
+
'[attr.id]': 'id',
|
|
34
|
+
'[id]': 'id'
|
|
35
|
+
}, template: "<monkey-button\n type=\"secondary\"\n size=\"sm\"\n (click)=\"onAction.next('prev')\"\n [disabled]=\"disabled || !prev\"\n>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.670 8.630 C 9.335 10.964,8.550 11.772,8.523 11.870 C 8.501 11.947,8.501 12.053,8.523 12.130 C 8.574 12.316,14.682 18.423,14.870 18.477 C 15.231 18.581,15.581 18.231,15.477 17.869 C 15.450 17.774,14.687 16.987,12.570 14.870 L 9.700 12.000 12.570 9.130 C 14.687 7.013,15.450 6.226,15.477 6.131 C 15.528 5.951,15.464 5.747,15.316 5.623 C 15.219 5.541,15.151 5.520,14.988 5.520 L 14.781 5.520 11.670 8.630 \"\n stroke=\"none\"\n fill-rule=\"evenodd\"\n fill=\"black\"\n ></path>\n </svg>\n</monkey-button>\n\n<monkey-button\n type=\"secondary\"\n size=\"sm\"\n (click)=\"onAction.next('next')\"\n [disabled]=\"disabled || !next\"\n>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.751 5.583 C 8.552 5.691,8.459 6.004,8.564 6.213 C 8.588 6.261,9.889 7.583,11.454 9.150 L 14.300 12.000 11.454 14.850 C 9.889 16.418,8.588 17.739,8.564 17.787 C 8.357 18.197,8.823 18.640,9.232 18.423 C 9.363 18.353,15.373 12.337,15.436 12.213 C 15.497 12.092,15.491 11.897,15.423 11.768 C 15.353 11.637,9.337 5.627,9.213 5.564 C 9.092 5.503,8.881 5.512,8.751 5.583 \"\n stroke=\"none\"\n fill-rule=\"evenodd\"\n fill=\"black\"\n ></path>\n </svg>\n</monkey-button>\n", styles: ["monkey-pagination-action{display:flex;align-items:center;gap:8px}monkey-pagination-action monkey-button .mecx-button .content{padding:unset}monkey-pagination-action monkey-button .mecx-button .content span{display:flex;height:100%}\n"] }]
|
|
36
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], first: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], last: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], next: [{
|
|
43
|
+
type: Input,
|
|
44
|
+
args: [{ required: true }]
|
|
45
|
+
}], prev: [{
|
|
46
|
+
type: Input,
|
|
47
|
+
args: [{ required: true }]
|
|
48
|
+
}], onAction: [{
|
|
49
|
+
type: Output
|
|
50
|
+
}], id: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS10YWJsZS9jb21wb25lbnRzL3BhZ2luYXRpb24tYWN0aW9uL3BhZ2luYXRpb24tYWN0aW9uLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktdGFibGUvY29tcG9uZW50cy9wYWdpbmF0aW9uLWFjdGlvbi9wYWdpbmF0aW9uLWFjdGlvbi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzZCQUk2QjtBQUU3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWdCL0QsTUFBTSxPQUFPLCtCQUErQjtJQWlCMUMsSUFDSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVEO1FBbkIyQixTQUFJLEdBQVksS0FBSyxDQUFDO1FBRXRCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFOUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQWN0RSwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBN0JVLCtCQUErQjttR0FBL0IsK0JBQStCLHFYQ3pCNUMsKy9DQStCQSxrU0RsQlksWUFBWSwrQkFBRSxxQkFBcUI7OzRGQVlsQywrQkFBK0I7a0JBZDNDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHFCQUFxQixDQUFDLGlCQUMvQixpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLDBCQUEwQixZQUMxQix3QkFBd0IsUUFHNUI7d0JBQ0osYUFBYSxFQUFFLDBCQUEwQjt3QkFDekMsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO3dEQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFcUIsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRUUsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWYsUUFBUTtzQkFBakIsTUFBTTtnQkFPSCxFQUFFO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9ua2V5LWJ1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNb25rZXlCdXR0b25Db21wb25lbnRdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ21vbmtleS1wYWdpbmF0aW9uLWFjdGlvbicsXG4gIGV4cG9ydEFzOiAnbW9ua2V5UGFnaW5hdGlvbkFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLWFjdGlvbi5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhZ2luYXRpb24tYWN0aW9uLnNjc3MnLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ21vbmtleS1wYWdpbmF0aW9uLWFjdGlvbicsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1tpZF0nOiAnaWQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5UGFnaW5hdGlvbkFjdGlvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRpc2FibGVkITogYm9vbGVhbjtcblxuICBASW5wdXQoKSBmaXJzdCE6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbGFzdCE6IGJvb2xlYW47XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbmV4dDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByZXY6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgb25BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBpbmplY3QoSWRHZW5lcmF0b3IpLmdldElkKCdtb25rZXktcGFnaW5hdGlvbi1hY3Rpb24tJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG4gIH1cbn1cbiIsIjxtb25rZXktYnV0dG9uXG4gIHR5cGU9XCJzZWNvbmRhcnlcIlxuICBzaXplPVwic21cIlxuICAoY2xpY2spPVwib25BY3Rpb24ubmV4dCgncHJldicpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8ICFwcmV2XCJcbj5cbiAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTEuNjcwIDguNjMwIEMgOS4zMzUgMTAuOTY0LDguNTUwIDExLjc3Miw4LjUyMyAxMS44NzAgQyA4LjUwMSAxMS45NDcsOC41MDEgMTIuMDUzLDguNTIzIDEyLjEzMCBDIDguNTc0IDEyLjMxNiwxNC42ODIgMTguNDIzLDE0Ljg3MCAxOC40NzcgQyAxNS4yMzEgMTguNTgxLDE1LjU4MSAxOC4yMzEsMTUuNDc3IDE3Ljg2OSBDIDE1LjQ1MCAxNy43NzQsMTQuNjg3IDE2Ljk4NywxMi41NzAgMTQuODcwIEwgOS43MDAgMTIuMDAwIDEyLjU3MCA5LjEzMCBDIDE0LjY4NyA3LjAxMywxNS40NTAgNi4yMjYsMTUuNDc3IDYuMTMxIEMgMTUuNTI4IDUuOTUxLDE1LjQ2NCA1Ljc0NywxNS4zMTYgNS42MjMgQyAxNS4yMTkgNS41NDEsMTUuMTUxIDUuNTIwLDE0Ljk4OCA1LjUyMCBMIDE0Ljc4MSA1LjUyMCAxMS42NzAgOC42MzAgXCJcbiAgICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBmaWxsPVwiYmxhY2tcIlxuICAgID48L3BhdGg+XG4gIDwvc3ZnPlxuPC9tb25rZXktYnV0dG9uPlxuXG48bW9ua2V5LWJ1dHRvblxuICB0eXBlPVwic2Vjb25kYXJ5XCJcbiAgc2l6ZT1cInNtXCJcbiAgKGNsaWNrKT1cIm9uQWN0aW9uLm5leHQoJ25leHQnKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAhbmV4dFwiXG4+XG4gIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTguNzUxIDUuNTgzIEMgOC41NTIgNS42OTEsOC40NTkgNi4wMDQsOC41NjQgNi4yMTMgQyA4LjU4OCA2LjI2MSw5Ljg4OSA3LjU4MywxMS40NTQgOS4xNTAgTCAxNC4zMDAgMTIuMDAwIDExLjQ1NCAxNC44NTAgQyA5Ljg4OSAxNi40MTgsOC41ODggMTcuNzM5LDguNTY0IDE3Ljc4NyBDIDguMzU3IDE4LjE5Nyw4LjgyMyAxOC42NDAsOS4yMzIgMTguNDIzIEMgOS4zNjMgMTguMzUzLDE1LjM3MyAxMi4zMzcsMTUuNDM2IDEyLjIxMyBDIDE1LjQ5NyAxMi4wOTIsMTUuNDkxIDExLjg5NywxNS40MjMgMTEuNzY4IEMgMTUuMzUzIDExLjYzNyw5LjMzNyA1LjYyNyw5LjIxMyA1LjU2NCBDIDkuMDkyIDUuNTAzLDguODgxIDUuNTEyLDguNzUxIDUuNTgzIFwiXG4gICAgICBzdHJva2U9XCJub25lXCJcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZmlsbD1cImJsYWNrXCJcbiAgICA+PC9wYXRoPlxuICA8L3N2Zz5cbjwvbW9ua2V5LWJ1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { Component, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
7
|
+
import { IdGenerator } from '../../../../../utils';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class MonkeyPaginationLabelComponent {
|
|
10
|
+
get id() {
|
|
11
|
+
return this._id;
|
|
12
|
+
}
|
|
13
|
+
set id(value) {
|
|
14
|
+
this._id = value || this._uid;
|
|
15
|
+
}
|
|
16
|
+
constructor() {
|
|
17
|
+
this._uid = inject(IdGenerator).getId('monkey-pagination-label-');
|
|
18
|
+
// eslint-disable-next-line no-self-assign
|
|
19
|
+
this.id = this.id;
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyPaginationLabelComponent, isStandalone: true, selector: "monkey-pagination-label", inputs: { id: "id" }, host: { attributes: { "data-testid": "monkey-pagination-label" }, properties: { "attr.id": "id", "id": "id" } }, exportAs: ["monkeyPaginationLabel"], ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["monkey-pagination-label{font-size:12px}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationLabelComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ standalone: true, encapsulation: ViewEncapsulation.None, selector: 'monkey-pagination-label', exportAs: 'monkeyPaginationLabel', host: {
|
|
27
|
+
'data-testid': 'monkey-pagination-label',
|
|
28
|
+
'[attr.id]': 'id',
|
|
29
|
+
'[id]': 'id'
|
|
30
|
+
}, template: "<ng-content></ng-content>\n", styles: ["monkey-pagination-label{font-size:12px}\n"] }]
|
|
31
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1sYWJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LXRhYmxlL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1sYWJlbC9wYWdpbmF0aW9uLWxhYmVsLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktdGFibGUvY29tcG9uZW50cy9wYWdpbmF0aW9uLWxhYmVsL3BhZ2luYXRpb24tbGFiZWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFlbkQsTUFBTSxPQUFPLDhCQUE4QjtJQUt6QyxJQUNJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQ7UUFiVSxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBY3JFLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDcEIsQ0FBQzsrR0FqQlUsOEJBQThCO21HQUE5Qiw4QkFBOEIsK1BDdEIzQyw2QkFDQTs7NEZEcUJhLDhCQUE4QjtrQkFiMUMsU0FBUztpQ0FDSSxJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksWUFDM0IseUJBQXlCLFlBQ3pCLHVCQUF1QixRQUczQjt3QkFDSixhQUFhLEVBQUUseUJBQXlCO3dCQUN4QyxXQUFXLEVBQUUsSUFBSTt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7d0RBUUcsRUFBRTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ21vbmtleS1wYWdpbmF0aW9uLWxhYmVsJyxcbiAgZXhwb3J0QXM6ICdtb25rZXlQYWdpbmF0aW9uTGFiZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi1sYWJlbC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3BhZ2luYXRpb24tbGFiZWwuc2NzcycsXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbW9ua2V5LXBhZ2luYXRpb24tbGFiZWwnLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbaWRdJzogJ2lkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleVBhZ2luYXRpb25MYWJlbENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBfdWlkID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LXBhZ2luYXRpb24tbGFiZWwtJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|