@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,243 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, TemplateRef, ContentChild, ChangeDetectionStrategy, } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { IconComponent } from '../icon/icon.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class DropiCarouselComponent {
|
|
7
|
+
cdr;
|
|
8
|
+
value = [];
|
|
9
|
+
page = 0;
|
|
10
|
+
numVisible = 1;
|
|
11
|
+
numScroll = 1;
|
|
12
|
+
responsiveOptions;
|
|
13
|
+
orientation = 'horizontal';
|
|
14
|
+
verticalViewPortHeight = '300px';
|
|
15
|
+
contentClass = '';
|
|
16
|
+
indicatorsContentClass = '';
|
|
17
|
+
showIndicators = true;
|
|
18
|
+
showNavigators = true;
|
|
19
|
+
autoplayInterval = 0;
|
|
20
|
+
circular = false;
|
|
21
|
+
pageChange = new EventEmitter();
|
|
22
|
+
onPage = new EventEmitter();
|
|
23
|
+
itemTemplate; // ✅ Opcional, no obligatorio
|
|
24
|
+
currentPage = 0;
|
|
25
|
+
numVisibleItems = 1;
|
|
26
|
+
numScrollItems = 1;
|
|
27
|
+
isAnimating = true;
|
|
28
|
+
totalPagesArray = [];
|
|
29
|
+
transformValue = 'translateX(0%)';
|
|
30
|
+
itemFlexBasis = '0 0 100%';
|
|
31
|
+
autoplayTimer;
|
|
32
|
+
resizeListener;
|
|
33
|
+
constructor(cdr) {
|
|
34
|
+
this.cdr = cdr;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
this.currentPage = this.page;
|
|
38
|
+
this.updateResponsiveOptions();
|
|
39
|
+
this.updateTotalPages();
|
|
40
|
+
this.updateTransform();
|
|
41
|
+
// Listen to window resize
|
|
42
|
+
this.resizeListener = () => {
|
|
43
|
+
this.updateResponsiveOptions();
|
|
44
|
+
this.updateTransform();
|
|
45
|
+
this.cdr.markForCheck();
|
|
46
|
+
};
|
|
47
|
+
window.addEventListener('resize', this.resizeListener);
|
|
48
|
+
}
|
|
49
|
+
ngAfterViewInit() {
|
|
50
|
+
setTimeout(() => {
|
|
51
|
+
this.updateResponsiveOptions();
|
|
52
|
+
this.updateTotalPages();
|
|
53
|
+
this.updateTransform();
|
|
54
|
+
this.cdr.detectChanges();
|
|
55
|
+
this.startAutoplay();
|
|
56
|
+
}, 100);
|
|
57
|
+
}
|
|
58
|
+
ngOnDestroy() {
|
|
59
|
+
this.stopAutoplay();
|
|
60
|
+
if (this.resizeListener) {
|
|
61
|
+
window.removeEventListener('resize', this.resizeListener);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
updateResponsiveOptions() {
|
|
65
|
+
this.numVisibleItems = this.numVisible;
|
|
66
|
+
this.numScrollItems = this.numScroll;
|
|
67
|
+
if (this.responsiveOptions && this.responsiveOptions.length > 0) {
|
|
68
|
+
const windowWidth = window.innerWidth;
|
|
69
|
+
// Ordenar de menor a mayor para aplicar desde el breakpoint más pequeño
|
|
70
|
+
const sorted = [...this.responsiveOptions].sort((a, b) => {
|
|
71
|
+
return parseInt(a.breakpoint) - parseInt(b.breakpoint);
|
|
72
|
+
});
|
|
73
|
+
// Aplicar la configuración correspondiente al tamaño de pantalla
|
|
74
|
+
for (let option of sorted) {
|
|
75
|
+
if (windowWidth <= parseInt(option.breakpoint)) {
|
|
76
|
+
this.numVisibleItems = option.numVisible || 1;
|
|
77
|
+
this.numScrollItems = option.numScroll || 1;
|
|
78
|
+
break; // Detener en el primer match
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
this.itemFlexBasis = `0 0 ${100 / this.numVisibleItems}%`;
|
|
83
|
+
this.updateTotalPages();
|
|
84
|
+
}
|
|
85
|
+
updateTransform() {
|
|
86
|
+
if (!this.value || this.value.length === 0) {
|
|
87
|
+
this.transformValue = this.orientation === 'vertical' ? 'translateY(0%)' : 'translateX(0%)';
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const itemsToShow = this.numVisibleItems;
|
|
91
|
+
const totalItems = this.value.length;
|
|
92
|
+
// Calcula el índice del primer item basado en la página actual y el scroll
|
|
93
|
+
// Para móvil con numVisible=1 y numScroll=1, cada página muestra 1 item
|
|
94
|
+
const itemsScrolled = this.currentPage * this.numScrollItems;
|
|
95
|
+
// Asegura que no se desborde más allá del último item visible completo
|
|
96
|
+
const maxScroll = Math.max(0, totalItems - itemsToShow);
|
|
97
|
+
const safeScroll = Math.min(itemsScrolled, maxScroll);
|
|
98
|
+
// Calcula el porcentaje de desplazamiento
|
|
99
|
+
// Cada item ocupa (100 / numVisibleItems)% del contenedor
|
|
100
|
+
// Por ejemplo: si numVisible=1, cada item es 100%
|
|
101
|
+
// Si numVisible=3, cada item es 33.33%
|
|
102
|
+
const itemWidth = 100 / this.numVisibleItems;
|
|
103
|
+
const translateValue = -(safeScroll * itemWidth);
|
|
104
|
+
this.transformValue =
|
|
105
|
+
this.orientation === 'vertical'
|
|
106
|
+
? `translateY(${translateValue}%)`
|
|
107
|
+
: `translateX(${translateValue}%)`;
|
|
108
|
+
}
|
|
109
|
+
updateTotalPages() {
|
|
110
|
+
if (!this.value || this.value.length <= this.numVisibleItems) {
|
|
111
|
+
this.totalPagesArray = [0];
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const totalItems = this.value.length;
|
|
115
|
+
const itemsToShow = this.numVisibleItems;
|
|
116
|
+
const itemsPerScroll = this.numScrollItems;
|
|
117
|
+
// Calcula cuántas páginas son necesarias
|
|
118
|
+
// Para asegurar que todas las cards se muestren completas
|
|
119
|
+
const remainingItems = totalItems - itemsToShow;
|
|
120
|
+
const totalPages = Math.ceil(remainingItems / itemsPerScroll) + 1;
|
|
121
|
+
this.totalPagesArray = Array(totalPages).fill(0);
|
|
122
|
+
}
|
|
123
|
+
navForward(event) {
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
this.stopAutoplay();
|
|
126
|
+
if (this.circular || !this.isLastPage()) {
|
|
127
|
+
this.isAnimating = true;
|
|
128
|
+
this.currentPage = this.circular && this.isLastPage() ? 0 : this.currentPage + 1;
|
|
129
|
+
this.updateTransform();
|
|
130
|
+
this.emitPageChange();
|
|
131
|
+
setTimeout(() => {
|
|
132
|
+
this.isAnimating = false;
|
|
133
|
+
this.cdr.markForCheck();
|
|
134
|
+
}, 500);
|
|
135
|
+
}
|
|
136
|
+
this.startAutoplay();
|
|
137
|
+
}
|
|
138
|
+
navBackward(event) {
|
|
139
|
+
event.preventDefault();
|
|
140
|
+
this.stopAutoplay();
|
|
141
|
+
if (this.circular || !this.isFirstPage()) {
|
|
142
|
+
this.isAnimating = true;
|
|
143
|
+
this.currentPage =
|
|
144
|
+
this.circular && this.isFirstPage()
|
|
145
|
+
? this.totalPagesArray.length - 1
|
|
146
|
+
: this.currentPage - 1;
|
|
147
|
+
this.updateTransform();
|
|
148
|
+
this.emitPageChange();
|
|
149
|
+
setTimeout(() => {
|
|
150
|
+
this.isAnimating = false;
|
|
151
|
+
this.cdr.markForCheck();
|
|
152
|
+
}, 500);
|
|
153
|
+
}
|
|
154
|
+
this.startAutoplay();
|
|
155
|
+
}
|
|
156
|
+
onDotClick(index) {
|
|
157
|
+
this.stopAutoplay();
|
|
158
|
+
this.isAnimating = true;
|
|
159
|
+
this.currentPage = index;
|
|
160
|
+
this.updateTransform();
|
|
161
|
+
this.emitPageChange();
|
|
162
|
+
setTimeout(() => {
|
|
163
|
+
this.isAnimating = false;
|
|
164
|
+
this.cdr.markForCheck();
|
|
165
|
+
}, 500);
|
|
166
|
+
this.startAutoplay();
|
|
167
|
+
}
|
|
168
|
+
isFirstPage() {
|
|
169
|
+
return this.currentPage === 0;
|
|
170
|
+
}
|
|
171
|
+
isLastPage() {
|
|
172
|
+
return this.currentPage >= this.totalPagesArray.length - 1;
|
|
173
|
+
}
|
|
174
|
+
startAutoplay() {
|
|
175
|
+
if (this.autoplayInterval > 0) {
|
|
176
|
+
this.autoplayTimer = setInterval(() => {
|
|
177
|
+
if (this.circular || !this.isLastPage()) {
|
|
178
|
+
this.isAnimating = true;
|
|
179
|
+
this.currentPage = this.circular && this.isLastPage() ? 0 : this.currentPage + 1;
|
|
180
|
+
this.updateTransform();
|
|
181
|
+
this.emitPageChange();
|
|
182
|
+
setTimeout(() => {
|
|
183
|
+
this.isAnimating = false;
|
|
184
|
+
this.cdr.markForCheck();
|
|
185
|
+
}, 500);
|
|
186
|
+
}
|
|
187
|
+
}, this.autoplayInterval);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
stopAutoplay() {
|
|
191
|
+
if (this.autoplayTimer) {
|
|
192
|
+
clearInterval(this.autoplayTimer);
|
|
193
|
+
this.autoplayTimer = null;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
emitPageChange() {
|
|
197
|
+
this.pageChange.emit(this.currentPage);
|
|
198
|
+
this.onPage.emit({
|
|
199
|
+
page: this.currentPage,
|
|
200
|
+
});
|
|
201
|
+
this.cdr.markForCheck();
|
|
202
|
+
}
|
|
203
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
204
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCarouselComponent, isStandalone: true, selector: "dropi-carousel", inputs: { value: "value", page: "page", numVisible: "numVisible", numScroll: "numScroll", responsiveOptions: "responsiveOptions", orientation: "orientation", verticalViewPortHeight: "verticalViewPortHeight", contentClass: "contentClass", indicatorsContentClass: "indicatorsContentClass", showIndicators: "showIndicators", showNavigators: "showNavigators", autoplayInterval: "autoplayInterval", circular: "circular" }, outputs: { pageChange: "pageChange", onPage: "onPage" }, queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"dropi-carousel-container\" [class.vertical]=\"orientation === 'vertical'\">\n <div class=\"dropi-carousel-content\">\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-prev\"\n [disabled]=\"!circular && isFirstPage()\"\n (click)=\"navBackward($event)\"\n [attr.aria-label]=\"'Anterior'\"\n >\n <app-icon name=\"Dropdown-left\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n\n <div class=\"dropi-carousel-items-content\" #itemsContainer>\n <div\n class=\"dropi-carousel-items-container\"\n [style.transform]=\"transformValue\"\n [style.transition]=\"isAnimating ? 'transform 0.5s ease' : 'none'\"\n >\n <div\n *ngFor=\"let item of value; let i = index\"\n class=\"dropi-carousel-item\"\n [style.flex]=\"itemFlexBasis\"\n >\n <ng-container *ngIf=\"itemTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\">\n </ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <div class=\"dropi-default-item\">\n {{ item | json }}\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-next\"\n [disabled]=\"!circular && isLastPage()\"\n (click)=\"navForward($event)\"\n [attr.aria-label]=\"'Siguiente'\"\n >\n <app-icon name=\"Dropdown-Right\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n </div>\n\n <ul class=\"dropi-carousel-indicators\" *ngIf=\"showIndicators\">\n <li\n *ngFor=\"let page of totalPagesArray; let i = index\"\n [class.active]=\"i === currentPage\"\n (click)=\"onDotClick(i)\"\n >\n <button type=\"button\" [attr.aria-label]=\"'Ir a p\u00E1gina ' + (i + 1)\"></button>\n </li>\n </ul>\n</div>\n", styles: [".dropi-carousel-container{display:flex;flex-direction:column;position:relative;width:100%;max-width:100%;overflow:hidden}.dropi-carousel-header,.dropi-carousel-footer{padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.dropi-carousel-footer{border-top:1px solid #dee2e6;border-bottom:none}.dropi-carousel-content{display:flex;align-items:center;position:relative;padding:1rem 0;width:100%}.dropi-carousel-items-content{overflow:hidden;flex:1;padding:0;width:100%;max-width:100%}.dropi-carousel-items-container{display:flex;transition:transform .5s ease;padding:0 .5rem var(--Size-3)}@media (max-width: 768px){.dropi-carousel-items-container{padding:0}}.dropi-carousel-item{flex:0 0 auto;padding:0 .5rem;box-sizing:border-box}.dropi-carousel-item>*{width:100%;box-sizing:border-box}@media (max-width: 768px){.dropi-carousel-item{padding:0}}.dropi-default-item{padding:1rem;background:#f8f9fa;border-radius:.25rem;text-align:center;color:#6c757d;font-size:.875rem}.dropi-carousel-nav{display:flex;width:40px;height:40px;padding:var(--Size-4);justify-content:center;align-items:center;cursor:pointer;transition:all .2s;flex-shrink:0;z-index:1;border-radius:var(--Border-5);background:var(--White, #fff);box-shadow:var(--Shadow-medium);border:none;appearance:none}button:focus:not(:focus-visible){outline:none;box-shadow:var(--Shadow-medium)!important}.dropi-carousel-nav:disabled{opacity:.4;cursor:not-allowed}.dropi-carousel-prev{margin-right:1rem}.dropi-carousel-next{margin-left:1rem}.dropi-carousel-indicators{display:flex;justify-content:center;gap:.5rem;list-style:none;padding:1rem 0 0;margin:0}.dropi-carousel-indicators li{cursor:pointer}.dropi-carousel-indicators li button{width:1rem;height:1rem;border-radius:50%;border:1px solid #dee2e6;background:#fff;cursor:pointer;transition:all .2s;padding:0}.dropi-carousel-indicators li.active button{background:var(--Primary-Primary-500);border-color:var(--Primary-Primary-500)}.dropi-carousel-indicators li:hover button{background:var(--Gray-Gray-200)}.vertical .dropi-carousel-content,.vertical .dropi-carousel-items-container{flex-direction:column}.vertical .dropi-carousel-prev{margin:0 0 1rem}.vertical .dropi-carousel-next{margin:1rem 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }, { kind: "component", type: IconComponent, selector: "app-icon", inputs: ["name", "width", "height", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
205
|
+
}
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCarouselComponent, decorators: [{
|
|
207
|
+
type: Component,
|
|
208
|
+
args: [{ selector: 'dropi-carousel', standalone: true, imports: [CommonModule, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropi-carousel-container\" [class.vertical]=\"orientation === 'vertical'\">\n <div class=\"dropi-carousel-content\">\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-prev\"\n [disabled]=\"!circular && isFirstPage()\"\n (click)=\"navBackward($event)\"\n [attr.aria-label]=\"'Anterior'\"\n >\n <app-icon name=\"Dropdown-left\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n\n <div class=\"dropi-carousel-items-content\" #itemsContainer>\n <div\n class=\"dropi-carousel-items-container\"\n [style.transform]=\"transformValue\"\n [style.transition]=\"isAnimating ? 'transform 0.5s ease' : 'none'\"\n >\n <div\n *ngFor=\"let item of value; let i = index\"\n class=\"dropi-carousel-item\"\n [style.flex]=\"itemFlexBasis\"\n >\n <ng-container *ngIf=\"itemTemplate; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\">\n </ng-container>\n </ng-container>\n <ng-template #defaultTemplate>\n <div class=\"dropi-default-item\">\n {{ item | json }}\n </div>\n </ng-template>\n </div>\n </div>\n </div>\n\n <button\n *ngIf=\"showNavigators\"\n class=\"dropi-carousel-nav dropi-carousel-next\"\n [disabled]=\"!circular && isLastPage()\"\n (click)=\"navForward($event)\"\n [attr.aria-label]=\"'Siguiente'\"\n >\n <app-icon name=\"Dropdown-Right\" width=\"24px\" height=\"24px\" color=\"Gray-Gray-500\"></app-icon>\n </button>\n </div>\n\n <ul class=\"dropi-carousel-indicators\" *ngIf=\"showIndicators\">\n <li\n *ngFor=\"let page of totalPagesArray; let i = index\"\n [class.active]=\"i === currentPage\"\n (click)=\"onDotClick(i)\"\n >\n <button type=\"button\" [attr.aria-label]=\"'Ir a p\u00E1gina ' + (i + 1)\"></button>\n </li>\n </ul>\n</div>\n", styles: [".dropi-carousel-container{display:flex;flex-direction:column;position:relative;width:100%;max-width:100%;overflow:hidden}.dropi-carousel-header,.dropi-carousel-footer{padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.dropi-carousel-footer{border-top:1px solid #dee2e6;border-bottom:none}.dropi-carousel-content{display:flex;align-items:center;position:relative;padding:1rem 0;width:100%}.dropi-carousel-items-content{overflow:hidden;flex:1;padding:0;width:100%;max-width:100%}.dropi-carousel-items-container{display:flex;transition:transform .5s ease;padding:0 .5rem var(--Size-3)}@media (max-width: 768px){.dropi-carousel-items-container{padding:0}}.dropi-carousel-item{flex:0 0 auto;padding:0 .5rem;box-sizing:border-box}.dropi-carousel-item>*{width:100%;box-sizing:border-box}@media (max-width: 768px){.dropi-carousel-item{padding:0}}.dropi-default-item{padding:1rem;background:#f8f9fa;border-radius:.25rem;text-align:center;color:#6c757d;font-size:.875rem}.dropi-carousel-nav{display:flex;width:40px;height:40px;padding:var(--Size-4);justify-content:center;align-items:center;cursor:pointer;transition:all .2s;flex-shrink:0;z-index:1;border-radius:var(--Border-5);background:var(--White, #fff);box-shadow:var(--Shadow-medium);border:none;appearance:none}button:focus:not(:focus-visible){outline:none;box-shadow:var(--Shadow-medium)!important}.dropi-carousel-nav:disabled{opacity:.4;cursor:not-allowed}.dropi-carousel-prev{margin-right:1rem}.dropi-carousel-next{margin-left:1rem}.dropi-carousel-indicators{display:flex;justify-content:center;gap:.5rem;list-style:none;padding:1rem 0 0;margin:0}.dropi-carousel-indicators li{cursor:pointer}.dropi-carousel-indicators li button{width:1rem;height:1rem;border-radius:50%;border:1px solid #dee2e6;background:#fff;cursor:pointer;transition:all .2s;padding:0}.dropi-carousel-indicators li.active button{background:var(--Primary-Primary-500);border-color:var(--Primary-Primary-500)}.dropi-carousel-indicators li:hover button{background:var(--Gray-Gray-200)}.vertical .dropi-carousel-content,.vertical .dropi-carousel-items-container{flex-direction:column}.vertical .dropi-carousel-prev{margin:0 0 1rem}.vertical .dropi-carousel-next{margin:1rem 0 0}\n"] }]
|
|
209
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { value: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], page: [{
|
|
212
|
+
type: Input
|
|
213
|
+
}], numVisible: [{
|
|
214
|
+
type: Input
|
|
215
|
+
}], numScroll: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], responsiveOptions: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], orientation: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}], verticalViewPortHeight: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], contentClass: [{
|
|
224
|
+
type: Input
|
|
225
|
+
}], indicatorsContentClass: [{
|
|
226
|
+
type: Input
|
|
227
|
+
}], showIndicators: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}], showNavigators: [{
|
|
230
|
+
type: Input
|
|
231
|
+
}], autoplayInterval: [{
|
|
232
|
+
type: Input
|
|
233
|
+
}], circular: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], pageChange: [{
|
|
236
|
+
type: Output
|
|
237
|
+
}], onPage: [{
|
|
238
|
+
type: Output
|
|
239
|
+
}], itemTemplate: [{
|
|
240
|
+
type: ContentChild,
|
|
241
|
+
args: ['item', { read: TemplateRef }]
|
|
242
|
+
}] } });
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWNhcm91c2VsL2Ryb3BpLWNhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jYXJvdXNlbC9kcm9waS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUlaLFdBQVcsRUFDWCxZQUFZLEVBQ1osdUJBQXVCLEdBRXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQWdCdkQsTUFBTSxPQUFPLHNCQUFzQjtJQStCYjtJQTlCWCxLQUFLLEdBQVUsRUFBRSxDQUFDO0lBQ2xCLElBQUksR0FBVyxDQUFDLENBQUM7SUFDakIsVUFBVSxHQUFXLENBQUMsQ0FBQztJQUN2QixTQUFTLEdBQVcsQ0FBQyxDQUFDO0lBQ3RCLGlCQUFpQixDQUErQjtJQUNoRCxXQUFXLEdBQThCLFlBQVksQ0FBQztJQUN0RCxzQkFBc0IsR0FBVyxPQUFPLENBQUM7SUFDekMsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixzQkFBc0IsR0FBVyxFQUFFLENBQUM7SUFDcEMsY0FBYyxHQUFZLElBQUksQ0FBQztJQUMvQixjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGdCQUFnQixHQUFXLENBQUMsQ0FBQztJQUM3QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRXpCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRUUsWUFB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LHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRXNDLFlBQVk7c0JBQXhELFlBQVk7dUJBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2Fyb3VzZWxSZXNwb25zaXZlT3B0aW9ucyB7XG4gIGJyZWFrcG9pbnQ6IHN0cmluZztcbiAgbnVtVmlzaWJsZTogbnVtYmVyO1xuICBudW1TY3JvbGw6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHJvcGktY2Fyb3VzZWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9waS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3BpLWNhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERyb3BpQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBudW1WaXNpYmxlOiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSBudW1TY3JvbGw6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVPcHRpb25zPzogQ2Fyb3VzZWxSZXNwb25zaXZlT3B0aW9uc1tdO1xuICBASW5wdXQoKSBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgQElucHV0KCkgdmVydGljYWxWaWV3UG9ydEhlaWdodDogc3RyaW5nID0gJzMwMHB4JztcbiAgQElucHV0KCkgY29udGVudENsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaW5kaWNhdG9yc0NvbnRlbnRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNob3dJbmRpY2F0b3JzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd05hdmlnYXRvcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhdXRvcGxheUludGVydmFsOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBjaXJjdWxhcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBvblBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAQ29udGVudENoaWxkKCdpdGVtJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBpdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+OyAvLyDinIUgT3BjaW9uYWwsIG5vIG9ibGlnYXRvcmlvXG5cbiAgY3VycmVudFBhZ2U6IG51bWJlciA9IDA7XG4gIG51bVZpc2libGVJdGVtczogbnVtYmVyID0gMTtcbiAgbnVtU2Nyb2xsSXRlbXM6IG51bWJlciA9IDE7XG4gIGlzQW5pbWF0aW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgdG90YWxQYWdlc0FycmF5OiBudW1iZXJbXSA9IFtdO1xuICB0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nID0gJ3RyYW5zbGF0ZVgoMCUpJztcbiAgaXRlbUZsZXhCYXNpczogc3RyaW5nID0gJzAgMCAxMDAlJztcblxuICBwcml2YXRlIGF1dG9wbGF5VGltZXI/OiBhbnk7XG4gIHByaXZhdGUgcmVzaXplTGlzdGVuZXI/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgdGhpcy51cGRhdGVSZXNwb25zaXZlT3B0aW9ucygpO1xuICAgIHRoaXMudXBkYXRlVG90YWxQYWdlcygpO1xuICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gd2luZG93IHJlc2l6ZVxuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVPcHRpb25zKCk7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVJlc3BvbnNpdmVPcHRpb25zKCk7XG4gICAgICB0aGlzLnVwZGF0ZVRvdGFsUGFnZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB0aGlzLnN0YXJ0QXV0b3BsYXkoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9wQXV0b3BsYXkoKTtcbiAgICBpZiAodGhpcy5yZXNpemVMaXN0ZW5lcikge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplTGlzdGVuZXIpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJlc3BvbnNpdmVPcHRpb25zKCkge1xuICAgIHRoaXMubnVtVmlzaWJsZUl0ZW1zID0gdGhpcy5udW1WaXNpYmxlO1xuICAgIHRoaXMubnVtU2Nyb2xsSXRlbXMgPSB0aGlzLm51bVNjcm9sbDtcblxuICAgIGlmICh0aGlzLnJlc3BvbnNpdmVPcHRpb25zICYmIHRoaXMucmVzcG9uc2l2ZU9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcblxuICAgICAgLy8gT3JkZW5hciBkZSBtZW5vciBhIG1heW9yIHBhcmEgYXBsaWNhciBkZXNkZSBlbCBicmVha3BvaW50IG3DoXMgcGVxdWXDsW9cbiAgICAgIGNvbnN0IHNvcnRlZCA9IFsuLi50aGlzLnJlc3BvbnNpdmVPcHRpb25zXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChhLmJyZWFrcG9pbnQpIC0gcGFyc2VJbnQoYi5icmVha3BvaW50KTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBBcGxpY2FyIGxhIGNvbmZpZ3VyYWNpw7NuIGNvcnJlc3BvbmRpZW50ZSBhbCB0YW1hw7FvIGRlIHBhbnRhbGxhXG4gICAgICBmb3IgKGxldCBvcHRpb24gb2Ygc29ydGVkKSB7XG4gICAgICAgIGlmICh3aW5kb3dXaWR0aCA8PSBwYXJzZUludChvcHRpb24uYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICB0aGlzLm51bVZpc2libGVJdGVtcyA9IG9wdGlvbi5udW1WaXNpYmxlIHx8IDE7XG4gICAgICAgICAgdGhpcy5udW1TY3JvbGxJdGVtcyA9IG9wdGlvbi5udW1TY3JvbGwgfHwgMTtcbiAgICAgICAgICBicmVhazsgLy8gRGV0ZW5lciBlbiBlbCBwcmltZXIgbWF0Y2hcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuaXRlbUZsZXhCYXNpcyA9IGAwIDAgJHsxMDAgLyB0aGlzLm51bVZpc2libGVJdGVtc30lYDtcbiAgICB0aGlzLnVwZGF0ZVRvdGFsUGFnZXMoKTtcbiAgfVxuXG4gIHVwZGF0ZVRyYW5zZm9ybSgpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtVmFsdWUgPSB0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnID8gJ3RyYW5zbGF0ZVkoMCUpJyA6ICd0cmFuc2xhdGVYKDAlKSc7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbXNUb1Nob3cgPSB0aGlzLm51bVZpc2libGVJdGVtcztcbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gdGhpcy52YWx1ZS5sZW5ndGg7XG5cbiAgICAvLyBDYWxjdWxhIGVsIMOtbmRpY2UgZGVsIHByaW1lciBpdGVtIGJhc2FkbyBlbiBsYSBww6FnaW5hIGFjdHVhbCB5IGVsIHNjcm9sbFxuICAgIC8vIFBhcmEgbcOzdmlsIGNvbiBudW1WaXNpYmxlPTEgeSBudW1TY3JvbGw9MSwgY2FkYSBww6FnaW5hIG11ZXN0cmEgMSBpdGVtXG4gICAgY29uc3QgaXRlbXNTY3JvbGxlZCA9IHRoaXMuY3VycmVudFBhZ2UgKiB0aGlzLm51bVNjcm9sbEl0ZW1zO1xuXG4gICAgLy8gQXNlZ3VyYSBxdWUgbm8gc2UgZGVzYm9yZGUgbcOhcyBhbGzDoSBkZWwgw7psdGltbyBpdGVtIHZpc2libGUgY29tcGxldG9cbiAgICBjb25zdCBtYXhTY3JvbGwgPSBNYXRoLm1heCgwLCB0b3RhbEl0ZW1zIC0gaXRlbXNUb1Nob3cpO1xuICAgIGNvbnN0IHNhZmVTY3JvbGwgPSBNYXRoLm1pbihpdGVtc1Njcm9sbGVkLCBtYXhTY3JvbGwpO1xuXG4gICAgLy8gQ2FsY3VsYSBlbCBwb3JjZW50YWplIGRlIGRlc3BsYXphbWllbnRvXG4gICAgLy8gQ2FkYSBpdGVtIG9jdXBhICgxMDAgLyBudW1WaXNpYmxlSXRlbXMpJSBkZWwgY29udGVuZWRvclxuICAgIC8vIFBvciBlamVtcGxvOiBzaSBudW1WaXNpYmxlPTEsIGNhZGEgaXRlbSBlcyAxMDAlXG4gICAgLy8gU2kgbnVtVmlzaWJsZT0zLCBjYWRhIGl0ZW0gZXMgMzMuMzMlXG4gICAgY29uc3QgaXRlbVdpZHRoID0gMTAwIC8gdGhpcy5udW1WaXNpYmxlSXRlbXM7XG4gICAgY29uc3QgdHJhbnNsYXRlVmFsdWUgPSAtKHNhZmVTY3JvbGwgKiBpdGVtV2lkdGgpO1xuXG4gICAgdGhpcy50cmFuc2Zvcm1WYWx1ZSA9XG4gICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXG4gICAgICAgID8gYHRyYW5zbGF0ZVkoJHt0cmFuc2xhdGVWYWx1ZX0lKWBcbiAgICAgICAgOiBgdHJhbnNsYXRlWCgke3RyYW5zbGF0ZVZhbHVlfSUpYDtcbiAgfVxuXG4gIHVwZGF0ZVRvdGFsUGFnZXMoKSB7XG4gICAgaWYgKCF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUubGVuZ3RoIDw9IHRoaXMubnVtVmlzaWJsZUl0ZW1zKSB7XG4gICAgICB0aGlzLnRvdGFsUGFnZXNBcnJheSA9IFswXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0b3RhbEl0ZW1zID0gdGhpcy52YWx1ZS5sZW5ndGg7XG4gICAgY29uc3QgaXRlbXNUb1Nob3cgPSB0aGlzLm51bVZpc2libGVJdGVtcztcbiAgICBjb25zdCBpdGVtc1BlclNjcm9sbCA9IHRoaXMubnVtU2Nyb2xsSXRlbXM7XG5cbiAgICAvLyBDYWxjdWxhIGN1w6FudGFzIHDDoWdpbmFzIHNvbiBuZWNlc2FyaWFzXG4gICAgLy8gUGFyYSBhc2VndXJhciBxdWUgdG9kYXMgbGFzIGNhcmRzIHNlIG11ZXN0cmVuIGNvbXBsZXRhc1xuICAgIGNvbnN0IHJlbWFpbmluZ0l0ZW1zID0gdG90YWxJdGVtcyAtIGl0ZW1zVG9TaG93O1xuICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLmNlaWwocmVtYWluaW5nSXRlbXMgLyBpdGVtc1BlclNjcm9sbCkgKyAxO1xuXG4gICAgdGhpcy50b3RhbFBhZ2VzQXJyYXkgPSBBcnJheSh0b3RhbFBhZ2VzKS5maWxsKDApO1xuICB9XG5cbiAgbmF2Rm9yd2FyZChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RvcEF1dG9wbGF5KCk7XG5cbiAgICBpZiAodGhpcy5jaXJjdWxhciB8fCAhdGhpcy5pc0xhc3RQYWdlKCkpIHtcbiAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY2lyY3VsYXIgJiYgdGhpcy5pc0xhc3RQYWdlKCkgPyAwIDogdGhpcy5jdXJyZW50UGFnZSArIDE7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5lbWl0UGFnZUNoYW5nZSgpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gIH1cblxuICBuYXZCYWNrd2FyZChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RvcEF1dG9wbGF5KCk7XG5cbiAgICBpZiAodGhpcy5jaXJjdWxhciB8fCAhdGhpcy5pc0ZpcnN0UGFnZSgpKSB7XG4gICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPVxuICAgICAgICB0aGlzLmNpcmN1bGFyICYmIHRoaXMuaXNGaXJzdFBhZ2UoKVxuICAgICAgICAgID8gdGhpcy50b3RhbFBhZ2VzQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgIDogdGhpcy5jdXJyZW50UGFnZSAtIDE7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgICAgdGhpcy5lbWl0UGFnZUNoYW5nZSgpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gIH1cblxuICBvbkRvdENsaWNrKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnN0b3BBdXRvcGxheSgpO1xuICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBpbmRleDtcbiAgICB0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpO1xuICAgIHRoaXMuZW1pdFBhZ2VDaGFuZ2UoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSwgNTAwKTtcblxuICAgIHRoaXMuc3RhcnRBdXRvcGxheSgpO1xuICB9XG5cbiAgaXNGaXJzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPT09IDA7XG4gIH1cblxuICBpc0xhc3RQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID49IHRoaXMudG90YWxQYWdlc0FycmF5Lmxlbmd0aCAtIDE7XG4gIH1cblxuICBzdGFydEF1dG9wbGF5KCkge1xuICAgIGlmICh0aGlzLmF1dG9wbGF5SW50ZXJ2YWwgPiAwKSB7XG4gICAgICB0aGlzLmF1dG9wbGF5VGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNpcmN1bGFyIHx8ICF0aGlzLmlzTGFzdFBhZ2UoKSkge1xuICAgICAgICAgIHRoaXMuaXNBbmltYXRpbmcgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmNpcmN1bGFyICYmIHRoaXMuaXNMYXN0UGFnZSgpID8gMCA6IHRoaXMuY3VycmVudFBhZ2UgKyAxO1xuICAgICAgICAgIHRoaXMudXBkYXRlVHJhbnNmb3JtKCk7XG4gICAgICAgICAgdGhpcy5lbWl0UGFnZUNoYW5nZSgpO1xuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgICB9LCB0aGlzLmF1dG9wbGF5SW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxuXG4gIHN0b3BBdXRvcGxheSgpIHtcbiAgICBpZiAodGhpcy5hdXRvcGxheVRpbWVyKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuYXV0b3BsYXlUaW1lcik7XG4gICAgICB0aGlzLmF1dG9wbGF5VGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW1pdFBhZ2VDaGFuZ2UoKSB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgdGhpcy5vblBhZ2UuZW1pdCh7XG4gICAgICBwYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgIH0pO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGktY2Fyb3VzZWwtY29udGFpbmVyXCIgW2NsYXNzLnZlcnRpY2FsXT1cIm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXCI+XG4gIDxkaXYgY2xhc3M9XCJkcm9waS1jYXJvdXNlbC1jb250ZW50XCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93TmF2aWdhdG9yc1wiXG4gICAgICBjbGFzcz1cImRyb3BpLWNhcm91c2VsLW5hdiBkcm9waS1jYXJvdXNlbC1wcmV2XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY2lyY3VsYXIgJiYgaXNGaXJzdFBhZ2UoKVwiXG4gICAgICAoY2xpY2spPVwibmF2QmFja3dhcmQoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBbnRlcmlvcidcIlxuICAgID5cbiAgICAgIDxhcHAtaWNvbiBuYW1lPVwiRHJvcGRvd24tbGVmdFwiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiBjb2xvcj1cIkdyYXktR3JheS01MDBcIj48L2FwcC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cImRyb3BpLWNhcm91c2VsLWl0ZW1zLWNvbnRlbnRcIiAjaXRlbXNDb250YWluZXI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJvcGktY2Fyb3VzZWwtaXRlbXMtY29udGFpbmVyXCJcbiAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0cmFuc2Zvcm1WYWx1ZVwiXG4gICAgICAgIFtzdHlsZS50cmFuc2l0aW9uXT1cImlzQW5pbWF0aW5nID8gJ3RyYW5zZm9ybSAwLjVzIGVhc2UnIDogJ25vbmUnXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBjbGFzcz1cImRyb3BpLWNhcm91c2VsLWl0ZW1cIlxuICAgICAgICAgIFtzdHlsZS5mbGV4XT1cIml0ZW1GbGV4QmFzaXNcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBpbmRleDogaSB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9waS1kZWZhdWx0LWl0ZW1cIj5cbiAgICAgICAgICAgICAge3sgaXRlbSB8IGpzb24gfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dOYXZpZ2F0b3JzXCJcbiAgICAgIGNsYXNzPVwiZHJvcGktY2Fyb3VzZWwtbmF2IGRyb3BpLWNhcm91c2VsLW5leHRcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjaXJjdWxhciAmJiBpc0xhc3RQYWdlKClcIlxuICAgICAgKGNsaWNrKT1cIm5hdkZvcndhcmQoJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTaWd1aWVudGUnXCJcbiAgICA+XG4gICAgICA8YXBwLWljb24gbmFtZT1cIkRyb3Bkb3duLVJpZ2h0XCIgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMjRweFwiIGNvbG9yPVwiR3JheS1HcmF5LTUwMFwiPjwvYXBwLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDx1bCBjbGFzcz1cImRyb3BpLWNhcm91c2VsLWluZGljYXRvcnNcIiAqbmdJZj1cInNob3dJbmRpY2F0b3JzXCI+XG4gICAgPGxpXG4gICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiB0b3RhbFBhZ2VzQXJyYXk7IGxldCBpID0gaW5kZXhcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBjdXJyZW50UGFnZVwiXG4gICAgICAoY2xpY2spPVwib25Eb3RDbGljayhpKVwiXG4gICAgPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInSXIgYSBww6FnaW5hICcgKyAoaSArIDEpXCI+PC9idXR0b24+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class DropiCheckboxComponent {
|
|
6
|
+
checked = false;
|
|
7
|
+
disabled = false;
|
|
8
|
+
onChange = new EventEmitter();
|
|
9
|
+
changeState() {
|
|
10
|
+
if (this.disabled)
|
|
11
|
+
return;
|
|
12
|
+
this.checked = !this.checked;
|
|
13
|
+
this.emitCheckStatus();
|
|
14
|
+
}
|
|
15
|
+
emitCheckStatus() {
|
|
16
|
+
this.onChange.emit(this.checked);
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiCheckboxComponent, isStandalone: true, selector: "app-dropi-checkbox", inputs: { checked: "checked", disabled: "disabled" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"container-dropi-checkbox\">\n <div id=\"check\" (click)=\"changeState()\">\n <div class=\"check\" [ngClass]=\"{ isCheck: checked, noCheck: !checked, disabled: disabled }\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n d=\"M20.5991 5.69251L9.08325 17.2075C9.00583 17.2852 8.91382 17.3469 8.8125 17.389C8.71118 17.4311 8.60255 17.4527 8.49283 17.4527C8.38312 17.4527 8.27449 17.4311 8.17317 17.389C8.07185 17.3469 7.97984 17.2852 7.90242 17.2075L3.44908 12.75C3.37166 12.6723 3.27965 12.6106 3.17833 12.5685C3.07701 12.5264 2.96838 12.5048 2.85867 12.5048C2.74896 12.5048 2.64032 12.5264 2.53901 12.5685C2.43769 12.6106 2.34568 12.6723 2.26825 12.75C2.19052 12.8274 2.12884 12.9194 2.08676 13.0208C2.04467 13.1221 2.02301 13.2307 2.02301 13.3404C2.02301 13.4501 2.04467 13.5588 2.08676 13.6601C2.12884 13.7614 2.19052 13.8534 2.26825 13.9308L6.72325 18.385C7.19321 18.8541 7.83008 19.1175 8.49408 19.1175C9.15809 19.1175 9.79496 18.8541 10.2649 18.385L21.7799 6.87251C21.8575 6.7951 21.9191 6.70314 21.9611 6.6019C22.0031 6.50065 22.0247 6.39212 22.0247 6.28251C22.0247 6.17289 22.0031 6.06436 21.9611 5.96312C21.9191 5.86188 21.8575 5.76992 21.7799 5.69251C21.7025 5.61478 21.6105 5.5531 21.5092 5.51101C21.4078 5.46893 21.2992 5.44727 21.1895 5.44727C21.0798 5.44727 20.9712 5.46893 20.8698 5.51101C20.7685 5.5531 20.6765 5.61478 20.5991 5.69251Z\"\n fill=\"#FFFFFF\"\n />\n </svg>\n </div>\n </div>\n</div>\n", styles: [".container-dropi-checkbox{display:inline-block!important}.check{width:20px;height:20px;border-radius:var(--Border-1);cursor:pointer;transition:background-color .3s ease-in-out,border-style .3s ease-in-out}.noCheck{border-style:solid;border-width:2px;border-color:var(--Gray-Gray-200);display:flex;justify-content:center;align-items:center}.disabled{background-color:var(--Gray-Gray-50);border-color:var(--Gray-Gray-100);cursor:not-allowed}.noCheck svg{visibility:hidden}.isCheck{display:flex;background-color:var(--Primary-Primary-500);justify-content:center;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiCheckboxComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'app-dropi-checkbox', standalone: true, imports: [CommonModule], template: "<div class=\"container-dropi-checkbox\">\n <div id=\"check\" (click)=\"changeState()\">\n <div class=\"check\" [ngClass]=\"{ isCheck: checked, noCheck: !checked, disabled: disabled }\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n d=\"M20.5991 5.69251L9.08325 17.2075C9.00583 17.2852 8.91382 17.3469 8.8125 17.389C8.71118 17.4311 8.60255 17.4527 8.49283 17.4527C8.38312 17.4527 8.27449 17.4311 8.17317 17.389C8.07185 17.3469 7.97984 17.2852 7.90242 17.2075L3.44908 12.75C3.37166 12.6723 3.27965 12.6106 3.17833 12.5685C3.07701 12.5264 2.96838 12.5048 2.85867 12.5048C2.74896 12.5048 2.64032 12.5264 2.53901 12.5685C2.43769 12.6106 2.34568 12.6723 2.26825 12.75C2.19052 12.8274 2.12884 12.9194 2.08676 13.0208C2.04467 13.1221 2.02301 13.2307 2.02301 13.3404C2.02301 13.4501 2.04467 13.5588 2.08676 13.6601C2.12884 13.7614 2.19052 13.8534 2.26825 13.9308L6.72325 18.385C7.19321 18.8541 7.83008 19.1175 8.49408 19.1175C9.15809 19.1175 9.79496 18.8541 10.2649 18.385L21.7799 6.87251C21.8575 6.7951 21.9191 6.70314 21.9611 6.6019C22.0031 6.50065 22.0247 6.39212 22.0247 6.28251C22.0247 6.17289 22.0031 6.06436 21.9611 5.96312C21.9191 5.86188 21.8575 5.76992 21.7799 5.69251C21.7025 5.61478 21.6105 5.5531 21.5092 5.51101C21.4078 5.46893 21.2992 5.44727 21.1895 5.44727C21.0798 5.44727 20.9712 5.46893 20.8698 5.51101C20.7685 5.5531 20.6765 5.61478 20.5991 5.69251Z\"\n fill=\"#FFFFFF\"\n />\n </svg>\n </div>\n </div>\n</div>\n", styles: [".container-dropi-checkbox{display:inline-block!important}.check{width:20px;height:20px;border-radius:var(--Border-1);cursor:pointer;transition:background-color .3s ease-in-out,border-style .3s ease-in-out}.noCheck{border-style:solid;border-width:2px;border-color:var(--Gray-Gray-200);display:flex;justify-content:center;align-items:center}.disabled{background-color:var(--Gray-Gray-50);border-color:var(--Gray-Gray-100);cursor:not-allowed}.noCheck svg{visibility:hidden}.isCheck{display:flex;background-color:var(--Primary-Primary-500);justify-content:center;align-items:center}\n"] }]
|
|
24
|
+
}], propDecorators: { checked: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], disabled: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], onChange: [{
|
|
29
|
+
type: Output
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWNoZWNrYm94L2Ryb3BpLWNoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jaGVja2JveC9kcm9waS1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBU3ZFLE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN6QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQ3pCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRWpELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQzt3R0FiVSxzQkFBc0I7NEZBQXRCLHNCQUFzQix1S0NWbkMsZ2tEQWtCQSw2bkJEVlksWUFBWTs7NEZBRVgsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLG9CQUFvQixjQUdsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBR2QsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZHJvcGktY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGktY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9waS1jaGVja2JveC5jb21wb25lbnQuY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waUNoZWNrYm94Q29tcG9uZW50IHtcbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY2hhbmdlU3RhdGUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgIHRoaXMuZW1pdENoZWNrU3RhdHVzKCk7XG4gIH1cblxuICBlbWl0Q2hlY2tTdGF0dXMoKSB7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItZHJvcGktY2hlY2tib3hcIj5cbiAgPGRpdiBpZD1cImNoZWNrXCIgKGNsaWNrKT1cImNoYW5nZVN0YXRlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tcIiBbbmdDbGFzc109XCJ7IGlzQ2hlY2s6IGNoZWNrZWQsIG5vQ2hlY2s6ICFjaGVja2VkLCBkaXNhYmxlZDogZGlzYWJsZWQgfVwiPlxuICAgICAgPHN2Z1xuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgd2lkdGg9XCIxMlwiXG4gICAgICAgIGhlaWdodD1cIjEyXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTIwLjU5OTEgNS42OTI1MUw5LjA4MzI1IDE3LjIwNzVDOS4wMDU4MyAxNy4yODUyIDguOTEzODIgMTcuMzQ2OSA4LjgxMjUgMTcuMzg5QzguNzExMTggMTcuNDMxMSA4LjYwMjU1IDE3LjQ1MjcgOC40OTI4MyAxNy40NTI3QzguMzgzMTIgMTcuNDUyNyA4LjI3NDQ5IDE3LjQzMTEgOC4xNzMxNyAxNy4zODlDOC4wNzE4NSAxNy4zNDY5IDcuOTc5ODQgMTcuMjg1MiA3LjkwMjQyIDE3LjIwNzVMMy40NDkwOCAxMi43NUMzLjM3MTY2IDEyLjY3MjMgMy4yNzk2NSAxMi42MTA2IDMuMTc4MzMgMTIuNTY4NUMzLjA3NzAxIDEyLjUyNjQgMi45NjgzOCAxMi41MDQ4IDIuODU4NjcgMTIuNTA0OEMyLjc0ODk2IDEyLjUwNDggMi42NDAzMiAxMi41MjY0IDIuNTM5MDEgMTIuNTY4NUMyLjQzNzY5IDEyLjYxMDYgMi4zNDU2OCAxMi42NzIzIDIuMjY4MjUgMTIuNzVDMi4xOTA1MiAxMi44Mjc0IDIuMTI4ODQgMTIuOTE5NCAyLjA4Njc2IDEzLjAyMDhDMi4wNDQ2NyAxMy4xMjIxIDIuMDIzMDEgMTMuMjMwNyAyLjAyMzAxIDEzLjM0MDRDMi4wMjMwMSAxMy40NTAxIDIuMDQ0NjcgMTMuNTU4OCAyLjA4Njc2IDEzLjY2MDFDMi4xMjg4NCAxMy43NjE0IDIuMTkwNTIgMTMuODUzNCAyLjI2ODI1IDEzLjkzMDhMNi43MjMyNSAxOC4zODVDNy4xOTMyMSAxOC44NTQxIDcuODMwMDggMTkuMTE3NSA4LjQ5NDA4IDE5LjExNzVDOS4xNTgwOSAxOS4xMTc1IDkuNzk0OTYgMTguODU0MSAxMC4yNjQ5IDE4LjM4NUwyMS43Nzk5IDYuODcyNTFDMjEuODU3NSA2Ljc5NTEgMjEuOTE5MSA2LjcwMzE0IDIxLjk2MTEgNi42MDE5QzIyLjAwMzEgNi41MDA2NSAyMi4wMjQ3IDYuMzkyMTIgMjIuMDI0NyA2LjI4MjUxQzIyLjAyNDcgNi4xNzI4OSAyMi4wMDMxIDYuMDY0MzYgMjEuOTYxMSA1Ljk2MzEyQzIxLjkxOTEgNS44NjE4OCAyMS44NTc1IDUuNzY5OTIgMjEuNzc5OSA1LjY5MjUxQzIxLjcwMjUgNS42MTQ3OCAyMS42MTA1IDUuNTUzMSAyMS41MDkyIDUuNTExMDFDMjEuNDA3OCA1LjQ2ODkzIDIxLjI5OTIgNS40NDcyNyAyMS4xODk1IDUuNDQ3MjdDMjEuMDc5OCA1LjQ0NzI3IDIwLjk3MTIgNS40Njg5MyAyMC44Njk4IDUuNTExMDFDMjAuNzY4NSA1LjU1MzEgMjAuNjc2NSA1LjYxNDc4IDIwLjU5OTEgNS42OTI1MVpcIlxuICAgICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, Input, CUSTOM_ELEMENTS_SCHEMA, } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class DropiChipsComponent {
|
|
6
|
+
value = [];
|
|
7
|
+
type = "default";
|
|
8
|
+
urlImg = "";
|
|
9
|
+
icon = "";
|
|
10
|
+
fontColor = "currentColor";
|
|
11
|
+
showIcon = false;
|
|
12
|
+
isVisible = true;
|
|
13
|
+
styleToApply = {};
|
|
14
|
+
constructor() { }
|
|
15
|
+
ngOnInit() { }
|
|
16
|
+
closeChips() {
|
|
17
|
+
this.isVisible = false;
|
|
18
|
+
}
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DropiChipsComponent, isStandalone: true, selector: "dropi-chips", inputs: { value: "value", type: "type", urlImg: "urlImg", icon: "icon", fontColor: "fontColor", showIcon: "showIcon" }, ngImport: i0, template: "<div class=\"container-chips\" *ngIf=\"isVisible\">\n <div class=\"chips Body-M-Regular\" [ngStyle]=\"styleToApply\">\n <img *ngIf=\"type == 'avatar'\" class=\"img-chips\" [src]=\"urlImg\" alt=\"\" />\n <app-icon class=\"file-icon\" *ngIf=\"type == 'icon' && icon\" [name]=\"icon\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n <span class=\"chip-text\"><ng-content></ng-content></span>\n <app-icon (click)=\"closeChips()\" class=\"close-icon\" *ngIf=\"showIcon\" name=\"Cross-circle\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n </div>\n</div>", styles: [".chips{padding:var(--Size-1) var(--Size-2);width:max-content;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--Gray-Gray-50);border-radius:var(--Border-2);border-style:solid;border-width:1px;border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-600);white-space:nowrap;overflow:hidden;max-width:100%}.container-chips{width:100%;display:flex}.container-chips app-icon{display:flex}.file-icon{margin-right:4px}.close-icon{margin-left:4px;cursor:pointer}.chips>p{margin:0}.img-chips{margin-right:4px;max-width:20px}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropiChipsComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: "dropi-chips", standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"container-chips\" *ngIf=\"isVisible\">\n <div class=\"chips Body-M-Regular\" [ngStyle]=\"styleToApply\">\n <img *ngIf=\"type == 'avatar'\" class=\"img-chips\" [src]=\"urlImg\" alt=\"\" />\n <app-icon class=\"file-icon\" *ngIf=\"type == 'icon' && icon\" [name]=\"icon\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n <span class=\"chip-text\"><ng-content></ng-content></span>\n <app-icon (click)=\"closeChips()\" class=\"close-icon\" *ngIf=\"showIcon\" name=\"Cross-circle\" width=\"16px\" height=\"16px\"\n [color]=\"fontColor\"></app-icon>\n </div>\n</div>", styles: [".chips{padding:var(--Size-1) var(--Size-2);width:max-content;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--Gray-Gray-50);border-radius:var(--Border-2);border-style:solid;border-width:1px;border-color:var(--Gray-Gray-200);color:var(--Gray-Gray-600);white-space:nowrap;overflow:hidden;max-width:100%}.container-chips{width:100%;display:flex}.container-chips app-icon{display:flex}.file-icon{margin-right:4px}.close-icon{margin-left:4px;cursor:pointer}.chips>p{margin:0}.img-chips{margin-right:4px;max-width:20px}.chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}\n"] }]
|
|
25
|
+
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], type: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], urlImg: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], icon: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], fontColor: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], showIcon: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGktY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMtc291cmNlL2Ryb3BpLWNoaXBzL2Ryb3BpLWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzLXNvdXJjZS9kcm9waS1jaGlwcy9kcm9waS1jaGlwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxzQkFBc0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVL0MsTUFBTSxPQUFPLG1CQUFtQjtJQUNkLEtBQUssR0FBVSxFQUFFLENBQUM7SUFDbEIsSUFBSSxHQUFrQyxTQUFTLENBQUM7SUFDaEQsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLFNBQVMsR0FBVyxjQUFjLENBQUM7SUFDbkMsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVuQyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBQzFCLFlBQVksR0FBUSxFQUFFLENBQUM7SUFFOUIsZ0JBQWUsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQztJQUVaLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO3dHQWpCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiwrTENoQmhDLDBtQkFTTSw2ckJERU0sWUFBWTs7NEZBS1gsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsV0FDZCxDQUFDLHNCQUFzQixDQUFDO3dEQUtqQixLQUFLO3NCQUFwQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRyb3BpLWNoaXBzXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGktY2hpcHMuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2Ryb3BpLWNoaXBzLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9waUNoaXBzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHZhbHVlOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogXCJhdmF0YXJcIiB8IFwiaWNvblwiIHwgXCJkZWZhdWx0XCIgPSBcImRlZmF1bHRcIjtcbiAgQElucHV0KCkgcHVibGljIHVybEltZzogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KCkgcHVibGljIGljb246IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb250Q29sb3I6IHN0cmluZyA9IFwiY3VycmVudENvbG9yXCI7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93SWNvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgc3R5bGVUb0FwcGx5OiBhbnkgPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBjbG9zZUNoaXBzKCk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItY2hpcHNcIiAqbmdJZj1cImlzVmlzaWJsZVwiPlxuICA8ZGl2IGNsYXNzPVwiY2hpcHMgQm9keS1NLVJlZ3VsYXJcIiBbbmdTdHlsZV09XCJzdHlsZVRvQXBwbHlcIj5cbiAgICA8aW1nICpuZ0lmPVwidHlwZSA9PSAnYXZhdGFyJ1wiIGNsYXNzPVwiaW1nLWNoaXBzXCIgW3NyY109XCJ1cmxJbWdcIiBhbHQ9XCJcIiAvPlxuICAgIDxhcHAtaWNvbiBjbGFzcz1cImZpbGUtaWNvblwiICpuZ0lmPVwidHlwZSA9PSAnaWNvbicgJiYgaWNvblwiIFtuYW1lXT1cImljb25cIiB3aWR0aD1cIjE2cHhcIiBoZWlnaHQ9XCIxNnB4XCJcbiAgICAgIFtjb2xvcl09XCJmb250Q29sb3JcIj48L2FwcC1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiY2hpcC10ZXh0XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgICA8YXBwLWljb24gKGNsaWNrKT1cImNsb3NlQ2hpcHMoKVwiIGNsYXNzPVwiY2xvc2UtaWNvblwiICpuZ0lmPVwic2hvd0ljb25cIiBuYW1lPVwiQ3Jvc3MtY2lyY2xlXCIgd2lkdGg9XCIxNnB4XCIgaGVpZ2h0PVwiMTZweFwiXG4gICAgICBbY29sb3JdPVwiZm9udENvbG9yXCI+PC9hcHAtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|