monkey-style-guide-v2 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2022/lib/components/index.mjs +4 -1
  2. package/esm2022/lib/components/monkey-button/monkey-button.component.mjs +3 -3
  3. package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +3 -3
  4. package/esm2022/lib/components/monkey-icon-button/monkey-icon-button.component.mjs +3 -3
  5. package/esm2022/lib/components/monkey-security-level/index.mjs +2 -0
  6. package/esm2022/lib/components/monkey-security-level/monkey-security-level.component.mjs +41 -0
  7. package/esm2022/lib/components/monkey-status/monkey-status.component.mjs +3 -3
  8. package/esm2022/lib/components/monkey-toggle/index.mjs +2 -0
  9. package/esm2022/lib/components/monkey-toggle/monkey-toggle.component.mjs +55 -0
  10. package/esm2022/lib/components/monkey-tooltip/index.mjs +3 -0
  11. package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +175 -0
  12. package/esm2022/lib/components/monkey-tooltip/tooltip/index.mjs +2 -0
  13. package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +40 -0
  14. package/fesm2022/monkey-style-guide-v2.mjs +311 -15
  15. package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
  16. package/lib/components/index.d.ts +3 -0
  17. package/lib/components/monkey-security-level/index.d.ts +1 -0
  18. package/lib/components/monkey-security-level/monkey-security-level.component.d.ts +9 -0
  19. package/lib/components/monkey-toggle/index.d.ts +1 -0
  20. package/lib/components/monkey-toggle/monkey-toggle.component.d.ts +12 -0
  21. package/lib/components/monkey-tooltip/index.d.ts +2 -0
  22. package/lib/components/monkey-tooltip/monkey-tooltip.directive.d.ts +30 -0
  23. package/lib/components/monkey-tooltip/tooltip/index.d.ts +1 -0
  24. package/lib/components/monkey-tooltip/tooltip/tooltip.component.d.ts +15 -0
  25. package/monkey-style-guide-v2-0.0.5.tgz +0 -0
  26. package/package.json +1 -1
  27. package/monkey-style-guide-v2-0.0.2.tgz +0 -0
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
2
+ import { CommonModule, NgTemplateOutlet, DOCUMENT } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ViewEncapsulation, Input, HostListener, input, HostBinding } from '@angular/core';
4
+ import { Component, ViewEncapsulation, Input, HostListener, input, HostBinding, EventEmitter, Output, TemplateRef, booleanAttribute, Directive, Inject } from '@angular/core';
5
5
 
6
6
  /**************************
7
7
  * Copyright Monkey Exchange. All Rights Reserved
@@ -21,10 +21,10 @@ class MonkeyButtonComponent {
21
21
  event.stopImmediatePropagation();
22
22
  }
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MonkeyButtonComponent, isStandalone: true, selector: "monkey-button-v2", inputs: { type: "type", size: "size", disabled: "disabled" }, host: { listeners: { "click": "onClick($event)" } }, 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-v2{display:inline-block;margin:0 2px}monkey-button-v2 .mecx-button{width:100%;display:flex;align-items:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-button-v2 .mecx-button .content{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;flex-shrink:0;letter-spacing:.48px;font-weight:400;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-button-v2 .mecx-button .content span{width:100%}monkey-button-v2 .mecx-button .content .mk-i{display:flex}monkey-button-v2 .mecx-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-button-v2 .mecx-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!important}monkey-button-v2 .mecx-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-button-v2 .mecx-button.secondary{border:2px solid #bdc1c7;background:unset}monkey-button-v2 .mecx-button.secondary:disabled{border-width:1px}monkey-button-v2 .mecx-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.tertiary{background:unset}monkey-button-v2 .mecx-button.tertiary span{text-decoration:underline}monkey-button-v2 .mecx-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-button-v2 .mecx-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.sm{height:32px}monkey-button-v2 .mecx-button.sm .mk-i{font-size:20px}monkey-button-v2 .mecx-button.md{height:40px}monkey-button-v2 .mecx-button.md .mk-i{font-size:22px}monkey-button-v2 .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-v2 .mecx-button.lg .mk-i{font-size:24px}monkey-button-v2 .mecx-button.full-width{width:100%}monkey-button-v2 .mecx-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-button-v2 .mecx-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-button-v2 .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 }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: MonkeyButtonComponent, isStandalone: true, selector: "monkey-button-v2", inputs: { type: "type", size: "size", disabled: "disabled" }, host: { listeners: { "click": "onClick($event)" } }, 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-v2{display:inline-block;margin:0 2px}monkey-button-v2 .mecx-button{width:100%;display:flex;align-items:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-button-v2 .mecx-button .content{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;flex-shrink:0;letter-spacing:.48px;font-weight:400;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-button-v2 .mecx-button .content span{width:100%}monkey-button-v2 .mecx-button .content .mk-i{display:flex}monkey-button-v2 .mecx-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-button-v2 .mecx-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!important}monkey-button-v2 .mecx-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-button-v2 .mecx-button.secondary{border:2px solid #bdc1c7;background:unset}monkey-button-v2 .mecx-button.secondary:disabled{border-width:1px}monkey-button-v2 .mecx-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.tertiary{background:unset}monkey-button-v2 .mecx-button.tertiary span{text-decoration:underline}monkey-button-v2 .mecx-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-button-v2 .mecx-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.sm{height:32px}monkey-button-v2 .mecx-button.sm .mk-i{font-size:20px}monkey-button-v2 .mecx-button.md{height:40px}monkey-button-v2 .mecx-button.md .mk-i{font-size:22px}monkey-button-v2 .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-v2 .mecx-button.lg .mk-i{font-size:24px}monkey-button-v2 .mecx-button.full-width{width:100%}monkey-button-v2 .mecx-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-button-v2 .mecx-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-button-v2 .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 }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyButtonComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyButtonComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'monkey-button-v2', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, 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-v2{display:inline-block;margin:0 2px}monkey-button-v2 .mecx-button{width:100%;display:flex;align-items:center;border-radius:8px;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out}monkey-button-v2 .mecx-button .content{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;flex-shrink:0;letter-spacing:.48px;font-weight:400;transition:transform .2s cubic-bezier(0,.5,.2,1)}monkey-button-v2 .mecx-button .content span{width:100%}monkey-button-v2 .mecx-button .content .mk-i{display:flex}monkey-button-v2 .mecx-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-button-v2 .mecx-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!important}monkey-button-v2 .mecx-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-button-v2 .mecx-button.secondary{border:2px solid #bdc1c7;background:unset}monkey-button-v2 .mecx-button.secondary:disabled{border-width:1px}monkey-button-v2 .mecx-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.tertiary{background:unset}monkey-button-v2 .mecx-button.tertiary span{text-decoration:underline}monkey-button-v2 .mecx-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-button-v2 .mecx-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-button-v2 .mecx-button.sm{height:32px}monkey-button-v2 .mecx-button.sm .mk-i{font-size:20px}monkey-button-v2 .mecx-button.md{height:40px}monkey-button-v2 .mecx-button.md .mk-i{font-size:22px}monkey-button-v2 .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-v2 .mecx-button.lg .mk-i{font-size:24px}monkey-button-v2 .mecx-button.full-width{width:100%}monkey-button-v2 .mecx-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-button-v2 .mecx-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-button-v2 .mecx-button:active:not(:disabled) .content{transform:scale(.8)}:host:has(.mecx-button:active) .mecx-button{outline:unset;outline-offset:unset}\n"] }]
30
30
  }], propDecorators: { type: [{
@@ -56,10 +56,10 @@ class MonkeyIconComponent {
56
56
  throw new Error('Icon property must be used');
57
57
  }
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MonkeyIconComponent, isStandalone: true, selector: "monkey-icon-v2", inputs: { icon: "icon", size: "size" }, host: { properties: { "class": "_icon+' '+size" } }, ngImport: i0, template: "", styles: ["monkey-icon-v2{display:inline-block}monkey-icon-v2.sm{font-size:20px;width:20px;height:20px}monkey-icon-v2.md{font-size:22px;width:22px;height:22px}monkey-icon-v2.lg{font-size:24px;width:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: MonkeyIconComponent, isStandalone: true, selector: "monkey-icon-v2", inputs: { icon: "icon", size: "size" }, host: { properties: { "class": "_icon+' '+size" } }, ngImport: i0, template: "", styles: ["monkey-icon-v2{display:inline-block}monkey-icon-v2.sm{font-size:20px;width:20px;height:20px}monkey-icon-v2.md{font-size:22px;width:22px;height:22px}monkey-icon-v2.lg{font-size:24px;width:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyIconComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyIconComponent, decorators: [{
63
63
  type: Component,
64
64
  args: [{ selector: 'monkey-icon-v2', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, host: {
65
65
  '[class]': `_icon+' '+size`
@@ -89,10 +89,10 @@ class MonkeyIconButtonComponent {
89
89
  event.stopImmediatePropagation();
90
90
  }
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: MonkeyIconButtonComponent, isStandalone: true, selector: "monkey-icon-button-v2", inputs: { type: "type", size: "size", disabled: "disabled", icon: "icon" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon-v2 [icon]=\"icon\" [size]=\"size\" first></monkey-icon-v2>\n </div>\n</button>\n", styles: ["monkey-icon-button-v2{display:inline-block;margin:0 2px}monkey-icon-button-v2 .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-v2 .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-v2 .mecx-icon-button .content span{width:100%}monkey-icon-button-v2 .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button-v2 .mecx-icon-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-icon-button-v2 .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!important}monkey-icon-button-v2 .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button-v2 .mecx-icon-button.secondary{border:2px solid #bdc1c7;background:unset}monkey-icon-button-v2 .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button-v2 .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.tertiary{background:unset}monkey-icon-button-v2 .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button-v2 .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button-v2 .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button-v2 .mecx-icon-button.sm .mk-i{font-size:20px}monkey-icon-button-v2 .mecx-icon-button.md{width:40px;height:40px}monkey-icon-button-v2 .mecx-icon-button.md .mk-i{font-size:22px}monkey-icon-button-v2 .mecx-icon-button.lg{width:48px;height:48px}monkey-icon-button-v2 .mecx-icon-button.lg .mk-i{font-size:24px}monkey-icon-button-v2 .mecx-icon-button.full-width{width:100%}monkey-icon-button-v2 .mecx-icon-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-icon-button-v2 .mecx-icon-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-icon-button-v2 .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-v2", inputs: ["icon", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: MonkeyIconButtonComponent, isStandalone: true, selector: "monkey-icon-button-v2", inputs: { type: "type", size: "size", disabled: "disabled", icon: "icon" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon-v2 [icon]=\"icon\" [size]=\"size\" first></monkey-icon-v2>\n </div>\n</button>\n", styles: ["monkey-icon-button-v2{display:inline-block;margin:0 2px}monkey-icon-button-v2 .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-v2 .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-v2 .mecx-icon-button .content span{width:100%}monkey-icon-button-v2 .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button-v2 .mecx-icon-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-icon-button-v2 .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!important}monkey-icon-button-v2 .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button-v2 .mecx-icon-button.secondary{border:2px solid #bdc1c7;background:unset}monkey-icon-button-v2 .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button-v2 .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.tertiary{background:unset}monkey-icon-button-v2 .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button-v2 .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button-v2 .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button-v2 .mecx-icon-button.sm .mk-i{font-size:20px}monkey-icon-button-v2 .mecx-icon-button.md{width:40px;height:40px}monkey-icon-button-v2 .mecx-icon-button.md .mk-i{font-size:22px}monkey-icon-button-v2 .mecx-icon-button.lg{width:48px;height:48px}monkey-icon-button-v2 .mecx-icon-button.lg .mk-i{font-size:24px}monkey-icon-button-v2 .mecx-icon-button.full-width{width:100%}monkey-icon-button-v2 .mecx-icon-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-icon-button-v2 .mecx-icon-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-icon-button-v2 .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-v2", inputs: ["icon", "size"] }], encapsulation: i0.ViewEncapsulation.None }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyIconButtonComponent, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyIconButtonComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'monkey-icon-button-v2', standalone: true, imports: [CommonModule, MonkeyIconComponent], encapsulation: ViewEncapsulation.None, template: "<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon-v2 [icon]=\"icon\" [size]=\"size\" first></monkey-icon-v2>\n </div>\n</button>\n", styles: ["monkey-icon-button-v2{display:inline-block;margin:0 2px}monkey-icon-button-v2 .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-v2 .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-v2 .mecx-icon-button .content span{width:100%}monkey-icon-button-v2 .mecx-icon-button .content .mk-i{display:flex}monkey-icon-button-v2 .mecx-icon-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-icon-button-v2 .mecx-icon-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!important}monkey-icon-button-v2 .mecx-icon-button.primary{color:var(--mecx-color-theme-contrast-main);background:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.primary:hover:not(:disabled){background:var(--mecx-color-theme-600)}monkey-icon-button-v2 .mecx-icon-button.secondary{border:2px solid #bdc1c7;background:unset}monkey-icon-button-v2 .mecx-icon-button.secondary:disabled{border-width:1px}monkey-icon-button-v2 .mecx-icon-button.secondary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.tertiary{background:unset}monkey-icon-button-v2 .mecx-icon-button.tertiary span{text-decoration:underline}monkey-icon-button-v2 .mecx-icon-button.tertiary:disabled{background:unset!important;border-width:1px}monkey-icon-button-v2 .mecx-icon-button.tertiary:hover:not(:disabled){color:var(--mecx-color-theme-main)}monkey-icon-button-v2 .mecx-icon-button.sm{width:32px;height:32px}monkey-icon-button-v2 .mecx-icon-button.sm .mk-i{font-size:20px}monkey-icon-button-v2 .mecx-icon-button.md{width:40px;height:40px}monkey-icon-button-v2 .mecx-icon-button.md .mk-i{font-size:22px}monkey-icon-button-v2 .mecx-icon-button.lg{width:48px;height:48px}monkey-icon-button-v2 .mecx-icon-button.lg .mk-i{font-size:24px}monkey-icon-button-v2 .mecx-icon-button.full-width{width:100%}monkey-icon-button-v2 .mecx-icon-button:focus{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}monkey-icon-button-v2 .mecx-icon-button:active:not(:disabled).primary{background:var(--mecx-color-theme-main);opacity:.8;outline:none}monkey-icon-button-v2 .mecx-icon-button:active:not(:disabled) .content{transform:scale(.8)}:host:has(.mecx-button:active) .mecx-button{outline:unset;outline-offset:unset}\n"] }]
98
98
  }], propDecorators: { type: [{
@@ -108,6 +108,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
108
108
  args: ['click', ['$event']]
109
109
  }] } });
110
110
 
111
+ /**************************
112
+ * Copyright Monkey Exchange. All Rights Reserved
113
+ * This style guide was developed by Monkey Exchange Team
114
+ * MIT Licence
115
+ **************************/
116
+ class MonkeySecurityLevelComponent {
117
+ constructor() {
118
+ this.score = input.required();
119
+ this.label = input();
120
+ this.strengthLabel = input();
121
+ }
122
+ get class() {
123
+ if (this.score() === 0) {
124
+ return 'empty';
125
+ }
126
+ if (this.score() < 300) {
127
+ return 'weak';
128
+ }
129
+ if (this.score() >= 300 && this.score() < 800) {
130
+ return 'medium';
131
+ }
132
+ if (this.score() >= 800 && this.score() < 1000) {
133
+ return 'strong';
134
+ }
135
+ return 'very-strong';
136
+ }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeySecurityLevelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: MonkeySecurityLevelComponent, isStandalone: true, selector: "monkey-security-level", inputs: { score: { classPropertyName: "score", publicName: "score", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, strengthLabel: { classPropertyName: "strengthLabel", publicName: "strengthLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"body\">\n <div>\n <span data-testid=\"label\" *ngIf=\"label() as lb\">\n {{ lb }}\n </span>\n <span data-testid=\"str-label\" class=\"level-info\" *ngIf=\"strengthLabel() as strLabel\">\n {{ strLabel }}\n </span>\n </div>\n <div class=\"bar\"></div>\n</div>\n", styles: [":host{display:flex;align-items:center;gap:8px;width:100%}:host span{color:#545a63;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .level-info{color:#1f2024;margin-left:24px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .body{display:flex;flex-direction:column;align-items:baseline;width:100%}:host .bar{height:4px;width:100%;max-width:426px;border-radius:8px;background:#d3d6da;position:relative;overflow:hidden}:host .bar:before{content:\"\";display:block;position:absolute;height:100%;left:0;top:0;transition:all 1s}:host.very-strong .bar:before{background:#00875a;width:100%}:host.strong .bar:before{background:#00875a;width:80%}:host.medium .bar:before{background:#efa30e;width:66%}:host.weak .bar:before{background:#db0505;width:33%}:host.empty .bar:before{background:#db0505;width:0%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
139
+ }
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeySecurityLevelComponent, decorators: [{
141
+ type: Component,
142
+ args: [{ selector: 'monkey-security-level', standalone: true, imports: [CommonModule], template: "<div class=\"body\">\n <div>\n <span data-testid=\"label\" *ngIf=\"label() as lb\">\n {{ lb }}\n </span>\n <span data-testid=\"str-label\" class=\"level-info\" *ngIf=\"strengthLabel() as strLabel\">\n {{ strLabel }}\n </span>\n </div>\n <div class=\"bar\"></div>\n</div>\n", styles: [":host{display:flex;align-items:center;gap:8px;width:100%}:host span{color:#545a63;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .level-info{color:#1f2024;margin-left:24px;font-size:14px;font-style:normal;font-weight:400;line-height:24px;letter-spacing:.42px}:host .body{display:flex;flex-direction:column;align-items:baseline;width:100%}:host .bar{height:4px;width:100%;max-width:426px;border-radius:8px;background:#d3d6da;position:relative;overflow:hidden}:host .bar:before{content:\"\";display:block;position:absolute;height:100%;left:0;top:0;transition:all 1s}:host.very-strong .bar:before{background:#00875a;width:100%}:host.strong .bar:before{background:#00875a;width:80%}:host.medium .bar:before{background:#efa30e;width:66%}:host.weak .bar:before{background:#db0505;width:33%}:host.empty .bar:before{background:#db0505;width:0%}\n"] }]
143
+ }], propDecorators: { class: [{
144
+ type: HostBinding,
145
+ args: ['class']
146
+ }] } });
147
+
111
148
  /**************************
112
149
  * Copyright Monkey Exchange. All Rights Reserved
113
150
  * This style guide was developed by Monkey Exchange Team
@@ -122,10 +159,10 @@ class MonkeyStatusComponent {
122
159
  get class() {
123
160
  return `${this.type()} ${this.size()}`;
124
161
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.2", type: MonkeyStatusComponent, isStandalone: true, selector: "monkey-status", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n", styles: [":host{display:flex;align-items:center;gap:8px}:host span{color:#545a63;font-style:normal;font-weight:400;line-height:24px}:host .status{width:8px;height:8px;border-radius:50%;flex-shrink:0}:host.sm span{font-size:14px;letter-spacing:.42px}:host.sm .status{height:8px;width:8px}:host.md span{font-size:16px;letter-spacing:.48px}:host.md .status{height:12px;width:12px}:host.lg span{font-size:18px;letter-spacing:.52px}:host.lg .status{height:16px;width:16px}:host.default .status{background-color:#d3d6da}:host.success .status{background-color:#00875a}:host.warning .status{background-color:#efa30e}:host.error .status{background-color:#db0505}:host.question .status{background-color:#8d38fa}:host.info .status{background-color:#003687}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: MonkeyStatusComponent, isStandalone: true, selector: "monkey-status", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n", styles: [":host{display:flex;align-items:center;gap:8px}:host span{color:#545a63;font-style:normal;font-weight:400;line-height:24px}:host .status{width:8px;height:8px;border-radius:50%;flex-shrink:0}:host.sm span{font-size:14px;letter-spacing:.42px}:host.sm .status{height:8px;width:8px}:host.md span{font-size:16px;letter-spacing:.48px}:host.md .status{height:12px;width:12px}:host.lg span{font-size:18px;letter-spacing:.52px}:host.lg .status{height:16px;width:16px}:host.default .status{background-color:#d3d6da}:host.success .status{background-color:#00875a}:host.warning .status{background-color:#efa30e}:host.error .status{background-color:#db0505}:host.question .status{background-color:#8d38fa}:host.info .status{background-color:#003687}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
127
164
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyStatusComponent, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyStatusComponent, decorators: [{
129
166
  type: Component,
130
167
  args: [{ selector: 'monkey-status', standalone: true, imports: [CommonModule], template: "<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n", styles: [":host{display:flex;align-items:center;gap:8px}:host span{color:#545a63;font-style:normal;font-weight:400;line-height:24px}:host .status{width:8px;height:8px;border-radius:50%;flex-shrink:0}:host.sm span{font-size:14px;letter-spacing:.42px}:host.sm .status{height:8px;width:8px}:host.md span{font-size:16px;letter-spacing:.48px}:host.md .status{height:12px;width:12px}:host.lg span{font-size:18px;letter-spacing:.52px}:host.lg .status{height:16px;width:16px}:host.default .status{background-color:#d3d6da}:host.success .status{background-color:#00875a}:host.warning .status{background-color:#efa30e}:host.error .status{background-color:#db0505}:host.question .status{background-color:#8d38fa}:host.info .status{background-color:#003687}\n"] }]
131
168
  }], propDecorators: { class: [{
@@ -133,6 +170,265 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
133
170
  args: ['class']
134
171
  }] } });
135
172
 
173
+ class MonkeyToggleComponent {
174
+ constructor() {
175
+ this.disabled = false;
176
+ this.size = 'md';
177
+ this.onChange = new EventEmitter();
178
+ this._checked = false;
179
+ }
180
+ set value(_) {
181
+ if (typeof _ === 'string') {
182
+ this._checked = _ === 'true';
183
+ }
184
+ else {
185
+ this._checked = _;
186
+ }
187
+ }
188
+ onClick(event) {
189
+ event.preventDefault();
190
+ event.stopPropagation();
191
+ event.stopImmediatePropagation();
192
+ if (!this.disabled) {
193
+ this.onChange.next(!this._checked);
194
+ this._checked = !this._checked;
195
+ }
196
+ }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
198
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: MonkeyToggleComponent, isStandalone: true, selector: "monkey-toggle-v2", inputs: { disabled: "disabled", size: "size", value: "value" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "input-toggle" }, listeners: { "click": "onClick($event)" }, properties: { "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"] }] }); }
199
+ }
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyToggleComponent, decorators: [{
201
+ type: Component,
202
+ args: [{ selector: 'monkey-toggle-v2', standalone: true, imports: [CommonModule], host: {
203
+ 'data-testid': 'input-toggle'
204
+ }, 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"] }]
205
+ }], propDecorators: { disabled: [{
206
+ type: HostBinding,
207
+ args: ['class.disabled']
208
+ }, {
209
+ type: Input
210
+ }], size: [{
211
+ type: HostBinding,
212
+ args: ['class']
213
+ }, {
214
+ type: Input
215
+ }], onChange: [{
216
+ type: Output
217
+ }], value: [{
218
+ type: Input
219
+ }], onClick: [{
220
+ type: HostListener,
221
+ args: ['click', ['$event']]
222
+ }] } });
223
+
224
+ class MonkeyTooltipComponent {
225
+ constructor(host) {
226
+ this.host = host;
227
+ this.afterClose = new EventEmitter();
228
+ // no to do
229
+ }
230
+ close() {
231
+ this.host.nativeElement.classList.add('closed');
232
+ }
233
+ onAnimationEnd(event) {
234
+ if (event.animationName.includes('fade-out')) {
235
+ this.afterClose.emit(true);
236
+ }
237
+ }
238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyTooltipComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: MonkeyTooltipComponent, isStandalone: true, selector: "monkey-tooltip", inputs: { text: "text", template: "template", left: "left", top: "top" }, outputs: { afterClose: "afterClose" }, host: { attributes: { "data-testid": "monkey-tooltip" }, listeners: { "animationend": "onAnimationEnd($event)" }, properties: { "style.left.px": "left", "style.top.px": "top" } }, ngImport: i0, template: "@if(template) {\n<ng-container *ngTemplateOutlet=\"template\"> </ng-container>\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 #00000029;background-color:#1f2024;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"] }] }); }
240
+ }
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyTooltipComponent, decorators: [{
242
+ type: Component,
243
+ args: [{ selector: 'monkey-tooltip', standalone: true, imports: [NgTemplateOutlet], host: {
244
+ 'data-testid': 'monkey-tooltip',
245
+ '[style.left.px]': 'left',
246
+ '[style.top.px]': 'top',
247
+ '(animationend)': 'onAnimationEnd($event)'
248
+ }, template: "@if(template) {\n<ng-container *ngTemplateOutlet=\"template\"> </ng-container>\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 #00000029;background-color:#1f2024;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"] }]
249
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { text: [{
250
+ type: Input
251
+ }], template: [{
252
+ type: Input
253
+ }], left: [{
254
+ type: Input
255
+ }], top: [{
256
+ type: Input
257
+ }], afterClose: [{
258
+ type: Output
259
+ }] } });
260
+
261
+ class MonkeyTooltipDirective {
262
+ constructor(viewContainerRef, elementRef, appRef, document) {
263
+ this.viewContainerRef = viewContainerRef;
264
+ this.elementRef = elementRef;
265
+ this.appRef = appRef;
266
+ this.document = document;
267
+ this.enabled = true;
268
+ this.offset = 8;
269
+ // to do not
270
+ }
271
+ setBounds() {
272
+ this.tooltipComponent.hostView.detectChanges();
273
+ this.bounds = {
274
+ elBounds: this.elementRef.nativeElement.getBoundingClientRect(),
275
+ tooltipBounds: this.tooltipComponent?.location.nativeElement.getBoundingClientRect(),
276
+ scroll: document.documentElement.scrollTop || document.body.scrollTop || 0,
277
+ viewport: {
278
+ width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,
279
+ height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
280
+ }
281
+ };
282
+ }
283
+ createTooltip() {
284
+ this.tooltipComponent = this.viewContainerRef.createComponent(MonkeyTooltipComponent);
285
+ this.document.body.appendChild(this.tooltipComponent.location.nativeElement);
286
+ if (this.tooltipText instanceof TemplateRef) {
287
+ this.tooltipComponent.instance.template = this.tooltipText;
288
+ }
289
+ else {
290
+ this.tooltipComponent.instance.text = this.tooltipText;
291
+ }
292
+ this.setBounds();
293
+ this.positionTooltip(this.tooltipPosition);
294
+ }
295
+ positionTooltip(position) {
296
+ switch (position) {
297
+ case 'left':
298
+ this.positionLeft();
299
+ if (this.isOutOfBounds()) {
300
+ this.positionRight();
301
+ if (this.isOutOfBounds()) {
302
+ this.positionBottom();
303
+ if (this.isOutOfBounds()) {
304
+ this.positionTop();
305
+ }
306
+ }
307
+ }
308
+ break;
309
+ case 'right':
310
+ this.positionRight();
311
+ if (this.isOutOfBounds()) {
312
+ this.positionLeft();
313
+ if (this.isOutOfBounds()) {
314
+ this.positionBottom();
315
+ if (this.isOutOfBounds()) {
316
+ this.positionTop();
317
+ }
318
+ }
319
+ }
320
+ break;
321
+ case 'top':
322
+ this.positionTop();
323
+ if (this.isOutOfBounds()) {
324
+ this.positionBottom();
325
+ if (this.isOutOfBounds()) {
326
+ this.positionRight();
327
+ if (this.isOutOfBounds()) {
328
+ this.positionLeft();
329
+ }
330
+ }
331
+ }
332
+ break;
333
+ case 'bottom':
334
+ this.positionBottom();
335
+ if (this.isOutOfBounds()) {
336
+ this.positionTop();
337
+ if (this.isOutOfBounds()) {
338
+ this.positionRight();
339
+ if (this.isOutOfBounds()) {
340
+ this.positionLeft();
341
+ }
342
+ }
343
+ }
344
+ break;
345
+ default:
346
+ }
347
+ }
348
+ isOutOfBounds() {
349
+ const { tooltipBounds, viewport } = this.bounds;
350
+ return (tooltipBounds.left < 0 ||
351
+ tooltipBounds.top < 0 ||
352
+ tooltipBounds.left + tooltipBounds.width > viewport.width ||
353
+ tooltipBounds.top + tooltipBounds.height > viewport.height);
354
+ }
355
+ positionLeft() {
356
+ const { elBounds, tooltipBounds, scroll } = this.bounds;
357
+ this.tooltipComponent.instance.left = elBounds.left - tooltipBounds.width - this.offset;
358
+ this.tooltipComponent.instance.top = scroll + (elBounds.top + elBounds.height / 2);
359
+ this.tooltipComponent.location.nativeElement.style.transform = 'translateY(-50%)';
360
+ this.setBounds();
361
+ }
362
+ positionRight() {
363
+ const { elBounds, scroll } = this.bounds;
364
+ this.tooltipComponent.instance.left = elBounds.right + this.offset;
365
+ this.tooltipComponent.instance.top = scroll + (elBounds.top + elBounds.height / 2);
366
+ this.tooltipComponent.location.nativeElement.style.transform = 'translateY(-50%)';
367
+ this.setBounds();
368
+ }
369
+ positionTop() {
370
+ const { elBounds, tooltipBounds, scroll } = this.bounds;
371
+ this.tooltipComponent.instance.left = elBounds.left + elBounds.width / 2;
372
+ this.tooltipComponent.instance.top =
373
+ scroll + elBounds.top - tooltipBounds.height - this.offset;
374
+ this.tooltipComponent.location.nativeElement.style.transform = 'translateX(-50%)';
375
+ this.setBounds();
376
+ }
377
+ positionBottom() {
378
+ const { elBounds, scroll } = this.bounds;
379
+ this.tooltipComponent.instance.left = elBounds.left + elBounds.width / 2;
380
+ this.tooltipComponent.instance.top = scroll + elBounds.bottom + this.offset;
381
+ this.tooltipComponent.location.nativeElement.style.transform = 'translateX(-50%)';
382
+ this.setBounds();
383
+ }
384
+ show() {
385
+ if (!this.enabled || this.tooltipComponent) {
386
+ return;
387
+ }
388
+ this.createTooltip();
389
+ }
390
+ hide() {
391
+ if (!this.tooltipComponent) {
392
+ return;
393
+ }
394
+ this.tooltipComponent.instance.close();
395
+ const subscribe = this.tooltipComponent.instance.afterClose.subscribe(() => {
396
+ if (!this.tooltipComponent) {
397
+ return;
398
+ }
399
+ this.appRef.detachView(this.tooltipComponent.hostView);
400
+ this.tooltipComponent.destroy();
401
+ this.tooltipComponent = undefined;
402
+ subscribe.unsubscribe();
403
+ });
404
+ }
405
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyTooltipDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.ApplicationRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
406
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", 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 }); }
407
+ }
408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: MonkeyTooltipDirective, decorators: [{
409
+ type: Directive,
410
+ args: [{
411
+ selector: '[monkeyTooltip]',
412
+ standalone: true,
413
+ host: {
414
+ '(mouseenter)': 'show()',
415
+ '(mouseleave)': 'hide()',
416
+ '(click)': 'hide()'
417
+ }
418
+ }]
419
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.ApplicationRef }, { type: Document, decorators: [{
420
+ type: Inject,
421
+ args: [DOCUMENT]
422
+ }] }], propDecorators: { tooltipText: [{
423
+ type: Input,
424
+ args: ['monkeyTooltip']
425
+ }], tooltipPosition: [{
426
+ type: Input
427
+ }], enabled: [{
428
+ type: Input,
429
+ args: [{ transform: booleanAttribute }]
430
+ }] } });
431
+
136
432
  /**************************
137
433
  * Copyright Monkey Exchange. All Rights Reserved
138
434
  * This style guide was developed by Monkey Exchange Team
@@ -143,5 +439,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
143
439
  * Generated bundle index. Do not edit.
144
440
  */
145
441
 
146
- export { MonkeyButtonComponent, MonkeyIconButtonComponent, MonkeyIconComponent, MonkeyStatusComponent };
442
+ export { MonkeyButtonComponent, MonkeyIconButtonComponent, MonkeyIconComponent, MonkeySecurityLevelComponent, MonkeyStatusComponent, MonkeyToggleComponent, MonkeyTooltipComponent, MonkeyTooltipDirective };
147
443
  //# sourceMappingURL=monkey-style-guide-v2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"monkey-style-guide-v2.mjs","sources":["../../../projects/monkey-style-guide-v2/src/lib/components/monkey-button/monkey-button.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-button/monkey-button.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon/monkey-icon.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon/monkey-icon.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon-button/monkey-icon-button.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon-button/monkey-icon-button.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-status/monkey-status.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-status/monkey-status.component.html","../../../projects/monkey-style-guide-v2/src/public-api.ts","../../../projects/monkey-style-guide-v2/src/monkey-style-guide-v2.ts"],"sourcesContent":["/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'monkey-button-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-button.component.html',\n styleUrl: './monkey-button.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class MonkeyButtonComponent {\n @Input() type: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() disabled: boolean = false;\n\n @HostListener('click', ['$event'])\n onClick(event: any) {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<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","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'monkey-icon-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-icon.component.html',\n styleUrl: './monkey-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': `_icon+' '+size`\n }\n})\nexport class MonkeyIconComponent implements OnInit {\n @Input() set icon(val: string) {\n this._icon = `mk-i mk-i-${val}`;\n }\n\n @Input() size = '';\n\n _icon = '';\n\n ngOnInit(): void {\n if (!this._icon) {\n throw new Error('Icon property must be used');\n }\n }\n}\n","","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { MonkeyIconComponent } from '../monkey-icon';\n\n@Component({\n selector: 'monkey-icon-button-v2',\n standalone: true,\n imports: [CommonModule, MonkeyIconComponent],\n templateUrl: './monkey-icon-button.component.html',\n styleUrl: './monkey-icon-button.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class MonkeyIconButtonComponent {\n @Input() type: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() disabled: boolean = false;\n @Input() icon = '';\n\n @HostListener('click', ['$event'])\n onClick(event: any) {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon-v2 [icon]=\"icon\" [size]=\"size\" first></monkey-icon-v2>\n </div>\n</button>\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostBinding, input } from '@angular/core';\n\ntype Status = 'default' | 'success' | 'warning' | 'error' | 'question' | 'info';\ntype Size = 'md' | 'sm' | 'lg';\n\n@Component({\n selector: 'monkey-status',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-status.component.html',\n styleUrl: './monkey-status.component.scss'\n})\nexport class MonkeyStatusComponent {\n type = input.required<Status>();\n size = input<Size>('md');\n label = input<string>();\n\n @HostBinding('class')\n public get class(): string {\n return `${this.type()} ${this.size()}`;\n }\n}\n","<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence \n**************************/\nexport * from './lib/components';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monkey-style-guide-v2.mjs","sources":["../../../projects/monkey-style-guide-v2/src/lib/components/monkey-button/monkey-button.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-button/monkey-button.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon/monkey-icon.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon/monkey-icon.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon-button/monkey-icon-button.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-icon-button/monkey-icon-button.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-security-level/monkey-security-level.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-security-level/monkey-security-level.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-status/monkey-status.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-status/monkey-status.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-toggle/monkey-toggle.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-toggle/monkey-toggle.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-tooltip/tooltip/tooltip.component.ts","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-tooltip/tooltip/tooltip.component.html","../../../projects/monkey-style-guide-v2/src/lib/components/monkey-tooltip/monkey-tooltip.directive.ts","../../../projects/monkey-style-guide-v2/src/public-api.ts","../../../projects/monkey-style-guide-v2/src/monkey-style-guide-v2.ts"],"sourcesContent":["/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'monkey-button-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-button.component.html',\n styleUrl: './monkey-button.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class MonkeyButtonComponent {\n @Input() type: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() disabled: boolean = false;\n\n @HostListener('click', ['$event'])\n onClick(event: any) {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<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","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'monkey-icon-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-icon.component.html',\n styleUrl: './monkey-icon.component.scss',\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': `_icon+' '+size`\n }\n})\nexport class MonkeyIconComponent implements OnInit {\n @Input() set icon(val: string) {\n this._icon = `mk-i mk-i-${val}`;\n }\n\n @Input() size = '';\n\n _icon = '';\n\n ngOnInit(): void {\n if (!this._icon) {\n throw new Error('Icon property must be used');\n }\n }\n}\n","","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { MonkeyIconComponent } from '../monkey-icon';\n\n@Component({\n selector: 'monkey-icon-button-v2',\n standalone: true,\n imports: [CommonModule, MonkeyIconComponent],\n templateUrl: './monkey-icon-button.component.html',\n styleUrl: './monkey-icon-button.component.scss',\n encapsulation: ViewEncapsulation.None\n})\nexport class MonkeyIconButtonComponent {\n @Input() type: 'primary' | 'secondary' | 'tertiary' = 'primary';\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\n @Input() disabled: boolean = false;\n @Input() icon = '';\n\n @HostListener('click', ['$event'])\n onClick(event: any) {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<button class=\"mecx-icon-button\" [ngClass]=\"type + ' ' + size\" [disabled]=\"disabled\">\n <div class=\"content\">\n <monkey-icon-v2 [icon]=\"icon\" [size]=\"size\" first></monkey-icon-v2>\n </div>\n</button>\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostBinding, input } from '@angular/core';\n\n@Component({\n selector: 'monkey-security-level',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-security-level.component.html',\n styleUrl: './monkey-security-level.component.scss'\n})\nexport class MonkeySecurityLevelComponent {\n score = input.required<number>();\n label = input<string>();\n strengthLabel = input<string>();\n\n @HostBinding('class')\n public get class(): string {\n if (this.score() === 0) {\n return 'empty';\n }\n if (this.score() < 300) {\n return 'weak';\n }\n if (this.score() >= 300 && this.score() < 800) {\n return 'medium';\n }\n if (this.score() >= 800 && this.score() < 1000) {\n return 'strong';\n }\n return 'very-strong';\n }\n}\n","<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","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport { CommonModule } from '@angular/common';\nimport { Component, HostBinding, input } from '@angular/core';\n\ntype Status = 'default' | 'success' | 'warning' | 'error' | 'question' | 'info';\ntype Size = 'md' | 'sm' | 'lg';\n\n@Component({\n selector: 'monkey-status',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-status.component.html',\n styleUrl: './monkey-status.component.scss'\n})\nexport class MonkeyStatusComponent {\n type = input.required<Status>();\n size = input<Size>('md');\n label = input<string>();\n\n @HostBinding('class')\n public get class(): string {\n return `${this.type()} ${this.size()}`;\n }\n}\n","<div class=\"status\"></div>\n<span *ngIf=\"label() as lb\">\n {{ lb }}\n</span>\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'monkey-toggle-v2',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './monkey-toggle.component.html',\n styleUrl: './monkey-toggle.component.scss',\n host: {\n 'data-testid': 'input-toggle'\n }\n})\nexport class MonkeyToggleComponent {\n @HostBinding('class.disabled') @Input() disabled = false;\n\n @HostBinding('class')\n @Input()\n size: 'lg' | 'md' | 'sm' = 'md';\n\n @Output() onChange = new EventEmitter<any>();\n\n @Input() set value(_: boolean | 'true' | 'false') {\n if (typeof _ === 'string') {\n this._checked = _ === 'true';\n } else {\n this._checked = _;\n }\n }\n\n _checked: boolean = false;\n\n @HostListener('click', ['$event'])\n onClick(event: any) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n\n if (!this.disabled) {\n this.onChange.next(!this._checked);\n this._checked = !this._checked;\n }\n }\n}\n","<input type=\"checkbox\" [checked]=\"_checked\" />\n<div class=\"slider\" [ngClass]=\"{ checked: _checked }\"></div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\n\n@Component({\n selector: 'monkey-tooltip',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './tooltip.component.html',\n styleUrl: './tooltip.component.scss',\n host: {\n 'data-testid': 'monkey-tooltip',\n '[style.left.px]': 'left',\n '[style.top.px]': 'top',\n '(animationend)': 'onAnimationEnd($event)'\n }\n})\nexport class MonkeyTooltipComponent {\n @Input() text: string | undefined;\n\n @Input() template!: null | TemplateRef<HTMLElement>;\n\n @Input() left: number | undefined;\n\n @Input() top: number | undefined;\n\n @Output() afterClose = new EventEmitter();\n\n constructor(private host: ElementRef<HTMLElement>) {\n // no to do\n }\n\n close() {\n this.host.nativeElement.classList.add('closed');\n }\n\n onAnimationEnd(event: AnimationEvent) {\n if (event.animationName.includes('fade-out')) {\n this.afterClose.emit(true);\n }\n }\n}\n","@if(template) {\n<ng-container *ngTemplateOutlet=\"template\"> </ng-container>\n} @if(text) {\n{{ text }}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n Input,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { MonkeyTooltipComponent } from './tooltip';\n\ntype Position = 'top' | 'bottom' | 'left' | 'right' | undefined;\n\n@Directive({\n selector: '[monkeyTooltip]',\n standalone: true,\n host: {\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(click)': 'hide()'\n }\n})\nexport class MonkeyTooltipDirective {\n @Input('monkeyTooltip') tooltipText: string | TemplateRef<HTMLElement> | undefined;\n\n @Input() tooltipPosition: Position;\n\n @Input({ transform: booleanAttribute }) enabled = true;\n\n private offset = 8;\n\n private tooltipComponent?: ComponentRef<MonkeyTooltipComponent>;\n\n private bounds!: {\n elBounds: DOMRect;\n tooltipBounds: DOMRect;\n scroll: number;\n viewport: { width: number; height: number };\n };\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef,\n private appRef: ApplicationRef,\n @Inject(DOCUMENT) private document: Document\n ) {\n // to do not\n }\n\n private setBounds() {\n this.tooltipComponent!.hostView.detectChanges();\n this.bounds = {\n elBounds: this.elementRef.nativeElement.getBoundingClientRect(),\n tooltipBounds: this.tooltipComponent?.location.nativeElement.getBoundingClientRect(),\n scroll: document.documentElement.scrollTop || document.body.scrollTop || 0,\n viewport: {\n width:\n window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,\n height:\n window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight\n }\n };\n }\n\n private createTooltip() {\n this.tooltipComponent = this.viewContainerRef.createComponent(MonkeyTooltipComponent);\n this.document.body.appendChild(this.tooltipComponent.location.nativeElement);\n\n if (this.tooltipText instanceof TemplateRef) {\n this.tooltipComponent.instance.template = this.tooltipText;\n } else {\n this.tooltipComponent.instance.text = this.tooltipText;\n }\n this.setBounds();\n\n this.positionTooltip(this.tooltipPosition);\n }\n\n private positionTooltip(position: Position) {\n switch (position) {\n case 'left':\n this.positionLeft();\n if (this.isOutOfBounds()) {\n this.positionRight();\n if (this.isOutOfBounds()) {\n this.positionBottom();\n if (this.isOutOfBounds()) {\n this.positionTop();\n }\n }\n }\n break;\n case 'right':\n this.positionRight();\n if (this.isOutOfBounds()) {\n this.positionLeft();\n if (this.isOutOfBounds()) {\n this.positionBottom();\n if (this.isOutOfBounds()) {\n this.positionTop();\n }\n }\n }\n break;\n case 'top':\n this.positionTop();\n if (this.isOutOfBounds()) {\n this.positionBottom();\n if (this.isOutOfBounds()) {\n this.positionRight();\n if (this.isOutOfBounds()) {\n this.positionLeft();\n }\n }\n }\n break;\n case 'bottom':\n this.positionBottom();\n if (this.isOutOfBounds()) {\n this.positionTop();\n if (this.isOutOfBounds()) {\n this.positionRight();\n if (this.isOutOfBounds()) {\n this.positionLeft();\n }\n }\n }\n break;\n default:\n }\n }\n\n private isOutOfBounds() {\n const { tooltipBounds, viewport } = this.bounds;\n\n return (\n tooltipBounds.left < 0 ||\n tooltipBounds.top < 0 ||\n tooltipBounds.left + tooltipBounds.width > viewport.width ||\n tooltipBounds.top + tooltipBounds.height > viewport.height\n );\n }\n\n private positionLeft() {\n const { elBounds, tooltipBounds, scroll } = this.bounds;\n this.tooltipComponent!.instance.left = elBounds.left - tooltipBounds.width - this.offset;\n this.tooltipComponent!.instance.top = scroll + (elBounds.top + elBounds.height / 2);\n this.tooltipComponent!.location.nativeElement.style.transform = 'translateY(-50%)';\n this.setBounds();\n }\n\n private positionRight() {\n const { elBounds, scroll } = this.bounds;\n this.tooltipComponent!.instance.left = elBounds.right + this.offset;\n this.tooltipComponent!.instance.top = scroll + (elBounds.top + elBounds.height / 2);\n this.tooltipComponent!.location.nativeElement.style.transform = 'translateY(-50%)';\n this.setBounds();\n }\n\n private positionTop() {\n const { elBounds, tooltipBounds, scroll } = this.bounds;\n this.tooltipComponent!.instance.left = elBounds.left + elBounds.width / 2;\n this.tooltipComponent!.instance.top =\n scroll + elBounds.top - tooltipBounds.height - this.offset;\n this.tooltipComponent!.location.nativeElement.style.transform = 'translateX(-50%)';\n this.setBounds();\n }\n\n private positionBottom() {\n const { elBounds, scroll } = this.bounds;\n this.tooltipComponent!.instance.left = elBounds.left + elBounds.width / 2;\n this.tooltipComponent!.instance.top = scroll + elBounds.bottom + this.offset;\n this.tooltipComponent!.location.nativeElement.style.transform = 'translateX(-50%)';\n this.setBounds();\n }\n\n show(): void {\n if (!this.enabled || this.tooltipComponent) {\n return;\n }\n\n this.createTooltip();\n }\n\n hide(): void {\n if (!this.tooltipComponent) {\n return;\n }\n this.tooltipComponent.instance.close();\n const subscribe = this.tooltipComponent.instance.afterClose.subscribe(() => {\n if (!this.tooltipComponent) {\n return;\n }\n this.appRef.detachView(this.tooltipComponent!.hostView);\n this.tooltipComponent!.destroy();\n this.tooltipComponent = undefined;\n subscribe.unsubscribe();\n });\n }\n}\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence \n**************************/\nexport * from './lib/components';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  export * from './monkey-button';
2
2
  export * from './monkey-icon';
3
3
  export * from './monkey-icon-button';
4
+ export * from './monkey-security-level';
4
5
  export * from './monkey-status';
6
+ export * from './monkey-toggle';
7
+ export * from './monkey-tooltip';
@@ -0,0 +1 @@
1
+ export * from './monkey-security-level.component';
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class MonkeySecurityLevelComponent {
3
+ score: import("@angular/core").InputSignal<number>;
4
+ label: import("@angular/core").InputSignal<string | undefined>;
5
+ strengthLabel: import("@angular/core").InputSignal<string | undefined>;
6
+ get class(): string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<MonkeySecurityLevelComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<MonkeySecurityLevelComponent, "monkey-security-level", never, { "score": { "alias": "score"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "strengthLabel": { "alias": "strengthLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1 @@
1
+ export * from './monkey-toggle.component';
@@ -0,0 +1,12 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class MonkeyToggleComponent {
4
+ disabled: boolean;
5
+ size: 'lg' | 'md' | 'sm';
6
+ onChange: EventEmitter<any>;
7
+ set value(_: boolean | 'true' | 'false');
8
+ _checked: boolean;
9
+ onClick(event: any): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<MonkeyToggleComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<MonkeyToggleComponent, "monkey-toggle-v2", never, { "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "onChange": "onChange"; }, never, never, true, never>;
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from './monkey-tooltip.directive';
2
+ export * from './tooltip';