monkey-style-guide 2.0.108 → 2.0.109
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/{esm2015/lib/components/badge/badge.component.js → esm2020/lib/components/badge/badge.component.mjs} +4 -4
- package/{esm2015/lib/components/badge/badge.module.js → esm2020/lib/components/badge/badge.module.mjs} +5 -5
- package/{esm2015/lib/components/badge/index.js → esm2020/lib/components/badge/index.mjs} +0 -0
- package/{esm2015/lib/components/button/button-avatar.component.js → esm2020/lib/components/button/button-avatar.component.mjs} +5 -5
- package/{esm2015/lib/components/button/button-dropdown.component.js → esm2020/lib/components/button/button-dropdown.component.mjs} +4 -4
- package/{esm2015/lib/components/button/button.component.js → esm2020/lib/components/button/button.component.mjs} +4 -4
- package/{esm2015/lib/components/button/button.module.js → esm2020/lib/components/button/button.module.mjs} +5 -5
- package/{esm2015/lib/components/button/index.js → esm2020/lib/components/button/index.mjs} +0 -0
- package/{esm2015/lib/components/checkbox/checkbox.component.js → esm2020/lib/components/checkbox/checkbox.component.mjs} +6 -6
- package/{esm2015/lib/components/checkbox/checkbox.module.js → esm2020/lib/components/checkbox/checkbox.module.mjs} +5 -5
- package/{esm2015/lib/components/checkbox/index.js → esm2020/lib/components/checkbox/index.mjs} +0 -0
- package/{esm2015/lib/components/date-range-picker/date-range-picker.component.js → esm2020/lib/components/date-range-picker/date-range-picker.component.mjs} +6 -6
- package/{esm2015/lib/components/date-range-picker/date-range-picker.module.js → esm2020/lib/components/date-range-picker/date-range-picker.module.mjs} +5 -5
- package/{esm2015/lib/components/date-range-picker/index.js → esm2020/lib/components/date-range-picker/index.mjs} +0 -0
- package/{esm2015/lib/components/expansion/expansion.component.js → esm2020/lib/components/expansion/expansion.component.mjs} +4 -4
- package/{esm2015/lib/components/expansion/expansion.module.js → esm2020/lib/components/expansion/expansion.module.mjs} +5 -5
- package/{esm2015/lib/components/expansion/index.js → esm2020/lib/components/expansion/index.mjs} +0 -0
- package/{esm2015/lib/components/file-upload/file-upload.component.js → esm2020/lib/components/file-upload/file-upload.component.mjs} +6 -6
- package/{esm2015/lib/components/file-upload/file-upload.module.js → esm2020/lib/components/file-upload/file-upload.module.mjs} +5 -5
- package/{esm2015/lib/components/file-upload/index.js → esm2020/lib/components/file-upload/index.mjs} +0 -0
- package/esm2020/lib/components/icon/icon-arrow-down.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-arrow-left.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-arrow-right.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-arrow-up.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-bank.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-bell.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-book.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-box.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-calendar.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-camera.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-chat.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-circle-out.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-circle.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-grey.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check-white.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-check.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-clipboard.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-clock.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-close.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-cnpj.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-codepen.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-company-name.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-contract.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-delete.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-document.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-dollar-sign.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-domain.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-download.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-edit.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-email.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-empty-doc.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-error.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-eye-closed.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-eye-open.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-filter.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-grid.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-help.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-hexagon.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-home.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-image.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-list.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-location-pin.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-login.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-logout.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-menu.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-money-sign.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-more.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-offered.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-password.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-people.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-percent.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-person-document.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-person-sad.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-phone.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-pork.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-refresh.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-repeat.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-search.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-second-warning.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-settings.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-trash.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-upload.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-user.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-wallet.component.mjs +15 -0
- package/esm2020/lib/components/icon/icon-warning.component.mjs +15 -0
- package/{esm2015/lib/components/icon/icon.component.js → esm2020/lib/components/icon/icon.component.mjs} +6 -6
- package/{esm2015/lib/components/icon/icon.module.js → esm2020/lib/components/icon/icon.module.mjs} +5 -5
- package/{esm2015/lib/components/icon/index.js → esm2020/lib/components/icon/index.mjs} +0 -0
- package/{esm2015/lib/components/image-crop/image-crop.component.js → esm2020/lib/components/image-crop/image-crop.component.mjs} +12 -5
- package/{esm2015/lib/components/image-crop/image-crop.module.js → esm2020/lib/components/image-crop/image-crop.module.mjs} +5 -5
- package/{esm2015/lib/components/image-crop/index.js → esm2020/lib/components/image-crop/index.mjs} +0 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/{esm2015/lib/components/input/index.js → esm2020/lib/components/input/index.mjs} +0 -0
- package/esm2020/lib/components/input/input-filter.component.mjs +261 -0
- package/esm2020/lib/components/input/input.component.mjs +380 -0
- package/{esm2015/lib/components/input/input.module.js → esm2020/lib/components/input/input.module.mjs} +5 -5
- package/{esm2015/lib/components/input-phone/index.js → esm2020/lib/components/input-phone/index.mjs} +0 -0
- package/esm2020/lib/components/input-phone/input-phone.component.mjs +304 -0
- package/{esm2015/lib/components/input-phone/input-phone.module.js → esm2020/lib/components/input-phone/input-phone.module.mjs} +5 -5
- package/{esm2015/lib/components/modal/index.js → esm2020/lib/components/modal/index.mjs} +0 -0
- package/esm2020/lib/components/modal/modal.component.mjs +236 -0
- package/{esm2015/lib/components/modal/modal.module.js → esm2020/lib/components/modal/modal.module.mjs} +5 -5
- package/{esm2015/lib/components/option/index.js → esm2020/lib/components/option/index.mjs} +0 -0
- package/{esm2015/lib/components/option/option.component.js → esm2020/lib/components/option/option.component.mjs} +4 -4
- package/{esm2015/lib/components/option/option.module.js → esm2020/lib/components/option/option.module.mjs} +5 -5
- package/{esm2015/lib/components/radiobutton/index.js → esm2020/lib/components/radiobutton/index.mjs} +0 -0
- package/{esm2015/lib/components/radiobutton/radiobutton.component.js → esm2020/lib/components/radiobutton/radiobutton.component.mjs} +6 -6
- package/{esm2015/lib/components/radiobutton/radiobutton.module.js → esm2020/lib/components/radiobutton/radiobutton.module.mjs} +5 -5
- package/{esm2015/lib/components/select/index.js → esm2020/lib/components/select/index.mjs} +0 -0
- package/{esm2015/lib/components/select/select-filter.component.js → esm2020/lib/components/select/select-filter.component.mjs} +6 -6
- package/esm2020/lib/components/select/select-multiple.component.mjs +304 -0
- package/esm2020/lib/components/select/select-search.component.mjs +306 -0
- package/{esm2015/lib/components/select/select.component.js → esm2020/lib/components/select/select.component.mjs} +6 -6
- package/{esm2015/lib/components/select/select.module.js → esm2020/lib/components/select/select.module.mjs} +5 -5
- package/{esm2015/lib/components/stepper/index.js → esm2020/lib/components/stepper/index.mjs} +0 -0
- package/{esm2015/lib/components/stepper/stepper.component.js → esm2020/lib/components/stepper/stepper.component.mjs} +4 -4
- package/{esm2015/lib/components/stepper/stepper.module.js → esm2020/lib/components/stepper/stepper.module.mjs} +5 -5
- package/{esm2015/lib/components/tab/index.js → esm2020/lib/components/tab/index.mjs} +0 -0
- package/{esm2015/lib/components/tab/tab.component.js → esm2020/lib/components/tab/tab.component.mjs} +4 -4
- package/{esm2015/lib/components/tab/tab.module.js → esm2020/lib/components/tab/tab.module.mjs} +5 -5
- package/{esm2015/lib/components/table/index.js → esm2020/lib/components/table/index.mjs} +0 -0
- package/{esm2015/lib/components/table/table-column.component.js → esm2020/lib/components/table/table-column.component.mjs} +4 -4
- package/esm2020/lib/components/table/table.component.mjs +203 -0
- package/{esm2015/lib/components/table/table.module.js → esm2020/lib/components/table/table.module.mjs} +5 -5
- package/{esm2015/lib/components/toggle/index.js → esm2020/lib/components/toggle/index.mjs} +0 -0
- package/esm2020/lib/components/toggle/toggle.component.mjs +56 -0
- package/{esm2015/lib/components/toggle/toggle.module.js → esm2020/lib/components/toggle/toggle.module.mjs} +5 -5
- package/{esm2015/lib/components/wizard/index.js → esm2020/lib/components/wizard/index.mjs} +0 -0
- package/{esm2015/lib/components/wizard/wizard.component.js → esm2020/lib/components/wizard/wizard.component.mjs} +4 -4
- package/{esm2015/lib/components/wizard/wizard.module.js → esm2020/lib/components/wizard/wizard.module.mjs} +5 -5
- package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
- package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +0 -0
- package/{esm2015/lib/core/interfaces/monkey-modal-settings.js → esm2020/lib/core/interfaces/monkey-modal-settings.mjs} +0 -0
- package/{esm2015/lib/core/interfaces/monkey-style-settings.js → esm2020/lib/core/interfaces/monkey-style-settings.mjs} +0 -0
- package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +0 -0
- package/{esm2015/lib/core/services/modal/index.js → esm2020/lib/core/services/modal/index.mjs} +0 -0
- package/{esm2015/lib/core/services/modal/monkey-style-guide-modal-fixed.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal-fixed.service.mjs} +4 -4
- package/{esm2015/lib/core/services/modal/monkey-style-guide-modal.service.js → esm2020/lib/core/services/modal/monkey-style-guide-modal.service.mjs} +4 -4
- package/{esm2015/lib/core/services/monkey-style-guide.service.js → esm2020/lib/core/services/monkey-style-guide.service.mjs} +4 -4
- package/{esm2015/lib/core/services/settings/index.js → esm2020/lib/core/services/settings/index.mjs} +0 -0
- package/{esm2015/lib/core/services/settings/monkey-style-guide-settings.service.js → esm2020/lib/core/services/settings/monkey-style-guide-settings.service.mjs} +4 -4
- package/esm2020/lib/core/services/settings/monkey-style-guide-theme-settings.service.mjs +80 -0
- package/{esm2015/lib/core/services/snackbar/index.js → esm2020/lib/core/services/snackbar/index.mjs} +0 -0
- package/{esm2015/lib/core/services/snackbar/mokey-style-guide-snackbar.service.js → esm2020/lib/core/services/snackbar/mokey-style-guide-snackbar.service.mjs} +5 -5
- package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +0 -0
- package/esm2020/lib/core/utils/utils.mjs +235 -0
- package/{esm2015/lib/monkey-style-guide.module.js → esm2020/lib/monkey-style-guide.module.mjs} +5 -5
- package/{esm2015/monkey-style-guide.js → esm2020/monkey-style-guide.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{monkey-style-guide.js → monkey-style-guide.mjs} +454 -710
- package/fesm2015/monkey-style-guide.mjs.map +1 -0
- package/fesm2020/monkey-style-guide.mjs +7921 -0
- package/fesm2020/monkey-style-guide.mjs.map +1 -0
- package/lib/core/utils/utils.d.ts +3 -3
- package/monkey-style-guide-2.0.109.tgz +0 -0
- package/package.json +22 -9
- package/bundles/monkey-style-guide.umd.js +0 -6236
- package/bundles/monkey-style-guide.umd.js.map +0 -1
- package/esm2015/lib/components/icon/icon-arrow-down.component.js +0 -19
- package/esm2015/lib/components/icon/icon-arrow-left.component.js +0 -19
- package/esm2015/lib/components/icon/icon-arrow-right.component.js +0 -19
- package/esm2015/lib/components/icon/icon-arrow-up.component.js +0 -19
- package/esm2015/lib/components/icon/icon-bank.component.js +0 -19
- package/esm2015/lib/components/icon/icon-bell.component.js +0 -19
- package/esm2015/lib/components/icon/icon-book.component.js +0 -19
- package/esm2015/lib/components/icon/icon-box.component.js +0 -19
- package/esm2015/lib/components/icon/icon-calendar.component.js +0 -19
- package/esm2015/lib/components/icon/icon-camera.component.js +0 -19
- package/esm2015/lib/components/icon/icon-chat.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-circle-out.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-circle.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-grey.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check-white.component.js +0 -19
- package/esm2015/lib/components/icon/icon-check.component.js +0 -19
- package/esm2015/lib/components/icon/icon-clipboard.component.js +0 -19
- package/esm2015/lib/components/icon/icon-clock.component.js +0 -19
- package/esm2015/lib/components/icon/icon-close.component.js +0 -19
- package/esm2015/lib/components/icon/icon-cnpj.component.js +0 -19
- package/esm2015/lib/components/icon/icon-codepen.component.js +0 -19
- package/esm2015/lib/components/icon/icon-company-name.component.js +0 -19
- package/esm2015/lib/components/icon/icon-contract.component.js +0 -19
- package/esm2015/lib/components/icon/icon-delete.component.js +0 -19
- package/esm2015/lib/components/icon/icon-document.component.js +0 -19
- package/esm2015/lib/components/icon/icon-dollar-sign.component.js +0 -19
- package/esm2015/lib/components/icon/icon-domain.component.js +0 -19
- package/esm2015/lib/components/icon/icon-download.component.js +0 -19
- package/esm2015/lib/components/icon/icon-edit.component.js +0 -19
- package/esm2015/lib/components/icon/icon-email.component.js +0 -19
- package/esm2015/lib/components/icon/icon-empty-doc.component.js +0 -19
- package/esm2015/lib/components/icon/icon-error.component.js +0 -19
- package/esm2015/lib/components/icon/icon-eye-closed.component.js +0 -19
- package/esm2015/lib/components/icon/icon-eye-open.component.js +0 -19
- package/esm2015/lib/components/icon/icon-filter.component.js +0 -19
- package/esm2015/lib/components/icon/icon-grid.component.js +0 -19
- package/esm2015/lib/components/icon/icon-help.component.js +0 -19
- package/esm2015/lib/components/icon/icon-hexagon.component.js +0 -19
- package/esm2015/lib/components/icon/icon-home.component.js +0 -19
- package/esm2015/lib/components/icon/icon-image.component.js +0 -19
- package/esm2015/lib/components/icon/icon-list.component.js +0 -19
- package/esm2015/lib/components/icon/icon-location-pin.component.js +0 -19
- package/esm2015/lib/components/icon/icon-login.component.js +0 -19
- package/esm2015/lib/components/icon/icon-logout.component.js +0 -19
- package/esm2015/lib/components/icon/icon-menu.component.js +0 -19
- package/esm2015/lib/components/icon/icon-money-sign.component.js +0 -19
- package/esm2015/lib/components/icon/icon-more.component.js +0 -19
- package/esm2015/lib/components/icon/icon-offered.component.js +0 -19
- package/esm2015/lib/components/icon/icon-password.component.js +0 -19
- package/esm2015/lib/components/icon/icon-people.component.js +0 -19
- package/esm2015/lib/components/icon/icon-percent.component.js +0 -19
- package/esm2015/lib/components/icon/icon-person-document.component.js +0 -19
- package/esm2015/lib/components/icon/icon-person-sad.component.js +0 -19
- package/esm2015/lib/components/icon/icon-phone.component.js +0 -19
- package/esm2015/lib/components/icon/icon-pork.component.js +0 -19
- package/esm2015/lib/components/icon/icon-refresh.component.js +0 -19
- package/esm2015/lib/components/icon/icon-repeat.component.js +0 -19
- package/esm2015/lib/components/icon/icon-search.component.js +0 -19
- package/esm2015/lib/components/icon/icon-second-warning.component.js +0 -19
- package/esm2015/lib/components/icon/icon-settings.component.js +0 -19
- package/esm2015/lib/components/icon/icon-trash.component.js +0 -19
- package/esm2015/lib/components/icon/icon-upload.component.js +0 -19
- package/esm2015/lib/components/icon/icon-user.component.js +0 -19
- package/esm2015/lib/components/icon/icon-wallet.component.js +0 -19
- package/esm2015/lib/components/icon/icon-warning.component.js +0 -19
- package/esm2015/lib/components/input/input-filter.component.js +0 -262
- package/esm2015/lib/components/input/input.component.js +0 -384
- package/esm2015/lib/components/input-phone/input-phone.component.js +0 -307
- package/esm2015/lib/components/modal/modal.component.js +0 -241
- package/esm2015/lib/components/select/select-multiple.component.js +0 -308
- package/esm2015/lib/components/select/select-search.component.js +0 -308
- package/esm2015/lib/components/table/table.component.js +0 -204
- package/esm2015/lib/components/toggle/toggle.component.js +0 -56
- package/esm2015/lib/core/services/settings/monkey-style-guide-theme-settings.service.js +0 -70
- package/esm2015/lib/core/utils/utils.js +0 -237
- package/fesm2015/monkey-style-guide.js.map +0 -1
- package/monkey-style-guide-2.0.108.tgz +0 -0
|
@@ -9,9 +9,9 @@ export class MonkeyStyleGuideService {
|
|
|
9
9
|
return this.http.get(url, options);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
MonkeyStyleGuideService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
MonkeyStyleGuideService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
MonkeyStyleGuideService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
|
+
MonkeyStyleGuideService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideService });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideService, decorators: [{
|
|
15
15
|
type: Injectable
|
|
16
16
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL21vbmtleS1zdHlsZS1ndWlkZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRWpDLEdBQUcsQ0FBSSxHQUFXLEVBQUUsT0FBVztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDOztvSEFMVSx1QkFBdUI7d0hBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICBwdWJsaWMgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogVCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odXJsLCBvcHRpb25zKTtcclxuICB9XHJcbn1cclxuIl19
|
package/{esm2015/lib/core/services/settings/index.js → esm2020/lib/core/services/settings/index.mjs}
RENAMED
|
File without changes
|
|
@@ -33,9 +33,9 @@ export class MonkeyStyleGuideSettingsService {
|
|
|
33
33
|
return this.settingsSubject$.asObservable();
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
MonkeyStyleGuideSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
MonkeyStyleGuideSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
MonkeyStyleGuideSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSettingsService, deps: [{ token: i1.MonkeyStyleGuideService }, { token: i2.MonkeyStyleGuideThemeSettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
MonkeyStyleGuideSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSettingsService });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSettingsService, decorators: [{
|
|
39
39
|
type: Injectable
|
|
40
40
|
}], ctorParameters: function () { return [{ type: i1.MonkeyStyleGuideService }, { type: i2.MonkeyStyleGuideThemeSettingsService }]; } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NldHRpbmdzL21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzRCQUk0QjtBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7O0FBSS9ELE1BQU0sT0FBTywrQkFBK0I7SUFHMUMsWUFDVSxlQUF3QyxFQUN4QywwQkFBZ0U7UUFEaEUsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBQ3hDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBc0M7UUFKekQscUJBQWdCLEdBQXlDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBSy9GLENBQUM7SUFFRyxRQUFRLENBQUMsV0FBbUIsRUFBRSxRQUFtQjtRQUN0RCxNQUFNLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRS9FLGVBQWUsQ0FBQyxHQUFHLENBQU0sV0FBVyxJQUFJLHlDQUF5QyxDQUFDLENBQUMsU0FBUyxDQUMxRixDQUFDLENBQXNCLEVBQUUsRUFBRTtZQUN6QiwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDLEVBQ0QsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFTLEVBQUUsUUFBbUI7UUFDcEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzlELDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQzs7NEhBL0JVLCtCQUErQjtnSUFBL0IsK0JBQStCOzJGQUEvQiwrQkFBK0I7a0JBRDNDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICogQ29weXJpZ2h0IE1vbmtleSBFeGNoYW5nZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZFxyXG4gKiBUaGlzIHN0eWxlIGd1aWRlIHdhcyBkZXZlbG9wZWQgYnkgTW9ua2V5IEV4Y2hhbmdlIFRlYW1cclxuICogTUlUIExpY2VuY2VcclxuICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5LXN0eWxlLWd1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVRoZW1lU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXktc3R5bGUtZ3VpZGUtdGhlbWUtc2V0dGluZ3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlTdHlsZVNldHRpbmdzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbW9ua2V5U0dTZXJ2aWNlOiBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5U0dUaGVtZUNvbmZpZ1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVUaGVtZVNldHRpbmdzU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwKHNldHRpbmdzVXJsOiBzdHJpbmcsIGNhbGxiYWNrPzogRnVuY3Rpb24pIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5U0dTZXJ2aWNlLCBzZXR0aW5nc1N1YmplY3QkLCBtb25rZXlTR1RoZW1lQ29uZmlnU2VydmljZSB9ID0gdGhpcztcclxuXHJcbiAgICBtb25rZXlTR1NlcnZpY2UuZ2V0PGFueT4oc2V0dGluZ3NVcmwgfHwgYGFzc2V0cy9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmApLnN1YnNjcmliZShcclxuICAgICAgKF86IE1vbmtleVN0eWxlU2V0dGluZ3MpID0+IHtcclxuICAgICAgICBtb25rZXlTR1RoZW1lQ29uZmlnU2VydmljZS5hcHBseShfLCBjYWxsYmFjayk7XHJcbiAgICAgICAgc2V0dGluZ3NTdWJqZWN0JC5uZXh0KF8pO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ01vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncyBub3QgZm91bmQhJyk7XHJcbiAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwV2l0aERhdGEoZGF0YTogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XHJcbiAgICBjb25zdCB7IHNldHRpbmdzU3ViamVjdCQsIG1vbmtleVNHVGhlbWVDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG4gICAgbW9ua2V5U0dUaGVtZUNvbmZpZ1NlcnZpY2UuYXBwbHkoZGF0YSwgY2FsbGJhY2spO1xyXG4gICAgc2V0dGluZ3NTdWJqZWN0JC5uZXh0KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHRpbmdzKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**************************
|
|
2
|
+
* Copyright Monkey Exchange. All Rights Reserved
|
|
3
|
+
* This style guide was developed by Monkey Exchange Team
|
|
4
|
+
* MIT Licence
|
|
5
|
+
**************************/
|
|
6
|
+
import { Injectable, Inject } from '@angular/core';
|
|
7
|
+
import { DOCUMENT } from '@angular/common';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class MonkeyStyleGuideThemeSettingsService {
|
|
10
|
+
constructor(doc) {
|
|
11
|
+
this.doc = doc;
|
|
12
|
+
}
|
|
13
|
+
applyColors(settings) {
|
|
14
|
+
const colors = settings.colors;
|
|
15
|
+
let bucketColors = null;
|
|
16
|
+
['theme', 'error', 'warning', 'success', 'question'].forEach((color) => {
|
|
17
|
+
Object.entries(colors[color]).forEach(([paletteKey, paletteValue]) => {
|
|
18
|
+
if (paletteKey === 'contrast') {
|
|
19
|
+
Object.entries(paletteValue).forEach(([paletteContrastKey, paletteContrastValue]) => {
|
|
20
|
+
document.documentElement.style.setProperty(`--mecx-color-${color}-contrast-${paletteContrastKey}`, `${paletteContrastValue}`);
|
|
21
|
+
bucketColors = {
|
|
22
|
+
...bucketColors,
|
|
23
|
+
[`--mecx-color-${color}-contrast-${paletteContrastKey}`]: `${paletteContrastValue}`,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
document.documentElement.style.setProperty(`--mecx-color-${color}-${paletteKey}`, `${paletteValue}`);
|
|
29
|
+
bucketColors = {
|
|
30
|
+
...bucketColors,
|
|
31
|
+
[`--mecx-color-${color}-${paletteKey}`]: `${paletteValue}`,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
return bucketColors;
|
|
37
|
+
}
|
|
38
|
+
applyFonts(settings) {
|
|
39
|
+
const font = {
|
|
40
|
+
url: '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',
|
|
41
|
+
name: 'Work Sans',
|
|
42
|
+
...settings.font,
|
|
43
|
+
};
|
|
44
|
+
document.documentElement.style.setProperty(`--mecx-font-name`, `${font.name}`);
|
|
45
|
+
let link = this.doc.createElement('link');
|
|
46
|
+
link.setAttribute('rel', 'stylesheet');
|
|
47
|
+
link.setAttribute('type', 'text/css');
|
|
48
|
+
link.setAttribute('href', `${font.url}`);
|
|
49
|
+
this.doc.head.appendChild(link);
|
|
50
|
+
}
|
|
51
|
+
applyTheme(settings) {
|
|
52
|
+
const { theme } = settings;
|
|
53
|
+
document.title = `${theme.title}`;
|
|
54
|
+
let link = this.doc.createElement('link');
|
|
55
|
+
link.setAttribute('rel', 'icon');
|
|
56
|
+
link.setAttribute('type', 'image/x-icon');
|
|
57
|
+
link.setAttribute('href', `${theme.favicon}`);
|
|
58
|
+
this.doc.head.appendChild(link);
|
|
59
|
+
}
|
|
60
|
+
apply(config, callback) {
|
|
61
|
+
const bucketColors = this.applyColors(config);
|
|
62
|
+
this.applyFonts(config);
|
|
63
|
+
this.applyTheme(config);
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
if (callback)
|
|
66
|
+
callback({
|
|
67
|
+
bucketColors,
|
|
68
|
+
});
|
|
69
|
+
}, 500);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
MonkeyStyleGuideThemeSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideThemeSettingsService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
|
+
MonkeyStyleGuideThemeSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideThemeSettingsService });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideThemeSettingsService, decorators: [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: [DOCUMENT]
|
|
79
|
+
}] }]; } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3NldHRpbmdzL21vbmtleS1zdHlsZS1ndWlkZS10aGVtZS1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzRCQUk0QjtBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxvQ0FBb0M7SUFDL0MsWUFBc0MsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7SUFBRyxDQUFDO0lBRTFDLFdBQVcsQ0FBQyxRQUE2QjtRQUMvQyxNQUFNLE1BQU0sR0FBUSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRXBDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztRQUV4QixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNyRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDMUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO2dCQUM3QixJQUFJLFVBQVUsS0FBSyxVQUFVLEVBQUU7b0JBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUNsQyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxFQUFFO3dCQUM3QyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENB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QyxvQ0FBb0M7a0JBRGhELFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gKiBDb3B5cmlnaHQgTW9ua2V5IEV4Y2hhbmdlLiBBbGwgUmlnaHRzIFJlc2VydmVkXHJcbiAqIFRoaXMgc3R5bGUgZ3VpZGUgd2FzIGRldmVsb3BlZCBieSBNb25rZXkgRXhjaGFuZ2UgVGVhbVxyXG4gKiBNSVQgTGljZW5jZVxyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZVNldHRpbmdzLCBNb25rZXlTdHlsZUZvbnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBhbnkpIHt9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlDb2xvcnMoc2V0dGluZ3M6IE1vbmtleVN0eWxlU2V0dGluZ3MpOiBhbnkge1xyXG4gICAgY29uc3QgY29sb3JzOiBhbnkgPSBzZXR0aW5ncy5jb2xvcnM7XHJcblxyXG4gICAgbGV0IGJ1Y2tldENvbG9ycyA9IG51bGw7XHJcblxyXG4gICAgWyd0aGVtZScsICdlcnJvcicsICd3YXJuaW5nJywgJ3N1Y2Nlc3MnLCAncXVlc3Rpb24nXS5mb3JFYWNoKChjb2xvcikgPT4ge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhjb2xvcnNbY29sb3JdIGFzIGFueSkuZm9yRWFjaChcclxuICAgICAgICAoW3BhbGV0dGVLZXksIHBhbGV0dGVWYWx1ZV0pID0+IHtcclxuICAgICAgICAgIGlmIChwYWxldHRlS2V5ID09PSAnY29udHJhc3QnKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHBhbGV0dGVWYWx1ZSkuZm9yRWFjaChcclxuICAgICAgICAgICAgICAoW3BhbGV0dGVDb250cmFzdEtleSwgcGFsZXR0ZUNvbnRyYXN0VmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXHJcbiAgICAgICAgICAgICAgICAgIGAtLW1lY3gtY29sb3ItJHtjb2xvcn0tY29udHJhc3QtJHtwYWxldHRlQ29udHJhc3RLZXl9YCxcclxuICAgICAgICAgICAgICAgICAgYCR7cGFsZXR0ZUNvbnRyYXN0VmFsdWV9YFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGJ1Y2tldENvbG9ycyA9IHtcclxuICAgICAgICAgICAgICAgICAgLi4uYnVja2V0Q29sb3JzLFxyXG4gICAgICAgICAgICAgICAgICBbYC0tbWVjeC1jb2xvci0ke2NvbG9yfS1jb250cmFzdC0ke3BhbGV0dGVDb250cmFzdEtleX1gXTogYCR7cGFsZXR0ZUNvbnRyYXN0VmFsdWV9YCxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICAgICAgICAgIGAtLW1lY3gtY29sb3ItJHtjb2xvcn0tJHtwYWxldHRlS2V5fWAsXHJcbiAgICAgICAgICAgICAgYCR7cGFsZXR0ZVZhbHVlfWBcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnVja2V0Q29sb3JzID0ge1xyXG4gICAgICAgICAgICAgIC4uLmJ1Y2tldENvbG9ycyxcclxuICAgICAgICAgICAgICBbYC0tbWVjeC1jb2xvci0ke2NvbG9yfS0ke3BhbGV0dGVLZXl9YF06IGAke3BhbGV0dGVWYWx1ZX1gLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBidWNrZXRDb2xvcnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5Rm9udHMoc2V0dGluZ3M6IE1vbmtleVN0eWxlU2V0dGluZ3MpIHtcclxuICAgIGNvbnN0IGZvbnQ6IE1vbmtleVN0eWxlRm9udFNldHRpbmdzID0ge1xyXG4gICAgICB1cmw6XHJcbiAgICAgICAgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9V29yaytTYW5zOml0YWwsd2dodEAwLDIwMDswLDMwMDswLDQwMDswLDUwMDswLDYwMDswLDcwMDswLDgwMDswLDkwMDsxLDQwMDsxLDUwMDsxLDYwMDsxLDcwMDsxLDgwMDsxLDkwMCZkaXNwbGF5PXN3YXAnLFxyXG4gICAgICBuYW1lOiAnV29yayBTYW5zJyxcclxuICAgICAgLi4uc2V0dGluZ3MuZm9udCxcclxuICAgIH07XHJcblxyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxyXG4gICAgICBgLS1tZWN4LWZvbnQtbmFtZWAsXHJcbiAgICAgIGAke2ZvbnQubmFtZX1gXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBsaW5rOiBIVE1MTGlua0VsZW1lbnQgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ3N0eWxlc2hlZXQnKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGAke2ZvbnQudXJsfWApO1xyXG4gICAgdGhpcy5kb2MuaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlUaGVtZShzZXR0aW5nczogTW9ua2V5U3R5bGVTZXR0aW5ncykge1xyXG4gICAgY29uc3QgeyB0aGVtZSB9ID0gc2V0dGluZ3M7XHJcbiAgICBkb2N1bWVudC50aXRsZSA9IGAke3RoZW1lLnRpdGxlfWA7XHJcblxyXG4gICAgbGV0IGxpbms6IEhUTUxMaW5rRWxlbWVudCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAnaWNvbicpO1xyXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaW1hZ2UveC1pY29uJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGAke3RoZW1lLmZhdmljb259YCk7XHJcbiAgICB0aGlzLmRvYy5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGx5KGNvbmZpZzogTW9ua2V5U3R5bGVTZXR0aW5ncywgY2FsbGJhY2s/OiBGdW5jdGlvbikge1xyXG4gICAgY29uc3QgYnVja2V0Q29sb3JzID0gdGhpcy5hcHBseUNvbG9ycyhjb25maWcpO1xyXG4gICAgdGhpcy5hcHBseUZvbnRzKGNvbmZpZyk7XHJcbiAgICB0aGlzLmFwcGx5VGhlbWUoY29uZmlnKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAoY2FsbGJhY2spXHJcbiAgICAgICAgY2FsbGJhY2soe1xyXG4gICAgICAgICAgYnVja2V0Q29sb3JzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcbn1cclxuIl19
|
package/{esm2015/lib/core/services/snackbar/index.js → esm2020/lib/core/services/snackbar/index.mjs}
RENAMED
|
File without changes
|
|
@@ -200,7 +200,7 @@ export class MonkeyStyleGuideSnackbarService {
|
|
|
200
200
|
this.buildAction(id);
|
|
201
201
|
this.buildIcon();
|
|
202
202
|
this.finish(id);
|
|
203
|
-
if (config
|
|
203
|
+
if (config?.blinkTab) {
|
|
204
204
|
this.blinkTab();
|
|
205
205
|
}
|
|
206
206
|
}
|
|
@@ -209,9 +209,9 @@ export class MonkeyStyleGuideSnackbarService {
|
|
|
209
209
|
snackbarElements.removeAll();
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
MonkeyStyleGuideSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
213
|
-
MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
212
|
+
MonkeyStyleGuideSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSnackbarService, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
213
|
+
MonkeyStyleGuideSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSnackbarService });
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideSnackbarService, decorators: [{
|
|
215
215
|
type: Injectable
|
|
216
216
|
}], ctorParameters: function () { return [{ type: i1.Location }]; } });
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMEJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzZIQXhMVSwrQkFBK0I7aUlBQS9CLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuY29uc3QgaWNvbnMgPSB7XHJcbiAgc3VjY2VzczogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI3XCIgZmlsbD1cIiMwMDg3NUFcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTEgNUw3IDExTDQgOC4yNzI3M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICB3YXJuaW5nOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNi44NTQzMyAyLjYzODE5TDEuMTc5NTcgMTIuMDExNEMxLjA2MjU3IDEyLjIxMTggMS4wMDA2NiAxMi40MzkxIDEuMDAwMDEgMTIuNjcwNkMwLjk5OTM1IDEyLjkwMjEgMS4wNTk5NyAxMy4xMjk3IDEuMTc1ODMgMTMuMzMwOEMxLjI5MTcgMTMuNTMyIDEuNDU4NzcgMTMuNjk5NSAxLjY2MDQyIDEzLjgxNjlDMS44NjIwNyAxMy45MzQzIDIuMDkxMjggMTMuOTk3NSAyLjMyNTI0IDE0SDEzLjY3NDhDMTMuOTA4NyAxMy45OTc1IDE0LjEzNzkgMTMuOTM0MyAxNC4zMzk2IDEzLjgxNjlDMTQuNTQxMiAxMy42OTk1IDE0LjcwODMgMTMuNTMyIDE0LjgyNDIgMTMuMzMwOEMxNC45NCAxMy4xMjk3IDE1LjAwMDYgMTIuOTAyMSAxNSAxMi42NzA2QzE0Ljk5OTMgMTIuNDM5MSAxNC45Mzc0IDEyLjIxMTggMTQuODIwNCAxMi4wMTE0TDkuMTQ1NjcgMi42MzgxOUM5LjAyNjIzIDIuNDQzMzcgOC44NTgwNiAyLjI4MjMgOC42NTczOCAyLjE3MDUxQzguNDU2NzEgMi4wNTg3MyA4LjIzMDMgMiA4IDJDNy43Njk3IDIgNy41NDMyOSAyLjA1ODczIDcuMzQyNjIgMi4xNzA1MUM3LjE0MTk0IDIuMjgyMyA2Ljk3Mzc3IDIuNDQzMzcgNi44NTQzMyAyLjYzODE5WlwiIGZpbGw9XCIjRUZBMzBFXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggNlYxMFwiIHN0cm9rZT1cIiMwMDBGMUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMkg4LjAwNjY3XCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgZXJyb3I6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk01LjEwMiAxSDEwLjg5OEwxNSA1LjEwMlYxMC44OThMMTAuODk4IDE1SDUuMTAyTDEgMTAuODk4VjUuMTAyTDUuMTAyIDFaXCIgZmlsbD1cIiNGQTM4MzhcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA1LjMzMzMzVjcuOTk5OTlcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggMTAuNjY2N0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0Y1RkFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgcXVlc3Rpb246IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk04LjAwMDA0IDE0LjY2NjhDMTEuNjgxOSAxNC42NjY4IDE0LjY2NjcgMTEuNjgyMSAxNC42NjY3IDguMDAwMTZDMTQuNjY2NyA0LjMxODI2IDExLjY4MTkgMS4zMzM1IDguMDAwMDQgMS4zMzM1QzQuMzE4MTQgMS4zMzM1IDEuMzMzMzcgNC4zMTgyNiAxLjMzMzM3IDguMDAwMTZDMS4zMzMzNyAxMS42ODIxIDQuMzE4MTQgMTQuNjY2OCA4LjAwMDA0IDE0LjY2NjhaXCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk02LjA1OTk0IDUuOTk5ODlDNi4yMTY2NyA1LjU1NDM0IDYuNTI2MDQgNS4xNzg2MyA2LjkzMzI0IDQuOTM5MzFDNy4zNDA0NCA0LjcgNy44MTkyIDQuNjEyNTIgOC4yODQ3MiA0LjY5MjM3QzguNzUwMjQgNC43NzIyMiA5LjE3MjQ4IDUuMDE0MjQgOS40NzY2NSA1LjM3NTU4QzkuNzgwODMgNS43MzY5MSA5Ljk0NzMxIDYuMTk0MjQgOS45NDY2IDYuNjY2NTZDOS45NDY2IDcuOTk5ODkgNy45NDY2IDguNjY2NTYgNy45NDY2IDguNjY2NTZWOS40OTk4OVwiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMS4zMzM1SDguMDA2NjdcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBsb2FkaW5nOiBgPHN2ZyBjbGFzcz1cImNpcmN1bGFyLWxvYWRlclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiID5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkZXItcGF0aFwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNTc1NzU3XCIgc3Ryb2tlLXdpZHRoPVwiNVwiIC8+XHJcbiAgPC9zdmc+YCxcclxufTtcclxuXHJcbmludGVyZmFjZSBTbmFja2JhckFjdGlvbkNvbmZpZyB7XHJcbiAgc3R5bGU6ICdsaW5rJyB8ICdidXR0b24nO1xyXG4gIGNvbmZpcm0/OiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgYWN0aW9uOiBGdW5jdGlvbjtcclxuICB9O1xyXG4gIGNhbmNlbD86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTbmFja2JhckNvbmZpZyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICB0eXBlPzogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHwgJ2xvYWRpbmcnO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhvcml6b250YWxQb3NpdGlvbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICB2ZXJ0aWNhbFBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJztcclxuICBhY3Rpb24/OiBTbmFja2JhckFjdGlvbkNvbmZpZztcclxuICBrZWVwT3Blbj86IGJvb2xlYW47XHJcbiAgYmxpbmtUYWI/OiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBTbmFja2JhckVsZW1lbnRzIHtcclxuICBlbGVtZW50czoge1xyXG4gICAgZWxlbWVudD86IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgaW50ZXJ2YWw/OiBhbnk7XHJcbiAgfVtdID0gW107XHJcbiAgbGFzdFNjcm9sbFRvcDogbnVtYmVyID0gMTU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYWRkKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50LCBkdXJhdGlvbjogbnVtYmVyLCBjYWxsYmFjazogRnVuY3Rpb24sIHZlcnRpY2FsUG9zaXRpb246IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudHMgJiYgdGhpcy5lbGVtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gMTU7XHJcbiAgICB9XHJcbiAgICBlbGVtZW50LnN0eWxlW3ZlcnRpY2FsUG9zaXRpb25dID0gYCR7dGhpcy5sYXN0U2Nyb2xsVG9wfXB4YDtcclxuXHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0sIGR1cmF0aW9uKTtcclxuXHJcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xyXG4gICAgICBlbGVtZW50OiBlbGVtZW50LFxyXG4gICAgICBpbnRlcnZhbDogaW50ZXJ2YWwsXHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSB0aGlzLmxhc3RTY3JvbGxUb3AgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50LmlkKS5vZmZzZXRIZWlnaHQgKyAxNTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShyZW1vdmVJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKCh7IGVsZW1lbnQ6IHsgaWQgfSB9KSA9PiBpZCA9PT0gcmVtb3ZlSWQpO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5lbGVtZW50cyA9XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy5maWx0ZXIoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkICE9PSBlbGVtZW50LmVsZW1lbnQuaWQpIHx8IFtdO1xyXG4gICAgICBlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lID0gYCR7ZWxlbWVudC5lbGVtZW50LmNsYXNzTmFtZX0gZmFkZS1vdXQgaGlkZWA7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9XHJcbiAgICAgICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgLSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocmVtb3ZlSWQpLm9mZnNldEhlaWdodCArIDE1KTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChlbGVtZW50LmludGVydmFsKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50LmVsZW1lbnQpO1xyXG4gICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIHRoaXMuZWxlbWVudHMgPSBbXTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uZmlnOiBTbmFja2JhckNvbmZpZztcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckVsZW1lbnRzOiBTbmFja2JhckVsZW1lbnRzO1xyXG4gIHByaXZhdGUgc25hY2tiYXJCb2R5RWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbGRUaXRsZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGltZW91dEJsaW5rVGFiID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvblJvdXRlcjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50cyA9IG5ldyBTbmFja2JhckVsZW1lbnRzKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uUm91dGVyLm9uVXJsQ2hhbmdlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL2NvcmUvc2VydmljZXMvc25hY2tiYXIvbW9rZXktc3R5bGUtZ3VpZGUtc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUUxQyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRTs7O1dBR0E7SUFDVCxPQUFPLEVBQUU7Ozs7V0FJQTtJQUNULEtBQUssRUFBRTs7OztXQUlFO0lBQ1QsUUFBUSxFQUFFOzs7O1dBSUQ7SUFDVCxPQUFPLEVBQUU7O1NBRUY7Q0FDUixDQUFDO0FBMEJGLE1BQU0sZ0JBQWdCO0lBT3BCO1FBTkEsYUFBUSxHQUdGLEVBQUUsQ0FBQztRQUNULGtCQUFhLEdBQVcsRUFBRSxDQUFDO0lBRVosQ0FBQztJQUVoQixHQUFHLENBQUMsT0FBdUIsRUFBRSxRQUFnQixFQUFFLFFBQWtCLEVBQUUsZ0JBQXdCO1FBQ3pGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUM7UUFFNUQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxRQUFRLENBQUMs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QUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQy9CLENBQUM7OzRIQXhMVSwrQkFBK0I7Z0lBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAqIENvcHlyaWdodCBNb25rZXkgRXhjaGFuZ2UuIEFsbCBSaWdodHMgUmVzZXJ2ZWRcclxuICogVGhpcyBzdHlsZSBndWlkZSB3YXMgZGV2ZWxvcGVkIGJ5IE1vbmtleSBFeGNoYW5nZSBUZWFtXHJcbiAqIE1JVCBMaWNlbmNlXHJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleVV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuY29uc3QgaWNvbnMgPSB7XHJcbiAgc3VjY2VzczogYDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI3XCIgZmlsbD1cIiMwMDg3NUFcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNMTEgNUw3IDExTDQgOC4yNzI3M1wiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICB3YXJuaW5nOiBgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgIDxwYXRoIGQ9XCJNNi44NTQzMyAyLjYzODE5TDEuMTc5NTcgMTIuMDExNEMxLjA2MjU3IDEyLjIxMTggMS4wMDA2NiAxMi40MzkxIDEuMDAwMDEgMTIuNjcwNkMwLjk5OTM1IDEyLjkwMjEgMS4wNTk5NyAxMy4xMjk3IDEuMTc1ODMgMTMuMzMwOEMxLjI5MTcgMTMuNTMyIDEuNDU4NzcgMTMuNjk5NSAxLjY2MDQyIDEzLjgxNjlDMS44NjIwNyAxMy45MzQzIDIuMDkxMjggMTMuOTk3NSAyLjMyNTI0IDE0SDEzLjY3NDhDMTMuOTA4NyAxMy45OTc1IDE0LjEzNzkgMTMuOTM0MyAxNC4zMzk2IDEzLjgxNjlDMTQuNTQxMiAxMy42OTk1IDE0LjcwODMgMTMuNTMyIDE0LjgyNDIgMTMuMzMwOEMxNC45NCAxMy4xMjk3IDE1LjAwMDYgMTIuOTAyMSAxNSAxMi42NzA2QzE0Ljk5OTMgMTIuNDM5MSAxNC45Mzc0IDEyLjIxMTggMTQuODIwNCAxMi4wMTE0TDkuMTQ1NjcgMi42MzgxOUM5LjAyNjIzIDIuNDQzMzcgOC44NTgwNiAyLjI4MjMgOC42NTczOCAyLjE3MDUxQzguNDU2NzEgMi4wNTg3MyA4LjIzMDMgMiA4IDJDNy43Njk3IDIgNy41NDMyOSAyLjA1ODczIDcuMzQyNjIgMi4xNzA1MUM3LjE0MTk0IDIuMjgyMyA2Ljk3Mzc3IDIuNDQzMzcgNi44NTQzMyAyLjYzODE5WlwiIGZpbGw9XCIjRUZBMzBFXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggNlYxMFwiIHN0cm9rZT1cIiMwMDBGMUVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMkg4LjAwNjY3XCIgc3Ryb2tlPVwiIzAwMEYxRVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgZXJyb3I6IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk01LjEwMiAxSDEwLjg5OEwxNSA1LjEwMlYxMC44OThMMTAuODk4IDE1SDUuMTAyTDEgMTAuODk4VjUuMTAyTDUuMTAyIDFaXCIgZmlsbD1cIiNGQTM4MzhcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCA1LjMzMzMzVjcuOTk5OTlcIiBzdHJva2U9XCIjRjVGQUZGXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICA8cGF0aCBkPVwiTTggMTAuNjY2N0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0Y1RkFGRlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDwvc3ZnPmAsXHJcbiAgcXVlc3Rpb246IGA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgPHBhdGggZD1cIk04LjAwMDA0IDE0LjY2NjhDMTEuNjgxOSAxNC42NjY4IDE0LjY2NjcgMTEuNjgyMSAxNC42NjY3IDguMDAwMTZDMTQuNjY2NyA0LjMxODI2IDExLjY4MTkgMS4zMzM1IDguMDAwMDQgMS4zMzM1QzQuMzE4MTQgMS4zMzM1IDEuMzMzMzcgNC4zMTgyNiAxLjMzMzM3IDguMDAwMTZDMS4zMzMzNyAxMS42ODIxIDQuMzE4MTQgMTQuNjY2OCA4LjAwMDA0IDE0LjY2NjhaXCIgc3Ryb2tlPVwiIzhEMzhGQVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgPHBhdGggZD1cIk02LjA1OTk0IDUuOTk5ODlDNi4yMTY2NyA1LjU1NDM0IDYuNTI2MDQgNS4xNzg2MyA2LjkzMzI0IDQuOTM5MzFDNy4zNDA0NCA0LjcgNy44MTkyIDQuNjEyNTIgOC4yODQ3MiA0LjY5MjM3QzguNzUwMjQgNC43NzIyMiA5LjE3MjQ4IDUuMDE0MjQgOS40NzY2NSA1LjM3NTU4QzkuNzgwODMgNS43MzY5MSA5Ljk0NzMxIDYuMTk0MjQgOS45NDY2IDYuNjY2NTZDOS45NDY2IDcuOTk5ODkgNy45NDY2IDguNjY2NTYgNy45NDY2IDguNjY2NTZWOS40OTk4OVwiIHN0cm9rZT1cIiM4RDM4RkFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgIDxwYXRoIGQ9XCJNOCAxMS4zMzM1SDguMDA2NjdcIiBzdHJva2U9XCIjOEQzOEZBXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPC9zdmc+YCxcclxuICBsb2FkaW5nOiBgPHN2ZyBjbGFzcz1cImNpcmN1bGFyLWxvYWRlclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiID5cclxuICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkZXItcGF0aFwiIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjNTc1NzU3XCIgc3Ryb2tlLXdpZHRoPVwiNVwiIC8+XHJcbiAgPC9zdmc+YCxcclxufTtcclxuXHJcbmludGVyZmFjZSBTbmFja2JhckFjdGlvbkNvbmZpZyB7XHJcbiAgc3R5bGU6ICdsaW5rJyB8ICdidXR0b24nO1xyXG4gIGNvbmZpcm0/OiB7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgYWN0aW9uOiBGdW5jdGlvbjtcclxuICB9O1xyXG4gIGNhbmNlbD86IHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBhY3Rpb246IEZ1bmN0aW9uO1xyXG4gIH07XHJcbn1cclxuXHJcbmludGVyZmFjZSBTbmFja2JhckNvbmZpZyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICB0eXBlPzogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHwgJ2xvYWRpbmcnO1xyXG4gIGR1cmF0aW9uPzogbnVtYmVyO1xyXG4gIGhvcml6b250YWxQb3NpdGlvbj86ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcclxuICB2ZXJ0aWNhbFBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJztcclxuICBhY3Rpb24/OiBTbmFja2JhckFjdGlvbkNvbmZpZztcclxuICBrZWVwT3Blbj86IGJvb2xlYW47XHJcbiAgYmxpbmtUYWI/OiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBTbmFja2JhckVsZW1lbnRzIHtcclxuICBlbGVtZW50czoge1xyXG4gICAgZWxlbWVudD86IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgaW50ZXJ2YWw/OiBhbnk7XHJcbiAgfVtdID0gW107XHJcbiAgbGFzdFNjcm9sbFRvcDogbnVtYmVyID0gMTU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYWRkKGVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50LCBkdXJhdGlvbjogbnVtYmVyLCBjYWxsYmFjazogRnVuY3Rpb24sIHZlcnRpY2FsUG9zaXRpb246IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuZWxlbWVudHMgJiYgdGhpcy5lbGVtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5sYXN0U2Nyb2xsVG9wID0gMTU7XHJcbiAgICB9XHJcbiAgICBlbGVtZW50LnN0eWxlW3ZlcnRpY2FsUG9zaXRpb25dID0gYCR7dGhpcy5sYXN0U2Nyb2xsVG9wfXB4YDtcclxuXHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgY2FsbGJhY2soKTtcclxuICAgIH0sIGR1cmF0aW9uKTtcclxuXHJcbiAgICB0aGlzLmVsZW1lbnRzLnB1c2goe1xyXG4gICAgICBlbGVtZW50OiBlbGVtZW50LFxyXG4gICAgICBpbnRlcnZhbDogaW50ZXJ2YWwsXHJcbiAgICB9KTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSB0aGlzLmxhc3RTY3JvbGxUb3AgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50LmlkKS5vZmZzZXRIZWlnaHQgKyAxNTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShyZW1vdmVJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50cy5maW5kKCh7IGVsZW1lbnQ6IHsgaWQgfSB9KSA9PiBpZCA9PT0gcmVtb3ZlSWQpO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5lbGVtZW50cyA9XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy5maWx0ZXIoKHsgZWxlbWVudDogeyBpZCB9IH0pID0+IGlkICE9PSBlbGVtZW50LmVsZW1lbnQuaWQpIHx8IFtdO1xyXG4gICAgICBlbGVtZW50LmVsZW1lbnQuY2xhc3NOYW1lID0gYCR7ZWxlbWVudC5lbGVtZW50LmNsYXNzTmFtZX0gZmFkZS1vdXQgaGlkZWA7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubGFzdFNjcm9sbFRvcCA9XHJcbiAgICAgICAgICB0aGlzLmxhc3RTY3JvbGxUb3AgLSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocmVtb3ZlSWQpLm9mZnNldEhlaWdodCArIDE1KTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQuZWxlbWVudCk7XHJcbiAgICAgICAgY2xlYXJJbnRlcnZhbChlbGVtZW50LmludGVydmFsKTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGwoKSB7XHJcbiAgICB0aGlzLmVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVtZW50LmVsZW1lbnQpO1xyXG4gICAgICBjbGVhckludGVydmFsKGVsZW1lbnQuaW50ZXJ2YWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxhc3RTY3JvbGxUb3AgPSAxNTtcclxuICAgIHRoaXMuZWxlbWVudHMgPSBbXTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29uZmlnOiBTbmFja2JhckNvbmZpZztcclxuICBwcml2YXRlIHNuYWNrYmFyRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckVsZW1lbnRzOiBTbmFja2JhckVsZW1lbnRzO1xyXG4gIHByaXZhdGUgc25hY2tiYXJCb2R5RWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBzbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgcHJpdmF0ZSBvbGRUaXRsZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGltZW91dEJsaW5rVGFiID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvblJvdXRlcjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuc25hY2tiYXJFbGVtZW50cyA9IG5ldyBTbmFja2JhckVsZW1lbnRzKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uUm91dGVyLm9uVXJsQ2hhbmdlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0b3BCbGlua2luZygpIHtcclxuICAgIGlmICh0aGlzLm9sZFRpdGxlKSB7XHJcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gdGhpcy5vbGRUaXRsZTtcclxuICAgICAgaWYgKHRoaXMuc25hY2tiYXJFbGVtZW50cy5lbGVtZW50cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lb3V0QmxpbmtUYWIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJsaW5rVGFiKCkge1xyXG4gICAgdGhpcy5vbGRUaXRsZSA9IHRoaXMub2xkVGl0bGUgfHwgZG9jdW1lbnQudGl0bGU7XHJcblxyXG4gICAgY29uc3Qgc3RhcnRCbGlua2luZyA9ICgpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2UgPSBgKCR7dGhpcy5zbmFja2JhckVsZW1lbnRzLmVsZW1lbnRzLmxlbmd0aH0pICR7dGhpcy5vbGRUaXRsZX1gO1xyXG4gICAgICBkb2N1bWVudC50aXRsZSA9IGRvY3VtZW50LnRpdGxlID09PSBtZXNzYWdlID8gdGhpcy5vbGRUaXRsZSA6IG1lc3NhZ2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnRpbWVvdXRCbGlua1RhYikgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVvdXRCbGlua1RhYik7XHJcbiAgICB0aGlzLnRpbWVvdXRCbGlua1RhYiA9IHNldEludGVydmFsKHN0YXJ0QmxpbmtpbmcsIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0KGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xyXG4gICAgbGV0IHsgaG9yaXpvbnRhbFBvc2l0aW9uLCB2ZXJ0aWNhbFBvc2l0aW9uLCB0eXBlIH0gPSBjb25maWc7XHJcbiAgICBob3Jpem9udGFsUG9zaXRpb24gPSBob3Jpem9udGFsUG9zaXRpb24gfHwgJ2NlbnRlcic7XHJcbiAgICB2ZXJ0aWNhbFBvc2l0aW9uID0gdmVydGljYWxQb3NpdGlvbiB8fCAndG9wJztcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuaWQgPSBgJHtpZH1gO1xyXG4gICAgdGhpcy5zbmFja2JhckVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtc25hY2tiYXItY29udGFpbmVyICR7aG9yaXpvbnRhbFBvc2l0aW9ufS0ke3ZlcnRpY2FsUG9zaXRpb259ICR7dHlwZX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKSB7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRoaXMuc25hY2tiYXJCb2R5RWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keSc7XHJcblxyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50JztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRUaXRsZUFuZE1lc3NhZ2UoKSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBjb25maWc6IHsgdGl0bGUsIG1lc3NhZ2UsIGFjdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHRpdGxlRWxlbWVudC5pbm5lclRleHQgPSBgJHt0aXRsZX1gO1xyXG4gICAgdGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtdGl0bGUnO1xyXG5cclxuICAgIGNvbnN0IG1lc3NhZ2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5pbm5lclRleHQgPSBgJHttZXNzYWdlfWA7XHJcbiAgICBtZXNzYWdlRWxlbWVudC5jbGFzc05hbWUgPSBgbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1jb250ZW50LW1lc3NhZ2UgJHtcclxuICAgICAgYWN0aW9uID8gJ3dpdGgtYWN0aW9uJyA6ICcnXHJcbiAgICB9YDtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LmFwcGVuZENoaWxkKG1lc3NhZ2VFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBY3Rpb24oaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb25maWc6IHsgdHlwZSwgYWN0aW9uIH0sXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGlmIChhY3Rpb24pIHtcclxuICAgICAgY29uc3QgeyBzdHlsZSwgY29uZmlybSwgY2FuY2VsIH0gPSBhY3Rpb247XHJcbiAgICAgIGNvbnN0IGFjdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpb25DYW5jZWxFbGVtZW50ID0gbnVsbCxcclxuICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IG51bGw7XHJcbiAgICAgIGlmIChzdHlsZSA9PT0gJ2xpbmsnKSB7XHJcbiAgICAgICAgaWYgKGNhbmNlbCkge1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICAgIGFjdGlvbkNhbmNlbEVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknO1xyXG4gICAgICAgICAgYWN0aW9uQ2FuY2VsRWxlbWVudC5pbm5lclRleHQgPSBjYW5jZWwubGFiZWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29uZmlybSkge1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSc7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoY2FuY2VsKSB7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmNsYXNzTmFtZSA9IGBtZWN4LWJ1dHRvbi10ZXJ0aWFyeSBtZWN4LWJ1dHRvbi10ZXJ0aWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmlubmVyVGV4dCA9IGNhbmNlbC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb25maXJtKSB7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xyXG4gICAgICAgICAgYWN0aW9uQ29uZmlybUVsZW1lbnQuY2xhc3NOYW1lID0gYG1lY3gtYnV0dG9uLXByaW1hcnkgbWVjeC1idXR0b24tcHJpbWFyeV9fJHt0eXBlfWA7XHJcbiAgICAgICAgICBhY3Rpb25Db25maXJtRWxlbWVudC5pbm5lclRleHQgPSBjb25maXJtLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGlvbkNhbmNlbEVsZW1lbnQpIHtcclxuICAgICAgICBhY3Rpb25DYW5jZWxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjYW5jZWwuYWN0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ2FuY2VsRWxlbWVudCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3Rpb25Db25maXJtRWxlbWVudCkge1xyXG4gICAgICAgIGFjdGlvbkNvbmZpcm1FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZShpZCk7XHJcbiAgICAgICAgICBjb25maXJtLmFjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGFjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoYWN0aW9uQ29uZmlybUVsZW1lbnQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhY3Rpb25FbGVtZW50LmNsYXNzTmFtZSA9ICdtZWN4LXNuYWNrYmFyLWNvbnRhaW5lci1ib2R5LWNvbnRlbnQtYWN0aW9uJztcclxuICAgICAgdGhpcy5zbmFja2JhckJvZHlNZXNzYWdlRWxlbWVudC5hcHBlbmRDaGlsZChhY3Rpb25FbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRJY29uKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IHR5cGUgfSxcclxuICAgIH0gPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IHNuYWNrYmFyQm9keUljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICBzbmFja2JhckJvZHlJY29uRWxlbWVudC5jbGFzc05hbWUgPSAnbWVjeC1zbmFja2Jhci1jb250YWluZXItYm9keS1pY29uJztcclxuICAgIHNuYWNrYmFyQm9keUljb25FbGVtZW50LmlubmVySFRNTCA9IGAke2ljb25zW3R5cGVdfWA7XHJcbiAgICB0aGlzLnNuYWNrYmFyQm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc25hY2tiYXJCb2R5SWNvbkVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2goaWQ6IHN0cmluZykge1xyXG4gICAgbGV0IHtcclxuICAgICAgY29uZmlnOiB7IGR1cmF0aW9uLCBrZWVwT3BlbiwgdmVydGljYWxQb3NpdGlvbiB9LFxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBkdXJhdGlvbiA9IGR1cmF0aW9uIHx8IDQwMDA7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyQm9keUVsZW1lbnQsIHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50LCBzbmFja2JhckVsZW1lbnQgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckJvZHlFbGVtZW50LmFwcGVuZENoaWxkKHNuYWNrYmFyQm9keU1lc3NhZ2VFbGVtZW50KTtcclxuICAgIHNuYWNrYmFyRWxlbWVudC5hcHBlbmRDaGlsZChzbmFja2JhckJvZHlFbGVtZW50KTtcclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyRWxlbWVudHMuYWRkKFxyXG4gICAgICBzbmFja2JhckVsZW1lbnQsXHJcbiAgICAgIGR1cmF0aW9uLFxyXG4gICAgICAoKSA9PiAoIWtlZXBPcGVuID8gdGhpcy5jbG9zZShpZCkgOiBudWxsKSxcclxuICAgICAgdmVydGljYWxQb3NpdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2UoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBzbmFja2JhckVsZW1lbnRzIH0gPSB0aGlzO1xyXG4gICAgc25hY2tiYXJFbGVtZW50cy5yZW1vdmUoaWQpO1xyXG4gICAgdGhpcy5zdG9wQmxpbmtpbmcoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93KGNvbmZpZzogU25hY2tiYXJDb25maWcpIHtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgY29uc3QgaWQgPSBgbW9ua2V5LXNuYWNrYmFyLSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gO1xyXG4gICAgdGhpcy5jbG9zZUFsbCgpO1xyXG4gICAgdGhpcy5pbml0KGlkKTtcclxuICAgIHRoaXMuYnVpbGRCb2R5KCk7XHJcbiAgICB0aGlzLmJ1aWxkVGl0bGVBbmRNZXNzYWdlKCk7XHJcbiAgICB0aGlzLmJ1aWxkQWN0aW9uKGlkKTtcclxuICAgIHRoaXMuYnVpbGRJY29uKCk7XHJcbiAgICB0aGlzLmZpbmlzaChpZCk7XHJcbiAgICBpZiAoY29uZmlnPy5ibGlua1RhYikge1xyXG4gICAgICB0aGlzLmJsaW5rVGFiKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBbGwoKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyRWxlbWVudHMgfSA9IHRoaXM7XHJcbiAgICBzbmFja2JhckVsZW1lbnRzLnJlbW92ZUFsbCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
File without changes
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { PhoneNumberUtil } from 'google-libphonenumber';
|
|
2
|
+
const phoneUtil = PhoneNumberUtil.getInstance();
|
|
3
|
+
export class MonkeyUtils {
|
|
4
|
+
static persistNullEmptyUndefined(tp) {
|
|
5
|
+
return tp !== null && tp !== undefined && tp !== '';
|
|
6
|
+
}
|
|
7
|
+
static getDocumentType(doc) {
|
|
8
|
+
if (!doc)
|
|
9
|
+
return '';
|
|
10
|
+
return doc.length <= 11 ? 'CPF' : 'CNPJ';
|
|
11
|
+
}
|
|
12
|
+
static getDocumentMask(type) {
|
|
13
|
+
if (type === 'CPF')
|
|
14
|
+
return '000.000.000-00';
|
|
15
|
+
return '00.000.000/0000-00';
|
|
16
|
+
}
|
|
17
|
+
static formatDocumentWithMask(doc, withType) {
|
|
18
|
+
if (!doc)
|
|
19
|
+
return doc;
|
|
20
|
+
let formated = '';
|
|
21
|
+
if (doc.length === 14)
|
|
22
|
+
formated = doc
|
|
23
|
+
.replace(/^(\d{2})(\d)/, '$1.$2')
|
|
24
|
+
.replace(/^(\d{2})\.(\d{3})(\d)/, '$1.$2.$3')
|
|
25
|
+
.replace(/\.(\d{3})(\d)/, '.$1/$2')
|
|
26
|
+
.replace(/(\d{4})(\d)/, '$1-$2');
|
|
27
|
+
else
|
|
28
|
+
formated = doc
|
|
29
|
+
.replace(/^(\d{3})(\d)/, '$1.$2')
|
|
30
|
+
.replace(/^(\d{3})\.(\d{3})(\d)/, '$1.$2.$3')
|
|
31
|
+
.replace(/\.(\d{3})(\d)/, '.$1-$2');
|
|
32
|
+
return `${withType ? `${this.getDocumentType(doc)}:` : ''} ${formated}`;
|
|
33
|
+
}
|
|
34
|
+
static cutFirstLastName(value, tp = 'first') {
|
|
35
|
+
const split = value?.trim()?.split(' ');
|
|
36
|
+
if (tp === 'first')
|
|
37
|
+
return split[0];
|
|
38
|
+
return split?.splice(1, split.length)?.join(' ');
|
|
39
|
+
}
|
|
40
|
+
static isCPFCNPJValid(document) {
|
|
41
|
+
document = document.replace(/[^\d]/g, '');
|
|
42
|
+
if (document.length === 11) {
|
|
43
|
+
let base = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
|
|
44
|
+
for (var i = 0, n = 0; i < 9; n += document[i] * base[i++])
|
|
45
|
+
;
|
|
46
|
+
if (document[9] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
base = [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0];
|
|
50
|
+
for (var i = 0, n = 0; i <= 9; n += document[i] * base[i++])
|
|
51
|
+
;
|
|
52
|
+
if (document[10] != ((n %= 11) <= 1 ? 0 : 11 - n)) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
else if (document.length === 14 || /0{14}/.test(document)) {
|
|
58
|
+
let base = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
|
|
59
|
+
for (var i = 0, n = 0; i < 12; n += document[i] * base[++i])
|
|
60
|
+
;
|
|
61
|
+
if (document[12] != ((n %= 11) < 2 ? 0 : 11 - n)) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
for (var i = 0, n = 0; i <= 12; n += document[i] * base[i++])
|
|
65
|
+
;
|
|
66
|
+
if (document[13] != ((n %= 11) < 2 ? 0 : 11 - n)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
else
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
static isValidUrl(txt) {
|
|
75
|
+
const regex = new RegExp(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)+[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,10}(:[0-9]{1,5})?(\/.*)?$/gm);
|
|
76
|
+
return regex.test(txt);
|
|
77
|
+
}
|
|
78
|
+
static isValidZipCode(zipCode) {
|
|
79
|
+
return `${this.handleOnlyNumbers(zipCode)}`.length === 8;
|
|
80
|
+
}
|
|
81
|
+
static getRandomString(len, charSet) {
|
|
82
|
+
charSet = charSet || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
83
|
+
let randomString = Array.apply(null, Array(len))
|
|
84
|
+
.map(function () {
|
|
85
|
+
return charSet.charAt(Math.floor(Math.random() * charSet.length));
|
|
86
|
+
})
|
|
87
|
+
.join('');
|
|
88
|
+
return randomString;
|
|
89
|
+
}
|
|
90
|
+
static handleOnlyNumbers(value) {
|
|
91
|
+
if (!value)
|
|
92
|
+
return null;
|
|
93
|
+
return value.replace(new RegExp(/[^0-9]/g), '');
|
|
94
|
+
}
|
|
95
|
+
static handleOnlyAlphaNumeric(value) {
|
|
96
|
+
if (!value)
|
|
97
|
+
return '';
|
|
98
|
+
return value.replace(new RegExp(/[^0-9A-Za-z]/, 'g'), '');
|
|
99
|
+
}
|
|
100
|
+
static capitalize(value) {
|
|
101
|
+
return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
|
|
102
|
+
}
|
|
103
|
+
static formatZipCode(zipCode) {
|
|
104
|
+
if (!zipCode)
|
|
105
|
+
return zipCode;
|
|
106
|
+
const formated = zipCode
|
|
107
|
+
.replace(/^(\d{5})(\d)/, '$1-$2')
|
|
108
|
+
.replace(/\.(\d{3})(\d)/, '.$1-$2');
|
|
109
|
+
return `${formated}`;
|
|
110
|
+
}
|
|
111
|
+
static formatFileSize(size) {
|
|
112
|
+
let units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
113
|
+
let l = 0;
|
|
114
|
+
while (size >= 1024 && ++l) {
|
|
115
|
+
size = size / 1024;
|
|
116
|
+
}
|
|
117
|
+
return size.toFixed(size < 10 && l > 0 ? 1 : 0) + ' ' + units[l];
|
|
118
|
+
}
|
|
119
|
+
static sufflue(data) {
|
|
120
|
+
for (let i = data.length - 1; i > 0; i--) {
|
|
121
|
+
const j = Math.floor(Math.random() * i);
|
|
122
|
+
const temp = data[i];
|
|
123
|
+
data[i] = data[j];
|
|
124
|
+
data[j] = temp;
|
|
125
|
+
}
|
|
126
|
+
return data;
|
|
127
|
+
}
|
|
128
|
+
static handleBlobFile(theBlob, fileName, fileType) {
|
|
129
|
+
function blobToFile(theBlob, fileName) {
|
|
130
|
+
const b = theBlob;
|
|
131
|
+
b.lastModifiedDate = new Date();
|
|
132
|
+
b.name = fileName;
|
|
133
|
+
return b;
|
|
134
|
+
}
|
|
135
|
+
let file;
|
|
136
|
+
if (!navigator.msSaveBlob) {
|
|
137
|
+
file = new File([theBlob], fileName, { type: fileType });
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
file = new Blob([theBlob], { type: fileType });
|
|
141
|
+
file = blobToFile(file, fileName);
|
|
142
|
+
}
|
|
143
|
+
return file;
|
|
144
|
+
}
|
|
145
|
+
static truncate(text, maxLength = 25) {
|
|
146
|
+
const midChar = '...';
|
|
147
|
+
if (!text)
|
|
148
|
+
return midChar;
|
|
149
|
+
if (text && text.length <= maxLength)
|
|
150
|
+
return text;
|
|
151
|
+
const left = Math.ceil(maxLength / 2);
|
|
152
|
+
const right = text.length - left + 1;
|
|
153
|
+
return `${text.substr(0, left)} ${midChar} ${text.substring(right)}`;
|
|
154
|
+
}
|
|
155
|
+
static isLocalhost() {
|
|
156
|
+
const { href } = window?.location;
|
|
157
|
+
if (!href)
|
|
158
|
+
return false;
|
|
159
|
+
return href?.search('localhost') >= 0;
|
|
160
|
+
}
|
|
161
|
+
static getPhoneRegions() {
|
|
162
|
+
return phoneUtil
|
|
163
|
+
.getSupportedRegions()
|
|
164
|
+
.map((code) => {
|
|
165
|
+
return phoneUtil.getCountryCodeForRegion(code);
|
|
166
|
+
})
|
|
167
|
+
.filter((v, i, a) => a.indexOf(v) === i)
|
|
168
|
+
.sort((a, b) => (a < b ? -1 : 1));
|
|
169
|
+
}
|
|
170
|
+
static getPhoneHandle(internationalNumber = 55) {
|
|
171
|
+
let maxLength = 14;
|
|
172
|
+
let mask = 'XX XXXXX-XXXX';
|
|
173
|
+
try {
|
|
174
|
+
const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
|
|
175
|
+
const exampleNumber = phoneUtil.getExampleNumber(country)['values_']['2'];
|
|
176
|
+
const number = phoneUtil.parse(`${exampleNumber}`, country);
|
|
177
|
+
const formated = phoneUtil.format(number, null);
|
|
178
|
+
if (formated) {
|
|
179
|
+
maxLength = `${formated}`.length;
|
|
180
|
+
mask = `${formated}`.replace(new RegExp(/[^0-9]/g), '0');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
//not to do
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
maxLength,
|
|
188
|
+
mask,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
static getPhoneCountryCode(phone) {
|
|
192
|
+
if (!phone)
|
|
193
|
+
return '';
|
|
194
|
+
let cc = `${this.handleOnlyNumbers(phone)}`?.substring(0, 2);
|
|
195
|
+
let code;
|
|
196
|
+
try {
|
|
197
|
+
const number = phoneUtil.parse(phone);
|
|
198
|
+
code = number.getCountryCodeOrDefault();
|
|
199
|
+
}
|
|
200
|
+
catch (e) {
|
|
201
|
+
//not to do
|
|
202
|
+
}
|
|
203
|
+
return code || cc;
|
|
204
|
+
}
|
|
205
|
+
static getPhoneNumberFormated(phone, internationalNumber = 55) {
|
|
206
|
+
if (!phone)
|
|
207
|
+
return '';
|
|
208
|
+
phone = phone.replace(`+${internationalNumber}`, '');
|
|
209
|
+
try {
|
|
210
|
+
const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
|
|
211
|
+
const number = phoneUtil.parse(phone, country);
|
|
212
|
+
if (phoneUtil.isPossibleNumber(number)) {
|
|
213
|
+
return phoneUtil.format(number, null);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
//not to do
|
|
218
|
+
}
|
|
219
|
+
return phone;
|
|
220
|
+
}
|
|
221
|
+
static isPhoneNumberValid(phone, internationalNumber = 55) {
|
|
222
|
+
if (!phone)
|
|
223
|
+
return false;
|
|
224
|
+
try {
|
|
225
|
+
const country = phoneUtil.getRegionCodeForCountryCode(internationalNumber);
|
|
226
|
+
const number = phoneUtil.parse(phone, country);
|
|
227
|
+
return phoneUtil.isValidNumberForRegion(number, country);
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
//not to do
|
|
231
|
+
}
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktc3R5bGUtZ3VpZGUvc3JjL2xpYi9jb3JlL3V0aWxzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7QUFFaEQsTUFBTSxPQUFPLFdBQVc7SUFDZixNQUFNLENBQUMseUJBQXlCLENBQUMsRUFBTztRQUM3QyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxLQUFLLFNBQVMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDdkMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ3hDLElBQUksSUFBSSxLQUFLLEtBQUs7WUFBRSxPQUFPLGdCQUFnQixDQUFDO1FBQzVDLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxHQUFXLEVBQUUsUUFBa0I7UUFDbEUsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNyQixJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEVBQUU7WUFDbkIsUUFBUSxHQUFHLEdBQUc7aUJBQ1gsT0FBTyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxVQUFVLENB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TSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzFEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixXQUFXO1NBQ1o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBob25lTnVtYmVyVXRpbCB9IGZyb20gJ2dvb2dsZS1saWJwaG9uZW51bWJlcic7XHJcblxyXG5jb25zdCBwaG9uZVV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlVdGlscyB7XHJcbiAgcHVibGljIHN0YXRpYyBwZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cCAhPT0gbnVsbCAmJiB0cCAhPT0gdW5kZWZpbmVkICYmIHRwICE9PSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jdW1lbnRUeXBlKGRvYzogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWRvYykgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIGRvYy5sZW5ndGggPD0gMTEgPyAnQ1BGJyA6ICdDTlBKJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jdW1lbnRNYXNrKHR5cGU6IHN0cmluZykge1xyXG4gICAgaWYgKHR5cGUgPT09ICdDUEYnKSByZXR1cm4gJzAwMC4wMDAuMDAwLTAwJztcclxuICAgIHJldHVybiAnMDAuMDAwLjAwMC8wMDAwLTAwJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0RG9jdW1lbnRXaXRoTWFzayhkb2M6IHN0cmluZywgd2l0aFR5cGU/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGlmICghZG9jKSByZXR1cm4gZG9jO1xyXG4gICAgbGV0IGZvcm1hdGVkOiBzdHJpbmcgPSAnJztcclxuICAgIGlmIChkb2MubGVuZ3RoID09PSAxNClcclxuICAgICAgZm9ybWF0ZWQgPSBkb2NcclxuICAgICAgICAucmVwbGFjZSgvXihcXGR7Mn0pKFxcZCkvLCAnJDEuJDInKVxyXG4gICAgICAgIC5yZXBsYWNlKC9eKFxcZHsyfSlcXC4oXFxkezN9KShcXGQpLywgJyQxLiQyLiQzJylcclxuICAgICAgICAucmVwbGFjZSgvXFwuKFxcZHszfSkoXFxkKS8sICcuJDEvJDInKVxyXG4gICAgICAgIC5yZXBsYWNlKC8oXFxkezR9KShcXGQpLywgJyQxLSQyJyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGZvcm1hdGVkID0gZG9jXHJcbiAgICAgICAgLnJlcGxhY2UoL14oXFxkezN9KShcXGQpLywgJyQxLiQyJylcclxuICAgICAgICAucmVwbGFjZSgvXihcXGR7M30pXFwuKFxcZHszfSkoXFxkKS8sICckMS4kMi4kMycpXHJcbiAgICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XHJcblxyXG4gICAgcmV0dXJuIGAke3dpdGhUeXBlID8gYCR7dGhpcy5nZXREb2N1bWVudFR5cGUoZG9jKX06YCA6ICcnfSAke2Zvcm1hdGVkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGN1dEZpcnN0TGFzdE5hbWUodmFsdWU6IHN0cmluZywgdHA6IHN0cmluZyA9ICdmaXJzdCcpIHtcclxuICAgIGNvbnN0IHNwbGl0ID0gdmFsdWU/LnRyaW0oKT8uc3BsaXQoJyAnKTtcclxuXHJcbiAgICBpZiAodHAgPT09ICdmaXJzdCcpIHJldHVybiBzcGxpdFswXTtcclxuICAgIHJldHVybiBzcGxpdD8uc3BsaWNlKDEsIHNwbGl0Lmxlbmd0aCk/LmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNDUEZDTlBKVmFsaWQoZG9jdW1lbnQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgZG9jdW1lbnQgPSBkb2N1bWVudC5yZXBsYWNlKC9bXlxcZF0vZywgJycpO1xyXG4gICAgaWYgKGRvY3VtZW50Lmxlbmd0aCA9PT0gMTEpIHtcclxuICAgICAgbGV0IGJhc2UgPSBbMTAsIDksIDgsIDcsIDYsIDUsIDQsIDMsIDIsIDEsIDBdO1xyXG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPCA5OyBuICs9IGRvY3VtZW50W2ldICogYmFzZVtpKytdKTtcclxuICAgICAgaWYgKGRvY3VtZW50WzldICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGJhc2UgPSBbMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxLCAwXTtcclxuICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSAwOyBpIDw9IDk7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlW2krK10pO1xyXG4gICAgICBpZiAoZG9jdW1lbnRbMTBdICE9ICgobiAlPSAxMSkgPD0gMSA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChkb2N1bWVudC5sZW5ndGggPT09IDE0IHx8IC8wezE0fS8udGVzdChkb2N1bWVudCkpIHtcclxuICAgICAgbGV0IGJhc2UgPSBbNiwgNSwgNCwgMywgMiwgOSwgOCwgNywgNiwgNSwgNCwgMywgMl07XHJcbiAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gMDsgaSA8IDEyOyBuICs9IGRvY3VtZW50W2ldICogYmFzZVsrK2ldKTtcclxuICAgICAgaWYgKGRvY3VtZW50WzEyXSAhPSAoKG4gJT0gMTEpIDwgMiA/IDAgOiAxMSAtIG4pKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMCwgbiA9IDA7IGkgPD0gMTI7IG4gKz0gZG9jdW1lbnRbaV0gKiBiYXNlW2krK10pO1xyXG4gICAgICBpZiAoZG9jdW1lbnRbMTNdICE9ICgobiAlPSAxMSkgPCAyID8gMCA6IDExIC0gbikpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZFVybCh0eHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKFxyXG4gICAgICAvXihodHRwOlxcL1xcL3d3d1xcLnxodHRwczpcXC9cXC93d3dcXC58aHR0cDpcXC9cXC98aHR0cHM6XFwvXFwvKStbYS16MC05XSsoW1xcLVxcLl17MX1bYS16MC05XSspKlxcLlthLXpdezIsMTB9KDpbMC05XXsxLDV9KT8oXFwvLiopPyQvZ21cclxuICAgICk7XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdCh0eHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc1ZhbGlkWmlwQ29kZSh6aXBDb2RlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmhhbmRsZU9ubHlOdW1iZXJzKHppcENvZGUpfWAubGVuZ3RoID09PSA4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRSYW5kb21TdHJpbmcobGVuOiBudW1iZXIsIGNoYXJTZXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY2hhclNldCA9IGNoYXJTZXQgfHwgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcclxuICAgIGxldCByYW5kb21TdHJpbmc6IHN0cmluZyA9IEFycmF5LmFwcGx5KG51bGwsIEFycmF5KGxlbikpXHJcbiAgICAgIC5tYXAoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiBjaGFyU2V0LmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyU2V0Lmxlbmd0aCkpO1xyXG4gICAgICB9KVxyXG4gICAgICAuam9pbignJyk7XHJcbiAgICByZXR1cm4gcmFuZG9tU3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVPbmx5TnVtYmVycyh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVPbmx5QWxwaGFOdW1lcmljKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICghdmFsdWUpIHJldHVybiAnJztcclxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05QS1aYS16XS8sICdnJyksICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2FwaXRhbGl6ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gYCR7dmFsdWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHt2YWx1ZS5zbGljZSgxKX1gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXRaaXBDb2RlKHppcENvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXppcENvZGUpIHJldHVybiB6aXBDb2RlO1xyXG4gICAgY29uc3QgZm9ybWF0ZWQ6IHN0cmluZyA9IHppcENvZGVcclxuICAgICAgLnJlcGxhY2UoL14oXFxkezV9KShcXGQpLywgJyQxLSQyJylcclxuICAgICAgLnJlcGxhY2UoL1xcLihcXGR7M30pKFxcZCkvLCAnLiQxLSQyJyk7XHJcblxyXG4gICAgcmV0dXJuIGAke2Zvcm1hdGVkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEZpbGVTaXplKHNpemU6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgdW5pdHMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcclxuICAgIGxldCBsID0gMDtcclxuICAgIHdoaWxlIChzaXplID49IDEwMjQgJiYgKytsKSB7XHJcbiAgICAgIHNpemUgPSBzaXplIC8gMTAyNDtcclxuICAgIH1cclxuICAgIHJldHVybiBzaXplLnRvRml4ZWQoc2l6ZSA8IDEwICYmIGwgPiAwID8gMSA6IDApICsgJyAnICsgdW5pdHNbbF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHN1ZmZsdWUoZGF0YTogYW55W10pOiBhbnlbXSB7XHJcbiAgICBmb3IgKGxldCBpID0gZGF0YS5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IGogPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpKTtcclxuICAgICAgY29uc3QgdGVtcCA9IGRhdGFbaV07XHJcbiAgICAgIGRhdGFbaV0gPSBkYXRhW2pdO1xyXG4gICAgICBkYXRhW2pdID0gdGVtcDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBoYW5kbGVCbG9iRmlsZSh0aGVCbG9iOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcsIGZpbGVUeXBlOiBzdHJpbmcpIHtcclxuICAgIGZ1bmN0aW9uIGJsb2JUb0ZpbGUodGhlQmxvYiwgZmlsZU5hbWUpIHtcclxuICAgICAgY29uc3QgYiA9IHRoZUJsb2I7XHJcbiAgICAgIGIubGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGIubmFtZSA9IGZpbGVOYW1lO1xyXG4gICAgICByZXR1cm4gYjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmlsZTogYW55O1xyXG4gICAgaWYgKCEobmF2aWdhdG9yIGFzIGFueSkubXNTYXZlQmxvYikge1xyXG4gICAgICBmaWxlID0gbmV3IEZpbGUoW3RoZUJsb2JdLCBmaWxlTmFtZSwgeyB0eXBlOiBmaWxlVHlwZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbGUgPSBuZXcgQmxvYihbdGhlQmxvYl0sIHsgdHlwZTogZmlsZVR5cGUgfSk7XHJcbiAgICAgIGZpbGUgPSBibG9iVG9GaWxlKGZpbGUsIGZpbGVOYW1lKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyB0cnVuY2F0ZSh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gMjUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWlkQ2hhciA9ICcuLi4nO1xyXG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gbWlkQ2hhcjtcclxuICAgIGlmICh0ZXh0ICYmIHRleHQubGVuZ3RoIDw9IG1heExlbmd0aCkgcmV0dXJuIHRleHQ7XHJcblxyXG4gICAgY29uc3QgbGVmdCA9IE1hdGguY2VpbChtYXhMZW5ndGggLyAyKTtcclxuICAgIGNvbnN0IHJpZ2h0ID0gdGV4dC5sZW5ndGggLSBsZWZ0ICsgMTtcclxuXHJcbiAgICByZXR1cm4gYCR7dGV4dC5zdWJzdHIoMCwgbGVmdCl9ICR7bWlkQ2hhcn0gJHt0ZXh0LnN1YnN0cmluZyhyaWdodCl9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNMb2NhbGhvc3QoKSB7XHJcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdz8ubG9jYXRpb247XHJcbiAgICBpZiAoIWhyZWYpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiBocmVmPy5zZWFyY2goJ2xvY2FsaG9zdCcpID49IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFBob25lUmVnaW9ucygpIHtcclxuICAgIHJldHVybiBwaG9uZVV0aWxcclxuICAgICAgLmdldFN1cHBvcnRlZFJlZ2lvbnMoKVxyXG4gICAgICAubWFwKChjb2RlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICByZXR1cm4gcGhvbmVVdGlsLmdldENvdW50cnlDb2RlRm9yUmVnaW9uKGNvZGUpO1xyXG4gICAgICB9KVxyXG4gICAgICAuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpXHJcbiAgICAgIC5zb3J0KChhLCBiKSA9PiAoYSA8IGIgPyAtMSA6IDEpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGhvbmVIYW5kbGUoaW50ZXJuYXRpb25hbE51bWJlciA9IDU1KSB7XHJcbiAgICBsZXQgbWF4TGVuZ3RoID0gMTQ7XHJcbiAgICBsZXQgbWFzayA9ICdYWCBYWFhYWC1YWFhYJztcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBwaG9uZVV0aWwuZ2V0UmVnaW9uQ29kZUZvckNvdW50cnlDb2RlKGludGVybmF0aW9uYWxOdW1iZXIpO1xyXG4gICAgICBjb25zdCBleGFtcGxlTnVtYmVyID0gcGhvbmVVdGlsLmdldEV4YW1wbGVOdW1iZXIoY291bnRyeSlbJ3ZhbHVlc18nXVsnMiddO1xyXG5cclxuICAgICAgY29uc3QgbnVtYmVyID0gcGhvbmVVdGlsLnBhcnNlKGAke2V4YW1wbGVOdW1iZXJ9YCwgY291bnRyeSk7XHJcbiAgICAgIGNvbnN0IGZvcm1hdGVkID0gcGhvbmVVdGlsLmZvcm1hdChudW1iZXIsIG51bGwpO1xyXG4gICAgICBpZiAoZm9ybWF0ZWQpIHtcclxuICAgICAgICBtYXhMZW5ndGggPSBgJHtmb3JtYXRlZH1gLmxlbmd0aDtcclxuICAgICAgICBtYXNrID0gYCR7Zm9ybWF0ZWR9YC5yZXBsYWNlKG5ldyBSZWdFeHAoL1teMC05XS9nKSwgJzAnKTtcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvL25vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbWF4TGVuZ3RoLFxyXG4gICAgICBtYXNrLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGhvbmVDb3VudHJ5Q29kZShwaG9uZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXBob25lKSByZXR1cm4gJyc7XHJcbiAgICBsZXQgY2MgPSBgJHt0aGlzLmhhbmRsZU9ubHlOdW1iZXJzKHBob25lKX1gPy5zdWJzdHJpbmcoMCwgMik7XHJcbiAgICBsZXQgY29kZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IHBob25lVXRpbC5wYXJzZShwaG9uZSk7XHJcbiAgICAgIGNvZGUgPSBudW1iZXIuZ2V0Q291bnRyeUNvZGVPckRlZmF1bHQoKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy9ub3QgdG8gZG9cclxuICAgIH1cclxuICAgIHJldHVybiBjb2RlIHx8IGNjO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRQaG9uZU51bWJlckZvcm1hdGVkKHBob25lOiBzdHJpbmcsIGludGVybmF0aW9uYWxOdW1iZXIgPSA1NSkge1xyXG4gICAgaWYgKCFwaG9uZSkgcmV0dXJuICcnO1xyXG4gICAgcGhvbmUgPSBwaG9uZS5yZXBsYWNlKGArJHtpbnRlcm5hdGlvbmFsTnVtYmVyfWAsICcnKTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSBwaG9uZVV0aWwuZ2V0UmVnaW9uQ29kZUZvckNvdW50cnlDb2RlKGludGVybmF0aW9uYWxOdW1iZXIpO1xyXG4gICAgICBjb25zdCBudW1iZXIgPSBwaG9uZVV0aWwucGFyc2UocGhvbmUsIGNvdW50cnkpO1xyXG4gICAgICBpZiAocGhvbmVVdGlsLmlzUG9zc2libGVOdW1iZXIobnVtYmVyKSkge1xyXG4gICAgICAgIHJldHVybiBwaG9uZVV0aWwuZm9ybWF0KG51bWJlciwgbnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgLy9ub3QgdG8gZG9cclxuICAgIH1cclxuICAgIHJldHVybiBwaG9uZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXNQaG9uZU51bWJlclZhbGlkKHBob25lOiBzdHJpbmcsIGludGVybmF0aW9uYWxOdW1iZXIgPSA1NSkge1xyXG4gICAgaWYgKCFwaG9uZSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgY291bnRyeSA9IHBob25lVXRpbC5nZXRSZWdpb25Db2RlRm9yQ291bnRyeUNvZGUoaW50ZXJuYXRpb25hbE51bWJlcik7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IHBob25lVXRpbC5wYXJzZShwaG9uZSwgY291bnRyeSk7XHJcbiAgICAgIHJldHVybiBwaG9uZVV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihudW1iZXIsIGNvdW50cnkpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAvL25vdCB0byBkb1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/{esm2015/lib/monkey-style-guide.module.js → esm2020/lib/monkey-style-guide.module.mjs}
RENAMED
|
@@ -8,15 +8,15 @@ import { CommonModule } from '@angular/common';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class MonkeyStyleGuideModule {
|
|
10
10
|
}
|
|
11
|
-
MonkeyStyleGuideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
MonkeyStyleGuideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
13
|
-
MonkeyStyleGuideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
11
|
+
MonkeyStyleGuideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
MonkeyStyleGuideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, imports: [HttpClientModule, CommonModule] });
|
|
13
|
+
MonkeyStyleGuideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, providers: [
|
|
14
14
|
MonkeyStyleGuideService,
|
|
15
15
|
MonkeyStyleGuideSettingsService,
|
|
16
16
|
MonkeyStyleGuideThemeSettingsService,
|
|
17
17
|
MonkeyStyleGuideSnackbarService,
|
|
18
18
|
], imports: [[HttpClientModule, CommonModule]] });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyStyleGuideModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
imports: [HttpClientModule, CommonModule],
|
|
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImpo
|
|
|
28
28
|
],
|
|
29
29
|
}]
|
|
30
30
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5LXN0eWxlLWd1aWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1zdHlsZS1ndWlkZS9zcmMvbGliL21vbmtleS1zdHlsZS1ndWlkZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUMxSCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixZQVJ2QixnQkFBZ0IsRUFBRSxZQUFZO29IQVE3QixzQkFBc0IsYUFQdEI7UUFDVCx1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQywrQkFBK0I7S0FDaEMsWUFOUSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQzsyRkFROUIsc0JBQXNCO2tCQVRsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztvQkFDekMsU0FBUyxFQUFFO3dCQUNULHVCQUF1Qjt3QkFDdkIsK0JBQStCO3dCQUMvQixvQ0FBb0M7d0JBQ3BDLCtCQUErQjtxQkFDaEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2VydmljZSB9IGZyb20gJy4vY29yZS9zZXJ2aWNlcy9tb25rZXktc3R5bGUtZ3VpZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2VydmljZXMvc2V0dGluZ3MvbW9ua2V5LXN0eWxlLWd1aWRlLXRoZW1lLXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NlcnZpY2VzL3NuYWNrYmFyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0h0dHBDbGllbnRNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU2VydmljZSxcclxuICAgIE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlVGhlbWVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlTdHlsZUd1aWRlTW9kdWxlIHt9XHJcbiJdfQ==
|
|
File without changes
|
|
File without changes
|