monkey-style-guide-v2 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/scss/directives/_badge.scss +49 -0
- package/assets/scss/directives/_index.scss +1 -0
- package/assets/scss/table/_styles.scss +0 -33
- package/esm2022/lib/components/accordion/accordion.component.mjs +102 -0
- package/esm2022/lib/components/accordion/index.mjs +7 -0
- package/esm2022/lib/components/action-bar/action-bar.component.mjs +46 -0
- package/esm2022/lib/components/action-bar/index.mjs +7 -0
- package/esm2022/lib/components/alert/alert.component.mjs +50 -0
- package/esm2022/lib/components/alert/index.mjs +7 -0
- package/esm2022/lib/components/avatar/avatar.component.mjs +55 -0
- package/esm2022/lib/components/avatar/index.mjs +7 -0
- package/esm2022/lib/components/badge/badge.component.mjs +74 -0
- package/esm2022/lib/components/badge/index.mjs +7 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +56 -0
- package/esm2022/lib/components/breadcrumb/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-button/monkey-button.component.mjs → button/button.component.mjs} +1 -1
- package/esm2022/lib/components/button/index.mjs +7 -0
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +219 -0
- package/esm2022/lib/components/checkbox/index.mjs +7 -0
- package/esm2022/lib/components/date-range/date-range.component.mjs +239 -0
- package/esm2022/lib/components/date-range/index.mjs +7 -0
- package/esm2022/lib/components/date-range/month/index.mjs +7 -0
- package/esm2022/lib/components/date-range/month/month.component.mjs +148 -0
- package/esm2022/lib/components/date-range/quick-actions/index.mjs +7 -0
- package/esm2022/lib/components/date-range/quick-actions/quick-actions.component.mjs +48 -0
- package/esm2022/lib/components/date-range/utils.mjs +102 -0
- package/esm2022/lib/components/divider/divider.component.mjs +44 -0
- package/esm2022/lib/components/divider/index.mjs +7 -0
- package/esm2022/lib/components/form-field/form-field-control.mjs +15 -0
- package/esm2022/lib/components/form-field/form-field.component.mjs +268 -0
- package/esm2022/lib/components/form-field/form-field.module.mjs +21 -0
- package/esm2022/lib/components/form-field/index.mjs +10 -0
- package/esm2022/lib/components/form-field/utils.mjs +16 -0
- package/esm2022/lib/components/icon/icon.component.mjs +51 -0
- package/esm2022/lib/components/icon/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-icon-button/monkey-icon-button.component.mjs → icon-button/icon-button.component.mjs} +2 -2
- package/esm2022/lib/components/icon-button/index.mjs +7 -0
- package/esm2022/lib/components/index.mjs +27 -21
- package/esm2022/lib/components/input/index.mjs +9 -0
- package/esm2022/lib/components/input/input-currency.directive.mjs +185 -0
- package/esm2022/lib/components/input/input.directive.mjs +185 -0
- package/esm2022/lib/components/input/input.module.mjs +24 -0
- package/esm2022/lib/components/input/validators.mjs +22 -0
- package/esm2022/lib/components/input-code/index.mjs +7 -0
- package/esm2022/lib/components/input-code/input-code.component.mjs +232 -0
- package/esm2022/lib/components/input-upload/index.mjs +7 -0
- package/esm2022/lib/components/input-upload/input-upload.component.mjs +238 -0
- package/esm2022/lib/components/{monkey-modal → modal}/components/default.mjs +8 -6
- package/esm2022/lib/components/{monkey-modal → modal}/directives/actions.mjs +1 -1
- package/esm2022/lib/components/{monkey-modal → modal}/directives/content.mjs +1 -1
- package/esm2022/lib/components/{monkey-modal → modal}/directives/subtitle.mjs +1 -1
- package/esm2022/lib/components/{monkey-modal → modal}/directives/title.mjs +1 -1
- package/esm2022/lib/components/modal/index.mjs +16 -0
- package/esm2022/lib/components/modal/modal-config.mjs +20 -0
- package/esm2022/lib/components/modal/modal-ref.mjs +49 -0
- package/esm2022/lib/components/modal/modal.component.mjs +117 -0
- package/esm2022/lib/components/modal/modal.module.mjs +53 -0
- package/esm2022/lib/components/modal/modal.service.mjs +137 -0
- package/esm2022/lib/components/modal/utils.mjs +23 -0
- package/esm2022/lib/components/option/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-option/monkey-option.component.mjs → option/option.component.mjs} +1 -1
- package/esm2022/lib/components/security-level/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-security-level/monkey-security-level.component.mjs → security-level/security-level.component.mjs} +1 -1
- package/esm2022/lib/components/select/index.mjs +7 -0
- package/esm2022/lib/components/select/select.component.mjs +448 -0
- package/esm2022/lib/components/status/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-status/monkey-status.component.mjs → status/status.component.mjs} +1 -1
- package/esm2022/lib/components/{monkey-table → table}/components/pagination-action/pagination-action.mjs +2 -2
- package/esm2022/lib/components/table/components/pagination-label/pagination-label.mjs +34 -0
- package/esm2022/lib/components/table/components/pagination-size/pagination-size.mjs +57 -0
- package/esm2022/lib/components/table/directives/column-checked.mjs +109 -0
- package/esm2022/lib/components/table/directives/column-expansible.mjs +134 -0
- package/esm2022/lib/components/table/directives/column-sortable.mjs +97 -0
- package/esm2022/lib/components/{monkey-table → table}/directives/column-stick.mjs +1 -1
- package/esm2022/lib/components/table/index.mjs +15 -0
- package/esm2022/lib/components/{monkey-table/table.mjs → table/table.component.mjs} +3 -2
- package/esm2022/lib/components/table/table.module.mjs +64 -0
- package/esm2022/lib/components/toast/index.mjs +7 -0
- package/esm2022/lib/components/toast/toast.component.mjs +79 -0
- package/esm2022/lib/components/toggle/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-toggle/monkey-toggle.component.mjs → toggle/toggle.component.mjs} +6 -1
- package/esm2022/lib/components/toggle-line/index.mjs +8 -0
- package/esm2022/lib/components/toggle-line/toggle-line-button/index.mjs +7 -0
- package/esm2022/lib/components/{monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.mjs → toggle-line/toggle-line-button/toggle-line-button.component.mjs} +3 -3
- package/esm2022/lib/components/toggle-line/toggle-line.component.mjs +85 -0
- package/esm2022/lib/components/tooltip/index.mjs +8 -0
- package/esm2022/lib/components/tooltip/tooltip/index.mjs +7 -0
- package/esm2022/lib/components/tooltip/tooltip/tooltip.component.mjs +58 -0
- package/esm2022/lib/components/tooltip/tooltip.directive.mjs +180 -0
- package/esm2022/lib/directives/badge.mjs +74 -0
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/directives/module.mjs +33 -4
- package/esm2022/lib/interfaces/sizes.mjs +1 -1
- package/esm2022/lib/services/dictionary.service.mjs +224 -0
- package/esm2022/lib/services/icons.service.mjs +56 -0
- package/esm2022/lib/services/index.mjs +8 -4
- package/esm2022/lib/services/toast.service.mjs +72 -0
- package/esm2022/lib/tokens/index.mjs +3 -0
- package/esm2022/utils/utils.mjs +32 -1
- package/fesm2022/monkey-style-guide-v2.mjs +2254 -391
- package/fesm2022/monkey-style-guide-v2.mjs.map +1 -1
- package/lib/components/accordion/index.d.ts +6 -0
- package/lib/components/action-bar/action-bar.component.d.ts +9 -0
- package/lib/components/action-bar/index.d.ts +6 -0
- package/lib/components/alert/index.d.ts +6 -0
- package/lib/components/avatar/avatar.component.d.ts +30 -0
- package/lib/components/avatar/index.d.ts +6 -0
- package/lib/components/badge/badge.component.d.ts +19 -0
- package/lib/components/badge/index.d.ts +6 -0
- package/lib/components/breadcrumb/index.d.ts +6 -0
- package/lib/components/button/index.d.ts +6 -0
- package/lib/components/{monkey-checkbox/monkey-checkbox.component.d.ts → checkbox/checkbox.component.d.ts} +1 -1
- package/lib/components/checkbox/index.d.ts +6 -0
- package/lib/components/date-range/date-range.component.d.ts +59 -0
- package/lib/components/date-range/index.d.ts +6 -0
- package/lib/components/date-range/month/index.d.ts +6 -0
- package/lib/components/date-range/month/month.component.d.ts +38 -0
- package/lib/components/date-range/quick-actions/index.d.ts +6 -0
- package/lib/components/date-range/quick-actions/quick-actions.component.d.ts +19 -0
- package/lib/components/date-range/utils.d.ts +40 -0
- package/lib/components/divider/index.d.ts +6 -0
- package/lib/components/{monkey-form-field/form-field.d.ts → form-field/form-field.component.d.ts} +9 -4
- package/lib/components/{monkey-form-field/module.d.ts → form-field/form-field.module.d.ts} +1 -1
- package/lib/components/form-field/index.d.ts +9 -0
- package/lib/components/icon/index.d.ts +6 -0
- package/lib/components/icon-button/index.d.ts +6 -0
- package/lib/components/index.d.ts +26 -20
- package/lib/components/input/index.d.ts +8 -0
- package/lib/components/{monkey-input/monkey-input-currency.directive.d.ts → input/input-currency.directive.d.ts} +2 -2
- package/lib/components/{monkey-input/monkey-input.directive.d.ts → input/input.directive.d.ts} +8 -2
- package/lib/components/{monkey-input/monkey-input.module.d.ts → input/input.module.d.ts} +2 -2
- package/lib/components/input-code/index.d.ts +6 -0
- package/lib/components/input-code/input-code.component.d.ts +48 -0
- package/lib/components/input-upload/index.d.ts +6 -0
- package/lib/components/input-upload/input-upload.component.d.ts +64 -0
- package/lib/components/{monkey-modal → modal}/components/default.d.ts +0 -1
- package/lib/components/modal/index.d.ts +15 -0
- package/lib/components/{monkey-modal → modal}/modal-config.d.ts +3 -2
- package/lib/components/{monkey-modal → modal}/modal-ref.d.ts +1 -0
- package/lib/components/{monkey-modal/modal.d.ts → modal/modal.component.d.ts} +3 -4
- package/lib/components/{monkey-modal → modal}/modal.module.d.ts +4 -4
- package/lib/components/option/index.d.ts +6 -0
- package/lib/components/security-level/index.d.ts +6 -0
- package/lib/components/select/index.d.ts +6 -0
- package/lib/components/{monkey-select/monkey-select.component.d.ts → select/select.component.d.ts} +31 -13
- package/lib/components/status/index.d.ts +6 -0
- package/lib/components/{monkey-table → table}/directives/column-checked.d.ts +2 -2
- package/lib/components/{monkey-table → table}/directives/column-expansible.d.ts +1 -1
- package/lib/components/{monkey-table → table}/directives/column-sortable.d.ts +1 -1
- package/lib/components/{monkey-table → table}/index.d.ts +6 -1
- package/lib/components/table/table.module.d.ts +16 -0
- package/lib/components/toast/index.d.ts +6 -0
- package/lib/components/{monkey-toast/monkey-toast.component.d.ts → toast/toast.component.d.ts} +5 -0
- package/lib/components/toggle/index.d.ts +6 -0
- package/lib/components/toggle-line/index.d.ts +7 -0
- package/lib/components/toggle-line/toggle-line-button/index.d.ts +6 -0
- package/lib/components/{monkey-toggle-line/monkey-toggle-line.component.d.ts → toggle-line/toggle-line.component.d.ts} +1 -1
- package/lib/components/tooltip/index.d.ts +7 -0
- package/lib/components/tooltip/tooltip/index.d.ts +6 -0
- package/lib/directives/badge.d.ts +24 -0
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/module.d.ts +2 -1
- package/lib/interfaces/sizes.d.ts +1 -1
- package/lib/services/dictionary.service.d.ts +11 -0
- package/lib/services/{monkey-icons.service.d.ts → icons.service.d.ts} +2 -0
- package/lib/services/index.d.ts +7 -3
- package/lib/services/{monkey-toast.service.d.ts → toast.service.d.ts} +5 -0
- package/lib/tokens/index.d.ts +3 -0
- package/monkey-style-guide-v2-0.0.18.tgz +0 -0
- package/package.json +2 -1
- package/utils/utils.d.ts +5 -0
- package/esm2022/lib/components/monkey-accordion/index.mjs +0 -2
- package/esm2022/lib/components/monkey-accordion/monkey-accordion.component.mjs +0 -102
- package/esm2022/lib/components/monkey-alert/index.mjs +0 -2
- package/esm2022/lib/components/monkey-alert/monkey-alert.component.mjs +0 -50
- package/esm2022/lib/components/monkey-breadcrumb/index.mjs +0 -2
- package/esm2022/lib/components/monkey-breadcrumb/monkey-breadcrumb.component.mjs +0 -56
- package/esm2022/lib/components/monkey-button/index.mjs +0 -2
- package/esm2022/lib/components/monkey-checkbox/index.mjs +0 -2
- package/esm2022/lib/components/monkey-checkbox/monkey-checkbox.component.mjs +0 -216
- package/esm2022/lib/components/monkey-divider/index.mjs +0 -2
- package/esm2022/lib/components/monkey-divider/monkey-divider.component.mjs +0 -44
- package/esm2022/lib/components/monkey-form-field/form-field-control.mjs +0 -15
- package/esm2022/lib/components/monkey-form-field/form-field.mjs +0 -250
- package/esm2022/lib/components/monkey-form-field/index.mjs +0 -5
- package/esm2022/lib/components/monkey-form-field/module.mjs +0 -21
- package/esm2022/lib/components/monkey-form-field/utils.mjs +0 -16
- package/esm2022/lib/components/monkey-icon/index.mjs +0 -2
- package/esm2022/lib/components/monkey-icon/monkey-icon.component.mjs +0 -51
- package/esm2022/lib/components/monkey-icon-button/index.mjs +0 -2
- package/esm2022/lib/components/monkey-input/index.mjs +0 -5
- package/esm2022/lib/components/monkey-input/monkey-input-currency.directive.mjs +0 -187
- package/esm2022/lib/components/monkey-input/monkey-input.directive.mjs +0 -166
- package/esm2022/lib/components/monkey-input/monkey-input.module.mjs +0 -24
- package/esm2022/lib/components/monkey-input/validators.mjs +0 -17
- package/esm2022/lib/components/monkey-modal/index.mjs +0 -12
- package/esm2022/lib/components/monkey-modal/modal-config.mjs +0 -18
- package/esm2022/lib/components/monkey-modal/modal-ref.mjs +0 -46
- package/esm2022/lib/components/monkey-modal/modal.mjs +0 -119
- package/esm2022/lib/components/monkey-modal/modal.module.mjs +0 -53
- package/esm2022/lib/components/monkey-modal/service.mjs +0 -92
- package/esm2022/lib/components/monkey-modal/utils.mjs +0 -23
- package/esm2022/lib/components/monkey-option/index.mjs +0 -2
- package/esm2022/lib/components/monkey-security-level/index.mjs +0 -2
- package/esm2022/lib/components/monkey-select/index.mjs +0 -2
- package/esm2022/lib/components/monkey-select/monkey-select.component.mjs +0 -352
- package/esm2022/lib/components/monkey-status/index.mjs +0 -2
- package/esm2022/lib/components/monkey-table/components/pagination-label/pagination-label.mjs +0 -34
- package/esm2022/lib/components/monkey-table/components/pagination-size/pagination-size.mjs +0 -57
- package/esm2022/lib/components/monkey-table/directives/column-checked.mjs +0 -109
- package/esm2022/lib/components/monkey-table/directives/column-expansible.mjs +0 -134
- package/esm2022/lib/components/monkey-table/directives/column-sortable.mjs +0 -97
- package/esm2022/lib/components/monkey-table/index.mjs +0 -10
- package/esm2022/lib/components/monkey-table/table.module.mjs +0 -60
- package/esm2022/lib/components/monkey-toast/index.mjs +0 -2
- package/esm2022/lib/components/monkey-toast/monkey-toast.component.mjs +0 -74
- package/esm2022/lib/components/monkey-toggle/index.mjs +0 -2
- package/esm2022/lib/components/monkey-toggle-line/index.mjs +0 -3
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.mjs +0 -2
- package/esm2022/lib/components/monkey-toggle-line/monkey-toggle-line.component.mjs +0 -85
- package/esm2022/lib/components/monkey-tooltip/index.mjs +0 -3
- package/esm2022/lib/components/monkey-tooltip/monkey-tooltip.directive.mjs +0 -175
- package/esm2022/lib/components/monkey-tooltip/tooltip/index.mjs +0 -2
- package/esm2022/lib/components/monkey-tooltip/tooltip/tooltip.component.mjs +0 -53
- package/esm2022/lib/services/monkey-destroy.service.mjs +0 -15
- package/esm2022/lib/services/monkey-icons.service.mjs +0 -45
- package/esm2022/lib/services/monkey-toast.service.mjs +0 -72
- package/lib/components/monkey-accordion/index.d.ts +0 -1
- package/lib/components/monkey-alert/index.d.ts +0 -1
- package/lib/components/monkey-breadcrumb/index.d.ts +0 -1
- package/lib/components/monkey-button/index.d.ts +0 -1
- package/lib/components/monkey-checkbox/index.d.ts +0 -1
- package/lib/components/monkey-divider/index.d.ts +0 -1
- package/lib/components/monkey-form-field/index.d.ts +0 -4
- package/lib/components/monkey-icon/index.d.ts +0 -1
- package/lib/components/monkey-icon-button/index.d.ts +0 -1
- package/lib/components/monkey-input/index.d.ts +0 -4
- package/lib/components/monkey-modal/index.d.ts +0 -11
- package/lib/components/monkey-option/index.d.ts +0 -1
- package/lib/components/monkey-security-level/index.d.ts +0 -1
- package/lib/components/monkey-select/index.d.ts +0 -1
- package/lib/components/monkey-status/index.d.ts +0 -1
- package/lib/components/monkey-table/table.module.d.ts +0 -15
- package/lib/components/monkey-toast/index.d.ts +0 -1
- package/lib/components/monkey-toggle/index.d.ts +0 -1
- package/lib/components/monkey-toggle-line/index.d.ts +0 -2
- package/lib/components/monkey-toggle-line/monkey-toggle-line-button/index.d.ts +0 -1
- package/lib/components/monkey-tooltip/index.d.ts +0 -2
- package/lib/components/monkey-tooltip/tooltip/index.d.ts +0 -1
- package/lib/services/monkey-destroy.service.d.ts +0 -8
- package/monkey-style-guide-v2-0.0.17.tgz +0 -0
- /package/lib/components/{monkey-accordion/monkey-accordion.component.d.ts → accordion/accordion.component.d.ts} +0 -0
- /package/lib/components/{monkey-alert/monkey-alert.component.d.ts → alert/alert.component.d.ts} +0 -0
- /package/lib/components/{monkey-breadcrumb/monkey-breadcrumb.component.d.ts → breadcrumb/breadcrumb.component.d.ts} +0 -0
- /package/lib/components/{monkey-button/monkey-button.component.d.ts → button/button.component.d.ts} +0 -0
- /package/lib/components/{monkey-divider/monkey-divider.component.d.ts → divider/divider.component.d.ts} +0 -0
- /package/lib/components/{monkey-form-field → form-field}/form-field-control.d.ts +0 -0
- /package/lib/components/{monkey-form-field → form-field}/utils.d.ts +0 -0
- /package/lib/components/{monkey-icon/monkey-icon.component.d.ts → icon/icon.component.d.ts} +0 -0
- /package/lib/components/{monkey-icon-button/monkey-icon-button.component.d.ts → icon-button/icon-button.component.d.ts} +0 -0
- /package/lib/components/{monkey-input → input}/validators.d.ts +0 -0
- /package/lib/components/{monkey-modal → modal}/directives/actions.d.ts +0 -0
- /package/lib/components/{monkey-modal → modal}/directives/content.d.ts +0 -0
- /package/lib/components/{monkey-modal → modal}/directives/subtitle.d.ts +0 -0
- /package/lib/components/{monkey-modal → modal}/directives/title.d.ts +0 -0
- /package/lib/components/{monkey-modal/service.d.ts → modal/modal.service.d.ts} +0 -0
- /package/lib/components/{monkey-modal → modal}/utils.d.ts +0 -0
- /package/lib/components/{monkey-option/monkey-option.component.d.ts → option/option.component.d.ts} +0 -0
- /package/lib/components/{monkey-security-level/monkey-security-level.component.d.ts → security-level/security-level.component.d.ts} +0 -0
- /package/lib/components/{monkey-status/monkey-status.component.d.ts → status/status.component.d.ts} +0 -0
- /package/lib/components/{monkey-table → table}/components/pagination-action/pagination-action.d.ts +0 -0
- /package/lib/components/{monkey-table → table}/components/pagination-label/pagination-label.d.ts +0 -0
- /package/lib/components/{monkey-table → table}/components/pagination-size/pagination-size.d.ts +0 -0
- /package/lib/components/{monkey-table → table}/directives/column-stick.d.ts +0 -0
- /package/lib/components/{monkey-table/table.d.ts → table/table.component.d.ts} +0 -0
- /package/lib/components/{monkey-toggle/monkey-toggle.component.d.ts → toggle/toggle.component.d.ts} +0 -0
- /package/lib/components/{monkey-toggle-line/monkey-toggle-line-button/monkey-toggle-line-button.component.d.ts → toggle-line/toggle-line-button/toggle-line-button.component.d.ts} +0 -0
- /package/lib/components/{monkey-tooltip → tooltip}/tooltip/tooltip.component.d.ts +0 -0
- /package/lib/components/{monkey-tooltip/monkey-tooltip.directive.d.ts → tooltip/tooltip.directive.d.ts} +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
/** ************************
|
|
3
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
4
|
+
* This style guide was developed by Monkey Exchange Team
|
|
5
|
+
* MIT Licence
|
|
6
|
+
************************* */
|
|
7
|
+
import { addDays, addMonths, addYears, endOfMonth, endOfWeek, format, getMonth, getYear, isAfter, isBefore, isSameMonth, isToday, parseISO, startOfMonth, startOfWeek, subMonths, subYears } from 'date-fns';
|
|
8
|
+
export var QuickActionsEnum;
|
|
9
|
+
(function (QuickActionsEnum) {
|
|
10
|
+
QuickActionsEnum[QuickActionsEnum["LAST_30_DAYS"] = -30] = "LAST_30_DAYS";
|
|
11
|
+
QuickActionsEnum[QuickActionsEnum["LAST_60_DAYS"] = -60] = "LAST_60_DAYS";
|
|
12
|
+
QuickActionsEnum[QuickActionsEnum["LAST_90_DAYS"] = -90] = "LAST_90_DAYS";
|
|
13
|
+
QuickActionsEnum[QuickActionsEnum["LAST_6_MONTHS"] = -180] = "LAST_6_MONTHS";
|
|
14
|
+
QuickActionsEnum[QuickActionsEnum["LAST_12_MONTHS"] = -365] = "LAST_12_MONTHS";
|
|
15
|
+
QuickActionsEnum[QuickActionsEnum["NEXT_30_DAYS"] = 30] = "NEXT_30_DAYS";
|
|
16
|
+
QuickActionsEnum[QuickActionsEnum["NEXT_60_DAYS"] = 60] = "NEXT_60_DAYS";
|
|
17
|
+
QuickActionsEnum[QuickActionsEnum["NEXT_90_DAYS"] = 90] = "NEXT_90_DAYS";
|
|
18
|
+
QuickActionsEnum[QuickActionsEnum["NEXT_6_MONTHS"] = 180] = "NEXT_6_MONTHS";
|
|
19
|
+
QuickActionsEnum[QuickActionsEnum["NEXT_12_MONTHS"] = 365] = "NEXT_12_MONTHS";
|
|
20
|
+
})(QuickActionsEnum || (QuickActionsEnum = {}));
|
|
21
|
+
export function parseStringDate(val) {
|
|
22
|
+
if (typeof val === 'string') {
|
|
23
|
+
return format(parseISO(val), 'yyyy-MM-dd');
|
|
24
|
+
}
|
|
25
|
+
return val.toISOString().split('T')[0];
|
|
26
|
+
}
|
|
27
|
+
export function getDefaultdates() {
|
|
28
|
+
return {
|
|
29
|
+
minDate: format(subYears(new Date(), 15), 'yyyy-MM-dd'),
|
|
30
|
+
maxDate: format(addYears(new Date(), 15), 'yyyy-MM-dd')
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function buildCalendars(date, action) {
|
|
34
|
+
if (action) {
|
|
35
|
+
if (action === 'previous') {
|
|
36
|
+
date = subMonths(date, 1);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
date = addMonths(date, 1);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const firstMonth = getMonth(date);
|
|
43
|
+
const firstYear = getYear(date);
|
|
44
|
+
const secondDate = addMonths(date, 1);
|
|
45
|
+
const secondMonth = getMonth(secondDate);
|
|
46
|
+
const secondYear = getYear(secondDate);
|
|
47
|
+
return {
|
|
48
|
+
firstCalendar: {
|
|
49
|
+
month: firstMonth,
|
|
50
|
+
year: firstYear
|
|
51
|
+
},
|
|
52
|
+
secondCalendar: {
|
|
53
|
+
month: secondMonth,
|
|
54
|
+
year: secondYear
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export function buildMonthByDays(year, month, minDate, maxDate) {
|
|
59
|
+
const date = new Date(year, month, 1);
|
|
60
|
+
const start = startOfWeek(startOfMonth(date), { weekStartsOn: 0 });
|
|
61
|
+
const end = endOfWeek(endOfMonth(date), { weekStartsOn: 0 });
|
|
62
|
+
const days = [];
|
|
63
|
+
let blockPrev = false;
|
|
64
|
+
let blockNext = false;
|
|
65
|
+
let current = start;
|
|
66
|
+
while (current <= end) {
|
|
67
|
+
const isCurrentMonth = isSameMonth(current, date);
|
|
68
|
+
const isBeforeMin = minDate
|
|
69
|
+
? isBefore(parseStringDate(current), parseStringDate(minDate))
|
|
70
|
+
: false;
|
|
71
|
+
if (isBeforeMin) {
|
|
72
|
+
blockPrev = true;
|
|
73
|
+
}
|
|
74
|
+
const isAfterMax = maxDate
|
|
75
|
+
? isAfter(parseStringDate(current), parseStringDate(maxDate))
|
|
76
|
+
: false;
|
|
77
|
+
if (isAfterMax) {
|
|
78
|
+
blockNext = true;
|
|
79
|
+
}
|
|
80
|
+
days.push({
|
|
81
|
+
date: isCurrentMonth ? current : null,
|
|
82
|
+
isDisabled: !isCurrentMonth || isBeforeMin || isAfterMax,
|
|
83
|
+
isToday: isToday(current)
|
|
84
|
+
});
|
|
85
|
+
current = addDays(current, 1);
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
blockPrev,
|
|
89
|
+
blockNext,
|
|
90
|
+
days
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export function getEnumKeys(enumObj) {
|
|
94
|
+
return Object.entries(enumObj)
|
|
95
|
+
.filter(([key]) => {
|
|
96
|
+
return Number.isNaN(Number(key));
|
|
97
|
+
})
|
|
98
|
+
.map(([key, value]) => {
|
|
99
|
+
return { key, value };
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DOzs7OzZCQUk2QjtBQUM3QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxFQUNULFFBQVEsRUFDVCxNQUFNLFVBQVUsQ0FBQztBQW1CbEIsTUFBTSxDQUFOLElBQVksZ0JBV1g7QUFYRCxXQUFZLGdCQUFnQjtJQUMxQix5RUFBa0IsQ0FBQTtJQUNsQix5RUFBa0IsQ0FBQTtJQUNsQix5RUFBa0IsQ0FBQTtJQUNsQiw0RUFBb0IsQ0FBQTtJQUNwQiw4RUFBcUIsQ0FBQTtJQUNyQix3RUFBaUIsQ0FBQTtJQUNqQix3RUFBaUIsQ0FBQTtJQUNqQix3RUFBaUIsQ0FBQTtJQUNqQiwyRUFBbUIsQ0FBQTtJQUNuQiw2RUFBb0IsQ0FBQTtBQUN0QixDQUFDLEVBWFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVczQjtBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsR0FBa0I7SUFDaEQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QixPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBYSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FB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RUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNyQyxVQUFVLEVBQUUsQ0FBQyxjQUFjLElBQUksV0FBVyxJQUFJLFVBQVU7WUFDeEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxTQUFTO1FBQ1QsU0FBUztRQUNULElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBWTtJQUN0QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQzNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRTtRQUNoQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDO1NBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNwQixPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuaW1wb3J0IHtcbiAgYWRkRGF5cyxcbiAgYWRkTW9udGhzLFxuICBhZGRZZWFycyxcbiAgZW5kT2ZNb250aCxcbiAgZW5kT2ZXZWVrLFxuICBmb3JtYXQsXG4gIGdldE1vbnRoLFxuICBnZXRZZWFyLFxuICBpc0FmdGVyLFxuICBpc0JlZm9yZSxcbiAgaXNTYW1lTW9udGgsXG4gIGlzVG9kYXksXG4gIHBhcnNlSVNPLFxuICBzdGFydE9mTW9udGgsXG4gIHN0YXJ0T2ZXZWVrLFxuICBzdWJNb250aHMsXG4gIHN1YlllYXJzXG59IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0RGF0ZXMge1xuICBtaW5EYXRlOiBzdHJpbmc7XG4gIG1heERhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWVrRGF5IHtcbiAgZGF0ZTogRGF0ZSB8IG51bGw7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIGlzVG9kYXk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJXZWVrRGF5IHtcbiAgYmxvY2tOZXh0OiBib29sZWFuO1xuICBibG9ja1ByZXY6IGJvb2xlYW47XG4gIGRheXM6IChXZWVrRGF5IHwgbnVsbClbXTtcbn1cblxuZXhwb3J0IGVudW0gUXVpY2tBY3Rpb25zRW51bSB7XG4gIExBU1RfMzBfREFZUyA9IC0zMCxcbiAgTEFTVF82MF9EQVlTID0gLTYwLFxuICBMQVNUXzkwX0RBWVMgPSAtOTAsXG4gIExBU1RfNl9NT05USFMgPSAtMTgwLFxuICBMQVNUXzEyX01PTlRIUyA9IC0zNjUsXG4gIE5FWFRfMzBfREFZUyA9IDMwLFxuICBORVhUXzYwX0RBWVMgPSA2MCxcbiAgTkVYVF85MF9EQVlTID0gOTAsXG4gIE5FWFRfNl9NT05USFMgPSAxODAsXG4gIE5FWFRfMTJfTU9OVEhTID0gMzY1XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVN0cmluZ0RhdGUodmFsOiBEYXRlIHwgc3RyaW5nKSB7XG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmb3JtYXQocGFyc2VJU08odmFsIGFzIHN0cmluZyksICd5eXl5LU1NLWRkJyk7XG4gIH1cblxuICByZXR1cm4gdmFsLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRkYXRlcygpOiBEZWZhdWx0RGF0ZXMge1xuICByZXR1cm4ge1xuICAgIG1pbkRhdGU6IGZvcm1hdChzdWJZZWFycyhuZXcgRGF0ZSgpLCAxNSksICd5eXl5LU1NLWRkJyksXG4gICAgbWF4RGF0ZTogZm9ybWF0KGFkZFllYXJzKG5ldyBEYXRlKCksIDE1KSwgJ3l5eXktTU0tZGQnKVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDYWxlbmRhcnMoZGF0ZTogRGF0ZSB8IHN0cmluZywgYWN0aW9uPzogJ3ByZXZpb3VzJyB8ICduZXh0Jykge1xuICBpZiAoYWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ3ByZXZpb3VzJykge1xuICAgICAgZGF0ZSA9IHN1Yk1vbnRocyhkYXRlLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0ZSA9IGFkZE1vbnRocyhkYXRlLCAxKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBmaXJzdE1vbnRoID0gZ2V0TW9udGgoZGF0ZSk7XG4gIGNvbnN0IGZpcnN0WWVhciA9IGdldFllYXIoZGF0ZSk7XG5cbiAgY29uc3Qgc2Vjb25kRGF0ZSA9IGFkZE1vbnRocyhkYXRlLCAxKTtcblxuICBjb25zdCBzZWNvbmRNb250aCA9IGdldE1vbnRoKHNlY29uZERhdGUpO1xuICBjb25zdCBzZWNvbmRZZWFyID0gZ2V0WWVhcihzZWNvbmREYXRlKTtcblxuICByZXR1cm4ge1xuICAgIGZpcnN0Q2FsZW5kYXI6IHtcbiAgICAgIG1vbnRoOiBmaXJzdE1vbnRoLFxuICAgICAgeWVhcjogZmlyc3RZZWFyXG4gICAgfSxcbiAgICBzZWNvbmRDYWxlbmRhcjoge1xuICAgICAgbW9udGg6IHNlY29uZE1vbnRoLFxuICAgICAgeWVhcjogc2Vjb25kWWVhclxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTW9udGhCeURheXMoXG4gIHllYXI6IG51bWJlcixcbiAgbW9udGg6IG51bWJlcixcbiAgbWluRGF0ZTogRGF0ZSB8IHN0cmluZyxcbiAgbWF4RGF0ZTogRGF0ZSB8IHN0cmluZ1xuKTogQ2FsZW5kYXJXZWVrRGF5IHtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgY29uc3Qgc3RhcnQgPSBzdGFydE9mV2VlayhzdGFydE9mTW9udGgoZGF0ZSksIHsgd2Vla1N0YXJ0c09uOiAwIH0pO1xuICBjb25zdCBlbmQgPSBlbmRPZldlZWsoZW5kT2ZNb250aChkYXRlKSwgeyB3ZWVrU3RhcnRzT246IDAgfSk7XG5cbiAgY29uc3QgZGF5czogKFdlZWtEYXkgfCBudWxsKVtdID0gW107XG4gIGxldCBibG9ja1ByZXYgPSBmYWxzZTtcbiAgbGV0IGJsb2NrTmV4dCA9IGZhbHNlO1xuXG4gIGxldCBjdXJyZW50ID0gc3RhcnQ7XG4gIHdoaWxlIChjdXJyZW50IDw9IGVuZCkge1xuICAgIGNvbnN0IGlzQ3VycmVudE1vbnRoID0gaXNTYW1lTW9udGgoY3VycmVudCwgZGF0ZSk7XG4gICAgY29uc3QgaXNCZWZvcmVNaW4gPSBtaW5EYXRlXG4gICAgICA/IGlzQmVmb3JlKHBhcnNlU3RyaW5nRGF0ZShjdXJyZW50KSwgcGFyc2VTdHJpbmdEYXRlKG1pbkRhdGUpKVxuICAgICAgOiBmYWxzZTtcbiAgICBpZiAoaXNCZWZvcmVNaW4pIHtcbiAgICAgIGJsb2NrUHJldiA9IHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGlzQWZ0ZXJNYXggPSBtYXhEYXRlXG4gICAgICA/IGlzQWZ0ZXIocGFyc2VTdHJpbmdEYXRlKGN1cnJlbnQpLCBwYXJzZVN0cmluZ0RhdGUobWF4RGF0ZSkpXG4gICAgICA6IGZhbHNlO1xuICAgIGlmIChpc0FmdGVyTWF4KSB7XG4gICAgICBibG9ja05leHQgPSB0cnVlO1xuICAgIH1cblxuICAgIGRheXMucHVzaCh7XG4gICAgICBkYXRlOiBpc0N1cnJlbnRNb250aCA/IGN1cnJlbnQgOiBudWxsLFxuICAgICAgaXNEaXNhYmxlZDogIWlzQ3VycmVudE1vbnRoIHx8IGlzQmVmb3JlTWluIHx8IGlzQWZ0ZXJNYXgsXG4gICAgICBpc1RvZGF5OiBpc1RvZGF5KGN1cnJlbnQpXG4gICAgfSk7XG4gICAgY3VycmVudCA9IGFkZERheXMoY3VycmVudCwgMSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJsb2NrUHJldixcbiAgICBibG9ja05leHQsXG4gICAgZGF5c1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bUtleXMoZW51bU9iajogYW55KTogYW55W10ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZW51bU9iailcbiAgICAuZmlsdGVyKChba2V5XSkgPT4ge1xuICAgICAgcmV0dXJuIE51bWJlci5pc05hTihOdW1iZXIoa2V5KSk7XG4gICAgfSlcbiAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIHJldHVybiB7IGtleSwgdmFsdWUgfTtcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { booleanAttribute, Component, HostBinding, inject, Input, input, ViewEncapsulation } from '@angular/core';
|
|
7
|
+
import { IdGenerator } from '../../../utils';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class MonkeyDividerComponent {
|
|
10
|
+
get classes() {
|
|
11
|
+
return `${this.size()} ${this.vertical() ? 'vertical' : ''}`;
|
|
12
|
+
}
|
|
13
|
+
get id() {
|
|
14
|
+
return this._id;
|
|
15
|
+
}
|
|
16
|
+
set id(value) {
|
|
17
|
+
this._id = value || this._uid;
|
|
18
|
+
}
|
|
19
|
+
constructor() {
|
|
20
|
+
this.size = input('sm');
|
|
21
|
+
this.vertical = input(false, {
|
|
22
|
+
transform: booleanAttribute
|
|
23
|
+
});
|
|
24
|
+
this._uid = inject(IdGenerator).getId('monkey-divider-');
|
|
25
|
+
// eslint-disable-next-line no-self-assign
|
|
26
|
+
this.id = this.id;
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: MonkeyDividerComponent, isStandalone: true, selector: "monkey-divider", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, host: { attributes: { "data-testid": "monkey-divider" }, properties: { "attr.id": "id", "id": "id", "class": "this.classes" } }, ngImport: i0, template: '', isInline: true, styles: ["monkey-divider{display:flex;box-sizing:border-box;width:100%;background-color:var(--mecx-color-gray-200)}monkey-divider.lg{height:4px}monkey-divider.lg.vertical{width:4px!important}monkey-divider.md{height:2px}monkey-divider.md.vertical{width:2px!important}monkey-divider.sm{height:1px}monkey-divider.sm.vertical{width:1px!important}monkey-divider.vertical{height:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyDividerComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ encapsulation: ViewEncapsulation.None, selector: 'monkey-divider', standalone: true, template: '', host: {
|
|
34
|
+
'data-testid': 'monkey-divider',
|
|
35
|
+
'[attr.id]': 'id',
|
|
36
|
+
'[id]': 'id'
|
|
37
|
+
}, styles: ["monkey-divider{display:flex;box-sizing:border-box;width:100%;background-color:var(--mecx-color-gray-200)}monkey-divider.lg{height:4px}monkey-divider.lg.vertical{width:4px!important}monkey-divider.md{height:2px}monkey-divider.md.vertical{width:2px!important}monkey-divider.sm{height:1px}monkey-divider.sm.vertical{width:1px!important}monkey-divider.vertical{height:100%}\n"] }]
|
|
38
|
+
}], ctorParameters: () => [], propDecorators: { classes: [{
|
|
39
|
+
type: HostBinding,
|
|
40
|
+
args: ['class']
|
|
41
|
+
}], id: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}] } });
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWU3QyxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLElBQ0ksT0FBTztRQUNULE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFNRCxJQUNJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQ7UUF4QkEsU0FBSSxHQUE0QixLQUFLLENBQWEsSUFBSSxDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUErQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2xFLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsQ0FBQyxDQUFDO1FBT08sU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQWM1RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3BCLENBQUM7K0dBNUJVLHNCQUFzQjttR0FBdEIsc0JBQXNCLDZqQkFQdkIsRUFBRTs7NEZBT0Qsc0JBQXNCO2tCQVpsQyxTQUFTO29DQUNPLGlCQUFpQixDQUFDLElBQUksWUFDM0IsZ0JBQWdCLGNBQ2QsSUFBSSxZQUVOLEVBQUUsUUFDTjt3QkFDSixhQUFhLEVBQUUsZ0JBQWdCO3dCQUMvQixXQUFXLEVBQUUsSUFBSTt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7d0RBVUcsT0FBTztzQkFEVixXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLEVBQUU7c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5pbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBpbnB1dCxcbiAgSW5wdXRTaWduYWwsXG4gIElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybSxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleVNpemUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnbW9ua2V5LWRpdmlkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzdHlsZVVybDogJy4vZGl2aWRlci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdtb25rZXktZGl2aWRlcicsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1tpZF0nOiAnaWQnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RGl2aWRlckNvbXBvbmVudCB7XG4gIHNpemU6IElucHV0U2lnbmFsPE1vbmtleVNpemU+ID0gaW5wdXQ8TW9ua2V5U2l6ZT4oJ3NtJyk7XG5cbiAgdmVydGljYWw6IElucHV0U2lnbmFsV2l0aFRyYW5zZm9ybTxib29sZWFuLCB1bmtub3duPiA9IGlucHV0KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlXG4gIH0pO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnNpemUoKX0gJHt0aGlzLnZlcnRpY2FsKCkgPyAndmVydGljYWwnIDogJyd9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdWlkID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LWRpdmlkZXItJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWUgfHwgdGhpcy5fdWlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgdGhpcy5pZCA9IHRoaXMuaWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
export * from './divider.component';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2RpdmlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cbiAqIE1JVCBMaWNlbmNlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuZXhwb3J0ICogZnJvbSAnLi9kaXZpZGVyLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { Directive } from '@angular/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class MonkeyFormFieldControl {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MonkeyFormFieldControl, ngImport: i0 }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldControl, decorators: [{
|
|
13
|
+
type: Directive
|
|
14
|
+
}] });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LXN0eWxlLWd1aWRlLXYyL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLMUMsTUFBTSxPQUFnQixzQkFBc0I7K0dBQXRCLHNCQUFzQjttR0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB7XG4gIHJlYWRvbmx5IGlkITogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG5nQ29udHJvbCE6IE5nQ29udHJvbCB8IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB8IG51bGw7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQhOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IGZvY3VzZWQhOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyE6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgcmVhZG9ubHkgdHlwZSE6IHN0cmluZztcblxuICByZWFkb25seSBjdXJyZW5jeSE6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgcGVyY2VudCE6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3Qgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQ7XG5cbiAgbG9hZGluZz86IGJvb2xlYW47XG5cbiAgZGlzYWJsZVRvQmVEaXJ0eT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { booleanAttribute, ChangeDetectorRef, Component, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DestroyRef, ElementRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
7
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
8
|
+
import { merge } from 'rxjs';
|
|
9
|
+
import { IdGenerator } from '../../../utils';
|
|
10
|
+
import { MonkeyError, MonkeyHelper, MonkeyInfo, MonkeyLabel, MonkeyPrefix, MonkeySuffix } from '../../directives';
|
|
11
|
+
import { MonkeyIconsService } from '../../services';
|
|
12
|
+
import { MonkeyFormFieldControl } from './form-field-control';
|
|
13
|
+
import { getCurrencySymbol } from './utils';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
export class MonkeyFormFieldComponent {
|
|
16
|
+
get id() {
|
|
17
|
+
return this._id;
|
|
18
|
+
}
|
|
19
|
+
set id(value) {
|
|
20
|
+
this._id = value || this._uid;
|
|
21
|
+
}
|
|
22
|
+
get control() {
|
|
23
|
+
return this._formFieldControl;
|
|
24
|
+
}
|
|
25
|
+
get labelId() {
|
|
26
|
+
return this._labelId;
|
|
27
|
+
}
|
|
28
|
+
get hideBorder() {
|
|
29
|
+
return this.control.type === 'input-code';
|
|
30
|
+
}
|
|
31
|
+
get showHeader() {
|
|
32
|
+
return this.hasLabel || this.hasHelper;
|
|
33
|
+
}
|
|
34
|
+
get showFooter() {
|
|
35
|
+
return this.hasInfo || this.hasError;
|
|
36
|
+
}
|
|
37
|
+
get showInvalid() {
|
|
38
|
+
if (this.showLoading) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
const touched = this.control.ngControl?.touched || false;
|
|
42
|
+
const invalid = this.control.ngControl?.invalid || false;
|
|
43
|
+
return (this.hasError && !this._isFocused && touched && invalid && !this.control.disableToBeDirty);
|
|
44
|
+
}
|
|
45
|
+
get showClear() {
|
|
46
|
+
return (!!this.control.ngControl?.control?.value &&
|
|
47
|
+
!this.control.disabled &&
|
|
48
|
+
!this.control.loading &&
|
|
49
|
+
(!this.hideAction || this.enableClear));
|
|
50
|
+
}
|
|
51
|
+
get showCalendar() {
|
|
52
|
+
return this.control.type === 'date' && !this.hideAction;
|
|
53
|
+
}
|
|
54
|
+
get showCurrency() {
|
|
55
|
+
return this.control.currency;
|
|
56
|
+
}
|
|
57
|
+
get showPercent() {
|
|
58
|
+
return this.control.percent;
|
|
59
|
+
}
|
|
60
|
+
get showLoading() {
|
|
61
|
+
return this.control.loading || false;
|
|
62
|
+
}
|
|
63
|
+
constructor() {
|
|
64
|
+
this.size = 'md';
|
|
65
|
+
this.elementRef = inject(ElementRef);
|
|
66
|
+
this._icons = inject(MonkeyIconsService);
|
|
67
|
+
this._changeDetectorRef = inject(ChangeDetectorRef);
|
|
68
|
+
this._idGenerator = inject(IdGenerator);
|
|
69
|
+
this._labelId = this._idGenerator.getId('monkey-label-');
|
|
70
|
+
this._uid = inject(IdGenerator).getId('monkey-form-field-');
|
|
71
|
+
this._destroyRef = inject(DestroyRef);
|
|
72
|
+
this._isFocused = null;
|
|
73
|
+
this._previousControl = null;
|
|
74
|
+
this.currencySymbol = getCurrencySymbol(inject(DEFAULT_CURRENCY_CODE));
|
|
75
|
+
this.percentSymbol = '%';
|
|
76
|
+
this.imgClear = this._icons.clear;
|
|
77
|
+
this.imgCalendar = this._icons.calendar;
|
|
78
|
+
this.imgLoading = this._icons.loading;
|
|
79
|
+
this.hasLabel = false;
|
|
80
|
+
this.hasHelper = false;
|
|
81
|
+
this.hasPrefix = false;
|
|
82
|
+
this.hasSuffix = false;
|
|
83
|
+
this.hasInfo = false;
|
|
84
|
+
this.hasError = false;
|
|
85
|
+
// eslint-disable-next-line no-self-assign
|
|
86
|
+
this.id = this.id;
|
|
87
|
+
}
|
|
88
|
+
updateFocusState() {
|
|
89
|
+
if (this.control.focused && !this._isFocused) {
|
|
90
|
+
this._isFocused = true;
|
|
91
|
+
}
|
|
92
|
+
else if (!this.control.focused && (this._isFocused || this._isFocused === null)) {
|
|
93
|
+
this._isFocused = false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
handleFormFieldControl() {
|
|
97
|
+
if (!this.control) {
|
|
98
|
+
throw Error('monkey-form-field must have a MonkeyFormFieldControl');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
checkPrefixAndSuffix() {
|
|
102
|
+
this.hasPrefix = !!this._prefixChildren?.length;
|
|
103
|
+
this.hasSuffix = !!this._suffixChildren?.length;
|
|
104
|
+
const suffix = this._suffixChildren.get(0);
|
|
105
|
+
if (suffix) {
|
|
106
|
+
suffix.action = (event) => {
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
event.stopPropagation();
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
initializePrefixAndSuffix() {
|
|
113
|
+
this.checkPrefixAndSuffix();
|
|
114
|
+
merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {
|
|
115
|
+
this.checkPrefixAndSuffix();
|
|
116
|
+
this._changeDetectorRef.markForCheck();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
checkInfoError() {
|
|
120
|
+
this.hasInfo = !!this._infoChildren?.length;
|
|
121
|
+
this.hasError = !!this._errorChildren?.length;
|
|
122
|
+
}
|
|
123
|
+
initializeInfoError() {
|
|
124
|
+
this.checkInfoError();
|
|
125
|
+
merge(this._infoChildren.changes, this._errorChildren.changes).subscribe(() => {
|
|
126
|
+
this.checkInfoError();
|
|
127
|
+
this._changeDetectorRef.markForCheck();
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
initializeComponents() {
|
|
131
|
+
this.hasLabel = !!this._labelChildren?.length;
|
|
132
|
+
this.hasHelper = !!this._helperChildren?.length;
|
|
133
|
+
this.initializePrefixAndSuffix();
|
|
134
|
+
this.initializeInfoError();
|
|
135
|
+
}
|
|
136
|
+
initializeControl() {
|
|
137
|
+
const { control } = this;
|
|
138
|
+
this._stateChanges?.unsubscribe();
|
|
139
|
+
this._stateChanges = control.stateChanges.subscribe(() => {
|
|
140
|
+
this.updateFocusState();
|
|
141
|
+
this._changeDetectorRef.markForCheck();
|
|
142
|
+
});
|
|
143
|
+
this._valueChanges?.unsubscribe();
|
|
144
|
+
if (control.ngControl && control.ngControl.valueChanges) {
|
|
145
|
+
this._valueChanges = control.ngControl.valueChanges
|
|
146
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
147
|
+
.subscribe(() => {
|
|
148
|
+
this._changeDetectorRef.markForCheck();
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
openDatePicker() {
|
|
153
|
+
const input = document.getElementById(this.control.id);
|
|
154
|
+
if (input.showPicker) {
|
|
155
|
+
input.showPicker();
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
input.focus();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
ngAfterContentInit() {
|
|
162
|
+
this.handleFormFieldControl();
|
|
163
|
+
this.initializeComponents();
|
|
164
|
+
}
|
|
165
|
+
ngAfterContentChecked() {
|
|
166
|
+
this.handleFormFieldControl();
|
|
167
|
+
if (this.control !== this._previousControl) {
|
|
168
|
+
this.initializeControl();
|
|
169
|
+
this._previousControl = this.control;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
ngOnDestroy() {
|
|
173
|
+
this._stateChanges?.unsubscribe();
|
|
174
|
+
this._valueChanges?.unsubscribe();
|
|
175
|
+
}
|
|
176
|
+
getFooterMessages() {
|
|
177
|
+
const touched = this.control.ngControl?.touched;
|
|
178
|
+
const invalid = this.control.ngControl?.invalid;
|
|
179
|
+
const isFocused = this._isFocused;
|
|
180
|
+
const hasInfoChildren = this._infoChildren && this._infoChildren.length > 0;
|
|
181
|
+
const isControlEnabled = !this.control.disabled;
|
|
182
|
+
const isControlDisableToBeDirty = !this.control.disableToBeDirty;
|
|
183
|
+
const isTouched = touched;
|
|
184
|
+
const isInvalid = invalid;
|
|
185
|
+
const isNotFocused = !isFocused;
|
|
186
|
+
if (!this.showLoading &&
|
|
187
|
+
isControlEnabled &&
|
|
188
|
+
isTouched &&
|
|
189
|
+
isInvalid &&
|
|
190
|
+
isNotFocused &&
|
|
191
|
+
isControlDisableToBeDirty) {
|
|
192
|
+
return 'error';
|
|
193
|
+
}
|
|
194
|
+
if (hasInfoChildren) {
|
|
195
|
+
return 'info';
|
|
196
|
+
}
|
|
197
|
+
return '';
|
|
198
|
+
}
|
|
199
|
+
getSymbols() {
|
|
200
|
+
if (this.showCurrency && this.currencySymbol) {
|
|
201
|
+
return this.currencySymbol;
|
|
202
|
+
}
|
|
203
|
+
if (this.showPercent && this.percentSymbol) {
|
|
204
|
+
return this.percentSymbol;
|
|
205
|
+
}
|
|
206
|
+
return '';
|
|
207
|
+
}
|
|
208
|
+
onClear(event) {
|
|
209
|
+
event.preventDefault();
|
|
210
|
+
event.stopPropagation();
|
|
211
|
+
this.control.ngControl?.control?.setValue('');
|
|
212
|
+
this.control.ngControl?.control?.markAsTouched();
|
|
213
|
+
}
|
|
214
|
+
onOpenCalendar(event) {
|
|
215
|
+
event.preventDefault();
|
|
216
|
+
event.stopPropagation();
|
|
217
|
+
if (this.control.type === 'date') {
|
|
218
|
+
this.openDatePicker();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
222
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MonkeyFormFieldComponent, selector: "monkey-form-field", inputs: { id: "id", hideAction: ["hideAction", "hideAction", booleanAttribute], enableClear: ["enableClear", "enableClear", booleanAttribute], size: "size" }, host: { properties: { "class.mecx-disabled": "control.disabled", "class.mecx-form-field-focused": "control.focused", "class.mecx-form-field-invalid": "showInvalid", "class.mecx-form-field-borderless": "hideBorder", "attr.id": "id", "id": "id", "class": "size" }, classAttribute: "mecx-form-field" }, queries: [{ propertyName: "_formFieldControl", first: true, predicate: MonkeyFormFieldControl, descendants: true }, { propertyName: "_labelChildren", predicate: MonkeyLabel, descendants: true }, { propertyName: "_helperChildren", predicate: MonkeyHelper, descendants: true }, { propertyName: "_prefixChildren", predicate: MonkeyPrefix, descendants: true }, { propertyName: "_suffixChildren", predicate: MonkeySuffix, descendants: true }, { propertyName: "_infoChildren", predicate: MonkeyInfo, descendants: true }, { propertyName: "_errorChildren", predicate: MonkeyError, descendants: true }], exportAs: ["monkeyFormField"], ngImport: i0, template: "@if (showHeader) {\n <div class=\"mecx-form-field-header\" (click)=\"control.onContainerClick($event)\">\n <label [id]=\"labelId\" [attr.for]=\"control.id\">\n <ng-content select=\"monkey-label\"></ng-content>\n </label>\n <ng-content select=\"monkey-helper\"></ng-content>\n </div>\n}\n\n<div class=\"mecx-form-field-body\" (click)=\"control.onContainerClick($event)\">\n @if (hasPrefix) {\n <ng-content select=\"monkey-prefix\"></ng-content>\n }\n @if (getSymbols(); as symbols) {\n <div class=\"mecx-form-field-prefix-symbol\">\n {{ symbols }}\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (showClear) {\n <div [innerHTML]=\"imgClear\" class=\"mecx-clear\" (click)=\"onClear($event)\"></div>\n }\n @if (showCalendar) {\n <div [innerHTML]=\"imgCalendar\" class=\"mecx-calendar\" (click)=\"onOpenCalendar($event)\"></div>\n }\n @if (showLoading) {\n <div [innerHTML]=\"imgLoading\" class=\"mecx-form-field-loading\"></div>\n }\n\n @if (hasSuffix) {\n <ng-content select=\"monkey-suffix\"></ng-content>\n }\n</div>\n\n@if (showFooter) {\n <div class=\"mecx-form-field-footer\" (click)=\"control.onContainerClick($event)\">\n @switch (getFooterMessages()) {\n @case ('error') {\n <ng-content select=\"monkey-error\"></ng-content>\n }\n @case ('info') {\n <div class=\"mecx-form-field-info\">\n <ng-content select=\"monkey-info\"></ng-content>\n </div>\n }\n }\n </div>\n}\n", styles: [".mecx-form-field{width:100%;display:inline-flex;flex-direction:column;min-width:0;text-align:left;gap:6px}.mecx-disabled .mecx-form-field{cursor:not-allowed;pointer-events:none}.mecx-form-field-header{display:flex;justify-content:space-between;align-items:center}.mecx-disabled .mecx-form-field-header label{pointer-events:none}.mecx-form-field-body{border-radius:4px;border:2px solid var(--mecx-color-gray-400);padding:8px;gap:4px;background:var(--mecx-color-white);color:var(--mecx-color-gray-500);box-sizing:border-box;height:40px;display:flex;align-items:center;position:relative}.mecx-form-field-invalid .mecx-form-field-body{border:2px solid var(--mecx-color-error-700)}.mecx-form-field-focused .mecx-form-field-body{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}.mecx-disabled .mecx-form-field-body{border-color:var(--mecx-color-gray-50);background:var(--mecx-color-gray-50);border-radius:8px}.mecx-form-field-body .mecx-clear,.mecx-form-field-body .mecx-calendar{display:flex;align-items:center;justify-content:center;cursor:pointer}.mecx-form-field-body .mecx-calendar svg path{fill:var(--mecx-color-theme-main)}.sm .mecx-form-field-body{height:32px}.md .mecx-form-field-body{height:40px}.lg .mecx-form-field-body{height:48px}.mecx-form-field-footer{display:flex;flex-direction:column}.mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-700);font-size:16px;font-weight:400;font-style:normal;width:22px;text-align:center}.mecx-form-field-prefix-symbol .mk-i{display:flex}.mecx-disabled .mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-400)!important;pointer-events:none}.mecx-form-field-loading{display:flex}.mecx-form-field-loading svg path{fill:var(--mecx-color-theme-main)}.mecx-form-field-borderless .mecx-form-field-body{background-color:transparent;border:0;border-radius:0;padding:0}.mecx-form-field-borderless.mecx-form-field-focused .mecx-form-field-body{outline:none;outline-offset:unset}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
223
|
+
}
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldComponent, decorators: [{
|
|
225
|
+
type: Component,
|
|
226
|
+
args: [{ encapsulation: ViewEncapsulation.None, selector: 'monkey-form-field', exportAs: 'monkeyFormField', host: {
|
|
227
|
+
class: 'mecx-form-field',
|
|
228
|
+
'[class.mecx-disabled]': 'control.disabled',
|
|
229
|
+
'[class.mecx-form-field-focused]': 'control.focused',
|
|
230
|
+
'[class.mecx-form-field-invalid]': 'showInvalid',
|
|
231
|
+
'[class.mecx-form-field-borderless]': 'hideBorder',
|
|
232
|
+
'[attr.id]': 'id',
|
|
233
|
+
'[id]': 'id',
|
|
234
|
+
'[class]': 'size'
|
|
235
|
+
}, template: "@if (showHeader) {\n <div class=\"mecx-form-field-header\" (click)=\"control.onContainerClick($event)\">\n <label [id]=\"labelId\" [attr.for]=\"control.id\">\n <ng-content select=\"monkey-label\"></ng-content>\n </label>\n <ng-content select=\"monkey-helper\"></ng-content>\n </div>\n}\n\n<div class=\"mecx-form-field-body\" (click)=\"control.onContainerClick($event)\">\n @if (hasPrefix) {\n <ng-content select=\"monkey-prefix\"></ng-content>\n }\n @if (getSymbols(); as symbols) {\n <div class=\"mecx-form-field-prefix-symbol\">\n {{ symbols }}\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (showClear) {\n <div [innerHTML]=\"imgClear\" class=\"mecx-clear\" (click)=\"onClear($event)\"></div>\n }\n @if (showCalendar) {\n <div [innerHTML]=\"imgCalendar\" class=\"mecx-calendar\" (click)=\"onOpenCalendar($event)\"></div>\n }\n @if (showLoading) {\n <div [innerHTML]=\"imgLoading\" class=\"mecx-form-field-loading\"></div>\n }\n\n @if (hasSuffix) {\n <ng-content select=\"monkey-suffix\"></ng-content>\n }\n</div>\n\n@if (showFooter) {\n <div class=\"mecx-form-field-footer\" (click)=\"control.onContainerClick($event)\">\n @switch (getFooterMessages()) {\n @case ('error') {\n <ng-content select=\"monkey-error\"></ng-content>\n }\n @case ('info') {\n <div class=\"mecx-form-field-info\">\n <ng-content select=\"monkey-info\"></ng-content>\n </div>\n }\n }\n </div>\n}\n", styles: [".mecx-form-field{width:100%;display:inline-flex;flex-direction:column;min-width:0;text-align:left;gap:6px}.mecx-disabled .mecx-form-field{cursor:not-allowed;pointer-events:none}.mecx-form-field-header{display:flex;justify-content:space-between;align-items:center}.mecx-disabled .mecx-form-field-header label{pointer-events:none}.mecx-form-field-body{border-radius:4px;border:2px solid var(--mecx-color-gray-400);padding:8px;gap:4px;background:var(--mecx-color-white);color:var(--mecx-color-gray-500);box-sizing:border-box;height:40px;display:flex;align-items:center;position:relative}.mecx-form-field-invalid .mecx-form-field-body{border:2px solid var(--mecx-color-error-700)}.mecx-form-field-focused .mecx-form-field-body{outline:2px solid var(--mecx-color-theme-main);outline-offset:1px}.mecx-disabled .mecx-form-field-body{border-color:var(--mecx-color-gray-50);background:var(--mecx-color-gray-50);border-radius:8px}.mecx-form-field-body .mecx-clear,.mecx-form-field-body .mecx-calendar{display:flex;align-items:center;justify-content:center;cursor:pointer}.mecx-form-field-body .mecx-calendar svg path{fill:var(--mecx-color-theme-main)}.sm .mecx-form-field-body{height:32px}.md .mecx-form-field-body{height:40px}.lg .mecx-form-field-body{height:48px}.mecx-form-field-footer{display:flex;flex-direction:column}.mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-700);font-size:16px;font-weight:400;font-style:normal;width:22px;text-align:center}.mecx-form-field-prefix-symbol .mk-i{display:flex}.mecx-disabled .mecx-form-field-prefix-symbol{color:var(--mecx-color-gray-400)!important;pointer-events:none}.mecx-form-field-loading{display:flex}.mecx-form-field-loading svg path{fill:var(--mecx-color-theme-main)}.mecx-form-field-borderless .mecx-form-field-body{background-color:transparent;border:0;border-radius:0;padding:0}.mecx-form-field-borderless.mecx-form-field-focused .mecx-form-field-body{outline:none;outline-offset:unset}\n"] }]
|
|
236
|
+
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], hideAction: [{
|
|
239
|
+
type: Input,
|
|
240
|
+
args: [{ transform: booleanAttribute }]
|
|
241
|
+
}], enableClear: [{
|
|
242
|
+
type: Input,
|
|
243
|
+
args: [{ transform: booleanAttribute }]
|
|
244
|
+
}], size: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], _formFieldControl: [{
|
|
247
|
+
type: ContentChild,
|
|
248
|
+
args: [MonkeyFormFieldControl]
|
|
249
|
+
}], _labelChildren: [{
|
|
250
|
+
type: ContentChildren,
|
|
251
|
+
args: [MonkeyLabel, { descendants: true }]
|
|
252
|
+
}], _helperChildren: [{
|
|
253
|
+
type: ContentChildren,
|
|
254
|
+
args: [MonkeyHelper, { descendants: true }]
|
|
255
|
+
}], _prefixChildren: [{
|
|
256
|
+
type: ContentChildren,
|
|
257
|
+
args: [MonkeyPrefix, { descendants: true }]
|
|
258
|
+
}], _suffixChildren: [{
|
|
259
|
+
type: ContentChildren,
|
|
260
|
+
args: [MonkeySuffix, { descendants: true }]
|
|
261
|
+
}], _infoChildren: [{
|
|
262
|
+
type: ContentChildren,
|
|
263
|
+
args: [MonkeyInfo, { descendants: true }]
|
|
264
|
+
}], _errorChildren: [{
|
|
265
|
+
type: ContentChildren,
|
|
266
|
+
args: [MonkeyError, { descendants: true }]
|
|
267
|
+
}] } });
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs2QkFJNkI7QUFDN0IsT0FBTyxFQUdMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFlBQVksRUFDYixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFtQjVDLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsSUFDSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxD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LGVBQWU7c0JBRHRCLGVBQWU7dUJBQUMsWUFBWSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJNUMsZUFBZTtzQkFEdEIsZUFBZTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk1QyxhQUFhO3NCQURwQixlQUFlO3VCQUFDLFVBQVUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSTFDLGNBQWM7c0JBRHJCLGVBQWU7dUJBQUMsV0FBVyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgREVGQVVMVF9DVVJSRU5DWV9DT0RFLFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge1xuICBNb25rZXlFcnJvcixcbiAgTW9ua2V5SGVscGVyLFxuICBNb25rZXlJbmZvLFxuICBNb25rZXlMYWJlbCxcbiAgTW9ua2V5UHJlZml4LFxuICBNb25rZXlTdWZmaXhcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNb25rZXlTaXplIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlJY29uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNb25rZXlGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnLi9mb3JtLWZpZWxkLWNvbnRyb2wnO1xuaW1wb3J0IHsgZ2V0Q3VycmVuY3lTeW1ib2wgfSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnbW9ua2V5LWZvcm0tZmllbGQnLFxuICBleHBvcnRBczogJ21vbmtleUZvcm1GaWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtZWN4LWZvcm0tZmllbGQnLFxuICAgICdbY2xhc3MubWVjeC1kaXNhYmxlZF0nOiAnY29udHJvbC5kaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5tZWN4LWZvcm0tZmllbGQtZm9jdXNlZF0nOiAnY29udHJvbC5mb2N1c2VkJyxcbiAgICAnW2NsYXNzLm1lY3gtZm9ybS1maWVsZC1pbnZhbGlkXSc6ICdzaG93SW52YWxpZCcsXG4gICAgJ1tjbGFzcy5tZWN4LWZvcm0tZmllbGQtYm9yZGVybGVzc10nOiAnaGlkZUJvcmRlcicsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgJ1tpZF0nOiAnaWQnLFxuICAgICdbY2xhc3NdJzogJ3NpemUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5Rm9ybUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlIHx8IHRoaXMuX3VpZDtcbiAgfVxuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBoaWRlQWN0aW9uITogYm9vbGVhbjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZW5hYmxlQ2xlYXIhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHNpemU6IE1vbmtleVNpemUgPSAnbWQnO1xuXG4gIEBDb250ZW50Q2hpbGQoTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCkgcHJpdmF0ZSBfZm9ybUZpZWxkQ29udHJvbCE6IE1vbmtleUZvcm1GaWVsZENvbnRyb2w7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNb25rZXlMYWJlbCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9sYWJlbENoaWxkcmVuITogUXVlcnlMaXN0PE1vbmtleUxhYmVsPjtcblxuICBAQ29udGVudENoaWxkcmVuKE1vbmtleUhlbHBlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF9oZWxwZXJDaGlsZHJlbiE6IFF1ZXJ5TGlzdDxNb25rZXlIZWxwZXI+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9ua2V5UHJlZml4LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgX3ByZWZpeENoaWxkcmVuITogUXVlcnlMaXN0PE1vbmtleVByZWZpeD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNb25rZXlTdWZmaXgsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfc3VmZml4Q2hpbGRyZW4hOiBRdWVyeUxpc3Q8TW9ua2V5U3VmZml4PjtcblxuICBAQ29udGVudENoaWxkcmVuKE1vbmtleUluZm8sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfaW5mb0NoaWxkcmVuITogUXVlcnlMaXN0PE1vbmtleUluZm8+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTW9ua2V5RXJyb3IsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZXJyb3JDaGlsZHJlbiE6IFF1ZXJ5TGlzdDxNb25rZXlFcnJvcj47XG5cbiAgcHVibGljIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaWNvbnMgPSBpbmplY3QoTW9ua2V5SWNvbnNTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaWRHZW5lcmF0b3IgPSBpbmplY3QoSWRHZW5lcmF0b3IpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xhYmVsSWQgPSB0aGlzLl9pZEdlbmVyYXRvci5nZXRJZCgnbW9ua2V5LWxhYmVsLScpO1xuXG4gIHByb3RlY3RlZCBfdWlkID0gaW5qZWN0KElkR2VuZXJhdG9yKS5nZXRJZCgnbW9ua2V5LWZvcm0tZmllbGQtJyk7XG5cbiAgcHJvdGVjdGVkIF9pZCE6IHN0cmluZztcblxuICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByaXZhdGUgX2lzRm9jdXNlZDogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzQ29udHJvbDogTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3N0YXRlQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5IGN1cnJlbmN5U3ltYm9sID0gZ2V0Q3VycmVuY3lTeW1ib2woaW5qZWN0KERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSkpO1xuXG4gIHJlYWRvbmx5IHBlcmNlbnRTeW1ib2wgPSAnJSc7XG5cbiAgaW1nQ2xlYXI6IFNhZmVIdG1sIHwgbnVsbCA9IHRoaXMuX2ljb25zLmNsZWFyO1xuXG4gIGltZ0NhbGVuZGFyOiBTYWZlSHRtbCB8IG51bGwgPSB0aGlzLl9pY29ucy5jYWxlbmRhcjtcblxuICBpbWdMb2FkaW5nOiBTYWZlSHRtbCB8IG51bGwgPSB0aGlzLl9pY29ucy5sb2FkaW5nO1xuXG4gIGhhc0xhYmVsID0gZmFsc2U7XG5cbiAgaGFzSGVscGVyID0gZmFsc2U7XG5cbiAgaGFzUHJlZml4ID0gZmFsc2U7XG5cbiAgaGFzU3VmZml4ID0gZmFsc2U7XG5cbiAgaGFzSW5mbyA9IGZhbHNlO1xuXG4gIGhhc0Vycm9yID0gZmFsc2U7XG5cbiAgZ2V0IGNvbnRyb2woKTogTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZENvbnRyb2w7XG4gIH1cblxuICBnZXQgbGFiZWxJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sYWJlbElkO1xuICB9XG5cbiAgZ2V0IGhpZGVCb3JkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC50eXBlID09PSAnaW5wdXQtY29kZSc7XG4gIH1cblxuICBnZXQgc2hvd0hlYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNMYWJlbCB8fCB0aGlzLmhhc0hlbHBlcjtcbiAgfVxuXG4gIGdldCBzaG93Rm9vdGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhc0luZm8gfHwgdGhpcy5oYXNFcnJvcjtcbiAgfVxuXG4gIGdldCBzaG93SW52YWxpZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaG93TG9hZGluZykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB0b3VjaGVkID0gdGhpcy5jb250cm9sLm5nQ29udHJvbD8udG91Y2hlZCB8fCBmYWxzZTtcbiAgICBjb25zdCBpbnZhbGlkID0gdGhpcy5jb250cm9sLm5nQ29udHJvbD8uaW52YWxpZCB8fCBmYWxzZTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5oYXNFcnJvciAmJiAhdGhpcy5faXNGb2N1c2VkICYmIHRvdWNoZWQgJiYgaW52YWxpZCAmJiAhdGhpcy5jb250cm9sLmRpc2FibGVUb0JlRGlydHlcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNob3dDbGVhcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmNvbnRyb2wubmdDb250cm9sPy5jb250cm9sPy52YWx1ZSAmJlxuICAgICAgIXRoaXMuY29udHJvbC5kaXNhYmxlZCAmJlxuICAgICAgIXRoaXMuY29udHJvbC5sb2FkaW5nICYmXG4gICAgICAoIXRoaXMuaGlkZUFjdGlvbiB8fCB0aGlzLmVuYWJsZUNsZWFyKVxuICAgICk7XG4gIH1cblxuICBnZXQgc2hvd0NhbGVuZGFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wudHlwZSA9PT0gJ2RhdGUnICYmICF0aGlzLmhpZGVBY3Rpb247XG4gIH1cblxuICBnZXQgc2hvd0N1cnJlbmN5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuY3VycmVuY3k7XG4gIH1cblxuICBnZXQgc2hvd1BlcmNlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNob3dMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wubG9hZGluZyB8fCBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgIHRoaXMuaWQgPSB0aGlzLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb2N1c1N0YXRlKCkge1xuICAgIGlmICh0aGlzLmNvbnRyb2wuZm9jdXNlZCAmJiAhdGhpcy5faXNGb2N1c2VkKSB7XG4gICAgICB0aGlzLl9pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuY29udHJvbC5mb2N1c2VkICYmICh0aGlzLl9pc0ZvY3VzZWQgfHwgdGhpcy5faXNGb2N1c2VkID09PSBudWxsKSkge1xuICAgICAgdGhpcy5faXNGb2N1c2VkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVGb3JtRmllbGRDb250cm9sKCkge1xuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aHJvdyBFcnJvcignbW9ua2V5LWZvcm0tZmllbGQgbXVzdCBoYXZlIGEgTW9ua2V5Rm9ybUZpZWxkQ29udHJvbCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tQcmVmaXhBbmRTdWZmaXgoKSB7XG4gICAgdGhpcy5oYXNQcmVmaXggPSAhIXRoaXMuX3ByZWZpeENoaWxkcmVuPy5sZW5ndGg7XG4gICAgdGhpcy5oYXNTdWZmaXggPSAhIXRoaXMuX3N1ZmZpeENoaWxkcmVuPy5sZW5ndGg7XG4gICAgY29uc3Qgc3VmZml4ID0gdGhpcy5fc3VmZml4Q2hpbGRyZW4uZ2V0KDApO1xuICAgIGlmIChzdWZmaXgpIHtcbiAgICAgIHN1ZmZpeC5hY3Rpb24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVByZWZpeEFuZFN1ZmZpeCgpIHtcbiAgICB0aGlzLmNoZWNrUHJlZml4QW5kU3VmZml4KCk7XG5cbiAgICBtZXJnZSh0aGlzLl9wcmVmaXhDaGlsZHJlbi5jaGFuZ2VzLCB0aGlzLl9zdWZmaXhDaGlsZHJlbi5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jaGVja1ByZWZpeEFuZFN1ZmZpeCgpO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSW5mb0Vycm9yKCkge1xuICAgIHRoaXMuaGFzSW5mbyA9ICEhdGhpcy5faW5mb0NoaWxkcmVuPy5sZW5ndGg7XG4gICAgdGhpcy5oYXNFcnJvciA9ICEhdGhpcy5fZXJyb3JDaGlsZHJlbj8ubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplSW5mb0Vycm9yKCkge1xuICAgIHRoaXMuY2hlY2tJbmZvRXJyb3IoKTtcblxuICAgIG1lcmdlKHRoaXMuX2luZm9DaGlsZHJlbi5jaGFuZ2VzLCB0aGlzLl9lcnJvckNoaWxkcmVuLmNoYW5nZXMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrSW5mb0Vycm9yKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUNvbXBvbmVudHMoKSB7XG4gICAgdGhpcy5oYXNMYWJlbCA9ICEhdGhpcy5fbGFiZWxDaGlsZHJlbj8ubGVuZ3RoO1xuICAgIHRoaXMuaGFzSGVscGVyID0gISF0aGlzLl9oZWxwZXJDaGlsZHJlbj8ubGVuZ3RoO1xuXG4gICAgdGhpcy5pbml0aWFsaXplUHJlZml4QW5kU3VmZml4KCk7XG4gICAgdGhpcy5pbml0aWFsaXplSW5mb0Vycm9yKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVDb250cm9sKCkge1xuICAgIGNvbnN0IHsgY29udHJvbCB9ID0gdGhpcztcblxuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMgPSBjb250cm9sLnN0YXRlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVGb2N1c1N0YXRlKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcblxuICAgIGlmIChjb250cm9sLm5nQ29udHJvbCAmJiBjb250cm9sLm5nQ29udHJvbC52YWx1ZUNoYW5nZXMpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlcyA9IGNvbnRyb2wubmdDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5EYXRlUGlja2VyKCkge1xuICAgIGNvbnN0IGlucHV0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvbnRyb2wuaWQpO1xuICAgIGlmIChpbnB1dC5zaG93UGlja2VyKSB7XG4gICAgICBpbnB1dC5zaG93UGlja2VyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaGFuZGxlRm9ybUZpZWxkQ29udHJvbCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbXBvbmVudHMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmhhbmRsZUZvcm1GaWVsZENvbnRyb2woKTtcblxuICAgIGlmICh0aGlzLmNvbnRyb2wgIT09IHRoaXMuX3ByZXZpb3VzQ29udHJvbCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplQ29udHJvbCgpO1xuICAgICAgdGhpcy5fcHJldmlvdXNDb250cm9sID0gdGhpcy5jb250cm9sO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZXM/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRGb290ZXJNZXNzYWdlcygpOiAnaW5mbycgfCAnZXJyb3InIHwgJycge1xuICAgIGNvbnN0IHRvdWNoZWQgPSB0aGlzLmNvbnRyb2wubmdDb250cm9sPy50b3VjaGVkO1xuICAgIGNvbnN0IGludmFsaWQgPSB0aGlzLmNvbnRyb2wubmdDb250cm9sPy5pbnZhbGlkO1xuICAgIGNvbnN0IGlzRm9jdXNlZCA9IHRoaXMuX2lzRm9jdXNlZDtcbiAgICBjb25zdCBoYXNJbmZvQ2hpbGRyZW4gPSB0aGlzLl9pbmZvQ2hpbGRyZW4gJiYgdGhpcy5faW5mb0NoaWxkcmVuLmxlbmd0aCA+IDA7XG5cbiAgICBjb25zdCBpc0NvbnRyb2xFbmFibGVkID0gIXRoaXMuY29udHJvbC5kaXNhYmxlZDtcbiAgICBjb25zdCBpc0NvbnRyb2xEaXNhYmxlVG9CZURpcnR5ID0gIXRoaXMuY29udHJvbC5kaXNhYmxlVG9CZURpcnR5O1xuICAgIGNvbnN0IGlzVG91Y2hlZCA9IHRvdWNoZWQ7XG4gICAgY29uc3QgaXNJbnZhbGlkID0gaW52YWxpZDtcbiAgICBjb25zdCBpc05vdEZvY3VzZWQgPSAhaXNGb2N1c2VkO1xuXG4gICAgaWYgKFxuICAgICAgIXRoaXMuc2hvd0xvYWRpbmcgJiZcbiAgICAgIGlzQ29udHJvbEVuYWJsZWQgJiZcbiAgICAgIGlzVG91Y2hlZCAmJlxuICAgICAgaXNJbnZhbGlkICYmXG4gICAgICBpc05vdEZvY3VzZWQgJiZcbiAgICAgIGlzQ29udHJvbERpc2FibGVUb0JlRGlydHlcbiAgICApIHtcbiAgICAgIHJldHVybiAnZXJyb3InO1xuICAgIH1cblxuICAgIGlmIChoYXNJbmZvQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiAnaW5mbyc7XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0U3ltYm9scygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNob3dDdXJyZW5jeSAmJiB0aGlzLmN1cnJlbmN5U3ltYm9sKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW5jeVN5bWJvbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd1BlcmNlbnQgJiYgdGhpcy5wZXJjZW50U3ltYm9sKSB7XG4gICAgICByZXR1cm4gdGhpcy5wZXJjZW50U3ltYm9sO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG9uQ2xlYXIoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY29udHJvbC5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLmNvbnRyb2wubmdDb250cm9sPy5jb250cm9sPy5tYXJrQXNUb3VjaGVkKCk7XG4gIH1cblxuICBvbk9wZW5DYWxlbmRhcihldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuY29udHJvbC50eXBlID09PSAnZGF0ZScpIHtcbiAgICAgIHRoaXMub3BlbkRhdGVQaWNrZXIoKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoc2hvd0hlYWRlcikge1xuICA8ZGl2IGNsYXNzPVwibWVjeC1mb3JtLWZpZWxkLWhlYWRlclwiIChjbGljayk9XCJjb250cm9sLm9uQ29udGFpbmVyQ2xpY2soJGV2ZW50KVwiPlxuICAgIDxsYWJlbCBbaWRdPVwibGFiZWxJZFwiIFthdHRyLmZvcl09XCJjb250cm9sLmlkXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb25rZXktbGFiZWxcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9sYWJlbD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb25rZXktaGVscGVyXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbn1cblxuPGRpdiBjbGFzcz1cIm1lY3gtZm9ybS1maWVsZC1ib2R5XCIgKGNsaWNrKT1cImNvbnRyb2wub25Db250YWluZXJDbGljaygkZXZlbnQpXCI+XG4gIEBpZiAoaGFzUHJlZml4KSB7XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibW9ua2V5LXByZWZpeFwiPjwvbmctY29udGVudD5cbiAgfVxuICBAaWYgKGdldFN5bWJvbHMoKTsgYXMgc3ltYm9scykge1xuICAgIDxkaXYgY2xhc3M9XCJtZWN4LWZvcm0tZmllbGQtcHJlZml4LXN5bWJvbFwiPlxuICAgICAge3sgc3ltYm9scyB9fVxuICAgIDwvZGl2PlxuICB9XG5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG4gIEBpZiAoc2hvd0NsZWFyKSB7XG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cImltZ0NsZWFyXCIgY2xhc3M9XCJtZWN4LWNsZWFyXCIgKGNsaWNrKT1cIm9uQ2xlYXIoJGV2ZW50KVwiPjwvZGl2PlxuICB9XG4gIEBpZiAoc2hvd0NhbGVuZGFyKSB7XG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cImltZ0NhbGVuZGFyXCIgY2xhc3M9XCJtZWN4LWNhbGVuZGFyXCIgKGNsaWNrKT1cIm9uT3BlbkNhbGVuZGFyKCRldmVudClcIj48L2Rpdj5cbiAgfVxuICBAaWYgKHNob3dMb2FkaW5nKSB7XG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cImltZ0xvYWRpbmdcIiBjbGFzcz1cIm1lY3gtZm9ybS1maWVsZC1sb2FkaW5nXCI+PC9kaXY+XG4gIH1cblxuICBAaWYgKGhhc1N1ZmZpeCkge1xuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vbmtleS1zdWZmaXhcIj48L25nLWNvbnRlbnQ+XG4gIH1cbjwvZGl2PlxuXG5AaWYgKHNob3dGb290ZXIpIHtcbiAgPGRpdiBjbGFzcz1cIm1lY3gtZm9ybS1maWVsZC1mb290ZXJcIiAoY2xpY2spPVwiY29udHJvbC5vbkNvbnRhaW5lckNsaWNrKCRldmVudClcIj5cbiAgICBAc3dpdGNoIChnZXRGb290ZXJNZXNzYWdlcygpKSB7XG4gICAgICBAY2FzZSAoJ2Vycm9yJykge1xuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJtb25rZXktZXJyb3JcIj48L25nLWNvbnRlbnQ+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ2luZm8nKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZWN4LWZvcm0tZmllbGQtaW5mb1wiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1vbmtleS1pbmZvXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
import { NgModule } from '@angular/core';
|
|
7
|
+
import { MonkeyFormFieldComponent } from './form-field.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class MonkeyFormFieldModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, declarations: [MonkeyFormFieldComponent], exports: [MonkeyFormFieldComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MonkeyFormFieldModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [MonkeyFormFieldComponent],
|
|
18
|
+
exports: [MonkeyFormFieldComponent]
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBTWxFLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQUhqQix3QkFBd0IsYUFDN0Isd0JBQXdCO2dIQUV2QixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiAqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxuICogTUlUIExpY2VuY2VcbiAqKioqKioqKioqKioqKioqKioqKioqKioqICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5Rm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01vbmtleUZvcm1GaWVsZENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtNb25rZXlGb3JtRmllbGRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUZvcm1GaWVsZE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
export * from './form-field-control';
|
|
7
|
+
export * from './form-field.component';
|
|
8
|
+
export * from './form-field.module';
|
|
9
|
+
export * from './utils';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBQzdCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWZpZWxkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** ************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
************************* */
|
|
6
|
+
export function getCurrencySymbol(code) {
|
|
7
|
+
const currency = code || 'BRL';
|
|
8
|
+
const symbol = {
|
|
9
|
+
BRL: 'R$',
|
|
10
|
+
CLP: '$',
|
|
11
|
+
MXN: '$',
|
|
12
|
+
USD: '$'
|
|
13
|
+
}[currency];
|
|
14
|
+
return symbol;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUtdjIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0tZmllbGQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NkJBSTZCO0FBRTdCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUM7SUFFL0IsTUFBTSxNQUFNLEdBQUc7UUFDYixHQUFHLEVBQUUsSUFBSTtRQUNULEdBQUcsRUFBRSxHQUFHO1FBQ1IsR0FBRyxFQUFFLEdBQUc7UUFDUixHQUFHLEVBQUUsR0FBRztLQUNULENBQUMsUUFBUSxDQUFDLENBQUM7SUFFWixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqICoqKioqKioqKioqKioqKioqKioqKioqKlxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXG4gKiBNSVQgTGljZW5jZVxuICoqKioqKioqKioqKioqKioqKioqKioqKiogKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEN1cnJlbmN5U3ltYm9sKGNvZGU6IHN0cmluZykge1xuICBjb25zdCBjdXJyZW5jeSA9IGNvZGUgfHwgJ0JSTCc7XG5cbiAgY29uc3Qgc3ltYm9sID0ge1xuICAgIEJSTDogJ1IkJyxcbiAgICBDTFA6ICckJyxcbiAgICBNWE46ICckJyxcbiAgICBVU0Q6ICckJ1xuICB9W2N1cnJlbmN5XTtcblxuICByZXR1cm4gc3ltYm9sO1xufVxuIl19
|