@dropi/ui-components 1.0.12 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -36
- package/dist/README.md +58 -38
- package/dist/components-source/accordion/accordion-item/accordion-item.component.d.ts +31 -0
- package/dist/components-source/accordion/accordion.component.d.ts +26 -0
- package/dist/components-source/alert/alert.component.d.ts +32 -0
- package/dist/components-source/alert-modal/alert-modal.component.d.ts +78 -0
- package/dist/components-source/alert-validation/alert-validation.component.d.ts +21 -0
- package/dist/components-source/badge/badge.component.d.ts +12 -0
- package/dist/components-source/beta-tag/beta-tag.component.d.ts +5 -0
- package/dist/components-source/breadcrumb/breadcrumb.component.d.ts +11 -0
- package/dist/components-source/card-product/card-product.component.d.ts +204 -0
- package/dist/components-source/card-section/card-section.component.d.ts +31 -0
- package/dist/components-source/checkbox-selection-list/checkbox-selection-list.component.d.ts +26 -0
- package/dist/components-source/city-selector/city-selector.component.d.ts +17 -0
- package/dist/components-source/color-picker/color-picker.component.d.ts +73 -0
- package/dist/components-source/confirm-dialog/confirm-dialog.component.d.ts +10 -0
- package/dist/components-source/country-flags/country-flags.component.d.ts +12 -0
- package/dist/components-source/date-picker/date-picker.component.d.ts +27 -0
- package/dist/components-source/date-picker-range/date-picker-range.component.d.ts +26 -0
- package/dist/components-source/dropi-avatars/dropi-avatars.component.d.ts +11 -0
- package/dist/components-source/dropi-badge/dropi-badge.component.d.ts +29 -0
- package/dist/components-source/dropi-banner-external/dropi-banner-external.component.d.ts +19 -0
- package/dist/components-source/dropi-breadcrumb/dropi-breadcrumb.component.d.ts +22 -0
- package/dist/components-source/dropi-card-checkbox/dropi-card-checkbox.component.d.ts +20 -0
- package/dist/components-source/dropi-carousel/dropi-carousel.component.d.ts +52 -0
- package/dist/components-source/dropi-checkbox/dropi-checkbox.component.d.ts +11 -0
- package/dist/components-source/dropi-chips/dropi-chips.component.d.ts +17 -0
- package/dist/components-source/dropi-country-selector/countries.data.d.ts +6 -0
- package/dist/components-source/dropi-country-selector/dropi-country-selector.component.d.ts +90 -0
- package/dist/components-source/dropi-drawer/dropi-drawer.component.d.ts +20 -0
- package/dist/components-source/dropi-dropdown/dropi-dropdown.component.d.ts +20 -0
- package/dist/components-source/dropi-favorite-button/dropi-favorite-button.component.d.ts +12 -0
- package/dist/components-source/dropi-file-upload/card-view/card-view.component.d.ts +19 -0
- package/dist/components-source/dropi-file-upload/drop-zone/drop-zone.component.d.ts +38 -0
- package/dist/components-source/dropi-file-upload/dropi-file-upload.component.d.ts +18 -0
- package/dist/components-source/dropi-file-upload/file-list/file-list.component.d.ts +39 -0
- package/dist/components-source/dropi-file-upload/grid-view/grid-view.component.d.ts +15 -0
- package/dist/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.d.ts +20 -0
- package/dist/components-source/dropi-image-overlay/dropi-image-overlay.component.d.ts +8 -0
- package/dist/components-source/dropi-languages-selector/dropi-languages-selector.component.d.ts +18 -0
- package/dist/components-source/dropi-logo/dropi-logo.component.d.ts +12 -0
- package/dist/components-source/dropi-modal/dropi-modal.component.d.ts +34 -0
- package/dist/components-source/dropi-modal/p-template.directive.d.ts +9 -0
- package/dist/components-source/dropi-navbar/dropi-navbar.component.d.ts +20 -0
- package/dist/components-source/dropi-paginator/dropi-paginator.component.d.ts +21 -0
- package/dist/components-source/dropi-phone-input/dropi-phone-input.component.d.ts +55 -0
- package/dist/components-source/dropi-radio-button/dropi-radio-button.component.d.ts +17 -0
- package/dist/components-source/dropi-search/dropi-search.component.d.ts +40 -0
- package/dist/components-source/dropi-select/dropi-select.component.d.ts +34 -0
- package/dist/components-source/dropi-skeleton/dropi-skeleton.component.d.ts +14 -0
- package/dist/components-source/dropi-steps/dropi-steps.component.d.ts +64 -0
- package/dist/components-source/dropi-switch/dropi-switch.component.d.ts +11 -0
- package/dist/components-source/dropi-table/dropi-table.component.d.ts +82 -0
- package/dist/components-source/dropi-tag/dropi-tag.component.d.ts +15 -0
- package/dist/components-source/dropi-text-area/dropi-text-area.component.d.ts +14 -0
- package/dist/components-source/dropi-tooltip/dropi-tooltip.component.d.ts +28 -0
- package/dist/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.d.ts +16 -0
- package/dist/components-source/empty/empty.component.d.ts +9 -0
- package/dist/components-source/empty-state/empty-state.component.d.ts +17 -0
- package/dist/components-source/file-upload-progress-bar/file-upload-progress-bar.component.d.ts +30 -0
- package/dist/components-source/index.d.ts +85 -0
- package/dist/components-source/input/input.component.d.ts +33 -0
- package/dist/components-source/lottie-loader/lottie-loader.component.d.ts +9 -0
- package/dist/components-source/otp-send-code/otp-send-code.component.d.ts +83 -0
- package/dist/components-source/radio-selection-list/radio-selection-list.component.d.ts +30 -0
- package/dist/components-source/read-more/read-more.component.d.ts +60 -0
- package/dist/components-source/sidebar/sidebar.component.d.ts +27 -0
- package/dist/components-source/simple-stepper/simple-stepper.component.d.ts +21 -0
- package/dist/components-source/spinner/spinner.component.d.ts +9 -0
- package/dist/components-source/tabs/tabs.component.d.ts +27 -0
- package/dist/components-source/tag-type-product/tag-type-product.component.d.ts +5 -0
- package/dist/components-source/toast/toast.component.d.ts +21 -0
- package/dist/components-source/toggle/input-toggle.component.d.ts +11 -0
- package/dist/components-source/tooltip/tooltip.component.d.ts +15 -0
- package/dist/components-source/vertical-steps/vertical-steps.component.d.ts +27 -0
- package/dist/esm2022/components-source/accordion/accordion-item/accordion-item.component.mjs +51 -0
- package/dist/esm2022/components-source/accordion/accordion.component.mjs +46 -0
- package/dist/esm2022/components-source/alert/alert.component.mjs +114 -0
- package/dist/esm2022/components-source/alert-modal/alert-modal.component.mjs +247 -0
- package/dist/esm2022/components-source/alert-validation/alert-validation.component.mjs +53 -0
- package/dist/esm2022/components-source/badge/badge.component.mjs +23 -0
- package/dist/esm2022/components-source/beta-tag/beta-tag.component.mjs +11 -0
- package/dist/esm2022/components-source/breadcrumb/breadcrumb.component.mjs +26 -0
- package/dist/esm2022/components-source/card-product/card-product.component.mjs +534 -0
- package/dist/esm2022/components-source/card-section/card-section.component.mjs +91 -0
- package/dist/esm2022/components-source/checkbox-selection-list/checkbox-selection-list.component.mjs +79 -0
- package/dist/esm2022/components-source/city-selector/city-selector.component.mjs +53 -0
- package/dist/esm2022/components-source/color-picker/color-picker.component.mjs +320 -0
- package/dist/esm2022/components-source/confirm-dialog/confirm-dialog.component.mjs +27 -0
- package/dist/esm2022/components-source/country-flags/country-flags.component.mjs +27 -0
- package/dist/esm2022/components-source/date-picker/date-picker.component.mjs +73 -0
- package/dist/esm2022/components-source/date-picker-range/date-picker-range.component.mjs +67 -0
- package/dist/esm2022/components-source/dropi-avatars/dropi-avatars.component.mjs +31 -0
- package/dist/esm2022/components-source/dropi-badge/dropi-badge.component.mjs +45 -0
- package/dist/esm2022/components-source/dropi-banner-external/dropi-banner-external.component.mjs +39 -0
- package/dist/esm2022/components-source/dropi-breadcrumb/dropi-breadcrumb.component.mjs +45 -0
- package/dist/esm2022/components-source/dropi-card-checkbox/dropi-card-checkbox.component.mjs +53 -0
- package/dist/esm2022/components-source/dropi-carousel/dropi-carousel.component.mjs +243 -0
- package/dist/esm2022/components-source/dropi-checkbox/dropi-checkbox.component.mjs +31 -0
- package/dist/esm2022/components-source/dropi-chips/dropi-chips.component.mjs +38 -0
- package/dist/esm2022/components-source/dropi-country-selector/countries.data.mjs +254 -0
- package/dist/esm2022/components-source/dropi-country-selector/dropi-country-selector.component.mjs +183 -0
- package/dist/esm2022/components-source/dropi-drawer/dropi-drawer.component.mjs +69 -0
- package/dist/esm2022/components-source/dropi-dropdown/dropi-dropdown.component.mjs +59 -0
- package/dist/esm2022/components-source/dropi-favorite-button/dropi-favorite-button.component.mjs +33 -0
- package/dist/esm2022/components-source/dropi-file-upload/card-view/card-view.component.mjs +47 -0
- package/dist/esm2022/components-source/dropi-file-upload/drop-zone/drop-zone.component.mjs +115 -0
- package/dist/esm2022/components-source/dropi-file-upload/dropi-file-upload.component.mjs +66 -0
- package/dist/esm2022/components-source/dropi-file-upload/file-list/file-list.component.mjs +95 -0
- package/dist/esm2022/components-source/dropi-file-upload/grid-view/grid-view.component.mjs +37 -0
- package/dist/esm2022/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.mjs +59 -0
- package/dist/esm2022/components-source/dropi-image-overlay/dropi-image-overlay.component.mjs +31 -0
- package/dist/esm2022/components-source/dropi-languages-selector/dropi-languages-selector.component.mjs +38 -0
- package/dist/esm2022/components-source/dropi-logo/dropi-logo.component.mjs +27 -0
- package/dist/esm2022/components-source/dropi-modal/dropi-modal.component.mjs +92 -0
- package/dist/esm2022/components-source/dropi-modal/p-template.directive.mjs +22 -0
- package/dist/esm2022/components-source/dropi-navbar/dropi-navbar.component.mjs +51 -0
- package/dist/esm2022/components-source/dropi-paginator/dropi-paginator.component.mjs +89 -0
- package/dist/esm2022/components-source/dropi-phone-input/dropi-phone-input.component.mjs +155 -0
- package/dist/esm2022/components-source/dropi-radio-button/dropi-radio-button.component.mjs +48 -0
- package/dist/esm2022/components-source/dropi-search/dropi-search.component.mjs +104 -0
- package/dist/esm2022/components-source/dropi-select/dropi-select.component.mjs +96 -0
- package/dist/esm2022/components-source/dropi-skeleton/dropi-skeleton.component.mjs +39 -0
- package/dist/esm2022/components-source/dropi-steps/dropi-steps.component.mjs +97 -0
- package/dist/esm2022/components-source/dropi-switch/dropi-switch.component.mjs +22 -0
- package/dist/esm2022/components-source/dropi-table/dropi-table.component.mjs +333 -0
- package/dist/esm2022/components-source/dropi-tag/dropi-tag.component.mjs +36 -0
- package/dist/esm2022/components-source/dropi-text-area/dropi-text-area.component.mjs +53 -0
- package/dist/esm2022/components-source/dropi-tooltip/dropi-tooltip.component.mjs +78 -0
- package/dist/esm2022/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.mjs +46 -0
- package/dist/esm2022/components-source/empty/empty.component.mjs +18 -0
- package/dist/esm2022/components-source/empty-state/empty-state.component.mjs +62 -0
- package/dist/esm2022/components-source/file-upload-progress-bar/file-upload-progress-bar.component.mjs +91 -0
- package/dist/esm2022/components-source/index.mjs +107 -0
- package/dist/esm2022/components-source/input/input.component.mjs +104 -0
- package/dist/esm2022/components-source/lottie-loader/lottie-loader.component.mjs +25 -0
- package/dist/esm2022/components-source/otp-send-code/otp-send-code.component.mjs +201 -0
- package/dist/esm2022/components-source/radio-selection-list/radio-selection-list.component.mjs +89 -0
- package/dist/esm2022/components-source/read-more/read-more.component.mjs +91 -0
- package/dist/esm2022/components-source/sidebar/sidebar.component.mjs +88 -0
- package/dist/esm2022/components-source/simple-stepper/simple-stepper.component.mjs +60 -0
- package/dist/esm2022/components-source/spinner/spinner.component.mjs +19 -0
- package/dist/esm2022/components-source/tabs/tabs.component.mjs +83 -0
- package/dist/esm2022/components-source/tag-type-product/tag-type-product.component.mjs +11 -0
- package/dist/esm2022/components-source/toast/toast.component.mjs +47 -0
- package/dist/esm2022/components-source/toggle/input-toggle.component.mjs +36 -0
- package/dist/esm2022/components-source/tooltip/tooltip.component.mjs +34 -0
- package/dist/esm2022/components-source/vertical-steps/vertical-steps.component.mjs +75 -0
- package/dist/esm2022/lib/elements-registry.mjs +343 -2
- package/dist/esm2022/utilities/interfaces/ui/dropi-table.interface.mjs +2 -0
- package/dist/esm2022/utilities/interfaces/ui/input-interface.mjs +2 -0
- package/dist/esm2022/utilities/interfaces/ui/select-interface.mjs +2 -0
- package/dist/esm2022/utilities/interfaces/ui/selection-list-interface.mjs +2 -0
- package/dist/esm2022/utilities/interfaces/ui/upload.model.mjs +5 -0
- package/dist/fesm2022/dropi-ui-components.mjs +5913 -2
- package/dist/fesm2022/dropi-ui-components.mjs.map +1 -1
- package/dist/utilities/interfaces/ui/dropi-table.interface.d.ts +45 -0
- package/dist/utilities/interfaces/ui/input-interface.d.ts +33 -0
- package/dist/utilities/interfaces/ui/select-interface.d.ts +8 -0
- package/dist/utilities/interfaces/ui/selection-list-interface.d.ts +24 -0
- package/dist/utilities/interfaces/ui/upload.model.d.ts +30 -0
- package/package.json +18 -6
- package/src/components-source/alert/alert.component.ts +12 -129
- package/src/components-source/alert-modal/alert-modal.component.ts +84 -114
- package/src/components-source/alert-validation/alert-validation.component.html +8 -0
- package/src/components-source/alert-validation/alert-validation.component.scss +225 -0
- package/src/components-source/alert-validation/alert-validation.component.ts +43 -0
- package/src/components-source/beta-tag/beta-tag.component.html +1 -0
- package/src/components-source/beta-tag/beta-tag.component.scss +26 -0
- package/src/components-source/beta-tag/beta-tag.component.ts +11 -0
- package/src/components-source/breadcrumb/breadcrumb.component.html +13 -5
- package/src/components-source/breadcrumb/breadcrumb.component.scss +8 -1
- package/src/components-source/breadcrumb/breadcrumb.component.spec.ts +26 -26
- package/src/components-source/breadcrumb/breadcrumb.component.ts +10 -12
- package/src/components-source/card-product/card-product.component.spec.ts +9 -9
- package/src/components-source/card-product/card-product.component.stories.ts +2 -2
- package/src/components-source/card-product/card-product.component.ts +294 -818
- package/src/components-source/card-section/card-section.component.html +7 -7
- package/src/components-source/card-section/card-section.component.ts +41 -15
- package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.ts +42 -179
- package/src/components-source/city-selector/city-selector.component.ts +37 -137
- package/src/components-source/confirm-dialog/confirm-dialog.component.html +26 -0
- package/src/components-source/confirm-dialog/confirm-dialog.component.scss +55 -0
- package/src/components-source/confirm-dialog/confirm-dialog.component.ts +22 -0
- package/src/components-source/country-flags/country-flags.component.ts +20 -12
- package/src/components-source/date-picker/date-picker.component.ts +32 -292
- package/src/components-source/date-picker-range/date-picker-range.component.html +15 -7
- package/src/components-source/date-picker-range/date-picker-range.component.ts +42 -235
- package/src/components-source/dropi-banner-external/dropi-banner-external.component.ts +24 -185
- package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.html +21 -21
- package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.spec.ts +9 -9
- package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.ts +41 -23
- package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.stories.ts +12 -12
- package/src/components-source/dropi-chips/dropi-chips.component.ts +22 -87
- package/src/components-source/dropi-country-selector/countries.data.ts +256 -236
- package/src/components-source/dropi-country-selector/dropi-country-selector.component.ts +37 -25
- package/src/components-source/dropi-drawer/dropi-drawer.component.ts +91 -78
- package/src/components-source/dropi-dropdown/dropi-dropdown.component.ts +44 -47
- package/src/components-source/dropi-file-upload/card-view/card-view.component.ts +33 -53
- package/src/components-source/dropi-file-upload/drop-zone/drop-zone.component.ts +52 -123
- package/src/components-source/dropi-file-upload/dropi-file-upload.component.ts +38 -294
- package/src/components-source/dropi-file-upload/file-list/file-list.component.ts +62 -43
- package/src/components-source/dropi-file-upload/grid-view/grid-view.component.ts +23 -22
- package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.scss +6 -2
- package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.ts +16 -71
- package/src/components-source/dropi-modal/dropi-modal.component.ts +56 -372
- package/src/components-source/dropi-navbar/dropi-navbar.component.ts +17 -17
- package/src/components-source/dropi-paginator/dropi-paginator.component.html +18 -7
- package/src/components-source/dropi-paginator/dropi-paginator.component.ts +40 -32
- package/src/components-source/dropi-phone-input/dropi-phone-input.component.html +78 -79
- package/src/components-source/dropi-phone-input/dropi-phone-input.component.ts +29 -85
- package/src/components-source/dropi-search/dropi-search.component.ts +59 -222
- package/src/components-source/dropi-select/dropi-select.component.html +82 -131
- package/src/components-source/dropi-select/dropi-select.component.ts +60 -423
- package/src/components-source/dropi-table/dropi-table.component.html +40 -23
- package/src/components-source/dropi-table/dropi-table.component.ts +130 -374
- package/src/components-source/dropi-tag/dropi-tag.component.ts +20 -90
- package/src/components-source/dropi-text-area/dropi-text-area.component.ts +22 -48
- package/src/components-source/dropi-tooltip/dropi-tooltip.component.ts +40 -129
- package/src/components-source/empty/empty.component.html +3 -0
- package/src/components-source/empty/empty.component.scss +0 -0
- package/src/components-source/empty/empty.component.ts +16 -0
- package/src/components-source/empty-state/empty-state.component.ts +47 -19
- package/src/components-source/index.ts +82 -37
- package/src/components-source/input/input.component.html +79 -63
- package/src/components-source/input/input.component.ts +51 -97
- package/src/components-source/lottie-loader/lottie-loader.component.ts +13 -16
- package/src/components-source/otp-send-code/otp-send-code.component.ts +60 -528
- package/src/components-source/radio-selection-list/radio-selection-list.component.ts +36 -97
- package/src/components-source/sidebar/sidebar.component.spec.ts +11 -11
- package/src/components-source/sidebar/sidebar.component.stories.ts +3 -3
- package/src/components-source/sidebar/sidebar.component.ts +51 -47
- package/src/components-source/simple-stepper/simple-stepper.component.ts +20 -35
- package/src/components-source/spinner/spinner.component.html +6 -0
- package/src/components-source/spinner/spinner.component.scss +15 -0
- package/src/components-source/spinner/spinner.component.ts +17 -0
- package/src/components-source/tabs/tabs.component.spec.ts +8 -8
- package/src/components-source/tabs/tabs.component.stories.ts +5 -5
- package/src/components-source/tabs/tabs.component.ts +41 -83
- package/src/components-source/toast/toast.component.ts +40 -46
- package/src/components-source/toggle/input-toggle.component.html +34 -0
- package/src/components-source/toggle/input-toggle.component.scss +0 -0
- package/src/components-source/toggle/input-toggle.component.ts +27 -0
- package/src/components-source/toggle/inputToggleConfig.ts +11 -0
- package/src/components-source/tooltip/tooltip.component.html +22 -11
- package/src/components-source/tooltip/tooltip.component.ts +28 -13
- package/src/components-source/vertical-steps/vertical-steps.component.ts +16 -78
- package/src/lib/elements-registry.ts +413 -1
- package/src/lib/router-stub.ts +7 -0
- package/src/libreria work space.code-workspace +11 -8
- package/src/utilities/interfaces/ui/dropi-table.interface.ts +60 -0
- package/src/utilities/interfaces/ui/input-interface.ts +34 -0
- package/src/utilities/interfaces/ui/select-interface.ts +8 -0
- package/src/utilities/interfaces/ui/selection-list-interface.ts +15 -0
- package/src/utilities/interfaces/ui/upload.model.ts +41 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, ContentChild, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../accordion.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
/**
|
|
7
|
+
* Componente que renderiza un item de un acordeón.
|
|
8
|
+
*
|
|
9
|
+
* Un item del acordeón tiene un título y un contenido que se puede expandir o contraer.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <app-accordion>
|
|
13
|
+
* <app-accordion-item title="Título 1">Contenido 1</app-accordion-item>
|
|
14
|
+
* <app-accordion-item title="Título 2">Contenido 2</app-accordion-item>
|
|
15
|
+
* </app-accordion>
|
|
16
|
+
*/
|
|
17
|
+
export class AccordionItemComponent {
|
|
18
|
+
accordion;
|
|
19
|
+
/**
|
|
20
|
+
* The title of the item.
|
|
21
|
+
*/
|
|
22
|
+
sectionTitle = '';
|
|
23
|
+
/**
|
|
24
|
+
* The index of the item in the accordion.
|
|
25
|
+
*/
|
|
26
|
+
index;
|
|
27
|
+
content;
|
|
28
|
+
constructor(accordion) {
|
|
29
|
+
this.accordion = accordion;
|
|
30
|
+
}
|
|
31
|
+
toggle() {
|
|
32
|
+
this.accordion.toggle(this.index);
|
|
33
|
+
}
|
|
34
|
+
get isOpen() {
|
|
35
|
+
return this.accordion.isOpen(this.index);
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionItemComponent, deps: [{ token: i1.AccordionComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AccordionItemComponent, isStandalone: true, selector: "app-accordion-item", inputs: { sectionTitle: "sectionTitle", index: "index" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"accordion-item\">\n <div class=\"accordion-header\" (click)=\"toggle()\">\n <p>{{ sectionTitle }}</p>\n <div class=\"icon\">\n <i class=\"pi pi-chevron-down\" *ngIf=\"!isOpen\"></i>\n <i class=\"pi pi-chevron-up\" *ngIf=\"isOpen\"></i>\n </div>\n </div>\n <div class=\"accordion-content\" *ngIf=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".accordion-item{border:none;border-radius:0;border-bottom:1px solid var(--Gray-100, #e6eaf2)}.accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s}.accordion-header:hover{background:var(--Gray-50, #f7f8fa)}.accordion-header p{padding:var(--Size-5, 24px) var(--Size-4, 16px);cursor:pointer;color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:700;line-height:110%;margin:0}.accordion-header .icon{padding:var(--Size-3, 12px) var(--Size-3, 12px);color:var(--Gray-500, #69738c)}.accordion-header .icon i{font-size:14px}.accordion-content{padding:16px;background:#fff;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,padding .3s}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionItemComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'app-accordion-item', standalone: true, imports: [CommonModule], template: "<div class=\"accordion-item\">\n <div class=\"accordion-header\" (click)=\"toggle()\">\n <p>{{ sectionTitle }}</p>\n <div class=\"icon\">\n <i class=\"pi pi-chevron-down\" *ngIf=\"!isOpen\"></i>\n <i class=\"pi pi-chevron-up\" *ngIf=\"isOpen\"></i>\n </div>\n </div>\n <div class=\"accordion-content\" *ngIf=\"isOpen\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".accordion-item{border:none;border-radius:0;border-bottom:1px solid var(--Gray-100, #e6eaf2)}.accordion-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .3s}.accordion-header:hover{background:var(--Gray-50, #f7f8fa)}.accordion-header p{padding:var(--Size-5, 24px) var(--Size-4, 16px);cursor:pointer;color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:700;line-height:110%;margin:0}.accordion-header .icon{padding:var(--Size-3, 12px) var(--Size-3, 12px);color:var(--Gray-500, #69738c)}.accordion-header .icon i{font-size:14px}.accordion-content{padding:16px;background:#fff;transition:max-height .3s ease-in-out,opacity .3s ease-in-out,padding .3s}\n"] }]
|
|
43
|
+
}], ctorParameters: () => [{ type: i1.AccordionComponent }], propDecorators: { sectionTitle: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], index: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], content: [{
|
|
48
|
+
type: ContentChild,
|
|
49
|
+
args: ['content', { static: true }]
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy1zb3VyY2UvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHL0M7Ozs7Ozs7Ozs7R0FVRztBQVFILE1BQU0sT0FBTyxzQkFBc0I7SUFVZDtJQVRuQjs7T0FFRztJQUNNLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDbkM7O09BRUc7SUFDTSxLQUFLLENBQVU7SUFDbUIsT0FBTyxDQUFvQjtJQUN0RSxZQUFtQixTQUE2QjtRQUE3QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtJQUFHLENBQUM7SUFFcEQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0FsQlUsc0JBQXNCOzRGQUF0QixzQkFBc0Isc1BDdEJuQyx3WUFXTSxnekJET00sWUFBWTs7NEZBSVgsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7dUZBUWQsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ3FDLE9BQU87c0JBQWpELFlBQVk7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY2NvcmRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hY2NvcmRpb24uY29tcG9uZW50JztcblxuLyoqXG4gKiBDb21wb25lbnRlIHF1ZSByZW5kZXJpemEgdW4gaXRlbSBkZSB1biBhY29yZGXDs24uXG4gKlxuICogVW4gaXRlbSBkZWwgYWNvcmRlw7NuIHRpZW5lIHVuIHTDrXR1bG8geSB1biBjb250ZW5pZG8gcXVlIHNlIHB1ZWRlIGV4cGFuZGlyIG8gY29udHJhZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIDxhcHAtYWNjb3JkaW9uPlxuICogICA8YXBwLWFjY29yZGlvbi1pdGVtIHRpdGxlPVwiVMOtdHVsbyAxXCI+Q29udGVuaWRvIDE8L2FwcC1hY2NvcmRpb24taXRlbT5cbiAqICAgPGFwcC1hY2NvcmRpb24taXRlbSB0aXRsZT1cIlTDrXR1bG8gMlwiPkNvbnRlbmlkbyAyPC9hcHAtYWNjb3JkaW9uLWl0ZW0+XG4gKiA8L2FwcC1hY2NvcmRpb24+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2NvcmRpb24taXRlbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkl0ZW1Db21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBpdGVtLlxuICAgKi9cbiAgQElucHV0KCkgc2VjdGlvblRpdGxlOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgaXRlbSBpbiB0aGUgYWNjb3JkaW9uLlxuICAgKi9cbiAgQElucHV0KCkgaW5kZXghOiBudW1iZXI7XG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgY29uc3RydWN0b3IocHVibGljIGFjY29yZGlvbjogQWNjb3JkaW9uQ29tcG9uZW50KSB7fVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmFjY29yZGlvbi50b2dnbGUodGhpcy5pbmRleCk7XG4gIH1cblxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjY29yZGlvbi5pc09wZW4odGhpcy5pbmRleCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiPlxuICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgIDxwPnt7IHNlY3Rpb25UaXRsZSB9fTwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1jaGV2cm9uLWRvd25cIiAqbmdJZj1cIiFpc09wZW5cIj48L2k+XG4gICAgICA8aSBjbGFzcz1cInBpIHBpLWNoZXZyb24tdXBcIiAqbmdJZj1cImlzT3BlblwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tY29udGVudFwiICpuZ0lmPVwiaXNPcGVuXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Componente que renderiza un acordeón de secciones.
|
|
6
|
+
*
|
|
7
|
+
* Permite tener un acordeón con secciones que se pueden expandir o contraer.
|
|
8
|
+
* Cada sección se renderiza con el componente {@link AccordionItemComponent}.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <app-accordion>
|
|
12
|
+
* <app-accordion-item title="Título 1">Contenido 1</app-accordion-item>
|
|
13
|
+
* <app-accordion-item title="Título 2">Contenido 2</app-accordion-item>
|
|
14
|
+
* </app-accordion>
|
|
15
|
+
*/
|
|
16
|
+
export class AccordionComponent {
|
|
17
|
+
/**
|
|
18
|
+
* Allows multiple sections to be open at the same time. If false, only one section can be open.
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
multiple = false;
|
|
22
|
+
activeIndex = null;
|
|
23
|
+
openSections = new Set();
|
|
24
|
+
toggle(index) {
|
|
25
|
+
if (this.multiple) {
|
|
26
|
+
if (this.openSections.has(index))
|
|
27
|
+
this.openSections.delete(index);
|
|
28
|
+
else
|
|
29
|
+
this.openSections.add(index);
|
|
30
|
+
}
|
|
31
|
+
else
|
|
32
|
+
this.activeIndex = this.activeIndex === index ? null : index;
|
|
33
|
+
}
|
|
34
|
+
isOpen(index) {
|
|
35
|
+
return this.multiple ? this.openSections.has(index) : this.activeIndex === index;
|
|
36
|
+
}
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AccordionComponent, isStandalone: true, selector: "app-accordion", inputs: { multiple: "multiple" }, ngImport: i0, template: "<div class=\"dropi-accordion\">\n <ng-content />\n</div>", styles: [".dropi-accordion{width:100%;border-top:1px solid var(--Gray-100, #E6EAF2);overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
39
|
+
}
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
41
|
+
type: Component,
|
|
42
|
+
args: [{ selector: 'app-accordion', standalone: true, imports: [CommonModule], template: "<div class=\"dropi-accordion\">\n <ng-content />\n</div>", styles: [".dropi-accordion{width:100%;border-top:1px solid var(--Gray-100, #E6EAF2);overflow:hidden}\n"] }]
|
|
43
|
+
}], propDecorators: { multiple: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7T0FHRztJQUNNLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbkMsV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDbEMsWUFBWSxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXRDLE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDOztnQkFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQzs7WUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUM7SUFDbkYsQ0FBQzt3R0FuQlUsa0JBQWtCOzRGQUFsQixrQkFBa0IsMkdDdEIvQiwyREFFTSxxSkRnQk0sWUFBWTs7NEZBSVgsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBU2QsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogQ29tcG9uZW50ZSBxdWUgcmVuZGVyaXphIHVuIGFjb3JkZcOzbiBkZSBzZWNjaW9uZXMuXG4gKlxuICogUGVybWl0ZSB0ZW5lciB1biBhY29yZGXDs24gY29uIHNlY2Npb25lcyBxdWUgc2UgcHVlZGVuIGV4cGFuZGlyIG8gY29udHJhZXIuXG4gKiBDYWRhIHNlY2Npw7NuIHNlIHJlbmRlcml6YSBjb24gZWwgY29tcG9uZW50ZSB7QGxpbmsgQWNjb3JkaW9uSXRlbUNvbXBvbmVudH0uXG4gKlxuICogQGV4YW1wbGVcbiAqIDxhcHAtYWNjb3JkaW9uPlxuICogICA8YXBwLWFjY29yZGlvbi1pdGVtIHRpdGxlPVwiVMOtdHVsbyAxXCI+Q29udGVuaWRvIDE8L2FwcC1hY2NvcmRpb24taXRlbT5cbiAqICAgPGFwcC1hY2NvcmRpb24taXRlbSB0aXRsZT1cIlTDrXR1bG8gMlwiPkNvbnRlbmlkbyAyPC9hcHAtYWNjb3JkaW9uLWl0ZW0+XG4gKiA8L2FwcC1hY2NvcmRpb24+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2NvcmRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBBbGxvd3MgbXVsdGlwbGUgc2VjdGlvbnMgdG8gYmUgb3BlbiBhdCB0aGUgc2FtZSB0aW1lLiBJZiBmYWxzZSwgb25seSBvbmUgc2VjdGlvbiBjYW4gYmUgb3Blbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIGFjdGl2ZUluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgb3BlblNlY3Rpb25zOiBTZXQ8bnVtYmVyPiA9IG5ldyBTZXQoKTtcblxuICB0b2dnbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAodGhpcy5vcGVuU2VjdGlvbnMuaGFzKGluZGV4KSkgdGhpcy5vcGVuU2VjdGlvbnMuZGVsZXRlKGluZGV4KTsgXG4gICAgICBlbHNlIHRoaXMub3BlblNlY3Rpb25zLmFkZChpbmRleCk7XG4gICAgfSBcbiAgICBlbHNlIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLmFjdGl2ZUluZGV4ID09PSBpbmRleCA/IG51bGwgOiBpbmRleDtcbiAgfVxuXG4gIGlzT3BlbihpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgPyB0aGlzLm9wZW5TZWN0aW9ucy5oYXMoaW5kZXgpIDogdGhpcy5hY3RpdmVJbmRleCA9PT0gaW5kZXg7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9waS1hY2NvcmRpb25cIj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, CUSTOM_ELEMENTS_SCHEMA, } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { IconComponent } from "../icon/icon.component";
|
|
4
|
+
import { ButtonComponent } from "../dropi-button/dropi-button.component";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/platform-browser";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
export class AlertComponent {
|
|
9
|
+
sanitizer;
|
|
10
|
+
message = "";
|
|
11
|
+
type = "default";
|
|
12
|
+
state = "success";
|
|
13
|
+
dismissable = true;
|
|
14
|
+
showButton = false;
|
|
15
|
+
buttonText = "Close";
|
|
16
|
+
anchorText = "none";
|
|
17
|
+
anchorUrl = "none";
|
|
18
|
+
showAlert = true;
|
|
19
|
+
textLink = "";
|
|
20
|
+
clickedText = "";
|
|
21
|
+
linkUrl = "";
|
|
22
|
+
onClose = new EventEmitter();
|
|
23
|
+
onButtonClick = new EventEmitter();
|
|
24
|
+
onClickLink = new EventEmitter();
|
|
25
|
+
sanitinezedMessage = "";
|
|
26
|
+
alertState = {
|
|
27
|
+
success: {
|
|
28
|
+
icon: "Check-circle",
|
|
29
|
+
color: "Success-Success-500",
|
|
30
|
+
anchorStyle: "color: var(--Success-Success-500);",
|
|
31
|
+
},
|
|
32
|
+
error: {
|
|
33
|
+
icon: "Cross-circle",
|
|
34
|
+
color: "Error-Error-500",
|
|
35
|
+
anchorStyle: "color: var(--Error-Error-500);",
|
|
36
|
+
},
|
|
37
|
+
warning: {
|
|
38
|
+
icon: "Warning-circle",
|
|
39
|
+
color: "Warning-Warning-500",
|
|
40
|
+
anchorStyle: "color: var(--Warning-Warning-500);",
|
|
41
|
+
},
|
|
42
|
+
info: {
|
|
43
|
+
icon: "Info",
|
|
44
|
+
color: "Info-Info-500",
|
|
45
|
+
anchorStyle: "color: var(--Info-Info-500);",
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
constructor(sanitizer) {
|
|
49
|
+
this.sanitizer = sanitizer;
|
|
50
|
+
}
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.sanitizeMessage();
|
|
53
|
+
}
|
|
54
|
+
ngOnChanges(changes) {
|
|
55
|
+
if (changes["message"] || changes["textLink"] || changes["linkUrl"]) {
|
|
56
|
+
this.sanitizeMessage();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
sanitizeMessage() {
|
|
60
|
+
if (!this.textLink || !this.linkUrl) {
|
|
61
|
+
this.sanitinezedMessage = this.sanitizer.bypassSecurityTrustHtml(this.message || "");
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const message = `${this.message || ""} <a style="${this.alertState[this.state].anchorStyle}" href="${this.linkUrl}" target="_blank"> ${this.textLink} </a>`;
|
|
65
|
+
this.sanitinezedMessage = this.sanitizer.bypassSecurityTrustHtml(message);
|
|
66
|
+
}
|
|
67
|
+
closeAlert() {
|
|
68
|
+
this.showAlert = false;
|
|
69
|
+
this.onClose.emit();
|
|
70
|
+
}
|
|
71
|
+
buttonClick() {
|
|
72
|
+
this.onButtonClick.emit();
|
|
73
|
+
}
|
|
74
|
+
emitClickLink(e) {
|
|
75
|
+
this.onClickLink.emit(e);
|
|
76
|
+
}
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertComponent, isStandalone: true, selector: "dropi-wc-alert", inputs: { message: "message", type: "type", state: "state", dismissable: "dismissable", showButton: "showButton", buttonText: "buttonText", anchorText: "anchorText", anchorUrl: "anchorUrl", showAlert: "showAlert", textLink: "textLink", clickedText: "clickedText", linkUrl: "linkUrl" }, outputs: { onClose: "onClose", onButtonClick: "onButtonClick", onClickLink: "onClickLink" }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"['alert-container', 'message-' + state, 'type-' + type]\" *ngIf=\"showAlert\" @fade>\n <div [ngClass]=\"['alert-body', 'type-' + type]\">\n <div class=\"alert-icon\" *ngIf=\"type !== 'flag'\">\n <app-icon\n [name]=\"alertState?.[state]?.icon\"\n [color]=\"alertState?.[state]?.color\"\n width=\"16px\"\n height=\"16px\"\n />\n </div>\n <p *ngIf=\"!clickedText\" class=\"alert-message\" [innerHTML]=\"sanitinezedMessage\"></p>\n <p *ngIf=\"clickedText\" class=\"alert-message\">\n {{ message }} <a (click)=\"emitClickLink($event)\">{{ clickedText }}</a>\n </p>\n </div>\n <div [ngClass]=\"['alert-right', 'color-' + state]\" class=\"alert-right\">\n <dropi-button\n *ngIf=\"showButton && type !== 'flag'\"\n (onClick)=\"buttonClick()\"\n [text]=\"buttonText\"\n [size]=\"'small'\"\n [type]=\"state\"\n ></dropi-button>\n <button (click)=\"closeAlert()\" *ngIf=\"dismissable\">\n <app-icon name=\"Close-small\" width=\"16px\" height=\"16px\" color=\"Gray-700\" />\n </button>\n </div>\n</div>\n", styles: [".alert-container{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center;gap:10px}.type-default{padding:var(--Size-3, 12px);border-radius:8px}.type-flag{padding:var(--Size-1, 4px) var(--Size-2, 8px);border-radius:var(--Border-1, 4px)}.type-flag .alert-message{width:100%;font-size:12px;font-weight:400}.alert-body{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.alert-body.type-flag{width:100%;text-align:center;flex-grow:2}.alert-body.type-default{padding:0}.alert-message{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:150%;text-wrap:break-word;margin-bottom:0!important}.alert-icon{display:flex;justify-content:center;align-items:center;padding-top:4px}.alert-right{display:flex;justify-content:center;align-items:center}.alert-right button{background:transparent;border:none}.message-warning{background:var(--Warning-Warning-50, #fef8ed)}.message-warning.type-default{border:1px solid var(--Warning-Warning-500, #f1b44c)}.message-info{background:var(--Info-Info-50, #eef6fe)}.message-info.type-default{border:1px solid var(--Info-Info-500, #50a5f1)}.message-error{background:var(--Error-Error-50, #fef0f0)}.message-error.type-default{border:1px solid var(--Error-Error-500, #f46a6b)}.message-success{background:var(--Success-Success-50, #e7f8f3)}.message-success.type-default{border:1px solid var(--Success-Success-500, #0abb87)}::ng-deep .alert-container app-icon{display:flex;justify-content:center;align-items:center}::ng-deep .alert-container .color-warning .btn-dropi button{background:var(--Warning-Warning-500, #f1b44c)!important}::ng-deep .alert-container .color-info .btn-dropi button{background:var(--Info-Info-500, #50a5f1)!important}::ng-deep .alert-container .color-error .btn-dropi button{background:var(--Error-Error-500, #f46a6b)!important}::ng-deep .alert-container .color-success .btn-dropi button{background:var(--Success-Success-500, #0abb87)!important}::ng-deep .alert-container .btn-dropi button{padding:var(--Size-2, 8px)!important;height:29px;color:var(--White, #fff);text-align:center;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:700;line-height:110%}::ng-deep .alert-container .btn-dropi button span.p-button-label{font-size:var(--font-size-xs, 12px)}.alert-message>a{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }] });
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{ selector: "dropi-wc-alert", standalone: true, imports: [CommonModule, IconComponent, ButtonComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div [ngClass]=\"['alert-container', 'message-' + state, 'type-' + type]\" *ngIf=\"showAlert\" @fade>\n <div [ngClass]=\"['alert-body', 'type-' + type]\">\n <div class=\"alert-icon\" *ngIf=\"type !== 'flag'\">\n <app-icon\n [name]=\"alertState?.[state]?.icon\"\n [color]=\"alertState?.[state]?.color\"\n width=\"16px\"\n height=\"16px\"\n />\n </div>\n <p *ngIf=\"!clickedText\" class=\"alert-message\" [innerHTML]=\"sanitinezedMessage\"></p>\n <p *ngIf=\"clickedText\" class=\"alert-message\">\n {{ message }} <a (click)=\"emitClickLink($event)\">{{ clickedText }}</a>\n </p>\n </div>\n <div [ngClass]=\"['alert-right', 'color-' + state]\" class=\"alert-right\">\n <dropi-button\n *ngIf=\"showButton && type !== 'flag'\"\n (onClick)=\"buttonClick()\"\n [text]=\"buttonText\"\n [size]=\"'small'\"\n [type]=\"state\"\n ></dropi-button>\n <button (click)=\"closeAlert()\" *ngIf=\"dismissable\">\n <app-icon name=\"Close-small\" width=\"16px\" height=\"16px\" color=\"Gray-700\" />\n </button>\n </div>\n</div>\n", styles: [".alert-container{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center;gap:10px}.type-default{padding:var(--Size-3, 12px);border-radius:8px}.type-flag{padding:var(--Size-1, 4px) var(--Size-2, 8px);border-radius:var(--Border-1, 4px)}.type-flag .alert-message{width:100%;font-size:12px;font-weight:400}.alert-body{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.alert-body.type-flag{width:100%;text-align:center;flex-grow:2}.alert-body.type-default{padding:0}.alert-message{color:var(--Gray-600, #475066);font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:150%;text-wrap:break-word;margin-bottom:0!important}.alert-icon{display:flex;justify-content:center;align-items:center;padding-top:4px}.alert-right{display:flex;justify-content:center;align-items:center}.alert-right button{background:transparent;border:none}.message-warning{background:var(--Warning-Warning-50, #fef8ed)}.message-warning.type-default{border:1px solid var(--Warning-Warning-500, #f1b44c)}.message-info{background:var(--Info-Info-50, #eef6fe)}.message-info.type-default{border:1px solid var(--Info-Info-500, #50a5f1)}.message-error{background:var(--Error-Error-50, #fef0f0)}.message-error.type-default{border:1px solid var(--Error-Error-500, #f46a6b)}.message-success{background:var(--Success-Success-50, #e7f8f3)}.message-success.type-default{border:1px solid var(--Success-Success-500, #0abb87)}::ng-deep .alert-container app-icon{display:flex;justify-content:center;align-items:center}::ng-deep .alert-container .color-warning .btn-dropi button{background:var(--Warning-Warning-500, #f1b44c)!important}::ng-deep .alert-container .color-info .btn-dropi button{background:var(--Info-Info-500, #50a5f1)!important}::ng-deep .alert-container .color-error .btn-dropi button{background:var(--Error-Error-500, #f46a6b)!important}::ng-deep .alert-container .color-success .btn-dropi button{background:var(--Success-Success-500, #0abb87)!important}::ng-deep .alert-container .btn-dropi button{padding:var(--Size-2, 8px)!important;height:29px;color:var(--White, #fff);text-align:center;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:700;line-height:110%}::ng-deep .alert-container .btn-dropi button span.p-button-label{font-size:var(--font-size-xs, 12px)}.alert-message>a{cursor:pointer}\n"] }]
|
|
83
|
+
}], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { message: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], type: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], state: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], dismissable: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], showButton: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], buttonText: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], anchorText: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], anchorUrl: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], showAlert: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], textLink: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], clickedText: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], linkUrl: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], onClose: [{
|
|
108
|
+
type: Output
|
|
109
|
+
}], onButtonClick: [{
|
|
110
|
+
type: Output
|
|
111
|
+
}], onClickLink: [{
|
|
112
|
+
type: Output
|
|
113
|
+
}] } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLHNCQUFzQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQVV6RSxNQUFNLE9BQU8sY0FBYztJQTBDSTtJQXpDcEIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixJQUFJLEdBQXVCLFNBQVMsQ0FBQztJQUNyQyxLQUFLLEdBQTZDLFNBQVMsQ0FBQztJQUM1RCxXQUFXLEdBQVksSUFBSSxDQUFDO0lBQzVCLFVBQVUsR0FBWSxLQUFLLENBQUM7SUFDNUIsVUFBVSxHQUFXLE9BQU8sQ0FBQztJQUM3QixVQUFVLEdBQVcsTUFBTSxDQUFDO0lBQzVCLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFDM0IsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNqQixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUVwQixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUNuQyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUN6QyxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVqRCxrQkFBa0IsR0FBYSxF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RyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Ryb3BpLWJ1dHRvbi9kcm9waS1idXR0b24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkcm9waS13Yy1hbGVydFwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vYWxlcnQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2FsZXJ0LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbWVzc2FnZTogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgdHlwZTogXCJkZWZhdWx0XCIgfCBcImZsYWdcIiA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBzdGF0ZTogXCJzdWNjZXNzXCIgfCBcImVycm9yXCIgfCBcIndhcm5pbmdcIiB8IFwiaW5mb1wiID0gXCJzdWNjZXNzXCI7XG4gIEBJbnB1dCgpIGRpc21pc3NhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBidXR0b25UZXh0OiBzdHJpbmcgPSBcIkNsb3NlXCI7XG4gIEBJbnB1dCgpIGFuY2hvclRleHQ6IHN0cmluZyA9IFwibm9uZVwiO1xuICBASW5wdXQoKSBhbmNob3JVcmw6IHN0cmluZyA9IFwibm9uZVwiO1xuICBASW5wdXQoKSBzaG93QWxlcnQgPSB0cnVlO1xuICBASW5wdXQoKSB0ZXh0TGluazogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgY2xpY2tlZFRleHQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIGxpbmtVcmw6IHN0cmluZyA9IFwiXCI7XG5cbiAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBvbkJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgb25DbGlja0xpbmsgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgc2FuaXRpbmV6ZWRNZXNzYWdlOiBTYWZlSHRtbCA9IFwiXCI7XG4gIGFsZXJ0U3RhdGU6IGFueSA9IHtcbiAgICBzdWNjZXNzOiB7XG4gICAgICBpY29uOiBcIkNoZWNrLWNpcmNsZVwiLFxuICAgICAgY29sb3I6IFwiU3VjY2Vzcy1TdWNjZXNzLTUwMFwiLFxuICAgICAgYW5jaG9yU3R5bGU6IFwiY29sb3I6IHZhcigtLVN1Y2Nlc3MtU3VjY2Vzcy01MDApO1wiLFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgIGljb246IFwiQ3Jvc3MtY2lyY2xlXCIsXG4gICAgICBjb2xvcjogXCJFcnJvci1FcnJvci01MDBcIixcbiAgICAgIGFuY2hvclN0eWxlOiBcImNvbG9yOiB2YXIoLS1FcnJvci1FcnJvci01MDApO1wiLFxuICAgIH0sXG4gICAgd2FybmluZzoge1xuICAgICAgaWNvbjogXCJXYXJuaW5nLWNpcmNsZVwiLFxuICAgICAgY29sb3I6IFwiV2FybmluZy1XYXJuaW5nLTUwMFwiLFxuICAgICAgYW5jaG9yU3R5bGU6IFwiY29sb3I6IHZhcigtLVdhcm5pbmctV2FybmluZy01MDApO1wiLFxuICAgIH0sXG4gICAgaW5mbzoge1xuICAgICAgaWNvbjogXCJJbmZvXCIsXG4gICAgICBjb2xvcjogXCJJbmZvLUluZm8tNTAwXCIsXG4gICAgICBhbmNob3JTdHlsZTogXCJjb2xvcjogdmFyKC0tSW5mby1JbmZvLTUwMCk7XCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2FuaXRpemVNZXNzYWdlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbXCJtZXNzYWdlXCJdIHx8IGNoYW5nZXNbXCJ0ZXh0TGlua1wiXSB8fCBjaGFuZ2VzW1wibGlua1VybFwiXSkge1xuICAgICAgdGhpcy5zYW5pdGl6ZU1lc3NhZ2UoKTtcbiAgICB9XG4gIH1cblxuICBzYW5pdGl6ZU1lc3NhZ2UoKSB7XG4gICAgaWYgKCF0aGlzLnRleHRMaW5rIHx8ICF0aGlzLmxpbmtVcmwpIHtcbiAgICAgIHRoaXMuc2FuaXRpbmV6ZWRNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICAgIHRoaXMubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlID0gYCR7dGhpcy5tZXNzYWdlIHx8IFwiXCJ9IDxhIHN0eWxlPVwiJHt0aGlzLmFsZXJ0U3RhdGVbdGhpcy5zdGF0ZV0uYW5jaG9yU3R5bGV9XCIgaHJlZj1cIiR7dGhpcy5saW5rVXJsfVwiIHRhcmdldD1cIl9ibGFua1wiPiAke3RoaXMudGV4dExpbmt9IDwvYT5gO1xuICAgIHRoaXMuc2FuaXRpbmV6ZWRNZXNzYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobWVzc2FnZSk7XG4gIH1cblxuICBjbG9zZUFsZXJ0KCkge1xuICAgIHRoaXMuc2hvd0FsZXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIGJ1dHRvbkNsaWNrKCkge1xuICAgIHRoaXMub25CdXR0b25DbGljay5lbWl0KCk7XG4gIH1cblxuICBlbWl0Q2xpY2tMaW5rKGU6IGFueSkge1xuICAgIHRoaXMub25DbGlja0xpbmsuZW1pdChlKTtcbiAgfVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJbJ2FsZXJ0LWNvbnRhaW5lcicsICdtZXNzYWdlLScgKyBzdGF0ZSwgJ3R5cGUtJyArIHR5cGVdXCIgKm5nSWY9XCJzaG93QWxlcnRcIiBAZmFkZT5cbiAgPGRpdiBbbmdDbGFzc109XCJbJ2FsZXJ0LWJvZHknLCAndHlwZS0nICsgdHlwZV1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWxlcnQtaWNvblwiICpuZ0lmPVwidHlwZSAhPT0gJ2ZsYWcnXCI+XG4gICAgICA8YXBwLWljb25cbiAgICAgICAgW25hbWVdPVwiYWxlcnRTdGF0ZT8uW3N0YXRlXT8uaWNvblwiXG4gICAgICAgIFtjb2xvcl09XCJhbGVydFN0YXRlPy5bc3RhdGVdPy5jb2xvclwiXG4gICAgICAgIHdpZHRoPVwiMTZweFwiXG4gICAgICAgIGhlaWdodD1cIjE2cHhcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgICA8cCAqbmdJZj1cIiFjbGlja2VkVGV4dFwiIGNsYXNzPVwiYWxlcnQtbWVzc2FnZVwiIFtpbm5lckhUTUxdPVwic2FuaXRpbmV6ZWRNZXNzYWdlXCI+PC9wPlxuICAgIDxwICpuZ0lmPVwiY2xpY2tlZFRleHRcIiBjbGFzcz1cImFsZXJ0LW1lc3NhZ2VcIj5cbiAgICAgIHt7IG1lc3NhZ2UgfX0gPGEgKGNsaWNrKT1cImVtaXRDbGlja0xpbmsoJGV2ZW50KVwiPnt7IGNsaWNrZWRUZXh0IH19PC9hPlxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgW25nQ2xhc3NdPVwiWydhbGVydC1yaWdodCcsICdjb2xvci0nICsgc3RhdGVdXCIgY2xhc3M9XCJhbGVydC1yaWdodFwiPlxuICAgIDxkcm9waS1idXR0b25cbiAgICAgICpuZ0lmPVwic2hvd0J1dHRvbiAmJiB0eXBlICE9PSAnZmxhZydcIlxuICAgICAgKG9uQ2xpY2spPVwiYnV0dG9uQ2xpY2soKVwiXG4gICAgICBbdGV4dF09XCJidXR0b25UZXh0XCJcbiAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgW3R5cGVdPVwic3RhdGVcIlxuICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjbG9zZUFsZXJ0KClcIiAqbmdJZj1cImRpc21pc3NhYmxlXCI+XG4gICAgICA8YXBwLWljb24gbmFtZT1cIkNsb3NlLXNtYWxsXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiIGNvbG9yPVwiR3JheS03MDBcIiAvPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { Component, Input, EventEmitter, Output, NO_ERRORS_SCHEMA, ViewChild, ViewContainerRef, Inject, } from "@angular/core";
|
|
2
|
+
import { NgIf } from "@angular/common";
|
|
3
|
+
import { ProgressBarModule } from "primeng/progressbar";
|
|
4
|
+
import { DropiModalComponent } from "../dropi-modal/dropi-modal.component";
|
|
5
|
+
import { PTemplateDirective } from "../dropi-modal/p-template.directive";
|
|
6
|
+
import { TranslateModule, TranslateService } from "@ngx-translate/core";
|
|
7
|
+
import { Subject } from "rxjs";
|
|
8
|
+
import { takeUntil } from "rxjs/operators";
|
|
9
|
+
import { ButtonComponent } from "../dropi-button/dropi-button.component";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-translate/core";
|
|
12
|
+
import * as i2 from "primeng/progressbar";
|
|
13
|
+
export var LoadingType;
|
|
14
|
+
(function (LoadingType) {
|
|
15
|
+
LoadingType["Bowling"] = "bowling";
|
|
16
|
+
LoadingType["Heart"] = "heart";
|
|
17
|
+
})(LoadingType || (LoadingType = {}));
|
|
18
|
+
export class AlertModalComponent {
|
|
19
|
+
templateService;
|
|
20
|
+
settingService;
|
|
21
|
+
translateService;
|
|
22
|
+
visible;
|
|
23
|
+
params;
|
|
24
|
+
loading;
|
|
25
|
+
isStep;
|
|
26
|
+
contentTemplate;
|
|
27
|
+
baseZIndex = 0;
|
|
28
|
+
modalOpenChange = new EventEmitter();
|
|
29
|
+
primaryButtonEvent = new EventEmitter();
|
|
30
|
+
modalContainer;
|
|
31
|
+
secondaryButtonEvent = new EventEmitter();
|
|
32
|
+
onHide = new EventEmitter();
|
|
33
|
+
alertTemplate = null;
|
|
34
|
+
contextTemplate = {};
|
|
35
|
+
destroy$ = new Subject();
|
|
36
|
+
tittle;
|
|
37
|
+
type;
|
|
38
|
+
message;
|
|
39
|
+
primaryButton;
|
|
40
|
+
displayButtons = true;
|
|
41
|
+
secondaryButton;
|
|
42
|
+
sourceAnimation;
|
|
43
|
+
loadingType = LoadingType.Bowling;
|
|
44
|
+
loadingTitle = "Cargando...";
|
|
45
|
+
loadingMessage = "Por favor, espere un momento";
|
|
46
|
+
withLoadingProgressBar = false;
|
|
47
|
+
loadingAnimation = {
|
|
48
|
+
path: "/assets/lottie-files/loading.json",
|
|
49
|
+
width: "300px",
|
|
50
|
+
height: "300px",
|
|
51
|
+
marginBottom: "0px",
|
|
52
|
+
};
|
|
53
|
+
brandName = "dropi";
|
|
54
|
+
imageWhiteBrand;
|
|
55
|
+
interval;
|
|
56
|
+
countRegresive = 0;
|
|
57
|
+
constructor(templateService, settingService, translateService) {
|
|
58
|
+
this.templateService = templateService;
|
|
59
|
+
this.settingService = settingService;
|
|
60
|
+
this.translateService = translateService;
|
|
61
|
+
this.brandName = this.settingService?.getBrandInfo()
|
|
62
|
+
? this.settingService.getBrandInfo()?.name.toLowerCase()
|
|
63
|
+
: "dropi";
|
|
64
|
+
}
|
|
65
|
+
ngOnInit() {
|
|
66
|
+
this.updateParams();
|
|
67
|
+
this.decideAnimation();
|
|
68
|
+
this.decideLoadingAnimation();
|
|
69
|
+
this.templateService?.currentTemplate$
|
|
70
|
+
?.pipe(takeUntil(this.destroy$))
|
|
71
|
+
?.subscribe(({ template, context }) => {
|
|
72
|
+
this.alertTemplate = template;
|
|
73
|
+
this.contextTemplate = context;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
ngOnChanges(changes) {
|
|
77
|
+
this.updateParams();
|
|
78
|
+
this.decideAnimation();
|
|
79
|
+
this.decideLoadingAnimation();
|
|
80
|
+
this.imageWhiteBrand = this.decideImgWhiteBrand();
|
|
81
|
+
}
|
|
82
|
+
updateParams() {
|
|
83
|
+
if (this.params) {
|
|
84
|
+
this.tittle = this.params.tittle;
|
|
85
|
+
this.type = this.params.type;
|
|
86
|
+
this.message = this.params.message;
|
|
87
|
+
this.primaryButton = this.params.primaryButton
|
|
88
|
+
? this.params.primaryButton
|
|
89
|
+
: "Aceptar";
|
|
90
|
+
this.secondaryButton = this.params?.secondaryButton;
|
|
91
|
+
this.displayButtons = this.params?.displayButtons == false ? false : true;
|
|
92
|
+
this.loadingType = this.params.loadingType
|
|
93
|
+
? this.params.loadingType
|
|
94
|
+
: LoadingType.Bowling;
|
|
95
|
+
this.loadingTitle = this.params.loadingTitle
|
|
96
|
+
? this.params.loadingTitle
|
|
97
|
+
: "Cargando...";
|
|
98
|
+
this.loadingMessage = this.params.loadingMessage
|
|
99
|
+
? this.params.loadingMessage
|
|
100
|
+
: "Por favor, espere un momento";
|
|
101
|
+
this.withLoadingProgressBar = this.params.withLoadingProgressBar
|
|
102
|
+
? this.params.withLoadingProgressBar
|
|
103
|
+
: false;
|
|
104
|
+
if (this.params.applyCountRegresive === true && this.visible) {
|
|
105
|
+
this.startCountRegresive();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
closeModal() {
|
|
110
|
+
this.visible = false;
|
|
111
|
+
}
|
|
112
|
+
primaryButtonAction() {
|
|
113
|
+
this.primaryButtonEvent.emit(true);
|
|
114
|
+
if (!this.isStep) {
|
|
115
|
+
this.closeModal();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
secondaryButtonAction() {
|
|
119
|
+
this.secondaryButtonEvent.emit(true);
|
|
120
|
+
this.closeModal();
|
|
121
|
+
}
|
|
122
|
+
decideAnimation() {
|
|
123
|
+
switch (this.type) {
|
|
124
|
+
case "question":
|
|
125
|
+
this.sourceAnimation = "/assets/lottie-files/question.json";
|
|
126
|
+
break;
|
|
127
|
+
case "warning":
|
|
128
|
+
this.sourceAnimation = "/assets/lottie-files/warning.json";
|
|
129
|
+
break;
|
|
130
|
+
case "success":
|
|
131
|
+
this.sourceAnimation = "/assets/lottie-files/success.json";
|
|
132
|
+
break;
|
|
133
|
+
case "error":
|
|
134
|
+
this.sourceAnimation = "/assets/lottie-files/failure.json";
|
|
135
|
+
break;
|
|
136
|
+
default:
|
|
137
|
+
this.sourceAnimation = "";
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
decideLoadingAnimation() {
|
|
142
|
+
switch (this.loadingType) {
|
|
143
|
+
case LoadingType.Bowling:
|
|
144
|
+
const path = this.brandName.toLowerCase() === "dropi"
|
|
145
|
+
? "/assets/lottie-files/loading.json"
|
|
146
|
+
: "/assets/lottie-files/loading-mb.json";
|
|
147
|
+
this.loadingAnimation = {
|
|
148
|
+
path,
|
|
149
|
+
width: "300px",
|
|
150
|
+
height: "300px",
|
|
151
|
+
marginBottom: "0px",
|
|
152
|
+
};
|
|
153
|
+
break;
|
|
154
|
+
case LoadingType.Heart:
|
|
155
|
+
this.loadingAnimation = {
|
|
156
|
+
path: "/assets/lottie-files/heart.json",
|
|
157
|
+
width: "180px",
|
|
158
|
+
height: "180px",
|
|
159
|
+
marginBottom: "15px",
|
|
160
|
+
};
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
decideImgWhiteBrand() {
|
|
165
|
+
switch (this.type) {
|
|
166
|
+
case "question":
|
|
167
|
+
return `/assets/img/white-brands-events/info.png`;
|
|
168
|
+
case "warning":
|
|
169
|
+
return `/assets/img/white-brands-events/warning.png`;
|
|
170
|
+
case "success":
|
|
171
|
+
return `/assets/img/white-brands-events/success.png`;
|
|
172
|
+
case "error":
|
|
173
|
+
return `/assets/img/white-brands-events/error.png`;
|
|
174
|
+
default:
|
|
175
|
+
return "";
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
startCountRegresive() {
|
|
179
|
+
if (this.interval) {
|
|
180
|
+
clearInterval(this.interval);
|
|
181
|
+
}
|
|
182
|
+
this.countRegresive = this.params.timer;
|
|
183
|
+
this.interval = setInterval(() => {
|
|
184
|
+
this.countRegresive--;
|
|
185
|
+
if (this.countRegresive <= 0) {
|
|
186
|
+
clearInterval(this.interval);
|
|
187
|
+
}
|
|
188
|
+
}, 1000);
|
|
189
|
+
}
|
|
190
|
+
ngOnDestroy() {
|
|
191
|
+
this.destroy$.next();
|
|
192
|
+
this.destroy$.complete();
|
|
193
|
+
}
|
|
194
|
+
onHideModal() {
|
|
195
|
+
this.modalOpenChange.emit(false);
|
|
196
|
+
this.onHide.emit();
|
|
197
|
+
}
|
|
198
|
+
isArray(value) {
|
|
199
|
+
return Array.isArray(value);
|
|
200
|
+
}
|
|
201
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertModalComponent, deps: [{ token: "TemplateAlertModalService" }, { token: "SettingsService" }, { token: TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AlertModalComponent, isStandalone: true, selector: "app-alert-modal", inputs: { visible: "visible", params: "params", loading: "loading", isStep: "isStep", contentTemplate: "contentTemplate", baseZIndex: "baseZIndex" }, outputs: { modalOpenChange: "modalOpenChange", primaryButtonEvent: "primaryButtonEvent", secondaryButtonEvent: "secondaryButtonEvent", onHide: "onHide" }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<dropi-modal\n styleClass=\"dropi-alert-modal\"\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"params?.closable ? true : false\"\n [dismissableMask]=\"false\"\n [closeOnEscape]=\"false\"\n [showHeader]=\"false\"\n transitionOptions=\"300ms\"\n [showHeader]=\"params?.closable ? true : false\"\n [autoZIndex]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n (onHide)=\"onHideModal()\"\n>\n <ng-template pTemplate=\"content\">\n <div class=\"body-alert\" *ngIf=\"!loading\">\n <div class=\"header-alert\">\n <div class=\"lottie-img\" *ngIf=\"visible && brandName === 'dropi'\">\n <dotlottie-player\n [src]=\"sourceAnimation\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 100%; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <h2>{{ tittle | translate }}</h2>\n <ng-container *ngIf=\"isArray(message)\">\n <p *ngFor=\"let m of message\">{{ m | translate }}</p>\n </ng-container>\n\n <p *ngIf=\"!isArray(message)\">\n {{ message | translate }}\n </p>\n </div>\n\n <ng-container *ngIf=\"alertTemplate\">\n <ng-container\n *ngTemplateOutlet=\"alertTemplate; context: { $implicit: contextTemplate }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"actions\" *ngIf=\"displayButtons\">\n <dropi-button\n *ngIf=\"secondaryButton\"\n [text]=\"secondaryButton | translate\"\n severity=\"secondary\"\n (onClick)=\"secondaryButtonAction()\"\n ></dropi-button>\n <dropi-button\n [text]=\"primaryButton | translate\"\n (onClick)=\"primaryButtonAction()\"\n ></dropi-button>\n </div>\n\n <!-- <div class=\"actions\" *ngIf=\"displayButtons\">\n <button\n *ngIf=\"secondaryButton\"\n class=\"btn btn-secondary\"\n (click)=\"secondaryButtonAction()\"\n data-cy=\"alert-modal-secondary-button\"\n >\n {{ secondaryButton | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"primaryButtonAction()\"\n data-cy=\"alert-modal-primary-button\"\n >\n {{ primaryButton | translate }}\n </button>\n </div> -->\n </div>\n\n <div class=\"body-alert-loading\" *ngIf=\"loading\">\n <div class=\"header-alert\" [style]=\"{ 'margin-bottom': loadingAnimation.marginBottom }\">\n <div class=\"lottie-img\" *ngIf=\"visible && loading\">\n <dotlottie-player\n *ngIf=\"loading && brandName === 'dropi'\"\n [src]=\"loadingAnimation.path\"\n background=\"transparent\"\n speed=\"1\"\n [style]=\"{\n width: loadingAnimation.width,\n height: loadingAnimation.height,\n }\"\n loop\n autoplay\n ></dotlottie-player>\n <dotlottie-player\n *ngIf=\"loading && brandName !== 'dropi' && params.type == 'loading'\"\n [src]=\"'/assets/lottie-files/loading-mb.json'\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 300px; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi' && params.type !== 'loading'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <p-progressBar *ngIf=\"withLoadingProgressBar\" mode=\"indeterminate\" color=\"#F49A3D\" />\n <h2>\n {{ loadingTitle | translate }}\n </h2>\n <p>\n {{ loadingMessage | translate }}\n </p>\n <h5 *ngIf=\"params.applyCountRegresive\">\n {{ 'in' | translate }} {{ countRegresive }} {{ 'seconds' | translate }}\n </h5>\n </div>\n </div>\n </ng-template>\n</dropi-modal>\n", styles: ["@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open .dropi-modal__panel.dropi-alert-modal{transform:translateY(0)!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:440px!important;min-height:280px!important;overflow:hidden!important}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal__content{overflow:hidden!important;display:flex;justify-content:center;align-items:center}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:100%!important;max-width:100%!important;height:auto!important;padding-bottom:30px!important;position:absolute!important;bottom:0!important;border-radius:10px 10px 0 0!important;transform:translateY(100%)!important;transition:transform .3s cubic-bezier(0,0,.2,1)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:460px;max-width:460px;height:auto!important}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:calc(100% - 32px);max-width:calc(100% - 32px);height:auto!important;margin:16px;top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{background-color:#fff!important;box-shadow:0 20px 25px #0000001a;border-radius:8px!important;max-width:460px;width:100%;box-sizing:border-box;padding:32px;margin:0 20px;transition:all .3s ease-in-out;height:auto}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{padding:24px;margin:0;border-radius:12px!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-content{padding:0;overflow:hidden}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-header{position:absolute;right:-10px;top:-10px;background:transparent}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-progressbar{height:6px;border-radius:4px;margin-bottom:25px}.lottie-img{margin-top:-8px;margin-bottom:8px;min-height:100px}.wb-img{display:flex;justify-content:center;margin-top:4px!important}.body-alert{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden}.header-alert{width:120px}.content-alert{text-align:center}.content-alert h2{color:var(--Gray-Gray-1, #1f2937);font-size:19px;font-weight:600}.content-alert p{color:var(--Gray-Gray-2, #74798d);font-size:14px;margin-bottom:8px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.actions{display:flex;gap:10px;width:100%}.actions dropi-button{flex:1;display:flex;justify-content:center}.actions dropi-button ::ng-deep .btn{width:100%}@media (max-width: 768px){.actions{flex-direction:column}.actions dropi-button{width:100%}}.body-alert-loading .header-alert{width:100%;display:flex;align-items:center;justify-content:center;height:160px}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"], dependencies: [{ kind: "component", type: DropiModalComponent, selector: "dropi-modal", inputs: ["visible", "modal", "dismissableMask", "closeOnEscape", "showCloseIcon", "showHeader", "header", "styleClass", "maxWidth", "position", "transitionOptions"], outputs: ["visibleChange", "onHide", "onShow", "onClose"] }, { kind: "directive", type: PTemplateDirective, selector: "ng-template[pTemplate]", inputs: ["pTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i2.ProgressBar, selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }] });
|
|
203
|
+
}
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AlertModalComponent, decorators: [{
|
|
205
|
+
type: Component,
|
|
206
|
+
args: [{ selector: "app-alert-modal", standalone: true, imports: [
|
|
207
|
+
DropiModalComponent,
|
|
208
|
+
PTemplateDirective,
|
|
209
|
+
NgIf,
|
|
210
|
+
TranslateModule,
|
|
211
|
+
ProgressBarModule,
|
|
212
|
+
ButtonComponent,
|
|
213
|
+
], schemas: [NO_ERRORS_SCHEMA], template: "<dropi-modal\n styleClass=\"dropi-alert-modal\"\n [(visible)]=\"visible\"\n [modal]=\"true\"\n [closable]=\"params?.closable ? true : false\"\n [dismissableMask]=\"false\"\n [closeOnEscape]=\"false\"\n [showHeader]=\"false\"\n transitionOptions=\"300ms\"\n [showHeader]=\"params?.closable ? true : false\"\n [autoZIndex]=\"true\"\n [baseZIndex]=\"baseZIndex\"\n (onHide)=\"onHideModal()\"\n>\n <ng-template pTemplate=\"content\">\n <div class=\"body-alert\" *ngIf=\"!loading\">\n <div class=\"header-alert\">\n <div class=\"lottie-img\" *ngIf=\"visible && brandName === 'dropi'\">\n <dotlottie-player\n [src]=\"sourceAnimation\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 100%; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <h2>{{ tittle | translate }}</h2>\n <ng-container *ngIf=\"isArray(message)\">\n <p *ngFor=\"let m of message\">{{ m | translate }}</p>\n </ng-container>\n\n <p *ngIf=\"!isArray(message)\">\n {{ message | translate }}\n </p>\n </div>\n\n <ng-container *ngIf=\"alertTemplate\">\n <ng-container\n *ngTemplateOutlet=\"alertTemplate; context: { $implicit: contextTemplate }\"\n ></ng-container>\n </ng-container>\n\n <div class=\"actions\" *ngIf=\"displayButtons\">\n <dropi-button\n *ngIf=\"secondaryButton\"\n [text]=\"secondaryButton | translate\"\n severity=\"secondary\"\n (onClick)=\"secondaryButtonAction()\"\n ></dropi-button>\n <dropi-button\n [text]=\"primaryButton | translate\"\n (onClick)=\"primaryButtonAction()\"\n ></dropi-button>\n </div>\n\n <!-- <div class=\"actions\" *ngIf=\"displayButtons\">\n <button\n *ngIf=\"secondaryButton\"\n class=\"btn btn-secondary\"\n (click)=\"secondaryButtonAction()\"\n data-cy=\"alert-modal-secondary-button\"\n >\n {{ secondaryButton | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n (click)=\"primaryButtonAction()\"\n data-cy=\"alert-modal-primary-button\"\n >\n {{ primaryButton | translate }}\n </button>\n </div> -->\n </div>\n\n <div class=\"body-alert-loading\" *ngIf=\"loading\">\n <div class=\"header-alert\" [style]=\"{ 'margin-bottom': loadingAnimation.marginBottom }\">\n <div class=\"lottie-img\" *ngIf=\"visible && loading\">\n <dotlottie-player\n *ngIf=\"loading && brandName === 'dropi'\"\n [src]=\"loadingAnimation.path\"\n background=\"transparent\"\n speed=\"1\"\n [style]=\"{\n width: loadingAnimation.width,\n height: loadingAnimation.height,\n }\"\n loop\n autoplay\n ></dotlottie-player>\n <dotlottie-player\n *ngIf=\"loading && brandName !== 'dropi' && params.type == 'loading'\"\n [src]=\"'/assets/lottie-files/loading-mb.json'\"\n background=\"transparent\"\n speed=\"1\"\n style=\"width: 300px; height: auto\"\n loop\n autoplay\n ></dotlottie-player>\n </div>\n <div class=\"wb-img\" *ngIf=\"visible && brandName !== 'dropi' && params.type !== 'loading'\">\n <img [src]=\"imageWhiteBrand\" alt=\"logo\" />\n </div>\n </div>\n <div class=\"content-alert\">\n <p-progressBar *ngIf=\"withLoadingProgressBar\" mode=\"indeterminate\" color=\"#F49A3D\" />\n <h2>\n {{ loadingTitle | translate }}\n </h2>\n <p>\n {{ loadingMessage | translate }}\n </p>\n <h5 *ngIf=\"params.applyCountRegresive\">\n {{ 'in' | translate }} {{ countRegresive }} {{ 'seconds' | translate }}\n </h5>\n </div>\n </div>\n </ng-template>\n</dropi-modal>\n", styles: ["@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open .dropi-modal__panel.dropi-alert-modal{transform:translateY(0)!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root.dropi-modal-root--open.dropi-modal-root--closing .dropi-modal__panel.dropi-alert-modal{transform:translateY(100%)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:440px!important;min-height:280px!important;overflow:hidden!important}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal__content{overflow:hidden!important;display:flex;justify-content:center;align-items:center}@media screen and (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal{width:100%!important;max-width:100%!important;height:auto!important;padding-bottom:30px!important;position:absolute!important;bottom:0!important;border-radius:10px 10px 0 0!important;transform:translateY(100%)!important;transition:transform .3s cubic-bezier(0,0,.2,1)!important;opacity:1!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:460px;max-width:460px;height:auto!important}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-container{width:calc(100% - 32px);max-width:calc(100% - 32px);height:auto!important;margin:16px;top:50%!important;transform:translateY(-50%)!important}}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .dropi-modal-content{max-height:calc(100vh - 32px);overflow-y:auto}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{background-color:#fff!important;box-shadow:0 20px 25px #0000001a;border-radius:8px!important;max-width:460px;width:100%;box-sizing:border-box;padding:32px;margin:0 20px;transition:all .3s ease-in-out;height:auto}@media (max-width: 768px){::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog{padding:24px;margin:0;border-radius:12px!important}}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-content{padding:0;overflow:hidden}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-dialog-header{position:absolute;right:-10px;top:-10px;background:transparent}::ng-deep .dropi-modal-root .dropi-modal__panel.dropi-alert-modal .p-progressbar{height:6px;border-radius:4px;margin-bottom:25px}.lottie-img{margin-top:-8px;margin-bottom:8px;min-height:100px}.wb-img{display:flex;justify-content:center;margin-top:4px!important}.body-alert{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow:hidden}.header-alert{width:120px}.content-alert{text-align:center}.content-alert h2{color:var(--Gray-Gray-1, #1f2937);font-size:19px;font-weight:600}.content-alert p{color:var(--Gray-Gray-2, #74798d);font-size:14px;margin-bottom:8px;overflow-wrap:anywhere;max-height:100px;overflow:auto}.actions{display:flex;gap:10px;width:100%}.actions dropi-button{flex:1;display:flex;justify-content:center}.actions dropi-button ::ng-deep .btn{width:100%}@media (max-width: 768px){.actions{flex-direction:column}.actions dropi-button{width:100%}}.body-alert-loading .header-alert{width:100%;display:flex;align-items:center;justify-content:center;height:160px}button{flex:1;outline:none;border-radius:8px;display:flex;align-items:center;gap:8px;justify-content:center}button.btn-primary{background:var(--Primary-Naranja, #ff9333);border:navajowhite;height:40px;padding:8px 20px 8px 16px;font-weight:600}button.btn-secondary{background:#fff;color:var(--Primary-Naranja, #ff9333);border:1px solid;font-weight:500}\n"] }]
|
|
214
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
215
|
+
type: Inject,
|
|
216
|
+
args: ["TemplateAlertModalService"]
|
|
217
|
+
}] }, { type: undefined, decorators: [{
|
|
218
|
+
type: Inject,
|
|
219
|
+
args: ["SettingsService"]
|
|
220
|
+
}] }, { type: i1.TranslateService, decorators: [{
|
|
221
|
+
type: Inject,
|
|
222
|
+
args: [TranslateService]
|
|
223
|
+
}] }], propDecorators: { visible: [{
|
|
224
|
+
type: Input
|
|
225
|
+
}], params: [{
|
|
226
|
+
type: Input
|
|
227
|
+
}], loading: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}], isStep: [{
|
|
230
|
+
type: Input
|
|
231
|
+
}], contentTemplate: [{
|
|
232
|
+
type: Input
|
|
233
|
+
}], baseZIndex: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], modalOpenChange: [{
|
|
236
|
+
type: Output
|
|
237
|
+
}], primaryButtonEvent: [{
|
|
238
|
+
type: Output
|
|
239
|
+
}], modalContainer: [{
|
|
240
|
+
type: ViewChild,
|
|
241
|
+
args: ["modalContainer", { read: ViewContainerRef, static: true }]
|
|
242
|
+
}], secondaryButtonEvent: [{
|
|
243
|
+
type: Output
|
|
244
|
+
}], onHide: [{
|
|
245
|
+
type: Output
|
|
246
|
+
}] } });
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2FsZXJ0LW1vZGFsL2FsZXJ0LW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9hbGVydC1tb2RhbC9hbGVydC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUdOLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsZ0JBQWdCLEVBR2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQUV6RSxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLGtDQUFtQixDQUFBO0lBQ25CLDhCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBaUNELE1BQU0sT0FBTyxtQkFBbUI7SUEwQ2lCO0lBQ1Y7SUFDRDtJQTNDM0IsT0FBTyxDQUFVO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixPQUFPLENBQVU7SUFDakIsTUFBTSxDQUFVO0lBQ2hCLGVBQWUsQ0FBb0I7SUFDbkMsVUFBVSxHQUFXLENBQUMsQ0FBQztJQUN0QixlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUM5QyxrQkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRTNELGNBQWMsQ0FBb0I7SUFDeEIsb0JBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNuRCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV0QyxhQUFhLEdBQTRCLElBQUksQ0FBQztJQUM5QyxlQUFlLEdBQVEsRUFBRSxDQUFDO0lBQ2xCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXZDLE1BQU0sQ0FBUztJQUNmLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBUztJQUNoQixhQUFhLENBQVM7SUFDdEIsY0FBYyxHQUFZLElBQUksQ0FBQztJQUMvQixlQUFlLENBQVM7SUFDeEIsZUFBZSxDQUFTO0lBQ3hCLFdBQVcsR0FBZ0IsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUMvQyxZQUFZLEdBQVcsYUFBYSxDQUFDO0lBQ3JDLGNBQWMsR0FBVyw4QkFBOEIsQ0FBQztJQUN4RCxzQkFBc0IsR0FBWSxLQUFLLENBQUM7SUFDeEMsZ0JBQWdCLEdBQUc7UUFDakIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUUsT0FBTztRQUNkLE1BQU0sRUFBRSxPQUFPO1FBQ2YsWUFBWSxFQUFFLEtBQUs7S0FDcEIsQ0FBQztJQUVGLFNBQVMsR0FBVyxPQUFPLENBQUM7SUFDNUIsZUFBZSxDQUFTO0lBQ3hCLFFBQVEsQ0FBTTtJQUNkLGNBQWMsR0FBVyxDQUFDLENBQUM7SUFFM0IsWUFDK0MsZUFBb0IsRUFDOUIsY0FBbUIsRUFDcEIsZ0JBQWtDO1FBRnZCLG9CQUFlLEdBQWYsZUFBZSxDQUFLO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFLO1FBQ3BCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksRUFBRTtZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hELENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0I7WUFDcEMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhO2dCQUM1QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhO2dCQUMzQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQztZQUNwRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7Z0JBQ3hDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7Z0JBQ3pCLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2dCQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2dCQUMxQixDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjO2dCQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjO2dCQUM1QixDQUFDLENBQUMsOEJBQThCLENBQUM7WUFDbkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCO2dCQUM5RCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0I7Z0JBQ3BDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZUFBZTtRQUNiLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssVUFBVTtnQkFDYixJQUFJLENBQUMsZUFBZSxHQUFHLG9DQUFvQyxDQUFDO2dCQUM1RCxNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxlQUFlLEdBQUcsbUNBQW1DLENBQUM7Z0JBQzNELE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsR0FBRyxtQ0FBbUMsQ0FBQztnQkFDM0QsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsZUFBZSxHQUFHLG1DQUFtQyxDQUFDO2dCQUMzRCxNQUFNO1lBQ1I7Z0JBQ0UsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixLQUFLLFdBQVcsQ0FBQyxPQUFPO2dCQUN0QixNQUFNLElBQUksR0FDUixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU87b0JBQ3RDLENBQUMsQ0FBQyxtQ0FBbUM7b0JBQ3JDLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHO29CQUN0QixJQUFJO29CQUNKLEtBQUssRUFBRSxPQUFPO29CQUNkLE1BQU0sRUFBRSxPQUFPO29CQUNmLFlBQVksRUFBRSxLQUFLO2lCQUNwQixDQUFDO2dCQUNGLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUc7b0JBQ3RCLElBQUksRUFBRSxpQ0FBaUM7b0JBQ3ZDLEtBQUssRUFBRSxPQUFPO29CQUNkLE1BQU0sRUFBRSxPQUFPO29CQUNmLFlBQVksRUFBRSxNQUFNO2lCQUNyQixDQUFDO2dCQUNGLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLFVBQVU7Z0JBQ2IsT0FBTywwQ0FBMEMsQ0FBQztZQUNwRCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyw2Q0FBNkMsQ0FBQztZQUN2RCxLQUFLLFNBQVM7Z0JBQ1osT0FBTyw2Q0FBNkMsQ0FBQztZQUN2RCxLQUFLLE9BQU87Z0JBQ1YsT0FBTywyQ0FBMkMsQ0FBQztZQUNyRDtnQkFDRSxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7d0dBMU1VLG1CQUFtQixrQkEwQ3BCLDJCQUEyQixhQUMzQixpQkFBaUIsYUFDakIsZ0JBQWdCOzRGQTVDZixtQkFBbUIseWRBU08sZ0JBQWdCLGdFQ3JFdkQsOHBJQTRIQSw2MkhEekVJLG1CQUFtQix5UkFDbkIsa0JBQWtCLDBGQUNsQixJQUFJLDRGQUNKLGVBQWUsMkZBQ2YsaUJBQWlCOzs0RkFLUixtQkFBbUI7a0JBZi9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBR2YsSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixJQUFJO3dCQUNKLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3FCQUNoQixXQUNRLENBQUMsZ0JBQWdCLENBQUM7OzBCQTRDeEIsTUFBTTsyQkFBQywyQkFBMkI7OzBCQUNsQyxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZ0JBQWdCO3lDQTNDakIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFFUCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFM0Qsb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgTk9fRVJST1JTX1NDSEVNQSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgT25EZXN0cm95LFxuICBJbmplY3QsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9wcm9ncmVzc2JhclwiO1xuaW1wb3J0IHsgRHJvcGlNb2RhbENvbXBvbmVudCB9IGZyb20gXCIuLi9kcm9waS1tb2RhbC9kcm9waS1tb2RhbC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFBUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gXCIuLi9kcm9waS1tb2RhbC9wLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGktYnV0dG9uL2Ryb3BpLWJ1dHRvbi5jb21wb25lbnRcIjtcblxuZXhwb3J0IGVudW0gTG9hZGluZ1R5cGUge1xuICBCb3dsaW5nID0gXCJib3dsaW5nXCIsXG4gIEhlYXJ0ID0gXCJoZWFydFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsUGFyYW1zIHtcbiAgdGl0dGxlOiBzdHJpbmc7XG4gIHR5cGU/OiBcInF1ZXN0aW9uXCIgfCBcIndhcm5pbmdcIiB8IFwic3VjY2Vzc1wiIHwgXCJlcnJvclwiIHwgXCJsb2FkaW5nXCI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcHJpbWFyeUJ1dHRvbj86IHN0cmluZztcbiAgc2Vjb25kYXJ5QnV0dG9uPzogc3RyaW5nO1xuICBsb2FkaW5nVHlwZT86IExvYWRpbmdUeXBlO1xuICBsb2FkaW5nVGl0bGU/OiBzdHJpbmc7XG4gIGxvYWRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoTG9hZGluZ1Byb2dyZXNzQmFyPzogYm9vbGVhbjtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xuICBkaXNwbGF5QnV0dG9ucz86IGJvb2xlYW47XG4gIGFwcGx5Q291bnRSZWdyZXNpdmU/OiBib29sZWFuO1xuICB0aW1lcj86IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImFwcC1hbGVydC1tb2RhbFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FsZXJ0LW1vZGFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hbGVydC1tb2RhbC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIERyb3BpTW9kYWxDb21wb25lbnQsXG4gICAgUFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIE5nSWYsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgc2NoZW1hczogW05PX0VSUk9SU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBBbGVydE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZpc2libGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBhcmFtczogTW9kYWxQYXJhbXM7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzU3RlcDogYm9vbGVhbjtcbiAgQElucHV0KCkgY29udGVudFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgYmFzZVpJbmRleDogbnVtYmVyID0gMDtcbiAgQE91dHB1dCgpIG1vZGFsT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHByaW1hcnlCdXR0b25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQFZpZXdDaGlsZChcIm1vZGFsQ29udGFpbmVyXCIsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIG1vZGFsQ29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcbiAgQE91dHB1dCgpIHNlY29uZGFyeUJ1dHRvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgb25IaWRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGFsZXJ0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgY29udGV4dFRlbXBsYXRlOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgdGl0dGxlOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBwcmltYXJ5QnV0dG9uOiBzdHJpbmc7XG4gIGRpc3BsYXlCdXR0b25zOiBib29sZWFuID0gdHJ1ZTtcbiAgc2Vjb25kYXJ5QnV0dG9uOiBzdHJpbmc7XG4gIHNvdXJjZUFuaW1hdGlvbjogc3RyaW5nO1xuICBsb2FkaW5nVHlwZTogTG9hZGluZ1R5cGUgPSBMb2FkaW5nVHlwZS5Cb3dsaW5nO1xuICBsb2FkaW5nVGl0bGU6IHN0cmluZyA9IFwiQ2FyZ2FuZG8uLi5cIjtcbiAgbG9hZGluZ01lc3NhZ2U6IHN0cmluZyA9IFwiUG9yIGZhdm9yLCBlc3BlcmUgdW4gbW9tZW50b1wiO1xuICB3aXRoTG9hZGluZ1Byb2dyZXNzQmFyOiBib29sZWFuID0gZmFsc2U7XG4gIGxvYWRpbmdBbmltYXRpb24gPSB7XG4gICAgcGF0aDogXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9sb2FkaW5nLmpzb25cIixcbiAgICB3aWR0aDogXCIzMDBweFwiLFxuICAgIGhlaWdodDogXCIzMDBweFwiLFxuICAgIG1hcmdpbkJvdHRvbTogXCIwcHhcIixcbiAgfTtcblxuICBicmFuZE5hbWU6IHN0cmluZyA9IFwiZHJvcGlcIjtcbiAgaW1hZ2VXaGl0ZUJyYW5kOiBzdHJpbmc7XG4gIGludGVydmFsOiBhbnk7XG4gIGNvdW50UmVncmVzaXZlOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoXCJUZW1wbGF0ZUFsZXJ0TW9kYWxTZXJ2aWNlXCIpIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBhbnksXG4gICAgQEluamVjdChcIlNldHRpbmdzU2VydmljZVwiKSBwcml2YXRlIHNldHRpbmdTZXJ2aWNlOiBhbnksXG4gICAgQEluamVjdChUcmFuc2xhdGVTZXJ2aWNlKSBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuYnJhbmROYW1lID0gdGhpcy5zZXR0aW5nU2VydmljZT8uZ2V0QnJhbmRJbmZvKClcbiAgICAgID8gdGhpcy5zZXR0aW5nU2VydmljZS5nZXRCcmFuZEluZm8oKT8ubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICA6IFwiZHJvcGlcIjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlUGFyYW1zKCk7XG4gICAgdGhpcy5kZWNpZGVBbmltYXRpb24oKTtcbiAgICB0aGlzLmRlY2lkZUxvYWRpbmdBbmltYXRpb24oKTtcblxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlPy5jdXJyZW50VGVtcGxhdGUkXG4gICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgPy5zdWJzY3JpYmUoKHsgdGVtcGxhdGUsIGNvbnRleHQgfSkgPT4ge1xuICAgICAgICB0aGlzLmFsZXJ0VGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgdGhpcy5jb250ZXh0VGVtcGxhdGUgPSBjb250ZXh0O1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVQYXJhbXMoKTtcbiAgICB0aGlzLmRlY2lkZUFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGVjaWRlTG9hZGluZ0FuaW1hdGlvbigpO1xuICAgIHRoaXMuaW1hZ2VXaGl0ZUJyYW5kID0gdGhpcy5kZWNpZGVJbWdXaGl0ZUJyYW5kKCk7XG4gIH1cblxuICB1cGRhdGVQYXJhbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFyYW1zKSB7XG4gICAgICB0aGlzLnRpdHRsZSA9IHRoaXMucGFyYW1zLnRpdHRsZTtcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMucGFyYW1zLnR5cGU7XG4gICAgICB0aGlzLm1lc3NhZ2UgPSB0aGlzLnBhcmFtcy5tZXNzYWdlO1xuICAgICAgdGhpcy5wcmltYXJ5QnV0dG9uID0gdGhpcy5wYXJhbXMucHJpbWFyeUJ1dHRvblxuICAgICAgICA/IHRoaXMucGFyYW1zLnByaW1hcnlCdXR0b25cbiAgICAgICAgOiBcIkFjZXB0YXJcIjtcbiAgICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uID0gdGhpcy5wYXJhbXM/LnNlY29uZGFyeUJ1dHRvbjtcbiAgICAgIHRoaXMuZGlzcGxheUJ1dHRvbnMgPSB0aGlzLnBhcmFtcz8uZGlzcGxheUJ1dHRvbnMgPT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XG4gICAgICB0aGlzLmxvYWRpbmdUeXBlID0gdGhpcy5wYXJhbXMubG9hZGluZ1R5cGVcbiAgICAgICAgPyB0aGlzLnBhcmFtcy5sb2FkaW5nVHlwZVxuICAgICAgICA6IExvYWRpbmdUeXBlLkJvd2xpbmc7XG4gICAgICB0aGlzLmxvYWRpbmdUaXRsZSA9IHRoaXMucGFyYW1zLmxvYWRpbmdUaXRsZVxuICAgICAgICA/IHRoaXMucGFyYW1zLmxvYWRpbmdUaXRsZVxuICAgICAgICA6IFwiQ2FyZ2FuZG8uLi5cIjtcbiAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSB0aGlzLnBhcmFtcy5sb2FkaW5nTWVzc2FnZVxuICAgICAgICA/IHRoaXMucGFyYW1zLmxvYWRpbmdNZXNzYWdlXG4gICAgICAgIDogXCJQb3IgZmF2b3IsIGVzcGVyZSB1biBtb21lbnRvXCI7XG4gICAgICB0aGlzLndpdGhMb2FkaW5nUHJvZ3Jlc3NCYXIgPSB0aGlzLnBhcmFtcy53aXRoTG9hZGluZ1Byb2dyZXNzQmFyXG4gICAgICAgID8gdGhpcy5wYXJhbXMud2l0aExvYWRpbmdQcm9ncmVzc0JhclxuICAgICAgICA6IGZhbHNlO1xuICAgICAgaWYgKHRoaXMucGFyYW1zLmFwcGx5Q291bnRSZWdyZXNpdmUgPT09IHRydWUgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICAgIHRoaXMuc3RhcnRDb3VudFJlZ3Jlc2l2ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBwcmltYXJ5QnV0dG9uQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucHJpbWFyeUJ1dHRvbkV2ZW50LmVtaXQodHJ1ZSk7XG4gICAgaWYgKCF0aGlzLmlzU3RlcCkge1xuICAgICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgfVxuICB9XG5cbiAgc2Vjb25kYXJ5QnV0dG9uQWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2Vjb25kYXJ5QnV0dG9uRXZlbnQuZW1pdCh0cnVlKTtcbiAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGRlY2lkZUFuaW1hdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBcInF1ZXN0aW9uXCI6XG4gICAgICAgIHRoaXMuc291cmNlQW5pbWF0aW9uID0gXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9xdWVzdGlvbi5qc29uXCI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIndhcm5pbmdcIjpcbiAgICAgICAgdGhpcy5zb3VyY2VBbmltYXRpb24gPSBcIi9hc3NldHMvbG90dGllLWZpbGVzL3dhcm5pbmcuanNvblwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJzdWNjZXNzXCI6XG4gICAgICAgIHRoaXMuc291cmNlQW5pbWF0aW9uID0gXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9zdWNjZXNzLmpzb25cIjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiZXJyb3JcIjpcbiAgICAgICAgdGhpcy5zb3VyY2VBbmltYXRpb24gPSBcIi9hc3NldHMvbG90dGllLWZpbGVzL2ZhaWx1cmUuanNvblwiO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuc291cmNlQW5pbWF0aW9uID0gXCJcIjtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgZGVjaWRlTG9hZGluZ0FuaW1hdGlvbigpIHtcbiAgICBzd2l0Y2ggKHRoaXMubG9hZGluZ1R5cGUpIHtcbiAgICAgIGNhc2UgTG9hZGluZ1R5cGUuQm93bGluZzpcbiAgICAgICAgY29uc3QgcGF0aCA9XG4gICAgICAgICAgdGhpcy5icmFuZE5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJkcm9waVwiXG4gICAgICAgICAgICA/IFwiL2Fzc2V0cy9sb3R0aWUtZmlsZXMvbG9hZGluZy5qc29uXCJcbiAgICAgICAgICAgIDogXCIvYXNzZXRzL2xvdHRpZS1maWxlcy9sb2FkaW5nLW1iLmpzb25cIjtcbiAgICAgICAgdGhpcy5sb2FkaW5nQW5pbWF0aW9uID0ge1xuICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgd2lkdGg6IFwiMzAwcHhcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMzAwcHhcIixcbiAgICAgICAgICBtYXJnaW5Cb3R0b206IFwiMHB4XCIsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBMb2FkaW5nVHlwZS5IZWFydDpcbiAgICAgICAgdGhpcy5sb2FkaW5nQW5pbWF0aW9uID0ge1xuICAgICAgICAgIHBhdGg6IFwiL2Fzc2V0cy9sb3R0aWUtZmlsZXMvaGVhcnQuanNvblwiLFxuICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjE4MHB4XCIsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiBcIjE1cHhcIixcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgZGVjaWRlSW1nV2hpdGVCcmFuZCgpIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBcInF1ZXN0aW9uXCI6XG4gICAgICAgIHJldHVybiBgL2Fzc2V0cy9pbWcvd2hpdGUtYnJhbmRzLWV2ZW50cy9pbmZvLnBuZ2A7XG4gICAgICBjYXNlIFwid2FybmluZ1wiOlxuICAgICAgICByZXR1cm4gYC9hc3NldHMvaW1nL3doaXRlLWJyYW5kcy1ldmVudHMvd2FybmluZy5wbmdgO1xuICAgICAgY2FzZSBcInN1Y2Nlc3NcIjpcbiAgICAgICAgcmV0dXJuIGAvYXNzZXRzL2ltZy93aGl0ZS1icmFuZHMtZXZlbnRzL3N1Y2Nlc3MucG5nYDtcbiAgICAgIGNhc2UgXCJlcnJvclwiOlxuICAgICAgICByZXR1cm4gYC9hc3NldHMvaW1nL3doaXRlLWJyYW5kcy1ldmVudHMvZXJyb3IucG5nYDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIHN0YXJ0Q291bnRSZWdyZXNpdmUoKSB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWwpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gICAgfVxuXG4gICAgdGhpcy5jb3VudFJlZ3Jlc2l2ZSA9IHRoaXMucGFyYW1zLnRpbWVyO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuY291bnRSZWdyZXNpdmUtLTtcbiAgICAgIGlmICh0aGlzLmNvdW50UmVncmVzaXZlIDw9IDApIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uSGlkZU1vZGFsKCkge1xuICAgIHRoaXMubW9kYWxPcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIHRoaXMub25IaWRlLmVtaXQoKTtcbiAgfVxuXG4gIGlzQXJyYXkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKTtcbiAgfVxufVxuIiwiPGRyb3BpLW1vZGFsXG4gIHN0eWxlQ2xhc3M9XCJkcm9waS1hbGVydC1tb2RhbFwiXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXG4gIFttb2RhbF09XCJ0cnVlXCJcbiAgW2Nsb3NhYmxlXT1cInBhcmFtcz8uY2xvc2FibGUgPyB0cnVlIDogZmFsc2VcIlxuICBbZGlzbWlzc2FibGVNYXNrXT1cImZhbHNlXCJcbiAgW2Nsb3NlT25Fc2NhcGVdPVwiZmFsc2VcIlxuICBbc2hvd0hlYWRlcl09XCJmYWxzZVwiXG4gIHRyYW5zaXRpb25PcHRpb25zPVwiMzAwbXNcIlxuICBbc2hvd0hlYWRlcl09XCJwYXJhbXM/LmNsb3NhYmxlID8gdHJ1ZSA6IGZhbHNlXCJcbiAgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiXG4gIFtiYXNlWkluZGV4XT1cImJhc2VaSW5kZXhcIlxuICAob25IaWRlKT1cIm9uSGlkZU1vZGFsKClcIlxuPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJib2R5LWFsZXJ0XCIgKm5nSWY9XCIhbG9hZGluZ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hbGVydFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibG90dGllLWltZ1wiICpuZ0lmPVwidmlzaWJsZSAmJiBicmFuZE5hbWUgPT09ICdkcm9waSdcIj5cbiAgICAgICAgICA8ZG90bG90dGllLXBsYXllclxuICAgICAgICAgICAgW3NyY109XCJzb3VyY2VBbmltYXRpb25cIlxuICAgICAgICAgICAgYmFja2dyb3VuZD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgIHNwZWVkPVwiMVwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG9cIlxuICAgICAgICAgICAgbG9vcFxuICAgICAgICAgICAgYXV0b3BsYXlcbiAgICAgICAgICA+PC9kb3Rsb3R0aWUtcGxheWVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLWltZ1wiICpuZ0lmPVwidmlzaWJsZSAmJiBicmFuZE5hbWUgIT09ICdkcm9waSdcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2VXaGl0ZUJyYW5kXCIgYWx0PVwibG9nb1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1hbGVydFwiPlxuICAgICAgICA8aDI+e3sgdGl0dGxlIHwgdHJhbnNsYXRlIH19PC9oMj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXJyYXkobWVzc2FnZSlcIj5cbiAgICAgICAgICA8cCAqbmdGb3I9XCJsZXQgbSBvZiBtZXNzYWdlXCI+e3sgbSB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPHAgKm5nSWY9XCIhaXNBcnJheShtZXNzYWdlKVwiPlxuICAgICAgICAgIHt7IG1lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGVydFRlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFsZXJ0VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjb250ZXh0VGVtcGxhdGUgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiICpuZ0lmPVwiZGlzcGxheUJ1dHRvbnNcIj5cbiAgICAgICAgPGRyb3BpLWJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwic2Vjb25kYXJ5QnV0dG9uXCJcbiAgICAgICAgICBbdGV4dF09XCJzZWNvbmRhcnlCdXR0b24gfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIHNldmVyaXR5PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAob25DbGljayk9XCJzZWNvbmRhcnlCdXR0b25BY3Rpb24oKVwiXG4gICAgICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgICAgICAgPGRyb3BpLWJ1dHRvblxuICAgICAgICAgIFt0ZXh0XT1cInByaW1hcnlCdXR0b24gfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIChvbkNsaWNrKT1cInByaW1hcnlCdXR0b25BY3Rpb24oKVwiXG4gICAgICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCIgKm5nSWY9XCJkaXNwbGF5QnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNlY29uZGFyeUJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwic2Vjb25kYXJ5QnV0dG9uQWN0aW9uKClcIlxuICAgICAgICBkYXRhLWN5PVwiYWxlcnQtbW9kYWwtc2Vjb25kYXJ5LWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHNlY29uZGFyeUJ1dHRvbiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cInByaW1hcnlCdXR0b25BY3Rpb24oKVwiXG4gICAgICAgIGRhdGEtY3k9XCJhbGVydC1tb2RhbC1wcmltYXJ5LWJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHByaW1hcnlCdXR0b24gfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PiAtLT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5LWFsZXJ0LWxvYWRpbmdcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYWxlcnRcIiBbc3R5bGVdPVwieyAnbWFyZ2luLWJvdHRvbSc6IGxvYWRpbmdBbmltYXRpb24ubWFyZ2luQm90dG9tIH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxvdHRpZS1pbWdcIiAqbmdJZj1cInZpc2libGUgJiYgbG9hZGluZ1wiPlxuICAgICAgICAgIDxkb3Rsb3R0aWUtcGxheWVyXG4gICAgICAgICAgICAqbmdJZj1cImxvYWRpbmcgJiYgYnJhbmROYW1lID09PSAnZHJvcGknXCJcbiAgICAgICAgICAgIFtzcmNdPVwibG9hZGluZ0FuaW1hdGlvbi5wYXRoXCJcbiAgICAgICAgICAgIGJhY2tncm91bmQ9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBzcGVlZD1cIjFcIlxuICAgICAgICAgICAgW3N0eWxlXT1cIntcbiAgICAgICAgICAgICAgd2lkdGg6IGxvYWRpbmdBbmltYXRpb24ud2lkdGgsXG4gICAgICAgICAgICAgIGhlaWdodDogbG9hZGluZ0FuaW1hdGlvbi5oZWlnaHQsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGxvb3BcbiAgICAgICAgICAgIGF1dG9wbGF5XG4gICAgICAgICAgPjwvZG90bG90dGllLXBsYXllcj5cbiAgICAgICAgICA8ZG90bG90dGllLXBsYXllclxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkaW5nICYmIGJyYW5kTmFtZSAhPT0gJ2Ryb3BpJyAmJiBwYXJhbXMudHlwZSA9PSAnbG9hZGluZydcIlxuICAgICAgICAgICAgW3NyY109XCInL2Fzc2V0cy9sb3R0aWUtZmlsZXMvbG9hZGluZy1tYi5qc29uJ1wiXG4gICAgICAgICAgICBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgc3BlZWQ9XCIxXCJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDMwMHB4OyBoZWlnaHQ6IGF1dG9cIlxuICAgICAgICAgICAgbG9vcFxuICAgICAgICAgICAgYXV0b3BsYXlcbiAgICAgICAgICA+PC9kb3Rsb3R0aWUtcGxheWVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIndiLWltZ1wiICpuZ0lmPVwidmlzaWJsZSAmJiBicmFuZE5hbWUgIT09ICdkcm9waScgJiYgcGFyYW1zLnR5cGUgIT09ICdsb2FkaW5nJ1wiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZVdoaXRlQnJhbmRcIiBhbHQ9XCJsb2dvXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWFsZXJ0XCI+XG4gICAgICAgIDxwLXByb2dyZXNzQmFyICpuZ0lmPVwid2l0aExvYWRpbmdQcm9ncmVzc0JhclwiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCIjRjQ5QTNEXCIgLz5cbiAgICAgICAgPGgyPlxuICAgICAgICAgIHt7IGxvYWRpbmdUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2gyPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eyBsb2FkaW5nTWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxoNSAqbmdJZj1cInBhcmFtcy5hcHBseUNvdW50UmVncmVzaXZlXCI+XG4gICAgICAgICAge3sgJ2luJyB8IHRyYW5zbGF0ZSB9fSB7eyBjb3VudFJlZ3Jlc2l2ZSB9fSB7eyAnc2Vjb25kcycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9oNT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kcm9waS1tb2RhbD5cbiJdfQ==
|