@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,48 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DropiRadioButtonComponent {
|
|
5
|
+
label = '';
|
|
6
|
+
name = 'name';
|
|
7
|
+
id = 'radioButton';
|
|
8
|
+
checked = false;
|
|
9
|
+
resetTrigger = false; // Nuevo input para reiniciar
|
|
10
|
+
onChange = new EventEmitter();
|
|
11
|
+
radioInput;
|
|
12
|
+
constructor() { }
|
|
13
|
+
ngOnInit() { }
|
|
14
|
+
ngOnChanges(changes) {
|
|
15
|
+
if (changes['resetTrigger'] && this.resetTrigger) {
|
|
16
|
+
this.checked = false; // Reiniciar el estado
|
|
17
|
+
if (this.radioInput) {
|
|
18
|
+
this.radioInput.nativeElement.checked = false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
// ... existing code ...
|
|
22
|
+
}
|
|
23
|
+
sendClick(e) {
|
|
24
|
+
this.onChange.emit(e);
|
|
25
|
+
}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiRadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiRadioButtonComponent, isStandalone: true, selector: "app-dropi-radio-button", inputs: { label: "label", name: "name", id: "id", checked: "checked", resetTrigger: "resetTrigger" }, outputs: { onChange: "onChange" }, viewQueries: [{ propertyName: "radioInput", first: true, predicate: ["radioInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<input\n #radioInput\n [id]=\"id\"\n type=\"radio\"\n [name]=\"name\"\n [checked]=\"checked\"\n (change)=\"sendClick($event)\"\n/>\n", styles: ["@charset \"UTF-8\";input[type=radio]{appearance:none;width:20px;height:20px;border:2px solid var(--Primary-Primary-500);border-radius:50%;background-color:transparent;position:relative;cursor:pointer;outline:none}input[type=radio]:before{content:\"\";position:absolute;top:3px;left:3px;width:10px;height:10px;background-color:#f4ae6b;border-radius:50%;display:none}input[type=radio]:checked:before{display:block}input{display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiRadioButtonComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: 'app-dropi-radio-button', imports: [CommonModule], standalone: true, template: "<input\n #radioInput\n [id]=\"id\"\n type=\"radio\"\n [name]=\"name\"\n [checked]=\"checked\"\n (change)=\"sendClick($event)\"\n/>\n", styles: ["@charset \"UTF-8\";input[type=radio]{appearance:none;width:20px;height:20px;border:2px solid var(--Primary-Primary-500);border-radius:50%;background-color:transparent;position:relative;cursor:pointer;outline:none}input[type=radio]:before{content:\"\";position:absolute;top:3px;left:3px;width:10px;height:10px;background-color:#f4ae6b;border-radius:50%;display:none}input[type=radio]:checked:before{display:block}input{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
32
|
+
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], name: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], id: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], checked: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], resetTrigger: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], onChange: [{
|
|
43
|
+
type: Output
|
|
44
|
+
}], radioInput: [{
|
|
45
|
+
type: ViewChild,
|
|
46
|
+
args: ['radioInput']
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1yYWRpby1idXR0b24vZHJvcGktcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1yYWRpby1idXR0b24vZHJvcGktcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFTdkIsTUFBTSxPQUFPLHlCQUF5QjtJQUMzQixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsSUFBSSxHQUFHLE1BQU0sQ0FBQztJQUNkLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFDbkIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixZQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsNkJBQTZCO0lBRTNELFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTSxDQUFDO0lBQ25CLFVBQVUsQ0FBZ0M7SUFFbkUsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxzQkFBc0I7WUFDNUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDaEQsQ0FBQztRQUNILENBQUM7UUFDRCx3QkFBd0I7SUFDMUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzt3R0ExQlUseUJBQXlCOzRGQUF6Qix5QkFBeUIsMFZDcEJ0Qyw0SUFRQSxvaEJEU1ksWUFBWTs7NEZBR1gseUJBQXlCO2tCQVByQyxTQUFTOytCQUNFLHdCQUF3QixXQUd6QixDQUFDLFlBQVksQ0FBQyxjQUNYLElBQUk7d0RBR1AsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDa0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRyb3BpLXJhZGlvLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9waS1yYWRpby1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9waS1yYWRpby1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyb3BpUmFkaW9CdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIG5hbWUgPSAnbmFtZSc7XG4gIEBJbnB1dCgpIGlkID0gJ3JhZGlvQnV0dG9uJztcbiAgQElucHV0KCkgY2hlY2tlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByZXNldFRyaWdnZXI6IGJvb2xlYW4gPSBmYWxzZTsgLy8gTnVldm8gaW5wdXQgcGFyYSByZWluaWNpYXJcblxuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xuICBAVmlld0NoaWxkKCdyYWRpb0lucHV0JykgcmFkaW9JbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3Jlc2V0VHJpZ2dlciddICYmIHRoaXMucmVzZXRUcmlnZ2VyKSB7XG4gICAgICB0aGlzLmNoZWNrZWQgPSBmYWxzZTsgLy8gUmVpbmljaWFyIGVsIGVzdGFkb1xuICAgICAgaWYgKHRoaXMucmFkaW9JbnB1dCkge1xuICAgICAgICB0aGlzLnJhZGlvSW5wdXQubmF0aXZlRWxlbWVudC5jaGVja2VkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIC4uLiBleGlzdGluZyBjb2RlIC4uLlxuICB9XG5cbiAgc2VuZENsaWNrKGUpIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoZSk7XG4gIH1cbn1cbiIsIjxpbnB1dFxuICAjcmFkaW9JbnB1dFxuICBbaWRdPVwiaWRcIlxuICB0eXBlPVwicmFkaW9cIlxuICBbbmFtZV09XCJuYW1lXCJcbiAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gIChjaGFuZ2UpPVwic2VuZENsaWNrKCRldmVudClcIlxuLz5cbiJdfQ==
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, CUSTOM_ELEMENTS_SCHEMA, } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { FormsModule, ReactiveFormsModule, FormControl } from "@angular/forms";
|
|
4
|
+
import { TranslateModule } from "@ngx-translate/core";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
export class DropiSearchComponent {
|
|
10
|
+
type = "default";
|
|
11
|
+
typeInput = "text";
|
|
12
|
+
placeholder = "Search";
|
|
13
|
+
textDropButton = "Search";
|
|
14
|
+
textInput = "";
|
|
15
|
+
showIcon = true;
|
|
16
|
+
label = "";
|
|
17
|
+
colorSearch = "inherit";
|
|
18
|
+
overlaySelected = "";
|
|
19
|
+
backgroundInput = "transparent";
|
|
20
|
+
maxLength = 200;
|
|
21
|
+
textInputChange = new EventEmitter();
|
|
22
|
+
onClick = new EventEmitter();
|
|
23
|
+
onSearch = new EventEmitter();
|
|
24
|
+
onInput = new EventEmitter();
|
|
25
|
+
onKeyEnter = new EventEmitter();
|
|
26
|
+
onClear = new EventEmitter();
|
|
27
|
+
searchControl = new FormControl("");
|
|
28
|
+
isVisibleContent = false;
|
|
29
|
+
isClickedDropButton = false;
|
|
30
|
+
isFocus = false;
|
|
31
|
+
dataToSearchCache = [];
|
|
32
|
+
dataName = "name";
|
|
33
|
+
ngOnInit() { }
|
|
34
|
+
onFocus() {
|
|
35
|
+
this.isFocus = true;
|
|
36
|
+
}
|
|
37
|
+
onBlur() {
|
|
38
|
+
this.isFocus = false;
|
|
39
|
+
}
|
|
40
|
+
changeText(event) {
|
|
41
|
+
const val = event.target.value;
|
|
42
|
+
this.textInput = val;
|
|
43
|
+
this.textInputChange.emit(val);
|
|
44
|
+
this.onInput.emit(event);
|
|
45
|
+
}
|
|
46
|
+
onChangHandler(event) { }
|
|
47
|
+
onEnter(event) {
|
|
48
|
+
this.onKeyEnter.emit(event);
|
|
49
|
+
}
|
|
50
|
+
clearText() {
|
|
51
|
+
this.textInput = "";
|
|
52
|
+
this.textInputChange.emit("");
|
|
53
|
+
this.onClear.emit(null);
|
|
54
|
+
}
|
|
55
|
+
handleClickDropButton(event) {
|
|
56
|
+
this.isClickedDropButton = !this.isClickedDropButton;
|
|
57
|
+
this.onClick.emit(event);
|
|
58
|
+
}
|
|
59
|
+
checkingList(event, data) { }
|
|
60
|
+
getOverlayStyles() {
|
|
61
|
+
return {};
|
|
62
|
+
}
|
|
63
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSearchComponent, isStandalone: true, selector: "app-dropi-search", inputs: { type: "type", typeInput: "typeInput", placeholder: "placeholder", textDropButton: "textDropButton", textInput: "textInput", showIcon: "showIcon", label: "label", colorSearch: "colorSearch", overlaySelected: "overlaySelected", backgroundInput: "backgroundInput", maxLength: "maxLength" }, outputs: { textInputChange: "textInputChange", onClick: "onClick", onSearch: "onSearch", onInput: "onInput", onKeyEnter: "onKeyEnter", onClear: "onClear" }, ngImport: i0, template: "<div [style.--color-back]=\"backgroundInput\" #containerRef class=\"container-search\">\n <input\n (focus)=\"onFocus()\"\n (input)=\"changeText($event)\"\n (change)=\"onChangHandler($event)\"\n (keyup.enter)=\"onEnter($event)\"\n [(ngModel)]=\"textInput\"\n [ngClass]=\"{\n 'Body-M-Regular': true,\n 'custom-input': true,\n 'input-drop-class': type === 'dropdown-button'\n }\"\n [type]=\"typeInput\"\n [maxlength]=\"maxLength\"\n [placeholder]=\"placeholder | translate\"\n />\n <svg\n [style.color]=\"colorSearch\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20px\"\n height=\"20px\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n >\n <g clip-path=\"url(#clip0_3021_2)\">\n <path\n d=\"M17.1297 16.1484L12.9846 12.0032C14.1142 10.6217 14.6695 8.85886 14.5358 7.07932C14.4021 5.29979 13.5896 3.63972 12.2662 2.44249C10.9429 1.24526 9.20997 0.602467 7.42598 0.647073C5.64199 0.691678 3.94338 1.42027 2.68152 2.68213C1.41965 3.944 0.69106 5.64261 0.646455 7.4266C0.601849 9.21059 1.24464 10.9435 2.44187 12.2668C3.6391 13.5902 5.29917 14.4028 7.0787 14.5365C8.85824 14.6702 10.6211 14.1148 12.0026 12.9852L16.1478 17.1303C16.2787 17.2568 16.4542 17.3268 16.6362 17.3252C16.8183 17.3237 16.9925 17.2506 17.1212 17.1219C17.25 16.9931 17.323 16.8189 17.3246 16.6368C17.3262 16.4548 17.2562 16.2794 17.1297 16.1484ZM7.61095 13.1671C6.51217 13.1671 5.43806 12.8413 4.52445 12.2308C3.61084 11.6204 2.89877 10.7527 2.47829 9.73759C2.0578 8.72244 1.94778 7.60541 2.16214 6.52773C2.37651 5.45006 2.90562 4.46016 3.68258 3.6832C4.45954 2.90624 5.44944 2.37713 6.52712 2.16276C7.60479 1.9484 8.72183 2.05842 9.73697 2.47891C10.7521 2.89939 11.6198 3.61146 12.2302 4.52507C12.8407 5.43868 13.1665 6.51278 13.1665 7.61157C13.1649 9.08449 12.579 10.4966 11.5375 11.5381C10.496 12.5796 9.08387 13.1655 7.61095 13.1671Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3021_2\">\n <rect\n width=\"16.6667\"\n height=\"16.6667\"\n fill=\"white\"\n transform=\"translate(0.666664 0.666626)\"\n />\n </clipPath>\n </defs>\n </svg>\n\n <div class=\"container-close-drop\">\n <app-icon\n *ngIf=\"textInput?.length > 0 && showIcon\"\n (click)=\"clearText()\"\n [class]=\"label ? 'icon-close-input-label' : 'icon-close-input'\"\n name=\"Close-small\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-600\"\n ></app-icon>\n\n <div class=\"label-custom\" *ngIf=\"label && isFocus && type == 'dropdown'\">\n <span class=\"label-custom-icon Body-M-Regular\">\n {{ label || 'Label' }}\n </span>\n <app-icon name=\"Dropdown-down\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </div>\n <dropi-button\n *ngIf=\"type == 'dropdown-button'\"\n [type]=\"'dropdown'\"\n [severity]=\"'tertiary'\"\n [state]=\"'default'\"\n [text]=\"textDropButton\"\n (onClick)=\"handleClickDropButton($event)\"\n ></dropi-button>\n </div>\n\n <div\n #overlay\n (click)=\"$event.stopPropagation()\"\n [class]=\"'overlay-search-input ' + overlaySelected\"\n *ngIf=\"(isFocus && type == 'dropdown') || (isClickedDropButton && type == 'dropdown-button')\"\n [ngStyle]=\"getOverlayStyles()\"\n @fade\n >\n <div\n class=\"container-content\"\n *ngIf=\"\n (isVisibleContent && type == 'dropdown') ||\n (isClickedDropButton && type == 'dropdown-button')\n \"\n @fade\n >\n <div class=\"content-no-found\" *ngIf=\"dataToSearchCache?.length == 0\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.5 1.66663C8.85185 1.66663 7.24068 2.15537 5.87027 3.07105C4.49986 3.98672 3.43176 5.28821 2.80103 6.81093C2.1703 8.33365 2.00527 10.0092 2.32681 11.6257C2.64836 13.2422 3.44203 14.7271 4.60747 15.8925C5.77291 17.058 7.25776 17.8516 8.87427 18.1732C10.4908 18.4947 12.1663 18.3297 13.6891 17.699C15.2118 17.0682 16.5133 16.0001 17.4289 14.6297C18.3446 13.2593 18.8334 11.6481 18.8334 9.99996C18.831 7.79056 17.9522 5.67233 16.3899 4.11004C14.8277 2.54776 12.7094 1.66902 10.5 1.66663ZM10.5 16.9444C9.12654 16.9444 7.78391 16.5371 6.6419 15.7741C5.49989 15.011 4.6098 13.9264 4.08419 12.6575C3.55859 11.3886 3.42106 9.99226 3.68902 8.64517C3.95697 7.29808 4.61836 6.06069 5.58956 5.0895C6.56076 4.1183 7.79814 3.4569 9.14523 3.18895C10.4923 2.921 11.8886 3.05852 13.1575 3.58413C14.4265 4.10974 15.5111 4.99983 16.2741 6.14183C17.0372 7.28384 17.4445 8.62648 17.4445 9.99996C17.4424 11.8411 16.7102 13.6063 15.4083 14.9082C14.1064 16.2101 12.3412 16.9424 10.5 16.9444Z\"\n fill=\"var(--Gray-Gray-600)\"\n />\n <path\n d=\"M10.5 5.13895C10.3158 5.13895 10.1392 5.21212 10.009 5.34235C9.87875 5.47259 9.80558 5.64922 9.80558 5.8334V11.389C9.80558 11.5731 9.87875 11.7498 10.009 11.88C10.1392 12.0102 10.3158 12.0834 10.5 12.0834C10.6842 12.0834 10.8608 12.0102 10.9911 11.88C11.1213 11.7498 11.1945 11.5731 11.1945 11.389V5.8334C11.1945 5.64922 11.1213 5.47259 10.9911 5.34235C10.8608 5.21212 10.6842 5.13895 10.5 5.13895Z\"\n fill=\"#475066\"\n />\n <path\n d=\"M11.1945 14.1667C11.1945 13.7832 10.8836 13.4723 10.5 13.4723C10.1165 13.4723 9.80558 13.7832 9.80558 14.1667C9.80558 14.5503 10.1165 14.8612 10.5 14.8612C10.8836 14.8612 11.1945 14.5503 11.1945 14.1667Z\"\n fill=\"#475066\"\n />\n </svg>\n\n <div class=\"Body-S-Regular text-no-found\">\n No encontramos resultados, por favor intenta con otra b\u00FAsqueda.\n </div>\n </div>\n\n <div *ngIf=\"dataToSearchCache?.length > 0\">\n <div class=\"container-array\" *ngFor=\"let data of dataToSearchCache; let i = index\">\n <app-dropi-checkbox\n [checked]=\"data.isChecked\"\n (onChange)=\"checkingList($event, data)\"\n ></app-dropi-checkbox>\n {{ data[dataName] }}\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-search{width:100%;min-width:150px;height:40px;background-color:var(--color-back);border:1px solid var(--Gray-Gray-100);border-radius:var(--Size-2);padding:var(--Size-3);position:relative;display:flex;justify-content:flex-start;align-items:center}.container-search>input{position:relative;right:0;left:0;top:0;height:100%;background-color:transparent;border:none;position:absolute;font-style:14px!important;padding:0 38px;width:100%}input::placeholder{color:var(--Gray-Gray-500)!important}.icon-close-input,.icon-close-input-label{cursor:pointer}.container-close-drop{display:flex;position:absolute;align-items:center;right:13px;gap:.25rem}.overlay-search-input{width:100%;box-shadow:.5px 4px 8px #00000014;background-color:var(--Neutral-White);position:absolute;left:0;border-radius:var(--Size-2);align-self:stretch;z-index:100}.text-no-found{margin-top:var(--Size-2);text-align:center;padding:0 var(--Size-4)}.content-no-found{display:flex;justify-content:center;align-items:center;height:180px;flex-direction:column}.container-array{padding:var(--Size-3) var(--Size-4);display:flex;align-items:center}.content-found{overflow-y:auto;z-index:99999}.container-search-input{width:385px}.container-array>app-dropi-checkbox{margin-right:var(--Size-3)}.label-custom{cursor:pointer}.label-custom-icon{color:var(--Gray-Gray-500)}.input-drop-class{padding-right:10rem!important}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSearchComponent, decorators: [{
|
|
67
|
+
type: Component,
|
|
68
|
+
args: [{ selector: "app-dropi-search", standalone: true, imports: [CommonModule, FormsModule, ReactiveFormsModule, TranslateModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div [style.--color-back]=\"backgroundInput\" #containerRef class=\"container-search\">\n <input\n (focus)=\"onFocus()\"\n (input)=\"changeText($event)\"\n (change)=\"onChangHandler($event)\"\n (keyup.enter)=\"onEnter($event)\"\n [(ngModel)]=\"textInput\"\n [ngClass]=\"{\n 'Body-M-Regular': true,\n 'custom-input': true,\n 'input-drop-class': type === 'dropdown-button'\n }\"\n [type]=\"typeInput\"\n [maxlength]=\"maxLength\"\n [placeholder]=\"placeholder | translate\"\n />\n <svg\n [style.color]=\"colorSearch\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20px\"\n height=\"20px\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n >\n <g clip-path=\"url(#clip0_3021_2)\">\n <path\n d=\"M17.1297 16.1484L12.9846 12.0032C14.1142 10.6217 14.6695 8.85886 14.5358 7.07932C14.4021 5.29979 13.5896 3.63972 12.2662 2.44249C10.9429 1.24526 9.20997 0.602467 7.42598 0.647073C5.64199 0.691678 3.94338 1.42027 2.68152 2.68213C1.41965 3.944 0.69106 5.64261 0.646455 7.4266C0.601849 9.21059 1.24464 10.9435 2.44187 12.2668C3.6391 13.5902 5.29917 14.4028 7.0787 14.5365C8.85824 14.6702 10.6211 14.1148 12.0026 12.9852L16.1478 17.1303C16.2787 17.2568 16.4542 17.3268 16.6362 17.3252C16.8183 17.3237 16.9925 17.2506 17.1212 17.1219C17.25 16.9931 17.323 16.8189 17.3246 16.6368C17.3262 16.4548 17.2562 16.2794 17.1297 16.1484ZM7.61095 13.1671C6.51217 13.1671 5.43806 12.8413 4.52445 12.2308C3.61084 11.6204 2.89877 10.7527 2.47829 9.73759C2.0578 8.72244 1.94778 7.60541 2.16214 6.52773C2.37651 5.45006 2.90562 4.46016 3.68258 3.6832C4.45954 2.90624 5.44944 2.37713 6.52712 2.16276C7.60479 1.9484 8.72183 2.05842 9.73697 2.47891C10.7521 2.89939 11.6198 3.61146 12.2302 4.52507C12.8407 5.43868 13.1665 6.51278 13.1665 7.61157C13.1649 9.08449 12.579 10.4966 11.5375 11.5381C10.496 12.5796 9.08387 13.1655 7.61095 13.1671Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_3021_2\">\n <rect\n width=\"16.6667\"\n height=\"16.6667\"\n fill=\"white\"\n transform=\"translate(0.666664 0.666626)\"\n />\n </clipPath>\n </defs>\n </svg>\n\n <div class=\"container-close-drop\">\n <app-icon\n *ngIf=\"textInput?.length > 0 && showIcon\"\n (click)=\"clearText()\"\n [class]=\"label ? 'icon-close-input-label' : 'icon-close-input'\"\n name=\"Close-small\"\n width=\"20px\"\n height=\"20px\"\n color=\"Gray-Gray-600\"\n ></app-icon>\n\n <div class=\"label-custom\" *ngIf=\"label && isFocus && type == 'dropdown'\">\n <span class=\"label-custom-icon Body-M-Regular\">\n {{ label || 'Label' }}\n </span>\n <app-icon name=\"Dropdown-down\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </div>\n <dropi-button\n *ngIf=\"type == 'dropdown-button'\"\n [type]=\"'dropdown'\"\n [severity]=\"'tertiary'\"\n [state]=\"'default'\"\n [text]=\"textDropButton\"\n (onClick)=\"handleClickDropButton($event)\"\n ></dropi-button>\n </div>\n\n <div\n #overlay\n (click)=\"$event.stopPropagation()\"\n [class]=\"'overlay-search-input ' + overlaySelected\"\n *ngIf=\"(isFocus && type == 'dropdown') || (isClickedDropButton && type == 'dropdown-button')\"\n [ngStyle]=\"getOverlayStyles()\"\n @fade\n >\n <div\n class=\"container-content\"\n *ngIf=\"\n (isVisibleContent && type == 'dropdown') ||\n (isClickedDropButton && type == 'dropdown-button')\n \"\n @fade\n >\n <div class=\"content-no-found\" *ngIf=\"dataToSearchCache?.length == 0\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"21\"\n height=\"20\"\n viewBox=\"0 0 21 20\"\n fill=\"none\"\n >\n <path\n d=\"M10.5 1.66663C8.85185 1.66663 7.24068 2.15537 5.87027 3.07105C4.49986 3.98672 3.43176 5.28821 2.80103 6.81093C2.1703 8.33365 2.00527 10.0092 2.32681 11.6257C2.64836 13.2422 3.44203 14.7271 4.60747 15.8925C5.77291 17.058 7.25776 17.8516 8.87427 18.1732C10.4908 18.4947 12.1663 18.3297 13.6891 17.699C15.2118 17.0682 16.5133 16.0001 17.4289 14.6297C18.3446 13.2593 18.8334 11.6481 18.8334 9.99996C18.831 7.79056 17.9522 5.67233 16.3899 4.11004C14.8277 2.54776 12.7094 1.66902 10.5 1.66663ZM10.5 16.9444C9.12654 16.9444 7.78391 16.5371 6.6419 15.7741C5.49989 15.011 4.6098 13.9264 4.08419 12.6575C3.55859 11.3886 3.42106 9.99226 3.68902 8.64517C3.95697 7.29808 4.61836 6.06069 5.58956 5.0895C6.56076 4.1183 7.79814 3.4569 9.14523 3.18895C10.4923 2.921 11.8886 3.05852 13.1575 3.58413C14.4265 4.10974 15.5111 4.99983 16.2741 6.14183C17.0372 7.28384 17.4445 8.62648 17.4445 9.99996C17.4424 11.8411 16.7102 13.6063 15.4083 14.9082C14.1064 16.2101 12.3412 16.9424 10.5 16.9444Z\"\n fill=\"var(--Gray-Gray-600)\"\n />\n <path\n d=\"M10.5 5.13895C10.3158 5.13895 10.1392 5.21212 10.009 5.34235C9.87875 5.47259 9.80558 5.64922 9.80558 5.8334V11.389C9.80558 11.5731 9.87875 11.7498 10.009 11.88C10.1392 12.0102 10.3158 12.0834 10.5 12.0834C10.6842 12.0834 10.8608 12.0102 10.9911 11.88C11.1213 11.7498 11.1945 11.5731 11.1945 11.389V5.8334C11.1945 5.64922 11.1213 5.47259 10.9911 5.34235C10.8608 5.21212 10.6842 5.13895 10.5 5.13895Z\"\n fill=\"#475066\"\n />\n <path\n d=\"M11.1945 14.1667C11.1945 13.7832 10.8836 13.4723 10.5 13.4723C10.1165 13.4723 9.80558 13.7832 9.80558 14.1667C9.80558 14.5503 10.1165 14.8612 10.5 14.8612C10.8836 14.8612 11.1945 14.5503 11.1945 14.1667Z\"\n fill=\"#475066\"\n />\n </svg>\n\n <div class=\"Body-S-Regular text-no-found\">\n No encontramos resultados, por favor intenta con otra b\u00FAsqueda.\n </div>\n </div>\n\n <div *ngIf=\"dataToSearchCache?.length > 0\">\n <div class=\"container-array\" *ngFor=\"let data of dataToSearchCache; let i = index\">\n <app-dropi-checkbox\n [checked]=\"data.isChecked\"\n (onChange)=\"checkingList($event, data)\"\n ></app-dropi-checkbox>\n {{ data[dataName] }}\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-search{width:100%;min-width:150px;height:40px;background-color:var(--color-back);border:1px solid var(--Gray-Gray-100);border-radius:var(--Size-2);padding:var(--Size-3);position:relative;display:flex;justify-content:flex-start;align-items:center}.container-search>input{position:relative;right:0;left:0;top:0;height:100%;background-color:transparent;border:none;position:absolute;font-style:14px!important;padding:0 38px;width:100%}input::placeholder{color:var(--Gray-Gray-500)!important}.icon-close-input,.icon-close-input-label{cursor:pointer}.container-close-drop{display:flex;position:absolute;align-items:center;right:13px;gap:.25rem}.overlay-search-input{width:100%;box-shadow:.5px 4px 8px #00000014;background-color:var(--Neutral-White);position:absolute;left:0;border-radius:var(--Size-2);align-self:stretch;z-index:100}.text-no-found{margin-top:var(--Size-2);text-align:center;padding:0 var(--Size-4)}.content-no-found{display:flex;justify-content:center;align-items:center;height:180px;flex-direction:column}.container-array{padding:var(--Size-3) var(--Size-4);display:flex;align-items:center}.content-found{overflow-y:auto;z-index:99999}.container-search-input{width:385px}.container-array>app-dropi-checkbox{margin-right:var(--Size-3)}.label-custom{cursor:pointer}.label-custom-icon{color:var(--Gray-Gray-500)}.input-drop-class{padding-right:10rem!important}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
|
69
|
+
}], propDecorators: { type: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], typeInput: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], placeholder: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], textDropButton: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], textInput: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], showIcon: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], label: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], colorSearch: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], overlaySelected: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], backgroundInput: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], maxLength: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], textInputChange: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}], onClick: [{
|
|
94
|
+
type: Output
|
|
95
|
+
}], onSearch: [{
|
|
96
|
+
type: Output
|
|
97
|
+
}], onInput: [{
|
|
98
|
+
type: Output
|
|
99
|
+
}], onKeyEnter: [{
|
|
100
|
+
type: Output
|
|
101
|
+
}], onClear: [{
|
|
102
|
+
type: Output
|
|
103
|
+
}] } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zZWFyY2gvZHJvcGktc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zZWFyY2gvZHJvcGktc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBRVosc0JBQXNCLEdBQ3ZCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVdEQsTUFBTSxPQUFPLG9CQUFvQjtJQUNmLElBQUksR0FBVyxTQUFTLENBQUM7SUFDekIsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUMzQixXQUFXLEdBQVcsUUFBUSxDQUFDO0lBQy9CLGNBQWMsR0FBVyxRQUFRLENBQUM7SUFDbEMsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixRQUFRLEdBQVksSUFBSSxDQUFDO0lBQ3pCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsV0FBVyxHQUFXLFNBQVMsQ0FBQztJQUNoQyxlQUFlLEdBQVcsRUFBRSxDQUFDO0lBQzdCLGVBQWUsR0FBVyxhQUFhLENBQUM7SUFDeEMsU0FBUyxHQUFXLEdBQUcsQ0FBQztJQUV2QixlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUM3QyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNsQyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN0QyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNsQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNyQyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUU1QyxhQUFhLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsZ0JBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ2xDLG1CQUFtQixHQUFZLEtBQUssQ0FBQztJQUNyQyxPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLGlCQUFpQixHQUFVLEVBQUUsQ0FBQztJQUM5QixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBRWpDLFFBQVEsS0FBVSxDQUFDO0lBRVosT0FBTztRQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBVSxJQUFTLENBQUM7SUFFbkMsT0FBTyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0scUJBQXFCLENBQUMsS0FBVTtRQUNyQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFVLEVBQUUsSUFBUyxJQUFTLENBQUM7SUFFNUMsZ0JBQWdCO1FBQ3JCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzt3R0FqRVUsb0JBQW9COzRGQUFwQixvQkFBb0IsbWhCQ3BCakMsNm5NQTRIQSwwa0REN0dZLFlBQVksa2JBQUUsV0FBVyxpeEJBQUUsbUJBQW1CLDhCQUFFLGVBQWU7OzRGQUs5RCxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLFdBQ2pFLENBQUMsc0JBQXNCLENBQUM7OEJBS2pCLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFFVyxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLE9BQU87c0JBQXZCLE1BQU07Z0JBQ1UsUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFVBQVU7c0JBQTFCLE1BQU07Z0JBQ1UsT0FBTztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtZHJvcGktc2VhcmNoXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGktc2VhcmNoLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9kcm9waS1zZWFyY2guY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3BpU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHR5cGU6IHN0cmluZyA9IFwiZGVmYXVsdFwiO1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZUlucHV0OiBzdHJpbmcgPSBcInRleHRcIjtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlNlYXJjaFwiO1xuICBASW5wdXQoKSBwdWJsaWMgdGV4dERyb3BCdXR0b246IHN0cmluZyA9IFwiU2VhcmNoXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyB0ZXh0SW5wdXQ6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93SWNvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcHVibGljIGNvbG9yU2VhcmNoOiBzdHJpbmcgPSBcImluaGVyaXRcIjtcbiAgQElucHV0KCkgcHVibGljIG92ZXJsYXlTZWxlY3RlZDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcHVibGljIGJhY2tncm91bmRJbnB1dDogc3RyaW5nID0gXCJ0cmFuc3BhcmVudFwiO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXIgPSAyMDA7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB0ZXh0SW5wdXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBvbklucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb25LZXlFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9uQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChcIlwiKTtcbiAgcHVibGljIGlzVmlzaWJsZUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzQ2xpY2tlZERyb3BCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGRhdGFUb1NlYXJjaENhY2hlOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgZGF0YU5hbWU6IHN0cmluZyA9IFwibmFtZVwiO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRm9jdXMgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VUZXh0KGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWwgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy50ZXh0SW5wdXQgPSB2YWw7XG4gICAgdGhpcy50ZXh0SW5wdXRDaGFuZ2UuZW1pdCh2YWwpO1xuICAgIHRoaXMub25JbnB1dC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nSGFuZGxlcihldmVudDogYW55KTogdm9pZCB7fVxuXG4gIHB1YmxpYyBvbkVudGVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uS2V5RW50ZXIuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJUZXh0KCk6IHZvaWQge1xuICAgIHRoaXMudGV4dElucHV0ID0gXCJcIjtcbiAgICB0aGlzLnRleHRJbnB1dENoYW5nZS5lbWl0KFwiXCIpO1xuICAgIHRoaXMub25DbGVhci5lbWl0KG51bGwpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsaWNrRHJvcEJ1dHRvbihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pc0NsaWNrZWREcm9wQnV0dG9uID0gIXRoaXMuaXNDbGlja2VkRHJvcEJ1dHRvbjtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tpbmdMaXN0KGV2ZW50OiBhbnksIGRhdGE6IGFueSk6IHZvaWQge31cblxuICBwdWJsaWMgZ2V0T3ZlcmxheVN0eWxlcygpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuIiwiPGRpdiBbc3R5bGUuLS1jb2xvci1iYWNrXT1cImJhY2tncm91bmRJbnB1dFwiICNjb250YWluZXJSZWYgY2xhc3M9XCJjb250YWluZXItc2VhcmNoXCI+XG4gIDxpbnB1dFxuICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJjaGFuZ2VUZXh0KCRldmVudClcIlxuICAgIChjaGFuZ2UpPVwib25DaGFuZ0hhbmRsZXIoJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cIm9uRW50ZXIoJGV2ZW50KVwiXG4gICAgWyhuZ01vZGVsKV09XCJ0ZXh0SW5wdXRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdCb2R5LU0tUmVndWxhcic6IHRydWUsXG4gICAgICAnY3VzdG9tLWlucHV0JzogdHJ1ZSxcbiAgICAgICdpbnB1dC1kcm9wLWNsYXNzJzogdHlwZSA9PT0gJ2Ryb3Bkb3duLWJ1dHRvbidcbiAgICB9XCJcbiAgICBbdHlwZV09XCJ0eXBlSW5wdXRcIlxuICAgIFttYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAvPlxuICA8c3ZnXG4gICAgW3N0eWxlLmNvbG9yXT1cImNvbG9yU2VhcmNoXCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjIwcHhcIlxuICAgIGhlaWdodD1cIjIwcHhcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTggMThcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzAyMV8yKVwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xNy4xMjk3IDE2LjE0ODRMMTIuOTg0NiAxMi4wMDMyQzE0LjExNDIgMTAuNjIxNyAxNC42Njk1IDguODU4ODYgMTQuNTM1OCA3LjA3OTMyQzE0LjQwMjEgNS4yOTk3OSAxMy41ODk2IDMuNjM5NzIgMTIuMjY2MiAyLjQ0MjQ5QzEwLjk0MjkgMS4yNDUyNiA5LjIwOTk3IDAuNjAyNDY3IDcuNDI1OTggMC42NDcwNzNDNS42NDE5OSAwLjY5MTY3OCAzLjk0MzM4IDEuNDIwMjcgMi42ODE1MiAyLjY4MjEzQzEuNDE5NjUgMy45NDQgMC42OTEwNiA1LjY0MjYxIDAuNjQ2NDU1IDcuNDI2NkMwLjYwMTg0OSA5LjIxMDU5IDEuMjQ0NjQgMTAuOTQzNSAyLjQ0MTg3IDEyLjI2NjhDMy42MzkxIDEzLjU5MDIgNS4yOTkxNyAxNC40MDI4IDcuMDc4NyAxNC41MzY1QzguODU4MjQgMTQuNjcwMiAxMC42MjExIDE0LjExNDggMTIuMDAyNiAxMi45ODUyTDE2LjE0NzggMTcuMTMwM0MxNi4yNzg3IDE3LjI1NjggMTYuNDU0MiAxNy4zMjY4IDE2LjYzNjIgMTcuMzI1MkMxNi44MTgzIDE3LjMyMzcgMTYuOTkyNSAxNy4yNTA2IDE3LjEyMTIgMTcuMTIxOUMxNy4yNSAxNi45OTMxIDE3LjMyMyAxNi44MTg5IDE3LjMyNDYgMTYuNjM2OEMxNy4zMjYyIDE2LjQ1NDggMTcuMjU2MiAxNi4yNzk0IDE3LjEyOTcgMTYuMTQ4NFpNNy42MTA5NSAxMy4xNjcxQzYuNTEyMTcgMTMuMTY3MSA1LjQzODA2IDEyLjg0MTMgNC41MjQ0NSAxMi4yMzA4QzMuNjEwODQgMTEuNjIwNCAyLjg5ODc3IDEwLjc1MjcgMi40NzgyOSA5LjczNzU5QzIuMDU3OCA4LjcyMjQ0IDEuOTQ3NzggNy42MDU0MSAyLjE2MjE0IDYuNTI3NzNDMi4zNzY1MSA1LjQ1MDA2IDIuOTA1NjIgNC40NjAxNiAzLjY4MjU4IDMuNjgzMkM0LjQ1OTU0IDIuOTA2MjQgNS40NDk0NCAyLjM3NzEzIDYuNTI3MTIgMi4xNjI3NkM3LjYwNDc5IDEuOTQ4NCA4LjcyMTgzIDIuMDU4NDIgOS43MzY5NyAyLjQ3ODkxQzEwLjc1MjEgMi44OTkzOSAxMS42MTk4IDMuNjExNDYgMTIuMjMwMiA0LjUyNTA3QzEyLjg0MDcgNS40Mzg2OCAxMy4xNjY1IDYuNTEyNzggMTMuMTY2NSA3LjYxMTU3QzEzLjE2NDkgOS4wODQ0OSAxMi41NzkgMTAuNDk2NiAxMS41Mzc1IDExLjUzODFDMTAuNDk2IDEyLjU3OTYgOS4wODM4NyAxMy4xNjU1IDcuNjEwOTUgMTMuMTY3MVpcIlxuICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgIC8+XG4gICAgPC9nPlxuICAgIDxkZWZzPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzAyMV8yXCI+XG4gICAgICAgIDxyZWN0XG4gICAgICAgICAgd2lkdGg9XCIxNi42NjY3XCJcbiAgICAgICAgICBoZWlnaHQ9XCIxNi42NjY3XCJcbiAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjY2NjY2NCAwLjY2NjYyNilcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICA8L2RlZnM+XG4gIDwvc3ZnPlxuXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItY2xvc2UtZHJvcFwiPlxuICAgIDxhcHAtaWNvblxuICAgICAgKm5nSWY9XCJ0ZXh0SW5wdXQ/Lmxlbmd0aCA+IDAgJiYgc2hvd0ljb25cIlxuICAgICAgKGNsaWNrKT1cImNsZWFyVGV4dCgpXCJcbiAgICAgIFtjbGFzc109XCJsYWJlbCA/ICdpY29uLWNsb3NlLWlucHV0LWxhYmVsJyA6ICdpY29uLWNsb3NlLWlucHV0J1wiXG4gICAgICBuYW1lPVwiQ2xvc2Utc21hbGxcIlxuICAgICAgd2lkdGg9XCIyMHB4XCJcbiAgICAgIGhlaWdodD1cIjIwcHhcIlxuICAgICAgY29sb3I9XCJHcmF5LUdyYXktNjAwXCJcbiAgICA+PC9hcHAtaWNvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1jdXN0b21cIiAqbmdJZj1cImxhYmVsICYmIGlzRm9jdXMgJiYgdHlwZSA9PSAnZHJvcGRvd24nXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWN1c3RvbS1pY29uIEJvZHktTS1SZWd1bGFyXCI+XG4gICAgICAgIHt7IGxhYmVsIHx8ICdMYWJlbCcgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxhcHAtaWNvbiBuYW1lPVwiRHJvcGRvd24tZG93blwiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiBjb2xvcj1cIkdyYXktR3JheS01MDBcIj48L2FwcC1pY29uPlxuICAgIDwvZGl2PlxuICAgIDxkcm9waS1idXR0b25cbiAgICAgICpuZ0lmPVwidHlwZSA9PSAnZHJvcGRvd24tYnV0dG9uJ1wiXG4gICAgICBbdHlwZV09XCInZHJvcGRvd24nXCJcbiAgICAgIFtzZXZlcml0eV09XCIndGVydGlhcnknXCJcbiAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxuICAgICAgW3RleHRdPVwidGV4dERyb3BCdXR0b25cIlxuICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQ2xpY2tEcm9wQnV0dG9uKCRldmVudClcIlxuICAgID48L2Ryb3BpLWJ1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICNvdmVybGF5XG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgW2NsYXNzXT1cIidvdmVybGF5LXNlYXJjaC1pbnB1dCAnICsgb3ZlcmxheVNlbGVjdGVkXCJcbiAgICAqbmdJZj1cIihpc0ZvY3VzICYmIHR5cGUgPT0gJ2Ryb3Bkb3duJykgfHwgKGlzQ2xpY2tlZERyb3BCdXR0b24gJiYgdHlwZSA9PSAnZHJvcGRvd24tYnV0dG9uJylcIlxuICAgIFtuZ1N0eWxlXT1cImdldE92ZXJsYXlTdHlsZXMoKVwiXG4gICAgQGZhZGVcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLWNvbnRlbnRcIlxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgKGlzVmlzaWJsZUNvbnRlbnQgJiYgdHlwZSA9PSAnZHJvcGRvd24nKSB8fFxuICAgICAgICAoaXNDbGlja2VkRHJvcEJ1dHRvbiAmJiB0eXBlID09ICdkcm9wZG93bi1idXR0b24nKVxuICAgICAgXCJcbiAgICAgIEBmYWRlXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbm8tZm91bmRcIiAqbmdJZj1cImRhdGFUb1NlYXJjaENhY2hlPy5sZW5ndGggPT0gMFwiPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgd2lkdGg9XCIyMVwiXG4gICAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjEgMjBcIlxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTEwLjUgMS42NjY2M0M4Ljg1MTg1IDEuNjY2NjMgNy4yNDA2OCAyLjE1NTM3IDUuODcwMjcgMy4wNzEwNUM0LjQ5OTg2IDMuOTg2NzIgMy40MzE3NiA1LjI4ODIxIDIuODAxMDMgNi44MTA5M0MyLjE3MDMgOC4zMzM2NSAyLjAwNTI3IDEwLjAwOTIgMi4zMjY4MSAxMS42MjU3QzIuNjQ4MzYgMTMuMjQyMiAzLjQ0MjAzIDE0LjcyNzEgNC42MDc0NyAxNS44OTI1QzUuNzcyOTEgMTcuMDU4IDcuMjU3NzYgMTcuODUxNiA4Ljg3NDI3IDE4LjE3MzJDMTAuNDkwOCAxOC40OTQ3IDEyLjE2NjMgMTguMzI5NyAxMy42ODkxIDE3LjY5OUMxNS4yMTE4IDE3LjA2ODIgMTYuNTEzMyAxNi4wMDAxIDE3LjQyODkgMTQuNjI5N0MxOC4zNDQ2IDEzLjI1OTMgMTguODMzNCAxMS42NDgxIDE4LjgzMzQgOS45OTk5NkMxOC44MzEgNy43OTA1NiAxNy45NTIyIDUuNjcyMzMgMTYuMzg5OSA0LjExMDA0QzE0LjgyNzcgMi41NDc3NiAxMi43MDk0IDEuNjY5MDIgMTAuNSAxLjY2NjYzWk0xMC41IDE2Ljk0NDRDOS4xMjY1NCAxNi45NDQ0IDcuNzgzOTEgMTYuNTM3MSA2LjY0MTkgMTUuNzc0MUM1LjQ5OTg5IDE1LjAxMSA0LjYwOTggMTMuOTI2NCA0LjA4NDE5IDEyLjY1NzVDMy41NTg1OSAxMS4zODg2IDMuNDIxMDYgOS45OTIyNiAzLjY4OTAyIDguNjQ1MTdDMy45NTY5NyA3LjI5ODA4IDQuNjE4MzYgNi4wNjA2OSA1LjU4OTU2IDUuMDg5NUM2LjU2MDc2IDQuMTE4MyA3Ljc5ODE0IDMuNDU2OSA5LjE0NTIzIDMuMTg4OTVDMTAuNDkyMyAyLjkyMSAxMS44ODg2IDMuMDU4NTIgMTMuMTU3NSAzLjU4NDEzQzE0LjQyNjUgNC4xMDk3NCAxNS41MTExIDQuOTk5ODMgMTYuMjc0MSA2LjE0MTgzQzE3LjAzNzIgNy4yODM4NCAxNy40NDQ1IDguNjI2NDggMTcuNDQ0NSA5Ljk5OTk2QzE3LjQ0MjQgMTEuODQxMSAxNi43MTAyIDEzLjYwNjMgMTUuNDA4MyAxNC45MDgyQzE0LjEwNjQgMTYuMjEwMSAxMi4zNDEyIDE2Ljk0MjQgMTAuNSAxNi45NDQ0WlwiXG4gICAgICAgICAgICBmaWxsPVwidmFyKC0tR3JheS1HcmF5LTYwMClcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTAuNSA1LjEzODk1QzEwLjMxNTggNS4xMzg5NSAxMC4xMzkyIDUuMjEyMTIgMTAuMDA5IDUuMzQyMzVDOS44Nzg3NSA1LjQ3MjU5IDkuODA1NTggNS42NDkyMiA5LjgwNTU4IDUuODMzNFYxMS4zODlDOS44MDU1OCAxMS41NzMxIDkuODc4NzUgMTEuNzQ5OCAxMC4wMDkgMTEuODhDMTAuMTM5MiAxMi4wMTAyIDEwLjMxNTggMTIuMDgzNCAxMC41IDEyLjA4MzRDMTAuNjg0MiAxMi4wODM0IDEwLjg2MDggMTIuMDEwMiAxMC45OTExIDExLjg4QzExLjEyMTMgMTEuNzQ5OCAxMS4xOTQ1IDExLjU3MzEgMTEuMTk0NSAxMS4zODlWNS44MzM0QzExLjE5NDUgNS42NDkyMiAxMS4xMjEzIDUuNDcyNTkgMTAuOTkxMSA1LjM0MjM1QzEwLjg2MDggNS4yMTIxMiAxMC42ODQyIDUuMTM4OTUgMTAuNSA1LjEzODk1WlwiXG4gICAgICAgICAgICBmaWxsPVwiIzQ3NTA2NlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk0xMS4xOTQ1IDE0LjE2NjdDMTEuMTk0NSAxMy43ODMyIDEwLjg4MzYgMTMuNDcyMyAxMC41IDEzLjQ3MjNDMTAuMTE2NSAxMy40NzIzIDkuODA1NTggMTMuNzgzMiA5LjgwNTU4IDE0LjE2NjdDOS44MDU1OCAxNC41NTAzIDEwLjExNjUgMTQuODYxMiAxMC41IDE0Ljg2MTJDMTAuODgzNiAxNC44NjEyIDExLjE5NDUgMTQuNTUwMyAxMS4xOTQ1IDE0LjE2NjdaXCJcbiAgICAgICAgICAgIGZpbGw9XCIjNDc1MDY2XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiQm9keS1TLVJlZ3VsYXIgdGV4dC1uby1mb3VuZFwiPlxuICAgICAgICAgIE5vIGVuY29udHJhbW9zIHJlc3VsdGFkb3MsIHBvciBmYXZvciBpbnRlbnRhIGNvbiBvdHJhIGLDunNxdWVkYS5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cImRhdGFUb1NlYXJjaENhY2hlPy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItYXJyYXlcIiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBkYXRhVG9TZWFyY2hDYWNoZTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxhcHAtZHJvcGktY2hlY2tib3hcbiAgICAgICAgICAgIFtjaGVja2VkXT1cImRhdGEuaXNDaGVja2VkXCJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJjaGVja2luZ0xpc3QoJGV2ZW50LCBkYXRhKVwiXG4gICAgICAgICAgPjwvYXBwLWRyb3BpLWNoZWNrYm94PlxuICAgICAgICAgIHt7IGRhdGFbZGF0YU5hbWVdIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Component, Input, CUSTOM_ELEMENTS_SCHEMA, } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
+
import { TranslateModule } from "@ngx-translate/core";
|
|
5
|
+
import { IconComponent } from "../icon/icon.component";
|
|
6
|
+
import { DropiSearchComponent } from "../dropi-search/dropi-search.component";
|
|
7
|
+
import { DropiDropdownComponent } from "../dropi-dropdown/dropi-dropdown.component";
|
|
8
|
+
import { CountryFlagsComponent } from "../country-flags/country-flags.component";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
import * as i2 from "@angular/forms";
|
|
12
|
+
import * as i3 from "@ngx-translate/core";
|
|
13
|
+
export class DropiSelectComponent {
|
|
14
|
+
label = "";
|
|
15
|
+
options = [];
|
|
16
|
+
selectProperties = {};
|
|
17
|
+
labelDrop = "";
|
|
18
|
+
disabled = false;
|
|
19
|
+
isOpen = false;
|
|
20
|
+
isExpanded = false;
|
|
21
|
+
selectedOption = null;
|
|
22
|
+
searchValue = "";
|
|
23
|
+
isGrouped = false;
|
|
24
|
+
multiSelect = false;
|
|
25
|
+
showCountryFlags = false;
|
|
26
|
+
searchEnabled = false;
|
|
27
|
+
searchTerm = "";
|
|
28
|
+
filteredOptions = [];
|
|
29
|
+
multiSelecOptions = [];
|
|
30
|
+
parametersDrop = {};
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.filteredOptions = this.options;
|
|
33
|
+
}
|
|
34
|
+
showOptions() {
|
|
35
|
+
this.toggleDropdown();
|
|
36
|
+
}
|
|
37
|
+
toggleDropdown() {
|
|
38
|
+
if (this.disabled)
|
|
39
|
+
return;
|
|
40
|
+
this.isOpen = !this.isOpen;
|
|
41
|
+
this.isExpanded = this.isOpen;
|
|
42
|
+
}
|
|
43
|
+
selectOption(option) {
|
|
44
|
+
if (option.disabled)
|
|
45
|
+
return;
|
|
46
|
+
this.selectedOption = option;
|
|
47
|
+
this.isOpen = false;
|
|
48
|
+
this.isExpanded = false;
|
|
49
|
+
}
|
|
50
|
+
getSelectedCountryCode() {
|
|
51
|
+
return this.selectedOption?.countryCode || "";
|
|
52
|
+
}
|
|
53
|
+
filterOptions(term) {
|
|
54
|
+
const val = typeof term === "string" ? term : term?.target?.value || "";
|
|
55
|
+
if (!val.trim()) {
|
|
56
|
+
this.filteredOptions = this.options;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.filteredOptions = this.options.filter((o) => o.label?.toLowerCase().includes(val.toLowerCase()) ||
|
|
60
|
+
o.name?.toLowerCase().includes(val.toLowerCase()));
|
|
61
|
+
}
|
|
62
|
+
onKeyPress(event) { }
|
|
63
|
+
onClearHanddle() {
|
|
64
|
+
this.selectedOption = null;
|
|
65
|
+
this.searchTerm = "";
|
|
66
|
+
this.filteredOptions = this.options;
|
|
67
|
+
}
|
|
68
|
+
getValueDrop(event) { }
|
|
69
|
+
onScroll(event) { }
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSelectComponent, isStandalone: true, selector: "app-dropi-select", inputs: { label: "label", options: "options", selectProperties: "selectProperties", labelDrop: "labelDrop", disabled: "disabled" }, ngImport: i0, template: "<div class=\"dropi-select-container\">\n <label *ngIf=\"label\" class=\"select-label\">{{ label | translate }}</label>\n\n <div\n class=\"select-trigger\"\n [ngClass]=\"{ 'is-open': isOpen, 'has-error': selectProperties?.hasError }\"\n (click)=\"toggleDropdown()\"\n >\n <div class=\"selected-value\">\n <ng-container *ngIf=\"selectedOption; else placeholderTpl\">\n <app-icon\n *ngIf=\"showCountryFlags && selectedOption.countryCode\"\n [name]=\"selectedOption.countryCode\"\n ></app-icon>\n <span>{{\n selectedOption.label || selectedOption.name | translate\n }}</span>\n </ng-container>\n <ng-template #placeholderTpl>\n <span class=\"placeholder\">\n {{\n (labelDrop ? labelDrop : selectProperties?.placeholder) | translate\n }}\n </span>\n </ng-template>\n </div>\n\n <div class=\"icons\">\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n [width]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n [height]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n ></app-icon>\n </div>\n </div>\n\n <div *ngIf=\"selectProperties?.textHelper\" class=\"select-helper\">\n <span>{{ selectProperties.textHelper | translate }}</span>\n </div>\n\n <div *ngIf=\"selectProperties?.hasError\" class=\"select-helper-error\">\n <span>{{ selectProperties.errorText | translate }}</span>\n </div>\n\n <div\n class=\"select-dropdown-overlay\"\n *ngIf=\"isOpen\"\n (scroll)=\"onScroll($event)\"\n >\n <div class=\"search-container\" *ngIf=\"searchEnabled\">\n <app-dropi-search\n [placeholder]=\"selectProperties?.placeHolderSearch || 'Buscar'\"\n [(ngModel)]=\"searchTerm\"\n (onInput)=\"filterOptions($event)\"\n (onKeyEnter)=\"onKeyPress($event)\"\n (onClear)=\"onClearHanddle()\"\n ></app-dropi-search>\n </div>\n\n <ul class=\"options-list\">\n <ng-container *ngIf=\"isGrouped\">\n <li *ngFor=\"let group of filteredOptions\" class=\"option-group\">\n <span class=\"group-label\">{{ group.label | translate }}</span>\n <ul>\n <li\n *ngFor=\"let option of group.items\"\n (click)=\"selectOption(option)\"\n class=\"option-item\"\n >\n {{ option.label | translate }}\n </li>\n </ul>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"!isGrouped && !multiSelect\">\n <li\n *ngFor=\"let option of filteredOptions\"\n class=\"option-item\"\n [ngClass]=\"{\n 'option-with-flag': showCountryFlags && option.countryCode,\n }\"\n (click)=\"selectOption(option)\"\n >\n <app-country-flags\n *ngIf=\"showCountryFlags && option.countryCode\"\n [country]=\"option.countryCode\"\n ></app-country-flags>\n <span>\n {{\n (showCountryFlags && option.shortLabel\n ? option.shortLabel\n : option.label || option.name\n ) | translate\n }}\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"multiSelect\">\n <app-dropi-dropdown\n [options]=\"multiSelecOptions\"\n [parameters]=\"parametersDrop\"\n (modelChange)=\"getValueDrop($event)\"\n ></app-dropi-dropdown>\n </ng-container>\n </ul>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.custom-select .disabled-label{color:var(--Gray-Gray-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:1300}.select-dropdown-overlay{width:100%;max-height:250px;overflow-y:auto;list-style:none;padding:var(--Size-4);padding-bottom:var(--Size-3);margin:0;border:1px solid transparent;border-radius:var(--Border-2);background:var(--Neutral-White);box-shadow:var(--Shadow-medium);z-index:9999}.select-dropdown-overlay.padding-dropdown,.padding-dropdown{padding:var(--Size-4)}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;padding:0;transition:max-height .2s ease-out,background .3s ease-out,box-shadow .3s ease-out,padding .3s}.select-button:focus{border-color:var(--Info-Info-500)}.select-button-error{border-color:var(--Error-Error-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-helper{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper span{display:block;margin-top:var(--Size-2);color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.select-helper-error{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper-error span{display:block;margin-top:var(--Size-2);color:var(--Error-Error-500);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.elipsis{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-group-title{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s)}.option-group{padding-left:var(--Size-6)}.sticky-search{position:sticky;top:0;background:var(--Neutral-White);z-index:10}::ng-deep .custom-select .select-dropdown .sticky-search .container-search{background-color:var(--Neutral-White)!important}.no-border{border:none!important;color:var(--Gray-Gray-600, #475066);padding:var(--Size-4, 16px);gap:var(--Size-2, 8px);background-color:transparent!important}.no-border:disabled{background-color:transparent!important}.select-button:disabled{color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50)}.dropdown-container{display:flex;align-items:center;gap:4px}.dropdown-container .left-label{color:var(--Gray-600, #475066);white-space:nowrap}.button-content{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1}.select-button.with-flag .button-content app-country-flags{flex-shrink:0}.select-button.with-flag .button-content app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag{display:flex;align-items:center;gap:8px}.option-with-flag app-country-flags{flex-shrink:0}.option-with-flag app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }, { kind: "component", type: DropiSearchComponent, selector: "app-dropi-search", inputs: ["type", "typeInput", "placeholder", "textDropButton", "textInput", "showIcon", "label", "colorSearch", "overlaySelected", "backgroundInput", "maxLength"], outputs: ["textInputChange", "onClick", "onSearch", "onInput", "onKeyEnter", "onClear"] }, { kind: "component", type: DropiDropdownComponent, selector: "app-dropi-dropdown", inputs: ["options", "parameters", "isInSelect", "height", "valueModel"], outputs: ["onSelectionChange", "modelChange"] }, { kind: "component", type: CountryFlagsComponent, selector: "app-country-flags", inputs: ["country", "width", "height", "style"] }] });
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSelectComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ selector: "app-dropi-select", standalone: true, imports: [
|
|
76
|
+
CommonModule,
|
|
77
|
+
FormsModule,
|
|
78
|
+
ReactiveFormsModule,
|
|
79
|
+
TranslateModule,
|
|
80
|
+
IconComponent,
|
|
81
|
+
DropiSearchComponent,
|
|
82
|
+
DropiDropdownComponent,
|
|
83
|
+
CountryFlagsComponent,
|
|
84
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"dropi-select-container\">\n <label *ngIf=\"label\" class=\"select-label\">{{ label | translate }}</label>\n\n <div\n class=\"select-trigger\"\n [ngClass]=\"{ 'is-open': isOpen, 'has-error': selectProperties?.hasError }\"\n (click)=\"toggleDropdown()\"\n >\n <div class=\"selected-value\">\n <ng-container *ngIf=\"selectedOption; else placeholderTpl\">\n <app-icon\n *ngIf=\"showCountryFlags && selectedOption.countryCode\"\n [name]=\"selectedOption.countryCode\"\n ></app-icon>\n <span>{{\n selectedOption.label || selectedOption.name | translate\n }}</span>\n </ng-container>\n <ng-template #placeholderTpl>\n <span class=\"placeholder\">\n {{\n (labelDrop ? labelDrop : selectProperties?.placeholder) | translate\n }}\n </span>\n </ng-template>\n </div>\n\n <div class=\"icons\">\n <app-icon\n [name]=\"isExpanded ? 'Dropdown-up' : 'Dropdown-down'\"\n [width]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n [height]=\"selectProperties?.dropdownType ? '24px' : '20px'\"\n ></app-icon>\n </div>\n </div>\n\n <div *ngIf=\"selectProperties?.textHelper\" class=\"select-helper\">\n <span>{{ selectProperties.textHelper | translate }}</span>\n </div>\n\n <div *ngIf=\"selectProperties?.hasError\" class=\"select-helper-error\">\n <span>{{ selectProperties.errorText | translate }}</span>\n </div>\n\n <div\n class=\"select-dropdown-overlay\"\n *ngIf=\"isOpen\"\n (scroll)=\"onScroll($event)\"\n >\n <div class=\"search-container\" *ngIf=\"searchEnabled\">\n <app-dropi-search\n [placeholder]=\"selectProperties?.placeHolderSearch || 'Buscar'\"\n [(ngModel)]=\"searchTerm\"\n (onInput)=\"filterOptions($event)\"\n (onKeyEnter)=\"onKeyPress($event)\"\n (onClear)=\"onClearHanddle()\"\n ></app-dropi-search>\n </div>\n\n <ul class=\"options-list\">\n <ng-container *ngIf=\"isGrouped\">\n <li *ngFor=\"let group of filteredOptions\" class=\"option-group\">\n <span class=\"group-label\">{{ group.label | translate }}</span>\n <ul>\n <li\n *ngFor=\"let option of group.items\"\n (click)=\"selectOption(option)\"\n class=\"option-item\"\n >\n {{ option.label | translate }}\n </li>\n </ul>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"!isGrouped && !multiSelect\">\n <li\n *ngFor=\"let option of filteredOptions\"\n class=\"option-item\"\n [ngClass]=\"{\n 'option-with-flag': showCountryFlags && option.countryCode,\n }\"\n (click)=\"selectOption(option)\"\n >\n <app-country-flags\n *ngIf=\"showCountryFlags && option.countryCode\"\n [country]=\"option.countryCode\"\n ></app-country-flags>\n <span>\n {{\n (showCountryFlags && option.shortLabel\n ? option.shortLabel\n : option.label || option.name\n ) | translate\n }}\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"multiSelect\">\n <app-dropi-dropdown\n [options]=\"multiSelecOptions\"\n [parameters]=\"parametersDrop\"\n (modelChange)=\"getValueDrop($event)\"\n ></app-dropi-dropdown>\n </ng-container>\n </ul>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.custom-select{position:relative;width:100%}.custom-select label{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--Gray-Gray-600)}.custom-select label span{color:var(--Error-Error-500)}.custom-select .disabled-label{color:var(--Gray-Gray-500)}.select-button{width:100%;height:40px;padding:.47rem .75rem;padding-right:7px;border:1px solid var(--Gray-Gray-200);border-radius:var(--Border-2);background:var(--Neutral-White);color:var(--Gray-Gray-500);font-size:var(--font-size-s);display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.select-dropdown{position:absolute;width:100%;overflow:hidden;list-style:none;padding:0;margin:4px 0 0;border:1px solid transparent;border-radius:var(--Border-2);overflow-y:scroll;z-index:1300}.select-dropdown-overlay{width:100%;max-height:250px;overflow-y:auto;list-style:none;padding:var(--Size-4);padding-bottom:var(--Size-3);margin:0;border:1px solid transparent;border-radius:var(--Border-2);background:var(--Neutral-White);box-shadow:var(--Shadow-medium);z-index:9999}.select-dropdown-overlay.padding-dropdown,.padding-dropdown{padding:var(--Size-4)}.option{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s);cursor:pointer}.option:hover{background:var(--Gray-Gray-50)}.expanded-select{max-height:250px;background:var(--Neutral-White);box-shadow:var(--Shadow-medium);transition:max-height .2s ease-in}.collapsed-select{max-height:0;background:transparent;box-shadow:none;padding:0;transition:max-height .2s ease-out,background .3s ease-out,box-shadow .3s ease-out,padding .3s}.select-button:focus{border-color:var(--Info-Info-500)}.select-button-error{border-color:var(--Error-Error-500)!important}.select-button:disabled,.option:disabled{border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50);cursor:unset}.select-completed{border-color:var(--Gray-Gray-400);color:var(--Gray-Gray-600);background:var(--Neutral-White)}.select-helper{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper span{display:block;margin-top:var(--Size-2);color:var(--Gray-Gray-600);font-size:var(--font-size-xs)}.select-helper-error{display:flex;gap:var(--Size-1);align-items:baseline}.select-helper-error span{display:block;margin-top:var(--Size-2);color:var(--Error-Error-500);font-size:var(--font-size-xs)}.invalid-color{color:var(--Error-Error-500)!important}.elipsis{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-group-title{width:100%;height:45px;border-radius:var(--Border-2);padding-top:var(--Size-3);padding-right:var(--Size-4);padding-bottom:var(--Size-3);padding-left:var(--Size-4);border:none;background:transparent;text-align:left;color:var(--Gray-Gray-600);font-size:var(--font-size-s)}.option-group{padding-left:var(--Size-6)}.sticky-search{position:sticky;top:0;background:var(--Neutral-White);z-index:10}::ng-deep .custom-select .select-dropdown .sticky-search .container-search{background-color:var(--Neutral-White)!important}.no-border{border:none!important;color:var(--Gray-Gray-600, #475066);padding:var(--Size-4, 16px);gap:var(--Size-2, 8px);background-color:transparent!important}.no-border:disabled{background-color:transparent!important}.select-button:disabled{color:var(--Gray-Gray-400);background-color:var(--Gray-Gray-50)}.dropdown-container{display:flex;align-items:center;gap:4px}.dropdown-container .left-label{color:var(--Gray-600, #475066);white-space:nowrap}.button-content{display:flex;align-items:center;gap:8px;overflow:hidden;flex:1}.select-button.with-flag .button-content app-country-flags{flex-shrink:0}.select-button.with-flag .button-content app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag{display:flex;align-items:center;gap:8px}.option-with-flag app-country-flags{flex-shrink:0}.option-with-flag app-country-flags ::ng-deep .rectangle{max-width:24px!important;max-height:17px!important;border-radius:var(--Border-1)}.option-with-flag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
|
85
|
+
}], propDecorators: { label: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], options: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], selectProperties: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], labelDrop: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], disabled: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zZWxlY3QvZHJvcGktc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zZWxlY3QvZHJvcGktc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUlMLHNCQUFzQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBb0JqRixNQUFNLE9BQU8sb0JBQW9CO0lBQ2YsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixPQUFPLEdBQVUsRUFBRSxDQUFDO0lBQ3BCLGdCQUFnQixHQUFxQixFQUFFLENBQUM7SUFDeEMsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRW5DLE1BQU0sR0FBWSxLQUFLLENBQUM7SUFDeEIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixjQUFjLEdBQVEsSUFBSSxDQUFDO0lBQzNCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUMzQixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsZUFBZSxHQUFVLEVBQUUsQ0FBQztJQUM1QixpQkFBaUIsR0FBVSxFQUFFLENBQUM7SUFDOUIsY0FBYyxHQUFRLEVBQUUsQ0FBQztJQUVoQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFXO1FBQzdCLElBQUksTUFBTSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxJQUFTO1FBQzVCLE1BQU0sR0FBRyxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNwQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3hDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEQsQ0FBQyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQVUsSUFBUyxDQUFDO0lBQy9CLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBVSxJQUFTLENBQUM7SUFDakMsUUFBUSxDQUFDLEtBQVUsSUFBUyxDQUFDO3dHQWxFekIsb0JBQW9COzRGQUFwQixvQkFBb0IsZ05DbENqQyw4L0dBNkdBLDh6SUR4RkksWUFBWSw2VkFDWixXQUFXLDhWQUNYLG1CQUFtQiw4QkFDbkIsZUFBZSw0RkFDZixhQUFhLG1HQUNiLG9CQUFvQiwwVEFDcEIsc0JBQXNCLHVMQUN0QixxQkFBcUI7OzRGQU1aLG9CQUFvQjtrQkFqQmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjtxQkFDdEIsV0FDUSxDQUFDLHNCQUFzQixDQUFDOzhCQUtqQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHJvcGlTZWFyY2hDb21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGktc2VhcmNoL2Ryb3BpLXNlYXJjaC5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3BpRHJvcGRvd25Db21wb25lbnQgfSBmcm9tIFwiLi4vZHJvcGktZHJvcGRvd24vZHJvcGktZHJvcGRvd24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb3VudHJ5RmxhZ3NDb21wb25lbnQgfSBmcm9tIFwiLi4vY291bnRyeS1mbGFncy9jb3VudHJ5LWZsYWdzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgU2VsZWN0UHJvcGVydGllcyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvaW50ZXJmYWNlcy91aS9zZWxlY3QtaW50ZXJmYWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhcHAtZHJvcGktc2VsZWN0XCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBEcm9waVNlYXJjaENvbXBvbmVudCxcbiAgICBEcm9waURyb3Bkb3duQ29tcG9uZW50LFxuICAgIENvdW50cnlGbGFnc0NvbXBvbmVudCxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3BpLXNlbGVjdC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJvcGktc2VsZWN0LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RQcm9wZXJ0aWVzOiBTZWxlY3RQcm9wZXJ0aWVzID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbERyb3A6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNlbGVjdGVkT3B0aW9uOiBhbnkgPSBudWxsO1xuICBwdWJsaWMgc2VhcmNoVmFsdWU6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBpc0dyb3VwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIG11bHRpU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q291bnRyeUZsYWdzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hUZXJtOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgZmlsdGVyZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgbXVsdGlTZWxlY09wdGlvbnM6IGFueVtdID0gW107XG4gIHB1YmxpYyBwYXJhbWV0ZXJzRHJvcDogYW55ID0ge307XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgc2hvd09wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XG4gICAgdGhpcy5pc0V4cGFuZGVkID0gdGhpcy5pc09wZW47XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0T3B0aW9uKG9wdGlvbjogYW55KTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbi5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZENvdW50cnlDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb24/LmNvdW50cnlDb2RlIHx8IFwiXCI7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyT3B0aW9ucyh0ZXJtOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB2YWwgPSB0eXBlb2YgdGVybSA9PT0gXCJzdHJpbmdcIiA/IHRlcm0gOiB0ZXJtPy50YXJnZXQ/LnZhbHVlIHx8IFwiXCI7XG4gICAgaWYgKCF2YWwudHJpbSgpKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKG8pID0+XG4gICAgICAgIG8ubGFiZWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIG8ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWwudG9Mb3dlckNhc2UoKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVByZXNzKGV2ZW50OiBhbnkpOiB2b2lkIHt9XG4gIHB1YmxpYyBvbkNsZWFySGFuZGRsZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSBcIlwiO1xuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICB9XG5cbiAgcHVibGljIGdldFZhbHVlRHJvcChldmVudDogYW55KTogdm9pZCB7fVxuICBwdWJsaWMgb25TY3JvbGwoZXZlbnQ6IGFueSk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJkcm9waS1zZWxlY3QtY29udGFpbmVyXCI+XG4gIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJzZWxlY3QtbGFiZWxcIj57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2VsZWN0LXRyaWdnZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2lzLW9wZW4nOiBpc09wZW4sICdoYXMtZXJyb3InOiBzZWxlY3RQcm9wZXJ0aWVzPy5oYXNFcnJvciB9XCJcbiAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtdmFsdWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbjsgZWxzZSBwbGFjZWhvbGRlclRwbFwiPlxuICAgICAgICA8YXBwLWljb25cbiAgICAgICAgICAqbmdJZj1cInNob3dDb3VudHJ5RmxhZ3MgJiYgc2VsZWN0ZWRPcHRpb24uY291bnRyeUNvZGVcIlxuICAgICAgICAgIFtuYW1lXT1cInNlbGVjdGVkT3B0aW9uLmNvdW50cnlDb2RlXCJcbiAgICAgICAgPjwvYXBwLWljb24+XG4gICAgICAgIDxzcGFuPnt7XG4gICAgICAgICAgc2VsZWN0ZWRPcHRpb24ubGFiZWwgfHwgc2VsZWN0ZWRPcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNwbGFjZWhvbGRlclRwbD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwbGFjZWhvbGRlclwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAobGFiZWxEcm9wID8gbGFiZWxEcm9wIDogc2VsZWN0UHJvcGVydGllcz8ucGxhY2Vob2xkZXIpIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpY29uc1wiPlxuICAgICAgPGFwcC1pY29uXG4gICAgICAgIFtuYW1lXT1cImlzRXhwYW5kZWQgPyAnRHJvcGRvd24tdXAnIDogJ0Ryb3Bkb3duLWRvd24nXCJcbiAgICAgICAgW3dpZHRoXT1cInNlbGVjdFByb3BlcnRpZXM/LmRyb3Bkb3duVHlwZSA/ICcyNHB4JyA6ICcyMHB4J1wiXG4gICAgICAgIFtoZWlnaHRdPVwic2VsZWN0UHJvcGVydGllcz8uZHJvcGRvd25UeXBlID8gJzI0cHgnIDogJzIwcHgnXCJcbiAgICAgID48L2FwcC1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwic2VsZWN0UHJvcGVydGllcz8udGV4dEhlbHBlclwiIGNsYXNzPVwic2VsZWN0LWhlbHBlclwiPlxuICAgIDxzcGFuPnt7IHNlbGVjdFByb3BlcnRpZXMudGV4dEhlbHBlciB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInNlbGVjdFByb3BlcnRpZXM/Lmhhc0Vycm9yXCIgY2xhc3M9XCJzZWxlY3QtaGVscGVyLWVycm9yXCI+XG4gICAgPHNwYW4+e3sgc2VsZWN0UHJvcGVydGllcy5lcnJvclRleHQgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInNlbGVjdC1kcm9wZG93bi1vdmVybGF5XCJcbiAgICAqbmdJZj1cImlzT3BlblwiXG4gICAgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCIgKm5nSWY9XCJzZWFyY2hFbmFibGVkXCI+XG4gICAgICA8YXBwLWRyb3BpLXNlYXJjaFxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VsZWN0UHJvcGVydGllcz8ucGxhY2VIb2xkZXJTZWFyY2ggfHwgJ0J1c2NhcidcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuICAgICAgICAob25JbnB1dCk9XCJmaWx0ZXJPcHRpb25zKCRldmVudClcIlxuICAgICAgICAob25LZXlFbnRlcik9XCJvbktleVByZXNzKCRldmVudClcIlxuICAgICAgICAob25DbGVhcik9XCJvbkNsZWFySGFuZGRsZSgpXCJcbiAgICAgID48L2FwcC1kcm9waS1zZWFyY2g+XG4gICAgPC9kaXY+XG5cbiAgICA8dWwgY2xhc3M9XCJvcHRpb25zLWxpc3RcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0dyb3VwZWRcIj5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZE9wdGlvbnNcIiBjbGFzcz1cIm9wdGlvbi1ncm91cFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ3JvdXAtbGFiZWxcIj57eyBncm91cC5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBncm91cC5pdGVtc1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uLWl0ZW1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzR3JvdXBlZCAmJiAhbXVsdGlTZWxlY3RcIj5cbiAgICAgICAgPGxpXG4gICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgICAgIGNsYXNzPVwib3B0aW9uLWl0ZW1cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdvcHRpb24td2l0aC1mbGFnJzogc2hvd0NvdW50cnlGbGFncyAmJiBvcHRpb24uY291bnRyeUNvZGUsXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbihvcHRpb24pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtY291bnRyeS1mbGFnc1xuICAgICAgICAgICAgKm5nSWY9XCJzaG93Q291bnRyeUZsYWdzICYmIG9wdGlvbi5jb3VudHJ5Q29kZVwiXG4gICAgICAgICAgICBbY291bnRyeV09XCJvcHRpb24uY291bnRyeUNvZGVcIlxuICAgICAgICAgID48L2FwcC1jb3VudHJ5LWZsYWdzPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgKHNob3dDb3VudHJ5RmxhZ3MgJiYgb3B0aW9uLnNob3J0TGFiZWxcbiAgICAgICAgICAgICAgICA/IG9wdGlvbi5zaG9ydExhYmVsXG4gICAgICAgICAgICAgICAgOiBvcHRpb24ubGFiZWwgfHwgb3B0aW9uLm5hbWVcbiAgICAgICAgICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpU2VsZWN0XCI+XG4gICAgICAgIDxhcHAtZHJvcGktZHJvcGRvd25cbiAgICAgICAgICBbb3B0aW9uc109XCJtdWx0aVNlbGVjT3B0aW9uc1wiXG4gICAgICAgICAgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVyc0Ryb3BcIlxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJnZXRWYWx1ZURyb3AoJGV2ZW50KVwiXG4gICAgICAgID48L2FwcC1kcm9waS1kcm9wZG93bj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class DropiSkeletonComponent {
|
|
6
|
+
cdRef;
|
|
7
|
+
width = '';
|
|
8
|
+
height = '';
|
|
9
|
+
radius = '8px';
|
|
10
|
+
baseColor = '#f6f7f8';
|
|
11
|
+
constructor(cdRef) {
|
|
12
|
+
this.cdRef = cdRef;
|
|
13
|
+
}
|
|
14
|
+
ngOnChanges(changes) {
|
|
15
|
+
if (changes['baseColor'] && !changes.firstChange)
|
|
16
|
+
this.cdRef.detectChanges();
|
|
17
|
+
}
|
|
18
|
+
get backgroundStyle() {
|
|
19
|
+
const color = this.baseColor.startsWith('#') ? this.baseColor : `var(--${this.baseColor})`;
|
|
20
|
+
return `linear-gradient(
|
|
21
|
+
to right, ${color} 8%, #e3e7efe7 28%, ${color} 77%
|
|
22
|
+
)`;
|
|
23
|
+
}
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSkeletonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSkeletonComponent, isStandalone: true, selector: "app-dropi-skeleton", inputs: { width: "width", height: "height", radius: "radius", baseColor: "baseColor" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"skeleton preloader-row-dropi-card\"\n [ngStyle]=\"{\n width: width ? width : '',\n height: height ? height : '',\n borderRadius: radius ? radius : '',\n background: backgroundStyle,\n backgroundSize: '1000px 104px'\n }\"\n></div>\n", styles: ["@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.preloader-row-dropi-card{height:98px;width:100%;border-radius:6px;margin-bottom:12px}.skeleton{animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#f6f7f8;background-size:1000px 104px;position:relative;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSkeletonComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'app-dropi-skeleton', standalone: true, imports: [CommonModule], template: "<div\n class=\"skeleton preloader-row-dropi-card\"\n [ngStyle]=\"{\n width: width ? width : '',\n height: height ? height : '',\n borderRadius: radius ? radius : '',\n background: backgroundStyle,\n backgroundSize: '1000px 104px'\n }\"\n></div>\n", styles: ["@keyframes placeHolderShimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.preloader-row-dropi-card{height:98px;width:100%;border-radius:6px;margin-bottom:12px}.skeleton{animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeHolderShimmer;animation-timing-function:linear;background:#f6f7f8;background-size:1000px 104px;position:relative;border-radius:6px}\n"] }]
|
|
30
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { width: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], height: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], radius: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], baseColor: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}] } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktc2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLXNrZWxldG9uL2Ryb3BpLXNrZWxldG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1za2VsZXRvbi9kcm9waS1za2VsZXRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7O0FBUzlGLE1BQU0sT0FBTyxzQkFBc0I7SUFNSjtJQUxwQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFDcEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUN2QixTQUFTLEdBQVcsU0FBUyxDQUFDO0lBRXZDLFlBQTZCLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO0lBQUcsQ0FBQztJQUV6RCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUM7UUFFM0YsT0FBTztrQkFDTyxLQUFLLHVCQUF1QixLQUFLO01BQzdDLENBQUM7SUFDTCxDQUFDO3dHQWxCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQiwyTENWbkMsMFFBVUEsc2VERlksWUFBWTs7NEZBRVgsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7c0ZBR2QsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kcm9waS1za2VsZXRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9waS1za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3BpLXNrZWxldG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waVNrZWxldG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByYWRpdXM6IHN0cmluZyA9ICc4cHgnO1xuICBASW5wdXQoKSBiYXNlQ29sb3I6IHN0cmluZyA9ICcjZjZmN2Y4JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2Jhc2VDb2xvciddICYmICFjaGFuZ2VzLmZpcnN0Q2hhbmdlKSB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCBiYWNrZ3JvdW5kU3R5bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMuYmFzZUNvbG9yLnN0YXJ0c1dpdGgoJyMnKSA/IHRoaXMuYmFzZUNvbG9yIDogYHZhcigtLSR7dGhpcy5iYXNlQ29sb3J9KWA7XG5cbiAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudChcbiAgICAgIHRvIHJpZ2h0LCAke2NvbG9yfSA4JSwgI2UzZTdlZmU3IDI4JSwgJHtjb2xvcn0gNzclXG4gICAgKWA7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza2VsZXRvbiBwcmVsb2FkZXItcm93LWRyb3BpLWNhcmRcIlxuICBbbmdTdHlsZV09XCJ7XG4gICAgd2lkdGg6IHdpZHRoID8gd2lkdGggOiAnJyxcbiAgICBoZWlnaHQ6IGhlaWdodCA/IGhlaWdodCA6ICcnLFxuICAgIGJvcmRlclJhZGl1czogcmFkaXVzID8gcmFkaXVzIDogJycsXG4gICAgYmFja2dyb3VuZDogYmFja2dyb3VuZFN0eWxlLFxuICAgIGJhY2tncm91bmRTaXplOiAnMTAwMHB4IDEwNHB4J1xuICB9XCJcbj48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@ngx-translate/core";
|
|
7
|
+
/**
|
|
8
|
+
* Componente Steps de Dropi para mostrar pasos con diferentes estados
|
|
9
|
+
*/
|
|
10
|
+
export class DropiStepsComponent {
|
|
11
|
+
/**
|
|
12
|
+
* Cantidad de pasos que se van a mostrar (solo se usa si stepLabels está vacío)
|
|
13
|
+
* @default 3
|
|
14
|
+
* @type {number}
|
|
15
|
+
*/
|
|
16
|
+
stepsCount = 3;
|
|
17
|
+
/**
|
|
18
|
+
* Permite mostrar el número del step dentro del círculo
|
|
19
|
+
* @default true
|
|
20
|
+
* @type {boolean}
|
|
21
|
+
*/
|
|
22
|
+
showNumberOfStep = true;
|
|
23
|
+
/**
|
|
24
|
+
* Step en el que se encuentra el componente
|
|
25
|
+
* @default 0
|
|
26
|
+
* @type {number}
|
|
27
|
+
*/
|
|
28
|
+
currentStep = 0;
|
|
29
|
+
/**
|
|
30
|
+
* Etiquetas de cada paso. Si se provee, reemplaza stepsCount.
|
|
31
|
+
* @type {{title:string, description:string}[]}
|
|
32
|
+
* @default []
|
|
33
|
+
*/
|
|
34
|
+
stepLabels = [];
|
|
35
|
+
/**
|
|
36
|
+
* Estado visual del paso actual (solo afecta al paso `currentStep`).
|
|
37
|
+
* @default 'pending'
|
|
38
|
+
* @type {StepState}
|
|
39
|
+
*/
|
|
40
|
+
state = 'pending';
|
|
41
|
+
/**
|
|
42
|
+
* Los pasos que se van a mostrar
|
|
43
|
+
* @type {{title:string, description:string}[]}
|
|
44
|
+
*/
|
|
45
|
+
steps = [];
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this.createSteps();
|
|
48
|
+
}
|
|
49
|
+
ngOnChanges(changes) {
|
|
50
|
+
if (!changes) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const shouldRecreate = Object.values(changes).some((change) => !change.firstChange);
|
|
54
|
+
if (shouldRecreate) {
|
|
55
|
+
this.createSteps();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Crea los pasos que se van a mostrar
|
|
60
|
+
*/
|
|
61
|
+
createSteps() {
|
|
62
|
+
if (Array.isArray(this.stepLabels) && this.stepLabels.length > 0) {
|
|
63
|
+
this.steps = [...this.stepLabels];
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.steps = Array.from({ length: this.stepsCount }, () => ({ description: '' }));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Devuelve el estado visual del paso en el índice dado
|
|
70
|
+
* @param index El índice del paso
|
|
71
|
+
* @returns El estado visual del paso
|
|
72
|
+
*/
|
|
73
|
+
getStepState(index) {
|
|
74
|
+
if (index < this.currentStep - 1)
|
|
75
|
+
return 'completed';
|
|
76
|
+
else if (index === this.currentStep - 1)
|
|
77
|
+
return this.state;
|
|
78
|
+
return 'pending';
|
|
79
|
+
}
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiStepsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiStepsComponent, isStandalone: true, selector: "dropi-steps", inputs: { stepsCount: "stepsCount", showNumberOfStep: "showNumberOfStep", currentStep: "currentStep", stepLabels: "stepLabels", state: "state" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"stepper-container\">\n <ng-container *ngFor=\"let step of steps; let i = index\">\n <div\n class=\"step\"\n [ngClass]=\"getStepState(i)\"\n [ngStyle]=\"{ flex: i > 0 && i < steps.length - 1 ? 2 : 1 }\"\n >\n <div class=\"line\" *ngIf=\"i !== 0\"></div>\n <div class=\"circle-container\">\n <div class=\"circle\">\n <span class=\"Label-S\" *ngIf=\"showNumberOfStep\">\n {{ i + 1 }}\n </span>\n </div>\n\n <div class=\"steps-container\">\n <p class=\"Label-M\" *ngIf=\"step.title\">\n {{ step.title | translate }}\n </p>\n\n <p class=\"Body-S-Regular\" *ngIf=\"step.description\">\n {{ step.description | translate }}\n </p>\n </div>\n </div>\n <div class=\"line\" *ngIf=\"i !== steps.length - 1\"></div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.stepper-container{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;margin-bottom:var(--Size-4)}.step{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.step.focus .circle{border-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .circle span{color:var(--Primary-Primary-500, #f49a3d)}.step.focus .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .step-label{color:var(--Gray-Gray-700, #32394d)}.step.completed .circle{background-color:var(--Primary-Primary-500, #f49a3d);border-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .circle span{color:var(--Neutral-White, #fff)}.step.completed .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .step-label{color:var(--Gray-Gray-700, #32394d)}.line{width:100%;flex:1;height:2px;background-color:var(--Gray-Gray-200, #c3c9d9)}.circle-container{position:relative;display:inline-flex;flex-direction:column;justify-content:center;align-items:center}.circle{width:24px;height:24px;border-radius:50%;border:2px solid var(--Gray-Gray-200);background-color:transparent;display:grid;place-items:center}.circle span{color:var(--Gray-Gray-200, #c3c9d9);text-align:center;line-height:1;pointer-events:none}.steps-container{position:absolute;top:calc(100% + var(--Size-1));display:flex;flex-direction:column;gap:var(--Size-2);width:max-content;width:12vw;min-width:100px;max-width:180px;text-align:center}.steps-container p{margin:0!important}.line.invisible{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
|
|
82
|
+
}
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiStepsComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'dropi-steps', standalone: true, imports: [CommonModule, TranslateModule], template: "<div class=\"stepper-container\">\n <ng-container *ngFor=\"let step of steps; let i = index\">\n <div\n class=\"step\"\n [ngClass]=\"getStepState(i)\"\n [ngStyle]=\"{ flex: i > 0 && i < steps.length - 1 ? 2 : 1 }\"\n >\n <div class=\"line\" *ngIf=\"i !== 0\"></div>\n <div class=\"circle-container\">\n <div class=\"circle\">\n <span class=\"Label-S\" *ngIf=\"showNumberOfStep\">\n {{ i + 1 }}\n </span>\n </div>\n\n <div class=\"steps-container\">\n <p class=\"Label-M\" *ngIf=\"step.title\">\n {{ step.title | translate }}\n </p>\n\n <p class=\"Body-S-Regular\" *ngIf=\"step.description\">\n {{ step.description | translate }}\n </p>\n </div>\n </div>\n <div class=\"line\" *ngIf=\"i !== steps.length - 1\"></div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;width:100%}.stepper-container{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;margin-bottom:var(--Size-4)}.step{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}.step.focus .circle{border-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .circle span{color:var(--Primary-Primary-500, #f49a3d)}.step.focus .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.focus .step-label{color:var(--Gray-Gray-700, #32394d)}.step.completed .circle{background-color:var(--Primary-Primary-500, #f49a3d);border-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .circle span{color:var(--Neutral-White, #fff)}.step.completed .line{background-color:var(--Primary-Primary-500, #f49a3d)}.step.completed .step-label{color:var(--Gray-Gray-700, #32394d)}.line{width:100%;flex:1;height:2px;background-color:var(--Gray-Gray-200, #c3c9d9)}.circle-container{position:relative;display:inline-flex;flex-direction:column;justify-content:center;align-items:center}.circle{width:24px;height:24px;border-radius:50%;border:2px solid var(--Gray-Gray-200);background-color:transparent;display:grid;place-items:center}.circle span{color:var(--Gray-Gray-200, #c3c9d9);text-align:center;line-height:1;pointer-events:none}.steps-container{position:absolute;top:calc(100% + var(--Size-1));display:flex;flex-direction:column;gap:var(--Size-2);width:max-content;width:12vw;min-width:100px;max-width:180px;text-align:center}.steps-container p{margin:0!important}.line.invisible{background-color:transparent}\n"] }]
|
|
86
|
+
}], propDecorators: { stepsCount: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], showNumberOfStep: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], currentStep: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], stepLabels: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], state: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}] } });
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktc3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLXN0ZXBzL2Ryb3BpLXN0ZXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zdGVwcy9kcm9waS1zdGVwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUl0RDs7R0FFRztBQVFILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7T0FJRztJQUNNLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFFaEM7Ozs7T0FJRztJQUNNLGdCQUFnQixHQUFZLElBQUksQ0FBQztJQUUxQzs7OztPQUlHO0lBQ00sV0FBVyxHQUFXLENBQUMsQ0FBQztJQUVqQzs7OztPQUlHO0lBQ00sVUFBVSxHQUErQyxFQUFFLENBQUM7SUFFckU7Ozs7T0FJRztJQUNNLEtBQUssR0FBYyxTQUFTLENBQUM7SUFFdEM7OztPQUdHO0lBQ0gsS0FBSyxHQUErQyxFQUFFLENBQUM7SUFFdkQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXBGLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO1lBQUUsT0FBTyxXQUFXLENBQUM7YUFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRTNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7d0dBaEZVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhPQ2hCaEMsbTVCQTZCQSw4bUREakJZLFlBQVksa2JBQUUsZUFBZTs7NEZBSTVCLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQzs4QkFVL0IsVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbnR5cGUgU3RlcFN0YXRlID0gJ3BlbmRpbmcnIHwgJ2ZvY3VzJyB8ICdjb21wbGV0ZWQnO1xuXG4vKipcbiAqIENvbXBvbmVudGUgU3RlcHMgZGUgRHJvcGkgcGFyYSBtb3N0cmFyIHBhc29zIGNvbiBkaWZlcmVudGVzIGVzdGFkb3NcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHJvcGktc3RlcHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGktc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9waS1zdGVwcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waVN0ZXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAvKipcbiAgICogQ2FudGlkYWQgZGUgcGFzb3MgcXVlIHNlIHZhbiBhIG1vc3RyYXIgKHNvbG8gc2UgdXNhIHNpIHN0ZXBMYWJlbHMgZXN0w6EgdmFjw61vKVxuICAgKiBAZGVmYXVsdCAzXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBASW5wdXQoKSBzdGVwc0NvdW50OiBudW1iZXIgPSAzO1xuXG4gIC8qKlxuICAgKiBQZXJtaXRlIG1vc3RyYXIgZWwgbsO6bWVybyBkZWwgc3RlcCBkZW50cm8gZGVsIGPDrXJjdWxvXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBASW5wdXQoKSBzaG93TnVtYmVyT2ZTdGVwOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogU3RlcCBlbiBlbCBxdWUgc2UgZW5jdWVudHJhIGVsIGNvbXBvbmVudGVcbiAgICogQGRlZmF1bHQgMFxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgQElucHV0KCkgY3VycmVudFN0ZXA6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEV0aXF1ZXRhcyBkZSBjYWRhIHBhc28uIFNpIHNlIHByb3ZlZSwgcmVlbXBsYXphIHN0ZXBzQ291bnQuXG4gICAqIEB0eXBlIHt7dGl0bGU6c3RyaW5nLCBkZXNjcmlwdGlvbjpzdHJpbmd9W119XG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICBASW5wdXQoKSBzdGVwTGFiZWxzOiB7IHRpdGxlPzogc3RyaW5nOyBkZXNjcmlwdGlvbj86IHN0cmluZyB9W10gPSBbXTtcblxuICAvKipcbiAgICogRXN0YWRvIHZpc3VhbCBkZWwgcGFzbyBhY3R1YWwgKHNvbG8gYWZlY3RhIGFsIHBhc28gYGN1cnJlbnRTdGVwYCkuXG4gICAqIEBkZWZhdWx0ICdwZW5kaW5nJ1xuICAgKiBAdHlwZSB7U3RlcFN0YXRlfVxuICAgKi9cbiAgQElucHV0KCkgc3RhdGU6IFN0ZXBTdGF0ZSA9ICdwZW5kaW5nJztcblxuICAvKipcbiAgICogTG9zIHBhc29zIHF1ZSBzZSB2YW4gYSBtb3N0cmFyXG4gICAqIEB0eXBlIHt7dGl0bGU6c3RyaW5nLCBkZXNjcmlwdGlvbjpzdHJpbmd9W119XG4gICAqL1xuICBzdGVwczogeyB0aXRsZT86IHN0cmluZzsgZGVzY3JpcHRpb24/OiBzdHJpbmcgfVtdID0gW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVTdGVwcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghY2hhbmdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNob3VsZFJlY3JlYXRlID0gT2JqZWN0LnZhbHVlcyhjaGFuZ2VzKS5zb21lKChjaGFuZ2UpID0+ICFjaGFuZ2UuZmlyc3RDaGFuZ2UpO1xuXG4gICAgaWYgKHNob3VsZFJlY3JlYXRlKSB7XG4gICAgICB0aGlzLmNyZWF0ZVN0ZXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWEgbG9zIHBhc29zIHF1ZSBzZSB2YW4gYSBtb3N0cmFyXG4gICAqL1xuICBjcmVhdGVTdGVwcygpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnN0ZXBMYWJlbHMpICYmIHRoaXMuc3RlcExhYmVscy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0ZXBzID0gWy4uLnRoaXMuc3RlcExhYmVsc107XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGVwcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMuc3RlcHNDb3VudCB9LCAoKSA9PiAoeyBkZXNjcmlwdGlvbjogJycgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldnVlbHZlIGVsIGVzdGFkbyB2aXN1YWwgZGVsIHBhc28gZW4gZWwgw61uZGljZSBkYWRvXG4gICAqIEBwYXJhbSBpbmRleCBFbCDDrW5kaWNlIGRlbCBwYXNvXG4gICAqIEByZXR1cm5zIEVsIGVzdGFkbyB2aXN1YWwgZGVsIHBhc29cbiAgICovXG4gIGdldFN0ZXBTdGF0ZShpbmRleDogbnVtYmVyKTogU3RlcFN0YXRlIHtcbiAgICBpZiAoaW5kZXggPCB0aGlzLmN1cnJlbnRTdGVwIC0gMSkgcmV0dXJuICdjb21wbGV0ZWQnO1xuICAgIGVsc2UgaWYgKGluZGV4ID09PSB0aGlzLmN1cnJlbnRTdGVwIC0gMSkgcmV0dXJuIHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gJ3BlbmRpbmcnO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3RlcHBlci1jb250YWluZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RlcFwiXG4gICAgICBbbmdDbGFzc109XCJnZXRTdGVwU3RhdGUoaSlcIlxuICAgICAgW25nU3R5bGVdPVwieyBmbGV4OiBpID4gMCAmJiBpIDwgc3RlcHMubGVuZ3RoIC0gMSA/IDIgOiAxIH1cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaW5lXCIgKm5nSWY9XCJpICE9PSAwXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2lyY2xlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJMYWJlbC1TXCIgKm5nSWY9XCJzaG93TnVtYmVyT2ZTdGVwXCI+XG4gICAgICAgICAgICB7eyBpICsgMSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBzLWNvbnRhaW5lclwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwiTGFiZWwtTVwiICpuZ0lmPVwic3RlcC50aXRsZVwiPlxuICAgICAgICAgICAge3sgc3RlcC50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDxwIGNsYXNzPVwiQm9keS1TLVJlZ3VsYXJcIiAqbmdJZj1cInN0ZXAuZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIHt7IHN0ZXAuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGluZVwiICpuZ0lmPVwiaSAhPT0gc3RlcHMubGVuZ3RoIC0gMVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DropiSwitchComponent {
|
|
4
|
+
isChecked = false;
|
|
5
|
+
onChange = new EventEmitter();
|
|
6
|
+
constructor() { }
|
|
7
|
+
ngOnInit() { }
|
|
8
|
+
onToggleChange(event) {
|
|
9
|
+
this.onChange.emit(event.target.checked);
|
|
10
|
+
}
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiSwitchComponent, isStandalone: true, selector: "dropi-wc-switch", inputs: { isChecked: "isChecked" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<label class=\"toggle-switch\">\n <input type=\"checkbox\" [checked]=\"isChecked\" (change)=\"onToggleChange($event)\" >\n <span class=\"slider\"></span>\n</label>\n", styles: ["@charset \"UTF-8\";.toggle-switch{position:relative;display:inline-block;width:40px;height:21px;margin-bottom:0}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--Gray-Gray-200);transition:.4s;border-radius:34px}.slider:before{position:absolute;content:\"\";height:17px;width:17px;left:3px;bottom:2px;background-color:var(--Neutral-White);transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--Primary-Primary-500)}input:checked+.slider:before{transform:translate(17px)}\n"] });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiSwitchComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: "dropi-wc-switch", standalone: true, template: "<label class=\"toggle-switch\">\n <input type=\"checkbox\" [checked]=\"isChecked\" (change)=\"onToggleChange($event)\" >\n <span class=\"slider\"></span>\n</label>\n", styles: ["@charset \"UTF-8\";.toggle-switch{position:relative;display:inline-block;width:40px;height:21px;margin-bottom:0}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--Gray-Gray-200);transition:.4s;border-radius:34px}.slider:before{position:absolute;content:\"\";height:17px;width:17px;left:3px;bottom:2px;background-color:var(--Neutral-White);transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--Primary-Primary-500)}input:checked+.slider:before{transform:translate(17px)}\n"] }]
|
|
17
|
+
}], ctorParameters: () => [], propDecorators: { isChecked: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], onChange: [{
|
|
20
|
+
type: Output
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktc3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zd2l0Y2gvZHJvcGktc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1zd2l0Y2gvZHJvcGktc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNqRCxnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO3dHQVRVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGtKQ1JqQyx5S0FJQTs7NEZESWEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUk7d0RBR1AsU0FBUztzQkFBakIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJkcm9waS13Yy1zd2l0Y2hcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9waS1zd2l0Y2guY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3BpLXN3aXRjaC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGlTd2l0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBpc0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uVG9nZ2xlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoZXZlbnQudGFyZ2V0LmNoZWNrZWQpO1xuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJ0b2dnbGUtc3dpdGNoXCI+XG4gIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJpc0NoZWNrZWRcIiAoY2hhbmdlKT1cIm9uVG9nZ2xlQ2hhbmdlKCRldmVudClcIiA+XG4gIDxzcGFuIGNsYXNzPVwic2xpZGVyXCI+PC9zcGFuPlxuPC9sYWJlbD5cbiJdfQ==
|