monkey-style-guide-v2 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/assets/scss/directives/_index.scss +7 -0
  2. package/assets/scss/directives/_styles.scss +100 -0
  3. package/assets/scss/input/_index.scss +7 -0
  4. package/assets/scss/input/_styles.scss +43 -0
  5. package/assets/scss/partials/_index.scss +7 -0
  6. package/assets/scss/partials/_style-reset.scss +189 -0
  7. package/assets/scss/partials/_variables.scss +178 -0
  8. package/assets/scss/table/_index.scss +7 -0
  9. package/assets/scss/table/_styles.scss +45 -0
  10. package/assets/scss/theme.scss +11 -0
  11. package/assets/scss/typography/_function.scss +23 -0
  12. package/assets/scss/typography/_index.scss +9 -0
  13. package/assets/scss/typography/_mixins.scss +111 -0
  14. package/assets/scss/typography/_styles.scss +173 -0
  15. package/esm2022/lib/components/index.mjs +14 -1
  16. package/esm2022/lib/components/monkey-accordion/index.mjs +2 -0
  17. package/esm2022/lib/components/monkey-accordion/monkey-accordion.component.mjs +102 -0
  18. package/esm2022/lib/components/monkey-alert/index.mjs +2 -0
  19. package/esm2022/lib/components/monkey-alert/monkey-alert.component.mjs +50 -0
  20. package/esm2022/lib/components/monkey-breadcrumb/index.mjs +2 -0
  21. package/esm2022/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.mjs +56 -0
  22. package/esm2022/lib/components/monkey-button/monkey-button.component.mjs +27 -12
  23. package/esm2022/lib/components/monkey-checkbox/index.mjs +2 -0
  24. package/esm2022/lib/components/monkey-checkbox/monkey-checkbox.component.mjs +216 -0
  25. package/esm2022/lib/components/monkey-divider/index.mjs +2 -0
  26. package/esm2022/lib/components/monkey-divider/monkey-divider.component.mjs +44 -0
  27. package/esm2022/lib/components/monkey-form-field/form-field-control.mjs +15 -0
  28. package/esm2022/lib/components/monkey-form-field/form-field.mjs +250 -0
  29. package/esm2022/lib/components/monkey-form-field/index.mjs +5 -0
  30. package/esm2022/lib/components/monkey-form-field/module.mjs +21 -0
  31. package/esm2022/lib/components/monkey-form-field/utils.mjs +16 -0
  32. package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +31 -15
  33. package/esm2022/lib/components/monkey-icon-button/monkey-icon-button.component.mjs +25 -9
  34. package/esm2022/lib/components/monkey-input/index.mjs +5 -0
  35. package/esm2022/lib/components/monkey-input/monkey-input-currency.directive.mjs +187 -0
  36. package/esm2022/lib/components/monkey-input/monkey-input.directive.mjs +166 -0
  37. package/esm2022/lib/components/monkey-input/monkey-input.module.mjs +24 -0
  38. package/esm2022/lib/components/monkey-input/validators.mjs +17 -0
  39. package/esm2022/lib/components/monkey-option/index.mjs +2 -0
  40. package/esm2022/lib/components/monkey-option/monkey-option.component.mjs +54 -0
  41. package/esm2022/lib/components/monkey-security-level/monkey-security-level.component.mjs +30 -14
  42. package/esm2022/lib/components/monkey-select/index.mjs +2 -0
  43. package/esm2022/lib/components/monkey-select/monkey-select.component.mjs +352 -0
  44. package/esm2022/lib/components/monkey-status/monkey-status.component.mjs +28 -12
  45. package/esm2022/lib/components/monkey-table/components/pagination-action/pagination-action.mjs +53 -0
  46. package/esm2022/lib/components/monkey-table/components/pagination-label/pagination-label.mjs +34 -0
  47. package/esm2022/lib/components/monkey-table/components/pagination-size/pagination-size.mjs +57 -0
  48. package/esm2022/lib/components/monkey-table/directives/column-checked.mjs +109 -0
  49. package/esm2022/lib/components/monkey-table/directives/column-expansible.mjs +134 -0
  50. package/esm2022/lib/components/monkey-table/directives/column-sortable.mjs +97 -0
  51. package/esm2022/lib/components/monkey-table/directives/column-stick.mjs +28 -0
  52. package/esm2022/lib/components/monkey-table/index.mjs +10 -0
  53. package/esm2022/lib/components/monkey-table/table.mjs +132 -0
  54. package/esm2022/lib/components/monkey-table/table.module.mjs +60 -0
  55. package/esm2022/lib/components/monkey-toast/index.mjs +2 -0
  56. package/esm2022/lib/components/monkey-toast/monkey-toast.component.mjs +74 -0
  57. package/esm2022/lib/components/monkey-toggle/monkey-toggle.component.mjs +28 -14
  58. package/esm2022/lib/components/monkey-toggle-line/index.mjs +3 -0
  59. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.mjs +2 -0
  60. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.mjs +24 -0
  61. package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line.component.mjs +85 -0
  62. package/esm2022/lib/components/monkey-tooltip/index.mjs +3 -0
  63. package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +175 -0
  64. package/esm2022/lib/components/monkey-tooltip/tooltip/index.mjs +2 -0
  65. package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +53 -0
  66. package/esm2022/lib/directives/error.mjs +18 -0
  67. package/esm2022/lib/directives/helper.mjs +18 -0
  68. package/esm2022/lib/directives/index.mjs +8 -0
  69. package/esm2022/lib/directives/info.mjs +18 -0
  70. package/esm2022/lib/directives/label.mjs +18 -0
  71. package/esm2022/lib/directives/module.mjs +26 -0
  72. package/esm2022/lib/directives/prefix.mjs +18 -0
  73. package/esm2022/lib/directives/suffix.mjs +43 -0
  74. package/esm2022/lib/interfaces/alert.mjs +2 -0
  75. package/esm2022/lib/interfaces/breadcrumb.mjs +2 -0
  76. package/esm2022/lib/interfaces/button.mjs +2 -0
  77. package/esm2022/lib/interfaces/index.mjs +7 -0
  78. package/esm2022/lib/interfaces/sizes.mjs +2 -0
  79. package/esm2022/lib/interfaces/table.mjs +2 -0
  80. package/esm2022/lib/interfaces/toast.mjs +10 -0
  81. package/esm2022/lib/services/index.mjs +4 -0
  82. package/esm2022/lib/services/monkey-destroy.service.mjs +15 -0
  83. package/esm2022/lib/services/monkey-icons.service.mjs +45 -0
  84. package/esm2022/lib/services/monkey-toast.service.mjs +72 -0
  85. package/esm2022/public-api.mjs +6 -3
  86. package/esm2022/utils/id-generator.mjs +20 -0
  87. package/esm2022/utils/index.mjs +4 -0
  88. package/esm2022/utils/tests-utils.mjs +4 -0
  89. package/esm2022/utils/utils.mjs +10 -0
  90. package/fesm2022/monkey-style-guide-v2.mjs +3049 -121
  91. package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
  92. package/lib/components/index.d.ts +13 -0
  93. package/lib/components/monkey-accordion/index.d.ts +1 -0
  94. package/lib/components/monkey-accordion/monkey-accordion.component.d.ts +22 -0
  95. package/lib/components/monkey-alert/index.d.ts +1 -0
  96. package/lib/components/monkey-alert/monkey-alert.component.d.ts +23 -0
  97. package/lib/components/monkey-breadcrumb/index.d.ts +1 -0
  98. package/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.d.ts +18 -0
  99. package/lib/components/monkey-button/monkey-button.component.d.ts +11 -4
  100. package/lib/components/monkey-checkbox/index.d.ts +1 -0
  101. package/lib/components/monkey-checkbox/monkey-checkbox.component.d.ts +50 -0
  102. package/lib/components/monkey-divider/index.d.ts +1 -0
  103. package/lib/components/monkey-divider/monkey-divider.component.d.ts +20 -0
  104. package/lib/components/monkey-form-field/form-field-control.d.ts +18 -0
  105. package/lib/components/monkey-form-field/form-field.d.ts +74 -0
  106. package/lib/components/monkey-form-field/index.d.ts +4 -0
  107. package/lib/components/monkey-form-field/module.d.ts +7 -0
  108. package/lib/components/monkey-form-field/utils.d.ts +6 -0
  109. package/lib/components/monkey-icon/monkey-icon.component.d.ts +6 -1
  110. package/lib/components/monkey-icon-button/monkey-icon-button.component.d.ts +6 -1
  111. package/lib/components/monkey-input/index.d.ts +4 -0
  112. package/lib/components/monkey-input/monkey-input-currency.directive.d.ts +57 -0
  113. package/lib/components/monkey-input/monkey-input.directive.d.ts +46 -0
  114. package/lib/components/monkey-input/monkey-input.module.d.ts +8 -0
  115. package/lib/components/monkey-input/validators.d.ts +1 -0
  116. package/lib/components/monkey-option/index.d.ts +1 -0
  117. package/lib/components/monkey-option/monkey-option.component.d.ts +22 -0
  118. package/lib/components/monkey-security-level/monkey-security-level.component.d.ts +7 -2
  119. package/lib/components/monkey-select/index.d.ts +1 -0
  120. package/lib/components/monkey-select/monkey-select.component.d.ts +74 -0
  121. package/lib/components/monkey-status/monkey-status.component.d.ts +8 -3
  122. package/lib/components/monkey-table/components/pagination-action/pagination-action.d.ts +17 -0
  123. package/lib/components/monkey-table/components/pagination-label/pagination-label.d.ts +10 -0
  124. package/lib/components/monkey-table/components/pagination-size/pagination-size.d.ts +15 -0
  125. package/lib/components/monkey-table/directives/column-checked.d.ts +32 -0
  126. package/lib/components/monkey-table/directives/column-expansible.d.ts +25 -0
  127. package/lib/components/monkey-table/directives/column-sortable.d.ts +24 -0
  128. package/lib/components/monkey-table/directives/column-stick.d.ts +6 -0
  129. package/lib/components/monkey-table/index.d.ts +9 -0
  130. package/lib/components/monkey-table/table.d.ts +32 -0
  131. package/lib/components/monkey-table/table.module.d.ts +15 -0
  132. package/lib/components/monkey-toast/index.d.ts +1 -0
  133. package/lib/components/monkey-toast/monkey-toast.component.d.ts +26 -0
  134. package/lib/components/monkey-toggle/monkey-toggle.component.d.ts +6 -1
  135. package/lib/components/monkey-toggle-line/index.d.ts +2 -0
  136. package/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.d.ts +1 -0
  137. package/lib/components/monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.d.ts +16 -0
  138. package/lib/components/monkey-toggle-line/monkey-toggle-line.component.d.ts +24 -0
  139. package/lib/components/monkey-tooltip/index.d.ts +2 -0
  140. package/lib/components/monkey-tooltip/monkey-tooltip.directive.d.ts +30 -0
  141. package/lib/components/monkey-tooltip/tooltip/index.d.ts +1 -0
  142. package/lib/components/monkey-tooltip/tooltip/tooltip.component.d.ts +19 -0
  143. package/lib/directives/error.d.ts +5 -0
  144. package/lib/directives/helper.d.ts +5 -0
  145. package/lib/directives/index.d.ts +7 -0
  146. package/lib/directives/info.d.ts +5 -0
  147. package/lib/directives/label.d.ts +5 -0
  148. package/lib/directives/module.d.ts +12 -0
  149. package/lib/directives/prefix.d.ts +5 -0
  150. package/lib/directives/suffix.d.ts +9 -0
  151. package/lib/interfaces/alert.d.ts +1 -0
  152. package/lib/interfaces/breadcrumb.d.ts +5 -0
  153. package/lib/interfaces/button.d.ts +1 -0
  154. package/lib/interfaces/index.d.ts +6 -0
  155. package/lib/interfaces/sizes.d.ts +1 -0
  156. package/lib/interfaces/table.d.ts +4 -0
  157. package/lib/interfaces/toast.d.ts +22 -0
  158. package/lib/services/index.d.ts +3 -0
  159. package/lib/services/monkey-destroy.service.d.ts +8 -0
  160. package/lib/services/monkey-icons.service.d.ts +14 -0
  161. package/lib/services/monkey-toast.service.d.ts +13 -0
  162. package/monkey-style-guide-v2-0.0.6.tgz +0 -0
  163. package/package.json +10 -3
  164. package/public-api.d.ts +5 -2
  165. package/utils/id-generator.d.ts +6 -0
  166. package/utils/index.d.ts +3 -0
  167. package/utils/tests-utils.d.ts +1 -0
  168. package/utils/utils.d.ts +1 -0
  169. package/monkey-style-guide-v2-0.0.4.tgz +0 -0
@@ -1,17 +1,26 @@
1
- /**************************
1
+ /** ************************
2
2
  * Copyright Monkey Exchange. All Rights Reserved
3
3
  * This style guide was developed by Monkey Exchange Team
4
4
  * MIT Licence
5
- **************************/
5
+ ************************* */
6
6
  import { CommonModule } from '@angular/common';
7
- import { Component, HostListener, Input, ViewEncapsulation } from '@angular/core';
7
+ import { Component, HostListener, inject, Input, ViewEncapsulation } from '@angular/core';
8
+ import { IdGenerator } from '../../../utils/id-generator';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
11
  export class MonkeyButtonComponent {
12
+ get id() {
13
+ return this._id;
14
+ }
15
+ set id(value) {
16
+ this._id = value || this._uid;
17
+ }
11
18
  constructor() {
12
- this.type = 'primary';
13
19
  this.size = 'md';
14
- this.disabled = false;
20
+ this.type = 'primary';
21
+ this._uid = inject(IdGenerator).getId('monkey-button-');
22
+ // eslint-disable-next-line no-self-assign
23
+ this.id = this.id;
15
24
  }
16
25
  onClick(event) {
17
26
  if (this.disabled) {
@@ -20,20 +29,26 @@ export class MonkeyButtonComponent {
20
29
  event.stopImmediatePropagation();
21
30
  }
22
31
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- 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 }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ 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 #bdc1c7;background:unset}monkey-button .mecx-button.secondary:disabled{border-width:1px}monkey-button .mecx-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-button .mecx-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!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 }); }
25
34
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: MonkeyButtonComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyButtonComponent, decorators: [{
27
36
  type: Component,
28
- 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"] }]
29
- }], propDecorators: { type: [{
37
+ args: [{ encapsulation: ViewEncapsulation.None, imports: [CommonModule], selector: 'monkey-button', standalone: true, host: {
38
+ 'data-testid': 'monkey-button',
39
+ '[attr.id]': 'id',
40
+ '[id]': 'id'
41
+ }, 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 #bdc1c7;background:unset}monkey-button .mecx-button.secondary:disabled{border-width:1px}monkey-button .mecx-button:disabled{background:#f1f2f3!important;color:#bdc1c7!important;cursor:not-allowed!important}monkey-button .mecx-button:disabled.secondary{background:unset!important;border:1px solid #bdc1c7!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"] }]
42
+ }], ctorParameters: () => [], propDecorators: { disabled: [{
30
43
  type: Input
31
44
  }], size: [{
32
45
  type: Input
33
- }], disabled: [{
46
+ }], type: [{
47
+ type: Input
48
+ }], id: [{
34
49
  type: Input
35
50
  }], onClick: [{
36
51
  type: HostListener,
37
52
  args: ['click', ['$event']]
38
53
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1idXR0b24vbW9ua2V5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1idXR0b24vbW9ua2V5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs0QkFJNEI7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVWxGLE1BQU0sT0FBTyxxQkFBcUI7SUFSbEM7UUFTVyxTQUFJLEdBQXlDLFNBQVMsQ0FBQztRQUN2RCxTQUFJLEdBQXVCLElBQUksQ0FBQztRQUNoQyxhQUFRLEdBQVksS0FBSyxDQUFDO0tBVXBDO0lBUEMsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzs4R0FaVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiwrTENoQmxDLHlSQU9BLDQ1RURJWSxZQUFZOzsyRkFLWCxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9ua2V5LWJ1dHRvbi12MicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9ua2V5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9tb25rZXktYnV0dG9uLmNvbXBvbmVudC5zY3NzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSB0eXBlOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyA9ICdtZCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwibWVjeC1idXR0b25cIiBbbmdDbGFzc109XCJ0eXBlICsgJyAnICsgc2l6ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmaXJzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW4+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGFzdF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1idXR0b24vbW9ua2V5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1idXR0b24vbW9ua2V5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFpQjFELE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsSUFDSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVEO1FBakJTLFNBQUksR0FBZSxJQUFJLENBQUM7UUFFeEIsU0FBSSxHQUFxQixTQUFTLENBQUM7UUFFbEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQWMzRCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFHRCxPQUFPLENBQUMsS0FBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzsrR0FoQ1UscUJBQXFCO21HQUFyQixxQkFBcUIsbVNDeEJsQyx5UkFPQSxxMUVETVksWUFBWTs7NEZBV1gscUJBQXFCO2tCQWJqQyxTQUFTO29DQUNPLGlCQUFpQixDQUFDLElBQUksV0FDNUIsQ0FBQyxZQUFZLENBQUMsWUFDYixlQUFlLGNBQ2IsSUFBSSxRQUdWO3dCQUNKLGFBQWEsRUFBRSxlQUFlO3dCQUM5QixXQUFXLEVBQUUsSUFBSTt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7d0RBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQU9GLEVBQUU7c0JBREwsS0FBSztnQkFlTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcbmltcG9ydCB7IE1vbmtleUJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2J1dHRvbic7XG5pbXBvcnQgeyBNb25rZXlTaXplIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zaXplcyc7XG5cbkBDb21wb25lbnQoe1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdtb25rZXktYnV0dG9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmw6ICcuL21vbmtleS1idXR0b24uY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9ua2V5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbW9ua2V5LWJ1dHRvbicsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1tpZF0nOiAnaWQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5QnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNpemU6IE1vbmtleVNpemUgPSAnbWQnO1xuXG4gIEBJbnB1dCgpIHR5cGU6IE1vbmtleUJ1dHRvblR5cGUgPSAncHJpbWFyeSc7XG5cbiAgcHJvdGVjdGVkIF91aWQgPSBpbmplY3QoSWRHZW5lcmF0b3IpLmdldElkKCdtb25rZXktYnV0dG9uLScpO1xuXG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlIHx8IHRoaXMuX3VpZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwibWVjeC1idXR0b25cIiBbbmdDbGFzc109XCJ0eXBlICsgJyAnICsgc2l6ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmaXJzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPHNwYW4+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGFzdF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './monkey-checkbox.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1jaGVja2JveC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb25rZXktY2hlY2tib3guY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,216 @@
1
+ import { animate, keyframes, style, transition, trigger } from '@angular/animations';
2
+ import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, forwardRef, inject, Injector, Input, Output } from '@angular/core';
3
+ import { FormControlDirective, FormControlName, FormGroupDirective, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgModel, ReactiveFormsModule } from '@angular/forms';
4
+ import { takeUntil } from 'rxjs';
5
+ import { IdGenerator } from '../../../utils';
6
+ import { MonkeyHelper, MonkeyInfo, MonkeyLabel } from '../../directives';
7
+ import { MonkeyDestroyService, MonkeyIconsService } from '../../services';
8
+ import * as i0 from "@angular/core";
9
+ export class MonkeyCheckboxComponent {
10
+ constructor() {
11
+ this.disabled = false;
12
+ this.indeterminate = false;
13
+ this.required = false;
14
+ this.showFooter = true;
15
+ this.size = 'md';
16
+ this.onChange = new EventEmitter();
17
+ this._destroyed = inject(MonkeyDestroyService);
18
+ this.icons = inject(MonkeyIconsService);
19
+ this.idGenerator = inject(IdGenerator);
20
+ this.injector = inject(Injector);
21
+ this.cdr = inject(ChangeDetectorRef);
22
+ this.iconCheck = this.icons.check;
23
+ this.iconIndeterminate = this.icons.minus;
24
+ this.inputId = this.idGenerator.getId('input-checkbox-');
25
+ this.value = false;
26
+ this.isFocused = false;
27
+ this._onChange = () => { };
28
+ this._onTouched = () => { };
29
+ this._onValidatorChange = () => { };
30
+ this.onBlur = () => {
31
+ this._onTouched();
32
+ this.isFocused = false;
33
+ };
34
+ this.onFocus = () => {
35
+ this.isFocused = true;
36
+ };
37
+ }
38
+ get showInvalid() {
39
+ const touched = this.control?.touched || false;
40
+ const invalid = this.control?.invalid || false;
41
+ return !this.isFocused && touched && invalid;
42
+ }
43
+ get hasHeader() {
44
+ return this.labelChildren.length > 0 || this.helperChildren.length > 0;
45
+ }
46
+ get isTouched() {
47
+ return this.control?.touched ?? false;
48
+ }
49
+ get isInvalid() {
50
+ return this.control?.invalid ?? false;
51
+ }
52
+ ngOnInit() {
53
+ const ngControl = this.injector.get(NgControl, null, { self: true, optional: true });
54
+ if (ngControl instanceof FormControlDirective || ngControl instanceof NgModel) {
55
+ this.control = ngControl.control;
56
+ }
57
+ else if (ngControl instanceof FormControlName) {
58
+ this.control = this.injector.get(FormGroupDirective).getControl(ngControl);
59
+ this.control.statusChanges.pipe(takeUntil(this._destroyed)).subscribe(() => {
60
+ this.cdr.markForCheck();
61
+ });
62
+ }
63
+ }
64
+ ngOnChanges(changes) {
65
+ if (changes.required) {
66
+ this._onValidatorChange();
67
+ }
68
+ }
69
+ validate(control) {
70
+ return this.required && control.value !== true ? { required: true } : null;
71
+ }
72
+ writeValue(value) {
73
+ this.value = value;
74
+ this.cdr.markForCheck();
75
+ }
76
+ registerOnChange(fn) {
77
+ this._onChange = fn;
78
+ }
79
+ registerOnTouched(fn) {
80
+ this._onTouched = fn;
81
+ }
82
+ registerOnValidatorChange(fn) {
83
+ this._onValidatorChange = fn;
84
+ }
85
+ setDisabledState(isDisabled) {
86
+ this.disabled = isDisabled;
87
+ this.cdr.markForCheck();
88
+ }
89
+ onChangeEvent(event) {
90
+ const checkbox = event.target;
91
+ if (this.indeterminate) {
92
+ this.indeterminate = false;
93
+ }
94
+ this.value = checkbox.checked;
95
+ this._onChange(this.value);
96
+ this.onChange.next(this.value);
97
+ this._onTouched();
98
+ }
99
+ getFooterMessages() {
100
+ const hasInfoChildren = this.infoChildren && this.infoChildren.length > 0;
101
+ if (!this.disabled && this.isTouched && this.isInvalid) {
102
+ return 'error';
103
+ }
104
+ if (hasInfoChildren) {
105
+ return 'info';
106
+ }
107
+ return '';
108
+ }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyCheckboxComponent, isStandalone: true, selector: "monkey-checkbox", inputs: { disabled: ["disabled", "disabled", booleanAttribute], indeterminate: ["indeterminate", "indeterminate", booleanAttribute], required: ["required", "required", booleanAttribute], showFooter: ["showFooter", "showFooter", booleanAttribute], size: "size", value: "value" }, outputs: { onChange: "onChange" }, host: { attributes: { "data-testid": "input-checkbox" }, properties: { "class.mecx-disabled": "disabled", "class.mecx-checkbox-checked": "value", "class.mecx-checkbox-focused": "isFocused", "class.mecx-checkbox-indeterminate": "indeterminate", "class.mecx-checkbox-invalid": "showInvalid", "class.sm": "size.includes(\"sm\")", "class.md": "size.includes(\"md\")", "class.lg": "size.includes(\"lg\")" }, classAttribute: "mecx-checkbox" }, providers: [
111
+ {
112
+ provide: NG_VALUE_ACCESSOR,
113
+ useExisting: forwardRef(() => {
114
+ // eslint-disable-next-line no-use-before-define
115
+ return MonkeyCheckboxComponent;
116
+ }),
117
+ multi: true
118
+ },
119
+ {
120
+ provide: NG_VALIDATORS,
121
+ // eslint-disable-next-line no-use-before-define
122
+ useExisting: MonkeyCheckboxComponent,
123
+ multi: true
124
+ },
125
+ MonkeyDestroyService
126
+ ], queries: [{ propertyName: "infoChildren", predicate: MonkeyInfo, descendants: true }, { propertyName: "labelChildren", predicate: MonkeyLabel, descendants: true }, { propertyName: "helperChildren", predicate: MonkeyHelper, 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 <div class=\"icon\" @iconAnimation [innerHTML]=\"iconIndeterminate\"></div>\n } @else if (value) {\n <div class=\"icon\" @iconAnimation [innerHTML]=\"iconCheck\"></div>\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 }], animations: [
127
+ trigger('iconAnimation', [
128
+ transition(':enter', [
129
+ animate('250ms ease-in-out', keyframes([
130
+ style({ opacity: 0, transform: 'scale(0.7)' }),
131
+ style({ opacity: 1, transform: 'scale(1)' })
132
+ ]))
133
+ ]),
134
+ transition(':leave', [
135
+ animate('250ms ease-in-out', keyframes([
136
+ style({ opacity: 1, transform: 'scale(1)' }),
137
+ style({ opacity: 0, transform: 'scale(.7)' })
138
+ ]))
139
+ ])
140
+ ])
141
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
+ }
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyCheckboxComponent, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: 'monkey-checkbox', standalone: true, imports: [ReactiveFormsModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, animations: [
146
+ trigger('iconAnimation', [
147
+ transition(':enter', [
148
+ animate('250ms ease-in-out', keyframes([
149
+ style({ opacity: 0, transform: 'scale(0.7)' }),
150
+ style({ opacity: 1, transform: 'scale(1)' })
151
+ ]))
152
+ ]),
153
+ transition(':leave', [
154
+ animate('250ms ease-in-out', keyframes([
155
+ style({ opacity: 1, transform: 'scale(1)' }),
156
+ style({ opacity: 0, transform: 'scale(.7)' })
157
+ ]))
158
+ ])
159
+ ])
160
+ ], providers: [
161
+ {
162
+ provide: NG_VALUE_ACCESSOR,
163
+ useExisting: forwardRef(() => {
164
+ // eslint-disable-next-line no-use-before-define
165
+ return MonkeyCheckboxComponent;
166
+ }),
167
+ multi: true
168
+ },
169
+ {
170
+ provide: NG_VALIDATORS,
171
+ // eslint-disable-next-line no-use-before-define
172
+ useExisting: MonkeyCheckboxComponent,
173
+ multi: true
174
+ },
175
+ MonkeyDestroyService
176
+ ], host: {
177
+ 'data-testid': 'input-checkbox',
178
+ class: 'mecx-checkbox',
179
+ '[class.mecx-disabled]': 'disabled',
180
+ '[class.mecx-checkbox-checked]': 'value',
181
+ '[class.mecx-checkbox-focused]': 'isFocused',
182
+ '[class.mecx-checkbox-indeterminate]': 'indeterminate',
183
+ '[class.mecx-checkbox-invalid]': 'showInvalid',
184
+ '[class.sm]': 'size.includes("sm")',
185
+ '[class.md]': 'size.includes("md")',
186
+ '[class.lg]': 'size.includes("lg")'
187
+ }, 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 <div class=\"icon\" @iconAnimation [innerHTML]=\"iconIndeterminate\"></div>\n } @else if (value) {\n <div class=\"icon\" @iconAnimation [innerHTML]=\"iconCheck\"></div>\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"] }]
188
+ }], propDecorators: { infoChildren: [{
189
+ type: ContentChildren,
190
+ args: [MonkeyInfo, { descendants: true }]
191
+ }], labelChildren: [{
192
+ type: ContentChildren,
193
+ args: [MonkeyLabel, { descendants: true }]
194
+ }], helperChildren: [{
195
+ type: ContentChildren,
196
+ args: [MonkeyHelper, { descendants: true }]
197
+ }], disabled: [{
198
+ type: Input,
199
+ args: [{ transform: booleanAttribute }]
200
+ }], indeterminate: [{
201
+ type: Input,
202
+ args: [{ transform: booleanAttribute }]
203
+ }], required: [{
204
+ type: Input,
205
+ args: [{ transform: booleanAttribute }]
206
+ }], showFooter: [{
207
+ type: Input,
208
+ args: [{ transform: booleanAttribute }]
209
+ }], size: [{
210
+ type: Input
211
+ }], onChange: [{
212
+ type: Output
213
+ }], value: [{
214
+ type: Input
215
+ }] } });
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS12Mi9zcmMvbGliL2NvbXBvbmVudHMvbW9ua2V5LWNoZWNrYm94L21vbmtleS1jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1jaGVja2JveC9tb25rZXktY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE9BQU8sRUFDUCxtQkFBbUIsRUFHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0Is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RUFBRSxJQUFJLEVBQUU7Z0JBRzFDLGFBQWE7c0JBRHBCLGVBQWU7dUJBQUMsV0FBVyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJM0MsY0FBYztzQkFEckIsZUFBZTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUdaLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRUUsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVFLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTdCLElBQUk7c0JBQVosS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQW9CRSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBrZXlmcmFtZXMsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtQ29udHJvbERpcmVjdGl2ZSxcbiAgRm9ybUNvbnRyb2xOYW1lLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgTmdDb250cm9sLFxuICBOZ01vZGVsLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUhlbHBlciwgTW9ua2V5SW5mbywgTW9ua2V5TGFiZWwgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE1vbmtleURlc3Ryb3lTZXJ2aWNlLCBNb25rZXlJY29uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vbmtleS1jaGVja2JveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9ua2V5LWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9ua2V5LWNoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdpY29uQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcyNTBtcyBlYXNlLWluLW91dCcsXG4gICAgICAgICAga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGUoMC43KScgfSksXG4gICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3NjYWxlKDEpJyB9KVxuICAgICAgICAgIF0pXG4gICAgICAgIClcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcyNTBtcyBlYXNlLWluLW91dCcsXG4gICAgICAgICAga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAnc2NhbGUoMSknIH0pLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZSguNyknIH0pXG4gICAgICAgICAgXSlcbiAgICAgICAgKVxuICAgICAgXSlcbiAgICBdKVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgICAgIHJldHVybiBNb25rZXlDaGVja2JveENvbXBvbmVudDtcbiAgICAgIH0pLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgIHVzZUV4aXN0aW5nOiBNb25rZXlDaGVja2JveENvbXBvbmVudCxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICBNb25rZXlEZXN0cm95U2VydmljZVxuICBdLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ2lucHV0LWNoZWNrYm94JyxcbiAgICBjbGFzczogJ21lY3gtY2hlY2tib3gnLFxuICAgICdbY2xhc3MubWVjeC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MubWVjeC1jaGVja2JveC1jaGVja2VkXSc6ICd2YWx1ZScsXG4gICAgJ1tjbGFzcy5tZWN4LWNoZWNrYm94LWZvY3VzZWRdJzogJ2lzRm9jdXNlZCcsXG4gICAgJ1tjbGFzcy5tZWN4LWNoZWNrYm94LWluZGV0ZXJtaW5hdGVdJzogJ2luZGV0ZXJtaW5hdGUnLFxuICAgICdbY2xhc3MubWVjeC1jaGVja2JveC1pbnZhbGlkXSc6ICdzaG93SW52YWxpZCcsXG4gICAgJ1tjbGFzcy5zbV0nOiAnc2l6ZS5pbmNsdWRlcyhcInNtXCIpJyxcbiAgICAnW2NsYXNzLm1kXSc6ICdzaXplLmluY2x1ZGVzKFwibWRcIiknLFxuICAgICdbY2xhc3MubGddJzogJ3NpemUuaW5jbHVkZXMoXCJsZ1wiKSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uSW5pdCwgVmFsaWRhdG9yIHtcbiAgQENvbnRlbnRDaGlsZHJlbihNb25rZXlJbmZvLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHByaXZhdGUgaW5mb0NoaWxkcmVuITogUXVlcnlMaXN0PE1vbmtleUluZm8+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9ua2V5TGFiZWwsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBsYWJlbENoaWxkcmVuITogUXVlcnlMaXN0PE1vbmtleUxhYmVsPjtcblxuICBAQ29udGVudENoaWxkcmVuKE1vbmtleUhlbHBlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIGhlbHBlckNoaWxkcmVuITogUXVlcnlMaXN0PE1vbmtleUhlbHBlcj47XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQgPSBmYWxzZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcblxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveWVkID0gaW5qZWN0KE1vbmtleURlc3Ryb3lTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KE1vbmtleUljb25zU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpZEdlbmVyYXRvciA9IGluamVjdChJZEdlbmVyYXRvcik7XG5cbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5IGljb25DaGVjayA9IHRoaXMuaWNvbnMuY2hlY2s7XG5cbiAgcmVhZG9ubHkgaWNvbkluZGV0ZXJtaW5hdGUgPSB0aGlzLmljb25zLm1pbnVzO1xuXG4gIHJlYWRvbmx5IGlucHV0SWQgPSB0aGlzLmlkR2VuZXJhdG9yLmdldElkKCdpbnB1dC1jaGVja2JveC0nKTtcblxuICBASW5wdXQoKSB2YWx1ZSA9IGZhbHNlO1xuXG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xuXG4gIGdldCBzaG93SW52YWxpZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCB0b3VjaGVkID0gdGhpcy5jb250cm9sPy50b3VjaGVkIHx8IGZhbHNlO1xuICAgIGNvbnN0IGludmFsaWQgPSB0aGlzLmNvbnRyb2w/LmludmFsaWQgfHwgZmFsc2U7XG4gICAgcmV0dXJuICF0aGlzLmlzRm9jdXNlZCAmJiB0b3VjaGVkICYmIGludmFsaWQ7XG4gIH1cblxuICBnZXQgaGFzSGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxhYmVsQ2hpbGRyZW4ubGVuZ3RoID4gMCB8fCB0aGlzLmhlbHBlckNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgaXNUb3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LnRvdWNoZWQgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmludmFsaWQgPz8gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBuZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICBpZiAobmdDb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2xEaXJlY3RpdmUgfHwgbmdDb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCkge1xuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2w7XG4gICAgfSBlbHNlIGlmIChuZ0NvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KEZvcm1Hcm91cERpcmVjdGl2ZSkuZ2V0Q29udHJvbChuZ0NvbnRyb2wgYXMgRm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBfb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gIF9vblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIF9vblZhbGlkYXRvckNoYW5nZTogYW55ID0gKCkgPT4ge307XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KSB7XG4gICAgaWYgKGNoYW5nZXMucmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuX29uVmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyID0gKCkgPT4ge1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gIH07XG5cbiAgb25Gb2N1cyA9ICgpID0+IHtcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gIH07XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkICYmIGNvbnRyb2wudmFsdWUgIT09IHRydWUgPyB7IHJlcXVpcmVkOiB0cnVlIH0gOiBudWxsO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2VFdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjaGVja2JveCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZSA9IGNoZWNrYm94LmNoZWNrZWQ7XG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG5cbiAgZ2V0Rm9vdGVyTWVzc2FnZXMoKTogJ2luZm8nIHwgJ2Vycm9yJyB8ICcnIHtcbiAgICBjb25zdCBoYXNJbmZvQ2hpbGRyZW4gPSB0aGlzLmluZm9DaGlsZHJlbiAmJiB0aGlzLmluZm9DaGlsZHJlbi5sZW5ndGggPiAwO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIHRoaXMuaXNUb3VjaGVkICYmIHRoaXMuaXNJbnZhbGlkKSB7XG4gICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICB9XG5cbiAgICBpZiAoaGFzSW5mb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2luZm8nO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwiQGlmIChoYXNIZWFkZXIpIHtcbiAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vbmtleS1sYWJlbFwiIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibW9ua2V5LWhlbHBlclwiIC8+XG4gIDwvZGl2PlxufVxuPGxhYmVsIFthdHRyLmZvcl09XCJpbnB1dElkXCI+XG4gIDxpbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgIFtpbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKGNoYW5nZSk9XCJvbkNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgLz5cbiAgPHNwYW4gY2xhc3M9XCJjaGVja2JveFwiPlxuICAgIEBpZiAoaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgPGRpdiBjbGFzcz1cImljb25cIiBAaWNvbkFuaW1hdGlvbiBbaW5uZXJIVE1MXT1cImljb25JbmRldGVybWluYXRlXCI+PC9kaXY+XG4gICAgfSBAZWxzZSBpZiAodmFsdWUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCIgQGljb25BbmltYXRpb24gW2lubmVySFRNTF09XCJpY29uQ2hlY2tcIj48L2Rpdj5cbiAgICB9XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC1sYWJlbFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuPC9sYWJlbD5cbkBpZiAoc2hvd0Zvb3Rlcikge1xuICBAc3dpdGNoIChnZXRGb290ZXJNZXNzYWdlcygpKSB7XG4gICAgQGNhc2UgKCdlcnJvcicpIHtcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vbmtleS1lcnJvclwiIC8+XG4gICAgfVxuICAgIEBjYXNlICgnaW5mbycpIHtcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vbmtleS1pbmZvXCIgLz5cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './monkey-divider.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL21vbmtleS1kaXZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vbmtleS1kaXZpZGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,44 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { booleanAttribute, Component, HostBinding, inject, Input, input, ViewEncapsulation } from '@angular/core';
7
+ import { IdGenerator } from '../../../utils';
8
+ import * as i0 from "@angular/core";
9
+ export class MonkeyDividerComponent {
10
+ get classes() {
11
+ return `${this.size()} ${this.vertical() ? 'vertical' : ''}`;
12
+ }
13
+ get id() {
14
+ return this._id;
15
+ }
16
+ set id(value) {
17
+ this._id = value || this._uid;
18
+ }
19
+ constructor() {
20
+ this.size = input('sm');
21
+ this.vertical = input(false, {
22
+ transform: booleanAttribute
23
+ });
24
+ this._uid = inject(IdGenerator).getId('monkey-divider-');
25
+ // eslint-disable-next-line no-self-assign
26
+ this.id = this.id;
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MonkeyDividerComponent, isStandalone: true, selector: "monkey-divider", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, host: { attributes: { "data-testid": "monkey-divider" }, properties: { "attr.id": "id", "id": "id", "class": "this.classes" } }, ngImport: i0, template: '', isInline: true, styles: ["monkey-divider{display:flex;box-sizing:border-box;width:100%;background-color:#e9eaec}monkey-divider.lg{height:4px}monkey-divider.lg.vertical{width:4px!important}monkey-divider.md{height:2px}monkey-divider.md.vertical{width:2px!important}monkey-divider.sm{height:1px}monkey-divider.sm.vertical{width:1px!important}monkey-divider.vertical{height:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDividerComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ encapsulation: ViewEncapsulation.None, selector: 'monkey-divider', standalone: true, template: '', host: {
34
+ 'data-testid': 'monkey-divider',
35
+ '[attr.id]': 'id',
36
+ '[id]': 'id'
37
+ }, styles: ["monkey-divider{display:flex;box-sizing:border-box;width:100%;background-color:#e9eaec}monkey-divider.lg{height:4px}monkey-divider.lg.vertical{width:4px!important}monkey-divider.md{height:2px}monkey-divider.md.vertical{width:2px!important}monkey-divider.sm{height:1px}monkey-divider.sm.vertical{width:1px!important}monkey-divider.vertical{height:100%}\n"] }]
38
+ }], ctorParameters: () => [], propDecorators: { classes: [{
39
+ type: HostBinding,
40
+ args: ['class']
41
+ }], id: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LWRpdmlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktZGl2aWRlci9tb25rZXktZGl2aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWU3QyxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLElBQ0ksT0FBTztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFNRCxJQUNJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQ7UUF4QkEsU0FBSSxHQUE0QixLQUFLLENBQWEsSUFBSSxDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUErQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2xFLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsQ0FBQyxDQUFDO1FBT08sU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQWM1RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBNUJVLHNCQUFzQjttR0FBdEIsc0JBQXNCLDZqQkFQdkIsRUFBRTs7NEZBT0Qsc0JBQXNCO2tCQVpsQyxTQUFTO29DQUNPLGlCQUFpQixDQUFDLElBQUksWUFDM0IsZ0JBQWdCLGNBQ2QsSUFBSSxZQUVOLEVBQUUsUUFDTjt3QkFDSixhQUFhLEVBQUUsZ0JBQWdCO3dCQUMvQixXQUFXLEVBQUUsSUFBSTt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7d0RBVUcsT0FBTztzQkFEVixXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLEVBQUU7c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5pbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBpbnB1dCxcbiAgSW5wdXRTaWduYWwsXG4gIElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybSxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleVNpemUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnbW9ua2V5LWRpdmlkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vbW9ua2V5LWRpdmlkZXIuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbW9ua2V5LWRpdmlkZXInLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICdbaWRdJzogJ2lkJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleURpdmlkZXJDb21wb25lbnQge1xuICBzaXplOiBJbnB1dFNpZ25hbDxNb25rZXlTaXplPiA9IGlucHV0PE1vbmtleVNpemU+KCdzbScpO1xuXG4gIHZlcnRpY2FsOiBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm08Ym9vbGVhbiwgdW5rbm93bj4gPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZVxuICB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zaXplKCl9ICR7dGhpcy52ZXJ0aWNhbCgpID8gJ3ZlcnRpY2FsJyA6ICcnfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VpZCA9IGluamVjdChJZEdlbmVyYXRvcikuZ2V0SWQoJ21vbmtleS1kaXZpZGVyLScpO1xuXG4gIHByb3RlY3RlZCBfaWQhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlIHx8IHRoaXMuX3VpZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ /** ************************
2
+ * Copyright Monkey Exchange. All Rights Reserved
3
+ * This style guide was developed by Monkey Exchange Team
4
+ * MIT Licence
5
+ ************************* */
6
+ import { Directive } from '@angular/core';
7
+ import * as i0 from "@angular/core";
8
+ export class MonkeyFormFieldControl {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyFormFieldControl, ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldControl, decorators: [{
13
+ type: Directive
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9tb25rZXktZm9ybS1maWVsZC9mb3JtLWZpZWxkLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzFDLE1BQU0sT0FBZ0Isc0JBQXNCOytHQUF0QixzQkFBc0I7bUdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEM0MsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vbmtleUZvcm1GaWVsZENvbnRyb2wge1xuICByZWFkb25seSBpZCE6IHN0cmluZztcblxuICByZWFkb25seSBuZ0NvbnRyb2whOiBOZ0NvbnRyb2wgfCBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUgfCBudWxsO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkITogYm9vbGVhbjtcblxuICByZWFkb25seSBmb2N1c2VkITogYm9vbGVhbjtcblxuICByZWFkb25seSBzdGF0ZUNoYW5nZXMhOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIHJlYWRvbmx5IHR5cGUhOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgY3VycmVuY3khOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IHBlcmNlbnQhOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuXG4gIGxvYWRpbmc/OiBib29sZWFuO1xuXG4gIGRpc2FibGVUb0JlRGlydHk/OiBib29sZWFuO1xufVxuIl19