monkey-style-guide 2.0.81 → 2.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/assets/scss/partials/_forms.scss +1 -1
- package/assets/scss/partials/components/_buttons.scss +5 -5
- package/assets/scss/partials/components/_date-range-picker.scss +205 -0
- package/assets/scss/partials/components/_index.scss +1 -0
- package/bundles/monkey-style-guide.umd.js +249 -7
- package/bundles/monkey-style-guide.umd.js.map +1 -1
- package/esm2015/lib/components/badge/badge.component.ngfactory.js +17 -0
- package/esm2015/lib/components/badge/badge.component.ngsummary.json +1 -0
- package/esm2015/lib/components/badge/badge.module.ngfactory.js +12 -0
- package/esm2015/lib/components/badge/badge.module.ngsummary.json +1 -0
- package/esm2015/lib/components/badge/index.ngsummary.json +1 -0
- package/esm2015/lib/components/button/button-avatar.component.ngfactory.js +19 -0
- package/esm2015/lib/components/button/button-avatar.component.ngsummary.json +1 -0
- package/esm2015/lib/components/button/button-dropdown.component.ngfactory.js +39 -0
- package/esm2015/lib/components/button/button-dropdown.component.ngsummary.json +1 -0
- package/esm2015/lib/components/button/button.component.ngfactory.js +31 -0
- package/esm2015/lib/components/button/button.component.ngsummary.json +1 -0
- package/esm2015/lib/components/button/button.module.ngfactory.js +14 -0
- package/esm2015/lib/components/button/button.module.ngsummary.json +1 -0
- package/esm2015/lib/components/button/index.ngsummary.json +1 -0
- package/esm2015/lib/components/checkbox/checkbox.component.ngfactory.js +38 -0
- package/esm2015/lib/components/checkbox/checkbox.component.ngsummary.json +1 -0
- package/esm2015/lib/components/checkbox/checkbox.module.ngfactory.js +13 -0
- package/esm2015/lib/components/checkbox/checkbox.module.ngsummary.json +1 -0
- package/esm2015/lib/components/checkbox/index.ngsummary.json +1 -0
- package/esm2015/lib/components/date-range-picker/date-range-picker.component.js +323 -0
- package/esm2015/lib/components/date-range-picker/date-range-picker.component.ngfactory.js +75 -0
- package/esm2015/lib/components/date-range-picker/date-range-picker.component.ngsummary.json +1 -0
- package/esm2015/lib/components/date-range-picker/date-range-picker.module.js +17 -0
- package/esm2015/lib/components/date-range-picker/date-range-picker.module.ngfactory.js +15 -0
- package/esm2015/lib/components/date-range-picker/date-range-picker.module.ngsummary.json +1 -0
- package/esm2015/lib/components/date-range-picker/index.js +3 -0
- package/esm2015/lib/components/date-range-picker/index.ngsummary.json +1 -0
- package/esm2015/lib/components/expansion/expansion.component.ngfactory.js +35 -0
- package/esm2015/lib/components/expansion/expansion.component.ngsummary.json +1 -0
- package/esm2015/lib/components/expansion/expansion.module.ngfactory.js +13 -0
- package/esm2015/lib/components/expansion/expansion.module.ngsummary.json +1 -0
- package/esm2015/lib/components/expansion/index.ngsummary.json +1 -0
- package/esm2015/lib/components/file-upload/file-upload.component.ngfactory.js +39 -0
- package/esm2015/lib/components/file-upload/file-upload.component.ngsummary.json +1 -0
- package/esm2015/lib/components/file-upload/file-upload.module.ngfactory.js +15 -0
- package/esm2015/lib/components/file-upload/file-upload.module.ngsummary.json +1 -0
- package/esm2015/lib/components/file-upload/index.ngsummary.json +1 -0
- package/esm2015/lib/components/icon/icon.component.ngfactory.js +88 -0
- package/esm2015/lib/components/icon/icon.component.ngsummary.json +1 -0
- package/esm2015/lib/components/icon/icon.module.ngfactory.js +12 -0
- package/esm2015/lib/components/icon/icon.module.ngsummary.json +1 -0
- package/esm2015/lib/components/icon/icons.component.ngfactory.js +465 -0
- package/esm2015/lib/components/icon/icons.component.ngsummary.json +1 -0
- package/esm2015/lib/components/icon/index.ngsummary.json +1 -0
- package/esm2015/lib/components/image-crop/image-crop.component.ngfactory.js +108 -0
- package/esm2015/lib/components/image-crop/image-crop.component.ngsummary.json +1 -0
- package/esm2015/lib/components/image-crop/image-crop.module.ngfactory.js +17 -0
- package/esm2015/lib/components/image-crop/image-crop.module.ngsummary.json +1 -0
- package/esm2015/lib/components/image-crop/index.ngsummary.json +1 -0
- package/esm2015/lib/components/index.js +2 -1
- package/esm2015/lib/components/index.ngsummary.json +1 -0
- package/esm2015/lib/components/input/index.ngsummary.json +1 -0
- package/esm2015/lib/components/input/input-filter.component.ngfactory.js +129 -0
- package/esm2015/lib/components/input/input-filter.component.ngsummary.json +1 -0
- package/esm2015/lib/components/input/input.component.js +12 -3
- package/esm2015/lib/components/input/input.component.ngfactory.js +139 -0
- package/esm2015/lib/components/input/input.component.ngsummary.json +1 -0
- package/esm2015/lib/components/input/input.module.ngfactory.js +15 -0
- package/esm2015/lib/components/input/input.module.ngsummary.json +1 -0
- package/esm2015/lib/components/modal/index.ngsummary.json +1 -0
- package/esm2015/lib/components/modal/modal.component.ngfactory.js +61 -0
- package/esm2015/lib/components/modal/modal.component.ngsummary.json +1 -0
- package/esm2015/lib/components/modal/modal.module.ngfactory.js +15 -0
- package/esm2015/lib/components/modal/modal.module.ngsummary.json +1 -0
- package/esm2015/lib/components/option/index.ngsummary.json +1 -0
- package/esm2015/lib/components/option/option.component.ngfactory.js +24 -0
- package/esm2015/lib/components/option/option.component.ngsummary.json +1 -0
- package/esm2015/lib/components/option/option.module.ngfactory.js +12 -0
- package/esm2015/lib/components/option/option.module.ngsummary.json +1 -0
- package/esm2015/lib/components/radiobutton/index.ngsummary.json +1 -0
- package/esm2015/lib/components/radiobutton/radiobutton.component.ngfactory.js +18 -0
- package/esm2015/lib/components/radiobutton/radiobutton.component.ngsummary.json +1 -0
- package/esm2015/lib/components/radiobutton/radiobutton.module.ngfactory.js +13 -0
- package/esm2015/lib/components/radiobutton/radiobutton.module.ngsummary.json +1 -0
- package/esm2015/lib/components/select/index.ngsummary.json +1 -0
- package/esm2015/lib/components/select/select-filter.component.ngfactory.js +30 -0
- package/esm2015/lib/components/select/select-filter.component.ngsummary.json +1 -0
- package/esm2015/lib/components/select/select-multiple.component.ngfactory.js +33 -0
- package/esm2015/lib/components/select/select-multiple.component.ngsummary.json +1 -0
- package/esm2015/lib/components/select/select-search.component.ngfactory.js +48 -0
- package/esm2015/lib/components/select/select-search.component.ngsummary.json +1 -0
- package/esm2015/lib/components/select/select.component.ngfactory.js +33 -0
- package/esm2015/lib/components/select/select.component.ngsummary.json +1 -0
- package/esm2015/lib/components/select/select.module.ngfactory.js +17 -0
- package/esm2015/lib/components/select/select.module.ngsummary.json +1 -0
- package/esm2015/lib/components/stepper/index.ngsummary.json +1 -0
- package/esm2015/lib/components/stepper/stepper.component.ngfactory.js +18 -0
- package/esm2015/lib/components/stepper/stepper.component.ngsummary.json +1 -0
- package/esm2015/lib/components/stepper/stepper.module.ngfactory.js +13 -0
- package/esm2015/lib/components/stepper/stepper.module.ngsummary.json +1 -0
- package/esm2015/lib/components/tab/index.ngsummary.json +1 -0
- package/esm2015/lib/components/tab/tab.component.ngfactory.js +18 -0
- package/esm2015/lib/components/tab/tab.component.ngsummary.json +1 -0
- package/esm2015/lib/components/tab/tab.module.ngfactory.js +14 -0
- package/esm2015/lib/components/tab/tab.module.ngsummary.json +1 -0
- package/esm2015/lib/components/table/index.ngsummary.json +1 -0
- package/esm2015/lib/components/table/table-column.component.ngfactory.js +17 -0
- package/esm2015/lib/components/table/table-column.component.ngsummary.json +1 -0
- package/esm2015/lib/components/table/table.component.ngfactory.js +33 -0
- package/esm2015/lib/components/table/table.component.ngsummary.json +1 -0
- package/esm2015/lib/components/table/table.module.ngfactory.js +15 -0
- package/esm2015/lib/components/table/table.module.ngsummary.json +1 -0
- package/esm2015/lib/components/toggle/index.ngsummary.json +1 -0
- package/esm2015/lib/components/toggle/toggle.component.ngfactory.js +20 -0
- package/esm2015/lib/components/toggle/toggle.component.ngsummary.json +1 -0
- package/esm2015/lib/components/toggle/toggle.module.ngfactory.js +12 -0
- package/esm2015/lib/components/toggle/toggle.module.ngsummary.json +1 -0
- package/esm2015/lib/components/wizard/index.ngsummary.json +1 -0
- package/esm2015/lib/components/wizard/wizard.component.ngfactory.js +18 -0
- package/esm2015/lib/components/wizard/wizard.component.ngsummary.json +1 -0
- package/esm2015/lib/components/wizard/wizard.module.ngfactory.js +13 -0
- package/esm2015/lib/components/wizard/wizard.module.ngsummary.json +1 -0
- package/esm2015/lib/core/index.ngsummary.json +1 -0
- package/esm2015/lib/core/interfaces/index.ngsummary.json +1 -0
- package/esm2015/lib/core/interfaces/monkey-modal-settings.ngsummary.json +1 -0
- package/esm2015/lib/core/interfaces/monkey-style-settings.ngsummary.json +1 -0
- package/esm2015/lib/core/services/index.ngsummary.json +1 -0
- package/esm2015/lib/core/services/modal/index.ngsummary.json +1 -0
- package/esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.ngsummary.json +1 -0
- package/esm2015/lib/core/services/modal/monkey-style-guide-modal.service.ngsummary.json +1 -0
- package/esm2015/lib/core/services/monkey-style-guide.service.js +3 -3
- package/esm2015/lib/core/services/monkey-style-guide.service.ngsummary.json +1 -0
- package/esm2015/lib/core/services/settings/index.ngsummary.json +1 -0
- package/esm2015/lib/core/services/settings/monkey-style-guide-settings.service.js +2 -2
- package/esm2015/lib/core/services/settings/monkey-style-guide-settings.service.ngsummary.json +1 -0
- package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.ngsummary.json +1 -0
- package/esm2015/lib/core/services/snackbar/index.ngsummary.json +1 -0
- package/esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.ngsummary.json +1 -0
- package/esm2015/lib/core/utils/index.ngsummary.json +1 -0
- package/esm2015/lib/core/utils/utils.ngsummary.json +1 -0
- package/esm2015/lib/monkey-style-guide.module.ngfactory.js +17 -0
- package/esm2015/lib/monkey-style-guide.module.ngsummary.json +1 -0
- package/esm2015/monkey-style-guide.ngsummary.json +1 -0
- package/esm2015/public-api.ngsummary.json +1 -0
- package/fesm2015/monkey-style-guide.js +343 -5
- package/fesm2015/monkey-style-guide.js.map +1 -1
- package/lib/components/badge/badge.component.ngfactory.d.ts +1 -0
- package/lib/components/badge/badge.module.ngfactory.d.ts +3 -0
- package/lib/components/button/button-avatar.component.ngfactory.d.ts +1 -0
- package/lib/components/button/button-dropdown.component.ngfactory.d.ts +1 -0
- package/lib/components/button/button.component.ngfactory.d.ts +1 -0
- package/lib/components/button/button.module.ngfactory.d.ts +3 -0
- package/lib/components/checkbox/checkbox.component.ngfactory.d.ts +1 -0
- package/lib/components/checkbox/checkbox.module.ngfactory.d.ts +3 -0
- package/lib/components/date-range-picker/date-range-picker.component.d.ts +50 -0
- package/lib/components/date-range-picker/date-range-picker.component.ngfactory.d.ts +1 -0
- package/lib/components/date-range-picker/date-range-picker.module.d.ts +2 -0
- package/lib/components/date-range-picker/date-range-picker.module.ngfactory.d.ts +3 -0
- package/lib/components/date-range-picker/index.d.ts +2 -0
- package/lib/components/expansion/expansion.component.ngfactory.d.ts +1 -0
- package/lib/components/expansion/expansion.module.ngfactory.d.ts +3 -0
- package/lib/components/file-upload/file-upload.component.ngfactory.d.ts +1 -0
- package/lib/components/file-upload/file-upload.module.ngfactory.d.ts +3 -0
- package/lib/components/icon/icon.component.ngfactory.d.ts +1 -0
- package/lib/components/icon/icon.module.ngfactory.d.ts +3 -0
- package/lib/components/icon/icons.component.ngfactory.d.ts +1 -0
- package/lib/components/image-crop/image-crop.component.ngfactory.d.ts +1 -0
- package/lib/components/image-crop/image-crop.module.ngfactory.d.ts +3 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/input/input-filter.component.ngfactory.d.ts +1 -0
- package/lib/components/input/input.component.d.ts +1 -0
- package/lib/components/input/input.component.ngfactory.d.ts +1 -0
- package/lib/components/input/input.module.ngfactory.d.ts +3 -0
- package/lib/components/modal/modal.component.ngfactory.d.ts +1 -0
- package/lib/components/modal/modal.module.ngfactory.d.ts +3 -0
- package/lib/components/option/option.component.ngfactory.d.ts +1 -0
- package/lib/components/option/option.module.ngfactory.d.ts +3 -0
- package/lib/components/radiobutton/radiobutton.component.ngfactory.d.ts +1 -0
- package/lib/components/radiobutton/radiobutton.module.ngfactory.d.ts +3 -0
- package/lib/components/select/select-filter.component.ngfactory.d.ts +1 -0
- package/lib/components/select/select-multiple.component.ngfactory.d.ts +1 -0
- package/lib/components/select/select-search.component.ngfactory.d.ts +1 -0
- package/lib/components/select/select.component.ngfactory.d.ts +1 -0
- package/lib/components/select/select.module.ngfactory.d.ts +3 -0
- package/lib/components/stepper/stepper.component.ngfactory.d.ts +1 -0
- package/lib/components/stepper/stepper.module.ngfactory.d.ts +3 -0
- package/lib/components/tab/tab.component.ngfactory.d.ts +1 -0
- package/lib/components/tab/tab.module.ngfactory.d.ts +3 -0
- package/lib/components/table/table-column.component.ngfactory.d.ts +1 -0
- package/lib/components/table/table.component.ngfactory.d.ts +1 -0
- package/lib/components/table/table.module.ngfactory.d.ts +3 -0
- package/lib/components/toggle/toggle.component.ngfactory.d.ts +1 -0
- package/lib/components/toggle/toggle.module.ngfactory.d.ts +3 -0
- package/lib/components/wizard/wizard.component.ngfactory.d.ts +1 -0
- package/lib/components/wizard/wizard.module.ngfactory.d.ts +3 -0
- package/lib/core/services/monkey-style-guide.service.d.ts +2 -2
- package/lib/monkey-style-guide.module.ngfactory.d.ts +3 -0
- package/monkey-style-guide-2.0.85.tgz +0 -0
- package/monkey-style-guide.metadata.json +1 -1
- package/package.json +2 -1
- package/monkey-style-guide-2.0.81.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monkey-style-guide.umd.js","sources":["../../../projects/monkey-style-guide/src/lib/core/services/monkey-style-guide.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/monkey-style-guide/src/lib/core/services/settings/monkey-style-guide-theme-settings.service.ts","../../../projects/monkey-style-guide/src/lib/core/services/settings/monkey-style-guide-settings.service.ts","../../../projects/monkey-style-guide/src/lib/core/utils/utils.ts","../../../projects/monkey-style-guide/src/lib/core/services/snackbar/mokey-style-guide-snackbar.service.ts","../../../projects/monkey-style-guide/src/lib/core/services/modal/monkey-style-guide-modal.service.ts","../../../projects/monkey-style-guide/src/lib/core/services/modal/monkey-style-guide-modal-fixed.service.ts","../../../projects/monkey-style-guide/src/lib/components/badge/badge.component.ts","../../../projects/monkey-style-guide/src/lib/components/badge/badge.module.ts","../../../projects/monkey-style-guide/src/lib/components/button/button.component.ts","../../../projects/monkey-style-guide/src/lib/components/button/button-dropdown.component.ts","../../../projects/monkey-style-guide/src/lib/components/button/button-avatar.component.ts","../../../projects/monkey-style-guide/src/lib/components/icon/icon.component.ts","../../../projects/monkey-style-guide/src/lib/components/icon/icons.component.ts","../../../projects/monkey-style-guide/src/lib/components/icon/icon.module.ts","../../../projects/monkey-style-guide/src/lib/components/button/button.module.ts","../../../projects/monkey-style-guide/src/lib/components/input/input.component.ts","../../../projects/monkey-style-guide/src/lib/components/input/input-filter.component.ts","../../../projects/monkey-style-guide/src/lib/components/input/input.module.ts","../../../projects/monkey-style-guide/src/lib/components/option/option.component.ts","../../../projects/monkey-style-guide/src/lib/components/option/option.module.ts","../../../projects/monkey-style-guide/src/lib/components/select/select.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select-multiple.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select-search.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select-filter.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select.module.ts","../../../projects/monkey-style-guide/src/lib/components/checkbox/checkbox.component.ts","../../../projects/monkey-style-guide/src/lib/components/checkbox/checkbox.module.ts","../../../projects/monkey-style-guide/src/lib/components/radiobutton/radiobutton.component.ts","../../../projects/monkey-style-guide/src/lib/components/radiobutton/radiobutton.module.ts","../../../projects/monkey-style-guide/src/lib/components/wizard/wizard.component.ts","../../../projects/monkey-style-guide/src/lib/components/wizard/wizard.module.ts","../../../projects/monkey-style-guide/src/lib/components/file-upload/file-upload.component.ts","../../../projects/monkey-style-guide/src/lib/components/file-upload/file-upload.module.ts","../../../projects/monkey-style-guide/src/lib/components/image-crop/image-crop.component.ts","../../../projects/monkey-style-guide/src/lib/components/image-crop/image-crop.module.ts","../../../projects/monkey-style-guide/src/lib/components/modal/modal.component.ts","../../../projects/monkey-style-guide/src/lib/components/modal/modal.module.ts","../../../projects/monkey-style-guide/src/lib/components/expansion/expansion.component.ts","../../../projects/monkey-style-guide/src/lib/components/expansion/expansion.module.ts","../../../projects/monkey-style-guide/src/lib/components/table/table.component.ts","../../../projects/monkey-style-guide/src/lib/components/table/table-column.component.ts","../../../projects/monkey-style-guide/src/lib/components/table/table.module.ts","../../../projects/monkey-style-guide/src/lib/components/toggle/toggle.component.ts","../../../projects/monkey-style-guide/src/lib/components/toggle/toggle.module.ts","../../../projects/monkey-style-guide/src/lib/components/tab/tab.component.ts","../../../projects/monkey-style-guide/src/lib/components/tab/tab.module.ts","../../../projects/monkey-style-guide/src/lib/components/stepper/stepper.component.ts","../../../projects/monkey-style-guide/src/lib/components/stepper/stepper.module.ts","../../../projects/monkey-style-guide/src/lib/monkey-style-guide.module.ts","../../../projects/monkey-style-guide/src/public-api.ts","../../../projects/monkey-style-guide/src/monkey-style-guide.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideService {\r\n constructor(private http: HttpClient) { }\r\n\r\n public get<T>(url: string, options?: T): Observable<T> {\r\n return this.http.get<T>(url, options);\r\n }\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { MonkeyStyleSettings, MonkeyStyleFontSettings } from '../../interfaces';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideThemeSettingsService {\r\n constructor(@Inject(DOCUMENT) private doc: any) {}\r\n\r\n private applyColors(settings: MonkeyStyleSettings): any {\r\n const colors: any = settings.colors;\r\n\r\n let bucketColors = null;\r\n\r\n ['theme', 'error', 'warning', 'success', 'question'].forEach((color) => {\r\n Object.entries(colors[color] as any).forEach(\r\n ([paletteKey, paletteValue]) => {\r\n if (paletteKey === 'contrast') {\r\n Object.entries(paletteValue).forEach(\r\n ([paletteContrastKey, paletteContrastValue]) => {\r\n document.documentElement.style.setProperty(\r\n `--mecx-color-${color}-contrast-${paletteContrastKey}`,\r\n `${paletteContrastValue}`\r\n );\r\n bucketColors = {\r\n ...bucketColors,\r\n [`--mecx-color-${color}-contrast-${paletteContrastKey}`]: `${paletteContrastValue}`,\r\n };\r\n }\r\n );\r\n } else {\r\n document.documentElement.style.setProperty(\r\n `--mecx-color-${color}-${paletteKey}`,\r\n `${paletteValue}`\r\n );\r\n bucketColors = {\r\n ...bucketColors,\r\n [`--mecx-color-${color}-${paletteKey}`]: `${paletteValue}`,\r\n };\r\n }\r\n }\r\n );\r\n });\r\n\r\n return bucketColors;\r\n }\r\n\r\n private applyFonts(settings: MonkeyStyleSettings) {\r\n const font: MonkeyStyleFontSettings = {\r\n url:\r\n 'https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap',\r\n name: 'Work Sans',\r\n ...settings.font,\r\n };\r\n\r\n document.documentElement.style.setProperty(\r\n `--mecx-font-name`,\r\n `${font.name}`\r\n );\r\n\r\n let link: HTMLLinkElement = this.doc.createElement('link');\r\n link.setAttribute('rel', 'stylesheet');\r\n link.setAttribute('type', 'text/css');\r\n link.setAttribute('href', `${font.url}`);\r\n this.doc.head.appendChild(link);\r\n }\r\n\r\n private applyTheme(settings: MonkeyStyleSettings) {\r\n const { theme } = settings;\r\n document.title = `${theme.title}`;\r\n\r\n let link: HTMLLinkElement = this.doc.createElement('link');\r\n link.setAttribute('rel', 'icon');\r\n link.setAttribute('type', 'image/x-icon');\r\n link.setAttribute('href', `${theme.favicon}`);\r\n this.doc.head.appendChild(link);\r\n }\r\n\r\n public apply(config: MonkeyStyleSettings, callback?: Function) {\r\n const bucketColors = this.applyColors(config);\r\n this.applyFonts(config);\r\n this.applyTheme(config);\r\n setTimeout(() => {\r\n if (callback)\r\n callback({\r\n bucketColors,\r\n });\r\n }, 500);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence \r\n**************************/\r\nimport { Injectable } from '@angular/core';\r\nimport { MonkeyStyleGuideService } from '../monkey-style-guide.service';\r\nimport { MonkeyStyleSettings } from '../../interfaces';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError, BehaviorSubject, Observable } from 'rxjs';\r\nimport { MonkeyStyleGuideThemeSettingsService } from './monkey-style-guide-theme-settings.service';\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideSettingsService {\r\n\r\n private readonly settingsSubject$: BehaviorSubject<MonkeyStyleSettings> = new BehaviorSubject({});\r\n\r\n constructor(\r\n private monkeySGService: MonkeyStyleGuideService,\r\n private monkeySGThemeConfigService: MonkeyStyleGuideThemeSettingsService\r\n ) { }\r\n\r\n public boostrap(settingsUrl: string, callback?: Function) {\r\n const { monkeySGService, settingsSubject$, monkeySGThemeConfigService } = this;\r\n\r\n monkeySGService.get<any>(settingsUrl || `assets/monkey-style-guide-settings.json`).subscribe((_: MonkeyStyleSettings) => {\r\n monkeySGThemeConfigService.apply(_, callback);\r\n settingsSubject$.next(_);\r\n }, (err: HttpErrorResponse) => {\r\n console.error('Monkey-style-guide-settings not found!');\r\n throwError(err)\r\n });\r\n }\r\n\r\n public boostrapWithData(data: any, callback?: Function) {\r\n const { settingsSubject$, monkeySGThemeConfigService } = this;\r\n monkeySGThemeConfigService.apply(data, callback);\r\n settingsSubject$.next(data);\r\n }\r\n\r\n public settings(): Observable<any> {\r\n return this.settingsSubject$.asObservable();\r\n }\r\n}","export class MonkeyUtils {\r\n public static persistNullEmptyUndefined(tp: any): boolean {\r\n return tp !== null && tp !== undefined && tp !== '';\r\n }\r\n\r\n public static getDocumentType(doc: string) {\r\n if (!doc) return '';\r\n return doc.length <= 11 ? 'CPF' : 'CNPJ';\r\n }\r\n\r\n public static getDocumentMask(type: string) {\r\n if (type === 'CPF') return '000.000.000-00';\r\n return '00.000.000/0000-00';\r\n }\r\n\r\n public static formatDocumentWithMask(doc: string, withType?: boolean): string {\r\n if (!doc) return doc;\r\n let formated: string = '';\r\n if (doc.length === 14)\r\n formated = doc\r\n .replace(/^(\\d{2})(\\d)/, '$1.$2')\r\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1/$2')\r\n .replace(/(\\d{4})(\\d)/, '$1-$2');\r\n else\r\n formated = doc\r\n .replace(/^(\\d{3})(\\d)/, '$1.$2')\r\n .replace(/^(\\d{3})\\.(\\d{3})(\\d)/, '$1.$2.$3')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\r\n\r\n return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;\r\n }\r\n\r\n public static cutFirstLastName(value: string, tp: string = 'first') {\r\n const split = value?.trim()?.split(' ');\r\n\r\n if (tp === 'first') return split[0];\r\n return split?.splice(1, split.length)?.join(' ');\r\n }\r\n\r\n public static isCPFCNPJValid(document: any): boolean {\r\n document = document.replace(/[^\\d]/g, '');\r\n if (document.length === 11) {\r\n let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\r\n for (var i = 0, n = 0; i < 9; n += document[i] * base[i++]);\r\n if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\r\n for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++]);\r\n if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n return true;\r\n } else if (document.length === 14 || /0{14}/.test(document)) {\r\n let base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n for (var i = 0, n = 0; i < 12; n += document[i] * base[++i]);\r\n if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++]);\r\n if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n } else return false;\r\n }\r\n\r\n public static isValidUrl(txt: string): boolean {\r\n const regex = new RegExp(\r\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)+[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,5})?(\\/.*)?$/gm\r\n );\r\n return regex.test(txt);\r\n }\r\n\r\n public static isValidZipCode(zipCode: string): boolean {\r\n return `${this.handleOnlyNumbers(zipCode)}`.length === 8;\r\n }\r\n\r\n public static getRandomString(len: number, charSet?: string): string {\r\n charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let randomString: string = Array.apply(null, Array(len))\r\n .map(function () {\r\n return charSet.charAt(Math.floor(Math.random() * charSet.length));\r\n })\r\n .join('');\r\n return randomString;\r\n }\r\n\r\n public static handleOnlyNumbers(value: any) {\r\n if (!value) return null;\r\n return value.replace(new RegExp(/[^0-9]/g), '');\r\n }\r\n\r\n public static handleOnlyAlphaNumeric(value: any) {\r\n if (!value) return '';\r\n return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');\r\n }\r\n\r\n public static capitalize(value: string) {\r\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\r\n }\r\n\r\n public static formatZipCode(zipCode: string): string {\r\n if (!zipCode) return zipCode;\r\n const formated: string = zipCode\r\n .replace(/^(\\d{5})(\\d)/, '$1-$2')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\r\n\r\n return `${formated}`;\r\n }\r\n\r\n public static formatFileSize(size: number): string {\r\n let units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n let l = 0;\r\n while (size >= 1024 && ++l) {\r\n size = size / 1024;\r\n }\r\n return size.toFixed(size < 10 && l > 0 ? 1 : 0) + ' ' + units[l];\r\n }\r\n\r\n public static sufflue(data: any[]): any[] {\r\n for (let i = data.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * i);\r\n const temp = data[i];\r\n data[i] = data[j];\r\n data[j] = temp;\r\n }\r\n return data;\r\n }\r\n\r\n public static handleBlobFile(theBlob: any, fileName: string, fileType: string) {\r\n function blobToFile(theBlob, fileName) {\r\n const b = theBlob;\r\n b.lastModifiedDate = new Date();\r\n b.name = fileName;\r\n return b;\r\n }\r\n\r\n let file: any;\r\n if (!(navigator as any).msSaveBlob) {\r\n file = new File([theBlob], fileName, { type: fileType });\r\n } else {\r\n file = new Blob([theBlob], { type: fileType });\r\n file = blobToFile(file, fileName);\r\n }\r\n return file;\r\n }\r\n\r\n public static truncate(text: string, maxLength: number = 25): string {\r\n const midChar = '...';\r\n if (!text) return midChar;\r\n if (text && text.length <= maxLength) return text;\r\n\r\n const left = Math.ceil(maxLength / 2);\r\n const right = text.length - left + 1;\r\n\r\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\r\n }\r\n\r\n public static isLocalhost() {\r\n const { href } = window?.location;\r\n if (!href) return false;\r\n return href?.search('localhost') >= 0;\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Location } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { MonkeyUtils } from '../../utils';\r\n\r\nconst icons = {\r\n success: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"8\" cy=\"8\" r=\"7\" fill=\"#00875A\"/>\r\n <path d=\"M11 5L7 11L4 8.27273\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n warning: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.85433 2.63819L1.17957 12.0114C1.06257 12.2118 1.00066 12.4391 1.00001 12.6706C0.99935 12.9021 1.05997 13.1297 1.17583 13.3308C1.2917 13.532 1.45877 13.6995 1.66042 13.8169C1.86207 13.9343 2.09128 13.9975 2.32524 14H13.6748C13.9087 13.9975 14.1379 13.9343 14.3396 13.8169C14.5412 13.6995 14.7083 13.532 14.8242 13.3308C14.94 13.1297 15.0006 12.9021 15 12.6706C14.9993 12.4391 14.9374 12.2118 14.8204 12.0114L9.14567 2.63819C9.02623 2.44337 8.85806 2.2823 8.65738 2.17051C8.45671 2.05873 8.2303 2 8 2C7.7697 2 7.54329 2.05873 7.34262 2.17051C7.14194 2.2823 6.97377 2.44337 6.85433 2.63819Z\" fill=\"#EFA30E\"/>\r\n <path d=\"M8 6V10\" stroke=\"#000F1E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 12H8.00667\" stroke=\"#000F1E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n error: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5.102 1H10.898L15 5.102V10.898L10.898 15H5.102L1 10.898V5.102L5.102 1Z\" fill=\"#FA3838\"/>\r\n <path d=\"M8 5.33333V7.99999\" stroke=\"#F5FAFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 10.6667H8.00667\" stroke=\"#F5FAFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n question: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M8.00004 14.6668C11.6819 14.6668 14.6667 11.6821 14.6667 8.00016C14.6667 4.31826 11.6819 1.3335 8.00004 1.3335C4.31814 1.3335 1.33337 4.31826 1.33337 8.00016C1.33337 11.6821 4.31814 14.6668 8.00004 14.6668Z\" stroke=\"#8D38FA\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M6.05994 5.99989C6.21667 5.55434 6.52604 5.17863 6.93324 4.93931C7.34044 4.7 7.8192 4.61252 8.28472 4.69237C8.75024 4.77222 9.17248 5.01424 9.47665 5.37558C9.78083 5.73691 9.94731 6.19424 9.9466 6.66656C9.9466 7.99989 7.9466 8.66656 7.9466 8.66656V9.49989\" stroke=\"#8D38FA\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 11.3335H8.00667\" stroke=\"#8D38FA\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n loading: `<svg class=\"circular-loader\" viewBox=\"25 25 50 50\" >\r\n <circle class=\"loader-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke=\"#575757\" stroke-width=\"5\" />\r\n </svg>`,\r\n};\r\n\r\ninterface SnackbarActionConfig {\r\n style: 'link' | 'button';\r\n confirm?: {\r\n label: string;\r\n action: Function;\r\n };\r\n cancel?: {\r\n label: string;\r\n action: Function;\r\n };\r\n}\r\n\r\ninterface SnackbarConfig {\r\n title?: string;\r\n message?: string;\r\n type?: 'theme' | 'warning' | 'success' | 'error' | 'question' | 'loading';\r\n duration?: number;\r\n horizontalPosition?: 'center' | 'left' | 'right';\r\n verticalPosition?: 'top' | 'bottom';\r\n action?: SnackbarActionConfig;\r\n keepOpen?: boolean;\r\n blinkTab?: boolean;\r\n}\r\n\r\nclass SnackbarElements {\r\n elements: {\r\n element?: HTMLDivElement;\r\n interval?: any;\r\n }[] = [];\r\n lastScrollTop: number = 15;\r\n\r\n constructor() {}\r\n\r\n add(element: HTMLDivElement, duration: number, callback: Function, verticalPosition: string) {\r\n if (this.elements && this.elements.length === 0) {\r\n this.lastScrollTop = 15;\r\n }\r\n element.style[verticalPosition] = `${this.lastScrollTop}px`;\r\n\r\n const interval = setInterval(() => {\r\n callback();\r\n }, duration);\r\n\r\n this.elements.push({\r\n element: element,\r\n interval: interval,\r\n });\r\n document.body.appendChild(element);\r\n this.lastScrollTop = this.lastScrollTop + document.getElementById(element.id).offsetHeight + 15;\r\n }\r\n\r\n remove(removeId: string) {\r\n const element = this.elements.find(({ element: { id } }) => id === removeId);\r\n if (element) {\r\n this.elements =\r\n this.elements.filter(({ element: { id } }) => id !== element.element.id) || [];\r\n element.element.className = `${element.element.className} fade-out hide`;\r\n setTimeout(() => {\r\n this.lastScrollTop =\r\n this.lastScrollTop - (document.getElementById(removeId).offsetHeight + 15);\r\n document.body.removeChild(element.element);\r\n clearInterval(element.interval);\r\n }, 1000);\r\n }\r\n }\r\n\r\n removeAll() {\r\n this.elements.forEach((element) => {\r\n document.body.removeChild(element.element);\r\n clearInterval(element.interval);\r\n });\r\n this.lastScrollTop = 15;\r\n this.elements = [];\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideSnackbarService {\r\n private config: SnackbarConfig;\r\n private snackbarElement: HTMLDivElement;\r\n private snackbarElements: SnackbarElements;\r\n private snackbarBodyElement: HTMLDivElement;\r\n private snackbarBodyMessageElement: HTMLDivElement;\r\n private oldTitle: string;\r\n private timeoutBlinkTab = null;\r\n\r\n constructor(private locationRouter: Location) {\r\n this.snackbarElements = new SnackbarElements();\r\n this.locationRouter.onUrlChange(() => {\r\n this.closeAll();\r\n });\r\n }\r\n\r\n private stopBlinking() {\r\n if (this.oldTitle) {\r\n document.title = this.oldTitle;\r\n if (this.snackbarElements.elements.length <= 0) {\r\n clearInterval(this.timeoutBlinkTab);\r\n }\r\n }\r\n }\r\n\r\n private blinkTab() {\r\n this.oldTitle = this.oldTitle || document.title;\r\n\r\n const startBlinking = () => {\r\n let message = `(${this.snackbarElements.elements.length}) ${this.oldTitle}`;\r\n document.title = document.title === message ? this.oldTitle : message;\r\n };\r\n\r\n if (this.timeoutBlinkTab) clearInterval(this.timeoutBlinkTab);\r\n this.timeoutBlinkTab = setInterval(startBlinking, 1000);\r\n }\r\n\r\n private init(id: string) {\r\n const { config } = this;\r\n let { horizontalPosition, verticalPosition, type } = config;\r\n horizontalPosition = horizontalPosition || 'center';\r\n verticalPosition = verticalPosition || 'top';\r\n\r\n this.snackbarElement = document.createElement('div');\r\n this.snackbarElement.id = `${id}`;\r\n this.snackbarElement.className = `mecx-snackbar-container ${horizontalPosition}-${verticalPosition} ${type}`;\r\n }\r\n\r\n private buildBody() {\r\n this.snackbarBodyElement = document.createElement('div');\r\n this.snackbarBodyElement.className = 'mecx-snackbar-container-body';\r\n\r\n this.snackbarBodyMessageElement = document.createElement('div');\r\n this.snackbarBodyMessageElement.className = 'mecx-snackbar-container-body-content';\r\n }\r\n\r\n private buildTitleAndMessage() {\r\n let {\r\n config: { title, message, action },\r\n } = this;\r\n const titleElement = document.createElement('div');\r\n titleElement.innerText = `${title}`;\r\n titleElement.className = 'mecx-snackbar-container-body-content-title';\r\n\r\n const messageElement = document.createElement('div');\r\n messageElement.innerText = `${message}`;\r\n messageElement.className = `mecx-snackbar-container-body-content-message ${\r\n action ? 'with-action' : ''\r\n }`;\r\n\r\n this.snackbarBodyMessageElement.appendChild(titleElement);\r\n this.snackbarBodyMessageElement.appendChild(messageElement);\r\n }\r\n\r\n private buildAction(id: string) {\r\n const {\r\n config: { type, action },\r\n } = this;\r\n if (action) {\r\n const { style, confirm, cancel } = action;\r\n const actionElement = document.createElement('div');\r\n\r\n let actionCancelElement = null,\r\n actionConfirmElement = null;\r\n if (style === 'link') {\r\n if (cancel) {\r\n actionCancelElement = document.createElement('a');\r\n actionCancelElement.href = 'javascript:void(0)';\r\n actionCancelElement.innerText = cancel.label;\r\n }\r\n\r\n if (confirm) {\r\n actionConfirmElement = document.createElement('a');\r\n actionConfirmElement.href = 'javascript:void(0)';\r\n actionConfirmElement.innerText = confirm.label;\r\n }\r\n } else {\r\n if (cancel) {\r\n actionCancelElement = document.createElement('button');\r\n actionCancelElement.className = `mecx-button-tertiary mecx-button-tertiary__${type}`;\r\n actionCancelElement.innerText = cancel.label;\r\n }\r\n\r\n if (confirm) {\r\n actionConfirmElement = document.createElement('button');\r\n actionConfirmElement.className = `mecx-button-primary mecx-button-primary__${type}`;\r\n actionConfirmElement.innerText = confirm.label;\r\n }\r\n }\r\n\r\n if (actionCancelElement) {\r\n actionCancelElement.addEventListener('click', () => {\r\n this.close(id);\r\n cancel.action();\r\n });\r\n\r\n actionElement.appendChild(actionCancelElement);\r\n }\r\n\r\n if (actionConfirmElement) {\r\n actionConfirmElement.addEventListener('click', () => {\r\n this.close(id);\r\n confirm.action();\r\n });\r\n actionElement.appendChild(actionConfirmElement);\r\n }\r\n\r\n actionElement.className = 'mecx-snackbar-container-body-content-action';\r\n this.snackbarBodyMessageElement.appendChild(actionElement);\r\n }\r\n }\r\n\r\n private buildIcon() {\r\n let {\r\n config: { type },\r\n } = this;\r\n\r\n const snackbarBodyIconElement = document.createElement('div');\r\n snackbarBodyIconElement.className = 'mecx-snackbar-container-body-icon';\r\n snackbarBodyIconElement.innerHTML = `${icons[type]}`;\r\n this.snackbarBodyElement.appendChild(snackbarBodyIconElement);\r\n }\r\n\r\n private finish(id: string) {\r\n let {\r\n config: { duration, keepOpen, verticalPosition },\r\n } = this;\r\n duration = duration || 4000;\r\n const { snackbarBodyElement, snackbarBodyMessageElement, snackbarElement } = this;\r\n snackbarBodyElement.appendChild(snackbarBodyMessageElement);\r\n snackbarElement.appendChild(snackbarBodyElement);\r\n\r\n this.snackbarElements.add(\r\n snackbarElement,\r\n duration,\r\n () => (!keepOpen ? this.close(id) : null),\r\n verticalPosition\r\n );\r\n }\r\n\r\n private close(id: string) {\r\n const { snackbarElements } = this;\r\n snackbarElements.remove(id);\r\n this.stopBlinking();\r\n }\r\n\r\n public show(config: SnackbarConfig) {\r\n this.config = config;\r\n const id = `monkey-snackbar-${MonkeyUtils.getRandomString(30)}`;\r\n this.closeAll();\r\n this.init(id);\r\n this.buildBody();\r\n this.buildTitleAndMessage();\r\n this.buildAction(id);\r\n this.buildIcon();\r\n this.finish(id);\r\n if (config?.blinkTab) {\r\n this.blinkTab();\r\n }\r\n }\r\n\r\n public closeAll() {\r\n const { snackbarElements } = this;\r\n snackbarElements.removeAll();\r\n }\r\n}\r\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n EmbeddedViewRef,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MonkeyUtils } from '../../utils';\nimport { MonkeyModalComponent } from '../../../components/modal';\nimport { MonkeyModalConfig, MonkeyModalRefs } from '../../interfaces';\n\n@Injectable()\nexport class MonkeyStyleGuideModalService {\n private dialogComponentRef: MonkeyModalRefs<MonkeyModalComponent>[] = [];\n\n constructor(\n private resolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private locationRouter: Location\n ) {\n this.locationRouter.onUrlChange(() => {\n this.closeAll();\n });\n }\n\n open(\n component: any,\n config: MonkeyModalConfig\n ): MonkeyModalRefs<MonkeyModalComponent> {\n const componentFactory = this.resolver.resolveComponentFactory(component);\n const componentRef: any = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n\n const refRet = {\n id: `mecx-modal-${MonkeyUtils.getRandomString(30)}`,\n component: componentRef,\n };\n\n componentRef.instance.config = config;\n componentRef.instance.modalRef = refRet;\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n document.body.classList.add('mecx-monkey-open');\n\n this.dialogComponentRef.push(refRet);\n return refRet;\n }\n\n close(ref: MonkeyModalRefs<MonkeyModalComponent>) {\n this.appRef.detachView(ref.component.hostView);\n ref.component.destroy();\n this.dialogComponentRef = this.dialogComponentRef.filter(\n ({ id }) => id !== ref.id\n );\n if (this.dialogComponentRef.length === 0) {\n document.body.classList.remove('mecx-monkey-open');\n }\n }\n\n closeAll() {\n this.dialogComponentRef.forEach(\n (val: MonkeyModalRefs<MonkeyModalComponent>) => {\n this.appRef.detachView(val.component.hostView);\n val.component.destroy();\n }\n );\n this.dialogComponentRef = [];\n document.body.classList.remove('mecx-monkey-open');\n }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n EmbeddedViewRef,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MonkeyUtils } from '../../utils';\nimport { MonkeyModalComponent } from '../../../components/modal';\nimport { MonkeyModalConfig, MonkeyModalRefs } from '../../interfaces';\n\n@Injectable()\nexport class MonkeyStyleGuideModalFixedService {\n private dialogComponentRef: MonkeyModalRefs<MonkeyModalComponent>[] = [];\n\n constructor(\n private resolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector\n ) {\n //not to do\n }\n\n open(\n component: any,\n config: MonkeyModalConfig\n ): MonkeyModalRefs<MonkeyModalComponent> {\n this.closeAll();\n const componentFactory = this.resolver.resolveComponentFactory(component);\n const componentRef: any = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n\n const refRet = {\n id: `mecx-modal-${MonkeyUtils.getRandomString(30)}`,\n component: componentRef,\n };\n\n componentRef.instance.config = config;\n componentRef.instance.modalRef = refRet;\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n document.body.classList.add('mecx-monkey-open');\n\n this.dialogComponentRef.push(refRet);\n return refRet;\n }\n\n close(ref: MonkeyModalRefs<MonkeyModalComponent>) {\n this.appRef.detachView(ref.component.hostView);\n ref.component.destroy();\n this.dialogComponentRef = this.dialogComponentRef.filter(\n ({ id }) => id !== ref.id\n );\n if (this.dialogComponentRef.length === 0) {\n document.body.classList.remove('mecx-monkey-open');\n }\n }\n\n closeAll() {\n this.dialogComponentRef.forEach(\n (val: MonkeyModalRefs<MonkeyModalComponent>) => {\n this.appRef.detachView(val.component.hostView);\n val.component.destroy();\n }\n );\n this.dialogComponentRef = [];\n document.body.classList.remove('mecx-monkey-open');\n }\n}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, Input } from '@angular/core';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-badge',\r\n template: `\r\n <mecx-monkey-badge [id]=\"_id\" [ngClass]=\"{ pulse: pulseOn }\">\r\n <div class=\"badge-count\">\r\n {{ count }}\r\n </div>\r\n </mecx-monkey-badge>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyBadgeComponent {\r\n @Input() count = 0;\r\n @Input() pulseOn = false;\r\n\r\n public _id: string = `mecx-badge-${MonkeyUtils.getRandomString(10)}`;\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyBadgeComponent } from './badge.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [MonkeyBadgeComponent],\n imports: [CommonModule],\n exports: [MonkeyBadgeComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyBadgeModule {}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'monkey-button',\r\n template: `\r\n <button\r\n [ngClass]=\"\r\n 'mecx-button-' +\r\n type +\r\n ' mecx-button-' +\r\n type +\r\n '__' +\r\n color +\r\n (icon ? ' with-icon' : ' no-icon') +\r\n ' ' +\r\n size\r\n \"\r\n type=\"button\"\r\n [disabled]=\"disabled\"\r\n >\r\n <monkey-icon\r\n [icon]=\"icon\"\r\n [color]=\"\r\n disabled\r\n ? '#999999'\r\n : type === 'filter'\r\n ? '#4b4a53'\r\n : type === 'nav-active'\r\n ? 'theme'\r\n : 'theme-800'\r\n \"\r\n [contrast]=\"_useContrast\"\r\n [disabled]=\"disabled\"\r\n *ngIf=\"iconPosition === 'left' && icon\"\r\n ></monkey-icon>\r\n {{ label }}\r\n <ng-content></ng-content>\r\n <monkey-icon\r\n [icon]=\"icon\"\r\n [color]=\"\r\n disabled\r\n ? '#999999'\r\n : type === 'filter'\r\n ? '#4b4a53'\r\n : type === 'nav-active'\r\n ? 'theme'\r\n : 'theme-800'\r\n \"\r\n [disabled]=\"disabled\"\r\n *ngIf=\"iconPosition === 'right' && icon\"\r\n ></monkey-icon>\r\n </button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyButtonComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() icon: string;\r\n @Input() iconPosition: string = 'left';\r\n @Input() type: string;\r\n @Input() color: string;\r\n @Input() disabled: boolean = false;\r\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\r\n\r\n _useContrast = false;\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n const { type } = this;\r\n if (type === 'primary') {\r\n this._useContrast = true;\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n if (this.disabled) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n HostListener,\r\n OnInit,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-button-dropdown',\r\n template: `\r\n <mecx-button-dropdown\r\n [ngClass]=\"{\r\n trigger: type === 'filled',\r\n open: _opened\r\n }\"\r\n >\r\n <mecx-button-dropdown__trigger>\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n <monkey-icon\r\n icon=\"arrow-down-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"!_opened && type === 'filled'\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"arrow-up-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"_opened && type === 'filled'\"\r\n ></monkey-icon>\r\n </mecx-button-dropdown__trigger>\r\n </mecx-button-dropdown>\r\n <mecx-button-dropdown-backdrop *ngIf=\"_opened\" (click)=\"close()\">\r\n </mecx-button-dropdown-backdrop>\r\n <mecx-button-dropdown [ngClass]=\"{ open: _opened }\">\r\n <mecx-button-dropdown-options>\r\n <ng-content></ng-content>\r\n </mecx-button-dropdown-options>\r\n </mecx-button-dropdown>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyButtonDropdownComponent {\r\n @Input() label: any;\r\n @Input() type: 'unfilled' | 'filled' = 'filled';\r\n @Input() listenClicks = true;\r\n\r\n public _customClass = 'trigger';\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-button-dropdown-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n //not to do\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n this.close();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickon(event: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this._opened && this.listenClicks) {\r\n this.close();\r\n } else {\r\n this._opened = true;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n close() {\r\n setTimeout(() => {\r\n this._opened = false;\r\n this.cdr.detectChanges();\r\n }, 20);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, Input, OnInit } from '@angular/core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-button-avatar',\r\n template: `\r\n <div\r\n [ngClass]=\"'mecx-button-avatar mecx-button-avatar__' + type + ' mecx-button-avatar__' + size\"\r\n >\r\n <img [src]=\"img\" *ngIf=\"img\" />\r\n <span *ngIf=\"!img && _handledValue\">{{ _handledValue }}</span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyButtonAvatarComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() type: string;\r\n @Input() size: string;\r\n @Input() img: string;\r\n\r\n public _id = `mecx-button-avatar-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled = false;\r\n public _handledValue = '';\r\n\r\n ngOnInit() {\r\n const { label } = this;\r\n this._handledValue = label?.charAt(0);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { MonkeyStyleGuideSettingsService } from '../../core/services';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-icon',\r\n template: `\r\n <monkey-icon-arrow-down\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-down'\"\r\n ></monkey-icon-arrow-down>\r\n <monkey-icon-arrow-left\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-left'\"\r\n ></monkey-icon-arrow-left>\r\n <monkey-icon-arrow-right\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-right'\"\r\n ></monkey-icon-arrow-right>\r\n <monkey-icon-arrow-up\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-up'\"\r\n ></monkey-icon-arrow-up>\r\n <monkey-icon-bank\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'bank'\"\r\n ></monkey-icon-bank>\r\n <monkey-icon-bell\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'bell'\"\r\n ></monkey-icon-bell>\r\n <monkey-icon-book\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'book'\"\r\n ></monkey-icon-book>\r\n <monkey-icon-box\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'box'\"\r\n ></monkey-icon-box>\r\n\r\n <monkey-icon-calendar\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'calendar'\"\r\n ></monkey-icon-calendar>\r\n <monkey-icon-camera\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'camera'\"\r\n ></monkey-icon-camera>\r\n <monkey-icon-chat\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'chat'\"\r\n ></monkey-icon-chat>\r\n <monkey-icon-check-circle-out\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-circle-out'\"\r\n ></monkey-icon-check-circle-out>\r\n <monkey-icon-check-circle\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-circle'\"\r\n ></monkey-icon-check-circle>\r\n <monkey-icon-check-grey\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-grey'\"\r\n >\r\n </monkey-icon-check-grey>\r\n <monkey-icon-check-white\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-white'\"\r\n >\r\n </monkey-icon-check-white>\r\n <monkey-icon-check\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check'\"\r\n ></monkey-icon-check>\r\n <monkey-icon-clipboard\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'clipboard'\"\r\n ></monkey-icon-clipboard>\r\n <monkey-icon-clock\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'clock'\"\r\n ></monkey-icon-clock>\r\n <monkey-icon-close\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'close'\"\r\n ></monkey-icon-close>\r\n <monkey-icon-cnpj\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'cnpj'\"\r\n ></monkey-icon-cnpj>\r\n <monkey-icon-codepen\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'codepen'\"\r\n ></monkey-icon-codepen>\r\n <monkey-icon-company-name\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'company-name'\"\r\n ></monkey-icon-company-name>\r\n <monkey-icon-contract\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'contract'\"\r\n ></monkey-icon-contract>\r\n <monkey-icon-delete\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'delete'\"\r\n ></monkey-icon-delete>\r\n <monkey-icon-document\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'document'\"\r\n ></monkey-icon-document>\r\n <monkey-icon-dollar-sign\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'dollar-sign'\"\r\n ></monkey-icon-dollar-sign>\r\n <monkey-icon-domain\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'domain'\"\r\n ></monkey-icon-domain>\r\n <monkey-icon-download\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'download'\"\r\n ></monkey-icon-download>\r\n <monkey-icon-edit\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'edit'\"\r\n ></monkey-icon-edit>\r\n <monkey-icon-email\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'email'\"\r\n ></monkey-icon-email>\r\n <monkey-icon-empty-doc\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'empty-doc'\"\r\n ></monkey-icon-empty-doc>\r\n <monkey-icon-error\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'error'\"\r\n ></monkey-icon-error>\r\n <monkey-icon-eye-closed\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'eye-closed'\"\r\n ></monkey-icon-eye-closed>\r\n <monkey-icon-eye-open\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'eye-open'\"\r\n ></monkey-icon-eye-open>\r\n <monkey-icon-filter\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'filter'\"\r\n ></monkey-icon-filter>\r\n <monkey-icon-grid\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'grid'\"\r\n ></monkey-icon-grid>\r\n <monkey-icon-help\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'help'\"\r\n ></monkey-icon-help>\r\n <monkey-icon-hexagon\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'hexagon'\"\r\n ></monkey-icon-hexagon>\r\n <monkey-icon-home\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'home'\"\r\n ></monkey-icon-home>\r\n <monkey-icon-image\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'image'\"\r\n ></monkey-icon-image>\r\n <monkey-icon-list\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'list'\"\r\n ></monkey-icon-list>\r\n <monkey-icon-location-pin\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'location-pin'\"\r\n ></monkey-icon-location-pin>\r\n <monkey-icon-login\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'login'\"\r\n ></monkey-icon-login>\r\n <monkey-icon-logout\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'logout'\"\r\n ></monkey-icon-logout>\r\n <monkey-icon-menu\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'menu'\"\r\n ></monkey-icon-menu>\r\n <monkey-icon-money-sign\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'money-sign'\"\r\n ></monkey-icon-money-sign>\r\n <monkey-icon-more\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'more'\"\r\n ></monkey-icon-more>\r\n <monkey-icon-offered\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'offered'\"\r\n ></monkey-icon-offered>\r\n <monkey-icon-password\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'password'\"\r\n ></monkey-icon-password>\r\n <monkey-icon-people\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'people'\"\r\n ></monkey-icon-people>\r\n <monkey-icon-percent\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'percent'\"\r\n ></monkey-icon-percent>\r\n <monkey-icon-person-document\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'person-document'\"\r\n ></monkey-icon-person-document>\r\n <monkey-icon-person-sad\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'person-sad'\"\r\n ></monkey-icon-person-sad>\r\n <monkey-icon-phone\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'phone'\"\r\n ></monkey-icon-phone>\r\n <monkey-icon-pork\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'pork'\"\r\n ></monkey-icon-pork>\r\n <monkey-icon-refresh\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'refresh'\"\r\n ></monkey-icon-refresh>\r\n <monkey-icon-repeat\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'repeat'\"\r\n ></monkey-icon-repeat>\r\n <monkey-icon-search\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'search'\"\r\n ></monkey-icon-search>\r\n <monkey-icon-second-warning\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'second-warning'\"\r\n ></monkey-icon-second-warning>\r\n <monkey-icon-settings\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'settings'\"\r\n ></monkey-icon-settings>\r\n <monkey-icon-trash\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'trash'\"\r\n ></monkey-icon-trash>\r\n <monkey-icon-upload\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'upload'\"\r\n ></monkey-icon-upload>\r\n <monkey-icon-user\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'user'\"\r\n ></monkey-icon-user>\r\n <monkey-icon-wallet\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'wallet'\"\r\n ></monkey-icon-wallet>\r\n <monkey-icon-warning\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'warning'\"\r\n ></monkey-icon-warning>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyIconComponent implements OnInit, OnChanges {\r\n @Input() icon: string;\r\n\r\n @Input() color: string = 'theme';\r\n\r\n @Input() contrast = false;\r\n\r\n @Input() disabled: boolean = false;\r\n\r\n _fillColor = '#000000';\r\n\r\n _icon = '';\r\n\r\n _id = `mecx-icon-${MonkeyUtils.getRandomString(10)}`;\r\n\r\n _size: string;\r\n\r\n private unsubscribeAll: Subject<any>;\r\n\r\n constructor(private monkeyStyleGuideSettingsService: MonkeyStyleGuideSettingsService) {\r\n this.unsubscribeAll = new Subject();\r\n }\r\n\r\n private handleIcon() {\r\n const { icon, color, contrast, monkeyStyleGuideSettingsService } = this;\r\n const handledIcon = icon?.substr(0, icon?.lastIndexOf('-'));\r\n this._icon = handledIcon;\r\n this._size = icon?.substr(icon?.lastIndexOf('-') + 1, icon?.length);\r\n\r\n monkeyStyleGuideSettingsService\r\n .settings()\r\n .pipe(takeUntil(this.unsubscribeAll))\r\n .subscribe((settings: any) => {\r\n if (settings && JSON.stringify(settings) !== '{}') {\r\n const { colors } = settings;\r\n\r\n let handledColor = '';\r\n if ((color || '').search('#') < 0) {\r\n let handledMainColor = '',\r\n handledSecondColor = '';\r\n handledMainColor = color.split('-')[0];\r\n if (!handledMainColor) handledMainColor = 'theme';\r\n handledSecondColor = color.split('-')[1];\r\n if (!handledSecondColor) handledSecondColor = 'main';\r\n\r\n handledColor = colors[handledMainColor][handledSecondColor];\r\n if (contrast) {\r\n handledColor = colors[handledMainColor]['contrast'][handledSecondColor];\r\n }\r\n } else {\r\n handledColor = color;\r\n }\r\n\r\n this._fillColor = handledColor;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.handleIcon();\r\n }\r\n\r\n ngOnChanges() {\r\n this.handleIcon();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n if (this.disabled) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, Input, Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[baseIcon]',\r\n})\r\nclass BaseIconComponent {\r\n @Input() fillColor: string;\r\n\r\n @Input() size: string;\r\n}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-down',\r\n templateUrl: `../../../../assets/icons/arrow-down.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowDownComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-left',\r\n templateUrl: `../../../../assets/icons/arrow-left.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowLeftComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-right',\r\n templateUrl: `../../../../assets/icons/arrow-right.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowRightComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-up',\r\n templateUrl: `../../../../assets/icons/arrow-up.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowUpComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-bank',\r\n templateUrl: `../../../../assets/icons/bank.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBankComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-bell',\r\n templateUrl: `../../../../assets/icons/bell.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBellComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-book',\r\n templateUrl: `../../../../assets/icons/book.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBookComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-box',\r\n templateUrl: `../../../../assets/icons/box.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBoxComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-calendar',\r\n templateUrl: `../../../../assets/icons/calendar.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCalendarComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-camera',\r\n templateUrl: `../../../../assets/icons/camera.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCameraComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-chat',\r\n templateUrl: `../../../../assets/icons/chat.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconChatComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-circle-out',\r\n templateUrl: `../../../../assets/icons/check-circle-out.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckCircleOutComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-circle',\r\n templateUrl: `../../../../assets/icons/check-circle.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckCircleComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-grey',\r\n templateUrl: '../../../../assets/icons/check-grey.svg',\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckGreyComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-white',\r\n templateUrl: `../../../../assets/icons/check-white.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckWhiteComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check',\r\n templateUrl: `../../../../assets/icons/check.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-clipboard',\r\n templateUrl: `../../../../assets/icons/clipboard.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconClipboardComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-clock',\r\n templateUrl: `../../../../assets/icons/clock.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconClockComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-close',\r\n templateUrl: `../../../../assets/icons/close.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCloseComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-cnpj',\r\n templateUrl: `../../../../assets/icons/cnpj.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCNPJComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-codepen',\r\n templateUrl: `../../../../assets/icons/codepen.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCodepenComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-company-name',\r\n templateUrl: `../../../../assets/icons/company-name.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCompanyNameComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-contract',\r\n templateUrl: `../../../../assets/icons/contract.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconContractComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-delete',\r\n templateUrl: `../../../../assets/icons/delete.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDeleteComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-document',\r\n templateUrl: `../../../../assets/icons/document.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDocumentComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-dollar-sign',\r\n templateUrl: `../../../../assets/icons/dollar-sign.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDollarSignComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-domain',\r\n templateUrl: `../../../../assets/icons/domain.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDomainComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-download',\r\n templateUrl: `../../../../assets/icons/download.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDownloadComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-edit',\r\n templateUrl: `../../../../assets/icons/edit.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEditComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-email',\r\n templateUrl: `../../../../assets/icons/email.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEmailComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-empty-doc',\r\n templateUrl: `../../../../assets/icons/empty-doc.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEmptyDocComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-error',\r\n templateUrl: `../../../../assets/icons/error.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconErrorComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-eye-closed',\r\n templateUrl: `../../../../assets/icons/eye-closed.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEyeClosedComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-eye-open',\r\n templateUrl: `../../../../assets/icons/eye-open.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEyeOpenComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-filter',\r\n templateUrl: `../../../../assets/icons/filter.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconFilterComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-grid',\r\n templateUrl: `../../../../assets/icons/grid.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconGridComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-help',\r\n templateUrl: `../../../../assets/icons/help.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconHelpComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-hexagon',\r\n templateUrl: `../../../../assets/icons/hexagon.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconHexagonComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-home',\r\n templateUrl: `../../../../assets/icons/home.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconHomeComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-image',\r\n templateUrl: `../../../../assets/icons/image.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconImageComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-list',\r\n templateUrl: `../../../../assets/icons/list.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconListComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-location-pin',\r\n templateUrl: `../../../../assets/icons/location-pin.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconLocationPinComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-login',\r\n templateUrl: `../../../../assets/icons/login.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconLoginComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-logout',\r\n templateUrl: `../../../../assets/icons/logout.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconLogoutComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-menu',\r\n templateUrl: `../../../../assets/icons/menu.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconMenuComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-money-sign',\r\n templateUrl: `../../../../assets/icons/money-sign.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconMoneySignComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-more',\r\n templateUrl: `../../../../assets/icons/more.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconMoreComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-offered',\r\n templateUrl: `../../../../assets/icons/offered.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconOfferedComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-password',\r\n templateUrl: `../../../../assets/icons/password.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPasswordComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-people',\r\n templateUrl: `../../../../assets/icons/people.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPeopleComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-percent',\r\n templateUrl: `../../../../assets/icons/percent.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPercentComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-person-document',\r\n templateUrl: `../../../../assets/icons/person-document.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPersonDocumentComponent extends BaseIconComponent {}\r\n@Component({\r\n selector: 'monkey-icon-person-sad',\r\n templateUrl: `../../../../assets/icons/person-sad.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPersonSadComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-phone',\r\n templateUrl: `../../../../assets/icons/phone.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPhoneComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-pork',\r\n templateUrl: `../../../../assets/icons/pork.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPorkComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-refresh',\r\n templateUrl: `../../../../assets/icons/refresh.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconRefreshComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-repeat',\r\n templateUrl: `../../../../assets/icons/repeat.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconRepeatComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-search',\r\n templateUrl: `../../../../assets/icons/search.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconSearchComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-second-warning',\r\n templateUrl: `../../../../assets/icons/second-warning.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconSecondWarningComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-settings',\r\n templateUrl: `../../../../assets/icons/settings.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconSettingsComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-trash',\r\n templateUrl: `../../../../assets/icons/trash.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconTrashComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-upload',\r\n templateUrl: `../../../../assets/icons/upload.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconUploadComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-user',\r\n templateUrl: `../../../../assets/icons/user.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconUserComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-wallet',\r\n templateUrl: `../../../../assets/icons/wallet.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconWalletComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-warning',\r\n templateUrl: `../../../../assets/icons/warning.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconWarningComponent extends BaseIconComponent {}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconComponent } from './icon.component';\r\nimport {\r\n MonkeyIconArrowDownComponent,\r\n MonkeyIconArrowLeftComponent,\r\n MonkeyIconArrowRightComponent,\r\n MonkeyIconArrowUpComponent,\r\n MonkeyIconBankComponent,\r\n MonkeyIconBellComponent,\r\n MonkeyIconBookComponent,\r\n MonkeyIconBoxComponent,\r\n MonkeyIconCalendarComponent,\r\n MonkeyIconCameraComponent,\r\n MonkeyIconChatComponent,\r\n MonkeyIconCheckCircleOutComponent,\r\n MonkeyIconCheckCircleComponent,\r\n MonkeyIconCheckGreyComponent,\r\n MonkeyIconCheckWhiteComponent,\r\n MonkeyIconCheckComponent,\r\n MonkeyIconClipboardComponent,\r\n MonkeyIconClockComponent,\r\n MonkeyIconCloseComponent,\r\n MonkeyIconCNPJComponent,\r\n MonkeyIconCodepenComponent,\r\n MonkeyIconCompanyNameComponent,\r\n MonkeyIconContractComponent,\r\n MonkeyIconDeleteComponent,\r\n MonkeyIconDocumentComponent,\r\n MonkeyIconDollarSignComponent,\r\n MonkeyIconDomainComponent,\r\n MonkeyIconDownloadComponent,\r\n MonkeyIconEditComponent,\r\n MonkeyIconEmailComponent,\r\n MonkeyIconEmptyDocComponent,\r\n MonkeyIconErrorComponent,\r\n MonkeyIconEyeClosedComponent,\r\n MonkeyIconEyeOpenComponent,\r\n MonkeyIconFilterComponent,\r\n MonkeyIconGridComponent,\r\n MonkeyIconHelpComponent,\r\n MonkeyIconHexagonComponent,\r\n MonkeyIconHomeComponent,\r\n MonkeyIconImageComponent,\r\n MonkeyIconListComponent,\r\n MonkeyIconLocationPinComponent,\r\n MonkeyIconLoginComponent,\r\n MonkeyIconLogoutComponent,\r\n MonkeyIconMenuComponent,\r\n MonkeyIconMoneySignComponent,\r\n MonkeyIconMoreComponent,\r\n MonkeyIconOfferedComponent,\r\n MonkeyIconPasswordComponent,\r\n MonkeyIconPeopleComponent,\r\n MonkeyIconPercentComponent,\r\n MonkeyIconPersonDocumentComponent,\r\n MonkeyIconPersonSadComponent,\r\n MonkeyIconPhoneComponent,\r\n MonkeyIconPorkComponent,\r\n MonkeyIconRefreshComponent,\r\n MonkeyIconRepeatComponent,\r\n MonkeyIconSearchComponent,\r\n MonkeyIconSecondWarningComponent,\r\n MonkeyIconSettingsComponent,\r\n MonkeyIconTrashComponent,\r\n MonkeyIconUploadComponent,\r\n MonkeyIconUserComponent,\r\n MonkeyIconWalletComponent,\r\n MonkeyIconWarningComponent,\r\n} from './icons.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyIconComponent,\r\n MonkeyIconArrowDownComponent,\r\n MonkeyIconArrowLeftComponent,\r\n MonkeyIconArrowRightComponent,\r\n MonkeyIconArrowUpComponent,\r\n MonkeyIconBankComponent,\r\n MonkeyIconBellComponent,\r\n MonkeyIconBookComponent,\r\n MonkeyIconBoxComponent,\r\n MonkeyIconCalendarComponent,\r\n MonkeyIconCameraComponent,\r\n MonkeyIconChatComponent,\r\n MonkeyIconCheckCircleOutComponent,\r\n MonkeyIconCheckCircleComponent,\r\n MonkeyIconCheckGreyComponent,\r\n MonkeyIconCheckWhiteComponent,\r\n MonkeyIconCheckComponent,\r\n MonkeyIconClipboardComponent,\r\n MonkeyIconClockComponent,\r\n MonkeyIconCloseComponent,\r\n MonkeyIconCNPJComponent,\r\n MonkeyIconCodepenComponent,\r\n MonkeyIconCompanyNameComponent,\r\n MonkeyIconContractComponent,\r\n MonkeyIconDeleteComponent,\r\n MonkeyIconDocumentComponent,\r\n MonkeyIconDollarSignComponent,\r\n MonkeyIconDomainComponent,\r\n MonkeyIconDownloadComponent,\r\n MonkeyIconEditComponent,\r\n MonkeyIconEmailComponent,\r\n MonkeyIconEmptyDocComponent,\r\n MonkeyIconErrorComponent,\r\n MonkeyIconEyeClosedComponent,\r\n MonkeyIconEyeOpenComponent,\r\n MonkeyIconFilterComponent,\r\n MonkeyIconGridComponent,\r\n MonkeyIconHelpComponent,\r\n MonkeyIconHexagonComponent,\r\n MonkeyIconHomeComponent,\r\n MonkeyIconImageComponent,\r\n MonkeyIconListComponent,\r\n MonkeyIconLocationPinComponent,\r\n MonkeyIconLoginComponent,\r\n MonkeyIconLogoutComponent,\r\n MonkeyIconMenuComponent,\r\n MonkeyIconMoneySignComponent,\r\n MonkeyIconMoreComponent,\r\n MonkeyIconOfferedComponent,\r\n MonkeyIconPasswordComponent,\r\n MonkeyIconPeopleComponent,\r\n MonkeyIconPercentComponent,\r\n MonkeyIconPersonDocumentComponent,\r\n MonkeyIconPersonSadComponent,\r\n MonkeyIconPhoneComponent,\r\n MonkeyIconPorkComponent,\r\n MonkeyIconRefreshComponent,\r\n MonkeyIconRepeatComponent,\r\n MonkeyIconSearchComponent,\r\n MonkeyIconSecondWarningComponent,\r\n MonkeyIconSettingsComponent,\r\n MonkeyIconTrashComponent,\r\n MonkeyIconUploadComponent,\r\n MonkeyIconUserComponent,\r\n MonkeyIconWalletComponent,\r\n MonkeyIconWarningComponent,\r\n ],\r\n imports: [CommonModule],\r\n exports: [MonkeyIconComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyIconModule {}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyButtonComponent } from './button.component';\r\nimport { MonkeyButtonDropdownComponent } from './button-dropdown.component';\r\nimport { MonkeyButtonAvatarComponent } from './button-avatar.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyButtonComponent,\r\n MonkeyButtonDropdownComponent,\r\n MonkeyButtonAvatarComponent,\r\n ],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyIconModule],\r\n exports: [\r\n MonkeyButtonComponent,\r\n MonkeyButtonDropdownComponent,\r\n MonkeyButtonAvatarComponent,\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyButtonModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyStyleGuideSettingsService, MonkeyStyleSettings } from '../../core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-input',\r\n template: `\r\n <mecx-form-field [ngClass]=\"{ disabled: _disabled }\" [id]=\"_id\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon\r\n [icon]=\"icon\"\r\n [color]=\"errorMessage?.trim() ? '#fa3838' : '#4B4A53'\"\r\n *ngIf=\"icon\"\r\n ></monkey-icon>\r\n <symbol>\r\n {{ _symbol }}\r\n </symbol>\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onChangeValue($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"_formatedValue\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n [prefix]=\"prefix\"\r\n *ngIf=\"mask && prefix\"\r\n #monkeyInput\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onChangeValue($event)\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"_formatedValue\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n *ngIf=\"mask && !prefix\"\r\n #monkeyInput\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onChangeValue($event)\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"_formatedValue\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"_disabled\"\r\n [maxLength]=\"maxLength\"\r\n *ngIf=\"!mask && !prefix\"\r\n [max]=\"maxDateToday ? _maxDateToday : null\"\r\n #monkeyInput\r\n />\r\n <monkey-icon\r\n icon=\"eye-open-16\"\r\n [color]=\"errorMessage?.trim() ? '#fa3838' : '#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'text'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"eye-closed-16\"\r\n [color]=\"errorMessage?.trim() ? '#fa3838' : '#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'password'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n </mecx-form-field-body>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyInputComponent),\r\n multi: true,\r\n },\r\n CurrencyPipe,\r\n ],\r\n})\r\nexport class MonkeyInputComponent implements ControlValueAccessor, OnInit {\r\n @Input() name: string = `mecx-input-${MonkeyUtils.getRandomString(10)}`;\r\n @Input() label: string;\r\n @Input() helperMessage: string = '';\r\n @Input() placeholder: string = '';\r\n @Input() icon: string;\r\n @Input() type: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() mask: string;\r\n @Input() prefix: string;\r\n @Input() maxLength: number = 255;\r\n @Input() onlyNumber: any;\r\n @Input() onlyAlphaNumeric: any;\r\n @Input() upperCase: any;\r\n @Input() lowerCase: any;\r\n @Input() capitalize: any;\r\n @Input() currency: any;\r\n @Input() percent: any;\r\n @Input() maxDateToday = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private settings: MonkeyStyleSettings;\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _id: string = `mecx-input-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _oldType: string;\r\n public _formatedValue: any;\r\n public _maxDateToday = new Date().toISOString().split('T')[0];\r\n public _symbol = '';\r\n\r\n @ViewChild('monkeyInput', {\r\n static: true,\r\n })\r\n monkeyInput: ElementRef;\r\n\r\n constructor(\r\n private currencyPipe: CurrencyPipe,\r\n private settingsService: MonkeyStyleGuideSettingsService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n private handleValue(value: any, apply = false): any {\r\n if (this.onlyNumber) {\r\n return MonkeyUtils.handleOnlyNumbers(`${value}`);\r\n } else if (this.onlyAlphaNumeric) return MonkeyUtils.handleOnlyAlphaNumeric(`${value}`);\r\n else if (this.upperCase) return `${value}`.toUpperCase();\r\n else if (this.lowerCase) return `${value}`.toLowerCase();\r\n else if (this.capitalize) return MonkeyUtils.capitalize(`${value}`.toUpperCase());\r\n else if (this.currency || this.percent) {\r\n return MonkeyUtils.handleOnlyNumbers(`${value}`) / (apply ? 100 : 1);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private formatValue(value: any): any {\r\n const { settings } = this;\r\n if (this.currency) {\r\n if (!value) value = 0;\r\n return this.currencyPipe.transform(\r\n value,\r\n settings?.currency?.code || 'BRL',\r\n '',\r\n '1.2-2',\r\n settings?.currency?.locale || 'pt-BR'\r\n );\r\n } else if (this.percent) {\r\n return `${value}`;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private handleSymbol() {\r\n const { settings } = this;\r\n if (this.currency) {\r\n this._symbol = {\r\n BRL: 'R$',\r\n CLP: 'CLP',\r\n }[settings?.currency?.code || 'BRL'];\r\n } else if (this.percent) {\r\n this._symbol = '%';\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n const { settingsService } = this;\r\n this._oldType = this.type;\r\n settingsService.settings().subscribe((val: MonkeyStyleSettings) => {\r\n this.settings = val;\r\n this.handleSymbol();\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n this.handledValue = value;\r\n this._formatedValue = this.formatValue(value);\r\n this.cdr.detectChanges();\r\n this.onModelChange(this.handledValue);\r\n this.onModelTouched(this.handledValue);\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any) {\r\n const value = this._formatedValue;\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n const handled = this.handleValue(value, true);\r\n this.writeValue(handled);\r\n this.onChange.next(handled);\r\n }\r\n\r\n onShowAndHidePassword() {\r\n this.type = this.type === 'password' ? 'text' : 'password';\r\n }\r\n\r\n @HostListener('click')\r\n onClick() {\r\n document?.getElementById(this._id)?.getElementsByTagName('input')?.[0]?.focus();\r\n }\r\n\r\n onKeyPress(event: any) {\r\n let pattern = null;\r\n const inputChar = String.fromCharCode(event.charCode);\r\n if (this.currency || this.onlyNumber || this.percent) {\r\n pattern = /[0-9]/;\r\n } else if (this.onlyAlphaNumeric) {\r\n pattern = /[^0-9A-Za-z]/;\r\n }\r\n\r\n if (pattern && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyStyleGuideSettingsService, MonkeyStyleSettings } from '../../core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-input-filter',\r\n template: `\r\n <mecx-form-field-filter [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-body>\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onChangeInput($event)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n [prefix]=\"prefix\"\r\n *ngIf=\"mask && prefix\"\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onChangeInput($event)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n *ngIf=\"mask && !prefix\"\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onChangeInput($event)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n *ngIf=\"!mask && !prefix\"\r\n />\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#4B4A53'\"></monkey-icon>\r\n <monkey-icon\r\n icon=\"eyes-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'text'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"eyes-off-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'password'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n </mecx-form-field-body>\r\n </mecx-form-field-filter>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyInputFilterComponent),\r\n multi: true,\r\n },\r\n CurrencyPipe,\r\n ],\r\n})\r\nexport class MonkeyInputFilterComponent implements ControlValueAccessor, OnInit {\r\n @Input() name: string;\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() type: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() mask: string;\r\n @Input() prefix: string;\r\n @Input() onlyNumber: any;\r\n @Input() onlyAlphaNumeric: any;\r\n @Input() upperCase: any;\r\n @Input() lowerCase: any;\r\n @Input() capitalize: any;\r\n @Input() currency: any;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private settings: MonkeyStyleSettings;\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n private timer: any;\r\n\r\n public _id: string = `mecx-input-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _oldType: string;\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private currencyPipe: CurrencyPipe,\r\n private settingsService: MonkeyStyleGuideSettingsService\r\n ) {}\r\n\r\n private handleValue(value: any): any {\r\n const { settings } = this;\r\n if (this.onlyNumber !== undefined) {\r\n return MonkeyUtils.handleOnlyNumbers(`${value}`);\r\n } else if (this.onlyAlphaNumeric !== undefined)\r\n return MonkeyUtils.handleOnlyAlphaNumeric(`${value}`);\r\n else if (this.upperCase !== undefined) return `${value}`.toUpperCase();\r\n else if (this.lowerCase !== undefined) return `${value}`.toLowerCase();\r\n else if (this.capitalize !== undefined) return MonkeyUtils.capitalize(`${value}`.toUpperCase());\r\n else if (this.currency !== undefined) {\r\n const newValue = MonkeyUtils.handleOnlyNumbers(value);\r\n return this.currencyPipe.transform(\r\n newValue / 100,\r\n settings?.currency?.code || 'BRL',\r\n 'symbol',\r\n '',\r\n settings?.currency?.locale || 'pt-BR'\r\n );\r\n }\r\n\r\n return value;\r\n }\r\n\r\n ngOnInit() {\r\n const { settingsService } = this;\r\n this._oldType = this.type;\r\n settingsService.settings().subscribe((val: MonkeyStyleSettings) => {\r\n this.settings = val;\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeInput(event: any) {\r\n const { value } = event?.target;\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n const handled = this.handleValue(value);\r\n event.target.value = handled;\r\n this.writeValue(handled);\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n this.timer = setTimeout(() => {\r\n this.onChange.next(value);\r\n }, 400);\r\n }\r\n\r\n onShowAndHidePassword() {\r\n this.type = this.type === 'password' ? 'text' : 'password';\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n const { _id } = this;\r\n document.getElementById(_id).focus();\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyInputComponent } from './input.component';\r\nimport { MonkeyInputFilterComponent } from './input-filter.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [MonkeyInputComponent, MonkeyInputFilterComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule.forRoot(),\r\n MonkeyIconModule,\r\n ],\r\n exports: [MonkeyInputComponent, MonkeyInputFilterComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyInputModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n Output,\r\n HostListener,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-option',\r\n template: `\r\n <div class=\"mecx-option\" *ngIf=\"type === 'select-multiple'\">\r\n <!--<input type=\"checkbox\" [checked]=\"value === selected?.value\" />\r\n <span\r\n [id]=\"_id\"\r\n >\r\n {{ label }}\r\n </span>-->\r\n <label class=\"mecx-check-container\">\r\n <input type=\"checkbox\" [checked]=\"value === selected?.value\" />\r\n {{ label }}\r\n <p class=\"mecx-check-mark\"></p>\r\n </label>\r\n </div>\r\n <span\r\n class=\"mecx-option\"\r\n [ngClass]=\"{ selected: value === selected?.value }\"\r\n *ngIf=\"type === 'select'\"\r\n [id]=\"_id\"\r\n >\r\n {{ label }}\r\n </span>\r\n <label class=\"mecx-radio-container\" *ngIf=\"type === 'radio'\">\r\n <input\r\n type=\"radio\"\r\n [value]=\"selected?.value\"\r\n [checked]=\"value === selected?.value\"\r\n [id]=\"_id\"\r\n />\r\n {{ label }}\r\n <p class=\"mecx-radio-mark\"></p>\r\n </label>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyOptionComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyOptionComponent {\r\n @Input() type: string = 'select';\r\n @Input() label: string;\r\n @Input() value: any;\r\n @Input() selectAll: boolean;\r\n @Input() selected: MonkeyOptionComponent;\r\n @Input() enableClick = true;\r\n @Output() onSelectOption: Function;\r\n\r\n public _id: string = `mecx-option-${MonkeyUtils.getRandomString(10)}`;\r\n\r\n constructor(public elRef: ElementRef) {\r\n //not to do\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.enableClick) {\r\n this.onSelectOption(this);\r\n }\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyOptionComponent } from './option.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyOptionComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n MonkeyOptionComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyOptionModule { }","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnChanges,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body (click)=\"open()\" [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#4B4A53'\"></monkey-icon>\r\n <mecx-select class=\"trigger\" [ngClass]=\"{ open: _opened }\">\r\n <mecx-select__trigger>\r\n <span>\r\n {{ _selected?.label || labelSelect }}\r\n </span>\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select>\r\n </mecx-form-field-body>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() labelSelect = 'Selecione';\r\n @Input() onHandleOptions = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n this.options.forEach((op) => {\r\n op.selected = _selected;\r\n });\r\n if (_opened) {\r\n let scrollValue = 0;\r\n if (_selected) {\r\n const { _id } = this._selected;\r\n scrollValue = document.getElementById(_id).offsetTop;\r\n }\r\n this.selectOptions.nativeElement.scrollTo(0, scrollValue);\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'select';\r\n op.selected = null;\r\n if (`${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n private init() {\r\n setTimeout(() => {\r\n this._selected = null;\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n this.validateOptions();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.onHandleOptions.subscribe(() => {\r\n this.init();\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n this.init();\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this._opened = false;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnChanges,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select-multiple',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body (click)=\"open()\" [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#4B4A53'\"></monkey-icon>\r\n\r\n <mecx-select class=\"trigger\" [ngClass]=\"{ open: _opened }\">\r\n <mecx-select__trigger>\r\n <span>\r\n {{ _selectedValues || 'Selecione' }}\r\n </span>\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select>\r\n </mecx-form-field-body>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectMultipleComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectMultipleComponent implements AfterViewInit, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() labelMoreValues: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n private handledValue: any[] = [];\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n private selectedAll = false;\r\n\r\n public _selected: MonkeyOptionComponent[] = [];\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _selectedValues = '';\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n private onHandleSelectedValues() {\r\n const { _selected, labelMoreValues } = this;\r\n let selectedValues = '';\r\n const handled = _selected.filter((_) => !_.selectAll);\r\n if (_selected.length > 0) {\r\n selectedValues = `${handled[0].label}`;\r\n if (_selected.length >= 2) {\r\n selectedValues = `${handled[0].label} ${labelMoreValues} ${handled.length - 1}`;\r\n }\r\n }\r\n this._selectedValues = selectedValues;\r\n }\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n let selectedLength = 0;\r\n let selectAll = null;\r\n this.options?.forEach((op) => {\r\n const found = _selected.findIndex((val: any) => {\r\n return val.value === op.value;\r\n });\r\n op.selected = null;\r\n if (op.selectAll) selectAll = op;\r\n if (found >= 0) {\r\n op.selected = op;\r\n selectedLength += 1;\r\n }\r\n });\r\n if (this.options?.length - 1 === selectedLength && selectAll) {\r\n this.selectedAll = true;\r\n selectAll.selected = selectAll;\r\n }\r\n this.onHandleSelectedValues();\r\n\r\n if (_opened) {\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this._selected = [];\r\n let selectedLength = 0;\r\n let selectAll = null;\r\n this.options?.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'select-multiple';\r\n op.selected = null;\r\n if (op.selectAll) selectAll = op;\r\n const found = this.handledValue.findIndex((val: any) => {\r\n return `${val}`.trim().toLowerCase() === `${op.value}`.trim().toLowerCase();\r\n });\r\n if (found >= 0) {\r\n op.selected = op;\r\n this._selected.push(op);\r\n selectedLength += 1;\r\n }\r\n });\r\n if (this.options?.length - 1 === selectedLength && selectAll) {\r\n this.selectedAll = true;\r\n selectAll.selected = selectAll;\r\n }\r\n this.onHandleSelectedValues();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined) {\r\n if (this.handledValue.join(',') !== value) {\r\n value?.split(',')?.forEach((op: any) => {\r\n this.handledValue.push(op);\r\n });\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n }\r\n this.onHandleSelected();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue.join(',');\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n\r\n this.options.changes.subscribe(() => {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n });\r\n }\r\n\r\n onSelectOption(selected: MonkeyOptionComponent) {\r\n if (selected.selectAll) {\r\n this.selectedAll = !this.selectedAll;\r\n this._selected = [];\r\n if (this.selectedAll) {\r\n this.options?.forEach((op) => {\r\n this._selected.push(op);\r\n });\r\n }\r\n } else {\r\n const index = this._selected.findIndex((val: any) => val.value === selected.value);\r\n if (index >= 0) {\r\n this._selected = this._selected.filter((op: MonkeyOptionComponent) => {\r\n return (\r\n `${op.value}`.trim().toLowerCase() !== `${selected.value}`.trim().toLowerCase() &&\r\n !op.selectAll\r\n );\r\n });\r\n } else this._selected.push(selected);\r\n }\r\n const value = this._selected\r\n .filter((val) => !val.selectAll)\r\n .map((val: any) => {\r\n return val.value;\r\n });\r\n\r\n this.onChange.next(value);\r\n this.onChangeValue(null, value.join(','));\r\n this.onHandleSelected();\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n AfterViewInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select-search',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body (click)=\"open()\" [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#aaaaaa'\"></monkey-icon>\r\n <mecx-select class=\"trigger\" [ngClass]=\"{ open: _opened }\">\r\n <mecx-select__trigger>\r\n <input\r\n [placeholder]=\"labelSelect || placeholder\"\r\n (input)=\"onChangeInput($event)\"\r\n #inputFilter\r\n [ngModel]=\"_selected?.label || ''\"\r\n />\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select>\r\n </mecx-form-field-body>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectSearchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectSearchComponent implements AfterViewInit, OnChanges, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() labelSelect = 'Selecione';\r\n @Input() fieldToCompare: string;\r\n @Input() onHandleOptions = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onSearch = new EventEmitter<any>(null);\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n @ViewChild('inputFilter', { static: true })\r\n inputFilter: ElementRef;\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n private timer: any;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-search-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef, private renderer: Renderer2) {\r\n //not to do\r\n }\r\n\r\n private onHandleSearch(search: any) {\r\n this.options.forEach((op) => {\r\n const source = `${op.label}`.toLowerCase();\r\n const destination = `${search}`.toLowerCase();\r\n if (source.indexOf(destination) > -1) {\r\n this.renderer.setStyle(op.elRef.nativeElement, 'display', 'inline');\r\n } else {\r\n this.renderer.setStyle(op.elRef.nativeElement, 'display', 'inline');\r\n }\r\n let display = 'inline';\r\n if (source.indexOf(destination) === -1) {\r\n display = 'none';\r\n }\r\n this.renderer.setStyle(op.elRef.nativeElement, 'display', display);\r\n });\r\n }\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n this.options.forEach((op) => {\r\n op.selected = _selected;\r\n });\r\n if (_opened) {\r\n let scrollValue = 0;\r\n if (_selected) {\r\n const { _id } = this._selected;\r\n scrollValue = document.getElementById(_id).offsetTop - 10;\r\n }\r\n this.selectOptions.nativeElement.scrollTo(0, scrollValue);\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n const { fieldToCompare } = this;\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = op?.type || 'select';\r\n op.selected = null;\r\n let source = '';\r\n let destination = '';\r\n if (fieldToCompare) {\r\n source = `${op.value[fieldToCompare]}`.toLowerCase();\r\n destination = `${this.handledValue?.[fieldToCompare]}`.toLowerCase();\r\n } else {\r\n source = `${op.value}`.toLowerCase();\r\n destination = `${this.handledValue}`.toLowerCase();\r\n }\r\n if (source === destination) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n private doSearch(search: string) {\r\n this.onSearch.next(search);\r\n this.onHandleSearch(search);\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }\r\n\r\n private init() {\r\n setTimeout(() => {\r\n this._selected = null;\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n this.validateOptions();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n (this.inputFilter?.nativeElement as HTMLInputElement).focus();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.init();\r\n this.onHandleOptions.subscribe(() => {\r\n this.init();\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n this.init();\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this._opened = false;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n\r\n onChangeInput(event: any) {\r\n const { value } = event?.target;\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n this.timer = setTimeout(() => {\r\n this.doSearch(value);\r\n }, 400);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select-filter',\r\n template: `\r\n <mecx-select-filter\r\n class=\"trigger\"\r\n [ngClass]=\"{\r\n open: _opened,\r\n none: type === 'none',\r\n border: type === 'border'\r\n }\"\r\n (click)=\"open()\"\r\n >\r\n <mecx-select__trigger>\r\n <span>\r\n {{ _selected?.label || placeholder }}\r\n </span>\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select-filter>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectFilterComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectFilterComponent implements OnInit, ControlValueAccessor {\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() type: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-filter-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n this.options.forEach((op) => {\r\n op.selected = _selected;\r\n });\r\n if (_opened) {\r\n let scrollValue = 0;\r\n if (_selected) {\r\n const { _id } = this._selected;\r\n scrollValue = document.getElementById(_id).offsetTop;\r\n }\r\n this.selectOptions.nativeElement.scrollTo(0, scrollValue);\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'select';\r\n op.selected = null;\r\n if (`${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n this.validateOptions();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this._opened = false;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeySelectComponent } from './select.component';\r\nimport { MonkeySelectMultipleComponent } from './select-multiple.component';\r\nimport { MonkeySelectSearchComponent } from './select-search.component';\r\nimport { MonkeySelectFilterComponent } from './select-filter.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyOptionModule } from '../option';\r\nimport { MonkeyIconModule } from '../icon';\r\nimport { MonkeyInputModule } from '../input';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeySelectComponent,\r\n MonkeySelectMultipleComponent,\r\n MonkeySelectSearchComponent,\r\n MonkeySelectFilterComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MonkeyInputModule,\r\n MonkeyOptionModule,\r\n MonkeyIconModule,\r\n ],\r\n exports: [\r\n MonkeySelectComponent,\r\n MonkeySelectMultipleComponent,\r\n MonkeySelectSearchComponent,\r\n MonkeySelectFilterComponent,\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeySelectModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-checkbox',\r\n template: `\r\n <mecx-form-field\r\n *ngIf=\"type === 'single'; else multiple\"\r\n [ngClass]=\"{ disabled: _disabled }\"\r\n >\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body class=\"checkbox\">\r\n <label class=\"mecx-check-container\">\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n />\r\n {{ description }}\r\n <ng-content> </ng-content>\r\n <p class=\"mecx-check-mark\"></p>\r\n </label>\r\n </mecx-form-field-body>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n <ng-template #multiple>\r\n <mecx-form-field [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-body class=\"checkbox\">\r\n <label class=\"mecx-check-container\">\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n />\r\n {{ description }}\r\n <p class=\"mecx-check-mark\"></p>\r\n </label>\r\n </mecx-form-field-body>\r\n </mecx-form-field>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyCheckboxComponent implements ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() type: string = 'single';\r\n @Input() helperMessage: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() description: any;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _id: string = `mecx-checkbox-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor() {}\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n this.onChange.next(value);\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyCheckboxComponent } from './checkbox.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyCheckboxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n MonkeyCheckboxComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyCheckboxModule{}","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n ContentChildren,\r\n QueryList,\r\n AfterViewInit,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-radiobutton',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body class=\"radiobutton\">\r\n <ng-content> </ng-content>\r\n </mecx-form-field-body>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyRadioButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyRadioButtonComponent\r\n implements AfterViewInit, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _id: string = `mecx-radiobutton-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor() {}\r\n\r\n private onHandleSelected() {\r\n this.options.forEach((op) => {\r\n op.selected = this._selected;\r\n });\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'radio';\r\n op.selected = null;\r\n if (\r\n `${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()\r\n ) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n this.validateOptions();\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyRadioButtonComponent } from './radiobutton.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyRadioButtonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n MonkeyRadioButtonComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyRadioButtonModule { }","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence \r\n**************************/\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'monkey-wizard',\r\n template: `\r\n <div [ngClass]=\"position\">\r\n <div class=\"mecx-wizard-body\"\r\n *ngFor=\"let step of _totalSteps\">\r\n <div class=\"mecx-wizard-option mecx-wizard-option__theme\"\r\n [ngClass]=\"{'selected': step === selectedStep, 'completed': step < selectedStep}\">\r\n {{ step }}\r\n </div>\r\n <div class=\"mecx-wizard-option-separator\"></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyWizardComponent implements OnInit{\r\n\r\n @Input() totalSteps: number = 0;\r\n @Input() selectedStep: number = 0;\r\n @Input() position: string = 'horizontal';\r\n\r\n public _totalSteps: number[];\r\n public _selectedStep: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(){\r\n const { totalSteps, selectedStep } = this;\r\n this._totalSteps = new Array(Number(totalSteps)).fill(1).map((step: number, index: number) => {\r\n return step + index;\r\n });\r\n this._selectedStep = Number(selectedStep);\r\n }\r\n}","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyWizardComponent } from './wizard.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyWizardComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MonkeyIconModule\r\n ],\r\n exports: [\r\n MonkeyWizardComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyWizardModule { }","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-file-upload',\r\n template: `\r\n <mecx-form-field [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body>\r\n <input\r\n #fileInput\r\n hidden\r\n [name]=\"name\"\r\n type=\"file\"\r\n (change)=\"onChangeValue($event.target.files)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n />\r\n <span>{{\r\n value?.fileName\r\n ? value.fileName\r\n : uploadOngoingMessage\r\n ? uploadOngoingMessage\r\n : placeholder\r\n }}</span>\r\n <monkey-icon\r\n icon=\"upload-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"!value?.fileName\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"close-16\"\r\n *ngIf=\"value?.fileName\"\r\n (click)=\"onClear($event)\"\r\n ></monkey-icon>\r\n </mecx-form-field-body>\r\n <mecx-form-field-upload-info *ngIf=\"_progress\">\r\n <span [style.width.%]=\"_progress\"> {{ _progress }}%</span>\r\n </mecx-form-field-upload-info>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n {{ _uploadErrorMessage }}\r\n {{ _maxSizeErrorMessage ? maxSizeErrorMessage : null }}\r\n {{\r\n _allowedExtensionErrorMessage ? allowedExtensionErrorMessage : null\r\n }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyFileUploadComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyFileUploadComponent implements ControlValueAccessor, OnInit {\r\n @Input() name: string;\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() uploadOngoingMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() listenFiles: boolean;\r\n @Input() maxSize: number;\r\n @Input() allowedExtensions: string[];\r\n @Input() maxSizeErrorMessage: string;\r\n @Input() allowedExtensionErrorMessage: string;\r\n @Input() fileUpload: Function;\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onHandleFilesReady = new EventEmitter<File>();\r\n\r\n private configFiles: ConfigFiles;\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _id: string = `mecx-file-upload-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _progress: number = null;\r\n public _maxSizeErrorMessage: boolean = false;\r\n public _allowedExtensionErrorMessage: boolean = false;\r\n public _uploadErrorMessage: string = '';\r\n\r\n constructor() {}\r\n\r\n private validateFile(file: File): boolean {\r\n const { configFiles } = this;\r\n const { name, size } = file;\r\n\r\n if (configFiles.allowedExtensions) {\r\n const hasAllowedExtensions =\r\n configFiles.allowedExtensions.filter((allow) => {\r\n const extension = name.substr(name.indexOf('.', -name.length));\r\n return (\r\n allow.extension.toLowerCase() === extension.toLowerCase() ||\r\n !MonkeyUtils.persistNullEmptyUndefined(extension)\r\n );\r\n }).length > 0;\r\n if (!hasAllowedExtensions) {\r\n this._allowedExtensionErrorMessage = true;\r\n return false;\r\n }\r\n }\r\n\r\n if (configFiles.maxSize) {\r\n if (size > configFiles.maxSize) {\r\n this._maxSizeErrorMessage = true;\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private handleCallback(\r\n progress: number,\r\n respUploaded: any,\r\n uploadError: string\r\n ) {\r\n this._progress = progress;\r\n this.value = respUploaded;\r\n this._uploadErrorMessage = uploadError;\r\n this.onChange.next(this.value);\r\n }\r\n\r\n ngOnInit() {\r\n this.allowedExtensions = this.allowedExtensions || [\r\n '.jpg',\r\n '.jpeg',\r\n '.png',\r\n '.pdf',\r\n '.txt',\r\n '.xls',\r\n '.xlsx',\r\n ];\r\n let allow: AllowedFile[] = null;\r\n if (this.allowedExtensions.length > 0) {\r\n allow = this.allowedExtensions.map((val) => {\r\n return { extension: val };\r\n });\r\n }\r\n\r\n this.configFiles = {\r\n maxSize: this.maxSize || 5 * 1024 * 1024,\r\n allowedExtensions: allow,\r\n };\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any) {\r\n const { listenFiles } = this;\r\n this._allowedExtensionErrorMessage = false;\r\n this._maxSizeErrorMessage = false;\r\n for (let index = 0; index < event.length; index++) {\r\n const file: File = event[index];\r\n if (this.validateFile(file)) {\r\n if (listenFiles) {\r\n this.onHandleFilesReady.next(file);\r\n } else {\r\n this.fileUpload(file, this.handleCallback.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n const { _id } = this;\r\n (<HTMLInputElement>document.getElementById(_id)).value = null;\r\n document.getElementById(_id).click();\r\n }\r\n\r\n onClear(event: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.value = null;\r\n this.onChange.next(this.value);\r\n }\r\n}\r\n\r\ninterface AllowedFile {\r\n extension: string;\r\n}\r\n\r\ninterface ConfigFiles {\r\n maxSize: number;\r\n allowedExtensions: AllowedFile[];\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyFileUploadComponent } from './file-upload.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [MonkeyFileUploadComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule.forRoot(),\r\n MonkeyIconModule,\r\n ],\r\n exports: [MonkeyFileUploadComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyFileUploadModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n OnInit,\r\n HostListener,\r\n ChangeDetectorRef,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-image-crop',\r\n template: `\r\n <monkey-file-upload\r\n [label]=\"label\"\r\n [helperMessage]=\"helperMessage\"\r\n icon=\"upload-16\"\r\n [placeholder]=\"placeholder\"\r\n [maxSize]=\"maxSize\"\r\n [maxSizeErrorMessage]=\"maxSizeErrorMessage\"\r\n [allowedExtensionErrorMessage]=\"allowedExtensionErrorMessage\"\r\n (onHandleFilesReady)=\"onHandleFileUploadFilesReady($event)\"\r\n listenFiles=\"true\"\r\n [maxFiles]=\"1\"\r\n [allowedExtensions]=\"['.jpg', '.jpeg', '.png']\"\r\n *ngIf=\"!_loadCompleted\"\r\n >\r\n </monkey-file-upload>\r\n <div *ngIf=\"_loadPreview\">\r\n <progress class=\"monkey-progress monkey-progress__grey\"></progress>\r\n </div>\r\n <div class=\"box-cut-title\" *ngIf=\"_loadCompleted\">\r\n {{ cropTitle }} {{ _fileNameToCut }}\r\n </div>\r\n <div\r\n id=\"imageCropSource\"\r\n name=\"imageCropSource\"\r\n #imageCropSource\r\n class=\"box-cut\"\r\n *ngIf=\"_loadCompleted\"\r\n >\r\n <div class=\"edit-resize-cut\">\r\n <img class=\"source-image\" [src]=\"_safeImgDataUrl\" />\r\n <div\r\n class=\"cut\"\r\n [style.top.px]=\"_cutCoords.y1\"\r\n [style.left.px]=\"_cutCoords.x1\"\r\n [style.width.px]=\"_cutCoords.x2 - _cutCoords.x1\"\r\n [style.height.px]=\"_cutCoords.y2 - _cutCoords.y1\"\r\n *ngIf=\"_loadCompleted\"\r\n >\r\n <div\r\n (mousedown)=\"startMove($event, 'move')\"\r\n (touchstart)=\"startMove($event, 'move')\"\r\n class=\"move\"\r\n ></div>\r\n <span\r\n class=\"resize top-left\"\r\n (mousedown)=\"startMove($event, 'resize', 'topleft')\"\r\n (touchstart)=\"startMove($event, 'resize', 'topleft')\"\r\n >\r\n </span>\r\n <span class=\"resize top\"></span>\r\n <span\r\n class=\"resize top-right\"\r\n (mousedown)=\"startMove($event, 'resize', 'topright')\"\r\n (touchstart)=\"startMove($event, 'resize', 'topright')\"\r\n >\r\n </span>\r\n <span class=\"resize right\"></span>\r\n <span\r\n class=\"resize bottom-right\"\r\n (mousedown)=\"startMove($event, 'resize', 'bottomright')\"\r\n (touchstart)=\"startMove($event, 'resize', 'bottomright')\"\r\n >\r\n </span>\r\n <span class=\"resize bottom\"> </span>\r\n <span\r\n class=\"resize bottom-left\"\r\n (mousedown)=\"startMove($event, 'resize', 'bottomleft')\"\r\n (touchstart)=\"startMove($event, 'resize', 'bottomleft')\"\r\n >\r\n </span>\r\n <span class=\"resize left\"> </span>\r\n <span\r\n class=\"resize-bar top\"\r\n (mousedown)=\"startMove($event, 'resize', 'top')\"\r\n (touchstart)=\"startMove($event, 'resize', 'top')\"\r\n >\r\n </span>\r\n <span\r\n class=\"resize-bar right\"\r\n (mousedown)=\"startMove($event, 'resize', 'right')\"\r\n (touchstart)=\"startMove($event, 'resize', 'right')\"\r\n >\r\n </span>\r\n <span\r\n class=\"resize-bar bottom\"\r\n (mousedown)=\"startMove($event, 'resize', 'bottom')\"\r\n (touchstart)=\"startMove($event, 'resize', 'bottom')\"\r\n >\r\n </span>\r\n <span\r\n class=\"resize-bar left\"\r\n (mousedown)=\"startMove($event, 'resize', 'left')\"\r\n (touchstart)=\"startMove($event, 'resize', 'left')\"\r\n >\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <mecx-image-crop-upload-info *ngIf=\"_progress\">\r\n <span [style.width.%]=\"_progress\"> {{ _progress }}%</span>\r\n </mecx-image-crop-upload-info>\r\n <monkey-button\r\n type=\"tertiary\"\r\n color=\"theme\"\r\n (click)=\"onHandleImageChange()\"\r\n *ngIf=\"_loadCompleted\"\r\n >\r\n {{ labelChangeImage }}\r\n </monkey-button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyImageCropComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() cropTitle: string;\r\n @Input() labelChangeImage: string;\r\n @Input() labelPreviewImage: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() maxSize: number;\r\n @Input() maxSizeErrorMessage: string;\r\n @Input() allowedExtensionErrorMessage: string;\r\n @Input() fileUpload: Function;\r\n @Input() onHandleGetFilesReady = new EventEmitter<any>();\r\n @Output() onHandleFilesReady = new EventEmitter<any>();\r\n @Output() onHandlePreviewReady = new EventEmitter<any>();\r\n\r\n public _cutCoords: CutCoords = { y1: 0, y2: 0, x1: 0, x2: 0 };\r\n public _fileTypeToCut: string = '';\r\n public _fileNameToCut: string = '';\r\n public _progressingCut: boolean;\r\n public _loadCompleted: boolean;\r\n public _loadPreview: boolean;\r\n public _safeImgDataUrl: SafeUrl | string;\r\n public _disabled: boolean = false;\r\n public _progress: number = null;\r\n public _uploadErrorMessage: string = '';\r\n\r\n private mouseMoves: MouseMoves;\r\n private areMaxSize: Dimensions = { width: 150, height: 150 };\r\n private cutScaledMinWidth = 100;\r\n private cutScaledMinHeight = 100;\r\n private originalSize: Dimensions = { width: 0, height: 0 };\r\n private fileReader: FileReader = new FileReader();\r\n private originalImage = new Image();\r\n private imageCutReady: Blob = null;\r\n private savedCallback: Function;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private sanitizer: DomSanitizer\r\n ) {}\r\n\r\n private initCut() {\r\n this.areMaxSize = {\r\n width: document.getElementById('imageCropSource').offsetWidth || 150,\r\n height: document.getElementById('imageCropSource').offsetHeight || 150,\r\n };\r\n this._cutCoords = {\r\n x1: this.areMaxSize.width / 2 - this.cutScaledMinWidth,\r\n y1: this.areMaxSize.height / 2 - this.cutScaledMinHeight,\r\n x2: this.areMaxSize.width / 2 + this.cutScaledMinWidth,\r\n y2: this.areMaxSize.height / 2 + this.cutScaledMinHeight,\r\n };\r\n this.cut();\r\n }\r\n\r\n private setProgressingCut(tp: boolean) {\r\n this._progressingCut = tp;\r\n }\r\n\r\n private setProgressLoadCompleted(tp: boolean) {\r\n this._loadCompleted = tp;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setProgressLoadPreview(tp: boolean) {\r\n this._loadPreview = tp;\r\n }\r\n\r\n private cut() {\r\n this.setProgressingCut(true);\r\n const imagePosition = this.getImagePosition();\r\n let width = imagePosition.x2 - imagePosition.x1;\r\n let height = imagePosition.y2 - imagePosition.y1;\r\n const canvas = document.createElement('canvas') as HTMLCanvasElement;\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(\r\n this.originalImage,\r\n imagePosition.x1,\r\n imagePosition.y1,\r\n width,\r\n height,\r\n 0,\r\n 0,\r\n width,\r\n height\r\n );\r\n this.getCanvasBlob(canvas);\r\n }\r\n\r\n private getImagePosition(): CutCoords {\r\n const ratiow =\r\n this.originalSize.width /\r\n document.getElementById('imageCropSource').offsetWidth;\r\n const ratioh =\r\n this.originalSize.height /\r\n document.getElementById('imageCropSource').offsetHeight;\r\n return {\r\n x1: Math.round(this._cutCoords.x1 * ratiow),\r\n y1: Math.round(this._cutCoords.y1 * ratioh),\r\n x2: Math.min(\r\n Math.round(this._cutCoords.x2 * ratiow),\r\n this.originalSize.width\r\n ),\r\n y2: Math.min(\r\n Math.round(this._cutCoords.y2 * ratioh),\r\n this.originalSize.height\r\n ),\r\n };\r\n }\r\n\r\n private getCanvasBlob(cropCanvas: HTMLCanvasElement) {\r\n cropCanvas.toBlob(\r\n (val: Blob) => {\r\n this.imageCutReady = val;\r\n this.setProgressingCut(false);\r\n },\r\n 'image/jpeg',\r\n 0.95\r\n );\r\n }\r\n\r\n private getClientX(event: any): number {\r\n return (\r\n event.clientX ||\r\n (event.touches && event.touches[0] && event.touches[0].clientX)\r\n );\r\n }\r\n\r\n private getClientY(event: any): number {\r\n return (\r\n event.clientY ||\r\n (event.touches && event.touches[0] && event.touches[0].clientY)\r\n );\r\n }\r\n\r\n private resize(event: any): void {\r\n const diffX = this.getClientX(event) - this.mouseMoves.clientX;\r\n const diffY = this.getClientY(event) - this.mouseMoves.clientY;\r\n switch (this.mouseMoves.position) {\r\n case 'left':\r\n this._cutCoords.x1 = Math.min(\r\n this.mouseMoves.x1 + diffX,\r\n this._cutCoords.x2 - this.cutScaledMinWidth\r\n );\r\n break;\r\n case 'topleft':\r\n this._cutCoords.x1 = Math.min(\r\n this.mouseMoves.x1 + diffX,\r\n this._cutCoords.x2 - this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y1 = Math.min(\r\n this.mouseMoves.y1 + diffY,\r\n this._cutCoords.y2 - this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'top':\r\n this._cutCoords.y1 = Math.min(\r\n this.mouseMoves.y1 + diffY,\r\n this._cutCoords.y2 - this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'topright':\r\n this._cutCoords.x2 = Math.max(\r\n this.mouseMoves.x2 + diffX,\r\n this._cutCoords.x1 + this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y1 = Math.min(\r\n this.mouseMoves.y1 + diffY,\r\n this._cutCoords.y2 - this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'right':\r\n this._cutCoords.x2 = Math.max(\r\n this.mouseMoves.x2 + diffX,\r\n this._cutCoords.x1 + this.cutScaledMinWidth\r\n );\r\n break;\r\n case 'bottomright':\r\n this._cutCoords.x2 = Math.max(\r\n this.mouseMoves.x2 + diffX,\r\n this._cutCoords.x1 + this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y2 = Math.max(\r\n this.mouseMoves.y2 + diffY,\r\n this._cutCoords.y1 + this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'bottom':\r\n this._cutCoords.y2 = Math.max(\r\n this.mouseMoves.y2 + diffY,\r\n this._cutCoords.y1 + this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'bottomleft':\r\n this._cutCoords.x1 = Math.min(\r\n this.mouseMoves.x1 + diffX,\r\n this._cutCoords.x2 - this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y2 = Math.max(\r\n this.mouseMoves.y2 + diffY,\r\n this._cutCoords.y1 + this.cutScaledMinHeight\r\n );\r\n break;\r\n }\r\n }\r\n\r\n private move(event: any) {\r\n const diffX = this.getClientX(event) - this.mouseMoves.clientX;\r\n const diffY = this.getClientY(event) - this.mouseMoves.clientY;\r\n\r\n this._cutCoords.x1 = this.mouseMoves.x1 + diffX;\r\n this._cutCoords.y1 = this.mouseMoves.y1 + diffY;\r\n this._cutCoords.x2 = this.mouseMoves.x2 + diffX;\r\n this._cutCoords.y2 = this.mouseMoves.y2 + diffY;\r\n }\r\n\r\n private checkMovesPosition(maintainSize = false): void {\r\n if (this._cutCoords.x1 < 0) {\r\n this._cutCoords.x2 -= maintainSize ? this._cutCoords.x1 : 0;\r\n this._cutCoords.x1 = 0;\r\n }\r\n if (this._cutCoords.y1 < 0) {\r\n this._cutCoords.y2 -= maintainSize ? this._cutCoords.y1 : 0;\r\n this._cutCoords.y1 = 0;\r\n }\r\n if (this._cutCoords.x2 > this.areMaxSize.width) {\r\n this._cutCoords.x1 -= maintainSize\r\n ? this._cutCoords.x2 - this.areMaxSize.width\r\n : 0;\r\n this._cutCoords.x2 = this.areMaxSize.width;\r\n }\r\n if (this._cutCoords.y2 > this.areMaxSize.height) {\r\n this._cutCoords.y1 -= maintainSize\r\n ? this._cutCoords.y2 - this.areMaxSize.height\r\n : 0;\r\n this._cutCoords.y2 = this.areMaxSize.height;\r\n }\r\n }\r\n\r\n private onLoadBeginPreview = (_event) => {\r\n this.setProgressLoadCompleted(false);\r\n this.setProgressLoadPreview(true);\r\n };\r\n\r\n private onLoadEndPreview = (_event) => {\r\n this.originalImage.src = this.fileReader.result.toString();\r\n this.originalImage.onload = () => {\r\n setTimeout(() => {\r\n this.originalSize.width = this.originalImage.width;\r\n this.originalSize.height = this.originalImage.height;\r\n this.setProgressLoadCompleted(true);\r\n this.setProgressLoadPreview(false);\r\n this.initCut();\r\n }, 1000);\r\n };\r\n this._safeImgDataUrl = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n this.fileReader.result.toString()\r\n );\r\n };\r\n\r\n private imagePreview(file: any) {\r\n const { name, type } = file;\r\n this._fileNameToCut = MonkeyUtils.truncate(name);\r\n this._fileTypeToCut = type;\r\n this.fileReader.readAsDataURL(file);\r\n }\r\n\r\n private handleCallback(\r\n progress: number,\r\n respUploaded: any,\r\n uploadError: string\r\n ) {\r\n this._progress = progress;\r\n this._uploadErrorMessage = uploadError;\r\n if (respUploaded) {\r\n this.savedCallback(respUploaded);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n const { onHandleGetFilesReady } = this;\r\n this.fileReader.onloadstart = this.onLoadBeginPreview;\r\n this.fileReader.onload = this.onLoadEndPreview;\r\n\r\n onHandleGetFilesReady.subscribe((val: Function) => {\r\n this.savedCallback = val;\r\n const file = this.imageCutReady\r\n ? MonkeyUtils.handleBlobFile(\r\n this.imageCutReady,\r\n this._fileNameToCut,\r\n this._fileTypeToCut\r\n )\r\n : null;\r\n this.fileUpload(file, this.handleCallback.bind(this));\r\n });\r\n }\r\n\r\n startMove(\r\n event: any,\r\n moveType: string,\r\n position: string | null = null\r\n ): void {\r\n event.preventDefault();\r\n this.mouseMoves = {\r\n active: true,\r\n type: moveType,\r\n position,\r\n clientX: this.getClientX(event),\r\n clientY: this.getClientY(event),\r\n ...this._cutCoords,\r\n };\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n @HostListener('touchmove', ['$event'])\r\n moveImg(event: any): void {\r\n if (this.mouseMoves && this.mouseMoves.active) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (this.mouseMoves.type === 'move') {\r\n this.move(event);\r\n this.checkMovesPosition(true);\r\n } else if (this.mouseMoves.type === 'resize') {\r\n this.resize(event);\r\n this.checkMovesPosition(false);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup')\r\n @HostListener('document:touchend')\r\n moveStop(): void {\r\n if (this.mouseMoves && this.mouseMoves.active) {\r\n this.mouseMoves.active = false;\r\n this.cut();\r\n }\r\n }\r\n\r\n onHandleFileUploadFilesReady(files: any) {\r\n this.imagePreview(files);\r\n }\r\n\r\n onHandleImageChange() {\r\n this.imageCutReady = null;\r\n this._loadCompleted = false;\r\n this._loadPreview = false;\r\n this._fileNameToCut = '';\r\n this._fileTypeToCut = '';\r\n }\r\n\r\n onHandleImagePreview() {\r\n const file = MonkeyUtils.handleBlobFile(\r\n this.imageCutReady,\r\n this._fileNameToCut,\r\n this._fileTypeToCut\r\n );\r\n this.onHandlePreviewReady.next(file);\r\n }\r\n}\r\n\r\ninterface Dimensions {\r\n width: number;\r\n height: number;\r\n}\r\n\r\ninterface CutCoords {\r\n x1?: number;\r\n y1?: number;\r\n x2?: number;\r\n y2?: number;\r\n}\r\n\r\ninterface MouseMoves {\r\n active: boolean;\r\n type: string | null;\r\n position: string | null;\r\n x1?: number;\r\n y1?: number;\r\n x2?: number;\r\n y2?: number;\r\n clientX: number;\r\n clientY: number;\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyImageCropComponent } from './image-crop.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MonkeyFileUploadModule } from '../file-upload';\r\nimport { MonkeyButtonModule } from '../button';\r\n\r\n@NgModule({\r\n declarations: [MonkeyImageCropComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule.forRoot(),\r\n MonkeyButtonModule,\r\n MonkeyFileUploadModule,\r\n ],\r\n exports: [MonkeyImageCropComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyImageCropModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, EventEmitter, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MonkeyModalConfig, MonkeyModalRefs, MonkeyStyleGuideModalService } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-modal',\r\n template: `\r\n <mecx-monkey-modal\r\n [ngClass]=\"\r\n 'mecx-monkey-modal mecx-monkey-modal__' +\r\n (config?.color || 'theme') +\r\n ' mecx-monkey-modal__size-' +\r\n config?.size || 'md'\r\n \"\r\n >\r\n <div class=\"header\" *ngIf=\"config?.title\">\r\n <span class=\"h4\">\r\n {{ config?.title }}\r\n </span>\r\n <span class=\"close\" (click)=\"onClose()\" *ngIf=\"!config?.hideClose\"> x </span>\r\n </div>\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <mecx-monkey-modal-footer\r\n [ngClass]=\"\r\n 'mecx-monkey-modal-footer mecx-monkey-modal-footer__' +\r\n (config?.color || 'theme') +\r\n ' mecx-monkey-modal-footer__size-' +\r\n (config?.size || 'md') +\r\n ' mecx-monkey-modal-footer__' +\r\n ((config?.size || 'md') === 'sm' ? 'column' : 'row')\r\n \"\r\n *ngIf=\"!config?.hideActions\"\r\n >\r\n <monkey-button\r\n [type]=\"config?.action?.cancel?.actionType || 'primary'\"\r\n [color]=\"config?.action?.cancel?.actionColor || config?.color || 'theme'\"\r\n (click)=\"_actionCancel()\"\r\n *ngIf=\"config?.action?.cancel\"\r\n >\r\n {{ config?.action?.cancel?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.confirm?.actionType || 'primary'\"\r\n [color]=\"config?.action?.confirm?.actionColor || config?.color || 'theme'\"\r\n (click)=\"_actionConfirm()\"\r\n *ngIf=\"config?.action?.confirm\"\r\n >\r\n {{ config?.action?.confirm?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.firstAction?.actionType || 'primary'\"\r\n [color]=\"config?.action?.firstAction?.actionColor || 'theme'\"\r\n [icon]=\"config?.action?.firstAction?.icon\"\r\n [iconPosition]=\"config?.action?.firstAction?.iconPosition\"\r\n (click)=\"_firstAction()\"\r\n *ngIf=\"config?.action?.firstAction\"\r\n >\r\n {{ config?.action?.firstAction?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.secondAction?.actionType || 'primary'\"\r\n [color]=\"config?.action?.secondAction?.actionColor || 'theme'\"\r\n [icon]=\"config?.action?.secondAction?.icon\"\r\n [iconPosition]=\"config?.action?.secondAction?.iconPosition\"\r\n (click)=\"_secondAction()\"\r\n *ngIf=\"config?.action?.secondAction\"\r\n >\r\n {{ config?.action?.secondAction?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.thirdAction?.actionType || 'primary'\"\r\n [color]=\"config?.action?.thirdAction?.actionColor || 'theme'\"\r\n [icon]=\"config?.action?.thirdAction?.icon\"\r\n [iconPosition]=\"config?.action?.thirdAction?.iconPosition\"\r\n (click)=\"_thirdAction()\"\r\n *ngIf=\"config?.action?.thirdAction\"\r\n >\r\n {{ config?.action?.thirdAction?.label }}\r\n </monkey-button>\r\n </mecx-monkey-modal-footer>\r\n </mecx-monkey-modal>\r\n <mecx-monkey-modal-background></mecx-monkey-modal-background>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyModalComponent implements OnInit {\r\n @Input() config: MonkeyModalConfig;\r\n @Input() modalRef: MonkeyModalRefs<this>;\r\n @Input() onHandleConfirm = new EventEmitter<any>();\r\n\r\n _actionCancel: Function;\r\n _actionConfirm: Function;\r\n _firstAction: Function;\r\n _secondAction: Function;\r\n _thirdAction: Function;\r\n\r\n constructor(private modalService: MonkeyStyleGuideModalService) {}\r\n\r\n ngOnInit() {\r\n this._actionCancel = () => {\r\n if (this.config?.action?.cancel?.action) {\r\n this.config?.action?.cancel?.action();\r\n }\r\n if (!this.config?.action?.cancel?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n };\r\n this._actionConfirm = () => {\r\n if (this.config?.action?.confirm?.action) {\r\n this.config?.action?.confirm?.action();\r\n if (!this.config?.action?.confirm?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n } else this.onHandleConfirm.next(null);\r\n };\r\n this._firstAction = () => {\r\n if (this.config?.action?.firstAction?.action) {\r\n this.config?.action?.firstAction?.action();\r\n if (!this.config?.action?.firstAction?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n }\r\n };\r\n this._secondAction = () => {\r\n if (this.config?.action?.secondAction?.action) {\r\n this.config?.action?.secondAction?.action();\r\n if (!this.config?.action?.secondAction?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n }\r\n };\r\n this._thirdAction = () => {\r\n if (this.config?.action?.thirdAction?.action) {\r\n this.config?.action?.thirdAction?.action();\r\n if (!this.config?.action?.thirdAction?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n }\r\n };\r\n }\r\n\r\n onClose() {\r\n this.modalService.close(this.modalRef);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyModalComponent } from './modal.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyButtonModule } from '../button';\r\n\r\n@NgModule({\r\n declarations: [MonkeyModalComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyButtonModule],\r\n exports: [MonkeyModalComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyModalModule {}\r\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport {\n Component,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { MonkeyUtils } from '../../core';\n\n@Component({\n selector: 'monkey-expansion',\n template: `\n <mecx-monkey-expansion\n [id]=\"_id\"\n [ngClass]=\"\n ('mecx-monkey-expansion mecx-monkey-expansion__' + color || 'theme') +\n (disabled ? ' disabled' : '')\n \"\n >\n <mecx-monkey-expansion-header *ngIf=\"!open\" (click)=\"onToggleExpand()\">\n <label>\n {{ label }}\n </label>\n <helper>\n {{ helperMessage }}\n </helper>\n <monkey-icon icon=\"arrow-down-16\" [color]=\"'#4B4A53'\"></monkey-icon>\n </mecx-monkey-expansion-header>\n <mecx-monkey-expansion-header\n class=\"open\"\n *ngIf=\"open\"\n (click)=\"onToggleExpand()\"\n >\n <label>\n {{ label }}\n </label>\n <helper>\n {{ helperMessage }}\n </helper>\n <monkey-icon icon=\"arrow-up-16\" [color]=\"'#4B4A53'\"></monkey-icon>\n </mecx-monkey-expansion-header>\n <mecx-monkey-expansion-body *ngIf=\"open\">\n <ng-content></ng-content>\n </mecx-monkey-expansion-body>\n </mecx-monkey-expansion>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MonkeyExpansionComponent {\n @Input() label: string;\n @Input() helperMessage: string;\n @Input() color: string;\n @Input() disabled: boolean = false;\n @Input() open: boolean = false;\n @Output() onChange = new EventEmitter<any>();\n\n public _id: string = `mecx-expansion-${MonkeyUtils.getRandomString(10)}`;\n\n constructor() {}\n\n onToggleExpand() {\n if (!this.disabled) {\n this.open = !this.open;\n this.onChange.next(this.open);\n }\n }\n}\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyExpansionComponent } from './expansion.component';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyIconModule } from '../icon';\n\n@NgModule({\n declarations: [MonkeyExpansionComponent],\n imports: [CommonModule, MonkeyIconModule],\n exports: [MonkeyExpansionComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyExpansionModule {}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-table',\r\n template: `\r\n <mecx-monkey-table>\r\n <mecx-monkey-table-header>\r\n <monkey-checkbox\r\n [value]=\"onHandleSelectedAll()\"\r\n (click)=\"onHandleSelectAll($event)\"\r\n *ngIf=\"selectable\"\r\n ></monkey-checkbox>\r\n <span *ngFor=\"let header of headers\" [style.width]=\"_maxWidth + '%'\">\r\n {{ header }}\r\n </span>\r\n </mecx-monkey-table-header>\r\n <mecx-monkey-table-body>\r\n <mecx-monkey-table-body-row\r\n [class.selected]=\"onHandleSelected(row)\"\r\n *ngFor=\"let row of newDataSource\"\r\n >\r\n <monkey-checkbox\r\n [value]=\"onHandleSelected(row)\"\r\n (click)=\"onHandleSelect($event, row)\"\r\n *ngIf=\"selectable\"\r\n ></monkey-checkbox>\r\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { row: row.data }\"></ng-container>\r\n </mecx-monkey-table-body-row>\r\n </mecx-monkey-table-body>\r\n <mecx-monkey-table-body *ngIf=\"loading\">\r\n <mecx-monkey-table-body-row *ngFor=\"let loading of [1, 2, 3]\">\r\n <progress class=\"monkey-progress monkey-progress__grey-white\"></progress>\r\n </mecx-monkey-table-body-row>\r\n </mecx-monkey-table-body>\r\n </mecx-monkey-table>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyTableComponent implements OnInit, OnChanges {\r\n @Input() headers: string[];\r\n\r\n @Input() dataSource: any[];\r\n\r\n @Input() loading = false;\r\n\r\n @Input() rowTemplate: TemplateRef<any>;\r\n\r\n @Input() selectable = false;\r\n\r\n @Input() callbackValidation = null;\r\n\r\n @Input() callbackValidationAll = null;\r\n\r\n @Input() selectedList = null;\r\n \r\n @Input() functionId: Function;\r\n\r\n @Output() selection = new EventEmitter<any>();\r\n\r\n @Output() selected = new EventEmitter<any>();\r\n\r\n newDataSource: any[];\r\n\r\n private list = [];\r\n\r\n _maxWidth = 100;\r\n\r\n constructor(public elRef: ElementRef) {\r\n //not to do\r\n }\r\n\r\n private emitSelection() {\r\n this.selection.next(this.list);\r\n }\r\n\r\n private handleDataSource() {\r\n this.newDataSource = this.dataSource.map((data) => {\r\n let id = null;\r\n if(this.functionId){\r\n id = this.functionId(data);\r\n }else{\r\n id = MonkeyUtils.getRandomString(20);\r\n }\r\n return { id, data };\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this._maxWidth = 100 / this.headers?.length;\r\n this.elRef.nativeElement.style.setProperty('--mecx-table-column-width', `${this._maxWidth}%`);\r\n }, 0);\r\n this.handleDataSource();\r\n if (this.selectedList) {\r\n this.list = this.selectedList;\r\n this.emitSelection();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n this.handleDataSource();\r\n }\r\n\r\n onHandleSelect(event: MouseEvent, row: any) {\r\n const { callbackValidation } = this;\r\n event.preventDefault();\r\n\r\n const continueValidation = () => {\r\n this.emitSelection();\r\n this.selected.next({ row, selected: this.onHandleSelected(row) });\r\n };\r\n\r\n if (this.onHandleSelected(row)) {\r\n this.list.splice(this.list.indexOf(row), 1);\r\n continueValidation();\r\n } else {\r\n if (callbackValidation) {\r\n callbackValidation(row, () => {\r\n this.list.push(row);\r\n continueValidation();\r\n });\r\n } else {\r\n continueValidation();\r\n }\r\n }\r\n }\r\n\r\n onHandleSelectAll(event: MouseEvent) {\r\n const { callbackValidationAll } = this;\r\n event.preventDefault();\r\n\r\n const continueValidation = () => {\r\n this.emitSelection();\r\n this.selected.next({ row: this.list });\r\n };\r\n\r\n if (!this.list.length) {\r\n if (callbackValidationAll) {\r\n callbackValidationAll(this.newDataSource, (newData = null) => {\r\n if (newData) {\r\n this.list = [...newData];\r\n } else {\r\n this.list = [...this.newDataSource];\r\n }\r\n continueValidation();\r\n });\r\n }\r\n } else {\r\n this.list = [];\r\n continueValidation();\r\n }\r\n }\r\n\r\n onHandleSelected(row: any) {\r\n return !!this.list.find((value) => value.id === row.id);\r\n }\r\n\r\n onHandleSelectedAll() {\r\n return this.list.length === this.newDataSource.length;\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'monkey-table-column',\r\n template: ` <ng-content> </ng-content> `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyTableColumnComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyTableColumnComponent {}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconModule } from '../icon';\r\nimport { MonkeyCheckboxModule } from '../checkbox';\r\nimport { MonkeyTableComponent } from './table.component';\r\nimport { MonkeyTableColumnComponent } from './table-column.component';\r\n\r\n@NgModule({\r\n declarations: [MonkeyTableComponent, MonkeyTableColumnComponent],\r\n imports: [CommonModule, MonkeyIconModule, MonkeyCheckboxModule],\r\n exports: [MonkeyTableComponent, MonkeyTableColumnComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyTableModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n HostListener,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-toggle',\r\n template: `\r\n <mecx-monkey-toggle [id]=\"_id\" [ngClass]=\"{ disabled: disabled }\">\r\n <input type=\"checkbox\" [checked]=\"value\" />\r\n <div [ngClass]=\"'slider-' + value.toString()\"></div>\r\n </mecx-monkey-toggle>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyToggleComponent {\r\n @Input() value: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n public _id: string = `mecx-toggle-${MonkeyUtils.getRandomString(10)}`;\r\n public _open = false;\r\n\r\n constructor() {}\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n if (!this.disabled) {\r\n this.value = !this.value;\r\n this.onChange.next(this.value);\r\n }\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyToggleComponent } from './toggle.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [MonkeyToggleComponent],\n imports: [CommonModule],\n exports: [MonkeyToggleComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyToggleModule {}\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport {\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MonkeyOptionComponent } from '../option';\nimport { MonkeyUtils } from '../../core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'monkey-tab',\n template: `\n <mecx-tab-body [ngClass]=\"position\">\n <ng-content></ng-content>\n </mecx-tab-body>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MonkeyTabComponent),\n multi: true,\n },\n ],\n})\nexport class MonkeyTabComponent implements OnInit {\n @Input() position: string = 'horizontal';\n @Output() onChange = new EventEmitter<any>();\n @Input() selected: any;\n\n @ContentChildren(MonkeyOptionComponent, { descendants: true })\n private options!: QueryList<MonkeyOptionComponent>;\n\n public _selected: MonkeyOptionComponent;\n public _id: string = `mecx-tab-${MonkeyUtils.getRandomString(10)}`;\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n private onHandleSelected() {\n const { _selected } = this;\n this.options.forEach((op) => {\n op.selected = _selected;\n });\n\n let scrollValue = 0;\n if (_selected) {\n const { _id } = this._selected;\n scrollValue = document.getElementById(_id).offsetTop;\n }\n this.cdRef.detectChanges();\n this.onChange.next({\n label: _selected.label,\n value: _selected.value,\n });\n }\n\n private validateOptions() {\n if (!this.options) return;\n this.options.forEach((op) => {\n op.onSelectOption = this.onSelectOption.bind(this);\n op.type = 'select';\n op.selected = null;\n if (`${op.value}`.toLowerCase() === `${this.selected}`.toLowerCase()) {\n this._selected = op;\n op.selected = op;\n }\n });\n }\n\n ngOnInit() {\n setTimeout(() => {\n this.validateOptions();\n }, 0);\n }\n\n onSelectOption(select: MonkeyOptionComponent) {\n this._selected = select;\n const { value } = select;\n this.selected = value;\n this.onHandleSelected();\n }\n}\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyTabComponent } from './tab.component';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyIconModule } from '../icon';\nimport { MonkeyOptionModule } from '../option';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [MonkeyTabComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyOptionModule],\n exports: [MonkeyTabComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyTabModule {}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'monkey-stepper',\r\n template: `\r\n <div [ngClass]=\"position\">\r\n <div class=\"mecx-stepper-body\" *ngFor=\"let step of _totalSteps\">\r\n <div\r\n class=\"mecx-stepper-option mecx-stepper-option__theme\"\r\n [ngClass]=\"{ selected: step === selectedStep, completed: step < selectedStep }\"\r\n ></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyStepperComponent implements OnInit {\r\n @Input() totalSteps: number = 0;\r\n @Input() selectedStep: number = 0;\r\n @Input() position: string = 'horizontal';\r\n\r\n public _totalSteps: number[];\r\n public _selectedStep: number;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n const { totalSteps, selectedStep } = this;\r\n this._totalSteps = new Array(Number(totalSteps)).fill(1).map((step: number, index: number) => {\r\n return step + index;\r\n });\r\n this._selectedStep = Number(selectedStep);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyStepperComponent } from './stepper.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [MonkeyStepperComponent],\r\n imports: [CommonModule, MonkeyIconModule],\r\n exports: [MonkeyStepperComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyStepperModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { MonkeyStyleGuideService } from './core/services/monkey-style-guide.service';\r\nimport { MonkeyStyleGuideSettingsService } from './core/services/settings';\r\nimport { MonkeyStyleGuideThemeSettingsService } from './core/services/settings/monkey-style-guide-theme-settings.service';\r\nimport { MonkeyStyleGuideSnackbarService } from './core/services/snackbar';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [HttpClientModule, CommonModule],\r\n providers: [\r\n MonkeyStyleGuideService,\r\n MonkeyStyleGuideSettingsService,\r\n MonkeyStyleGuideThemeSettingsService,\r\n MonkeyStyleGuideSnackbarService,\r\n ],\r\n})\r\nexport class MonkeyStyleGuideModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence \r\n**************************/\r\nexport * from './lib/components';\r\nexport * from './lib/core';\r\nexport * from './lib/monkey-style-guide.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MonkeyStyleGuideService as ɵa} from './lib/core/services/monkey-style-guide.service';\nexport {MonkeyStyleGuideSettingsService as ɵb} from './lib/core/services/settings';\nexport {MonkeyStyleGuideThemeSettingsService as ɵc} from './lib/core/services/settings/monkey-style-guide-theme-settings.service';\nexport {MonkeyStyleGuideSnackbarService as ɵd} from './lib/core/services/snackbar';"],"names":["Injectable","HttpClient","Inject","DOCUMENT","BehaviorSubject","throwError","Location","ComponentFactoryResolver","ApplicationRef","Injector","Component","ViewEncapsulation","Input","NgModule","CommonModule","NO_ERRORS_SCHEMA","HostListener","ChangeDetectorRef","Subject","takeUntil","Directive","FormsModule","ReactiveFormsModule","EventEmitter","NG_VALUE_ACCESSOR","forwardRef","CurrencyPipe","Output","ViewChild","ElementRef","NgxMaskModule","ContentChildren","Renderer2","DomSanitizer","HttpClientModule"],"mappings":";;;;;;;QAME,iCAAoB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;SAAK;QAElC,qCAAG,GAAH,UAAO,GAAW,EAAE,OAAW;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,OAAO,CAAC,CAAC;SACvC;;;;gBANFA,eAAU;;;gBAHFC,eAAU;;;ICDnB;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjC,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCnOE,8CAAsC,GAAQ;YAAR,QAAG,GAAH,GAAG,CAAK;SAAI;QAE1C,0DAAW,GAAX,UAAY,QAA6B;YAC/C,IAAM,MAAM,GAAQ,QAAQ,CAAC,MAAM,CAAC;YAEpC,IAAI,YAAY,GAAG,IAAI,CAAC;YAExB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK;gBACjE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAQ,CAAC,CAAC,OAAO,CAC1C,UAAC,EAA0B;;wBAA1B,KAAA,aAA0B,EAAzB,UAAU,QAAA,EAAE,YAAY,QAAA;oBACxB,IAAI,UAAU,KAAK,UAAU,EAAE;wBAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAClC,UAAC,EAA0C;;gCAA1C,KAAA,aAA0C,EAAzC,kBAAkB,QAAA,EAAE,oBAAoB,QAAA;4BACxC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,kBAAgB,KAAK,kBAAa,kBAAoB,EACtD,KAAG,oBAAsB,CAC1B,CAAC;4BACF,YAAY,mCACP,YAAY,aACf,GAAC,kBAAgB,KAAK,kBAAa,kBAAoB,IAAG,KAAG,oBAAsB,MACpF,CAAC;yBACH,CACF,CAAC;qBACH;yBAAM;wBACL,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,kBAAgB,KAAK,SAAI,UAAY,EACrC,KAAG,YAAc,CAClB,CAAC;wBACF,YAAY,mCACP,YAAY,aACf,GAAC,kBAAgB,KAAK,SAAI,UAAY,IAAG,KAAG,YAAc,MAC3D,CAAC;qBACH;iBACF,CACF,CAAC;aACH,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;SACrB;QAEO,yDAAU,GAAV,UAAW,QAA6B;YAC9C,IAAM,IAAI,mBACR,GAAG,EACD,+JAA+J,EACjK,IAAI,EAAE,WAAW,IACd,QAAQ,CAAC,IAAI,CACjB,CAAC;YAEF,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CACxC,kBAAkB,EAClB,KAAG,IAAI,CAAC,IAAM,CACf,CAAC;YAEF,IAAI,IAAI,GAAoB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAG,IAAI,CAAC,GAAK,CAAC,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACjC;QAEO,yDAAU,GAAV,UAAW,QAA6B;YACtC,IAAA,KAAK,GAAK,QAAQ,MAAb,CAAc;YAC3B,QAAQ,CAAC,KAAK,GAAG,KAAG,KAAK,CAAC,KAAO,CAAC;YAElC,IAAI,IAAI,GAAoB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAG,KAAK,CAAC,OAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACjC;QAEM,oDAAK,GAAL,UAAM,MAA2B,EAAE,QAAmB;YAC3D,IAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxB,UAAU,CAAC;gBACT,IAAI,QAAQ;oBACV,QAAQ,CAAC;wBACP,YAAY,cAAA;qBACb,CAAC,CAAC;aACN,EAAE,GAAG,CAAC,CAAC;SACT;;;;gBAnFFD,eAAU;;;gDAEIE,WAAM,SAACC,eAAQ;;;ICX9B;;;;;;QAiBE,yCACU,eAAwC,EACxC,0BAAgE;YADhE,oBAAe,GAAf,eAAe,CAAyB;YACxC,+BAA0B,GAA1B,0BAA0B,CAAsC;YAJzD,qBAAgB,GAAyC,IAAIC,oBAAe,CAAC,EAAE,CAAC,CAAC;SAK7F;QAEE,kDAAQ,GAAR,UAAS,WAAmB,EAAE,QAAmB;YAChD,IAAA,KAAoE,IAAI,EAAtE,eAAe,qBAAA,EAAE,gBAAgB,sBAAA,EAAE,0BAA0B,gCAAS,CAAC;YAE/E,eAAe,CAAC,GAAG,CAAM,WAAW,IAAI,yCAAyC,CAAC,CAAC,SAAS,CAAC,UAAC,CAAsB;gBAClH,0BAA0B,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC9C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1B,EAAE,UAAC,GAAsB;gBACxB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACxDC,eAAU,CAAC,GAAG,CAAC,CAAA;aAChB,CAAC,CAAC;SACJ;QAEM,0DAAgB,GAAhB,UAAiB,IAAS,EAAE,QAAmB;YAC9C,IAAA,KAAmD,IAAI,EAArD,gBAAgB,sBAAA,EAAE,0BAA0B,gCAAS,CAAC;YAC9D,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACjD,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;QAEM,kDAAQ,GAAR;YACL,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;SAC7C;;;;gBA9BFL,eAAU;;;gBANF,uBAAuB;gBAIvB,oCAAoC;;;;QCV7C;SAuKC;QAtKe,qCAAyB,GAAhC,UAAiC,EAAO;YAC7C,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;SACrD;QAEa,2BAAe,GAAtB,UAAuB,GAAW;YACvC,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,CAAC;YACpB,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,KAAK,GAAG,MAAM,CAAC;SAC1C;QAEa,2BAAe,GAAtB,UAAuB,IAAY;YACxC,IAAI,IAAI,KAAK,KAAK;gBAAE,OAAO,gBAAgB,CAAC;YAC5C,OAAO,oBAAoB,CAAC;SAC7B;QAEa,kCAAsB,GAA7B,UAA8B,GAAW,EAAE,QAAkB;YAClE,IAAI,CAAC,GAAG;gBAAE,OAAO,GAAG,CAAC;YACrB,IAAI,QAAQ,GAAW,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;gBACnB,QAAQ,GAAG,GAAG;qBACX,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;qBAChC,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC;qBAC5C,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC;qBAClC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;;gBAEnC,QAAQ,GAAG,GAAG;qBACX,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;qBAChC,OAAO,CAAC,uBAAuB,EAAE,UAAU,CAAC;qBAC5C,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAExC,OAAO,CAAG,QAAQ,GAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAG,GAAG,EAAE,UAAI,QAAU,CAAC;SACzE;QAEa,4BAAgB,GAAvB,UAAwB,KAAa,EAAE,EAAoB;YAApB,mBAAA,EAAA,YAAoB;;YAChE,IAAM,KAAK,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,0CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,EAAE,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,0CAAE,IAAI,CAAC,GAAG,CAAC,CAAC;SAClD;QAEa,0BAAc,GAArB,UAAsB,QAAa;YACxC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC1B,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;oBAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;oBAChD,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;oBAAC,CAAC;gBAC7D,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;oBACjD,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,IAAI,CAAC;aACb;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC3D,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC7D,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;oBAChD,OAAO,KAAK,CAAC;iBACd;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;oBAAC,CAAC;gBAC9D,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE;oBAChD,OAAO,KAAK,CAAC;iBACd;gBAED,OAAO,IAAI,CAAC;aACb;;gBAAM,OAAO,KAAK,CAAC;SACrB;QAEa,sBAAU,GAAjB,UAAkB,GAAW;YAClC,IAAM,KAAK,GAAG,IAAI,MAAM,CACtB,4HAA4H,CAC7H,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;QAEa,0BAAc,GAArB,UAAsB,OAAe;YAC1C,OAAO,CAAA,KAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAG,EAAC,MAAM,KAAK,CAAC,CAAC;SAC1D;QAEa,2BAAe,GAAtB,UAAuB,GAAW,EAAE,OAAgB;YACzD,OAAO,GAAG,OAAO,IAAI,gEAAgE,CAAC;YACtF,IAAI,YAAY,GAAW,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;iBACrD,GAAG,CAAC;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;aACnE,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO,YAAY,CAAC;SACrB;QAEa,6BAAiB,GAAxB,UAAyB,KAAU;YACxC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;SACjD;QAEa,kCAAsB,GAA7B,UAA8B,KAAU;YAC7C,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;SAC3D;QAEa,sBAAU,GAAjB,UAAkB,KAAa;YACpC,OAAO,KAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAG,CAAC;SAC5D;QAEa,yBAAa,GAApB,UAAqB,OAAe;YACzC,IAAI,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC;YAC7B,IAAM,QAAQ,GAAW,OAAO;iBAC7B,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;iBAChC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAEtC,OAAO,KAAG,QAAU,CAAC;SACtB;QAEa,0BAAc,GAArB,UAAsB,IAAY;YACvC,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE;gBAC1B,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;aACpB;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;SAClE;QAEa,mBAAO,GAAd,UAAe,IAAW;YAC/B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBACxC,IAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;aAChB;YACD,OAAO,IAAI,CAAC;SACb;QAEa,0BAAc,GAArB,UAAsB,OAAY,EAAE,QAAgB,EAAE,QAAgB;YAC3E,SAAS,UAAU,CAAC,OAAO,EAAE,QAAQ;gBACnC,IAAM,CAAC,GAAG,OAAO,CAAC;gBAClB,CAAC,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAClB,OAAO,CAAC,CAAC;aACV;YAED,IAAI,IAAS,CAAC;YACd,IAAI,CAAE,SAAiB,CAAC,UAAU,EAAE;gBAClC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;aAC1D;iBAAM;gBACL,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/C,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACnC;YACD,OAAO,IAAI,CAAC;SACb;QAEa,oBAAQ,GAAf,UAAgB,IAAY,EAAE,SAAsB;YAAtB,0BAAA,EAAA,cAAsB;YACzD,IAAM,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,IAAI;gBAAE,OAAO,OAAO,CAAC;YAC1B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC;YAElD,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACtC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;YAErC,OAAU,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAI,OAAO,SAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAG,CAAC;SACtE;QAEa,uBAAW,GAAlB;YACG,IAAA,IAAI,GAAK,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAArB,CAAsB;YAClC,IAAI,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACxB,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,WAAW,CAAC,KAAI,CAAC,CAAC;SACvC;0BACF;KAAA;;ICvKD;;;;;IASA,IAAM,KAAK,GAAG;QACZ,OAAO,EAAE,iSAGA;QACT,OAAO,EAAE,w7BAIA;QACT,KAAK,EAAE,icAIE;QACT,QAAQ,EAAE,02BAID;QACT,OAAO,EAAE,2LAEF;KACR,CAAC;IA0BF;QAOE;YANA,aAAQ,GAGF,EAAE,CAAC;YACT,kBAAa,GAAW,EAAE,CAAC;SAEX;QAEhB,8BAAG,GAAH,UAAI,OAAuB,EAAE,QAAgB,EAAE,QAAkB,EAAE,gBAAwB;YACzF,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;aACzB;YACD,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAM,IAAI,CAAC,aAAa,OAAI,CAAC;YAE5D,IAAM,QAAQ,GAAG,WAAW,CAAC;gBAC3B,QAAQ,EAAE,CAAC;aACZ,EAAE,QAAQ,CAAC,CAAC;YAEb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC;SACjG;QAED,iCAAM,GAAN,UAAO,QAAgB;YAAvB,iBAaC;YAZC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,EAAmB;oBAAN,EAAE,gBAAA;gBAAS,OAAA,EAAE,KAAK,QAAQ;aAAA,CAAC,CAAC;YAC7E,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,QAAQ;oBACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,EAAmB;4BAAN,EAAE,gBAAA;wBAAS,OAAA,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE;qBAAA,CAAC,IAAI,EAAE,CAAC;gBACjF,OAAO,CAAC,OAAO,CAAC,SAAS,GAAM,OAAO,CAAC,OAAO,CAAC,SAAS,mBAAgB,CAAC;gBACzE,UAAU,CAAC;oBACT,KAAI,CAAC,aAAa;wBAChB,KAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;oBAC7E,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC3C,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACjC,EAAE,IAAI,CAAC,CAAC;aACV;SACF;QAED,oCAAS,GAAT;YACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;gBAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3C,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACjC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;+BACF;KAAA,IAAA;;QAYC,yCAAoB,cAAwB;YAA5C,iBAKC;YALmB,mBAAc,GAAd,cAAc,CAAU;YAFpC,oBAAe,GAAG,IAAI,CAAC;YAG7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC9B,KAAI,CAAC,QAAQ,EAAE,CAAC;aACjB,CAAC,CAAC;SACJ;QAEO,sDAAY,GAAZ;YACN,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC/B,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC9C,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBACrC;aACF;SACF;QAEO,kDAAQ,GAAR;YAAA,iBAUP;YATC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC;YAEhD,IAAM,aAAa,GAAG;gBACpB,IAAI,OAAO,GAAG,MAAI,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,UAAK,KAAI,CAAC,QAAU,CAAC;gBAC5E,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,KAAK,OAAO,GAAG,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;aACvE,CAAC;YAEF,IAAI,IAAI,CAAC,eAAe;gBAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SACzD;QAEO,8CAAI,GAAJ,UAAK,EAAU;YACb,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;YAClB,IAAA,kBAAkB,GAA6B,MAAM,mBAAnC,EAAE,gBAAgB,GAAW,MAAM,iBAAjB,EAAE,IAAI,GAAK,MAAM,KAAX,CAAY;YAC5D,kBAAkB,GAAG,kBAAkB,IAAI,QAAQ,CAAC;YACpD,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,CAAC;YAE7C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,EAAE,GAAG,KAAG,EAAI,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,6BAA2B,kBAAkB,SAAI,gBAAgB,SAAI,IAAM,CAAC;SAC9G;QAEO,mDAAS,GAAT;YACN,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,8BAA8B,CAAC;YAEpE,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,0BAA0B,CAAC,SAAS,GAAG,sCAAsC,CAAC;SACpF;QAEO,8DAAoB,GAApB;YAEJ,IAAA,KACE,IAAI,OAD4B,EAAxB,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAE,CAC3B;YACT,IAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnD,YAAY,CAAC,SAAS,GAAG,KAAG,KAAO,CAAC;YACpC,YAAY,CAAC,SAAS,GAAG,4CAA4C,CAAC;YAEtE,IAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACrD,cAAc,CAAC,SAAS,GAAG,KAAG,OAAS,CAAC;YACxC,cAAc,CAAC,SAAS,GAAG,mDACzB,MAAM,GAAG,aAAa,GAAG,EAC3B,CAAE,CAAC;YAEH,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;SAC7D;QAEO,qDAAW,GAAX,UAAY,EAAU;YAAtB,iBAwDP;YAtDG,IAAA,KACE,IAAI,OADkB,EAAd,IAAI,UAAA,EAAE,MAAM,YAAE,CACjB;YACT,IAAI,MAAM,EAAE;gBACF,IAAA,KAAK,GAAsB,MAAM,MAA5B,EAAE,SAAO,GAAa,MAAM,QAAnB,EAAE,QAAM,GAAK,MAAM,OAAX,CAAY;gBAC1C,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAEpD,IAAI,mBAAmB,GAAG,IAAI,EAC5B,oBAAoB,GAAG,IAAI,CAAC;gBAC9B,IAAI,KAAK,KAAK,MAAM,EAAE;oBACpB,IAAI,QAAM,EAAE;wBACV,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAClD,mBAAmB,CAAC,IAAI,GAAG,oBAAoB,CAAC;wBAChD,mBAAmB,CAAC,SAAS,GAAG,QAAM,CAAC,KAAK,CAAC;qBAC9C;oBAED,IAAI,SAAO,EAAE;wBACX,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBACnD,oBAAoB,CAAC,IAAI,GAAG,oBAAoB,CAAC;wBACjD,oBAAoB,CAAC,SAAS,GAAG,SAAO,CAAC,KAAK,CAAC;qBAChD;iBACF;qBAAM;oBACL,IAAI,QAAM,EAAE;wBACV,mBAAmB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACvD,mBAAmB,CAAC,SAAS,GAAG,gDAA8C,IAAM,CAAC;wBACrF,mBAAmB,CAAC,SAAS,GAAG,QAAM,CAAC,KAAK,CAAC;qBAC9C;oBAED,IAAI,SAAO,EAAE;wBACX,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxD,oBAAoB,CAAC,SAAS,GAAG,8CAA4C,IAAM,CAAC;wBACpF,oBAAoB,CAAC,SAAS,GAAG,SAAO,CAAC,KAAK,CAAC;qBAChD;iBACF;gBAED,IAAI,mBAAmB,EAAE;oBACvB,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC5C,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACf,QAAM,CAAC,MAAM,EAAE,CAAC;qBACjB,CAAC,CAAC;oBAEH,aAAa,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;iBAChD;gBAED,IAAI,oBAAoB,EAAE;oBACxB,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE;wBAC7C,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACf,SAAO,CAAC,MAAM,EAAE,CAAC;qBAClB,CAAC,CAAC;oBACH,aAAa,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;iBACjD;gBAED,aAAa,CAAC,SAAS,GAAG,6CAA6C,CAAC;gBACxE,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;aAC5D;SACF;QAEO,mDAAS,GAAT;YAEM,IAAA,IAAI,GACZ,IAAI,YADQ,CACP;YAET,IAAM,uBAAuB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9D,uBAAuB,CAAC,SAAS,GAAG,mCAAmC,CAAC;YACxE,uBAAuB,CAAC,SAAS,GAAG,KAAG,KAAK,CAAC,IAAI,CAAG,CAAC;YACrD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;SAC/D;QAEO,gDAAM,GAAN,UAAO,EAAU;YAAjB,iBAeP;YAbG,IAAA,KACE,IAAI,OAD0C,EAAtC,QAAQ,cAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAE,CACzC;YACT,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;YACtB,IAAA,KAAuE,IAAI,EAAzE,mBAAmB,yBAAA,EAAE,0BAA0B,gCAAA,EAAE,eAAe,qBAAS,CAAC;YAClF,mBAAmB,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;YAC5D,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAEjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,eAAe,EACf,QAAQ,EACR,cAAM,QAAC,CAAC,QAAQ,GAAG,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,IAAC,EACzC,gBAAgB,CACjB,CAAC;SACH;QAEO,+CAAK,GAAL,UAAM,EAAU;YACd,IAAA,gBAAgB,GAAK,IAAI,iBAAT,CAAU;YAClC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QAEM,8CAAI,GAAJ,UAAK,MAAsB;YAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAM,EAAE,GAAG,qBAAmB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACd,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;SACF;QAEM,kDAAQ,GAAR;YACG,IAAA,gBAAgB,GAAK,IAAI,iBAAT,CAAU;YAClC,gBAAgB,CAAC,SAAS,EAAE,CAAC;SAC9B;;;;gBAzLFA,eAAU;;;gBAzGFM,eAAQ;;;;QCWf,sCACU,QAAkC,EAClC,MAAsB,EACtB,QAAkB,EAClB,cAAwB;YAJlC,iBASC;YARS,aAAQ,GAAR,QAAQ,CAA0B;YAClC,WAAM,GAAN,MAAM,CAAgB;YACtB,aAAQ,GAAR,QAAQ,CAAU;YAClB,mBAAc,GAAd,cAAc,CAAU;YAN1B,uBAAkB,GAA4C,EAAE,CAAC;YAQvE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;gBAC9B,KAAI,CAAC,QAAQ,EAAE,CAAC;aACjB,CAAC,CAAC;SACJ;QAED,2CAAI,GAAJ,UACE,SAAc,EACd,MAAyB;YAEzB,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAM,YAAY,GAAQ,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAM,MAAM,GAAG;gBACb,EAAE,EAAE,gBAAc,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG;gBACnD,SAAS,EAAE,YAAY;aACxB,CAAC;YAEF,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC;YAExC,IAAM,OAAO,GAAI,YAAY,CAAC,QAAiC;iBAC5D,SAAS,CAAC,CAAC,CAAgB,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEhD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC;SACf;QAED,4CAAK,GAAL,UAAM,GAA0C;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/C,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACtD,UAAC,EAAM;oBAAJ,EAAE,QAAA;gBAAO,OAAA,EAAE,KAAK,GAAG,CAAC,EAAE;aAAA,CAC1B,CAAC;YACF,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;aACpD;SACF;QAED,+CAAQ,GAAR;YAAA,iBASC;YARC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAC7B,UAAC,GAA0C;gBACzC,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC/C,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACzB,CACF,CAAC;YACF,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;SACpD;;;;gBA5DFN,eAAU;;;gBAVTO,6BAAwB;gBADxBC,mBAAc;gBAIdC,aAAQ;gBAEDH,eAAQ;;;;QCSf,2CACU,QAAkC,EAClC,MAAsB,EACtB,QAAkB;YAFlB,aAAQ,GAAR,QAAQ,CAA0B;YAClC,WAAM,GAAN,MAAM,CAAgB;YACtB,aAAQ,GAAR,QAAQ,CAAU;YALpB,uBAAkB,GAA4C,EAAE,CAAC;;SAQxE;QAED,gDAAI,GAAJ,UACE,SAAc,EACd,MAAyB;YAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAM,YAAY,GAAQ,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAM,MAAM,GAAG;gBACb,EAAE,EAAE,gBAAc,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG;gBACnD,SAAS,EAAE,YAAY;aACxB,CAAC;YAEF,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YACtC,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC;YAExC,IAAM,OAAO,GAAI,YAAY,CAAC,QAAiC;iBAC5D,SAAS,CAAC,CAAC,CAAgB,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEhD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC;SACf;QAED,iDAAK,GAAL,UAAM,GAA0C;YAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/C,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACtD,UAAC,EAAM;oBAAJ,EAAE,QAAA;gBAAO,OAAA,EAAE,KAAK,GAAG,CAAC,EAAE;aAAA,CAC1B,CAAC;YACF,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;aACpD;SACF;QAED,oDAAQ,GAAR;YAAA,iBASC;YARC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAC7B,UAAC,GAA0C;gBACzC,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC/C,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACzB,CACF,CAAC;YACF,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;SACpD;;;;gBA1DFN,eAAU;;;gBAVTO,6BAAwB;gBADxBC,mBAAc;gBAIdC,aAAQ;;;ICLV;;;;;;QAQA;YAYW,UAAK,GAAG,CAAC,CAAC;YACV,YAAO,GAAG,KAAK,CAAC;YAElB,QAAG,GAAW,gBAAc,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;SACtE;;;;gBAhBAC,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,6KAMT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;wBAEEC,UAAK;0BACLA,UAAK;;;;QCXR;;;;;gBANCC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAACC,qBAAgB,CAAC;iBAC5B;;;ICTD;;;;;;QA6EE;YAPS,iBAAY,GAAW,MAAM,CAAC;YAG9B,aAAQ,GAAY,KAAK,CAAC;YAC1B,SAAI,GAAuB,IAAI,CAAC;YAEzC,iBAAY,GAAG,KAAK,CAAC;SACL;QAEhB,wCAAQ,GAAR;YACU,IAAA,IAAI,GAAK,IAAI,KAAT,CAAU;YACtB,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;SACF;QAGD,uCAAO,GAAP,UAAQ,KAAU;YAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;aAClC;SACF;;;;gBA/EFL,cAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,ooCAgDT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;;wBAEEC,UAAK;uBACLA,UAAK;+BACLA,UAAK;uBACLA,UAAK;wBACLA,UAAK;2BACLA,UAAK;uBACLA,UAAK;0BAYLI,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ICtFnC;;;;;;QA0DE,uCAAoB,GAAsB;YAAtB,QAAG,GAAH,GAAG,CAAmB;YARjC,SAAI,GAA0B,QAAQ,CAAC;YACvC,iBAAY,GAAG,IAAI,CAAC;YAEtB,iBAAY,GAAG,SAAS,CAAC;YACzB,YAAO,GAAY,KAAK,CAAC;YACzB,QAAG,GAAW,0BAAwB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YACxE,cAAS,GAAY,KAAK,CAAC;;SAIjC;QAGD,gDAAQ,GAAR,UAAS,KAAU;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;QAGD,+CAAO,GAAP,UAAQ,KAAU;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrC,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B;SACF;QAED,6CAAK,GAAL;YAAA,iBAKC;YAJC,UAAU,CAAC;gBACT,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,KAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B,EAAE,EAAE,CAAC,CAAC;SACR;;;;gBArEFN,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,QAAQ,EAAE,o7BA4BT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;gBApCCM,sBAAiB;;;wBAsChBL,UAAK;uBACLA,UAAK;+BACLA,UAAK;2BAWLI,iBAAY,SAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;0BAKzCA,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ICnEnC;;;;;;QAQA;YAkBS,QAAG,GAAG,wBAAsB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAC9D,cAAS,GAAG,KAAK,CAAC;YAClB,kBAAa,GAAG,EAAE,CAAC;SAM3B;QAJC,8CAAQ,GAAR;YACU,IAAA,KAAK,GAAK,IAAI,MAAT,CAAU;YACvB,IAAI,CAAC,aAAa,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SACvC;;;;gBAzBFN,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,6PAOT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;wBAEEC,UAAK;uBACLA,UAAK;uBACLA,UAAK;sBACLA,UAAK;;;ICxBR;;;;;;QAobE,6BAAoB,+BAAgE;YAAhE,oCAA+B,GAA/B,+BAA+B,CAAiC;YAhB3E,UAAK,GAAW,OAAO,CAAC;YAExB,aAAQ,GAAG,KAAK,CAAC;YAEjB,aAAQ,GAAY,KAAK,CAAC;YAEnC,eAAU,GAAG,SAAS,CAAC;YAEvB,UAAK,GAAG,EAAE,CAAC;YAEX,QAAG,GAAG,eAAa,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAOnD,IAAI,CAAC,cAAc,GAAG,IAAIM,YAAO,EAAE,CAAC;SACrC;QAEO,wCAAU,GAAV;YAAA,iBAiCP;YAhCO,IAAA,KAA6D,IAAI,EAA/D,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,+BAA+B,qCAAS,CAAC;YACxE,IAAM,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,GAAG,CAAC,IAAG,CAAC,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC;YAEpE,+BAA+B;iBAC5B,QAAQ,EAAE;iBACV,IAAI,CAACC,mBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACpC,SAAS,CAAC,UAAC,QAAa;gBACvB,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;oBACzC,IAAA,MAAM,GAAK,QAAQ,OAAb,CAAc;oBAE5B,IAAI,YAAY,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBACjC,IAAI,gBAAgB,GAAG,EAAE,EACvB,kBAAkB,GAAG,EAAE,CAAC;wBAC1B,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,CAAC,gBAAgB;4BAAE,gBAAgB,GAAG,OAAO,CAAC;wBAClD,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,IAAI,CAAC,kBAAkB;4BAAE,kBAAkB,GAAG,MAAM,CAAC;wBAErD,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,CAAC;wBAC5D,IAAI,QAAQ,EAAE;4BACZ,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,CAAC,CAAC;yBACzE;qBACF;yBAAM;wBACL,YAAY,GAAG,KAAK,CAAC;qBACtB;oBAED,KAAI,CAAC,UAAU,GAAG,YAAY,CAAC;iBAChC;aACF,CAAC,CAAC;SACN;QAED,sCAAQ,GAAR;YACE,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAED,yCAAW,GAAX;YACE,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAGD,qCAAO,GAAP,UAAQ,KAAU;YAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;aAClC;SACF;;;;gBAxdFT,cAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,m1VA0YT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;gBAnZQ,+BAA+B;;;uBAqZrCC,UAAK;wBAELA,UAAK;2BAELA,UAAK;2BAELA,UAAK;0BA2DLI,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;IC5dnC;QAAA;;;;;gBAACI,cAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;iBACvB;;;4BAEER,UAAK;uBAELA,UAAK;;;QAQ0C,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEF,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,kTAAsD;;iBAEvD;;;QAQiD,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEA,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,oUAAsD;;iBAEvD;;;QAQkD,iDAAiB;QAApE;;;;KAAA,CAAmD,iBAAiB;;gBALnEA,cAAS,SAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,mVAAuD;;iBAExD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,oVAAoD;;iBAErD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,65BAAgD;;iBAEjD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,00BAAgD;;iBAEjD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,+wBAAgD;;iBAEjD;;;QAQ2C,0CAAiB;QAA7D;;;;KAAA,CAA4C,iBAAiB;;gBAL5DA,cAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,k9CAA+C;;iBAEhD;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,04BAAoD;;iBAErD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,s3BAAkD;;iBAEnD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,2sDAAgD;;iBAEjD;;;QAQsD,qDAAiB;QAAxE;;;;KAAA,CAAuD,iBAAiB;;gBALvEA,cAAS,SAAC;oBACT,QAAQ,EAAE,8BAA8B;oBACxC,44BAA4D;;iBAE7D;;;QAQmD,kDAAiB;QAArE;;;;KAAA,CAAoD,iBAAiB;;gBALpEA,cAAS,SAAC;oBACT,QAAQ,EAAE,0BAA0B;oBACpC,kVAAwD;;iBAEzD;;;QAQiD,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEA,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,yRAAsD;;iBAEvD;;;QAQkD,iDAAiB;QAApE;;;;KAAA,CAAmD,iBAAiB;;gBALnEA,cAAS,SAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,gWAAuD;;iBAExD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,8UAAiD;;iBAElD;;;QAQiD,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEA,cAAS,SAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,02BAAqD;;iBAEtD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,4gBAAiD;;iBAElD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,kdAAiD;;iBAElD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,09BAAgD;;iBAEjD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,y9BAAmD;;iBAEpD;;;QAQmD,kDAAiB;QAArE;;;;KAAA,CAAoD,iBAAiB;;gBALpEA,cAAS,SAAC;oBACT,QAAQ,EAAE,0BAA0B;oBACpC,mwCAAwD;;iBAEzD;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,+nIAAoD;;iBAErD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,4xBAAkD;;iBAEnD;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,qnCAAoD;;iBAErD;;;QAQkD,iDAAiB;QAApE;;;;KAAA,CAAmD,iBAAiB;;gBALnEA,cAAS,SAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,o+BAAuD;;iBAExD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,o+BAAkD;;iBAEnD;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,svBAAoD;;iBAErD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,stBAAgD;;iBAEjD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,2rBAAiD;;iBAElD;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,6sBAAqD;;iBAEtD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,8eAAiD;;iBAElD;;;QAQiD,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEA,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,+yCAAsD;;iBAEvD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,+qBAAoD;;iBAErD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,4WAAkD;;iBAEnD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,s3BAAgD;;iBAEjD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,qhCAAgD;;iBAEjD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,65BAAmD;;iBAEpD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,wnBAAgD;;iBAEjD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,+9BAAiD;;iBAElD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,sjCAAgD;;iBAEjD;;;QAQmD,kDAAiB;QAArE;;;;KAAA,CAAoD,iBAAiB;;gBALpEA,cAAS,SAAC;oBACT,QAAQ,EAAE,0BAA0B;oBACpC,60BAAwD;;iBAEzD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,kwBAAiD;;iBAElD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,kvBAAkD;;iBAEnD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,4lBAAgD;;iBAEjD;;;QAQiD,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEA,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,qwBAAsD;;iBAEvD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,ydAAgD;;iBAEjD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,2xIAAmD;;iBAEpD;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,ixBAAoD;;iBAErD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,wqDAAkD;;iBAEnD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,g7BAAmD;;iBAEpD;;;QAQsD,qDAAiB;QAAxE;;;;KAAA,CAAuD,iBAAiB;;gBALvEA,cAAS,SAAC;oBACT,QAAQ,EAAE,6BAA6B;oBACvC,qqGAA2D;;iBAE5D;;;QAOiD,gDAAiB;QAAnE;;;;KAAA,CAAkD,iBAAiB;;gBALlEA,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,4hCAAsD;;iBAEvD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,23CAAiD;;iBAElD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,giKAAgD;;iBAEjD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,ojCAAmD;;iBAEpD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,seAAkD;;iBAEnD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,qmBAAkD;;iBAEnD;;;QAQqD,oDAAiB;QAAvE;;;;KAAA,CAAsD,iBAAiB;;gBALtEA,cAAS,SAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,+/BAA0D;;iBAE3D;;;QAQgD,+CAAiB;QAAlE;;;;KAAA,CAAiD,iBAAiB;;gBALjEA,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,wmIAAoD;;iBAErD;;;QAQ6C,4CAAiB;QAA/D;;;;KAAA,CAA8C,iBAAiB;;gBAL9DA,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,ipCAAiD;;iBAElD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,0yBAAkD;;iBAEnD;;;QAQ4C,2CAAiB;QAA9D;;;;KAAA,CAA6C,iBAAiB;;gBAL7DA,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,guBAAgD;;iBAEjD;;;QAQ8C,6CAAiB;QAAhE;;;;KAAA,CAA+C,iBAAiB;;gBAL/DA,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,u3CAAkD;;iBAEnD;;;QAQ+C,8CAAiB;QAAjE;;;;KAAA,CAAgD,iBAAiB;;gBALhEA,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,q+BAAmD;;iBAEpD;;;;QCnUD;;;;;gBAzECG,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,uBAAuB;wBACvB,uBAAuB;wBACvB,uBAAuB;wBACvB,sBAAsB;wBACtB,2BAA2B;wBAC3B,yBAAyB;wBACzB,uBAAuB;wBACvB,iCAAiC;wBACjC,8BAA8B;wBAC9B,4BAA4B;wBAC5B,6BAA6B;wBAC7B,wBAAwB;wBACxB,4BAA4B;wBAC5B,wBAAwB;wBACxB,wBAAwB;wBACxB,uBAAuB;wBACvB,0BAA0B;wBAC1B,8BAA8B;wBAC9B,2BAA2B;wBAC3B,yBAAyB;wBACzB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,yBAAyB;wBACzB,2BAA2B;wBAC3B,uBAAuB;wBACvB,wBAAwB;wBACxB,2BAA2B;wBAC3B,wBAAwB;wBACxB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,yBAAyB;wBACzB,uBAAuB;wBACvB,uBAAuB;wBACvB,0BAA0B;wBAC1B,uBAAuB;wBACvB,wBAAwB;wBACxB,uBAAuB;wBACvB,8BAA8B;wBAC9B,wBAAwB;wBACxB,yBAAyB;wBACzB,uBAAuB;wBACvB,4BAA4B;wBAC5B,uBAAuB;wBACvB,0BAA0B;wBAC1B,2BAA2B;wBAC3B,yBAAyB;wBACzB,0BAA0B;wBAC1B,iCAAiC;wBACjC,4BAA4B;wBAC5B,wBAAwB;wBACxB,uBAAuB;wBACvB,0BAA0B;wBAC1B,yBAAyB;wBACzB,yBAAyB;wBACzB,gCAAgC;wBAChC,2BAA2B;wBAC3B,wBAAwB;wBACxB,yBAAyB;wBACzB,uBAAuB;wBACvB,yBAAyB;wBACzB,0BAA0B;qBAC3B;oBACD,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAACC,qBAAgB,CAAC;iBAC5B;;;;QCzHD;;;;;gBAdCF,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,6BAA6B;wBAC7B,2BAA2B;qBAC5B;oBACD,OAAO,EAAE,CAACC,mBAAY,EAAEO,iBAAW,EAAEC,yBAAmB,EAAE,gBAAgB,CAAC;oBAC3E,OAAO,EAAE;wBACP,qBAAqB;wBACrB,6BAA6B;wBAC7B,2BAA2B;qBAC5B;oBACD,OAAO,EAAE,CAACP,qBAAgB,CAAC;iBAC5B;;;ICrBD;;;;;;QA6JE,8BACU,YAA0B,EAC1B,eAAgD,EAChD,GAAsB;YAFtB,iBAAY,GAAZ,YAAY,CAAc;YAC1B,oBAAe,GAAf,eAAe,CAAiC;YAChD,QAAG,GAAH,GAAG,CAAmB;YAzCvB,SAAI,GAAW,gBAAc,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAE/D,kBAAa,GAAW,EAAE,CAAC;YAC3B,gBAAW,GAAW,EAAE,CAAC;YAOzB,cAAS,GAAW,GAAG,CAAC;YAQxB,iBAAY,GAAG,KAAK,CAAC;YACpB,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAIrC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAErC,QAAG,GAAW,gBAAc,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAC9D,cAAS,GAAY,KAAK,CAAC;YAG3B,kBAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,YAAO,GAAG,EAAE,CAAC;SAWhB;QAEI,0CAAW,GAAX,UAAY,KAAU,EAAE,KAAa;YAAb,sBAAA,EAAA,aAAa;YAC3C,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO,WAAW,CAAC,iBAAiB,CAAC,KAAG,KAAO,CAAC,CAAC;aAClD;iBAAM,IAAI,IAAI,CAAC,gBAAgB;gBAAE,OAAO,WAAW,CAAC,sBAAsB,CAAC,KAAG,KAAO,CAAC,CAAC;iBACnF,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAA,KAAG,KAAO,EAAC,WAAW,EAAE,CAAC;iBACpD,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAA,KAAG,KAAO,EAAC,WAAW,EAAE,CAAC;iBACpD,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO,WAAW,CAAC,UAAU,CAAC,CAAA,KAAG,KAAO,EAAC,WAAW,EAAE,CAAC,CAAC;iBAC7E,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;gBACtC,OAAO,WAAW,CAAC,iBAAiB,CAAC,KAAG,KAAO,CAAC,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;aACtE;YAED,OAAO,KAAK,CAAC;SACd;QAEO,0CAAW,GAAX,UAAY,KAAU;;YACpB,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;YAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,KAAK;oBAAE,KAAK,GAAG,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAChC,KAAK,EACL,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,IAAI,KAAI,KAAK,EACjC,EAAE,EACF,OAAO,EACP,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,MAAM,KAAI,OAAO,CACtC,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvB,OAAO,KAAG,KAAO,CAAC;aACnB;YAED,OAAO,KAAK,CAAC;SACd;QAEO,2CAAY,GAAZ;;YACE,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;YAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG;oBACb,GAAG,EAAE,IAAI;oBACT,GAAG,EAAE,KAAK;iBACX,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,IAAI,KAAI,KAAK,CAAC,CAAC;aACtC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;aACpB;SACF;QAED,uCAAQ,GAAR;YAAA,iBAOC;YANS,IAAA,eAAe,GAAK,IAAI,gBAAT,CAAU;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,eAAe,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,UAAC,GAAwB;gBAC5D,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,KAAI,CAAC,YAAY,EAAE,CAAC;aACrB,CAAC,CAAC;SACJ;QAED,+CAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,gDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,+CAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,uCAAK;iBAQT;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAXD,UACU,KAAU;gBAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACxC;;;WAAA;QAMD,yCAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,4CAAa,GAAb,UAAc,KAAU;YACtB,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7B;QAED,oDAAqB,GAArB;YACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;SAC5D;QAGD,sCAAO,GAAP;;YACE,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,0CAAE,oBAAoB,CAAC,OAAO,CAAC,0CAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAC;SACjF;QAED,yCAAU,GAAV,UAAW,KAAU;YACnB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;gBACpD,OAAO,GAAG,OAAO,CAAC;aACnB;iBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAChC,OAAO,GAAG,cAAc,CAAC;aAC1B;YAED,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACvC,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF;;;;gBA5PFb,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,ylFAkFT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,oBAAoB,GAAA,CAAC;4BACnD,KAAK,EAAE,IAAI;yBACZ;wBACDC,mBAAY;qBACb;iBACF;;;gBAhHQA,mBAAY;gBAeZ,+BAA+B;gBAHtCT,sBAAiB;;;uBAsGhBL,UAAK;wBACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;uBACLA,UAAK;yBACLA,UAAK;4BACLA,UAAK;6BACLA,UAAK;mCACLA,UAAK;4BACLA,UAAK;4BACLA,UAAK;6BACLA,UAAK;2BACLA,UAAK;0BACLA,UAAK;+BACLA,UAAK;2BACLe,WAAM;8BAcNC,cAAS,SAAC,aAAa,EAAE;wBACxB,MAAM,EAAE,IAAI;qBACb;wBA0EAhB,UAAK;0BA8BLI,iBAAY,SAAC,OAAO;;;IClQvB;;;;;;QAkHE,oCACU,UAAsB,EACtB,YAA0B,EAC1B,eAAgD;YAFhD,eAAU,GAAV,UAAU,CAAY;YACtB,iBAAY,GAAZ,YAAY,CAAc;YAC1B,oBAAe,GAAf,eAAe,CAAiC;YAfhD,aAAQ,GAAG,IAAIO,iBAAY,EAAO,CAAC;YAIrC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAGrC,QAAG,GAAW,gBAAc,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAC9D,cAAS,GAAY,KAAK,CAAC;SAO9B;QAEI,gDAAW,GAAX,UAAY,KAAU;;YACpB,IAAA,QAAQ,GAAK,IAAI,SAAT,CAAU;YAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBACjC,OAAO,WAAW,CAAC,iBAAiB,CAAC,KAAG,KAAO,CAAC,CAAC;aAClD;iBAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;gBAC5C,OAAO,WAAW,CAAC,sBAAsB,CAAC,KAAG,KAAO,CAAC,CAAC;iBACnD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAA,KAAG,KAAO,EAAC,WAAW,EAAE,CAAC;iBAClE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAA,KAAG,KAAO,EAAC,WAAW,EAAE,CAAC;iBAClE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,WAAW,CAAC,UAAU,CAAC,CAAA,KAAG,KAAO,EAAC,WAAW,EAAE,CAAC,CAAC;iBAC3F,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACpC,IAAM,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAChC,QAAQ,GAAG,GAAG,EACd,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,IAAI,KAAI,KAAK,EACjC,QAAQ,EACR,EAAE,EACF,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,0CAAE,MAAM,KAAI,OAAO,CACtC,CAAC;aACH;YAED,OAAO,KAAK,CAAC;SACd;QAED,6CAAQ,GAAR;YAAA,iBAMC;YALS,IAAA,eAAe,GAAK,IAAI,gBAAT,CAAU;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,eAAe,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,UAAC,GAAwB;gBAC5D,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;aACrB,CAAC,CAAC;SACJ;QAED,qDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,sDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,qDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,6CAAK;iBAMT;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBATD,UACU,KAAU;gBAClB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;;;WAAA;QAMD,+CAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,kDAAa,GAAb,UAAc,KAAU;YAAxB,iBAaC;YAZS,IAAA,KAAK,GAAK,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,OAAlB,CAAmB;YAChC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;gBACtB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B,EAAE,GAAG,CAAC,CAAC;SACT;QAED,0DAAqB,GAArB;YACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;SAC5D;QAGD,4CAAO,GAAP,UAAQ,KAAU;YACR,IAAA,GAAG,GAAK,IAAI,IAAT,CAAU;YACrB,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SACtC;;;;gBApLFb,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,koDAmDT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,0BAA0B,GAAA,CAAC;4BACzD,KAAK,EAAE,IAAI;yBACZ;wBACDC,mBAAY;qBACb;iBACF;;;gBAvECG,eAAU;gBARHH,mBAAY;gBAaZ,+BAA+B;;;uBAoErCd,UAAK;wBACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;uBACLA,UAAK;yBACLA,UAAK;6BACLA,UAAK;mCACLA,UAAK;4BACLA,UAAK;4BACLA,UAAK;6BACLA,UAAK;2BACLA,UAAK;2BACLe,WAAM;wBA6DNf,UAAK;0BAkCLI,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;QCjLnC;;;;;gBAZCH,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;oBAChE,OAAO,EAAE;wBACPC,mBAAY;wBACZO,iBAAW;wBACXC,yBAAmB;wBACnBQ,qBAAa,CAAC,OAAO,EAAE;wBACvB,gBAAgB;qBACjB;oBACD,OAAO,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;oBAC3D,OAAO,EAAE,CAACf,qBAAgB,CAAC;iBAC5B;;;ICnBD;;;;;;QAwEE,+BAAmB,KAAiB;YAAjB,UAAK,GAAL,KAAK,CAAY;YAV3B,SAAI,GAAW,QAAQ,CAAC;YAKxB,gBAAW,GAAG,IAAI,CAAC;YAGrB,QAAG,GAAW,iBAAe,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;;SAIrE;QAGD,uCAAO,GAAP,UAAQ,KAAU;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aAC3B;SACF;;;;gBAlEFL,cAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,q7BAgCT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,qBAAqB,GAAA,CAAC;4BACpD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBAhDCI,eAAU;;;uBAkDTjB,UAAK;wBACLA,UAAK;wBACLA,UAAK;4BACLA,UAAK;2BACLA,UAAK;8BACLA,UAAK;iCACLe,WAAM;0BAQNX,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;QC1DnC;;;;;gBAdCH,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACPC,mBAAY;qBACb;oBACD,OAAO,EAAE;wBACP,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACPC,qBAAgB;qBACjB;iBACF;;;ICjBD;;;;;;QAoGE,+BAAoB,KAAwB;YAAxB,UAAK,GAAL,KAAK,CAAmB;YAlBnC,gBAAW,GAAG,WAAW,CAAC;YAC1B,oBAAe,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YACzC,aAAQ,GAAG,IAAIA,iBAAY,EAAO,CAAC;YAMrC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAKrC,YAAO,GAAY,KAAK,CAAC;YACzB,QAAG,GAAW,iBAAe,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAC/D,cAAS,GAAY,KAAK,CAAC;SAEc;QAExC,gDAAgB,GAAhB;YACA,IAAA,KAAyB,IAAI,EAA3B,OAAO,aAAA,EAAE,SAAS,eAAS,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,EAAE;gBACX,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,SAAS,EAAE;oBACL,IAAA,GAAG,GAAK,IAAI,CAAC,SAAS,IAAnB,CAAoB;oBAC/B,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;iBACtD;gBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC5B;SACF;QAEO,+CAAe,GAAf;YAAA,iBAWP;YAVC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,WAAW,EAAE,KAAK,CAAA,KAAG,KAAI,CAAC,YAAc,EAAC,WAAW,EAAE,EAAE;oBACxE,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBACpB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAClB;aACF,CAAC,CAAC;SACJ;QAEO,oCAAI,GAAJ;YAAA,iBAKP;YAJC,UAAU,CAAC;gBACT,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC;SACP;QAED,gDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,iDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,gDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,wCAAK;iBAST;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAZD,UACU,KAAU;gBAClB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;;;WAAA;QAMD,0CAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,6CAAa,GAAb,UAAc,KAAU,EAAE,KAAU;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QAGD,wCAAQ,GAAR;YACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAED,oCAAI,GAAJ;YAAA,iBAOC;YANC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,gBAAgB,EAAE,CAAC;iBACzB,EAAE,EAAE,CAAC,CAAC;aACR;SACF;QAED,wCAAQ,GAAR;YAAA,iBAKC;YAJC,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;gBAC7B,KAAI,CAAC,IAAI,EAAE,CAAC;aACb,CAAC,CAAC;SACJ;QAED,2CAAW,GAAX;YACE,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,8CAAc,GAAd,UAAe,MAA6B;YAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAChB,IAAA,KAAK,GAAK,MAAM,MAAX,CAAY;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;;;gBAtLFb,cAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,2xCAsCT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,qBAAqB,GAAA,CAAC;4BACpD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBAzDCR,sBAAiB;;;wBA2DhBL,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;kCACLA,UAAK;2BACLe,WAAM;gCAENC,cAAS,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAM3CG,oBAAe,SAAC,qBAAqB;wBA2DrCnB,UAAK;2BAyBLI,iBAAY,SAAC,gBAAgB;;;IChLhC;;;;;;QAuGE,uCAAoB,KAAwB;YAAxB,UAAK,GAAL,KAAK,CAAmB;YAlBlC,aAAQ,GAAG,IAAIO,iBAAY,EAAO,CAAC;YAKrC,iBAAY,GAAU,EAAE,CAAC;YACzB,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAGpC,gBAAW,GAAG,KAAK,CAAC;YAErB,cAAS,GAA4B,EAAE,CAAC;YACxC,YAAO,GAAY,KAAK,CAAC;YACzB,QAAG,GAAW,iBAAe,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAC/D,cAAS,GAAY,KAAK,CAAC;YAC3B,oBAAe,GAAG,EAAE,CAAC;SAEoB;QAExC,8DAAsB,GAAtB;YACA,IAAA,KAAiC,IAAI,EAAnC,SAAS,eAAA,EAAE,eAAe,qBAAS,CAAC;YAC5C,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,SAAS,GAAA,CAAC,CAAC;YACtD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,cAAc,GAAG,KAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAO,CAAC;gBACvC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzB,cAAc,GAAM,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,SAAI,eAAe,UAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;iBACjF;aACF;YACD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;SACvC;QAEO,wDAAgB,GAAhB;;YACA,IAAA,KAAyB,IAAI,EAA3B,OAAO,aAAA,EAAE,SAAS,eAAS,CAAC;YACpC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,UAAC,EAAE;gBACvB,IAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,UAAC,GAAQ;oBACzC,OAAO,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC;iBAC/B,CAAC,CAAC;gBACH,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IAAI,EAAE,CAAC,SAAS;oBAAE,SAAS,GAAG,EAAE,CAAC;gBACjC,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACjB,cAAc,IAAI,CAAC,CAAC;iBACrB;aACF,CAAC,CAAC;YACH,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,IAAG,CAAC,KAAK,cAAc,IAAI,SAAS,EAAE;gBAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC;aAChC;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAE9B,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC5B;SACF;QAEO,uDAAe,GAAf;YAAA,iBAwBP;;YAvBC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,UAAC,EAAE;gBACvB,EAAE,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,GAAG,iBAAiB,CAAC;gBAC5B,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IAAI,EAAE,CAAC,SAAS;oBAAE,SAAS,GAAG,EAAE,CAAC;gBACjC,IAAM,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAC,GAAQ;oBACjD,OAAO,CAAA,KAAG,GAAK,EAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;iBAC7E,CAAC,CAAC;gBACH,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACjB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxB,cAAc,IAAI,CAAC,CAAC;iBACrB;aACF,CAAC,CAAC;YACH,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,IAAG,CAAC,KAAK,cAAc,IAAI,SAAS,EAAE;gBAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC;aAChC;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QAED,wDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,yDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,wDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,gDAAK;iBAaT;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpC;iBAhBD,UACU,KAAU;gBADpB,iBAYC;;gBAVC,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;wBACzC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAC,UAAC,EAAO;4BACjC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBAC5B,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;qBAC5B;iBACF;gBACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;;;WAAA;QAMD,kDAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,qDAAa,GAAb,UAAc,KAAU,EAAE,KAAU;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB;QAGD,gDAAQ,GAAR;YACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAED,4CAAI,GAAJ;YAAA,iBAOC;YANC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,gBAAgB,EAAE,CAAC;iBACzB,EAAE,EAAE,CAAC,CAAC;aACR;SACF;QAED,uDAAe,GAAf;YAAA,iBAUC;YATC,UAAU,CAAC;gBACT,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC;YAEN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC7B,UAAU,CAAC;oBACT,KAAI,CAAC,eAAe,EAAE,CAAC;iBACxB,EAAE,CAAC,CAAC,CAAC;aACP,CAAC,CAAC;SACJ;QAED,sDAAc,GAAd,UAAe,QAA+B;YAA9C,iBA6BC;;YA5BC,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACtB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,UAAC,EAAE;wBACvB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBACzB,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAA,CAAC,CAAC;gBACnF,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,EAAyB;wBAC/D,QACE,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAA,KAAG,QAAQ,CAAC,KAAO,EAAC,IAAI,EAAE,CAAC,WAAW,EAAE;4BAC/E,CAAC,EAAE,CAAC,SAAS,EACb;qBACH,CAAC,CAAC;iBACJ;;oBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtC;YACD,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS;iBACzB,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,CAAC,SAAS,GAAA,CAAC;iBAC/B,GAAG,CAAC,UAAC,GAAQ;gBACZ,OAAO,GAAG,CAAC,KAAK,CAAC;aAClB,CAAC,CAAC;YAEL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;;;gBAhPFb,cAAS,SAAC;oBACT,QAAQ,EAAE,wBAAwB;oBAClC,QAAQ,EAAE,4xCAuCT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,6BAA6B,GAAA,CAAC;4BAC5D,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBA3DCR,sBAAiB;;;wBA6DhBL,UAAK;kCACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;2BACLe,WAAM;gCAENC,cAAS,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAM3CG,oBAAe,SAAC,qBAAqB;wBA0FrCnB,UAAK;2BA4BLI,iBAAY,SAAC,gBAAgB;;;ICnNhC;;;;;;QA8GE,qCAAoB,KAAwB,EAAU,QAAmB;YAArD,UAAK,GAAL,KAAK,CAAmB;YAAU,aAAQ,GAAR,QAAQ,CAAW;YAxBhE,gBAAW,GAAG,WAAW,CAAC;YAE1B,oBAAe,GAAG,IAAIO,iBAAY,EAAO,CAAC;YACzC,aAAQ,GAAG,IAAIA,iBAAY,EAAO,CAAC;YACnC,aAAQ,GAAG,IAAIA,iBAAY,CAAM,IAAI,CAAC,CAAC;YASzC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAMrC,YAAO,GAAY,KAAK,CAAC;YACzB,QAAG,GAAW,wBAAsB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YACtE,cAAS,GAAY,KAAK,CAAC;;SAIjC;QAEO,oDAAc,GAAd,UAAe,MAAW;YAA1B,iBAeP;YAdC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,IAAM,MAAM,GAAG,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,WAAW,EAAE,CAAC;gBAC3C,IAAM,WAAW,GAAG,CAAA,KAAG,MAAQ,EAAC,WAAW,EAAE,CAAC;gBAC9C,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;oBACpC,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBACrE;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBACrE;gBACD,IAAI,OAAO,GAAG,QAAQ,CAAC;gBACvB,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;oBACtC,OAAO,GAAG,MAAM,CAAC;iBAClB;gBACD,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aACpE,CAAC,CAAC;SACJ;QAEO,sDAAgB,GAAhB;YACA,IAAA,KAAyB,IAAI,EAA3B,OAAO,aAAA,EAAE,SAAS,eAAS,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,EAAE;gBACX,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,SAAS,EAAE;oBACL,IAAA,GAAG,GAAK,IAAI,CAAC,SAAS,IAAnB,CAAoB;oBAC/B,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;iBAC3D;gBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC5B;SACF;QAEO,qDAAe,GAAf;YAAA,iBAqBP;YApBS,IAAA,cAAc,GAAK,IAAI,eAAT,CAAU;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;;gBACtB,EAAE,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,GAAG,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,KAAI,QAAQ,CAAC;gBAC/B,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,cAAc,EAAE;oBAClB,MAAM,GAAG,CAAA,KAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAG,EAAC,WAAW,EAAE,CAAC;oBACrD,WAAW,GAAG,CAAA,MAAG,MAAA,KAAI,CAAC,YAAY,0CAAG,cAAc,CAAC,CAAE,EAAC,WAAW,EAAE,CAAC;iBACtE;qBAAM;oBACL,MAAM,GAAG,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,WAAW,EAAE,CAAC;oBACrC,WAAW,GAAG,CAAA,KAAG,KAAI,CAAC,YAAc,EAAC,WAAW,EAAE,CAAC;iBACpD;gBACD,IAAI,MAAM,KAAK,WAAW,EAAE;oBAC1B,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBACpB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAClB;aACF,CAAC,CAAC;SACJ;QAEO,8CAAQ,GAAR,UAAS,MAAc;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAEO,0CAAI,GAAJ;YAAA,iBAKP;YAJC,UAAU,CAAC;gBACT,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC;SACP;QAED,sDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,uDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,sDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,8CAAK;iBAST;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAZD,UACU,KAAU;gBAClB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;;;WAAA;QAMD,gDAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,mDAAa,GAAb,UAAc,KAAU,EAAE,KAAU;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QAGD,8CAAQ,GAAR;YACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAED,0CAAI,GAAJ;YAAA,iBAQC;YAPC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,UAAU,CAAC;;oBACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,gBAAgB,EAAE,CAAC;oBACxB,CAAC,MAAA,KAAI,CAAC,WAAW,0CAAE,aAAkC,EAAC,KAAK,EAAE,CAAC;iBAC/D,EAAE,EAAE,CAAC,CAAC;aACR;SACF;QAED,qDAAe,GAAf;YAAA,iBAKC;YAJC,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;gBAC7B,KAAI,CAAC,IAAI,EAAE,CAAC;aACb,CAAC,CAAC;SACJ;QAED,iDAAW,GAAX;YACE,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;QAED,oDAAc,GAAd,UAAe,MAA6B;YAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAChB,IAAA,KAAK,GAAK,MAAM,MAAX,CAAY;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,mDAAa,GAAb,UAAc,KAAU;YAAxB,iBAQC;YAPS,IAAA,KAAK,GAAK,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,OAAlB,CAAmB;YAChC,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;YACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;gBACtB,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACtB,EAAE,GAAG,CAAC,CAAC;SACT;;;;gBA9OFb,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,85CAyCT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,2BAA2B,GAAA,CAAC;4BAC1D,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBA7DCR,sBAAiB;gBAGjBe,cAAS;;;wBA4DRpB,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;iCACLA,UAAK;kCACLA,UAAK;2BACLe,WAAM;2BACNA,WAAM;gCAENC,cAAS,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;8BAG3CA,cAAS,SAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAMzCG,oBAAe,SAAC,qBAAqB;wBAgGrCnB,UAAK;2BAyBLI,iBAAY,SAAC,gBAAgB;;;IC9NhC;;;;;;QAiFE,qCAAoB,KAAwB;YAAxB,UAAK,GAAL,KAAK,CAAmB;YAhBlC,aAAQ,GAAG,IAAIO,iBAAY,EAAO,CAAC;YAMrC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAKrC,YAAO,GAAY,KAAK,CAAC;YACzB,QAAG,GAAW,wBAAsB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YACtE,cAAS,GAAY,KAAK,CAAC;SAEc;QAExC,sDAAgB,GAAhB;YACA,IAAA,KAAyB,IAAI,EAA3B,OAAO,aAAA,EAAE,SAAS,eAAS,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;aACzB,CAAC,CAAC;YACH,IAAI,OAAO,EAAE;gBACX,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,SAAS,EAAE;oBACL,IAAA,GAAG,GAAK,IAAI,CAAC,SAAS,IAAnB,CAAoB;oBAC/B,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;iBACtD;gBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC5B;SACF;QAEO,qDAAe,GAAf;YAAA,iBAWP;YAVC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,WAAW,EAAE,KAAK,CAAA,KAAG,KAAI,CAAC,YAAc,EAAC,WAAW,EAAE,EAAE;oBACxE,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBACpB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAClB;aACF,CAAC,CAAC;SACJ;QAED,sDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,uDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,sDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,8CAAK;iBAST;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAZD,UACU,KAAU;gBAClB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;;;WAAA;QAMD,gDAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,mDAAa,GAAb,UAAc,KAAU,EAAE,KAAU;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QAGD,8CAAQ,GAAR;YACE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QAED,0CAAI,GAAJ;YAAA,iBAOC;YANC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,KAAI,CAAC,gBAAgB,EAAE,CAAC;iBACzB,EAAE,EAAE,CAAC,CAAC;aACR;SACF;QAED,8CAAQ,GAAR;YAAA,iBAIC;YAHC,UAAU,CAAC;gBACT,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC;SACP;QAED,oDAAc,GAAd,UAAe,MAA6B;YAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAChB,IAAA,KAAK,GAAK,MAAM,MAAX,CAAY;YACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;;;gBAxJFb,cAAS,SAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,ktBAyBT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,2BAA2B,GAAA,CAAC;4BAC1D,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBA3CCR,sBAAiB;;;8BA6ChBL,UAAK;uBACLA,UAAK;uBACLA,UAAK;2BACLe,WAAM;gCAENC,cAAS,SAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;0BAM3CG,oBAAe,SAAC,qBAAqB;wBAoDrCnB,UAAK;2BAyBLI,iBAAY,SAAC,gBAAgB;;;;QCpHhC;;;;;gBAvBCH,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,6BAA6B;wBAC7B,2BAA2B;wBAC3B,2BAA2B;qBAC5B;oBACD,OAAO,EAAE;wBACPC,mBAAY;wBACZO,iBAAW;wBACXC,yBAAmB;wBACnB,iBAAiB;wBACjB,kBAAkB;wBAClB,gBAAgB;qBACjB;oBACD,OAAO,EAAE;wBACP,qBAAqB;wBACrB,6BAA6B;wBAC7B,2BAA2B;wBAC3B,2BAA2B;qBAC5B;oBACD,OAAO,EAAE,CAACP,qBAAgB,CAAC;iBAC5B;;;ICjCD;;;;;;QA+FE;YAdS,SAAI,GAAW,QAAQ,CAAC;YAKvB,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAGrC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAErC,QAAG,GAAW,mBAAiB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YACjE,cAAS,GAAY,KAAK,CAAC;SAElB;QAEhB,kDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,mDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,kDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,0CAAK;iBAST;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAZD,UACU,KAAU;gBAClB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC3B;aACF;;;WAAA;QAMD,4CAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,+CAAa,GAAb,UAAc,KAAU,EAAE,KAAU;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACxB;;;;gBAnHFb,cAAS,SAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,69CAmDT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,uBAAuB,GAAA,CAAC;4BACtD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;;wBAEEb,UAAK;uBACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;2BACLe,WAAM;wBAuBNf,UAAK;;;;QCxFR;;;;;gBAhBCC,aAAQ,SAAC;oBACN,YAAY,EAAE;wBACV,uBAAuB;qBAC1B;oBACD,OAAO,EAAE;wBACLC,mBAAY;wBACZO,iBAAW;wBACXC,yBAAmB;qBACtB;oBACD,OAAO,EAAE;wBACL,uBAAuB;qBAC1B;oBACD,OAAO,EAAE;wBACLP,qBAAgB;qBACnB;iBACJ;;;ICpBD;;;;;;QA0EE;YAZU,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAGrC,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAKrC,QAAG,GAAW,sBAAoB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YACpE,cAAS,GAAY,KAAK,CAAC;SAElB;QAER,qDAAgB,GAAhB;YAAA,iBAIP;YAHC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC;aAC9B,CAAC,CAAC;SACJ;QAEO,oDAAe,GAAf;YAAA,iBAaP;YAZC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC;gBAClB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IACE,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,WAAW,EAAE,KAAK,CAAA,KAAG,KAAI,CAAC,YAAc,EAAC,WAAW,EAAE,EACpE;oBACA,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBACpB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAClB;aACF,CAAC,CAAC;SACJ;QAED,qDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,sDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,qDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,6CAAK;iBAST;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAZD,UACU,KAAU;gBAClB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;aACF;;;WAAA;QAMD,+CAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,kDAAa,GAAb,UAAc,KAAU,EAAE,KAAU;YAClC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;QAED,oDAAe,GAAf;YAAA,iBAIC;YAHC,UAAU,CAAC;gBACT,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC;SACP;QAED,mDAAc,GAAd,UAAe,MAA6B;YAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAChB,IAAA,KAAK,GAAK,MAAM,MAAX,CAAY;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;;;gBA7HFb,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,8lBAsBT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,0BAA0B,GAAA,CAAC;4BACzD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;;wBAGEb,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;+BACLA,UAAK;2BACLe,WAAM;0BAKNI,oBAAe,SAAC,qBAAqB;wBA0CrCnB,UAAK;;;;QCxFR;;;;;gBAhBCC,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,0BAA0B;qBAC3B;oBACD,OAAO,EAAE;wBACPC,mBAAY;wBACZO,iBAAW;wBACXC,yBAAmB;qBACpB;oBACD,OAAO,EAAE;wBACP,0BAA0B;qBAC3B;oBACD,OAAO,EAAE;wBACPP,qBAAgB;qBACjB;iBACF;;;ICpBD;;;;;;QAgCE;YAPS,eAAU,GAAW,CAAC,CAAC;YACvB,iBAAY,GAAW,CAAC,CAAC;YACzB,aAAQ,GAAW,YAAY,CAAC;SAKxB;QAEjB,wCAAQ,GAAR;YACQ,IAAA,KAA+B,IAAI,EAAjC,UAAU,gBAAA,EAAE,YAAY,kBAAS,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,IAAY,EAAE,KAAa;gBACvF,OAAO,IAAI,GAAG,KAAK,CAAC;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;SAC3C;;;;gBAjCFL,cAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,6ZAWT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;;6BAGEC,UAAK;+BACLA,UAAK;2BACLA,UAAK;;;;QCPR;;;;;gBAfCC,aAAQ,SAAC;oBACR,YAAY,EAAE;wBACZ,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACPC,mBAAY;wBACZ,gBAAgB;qBACjB;oBACD,OAAO,EAAE;wBACP,qBAAqB;qBACtB;oBACD,OAAO,EAAE;wBACPC,qBAAgB;qBACjB;iBACF;;;ICnBD;;;;;;QAmHE;YAfU,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YACnC,uBAAkB,GAAG,IAAIA,iBAAY,EAAQ,CAAC;YAIhD,kBAAa,GAAG,UAAC,KAAU,KAAO,CAAC;YACnC,mBAAc,GAAG,UAAC,KAAU,KAAO,CAAC;YAErC,QAAG,GAAW,sBAAoB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YACpE,cAAS,GAAY,KAAK,CAAC;YAC3B,cAAS,GAAW,IAAI,CAAC;YACzB,yBAAoB,GAAY,KAAK,CAAC;YACtC,kCAA6B,GAAY,KAAK,CAAC;YAC/C,wBAAmB,GAAW,EAAE,CAAC;SAExB;QAER,gDAAY,GAAZ,UAAa,IAAU;YACrB,IAAA,WAAW,GAAK,IAAI,YAAT,CAAU;YACrB,IAAA,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAU;YAE5B,IAAI,WAAW,CAAC,iBAAiB,EAAE;gBACjC,IAAM,oBAAoB,GACxB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAC,KAAK;oBACzC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC/D,QACE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE;wBACzD,CAAC,WAAW,CAAC,yBAAyB,CAAC,SAAS,CAAC,EACjD;iBACH,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,oBAAoB,EAAE;oBACzB,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;oBAC1C,OAAO,KAAK,CAAC;iBACd;aACF;YAED,IAAI,WAAW,CAAC,OAAO,EAAE;gBACvB,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE;oBAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,OAAO,KAAK,CAAC;iBACd;aACF;YAED,OAAO,IAAI,CAAC;SACb;QAEO,kDAAc,GAAd,UACN,QAAgB,EAChB,YAAiB,EACjB,WAAmB;YAEnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,4CAAQ,GAAR;YACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI;gBACjD,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,OAAO;aACR,CAAC;YACF,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,GAAG;oBACrC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;iBAC3B,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,WAAW,GAAG;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;gBACxC,iBAAiB,EAAE,KAAK;aACzB,CAAC;SACH;QAED,oDAAgB,GAAhB,UAAiB,EAAO;YACtB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QAED,qDAAiB,GAAjB,UAAkB,EAAO;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,oDAAgB,GAAhB,UAAkB,UAAmB;YACnC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;QAED,sBACI,4CAAK;iBAQT;gBACE,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;iBAXD,UACU,KAAU;gBAClB,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;oBACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;iBAC5B;aACF;;;WAAA;QAMD,8CAAU,GAAV,UAAW,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,iDAAa,GAAb,UAAc,KAAU;YACd,IAAA,WAAW,GAAK,IAAI,YAAT,CAAU;YAC7B,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;YAC3C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACjD,IAAM,IAAI,GAAS,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;oBAC3B,IAAI,WAAW,EAAE;wBACf,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACpC;yBAAM;wBACL,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;qBACvD;iBACF;aACF;SACF;QAGD,2CAAO,GAAP,UAAQ,KAAU;YACR,IAAA,GAAG,GAAK,IAAI,IAAT,CAAU;YACF,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YAC9D,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;SACtC;QAED,2CAAO,GAAP,UAAQ,KAAU;YAChB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAChC;;;;gBA3NFb,cAAS,SAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,6mDAuDT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,yBAAyB,GAAA,CAAC;4BACxD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;;uBAEEb,UAAK;wBACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;uBACLA,UAAK;8BACLA,UAAK;uCACLA,UAAK;+BACLA,UAAK;8BACLA,UAAK;0BACLA,UAAK;oCACLA,UAAK;sCACLA,UAAK;+CACLA,UAAK;6BACLA,UAAK;2BACLe,WAAM;qCACNA,WAAM;wBA2FNf,UAAK;0BAiCLI,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;QC9MnC;;;;;gBAZCH,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE;wBACPC,mBAAY;wBACZO,iBAAW;wBACXC,yBAAmB;wBACnBQ,qBAAa,CAAC,OAAO,EAAE;wBACvB,gBAAgB;qBACjB;oBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,OAAO,EAAE,CAACf,qBAAgB,CAAC;iBAC5B;;;IClBD;;;;;;QAyKE,kCACU,GAAsB,EACtB,SAAuB;YAFjC,iBAGI;YAFM,QAAG,GAAH,GAAG,CAAmB;YACtB,cAAS,GAAT,SAAS,CAAc;YA3BxB,0BAAqB,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAC/C,uBAAkB,GAAG,IAAIA,iBAAY,EAAO,CAAC;YAC7C,yBAAoB,GAAG,IAAIA,iBAAY,EAAO,CAAC;YAElD,eAAU,GAAc,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YACvD,mBAAc,GAAW,EAAE,CAAC;YAC5B,mBAAc,GAAW,EAAE,CAAC;YAK5B,cAAS,GAAY,KAAK,CAAC;YAC3B,cAAS,GAAW,IAAI,CAAC;YACzB,wBAAmB,GAAW,EAAE,CAAC;YAGhC,eAAU,GAAe,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrD,sBAAiB,GAAG,GAAG,CAAC;YACxB,uBAAkB,GAAG,GAAG,CAAC;YACzB,iBAAY,GAAe,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACnD,eAAU,GAAe,IAAI,UAAU,EAAE,CAAC;YAC1C,kBAAa,GAAG,IAAI,KAAK,EAAE,CAAC;YAC5B,kBAAa,GAAS,IAAI,CAAC;YAiN3B,uBAAkB,GAAG,UAAC,MAAM;gBAClC,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACrC,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;aACnC,CAAC;YAEM,qBAAgB,GAAG,UAAC,MAAM;gBAChC,KAAI,CAAC,aAAa,CAAC,GAAG,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3D,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG;oBAC1B,UAAU,CAAC;wBACT,KAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC;wBACnD,KAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC;wBACrD,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;wBACpC,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;wBACnC,KAAI,CAAC,OAAO,EAAE,CAAC;qBAChB,EAAE,IAAI,CAAC,CAAC;iBACV,CAAC;gBACF,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,SAAS,CAAC,8BAA8B,CAClE,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAClC,CAAC;aACH,CAAC;SA9NE;QAEI,0CAAO,GAAP;YACN,IAAI,CAAC,UAAU,GAAG;gBAChB,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,WAAW,IAAI,GAAG;gBACpE,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,YAAY,IAAI,GAAG;aACvE,CAAC;YACF,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB;gBACtD,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB;gBACxD,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB;gBACtD,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB;aACzD,CAAC;YACF,IAAI,CAAC,GAAG,EAAE,CAAC;SACZ;QAEO,oDAAiB,GAAjB,UAAkB,EAAW;YACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;QAEO,2DAAwB,GAAxB,UAAyB,EAAW;YAC1C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B;QAEO,yDAAsB,GAAtB,UAAuB,EAAW;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QAEO,sCAAG,GAAH;YACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,IAAI,KAAK,GAAG,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;YAChD,IAAI,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;YACjD,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAsB,CAAC;YACrE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAEvB,IAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,GAAG,CAAC,SAAS,CACX,IAAI,CAAC,aAAa,EAClB,aAAa,CAAC,EAAE,EAChB,aAAa,CAAC,EAAE,EAChB,KAAK,EACL,MAAM,EACN,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,CACP,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC5B;QAEO,mDAAgB,GAAhB;YACN,IAAM,MAAM,GACV,IAAI,CAAC,YAAY,CAAC,KAAK;gBACvB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC;YACzD,IAAM,MAAM,GACV,IAAI,CAAC,YAAY,CAAC,MAAM;gBACxB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC;YAC1D,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC;gBAC3C,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC;gBAC3C,EAAE,EAAE,IAAI,CAAC,GAAG,CACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CACxB;gBACD,EAAE,EAAE,IAAI,CAAC,GAAG,CACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,EACvC,IAAI,CAAC,YAAY,CAAC,MAAM,CACzB;aACF,CAAC;SACH;QAEO,gDAAa,GAAb,UAAc,UAA6B;YAA3C,iBASP;YARC,UAAU,CAAC,MAAM,CACf,UAAC,GAAS;gBACR,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gBACzB,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aAC/B,EACD,YAAY,EACZ,IAAI,CACL,CAAC;SACH;QAEO,6CAAU,GAAV,UAAW,KAAU;YAC3B,QACE,KAAK,CAAC,OAAO;iBACZ,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAC/D;SACH;QAEO,6CAAU,GAAV,UAAW,KAAU;YAC3B,QACE,KAAK,CAAC,OAAO;iBACZ,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAC/D;SACH;QAEO,yCAAM,GAAN,UAAO,KAAU;YACvB,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC/D,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC/D,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAC9B,KAAK,MAAM;oBACT,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC;oBACF,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7C,CAAC;oBACF,MAAM;gBACR,KAAK,KAAK;oBACR,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7C,CAAC;oBACF,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7C,CAAC;oBACF,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC;oBACF,MAAM;gBACR,KAAK,aAAa;oBAChB,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7C,CAAC;oBACF,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7C,CAAC;oBACF,MAAM;gBACR,KAAK,YAAY;oBACf,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5C,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,EAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC7C,CAAC;oBACF,MAAM;aACT;SACF;QAEO,uCAAI,GAAJ,UAAK,KAAU;YACrB,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC/D,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAE/D,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC;SACjD;QAEO,qDAAkB,GAAlB,UAAmB,YAAoB;YAApB,6BAAA,EAAA,oBAAoB;YAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;aACxB;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;aACxB;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,YAAY;sBAC9B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK;sBAC1C,CAAC,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAC5C;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC/C,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,YAAY;sBAC9B,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM;sBAC3C,CAAC,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;aAC7C;SACF;QAuBO,+CAAY,GAAZ,UAAa,IAAS;YACpB,IAAA,IAAI,GAAW,IAAI,KAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAU;YAC5B,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACrC;QAEO,iDAAc,GAAd,UACN,QAAgB,EAChB,YAAiB,EACjB,WAAmB;YAEnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;YACvC,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aAClC;SACF;QAED,2CAAQ,GAAR;YAAA,iBAgBC;YAfS,IAAA,qBAAqB,GAAK,IAAI,sBAAT,CAAU;YACvC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAE/C,qBAAqB,CAAC,SAAS,CAAC,UAAC,GAAa;gBAC5C,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gBACzB,IAAM,IAAI,GAAG,KAAI,CAAC,aAAa;sBAC3B,WAAW,CAAC,cAAc,CACxB,KAAI,CAAC,aAAa,EAClB,KAAI,CAAC,cAAc,EACnB,KAAI,CAAC,cAAc,CACpB;sBACD,IAAI,CAAC;gBACT,KAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAC;aACvD,CAAC,CAAC;SACJ;QAED,4CAAS,GAAT,UACE,KAAU,EACV,QAAgB,EAChB,QAA8B;YAA9B,yBAAA,EAAA,eAA8B;YAE9B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,mBACb,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,QAAQ,EACd,QAAQ,UAAA,EACR,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAC/B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAC5B,IAAI,CAAC,UAAU,CACnB,CAAC;SACH;QAID,0CAAO,GAAP,UAAQ,KAAU;YAChB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC7C,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;oBACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;iBAC/B;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;iBAChC;gBACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAC1B;SACF;QAID,2CAAQ,GAAR;YACE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;aACZ;SACF;QAED,+DAA4B,GAA5B,UAA6B,KAAU;YACrC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;QAED,sDAAmB,GAAnB;YACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B;QAED,uDAAoB,GAApB;YACE,IAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CACrC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC;YACF,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtC;;;;gBA5dFb,cAAS,SAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,QAAQ,EAAE,+1HA8GT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;gBA1HCM,sBAAiB;gBAKVgB,4BAAY;;;wBAuHlBrB,UAAK;4BACLA,UAAK;mCACLA,UAAK;oCACLA,UAAK;gCACLA,UAAK;8BACLA,UAAK;0BACLA,UAAK;sCACLA,UAAK;+CACLA,UAAK;6BACLA,UAAK;wCACLA,UAAK;qCACLe,WAAM;uCACNA,WAAM;0BA+SNX,iBAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,cACpCA,iBAAY,SAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;2BAgBpCA,iBAAY,SAAC,kBAAkB,cAC/BA,iBAAY,SAAC,mBAAmB;;;;QC9bnC;;;;;gBAbCH,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE;wBACPC,mBAAY;wBACZO,iBAAW;wBACXC,yBAAmB;wBACnBQ,qBAAa,CAAC,OAAO,EAAE;wBACvB,kBAAkB;wBAClB,sBAAsB;qBACvB;oBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAACf,qBAAgB,CAAC;iBAC5B;;;ICpBD;;;;;;QAsGE,8BAAoB,YAA0C;YAA1C,iBAAY,GAAZ,YAAY,CAA8B;YARrD,oBAAe,GAAG,IAAIQ,iBAAY,EAAO,CAAC;SAQe;QAElE,uCAAQ,GAAR;YAAA,iBAyCC;YAxCC,IAAI,CAAC,aAAa,GAAG;;gBACnB,IAAI,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,MAAM,0CAAE,MAAM,EAAE;oBACvC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,MAAM,0CAAE,MAAM,EAAE,CAAC;iBACvC;gBACD,IAAI,EAAC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,MAAM,0CAAE,YAAY,CAAA,EAAE;oBAC9C,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;iBACxC;aACF,CAAC;YACF,IAAI,CAAC,cAAc,GAAG;;gBACpB,IAAI,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,OAAO,0CAAE,MAAM,EAAE;oBACxC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,OAAO,0CAAE,MAAM,EAAE,CAAC;oBACvC,IAAI,EAAC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,OAAO,0CAAE,YAAY,CAAA,EAAE;wBAC/C,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;qBACxC;iBACF;;oBAAM,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG;;gBAClB,IAAI,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,WAAW,0CAAE,MAAM,EAAE;oBAC5C,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,WAAW,0CAAE,MAAM,EAAE,CAAC;oBAC3C,IAAI,EAAC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,WAAW,0CAAE,YAAY,CAAA,EAAE;wBACnD,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;YACF,IAAI,CAAC,aAAa,GAAG;;gBACnB,IAAI,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,YAAY,0CAAE,MAAM,EAAE;oBAC7C,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,YAAY,0CAAE,MAAM,EAAE,CAAC;oBAC5C,IAAI,EAAC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,YAAY,0CAAE,YAAY,CAAA,EAAE;wBACpD,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;YACF,IAAI,CAAC,YAAY,GAAG;;gBAClB,IAAI,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,WAAW,0CAAE,MAAM,EAAE;oBAC5C,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,WAAW,0CAAE,MAAM,EAAE,CAAC;oBAC3C,IAAI,EAAC,MAAA,MAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,WAAW,0CAAE,YAAY,CAAA,EAAE;wBACnD,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;SACH;QAED,sCAAO,GAAP;YACE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;;;;gBA7IFb,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,8pGA8ET;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;gBApF4C,4BAA4B;;;yBAsFtEC,UAAK;2BACLA,UAAK;kCACLA,UAAK;;;;QClFR;;;;;gBANCC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAACC,mBAAY,EAAEO,iBAAW,EAAEC,yBAAmB,EAAE,kBAAkB,CAAC;oBAC7E,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAACP,qBAAgB,CAAC;iBAC5B;;;ICXD;;;;;;QA+DE;YANS,aAAQ,GAAY,KAAK,CAAC;YAC1B,SAAI,GAAY,KAAK,CAAC;YACrB,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAEtC,QAAG,GAAW,oBAAkB,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;SAEzD;QAEhB,iDAAc,GAAd;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B;SACF;;;;gBAxDFb,cAAS,SAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,8iCAkCT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;;wBAEEC,UAAK;gCACLA,UAAK;wBACLA,UAAK;2BACLA,UAAK;uBACLA,UAAK;2BACLe,WAAM;;;;QChDT;;;;;gBANCd,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAACC,mBAAY,EAAE,gBAAgB,CAAC;oBACzC,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAACC,qBAAgB,CAAC;iBAC5B;;;;QCyEC,8BAAmB,KAAiB;YAAjB,UAAK,GAAL,KAAK,CAAY;YAxB3B,YAAO,GAAG,KAAK,CAAC;YAIhB,eAAU,GAAG,KAAK,CAAC;YAEnB,uBAAkB,GAAG,IAAI,CAAC;YAE1B,0BAAqB,GAAG,IAAI,CAAC;YAE7B,iBAAY,GAAG,IAAI,CAAC;YAInB,cAAS,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAEpC,aAAQ,GAAG,IAAIA,iBAAY,EAAO,CAAC;YAIrC,SAAI,GAAG,EAAE,CAAC;YAElB,cAAS,GAAG,GAAG,CAAC;;SAIf;QAEO,4CAAa,GAAb;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;QAEO,+CAAgB,GAAhB;YAAA,iBAUP;YATC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;gBAC5C,IAAI,EAAE,GAAG,IAAI,CAAC;gBACd,IAAG,KAAI,CAAC,UAAU,EAAC;oBACjB,EAAE,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAI;oBACH,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;iBACtC;gBACD,OAAO,EAAE,EAAE,IAAA,EAAE,IAAI,MAAA,EAAE,CAAC;aACrB,CAAC,CAAC;SACJ;QAED,uCAAQ,GAAR;YAAA,iBAUC;YATC,UAAU,CAAC;;gBACT,KAAI,CAAC,SAAS,GAAG,GAAG,IAAG,MAAA,KAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAC;gBAC5C,KAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,2BAA2B,EAAK,KAAI,CAAC,SAAS,MAAG,CAAC,CAAC;aAC/F,EAAE,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;QAED,0CAAW,GAAX;YACE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,6CAAc,GAAd,UAAe,KAAiB,EAAE,GAAQ;YAA1C,iBAsBC;YArBS,IAAA,kBAAkB,GAAK,IAAI,mBAAT,CAAU;YACpC,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAM,kBAAkB,GAAG;gBACzB,KAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAA,EAAE,QAAQ,EAAE,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACnE,CAAC;YAEF,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,kBAAkB,EAAE,CAAC;aACtB;iBAAM;gBACL,IAAI,kBAAkB,EAAE;oBACtB,kBAAkB,CAAC,GAAG,EAAE;wBACtB,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACpB,kBAAkB,EAAE,CAAC;qBACtB,CAAC,CAAC;iBACJ;qBAAM;oBACL,kBAAkB,EAAE,CAAC;iBACtB;aACF;SACF;QAED,gDAAiB,GAAjB,UAAkB,KAAiB;YAAnC,iBAwBC;YAvBS,IAAA,qBAAqB,GAAK,IAAI,sBAAT,CAAU;YACvC,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAM,kBAAkB,GAAG;gBACzB,KAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACxC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrB,IAAI,qBAAqB,EAAE;oBACzB,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,UAAC,OAAc;wBAAd,wBAAA,EAAA,cAAc;wBACvD,IAAI,OAAO,EAAE;4BACX,KAAI,CAAC,IAAI,4BAAO,OAAO,EAAC,CAAC;yBAC1B;6BAAM;4BACL,KAAI,CAAC,IAAI,4BAAO,KAAI,CAAC,aAAa,EAAC,CAAC;yBACrC;wBACD,kBAAkB,EAAE,CAAC;qBACtB,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;gBACf,kBAAkB,EAAE,CAAC;aACtB;SACF;QAED,+CAAgB,GAAhB,UAAiB,GAAQ;YACvB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAA,CAAC,CAAC;SACzD;QAED,kDAAmB,GAAnB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACvD;;;;gBA7JFb,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,+uCA+BT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;gBA9CCkB,eAAU;;;0BAgDTjB,UAAK;6BAELA,UAAK;0BAELA,UAAK;8BAELA,UAAK;6BAELA,UAAK;qCAELA,UAAK;wCAELA,UAAK;+BAELA,UAAK;6BAELA,UAAK;4BAELe,WAAM;2BAENA,WAAM;;;IC3ET;;;;;;QAoBA;;;;;gBAZCjB,cAAS,SAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,8BAA8B;oBACxC,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,0BAA0B,GAAA,CAAC;4BACzD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;;QCND;;;;;gBANCZ,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;oBAChE,OAAO,EAAE,CAACC,mBAAY,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;oBAC/D,OAAO,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;oBAC3D,OAAO,EAAE,CAACC,qBAAgB,CAAC;iBAC5B;;;ICZD;;;;;;QAiCE;YAPS,UAAK,GAAY,KAAK,CAAC;YACvB,aAAQ,GAAY,KAAK,CAAC;YACzB,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAEtC,QAAG,GAAW,iBAAe,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;YAC/D,UAAK,GAAG,KAAK,CAAC;SAEL;QAGhB,uCAAO,GAAP,UAAQ,KAAU;YAChB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,EAAE,CAAC;YACxB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;SACF;;;;gBA5BFb,cAAS,SAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE,kOAKT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;;wBAEEC,UAAK;2BACLA,UAAK;2BACLe,WAAM;0BAONX,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;;QCzBnC;;;;;gBANCH,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;oBACrC,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAACC,qBAAgB,CAAC;iBAC5B;;;ICTD;;;;;;QAgDE,4BAAoB,KAAwB;YAAxB,UAAK,GAAL,KAAK,CAAmB;YAVnC,aAAQ,GAAW,YAAY,CAAC;YAC/B,aAAQ,GAAG,IAAIQ,iBAAY,EAAO,CAAC;YAOtC,QAAG,GAAW,cAAY,WAAW,CAAC,eAAe,CAAC,EAAE,CAAG,CAAC;SAEnB;QAExC,6CAAgB,GAAhB;YACE,IAAA,SAAS,GAAK,IAAI,UAAT,CAAU;YAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;aACzB,CAAC,CAAC;YAEH,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,SAAS,EAAE;gBACL,IAAA,GAAG,GAAK,IAAI,CAAC,SAAS,IAAnB,CAAoB;gBAC/B,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;aACtD;YACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC,CAAC;SACJ;QAEO,4CAAe,GAAf;YAAA,iBAWP;YAVC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,EAAE;gBACtB,EAAE,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;gBACnD,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACnB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAA,KAAG,EAAE,CAAC,KAAO,EAAC,WAAW,EAAE,KAAK,CAAA,KAAG,KAAI,CAAC,QAAU,EAAC,WAAW,EAAE,EAAE;oBACpE,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBACpB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;iBAClB;aACF,CAAC,CAAC;SACJ;QAED,qCAAQ,GAAR;YAAA,iBAIC;YAHC,UAAU,CAAC;gBACT,KAAI,CAAC,eAAe,EAAE,CAAC;aACxB,EAAE,CAAC,CAAC,CAAC;SACP;QAED,2CAAc,GAAd,UAAe,MAA6B;YAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;YAChB,IAAA,KAAK,GAAK,MAAM,MAAX,CAAY;YACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;;;;gBAvEFb,cAAS,SAAC;oBACT,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,yGAIT;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;oBACrC,SAAS,EAAE;wBACT;4BACE,OAAO,EAAEa,uBAAiB;4BAC1B,WAAW,EAAEC,eAAU,CAAC,cAAM,OAAA,kBAAkB,GAAA,CAAC;4BACjD,KAAK,EAAE,IAAI;yBACZ;qBACF;iBACF;;;gBA9BCR,sBAAiB;;;2BAgChBL,UAAK;2BACLe,WAAM;2BACNf,UAAK;0BAELmB,oBAAe,SAAC,qBAAqB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;;QC7B/D;;;;;gBANClB,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAACC,mBAAY,EAAEO,iBAAW,EAAEC,yBAAmB,EAAE,kBAAkB,CAAC;oBAC7E,OAAO,EAAE,CAAC,kBAAkB,CAAC;oBAC7B,OAAO,EAAE,CAACP,qBAAgB,CAAC;iBAC5B;;;ICZD;;;;;;QA6BE;YAPS,eAAU,GAAW,CAAC,CAAC;YACvB,iBAAY,GAAW,CAAC,CAAC;YACzB,aAAQ,GAAW,YAAY,CAAC;SAKzB;QAEhB,yCAAQ,GAAR;YACQ,IAAA,KAA+B,IAAI,EAAjC,UAAU,gBAAA,EAAE,YAAY,kBAAS,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAC,IAAY,EAAE,KAAa;gBACvF,OAAO,IAAI,GAAG,KAAK,CAAC;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;SAC3C;;;;gBA9BFL,cAAS,SAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,8UAST;oBACD,aAAa,EAAEC,sBAAiB,CAAC,IAAI;iBACtC;;;;6BAEEC,UAAK;+BACLA,UAAK;2BACLA,UAAK;;;;QCbR;;;;;gBANCC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAACC,mBAAY,EAAE,gBAAgB,CAAC;oBACzC,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAACC,qBAAgB,CAAC;iBAC5B;;;;QCOD;;;;;gBATCF,aAAQ,SAAC;oBACR,OAAO,EAAE,CAACqB,qBAAgB,EAAEpB,mBAAY,CAAC;oBACzC,SAAS,EAAE;wBACT,uBAAuB;wBACvB,+BAA+B;wBAC/B,oCAAoC;wBACpC,+BAA+B;qBAChC;iBACF;;;IChBD;;;;;;ICAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"monkey-style-guide.umd.js","sources":["../../../projects/monkey-style-guide/src/lib/core/services/monkey-style-guide.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/monkey-style-guide/src/lib/core/services/settings/monkey-style-guide-theme-settings.service.ts","../../../projects/monkey-style-guide/src/lib/core/services/settings/monkey-style-guide-settings.service.ts","../../../projects/monkey-style-guide/src/lib/core/utils/utils.ts","../../../projects/monkey-style-guide/src/lib/core/services/snackbar/mokey-style-guide-snackbar.service.ts","../../../projects/monkey-style-guide/src/lib/core/services/modal/monkey-style-guide-modal.service.ts","../../../projects/monkey-style-guide/src/lib/core/services/modal/monkey-style-guide-modal-fixed.service.ts","../../../projects/monkey-style-guide/src/lib/components/badge/badge.component.ts","../../../projects/monkey-style-guide/src/lib/components/badge/badge.module.ts","../../../projects/monkey-style-guide/src/lib/components/button/button.component.ts","../../../projects/monkey-style-guide/src/lib/components/button/button-dropdown.component.ts","../../../projects/monkey-style-guide/src/lib/components/button/button-avatar.component.ts","../../../projects/monkey-style-guide/src/lib/components/icon/icon.component.ts","../../../projects/monkey-style-guide/src/lib/components/icon/icons.component.ts","../../../projects/monkey-style-guide/src/lib/components/icon/icon.module.ts","../../../projects/monkey-style-guide/src/lib/components/button/button.module.ts","../../../projects/monkey-style-guide/src/lib/components/date-range-picker/date-range-picker.component.ts","../../../projects/monkey-style-guide/src/lib/components/date-range-picker/date-range-picker.module.ts","../../../projects/monkey-style-guide/src/lib/components/input/input.component.ts","../../../projects/monkey-style-guide/src/lib/components/input/input-filter.component.ts","../../../projects/monkey-style-guide/src/lib/components/input/input.module.ts","../../../projects/monkey-style-guide/src/lib/components/option/option.component.ts","../../../projects/monkey-style-guide/src/lib/components/option/option.module.ts","../../../projects/monkey-style-guide/src/lib/components/select/select.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select-multiple.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select-search.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select-filter.component.ts","../../../projects/monkey-style-guide/src/lib/components/select/select.module.ts","../../../projects/monkey-style-guide/src/lib/components/checkbox/checkbox.component.ts","../../../projects/monkey-style-guide/src/lib/components/checkbox/checkbox.module.ts","../../../projects/monkey-style-guide/src/lib/components/radiobutton/radiobutton.component.ts","../../../projects/monkey-style-guide/src/lib/components/radiobutton/radiobutton.module.ts","../../../projects/monkey-style-guide/src/lib/components/wizard/wizard.component.ts","../../../projects/monkey-style-guide/src/lib/components/wizard/wizard.module.ts","../../../projects/monkey-style-guide/src/lib/components/file-upload/file-upload.component.ts","../../../projects/monkey-style-guide/src/lib/components/file-upload/file-upload.module.ts","../../../projects/monkey-style-guide/src/lib/components/image-crop/image-crop.component.ts","../../../projects/monkey-style-guide/src/lib/components/image-crop/image-crop.module.ts","../../../projects/monkey-style-guide/src/lib/components/modal/modal.component.ts","../../../projects/monkey-style-guide/src/lib/components/modal/modal.module.ts","../../../projects/monkey-style-guide/src/lib/components/expansion/expansion.component.ts","../../../projects/monkey-style-guide/src/lib/components/expansion/expansion.module.ts","../../../projects/monkey-style-guide/src/lib/components/table/table.component.ts","../../../projects/monkey-style-guide/src/lib/components/table/table-column.component.ts","../../../projects/monkey-style-guide/src/lib/components/table/table.module.ts","../../../projects/monkey-style-guide/src/lib/components/toggle/toggle.component.ts","../../../projects/monkey-style-guide/src/lib/components/toggle/toggle.module.ts","../../../projects/monkey-style-guide/src/lib/components/tab/tab.component.ts","../../../projects/monkey-style-guide/src/lib/components/tab/tab.module.ts","../../../projects/monkey-style-guide/src/lib/components/stepper/stepper.component.ts","../../../projects/monkey-style-guide/src/lib/components/stepper/stepper.module.ts","../../../projects/monkey-style-guide/src/lib/monkey-style-guide.module.ts","../../../projects/monkey-style-guide/src/public-api.ts","../../../projects/monkey-style-guide/src/monkey-style-guide.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideService {\r\n constructor(private http: HttpClient) {}\r\n\r\n public get<T>(url: string, options?: T) {\r\n return this.http.get<T>(url, options);\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { MonkeyStyleSettings, MonkeyStyleFontSettings } from '../../interfaces';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideThemeSettingsService {\r\n constructor(@Inject(DOCUMENT) private doc: any) {}\r\n\r\n private applyColors(settings: MonkeyStyleSettings): any {\r\n const colors: any = settings.colors;\r\n\r\n let bucketColors = null;\r\n\r\n ['theme', 'error', 'warning', 'success', 'question'].forEach((color) => {\r\n Object.entries(colors[color] as any).forEach(\r\n ([paletteKey, paletteValue]) => {\r\n if (paletteKey === 'contrast') {\r\n Object.entries(paletteValue).forEach(\r\n ([paletteContrastKey, paletteContrastValue]) => {\r\n document.documentElement.style.setProperty(\r\n `--mecx-color-${color}-contrast-${paletteContrastKey}`,\r\n `${paletteContrastValue}`\r\n );\r\n bucketColors = {\r\n ...bucketColors,\r\n [`--mecx-color-${color}-contrast-${paletteContrastKey}`]: `${paletteContrastValue}`,\r\n };\r\n }\r\n );\r\n } else {\r\n document.documentElement.style.setProperty(\r\n `--mecx-color-${color}-${paletteKey}`,\r\n `${paletteValue}`\r\n );\r\n bucketColors = {\r\n ...bucketColors,\r\n [`--mecx-color-${color}-${paletteKey}`]: `${paletteValue}`,\r\n };\r\n }\r\n }\r\n );\r\n });\r\n\r\n return bucketColors;\r\n }\r\n\r\n private applyFonts(settings: MonkeyStyleSettings) {\r\n const font: MonkeyStyleFontSettings = {\r\n url:\r\n 'https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap',\r\n name: 'Work Sans',\r\n ...settings.font,\r\n };\r\n\r\n document.documentElement.style.setProperty(\r\n `--mecx-font-name`,\r\n `${font.name}`\r\n );\r\n\r\n let link: HTMLLinkElement = this.doc.createElement('link');\r\n link.setAttribute('rel', 'stylesheet');\r\n link.setAttribute('type', 'text/css');\r\n link.setAttribute('href', `${font.url}`);\r\n this.doc.head.appendChild(link);\r\n }\r\n\r\n private applyTheme(settings: MonkeyStyleSettings) {\r\n const { theme } = settings;\r\n document.title = `${theme.title}`;\r\n\r\n let link: HTMLLinkElement = this.doc.createElement('link');\r\n link.setAttribute('rel', 'icon');\r\n link.setAttribute('type', 'image/x-icon');\r\n link.setAttribute('href', `${theme.favicon}`);\r\n this.doc.head.appendChild(link);\r\n }\r\n\r\n public apply(config: MonkeyStyleSettings, callback?: Function) {\r\n const bucketColors = this.applyColors(config);\r\n this.applyFonts(config);\r\n this.applyTheme(config);\r\n setTimeout(() => {\r\n if (callback)\r\n callback({\r\n bucketColors,\r\n });\r\n }, 500);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Injectable } from '@angular/core';\r\nimport { MonkeyStyleGuideService } from '../monkey-style-guide.service';\r\nimport { MonkeyStyleSettings } from '../../interfaces';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError, BehaviorSubject, Observable } from 'rxjs';\r\nimport { MonkeyStyleGuideThemeSettingsService } from './monkey-style-guide-theme-settings.service';\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideSettingsService {\r\n private readonly settingsSubject$: BehaviorSubject<MonkeyStyleSettings> = new BehaviorSubject({});\r\n\r\n constructor(\r\n private monkeySGService: MonkeyStyleGuideService,\r\n private monkeySGThemeConfigService: MonkeyStyleGuideThemeSettingsService\r\n ) {}\r\n\r\n public boostrap(settingsUrl: string, callback?: Function) {\r\n const { monkeySGService, settingsSubject$, monkeySGThemeConfigService } = this;\r\n\r\n monkeySGService.get<any>(settingsUrl || `assets/monkey-style-guide-settings.json`).subscribe(\r\n (_: MonkeyStyleSettings) => {\r\n monkeySGThemeConfigService.apply(_, callback);\r\n settingsSubject$.next(_);\r\n },\r\n (err: HttpErrorResponse) => {\r\n console.error('Monkey-style-guide-settings not found!');\r\n throwError(err);\r\n }\r\n );\r\n }\r\n\r\n public boostrapWithData(data: any, callback?: Function) {\r\n const { settingsSubject$, monkeySGThemeConfigService } = this;\r\n monkeySGThemeConfigService.apply(data, callback);\r\n settingsSubject$.next(data);\r\n }\r\n\r\n public settings(): Observable<any> {\r\n return this.settingsSubject$.asObservable();\r\n }\r\n}\r\n","export class MonkeyUtils {\r\n public static persistNullEmptyUndefined(tp: any): boolean {\r\n return tp !== null && tp !== undefined && tp !== '';\r\n }\r\n\r\n public static getDocumentType(doc: string) {\r\n if (!doc) return '';\r\n return doc.length <= 11 ? 'CPF' : 'CNPJ';\r\n }\r\n\r\n public static getDocumentMask(type: string) {\r\n if (type === 'CPF') return '000.000.000-00';\r\n return '00.000.000/0000-00';\r\n }\r\n\r\n public static formatDocumentWithMask(doc: string, withType?: boolean): string {\r\n if (!doc) return doc;\r\n let formated: string = '';\r\n if (doc.length === 14)\r\n formated = doc\r\n .replace(/^(\\d{2})(\\d)/, '$1.$2')\r\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1/$2')\r\n .replace(/(\\d{4})(\\d)/, '$1-$2');\r\n else\r\n formated = doc\r\n .replace(/^(\\d{3})(\\d)/, '$1.$2')\r\n .replace(/^(\\d{3})\\.(\\d{3})(\\d)/, '$1.$2.$3')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\r\n\r\n return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;\r\n }\r\n\r\n public static cutFirstLastName(value: string, tp: string = 'first') {\r\n const split = value?.trim()?.split(' ');\r\n\r\n if (tp === 'first') return split[0];\r\n return split?.splice(1, split.length)?.join(' ');\r\n }\r\n\r\n public static isCPFCNPJValid(document: any): boolean {\r\n document = document.replace(/[^\\d]/g, '');\r\n if (document.length === 11) {\r\n let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\r\n for (var i = 0, n = 0; i < 9; n += document[i] * base[i++]);\r\n if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];\r\n for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++]);\r\n if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n return true;\r\n } else if (document.length === 14 || /0{14}/.test(document)) {\r\n let base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n for (var i = 0, n = 0; i < 12; n += document[i] * base[++i]);\r\n if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++]);\r\n if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n } else return false;\r\n }\r\n\r\n public static isValidUrl(txt: string): boolean {\r\n const regex = new RegExp(\r\n /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)+[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,10}(:[0-9]{1,5})?(\\/.*)?$/gm\r\n );\r\n return regex.test(txt);\r\n }\r\n\r\n public static isValidZipCode(zipCode: string): boolean {\r\n return `${this.handleOnlyNumbers(zipCode)}`.length === 8;\r\n }\r\n\r\n public static getRandomString(len: number, charSet?: string): string {\r\n charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let randomString: string = Array.apply(null, Array(len))\r\n .map(function () {\r\n return charSet.charAt(Math.floor(Math.random() * charSet.length));\r\n })\r\n .join('');\r\n return randomString;\r\n }\r\n\r\n public static handleOnlyNumbers(value: any) {\r\n if (!value) return null;\r\n return value.replace(new RegExp(/[^0-9]/g), '');\r\n }\r\n\r\n public static handleOnlyAlphaNumeric(value: any) {\r\n if (!value) return '';\r\n return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');\r\n }\r\n\r\n public static capitalize(value: string) {\r\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\r\n }\r\n\r\n public static formatZipCode(zipCode: string): string {\r\n if (!zipCode) return zipCode;\r\n const formated: string = zipCode\r\n .replace(/^(\\d{5})(\\d)/, '$1-$2')\r\n .replace(/\\.(\\d{3})(\\d)/, '.$1-$2');\r\n\r\n return `${formated}`;\r\n }\r\n\r\n public static formatFileSize(size: number): string {\r\n let units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n let l = 0;\r\n while (size >= 1024 && ++l) {\r\n size = size / 1024;\r\n }\r\n return size.toFixed(size < 10 && l > 0 ? 1 : 0) + ' ' + units[l];\r\n }\r\n\r\n public static sufflue(data: any[]): any[] {\r\n for (let i = data.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * i);\r\n const temp = data[i];\r\n data[i] = data[j];\r\n data[j] = temp;\r\n }\r\n return data;\r\n }\r\n\r\n public static handleBlobFile(theBlob: any, fileName: string, fileType: string) {\r\n function blobToFile(theBlob, fileName) {\r\n const b = theBlob;\r\n b.lastModifiedDate = new Date();\r\n b.name = fileName;\r\n return b;\r\n }\r\n\r\n let file: any;\r\n if (!(navigator as any).msSaveBlob) {\r\n file = new File([theBlob], fileName, { type: fileType });\r\n } else {\r\n file = new Blob([theBlob], { type: fileType });\r\n file = blobToFile(file, fileName);\r\n }\r\n return file;\r\n }\r\n\r\n public static truncate(text: string, maxLength: number = 25): string {\r\n const midChar = '...';\r\n if (!text) return midChar;\r\n if (text && text.length <= maxLength) return text;\r\n\r\n const left = Math.ceil(maxLength / 2);\r\n const right = text.length - left + 1;\r\n\r\n return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;\r\n }\r\n\r\n public static isLocalhost() {\r\n const { href } = window?.location;\r\n if (!href) return false;\r\n return href?.search('localhost') >= 0;\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Location } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { MonkeyUtils } from '../../utils';\r\n\r\nconst icons = {\r\n success: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle cx=\"8\" cy=\"8\" r=\"7\" fill=\"#00875A\"/>\r\n <path d=\"M11 5L7 11L4 8.27273\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n warning: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.85433 2.63819L1.17957 12.0114C1.06257 12.2118 1.00066 12.4391 1.00001 12.6706C0.99935 12.9021 1.05997 13.1297 1.17583 13.3308C1.2917 13.532 1.45877 13.6995 1.66042 13.8169C1.86207 13.9343 2.09128 13.9975 2.32524 14H13.6748C13.9087 13.9975 14.1379 13.9343 14.3396 13.8169C14.5412 13.6995 14.7083 13.532 14.8242 13.3308C14.94 13.1297 15.0006 12.9021 15 12.6706C14.9993 12.4391 14.9374 12.2118 14.8204 12.0114L9.14567 2.63819C9.02623 2.44337 8.85806 2.2823 8.65738 2.17051C8.45671 2.05873 8.2303 2 8 2C7.7697 2 7.54329 2.05873 7.34262 2.17051C7.14194 2.2823 6.97377 2.44337 6.85433 2.63819Z\" fill=\"#EFA30E\"/>\r\n <path d=\"M8 6V10\" stroke=\"#000F1E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 12H8.00667\" stroke=\"#000F1E\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n error: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5.102 1H10.898L15 5.102V10.898L10.898 15H5.102L1 10.898V5.102L5.102 1Z\" fill=\"#FA3838\"/>\r\n <path d=\"M8 5.33333V7.99999\" stroke=\"#F5FAFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 10.6667H8.00667\" stroke=\"#F5FAFF\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n question: `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M8.00004 14.6668C11.6819 14.6668 14.6667 11.6821 14.6667 8.00016C14.6667 4.31826 11.6819 1.3335 8.00004 1.3335C4.31814 1.3335 1.33337 4.31826 1.33337 8.00016C1.33337 11.6821 4.31814 14.6668 8.00004 14.6668Z\" stroke=\"#8D38FA\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M6.05994 5.99989C6.21667 5.55434 6.52604 5.17863 6.93324 4.93931C7.34044 4.7 7.8192 4.61252 8.28472 4.69237C8.75024 4.77222 9.17248 5.01424 9.47665 5.37558C9.78083 5.73691 9.94731 6.19424 9.9466 6.66656C9.9466 7.99989 7.9466 8.66656 7.9466 8.66656V9.49989\" stroke=\"#8D38FA\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M8 11.3335H8.00667\" stroke=\"#8D38FA\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>`,\r\n loading: `<svg class=\"circular-loader\" viewBox=\"25 25 50 50\" >\r\n <circle class=\"loader-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke=\"#575757\" stroke-width=\"5\" />\r\n </svg>`,\r\n};\r\n\r\ninterface SnackbarActionConfig {\r\n style: 'link' | 'button';\r\n confirm?: {\r\n label: string;\r\n action: Function;\r\n };\r\n cancel?: {\r\n label: string;\r\n action: Function;\r\n };\r\n}\r\n\r\ninterface SnackbarConfig {\r\n title?: string;\r\n message?: string;\r\n type?: 'theme' | 'warning' | 'success' | 'error' | 'question' | 'loading';\r\n duration?: number;\r\n horizontalPosition?: 'center' | 'left' | 'right';\r\n verticalPosition?: 'top' | 'bottom';\r\n action?: SnackbarActionConfig;\r\n keepOpen?: boolean;\r\n blinkTab?: boolean;\r\n}\r\n\r\nclass SnackbarElements {\r\n elements: {\r\n element?: HTMLDivElement;\r\n interval?: any;\r\n }[] = [];\r\n lastScrollTop: number = 15;\r\n\r\n constructor() {}\r\n\r\n add(element: HTMLDivElement, duration: number, callback: Function, verticalPosition: string) {\r\n if (this.elements && this.elements.length === 0) {\r\n this.lastScrollTop = 15;\r\n }\r\n element.style[verticalPosition] = `${this.lastScrollTop}px`;\r\n\r\n const interval = setInterval(() => {\r\n callback();\r\n }, duration);\r\n\r\n this.elements.push({\r\n element: element,\r\n interval: interval,\r\n });\r\n document.body.appendChild(element);\r\n this.lastScrollTop = this.lastScrollTop + document.getElementById(element.id).offsetHeight + 15;\r\n }\r\n\r\n remove(removeId: string) {\r\n const element = this.elements.find(({ element: { id } }) => id === removeId);\r\n if (element) {\r\n this.elements =\r\n this.elements.filter(({ element: { id } }) => id !== element.element.id) || [];\r\n element.element.className = `${element.element.className} fade-out hide`;\r\n setTimeout(() => {\r\n this.lastScrollTop =\r\n this.lastScrollTop - (document.getElementById(removeId).offsetHeight + 15);\r\n document.body.removeChild(element.element);\r\n clearInterval(element.interval);\r\n }, 1000);\r\n }\r\n }\r\n\r\n removeAll() {\r\n this.elements.forEach((element) => {\r\n document.body.removeChild(element.element);\r\n clearInterval(element.interval);\r\n });\r\n this.lastScrollTop = 15;\r\n this.elements = [];\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class MonkeyStyleGuideSnackbarService {\r\n private config: SnackbarConfig;\r\n private snackbarElement: HTMLDivElement;\r\n private snackbarElements: SnackbarElements;\r\n private snackbarBodyElement: HTMLDivElement;\r\n private snackbarBodyMessageElement: HTMLDivElement;\r\n private oldTitle: string;\r\n private timeoutBlinkTab = null;\r\n\r\n constructor(private locationRouter: Location) {\r\n this.snackbarElements = new SnackbarElements();\r\n this.locationRouter.onUrlChange(() => {\r\n this.closeAll();\r\n });\r\n }\r\n\r\n private stopBlinking() {\r\n if (this.oldTitle) {\r\n document.title = this.oldTitle;\r\n if (this.snackbarElements.elements.length <= 0) {\r\n clearInterval(this.timeoutBlinkTab);\r\n }\r\n }\r\n }\r\n\r\n private blinkTab() {\r\n this.oldTitle = this.oldTitle || document.title;\r\n\r\n const startBlinking = () => {\r\n let message = `(${this.snackbarElements.elements.length}) ${this.oldTitle}`;\r\n document.title = document.title === message ? this.oldTitle : message;\r\n };\r\n\r\n if (this.timeoutBlinkTab) clearInterval(this.timeoutBlinkTab);\r\n this.timeoutBlinkTab = setInterval(startBlinking, 1000);\r\n }\r\n\r\n private init(id: string) {\r\n const { config } = this;\r\n let { horizontalPosition, verticalPosition, type } = config;\r\n horizontalPosition = horizontalPosition || 'center';\r\n verticalPosition = verticalPosition || 'top';\r\n\r\n this.snackbarElement = document.createElement('div');\r\n this.snackbarElement.id = `${id}`;\r\n this.snackbarElement.className = `mecx-snackbar-container ${horizontalPosition}-${verticalPosition} ${type}`;\r\n }\r\n\r\n private buildBody() {\r\n this.snackbarBodyElement = document.createElement('div');\r\n this.snackbarBodyElement.className = 'mecx-snackbar-container-body';\r\n\r\n this.snackbarBodyMessageElement = document.createElement('div');\r\n this.snackbarBodyMessageElement.className = 'mecx-snackbar-container-body-content';\r\n }\r\n\r\n private buildTitleAndMessage() {\r\n let {\r\n config: { title, message, action },\r\n } = this;\r\n const titleElement = document.createElement('div');\r\n titleElement.innerText = `${title}`;\r\n titleElement.className = 'mecx-snackbar-container-body-content-title';\r\n\r\n const messageElement = document.createElement('div');\r\n messageElement.innerText = `${message}`;\r\n messageElement.className = `mecx-snackbar-container-body-content-message ${\r\n action ? 'with-action' : ''\r\n }`;\r\n\r\n this.snackbarBodyMessageElement.appendChild(titleElement);\r\n this.snackbarBodyMessageElement.appendChild(messageElement);\r\n }\r\n\r\n private buildAction(id: string) {\r\n const {\r\n config: { type, action },\r\n } = this;\r\n if (action) {\r\n const { style, confirm, cancel } = action;\r\n const actionElement = document.createElement('div');\r\n\r\n let actionCancelElement = null,\r\n actionConfirmElement = null;\r\n if (style === 'link') {\r\n if (cancel) {\r\n actionCancelElement = document.createElement('a');\r\n actionCancelElement.href = 'javascript:void(0)';\r\n actionCancelElement.innerText = cancel.label;\r\n }\r\n\r\n if (confirm) {\r\n actionConfirmElement = document.createElement('a');\r\n actionConfirmElement.href = 'javascript:void(0)';\r\n actionConfirmElement.innerText = confirm.label;\r\n }\r\n } else {\r\n if (cancel) {\r\n actionCancelElement = document.createElement('button');\r\n actionCancelElement.className = `mecx-button-tertiary mecx-button-tertiary__${type}`;\r\n actionCancelElement.innerText = cancel.label;\r\n }\r\n\r\n if (confirm) {\r\n actionConfirmElement = document.createElement('button');\r\n actionConfirmElement.className = `mecx-button-primary mecx-button-primary__${type}`;\r\n actionConfirmElement.innerText = confirm.label;\r\n }\r\n }\r\n\r\n if (actionCancelElement) {\r\n actionCancelElement.addEventListener('click', () => {\r\n this.close(id);\r\n cancel.action();\r\n });\r\n\r\n actionElement.appendChild(actionCancelElement);\r\n }\r\n\r\n if (actionConfirmElement) {\r\n actionConfirmElement.addEventListener('click', () => {\r\n this.close(id);\r\n confirm.action();\r\n });\r\n actionElement.appendChild(actionConfirmElement);\r\n }\r\n\r\n actionElement.className = 'mecx-snackbar-container-body-content-action';\r\n this.snackbarBodyMessageElement.appendChild(actionElement);\r\n }\r\n }\r\n\r\n private buildIcon() {\r\n let {\r\n config: { type },\r\n } = this;\r\n\r\n const snackbarBodyIconElement = document.createElement('div');\r\n snackbarBodyIconElement.className = 'mecx-snackbar-container-body-icon';\r\n snackbarBodyIconElement.innerHTML = `${icons[type]}`;\r\n this.snackbarBodyElement.appendChild(snackbarBodyIconElement);\r\n }\r\n\r\n private finish(id: string) {\r\n let {\r\n config: { duration, keepOpen, verticalPosition },\r\n } = this;\r\n duration = duration || 4000;\r\n const { snackbarBodyElement, snackbarBodyMessageElement, snackbarElement } = this;\r\n snackbarBodyElement.appendChild(snackbarBodyMessageElement);\r\n snackbarElement.appendChild(snackbarBodyElement);\r\n\r\n this.snackbarElements.add(\r\n snackbarElement,\r\n duration,\r\n () => (!keepOpen ? this.close(id) : null),\r\n verticalPosition\r\n );\r\n }\r\n\r\n private close(id: string) {\r\n const { snackbarElements } = this;\r\n snackbarElements.remove(id);\r\n this.stopBlinking();\r\n }\r\n\r\n public show(config: SnackbarConfig) {\r\n this.config = config;\r\n const id = `monkey-snackbar-${MonkeyUtils.getRandomString(30)}`;\r\n this.closeAll();\r\n this.init(id);\r\n this.buildBody();\r\n this.buildTitleAndMessage();\r\n this.buildAction(id);\r\n this.buildIcon();\r\n this.finish(id);\r\n if (config?.blinkTab) {\r\n this.blinkTab();\r\n }\r\n }\r\n\r\n public closeAll() {\r\n const { snackbarElements } = this;\r\n snackbarElements.removeAll();\r\n }\r\n}\r\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n EmbeddedViewRef,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MonkeyUtils } from '../../utils';\nimport { MonkeyModalComponent } from '../../../components/modal';\nimport { MonkeyModalConfig, MonkeyModalRefs } from '../../interfaces';\n\n@Injectable()\nexport class MonkeyStyleGuideModalService {\n private dialogComponentRef: MonkeyModalRefs<MonkeyModalComponent>[] = [];\n\n constructor(\n private resolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector,\n private locationRouter: Location\n ) {\n this.locationRouter.onUrlChange(() => {\n this.closeAll();\n });\n }\n\n open(\n component: any,\n config: MonkeyModalConfig\n ): MonkeyModalRefs<MonkeyModalComponent> {\n const componentFactory = this.resolver.resolveComponentFactory(component);\n const componentRef: any = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n\n const refRet = {\n id: `mecx-modal-${MonkeyUtils.getRandomString(30)}`,\n component: componentRef,\n };\n\n componentRef.instance.config = config;\n componentRef.instance.modalRef = refRet;\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n document.body.classList.add('mecx-monkey-open');\n\n this.dialogComponentRef.push(refRet);\n return refRet;\n }\n\n close(ref: MonkeyModalRefs<MonkeyModalComponent>) {\n this.appRef.detachView(ref.component.hostView);\n ref.component.destroy();\n this.dialogComponentRef = this.dialogComponentRef.filter(\n ({ id }) => id !== ref.id\n );\n if (this.dialogComponentRef.length === 0) {\n document.body.classList.remove('mecx-monkey-open');\n }\n }\n\n closeAll() {\n this.dialogComponentRef.forEach(\n (val: MonkeyModalRefs<MonkeyModalComponent>) => {\n this.appRef.detachView(val.component.hostView);\n val.component.destroy();\n }\n );\n this.dialogComponentRef = [];\n document.body.classList.remove('mecx-monkey-open');\n }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n EmbeddedViewRef,\n Injectable,\n Injector,\n} from '@angular/core';\nimport { Location } from '@angular/common';\nimport { MonkeyUtils } from '../../utils';\nimport { MonkeyModalComponent } from '../../../components/modal';\nimport { MonkeyModalConfig, MonkeyModalRefs } from '../../interfaces';\n\n@Injectable()\nexport class MonkeyStyleGuideModalFixedService {\n private dialogComponentRef: MonkeyModalRefs<MonkeyModalComponent>[] = [];\n\n constructor(\n private resolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector\n ) {\n //not to do\n }\n\n open(\n component: any,\n config: MonkeyModalConfig\n ): MonkeyModalRefs<MonkeyModalComponent> {\n this.closeAll();\n const componentFactory = this.resolver.resolveComponentFactory(component);\n const componentRef: any = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n\n const refRet = {\n id: `mecx-modal-${MonkeyUtils.getRandomString(30)}`,\n component: componentRef,\n };\n\n componentRef.instance.config = config;\n componentRef.instance.modalRef = refRet;\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n document.body.classList.add('mecx-monkey-open');\n\n this.dialogComponentRef.push(refRet);\n return refRet;\n }\n\n close(ref: MonkeyModalRefs<MonkeyModalComponent>) {\n this.appRef.detachView(ref.component.hostView);\n ref.component.destroy();\n this.dialogComponentRef = this.dialogComponentRef.filter(\n ({ id }) => id !== ref.id\n );\n if (this.dialogComponentRef.length === 0) {\n document.body.classList.remove('mecx-monkey-open');\n }\n }\n\n closeAll() {\n this.dialogComponentRef.forEach(\n (val: MonkeyModalRefs<MonkeyModalComponent>) => {\n this.appRef.detachView(val.component.hostView);\n val.component.destroy();\n }\n );\n this.dialogComponentRef = [];\n document.body.classList.remove('mecx-monkey-open');\n }\n}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, Input } from '@angular/core';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-badge',\r\n template: `\r\n <mecx-monkey-badge [id]=\"_id\" [ngClass]=\"{ pulse: pulseOn }\">\r\n <div class=\"badge-count\">\r\n {{ count }}\r\n </div>\r\n </mecx-monkey-badge>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyBadgeComponent {\r\n @Input() count = 0;\r\n @Input() pulseOn = false;\r\n\r\n public _id: string = `mecx-badge-${MonkeyUtils.getRandomString(10)}`;\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyBadgeComponent } from './badge.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [MonkeyBadgeComponent],\n imports: [CommonModule],\n exports: [MonkeyBadgeComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyBadgeModule {}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n OnInit,\r\n HostListener,\r\n ElementRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'monkey-button',\r\n template: `\r\n <button\r\n [ngClass]=\"\r\n 'mecx-button-' +\r\n type +\r\n ' mecx-button-' +\r\n type +\r\n '__' +\r\n color +\r\n (icon ? ' with-icon' : ' no-icon') +\r\n ' ' +\r\n size\r\n \"\r\n type=\"button\"\r\n [disabled]=\"disabled\"\r\n >\r\n <monkey-icon\r\n [icon]=\"icon\"\r\n [color]=\"\r\n disabled\r\n ? '#999999'\r\n : type === 'filter'\r\n ? '#4b4a53'\r\n : type === 'nav-active'\r\n ? 'theme'\r\n : 'theme-800'\r\n \"\r\n [contrast]=\"_useContrast\"\r\n [disabled]=\"disabled\"\r\n *ngIf=\"iconPosition === 'left' && icon\"\r\n ></monkey-icon>\r\n {{ label }}\r\n <ng-content></ng-content>\r\n <monkey-icon\r\n [icon]=\"icon\"\r\n [color]=\"\r\n disabled\r\n ? '#999999'\r\n : type === 'filter'\r\n ? '#4b4a53'\r\n : type === 'nav-active'\r\n ? 'theme'\r\n : 'theme-800'\r\n \"\r\n [disabled]=\"disabled\"\r\n *ngIf=\"iconPosition === 'right' && icon\"\r\n ></monkey-icon>\r\n </button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyButtonComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() icon: string;\r\n @Input() iconPosition: string = 'left';\r\n @Input() type: string;\r\n @Input() color: string;\r\n @Input() disabled: boolean = false;\r\n @Input() size: 'sm' | 'md' | 'lg' = 'md';\r\n\r\n _useContrast = false;\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n const { type } = this;\r\n if (type === 'primary') {\r\n this._useContrast = true;\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n if (this.disabled) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n HostListener,\r\n OnInit,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-button-dropdown',\r\n template: `\r\n <mecx-button-dropdown\r\n [ngClass]=\"{\r\n trigger: type === 'filled',\r\n open: _opened\r\n }\"\r\n >\r\n <mecx-button-dropdown__trigger>\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n <monkey-icon\r\n icon=\"arrow-down-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"!_opened && type === 'filled'\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"arrow-up-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"_opened && type === 'filled'\"\r\n ></monkey-icon>\r\n </mecx-button-dropdown__trigger>\r\n </mecx-button-dropdown>\r\n <mecx-button-dropdown-backdrop *ngIf=\"_opened\" (click)=\"close()\">\r\n </mecx-button-dropdown-backdrop>\r\n <mecx-button-dropdown [ngClass]=\"{ open: _opened }\">\r\n <mecx-button-dropdown-options>\r\n <ng-content></ng-content>\r\n </mecx-button-dropdown-options>\r\n </mecx-button-dropdown>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyButtonDropdownComponent {\r\n @Input() label: any;\r\n @Input() type: 'unfilled' | 'filled' = 'filled';\r\n @Input() listenClicks = true;\r\n\r\n public _customClass = 'trigger';\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-button-dropdown-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n //not to do\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n this.close();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n clickon(event: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this._opened && this.listenClicks) {\r\n this.close();\r\n } else {\r\n this._opened = true;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n close() {\r\n setTimeout(() => {\r\n this._opened = false;\r\n this.cdr.detectChanges();\r\n }, 20);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, Input, OnInit } from '@angular/core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-button-avatar',\r\n template: `\r\n <div\r\n [ngClass]=\"'mecx-button-avatar mecx-button-avatar__' + type + ' mecx-button-avatar__' + size\"\r\n >\r\n <img [src]=\"img\" *ngIf=\"img\" />\r\n <span *ngIf=\"!img && _handledValue\">{{ _handledValue }}</span>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyButtonAvatarComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() type: string;\r\n @Input() size: string;\r\n @Input() img: string;\r\n\r\n public _id = `mecx-button-avatar-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled = false;\r\n public _handledValue = '';\r\n\r\n ngOnInit() {\r\n const { label } = this;\r\n this._handledValue = label?.charAt(0);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n OnInit,\r\n Input,\r\n OnChanges,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { MonkeyStyleGuideSettingsService } from '../../core/services';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-icon',\r\n template: `\r\n <monkey-icon-arrow-down\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-down'\"\r\n ></monkey-icon-arrow-down>\r\n <monkey-icon-arrow-left\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-left'\"\r\n ></monkey-icon-arrow-left>\r\n <monkey-icon-arrow-right\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-right'\"\r\n ></monkey-icon-arrow-right>\r\n <monkey-icon-arrow-up\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'arrow-up'\"\r\n ></monkey-icon-arrow-up>\r\n <monkey-icon-bank\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'bank'\"\r\n ></monkey-icon-bank>\r\n <monkey-icon-bell\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'bell'\"\r\n ></monkey-icon-bell>\r\n <monkey-icon-book\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'book'\"\r\n ></monkey-icon-book>\r\n <monkey-icon-box\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'box'\"\r\n ></monkey-icon-box>\r\n\r\n <monkey-icon-calendar\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'calendar'\"\r\n ></monkey-icon-calendar>\r\n <monkey-icon-camera\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'camera'\"\r\n ></monkey-icon-camera>\r\n <monkey-icon-chat\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'chat'\"\r\n ></monkey-icon-chat>\r\n <monkey-icon-check-circle-out\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-circle-out'\"\r\n ></monkey-icon-check-circle-out>\r\n <monkey-icon-check-circle\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-circle'\"\r\n ></monkey-icon-check-circle>\r\n <monkey-icon-check-grey\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-grey'\"\r\n >\r\n </monkey-icon-check-grey>\r\n <monkey-icon-check-white\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check-white'\"\r\n >\r\n </monkey-icon-check-white>\r\n <monkey-icon-check\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'check'\"\r\n ></monkey-icon-check>\r\n <monkey-icon-clipboard\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'clipboard'\"\r\n ></monkey-icon-clipboard>\r\n <monkey-icon-clock\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'clock'\"\r\n ></monkey-icon-clock>\r\n <monkey-icon-close\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'close'\"\r\n ></monkey-icon-close>\r\n <monkey-icon-cnpj\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'cnpj'\"\r\n ></monkey-icon-cnpj>\r\n <monkey-icon-codepen\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'codepen'\"\r\n ></monkey-icon-codepen>\r\n <monkey-icon-company-name\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'company-name'\"\r\n ></monkey-icon-company-name>\r\n <monkey-icon-contract\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'contract'\"\r\n ></monkey-icon-contract>\r\n <monkey-icon-delete\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'delete'\"\r\n ></monkey-icon-delete>\r\n <monkey-icon-document\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'document'\"\r\n ></monkey-icon-document>\r\n <monkey-icon-dollar-sign\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'dollar-sign'\"\r\n ></monkey-icon-dollar-sign>\r\n <monkey-icon-domain\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'domain'\"\r\n ></monkey-icon-domain>\r\n <monkey-icon-download\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'download'\"\r\n ></monkey-icon-download>\r\n <monkey-icon-edit\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'edit'\"\r\n ></monkey-icon-edit>\r\n <monkey-icon-email\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'email'\"\r\n ></monkey-icon-email>\r\n <monkey-icon-empty-doc\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'empty-doc'\"\r\n ></monkey-icon-empty-doc>\r\n <monkey-icon-error\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'error'\"\r\n ></monkey-icon-error>\r\n <monkey-icon-eye-closed\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'eye-closed'\"\r\n ></monkey-icon-eye-closed>\r\n <monkey-icon-eye-open\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'eye-open'\"\r\n ></monkey-icon-eye-open>\r\n <monkey-icon-filter\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'filter'\"\r\n ></monkey-icon-filter>\r\n <monkey-icon-grid\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'grid'\"\r\n ></monkey-icon-grid>\r\n <monkey-icon-help\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'help'\"\r\n ></monkey-icon-help>\r\n <monkey-icon-hexagon\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'hexagon'\"\r\n ></monkey-icon-hexagon>\r\n <monkey-icon-home\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'home'\"\r\n ></monkey-icon-home>\r\n <monkey-icon-image\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'image'\"\r\n ></monkey-icon-image>\r\n <monkey-icon-list\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'list'\"\r\n ></monkey-icon-list>\r\n <monkey-icon-location-pin\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'location-pin'\"\r\n ></monkey-icon-location-pin>\r\n <monkey-icon-login\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'login'\"\r\n ></monkey-icon-login>\r\n <monkey-icon-logout\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'logout'\"\r\n ></monkey-icon-logout>\r\n <monkey-icon-menu\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'menu'\"\r\n ></monkey-icon-menu>\r\n <monkey-icon-money-sign\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'money-sign'\"\r\n ></monkey-icon-money-sign>\r\n <monkey-icon-more\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'more'\"\r\n ></monkey-icon-more>\r\n <monkey-icon-offered\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'offered'\"\r\n ></monkey-icon-offered>\r\n <monkey-icon-password\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'password'\"\r\n ></monkey-icon-password>\r\n <monkey-icon-people\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'people'\"\r\n ></monkey-icon-people>\r\n <monkey-icon-percent\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'percent'\"\r\n ></monkey-icon-percent>\r\n <monkey-icon-person-document\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'person-document'\"\r\n ></monkey-icon-person-document>\r\n <monkey-icon-person-sad\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'person-sad'\"\r\n ></monkey-icon-person-sad>\r\n <monkey-icon-phone\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'phone'\"\r\n ></monkey-icon-phone>\r\n <monkey-icon-pork\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'pork'\"\r\n ></monkey-icon-pork>\r\n <monkey-icon-refresh\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'refresh'\"\r\n ></monkey-icon-refresh>\r\n <monkey-icon-repeat\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'repeat'\"\r\n ></monkey-icon-repeat>\r\n <monkey-icon-search\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'search'\"\r\n ></monkey-icon-search>\r\n <monkey-icon-second-warning\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'second-warning'\"\r\n ></monkey-icon-second-warning>\r\n <monkey-icon-settings\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'settings'\"\r\n ></monkey-icon-settings>\r\n <monkey-icon-trash\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'trash'\"\r\n ></monkey-icon-trash>\r\n <monkey-icon-upload\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'upload'\"\r\n ></monkey-icon-upload>\r\n <monkey-icon-user\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'user'\"\r\n ></monkey-icon-user>\r\n <monkey-icon-wallet\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'wallet'\"\r\n ></monkey-icon-wallet>\r\n <monkey-icon-warning\r\n [fillColor]=\"_fillColor\"\r\n [id]=\"_id\"\r\n [size]=\"_size\"\r\n *ngIf=\"_icon === 'warning'\"\r\n ></monkey-icon-warning>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyIconComponent implements OnInit, OnChanges {\r\n @Input() icon: string;\r\n\r\n @Input() color: string = 'theme';\r\n\r\n @Input() contrast = false;\r\n\r\n @Input() disabled: boolean = false;\r\n\r\n _fillColor = '#000000';\r\n\r\n _icon = '';\r\n\r\n _id = `mecx-icon-${MonkeyUtils.getRandomString(10)}`;\r\n\r\n _size: string;\r\n\r\n private unsubscribeAll: Subject<any>;\r\n\r\n constructor(private monkeyStyleGuideSettingsService: MonkeyStyleGuideSettingsService) {\r\n this.unsubscribeAll = new Subject();\r\n }\r\n\r\n private handleIcon() {\r\n const { icon, color, contrast, monkeyStyleGuideSettingsService } = this;\r\n const handledIcon = icon?.substr(0, icon?.lastIndexOf('-'));\r\n this._icon = handledIcon;\r\n this._size = icon?.substr(icon?.lastIndexOf('-') + 1, icon?.length);\r\n\r\n monkeyStyleGuideSettingsService\r\n .settings()\r\n .pipe(takeUntil(this.unsubscribeAll))\r\n .subscribe((settings: any) => {\r\n if (settings && JSON.stringify(settings) !== '{}') {\r\n const { colors } = settings;\r\n\r\n let handledColor = '';\r\n if ((color || '').search('#') < 0) {\r\n let handledMainColor = '',\r\n handledSecondColor = '';\r\n handledMainColor = color.split('-')[0];\r\n if (!handledMainColor) handledMainColor = 'theme';\r\n handledSecondColor = color.split('-')[1];\r\n if (!handledSecondColor) handledSecondColor = 'main';\r\n\r\n handledColor = colors[handledMainColor][handledSecondColor];\r\n if (contrast) {\r\n handledColor = colors[handledMainColor]['contrast'][handledSecondColor];\r\n }\r\n } else {\r\n handledColor = color;\r\n }\r\n\r\n this._fillColor = handledColor;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.handleIcon();\r\n }\r\n\r\n ngOnChanges() {\r\n this.handleIcon();\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n if (this.disabled) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, Input, Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[baseIcon]',\r\n})\r\nclass BaseIconComponent {\r\n @Input() fillColor: string;\r\n\r\n @Input() size: string;\r\n}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-down',\r\n templateUrl: `../../../../assets/icons/arrow-down.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowDownComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-left',\r\n templateUrl: `../../../../assets/icons/arrow-left.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowLeftComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-right',\r\n templateUrl: `../../../../assets/icons/arrow-right.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowRightComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-arrow-up',\r\n templateUrl: `../../../../assets/icons/arrow-up.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconArrowUpComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-bank',\r\n templateUrl: `../../../../assets/icons/bank.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBankComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-bell',\r\n templateUrl: `../../../../assets/icons/bell.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBellComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-book',\r\n templateUrl: `../../../../assets/icons/book.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBookComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-box',\r\n templateUrl: `../../../../assets/icons/box.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconBoxComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-calendar',\r\n templateUrl: `../../../../assets/icons/calendar.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCalendarComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-camera',\r\n templateUrl: `../../../../assets/icons/camera.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCameraComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-chat',\r\n templateUrl: `../../../../assets/icons/chat.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconChatComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-circle-out',\r\n templateUrl: `../../../../assets/icons/check-circle-out.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckCircleOutComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-circle',\r\n templateUrl: `../../../../assets/icons/check-circle.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckCircleComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-grey',\r\n templateUrl: '../../../../assets/icons/check-grey.svg',\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckGreyComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check-white',\r\n templateUrl: `../../../../assets/icons/check-white.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckWhiteComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-check',\r\n templateUrl: `../../../../assets/icons/check.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCheckComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-clipboard',\r\n templateUrl: `../../../../assets/icons/clipboard.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconClipboardComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-clock',\r\n templateUrl: `../../../../assets/icons/clock.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconClockComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-close',\r\n templateUrl: `../../../../assets/icons/close.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCloseComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-cnpj',\r\n templateUrl: `../../../../assets/icons/cnpj.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCNPJComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-codepen',\r\n templateUrl: `../../../../assets/icons/codepen.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCodepenComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-company-name',\r\n templateUrl: `../../../../assets/icons/company-name.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconCompanyNameComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-contract',\r\n templateUrl: `../../../../assets/icons/contract.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconContractComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-delete',\r\n templateUrl: `../../../../assets/icons/delete.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDeleteComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-document',\r\n templateUrl: `../../../../assets/icons/document.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDocumentComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-dollar-sign',\r\n templateUrl: `../../../../assets/icons/dollar-sign.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDollarSignComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-domain',\r\n templateUrl: `../../../../assets/icons/domain.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDomainComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-download',\r\n templateUrl: `../../../../assets/icons/download.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconDownloadComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-edit',\r\n templateUrl: `../../../../assets/icons/edit.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEditComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-email',\r\n templateUrl: `../../../../assets/icons/email.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEmailComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-empty-doc',\r\n templateUrl: `../../../../assets/icons/empty-doc.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEmptyDocComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-error',\r\n templateUrl: `../../../../assets/icons/error.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconErrorComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-eye-closed',\r\n templateUrl: `../../../../assets/icons/eye-closed.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEyeClosedComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-eye-open',\r\n templateUrl: `../../../../assets/icons/eye-open.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconEyeOpenComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-filter',\r\n templateUrl: `../../../../assets/icons/filter.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconFilterComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-grid',\r\n templateUrl: `../../../../assets/icons/grid.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconGridComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-help',\r\n templateUrl: `../../../../assets/icons/help.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconHelpComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-hexagon',\r\n templateUrl: `../../../../assets/icons/hexagon.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconHexagonComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-home',\r\n templateUrl: `../../../../assets/icons/home.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconHomeComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-image',\r\n templateUrl: `../../../../assets/icons/image.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconImageComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-list',\r\n templateUrl: `../../../../assets/icons/list.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconListComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-location-pin',\r\n templateUrl: `../../../../assets/icons/location-pin.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconLocationPinComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-login',\r\n templateUrl: `../../../../assets/icons/login.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconLoginComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-logout',\r\n templateUrl: `../../../../assets/icons/logout.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconLogoutComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-menu',\r\n templateUrl: `../../../../assets/icons/menu.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconMenuComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-money-sign',\r\n templateUrl: `../../../../assets/icons/money-sign.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconMoneySignComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-more',\r\n templateUrl: `../../../../assets/icons/more.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconMoreComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-offered',\r\n templateUrl: `../../../../assets/icons/offered.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconOfferedComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-password',\r\n templateUrl: `../../../../assets/icons/password.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPasswordComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-people',\r\n templateUrl: `../../../../assets/icons/people.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPeopleComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-percent',\r\n templateUrl: `../../../../assets/icons/percent.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPercentComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-person-document',\r\n templateUrl: `../../../../assets/icons/person-document.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPersonDocumentComponent extends BaseIconComponent {}\r\n@Component({\r\n selector: 'monkey-icon-person-sad',\r\n templateUrl: `../../../../assets/icons/person-sad.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPersonSadComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-phone',\r\n templateUrl: `../../../../assets/icons/phone.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPhoneComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-pork',\r\n templateUrl: `../../../../assets/icons/pork.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconPorkComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-refresh',\r\n templateUrl: `../../../../assets/icons/refresh.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconRefreshComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-repeat',\r\n templateUrl: `../../../../assets/icons/repeat.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconRepeatComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-search',\r\n templateUrl: `../../../../assets/icons/search.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconSearchComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-second-warning',\r\n templateUrl: `../../../../assets/icons/second-warning.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconSecondWarningComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-settings',\r\n templateUrl: `../../../../assets/icons/settings.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconSettingsComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-trash',\r\n templateUrl: `../../../../assets/icons/trash.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconTrashComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-upload',\r\n templateUrl: `../../../../assets/icons/upload.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconUploadComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-user',\r\n templateUrl: `../../../../assets/icons/user.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconUserComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-wallet',\r\n templateUrl: `../../../../assets/icons/wallet.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconWalletComponent extends BaseIconComponent {}\r\n\r\n@Component({\r\n selector: 'monkey-icon-warning',\r\n templateUrl: `../../../../assets/icons/warning.svg`,\r\n styleUrls: ['./icons.component.scss'],\r\n})\r\nexport class MonkeyIconWarningComponent extends BaseIconComponent {}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconComponent } from './icon.component';\r\nimport {\r\n MonkeyIconArrowDownComponent,\r\n MonkeyIconArrowLeftComponent,\r\n MonkeyIconArrowRightComponent,\r\n MonkeyIconArrowUpComponent,\r\n MonkeyIconBankComponent,\r\n MonkeyIconBellComponent,\r\n MonkeyIconBookComponent,\r\n MonkeyIconBoxComponent,\r\n MonkeyIconCalendarComponent,\r\n MonkeyIconCameraComponent,\r\n MonkeyIconChatComponent,\r\n MonkeyIconCheckCircleOutComponent,\r\n MonkeyIconCheckCircleComponent,\r\n MonkeyIconCheckGreyComponent,\r\n MonkeyIconCheckWhiteComponent,\r\n MonkeyIconCheckComponent,\r\n MonkeyIconClipboardComponent,\r\n MonkeyIconClockComponent,\r\n MonkeyIconCloseComponent,\r\n MonkeyIconCNPJComponent,\r\n MonkeyIconCodepenComponent,\r\n MonkeyIconCompanyNameComponent,\r\n MonkeyIconContractComponent,\r\n MonkeyIconDeleteComponent,\r\n MonkeyIconDocumentComponent,\r\n MonkeyIconDollarSignComponent,\r\n MonkeyIconDomainComponent,\r\n MonkeyIconDownloadComponent,\r\n MonkeyIconEditComponent,\r\n MonkeyIconEmailComponent,\r\n MonkeyIconEmptyDocComponent,\r\n MonkeyIconErrorComponent,\r\n MonkeyIconEyeClosedComponent,\r\n MonkeyIconEyeOpenComponent,\r\n MonkeyIconFilterComponent,\r\n MonkeyIconGridComponent,\r\n MonkeyIconHelpComponent,\r\n MonkeyIconHexagonComponent,\r\n MonkeyIconHomeComponent,\r\n MonkeyIconImageComponent,\r\n MonkeyIconListComponent,\r\n MonkeyIconLocationPinComponent,\r\n MonkeyIconLoginComponent,\r\n MonkeyIconLogoutComponent,\r\n MonkeyIconMenuComponent,\r\n MonkeyIconMoneySignComponent,\r\n MonkeyIconMoreComponent,\r\n MonkeyIconOfferedComponent,\r\n MonkeyIconPasswordComponent,\r\n MonkeyIconPeopleComponent,\r\n MonkeyIconPercentComponent,\r\n MonkeyIconPersonDocumentComponent,\r\n MonkeyIconPersonSadComponent,\r\n MonkeyIconPhoneComponent,\r\n MonkeyIconPorkComponent,\r\n MonkeyIconRefreshComponent,\r\n MonkeyIconRepeatComponent,\r\n MonkeyIconSearchComponent,\r\n MonkeyIconSecondWarningComponent,\r\n MonkeyIconSettingsComponent,\r\n MonkeyIconTrashComponent,\r\n MonkeyIconUploadComponent,\r\n MonkeyIconUserComponent,\r\n MonkeyIconWalletComponent,\r\n MonkeyIconWarningComponent,\r\n} from './icons.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyIconComponent,\r\n MonkeyIconArrowDownComponent,\r\n MonkeyIconArrowLeftComponent,\r\n MonkeyIconArrowRightComponent,\r\n MonkeyIconArrowUpComponent,\r\n MonkeyIconBankComponent,\r\n MonkeyIconBellComponent,\r\n MonkeyIconBookComponent,\r\n MonkeyIconBoxComponent,\r\n MonkeyIconCalendarComponent,\r\n MonkeyIconCameraComponent,\r\n MonkeyIconChatComponent,\r\n MonkeyIconCheckCircleOutComponent,\r\n MonkeyIconCheckCircleComponent,\r\n MonkeyIconCheckGreyComponent,\r\n MonkeyIconCheckWhiteComponent,\r\n MonkeyIconCheckComponent,\r\n MonkeyIconClipboardComponent,\r\n MonkeyIconClockComponent,\r\n MonkeyIconCloseComponent,\r\n MonkeyIconCNPJComponent,\r\n MonkeyIconCodepenComponent,\r\n MonkeyIconCompanyNameComponent,\r\n MonkeyIconContractComponent,\r\n MonkeyIconDeleteComponent,\r\n MonkeyIconDocumentComponent,\r\n MonkeyIconDollarSignComponent,\r\n MonkeyIconDomainComponent,\r\n MonkeyIconDownloadComponent,\r\n MonkeyIconEditComponent,\r\n MonkeyIconEmailComponent,\r\n MonkeyIconEmptyDocComponent,\r\n MonkeyIconErrorComponent,\r\n MonkeyIconEyeClosedComponent,\r\n MonkeyIconEyeOpenComponent,\r\n MonkeyIconFilterComponent,\r\n MonkeyIconGridComponent,\r\n MonkeyIconHelpComponent,\r\n MonkeyIconHexagonComponent,\r\n MonkeyIconHomeComponent,\r\n MonkeyIconImageComponent,\r\n MonkeyIconListComponent,\r\n MonkeyIconLocationPinComponent,\r\n MonkeyIconLoginComponent,\r\n MonkeyIconLogoutComponent,\r\n MonkeyIconMenuComponent,\r\n MonkeyIconMoneySignComponent,\r\n MonkeyIconMoreComponent,\r\n MonkeyIconOfferedComponent,\r\n MonkeyIconPasswordComponent,\r\n MonkeyIconPeopleComponent,\r\n MonkeyIconPercentComponent,\r\n MonkeyIconPersonDocumentComponent,\r\n MonkeyIconPersonSadComponent,\r\n MonkeyIconPhoneComponent,\r\n MonkeyIconPorkComponent,\r\n MonkeyIconRefreshComponent,\r\n MonkeyIconRepeatComponent,\r\n MonkeyIconSearchComponent,\r\n MonkeyIconSecondWarningComponent,\r\n MonkeyIconSettingsComponent,\r\n MonkeyIconTrashComponent,\r\n MonkeyIconUploadComponent,\r\n MonkeyIconUserComponent,\r\n MonkeyIconWalletComponent,\r\n MonkeyIconWarningComponent,\r\n ],\r\n imports: [CommonModule],\r\n exports: [MonkeyIconComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyIconModule {}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyButtonComponent } from './button.component';\r\nimport { MonkeyButtonDropdownComponent } from './button-dropdown.component';\r\nimport { MonkeyButtonAvatarComponent } from './button-avatar.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyButtonComponent,\r\n MonkeyButtonDropdownComponent,\r\n MonkeyButtonAvatarComponent,\r\n ],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyIconModule],\r\n exports: [\r\n MonkeyButtonComponent,\r\n MonkeyButtonDropdownComponent,\r\n MonkeyButtonAvatarComponent,\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyButtonModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n forwardRef,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormBuilder,\r\n FormGroup,\r\n NG_VALUE_ACCESSOR,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\nimport * as moment_ from 'moment';\r\n\r\nconst moment = moment_;\r\n\r\nconst isMobile = (() => {\r\n const isMobileWidth =\r\n window.screen.width <= 640 ||\r\n (window.matchMedia && window.matchMedia('only screen and (max-width: 640px)').matches);\r\n return (\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile/i.test(navigator.userAgent) || isMobileWidth\r\n );\r\n})();\r\n\r\n@Component({\r\n selector: 'monkey-date-range-picker',\r\n template: `\r\n <mecx-date-range-picker-group [class.error]=\"errorMessage?.trim()\">\r\n <mecx-date-range-picker-group-body>\r\n <mecx-date-range-picker class=\"first-date-range\">\r\n <mecx-date-range-picker-header>\r\n <div class=\"calendar-title\">\r\n <monkey-button\r\n class=\"calendar-previous\"\r\n color=\"theme\"\r\n icon=\"arrow-left-16\"\r\n type=\"tertiary\"\r\n (click)=\"previousMonth()\"\r\n size=\"sm\"\r\n >\r\n </monkey-button>\r\n <div class=\"month-year-title\">\r\n {{ i18n?.months?.[_dateFirst.format('M')] }}\r\n {{ _dateFirst.format('YYYY') }}\r\n </div>\r\n <monkey-button\r\n class=\"calendar-next\"\r\n color=\"theme\"\r\n icon=\"arrow-right-16\"\r\n type=\"tertiary\"\r\n (click)=\"nextMonth()\"\r\n size=\"sm\"\r\n >\r\n </monkey-button>\r\n </div>\r\n <div class=\"week\">\r\n <span class=\"week-day\" *ngFor=\"let day of [1, 2, 3, 4, 5, 6, 7]\">\r\n {{ i18n?.days?.[day]}}\r\n </span>\r\n </div>\r\n </mecx-date-range-picker-header>\r\n <mecx-date-range-picker-body>\r\n <div class=\"month-week\" *ngFor=\"let week of _daysArrFirst\">\r\n <div\r\n class=\"month-day\"\r\n (click)=\"selectedDate(day)\"\r\n [ngClass]=\"{\r\n inactive: !day,\r\n selected: isSelected(day),\r\n today: todayCheck(day),\r\n 'first-selected': isFirstSelected(day),\r\n 'last-selected': isLastSelected(day)\r\n }\"\r\n *ngFor=\"let day of week\"\r\n #divOne\r\n >\r\n {{ day?.date() }}\r\n </div>\r\n </div>\r\n </mecx-date-range-picker-body>\r\n </mecx-date-range-picker>\r\n\r\n <mecx-date-range-picker class=\"second-date-range\" *ngIf=\"_daysArrSecond?.length\">\r\n <mecx-date-range-picker-header>\r\n <div class=\"calendar-title\">\r\n <div class=\"month-year-title\">\r\n {{ i18n?.months?.[_dateSecond.format('M')] }}\r\n {{ _dateSecond.format('YYYY') }}\r\n </div>\r\n <monkey-button\r\n class=\"calendar-previous\"\r\n color=\"theme\"\r\n icon=\"arrow-right-16\"\r\n type=\"tertiary\"\r\n (click)=\"nextMonth()\"\r\n size=\"sm\"\r\n >\r\n </monkey-button>\r\n </div>\r\n <div class=\"week\">\r\n <span class=\"week-day\" *ngFor=\"let day of [1, 2, 3, 4, 5, 6, 7]\">\r\n {{ i18n?.days?.[day]}}\r\n </span>\r\n </div>\r\n </mecx-date-range-picker-header>\r\n <mecx-date-range-picker-body>\r\n <div class=\"month-week\" *ngFor=\"let week of _daysArrSecond\">\r\n <div\r\n class=\"month-day\"\r\n (click)=\"selectedDate(day)\"\r\n [ngClass]=\"{\r\n inactive: !day,\r\n selected: isSelected(day),\r\n today: todayCheck(day),\r\n 'first-selected': isFirstSelected(day),\r\n 'last-selected': isLastSelected(day)\r\n }\"\r\n *ngFor=\"let day of week\"\r\n >\r\n {{ day?.date() }}\r\n </div>\r\n </div>\r\n </mecx-date-range-picker-body>\r\n </mecx-date-range-picker>\r\n </mecx-date-range-picker-group-body>\r\n <mecx-date-range-picker-group-info>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-date-range-picker-group-info>\r\n <mecx-date-range-picker-group-action>\r\n <div class=\"action-days\">\r\n <monkey-button color=\"theme\" type=\"secondary\" (click)=\"selectRangeOfDays(30)\">\r\n {{ i18n?.actions?.['30'] }}\r\n </monkey-button>\r\n <monkey-button color=\"theme\" type=\"secondary\" (click)=\"selectRangeOfDays(60)\">\r\n {{ i18n?.actions?.['60'] }}\r\n </monkey-button>\r\n <monkey-button color=\"theme\" type=\"secondary\" (click)=\"selectRangeOfDays(90)\">\r\n {{ i18n?.actions?.['90'] }}\r\n </monkey-button>\r\n </div>\r\n <monkey-button color=\"theme\" type=\"primary\" (click)=\"navigateToToday()\">\r\n {{ i18n?.today }}\r\n </monkey-button>\r\n </mecx-date-range-picker-group-action>\r\n </mecx-date-range-picker-group>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyDateRangePickerComponent),\r\n multi: true,\r\n },\r\n CurrencyPipe,\r\n ],\r\n})\r\nexport class MonkeyDateRangePickerComponent implements ControlValueAccessor, OnInit {\r\n @Input() i18n: {\r\n months: {\r\n [s: string]: string;\r\n };\r\n days: {\r\n [s: string]: string;\r\n };\r\n actions: {\r\n [s: string]: string;\r\n };\r\n today: string;\r\n };\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private today = moment().format('YYYY-MM-DD');\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _dateFirst = moment();\r\n public _dateSecond = moment().add(1, 'M');\r\n public _id: string = `mecx-date-range-picker-${MonkeyUtils.getRandomString(10)}`;\r\n public _daysArrFirst = [];\r\n public _daysArrSecond = [];\r\n public _dateForm: FormGroup;\r\n\r\n constructor(private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n this.initDateRange();\r\n }\r\n\r\n private initDateRange() {\r\n return (this._dateForm = this.fb.group({\r\n startDate: [null, Validators.required],\r\n endDate: [null, Validators.required],\r\n }));\r\n }\r\n\r\n private createCalendar(month: moment.Moment) {\r\n let firstDay = moment(month).startOf('M');\r\n let lastDay = moment(month).endOf('M');\r\n let days = Array.apply(null, { length: month.daysInMonth() })\r\n .map(Number.call, Number)\r\n .map((n: number) => {\r\n return moment(firstDay).add(n, 'd');\r\n });\r\n\r\n let n = 0;\r\n while (n < firstDay.weekday()) {\r\n days.unshift(null);\r\n n++;\r\n }\r\n n = 0;\r\n while (n < 7 - lastDay.weekday()) {\r\n days.push(null);\r\n n++;\r\n }\r\n\r\n let index = 1;\r\n let group = [];\r\n let grouped = [];\r\n\r\n Object.entries(days).map(([key, value]: [string, any]) => {\r\n if (index > 7) {\r\n index = 1;\r\n grouped.push(group);\r\n group = [];\r\n }\r\n\r\n group.push(value);\r\n index++;\r\n });\r\n grouped.push(group);\r\n\r\n return grouped;\r\n }\r\n\r\n private build() {\r\n this._daysArrFirst = this.createCalendar(this._dateFirst);\r\n if (!isMobile) {\r\n this._daysArrSecond = this.createCalendar(this._dateSecond);\r\n }\r\n }\r\n\r\n navigateToToday() {\r\n this._dateFirst = moment();\r\n this._dateSecond = moment().add(1, 'M');\r\n this.build();\r\n }\r\n\r\n ngOnInit() {\r\n this.build();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n this._dateForm.setValue(value);\r\n this.cdr.detectChanges();\r\n this.onModelChange(this._dateForm.value);\r\n this.onModelTouched(this._dateForm.value);\r\n }\r\n\r\n get value(): any {\r\n return this._dateForm.value;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n this.onChange.next(value);\r\n }\r\n\r\n nextMonth() {\r\n this._dateFirst.add(1, 'M');\r\n this._dateSecond.add(1, 'M');\r\n\r\n this._daysArrFirst = this.createCalendar(this._dateFirst);\r\n this._daysArrSecond = this.createCalendar(this._dateSecond);\r\n }\r\n\r\n previousMonth() {\r\n this._dateFirst.subtract(1, 'M');\r\n this._dateSecond.subtract(1, 'M');\r\n\r\n this._daysArrFirst = this.createCalendar(this._dateFirst);\r\n this._daysArrSecond = this.createCalendar(this._dateSecond);\r\n }\r\n\r\n todayCheck(day: moment.Moment) {\r\n if (!day) {\r\n return false;\r\n }\r\n\r\n return moment().format('L') === day.format('L');\r\n }\r\n\r\n isSelected(day: moment.Moment) {\r\n if (!day) {\r\n return false;\r\n }\r\n\r\n let startDateMoment = moment(this._dateForm.value.startDate, 'YYYY-MM-DD');\r\n let endDateMoment = moment(this._dateForm.value.endDate, 'YYYY-MM-DD');\r\n\r\n if (this._dateForm.valid) {\r\n return startDateMoment.isSameOrBefore(day) && endDateMoment.isSameOrAfter(day);\r\n }\r\n\r\n if (this._dateForm.get('startDate').valid) {\r\n return startDateMoment.isSame(day);\r\n }\r\n }\r\n\r\n isFirstSelected(day) {\r\n const { _dateForm } = this;\r\n const { startDate } = _dateForm.value;\r\n return day?.isSame(startDate);\r\n }\r\n\r\n isLastSelected(day: moment.Moment) {\r\n const { _dateForm } = this;\r\n const { endDate } = _dateForm.value;\r\n return day?.isSame(endDate);\r\n }\r\n\r\n selectedDate(day: moment.Moment) {\r\n const { _dateForm } = this;\r\n let dayFormatted = day.format('YYYY-MM-DD');\r\n\r\n if (_dateForm.valid) {\r\n _dateForm.setValue({ startDate: null, endDate: null });\r\n this.writeValue(null);\r\n return;\r\n }\r\n\r\n if (!_dateForm.get('startDate').value) {\r\n _dateForm.get('startDate').patchValue(dayFormatted);\r\n } else {\r\n _dateForm.get('endDate').patchValue(dayFormatted);\r\n this.writeValue(_dateForm.value);\r\n }\r\n }\r\n\r\n selectRangeOfDays(days: number) {\r\n const { _dateForm, today } = this;\r\n const { startDate } = _dateForm.value;\r\n\r\n const firstDay = startDate || today;\r\n const lastDay = moment(firstDay).add(days, 'day').format('YYYY-MM-DD');\r\n _dateForm.get('startDate').patchValue(firstDay);\r\n _dateForm.get('endDate').patchValue(lastDay);\r\n this.writeValue(_dateForm.value);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyDateRangePickerComponent } from './date-range-picker.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyIconModule } from '../icon';\r\nimport { MonkeyButtonModule } from '../button';\r\n\r\n@NgModule({\r\n declarations: [MonkeyDateRangePickerComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyButtonModule, MonkeyIconModule],\r\n exports: [MonkeyDateRangePickerComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyDateRangePickerModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyStyleGuideSettingsService, MonkeyStyleSettings } from '../../core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-input',\r\n template: `\r\n <mecx-form-field [ngClass]=\"{ disabled: _disabled }\" [id]=\"_id\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon\r\n [icon]=\"icon\"\r\n [color]=\"errorMessage?.trim() ? '#fa3838' : '#4B4A53'\"\r\n *ngIf=\"icon\"\r\n ></monkey-icon>\r\n <symbol>\r\n {{ _symbol }}\r\n </symbol>\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onChangeValue($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"_formatedValue\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n [prefix]=\"prefix\"\r\n *ngIf=\"mask && prefix\"\r\n #monkeyInput\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onChangeValue($event)\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"_formatedValue\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n *ngIf=\"mask && !prefix\"\r\n #monkeyInput\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n (input)=\"onChangeValue($event)\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"_formatedValue\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"_disabled\"\r\n [maxLength]=\"maxLength\"\r\n *ngIf=\"!mask && !prefix\"\r\n [max]=\"maxDateToday ? _maxDateToday : null\"\r\n #monkeyInput\r\n />\r\n <monkey-icon\r\n icon=\"eye-open-16\"\r\n [color]=\"errorMessage?.trim() ? '#fa3838' : '#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'text'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"eye-closed-16\"\r\n [color]=\"errorMessage?.trim() ? '#fa3838' : '#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'password'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n </mecx-form-field-body>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyInputComponent),\r\n multi: true,\r\n },\r\n CurrencyPipe,\r\n ],\r\n})\r\nexport class MonkeyInputComponent implements ControlValueAccessor, OnInit {\r\n @Input() name: string = `mecx-input-${MonkeyUtils.getRandomString(10)}`;\r\n @Input() label: string;\r\n @Input() helperMessage: string = '';\r\n @Input() placeholder: string = '';\r\n @Input() icon: string;\r\n @Input() type: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() mask: string;\r\n @Input() prefix: string;\r\n @Input() maxLength: number = 255;\r\n @Input() onlyNumber: any;\r\n @Input() onlyAlphaNumeric: any;\r\n @Input() upperCase: any;\r\n @Input() lowerCase: any;\r\n @Input() capitalize: any;\r\n @Input() currency: any;\r\n @Input() percent: any;\r\n @Input() maxDateToday = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private settings: MonkeyStyleSettings;\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _id: string = `mecx-input-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _oldType: string;\r\n public _formatedValue: any;\r\n public _maxDateToday = new Date().toISOString().split('T')[0];\r\n public _symbol = '';\r\n\r\n @ViewChild('monkeyInput', {\r\n static: true,\r\n })\r\n monkeyInput: ElementRef;\r\n\r\n constructor(\r\n private currencyPipe: CurrencyPipe,\r\n private settingsService: MonkeyStyleGuideSettingsService,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n private handleValue(value: any, apply = false): any {\r\n if (this.onlyNumber) {\r\n return MonkeyUtils.handleOnlyNumbers(`${value}`);\r\n } else if (this.onlyAlphaNumeric) return MonkeyUtils.handleOnlyAlphaNumeric(`${value}`);\r\n else if (this.upperCase) return `${value}`.toUpperCase();\r\n else if (this.lowerCase) return `${value}`.toLowerCase();\r\n else if (this.capitalize) return MonkeyUtils.capitalize(`${value}`.toUpperCase());\r\n else if (this.currency || this.percent) {\r\n return MonkeyUtils.handleOnlyNumbers(`${value}`) / (apply ? 100 : 1);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private replaceZero(value: any) {\r\n return `${value}`.replace(new RegExp(/0/, 'g'), '');\r\n }\r\n\r\n private formatValue(value: any): any {\r\n const { settings } = this;\r\n if (this.currency) {\r\n if (!value || !this.replaceZero(value)) return '';\r\n return this.currencyPipe.transform(\r\n value,\r\n settings?.currency?.code || 'BRL',\r\n '',\r\n '1.2-2',\r\n settings?.currency?.locale || 'pt-BR'\r\n );\r\n } else if (this.percent) {\r\n return `${value}`;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n private handleSymbol() {\r\n const { settings } = this;\r\n if (this.currency) {\r\n this._symbol = {\r\n BRL: 'R$',\r\n CLP: 'CLP',\r\n }[settings?.currency?.code || 'BRL'];\r\n } else if (this.percent) {\r\n this._symbol = '%';\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n const { settingsService } = this;\r\n this._oldType = this.type;\r\n settingsService.settings().subscribe((val: MonkeyStyleSettings) => {\r\n this.settings = val;\r\n this.handleSymbol();\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n this.handledValue = value;\r\n this._formatedValue = this.formatValue(value);\r\n this.cdr.detectChanges();\r\n this.onModelChange(this.handledValue);\r\n this.onModelTouched(this.handledValue);\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any) {\r\n const value = this._formatedValue;\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n const handled = this.handleValue(value, true);\r\n this.writeValue(handled);\r\n this.onChange.next(handled);\r\n }\r\n\r\n onShowAndHidePassword() {\r\n this.type = this.type === 'password' ? 'text' : 'password';\r\n }\r\n\r\n @HostListener('click')\r\n onClick() {\r\n document?.getElementById(this._id)?.getElementsByTagName('input')?.[0]?.focus();\r\n }\r\n\r\n onKeyPress(event: any) {\r\n let pattern = null;\r\n const cmp = event?.target?.value;\r\n const inputChar = String.fromCharCode(event.charCode);\r\n if (this.currency || this.onlyNumber || this.percent) {\r\n pattern = /[0-9]/;\r\n if (inputChar === '0' && !this.replaceZero(cmp)) {\r\n event.preventDefault();\r\n return;\r\n }\r\n } else if (this.onlyAlphaNumeric) {\r\n pattern = /[^0-9A-Za-z]/;\r\n }\r\n\r\n if (pattern && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyStyleGuideSettingsService, MonkeyStyleSettings } from '../../core';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-input-filter',\r\n template: `\r\n <mecx-form-field-filter [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-body>\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onChangeInput($event)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n [prefix]=\"prefix\"\r\n *ngIf=\"mask && prefix\"\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onChangeInput($event)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n [mask]=\"mask\"\r\n *ngIf=\"mask && !prefix\"\r\n />\r\n <input\r\n [name]=\"name\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onChangeInput($event)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n *ngIf=\"!mask && !prefix\"\r\n />\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#4B4A53'\"></monkey-icon>\r\n <monkey-icon\r\n icon=\"eyes-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'text'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"eyes-off-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"_oldType === 'password' && type === 'password'\"\r\n (click)=\"onShowAndHidePassword()\"\r\n ></monkey-icon>\r\n </mecx-form-field-body>\r\n </mecx-form-field-filter>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyInputFilterComponent),\r\n multi: true,\r\n },\r\n CurrencyPipe,\r\n ],\r\n})\r\nexport class MonkeyInputFilterComponent implements ControlValueAccessor, OnInit {\r\n @Input() name: string;\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() type: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() mask: string;\r\n @Input() prefix: string;\r\n @Input() onlyNumber: any;\r\n @Input() onlyAlphaNumeric: any;\r\n @Input() upperCase: any;\r\n @Input() lowerCase: any;\r\n @Input() capitalize: any;\r\n @Input() currency: any;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private settings: MonkeyStyleSettings;\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n private timer: any;\r\n\r\n public _id: string = `mecx-input-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _oldType: string;\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private currencyPipe: CurrencyPipe,\r\n private settingsService: MonkeyStyleGuideSettingsService\r\n ) {}\r\n\r\n private handleValue(value: any): any {\r\n const { settings } = this;\r\n if (this.onlyNumber !== undefined) {\r\n return MonkeyUtils.handleOnlyNumbers(`${value}`);\r\n } else if (this.onlyAlphaNumeric !== undefined)\r\n return MonkeyUtils.handleOnlyAlphaNumeric(`${value}`);\r\n else if (this.upperCase !== undefined) return `${value}`.toUpperCase();\r\n else if (this.lowerCase !== undefined) return `${value}`.toLowerCase();\r\n else if (this.capitalize !== undefined) return MonkeyUtils.capitalize(`${value}`.toUpperCase());\r\n else if (this.currency !== undefined) {\r\n const newValue = MonkeyUtils.handleOnlyNumbers(value);\r\n return this.currencyPipe.transform(\r\n newValue / 100,\r\n settings?.currency?.code || 'BRL',\r\n 'symbol',\r\n '',\r\n settings?.currency?.locale || 'pt-BR'\r\n );\r\n }\r\n\r\n return value;\r\n }\r\n\r\n ngOnInit() {\r\n const { settingsService } = this;\r\n this._oldType = this.type;\r\n settingsService.settings().subscribe((val: MonkeyStyleSettings) => {\r\n this.settings = val;\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeInput(event: any) {\r\n const { value } = event?.target;\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n const handled = this.handleValue(value);\r\n event.target.value = handled;\r\n this.writeValue(handled);\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n this.timer = setTimeout(() => {\r\n this.onChange.next(value);\r\n }, 400);\r\n }\r\n\r\n onShowAndHidePassword() {\r\n this.type = this.type === 'password' ? 'text' : 'password';\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n const { _id } = this;\r\n document.getElementById(_id).focus();\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyInputComponent } from './input.component';\r\nimport { MonkeyInputFilterComponent } from './input-filter.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [MonkeyInputComponent, MonkeyInputFilterComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule.forRoot(),\r\n MonkeyIconModule,\r\n ],\r\n exports: [MonkeyInputComponent, MonkeyInputFilterComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyInputModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n Output,\r\n HostListener,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-option',\r\n template: `\r\n <div class=\"mecx-option\" *ngIf=\"type === 'select-multiple'\">\r\n <!--<input type=\"checkbox\" [checked]=\"value === selected?.value\" />\r\n <span\r\n [id]=\"_id\"\r\n >\r\n {{ label }}\r\n </span>-->\r\n <label class=\"mecx-check-container\">\r\n <input type=\"checkbox\" [checked]=\"value === selected?.value\" />\r\n {{ label }}\r\n <p class=\"mecx-check-mark\"></p>\r\n </label>\r\n </div>\r\n <span\r\n class=\"mecx-option\"\r\n [ngClass]=\"{ selected: value === selected?.value }\"\r\n *ngIf=\"type === 'select'\"\r\n [id]=\"_id\"\r\n >\r\n {{ label }}\r\n </span>\r\n <label class=\"mecx-radio-container\" *ngIf=\"type === 'radio'\">\r\n <input\r\n type=\"radio\"\r\n [value]=\"selected?.value\"\r\n [checked]=\"value === selected?.value\"\r\n [id]=\"_id\"\r\n />\r\n {{ label }}\r\n <p class=\"mecx-radio-mark\"></p>\r\n </label>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyOptionComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyOptionComponent {\r\n @Input() type: string = 'select';\r\n @Input() label: string;\r\n @Input() value: any;\r\n @Input() selectAll: boolean;\r\n @Input() selected: MonkeyOptionComponent;\r\n @Input() enableClick = true;\r\n @Output() onSelectOption: Function;\r\n\r\n public _id: string = `mecx-option-${MonkeyUtils.getRandomString(10)}`;\r\n\r\n constructor(public elRef: ElementRef) {\r\n //not to do\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.enableClick) {\r\n this.onSelectOption(this);\r\n }\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyOptionComponent } from './option.component';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyOptionComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n MonkeyOptionComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyOptionModule { }","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnChanges,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body (click)=\"open()\" [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#4B4A53'\"></monkey-icon>\r\n <mecx-select class=\"trigger\" [ngClass]=\"{ open: _opened }\">\r\n <mecx-select__trigger>\r\n <span>\r\n {{ _selected?.label || labelSelect }}\r\n </span>\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select>\r\n </mecx-form-field-body>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() labelSelect = 'Selecione';\r\n @Input() onHandleOptions = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n this.options.forEach((op) => {\r\n op.selected = _selected;\r\n });\r\n if (_opened) {\r\n let scrollValue = 0;\r\n if (_selected) {\r\n const { _id } = this._selected;\r\n scrollValue = document.getElementById(_id).offsetTop;\r\n }\r\n this.selectOptions.nativeElement.scrollTo(0, scrollValue);\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'select';\r\n op.selected = null;\r\n if (`${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n private init() {\r\n setTimeout(() => {\r\n this._selected = null;\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n this.validateOptions();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n this.onHandleOptions.subscribe(() => {\r\n this.init();\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n this.init();\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this._opened = false;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnChanges,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select-multiple',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body (click)=\"open()\" [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#4B4A53'\"></monkey-icon>\r\n\r\n <mecx-select class=\"trigger\" [ngClass]=\"{ open: _opened }\">\r\n <mecx-select__trigger>\r\n <span>\r\n {{ _selectedValues || 'Selecione' }}\r\n </span>\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select>\r\n </mecx-form-field-body>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectMultipleComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectMultipleComponent implements AfterViewInit, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() labelMoreValues: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n private handledValue: any[] = [];\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n private selectedAll = false;\r\n\r\n public _selected: MonkeyOptionComponent[] = [];\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _selectedValues = '';\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n private onHandleSelectedValues() {\r\n const { _selected, labelMoreValues } = this;\r\n let selectedValues = '';\r\n const handled = _selected.filter((_) => !_.selectAll);\r\n if (_selected.length > 0) {\r\n selectedValues = `${handled[0].label}`;\r\n if (_selected.length >= 2) {\r\n selectedValues = `${handled[0].label} ${labelMoreValues} ${handled.length - 1}`;\r\n }\r\n }\r\n this._selectedValues = selectedValues;\r\n }\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n let selectedLength = 0;\r\n let selectAll = null;\r\n this.options?.forEach((op) => {\r\n const found = _selected.findIndex((val: any) => {\r\n return val.value === op.value;\r\n });\r\n op.selected = null;\r\n if (op.selectAll) selectAll = op;\r\n if (found >= 0) {\r\n op.selected = op;\r\n selectedLength += 1;\r\n }\r\n });\r\n if (this.options?.length - 1 === selectedLength && selectAll) {\r\n this.selectedAll = true;\r\n selectAll.selected = selectAll;\r\n }\r\n this.onHandleSelectedValues();\r\n\r\n if (_opened) {\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this._selected = [];\r\n let selectedLength = 0;\r\n let selectAll = null;\r\n this.options?.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'select-multiple';\r\n op.selected = null;\r\n if (op.selectAll) selectAll = op;\r\n const found = this.handledValue.findIndex((val: any) => {\r\n return `${val}`.trim().toLowerCase() === `${op.value}`.trim().toLowerCase();\r\n });\r\n if (found >= 0) {\r\n op.selected = op;\r\n this._selected.push(op);\r\n selectedLength += 1;\r\n }\r\n });\r\n if (this.options?.length - 1 === selectedLength && selectAll) {\r\n this.selectedAll = true;\r\n selectAll.selected = selectAll;\r\n }\r\n this.onHandleSelectedValues();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined) {\r\n if (this.handledValue.join(',') !== value) {\r\n value?.split(',')?.forEach((op: any) => {\r\n this.handledValue.push(op);\r\n });\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n }\r\n this.onHandleSelected();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue.join(',');\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n\r\n this.options.changes.subscribe(() => {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n });\r\n }\r\n\r\n onSelectOption(selected: MonkeyOptionComponent) {\r\n if (selected.selectAll) {\r\n this.selectedAll = !this.selectedAll;\r\n this._selected = [];\r\n if (this.selectedAll) {\r\n this.options?.forEach((op) => {\r\n this._selected.push(op);\r\n });\r\n }\r\n } else {\r\n const index = this._selected.findIndex((val: any) => val.value === selected.value);\r\n if (index >= 0) {\r\n this._selected = this._selected.filter((op: MonkeyOptionComponent) => {\r\n return (\r\n `${op.value}`.trim().toLowerCase() !== `${selected.value}`.trim().toLowerCase() &&\r\n !op.selectAll\r\n );\r\n });\r\n } else this._selected.push(selected);\r\n }\r\n const value = this._selected\r\n .filter((val) => !val.selectAll)\r\n .map((val: any) => {\r\n return val.value;\r\n });\r\n\r\n this.onChange.next(value);\r\n this.onChangeValue(null, value.join(','));\r\n this.onHandleSelected();\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n AfterViewInit,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select-search',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body (click)=\"open()\" [class.error]=\"errorMessage?.trim()\">\r\n <monkey-icon [icon]=\"icon\" [color]=\"'#aaaaaa'\"></monkey-icon>\r\n <mecx-select class=\"trigger\" [ngClass]=\"{ open: _opened }\">\r\n <mecx-select__trigger>\r\n <input\r\n [placeholder]=\"labelSelect || placeholder\"\r\n (input)=\"onChangeInput($event)\"\r\n #inputFilter\r\n [ngModel]=\"_selected?.label || ''\"\r\n />\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select>\r\n </mecx-form-field-body>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectSearchComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectSearchComponent implements AfterViewInit, OnChanges, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() labelSelect = 'Selecione';\r\n @Input() fieldToCompare: string;\r\n @Input() onHandleOptions = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onSearch = new EventEmitter<any>(null);\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n @ViewChild('inputFilter', { static: true })\r\n inputFilter: ElementRef;\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n private timer: any;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-search-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef, private renderer: Renderer2) {\r\n //not to do\r\n }\r\n\r\n private onHandleSearch(search: any) {\r\n this.options.forEach((op) => {\r\n const source = `${op.label}`.toLowerCase();\r\n const destination = `${search}`.toLowerCase();\r\n if (source.indexOf(destination) > -1) {\r\n this.renderer.setStyle(op.elRef.nativeElement, 'display', 'inline');\r\n } else {\r\n this.renderer.setStyle(op.elRef.nativeElement, 'display', 'inline');\r\n }\r\n let display = 'inline';\r\n if (source.indexOf(destination) === -1) {\r\n display = 'none';\r\n }\r\n this.renderer.setStyle(op.elRef.nativeElement, 'display', display);\r\n });\r\n }\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n this.options.forEach((op) => {\r\n op.selected = _selected;\r\n });\r\n if (_opened) {\r\n let scrollValue = 0;\r\n if (_selected) {\r\n const { _id } = this._selected;\r\n scrollValue = document.getElementById(_id).offsetTop - 10;\r\n }\r\n this.selectOptions.nativeElement.scrollTo(0, scrollValue);\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n const { fieldToCompare } = this;\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = op?.type || 'select';\r\n op.selected = null;\r\n let source = '';\r\n let destination = '';\r\n if (fieldToCompare) {\r\n source = `${op.value[fieldToCompare]}`.toLowerCase();\r\n destination = `${this.handledValue?.[fieldToCompare]}`.toLowerCase();\r\n } else {\r\n source = `${op.value}`.toLowerCase();\r\n destination = `${this.handledValue}`.toLowerCase();\r\n }\r\n if (source === destination) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n private doSearch(search: string) {\r\n this.onSearch.next(search);\r\n this.onHandleSearch(search);\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }\r\n\r\n private init() {\r\n setTimeout(() => {\r\n this._selected = null;\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n this.validateOptions();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n (this.inputFilter?.nativeElement as HTMLInputElement).focus();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.init();\r\n this.onHandleOptions.subscribe(() => {\r\n this.init();\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n this.init();\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this._opened = false;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n\r\n onChangeInput(event: any) {\r\n const { value } = event?.target;\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n this.timer = setTimeout(() => {\r\n this.doSearch(value);\r\n }, 400);\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n QueryList,\r\n ContentChildren,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-select-filter',\r\n template: `\r\n <mecx-select-filter\r\n class=\"trigger\"\r\n [ngClass]=\"{\r\n open: _opened,\r\n none: type === 'none',\r\n border: type === 'border'\r\n }\"\r\n (click)=\"open()\"\r\n >\r\n <mecx-select__trigger>\r\n <span>\r\n {{ _selected?.label || placeholder }}\r\n </span>\r\n <monkey-icon\r\n [icon]=\"!_opened ? 'arrow-down-16' : 'arrow-up-16'\"\r\n [color]=\"'#4B4A53'\"\r\n ></monkey-icon>\r\n </mecx-select__trigger>\r\n </mecx-select-filter>\r\n <mecx-select-inside [ngClass]=\"{ open: _opened }\">\r\n <mecx-select-options #selectOptions>\r\n <ng-content> </ng-content>\r\n </mecx-select-options>\r\n </mecx-select-inside>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeySelectFilterComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeySelectFilterComponent implements OnInit, ControlValueAccessor {\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() type: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n @ViewChild('selectOptions', { static: true })\r\n selectOptions: ElementRef;\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _opened: boolean = false;\r\n public _id: string = `mecx-select-filter-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {}\r\n\r\n private onHandleSelected() {\r\n const { _opened, _selected } = this;\r\n this.options.forEach((op) => {\r\n op.selected = _selected;\r\n });\r\n if (_opened) {\r\n let scrollValue = 0;\r\n if (_selected) {\r\n const { _id } = this._selected;\r\n scrollValue = document.getElementById(_id).offsetTop;\r\n }\r\n this.selectOptions.nativeElement.scrollTo(0, scrollValue);\r\n this.selectOptions.nativeElement.focus();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'select';\r\n op.selected = null;\r\n if (`${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n this.validateOptions();\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n @HostListener('document:click')\r\n clickout() {\r\n this._opened = false;\r\n }\r\n\r\n open() {\r\n if (!this._opened) {\r\n setTimeout(() => {\r\n this._opened = true;\r\n this.onHandleSelected();\r\n }, 50);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this._opened = false;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeySelectComponent } from './select.component';\r\nimport { MonkeySelectMultipleComponent } from './select-multiple.component';\r\nimport { MonkeySelectSearchComponent } from './select-search.component';\r\nimport { MonkeySelectFilterComponent } from './select-filter.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyOptionModule } from '../option';\r\nimport { MonkeyIconModule } from '../icon';\r\nimport { MonkeyInputModule } from '../input';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeySelectComponent,\r\n MonkeySelectMultipleComponent,\r\n MonkeySelectSearchComponent,\r\n MonkeySelectFilterComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MonkeyInputModule,\r\n MonkeyOptionModule,\r\n MonkeyIconModule,\r\n ],\r\n exports: [\r\n MonkeySelectComponent,\r\n MonkeySelectMultipleComponent,\r\n MonkeySelectSearchComponent,\r\n MonkeySelectFilterComponent,\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeySelectModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-checkbox',\r\n template: `\r\n <mecx-form-field\r\n *ngIf=\"type === 'single'; else multiple\"\r\n [ngClass]=\"{ disabled: _disabled }\"\r\n >\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body class=\"checkbox\">\r\n <label class=\"mecx-check-container\">\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n />\r\n {{ description }}\r\n <ng-content> </ng-content>\r\n <p class=\"mecx-check-mark\"></p>\r\n </label>\r\n </mecx-form-field-body>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n <ng-template #multiple>\r\n <mecx-form-field [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-body class=\"checkbox\">\r\n <label class=\"mecx-check-container\">\r\n <input\r\n type=\"checkbox\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n />\r\n {{ description }}\r\n <p class=\"mecx-check-mark\"></p>\r\n </label>\r\n </mecx-form-field-body>\r\n </mecx-form-field>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyCheckboxComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyCheckboxComponent implements ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() type: string = 'single';\r\n @Input() helperMessage: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() description: any;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _id: string = `mecx-checkbox-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor() {}\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n this.onChange.next(value);\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyCheckboxComponent } from './checkbox.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyCheckboxComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n MonkeyCheckboxComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyCheckboxModule{}","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n ContentChildren,\r\n QueryList,\r\n AfterViewInit,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyOptionComponent } from '../option';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-radiobutton',\r\n template: `\r\n <mecx-form-field [id]=\"_id\" [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body class=\"radiobutton\">\r\n <ng-content> </ng-content>\r\n </mecx-form-field-body>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyRadioButtonComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyRadioButtonComponent\r\n implements AfterViewInit, ControlValueAccessor {\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() errorMessage: string;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n @ContentChildren(MonkeyOptionComponent)\r\n private options!: QueryList<MonkeyOptionComponent>;\r\n\r\n public _selected: MonkeyOptionComponent;\r\n public _id: string = `mecx-radiobutton-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n\r\n constructor() {}\r\n\r\n private onHandleSelected() {\r\n this.options.forEach((op) => {\r\n op.selected = this._selected;\r\n });\r\n }\r\n\r\n private validateOptions() {\r\n if (!this.options) return;\r\n this.options.forEach((op) => {\r\n op.onSelectOption = this.onSelectOption.bind(this);\r\n op.type = 'radio';\r\n op.selected = null;\r\n if (\r\n `${op.value}`.toLowerCase() === `${this.handledValue}`.toLowerCase()\r\n ) {\r\n this._selected = op;\r\n op.selected = op;\r\n }\r\n });\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n this.validateOptions();\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any, value: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.writeValue(value);\r\n this.onChange.next(value);\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.validateOptions();\r\n }, 0);\r\n }\r\n\r\n onSelectOption(select: MonkeyOptionComponent) {\r\n this._selected = select;\r\n const { value } = select;\r\n this.onChangeValue(null, value);\r\n this.onHandleSelected();\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyRadioButtonComponent } from './radiobutton.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyRadioButtonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n MonkeyRadioButtonComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyRadioButtonModule { }","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence \r\n**************************/\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'monkey-wizard',\r\n template: `\r\n <div [ngClass]=\"position\">\r\n <div class=\"mecx-wizard-body\"\r\n *ngFor=\"let step of _totalSteps\">\r\n <div class=\"mecx-wizard-option mecx-wizard-option__theme\"\r\n [ngClass]=\"{'selected': step === selectedStep, 'completed': step < selectedStep}\">\r\n {{ step }}\r\n </div>\r\n <div class=\"mecx-wizard-option-separator\"></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyWizardComponent implements OnInit{\r\n\r\n @Input() totalSteps: number = 0;\r\n @Input() selectedStep: number = 0;\r\n @Input() position: string = 'horizontal';\r\n\r\n public _totalSteps: number[];\r\n public _selectedStep: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(){\r\n const { totalSteps, selectedStep } = this;\r\n this._totalSteps = new Array(Number(totalSteps)).fill(1).map((step: number, index: number) => {\r\n return step + index;\r\n });\r\n this._selectedStep = Number(selectedStep);\r\n }\r\n}","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyWizardComponent } from './wizard.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [\r\n MonkeyWizardComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MonkeyIconModule\r\n ],\r\n exports: [\r\n MonkeyWizardComponent\r\n ],\r\n schemas: [\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class MonkeyWizardModule { }","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n forwardRef,\r\n HostListener,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MonkeyUtils } from '../../core/utils';\r\n\r\n@Component({\r\n selector: 'monkey-file-upload',\r\n template: `\r\n <mecx-form-field [ngClass]=\"{ disabled: _disabled }\">\r\n <mecx-form-field-header>\r\n <label>\r\n {{ label }}\r\n </label>\r\n <helper>\r\n {{ helperMessage }}\r\n </helper>\r\n </mecx-form-field-header>\r\n <mecx-form-field-body>\r\n <input\r\n #fileInput\r\n hidden\r\n [name]=\"name\"\r\n type=\"file\"\r\n (change)=\"onChangeValue($event.target.files)\"\r\n [id]=\"_id\"\r\n [disabled]=\"_disabled\"\r\n />\r\n <span>{{\r\n value?.fileName\r\n ? value.fileName\r\n : uploadOngoingMessage\r\n ? uploadOngoingMessage\r\n : placeholder\r\n }}</span>\r\n <monkey-icon\r\n icon=\"upload-16\"\r\n [color]=\"'#4B4A53'\"\r\n *ngIf=\"!value?.fileName\"\r\n ></monkey-icon>\r\n <monkey-icon\r\n icon=\"close-16\"\r\n *ngIf=\"value?.fileName\"\r\n (click)=\"onClear($event)\"\r\n ></monkey-icon>\r\n </mecx-form-field-body>\r\n <mecx-form-field-upload-info *ngIf=\"_progress\">\r\n <span [style.width.%]=\"_progress\"> {{ _progress }}%</span>\r\n </mecx-form-field-upload-info>\r\n <mecx-form-field-footer>\r\n <info>\r\n {{ infoMessage }}\r\n </info>\r\n <error>\r\n {{ errorMessage }}\r\n {{ _uploadErrorMessage }}\r\n {{ _maxSizeErrorMessage ? maxSizeErrorMessage : null }}\r\n {{\r\n _allowedExtensionErrorMessage ? allowedExtensionErrorMessage : null\r\n }}\r\n </error>\r\n </mecx-form-field-footer>\r\n </mecx-form-field>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyFileUploadComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyFileUploadComponent implements ControlValueAccessor, OnInit {\r\n @Input() name: string;\r\n @Input() label: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() icon: string;\r\n @Input() infoMessage: string;\r\n @Input() uploadOngoingMessage: string;\r\n @Input() errorMessage: string;\r\n @Input() listenFiles: boolean;\r\n @Input() maxSize: number;\r\n @Input() allowedExtensions: string[];\r\n @Input() maxSizeErrorMessage: string;\r\n @Input() allowedExtensionErrorMessage: string;\r\n @Input() fileUpload: Function;\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onHandleFilesReady = new EventEmitter<File>();\r\n\r\n private configFiles: ConfigFiles;\r\n private handledValue: any;\r\n private onModelChange = (value: any) => {};\r\n private onModelTouched = (value: any) => {};\r\n\r\n public _id: string = `mecx-file-upload-${MonkeyUtils.getRandomString(10)}`;\r\n public _disabled: boolean = false;\r\n public _progress: number = null;\r\n public _maxSizeErrorMessage: boolean = false;\r\n public _allowedExtensionErrorMessage: boolean = false;\r\n public _uploadErrorMessage: string = '';\r\n\r\n constructor() {}\r\n\r\n private validateFile(file: File): boolean {\r\n const { configFiles } = this;\r\n const { name, size } = file;\r\n\r\n if (configFiles.allowedExtensions) {\r\n const hasAllowedExtensions =\r\n configFiles.allowedExtensions.filter((allow) => {\r\n const extension = name.substr(name.indexOf('.', -name.length));\r\n return (\r\n allow.extension.toLowerCase() === extension.toLowerCase() ||\r\n !MonkeyUtils.persistNullEmptyUndefined(extension)\r\n );\r\n }).length > 0;\r\n if (!hasAllowedExtensions) {\r\n this._allowedExtensionErrorMessage = true;\r\n return false;\r\n }\r\n }\r\n\r\n if (configFiles.maxSize) {\r\n if (size > configFiles.maxSize) {\r\n this._maxSizeErrorMessage = true;\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private handleCallback(\r\n progress: number,\r\n respUploaded: any,\r\n uploadError: string\r\n ) {\r\n this._progress = progress;\r\n this.value = respUploaded;\r\n this._uploadErrorMessage = uploadError;\r\n this.onChange.next(this.value);\r\n }\r\n\r\n ngOnInit() {\r\n this.allowedExtensions = this.allowedExtensions || [\r\n '.jpg',\r\n '.jpeg',\r\n '.png',\r\n '.pdf',\r\n '.txt',\r\n '.xls',\r\n '.xlsx',\r\n ];\r\n let allow: AllowedFile[] = null;\r\n if (this.allowedExtensions.length > 0) {\r\n allow = this.allowedExtensions.map((val) => {\r\n return { extension: val };\r\n });\r\n }\r\n\r\n this.configFiles = {\r\n maxSize: this.maxSize || 5 * 1024 * 1024,\r\n allowedExtensions: allow,\r\n };\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onModelChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onModelTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n }\r\n\r\n @Input()\r\n set value(value: any) {\r\n if (value !== undefined && this.handledValue !== value) {\r\n this.handledValue = value;\r\n this.onModelChange(value);\r\n this.onModelTouched(value);\r\n }\r\n }\r\n\r\n get value(): any {\r\n return this.handledValue;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n onChangeValue(event: any) {\r\n const { listenFiles } = this;\r\n this._allowedExtensionErrorMessage = false;\r\n this._maxSizeErrorMessage = false;\r\n for (let index = 0; index < event.length; index++) {\r\n const file: File = event[index];\r\n if (this.validateFile(file)) {\r\n if (listenFiles) {\r\n this.onHandleFilesReady.next(file);\r\n } else {\r\n this.fileUpload(file, this.handleCallback.bind(this));\r\n }\r\n }\r\n }\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n const { _id } = this;\r\n (<HTMLInputElement>document.getElementById(_id)).value = null;\r\n document.getElementById(_id).click();\r\n }\r\n\r\n onClear(event: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n this.value = null;\r\n this.onChange.next(this.value);\r\n }\r\n}\r\n\r\ninterface AllowedFile {\r\n extension: string;\r\n}\r\n\r\ninterface ConfigFiles {\r\n maxSize: number;\r\n allowedExtensions: AllowedFile[];\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyFileUploadComponent } from './file-upload.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [MonkeyFileUploadComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule.forRoot(),\r\n MonkeyIconModule,\r\n ],\r\n exports: [MonkeyFileUploadComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyFileUploadModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n OnInit,\r\n HostListener,\r\n ChangeDetectorRef,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-image-crop',\r\n template: `\r\n <monkey-file-upload\r\n [label]=\"label\"\r\n [helperMessage]=\"helperMessage\"\r\n icon=\"upload-16\"\r\n [placeholder]=\"placeholder\"\r\n [maxSize]=\"maxSize\"\r\n [maxSizeErrorMessage]=\"maxSizeErrorMessage\"\r\n [allowedExtensionErrorMessage]=\"allowedExtensionErrorMessage\"\r\n (onHandleFilesReady)=\"onHandleFileUploadFilesReady($event)\"\r\n listenFiles=\"true\"\r\n [maxFiles]=\"1\"\r\n [allowedExtensions]=\"['.jpg', '.jpeg', '.png']\"\r\n *ngIf=\"!_loadCompleted\"\r\n >\r\n </monkey-file-upload>\r\n <div *ngIf=\"_loadPreview\">\r\n <progress class=\"monkey-progress monkey-progress__grey\"></progress>\r\n </div>\r\n <div class=\"box-cut-title\" *ngIf=\"_loadCompleted\">\r\n {{ cropTitle }} {{ _fileNameToCut }}\r\n </div>\r\n <div\r\n id=\"imageCropSource\"\r\n name=\"imageCropSource\"\r\n #imageCropSource\r\n class=\"box-cut\"\r\n *ngIf=\"_loadCompleted\"\r\n >\r\n <div class=\"edit-resize-cut\">\r\n <img class=\"source-image\" [src]=\"_safeImgDataUrl\" />\r\n <div\r\n class=\"cut\"\r\n [style.top.px]=\"_cutCoords.y1\"\r\n [style.left.px]=\"_cutCoords.x1\"\r\n [style.width.px]=\"_cutCoords.x2 - _cutCoords.x1\"\r\n [style.height.px]=\"_cutCoords.y2 - _cutCoords.y1\"\r\n *ngIf=\"_loadCompleted\"\r\n >\r\n <div\r\n (mousedown)=\"startMove($event, 'move')\"\r\n (touchstart)=\"startMove($event, 'move')\"\r\n class=\"move\"\r\n ></div>\r\n <span\r\n class=\"resize top-left\"\r\n (mousedown)=\"startMove($event, 'resize', 'topleft')\"\r\n (touchstart)=\"startMove($event, 'resize', 'topleft')\"\r\n >\r\n </span>\r\n <span class=\"resize top\"></span>\r\n <span\r\n class=\"resize top-right\"\r\n (mousedown)=\"startMove($event, 'resize', 'topright')\"\r\n (touchstart)=\"startMove($event, 'resize', 'topright')\"\r\n >\r\n </span>\r\n <span class=\"resize right\"></span>\r\n <span\r\n class=\"resize bottom-right\"\r\n (mousedown)=\"startMove($event, 'resize', 'bottomright')\"\r\n (touchstart)=\"startMove($event, 'resize', 'bottomright')\"\r\n >\r\n </span>\r\n <span class=\"resize bottom\"> </span>\r\n <span\r\n class=\"resize bottom-left\"\r\n (mousedown)=\"startMove($event, 'resize', 'bottomleft')\"\r\n (touchstart)=\"startMove($event, 'resize', 'bottomleft')\"\r\n >\r\n </span>\r\n <span class=\"resize left\"> </span>\r\n <span\r\n class=\"resize-bar top\"\r\n (mousedown)=\"startMove($event, 'resize', 'top')\"\r\n (touchstart)=\"startMove($event, 'resize', 'top')\"\r\n >\r\n </span>\r\n <span\r\n class=\"resize-bar right\"\r\n (mousedown)=\"startMove($event, 'resize', 'right')\"\r\n (touchstart)=\"startMove($event, 'resize', 'right')\"\r\n >\r\n </span>\r\n <span\r\n class=\"resize-bar bottom\"\r\n (mousedown)=\"startMove($event, 'resize', 'bottom')\"\r\n (touchstart)=\"startMove($event, 'resize', 'bottom')\"\r\n >\r\n </span>\r\n <span\r\n class=\"resize-bar left\"\r\n (mousedown)=\"startMove($event, 'resize', 'left')\"\r\n (touchstart)=\"startMove($event, 'resize', 'left')\"\r\n >\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n <mecx-image-crop-upload-info *ngIf=\"_progress\">\r\n <span [style.width.%]=\"_progress\"> {{ _progress }}%</span>\r\n </mecx-image-crop-upload-info>\r\n <monkey-button\r\n type=\"tertiary\"\r\n color=\"theme\"\r\n (click)=\"onHandleImageChange()\"\r\n *ngIf=\"_loadCompleted\"\r\n >\r\n {{ labelChangeImage }}\r\n </monkey-button>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyImageCropComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() cropTitle: string;\r\n @Input() labelChangeImage: string;\r\n @Input() labelPreviewImage: string;\r\n @Input() helperMessage: string;\r\n @Input() placeholder: string;\r\n @Input() maxSize: number;\r\n @Input() maxSizeErrorMessage: string;\r\n @Input() allowedExtensionErrorMessage: string;\r\n @Input() fileUpload: Function;\r\n @Input() onHandleGetFilesReady = new EventEmitter<any>();\r\n @Output() onHandleFilesReady = new EventEmitter<any>();\r\n @Output() onHandlePreviewReady = new EventEmitter<any>();\r\n\r\n public _cutCoords: CutCoords = { y1: 0, y2: 0, x1: 0, x2: 0 };\r\n public _fileTypeToCut: string = '';\r\n public _fileNameToCut: string = '';\r\n public _progressingCut: boolean;\r\n public _loadCompleted: boolean;\r\n public _loadPreview: boolean;\r\n public _safeImgDataUrl: SafeUrl | string;\r\n public _disabled: boolean = false;\r\n public _progress: number = null;\r\n public _uploadErrorMessage: string = '';\r\n\r\n private mouseMoves: MouseMoves;\r\n private areMaxSize: Dimensions = { width: 150, height: 150 };\r\n private cutScaledMinWidth = 100;\r\n private cutScaledMinHeight = 100;\r\n private originalSize: Dimensions = { width: 0, height: 0 };\r\n private fileReader: FileReader = new FileReader();\r\n private originalImage = new Image();\r\n private imageCutReady: Blob = null;\r\n private savedCallback: Function;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private sanitizer: DomSanitizer\r\n ) {}\r\n\r\n private initCut() {\r\n this.areMaxSize = {\r\n width: document.getElementById('imageCropSource').offsetWidth || 150,\r\n height: document.getElementById('imageCropSource').offsetHeight || 150,\r\n };\r\n this._cutCoords = {\r\n x1: this.areMaxSize.width / 2 - this.cutScaledMinWidth,\r\n y1: this.areMaxSize.height / 2 - this.cutScaledMinHeight,\r\n x2: this.areMaxSize.width / 2 + this.cutScaledMinWidth,\r\n y2: this.areMaxSize.height / 2 + this.cutScaledMinHeight,\r\n };\r\n this.cut();\r\n }\r\n\r\n private setProgressingCut(tp: boolean) {\r\n this._progressingCut = tp;\r\n }\r\n\r\n private setProgressLoadCompleted(tp: boolean) {\r\n this._loadCompleted = tp;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n private setProgressLoadPreview(tp: boolean) {\r\n this._loadPreview = tp;\r\n }\r\n\r\n private cut() {\r\n this.setProgressingCut(true);\r\n const imagePosition = this.getImagePosition();\r\n let width = imagePosition.x2 - imagePosition.x1;\r\n let height = imagePosition.y2 - imagePosition.y1;\r\n const canvas = document.createElement('canvas') as HTMLCanvasElement;\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(\r\n this.originalImage,\r\n imagePosition.x1,\r\n imagePosition.y1,\r\n width,\r\n height,\r\n 0,\r\n 0,\r\n width,\r\n height\r\n );\r\n this.getCanvasBlob(canvas);\r\n }\r\n\r\n private getImagePosition(): CutCoords {\r\n const ratiow =\r\n this.originalSize.width /\r\n document.getElementById('imageCropSource').offsetWidth;\r\n const ratioh =\r\n this.originalSize.height /\r\n document.getElementById('imageCropSource').offsetHeight;\r\n return {\r\n x1: Math.round(this._cutCoords.x1 * ratiow),\r\n y1: Math.round(this._cutCoords.y1 * ratioh),\r\n x2: Math.min(\r\n Math.round(this._cutCoords.x2 * ratiow),\r\n this.originalSize.width\r\n ),\r\n y2: Math.min(\r\n Math.round(this._cutCoords.y2 * ratioh),\r\n this.originalSize.height\r\n ),\r\n };\r\n }\r\n\r\n private getCanvasBlob(cropCanvas: HTMLCanvasElement) {\r\n cropCanvas.toBlob(\r\n (val: Blob) => {\r\n this.imageCutReady = val;\r\n this.setProgressingCut(false);\r\n },\r\n 'image/jpeg',\r\n 0.95\r\n );\r\n }\r\n\r\n private getClientX(event: any): number {\r\n return (\r\n event.clientX ||\r\n (event.touches && event.touches[0] && event.touches[0].clientX)\r\n );\r\n }\r\n\r\n private getClientY(event: any): number {\r\n return (\r\n event.clientY ||\r\n (event.touches && event.touches[0] && event.touches[0].clientY)\r\n );\r\n }\r\n\r\n private resize(event: any): void {\r\n const diffX = this.getClientX(event) - this.mouseMoves.clientX;\r\n const diffY = this.getClientY(event) - this.mouseMoves.clientY;\r\n switch (this.mouseMoves.position) {\r\n case 'left':\r\n this._cutCoords.x1 = Math.min(\r\n this.mouseMoves.x1 + diffX,\r\n this._cutCoords.x2 - this.cutScaledMinWidth\r\n );\r\n break;\r\n case 'topleft':\r\n this._cutCoords.x1 = Math.min(\r\n this.mouseMoves.x1 + diffX,\r\n this._cutCoords.x2 - this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y1 = Math.min(\r\n this.mouseMoves.y1 + diffY,\r\n this._cutCoords.y2 - this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'top':\r\n this._cutCoords.y1 = Math.min(\r\n this.mouseMoves.y1 + diffY,\r\n this._cutCoords.y2 - this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'topright':\r\n this._cutCoords.x2 = Math.max(\r\n this.mouseMoves.x2 + diffX,\r\n this._cutCoords.x1 + this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y1 = Math.min(\r\n this.mouseMoves.y1 + diffY,\r\n this._cutCoords.y2 - this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'right':\r\n this._cutCoords.x2 = Math.max(\r\n this.mouseMoves.x2 + diffX,\r\n this._cutCoords.x1 + this.cutScaledMinWidth\r\n );\r\n break;\r\n case 'bottomright':\r\n this._cutCoords.x2 = Math.max(\r\n this.mouseMoves.x2 + diffX,\r\n this._cutCoords.x1 + this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y2 = Math.max(\r\n this.mouseMoves.y2 + diffY,\r\n this._cutCoords.y1 + this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'bottom':\r\n this._cutCoords.y2 = Math.max(\r\n this.mouseMoves.y2 + diffY,\r\n this._cutCoords.y1 + this.cutScaledMinHeight\r\n );\r\n break;\r\n case 'bottomleft':\r\n this._cutCoords.x1 = Math.min(\r\n this.mouseMoves.x1 + diffX,\r\n this._cutCoords.x2 - this.cutScaledMinWidth\r\n );\r\n this._cutCoords.y2 = Math.max(\r\n this.mouseMoves.y2 + diffY,\r\n this._cutCoords.y1 + this.cutScaledMinHeight\r\n );\r\n break;\r\n }\r\n }\r\n\r\n private move(event: any) {\r\n const diffX = this.getClientX(event) - this.mouseMoves.clientX;\r\n const diffY = this.getClientY(event) - this.mouseMoves.clientY;\r\n\r\n this._cutCoords.x1 = this.mouseMoves.x1 + diffX;\r\n this._cutCoords.y1 = this.mouseMoves.y1 + diffY;\r\n this._cutCoords.x2 = this.mouseMoves.x2 + diffX;\r\n this._cutCoords.y2 = this.mouseMoves.y2 + diffY;\r\n }\r\n\r\n private checkMovesPosition(maintainSize = false): void {\r\n if (this._cutCoords.x1 < 0) {\r\n this._cutCoords.x2 -= maintainSize ? this._cutCoords.x1 : 0;\r\n this._cutCoords.x1 = 0;\r\n }\r\n if (this._cutCoords.y1 < 0) {\r\n this._cutCoords.y2 -= maintainSize ? this._cutCoords.y1 : 0;\r\n this._cutCoords.y1 = 0;\r\n }\r\n if (this._cutCoords.x2 > this.areMaxSize.width) {\r\n this._cutCoords.x1 -= maintainSize\r\n ? this._cutCoords.x2 - this.areMaxSize.width\r\n : 0;\r\n this._cutCoords.x2 = this.areMaxSize.width;\r\n }\r\n if (this._cutCoords.y2 > this.areMaxSize.height) {\r\n this._cutCoords.y1 -= maintainSize\r\n ? this._cutCoords.y2 - this.areMaxSize.height\r\n : 0;\r\n this._cutCoords.y2 = this.areMaxSize.height;\r\n }\r\n }\r\n\r\n private onLoadBeginPreview = (_event) => {\r\n this.setProgressLoadCompleted(false);\r\n this.setProgressLoadPreview(true);\r\n };\r\n\r\n private onLoadEndPreview = (_event) => {\r\n this.originalImage.src = this.fileReader.result.toString();\r\n this.originalImage.onload = () => {\r\n setTimeout(() => {\r\n this.originalSize.width = this.originalImage.width;\r\n this.originalSize.height = this.originalImage.height;\r\n this.setProgressLoadCompleted(true);\r\n this.setProgressLoadPreview(false);\r\n this.initCut();\r\n }, 1000);\r\n };\r\n this._safeImgDataUrl = this.sanitizer.bypassSecurityTrustResourceUrl(\r\n this.fileReader.result.toString()\r\n );\r\n };\r\n\r\n private imagePreview(file: any) {\r\n const { name, type } = file;\r\n this._fileNameToCut = MonkeyUtils.truncate(name);\r\n this._fileTypeToCut = type;\r\n this.fileReader.readAsDataURL(file);\r\n }\r\n\r\n private handleCallback(\r\n progress: number,\r\n respUploaded: any,\r\n uploadError: string\r\n ) {\r\n this._progress = progress;\r\n this._uploadErrorMessage = uploadError;\r\n if (respUploaded) {\r\n this.savedCallback(respUploaded);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n const { onHandleGetFilesReady } = this;\r\n this.fileReader.onloadstart = this.onLoadBeginPreview;\r\n this.fileReader.onload = this.onLoadEndPreview;\r\n\r\n onHandleGetFilesReady.subscribe((val: Function) => {\r\n this.savedCallback = val;\r\n const file = this.imageCutReady\r\n ? MonkeyUtils.handleBlobFile(\r\n this.imageCutReady,\r\n this._fileNameToCut,\r\n this._fileTypeToCut\r\n )\r\n : null;\r\n this.fileUpload(file, this.handleCallback.bind(this));\r\n });\r\n }\r\n\r\n startMove(\r\n event: any,\r\n moveType: string,\r\n position: string | null = null\r\n ): void {\r\n event.preventDefault();\r\n this.mouseMoves = {\r\n active: true,\r\n type: moveType,\r\n position,\r\n clientX: this.getClientX(event),\r\n clientY: this.getClientY(event),\r\n ...this._cutCoords,\r\n };\r\n }\r\n\r\n @HostListener('mousemove', ['$event'])\r\n @HostListener('touchmove', ['$event'])\r\n moveImg(event: any): void {\r\n if (this.mouseMoves && this.mouseMoves.active) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (this.mouseMoves.type === 'move') {\r\n this.move(event);\r\n this.checkMovesPosition(true);\r\n } else if (this.mouseMoves.type === 'resize') {\r\n this.resize(event);\r\n this.checkMovesPosition(false);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n @HostListener('document:mouseup')\r\n @HostListener('document:touchend')\r\n moveStop(): void {\r\n if (this.mouseMoves && this.mouseMoves.active) {\r\n this.mouseMoves.active = false;\r\n this.cut();\r\n }\r\n }\r\n\r\n onHandleFileUploadFilesReady(files: any) {\r\n this.imagePreview(files);\r\n }\r\n\r\n onHandleImageChange() {\r\n this.imageCutReady = null;\r\n this._loadCompleted = false;\r\n this._loadPreview = false;\r\n this._fileNameToCut = '';\r\n this._fileTypeToCut = '';\r\n }\r\n\r\n onHandleImagePreview() {\r\n const file = MonkeyUtils.handleBlobFile(\r\n this.imageCutReady,\r\n this._fileNameToCut,\r\n this._fileTypeToCut\r\n );\r\n this.onHandlePreviewReady.next(file);\r\n }\r\n}\r\n\r\ninterface Dimensions {\r\n width: number;\r\n height: number;\r\n}\r\n\r\ninterface CutCoords {\r\n x1?: number;\r\n y1?: number;\r\n x2?: number;\r\n y2?: number;\r\n}\r\n\r\ninterface MouseMoves {\r\n active: boolean;\r\n type: string | null;\r\n position: string | null;\r\n x1?: number;\r\n y1?: number;\r\n x2?: number;\r\n y2?: number;\r\n clientX: number;\r\n clientY: number;\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyImageCropComponent } from './image-crop.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { MonkeyFileUploadModule } from '../file-upload';\r\nimport { MonkeyButtonModule } from '../button';\r\n\r\n@NgModule({\r\n declarations: [MonkeyImageCropComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxMaskModule.forRoot(),\r\n MonkeyButtonModule,\r\n MonkeyFileUploadModule,\r\n ],\r\n exports: [MonkeyImageCropComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyImageCropModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, EventEmitter, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { MonkeyModalConfig, MonkeyModalRefs, MonkeyStyleGuideModalService } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-modal',\r\n template: `\r\n <mecx-monkey-modal\r\n [ngClass]=\"\r\n 'mecx-monkey-modal mecx-monkey-modal__' +\r\n (config?.color || 'theme') +\r\n ' mecx-monkey-modal__size-' +\r\n config?.size || 'md'\r\n \"\r\n >\r\n <div class=\"header\" *ngIf=\"config?.title\">\r\n <span class=\"h4\">\r\n {{ config?.title }}\r\n </span>\r\n <span class=\"close\" (click)=\"onClose()\" *ngIf=\"!config?.hideClose\"> x </span>\r\n </div>\r\n <div class=\"body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <mecx-monkey-modal-footer\r\n [ngClass]=\"\r\n 'mecx-monkey-modal-footer mecx-monkey-modal-footer__' +\r\n (config?.color || 'theme') +\r\n ' mecx-monkey-modal-footer__size-' +\r\n (config?.size || 'md') +\r\n ' mecx-monkey-modal-footer__' +\r\n ((config?.size || 'md') === 'sm' ? 'column' : 'row')\r\n \"\r\n *ngIf=\"!config?.hideActions\"\r\n >\r\n <monkey-button\r\n [type]=\"config?.action?.cancel?.actionType || 'primary'\"\r\n [color]=\"config?.action?.cancel?.actionColor || config?.color || 'theme'\"\r\n (click)=\"_actionCancel()\"\r\n *ngIf=\"config?.action?.cancel\"\r\n >\r\n {{ config?.action?.cancel?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.confirm?.actionType || 'primary'\"\r\n [color]=\"config?.action?.confirm?.actionColor || config?.color || 'theme'\"\r\n (click)=\"_actionConfirm()\"\r\n *ngIf=\"config?.action?.confirm\"\r\n >\r\n {{ config?.action?.confirm?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.firstAction?.actionType || 'primary'\"\r\n [color]=\"config?.action?.firstAction?.actionColor || 'theme'\"\r\n [icon]=\"config?.action?.firstAction?.icon\"\r\n [iconPosition]=\"config?.action?.firstAction?.iconPosition\"\r\n (click)=\"_firstAction()\"\r\n *ngIf=\"config?.action?.firstAction\"\r\n >\r\n {{ config?.action?.firstAction?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.secondAction?.actionType || 'primary'\"\r\n [color]=\"config?.action?.secondAction?.actionColor || 'theme'\"\r\n [icon]=\"config?.action?.secondAction?.icon\"\r\n [iconPosition]=\"config?.action?.secondAction?.iconPosition\"\r\n (click)=\"_secondAction()\"\r\n *ngIf=\"config?.action?.secondAction\"\r\n >\r\n {{ config?.action?.secondAction?.label }}\r\n </monkey-button>\r\n <monkey-button\r\n [type]=\"config?.action?.thirdAction?.actionType || 'primary'\"\r\n [color]=\"config?.action?.thirdAction?.actionColor || 'theme'\"\r\n [icon]=\"config?.action?.thirdAction?.icon\"\r\n [iconPosition]=\"config?.action?.thirdAction?.iconPosition\"\r\n (click)=\"_thirdAction()\"\r\n *ngIf=\"config?.action?.thirdAction\"\r\n >\r\n {{ config?.action?.thirdAction?.label }}\r\n </monkey-button>\r\n </mecx-monkey-modal-footer>\r\n </mecx-monkey-modal>\r\n <mecx-monkey-modal-background></mecx-monkey-modal-background>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyModalComponent implements OnInit {\r\n @Input() config: MonkeyModalConfig;\r\n @Input() modalRef: MonkeyModalRefs<this>;\r\n @Input() onHandleConfirm = new EventEmitter<any>();\r\n\r\n _actionCancel: Function;\r\n _actionConfirm: Function;\r\n _firstAction: Function;\r\n _secondAction: Function;\r\n _thirdAction: Function;\r\n\r\n constructor(private modalService: MonkeyStyleGuideModalService) {}\r\n\r\n ngOnInit() {\r\n this._actionCancel = () => {\r\n if (this.config?.action?.cancel?.action) {\r\n this.config?.action?.cancel?.action();\r\n }\r\n if (!this.config?.action?.cancel?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n };\r\n this._actionConfirm = () => {\r\n if (this.config?.action?.confirm?.action) {\r\n this.config?.action?.confirm?.action();\r\n if (!this.config?.action?.confirm?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n } else this.onHandleConfirm.next(null);\r\n };\r\n this._firstAction = () => {\r\n if (this.config?.action?.firstAction?.action) {\r\n this.config?.action?.firstAction?.action();\r\n if (!this.config?.action?.firstAction?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n }\r\n };\r\n this._secondAction = () => {\r\n if (this.config?.action?.secondAction?.action) {\r\n this.config?.action?.secondAction?.action();\r\n if (!this.config?.action?.secondAction?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n }\r\n };\r\n this._thirdAction = () => {\r\n if (this.config?.action?.thirdAction?.action) {\r\n this.config?.action?.thirdAction?.action();\r\n if (!this.config?.action?.thirdAction?.keepOnAction) {\r\n this.modalService.close(this.modalRef);\r\n }\r\n }\r\n };\r\n }\r\n\r\n onClose() {\r\n this.modalService.close(this.modalRef);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyModalComponent } from './modal.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MonkeyButtonModule } from '../button';\r\n\r\n@NgModule({\r\n declarations: [MonkeyModalComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyButtonModule],\r\n exports: [MonkeyModalComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyModalModule {}\r\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport {\n Component,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { MonkeyUtils } from '../../core';\n\n@Component({\n selector: 'monkey-expansion',\n template: `\n <mecx-monkey-expansion\n [id]=\"_id\"\n [ngClass]=\"\n ('mecx-monkey-expansion mecx-monkey-expansion__' + color || 'theme') +\n (disabled ? ' disabled' : '')\n \"\n >\n <mecx-monkey-expansion-header *ngIf=\"!open\" (click)=\"onToggleExpand()\">\n <label>\n {{ label }}\n </label>\n <helper>\n {{ helperMessage }}\n </helper>\n <monkey-icon icon=\"arrow-down-16\" [color]=\"'#4B4A53'\"></monkey-icon>\n </mecx-monkey-expansion-header>\n <mecx-monkey-expansion-header\n class=\"open\"\n *ngIf=\"open\"\n (click)=\"onToggleExpand()\"\n >\n <label>\n {{ label }}\n </label>\n <helper>\n {{ helperMessage }}\n </helper>\n <monkey-icon icon=\"arrow-up-16\" [color]=\"'#4B4A53'\"></monkey-icon>\n </mecx-monkey-expansion-header>\n <mecx-monkey-expansion-body *ngIf=\"open\">\n <ng-content></ng-content>\n </mecx-monkey-expansion-body>\n </mecx-monkey-expansion>\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MonkeyExpansionComponent {\n @Input() label: string;\n @Input() helperMessage: string;\n @Input() color: string;\n @Input() disabled: boolean = false;\n @Input() open: boolean = false;\n @Output() onChange = new EventEmitter<any>();\n\n public _id: string = `mecx-expansion-${MonkeyUtils.getRandomString(10)}`;\n\n constructor() {}\n\n onToggleExpand() {\n if (!this.disabled) {\n this.open = !this.open;\n this.onChange.next(this.open);\n }\n }\n}\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyExpansionComponent } from './expansion.component';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyIconModule } from '../icon';\n\n@NgModule({\n declarations: [MonkeyExpansionComponent],\n imports: [CommonModule, MonkeyIconModule],\n exports: [MonkeyExpansionComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyExpansionModule {}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-table',\r\n template: `\r\n <mecx-monkey-table>\r\n <mecx-monkey-table-header>\r\n <monkey-checkbox\r\n [value]=\"onHandleSelectedAll()\"\r\n (click)=\"onHandleSelectAll($event)\"\r\n *ngIf=\"selectable\"\r\n ></monkey-checkbox>\r\n <span *ngFor=\"let header of headers\" [style.width]=\"_maxWidth + '%'\">\r\n {{ header }}\r\n </span>\r\n </mecx-monkey-table-header>\r\n <mecx-monkey-table-body>\r\n <mecx-monkey-table-body-row\r\n [class.selected]=\"onHandleSelected(row)\"\r\n *ngFor=\"let row of newDataSource\"\r\n >\r\n <monkey-checkbox\r\n [value]=\"onHandleSelected(row)\"\r\n (click)=\"onHandleSelect($event, row)\"\r\n *ngIf=\"selectable\"\r\n ></monkey-checkbox>\r\n <ng-container *ngTemplateOutlet=\"rowTemplate; context: { row: row.data }\"></ng-container>\r\n </mecx-monkey-table-body-row>\r\n </mecx-monkey-table-body>\r\n <mecx-monkey-table-body *ngIf=\"loading\">\r\n <mecx-monkey-table-body-row *ngFor=\"let loading of [1, 2, 3]\">\r\n <progress class=\"monkey-progress monkey-progress__grey-white\"></progress>\r\n </mecx-monkey-table-body-row>\r\n </mecx-monkey-table-body>\r\n </mecx-monkey-table>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyTableComponent implements OnInit, OnChanges {\r\n @Input() headers: string[];\r\n\r\n @Input() dataSource: any[];\r\n\r\n @Input() loading = false;\r\n\r\n @Input() rowTemplate: TemplateRef<any>;\r\n\r\n @Input() selectable = false;\r\n\r\n @Input() callbackValidation = null;\r\n\r\n @Input() callbackValidationAll = null;\r\n\r\n @Input() selectedList = null;\r\n \r\n @Input() functionId: Function;\r\n\r\n @Output() selection = new EventEmitter<any>();\r\n\r\n @Output() selected = new EventEmitter<any>();\r\n\r\n newDataSource: any[];\r\n\r\n private list = [];\r\n\r\n _maxWidth = 100;\r\n\r\n constructor(public elRef: ElementRef) {\r\n //not to do\r\n }\r\n\r\n private emitSelection() {\r\n this.selection.next(this.list);\r\n }\r\n\r\n private handleDataSource() {\r\n this.newDataSource = this.dataSource.map((data) => {\r\n let id = null;\r\n if(this.functionId){\r\n id = this.functionId(data);\r\n }else{\r\n id = MonkeyUtils.getRandomString(20);\r\n }\r\n return { id, data };\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this._maxWidth = 100 / this.headers?.length;\r\n this.elRef.nativeElement.style.setProperty('--mecx-table-column-width', `${this._maxWidth}%`);\r\n }, 0);\r\n this.handleDataSource();\r\n if (this.selectedList) {\r\n this.list = this.selectedList;\r\n this.emitSelection();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n this.handleDataSource();\r\n }\r\n\r\n onHandleSelect(event: MouseEvent, row: any) {\r\n const { callbackValidation } = this;\r\n event.preventDefault();\r\n\r\n const continueValidation = () => {\r\n this.emitSelection();\r\n this.selected.next({ row, selected: this.onHandleSelected(row) });\r\n };\r\n\r\n if (this.onHandleSelected(row)) {\r\n this.list.splice(this.list.indexOf(row), 1);\r\n continueValidation();\r\n } else {\r\n if (callbackValidation) {\r\n callbackValidation(row, () => {\r\n this.list.push(row);\r\n continueValidation();\r\n });\r\n } else {\r\n continueValidation();\r\n }\r\n }\r\n }\r\n\r\n onHandleSelectAll(event: MouseEvent) {\r\n const { callbackValidationAll } = this;\r\n event.preventDefault();\r\n\r\n const continueValidation = () => {\r\n this.emitSelection();\r\n this.selected.next({ row: this.list });\r\n };\r\n\r\n if (!this.list.length) {\r\n if (callbackValidationAll) {\r\n callbackValidationAll(this.newDataSource, (newData = null) => {\r\n if (newData) {\r\n this.list = [...newData];\r\n } else {\r\n this.list = [...this.newDataSource];\r\n }\r\n continueValidation();\r\n });\r\n }\r\n } else {\r\n this.list = [];\r\n continueValidation();\r\n }\r\n }\r\n\r\n onHandleSelected(row: any) {\r\n return !!this.list.find((value) => value.id === row.id);\r\n }\r\n\r\n onHandleSelectedAll() {\r\n return this.list.length === this.newDataSource.length;\r\n }\r\n}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, ViewEncapsulation, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'monkey-table-column',\r\n template: ` <ng-content> </ng-content> `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MonkeyTableColumnComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class MonkeyTableColumnComponent {}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconModule } from '../icon';\r\nimport { MonkeyCheckboxModule } from '../checkbox';\r\nimport { MonkeyTableComponent } from './table.component';\r\nimport { MonkeyTableColumnComponent } from './table-column.component';\r\n\r\n@NgModule({\r\n declarations: [MonkeyTableComponent, MonkeyTableColumnComponent],\r\n imports: [CommonModule, MonkeyIconModule, MonkeyCheckboxModule],\r\n exports: [MonkeyTableComponent, MonkeyTableColumnComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyTableModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n Input,\r\n HostListener,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { MonkeyUtils } from '../../core';\r\n\r\n@Component({\r\n selector: 'monkey-toggle',\r\n template: `\r\n <mecx-monkey-toggle [id]=\"_id\" [ngClass]=\"{ disabled: disabled }\">\r\n <input type=\"checkbox\" [checked]=\"value\" />\r\n <div [ngClass]=\"'slider-' + value.toString()\"></div>\r\n </mecx-monkey-toggle>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyToggleComponent {\r\n @Input() value: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n public _id: string = `mecx-toggle-${MonkeyUtils.getRandomString(10)}`;\r\n public _open = false;\r\n\r\n constructor() {}\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: any) {\r\n event?.preventDefault();\r\n event?.stopPropagation();\r\n if (!this.disabled) {\r\n this.value = !this.value;\r\n this.onChange.next(this.value);\r\n }\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyToggleComponent } from './toggle.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [MonkeyToggleComponent],\n imports: [CommonModule],\n exports: [MonkeyToggleComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyToggleModule {}\n","/**************************\n * Copyright Monkey Exchange. All Rights Reserved\n * This style guide was developed by Monkey Exchange Team\n * MIT Licence\n **************************/\nimport {\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MonkeyOptionComponent } from '../option';\nimport { MonkeyUtils } from '../../core/utils';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'monkey-tab',\n template: `\n <mecx-tab-body [ngClass]=\"position\">\n <ng-content></ng-content>\n </mecx-tab-body>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MonkeyTabComponent),\n multi: true,\n },\n ],\n})\nexport class MonkeyTabComponent implements OnInit {\n @Input() position: string = 'horizontal';\n @Output() onChange = new EventEmitter<any>();\n @Input() selected: any;\n\n @ContentChildren(MonkeyOptionComponent, { descendants: true })\n private options!: QueryList<MonkeyOptionComponent>;\n\n public _selected: MonkeyOptionComponent;\n public _id: string = `mecx-tab-${MonkeyUtils.getRandomString(10)}`;\n\n constructor(private cdRef: ChangeDetectorRef) {}\n\n private onHandleSelected() {\n const { _selected } = this;\n this.options.forEach((op) => {\n op.selected = _selected;\n });\n\n let scrollValue = 0;\n if (_selected) {\n const { _id } = this._selected;\n scrollValue = document.getElementById(_id).offsetTop;\n }\n this.cdRef.detectChanges();\n this.onChange.next({\n label: _selected.label,\n value: _selected.value,\n });\n }\n\n private validateOptions() {\n if (!this.options) return;\n this.options.forEach((op) => {\n op.onSelectOption = this.onSelectOption.bind(this);\n op.type = 'select';\n op.selected = null;\n if (`${op.value}`.toLowerCase() === `${this.selected}`.toLowerCase()) {\n this._selected = op;\n op.selected = op;\n }\n });\n }\n\n ngOnInit() {\n setTimeout(() => {\n this.validateOptions();\n }, 0);\n }\n\n onSelectOption(select: MonkeyOptionComponent) {\n this._selected = select;\n const { value } = select;\n this.selected = value;\n this.onHandleSelected();\n }\n}\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MonkeyTabComponent } from './tab.component';\nimport { CommonModule } from '@angular/common';\nimport { MonkeyIconModule } from '../icon';\nimport { MonkeyOptionModule } from '../option';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [MonkeyTabComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, MonkeyOptionModule],\n exports: [MonkeyTabComponent],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class MonkeyTabModule {}\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence\r\n **************************/\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'monkey-stepper',\r\n template: `\r\n <div [ngClass]=\"position\">\r\n <div class=\"mecx-stepper-body\" *ngFor=\"let step of _totalSteps\">\r\n <div\r\n class=\"mecx-stepper-option mecx-stepper-option__theme\"\r\n [ngClass]=\"{ selected: step === selectedStep, completed: step < selectedStep }\"\r\n ></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MonkeyStepperComponent implements OnInit {\r\n @Input() totalSteps: number = 0;\r\n @Input() selectedStep: number = 0;\r\n @Input() position: string = 'horizontal';\r\n\r\n public _totalSteps: number[];\r\n public _selectedStep: number;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n const { totalSteps, selectedStep } = this;\r\n this._totalSteps = new Array(Number(totalSteps)).fill(1).map((step: number, index: number) => {\r\n return step + index;\r\n });\r\n this._selectedStep = Number(selectedStep);\r\n }\r\n}\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { MonkeyStepperComponent } from './stepper.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MonkeyIconModule } from '../icon';\r\n\r\n@NgModule({\r\n declarations: [MonkeyStepperComponent],\r\n imports: [CommonModule, MonkeyIconModule],\r\n exports: [MonkeyStepperComponent],\r\n schemas: [NO_ERRORS_SCHEMA],\r\n})\r\nexport class MonkeyStepperModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { MonkeyStyleGuideService } from './core/services/monkey-style-guide.service';\r\nimport { MonkeyStyleGuideSettingsService } from './core/services/settings';\r\nimport { MonkeyStyleGuideThemeSettingsService } from './core/services/settings/monkey-style-guide-theme-settings.service';\r\nimport { MonkeyStyleGuideSnackbarService } from './core/services/snackbar';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [HttpClientModule, CommonModule],\r\n providers: [\r\n MonkeyStyleGuideService,\r\n MonkeyStyleGuideSettingsService,\r\n MonkeyStyleGuideThemeSettingsService,\r\n MonkeyStyleGuideSnackbarService,\r\n ],\r\n})\r\nexport class MonkeyStyleGuideModule {}\r\n","/**************************\r\n * Copyright Monkey Exchange. All Rights Reserved\r\n * This style guide was developed by Monkey Exchange Team\r\n * MIT Licence \r\n**************************/\r\nexport * from './lib/components';\r\nexport * from './lib/core';\r\nexport * from './lib/monkey-style-guide.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MonkeyStyleGuideService as ɵa} from './lib/core/services/monkey-style-guide.service';\nexport {MonkeyStyleGuideSettingsService as ɵb} from './lib/core/services/settings';\nexport {MonkeyStyleGuideThemeSettingsService as ɵc} from './lib/core/services/settings/monkey-style-guide-theme-settings.service';\nexport {MonkeyStyleGuideSnackbarService as ɵd} from './lib/core/services/snackbar';"],"names":["Injectable","HttpClient","Inject","DOCUMENT","BehaviorSubject","throwError","Location","ComponentFactoryResolver","ApplicationRef","Injector","Component","ViewEncapsulation","Input","NgModule","CommonModule","NO_ERRORS_SCHEMA","HostListener","ChangeDetectorRef","Subject","takeUntil","Directive","FormsModule","ReactiveFormsModule","moment_","EventEmitter","Validators","NG_VALUE_ACCESSOR","forwardRef","CurrencyPipe","FormBuilder","Output","ViewChild","ElementRef","NgxMaskModule","ContentChildren","Renderer2","DomSanitizer","HttpClientModule"],"mappings":"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"}
|