monkey-style-guide-v2 0.0.20 → 0.0.22
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 +1 -0
- package/assets/scss/directives/_popover.scss +81 -0
- package/assets/scss/theme.scss +5 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +11 -20
- package/esm2022/lib/components/action-bar/action-bar.component.mjs +3 -3
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +1 -1
- package/esm2022/lib/components/button/button.component.mjs +6 -2
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +9 -13
- package/esm2022/lib/components/date-range/date-range.component.mjs +2 -2
- package/esm2022/lib/components/form-field/form-field-control.mjs +1 -1
- package/esm2022/lib/components/form-field/form-field.component.mjs +15 -18
- package/esm2022/lib/components/form-field/form-field.module.mjs +4 -2
- package/esm2022/lib/components/icon/icon.component.mjs +4 -4
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +2 -2
- package/esm2022/lib/components/index.mjs +2 -1
- package/esm2022/lib/components/modal/components/confirmation.component.mjs +68 -0
- package/esm2022/lib/components/modal/components/default.mjs +1 -6
- package/esm2022/lib/components/modal/modal-config.mjs +2 -3
- package/esm2022/lib/components/modal/modal-ref.mjs +9 -2
- package/esm2022/lib/components/modal/modal.component.mjs +8 -6
- package/esm2022/lib/components/modal/modal.module.mjs +4 -1
- package/esm2022/lib/components/modal/modal.service.mjs +44 -31
- package/esm2022/lib/components/modal/utils.mjs +2 -1
- package/esm2022/lib/components/option/option.component.mjs +21 -5
- package/esm2022/lib/components/radio-button/index.mjs +7 -0
- package/esm2022/lib/components/radio-button/radio-button.component.mjs +190 -0
- package/esm2022/lib/components/security-level/security-level.component.mjs +3 -3
- package/esm2022/lib/components/select/select.component.mjs +5 -9
- package/esm2022/lib/components/status/status.component.mjs +3 -3
- package/esm2022/lib/components/table/components/pagination-size/pagination-size.mjs +2 -2
- package/esm2022/lib/components/toast/toast.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.directive.mjs +12 -3
- package/esm2022/lib/directives/error.mjs +5 -5
- package/esm2022/lib/directives/helper.mjs +5 -5
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/directives/info.mjs +5 -5
- package/esm2022/lib/directives/label.mjs +5 -5
- package/esm2022/lib/directives/module.mjs +41 -35
- package/esm2022/lib/directives/popover.mjs +380 -0
- package/esm2022/lib/directives/prefix.mjs +5 -5
- package/esm2022/lib/directives/suffix.mjs +5 -5
- package/esm2022/lib/interfaces/breadcrumb.mjs +1 -1
- package/esm2022/lib/interfaces/index.mjs +2 -1
- package/esm2022/lib/interfaces/popover.mjs +2 -0
- package/esm2022/lib/interfaces/toast.mjs +2 -2
- package/esm2022/lib/services/dictionary.service.mjs +3 -3
- package/esm2022/lib/services/index.mjs +1 -2
- package/esm2022/lib/services/toast.service.mjs +8 -5
- package/esm2022/lib/tokens/index.mjs +3 -2
- package/esm2022/utils/icon.mjs +277 -0
- package/esm2022/utils/index.mjs +2 -1
- package/fesm2022/monkey-style-guide-v2.mjs +1184 -310
- package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
- package/lib/components/accordion/accordion.component.d.ts +0 -3
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +4 -4
- package/lib/components/button/button.component.d.ts +2 -0
- package/lib/components/checkbox/checkbox.component.d.ts +0 -3
- package/lib/components/form-field/form-field-control.d.ts +3 -3
- package/lib/components/form-field/form-field.component.d.ts +0 -5
- package/lib/components/form-field/form-field.module.d.ts +2 -1
- package/lib/components/icon/icon.component.d.ts +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/modal/components/confirmation.component.d.ts +12 -0
- package/lib/components/modal/components/default.d.ts +0 -5
- package/lib/components/modal/modal-config.d.ts +10 -6
- package/lib/components/modal/modal-ref.d.ts +1 -0
- package/lib/components/modal/modal.module.d.ts +10 -9
- package/lib/components/modal/modal.service.d.ts +4 -4
- package/lib/components/modal/utils.d.ts +3 -1
- package/lib/components/option/option.component.d.ts +4 -1
- package/lib/components/radio-button/index.d.ts +6 -0
- package/lib/components/radio-button/radio-button.component.d.ts +54 -0
- package/lib/components/select/select.component.d.ts +0 -3
- package/lib/components/toast/toast.component.d.ts +2 -2
- package/lib/components/tooltip/tooltip.directive.d.ts +1 -0
- package/lib/directives/error.d.ts +3 -3
- package/lib/directives/helper.d.ts +3 -3
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/info.d.ts +3 -3
- package/lib/directives/label.d.ts +3 -3
- package/lib/directives/module.d.ts +2 -1
- package/lib/directives/popover.d.ts +65 -0
- package/lib/directives/prefix.d.ts +3 -3
- package/lib/directives/suffix.d.ts +3 -3
- package/lib/interfaces/breadcrumb.d.ts +1 -1
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/popover.d.ts +7 -0
- package/lib/interfaces/toast.d.ts +5 -5
- package/lib/services/index.d.ts +0 -1
- package/lib/tokens/index.d.ts +2 -1
- package/monkey-style-guide-v2-0.0.22.tgz +0 -0
- package/package.json +1 -1
- package/utils/icon.d.ts +8 -0
- package/utils/index.d.ts +1 -0
- package/esm2022/lib/services/icons.service.mjs +0 -56
- package/lib/services/icons.service.d.ts +0 -16
- package/monkey-style-guide-v2-0.0.20.tgz +0 -0
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { trigger, state, style, transition, animate, keyframes } from '@angular/animations';
|
|
2
|
-
import * as i1
|
|
3
|
-
import { CommonModule,
|
|
2
|
+
import * as i1 from '@angular/common';
|
|
3
|
+
import { CommonModule, NgTemplateOutlet, CurrencyPipe, DOCUMENT } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Injectable,
|
|
6
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
|
-
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
8
|
-
import * as i1 from '@angular/cdk/overlay';
|
|
9
|
-
import { OverlayConfig, OverlayRef } from '@angular/cdk/overlay';
|
|
5
|
+
import { Injectable, input, Component, TemplateRef, inject, booleanAttribute, Input, ViewEncapsulation, HostBinding, output, effect, ElementRef, HostListener, Directive, InjectionToken, EventEmitter, Output, ViewContainerRef, NgZone, DestroyRef, Optional, Inject, NgModule, Injector, ChangeDetectorRef, forwardRef, ChangeDetectionStrategy, ContentChildren, LOCALE_ID, DEFAULT_CURRENCY_CODE, ContentChild, computed, ViewChildren, ViewChild } from '@angular/core';
|
|
10
6
|
import { Router, NavigationStart } from '@angular/router';
|
|
11
7
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
12
8
|
import * as i2 from '@angular/forms';
|
|
13
9
|
import { NgControl, FormControlDirective, NgModel, FormControlName, FormGroupDirective, NG_VALUE_ACCESSOR, NG_VALIDATORS, ReactiveFormsModule, FormsModule, Validators } from '@angular/forms';
|
|
10
|
+
import * as i1$1 from '@angular/cdk/overlay';
|
|
11
|
+
import { Overlay, OverlayPositionBuilder, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';
|
|
12
|
+
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
13
|
+
import { filter, BehaviorSubject, map, merge, Subject, debounceTime, Subscription } from 'rxjs';
|
|
14
14
|
import { format, parseISO, subYears, addYears, subMonths, addMonths, getMonth, getYear, startOfWeek, startOfMonth, endOfWeek, endOfMonth, isSameMonth, isBefore, isAfter, isToday, addDays, isWithinInterval, subDays } from 'date-fns';
|
|
15
|
-
import { BehaviorSubject, map, merge, Subject, debounceTime, Subscription } from 'rxjs';
|
|
16
15
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
17
16
|
import { getSupportedInputTypes } from '@angular/cdk/platform';
|
|
18
17
|
import { hasModifierKey } from '@angular/cdk/keycodes';
|
|
@@ -81,138 +80,279 @@ function normalizeStringToSearch(text) {
|
|
|
81
80
|
}
|
|
82
81
|
|
|
83
82
|
/* eslint-disable max-len */
|
|
84
|
-
|
|
85
|
-
* Copyright Monkey Exchange. All Rights Reserved
|
|
86
|
-
* This style guide was developed by Monkey Exchange Team
|
|
87
|
-
* MIT Licence
|
|
88
|
-
************************* */
|
|
89
|
-
class MonkeyIconsService {
|
|
83
|
+
class UtilIconComponent {
|
|
90
84
|
constructor() {
|
|
91
|
-
this.
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
85
|
+
this.name = input.required();
|
|
86
|
+
}
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: UtilIconComponent, isStandalone: true, selector: "util-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
89
|
+
@switch (name()) {
|
|
90
|
+
@case ('clear') {
|
|
91
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none">
|
|
92
|
+
<path
|
|
93
|
+
d="M7.815 7.277a.802.802 0 0 0-.459.349c-.103.167-.123.529-.038.694.028.055.854.906 1.836 1.89L10.939 12l-1.785 1.79c-.982.985-1.808 1.835-1.836 1.89a.926.926 0 0 0-.051.324c0 .494.414.812.922.707.183-.038.266-.114 2.001-1.844L12 13.062l1.81 1.805c1.731 1.725 1.818 1.806 2 1.844.58.12 1.021-.321.901-.901-.038-.182-.119-.269-1.844-2L13.062 12l1.805-1.81c1.73-1.735 1.806-1.818 1.844-2.001.105-.508-.213-.922-.707-.922a.926.926 0 0 0-.324.051c-.055.028-.905.854-1.89 1.836L12 10.939l-1.79-1.785c-.984-.982-1.826-1.803-1.87-1.825a.99.99 0 0 0-.525-.052"
|
|
94
|
+
fill-rule="evenodd"
|
|
95
|
+
fill="var(--mecx-color-gray-900)"
|
|
96
|
+
/>
|
|
97
|
+
</svg>
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@case ('calendar') {
|
|
101
|
+
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
102
|
+
<path
|
|
103
|
+
d="M7.815 1.277a.8.8 0 0 0-.462.354c-.087.139-.094.198-.107.875l-.013.725-1.347.019c-1.236.018-1.371.026-1.646.107A2.807 2.807 0 0 0 2.352 5.26l-.092.32v13.84l.092.32a2.797 2.797 0 0 0 1.908 1.908l.32.092h14.84l.32-.092a2.797 2.797 0 0 0 1.908-1.908l.092-.32V5.58l-.092-.32a2.807 2.807 0 0 0-1.888-1.903c-.276-.081-.41-.089-1.65-.107l-1.35-.019v-.593c0-.757-.042-.96-.238-1.156-.349-.349-.903-.279-1.169.149-.087.139-.094.198-.107.879l-.014.73H8.76l-.001-.61c-.001-.68-.039-.91-.179-1.094-.159-.209-.502-.325-.765-.259M7.246 5.49c.013.681.02.74.107.879.357.574 1.223.443 1.363-.207.024-.113.044-.475.044-.804V4.76h6.472l.014.73c.013.681.02.74.107.879.357.574 1.223.443 1.363-.207.024-.113.044-.475.044-.804V4.76h1.238c1.452 0 1.525.014 1.876.366.352.351.366.424.366 1.876V8.24H3.756l.012-1.31c.012-1.277.014-1.314.104-1.482.155-.29.475-.562.768-.651.055-.016.661-.032 1.346-.034l1.246-.003.014.73m12.994 9.008c0 4.664-.001 4.742-.081 4.956-.109.29-.415.596-.705.705-.215.08-.28.081-7.454.081-7.159 0-7.239-.001-7.453-.081-.245-.091-.544-.363-.679-.615l-.088-.164-.011-4.81-.01-4.81H20.24v4.738M6.7 12.028a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m5 0a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m5 0a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m-10 4a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m5 0a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048"
|
|
104
|
+
fill-rule="evenodd"
|
|
105
|
+
fill="var(--mecx-color-gray-900)"
|
|
106
|
+
/>
|
|
107
|
+
</svg>
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@case ('arrowDown') {
|
|
111
|
+
<svg
|
|
112
|
+
width="24"
|
|
113
|
+
height="24"
|
|
114
|
+
viewBox="0 0 24 24"
|
|
115
|
+
fill="none"
|
|
116
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
117
|
+
>
|
|
118
|
+
<path
|
|
119
|
+
d="M8 10L12 14L16 10"
|
|
120
|
+
stroke="var(--mecx-color-gray-900)"
|
|
121
|
+
stroke-width="1.5"
|
|
122
|
+
stroke-linecap="round"
|
|
123
|
+
stroke-linejoin="round"
|
|
124
|
+
/>
|
|
125
|
+
</svg>
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
@case ('check') {
|
|
129
|
+
<svg
|
|
130
|
+
width="12"
|
|
131
|
+
height="12"
|
|
132
|
+
viewBox="0 0 12 12"
|
|
133
|
+
fill="none"
|
|
134
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
135
|
+
>
|
|
136
|
+
<path
|
|
137
|
+
d="M9.808 2.528 C 9.752 2.542,9.671 2.574,9.628 2.599 C 9.585 2.625,8.414 3.781,7.025 5.168 L 4.500 7.690 3.475 6.667 C 2.865 6.059,2.414 5.624,2.360 5.594 C 2.137 5.467,1.822 5.478,1.603 5.620 C 1.226 5.863,1.141 6.369,1.419 6.715 C 1.558 6.887,4.068 9.375,4.140 9.411 C 4.366 9.525,4.634 9.525,4.860 9.411 C 4.931 9.376,10.438 3.892,10.581 3.715 C 10.688 3.582,10.742 3.425,10.742 3.250 C 10.742 2.758,10.293 2.410,9.808 2.528 "
|
|
138
|
+
stroke="none"
|
|
139
|
+
fill-rule="evenodd"
|
|
140
|
+
fill="var(--mecx-color-theme-contrast-500"
|
|
141
|
+
></path>
|
|
142
|
+
</svg>
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@case ('minus') {
|
|
146
|
+
<svg width="8" height="2" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
147
|
+
<path
|
|
148
|
+
d="M1.333 0.268 C 1.300 0.274,1.225 0.303,1.167 0.332 C 1.054 0.388,0.939 0.490,0.866 0.599 C 0.776 0.732,0.732 0.936,0.757 1.098 C 0.786 1.283,0.848 1.405,0.977 1.532 C 1.071 1.624,1.148 1.673,1.253 1.710 L 1.340 1.740 4.000 1.740 L 6.660 1.740 6.747 1.710 C 6.943 1.642,7.128 1.462,7.200 1.270 C 7.265 1.095,7.265 0.904,7.200 0.730 C 7.118 0.510,6.880 0.308,6.655 0.267 C 6.565 0.250,1.420 0.251,1.333 0.268"
|
|
149
|
+
stroke="none"
|
|
150
|
+
fill-rule="evenodd"
|
|
151
|
+
fill="var(--mecx-color-theme-contrast-500"
|
|
152
|
+
></path>
|
|
153
|
+
</svg>
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@case ('loading') {
|
|
157
|
+
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
158
|
+
<style>
|
|
159
|
+
.spinner_ajPY {
|
|
160
|
+
transform-origin: center;
|
|
161
|
+
animation: spinner_AtaB 0.75s infinite linear;
|
|
162
|
+
}
|
|
163
|
+
@keyframes spinner_AtaB {
|
|
164
|
+
100% {
|
|
165
|
+
transform: rotate(360deg);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
</style>
|
|
169
|
+
<path
|
|
170
|
+
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
|
171
|
+
opacity=".25"
|
|
172
|
+
/>
|
|
173
|
+
<path
|
|
174
|
+
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
|
175
|
+
class="spinner_ajPY"
|
|
176
|
+
/>
|
|
177
|
+
</svg>
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@case ('searchFail') {
|
|
181
|
+
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
182
|
+
<path
|
|
183
|
+
clip-rule="evenodd"
|
|
184
|
+
d="M18.934 11.467v0c0 4.124-3.343 7.467-7.467 7.467v0C7.343 18.934 4 15.591 4 11.467v0C4 7.343 7.343 4 11.467 4v0c4.124 0 7.467 3.343 7.467 7.467Z"
|
|
185
|
+
stroke="var(--mecx-color-gray-900)"
|
|
186
|
+
stroke-width="1.5"
|
|
187
|
+
stroke-linecap="round"
|
|
188
|
+
stroke-linejoin="round"
|
|
189
|
+
/>
|
|
190
|
+
<path
|
|
191
|
+
d="m20 20-3.25-3.25M13.815 9.11914 9.119 13.8151M13.815 13.8151 9.119 9.11914"
|
|
192
|
+
stroke="var(--mecx-color-gray-900)"
|
|
193
|
+
stroke-width="1.5"
|
|
194
|
+
stroke-linecap="round"
|
|
195
|
+
stroke-linejoin="round"
|
|
196
|
+
/>
|
|
197
|
+
</svg>
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
@case ('search') {
|
|
201
|
+
<svg
|
|
202
|
+
width="16"
|
|
203
|
+
height="16"
|
|
204
|
+
viewBox="0 0 16 16"
|
|
205
|
+
fill="none"
|
|
206
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
207
|
+
>
|
|
208
|
+
<path
|
|
209
|
+
d="M6.920 1.521 C 4.175 1.717,1.944 3.809,1.558 6.548 C 1.500 6.965,1.500 7.722,1.558 8.120 C 1.945 10.745,3.921 12.721,6.547 13.108 C 6.735 13.136,7.016 13.152,7.333 13.152 C 7.885 13.152,8.225 13.111,8.738 12.985 C 9.504 12.797,10.253 12.439,10.859 11.972 C 10.972 11.885,11.074 11.813,11.085 11.813 C 11.097 11.813,11.677 12.384,12.373 13.082 C 13.070 13.779,13.691 14.381,13.754 14.418 C 14.182 14.673,14.673 14.182,14.418 13.754 C 14.381 13.691,13.779 13.070,13.082 12.373 C 12.384 11.677,11.813 11.097,11.813 11.085 C 11.813 11.074,11.885 10.972,11.972 10.859 C 12.439 10.253,12.797 9.504,12.985 8.738 C 13.111 8.225,13.152 7.885,13.152 7.333 C 13.152 6.782,13.111 6.441,12.985 5.928 C 12.471 3.841,10.826 2.196,8.738 1.681 C 8.150 1.536,7.501 1.479,6.920 1.521 M8.277 2.586 C 10.023 2.962,11.414 4.208,11.943 5.870 C 12.118 6.421,12.145 6.615,12.145 7.333 C 12.145 8.052,12.118 8.246,11.943 8.797 C 11.473 10.272,10.272 11.473,8.797 11.943 C 8.246 12.118,8.052 12.145,7.333 12.145 C 6.615 12.145,6.421 12.118,5.870 11.943 C 4.394 11.473,3.193 10.272,2.724 8.797 C 2.547 8.242,2.521 8.052,2.522 7.333 C 2.522 6.615,2.549 6.419,2.724 5.870 C 3.244 4.236,4.636 2.971,6.320 2.602 C 6.679 2.523,6.858 2.510,7.440 2.520 C 7.898 2.527,8.066 2.540,8.277 2.586 "
|
|
210
|
+
stroke="none"
|
|
211
|
+
fill-rule="evenodd"
|
|
212
|
+
fill="var(--mecx-color-gray-900)"
|
|
213
|
+
></path>
|
|
214
|
+
</svg>
|
|
215
|
+
}
|
|
125
216
|
}
|
|
126
|
-
|
|
127
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyIconsService, providedIn: 'root' }); }
|
|
217
|
+
`, isInline: true }); }
|
|
128
218
|
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
130
|
-
type:
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UtilIconComponent, decorators: [{
|
|
220
|
+
type: Component,
|
|
131
221
|
args: [{
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
222
|
+
selector: 'util-icon',
|
|
223
|
+
standalone: true,
|
|
224
|
+
template: `
|
|
225
|
+
@switch (name()) {
|
|
226
|
+
@case ('clear') {
|
|
227
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none">
|
|
228
|
+
<path
|
|
229
|
+
d="M7.815 7.277a.802.802 0 0 0-.459.349c-.103.167-.123.529-.038.694.028.055.854.906 1.836 1.89L10.939 12l-1.785 1.79c-.982.985-1.808 1.835-1.836 1.89a.926.926 0 0 0-.051.324c0 .494.414.812.922.707.183-.038.266-.114 2.001-1.844L12 13.062l1.81 1.805c1.731 1.725 1.818 1.806 2 1.844.58.12 1.021-.321.901-.901-.038-.182-.119-.269-1.844-2L13.062 12l1.805-1.81c1.73-1.735 1.806-1.818 1.844-2.001.105-.508-.213-.922-.707-.922a.926.926 0 0 0-.324.051c-.055.028-.905.854-1.89 1.836L12 10.939l-1.79-1.785c-.984-.982-1.826-1.803-1.87-1.825a.99.99 0 0 0-.525-.052"
|
|
230
|
+
fill-rule="evenodd"
|
|
231
|
+
fill="var(--mecx-color-gray-900)"
|
|
232
|
+
/>
|
|
233
|
+
</svg>
|
|
234
|
+
}
|
|
135
235
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
236
|
+
@case ('calendar') {
|
|
237
|
+
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
238
|
+
<path
|
|
239
|
+
d="M7.815 1.277a.8.8 0 0 0-.462.354c-.087.139-.094.198-.107.875l-.013.725-1.347.019c-1.236.018-1.371.026-1.646.107A2.807 2.807 0 0 0 2.352 5.26l-.092.32v13.84l.092.32a2.797 2.797 0 0 0 1.908 1.908l.32.092h14.84l.32-.092a2.797 2.797 0 0 0 1.908-1.908l.092-.32V5.58l-.092-.32a2.807 2.807 0 0 0-1.888-1.903c-.276-.081-.41-.089-1.65-.107l-1.35-.019v-.593c0-.757-.042-.96-.238-1.156-.349-.349-.903-.279-1.169.149-.087.139-.094.198-.107.879l-.014.73H8.76l-.001-.61c-.001-.68-.039-.91-.179-1.094-.159-.209-.502-.325-.765-.259M7.246 5.49c.013.681.02.74.107.879.357.574 1.223.443 1.363-.207.024-.113.044-.475.044-.804V4.76h6.472l.014.73c.013.681.02.74.107.879.357.574 1.223.443 1.363-.207.024-.113.044-.475.044-.804V4.76h1.238c1.452 0 1.525.014 1.876.366.352.351.366.424.366 1.876V8.24H3.756l.012-1.31c.012-1.277.014-1.314.104-1.482.155-.29.475-.562.768-.651.055-.016.661-.032 1.346-.034l1.246-.003.014.73m12.994 9.008c0 4.664-.001 4.742-.081 4.956-.109.29-.415.596-.705.705-.215.08-.28.081-7.454.081-7.159 0-7.239-.001-7.453-.081-.245-.091-.544-.363-.679-.615l-.088-.164-.011-4.81-.01-4.81H20.24v4.738M6.7 12.028a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m5 0a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m5 0a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m-10 4a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048m5 0a.967.967 0 0 0-.24.126.992.992 0 0 0 .097 1.695 1.005 1.005 0 0 0 1.352-.427c.096-.185.114-.59.035-.797a1.104 1.104 0 0 0-.521-.549c-.154-.07-.507-.094-.723-.048"
|
|
240
|
+
fill-rule="evenodd"
|
|
241
|
+
fill="var(--mecx-color-gray-900)"
|
|
242
|
+
/>
|
|
243
|
+
</svg>
|
|
244
|
+
}
|
|
145
245
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
246
|
+
@case ('arrowDown') {
|
|
247
|
+
<svg
|
|
248
|
+
width="24"
|
|
249
|
+
height="24"
|
|
250
|
+
viewBox="0 0 24 24"
|
|
251
|
+
fill="none"
|
|
252
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
253
|
+
>
|
|
254
|
+
<path
|
|
255
|
+
d="M8 10L12 14L16 10"
|
|
256
|
+
stroke="var(--mecx-color-gray-900)"
|
|
257
|
+
stroke-width="1.5"
|
|
258
|
+
stroke-linecap="round"
|
|
259
|
+
stroke-linejoin="round"
|
|
260
|
+
/>
|
|
261
|
+
</svg>
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
@case ('check') {
|
|
265
|
+
<svg
|
|
266
|
+
width="12"
|
|
267
|
+
height="12"
|
|
268
|
+
viewBox="0 0 12 12"
|
|
269
|
+
fill="none"
|
|
270
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
271
|
+
>
|
|
272
|
+
<path
|
|
273
|
+
d="M9.808 2.528 C 9.752 2.542,9.671 2.574,9.628 2.599 C 9.585 2.625,8.414 3.781,7.025 5.168 L 4.500 7.690 3.475 6.667 C 2.865 6.059,2.414 5.624,2.360 5.594 C 2.137 5.467,1.822 5.478,1.603 5.620 C 1.226 5.863,1.141 6.369,1.419 6.715 C 1.558 6.887,4.068 9.375,4.140 9.411 C 4.366 9.525,4.634 9.525,4.860 9.411 C 4.931 9.376,10.438 3.892,10.581 3.715 C 10.688 3.582,10.742 3.425,10.742 3.250 C 10.742 2.758,10.293 2.410,9.808 2.528 "
|
|
274
|
+
stroke="none"
|
|
275
|
+
fill-rule="evenodd"
|
|
276
|
+
fill="var(--mecx-color-theme-contrast-500"
|
|
277
|
+
></path>
|
|
278
|
+
</svg>
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
@case ('minus') {
|
|
282
|
+
<svg width="8" height="2" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
283
|
+
<path
|
|
284
|
+
d="M1.333 0.268 C 1.300 0.274,1.225 0.303,1.167 0.332 C 1.054 0.388,0.939 0.490,0.866 0.599 C 0.776 0.732,0.732 0.936,0.757 1.098 C 0.786 1.283,0.848 1.405,0.977 1.532 C 1.071 1.624,1.148 1.673,1.253 1.710 L 1.340 1.740 4.000 1.740 L 6.660 1.740 6.747 1.710 C 6.943 1.642,7.128 1.462,7.200 1.270 C 7.265 1.095,7.265 0.904,7.200 0.730 C 7.118 0.510,6.880 0.308,6.655 0.267 C 6.565 0.250,1.420 0.251,1.333 0.268"
|
|
285
|
+
stroke="none"
|
|
286
|
+
fill-rule="evenodd"
|
|
287
|
+
fill="var(--mecx-color-theme-contrast-500"
|
|
288
|
+
></path>
|
|
289
|
+
</svg>
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
@case ('loading') {
|
|
293
|
+
<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
294
|
+
<style>
|
|
295
|
+
.spinner_ajPY {
|
|
296
|
+
transform-origin: center;
|
|
297
|
+
animation: spinner_AtaB 0.75s infinite linear;
|
|
192
298
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}], ctorParameters: () => [{ type: i1.Overlay }] });
|
|
299
|
+
@keyframes spinner_AtaB {
|
|
300
|
+
100% {
|
|
301
|
+
transform: rotate(360deg);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
</style>
|
|
305
|
+
<path
|
|
306
|
+
d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
|
|
307
|
+
opacity=".25"
|
|
308
|
+
/>
|
|
309
|
+
<path
|
|
310
|
+
d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
|
|
311
|
+
class="spinner_ajPY"
|
|
312
|
+
/>
|
|
313
|
+
</svg>
|
|
314
|
+
}
|
|
210
315
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
316
|
+
@case ('searchFail') {
|
|
317
|
+
<svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
318
|
+
<path
|
|
319
|
+
clip-rule="evenodd"
|
|
320
|
+
d="M18.934 11.467v0c0 4.124-3.343 7.467-7.467 7.467v0C7.343 18.934 4 15.591 4 11.467v0C4 7.343 7.343 4 11.467 4v0c4.124 0 7.467 3.343 7.467 7.467Z"
|
|
321
|
+
stroke="var(--mecx-color-gray-900)"
|
|
322
|
+
stroke-width="1.5"
|
|
323
|
+
stroke-linecap="round"
|
|
324
|
+
stroke-linejoin="round"
|
|
325
|
+
/>
|
|
326
|
+
<path
|
|
327
|
+
d="m20 20-3.25-3.25M13.815 9.11914 9.119 13.8151M13.815 13.8151 9.119 9.11914"
|
|
328
|
+
stroke="var(--mecx-color-gray-900)"
|
|
329
|
+
stroke-width="1.5"
|
|
330
|
+
stroke-linecap="round"
|
|
331
|
+
stroke-linejoin="round"
|
|
332
|
+
/>
|
|
333
|
+
</svg>
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
@case ('search') {
|
|
337
|
+
<svg
|
|
338
|
+
width="16"
|
|
339
|
+
height="16"
|
|
340
|
+
viewBox="0 0 16 16"
|
|
341
|
+
fill="none"
|
|
342
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
343
|
+
>
|
|
344
|
+
<path
|
|
345
|
+
d="M6.920 1.521 C 4.175 1.717,1.944 3.809,1.558 6.548 C 1.500 6.965,1.500 7.722,1.558 8.120 C 1.945 10.745,3.921 12.721,6.547 13.108 C 6.735 13.136,7.016 13.152,7.333 13.152 C 7.885 13.152,8.225 13.111,8.738 12.985 C 9.504 12.797,10.253 12.439,10.859 11.972 C 10.972 11.885,11.074 11.813,11.085 11.813 C 11.097 11.813,11.677 12.384,12.373 13.082 C 13.070 13.779,13.691 14.381,13.754 14.418 C 14.182 14.673,14.673 14.182,14.418 13.754 C 14.381 13.691,13.779 13.070,13.082 12.373 C 12.384 11.677,11.813 11.097,11.813 11.085 C 11.813 11.074,11.885 10.972,11.972 10.859 C 12.439 10.253,12.797 9.504,12.985 8.738 C 13.111 8.225,13.152 7.885,13.152 7.333 C 13.152 6.782,13.111 6.441,12.985 5.928 C 12.471 3.841,10.826 2.196,8.738 1.681 C 8.150 1.536,7.501 1.479,6.920 1.521 M8.277 2.586 C 10.023 2.962,11.414 4.208,11.943 5.870 C 12.118 6.421,12.145 6.615,12.145 7.333 C 12.145 8.052,12.118 8.246,11.943 8.797 C 11.473 10.272,10.272 11.473,8.797 11.943 C 8.246 12.118,8.052 12.145,7.333 12.145 C 6.615 12.145,6.421 12.118,5.870 11.943 C 4.394 11.473,3.193 10.272,2.724 8.797 C 2.547 8.242,2.521 8.052,2.522 7.333 C 2.522 6.615,2.549 6.419,2.724 5.870 C 3.244 4.236,4.636 2.971,6.320 2.602 C 6.679 2.523,6.858 2.510,7.440 2.520 C 7.898 2.527,8.066 2.540,8.277 2.586 "
|
|
346
|
+
stroke="none"
|
|
347
|
+
fill-rule="evenodd"
|
|
348
|
+
fill="var(--mecx-color-gray-900)"
|
|
349
|
+
></path>
|
|
350
|
+
</svg>
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
`
|
|
354
|
+
}]
|
|
355
|
+
}] });
|
|
216
356
|
|
|
217
357
|
/** ************************
|
|
218
358
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
@@ -235,10 +375,8 @@ class MonkeyAccordionComponent {
|
|
|
235
375
|
this._id = value || this._uid;
|
|
236
376
|
}
|
|
237
377
|
constructor() {
|
|
238
|
-
this._icons = inject(MonkeyIconsService);
|
|
239
378
|
this.open = false;
|
|
240
379
|
this.disabled = false;
|
|
241
|
-
this.imgArrowDown = this._icons.arrowDown;
|
|
242
380
|
this._uid = inject(IdGenerator).getId('monkey-accordion-');
|
|
243
381
|
// eslint-disable-next-line no-self-assign
|
|
244
382
|
this.id = this.id;
|
|
@@ -249,22 +387,19 @@ class MonkeyAccordionComponent {
|
|
|
249
387
|
this.open = !this.open;
|
|
250
388
|
}
|
|
251
389
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
252
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyAccordionComponent, isStandalone: true, selector: "monkey-accordion", inputs: { open: ["open", "open", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], title: "title", id: "id" }, host: { attributes: { "data-testid": "monkey-accordion" }, properties: { "class.disabled": "disabled", "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<div class=\"header\" (click)=\"onClick()\">\n <div class=\"title\">\n @if (titleRef) {\n <ng-container *ngTemplateOutlet=\"titleRef\" />\n } @else {\n {{ titleStr }}\n }\n </div>\n <
|
|
390
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyAccordionComponent, isStandalone: true, selector: "monkey-accordion", inputs: { open: ["open", "open", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], title: "title", id: "id" }, host: { attributes: { "data-testid": "monkey-accordion" }, properties: { "class.disabled": "disabled", "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<div class=\"header\" (click)=\"onClick()\">\n <div class=\"title\">\n @if (titleRef) {\n <ng-container *ngTemplateOutlet=\"titleRef\" />\n } @else {\n {{ titleStr }}\n }\n </div>\n <util-icon class=\"icon\" name=\"arrowDown\" [class.rotated]=\"open\" />\n</div>\n<div class=\"content-wrapper\">\n @if (open) {\n <div [@content]>\n <div class=\"content\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;border-radius:16px;border:2px solid var(--mecx-color-gray-400);background:var(--mecx-color-white);overflow:hidden}:host .header{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:24px;cursor:pointer}:host .header .title{color:var(--mecx-color-gray-900);font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px}:host .header .icon{transform:rotate(0);transition:transform .2s ease-in-out}:host .header .icon.rotated{transform:rotate(180deg)}:host.disabled .header{cursor:not-allowed;background:var(--mecx-color-gray-200)}:host .content-wrapper{overflow:hidden}:host .content-wrapper .content{border-top:1px solid var(--mecx-color-gray-200);padding:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: UtilIconComponent, selector: "util-icon", inputs: ["name"] }], animations: [
|
|
253
391
|
trigger('content', [
|
|
254
392
|
state('void', style({
|
|
255
|
-
height: '0px'
|
|
256
|
-
overflow: 'hidden'
|
|
393
|
+
height: '0px'
|
|
257
394
|
})),
|
|
258
395
|
transition(':enter', [
|
|
259
396
|
animate('300ms ease-in-out', style({
|
|
260
|
-
height: '*'
|
|
261
|
-
overflow: 'hidden'
|
|
397
|
+
height: '*'
|
|
262
398
|
}))
|
|
263
399
|
]),
|
|
264
400
|
transition(':leave', [
|
|
265
401
|
animate('300ms ease-in-out', style({
|
|
266
|
-
height: '0px'
|
|
267
|
-
overflow: 'hidden'
|
|
402
|
+
height: '0px'
|
|
268
403
|
}))
|
|
269
404
|
])
|
|
270
405
|
])
|
|
@@ -272,7 +407,7 @@ class MonkeyAccordionComponent {
|
|
|
272
407
|
}
|
|
273
408
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyAccordionComponent, decorators: [{
|
|
274
409
|
type: Component,
|
|
275
|
-
args: [{ selector: 'monkey-accordion', standalone: true, imports: [CommonModule], host: {
|
|
410
|
+
args: [{ selector: 'monkey-accordion', standalone: true, imports: [CommonModule, UtilIconComponent], host: {
|
|
276
411
|
'data-testid': 'monkey-accordion',
|
|
277
412
|
'[class.disabled]': 'disabled',
|
|
278
413
|
'[attr.id]': 'id',
|
|
@@ -280,23 +415,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
280
415
|
}, animations: [
|
|
281
416
|
trigger('content', [
|
|
282
417
|
state('void', style({
|
|
283
|
-
height: '0px'
|
|
284
|
-
overflow: 'hidden'
|
|
418
|
+
height: '0px'
|
|
285
419
|
})),
|
|
286
420
|
transition(':enter', [
|
|
287
421
|
animate('300ms ease-in-out', style({
|
|
288
|
-
height: '*'
|
|
289
|
-
overflow: 'hidden'
|
|
422
|
+
height: '*'
|
|
290
423
|
}))
|
|
291
424
|
]),
|
|
292
425
|
transition(':leave', [
|
|
293
426
|
animate('300ms ease-in-out', style({
|
|
294
|
-
height: '0px'
|
|
295
|
-
overflow: 'hidden'
|
|
427
|
+
height: '0px'
|
|
296
428
|
}))
|
|
297
429
|
])
|
|
298
430
|
])
|
|
299
|
-
], template: "<div class=\"header\" (click)=\"onClick()\">\n <div class=\"title\">\n @if (titleRef) {\n <ng-container *ngTemplateOutlet=\"titleRef\" />\n } @else {\n {{ titleStr }}\n }\n </div>\n <
|
|
431
|
+
], template: "<div class=\"header\" (click)=\"onClick()\">\n <div class=\"title\">\n @if (titleRef) {\n <ng-container *ngTemplateOutlet=\"titleRef\" />\n } @else {\n {{ titleStr }}\n }\n </div>\n <util-icon class=\"icon\" name=\"arrowDown\" [class.rotated]=\"open\" />\n</div>\n<div class=\"content-wrapper\">\n @if (open) {\n <div [@content]>\n <div class=\"content\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;border-radius:16px;border:2px solid var(--mecx-color-gray-400);background:var(--mecx-color-white);overflow:hidden}:host .header{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:24px;cursor:pointer}:host .header .title{color:var(--mecx-color-gray-900);font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px}:host .header .icon{transform:rotate(0);transition:transform .2s ease-in-out}:host .header .icon.rotated{transform:rotate(180deg)}:host.disabled .header{cursor:not-allowed;background:var(--mecx-color-gray-200)}:host .content-wrapper{overflow:hidden}:host .content-wrapper .content{border-top:1px solid var(--mecx-color-gray-200);padding:24px}\n"] }]
|
|
300
432
|
}], ctorParameters: () => [], propDecorators: { open: [{
|
|
301
433
|
type: Input,
|
|
302
434
|
args: [{ transform: booleanAttribute }]
|
|
@@ -336,7 +468,7 @@ class MonkeyActionBarComponent {
|
|
|
336
468
|
</span>
|
|
337
469
|
|
|
338
470
|
<ng-content></ng-content>
|
|
339
|
-
}`, isInline: true, styles: ["monkey-action-bar{background-color:var(--mecx-color-white);border-radius:12px;position:fixed;bottom:60px;gap:24px;display:none;align-items:center;padding:4px 4px 4px 24px;border:2px solid var(--mecx-color-gray-200);box-shadow:0 8px 12px -4px
|
|
471
|
+
}`, isInline: true, styles: ["monkey-action-bar{background-color:var(--mecx-color-white);border-radius:12px;position:fixed;bottom:60px;gap:24px;display:none;align-items:center;padding:4px 4px 4px 24px;border:2px solid var(--mecx-color-gray-200);box-shadow:0 8px 12px -4px var(--mecx-color-box-shadow),0 8px 8px 0 var(--mecx-color-box-shadow),0 16px 16px 8px var(--mecx-color-box-shadow);z-index:999}monkey-action-bar.center{left:50%;transform:translate(-50%)}monkey-action-bar.right{right:60px}monkey-action-bar.left{left:60px}monkey-action-bar.open{display:flex}@media (851px < width < 1315px){monkey-action-bar{left:60px!important;transform:translate(0)!important}}@media (width < 852px){monkey-action-bar{flex-direction:column;padding:16px}monkey-action-bar>*:before{content:initial!important;padding:16px!important}}@media (width < 450px){monkey-action-bar{flex-direction:column;left:24px!important;right:24px!important;bottom:24px!important;transform:translate(0)!important}monkey-action-bar>*:before{content:initial!important;padding:16px!important}}monkey-action-bar>*:not(:first-child){flex-shrink:0;display:inline-flex}monkey-action-bar>*:not(:first-child):before{content:\"\";display:flex;box-sizing:border-box;width:1px;background-color:var(--mecx-color-gray-200);margin-right:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
340
472
|
}
|
|
341
473
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyActionBarComponent, decorators: [{
|
|
342
474
|
type: Component,
|
|
@@ -351,7 +483,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
351
483
|
'[attr.id]': 'id',
|
|
352
484
|
'[id]': 'id',
|
|
353
485
|
'[class.open]': 'open()'
|
|
354
|
-
}, styles: ["monkey-action-bar{background-color:var(--mecx-color-white);border-radius:12px;position:fixed;bottom:60px;gap:24px;display:none;align-items:center;padding:4px 4px 4px 24px;border:2px solid var(--mecx-color-gray-200);box-shadow:0 8px 12px -4px
|
|
486
|
+
}, styles: ["monkey-action-bar{background-color:var(--mecx-color-white);border-radius:12px;position:fixed;bottom:60px;gap:24px;display:none;align-items:center;padding:4px 4px 4px 24px;border:2px solid var(--mecx-color-gray-200);box-shadow:0 8px 12px -4px var(--mecx-color-box-shadow),0 8px 8px 0 var(--mecx-color-box-shadow),0 16px 16px 8px var(--mecx-color-box-shadow);z-index:999}monkey-action-bar.center{left:50%;transform:translate(-50%)}monkey-action-bar.right{right:60px}monkey-action-bar.left{left:60px}monkey-action-bar.open{display:flex}@media (851px < width < 1315px){monkey-action-bar{left:60px!important;transform:translate(0)!important}}@media (width < 852px){monkey-action-bar{flex-direction:column;padding:16px}monkey-action-bar>*:before{content:initial!important;padding:16px!important}}@media (width < 450px){monkey-action-bar{flex-direction:column;left:24px!important;right:24px!important;bottom:24px!important;transform:translate(0)!important}monkey-action-bar>*:before{content:initial!important;padding:16px!important}}monkey-action-bar>*:not(:first-child){flex-shrink:0;display:inline-flex}monkey-action-bar>*:not(:first-child):before{content:\"\";display:flex;box-sizing:border-box;width:1px;background-color:var(--mecx-color-gray-200);margin-right:24px}\n"] }]
|
|
355
487
|
}], propDecorators: { classes: [{
|
|
356
488
|
type: HostBinding,
|
|
357
489
|
args: ['class']
|
|
@@ -381,7 +513,7 @@ class MonkeyIconComponent {
|
|
|
381
513
|
this._id = value || this._uid;
|
|
382
514
|
}
|
|
383
515
|
constructor() {
|
|
384
|
-
this.size = '';
|
|
516
|
+
this.size = 'lg';
|
|
385
517
|
this._icon = '';
|
|
386
518
|
this._uid = inject(IdGenerator).getId('monkey-icon-');
|
|
387
519
|
// eslint-disable-next-line no-self-assign
|
|
@@ -393,7 +525,7 @@ class MonkeyIconComponent {
|
|
|
393
525
|
}
|
|
394
526
|
}
|
|
395
527
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
396
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyIconComponent, isStandalone: true, selector: "monkey-icon", inputs: { icon: "icon", size: "size", id: "id" }, host: { properties: { "class": "_icon+' '+size", "attr.id": "id", "id": "id" } }, ngImport: i0, template: '', isInline: true, styles: ["monkey-icon{display:inline-flex}monkey-icon.sm{font-size:
|
|
528
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyIconComponent, isStandalone: true, selector: "monkey-icon", inputs: { icon: "icon", size: "size", id: "id" }, host: { properties: { "class": "_icon+' '+size", "attr.id": "id", "id": "id" } }, ngImport: i0, template: '', isInline: true, styles: ["monkey-icon{display:inline-flex}monkey-icon.sm{font-size:16px;width:16px;height:16px}monkey-icon.md{font-size:18px;width:18px;height:18px}monkey-icon.lg{font-size:24px;width:24px;height:24px}monkey-icon.xl{font-size:32px;width:32px;height:32px}monkey-icon.xxl{font-size:48px;width:48px;height:48px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
397
529
|
}
|
|
398
530
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyIconComponent, decorators: [{
|
|
399
531
|
type: Component,
|
|
@@ -401,7 +533,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
401
533
|
'[class]': `_icon+' '+size`,
|
|
402
534
|
'[attr.id]': 'id',
|
|
403
535
|
'[id]': 'id'
|
|
404
|
-
}, styles: ["monkey-icon{display:inline-flex}monkey-icon.sm{font-size:
|
|
536
|
+
}, styles: ["monkey-icon{display:inline-flex}monkey-icon.sm{font-size:16px;width:16px;height:16px}monkey-icon.md{font-size:18px;width:18px;height:18px}monkey-icon.lg{font-size:24px;width:24px;height:24px}monkey-icon.xl{font-size:32px;width:32px;height:32px}monkey-icon.xxl{font-size:48px;width:48px;height:48px}\n"] }]
|
|
405
537
|
}], ctorParameters: () => [], propDecorators: { icon: [{
|
|
406
538
|
type: Input
|
|
407
539
|
}], size: [{
|
|
@@ -628,7 +760,7 @@ class MonkeyBreadcrumbComponent {
|
|
|
628
760
|
}
|
|
629
761
|
}
|
|
630
762
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
631
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyBreadcrumbComponent, isStandalone: true, selector: "monkey-breadcrumb", inputs: { first: "first", last: "last", colapsed: ["colapsed", "colapsed", booleanAttribute], id: "id" }, host: { attributes: { "data-testid": "monkey-breadcrumb" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<div class=\"breadcrumbs\">\n <a class=\"first\" (click)=\"handleNavigate(first)\">\n {{ first.label | titlecase }}\n </a>\n <span>/</span>\n @if(colapsed){\n <span>...</span>\n <span>/</span>\n }\n <a class=\"last\" (click)=\"handleNavigate(last)\">\n {{ last.label | titlecase }}\n </a>\n</div>\n", styles: ["monkey-breadcrumb .last{color:var(--mecx-color-theme-main);text-decoration:none}monkey-breadcrumb .last:hover{text-decoration:underline}monkey-breadcrumb .first{color:#000;text-decoration:none}monkey-breadcrumb .first:hover{text-decoration:underline}monkey-breadcrumb .breadcrumbs{display:flex;gap:8px;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1
|
|
763
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyBreadcrumbComponent, isStandalone: true, selector: "monkey-breadcrumb", inputs: { first: "first", last: "last", colapsed: ["colapsed", "colapsed", booleanAttribute], id: "id" }, host: { attributes: { "data-testid": "monkey-breadcrumb" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<div class=\"breadcrumbs\">\n <a class=\"first\" (click)=\"handleNavigate(first)\">\n {{ first.label | titlecase }}\n </a>\n <span>/</span>\n @if(colapsed){\n <span>...</span>\n <span>/</span>\n }\n <a class=\"last\" (click)=\"handleNavigate(last)\">\n {{ last.label | titlecase }}\n </a>\n</div>\n", styles: ["monkey-breadcrumb .last{color:var(--mecx-color-theme-main);text-decoration:none}monkey-breadcrumb .last:hover{text-decoration:underline}monkey-breadcrumb .first{color:#000;text-decoration:none}monkey-breadcrumb .first:hover{text-decoration:underline}monkey-breadcrumb .breadcrumbs{display:flex;gap:8px;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.TitleCasePipe, name: "titlecase" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
632
764
|
}
|
|
633
765
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyBreadcrumbComponent, decorators: [{
|
|
634
766
|
type: Component,
|
|
@@ -671,6 +803,7 @@ class MonkeyButtonComponent {
|
|
|
671
803
|
constructor() {
|
|
672
804
|
this.size = 'md';
|
|
673
805
|
this.type = 'primary';
|
|
806
|
+
this.elementRef = inject(ElementRef);
|
|
674
807
|
this._uid = inject(IdGenerator).getId('monkey-button-');
|
|
675
808
|
// eslint-disable-next-line no-self-assign
|
|
676
809
|
this.id = this.id;
|
|
@@ -682,8 +815,11 @@ class MonkeyButtonComponent {
|
|
|
682
815
|
event.stopImmediatePropagation();
|
|
683
816
|
}
|
|
684
817
|
}
|
|
818
|
+
get element() {
|
|
819
|
+
return this.elementRef.nativeElement;
|
|
820
|
+
}
|
|
685
821
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
686
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyButtonComponent, isStandalone: true, selector: "monkey-button", inputs: { disabled: "disabled", size: "size", type: "type", id: "id" }, host: { attributes: { "data-testid": "monkey-button" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<button class=\"mecx-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <ng-content select=\"[first]\"></ng-content>\n <span><ng-content></ng-content></span>\n <ng-content select=\"[last]\"></ng-content>\n </div>\n</button>\n", styles: ["monkey-button{display:inline-block}monkey-button .mecx-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-button .mecx-button .content{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;flex-shrink:0;letter-spacing:.48px;font-weight:400;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-button .mecx-button .content span{width:100%}monkey-button .mecx-button .content .mk-i{display:flex}monkey-button .mecx-button.secondary{border:2px solid var(--mecx-color-gray-400);background:unset}monkey-button .mecx-button.secondary:disabled{border-width:1px}monkey-button .mecx-button:disabled{background:var(--mecx-color-gray-100)!important;color:var(--mecx-color-gray-400)!important;cursor:not-allowed!important}monkey-button .mecx-button:disabled.secondary{background:unset!important;border:1px solid var(--mecx-color-gray-400)!important}monkey-button .mecx-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-button .mecx-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-button .mecx-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button .mecx-button.tertiary{background:unset}monkey-button .mecx-button.tertiary span{text-decoration:underline}monkey-button .mecx-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-button .mecx-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button .mecx-button.sm{height:32px}monkey-button .mecx-button.sm .mk-i{font-size:20px}monkey-button .mecx-button.md{height:40px}monkey-button .mecx-button.md .mk-i{font-size:22px}monkey-button .mecx-button.lg{height:48px;text-align:center;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.48px}monkey-button .mecx-button.lg .mk-i{font-size:24px}monkey-button .mecx-button.full-width{width:100%}monkey-button .mecx-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-button .mecx-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-button .mecx-button:active:not(:disabled) .content{transform:scale(.8)}:host:has(.mecx-button:active) .mecx-button{outline:unset;outline-offset:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1
|
|
822
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyButtonComponent, isStandalone: true, selector: "monkey-button", inputs: { disabled: "disabled", size: "size", type: "type", id: "id" }, host: { attributes: { "data-testid": "monkey-button" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<button class=\"mecx-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <ng-content select=\"[first]\"></ng-content>\n <span><ng-content></ng-content></span>\n <ng-content select=\"[last]\"></ng-content>\n </div>\n</button>\n", styles: ["monkey-button{display:inline-block}monkey-button .mecx-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-button .mecx-button .content{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;flex-shrink:0;letter-spacing:.48px;font-weight:400;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-button .mecx-button .content span{width:100%}monkey-button .mecx-button .content .mk-i{display:flex}monkey-button .mecx-button.secondary{border:2px solid var(--mecx-color-gray-400);background:unset}monkey-button .mecx-button.secondary:disabled{border-width:1px}monkey-button .mecx-button:disabled{background:var(--mecx-color-gray-100)!important;color:var(--mecx-color-gray-400)!important;cursor:not-allowed!important}monkey-button .mecx-button:disabled.secondary{background:unset!important;border:1px solid var(--mecx-color-gray-400)!important}monkey-button .mecx-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-button .mecx-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-button .mecx-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button .mecx-button.tertiary{background:unset}monkey-button .mecx-button.tertiary span{text-decoration:underline}monkey-button .mecx-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-button .mecx-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button .mecx-button.sm{height:32px}monkey-button .mecx-button.sm .mk-i{font-size:20px}monkey-button .mecx-button.md{height:40px}monkey-button .mecx-button.md .mk-i{font-size:22px}monkey-button .mecx-button.lg{height:48px;text-align:center;font-size:16px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.48px}monkey-button .mecx-button.lg .mk-i{font-size:24px}monkey-button .mecx-button.full-width{width:100%}monkey-button .mecx-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-button .mecx-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-button .mecx-button:active:not(:disabled) .content{transform:scale(.8)}:host:has(.mecx-button:active) .mecx-button{outline:unset;outline-offset:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
687
823
|
}
|
|
688
824
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyButtonComponent, decorators: [{
|
|
689
825
|
type: Component,
|
|
@@ -788,11 +924,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
788
924
|
* This style guide was developed by Monkey Exchange Team
|
|
789
925
|
* MIT Licence
|
|
790
926
|
************************* */
|
|
791
|
-
class
|
|
792
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
793
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
927
|
+
class MonkeyErrorDirective {
|
|
928
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
929
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyErrorDirective, selector: "monkey-error", ngImport: i0 }); }
|
|
794
930
|
}
|
|
795
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
931
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyErrorDirective, decorators: [{
|
|
796
932
|
type: Directive,
|
|
797
933
|
args: [{
|
|
798
934
|
selector: 'monkey-error'
|
|
@@ -804,11 +940,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
804
940
|
* This style guide was developed by Monkey Exchange Team
|
|
805
941
|
* MIT Licence
|
|
806
942
|
************************* */
|
|
807
|
-
class
|
|
808
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
809
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
943
|
+
class MonkeyHelperDirective {
|
|
944
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyHelperDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
945
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyHelperDirective, selector: "monkey-helper", ngImport: i0 }); }
|
|
810
946
|
}
|
|
811
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyHelperDirective, decorators: [{
|
|
812
948
|
type: Directive,
|
|
813
949
|
args: [{
|
|
814
950
|
selector: 'monkey-helper'
|
|
@@ -820,11 +956,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
820
956
|
* This style guide was developed by Monkey Exchange Team
|
|
821
957
|
* MIT Licence
|
|
822
958
|
************************* */
|
|
823
|
-
class
|
|
824
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
825
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
959
|
+
class MonkeyInfoDirective {
|
|
960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInfoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
961
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyInfoDirective, selector: "monkey-info", ngImport: i0 }); }
|
|
826
962
|
}
|
|
827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
963
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyInfoDirective, decorators: [{
|
|
828
964
|
type: Directive,
|
|
829
965
|
args: [{
|
|
830
966
|
selector: 'monkey-info'
|
|
@@ -836,27 +972,399 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
836
972
|
* This style guide was developed by Monkey Exchange Team
|
|
837
973
|
* MIT Licence
|
|
838
974
|
************************* */
|
|
839
|
-
class
|
|
840
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
841
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
975
|
+
class MonkeyLabelDirective {
|
|
976
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
977
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyLabelDirective, selector: "monkey-label", ngImport: i0 }); }
|
|
842
978
|
}
|
|
843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyLabelDirective, decorators: [{
|
|
844
980
|
type: Directive,
|
|
845
981
|
args: [{
|
|
846
982
|
selector: 'monkey-label'
|
|
847
983
|
}]
|
|
848
984
|
}] });
|
|
849
985
|
|
|
986
|
+
const MONKEY_I18N_WRAPPER = new InjectionToken('');
|
|
987
|
+
const MONKEY_POPOVER_OPTIONS = new InjectionToken('MONKEY_POPOVER_OPTIONS');
|
|
988
|
+
|
|
989
|
+
class MonkeyPopoverContentComponent {
|
|
990
|
+
constructor(host) {
|
|
991
|
+
this.host = host;
|
|
992
|
+
this.onClose = new EventEmitter();
|
|
993
|
+
// not to do
|
|
994
|
+
}
|
|
995
|
+
ngAfterViewInit() {
|
|
996
|
+
setTimeout(() => {
|
|
997
|
+
const focusable = this.host.nativeElement.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
998
|
+
focusable?.focus();
|
|
999
|
+
});
|
|
1000
|
+
}
|
|
1001
|
+
isTemplate(value) {
|
|
1002
|
+
return value instanceof TemplateRef;
|
|
1003
|
+
}
|
|
1004
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPopoverContentComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1005
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyPopoverContentComponent, isStandalone: true, selector: "monkey-popover-content", inputs: { title: "title", content: "content", actions: "actions", hideHeader: ["hideHeader", "hideHeader", booleanAttribute], hideClose: ["hideClose", "hideClose", booleanAttribute], hideActions: ["hideActions", "hideActions", booleanAttribute] }, outputs: { onClose: "onClose" }, ngImport: i0, template: `
|
|
1006
|
+
<div class="mecx-popover-container">
|
|
1007
|
+
@if (!hideHeader) {
|
|
1008
|
+
<div class="mecx-popover-header">
|
|
1009
|
+
@if (title) {
|
|
1010
|
+
<div>
|
|
1011
|
+
<ng-container *ngIf="isTemplate(title); else stringTitle">
|
|
1012
|
+
<ng-container *ngTemplateOutlet="title"></ng-container>
|
|
1013
|
+
</ng-container>
|
|
1014
|
+
<ng-template #stringTitle>
|
|
1015
|
+
{{ title }}
|
|
1016
|
+
</ng-template>
|
|
1017
|
+
</div>
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
@if (!hideClose) {
|
|
1021
|
+
<util-icon class="mecx-popover-close" name="clear" (click)="onClose.next(null)" />
|
|
1022
|
+
}
|
|
1023
|
+
</div>
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
<div class="mecx-popover-content" [class.add-radius]="hideHeader">
|
|
1027
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1028
|
+
</div>
|
|
1029
|
+
|
|
1030
|
+
@if (!hideActions) {
|
|
1031
|
+
<div class="mecx-popover-actions" *ngIf="actions">
|
|
1032
|
+
<ng-container *ngIf="isTemplate(actions); else stringActions">
|
|
1033
|
+
<ng-container *ngTemplateOutlet="actions"></ng-container>
|
|
1034
|
+
</ng-container>
|
|
1035
|
+
<ng-template #stringActions>
|
|
1036
|
+
<span>{{ actions }}</span>
|
|
1037
|
+
</ng-template>
|
|
1038
|
+
</div>
|
|
1039
|
+
}
|
|
1040
|
+
</div>
|
|
1041
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: UtilIconComponent, selector: "util-icon", inputs: ["name"] }] }); }
|
|
1042
|
+
}
|
|
1043
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPopoverContentComponent, decorators: [{
|
|
1044
|
+
type: Component,
|
|
1045
|
+
args: [{
|
|
1046
|
+
selector: 'monkey-popover-content',
|
|
1047
|
+
standalone: true,
|
|
1048
|
+
imports: [CommonModule, NgTemplateOutlet, UtilIconComponent],
|
|
1049
|
+
template: `
|
|
1050
|
+
<div class="mecx-popover-container">
|
|
1051
|
+
@if (!hideHeader) {
|
|
1052
|
+
<div class="mecx-popover-header">
|
|
1053
|
+
@if (title) {
|
|
1054
|
+
<div>
|
|
1055
|
+
<ng-container *ngIf="isTemplate(title); else stringTitle">
|
|
1056
|
+
<ng-container *ngTemplateOutlet="title"></ng-container>
|
|
1057
|
+
</ng-container>
|
|
1058
|
+
<ng-template #stringTitle>
|
|
1059
|
+
{{ title }}
|
|
1060
|
+
</ng-template>
|
|
1061
|
+
</div>
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
@if (!hideClose) {
|
|
1065
|
+
<util-icon class="mecx-popover-close" name="clear" (click)="onClose.next(null)" />
|
|
1066
|
+
}
|
|
1067
|
+
</div>
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
<div class="mecx-popover-content" [class.add-radius]="hideHeader">
|
|
1071
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1072
|
+
</div>
|
|
1073
|
+
|
|
1074
|
+
@if (!hideActions) {
|
|
1075
|
+
<div class="mecx-popover-actions" *ngIf="actions">
|
|
1076
|
+
<ng-container *ngIf="isTemplate(actions); else stringActions">
|
|
1077
|
+
<ng-container *ngTemplateOutlet="actions"></ng-container>
|
|
1078
|
+
</ng-container>
|
|
1079
|
+
<ng-template #stringActions>
|
|
1080
|
+
<span>{{ actions }}</span>
|
|
1081
|
+
</ng-template>
|
|
1082
|
+
</div>
|
|
1083
|
+
}
|
|
1084
|
+
</div>
|
|
1085
|
+
`
|
|
1086
|
+
}]
|
|
1087
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { title: [{
|
|
1088
|
+
type: Input
|
|
1089
|
+
}], content: [{
|
|
1090
|
+
type: Input
|
|
1091
|
+
}], actions: [{
|
|
1092
|
+
type: Input
|
|
1093
|
+
}], onClose: [{
|
|
1094
|
+
type: Output
|
|
1095
|
+
}], hideHeader: [{
|
|
1096
|
+
type: Input,
|
|
1097
|
+
args: [{ transform: booleanAttribute }]
|
|
1098
|
+
}], hideClose: [{
|
|
1099
|
+
type: Input,
|
|
1100
|
+
args: [{ transform: booleanAttribute }]
|
|
1101
|
+
}], hideActions: [{
|
|
1102
|
+
type: Input,
|
|
1103
|
+
args: [{ transform: booleanAttribute }]
|
|
1104
|
+
}] } });
|
|
1105
|
+
class MonkeyPopoverDirective {
|
|
1106
|
+
set popover(show) {
|
|
1107
|
+
if (this._show === show) {
|
|
1108
|
+
return;
|
|
1109
|
+
}
|
|
1110
|
+
this._show = show;
|
|
1111
|
+
if (show) {
|
|
1112
|
+
this.createPopover();
|
|
1113
|
+
}
|
|
1114
|
+
else {
|
|
1115
|
+
this.disposePopover();
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
get popover() {
|
|
1119
|
+
return this._show;
|
|
1120
|
+
}
|
|
1121
|
+
set target(value) {
|
|
1122
|
+
this._target = value;
|
|
1123
|
+
}
|
|
1124
|
+
get target() {
|
|
1125
|
+
return this._target;
|
|
1126
|
+
}
|
|
1127
|
+
constructor() {
|
|
1128
|
+
this._tpl = inject(TemplateRef);
|
|
1129
|
+
this._vcr = inject(ViewContainerRef);
|
|
1130
|
+
this._el = inject(ElementRef);
|
|
1131
|
+
this._zone = inject(NgZone);
|
|
1132
|
+
this._overlay = inject(Overlay);
|
|
1133
|
+
this._overlayPositionBuilder = inject(OverlayPositionBuilder);
|
|
1134
|
+
this._router = inject(Router);
|
|
1135
|
+
this._destroyRef = inject(DestroyRef);
|
|
1136
|
+
this._show = false;
|
|
1137
|
+
this.minwidth = false;
|
|
1138
|
+
this.backdrop = true;
|
|
1139
|
+
this.watch = false;
|
|
1140
|
+
this.dir = 'ltr';
|
|
1141
|
+
this.contextmenu = false;
|
|
1142
|
+
this._router.events
|
|
1143
|
+
.pipe(filter((event) => {
|
|
1144
|
+
return event instanceof NavigationStart;
|
|
1145
|
+
}), takeUntilDestroyed(this._destroyRef))
|
|
1146
|
+
.subscribe(() => {
|
|
1147
|
+
this.closePopover();
|
|
1148
|
+
});
|
|
1149
|
+
}
|
|
1150
|
+
ngOnDestroy() {
|
|
1151
|
+
this.disposePopover();
|
|
1152
|
+
this._resizeObserver?.disconnect();
|
|
1153
|
+
}
|
|
1154
|
+
closePopover(event) {
|
|
1155
|
+
if (this._show) {
|
|
1156
|
+
this._show = false;
|
|
1157
|
+
this.disposePopover();
|
|
1158
|
+
this._zone.run(() => {
|
|
1159
|
+
this.closed?.(event);
|
|
1160
|
+
});
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
disposePopover() {
|
|
1164
|
+
this._resizeObserver?.disconnect();
|
|
1165
|
+
this._resizeObserver = undefined;
|
|
1166
|
+
if (this._overlayRef) {
|
|
1167
|
+
this._overlayRef.dispose();
|
|
1168
|
+
this._overlayRef = undefined;
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
getPositions(dir) {
|
|
1172
|
+
const oppositeVertical = {
|
|
1173
|
+
top: 'bottom',
|
|
1174
|
+
bottom: 'top',
|
|
1175
|
+
center: 'center'
|
|
1176
|
+
};
|
|
1177
|
+
const oppositeHorizontal = {
|
|
1178
|
+
start: 'end',
|
|
1179
|
+
end: 'start',
|
|
1180
|
+
center: 'center'
|
|
1181
|
+
};
|
|
1182
|
+
const centerY = (pos) => {
|
|
1183
|
+
return {
|
|
1184
|
+
originX: 'center',
|
|
1185
|
+
originY: pos,
|
|
1186
|
+
overlayX: 'center',
|
|
1187
|
+
overlayY: oppositeVertical[pos]
|
|
1188
|
+
};
|
|
1189
|
+
};
|
|
1190
|
+
const centerX = (pos) => {
|
|
1191
|
+
return {
|
|
1192
|
+
originX: oppositeHorizontal[pos],
|
|
1193
|
+
originY: 'center',
|
|
1194
|
+
overlayX: pos,
|
|
1195
|
+
overlayY: 'center'
|
|
1196
|
+
};
|
|
1197
|
+
};
|
|
1198
|
+
const ltr = (axis) => {
|
|
1199
|
+
return {
|
|
1200
|
+
originX: 'start',
|
|
1201
|
+
originY: axis,
|
|
1202
|
+
overlayX: 'start',
|
|
1203
|
+
overlayY: oppositeVertical[axis]
|
|
1204
|
+
};
|
|
1205
|
+
};
|
|
1206
|
+
const rtl = (axis) => {
|
|
1207
|
+
return {
|
|
1208
|
+
originX: 'end',
|
|
1209
|
+
originY: axis,
|
|
1210
|
+
overlayX: 'end',
|
|
1211
|
+
overlayY: oppositeVertical[axis]
|
|
1212
|
+
};
|
|
1213
|
+
};
|
|
1214
|
+
const side = (axisX, axisY) => {
|
|
1215
|
+
return {
|
|
1216
|
+
originX: axisX,
|
|
1217
|
+
originY: axisY,
|
|
1218
|
+
overlayX: oppositeHorizontal[axisX],
|
|
1219
|
+
overlayY: axisY
|
|
1220
|
+
};
|
|
1221
|
+
};
|
|
1222
|
+
const cmp = dir ?? this._options?.dir ?? this.dir;
|
|
1223
|
+
switch (cmp) {
|
|
1224
|
+
case 'ct':
|
|
1225
|
+
return [centerY('top'), centerY('bottom'), centerX('start'), centerX('end')];
|
|
1226
|
+
case 'cr':
|
|
1227
|
+
return [centerX('end'), centerX('start'), centerY('top'), centerY('bottom')];
|
|
1228
|
+
case 'cc':
|
|
1229
|
+
return [centerX('center')];
|
|
1230
|
+
case 'ltr':
|
|
1231
|
+
return [ltr('bottom'), ltr('top')];
|
|
1232
|
+
case 'rtl':
|
|
1233
|
+
return [rtl('bottom'), rtl('top')];
|
|
1234
|
+
case 'tltr':
|
|
1235
|
+
return [ltr('top'), ltr('bottom')];
|
|
1236
|
+
case 'trtl':
|
|
1237
|
+
return [rtl('top'), rtl('bottom')];
|
|
1238
|
+
case 'rt':
|
|
1239
|
+
return [side('end', 'top'), side('end', 'bottom'), ltr('top')];
|
|
1240
|
+
case 'rb':
|
|
1241
|
+
return [side('end', 'bottom'), side('end', 'top'), ltr('bottom'), rtl('bottom')];
|
|
1242
|
+
case 'lt':
|
|
1243
|
+
return [side('start', 'top'), side('start', 'bottom'), rtl('top')];
|
|
1244
|
+
case 'lb':
|
|
1245
|
+
return [side('start', 'bottom'), side('start', 'top'), rtl('bottom')];
|
|
1246
|
+
default:
|
|
1247
|
+
return [];
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
createPopover(origin, options) {
|
|
1251
|
+
if (!this.target) {
|
|
1252
|
+
// eslint-disable-next-line no-console
|
|
1253
|
+
console.error('MonkeyPopoverDirective -> target element is not defined.');
|
|
1254
|
+
return;
|
|
1255
|
+
}
|
|
1256
|
+
const originEl = this.target instanceof HTMLElement ? this.target : this.target.element;
|
|
1257
|
+
this._positionStrategy = this._overlayPositionBuilder
|
|
1258
|
+
.flexibleConnectedTo(origin ?? originEl)
|
|
1259
|
+
.withPush(true)
|
|
1260
|
+
.withGrowAfterOpen(true)
|
|
1261
|
+
.withPositions(this.getPositions(options?.dir));
|
|
1262
|
+
this._overlayRef = this._overlay.create({
|
|
1263
|
+
positionStrategy: this._positionStrategy,
|
|
1264
|
+
disposeOnNavigation: true,
|
|
1265
|
+
direction: 'ltr',
|
|
1266
|
+
hasBackdrop: this.backdrop,
|
|
1267
|
+
scrollStrategy: this._overlay.scrollStrategies.reposition(),
|
|
1268
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
1269
|
+
width: this._options?.minwidth || this.minwidth ? this.target.offsetWidth - 2 : undefined,
|
|
1270
|
+
maxHeight: '95%',
|
|
1271
|
+
height: this.height
|
|
1272
|
+
});
|
|
1273
|
+
this._overlayRef
|
|
1274
|
+
.backdropClick()
|
|
1275
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
1276
|
+
.subscribe((event) => {
|
|
1277
|
+
this.closePopover(event);
|
|
1278
|
+
});
|
|
1279
|
+
const portal = new ComponentPortal(MonkeyPopoverContentComponent, this._vcr);
|
|
1280
|
+
this._componentRef = this._overlayRef.attach(portal);
|
|
1281
|
+
this._componentRef.instance.content = this._tpl;
|
|
1282
|
+
this._componentRef.instance.title = this.title;
|
|
1283
|
+
this._componentRef.instance.actions = this.actions;
|
|
1284
|
+
this._componentRef.instance.hideClose = this.hideClose;
|
|
1285
|
+
this._componentRef.instance.hideHeader = this.hideHeader;
|
|
1286
|
+
this._componentRef.instance.hideActions = this.hideActions;
|
|
1287
|
+
if (!this.hideClose || !this.hideHeader) {
|
|
1288
|
+
this._componentRef.instance.onClose
|
|
1289
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
1290
|
+
.subscribe(() => {
|
|
1291
|
+
this.closePopover();
|
|
1292
|
+
});
|
|
1293
|
+
}
|
|
1294
|
+
if (this.watch && 'ResizeObserver' in window) {
|
|
1295
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
1296
|
+
this._overlayRef?.updatePosition();
|
|
1297
|
+
});
|
|
1298
|
+
this._resizeObserver.observe(this._componentRef.location.nativeElement);
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1301
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1302
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyPopoverDirective, selector: "[monkeyPopover]", inputs: { popover: ["monkeyPopover", "popover"], closed: ["monkeyPopoverClosed", "closed"], target: ["monkeyPopoverTarget", "target"], minwidth: ["monkeyPopoverMinwidth", "minwidth"], backdrop: ["monkeyPopoverBackdrop", "backdrop"], watch: ["monkeyPopoverWatch", "watch"], dir: ["monkeyPopoverDir", "dir"], contextmenu: ["monkeyPopoverContextmenu", "contextmenu"], height: ["monkeyPopoverHeight", "height"], title: ["monkeyPopoverTitle", "title"], actions: ["monkeyPopoverActions", "actions"], hideClose: ["monkeyPopoverHideClose", "hideClose", booleanAttribute], hideHeader: ["monkeyPopoverHideHeader", "hideHeader", booleanAttribute], hideActions: ["monkeyPopoverHideActions", "hideActions", booleanAttribute] }, ngImport: i0 }); }
|
|
1303
|
+
}
|
|
1304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPopoverDirective, decorators: [{
|
|
1305
|
+
type: Directive,
|
|
1306
|
+
args: [{
|
|
1307
|
+
selector: '[monkeyPopover]'
|
|
1308
|
+
}]
|
|
1309
|
+
}], ctorParameters: () => [], propDecorators: { _options: [{
|
|
1310
|
+
type: Optional
|
|
1311
|
+
}, {
|
|
1312
|
+
type: Inject,
|
|
1313
|
+
args: [MONKEY_POPOVER_OPTIONS]
|
|
1314
|
+
}], popover: [{
|
|
1315
|
+
type: Input,
|
|
1316
|
+
args: ['monkeyPopover']
|
|
1317
|
+
}], closed: [{
|
|
1318
|
+
type: Input,
|
|
1319
|
+
args: ['monkeyPopoverClosed']
|
|
1320
|
+
}], target: [{
|
|
1321
|
+
type: Input,
|
|
1322
|
+
args: ['monkeyPopoverTarget']
|
|
1323
|
+
}], minwidth: [{
|
|
1324
|
+
type: Input,
|
|
1325
|
+
args: ['monkeyPopoverMinwidth']
|
|
1326
|
+
}], backdrop: [{
|
|
1327
|
+
type: Input,
|
|
1328
|
+
args: ['monkeyPopoverBackdrop']
|
|
1329
|
+
}], watch: [{
|
|
1330
|
+
type: Input,
|
|
1331
|
+
args: ['monkeyPopoverWatch']
|
|
1332
|
+
}], dir: [{
|
|
1333
|
+
type: Input,
|
|
1334
|
+
args: ['monkeyPopoverDir']
|
|
1335
|
+
}], contextmenu: [{
|
|
1336
|
+
type: Input,
|
|
1337
|
+
args: ['monkeyPopoverContextmenu']
|
|
1338
|
+
}], height: [{
|
|
1339
|
+
type: Input,
|
|
1340
|
+
args: ['monkeyPopoverHeight']
|
|
1341
|
+
}], title: [{
|
|
1342
|
+
type: Input,
|
|
1343
|
+
args: ['monkeyPopoverTitle']
|
|
1344
|
+
}], actions: [{
|
|
1345
|
+
type: Input,
|
|
1346
|
+
args: ['monkeyPopoverActions']
|
|
1347
|
+
}], hideClose: [{
|
|
1348
|
+
type: Input,
|
|
1349
|
+
args: [{ alias: 'monkeyPopoverHideClose', transform: booleanAttribute }]
|
|
1350
|
+
}], hideHeader: [{
|
|
1351
|
+
type: Input,
|
|
1352
|
+
args: [{ alias: 'monkeyPopoverHideHeader', transform: booleanAttribute }]
|
|
1353
|
+
}], hideActions: [{
|
|
1354
|
+
type: Input,
|
|
1355
|
+
args: [{ alias: 'monkeyPopoverHideActions', transform: booleanAttribute }]
|
|
1356
|
+
}] } });
|
|
1357
|
+
|
|
850
1358
|
/** ************************
|
|
851
1359
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
852
1360
|
* This style guide was developed by Monkey Exchange Team
|
|
853
1361
|
* MIT Licence
|
|
854
1362
|
************************* */
|
|
855
|
-
class
|
|
856
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
857
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
1363
|
+
class MonkeyPrefixDirective {
|
|
1364
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1365
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyPrefixDirective, selector: "monkey-prefix", ngImport: i0 }); }
|
|
858
1366
|
}
|
|
859
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
1367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPrefixDirective, decorators: [{
|
|
860
1368
|
type: Directive,
|
|
861
1369
|
args: [{
|
|
862
1370
|
selector: 'monkey-prefix'
|
|
@@ -868,7 +1376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
868
1376
|
* This style guide was developed by Monkey Exchange Team
|
|
869
1377
|
* MIT Licence
|
|
870
1378
|
************************* */
|
|
871
|
-
class
|
|
1379
|
+
class MonkeySuffixDirective {
|
|
872
1380
|
constructor() {
|
|
873
1381
|
this.hasAction = false;
|
|
874
1382
|
this.action = null;
|
|
@@ -885,10 +1393,10 @@ class MonkeySuffix {
|
|
|
885
1393
|
this.action(event);
|
|
886
1394
|
}
|
|
887
1395
|
}
|
|
888
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
889
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type:
|
|
1396
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySuffixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1397
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeySuffixDirective, selector: "monkey-suffix", inputs: { _hasAction: ["hasAction", "_hasAction"] }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.has-action": "hasAction" } }, ngImport: i0 }); }
|
|
890
1398
|
}
|
|
891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
1399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySuffixDirective, decorators: [{
|
|
892
1400
|
type: Directive,
|
|
893
1401
|
args: [{
|
|
894
1402
|
selector: 'monkey-suffix',
|
|
@@ -911,41 +1419,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
911
1419
|
************************* */
|
|
912
1420
|
class MonkeyDirectivesModule {
|
|
913
1421
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
914
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDirectivesModule, declarations: [
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
MonkeyBadgeDirective
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
1422
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDirectivesModule, declarations: [MonkeyErrorDirective,
|
|
1423
|
+
MonkeyHelperDirective,
|
|
1424
|
+
MonkeyInfoDirective,
|
|
1425
|
+
MonkeyLabelDirective,
|
|
1426
|
+
MonkeyPrefixDirective,
|
|
1427
|
+
MonkeySuffixDirective,
|
|
1428
|
+
MonkeyBadgeDirective,
|
|
1429
|
+
MonkeyPopoverDirective], imports: [MonkeyPopoverContentComponent], exports: [MonkeyErrorDirective,
|
|
1430
|
+
MonkeyHelperDirective,
|
|
1431
|
+
MonkeyInfoDirective,
|
|
1432
|
+
MonkeyLabelDirective,
|
|
1433
|
+
MonkeyPrefixDirective,
|
|
1434
|
+
MonkeySuffixDirective,
|
|
1435
|
+
MonkeyBadgeDirective,
|
|
1436
|
+
MonkeyPopoverDirective] }); }
|
|
1437
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDirectivesModule, imports: [MonkeyPopoverContentComponent] }); }
|
|
928
1438
|
}
|
|
929
1439
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDirectivesModule, decorators: [{
|
|
930
1440
|
type: NgModule,
|
|
931
1441
|
args: [{
|
|
1442
|
+
imports: [MonkeyPopoverContentComponent],
|
|
932
1443
|
declarations: [
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
MonkeyBadgeDirective
|
|
1444
|
+
MonkeyErrorDirective,
|
|
1445
|
+
MonkeyHelperDirective,
|
|
1446
|
+
MonkeyInfoDirective,
|
|
1447
|
+
MonkeyLabelDirective,
|
|
1448
|
+
MonkeyPrefixDirective,
|
|
1449
|
+
MonkeySuffixDirective,
|
|
1450
|
+
MonkeyBadgeDirective,
|
|
1451
|
+
MonkeyPopoverDirective
|
|
940
1452
|
],
|
|
941
1453
|
exports: [
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
MonkeyBadgeDirective
|
|
1454
|
+
MonkeyErrorDirective,
|
|
1455
|
+
MonkeyHelperDirective,
|
|
1456
|
+
MonkeyInfoDirective,
|
|
1457
|
+
MonkeyLabelDirective,
|
|
1458
|
+
MonkeyPrefixDirective,
|
|
1459
|
+
MonkeySuffixDirective,
|
|
1460
|
+
MonkeyBadgeDirective,
|
|
1461
|
+
MonkeyPopoverDirective
|
|
949
1462
|
]
|
|
950
1463
|
}]
|
|
951
1464
|
}] });
|
|
@@ -964,12 +1477,9 @@ class MonkeyCheckboxComponent {
|
|
|
964
1477
|
this.size = 'md';
|
|
965
1478
|
this.onChange = new EventEmitter();
|
|
966
1479
|
this._destroyRef = inject(DestroyRef);
|
|
967
|
-
this.icons = inject(MonkeyIconsService);
|
|
968
1480
|
this.idGenerator = inject(IdGenerator);
|
|
969
1481
|
this.injector = inject(Injector);
|
|
970
1482
|
this.cdr = inject(ChangeDetectorRef);
|
|
971
|
-
this.iconCheck = this.icons.check;
|
|
972
|
-
this.iconIndeterminate = this.icons.minus;
|
|
973
1483
|
this.inputId = this.idGenerator.getId('input-checkbox-');
|
|
974
1484
|
this.value = false;
|
|
975
1485
|
this.isFocused = false;
|
|
@@ -1071,7 +1581,7 @@ class MonkeyCheckboxComponent {
|
|
|
1071
1581
|
useExisting: MonkeyCheckboxComponent,
|
|
1072
1582
|
multi: true
|
|
1073
1583
|
}
|
|
1074
|
-
], queries: [{ propertyName: "infoChildren", predicate:
|
|
1584
|
+
], queries: [{ propertyName: "infoChildren", predicate: MonkeyInfoDirective, descendants: true }, { propertyName: "labelChildren", predicate: MonkeyLabelDirective, descendants: true }, { propertyName: "helperChildren", predicate: MonkeyHelperDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (hasHeader) {\n <div class=\"header\">\n <ng-content select=\"monkey-label\" />\n <ng-content select=\"monkey-helper\" />\n </div>\n}\n<label [attr.for]=\"inputId\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled\"\n (change)=\"onChangeEvent($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [id]=\"inputId\"\n [required]=\"required\"\n />\n <span class=\"checkbox\">\n @if (indeterminate) {\n <util-icon class=\"icon\" name=\"minus\" />\n } @else if (value) {\n <util-icon class=\"icon\" name=\"check\" />\n }\n </span>\n <span class=\"checkbox-label\">\n <ng-content></ng-content>\n </span>\n</label>\n@if (showFooter) {\n @switch (getFooterMessages()) {\n @case ('error') {\n <ng-content select=\"monkey-error\" />\n }\n @case ('info') {\n <ng-content select=\"monkey-info\" />\n }\n }\n}\n", styles: [":host{display:inline-flex;flex-direction:column;gap:6px}:host .header{display:flex;justify-content:space-between;gap:6px}:host label{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}:host .checkbox{display:block;width:24px;height:24px;border:2px solid var(--mecx-color-gray-400);background-color:#fff;border-radius:8px;position:relative;transition:background-color .2s ease;box-sizing:border-box}:host .checkbox .icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}:host .checkbox-label{color:var(--mecx-color-gray-900);font-size:14px;font-weight:400;line-height:24px}:host input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}:host.sm .checkbox{width:16px;height:16px;border-radius:4px}:host.sm .checkbox-label{line-height:16px}:host.lg .checkbox-label{font-size:16px}:host.mecx-checkbox-checked .checkbox,:host.mecx-checkbox-indeterminate .checkbox{border:none;background-color:var(--mecx-color-theme-main)}:host.mecx-checkbox-focused .checkbox{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}:host.mecx-disabled .checkbox-label{color:var(--mecx-color-gray-400)}:host.mecx-disabled .checkbox{background-color:var(--mecx-color-gray-50);border-color:var(--mecx-color-gray-200)}:host.mecx-checkbox-invalid:not(.mecx-checkbox-indeterminate) .checkbox{border:2px solid var(--mecx-color-error-700)}:host.mecx-checkbox-checked.mecx-disabled .checkbox,:host.mecx-checkbox-indeterminate.mecx-disabled .checkbox{background-color:var(--mecx-color-gray-400)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: UtilIconComponent, selector: "util-icon", inputs: ["name"] }], animations: [
|
|
1075
1585
|
trigger('iconAnimation', [
|
|
1076
1586
|
transition(':enter', [
|
|
1077
1587
|
animate('250ms ease-in-out', keyframes([
|
|
@@ -1090,7 +1600,7 @@ class MonkeyCheckboxComponent {
|
|
|
1090
1600
|
}
|
|
1091
1601
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyCheckboxComponent, decorators: [{
|
|
1092
1602
|
type: Component,
|
|
1093
|
-
args: [{ selector: 'monkey-checkbox', standalone: true, imports: [ReactiveFormsModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
1603
|
+
args: [{ selector: 'monkey-checkbox', standalone: true, imports: [ReactiveFormsModule, FormsModule, UtilIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
1094
1604
|
trigger('iconAnimation', [
|
|
1095
1605
|
transition(':enter', [
|
|
1096
1606
|
animate('250ms ease-in-out', keyframes([
|
|
@@ -1131,16 +1641,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1131
1641
|
'[class.sm]': 'size.includes("sm")',
|
|
1132
1642
|
'[class.md]': 'size.includes("md")',
|
|
1133
1643
|
'[class.lg]': 'size.includes("lg")'
|
|
1134
|
-
}, template: "@if (hasHeader) {\n <div class=\"header\">\n <ng-content select=\"monkey-label\" />\n <ng-content select=\"monkey-helper\" />\n </div>\n}\n<label [attr.for]=\"inputId\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled\"\n (change)=\"onChangeEvent($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [id]=\"inputId\"\n [required]=\"required\"\n />\n <span class=\"checkbox\">\n @if (indeterminate) {\n <
|
|
1644
|
+
}, template: "@if (hasHeader) {\n <div class=\"header\">\n <ng-content select=\"monkey-label\" />\n <ng-content select=\"monkey-helper\" />\n </div>\n}\n<label [attr.for]=\"inputId\">\n <input\n type=\"checkbox\"\n [checked]=\"value\"\n [indeterminate]=\"indeterminate\"\n [disabled]=\"disabled\"\n (change)=\"onChangeEvent($event)\"\n (blur)=\"onBlur()\"\n (focus)=\"onFocus()\"\n [id]=\"inputId\"\n [required]=\"required\"\n />\n <span class=\"checkbox\">\n @if (indeterminate) {\n <util-icon class=\"icon\" name=\"minus\" />\n } @else if (value) {\n <util-icon class=\"icon\" name=\"check\" />\n }\n </span>\n <span class=\"checkbox-label\">\n <ng-content></ng-content>\n </span>\n</label>\n@if (showFooter) {\n @switch (getFooterMessages()) {\n @case ('error') {\n <ng-content select=\"monkey-error\" />\n }\n @case ('info') {\n <ng-content select=\"monkey-info\" />\n }\n }\n}\n", styles: [":host{display:inline-flex;flex-direction:column;gap:6px}:host .header{display:flex;justify-content:space-between;gap:6px}:host label{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}:host .checkbox{display:block;width:24px;height:24px;border:2px solid var(--mecx-color-gray-400);background-color:#fff;border-radius:8px;position:relative;transition:background-color .2s ease;box-sizing:border-box}:host .checkbox .icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}:host .checkbox-label{color:var(--mecx-color-gray-900);font-size:14px;font-weight:400;line-height:24px}:host input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}:host.sm .checkbox{width:16px;height:16px;border-radius:4px}:host.sm .checkbox-label{line-height:16px}:host.lg .checkbox-label{font-size:16px}:host.mecx-checkbox-checked .checkbox,:host.mecx-checkbox-indeterminate .checkbox{border:none;background-color:var(--mecx-color-theme-main)}:host.mecx-checkbox-focused .checkbox{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}:host.mecx-disabled .checkbox-label{color:var(--mecx-color-gray-400)}:host.mecx-disabled .checkbox{background-color:var(--mecx-color-gray-50);border-color:var(--mecx-color-gray-200)}:host.mecx-checkbox-invalid:not(.mecx-checkbox-indeterminate) .checkbox{border:2px solid var(--mecx-color-error-700)}:host.mecx-checkbox-checked.mecx-disabled .checkbox,:host.mecx-checkbox-indeterminate.mecx-disabled .checkbox{background-color:var(--mecx-color-gray-400)}\n"] }]
|
|
1135
1645
|
}], propDecorators: { infoChildren: [{
|
|
1136
1646
|
type: ContentChildren,
|
|
1137
|
-
args: [
|
|
1647
|
+
args: [MonkeyInfoDirective, { descendants: true }]
|
|
1138
1648
|
}], labelChildren: [{
|
|
1139
1649
|
type: ContentChildren,
|
|
1140
|
-
args: [
|
|
1650
|
+
args: [MonkeyLabelDirective, { descendants: true }]
|
|
1141
1651
|
}], helperChildren: [{
|
|
1142
1652
|
type: ContentChildren,
|
|
1143
|
-
args: [
|
|
1653
|
+
args: [MonkeyHelperDirective, { descendants: true }]
|
|
1144
1654
|
}], disabled: [{
|
|
1145
1655
|
type: Input,
|
|
1146
1656
|
args: [{ transform: booleanAttribute }]
|
|
@@ -1167,8 +1677,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1167
1677
|
* MIT Licence
|
|
1168
1678
|
************************* */
|
|
1169
1679
|
|
|
1170
|
-
const MECX_I18N_WRAPPER = new InjectionToken('');
|
|
1171
|
-
|
|
1172
1680
|
/* eslint-disable no-console */
|
|
1173
1681
|
/** ************************
|
|
1174
1682
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
@@ -1349,7 +1857,7 @@ class MonkeyDictionaryService {
|
|
|
1349
1857
|
}
|
|
1350
1858
|
}
|
|
1351
1859
|
});
|
|
1352
|
-
const tokenSubject = inject(
|
|
1860
|
+
const tokenSubject = inject(MONKEY_I18N_WRAPPER, { optional: true });
|
|
1353
1861
|
tokenSubject?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((value) => {
|
|
1354
1862
|
this.handleWrapperValues(value);
|
|
1355
1863
|
});
|
|
@@ -1436,7 +1944,8 @@ class MonkeyFormFieldComponent {
|
|
|
1436
1944
|
return this._labelId;
|
|
1437
1945
|
}
|
|
1438
1946
|
get hideBorder() {
|
|
1439
|
-
|
|
1947
|
+
const { control } = this;
|
|
1948
|
+
return control?.type === 'input-code' || control?.type === 'radio-button';
|
|
1440
1949
|
}
|
|
1441
1950
|
get showHeader() {
|
|
1442
1951
|
return this.hasLabel || this.hasHelper;
|
|
@@ -1462,10 +1971,10 @@ class MonkeyFormFieldComponent {
|
|
|
1462
1971
|
return this.control.type === 'date' && !this.hideAction;
|
|
1463
1972
|
}
|
|
1464
1973
|
get showCurrency() {
|
|
1465
|
-
return this.control.currency;
|
|
1974
|
+
return this.control.currency || false;
|
|
1466
1975
|
}
|
|
1467
1976
|
get showPercent() {
|
|
1468
|
-
return this.control.percent;
|
|
1977
|
+
return this.control.percent || false;
|
|
1469
1978
|
}
|
|
1470
1979
|
get showLoading() {
|
|
1471
1980
|
return this.control.loading || false;
|
|
@@ -1473,7 +1982,6 @@ class MonkeyFormFieldComponent {
|
|
|
1473
1982
|
constructor() {
|
|
1474
1983
|
this.size = 'md';
|
|
1475
1984
|
this.elementRef = inject(ElementRef);
|
|
1476
|
-
this._icons = inject(MonkeyIconsService);
|
|
1477
1985
|
this._changeDetectorRef = inject(ChangeDetectorRef);
|
|
1478
1986
|
this._idGenerator = inject(IdGenerator);
|
|
1479
1987
|
this._labelId = this._idGenerator.getId('monkey-label-');
|
|
@@ -1483,9 +1991,6 @@ class MonkeyFormFieldComponent {
|
|
|
1483
1991
|
this._previousControl = null;
|
|
1484
1992
|
this.currencySymbol = getCurrencySymbol(inject(DEFAULT_CURRENCY_CODE));
|
|
1485
1993
|
this.percentSymbol = '%';
|
|
1486
|
-
this.imgClear = this._icons.clear;
|
|
1487
|
-
this.imgCalendar = this._icons.calendar;
|
|
1488
|
-
this.imgLoading = this._icons.loading;
|
|
1489
1994
|
this.hasLabel = false;
|
|
1490
1995
|
this.hasHelper = false;
|
|
1491
1996
|
this.hasPrefix = false;
|
|
@@ -1629,7 +2134,7 @@ class MonkeyFormFieldComponent {
|
|
|
1629
2134
|
}
|
|
1630
2135
|
}
|
|
1631
2136
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1632
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: { id: "id", hideAction: ["hideAction", "hideAction", booleanAttribute], enableClear: ["enableClear", "enableClear", booleanAttribute], size: "size" }, host: { properties: { "class.mecx-disabled": "control.disabled", "class.mecx-form-field-focused": "control.focused", "class.mecx-form-field-invalid": "showInvalid", "class.mecx-form-field-borderless": "hideBorder", "attr.id": "id", "id": "id", "class": "size" }, classAttribute: "mecx-form-field" }, queries: [{ propertyName: "_formFieldControl", first: true, predicate: MonkeyFormFieldControl, descendants: true }, { propertyName: "_labelChildren", predicate:
|
|
2137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: { id: "id", hideAction: ["hideAction", "hideAction", booleanAttribute], enableClear: ["enableClear", "enableClear", booleanAttribute], size: "size" }, host: { properties: { "class.mecx-disabled": "control.disabled", "class.mecx-form-field-focused": "control.focused", "class.mecx-form-field-invalid": "showInvalid", "class.mecx-form-field-borderless": "hideBorder", "attr.id": "id", "id": "id", "class": "size" }, classAttribute: "mecx-form-field" }, queries: [{ propertyName: "_formFieldControl", first: true, predicate: MonkeyFormFieldControl, descendants: true }, { propertyName: "_labelChildren", predicate: MonkeyLabelDirective, descendants: true }, { propertyName: "_helperChildren", predicate: MonkeyHelperDirective, descendants: true }, { propertyName: "_prefixChildren", predicate: MonkeyPrefixDirective, descendants: true }, { propertyName: "_suffixChildren", predicate: MonkeySuffixDirective, descendants: true }, { propertyName: "_infoChildren", predicate: MonkeyInfoDirective, descendants: true }, { propertyName: "_errorChildren", predicate: MonkeyErrorDirective, descendants: true }], exportAs: ["monkeyFormField"], ngImport: i0, template: "@if (showHeader) {\n <div class=\"mecx-form-field-header\" (click)=\"control.onContainerClick($event)\">\n <label [id]=\"labelId\" [attr.for]=\"control.id\">\n <ng-content select=\"monkey-label\"></ng-content>\n </label>\n <ng-content select=\"monkey-helper\"></ng-content>\n </div>\n}\n\n<div class=\"mecx-form-field-body\" (click)=\"control.onContainerClick($event)\">\n @if (hasPrefix) {\n <ng-content select=\"monkey-prefix\"></ng-content>\n }\n @if (getSymbols(); as symbols) {\n <div class=\"mecx-form-field-prefix-symbol\">\n {{ symbols }}\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (showClear) {\n <util-icon class=\"mecx-clear\" name=\"clear\" (click)=\"onClear($event)\" />\n }\n @if (showCalendar) {\n <util-icon class=\"mecx-calendar\" name=\"calendar\" (click)=\"onOpenCalendar($event)\" />\n }\n @if (showLoading) {\n <util-icon class=\"mecx-form-field-loading\" name=\"loading\" />\n }\n\n @if (hasSuffix) {\n <ng-content select=\"monkey-suffix\"></ng-content>\n }\n</div>\n\n@if (showFooter) {\n <div class=\"mecx-form-field-footer\" (click)=\"control.onContainerClick($event)\">\n @switch (getFooterMessages()) {\n @case ('error') {\n <ng-content select=\"monkey-error\"></ng-content>\n }\n @case ('info') {\n <div class=\"mecx-form-field-info\">\n <ng-content select=\"monkey-info\"></ng-content>\n </div>\n }\n }\n </div>\n}\n", styles: [".mecx-form-field{width:100%;display:inline-flex;flex-direction:column;min-width:0;text-align:left;gap:6px}.mecx-disabled .mecx-form-field{cursor:not-allowed;pointer-events:none}.mecx-form-field-header{display:flex;justify-content:space-between;align-items:center}.mecx-disabled .mecx-form-field-header label{pointer-events:none}.mecx-form-field-body{border-radius:4px;border:2px solid var(--mecx-color-gray-400);padding:8px;gap:4px;background:var(--mecx-color-white);color:var(--mecx-color-gray-500);box-sizing:border-box;height:40px;display:flex;align-items:center;position:relative}.mecx-form-field-invalid .mecx-form-field-body{border:2px solid var(--mecx-color-error-700)}.mecx-form-field-invalid .mecx-form-field-body .mecx-option:not(.mecx-option-disabled).radio:before{border:2px solid var(--mecx-color-error-700)}.mecx-form-field-focused .mecx-form-field-body{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}.mecx-disabled .mecx-form-field-body{border-color:var(--mecx-color-gray-50);background:var(--mecx-color-gray-50);border-radius:8px}.mecx-form-field-body .mecx-clear,.mecx-form-field-body .mecx-calendar{display:flex;align-items:center;justify-content:center;cursor:pointer}.mecx-form-field-body .mecx-calendar svg path{fill:var(--mecx-color-theme-main)}.sm .mecx-form-field-body{height:32px}.md .mecx-form-field-body{height:40px}.lg .mecx-form-field-body{height:48px}.mecx-form-field-footer{display:flex;flex-direction:column}.mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-700);font-size:16px;font-weight:400;font-style:normal;width:22px;text-align:center}.mecx-form-field-prefix-symbol .mk-i{display:flex}.mecx-disabled .mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-400)!important;pointer-events:none}.mecx-form-field-loading{display:flex}.mecx-form-field-loading svg path{fill:var(--mecx-color-theme-main)}.mecx-form-field-borderless .mecx-form-field-body{background-color:transparent;border:0;border-radius:0;padding:0;height:unset;align-items:flex-start}.mecx-form-field-borderless.mecx-form-field-focused .mecx-form-field-body{outline:none;outline-offset:unset}\n"], dependencies: [{ kind: "component", type: UtilIconComponent, selector: "util-icon", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1633
2138
|
}
|
|
1634
2139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldComponent, decorators: [{
|
|
1635
2140
|
type: Component,
|
|
@@ -1642,7 +2147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1642
2147
|
'[attr.id]': 'id',
|
|
1643
2148
|
'[id]': 'id',
|
|
1644
2149
|
'[class]': 'size'
|
|
1645
|
-
}, template: "@if (showHeader) {\n <div class=\"mecx-form-field-header\" (click)=\"control.onContainerClick($event)\">\n <label [id]=\"labelId\" [attr.for]=\"control.id\">\n <ng-content select=\"monkey-label\"></ng-content>\n </label>\n <ng-content select=\"monkey-helper\"></ng-content>\n </div>\n}\n\n<div class=\"mecx-form-field-body\" (click)=\"control.onContainerClick($event)\">\n @if (hasPrefix) {\n <ng-content select=\"monkey-prefix\"></ng-content>\n }\n @if (getSymbols(); as symbols) {\n <div class=\"mecx-form-field-prefix-symbol\">\n {{ symbols }}\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (showClear) {\n <
|
|
2150
|
+
}, template: "@if (showHeader) {\n <div class=\"mecx-form-field-header\" (click)=\"control.onContainerClick($event)\">\n <label [id]=\"labelId\" [attr.for]=\"control.id\">\n <ng-content select=\"monkey-label\"></ng-content>\n </label>\n <ng-content select=\"monkey-helper\"></ng-content>\n </div>\n}\n\n<div class=\"mecx-form-field-body\" (click)=\"control.onContainerClick($event)\">\n @if (hasPrefix) {\n <ng-content select=\"monkey-prefix\"></ng-content>\n }\n @if (getSymbols(); as symbols) {\n <div class=\"mecx-form-field-prefix-symbol\">\n {{ symbols }}\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (showClear) {\n <util-icon class=\"mecx-clear\" name=\"clear\" (click)=\"onClear($event)\" />\n }\n @if (showCalendar) {\n <util-icon class=\"mecx-calendar\" name=\"calendar\" (click)=\"onOpenCalendar($event)\" />\n }\n @if (showLoading) {\n <util-icon class=\"mecx-form-field-loading\" name=\"loading\" />\n }\n\n @if (hasSuffix) {\n <ng-content select=\"monkey-suffix\"></ng-content>\n }\n</div>\n\n@if (showFooter) {\n <div class=\"mecx-form-field-footer\" (click)=\"control.onContainerClick($event)\">\n @switch (getFooterMessages()) {\n @case ('error') {\n <ng-content select=\"monkey-error\"></ng-content>\n }\n @case ('info') {\n <div class=\"mecx-form-field-info\">\n <ng-content select=\"monkey-info\"></ng-content>\n </div>\n }\n }\n </div>\n}\n", styles: [".mecx-form-field{width:100%;display:inline-flex;flex-direction:column;min-width:0;text-align:left;gap:6px}.mecx-disabled .mecx-form-field{cursor:not-allowed;pointer-events:none}.mecx-form-field-header{display:flex;justify-content:space-between;align-items:center}.mecx-disabled .mecx-form-field-header label{pointer-events:none}.mecx-form-field-body{border-radius:4px;border:2px solid var(--mecx-color-gray-400);padding:8px;gap:4px;background:var(--mecx-color-white);color:var(--mecx-color-gray-500);box-sizing:border-box;height:40px;display:flex;align-items:center;position:relative}.mecx-form-field-invalid .mecx-form-field-body{border:2px solid var(--mecx-color-error-700)}.mecx-form-field-invalid .mecx-form-field-body .mecx-option:not(.mecx-option-disabled).radio:before{border:2px solid var(--mecx-color-error-700)}.mecx-form-field-focused .mecx-form-field-body{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}.mecx-disabled .mecx-form-field-body{border-color:var(--mecx-color-gray-50);background:var(--mecx-color-gray-50);border-radius:8px}.mecx-form-field-body .mecx-clear,.mecx-form-field-body .mecx-calendar{display:flex;align-items:center;justify-content:center;cursor:pointer}.mecx-form-field-body .mecx-calendar svg path{fill:var(--mecx-color-theme-main)}.sm .mecx-form-field-body{height:32px}.md .mecx-form-field-body{height:40px}.lg .mecx-form-field-body{height:48px}.mecx-form-field-footer{display:flex;flex-direction:column}.mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-700);font-size:16px;font-weight:400;font-style:normal;width:22px;text-align:center}.mecx-form-field-prefix-symbol .mk-i{display:flex}.mecx-disabled .mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-400)!important;pointer-events:none}.mecx-form-field-loading{display:flex}.mecx-form-field-loading svg path{fill:var(--mecx-color-theme-main)}.mecx-form-field-borderless .mecx-form-field-body{background-color:transparent;border:0;border-radius:0;padding:0;height:unset;align-items:flex-start}.mecx-form-field-borderless.mecx-form-field-focused .mecx-form-field-body{outline:none;outline-offset:unset}\n"] }]
|
|
1646
2151
|
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
1647
2152
|
type: Input
|
|
1648
2153
|
}], hideAction: [{
|
|
@@ -1658,22 +2163,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1658
2163
|
args: [MonkeyFormFieldControl]
|
|
1659
2164
|
}], _labelChildren: [{
|
|
1660
2165
|
type: ContentChildren,
|
|
1661
|
-
args: [
|
|
2166
|
+
args: [MonkeyLabelDirective, { descendants: true }]
|
|
1662
2167
|
}], _helperChildren: [{
|
|
1663
2168
|
type: ContentChildren,
|
|
1664
|
-
args: [
|
|
2169
|
+
args: [MonkeyHelperDirective, { descendants: true }]
|
|
1665
2170
|
}], _prefixChildren: [{
|
|
1666
2171
|
type: ContentChildren,
|
|
1667
|
-
args: [
|
|
2172
|
+
args: [MonkeyPrefixDirective, { descendants: true }]
|
|
1668
2173
|
}], _suffixChildren: [{
|
|
1669
2174
|
type: ContentChildren,
|
|
1670
|
-
args: [
|
|
2175
|
+
args: [MonkeySuffixDirective, { descendants: true }]
|
|
1671
2176
|
}], _infoChildren: [{
|
|
1672
2177
|
type: ContentChildren,
|
|
1673
|
-
args: [
|
|
2178
|
+
args: [MonkeyInfoDirective, { descendants: true }]
|
|
1674
2179
|
}], _errorChildren: [{
|
|
1675
2180
|
type: ContentChildren,
|
|
1676
|
-
args: [
|
|
2181
|
+
args: [MonkeyErrorDirective, { descendants: true }]
|
|
1677
2182
|
}] } });
|
|
1678
2183
|
|
|
1679
2184
|
/** ************************
|
|
@@ -1683,12 +2188,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1683
2188
|
************************* */
|
|
1684
2189
|
class MonkeyFormFieldModule {
|
|
1685
2190
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1686
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, declarations: [MonkeyFormFieldComponent], exports: [MonkeyFormFieldComponent] }); }
|
|
2191
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, declarations: [MonkeyFormFieldComponent], imports: [UtilIconComponent], exports: [MonkeyFormFieldComponent] }); }
|
|
1687
2192
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule }); }
|
|
1688
2193
|
}
|
|
1689
2194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, decorators: [{
|
|
1690
2195
|
type: NgModule,
|
|
1691
2196
|
args: [{
|
|
2197
|
+
imports: [UtilIconComponent],
|
|
1692
2198
|
declarations: [MonkeyFormFieldComponent],
|
|
1693
2199
|
exports: [MonkeyFormFieldComponent]
|
|
1694
2200
|
}]
|
|
@@ -1826,7 +2332,7 @@ class MonkeyInputCurrencyDirective {
|
|
|
1826
2332
|
focusOutChanged() {
|
|
1827
2333
|
this.ngControl?.control?.markAsTouched();
|
|
1828
2334
|
}
|
|
1829
|
-
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
|
|
2335
|
+
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 }); }
|
|
1830
2336
|
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: [
|
|
1831
2337
|
{
|
|
1832
2338
|
provide: MonkeyFormFieldControl,
|
|
@@ -1863,7 +2369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
1863
2369
|
}
|
|
1864
2370
|
]
|
|
1865
2371
|
}]
|
|
1866
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1
|
|
2372
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.CurrencyPipe }], propDecorators: { name: [{
|
|
1867
2373
|
type: Input
|
|
1868
2374
|
}], disabled: [{
|
|
1869
2375
|
type: Input,
|
|
@@ -2128,7 +2634,7 @@ class MonkeyIconButtonComponent {
|
|
|
2128
2634
|
}
|
|
2129
2635
|
}
|
|
2130
2636
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyIconButtonComponent, isStandalone: true, selector: "monkey-icon-button", inputs: { type: "type", size: "size", disabled: "disabled", icon: "icon", id: "id" }, host: { attributes: { "data-testid": "monkey-icon-button" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon [icon]=\"icon\" [size]=\"size\" first></monkey-icon>\n </div>\n</button>\n", styles: ["monkey-icon-button{display:inline-block;margin:0 2px}monkey-icon-button .mecx-icon-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-icon-button .mecx-icon-button .content{display:flex;align-items:center;justify-content:center;padding:12px;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-icon-button .mecx-icon-button .content span{width:100%}monkey-icon-button .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button .mecx-icon-button:disabled{background:var(--mecx-color-gray-100)!important;color:var(--mecx-color-gray-400)!important;cursor:not-allowed!important}monkey-icon-button .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid var(--mecx-color-gray-400)!important}monkey-icon-button .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button .mecx-icon-button.secondary{border:2px solid var(--mecx-color-gray-400);background:unset}monkey-icon-button .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.tertiary{background:unset}monkey-icon-button .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button .mecx-icon-button.sm .mk-i{font-size:
|
|
2637
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyIconButtonComponent, isStandalone: true, selector: "monkey-icon-button", inputs: { type: "type", size: "size", disabled: "disabled", icon: "icon", id: "id" }, host: { attributes: { "data-testid": "monkey-icon-button" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon [icon]=\"icon\" [size]=\"size\" first></monkey-icon>\n </div>\n</button>\n", styles: ["monkey-icon-button{display:inline-block;margin:0 2px}monkey-icon-button .mecx-icon-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-icon-button .mecx-icon-button .content{display:flex;align-items:center;justify-content:center;padding:12px;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-icon-button .mecx-icon-button .content span{width:100%}monkey-icon-button .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button .mecx-icon-button:disabled{background:var(--mecx-color-gray-100)!important;color:var(--mecx-color-gray-400)!important;cursor:not-allowed!important}monkey-icon-button .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid var(--mecx-color-gray-400)!important}monkey-icon-button .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button .mecx-icon-button.secondary{border:2px solid var(--mecx-color-gray-400);background:unset}monkey-icon-button .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.tertiary{background:unset}monkey-icon-button .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button .mecx-icon-button.sm .mk-i{font-size:16px}monkey-icon-button .mecx-icon-button.md{width:40px;height:40px}monkey-icon-button .mecx-icon-button.md .mk-i{font-size:18px}monkey-icon-button .mecx-icon-button.lg{width:48px;height:48px}monkey-icon-button .mecx-icon-button.lg .mk-i{font-size:24px}monkey-icon-button .mecx-icon-button.full-width{width:100%}monkey-icon-button .mecx-icon-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-icon-button .mecx-icon-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-icon-button .mecx-icon-button:active:not(:disabled) .content{transform:scale(.8)}:host:has(.mecx-button:active) .mecx-button{outline:unset;outline-offset:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "size", "id"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2132
2638
|
}
|
|
2133
2639
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyIconButtonComponent, decorators: [{
|
|
2134
2640
|
type: Component,
|
|
@@ -2136,7 +2642,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2136
2642
|
'data-testid': 'monkey-icon-button',
|
|
2137
2643
|
'[attr.id]': 'id',
|
|
2138
2644
|
'[id]': 'id'
|
|
2139
|
-
}, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon [icon]=\"icon\" [size]=\"size\" first></monkey-icon>\n </div>\n</button>\n", styles: ["monkey-icon-button{display:inline-block;margin:0 2px}monkey-icon-button .mecx-icon-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-icon-button .mecx-icon-button .content{display:flex;align-items:center;justify-content:center;padding:12px;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-icon-button .mecx-icon-button .content span{width:100%}monkey-icon-button .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button .mecx-icon-button:disabled{background:var(--mecx-color-gray-100)!important;color:var(--mecx-color-gray-400)!important;cursor:not-allowed!important}monkey-icon-button .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid var(--mecx-color-gray-400)!important}monkey-icon-button .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button .mecx-icon-button.secondary{border:2px solid var(--mecx-color-gray-400);background:unset}monkey-icon-button .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.tertiary{background:unset}monkey-icon-button .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button .mecx-icon-button.sm .mk-i{font-size:
|
|
2645
|
+
}, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon [icon]=\"icon\" [size]=\"size\" first></monkey-icon>\n </div>\n</button>\n", styles: ["monkey-icon-button{display:inline-block;margin:0 2px}monkey-icon-button .mecx-icon-button{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-icon-button .mecx-icon-button .content{display:flex;align-items:center;justify-content:center;padding:12px;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-icon-button .mecx-icon-button .content span{width:100%}monkey-icon-button .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button .mecx-icon-button:disabled{background:var(--mecx-color-gray-100)!important;color:var(--mecx-color-gray-400)!important;cursor:not-allowed!important}monkey-icon-button .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid var(--mecx-color-gray-400)!important}monkey-icon-button .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button .mecx-icon-button.secondary{border:2px solid var(--mecx-color-gray-400);background:unset}monkey-icon-button .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.tertiary{background:unset}monkey-icon-button .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button .mecx-icon-button.sm .mk-i{font-size:16px}monkey-icon-button .mecx-icon-button.md{width:40px;height:40px}monkey-icon-button .mecx-icon-button.md .mk-i{font-size:18px}monkey-icon-button .mecx-icon-button.lg{width:48px;height:48px}monkey-icon-button .mecx-icon-button.lg .mk-i{font-size:24px}monkey-icon-button .mecx-icon-button.full-width{width:100%}monkey-icon-button .mecx-icon-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-icon-button .mecx-icon-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-icon-button .mecx-icon-button:active:not(:disabled) .content{transform:scale(.8)}:host:has(.mecx-button:active) .mecx-button{outline:unset;outline-offset:unset}\n"] }]
|
|
2140
2646
|
}], ctorParameters: () => [], propDecorators: { type: [{
|
|
2141
2647
|
type: Input
|
|
2142
2648
|
}], size: [{
|
|
@@ -2361,7 +2867,7 @@ class MonkeyDateRangeMonthComponent {
|
|
|
2361
2867
|
});
|
|
2362
2868
|
}
|
|
2363
2869
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDateRangeMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2364
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyDateRangeMonthComponent, isStandalone: true, selector: "monkey-date-range-month", inputs: { month: "month", year: "year", startDate: "startDate", endDate: "endDate", hidePrevious: ["hidePrevious", "hidePrevious", booleanAttribute], hideNext: ["hideNext", "hideNext", booleanAttribute], minDate: "minDate", maxDate: "maxDate", id: "id" }, outputs: { onNavigate: "onNavigate", onDate: "onDate" }, host: { attributes: { "data-testid": "month" }, properties: { "attr.id": "id", "id": "id" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"i18nDictionary | async as i18n\">\n <div class=\"header\">\n @if (!hidePrevious) {\n <monkey-icon-button\n size=\"sm\"\n icon=\"arrow-left\"\n type=\"secondary\"\n class=\"previous\"\n [disabled]=\"daysInMonth.blockPrev\"\n (click)=\"onNavigate.next('previous')\"\n >\n </monkey-icon-button>\n }\n\n {{ i18n?.['MONTHS']?.[month] }} {{ year }}\n\n @if (!hideNext) {\n <monkey-icon-button\n size=\"sm\"\n icon=\"arrow-right\"\n type=\"secondary\"\n class=\"next\"\n [disabled]=\"daysInMonth.blockNext\"\n (click)=\"onNavigate.next('next')\"\n >\n </monkey-icon-button>\n }\n </div>\n\n <div class=\"week-labels\">\n @for (day of i18n?.['WEEK-DAYS']; track day) {\n <span class=\"day\">{{ day }}</span>\n }\n </div>\n\n <div class=\"dates\">\n @for (day of daysInMonth.days; track $index) {\n <div\n class=\"day\"\n [class.disabled]=\"day!.isDisabled\"\n [class.in-range]=\"isInRange(day!)\"\n [class.selected]=\"isSelected(day!)\"\n [class.first]=\"isFirst(day!)\"\n [class.last]=\"isLast(day!)\"\n [class.in-range-temporary]=\"isInRangeTemporary(day!)\"\n [class.temporary-last]=\"isInLastTemporary(day!)\"\n (click)=\"onSelectDate($event, day!)\"\n (mouseenter)=\"temporaryEndDate = day!\"\n (mouseleave)=\"temporaryEndDate = null\"\n >\n {{ day!.date | date: 'd' }}\n @if (day?.isToday) {\n <span class=\"today\"></span>\n }\n </div>\n }\n </div>\n</ng-container>\n", styles: [":host{width:100%}:host .header{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:12px}:host .header monkey-icon-button{max-width:32px;background:transparent}:host .header monkey-icon-button.previous{position:absolute;left:0}:host .header monkey-icon-button.next{position:absolute;right:0}:host .week-labels{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;font-size:.9rem;margin-bottom:4px;gap:12px 0}:host .week-labels .day{height:24px;border:none;background:transparent;text-align:center;display:flex;align-items:center;justify-content:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.14px}:host .dates{display:grid;grid-template-columns:repeat(7,1fr);gap:12px 0}:host .dates .day{height:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--mecx-color-gray-700);text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.14px;position:relative;border:1px solid transparent;-webkit-user-select:none;user-select:none}:host .dates .day .today{position:absolute;width:60%;bottom:1px;font-size:36px;letter-spacing:1.48!important}:host .dates .day .today:not(.selected){border-bottom:2px solid var(--mecx-color-theme-main)}:host .dates .day.disabled{color:var(--mecx-color-gray-400);font-weight:400;cursor:not-allowed}:host .dates .day.selected{background-color:var(--mecx-color-theme-main)!important;color:var(--mecx-color-white)!important}:host .dates .day.in-range{background-color:var(--mecx-color-gray-100);color:var(--mecx-color-theme-main)}:host .dates .day.in-range-temporary{background-color:var(--mecx-color-gray-100);color:var(--mecx-color-theme-main)}:host .dates .day.first,:host .dates .day.last{background-color:var(--mecx-color-theme-main);color:var(--mecx-color-white)}:host .dates .day.first{border-top-left-radius:8px;border-bottom-left-radius:8px}:host .dates .day.last,:host .dates .day.temporary-last{border-top-right-radius:8px;border-bottom-right-radius:8px}:host .dates .day:hover:not(.disabled,.in-range):before{content:\"\";border:1px solid var(--mecx-color-theme-main);border-radius:8px;height:100%;width:100%;position:absolute}:host .dates .day:hover:not(.disabled,.in-range).selected{background:var(--mecx-color-gray-100);color:var(--mecx-color-theme-main)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1
|
|
2870
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyDateRangeMonthComponent, isStandalone: true, selector: "monkey-date-range-month", inputs: { month: "month", year: "year", startDate: "startDate", endDate: "endDate", hidePrevious: ["hidePrevious", "hidePrevious", booleanAttribute], hideNext: ["hideNext", "hideNext", booleanAttribute], minDate: "minDate", maxDate: "maxDate", id: "id" }, outputs: { onNavigate: "onNavigate", onDate: "onDate" }, host: { attributes: { "data-testid": "month" }, properties: { "attr.id": "id", "id": "id" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"i18nDictionary | async as i18n\">\n <div class=\"header\">\n @if (!hidePrevious) {\n <monkey-icon-button\n size=\"sm\"\n icon=\"arrow-left\"\n type=\"secondary\"\n class=\"previous\"\n [disabled]=\"daysInMonth.blockPrev\"\n (click)=\"onNavigate.next('previous')\"\n >\n </monkey-icon-button>\n }\n\n {{ i18n?.['MONTHS']?.[month] }} {{ year }}\n\n @if (!hideNext) {\n <monkey-icon-button\n size=\"sm\"\n icon=\"arrow-right\"\n type=\"secondary\"\n class=\"next\"\n [disabled]=\"daysInMonth.blockNext\"\n (click)=\"onNavigate.next('next')\"\n >\n </monkey-icon-button>\n }\n </div>\n\n <div class=\"week-labels\">\n @for (day of i18n?.['WEEK-DAYS']; track day) {\n <span class=\"day\">{{ day }}</span>\n }\n </div>\n\n <div class=\"dates\">\n @for (day of daysInMonth.days; track $index) {\n <div\n class=\"day\"\n [class.disabled]=\"day!.isDisabled\"\n [class.in-range]=\"isInRange(day!)\"\n [class.selected]=\"isSelected(day!)\"\n [class.first]=\"isFirst(day!)\"\n [class.last]=\"isLast(day!)\"\n [class.in-range-temporary]=\"isInRangeTemporary(day!)\"\n [class.temporary-last]=\"isInLastTemporary(day!)\"\n (click)=\"onSelectDate($event, day!)\"\n (mouseenter)=\"temporaryEndDate = day!\"\n (mouseleave)=\"temporaryEndDate = null\"\n >\n {{ day!.date | date: 'd' }}\n @if (day?.isToday) {\n <span class=\"today\"></span>\n }\n </div>\n }\n </div>\n</ng-container>\n", styles: [":host{width:100%}:host .header{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:12px}:host .header monkey-icon-button{max-width:32px;background:transparent}:host .header monkey-icon-button.previous{position:absolute;left:0}:host .header monkey-icon-button.next{position:absolute;right:0}:host .week-labels{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;font-size:.9rem;margin-bottom:4px;gap:12px 0}:host .week-labels .day{height:24px;border:none;background:transparent;text-align:center;display:flex;align-items:center;justify-content:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.14px}:host .dates{display:grid;grid-template-columns:repeat(7,1fr);gap:12px 0}:host .dates .day{height:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--mecx-color-gray-700);text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.14px;position:relative;border:1px solid transparent;-webkit-user-select:none;user-select:none}:host .dates .day .today{position:absolute;width:60%;bottom:1px;font-size:36px;letter-spacing:1.48!important}:host .dates .day .today:not(.selected){border-bottom:2px solid var(--mecx-color-theme-main)}:host .dates .day.disabled{color:var(--mecx-color-gray-400);font-weight:400;cursor:not-allowed}:host .dates .day.selected{background-color:var(--mecx-color-theme-main)!important;color:var(--mecx-color-white)!important}:host .dates .day.in-range{background-color:var(--mecx-color-gray-100);color:var(--mecx-color-theme-main)}:host .dates .day.in-range-temporary{background-color:var(--mecx-color-gray-100);color:var(--mecx-color-theme-main)}:host .dates .day.first,:host .dates .day.last{background-color:var(--mecx-color-theme-main);color:var(--mecx-color-white)}:host .dates .day.first{border-top-left-radius:8px;border-bottom-left-radius:8px}:host .dates .day.last,:host .dates .day.temporary-last{border-top-right-radius:8px;border-bottom-right-radius:8px}:host .dates .day:hover:not(.disabled,.in-range):before{content:\"\";border:1px solid var(--mecx-color-theme-main);border-radius:8px;height:100%;width:100%;position:absolute}:host .dates .day:hover:not(.disabled,.in-range).selected{background:var(--mecx-color-gray-100);color:var(--mecx-color-theme-main)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "component", type: MonkeyIconButtonComponent, selector: "monkey-icon-button", inputs: ["type", "size", "disabled", "icon", "id"] }] }); }
|
|
2365
2871
|
}
|
|
2366
2872
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDateRangeMonthComponent, decorators: [{
|
|
2367
2873
|
type: Component,
|
|
@@ -2430,7 +2936,7 @@ class MonkeyDateRangeQuickActionsComponent {
|
|
|
2430
2936
|
this.onChange.next(value);
|
|
2431
2937
|
}
|
|
2432
2938
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDateRangeQuickActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2433
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyDateRangeQuickActionsComponent, isStandalone: true, selector: "monkey-date-range-quick-actions", inputs: { id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "quick-actions" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<ng-container *ngIf=\"i18nDictionary | async as i18n\">\n @for (item of actions; track item.key) {\n <div\n class=\"item\"\n [class.selected]=\"item.key === selectedAction\"\n (click)=\"onHandleAction(item)\"\n [attr.tabindex]=\"$index\"\n >\n {{ i18n?.['QUICK-ACTIONS']?.[item.key] }}\n </div>\n }\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:column;padding:24px 8px 12px 12px;gap:4px}:host .item{color:var(--mecx-color-gray-900);font-size:13px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.26px;padding:4px 12px;cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;border-radius:4px}:host .item.selected{border-radius:4px;background:var(--mecx-color-gray-100)}:host .item:hover{border-radius:4px;background:var(--mecx-color-gray-100)}:host .item:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1
|
|
2939
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyDateRangeQuickActionsComponent, isStandalone: true, selector: "monkey-date-range-quick-actions", inputs: { id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "quick-actions" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<ng-container *ngIf=\"i18nDictionary | async as i18n\">\n @for (item of actions; track item.key) {\n <div\n class=\"item\"\n [class.selected]=\"item.key === selectedAction\"\n (click)=\"onHandleAction(item)\"\n [attr.tabindex]=\"$index\"\n >\n {{ i18n?.['QUICK-ACTIONS']?.[item.key] }}\n </div>\n }\n</ng-container>\n", styles: [":host{display:inline-flex;flex-direction:column;padding:24px 8px 12px 12px;gap:4px}:host .item{color:var(--mecx-color-gray-900);font-size:13px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.26px;padding:4px 12px;cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none;border-radius:4px}:host .item.selected{border-radius:4px;background:var(--mecx-color-gray-100)}:host .item:hover{border-radius:4px;background:var(--mecx-color-gray-100)}:host .item:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
2434
2940
|
}
|
|
2435
2941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDateRangeQuickActionsComponent, decorators: [{
|
|
2436
2942
|
type: Component,
|
|
@@ -2618,7 +3124,7 @@ class MonkeyDateRangeComponent {
|
|
|
2618
3124
|
this.secondCalendar = calendars.secondCalendar;
|
|
2619
3125
|
}
|
|
2620
3126
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2621
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyDateRangeComponent, isStandalone: true, selector: "monkey-date-range", inputs: { startDate: "startDate", endDate: "endDate", hideQuickAction: ["hideQuickAction", "hideQuickAction", booleanAttribute], hideHeader: ["hideHeader", "hideHeader", booleanAttribute], hideActions: ["hideActions", "hideActions", booleanAttribute], hideSecondCalendar: ["hideSecondCalendar", "hideSecondCalendar", booleanAttribute], allowFastActionOnHeader: ["allowFastActionOnHeader", "allowFastActionOnHeader", booleanAttribute], minDate: "minDate", maxDate: "maxDate", id: "id" }, outputs: { onCancel: "onCancel", onDate: "onDate" }, host: { attributes: { "data-testid": "monkey-date-range" }, listeners: { "window:resize": "onResize($event)" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<ng-container *ngIf=\"i18nDictionary | async as i18n\">\n <div class=\"container-group\">\n @if (!hideQuickAction) {\n <div class=\"quick-actions\">\n <monkey-date-range-quick-actions (onChange)=\"onHandleQuickAction($event)\">\n </monkey-date-range-quick-actions>\n </div>\n }\n\n <div class=\"container\">\n @if (!hideHeader) {\n <div class=\"header\" [class.no-quick-action]=\"hideQuickAction\">\n @if (allowFastActionOnHeader) {\n <div class=\"quick-actions\">\n <monkey-date-range-quick-actions (onChange)=\"onHandleQuickAction($event)\">\n </monkey-date-range-quick-actions>\n </div>\n } @else {\n <div class=\"inputs\">\n <monkey-form-field hideAction enableClear size=\"sm\">\n <monkey-label>{{ i18n?.['START-DATE'] }}</monkey-label>\n <input\n type=\"date\"\n monkey-input\n id=\"startDate\"\n [(ngModel)]=\"handledStartDate\"\n (ngModelChange)=\"onDataChange($event, true)\"\n [min]=\"handledMinDate\"\n [max]=\"handledEndDate ? handledEndDate : handledMaxDate\"\n (change)=\"onChangeInputStartDate($event)\"\n />\n </monkey-form-field>\n <monkey-form-field hideAction enableClear size=\"sm\">\n <monkey-label>{{ i18n?.['END-DATE'] }}</monkey-label>\n <input\n type=\"date\"\n monkey-input\n id=\"endDate\"\n [(ngModel)]=\"handledEndDate\"\n (ngModelChange)=\"onDataChange($event, false)\"\n [min]=\"handledStartDate ? handledStartDate : ''\"\n [max]=\"handledMaxDate\"\n (change)=\"onChangeInputEndDate($event)\"\n />\n </monkey-form-field>\n </div>\n @if (isInvalidInterval) {\n <monkey-error>{{ i18n?.['INVALID'] }}</monkey-error>\n }\n }\n </div>\n }\n\n <div class=\"body\">\n <div class=\"calendars\">\n <monkey-date-range-month\n [month]=\"firstCalendar.month\"\n [year]=\"firstCalendar.year\"\n [startDate]=\"handledStartDate\"\n [endDate]=\"handledEndDate\"\n (onDate)=\"onHandleDate($event)\"\n (onNavigate)=\"onHandleNavigate($event)\"\n [hideNext]=\"!hideSecondCalendar\"\n [minDate]=\"handledMinDate\"\n [maxDate]=\"handledMaxDate\"\n >\n </monkey-date-range-month>\n\n @if (!hideSecondCalendar) {\n <monkey-date-range-month\n [month]=\"secondCalendar.month\"\n [year]=\"secondCalendar.year\"\n [startDate]=\"handledStartDate\"\n [endDate]=\"handledEndDate\"\n (onDate)=\"onHandleDate($event)\"\n (onNavigate)=\"onHandleNavigate($event)\"\n hidePrevious\n [minDate]=\"handledMinDate\"\n [maxDate]=\"handledMaxDate\"\n >\n </monkey-date-range-month>\n }\n </div>\n </div>\n\n @if (!hideActions) {\n <div class=\"actions\">\n <monkey-button size=\"md\" type=\"secondary\" (click)=\"onCancel.next(null)\">\n {{ i18n?.ACTIONS?.CANCEL }}\n </monkey-button>\n <monkey-button\n size=\"md\"\n (click)=\"onSubmit()\"\n [disabled]=\"!this.handledStartDate || !this.handledEndDate\"\n >\n {{ i18n?.ACTIONS?.APPLY }}\n </monkey-button>\n </div>\n }\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block;border:2px solid var(--mecx-color-gray-200);border-radius:16px}:host .container-group{width:100%;display:inline-flex}:host .container-group .quick-actions{width:100%;max-width:172px;border-top-left-radius:16px;border-bottom-left-radius:16px;border-right:2px solid var(--mecx-color-gray-200);background:var(--mecx-color-white)}:host .container-group .container{width:100%;display:inline-flex;flex-direction:column}:host .header{padding:16px 24px;border-radius:1px 16px 1px 1px;border-bottom:1px solid var(--mecx-color-gray-200);background:var(--mecx-color-gray-50)}:host .header .quick-actions{max-width:unset;border:unset}:host .header .quick-actions monkey-date-range-quick-actions{flex-flow:row wrap;padding:unset;justify-content:space-between;background:var(--mecx-color-gray-50)}:host .header.no-quick-action{border-top-left-radius:16px}:host .header .inputs{max-width:400px;display:flex;gap:16px}:host .header monkey-error{margin-top:2px}:host .body{padding:16px 24px}:host .body .calendars{display:inline-flex;width:100%;gap:48px}:host .actions{border-top:1px solid var(--mecx-color-gray-200);padding:16px 24px;display:flex;justify-content:flex-end;align-items:center;gap:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1
|
|
3127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyDateRangeComponent, isStandalone: true, selector: "monkey-date-range", inputs: { startDate: "startDate", endDate: "endDate", hideQuickAction: ["hideQuickAction", "hideQuickAction", booleanAttribute], hideHeader: ["hideHeader", "hideHeader", booleanAttribute], hideActions: ["hideActions", "hideActions", booleanAttribute], hideSecondCalendar: ["hideSecondCalendar", "hideSecondCalendar", booleanAttribute], allowFastActionOnHeader: ["allowFastActionOnHeader", "allowFastActionOnHeader", booleanAttribute], minDate: "minDate", maxDate: "maxDate", id: "id" }, outputs: { onCancel: "onCancel", onDate: "onDate" }, host: { attributes: { "data-testid": "monkey-date-range" }, listeners: { "window:resize": "onResize($event)" }, properties: { "attr.id": "id", "id": "id" } }, ngImport: i0, template: "<ng-container *ngIf=\"i18nDictionary | async as i18n\">\n <div class=\"container-group\">\n @if (!hideQuickAction) {\n <div class=\"quick-actions\">\n <monkey-date-range-quick-actions (onChange)=\"onHandleQuickAction($event)\">\n </monkey-date-range-quick-actions>\n </div>\n }\n\n <div class=\"container\">\n @if (!hideHeader) {\n <div class=\"header\" [class.no-quick-action]=\"hideQuickAction\">\n @if (allowFastActionOnHeader) {\n <div class=\"quick-actions\">\n <monkey-date-range-quick-actions (onChange)=\"onHandleQuickAction($event)\">\n </monkey-date-range-quick-actions>\n </div>\n } @else {\n <div class=\"inputs\">\n <monkey-form-field hideAction enableClear size=\"sm\">\n <monkey-label>{{ i18n?.['START-DATE'] }}</monkey-label>\n <input\n type=\"date\"\n monkey-input\n id=\"startDate\"\n [(ngModel)]=\"handledStartDate\"\n (ngModelChange)=\"onDataChange($event, true)\"\n [min]=\"handledMinDate\"\n [max]=\"handledEndDate ? handledEndDate : handledMaxDate\"\n (change)=\"onChangeInputStartDate($event)\"\n />\n </monkey-form-field>\n <monkey-form-field hideAction enableClear size=\"sm\">\n <monkey-label>{{ i18n?.['END-DATE'] }}</monkey-label>\n <input\n type=\"date\"\n monkey-input\n id=\"endDate\"\n [(ngModel)]=\"handledEndDate\"\n (ngModelChange)=\"onDataChange($event, false)\"\n [min]=\"handledStartDate ? handledStartDate : ''\"\n [max]=\"handledMaxDate\"\n (change)=\"onChangeInputEndDate($event)\"\n />\n </monkey-form-field>\n </div>\n @if (isInvalidInterval) {\n <monkey-error>{{ i18n?.['INVALID'] }}</monkey-error>\n }\n }\n </div>\n }\n\n <div class=\"body\">\n <div class=\"calendars\">\n <monkey-date-range-month\n [month]=\"firstCalendar.month\"\n [year]=\"firstCalendar.year\"\n [startDate]=\"handledStartDate\"\n [endDate]=\"handledEndDate\"\n (onDate)=\"onHandleDate($event)\"\n (onNavigate)=\"onHandleNavigate($event)\"\n [hideNext]=\"!hideSecondCalendar\"\n [minDate]=\"handledMinDate\"\n [maxDate]=\"handledMaxDate\"\n >\n </monkey-date-range-month>\n\n @if (!hideSecondCalendar) {\n <monkey-date-range-month\n [month]=\"secondCalendar.month\"\n [year]=\"secondCalendar.year\"\n [startDate]=\"handledStartDate\"\n [endDate]=\"handledEndDate\"\n (onDate)=\"onHandleDate($event)\"\n (onNavigate)=\"onHandleNavigate($event)\"\n hidePrevious\n [minDate]=\"handledMinDate\"\n [maxDate]=\"handledMaxDate\"\n >\n </monkey-date-range-month>\n }\n </div>\n </div>\n\n @if (!hideActions) {\n <div class=\"actions\">\n <monkey-button size=\"md\" type=\"secondary\" (click)=\"onCancel.next(null)\">\n {{ i18n?.ACTIONS?.CANCEL }}\n </monkey-button>\n <monkey-button\n size=\"md\"\n (click)=\"onSubmit()\"\n [disabled]=\"!this.handledStartDate || !this.handledEndDate\"\n >\n {{ i18n?.ACTIONS?.APPLY }}\n </monkey-button>\n </div>\n }\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:block;border:2px solid var(--mecx-color-gray-200);border-radius:16px}:host .container-group{width:100%;display:inline-flex}:host .container-group .quick-actions{width:100%;max-width:172px;border-top-left-radius:16px;border-bottom-left-radius:16px;border-right:2px solid var(--mecx-color-gray-200);background:var(--mecx-color-white)}:host .container-group .container{width:100%;display:inline-flex;flex-direction:column}:host .header{padding:16px 24px;border-radius:1px 16px 1px 1px;border-bottom:1px solid var(--mecx-color-gray-200);background:var(--mecx-color-gray-50)}:host .header .quick-actions{max-width:unset;border:unset}:host .header .quick-actions monkey-date-range-quick-actions{flex-flow:row wrap;padding:unset;justify-content:space-between;background:var(--mecx-color-gray-50)}:host .header.no-quick-action{border-top-left-radius:16px}:host .header .inputs{max-width:400px;display:flex;gap:16px}:host .header monkey-error{margin-top:2px}:host .body{padding:16px 24px}:host .body .calendars{display:inline-flex;width:100%;gap:48px}:host .actions{border-top:1px solid var(--mecx-color-gray-200);padding:16px 24px;display:flex;justify-content:flex-end;align-items:center;gap:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MonkeyInputModule }, { kind: "directive", type: MonkeyInputDirective, selector: "input[monkey-input],textarea[monkey-input]", inputs: ["name", "disabled", "id", "required", "type", "min", "max", "percent"], exportAs: ["monkeyInput"] }, { kind: "ngmodule", type: MonkeyFormFieldModule }, { kind: "component", type: MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: ["id", "hideAction", "enableClear", "size"], exportAs: ["monkeyFormField"] }, { kind: "ngmodule", type: MonkeyDirectivesModule }, { kind: "directive", type: MonkeyErrorDirective, selector: "monkey-error" }, { kind: "directive", type: MonkeyLabelDirective, selector: "monkey-label" }, { kind: "component", type: MonkeyButtonComponent, selector: "monkey-button", inputs: ["disabled", "size", "type", "id"] }, { kind: "component", type: MonkeyDateRangeMonthComponent, selector: "monkey-date-range-month", inputs: ["month", "year", "startDate", "endDate", "hidePrevious", "hideNext", "minDate", "maxDate", "id"], outputs: ["onNavigate", "onDate"] }, { kind: "component", type: MonkeyDateRangeQuickActionsComponent, selector: "monkey-date-range-quick-actions", inputs: ["id"], outputs: ["onChange"] }] }); }
|
|
2622
3128
|
}
|
|
2623
3129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDateRangeComponent, decorators: [{
|
|
2624
3130
|
type: Component,
|
|
@@ -3297,8 +3803,7 @@ class MonkeyModalConfig {
|
|
|
3297
3803
|
this.backdropClass = 'mecx-modal-overlay';
|
|
3298
3804
|
this.disableClose = false;
|
|
3299
3805
|
this.disableBackdropClose = false;
|
|
3300
|
-
this.
|
|
3301
|
-
this.height = '';
|
|
3806
|
+
this.fullscreen = false;
|
|
3302
3807
|
this.position = 'center-center';
|
|
3303
3808
|
this.data = null;
|
|
3304
3809
|
this.closeOnNavigation = true;
|
|
@@ -3340,7 +3845,14 @@ class MonkeyModalRef {
|
|
|
3340
3845
|
close(result) {
|
|
3341
3846
|
if (this.componentInstance) {
|
|
3342
3847
|
const closedSubject = this.closed;
|
|
3343
|
-
|
|
3848
|
+
const active = document.activeElement;
|
|
3849
|
+
if (active && this.componentElement.contains(active)) {
|
|
3850
|
+
active.blur();
|
|
3851
|
+
}
|
|
3852
|
+
this.componentElement.querySelectorAll('monkey-modal')[0].classList.add('fade-out');
|
|
3853
|
+
setTimeout(() => {
|
|
3854
|
+
this.overlayRef.detach();
|
|
3855
|
+
}, 150);
|
|
3344
3856
|
closedSubject.next(result);
|
|
3345
3857
|
closedSubject.complete();
|
|
3346
3858
|
// eslint-disable-next-line no-multi-assign
|
|
@@ -3380,9 +3892,13 @@ class MonkeyModalComponent {
|
|
|
3380
3892
|
}
|
|
3381
3893
|
}
|
|
3382
3894
|
close() {
|
|
3383
|
-
this.
|
|
3895
|
+
const element = this._elementRef.nativeElement;
|
|
3896
|
+
element.classList.add('fade-out');
|
|
3897
|
+
setTimeout(() => {
|
|
3898
|
+
this.modalRef?.close();
|
|
3899
|
+
}, 150);
|
|
3384
3900
|
}
|
|
3385
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalComponent, deps: [{ token: i0.ElementRef }, { token: i1.OverlayRef, optional: true }, { token: MonkeyModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3901
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.OverlayRef, optional: true }, { token: MonkeyModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3386
3902
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyModalComponent, selector: "monkey-modal", host: { attributes: { "tabindex": "-1" }, properties: { "attr.id": "modalRef?.id || null" }, classAttribute: "mecx-modal" }, ngImport: i0, template: `
|
|
3387
3903
|
<div class="mecx-modal-header">
|
|
3388
3904
|
<div class="mecx-modal-header-group">
|
|
@@ -3407,7 +3923,6 @@ class MonkeyModalComponent {
|
|
|
3407
3923
|
class="mecx-modal-close"
|
|
3408
3924
|
(click)="close()"
|
|
3409
3925
|
>
|
|
3410
|
-
x
|
|
3411
3926
|
</monkey-icon-button>
|
|
3412
3927
|
}
|
|
3413
3928
|
</div>
|
|
@@ -3415,7 +3930,7 @@ class MonkeyModalComponent {
|
|
|
3415
3930
|
<ng-content select="[monkey-modal-content]"></ng-content>
|
|
3416
3931
|
<ng-content select="monkey-modal-actions"></ng-content>
|
|
3417
3932
|
<ng-content select="[monkey-modal-actions]"></ng-content>
|
|
3418
|
-
`, isInline: true, styles: ["monkey-modal{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:8px}.mecx-modal-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--mecx-color-gray-200);padding:12px;position:relative}.mecx-modal-header-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.mecx-modal-header-title{display:flex;gap:8px;align-items:center;justify-content:flex-start}.mecx-modal-header-icon{padding:8px;display:flex;align-items:center;justify-content:center;background:var(--mecx-color-gray-100);border-radius:8px;font-size:24px;color:var(--mecx-color-gray-900)}.mecx-modal-title{font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;color:var(--mecx-color-gray-900)}.mecx-modal-subtitle{font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;color:var(--mecx-color-gray-700)}.mecx-modal-content{display:block;flex-grow:1;box-sizing:border-box;overflow:auto;max-height:65vh;padding:12px;scrollbar-color:var(--mecx-color-gray-400) transparent}.mecx-modal-actions{display:flex;gap:8px;border-top:1px solid var(--mecx-color-gray-200);padding:12px}.mecx-modal-actions.align-start{justify-content:flex-start}.mecx-modal-actions.align-center{justify-content:center}.mecx-modal-actions.align-end{justify-content:flex-end}.mecx-modal-overlay{background:#00000052}\n"], dependencies: [{ kind: "component", type: MonkeyIconButtonComponent, selector: "monkey-icon-button", inputs: ["type", "size", "disabled", "icon", "id"] }, { kind: "component", type: MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "size", "id"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3933
|
+
`, isInline: true, styles: ["monkey-modal{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:8px}.mecx-modal{opacity:0;animation:modalFadeIn .2s ease-out forwards;transition:opacity .15s ease-in}.mecx-modal.fade-out{animation:modalFadeOut .15s ease-in forwards}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes modalFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mecx-modal-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--mecx-color-gray-200);padding:12px;position:relative}.mecx-modal-header-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.mecx-modal-header-title{display:flex;gap:8px;align-items:center;justify-content:flex-start}.mecx-modal-header-icon{padding:8px;display:flex;align-items:center;justify-content:center;background:var(--mecx-color-gray-100);border-radius:8px;font-size:24px;color:var(--mecx-color-gray-900)}.mecx-modal-title{font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;color:var(--mecx-color-gray-900)}.mecx-modal-subtitle{font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;color:var(--mecx-color-gray-700)}.mecx-modal-content{display:block;flex-grow:1;box-sizing:border-box;overflow:auto;max-height:65vh;padding:12px;scrollbar-color:var(--mecx-color-gray-400) transparent}.mecx-modal-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--mecx-color-gray-200);padding:12px}.mecx-modal-actions.align-start{justify-content:flex-start}.mecx-modal-actions.align-center{justify-content:center}.mecx-modal-actions.align-end{justify-content:flex-end}.mecx-modal-overlay{background:#00000052}.monkey-modal-panel{padding:16px}.monkey-modal-panel.monkey-modal-fullscreen{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:0}.monkey-modal-panel.monkey-modal-fullscreen monkey-modal{border-radius:0}.monkey-modal-panel.monkey-modal-fullscreen monkey-modal .mecx-modal-content{max-height:100%}\n"], dependencies: [{ kind: "component", type: MonkeyIconButtonComponent, selector: "monkey-icon-button", inputs: ["type", "size", "disabled", "icon", "id"] }, { kind: "component", type: MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "size", "id"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3419
3934
|
}
|
|
3420
3935
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalComponent, decorators: [{
|
|
3421
3936
|
type: Component,
|
|
@@ -3443,7 +3958,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3443
3958
|
class="mecx-modal-close"
|
|
3444
3959
|
(click)="close()"
|
|
3445
3960
|
>
|
|
3446
|
-
x
|
|
3447
3961
|
</monkey-icon-button>
|
|
3448
3962
|
}
|
|
3449
3963
|
</div>
|
|
@@ -3455,8 +3969,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3455
3969
|
class: 'mecx-modal',
|
|
3456
3970
|
tabindex: '-1',
|
|
3457
3971
|
'[attr.id]': 'modalRef?.id || null'
|
|
3458
|
-
}, styles: ["monkey-modal{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:8px}.mecx-modal-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--mecx-color-gray-200);padding:12px;position:relative}.mecx-modal-header-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.mecx-modal-header-title{display:flex;gap:8px;align-items:center;justify-content:flex-start}.mecx-modal-header-icon{padding:8px;display:flex;align-items:center;justify-content:center;background:var(--mecx-color-gray-100);border-radius:8px;font-size:24px;color:var(--mecx-color-gray-900)}.mecx-modal-title{font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;color:var(--mecx-color-gray-900)}.mecx-modal-subtitle{font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;color:var(--mecx-color-gray-700)}.mecx-modal-content{display:block;flex-grow:1;box-sizing:border-box;overflow:auto;max-height:65vh;padding:12px;scrollbar-color:var(--mecx-color-gray-400) transparent}.mecx-modal-actions{display:flex;gap:8px;border-top:1px solid var(--mecx-color-gray-200);padding:12px}.mecx-modal-actions.align-start{justify-content:flex-start}.mecx-modal-actions.align-center{justify-content:center}.mecx-modal-actions.align-end{justify-content:flex-end}.mecx-modal-overlay{background:#00000052}\n"] }]
|
|
3459
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.OverlayRef, decorators: [{
|
|
3972
|
+
}, styles: ["monkey-modal{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:8px}.mecx-modal{opacity:0;animation:modalFadeIn .2s ease-out forwards;transition:opacity .15s ease-in}.mecx-modal.fade-out{animation:modalFadeOut .15s ease-in forwards}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes modalFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mecx-modal-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--mecx-color-gray-200);padding:12px;position:relative}.mecx-modal-header-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.mecx-modal-header-title{display:flex;gap:8px;align-items:center;justify-content:flex-start}.mecx-modal-header-icon{padding:8px;display:flex;align-items:center;justify-content:center;background:var(--mecx-color-gray-100);border-radius:8px;font-size:24px;color:var(--mecx-color-gray-900)}.mecx-modal-title{font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;color:var(--mecx-color-gray-900)}.mecx-modal-subtitle{font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;color:var(--mecx-color-gray-700)}.mecx-modal-content{display:block;flex-grow:1;box-sizing:border-box;overflow:auto;max-height:65vh;padding:12px;scrollbar-color:var(--mecx-color-gray-400) transparent}.mecx-modal-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--mecx-color-gray-200);padding:12px}.mecx-modal-actions.align-start{justify-content:flex-start}.mecx-modal-actions.align-center{justify-content:center}.mecx-modal-actions.align-end{justify-content:flex-end}.mecx-modal-overlay{background:#00000052}.monkey-modal-panel{padding:16px}.monkey-modal-panel.monkey-modal-fullscreen{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;padding:0}.monkey-modal-panel.monkey-modal-fullscreen monkey-modal{border-radius:0}.monkey-modal-panel.monkey-modal-fullscreen monkey-modal .mecx-modal-content{max-height:100%}\n"] }]
|
|
3973
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.OverlayRef, decorators: [{
|
|
3460
3974
|
type: Optional
|
|
3461
3975
|
}] }, { type: MonkeyModalRef, decorators: [{
|
|
3462
3976
|
type: Optional
|
|
@@ -3469,6 +3983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3469
3983
|
************************* */
|
|
3470
3984
|
const MECX_MODAL_DATA = new InjectionToken('mecxModalData');
|
|
3471
3985
|
const MECX_MODAL_DEFAULT_CONFIG = new InjectionToken('mecxModalDefaultConfig');
|
|
3986
|
+
const MECX_MODAL_CONFIRMATION_CONFIG = new InjectionToken('mecxModalConfirmationConfig');
|
|
3472
3987
|
/**
|
|
3473
3988
|
* @license
|
|
3474
3989
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -3493,11 +4008,6 @@ class MonkeyModalDefaultComponent {
|
|
|
3493
4008
|
constructor(config, modalRef) {
|
|
3494
4009
|
this.config = config;
|
|
3495
4010
|
this.modalRef = modalRef;
|
|
3496
|
-
this.title = '';
|
|
3497
|
-
this.subtitle = '';
|
|
3498
|
-
this.content = '';
|
|
3499
|
-
this.cancelLabel = '';
|
|
3500
|
-
this.okLabel = '';
|
|
3501
4011
|
// not to do
|
|
3502
4012
|
}
|
|
3503
4013
|
onSubmit() {
|
|
@@ -3543,6 +4053,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3543
4053
|
args: [MonkeyModalRef]
|
|
3544
4054
|
}] }] });
|
|
3545
4055
|
|
|
4056
|
+
class MonkeyModalConfirmationComponent {
|
|
4057
|
+
constructor(config, modalRef) {
|
|
4058
|
+
this.config = config;
|
|
4059
|
+
this.modalRef = modalRef;
|
|
4060
|
+
// not to do
|
|
4061
|
+
}
|
|
4062
|
+
onSubmit() {
|
|
4063
|
+
this.modalRef.close(true);
|
|
4064
|
+
}
|
|
4065
|
+
onClose() {
|
|
4066
|
+
this.modalRef.close();
|
|
4067
|
+
}
|
|
4068
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalConfirmationComponent, deps: [{ token: MECX_MODAL_CONFIRMATION_CONFIG }, { token: MonkeyModalRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4069
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyModalConfirmationComponent, selector: "monkey-modal-confirmation", ngImport: i0, template: `
|
|
4070
|
+
<monkey-modal class="modal-confirmation">
|
|
4071
|
+
<monkey-modal-content>
|
|
4072
|
+
@if (config.icon) {
|
|
4073
|
+
<div class="modal-confirmation-icon {{ config.type }}">
|
|
4074
|
+
<monkey-icon [icon]="config.icon" size="xxl"></monkey-icon>
|
|
4075
|
+
</div>
|
|
4076
|
+
}
|
|
4077
|
+
<div class="confirmation-title" [innerHTML]="config.title"></div>
|
|
4078
|
+
<div class="confirmation-description" [innerHTML]="config.content"></div>
|
|
4079
|
+
</monkey-modal-content>
|
|
4080
|
+
<monkey-modal-actions>
|
|
4081
|
+
<monkey-button type="tertiary" (click)="onClose()">{{ config.cancelLabel }}</monkey-button>
|
|
4082
|
+
<monkey-button type="primary" (click)="onSubmit()">{{ config.okLabel }}</monkey-button>
|
|
4083
|
+
</monkey-modal-actions>
|
|
4084
|
+
</monkey-modal>
|
|
4085
|
+
`, isInline: true, styles: [".modal-confirmation .mecx-modal-header{border:none}.modal-confirmation .confirmation-title{color:var(--mecx-color-gray-900);text-align:center;font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;margin-bottom:8px}.modal-confirmation .confirmation-description{color:var(--mecx-color-gray-700);text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;margin-bottom:24px}.modal-confirmation .modal-confirmation-icon{width:80px;height:80px;border-radius:50%;display:flex;margin:0 auto 16px;align-items:center;justify-content:center;background-color:var(--mecx-color-gray-50)}.modal-confirmation .modal-confirmation-icon monkey-icon{color:var(--mecx-color-gray-900)}.modal-confirmation .modal-confirmation-icon.warning{background-color:var(--mecx-color-warning-100)}.modal-confirmation .modal-confirmation-icon.warning monkey-icon{color:var(--mecx-color-warning-500)}.modal-confirmation .modal-confirmation-icon.error{background-color:var(--mecx-color-error-100)}.modal-confirmation .modal-confirmation-icon.error monkey-icon{color:var(--mecx-color-error-500)}.modal-confirmation .modal-confirmation-icon.success{background-color:var(--mecx-color-success-100)}.modal-confirmation .modal-confirmation-icon.success monkey-icon{color:var(--mecx-color-success-500)}\n"], dependencies: [{ kind: "component", type: MonkeyButtonComponent, selector: "monkey-button", inputs: ["disabled", "size", "type", "id"] }, { kind: "component", type: MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "size", "id"] }, { kind: "component", type: MonkeyModalComponent, selector: "monkey-modal" }, { kind: "directive", type: MonkeyModalContentDirective, selector: "monkey-modal-content, [monkey-modal-content]" }, { kind: "directive", type: MonkeyModalActionsDirective, selector: "monkey-modal-actions, [monkey-modal-actions]", inputs: ["mkAlign"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4086
|
+
}
|
|
4087
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalConfirmationComponent, decorators: [{
|
|
4088
|
+
type: Component,
|
|
4089
|
+
args: [{ selector: 'monkey-modal-confirmation', encapsulation: ViewEncapsulation.None, template: `
|
|
4090
|
+
<monkey-modal class="modal-confirmation">
|
|
4091
|
+
<monkey-modal-content>
|
|
4092
|
+
@if (config.icon) {
|
|
4093
|
+
<div class="modal-confirmation-icon {{ config.type }}">
|
|
4094
|
+
<monkey-icon [icon]="config.icon" size="xxl"></monkey-icon>
|
|
4095
|
+
</div>
|
|
4096
|
+
}
|
|
4097
|
+
<div class="confirmation-title" [innerHTML]="config.title"></div>
|
|
4098
|
+
<div class="confirmation-description" [innerHTML]="config.content"></div>
|
|
4099
|
+
</monkey-modal-content>
|
|
4100
|
+
<monkey-modal-actions>
|
|
4101
|
+
<monkey-button type="tertiary" (click)="onClose()">{{ config.cancelLabel }}</monkey-button>
|
|
4102
|
+
<monkey-button type="primary" (click)="onSubmit()">{{ config.okLabel }}</monkey-button>
|
|
4103
|
+
</monkey-modal-actions>
|
|
4104
|
+
</monkey-modal>
|
|
4105
|
+
`, styles: [".modal-confirmation .mecx-modal-header{border:none}.modal-confirmation .confirmation-title{color:var(--mecx-color-gray-900);text-align:center;font-size:18px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.54px;margin-bottom:8px}.modal-confirmation .confirmation-description{color:var(--mecx-color-gray-700);text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px;margin-bottom:24px}.modal-confirmation .modal-confirmation-icon{width:80px;height:80px;border-radius:50%;display:flex;margin:0 auto 16px;align-items:center;justify-content:center;background-color:var(--mecx-color-gray-50)}.modal-confirmation .modal-confirmation-icon monkey-icon{color:var(--mecx-color-gray-900)}.modal-confirmation .modal-confirmation-icon.warning{background-color:var(--mecx-color-warning-100)}.modal-confirmation .modal-confirmation-icon.warning monkey-icon{color:var(--mecx-color-warning-500)}.modal-confirmation .modal-confirmation-icon.error{background-color:var(--mecx-color-error-100)}.modal-confirmation .modal-confirmation-icon.error monkey-icon{color:var(--mecx-color-error-500)}.modal-confirmation .modal-confirmation-icon.success{background-color:var(--mecx-color-success-100)}.modal-confirmation .modal-confirmation-icon.success monkey-icon{color:var(--mecx-color-success-500)}\n"] }]
|
|
4106
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4107
|
+
type: Inject,
|
|
4108
|
+
args: [MECX_MODAL_CONFIRMATION_CONFIG]
|
|
4109
|
+
}] }, { type: MonkeyModalRef, decorators: [{
|
|
4110
|
+
type: Inject,
|
|
4111
|
+
args: [MonkeyModalRef]
|
|
4112
|
+
}] }] });
|
|
4113
|
+
|
|
3546
4114
|
/** ************************
|
|
3547
4115
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
3548
4116
|
* This style guide was developed by Monkey Exchange Team
|
|
@@ -3552,6 +4120,7 @@ class MonkeyModalModule {
|
|
|
3552
4120
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3553
4121
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalModule, declarations: [MonkeyModalComponent,
|
|
3554
4122
|
MonkeyModalDefaultComponent,
|
|
4123
|
+
MonkeyModalConfirmationComponent,
|
|
3555
4124
|
MonkeyModalTitleDirective,
|
|
3556
4125
|
MonkeyModalSubtitleDirective,
|
|
3557
4126
|
MonkeyModalContentDirective,
|
|
@@ -3569,6 +4138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3569
4138
|
declarations: [
|
|
3570
4139
|
MonkeyModalComponent,
|
|
3571
4140
|
MonkeyModalDefaultComponent,
|
|
4141
|
+
MonkeyModalConfirmationComponent,
|
|
3572
4142
|
MonkeyModalTitleDirective,
|
|
3573
4143
|
MonkeyModalSubtitleDirective,
|
|
3574
4144
|
MonkeyModalContentDirective,
|
|
@@ -3590,13 +4160,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3590
4160
|
* MIT Licence
|
|
3591
4161
|
************************* */
|
|
3592
4162
|
class MonkeyModalService {
|
|
3593
|
-
constructor(
|
|
3594
|
-
this.overlay = overlay;
|
|
3595
|
-
this.injector = injector;
|
|
4163
|
+
constructor() {
|
|
3596
4164
|
this._idGenerator = inject(IdGenerator);
|
|
4165
|
+
this._injector = inject(Injector);
|
|
4166
|
+
this._overlay = inject(Overlay);
|
|
3597
4167
|
this._openDialogsAtThisLevel = [];
|
|
3598
4168
|
this._parentDialog = inject(MonkeyModalService, { optional: true, skipSelf: true });
|
|
3599
|
-
// not to do
|
|
3600
4169
|
}
|
|
3601
4170
|
get openDialogs() {
|
|
3602
4171
|
return this._parentDialog ? this._parentDialog.openDialogs : this._openDialogsAtThisLevel;
|
|
@@ -3605,60 +4174,70 @@ class MonkeyModalService {
|
|
|
3605
4174
|
let positionStrategy;
|
|
3606
4175
|
const marginStrategy = '20px';
|
|
3607
4176
|
if (config.position === 'left-top') {
|
|
3608
|
-
positionStrategy = this.
|
|
4177
|
+
positionStrategy = this._overlay.position().global().left(marginStrategy).top(marginStrategy);
|
|
3609
4178
|
}
|
|
3610
4179
|
else if (config.position === 'center-top') {
|
|
3611
|
-
positionStrategy = this.
|
|
4180
|
+
positionStrategy = this._overlay.position().global().centerHorizontally().top(marginStrategy);
|
|
3612
4181
|
}
|
|
3613
4182
|
else if (config.position === 'right-top') {
|
|
3614
|
-
positionStrategy = this.
|
|
4183
|
+
positionStrategy = this._overlay
|
|
4184
|
+
.position()
|
|
4185
|
+
.global()
|
|
4186
|
+
.right(marginStrategy)
|
|
4187
|
+
.top(marginStrategy);
|
|
3615
4188
|
}
|
|
3616
4189
|
else if (config.position === 'left-center') {
|
|
3617
|
-
positionStrategy = this.
|
|
4190
|
+
positionStrategy = this._overlay.position().global().left(marginStrategy).centerVertically();
|
|
3618
4191
|
}
|
|
3619
4192
|
else if (config.position === 'center-center') {
|
|
3620
|
-
positionStrategy = this.
|
|
4193
|
+
positionStrategy = this._overlay.position().global().centerHorizontally().centerVertically();
|
|
3621
4194
|
}
|
|
3622
4195
|
else if (config.position === 'right-center') {
|
|
3623
|
-
positionStrategy = this.
|
|
4196
|
+
positionStrategy = this._overlay.position().global().right(marginStrategy).centerVertically();
|
|
3624
4197
|
}
|
|
3625
4198
|
else if (config.position === 'left-bottom') {
|
|
3626
|
-
positionStrategy = this.
|
|
4199
|
+
positionStrategy = this._overlay
|
|
3627
4200
|
.position()
|
|
3628
4201
|
.global()
|
|
3629
4202
|
.left(marginStrategy)
|
|
3630
4203
|
.bottom(marginStrategy);
|
|
3631
4204
|
}
|
|
3632
4205
|
else if (config.position === 'center-bottom') {
|
|
3633
|
-
positionStrategy = this.
|
|
4206
|
+
positionStrategy = this._overlay.position().global().centerHorizontally().bottom('20px');
|
|
3634
4207
|
}
|
|
3635
4208
|
else if (config.position === 'right-bottom') {
|
|
3636
|
-
positionStrategy = this.
|
|
4209
|
+
positionStrategy = this._overlay
|
|
3637
4210
|
.position()
|
|
3638
4211
|
.global()
|
|
3639
4212
|
.right(marginStrategy)
|
|
3640
4213
|
.bottom(marginStrategy);
|
|
3641
4214
|
}
|
|
4215
|
+
let panelClass = ['monkey-modal-panel'];
|
|
4216
|
+
if (config.fullscreen) {
|
|
4217
|
+
panelClass.push('monkey-modal-fullscreen');
|
|
4218
|
+
}
|
|
4219
|
+
if (Array.isArray(config.panelClass)) {
|
|
4220
|
+
panelClass = [...panelClass, ...config.panelClass];
|
|
4221
|
+
}
|
|
4222
|
+
else {
|
|
4223
|
+
panelClass.push(config.panelClass);
|
|
4224
|
+
}
|
|
3642
4225
|
const state = new OverlayConfig({
|
|
3643
4226
|
positionStrategy,
|
|
3644
|
-
scrollStrategy: this.
|
|
3645
|
-
panelClass
|
|
4227
|
+
scrollStrategy: this._overlay.scrollStrategies.block(),
|
|
4228
|
+
panelClass,
|
|
3646
4229
|
hasBackdrop: config.hasBackdrop,
|
|
3647
|
-
minWidth: config.minWidth,
|
|
3648
|
-
minHeight: config.minHeight,
|
|
3649
4230
|
maxWidth: config.maxWidth,
|
|
3650
4231
|
maxHeight: config.maxHeight,
|
|
3651
|
-
width: config.width,
|
|
3652
|
-
height: config.height,
|
|
3653
4232
|
disposeOnNavigation: config.closeOnNavigation
|
|
3654
4233
|
});
|
|
3655
4234
|
if (config.backdropClass) {
|
|
3656
4235
|
state.backdropClass = config.backdropClass;
|
|
3657
4236
|
}
|
|
3658
|
-
if (
|
|
4237
|
+
if (config.maxWidth) {
|
|
3659
4238
|
state.width = '100%';
|
|
3660
4239
|
}
|
|
3661
|
-
if (
|
|
4240
|
+
if (config.maxHeight) {
|
|
3662
4241
|
state.height = '100%';
|
|
3663
4242
|
}
|
|
3664
4243
|
return state;
|
|
@@ -3679,37 +4258,41 @@ class MonkeyModalService {
|
|
|
3679
4258
|
config = { ...defaultConfig, ...config };
|
|
3680
4259
|
config.id = this._idGenerator.getId('monkey-modal-');
|
|
3681
4260
|
const overlayConfig = this.getOverlayConfig(config);
|
|
3682
|
-
const overlayRef = this.
|
|
4261
|
+
const overlayRef = this._overlay.create(overlayConfig);
|
|
3683
4262
|
const modalRef = new MonkeyModalRef(overlayRef, config);
|
|
3684
|
-
const injector = this.createInjector(config, modalRef, overlayRef, this.
|
|
4263
|
+
const injector = this.createInjector(config, modalRef, overlayRef, this._injector);
|
|
3685
4264
|
const componentPortal = new ComponentPortal(component, null, injector);
|
|
3686
4265
|
const componentRef = overlayRef.attach(componentPortal);
|
|
3687
4266
|
const componentElement = componentRef.location.nativeElement;
|
|
3688
4267
|
componentElement.style.width = '100%';
|
|
3689
4268
|
componentElement.style.height = '100%';
|
|
4269
|
+
modalRef.componentElement = componentElement;
|
|
3690
4270
|
modalRef.componentInstance = componentRef.instance;
|
|
3691
4271
|
this.openDialogs.push(modalRef);
|
|
3692
4272
|
return modalRef;
|
|
3693
4273
|
}
|
|
3694
4274
|
openDefault(params, config) {
|
|
3695
|
-
|
|
3696
|
-
config.providers = providers;
|
|
4275
|
+
config.providers = [{ provide: MECX_MODAL_DEFAULT_CONFIG, useValue: params }];
|
|
3697
4276
|
config.icon = config.icon ? config.icon : 'help';
|
|
3698
4277
|
return this.open(MonkeyModalDefaultComponent, config);
|
|
3699
4278
|
}
|
|
4279
|
+
openConfirmation(params, config) {
|
|
4280
|
+
config.providers = [{ provide: MECX_MODAL_CONFIRMATION_CONFIG, useValue: params }];
|
|
4281
|
+
return this.open(MonkeyModalConfirmationComponent, config);
|
|
4282
|
+
}
|
|
3700
4283
|
closeAll() {
|
|
3701
4284
|
reverseForEach(this.openDialogs, (dialog) => {
|
|
3702
4285
|
return dialog.close();
|
|
3703
4286
|
});
|
|
3704
4287
|
this.openDialogs.splice(0, this.openDialogs.length);
|
|
3705
4288
|
}
|
|
3706
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalService, deps: [
|
|
4289
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3707
4290
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalService, providedIn: 'root' }); }
|
|
3708
4291
|
}
|
|
3709
4292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyModalService, decorators: [{
|
|
3710
4293
|
type: Injectable,
|
|
3711
4294
|
args: [{ providedIn: 'root' }]
|
|
3712
|
-
}]
|
|
4295
|
+
}] });
|
|
3713
4296
|
|
|
3714
4297
|
/** ************************
|
|
3715
4298
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
@@ -3726,6 +4309,7 @@ class MonkeyOptionComponent {
|
|
|
3726
4309
|
constructor() {
|
|
3727
4310
|
this.idGenerator = inject(IdGenerator);
|
|
3728
4311
|
this.disabled = false;
|
|
4312
|
+
this.type = 'select';
|
|
3729
4313
|
this.selected = false;
|
|
3730
4314
|
this.tabIndex = 0;
|
|
3731
4315
|
this.id = this.idGenerator.getId('mecx-option-');
|
|
@@ -3733,7 +4317,7 @@ class MonkeyOptionComponent {
|
|
|
3733
4317
|
get displayContent() {
|
|
3734
4318
|
return (this._content?.nativeElement.textContent || '').trim();
|
|
3735
4319
|
}
|
|
3736
|
-
|
|
4320
|
+
handleAction(event) {
|
|
3737
4321
|
if (this.disabled) {
|
|
3738
4322
|
event.stopPropagation();
|
|
3739
4323
|
event.preventDefault();
|
|
@@ -3742,8 +4326,17 @@ class MonkeyOptionComponent {
|
|
|
3742
4326
|
this.action?.();
|
|
3743
4327
|
}
|
|
3744
4328
|
}
|
|
4329
|
+
onClick(event) {
|
|
4330
|
+
this.handleAction(event);
|
|
4331
|
+
}
|
|
4332
|
+
handleKeyDown(event) {
|
|
4333
|
+
const { key } = event;
|
|
4334
|
+
if (key === 'Enter' || key === ' ') {
|
|
4335
|
+
this.handleAction(event);
|
|
4336
|
+
}
|
|
4337
|
+
}
|
|
3745
4338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3746
|
-
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 }); }
|
|
4339
|
+
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], type: "type" }, host: { attributes: { "data-testid": "monkey-option" }, listeners: { "click": "onClick($event)", "keydown": "handleKeyDown($event)" }, properties: { "attr.id": "id", "class.mecx-option-disabled": "disabled", "class.mecx-option-selected": "selected", "attr.tabindex": "disabled ? -1 : tabIndex", "class": "type" }, 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.select:hover{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}monkey-option.select.mecx-option-disabled{color:var(--mecx-color-gray-400);background-color:#fff;cursor:default}monkey-option.select.mecx-option-selected{color:var(--mecx-color-theme-contrast-main);background-color:var(--mecx-color-theme-main)}.ng-animating monkey-option.select.mecx-option-selected{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}monkey-option.radio{display:flex;align-items:center;gap:10px;padding:8px 24px 8px 0;cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none;position:relative}monkey-option.radio:before{content:\"\";width:20px;height:20px;border:2px solid var(--mecx-color-gray-600);border-radius:800px;box-sizing:border-box;background-color:var(--mecx-color-white)}monkey-option.radio:focus{outline:unset;outline-offset:1px}monkey-option.radio:focus:before{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-option.radio.mecx-option-selected:before{border:5px solid var(--mecx-color-theme-main)}monkey-option.radio.mecx-option-disabled{opacity:.5;pointer-events:none}monkey-option.radio.mecx-option-disabled:before{background:var(--mecx-color-white);border-color:var(--mecx-color-gray-400)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3747
4340
|
}
|
|
3748
4341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyOptionComponent, decorators: [{
|
|
3749
4342
|
type: Component,
|
|
@@ -3753,8 +4346,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3753
4346
|
class: 'mecx-option',
|
|
3754
4347
|
'[class.mecx-option-disabled]': 'disabled',
|
|
3755
4348
|
'[class.mecx-option-selected]': 'selected',
|
|
3756
|
-
'[attr.tabindex]': 'disabled ? -1 : tabIndex'
|
|
3757
|
-
|
|
4349
|
+
'[attr.tabindex]': 'disabled ? -1 : tabIndex',
|
|
4350
|
+
'[class]': 'type'
|
|
4351
|
+
}, 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.select:hover{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}monkey-option.select.mecx-option-disabled{color:var(--mecx-color-gray-400);background-color:#fff;cursor:default}monkey-option.select.mecx-option-selected{color:var(--mecx-color-theme-contrast-main);background-color:var(--mecx-color-theme-main)}.ng-animating monkey-option.select.mecx-option-selected{color:var(--mecx-color-gray-900);background-color:var(--mecx-color-gray-100)}monkey-option.radio{display:flex;align-items:center;gap:10px;padding:8px 24px 8px 0;cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none;position:relative}monkey-option.radio:before{content:\"\";width:20px;height:20px;border:2px solid var(--mecx-color-gray-600);border-radius:800px;box-sizing:border-box;background-color:var(--mecx-color-white)}monkey-option.radio:focus{outline:unset;outline-offset:1px}monkey-option.radio:focus:before{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-option.radio.mecx-option-selected:before{border:5px solid var(--mecx-color-theme-main)}monkey-option.radio.mecx-option-disabled{opacity:.5;pointer-events:none}monkey-option.radio.mecx-option-disabled:before{background:var(--mecx-color-white);border-color:var(--mecx-color-gray-400)}\n"] }]
|
|
3758
4352
|
}], propDecorators: { _content: [{
|
|
3759
4353
|
type: ViewChild,
|
|
3760
4354
|
args: ['content', { static: true }]
|
|
@@ -3763,9 +4357,199 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3763
4357
|
}], disabled: [{
|
|
3764
4358
|
type: Input,
|
|
3765
4359
|
args: [{ transform: booleanAttribute }]
|
|
4360
|
+
}], type: [{
|
|
4361
|
+
type: Input
|
|
3766
4362
|
}], onClick: [{
|
|
3767
4363
|
type: HostListener,
|
|
3768
4364
|
args: ['click', ['$event']]
|
|
4365
|
+
}], handleKeyDown: [{
|
|
4366
|
+
type: HostListener,
|
|
4367
|
+
args: ['keydown', ['$event']]
|
|
4368
|
+
}] } });
|
|
4369
|
+
|
|
4370
|
+
/** ************************
|
|
4371
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
4372
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4373
|
+
* MIT Licence
|
|
4374
|
+
************************* */
|
|
4375
|
+
|
|
4376
|
+
/** ************************
|
|
4377
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
4378
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4379
|
+
* MIT Licence
|
|
4380
|
+
************************* */
|
|
4381
|
+
class MonkeyRadioButtonComponent {
|
|
4382
|
+
get classes() {
|
|
4383
|
+
return `${this.position} ${this.size}`;
|
|
4384
|
+
}
|
|
4385
|
+
get disabled() {
|
|
4386
|
+
if (this.ngControl && this.ngControl.disabled !== null) {
|
|
4387
|
+
return this.ngControl.disabled;
|
|
4388
|
+
}
|
|
4389
|
+
return this._disabled;
|
|
4390
|
+
}
|
|
4391
|
+
set disabled(value) {
|
|
4392
|
+
this._disabled = value;
|
|
4393
|
+
if (this.focused) {
|
|
4394
|
+
this.focused = false;
|
|
4395
|
+
this.stateChanges.next();
|
|
4396
|
+
}
|
|
4397
|
+
}
|
|
4398
|
+
get required() {
|
|
4399
|
+
return this._required ?? this.ngControl?.control?.hasValidator(Validators.required) ?? false;
|
|
4400
|
+
}
|
|
4401
|
+
set required(value) {
|
|
4402
|
+
this._required = value;
|
|
4403
|
+
this.stateChanges.next();
|
|
4404
|
+
}
|
|
4405
|
+
set value(value) {
|
|
4406
|
+
if (this._value !== value) {
|
|
4407
|
+
this._value = value;
|
|
4408
|
+
this._onChange(value);
|
|
4409
|
+
}
|
|
4410
|
+
}
|
|
4411
|
+
get value() {
|
|
4412
|
+
return this._value;
|
|
4413
|
+
}
|
|
4414
|
+
constructor(changeDetectorRef, formField) {
|
|
4415
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
4416
|
+
this.formField = formField;
|
|
4417
|
+
this.tabIndex = 0;
|
|
4418
|
+
this.onChange = new EventEmitter();
|
|
4419
|
+
this.onSearch = new EventEmitter();
|
|
4420
|
+
this.position = 'horizontal';
|
|
4421
|
+
this.size = 'lg';
|
|
4422
|
+
this._value = null;
|
|
4423
|
+
this._destroyRef = inject(DestroyRef);
|
|
4424
|
+
this.idGenerator = inject(IdGenerator);
|
|
4425
|
+
this.ngControl = inject(NgControl, { self: true, optional: true });
|
|
4426
|
+
this._elementRef = inject(ElementRef);
|
|
4427
|
+
this.focused = false;
|
|
4428
|
+
this._disabled = false;
|
|
4429
|
+
this.id = this.idGenerator.getId('monkey-radiobutton-');
|
|
4430
|
+
this.stateChanges = new Subject();
|
|
4431
|
+
this.type = 'radio-button';
|
|
4432
|
+
this._onChange = () => { };
|
|
4433
|
+
this._onTouched = () => { };
|
|
4434
|
+
if (this.ngControl) {
|
|
4435
|
+
this.ngControl.valueAccessor = this;
|
|
4436
|
+
}
|
|
4437
|
+
}
|
|
4438
|
+
changeSelected() {
|
|
4439
|
+
setTimeout(() => {
|
|
4440
|
+
if (this.options) {
|
|
4441
|
+
this.options.forEach((opt) => {
|
|
4442
|
+
opt.selected = opt.value === this.value;
|
|
4443
|
+
});
|
|
4444
|
+
}
|
|
4445
|
+
this.changeDetectorRef.markForCheck();
|
|
4446
|
+
});
|
|
4447
|
+
}
|
|
4448
|
+
initializeOptions() {
|
|
4449
|
+
setTimeout(() => {
|
|
4450
|
+
this.options?.forEach((option) => {
|
|
4451
|
+
option.type = 'radio';
|
|
4452
|
+
if (!option.action) {
|
|
4453
|
+
option.action = this.selectOption.bind(this, option);
|
|
4454
|
+
}
|
|
4455
|
+
});
|
|
4456
|
+
this.changeDetectorRef.markForCheck();
|
|
4457
|
+
}, 0);
|
|
4458
|
+
}
|
|
4459
|
+
ngAfterContentInit() {
|
|
4460
|
+
this.initializeOptions();
|
|
4461
|
+
this.options.changes.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
4462
|
+
this.initializeOptions();
|
|
4463
|
+
this.changeSelected();
|
|
4464
|
+
});
|
|
4465
|
+
}
|
|
4466
|
+
selectOption(option) {
|
|
4467
|
+
if (!option.disabled && !this.disabled) {
|
|
4468
|
+
this.value = option.value;
|
|
4469
|
+
this._onChange(this.value);
|
|
4470
|
+
this.onChange.emit(this.value);
|
|
4471
|
+
this.options.forEach((opt) => {
|
|
4472
|
+
opt.selected = opt.value === this.value;
|
|
4473
|
+
});
|
|
4474
|
+
}
|
|
4475
|
+
}
|
|
4476
|
+
writeValue(value) {
|
|
4477
|
+
this.value = value;
|
|
4478
|
+
this.changeSelected();
|
|
4479
|
+
}
|
|
4480
|
+
onContainerClick(event) {
|
|
4481
|
+
if (this.disabled)
|
|
4482
|
+
return;
|
|
4483
|
+
this._elementRef.nativeElement.focus();
|
|
4484
|
+
}
|
|
4485
|
+
_onFocus() {
|
|
4486
|
+
if (!this.disabled) {
|
|
4487
|
+
this.focused = true;
|
|
4488
|
+
this._onTouched();
|
|
4489
|
+
this.stateChanges.next();
|
|
4490
|
+
}
|
|
4491
|
+
}
|
|
4492
|
+
_onBlur() {
|
|
4493
|
+
this.focused = false;
|
|
4494
|
+
this.stateChanges.next();
|
|
4495
|
+
}
|
|
4496
|
+
registerOnChange(fn) {
|
|
4497
|
+
this._onChange = fn;
|
|
4498
|
+
}
|
|
4499
|
+
registerOnTouched(fn) {
|
|
4500
|
+
this._onTouched = fn;
|
|
4501
|
+
}
|
|
4502
|
+
setDisabledState(isDisabled) {
|
|
4503
|
+
this.disabled = isDisabled;
|
|
4504
|
+
this.initializeOptions();
|
|
4505
|
+
}
|
|
4506
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyRadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: MonkeyFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4507
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyRadioButtonComponent, isStandalone: true, selector: "monkey-radiobutton", inputs: { tabIndex: "tabIndex", position: "position", size: "size", disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, outputs: { onChange: "onChange", onSearch: "onSearch" }, host: { attributes: { "data-testid": "monkey-radiobutton" }, listeners: { "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "class.mecx-disabled": "disabled", "class.mecx-radiobutton-focused": "focused", "attr.id": "id", "attr.tabindex": "disabled ? -1 : tabIndex", "class": "this.classes" }, classAttribute: "mecx-radiobutton" }, providers: [
|
|
4508
|
+
// eslint-disable-next-line no-use-before-define
|
|
4509
|
+
{ provide: MonkeyFormFieldControl, useExisting: MonkeyRadioButtonComponent }
|
|
4510
|
+
], queries: [{ propertyName: "options", predicate: MonkeyOptionComponent }], ngImport: i0, template: "<ng-content />\n", styles: ["monkey-radiobutton{display:inline-flex;width:100%;min-width:0;position:relative;flex-wrap:wrap}monkey-radiobutton:focus-visible,monkey-radiobutton:focus{outline:none}monkey-radiobutton.vertical{flex-direction:column}monkey-radiobutton.mecx-disabled monkey-option{opacity:.5;pointer-events:none}monkey-radiobutton.mecx-disabled monkey-option:before{background:var(--mecx-color-white);border-color:var(--mecx-color-gray-400)}monkey-radiobutton.mecx-form-field-invalid{background:var(--mecx-color-error-700)}monkey-radiobutton.md monkey-option:before{width:16px;height:16px}monkey-radiobutton.sm monkey-option:before{width:14px;height:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
4511
|
+
}
|
|
4512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyRadioButtonComponent, decorators: [{
|
|
4513
|
+
type: Component,
|
|
4514
|
+
args: [{ selector: 'monkey-radiobutton', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, UtilIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
4515
|
+
// eslint-disable-next-line no-use-before-define
|
|
4516
|
+
{ provide: MonkeyFormFieldControl, useExisting: MonkeyRadioButtonComponent }
|
|
4517
|
+
], host: {
|
|
4518
|
+
'data-testid': 'monkey-radiobutton',
|
|
4519
|
+
class: 'mecx-radiobutton',
|
|
4520
|
+
'[class.mecx-disabled]': 'disabled',
|
|
4521
|
+
'[class.mecx-radiobutton-focused]': 'focused',
|
|
4522
|
+
'[attr.id]': 'id',
|
|
4523
|
+
'[attr.tabindex]': 'disabled ? -1 : tabIndex',
|
|
4524
|
+
'(focus)': '_onFocus()',
|
|
4525
|
+
'(blur)': '_onBlur()'
|
|
4526
|
+
}, template: "<ng-content />\n", styles: ["monkey-radiobutton{display:inline-flex;width:100%;min-width:0;position:relative;flex-wrap:wrap}monkey-radiobutton:focus-visible,monkey-radiobutton:focus{outline:none}monkey-radiobutton.vertical{flex-direction:column}monkey-radiobutton.mecx-disabled monkey-option{opacity:.5;pointer-events:none}monkey-radiobutton.mecx-disabled monkey-option:before{background:var(--mecx-color-white);border-color:var(--mecx-color-gray-400)}monkey-radiobutton.mecx-form-field-invalid{background:var(--mecx-color-error-700)}monkey-radiobutton.md monkey-option:before{width:16px;height:16px}monkey-radiobutton.sm monkey-option:before{width:14px;height:14px}\n"] }]
|
|
4527
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: MonkeyFormFieldComponent, decorators: [{
|
|
4528
|
+
type: Optional
|
|
4529
|
+
}] }], propDecorators: { options: [{
|
|
4530
|
+
type: ContentChildren,
|
|
4531
|
+
args: [MonkeyOptionComponent]
|
|
4532
|
+
}], tabIndex: [{
|
|
4533
|
+
type: Input
|
|
4534
|
+
}], onChange: [{
|
|
4535
|
+
type: Output
|
|
4536
|
+
}], onSearch: [{
|
|
4537
|
+
type: Output
|
|
4538
|
+
}], position: [{
|
|
4539
|
+
type: Input
|
|
4540
|
+
}], size: [{
|
|
4541
|
+
type: Input
|
|
4542
|
+
}], classes: [{
|
|
4543
|
+
type: HostBinding,
|
|
4544
|
+
args: ['class']
|
|
4545
|
+
}], disabled: [{
|
|
4546
|
+
type: Input,
|
|
4547
|
+
args: [{ transform: booleanAttribute }]
|
|
4548
|
+
}], required: [{
|
|
4549
|
+
type: Input,
|
|
4550
|
+
args: [{ transform: booleanAttribute }]
|
|
4551
|
+
}], value: [{
|
|
4552
|
+
type: Input
|
|
3769
4553
|
}] } });
|
|
3770
4554
|
|
|
3771
4555
|
/** ************************
|
|
@@ -3810,7 +4594,7 @@ class MonkeySecurityLevelComponent {
|
|
|
3810
4594
|
this.id = this.id;
|
|
3811
4595
|
}
|
|
3812
4596
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySecurityLevelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3813
|
-
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:var(--mecx-color-gray-700);font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .level-info{color:var(--mecx-color-gray-900);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
|
|
4597
|
+
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:var(--mecx-color-gray-700);font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .level-info{color:var(--mecx-color-gray-900);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:var(--mecx-color-gray-300);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:var(--mecx-color-success-main);width:100%}monkey-security-level.strong .bar:before{background:var(--mecx-color-success-main);width:80%}monkey-security-level.medium .bar:before{background:var(--mecx-color-warning-main);width:66%}monkey-security-level.weak .bar:before{background:var(--mecx-color-error-700);width:33%}monkey-security-level.empty .bar:before{background:var(--mecx-color-error-700);width:0%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
3814
4598
|
}
|
|
3815
4599
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySecurityLevelComponent, decorators: [{
|
|
3816
4600
|
type: Component,
|
|
@@ -3818,7 +4602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3818
4602
|
'data-testid': 'monkey-security-level',
|
|
3819
4603
|
'[attr.id]': 'id',
|
|
3820
4604
|
'[id]': 'id'
|
|
3821
|
-
}, 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:var(--mecx-color-gray-700);font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .level-info{color:var(--mecx-color-gray-900);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
|
|
4605
|
+
}, 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:var(--mecx-color-gray-700);font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}monkey-security-level .level-info{color:var(--mecx-color-gray-900);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:var(--mecx-color-gray-300);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:var(--mecx-color-success-main);width:100%}monkey-security-level.strong .bar:before{background:var(--mecx-color-success-main);width:80%}monkey-security-level.medium .bar:before{background:var(--mecx-color-warning-main);width:66%}monkey-security-level.weak .bar:before{background:var(--mecx-color-error-700);width:33%}monkey-security-level.empty .bar:before{background:var(--mecx-color-error-700);width:0%}\n"] }]
|
|
3822
4606
|
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
3823
4607
|
type: HostBinding,
|
|
3824
4608
|
args: ['class']
|
|
@@ -3884,7 +4668,6 @@ class MonkeySelectComponent {
|
|
|
3884
4668
|
this.labelSelected = '';
|
|
3885
4669
|
this.overlayRef = null;
|
|
3886
4670
|
this._destroyRef = inject(DestroyRef);
|
|
3887
|
-
this.iconArrowDown = inject(MonkeyIconsService).arrowDown;
|
|
3888
4671
|
this.idGenerator = inject(IdGenerator);
|
|
3889
4672
|
this.ngControl = inject(NgControl, { self: true, optional: true });
|
|
3890
4673
|
this._elementRef = inject(ElementRef);
|
|
@@ -3898,8 +4681,6 @@ class MonkeySelectComponent {
|
|
|
3898
4681
|
this.searchHandle = new EventEmitter();
|
|
3899
4682
|
this.searchDictionary = inject(MonkeyDictionaryService).get('NO-DATA');
|
|
3900
4683
|
this.loadingDictionary = inject(MonkeyDictionaryService).get('LOADING');
|
|
3901
|
-
this.imgSearchNoData = inject(MonkeyIconsService).searchFail;
|
|
3902
|
-
this.imgSearch = inject(MonkeyIconsService).search;
|
|
3903
4684
|
this.showSearchNoData = false;
|
|
3904
4685
|
this.isOpen = false;
|
|
3905
4686
|
this.searchData = '';
|
|
@@ -4161,11 +4942,11 @@ class MonkeySelectComponent {
|
|
|
4161
4942
|
// not to do
|
|
4162
4943
|
}
|
|
4163
4944
|
}
|
|
4164
|
-
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: MonkeyFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4945
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySelectComponent, deps: [{ token: i1$1.Overlay }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: MonkeyFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4165
4946
|
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], showSearch: ["showSearch", "showSearch", booleanAttribute], searchPlaceholder: "searchPlaceholder", callbackSearch: ["callbackSearch", "callbackSearch", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, outputs: { onChange: "onChange", onSearch: "onSearch" }, 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: [
|
|
4166
4947
|
// eslint-disable-next-line no-use-before-define
|
|
4167
4948
|
{ provide: MonkeyFormFieldControl, useExisting: MonkeySelectComponent }
|
|
4168
|
-
], 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 <
|
|
4949
|
+
], 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 <util-icon class=\"mecx-select-icon\" name=\"arrowDown\" />\n }\n</div>\n\n<ng-template #overlayTemplate>\n <div class=\"mecx-select-body-overlay\">\n @if (showSearch) {\n <div class=\"mecx-select-search\">\n <util-icon class=\"mecx-select-search-icon\" name=\"search\" />\n <input\n (input)=\"onHandleSearch($event)\"\n type=\"text\"\n [id]=\"id + '-search'\"\n autocomplete=\"off\"\n maxlength=\"50\"\n [placeholder]=\"searchPlaceholder\"\n [(ngModel)]=\"searchData\"\n />\n </div>\n }\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 @if (showSearch && showSearchNoData) {\n <div class=\"mecx-select-search-no-data\">\n <util-icon class=\"mecx-select-search-no-data-icon\" name=\"searchFail\" />\n {{ searchDictionary | async }}\n </div>\n }\n @if (loading) {\n <div class=\"mecx-select-search-loading\">\n {{ loadingDictionary | async }}\n </div>\n }\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-body-overlay{width:100%;background:#fff;border:2px solid var(--mecx-color-gray-400);overflow:hidden;border-radius:4px;box-shadow:0 16px 32px 0 var(--mecx-color-box-shadow)}.mecx-select-body-overlay .mecx-select-search{display:flex;gap:4px;border-bottom:2px solid var(--mecx-color-gray-400);padding:8px}.mecx-select-body-overlay .mecx-select-search-icon{width:12px;display:flex}.mecx-select-body-overlay .mecx-select-search-icon svg path{stroke:var(--mecx-color-gray-600)}.mecx-select-body-overlay input{border:none;width:90%;color:var(--mecx-color-gray-600)!important;font-size:12px;letter-spacing:.54px}.mecx-select-body-overlay .mecx-select-search-no-data,.mecx-select-body-overlay .mecx-select-search-loading{padding:12px;display:flex;justify-content:center;flex-direction:column;align-items:center;gap:4px;color:var(--mecx-color-gray-600);font-size:12px;letter-spacing:.54px;text-align:center}.mecx-select-body-overlay .mecx-select-search-no-data-icon svg path,.mecx-select-body-overlay .mecx-select-search-loading-icon svg path{stroke:var(--mecx-color-gray-600)}.mecx-select-overlay{width:100%;background:#fff;overflow:hidden auto;max-height:360px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: UtilIconComponent, selector: "util-icon", inputs: ["name"] }], animations: [
|
|
4169
4950
|
trigger('animation', [
|
|
4170
4951
|
transition(':enter', [
|
|
4171
4952
|
style({
|
|
@@ -4187,7 +4968,7 @@ class MonkeySelectComponent {
|
|
|
4187
4968
|
}
|
|
4188
4969
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeySelectComponent, decorators: [{
|
|
4189
4970
|
type: Component,
|
|
4190
|
-
args: [{ selector: 'monkey-select', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
4971
|
+
args: [{ selector: 'monkey-select', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, UtilIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
4191
4972
|
// eslint-disable-next-line no-use-before-define
|
|
4192
4973
|
{ provide: MonkeyFormFieldControl, useExisting: MonkeySelectComponent }
|
|
4193
4974
|
], animations: [
|
|
@@ -4217,8 +4998,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4217
4998
|
'[attr.tabindex]': 'disabled ? -1 : tabIndex',
|
|
4218
4999
|
'(focus)': '_onFocus()',
|
|
4219
5000
|
'(blur)': '_onBlur()'
|
|
4220
|
-
}, 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 <
|
|
4221
|
-
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: MonkeyFormFieldComponent, decorators: [{
|
|
5001
|
+
}, 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 <util-icon class=\"mecx-select-icon\" name=\"arrowDown\" />\n }\n</div>\n\n<ng-template #overlayTemplate>\n <div class=\"mecx-select-body-overlay\">\n @if (showSearch) {\n <div class=\"mecx-select-search\">\n <util-icon class=\"mecx-select-search-icon\" name=\"search\" />\n <input\n (input)=\"onHandleSearch($event)\"\n type=\"text\"\n [id]=\"id + '-search'\"\n autocomplete=\"off\"\n maxlength=\"50\"\n [placeholder]=\"searchPlaceholder\"\n [(ngModel)]=\"searchData\"\n />\n </div>\n }\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 @if (showSearch && showSearchNoData) {\n <div class=\"mecx-select-search-no-data\">\n <util-icon class=\"mecx-select-search-no-data-icon\" name=\"searchFail\" />\n {{ searchDictionary | async }}\n </div>\n }\n @if (loading) {\n <div class=\"mecx-select-search-loading\">\n {{ loadingDictionary | async }}\n </div>\n }\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-body-overlay{width:100%;background:#fff;border:2px solid var(--mecx-color-gray-400);overflow:hidden;border-radius:4px;box-shadow:0 16px 32px 0 var(--mecx-color-box-shadow)}.mecx-select-body-overlay .mecx-select-search{display:flex;gap:4px;border-bottom:2px solid var(--mecx-color-gray-400);padding:8px}.mecx-select-body-overlay .mecx-select-search-icon{width:12px;display:flex}.mecx-select-body-overlay .mecx-select-search-icon svg path{stroke:var(--mecx-color-gray-600)}.mecx-select-body-overlay input{border:none;width:90%;color:var(--mecx-color-gray-600)!important;font-size:12px;letter-spacing:.54px}.mecx-select-body-overlay .mecx-select-search-no-data,.mecx-select-body-overlay .mecx-select-search-loading{padding:12px;display:flex;justify-content:center;flex-direction:column;align-items:center;gap:4px;color:var(--mecx-color-gray-600);font-size:12px;letter-spacing:.54px;text-align:center}.mecx-select-body-overlay .mecx-select-search-no-data-icon svg path,.mecx-select-body-overlay .mecx-select-search-loading-icon svg path{stroke:var(--mecx-color-gray-600)}.mecx-select-overlay{width:100%;background:#fff;overflow:hidden auto;max-height:360px}\n"] }]
|
|
5002
|
+
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: MonkeyFormFieldComponent, decorators: [{
|
|
4222
5003
|
type: Optional
|
|
4223
5004
|
}] }], propDecorators: { overlayTemplate: [{
|
|
4224
5005
|
type: ViewChild,
|
|
@@ -4292,7 +5073,7 @@ class MonkeyStatusComponent {
|
|
|
4292
5073
|
this.id = this.id;
|
|
4293
5074
|
}
|
|
4294
5075
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4295
|
-
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:var(--mecx-color-gray-700);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:var(--mecx-color-gray-300)}:host.success .status{background-color
|
|
5076
|
+
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:var(--mecx-color-gray-700);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:var(--mecx-color-gray-300)}:host.success .status{background-color:var(--mecx-color-success-main)}:host.warning .status{background-color:var(--mecx-color-warning-main)}:host.error .status{background-color:var(--mecx-color-error-700)}:host.question .status{background-color:var(--mecx-color-question-main)}:host.info .status{background-color:var(--mecx-color-info)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
4296
5077
|
}
|
|
4297
5078
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyStatusComponent, decorators: [{
|
|
4298
5079
|
type: Component,
|
|
@@ -4300,7 +5081,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4300
5081
|
'data-testid': 'monkey-status',
|
|
4301
5082
|
'[attr.id]': 'id',
|
|
4302
5083
|
'[id]': 'id'
|
|
4303
|
-
}, 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:var(--mecx-color-gray-700);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:var(--mecx-color-gray-300)}:host.success .status{background-color
|
|
5084
|
+
}, 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:var(--mecx-color-gray-700);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:var(--mecx-color-gray-300)}:host.success .status{background-color:var(--mecx-color-success-main)}:host.warning .status{background-color:var(--mecx-color-warning-main)}:host.error .status{background-color:var(--mecx-color-error-700)}:host.question .status{background-color:var(--mecx-color-question-main)}:host.info .status{background-color:var(--mecx-color-info)}\n"] }]
|
|
4304
5085
|
}], ctorParameters: () => [], propDecorators: { class: [{
|
|
4305
5086
|
type: HostBinding,
|
|
4306
5087
|
args: ['class']
|
|
@@ -4413,7 +5194,7 @@ class MonkeyPaginationSizeComponent {
|
|
|
4413
5194
|
this.id = this.id;
|
|
4414
5195
|
}
|
|
4415
5196
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationSizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyPaginationSizeComponent, isStandalone: true, selector: "monkey-pagination-size", inputs: { size: "size", disabled: "disabled", id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "monkey-pagination-size" }, properties: { "attr.id": "id", "id": "id" } }, exportAs: ["monkeyPaginationSize"], ngImport: i0, template: "<ng-content></ng-content>\n<monkey-form-field hideClear size=\"sm\">\n <monkey-select\n placeholder=\"''\"\n [ngModel]=\"size\"\n (onChange)=\"onChange.next($event)\"\n [disabled]=\"disabled\"\n [showSearch]=\"false\"\n >\n @for (item of sizes; track item) {\n <monkey-option [value]=\"item\">{{ item }}</monkey-option>\n }\n </monkey-select>\n</monkey-form-field>\n", styles: ["monkey-pagination-size{display:flex;align-items:center;gap:8px}monkey-pagination-size .mecx-form-field-body{height:32px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MonkeySelectComponent, selector: "monkey-select", inputs: ["tabIndex", "placeholder", "loading", "showSearch", "searchPlaceholder", "callbackSearch", "disabled", "required", "value"], outputs: ["onChange", "onSearch"] }, { kind: "component", type: MonkeyOptionComponent, selector: "monkey-option", inputs: ["value", "disabled"] }, { kind: "ngmodule", type: MonkeyFormFieldModule }, { kind: "component", type: MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: ["id", "hideAction", "enableClear", "size"], exportAs: ["monkeyFormField"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyPaginationSizeComponent, isStandalone: true, selector: "monkey-pagination-size", inputs: { size: "size", disabled: "disabled", id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "monkey-pagination-size" }, properties: { "attr.id": "id", "id": "id" } }, exportAs: ["monkeyPaginationSize"], ngImport: i0, template: "<ng-content></ng-content>\n<monkey-form-field hideClear size=\"sm\">\n <monkey-select\n placeholder=\"''\"\n [ngModel]=\"size\"\n (onChange)=\"onChange.next($event)\"\n [disabled]=\"disabled\"\n [showSearch]=\"false\"\n >\n @for (item of sizes; track item) {\n <monkey-option [value]=\"item\">{{ item }}</monkey-option>\n }\n </monkey-select>\n</monkey-form-field>\n", styles: ["monkey-pagination-size{display:flex;align-items:center;gap:8px}monkey-pagination-size .mecx-form-field-body{height:32px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: MonkeySelectComponent, selector: "monkey-select", inputs: ["tabIndex", "placeholder", "loading", "showSearch", "searchPlaceholder", "callbackSearch", "disabled", "required", "value"], outputs: ["onChange", "onSearch"] }, { kind: "component", type: MonkeyOptionComponent, selector: "monkey-option", inputs: ["value", "disabled", "type"] }, { kind: "ngmodule", type: MonkeyFormFieldModule }, { kind: "component", type: MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: ["id", "hideAction", "enableClear", "size"], exportAs: ["monkeyFormField"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4417
5198
|
}
|
|
4418
5199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyPaginationSizeComponent, decorators: [{
|
|
4419
5200
|
type: Component,
|
|
@@ -4529,7 +5310,7 @@ class MonkeyTableComponent {
|
|
|
4529
5310
|
}
|
|
4530
5311
|
}
|
|
4531
5312
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4532
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyTableComponent, selector: "monkey-table, table[monkey-table]", inputs: { scroll: "scroll", loading: "loading", loadingRef: "loadingRef" }, outputs: { sortChange: "sortChange" }, host: { properties: { "class.disabled": "this.loading" } }, queries: [{ propertyName: "_paginationActionChildren", predicate: MonkeyPaginationActionComponent, descendants: true }, { propertyName: "_paginationSizeChildren", predicate: MonkeyPaginationSizeComponent, descendants: true }], viewQueries: [{ propertyName: "_headerEl", first: true, predicate: ["header"], descendants: true, static: true }, { propertyName: "_tableHeaderEl", first: true, predicate: ["tableHeader"], descendants: true, static: true }, { propertyName: "_tableContentEl", first: true, predicate: ["tableContent"], descendants: true, static: true }, { propertyName: "_tableLoadingEl", first: true, predicate: ["tableLoading"], descendants: true, static: true }, { propertyName: "_tableScrollEl", first: true, predicate: ["tableScroll"], descendants: true, static: true }], exportAs: ["monkeyTable"], usesOnChanges: true, ngImport: i0, template: "<div class=\"mecx-table-container\">\n <div class=\"mecx-table-wrapper\">\n <div class=\"mecx-table-header\" #header>\n <table #tableHeader>\n <ng-content select=\"thead\"></ng-content>\n </table>\n </div>\n <div class=\"mecx-inner-scroll\" #tableScroll>\n <table #tableContent>\n <ng-content select=\"tbody\"></ng-content>\n </table>\n\n @if (loadingRef && loading) {\n <table #tableLoading>\n <ng-container *ngTemplateOutlet=\"loadingRef\"></ng-container>\n </table>\n }\n </div>\n </div>\n <div class=\"mecx-table-footer\">\n <ng-content select=\"monkey-pagination-size\"></ng-content>\n <div class=\"mecx-table-actions\">\n <ng-content select=\"monkey-pagination-label\"></ng-content>\n <ng-content select=\"monkey-pagination-action\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["monkey-table{position:relative;display:block;table-layout:fixed;border:2px solid var(--mecx-color-gray-400);border-radius:16px}.mecx-table-container{scrollbar-color:var(--mecx-color-gray-400) transparent}.mecx-table-wrapper{display:block}.mecx-table-header{overflow-x:hidden;overflow-y:scroll;white-space:nowrap;border-bottom:2px solid var(--mecx-color-gray-300);background:var(--mecx-color-gray-50);border-top-left-radius:16px;border-top-right-radius:16px}.mecx-table-header table{table-layout:fixed;width:100%;text-align:left;border-collapse:separate;height:48px}.mecx-table-header table thead{display:table-header-group;vertical-align:middle;unicode-bidi:isolate}.mecx-table-header table th{text-align:left;vertical-align:middle;padding:8px 12px;color:var(--mecx-color-gray-700);font-size:16px;font-weight:700;font-style:normal;white-space:nowrap;will-change:transform;backface-visibility:hidden;line-height:24px}.mecx-table-header table th svg{opacity:0;transform:opacity 2s ease-in-out}.mecx-table-header table th:hover svg{opacity:1}.mecx-table-header table .mecx-column-checked svg{opacity:1}.mecx-table-header .mecx-column-stick{position:sticky;background:var(--mecx-color-gray-50);z-index:3}.mecx-table-header .mecx-column-stick-left{border-right:1px solid var(--mecx-color-gray-200);left:0}.mecx-table-header .mecx-column-stick-right{border-left:1px solid var(--mecx-color-gray-200);right:0}.mecx-table-header .mecx-column-checked{position:sticky;left:0;border-right:1px solid var(--mecx-color-gray-200);background:var(--mecx-color-gray-50);z-index:3}.mecx-table-header .mecx-column-checked monkey-checkbox{vertical-align:middle}.mecx-inner-scroll{scroll-behavior:smooth}.mecx-inner-scroll table{table-layout:fixed;width:100%;text-align:left;border-collapse:separate;border-spacing:0px}.mecx-inner-scroll table td{text-align:left;border-bottom:2px solid var(--mecx-color-gray-100);padding:8px 12px;vertical-align:middle}.mecx-inner-scroll .mecx-column-stick{position:sticky;right:0;z-index:1;background:#fff}.mecx-inner-scroll .mecx-column-stick-left{border-right:1px solid var(--mecx-color-gray-200);left:0}.mecx-inner-scroll .mecx-column-stick-right{border-left:1px solid var(--mecx-color-gray-200);right:0}.mecx-inner-scroll .mecx-column-checked{position:sticky;left:0;z-index:1;border-right:1px solid var(--mecx-color-gray-200);background:#fff}.mecx-inner-scroll .mecx-column-checked monkey-checkbox{vertical-align:middle}.mecx-table-footer{border-top:1px solid var(--mecx-color-gray-200);padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.mecx-table-footer .mecx-table-actions{display:flex;gap:8px;align-items:center}.mecx-column-sortable-disabled,.mecx-column-checked-disabled{pointer-events:none}.mecx-column-expansible{border-left:none!important;border-right:none!important}@keyframes rotate-right{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes rotate-left{0%{transform:rotate(90deg)}to{transform:rotate(0)}}.mecx-column-expansible .rotate-animation-right{animation:rotate-right .3s ease-in-out}.mecx-column-expansible .rotate-animation-left{animation:rotate-left .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1
|
|
5313
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyTableComponent, selector: "monkey-table, table[monkey-table]", inputs: { scroll: "scroll", loading: "loading", loadingRef: "loadingRef" }, outputs: { sortChange: "sortChange" }, host: { properties: { "class.disabled": "this.loading" } }, queries: [{ propertyName: "_paginationActionChildren", predicate: MonkeyPaginationActionComponent, descendants: true }, { propertyName: "_paginationSizeChildren", predicate: MonkeyPaginationSizeComponent, descendants: true }], viewQueries: [{ propertyName: "_headerEl", first: true, predicate: ["header"], descendants: true, static: true }, { propertyName: "_tableHeaderEl", first: true, predicate: ["tableHeader"], descendants: true, static: true }, { propertyName: "_tableContentEl", first: true, predicate: ["tableContent"], descendants: true, static: true }, { propertyName: "_tableLoadingEl", first: true, predicate: ["tableLoading"], descendants: true, static: true }, { propertyName: "_tableScrollEl", first: true, predicate: ["tableScroll"], descendants: true, static: true }], exportAs: ["monkeyTable"], usesOnChanges: true, ngImport: i0, template: "<div class=\"mecx-table-container\">\n <div class=\"mecx-table-wrapper\">\n <div class=\"mecx-table-header\" #header>\n <table #tableHeader>\n <ng-content select=\"thead\"></ng-content>\n </table>\n </div>\n <div class=\"mecx-inner-scroll\" #tableScroll>\n <table #tableContent>\n <ng-content select=\"tbody\"></ng-content>\n </table>\n\n @if (loadingRef && loading) {\n <table #tableLoading>\n <ng-container *ngTemplateOutlet=\"loadingRef\"></ng-container>\n </table>\n }\n </div>\n </div>\n <div class=\"mecx-table-footer\">\n <ng-content select=\"monkey-pagination-size\"></ng-content>\n <div class=\"mecx-table-actions\">\n <ng-content select=\"monkey-pagination-label\"></ng-content>\n <ng-content select=\"monkey-pagination-action\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["monkey-table{position:relative;display:block;table-layout:fixed;border:2px solid var(--mecx-color-gray-400);border-radius:16px}.mecx-table-container{scrollbar-color:var(--mecx-color-gray-400) transparent}.mecx-table-wrapper{display:block}.mecx-table-header{overflow-x:hidden;overflow-y:scroll;white-space:nowrap;border-bottom:2px solid var(--mecx-color-gray-300);background:var(--mecx-color-gray-50);border-top-left-radius:16px;border-top-right-radius:16px}.mecx-table-header table{table-layout:fixed;width:100%;text-align:left;border-collapse:separate;height:48px}.mecx-table-header table thead{display:table-header-group;vertical-align:middle;unicode-bidi:isolate}.mecx-table-header table th{text-align:left;vertical-align:middle;padding:8px 12px;color:var(--mecx-color-gray-700);font-size:16px;font-weight:700;font-style:normal;white-space:nowrap;will-change:transform;backface-visibility:hidden;line-height:24px}.mecx-table-header table th svg{opacity:0;transform:opacity 2s ease-in-out}.mecx-table-header table th:hover svg{opacity:1}.mecx-table-header table .mecx-column-checked svg{opacity:1}.mecx-table-header .mecx-column-stick{position:sticky;background:var(--mecx-color-gray-50);z-index:3}.mecx-table-header .mecx-column-stick-left{border-right:1px solid var(--mecx-color-gray-200);left:0}.mecx-table-header .mecx-column-stick-right{border-left:1px solid var(--mecx-color-gray-200);right:0}.mecx-table-header .mecx-column-checked{position:sticky;left:0;border-right:1px solid var(--mecx-color-gray-200);background:var(--mecx-color-gray-50);z-index:3}.mecx-table-header .mecx-column-checked monkey-checkbox{vertical-align:middle}.mecx-inner-scroll{scroll-behavior:smooth}.mecx-inner-scroll table{table-layout:fixed;width:100%;text-align:left;border-collapse:separate;border-spacing:0px}.mecx-inner-scroll table td{text-align:left;border-bottom:2px solid var(--mecx-color-gray-100);padding:8px 12px;vertical-align:middle}.mecx-inner-scroll .mecx-column-stick{position:sticky;right:0;z-index:1;background:#fff}.mecx-inner-scroll .mecx-column-stick-left{border-right:1px solid var(--mecx-color-gray-200);left:0}.mecx-inner-scroll .mecx-column-stick-right{border-left:1px solid var(--mecx-color-gray-200);right:0}.mecx-inner-scroll .mecx-column-checked{position:sticky;left:0;z-index:1;border-right:1px solid var(--mecx-color-gray-200);background:#fff}.mecx-inner-scroll .mecx-column-checked monkey-checkbox{vertical-align:middle}.mecx-table-footer{border-top:1px solid var(--mecx-color-gray-200);padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.mecx-table-footer .mecx-table-actions{display:flex;gap:8px;align-items:center}.mecx-column-sortable-disabled,.mecx-column-checked-disabled{pointer-events:none}.mecx-column-expansible{border-left:none!important;border-right:none!important}@keyframes rotate-right{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes rotate-left{0%{transform:rotate(90deg)}to{transform:rotate(0)}}.mecx-column-expansible .rotate-animation-right{animation:rotate-right .3s ease-in-out}.mecx-column-expansible .rotate-animation-left{animation:rotate-left .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4533
5314
|
}
|
|
4534
5315
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyTableComponent, decorators: [{
|
|
4535
5316
|
type: Component,
|
|
@@ -5012,7 +5793,7 @@ class MonkeyToastComponent {
|
|
|
5012
5793
|
}
|
|
5013
5794
|
}
|
|
5014
5795
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToastComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5015
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyToastComponent, isStandalone: true, selector: "monkey-toast", inputs: { message: "message", icon: "icon", type: "type", isClosable: ["isClosable", "isClosable", booleanAttribute], actionLabel: "actionLabel", actionIcon: "actionIcon", id: "id" }, outputs: { onActionClick: "onActionClick", onClose: "onClose" }, host: { attributes: { "data-testid": "monkey-toast" }, listeners: { "animationend": "onAnimationEnd($event)" }, properties: { "attr.id": "id", "id": "id", "class": "this.class", "animation": "this.animationState" } }, ngImport: i0, template: "<div class=\"monkey-toast-content\">\n @if (icon) {\n <monkey-icon [icon]=\"icon\" size=\"lg\"></monkey-icon>\n }\n <div class=\"monkey-toast-message\">\n {{ message }}\n </div>\n</div>\n@if (actionLabel) {\n <div class=\"monkey-toast-action\">\n <monkey-button\n class=\"monkey-toast-btn-action\"\n type=\"tertiary\"\n size=\"sm\"\n (click)=\"onActionClick.emit(id)\"\n >\n {{ actionLabel }}\n @if (actionIcon) {\n <monkey-icon [icon]=\"actionIcon\" first></monkey-icon>\n }\n </monkey-button>\n </div>\n}\n@if (isClosable) {\n <div class=\"monkey-toast-divider\"></div>\n <div class=\"monkey-toast-close\">\n <monkey-icon-button class=\"btn-close\" type=\"tertiary\" size=\"sm\" icon=\"close\" (click)=\"close()\">\n </monkey-icon-button>\n </div>\n}\n", styles: ["monkey-toast{display:flex;align-items:start;min-width:200px;width:100%;gap:16px;padding:16px;box-shadow:0 8px 16px
|
|
5796
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyToastComponent, isStandalone: true, selector: "monkey-toast", inputs: { message: "message", icon: "icon", type: "type", isClosable: ["isClosable", "isClosable", booleanAttribute], actionLabel: "actionLabel", actionIcon: "actionIcon", id: "id" }, outputs: { onActionClick: "onActionClick", onClose: "onClose" }, host: { attributes: { "data-testid": "monkey-toast" }, listeners: { "animationend": "onAnimationEnd($event)" }, properties: { "attr.id": "id", "id": "id", "class": "this.class", "animation": "this.animationState" } }, ngImport: i0, template: "<div class=\"monkey-toast-content\">\n @if (icon) {\n <monkey-icon [icon]=\"icon\" size=\"lg\"></monkey-icon>\n }\n <div class=\"monkey-toast-message\">\n {{ message }}\n </div>\n</div>\n@if (actionLabel) {\n <div class=\"monkey-toast-action\">\n <monkey-button\n class=\"monkey-toast-btn-action\"\n type=\"tertiary\"\n size=\"sm\"\n (click)=\"onActionClick.emit(id)\"\n >\n {{ actionLabel }}\n @if (actionIcon) {\n <monkey-icon [icon]=\"actionIcon\" first></monkey-icon>\n }\n </monkey-button>\n </div>\n}\n@if (isClosable) {\n <div class=\"monkey-toast-divider\"></div>\n <div class=\"monkey-toast-close\">\n <monkey-icon-button class=\"btn-close\" type=\"tertiary\" size=\"sm\" icon=\"close\" (click)=\"close()\">\n </monkey-icon-button>\n </div>\n}\n", styles: ["monkey-toast{display:flex;align-items:start;min-width:200px;width:100%;gap:16px;padding:16px;box-shadow:0 8px 16px 0 var(--mecx-color-box-shadow);background-color:#111418;color:#fff;border-radius:8px;max-width:450px;box-sizing:border-box;animation:fade-in .3s}monkey-toast.closed{animation:fade-out .1s}monkey-toast .monkey-toast-content{display:flex;gap:8px;line-height:24px;font-size:14px;letter-spacing:.48px;flex-grow:1}monkey-toast .monkey-toast-action .monkey-toast-btn-action{margin:0!important}monkey-toast .monkey-toast-action .monkey-toast-btn-action .mecx-button{height:24px;color:#fff!important;outline-color:#fff}monkey-toast .monkey-toast-action .monkey-toast-btn-action .mecx-button .content{padding:12px 8px}monkey-toast .monkey-toast-action .monkey-toast-btn-action .mecx-button:hover{color:#fff!important}monkey-toast .monkey-toast-divider{width:1px;height:24px;background-color:var(--mecx-color-gray-400)}monkey-toast .monkey-toast-close{display:flex}monkey-toast .monkey-toast-close .btn-close{margin:0!important}monkey-toast .monkey-toast-close .btn-close .mecx-icon-button{height:24px;width:24px;color:#fff!important;outline-color:#fff}monkey-toast .monkey-toast-close .btn-close .mecx-icon-button:hover{color:#fff!important}monkey-toast.success{background-color:var(--mecx-color-success-main)}monkey-toast.error{background-color:#db0505}monkey-toast.question{background-color:var(--mecx-color-question-800)}monkey-toast.info{background-color:#003687}@keyframes fade-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-out{to{transform:scale(.9);opacity:0}}\n"], dependencies: [{ kind: "component", type: MonkeyButtonComponent, selector: "monkey-button", inputs: ["disabled", "size", "type", "id"] }, { kind: "component", type: MonkeyIconComponent, selector: "monkey-icon", inputs: ["icon", "size", "id"] }, { kind: "component", type: MonkeyIconButtonComponent, selector: "monkey-icon-button", inputs: ["type", "size", "disabled", "icon", "id"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
5016
5797
|
}
|
|
5017
5798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToastComponent, decorators: [{
|
|
5018
5799
|
type: Component,
|
|
@@ -5021,7 +5802,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5021
5802
|
'(animationend)': 'onAnimationEnd($event)',
|
|
5022
5803
|
'[attr.id]': 'id',
|
|
5023
5804
|
'[id]': 'id'
|
|
5024
|
-
}, template: "<div class=\"monkey-toast-content\">\n @if (icon) {\n <monkey-icon [icon]=\"icon\" size=\"lg\"></monkey-icon>\n }\n <div class=\"monkey-toast-message\">\n {{ message }}\n </div>\n</div>\n@if (actionLabel) {\n <div class=\"monkey-toast-action\">\n <monkey-button\n class=\"monkey-toast-btn-action\"\n type=\"tertiary\"\n size=\"sm\"\n (click)=\"onActionClick.emit(id)\"\n >\n {{ actionLabel }}\n @if (actionIcon) {\n <monkey-icon [icon]=\"actionIcon\" first></monkey-icon>\n }\n </monkey-button>\n </div>\n}\n@if (isClosable) {\n <div class=\"monkey-toast-divider\"></div>\n <div class=\"monkey-toast-close\">\n <monkey-icon-button class=\"btn-close\" type=\"tertiary\" size=\"sm\" icon=\"close\" (click)=\"close()\">\n </monkey-icon-button>\n </div>\n}\n", styles: ["monkey-toast{display:flex;align-items:start;min-width:200px;width:100%;gap:16px;padding:16px;box-shadow:0 8px 16px
|
|
5805
|
+
}, template: "<div class=\"monkey-toast-content\">\n @if (icon) {\n <monkey-icon [icon]=\"icon\" size=\"lg\"></monkey-icon>\n }\n <div class=\"monkey-toast-message\">\n {{ message }}\n </div>\n</div>\n@if (actionLabel) {\n <div class=\"monkey-toast-action\">\n <monkey-button\n class=\"monkey-toast-btn-action\"\n type=\"tertiary\"\n size=\"sm\"\n (click)=\"onActionClick.emit(id)\"\n >\n {{ actionLabel }}\n @if (actionIcon) {\n <monkey-icon [icon]=\"actionIcon\" first></monkey-icon>\n }\n </monkey-button>\n </div>\n}\n@if (isClosable) {\n <div class=\"monkey-toast-divider\"></div>\n <div class=\"monkey-toast-close\">\n <monkey-icon-button class=\"btn-close\" type=\"tertiary\" size=\"sm\" icon=\"close\" (click)=\"close()\">\n </monkey-icon-button>\n </div>\n}\n", styles: ["monkey-toast{display:flex;align-items:start;min-width:200px;width:100%;gap:16px;padding:16px;box-shadow:0 8px 16px 0 var(--mecx-color-box-shadow);background-color:#111418;color:#fff;border-radius:8px;max-width:450px;box-sizing:border-box;animation:fade-in .3s}monkey-toast.closed{animation:fade-out .1s}monkey-toast .monkey-toast-content{display:flex;gap:8px;line-height:24px;font-size:14px;letter-spacing:.48px;flex-grow:1}monkey-toast .monkey-toast-action .monkey-toast-btn-action{margin:0!important}monkey-toast .monkey-toast-action .monkey-toast-btn-action .mecx-button{height:24px;color:#fff!important;outline-color:#fff}monkey-toast .monkey-toast-action .monkey-toast-btn-action .mecx-button .content{padding:12px 8px}monkey-toast .monkey-toast-action .monkey-toast-btn-action .mecx-button:hover{color:#fff!important}monkey-toast .monkey-toast-divider{width:1px;height:24px;background-color:var(--mecx-color-gray-400)}monkey-toast .monkey-toast-close{display:flex}monkey-toast .monkey-toast-close .btn-close{margin:0!important}monkey-toast .monkey-toast-close .btn-close .mecx-icon-button{height:24px;width:24px;color:#fff!important;outline-color:#fff}monkey-toast .monkey-toast-close .btn-close .mecx-icon-button:hover{color:#fff!important}monkey-toast.success{background-color:var(--mecx-color-success-main)}monkey-toast.error{background-color:#db0505}monkey-toast.question{background-color:var(--mecx-color-question-800)}monkey-toast.info{background-color:#003687}@keyframes fade-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-out{to{transform:scale(.9);opacity:0}}\n"] }]
|
|
5025
5806
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { message: [{
|
|
5026
5807
|
type: Input
|
|
5027
5808
|
}], icon: [{
|
|
@@ -5094,7 +5875,7 @@ class MonkeyToggleComponent {
|
|
|
5094
5875
|
}
|
|
5095
5876
|
}
|
|
5096
5877
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5097
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyToggleComponent, isStandalone: true, selector: "monkey-toggle", inputs: { disabled: "disabled", size: "size", value: "value", id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "monkey-toggle" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "id": "id", "class.disabled": "this.disabled", "class": "this.size" } }, ngImport: i0, template: "<input type=\"checkbox\" [checked]=\"_checked\" />\n<div class=\"slider\" [ngClass]=\"{ checked: _checked }\"></div>\n", styles: [":host{position:relative;display:inline-block}:host input{display:none}:host.disabled{box-shadow:none;pointer-events:none;opacity:.2}:host.lg{width:88px;height:48px}:host.lg input:checked+.checked:before{left:calc(100% - 42px)}:host.lg .slider{position:absolute;cursor:pointer;inset:0;border-radius:34px;transition:all .4s ease;background-color:#f8fafb;border:2px solid #bdc1c7}:host.lg .slider:before{position:absolute;content:\"\";bottom:2px;transition:.4s;border-radius:50%;background-color:#1f2024;left:2px;height:40px;width:40px}:host.lg .slider.checked{background-color:#ebfff8;border:2px solid #00875a}:host.lg .slider.checked:before{background-color:#00875a}:host.md{width:72px;height:40px}:host.md input:checked+.checked:before{left:calc(100% - 34px)}:host.md .slider{position:absolute;cursor:pointer;inset:0;border-radius:34px;transition:all .4s ease;background-color:#f8fafb;border:2px solid #bdc1c7}:host.md .slider:before{position:absolute;content:\"\";bottom:2px;transition:.4s;border-radius:50%;background-color:#1f2024;left:2px;height:32px;width:32px}:host.md .slider.checked{background-color:#ebfff8;border:2px solid #00875a}:host.md .slider.checked:before{background-color:#00875a}:host.sm{width:56px;height:32px}:host.sm input:checked+.checked:before{left:calc(100% - 26px)}:host.sm .slider{position:absolute;cursor:pointer;inset:0;border-radius:34px;transition:all .4s ease;background-color:#f8fafb;border:2px solid #bdc1c7}:host.sm .slider:before{position:absolute;content:\"\";bottom:2px;transition:.4s;border-radius:50%;background-color:#1f2024;left:2px;height:24px;width:24px}:host.sm .slider.checked{background-color:#ebfff8;border:2px solid #00875a}:host.sm .slider.checked:before{background-color:#00875a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1
|
|
5878
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyToggleComponent, isStandalone: true, selector: "monkey-toggle", inputs: { disabled: "disabled", size: "size", value: "value", id: "id" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "monkey-toggle" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "id", "id": "id", "class.disabled": "this.disabled", "class": "this.size" } }, ngImport: i0, template: "<input type=\"checkbox\" [checked]=\"_checked\" />\n<div class=\"slider\" [ngClass]=\"{ checked: _checked }\"></div>\n", styles: [":host{position:relative;display:inline-block}:host input{display:none}:host.disabled{box-shadow:none;pointer-events:none;opacity:.2}:host.lg{width:88px;height:48px}:host.lg input:checked+.checked:before{left:calc(100% - 42px)}:host.lg .slider{position:absolute;cursor:pointer;inset:0;border-radius:34px;transition:all .4s ease;background-color:#f8fafb;border:2px solid #bdc1c7}:host.lg .slider:before{position:absolute;content:\"\";bottom:2px;transition:.4s;border-radius:50%;background-color:#1f2024;left:2px;height:40px;width:40px}:host.lg .slider.checked{background-color:#ebfff8;border:2px solid #00875a}:host.lg .slider.checked:before{background-color:#00875a}:host.md{width:72px;height:40px}:host.md input:checked+.checked:before{left:calc(100% - 34px)}:host.md .slider{position:absolute;cursor:pointer;inset:0;border-radius:34px;transition:all .4s ease;background-color:#f8fafb;border:2px solid #bdc1c7}:host.md .slider:before{position:absolute;content:\"\";bottom:2px;transition:.4s;border-radius:50%;background-color:#1f2024;left:2px;height:32px;width:32px}:host.md .slider.checked{background-color:#ebfff8;border:2px solid #00875a}:host.md .slider.checked:before{background-color:#00875a}:host.sm{width:56px;height:32px}:host.sm input:checked+.checked:before{left:calc(100% - 26px)}:host.sm .slider{position:absolute;cursor:pointer;inset:0;border-radius:34px;transition:all .4s ease;background-color:#f8fafb;border:2px solid #bdc1c7}:host.sm .slider:before{position:absolute;content:\"\";bottom:2px;transition:.4s;border-radius:50%;background-color:#1f2024;left:2px;height:24px;width:24px}:host.sm .slider.checked{background-color:#ebfff8;border:2px solid #00875a}:host.sm .slider.checked:before{background-color:#00875a}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
5098
5879
|
}
|
|
5099
5880
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToggleComponent, decorators: [{
|
|
5100
5881
|
type: Component,
|
|
@@ -5271,7 +6052,7 @@ class MonkeyTooltipComponent {
|
|
|
5271
6052
|
}
|
|
5272
6053
|
}
|
|
5273
6054
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyTooltipComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5274
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyTooltipComponent, isStandalone: true, selector: "monkey-tooltip", inputs: { text: "text", template: "template", left: "left", top: "top", id: "id" }, outputs: { afterClose: "afterClose" }, host: { attributes: { "data-testid": "monkey-tooltip" }, listeners: { "animationend": "onAnimationEnd($event)" }, properties: { "style.left.px": "left", "style.top.px": "top", "attr.id": "id", "id": "id" } }, ngImport: i0, template: "@if (template) {\n <ng-container *ngTemplateOutlet=\"template\"> </ng-container>\n}\n@if (text) {\n {{ text }}\n}\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;box-shadow:0 8px 16px
|
|
6055
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyTooltipComponent, isStandalone: true, selector: "monkey-tooltip", inputs: { text: "text", template: "template", left: "left", top: "top", id: "id" }, outputs: { afterClose: "afterClose" }, host: { attributes: { "data-testid": "monkey-tooltip" }, listeners: { "animationend": "onAnimationEnd($event)" }, properties: { "style.left.px": "left", "style.top.px": "top", "attr.id": "id", "id": "id" } }, ngImport: i0, template: "@if (template) {\n <ng-container *ngTemplateOutlet=\"template\"> </ng-container>\n}\n@if (text) {\n {{ text }}\n}\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;box-shadow:0 8px 16px 0 var(--mecx-color-box-shadow);background-color:var(--mecx-color-gray-900);padding:8px 12px;flex-wrap:wrap;text-align:center;color:#fff;font-size:14px;letter-spacing:.42px;line-height:16px;position:absolute;pointer-events:none;cursor:none;word-break:normal;overflow-wrap:anywhere;min-width:50px;max-width:200px;box-sizing:border-box;overflow:hidden;animation:fade-in .3s}:host.closed{animation:fade-out .1s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
5275
6056
|
}
|
|
5276
6057
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyTooltipComponent, decorators: [{
|
|
5277
6058
|
type: Component,
|
|
@@ -5282,7 +6063,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5282
6063
|
'(animationend)': 'onAnimationEnd($event)',
|
|
5283
6064
|
'[attr.id]': 'id',
|
|
5284
6065
|
'[id]': 'id'
|
|
5285
|
-
}, template: "@if (template) {\n <ng-container *ngTemplateOutlet=\"template\"> </ng-container>\n}\n@if (text) {\n {{ text }}\n}\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;box-shadow:0 8px 16px
|
|
6066
|
+
}, template: "@if (template) {\n <ng-container *ngTemplateOutlet=\"template\"> </ng-container>\n}\n@if (text) {\n {{ text }}\n}\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;box-shadow:0 8px 16px 0 var(--mecx-color-box-shadow);background-color:var(--mecx-color-gray-900);padding:8px 12px;flex-wrap:wrap;text-align:center;color:#fff;font-size:14px;letter-spacing:.42px;line-height:16px;position:absolute;pointer-events:none;cursor:none;word-break:normal;overflow-wrap:anywhere;min-width:50px;max-width:200px;box-sizing:border-box;overflow:hidden;animation:fade-in .3s}:host.closed{animation:fade-out .1s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}\n"] }]
|
|
5286
6067
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { text: [{
|
|
5287
6068
|
type: Input
|
|
5288
6069
|
}], template: [{
|
|
@@ -5452,8 +6233,11 @@ class MonkeyTooltipDirective {
|
|
|
5452
6233
|
subscribe.unsubscribe();
|
|
5453
6234
|
});
|
|
5454
6235
|
}
|
|
6236
|
+
onScroll() {
|
|
6237
|
+
this.hide();
|
|
6238
|
+
}
|
|
5455
6239
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyTooltipDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5456
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyTooltipDirective, isStandalone: true, selector: "[monkeyTooltip]", inputs: { tooltipText: ["monkeyTooltip", "tooltipText"], tooltipPosition: "tooltipPosition", enabled: ["enabled", "enabled", booleanAttribute] }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()", "click": "hide()" } }, ngImport: i0 }); }
|
|
6240
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: MonkeyTooltipDirective, isStandalone: true, selector: "[monkeyTooltip]", inputs: { tooltipText: ["monkeyTooltip", "tooltipText"], tooltipPosition: "tooltipPosition", enabled: ["enabled", "enabled", booleanAttribute] }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()", "click": "hide()", "window:scroll": "onScroll()", "window:resize": "onScroll()" } }, ngImport: i0 }); }
|
|
5457
6241
|
}
|
|
5458
6242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyTooltipDirective, decorators: [{
|
|
5459
6243
|
type: Directive,
|
|
@@ -5477,6 +6261,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5477
6261
|
}], enabled: [{
|
|
5478
6262
|
type: Input,
|
|
5479
6263
|
args: [{ transform: booleanAttribute }]
|
|
6264
|
+
}], onScroll: [{
|
|
6265
|
+
type: HostListener,
|
|
6266
|
+
args: ['window:scroll']
|
|
6267
|
+
}, {
|
|
6268
|
+
type: HostListener,
|
|
6269
|
+
args: ['window:resize']
|
|
5480
6270
|
}] } });
|
|
5481
6271
|
|
|
5482
6272
|
/** ************************
|
|
@@ -5485,6 +6275,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5485
6275
|
* MIT Licence
|
|
5486
6276
|
************************* */
|
|
5487
6277
|
|
|
6278
|
+
class MonkeyToastRef {
|
|
6279
|
+
constructor(componentRef) {
|
|
6280
|
+
this.componentRef = componentRef;
|
|
6281
|
+
// not to do
|
|
6282
|
+
}
|
|
6283
|
+
close() {
|
|
6284
|
+
this.componentRef.instance.close();
|
|
6285
|
+
}
|
|
6286
|
+
}
|
|
6287
|
+
|
|
6288
|
+
class MonkeyToastService {
|
|
6289
|
+
constructor(overlay) {
|
|
6290
|
+
this.overlay = overlay;
|
|
6291
|
+
// no to do
|
|
6292
|
+
}
|
|
6293
|
+
getPositionStrategy(position) {
|
|
6294
|
+
const globalPosition = this.overlay.position().global();
|
|
6295
|
+
switch (position) {
|
|
6296
|
+
case 'top-left':
|
|
6297
|
+
return globalPosition.top('40px').start('40px');
|
|
6298
|
+
case 'top-center':
|
|
6299
|
+
return globalPosition.top('40px').centerHorizontally();
|
|
6300
|
+
case 'top-right':
|
|
6301
|
+
return globalPosition.top('40px').end('40px');
|
|
6302
|
+
case 'bottom-left':
|
|
6303
|
+
return globalPosition.bottom('40px').start('40px');
|
|
6304
|
+
case 'bottom-center':
|
|
6305
|
+
return globalPosition.bottom('40px').centerHorizontally();
|
|
6306
|
+
default:
|
|
6307
|
+
return globalPosition.bottom('40px').end('40px');
|
|
6308
|
+
}
|
|
6309
|
+
}
|
|
6310
|
+
show(toastConfig) {
|
|
6311
|
+
if (this.lastToast) {
|
|
6312
|
+
this.lastToast.close();
|
|
6313
|
+
}
|
|
6314
|
+
const overlayRef = this.overlay.create({
|
|
6315
|
+
hasBackdrop: false,
|
|
6316
|
+
positionStrategy: this.getPositionStrategy(toastConfig.position)
|
|
6317
|
+
});
|
|
6318
|
+
const portal = new ComponentPortal(MonkeyToastComponent);
|
|
6319
|
+
const componentRef = overlayRef.attach(portal);
|
|
6320
|
+
this.lastToast = new MonkeyToastRef(componentRef);
|
|
6321
|
+
componentRef.instance.id = getRandomString(6);
|
|
6322
|
+
componentRef.instance.type = toastConfig.type ?? 'default';
|
|
6323
|
+
componentRef.instance.icon = toastConfig.icon;
|
|
6324
|
+
componentRef.instance.isClosable = toastConfig.isClosable ?? false;
|
|
6325
|
+
componentRef.instance.message = toastConfig.message;
|
|
6326
|
+
componentRef.instance.actionLabel = toastConfig.actionLabel;
|
|
6327
|
+
componentRef.instance.actionIcon = toastConfig.actionIcon;
|
|
6328
|
+
componentRef.instance.onActionClick.subscribe(() => {
|
|
6329
|
+
if (toastConfig.action) {
|
|
6330
|
+
toastConfig.action();
|
|
6331
|
+
if (toastConfig.closeOnAction ?? true) {
|
|
6332
|
+
componentRef.instance.close();
|
|
6333
|
+
}
|
|
6334
|
+
}
|
|
6335
|
+
});
|
|
6336
|
+
componentRef.instance.onClose.subscribe(() => {
|
|
6337
|
+
overlayRef.detach();
|
|
6338
|
+
});
|
|
6339
|
+
if (!toastConfig.keepOpen) {
|
|
6340
|
+
setTimeout(() => {
|
|
6341
|
+
componentRef.instance.close();
|
|
6342
|
+
}, toastConfig.duration ?? 4000);
|
|
6343
|
+
}
|
|
6344
|
+
return componentRef.instance;
|
|
6345
|
+
}
|
|
6346
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToastService, deps: [{ token: i1$1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6347
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToastService, providedIn: 'root' }); }
|
|
6348
|
+
}
|
|
6349
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyToastService, decorators: [{
|
|
6350
|
+
type: Injectable,
|
|
6351
|
+
args: [{
|
|
6352
|
+
providedIn: 'root'
|
|
6353
|
+
}]
|
|
6354
|
+
}], ctorParameters: () => [{ type: i1$1.Overlay }] });
|
|
6355
|
+
|
|
6356
|
+
/** ************************
|
|
6357
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
6358
|
+
* This style guide was developed by Monkey Exchange Team
|
|
6359
|
+
* MIT Licence
|
|
6360
|
+
************************* */
|
|
6361
|
+
|
|
5488
6362
|
/** ************************
|
|
5489
6363
|
* Copyright Monkey Exchange. All Rights Reserved
|
|
5490
6364
|
* This style guide was developed by Monkey Exchange Team
|
|
@@ -5495,5 +6369,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
5495
6369
|
* Generated bundle index. Do not edit.
|
|
5496
6370
|
*/
|
|
5497
6371
|
|
|
5498
|
-
export {
|
|
6372
|
+
export { MECX_MODAL_DATA, MECX_MODAL_DEFAULT_CONFIG, MONKEY_I18N_WRAPPER, MONKEY_POPOVER_OPTIONS, MonkeyAccordionComponent, MonkeyActionBarComponent, MonkeyAlertComponent, MonkeyAvatarComponent, MonkeyBadgeComponent, MonkeyBadgeDirective, MonkeyBreadcrumbComponent, MonkeyButtonComponent, MonkeyCheckboxComponent, MonkeyColumnChecked, MonkeyColumnExpansible, MonkeyColumnSortable, MonkeyColumnStick, MonkeyDateRangeComponent, MonkeyDirectivesModule, MonkeyDividerComponent, MonkeyErrorDirective, MonkeyFormFieldComponent, MonkeyFormFieldControl, MonkeyFormFieldModule, MonkeyHelperDirective, MonkeyIconButtonComponent, MonkeyIconComponent, MonkeyInfoDirective, MonkeyInputCodeComponent, MonkeyInputCurrencyDirective, MonkeyInputDirective, MonkeyInputModule, MonkeyInputUploadComponent, MonkeyLabelDirective, MonkeyModalActionsDirective, MonkeyModalComponent, MonkeyModalConfig, MonkeyModalContentDirective, MonkeyModalModule, MonkeyModalRef, MonkeyModalService, MonkeyModalSubtitleDirective, MonkeyModalTitleDirective, MonkeyOptionComponent, MonkeyPaginationActionComponent, MonkeyPaginationLabelComponent, MonkeyPaginationSizeComponent, MonkeyPopoverContentComponent, MonkeyPopoverDirective, MonkeyPrefixDirective, MonkeyRadioButtonComponent, MonkeySecurityLevelComponent, MonkeySelectComponent, MonkeyStatusComponent, MonkeySuffixDirective, MonkeyTableComponent, MonkeyTableModule, MonkeyToastComponent, MonkeyToastRef, MonkeyToastService, MonkeyToggleComponent, MonkeyToggleLineButtonComponent, MonkeyToggleLineComponent, MonkeyTooltipComponent, MonkeyTooltipDirective, getCurrencySymbol };
|
|
5499
6373
|
//# sourceMappingURL=monkey-style-guide-v2.mjs.map
|