@lucca-front/ng 18.1.4 → 18.1.5
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/esm2022/popover2/content/popover-content/popover-content.component.mjs +2 -2
- package/esm2022/popover2/popover.directive.mjs +11 -13
- package/esm2022/time/time-picker/time-picker.component.mjs +4 -3
- package/fesm2022/lucca-front-ng-popover2.mjs +11 -13
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +3 -2
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/package.json +26 -26
|
@@ -52,7 +52,7 @@ export class PopoverContentComponent {
|
|
|
52
52
|
this.mouseEnter$.complete();
|
|
53
53
|
this.mouseLeave$.complete();
|
|
54
54
|
// Detach overlay
|
|
55
|
-
this.#config.ref.
|
|
55
|
+
this.#config.ref.dispose();
|
|
56
56
|
}
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
58
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: PopoverContentComponent, isStandalone: true, selector: "lu-popover-content", host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()", "window:keydown.escape": "close()" }, properties: { "attr.id": "this.contentId" } }, ngImport: i0, template: "<div class=\"popover\">\n\t<div>\n\t\t<button type=\"button\" luButton class=\"popover-close\" (click)=\"close()\">\n\t\t\t<lu-icon icon=\"signClose\"></lu-icon>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n", styles: ["@charset \"UTF-8\";.button{--components-button-font-size: var(--sizes-M-fontSize);--components-button-line-height: var(--sizes-M-lineHeight);--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-text, var(--palettes-product-text));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--commons-borderRadius-M);line-height:var(--components-button-line-height);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);width:var(--components-button-width);min-width:var(--components-button-minWidth);font-size:var(--components-button-font-size);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;white-space:nowrap;text-align:center;font-weight:600;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-product-200);--components-numericBadge-color: var(--palettes-product-800)}.button:hover{--components-button-color: var(--palettes-text, var(--palettes-product-text));--components-button-backgroundColor: var(--palettes-600, var(--palettes-product-600))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.button:active{--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{background-color:var(--palettes-neutral-200);color:var(--palettes-neutral-500)}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--colors-white-color);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-neutral-400))}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--colors-white-color);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-400);--components-button-color: var(--palettes-neutral-500)}.button.mod-outlined.is-disabled,.button.mod-outlined.disabled,.button.mod-outline.is-disabled,.button.mod-outline.disabled{--components-button-backgroundColor: var(--colors-white-color);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-400);--components-button-color: var(--palettes-neutral-500)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700))}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.button.mod-text.is-disabled,.button.mod-text.disabled,.button.mod-link.is-disabled,.button.mod-link.disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.button.mod-withIcon,.button.mod-icon{--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150)}.button.mod-withIcon.mod-S,.button.mod-icon.mod-S{--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150)}.button.mod-withIcon.mod-XS,.button.mod-icon.mod-XS{--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--colors-white-color)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--colors-white-color);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:before{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;height:0;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.is-loading,.button.loading{--components-button-opacity: var(--commons-disabled-opacity);--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none}.button.is-loading:after,.button.loading:after{content:\"\";width:var(--components-button-font-size);height:var(--components-button-font-size);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";width:var(--sizes-S-fontSize);height:var(--sizes-S-fontSize);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-error,.button.error{--palettes-text: #ffffff;--palettes-50: #ffebec;--palettes-100: #ffd6d8;--palettes-200: #fdbebe;--palettes-300: #faa3a3;--palettes-400: #fa8989;--palettes-500: #f76e6e;--palettes-600: #f15050;--palettes-700: #da2f2f;--palettes-800: #aa0e0e;--palettes-900: #630303;--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-error:after,.button.error:after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button.is-error:after,.button.error:after{--icon-content: \"\\e9bf\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none}.button.is-success,.button.success{--palettes-text: #ffffff;--palettes-50: #dbfae0;--palettes-100: #bef3c7;--palettes-200: #a2ebaf;--palettes-300: #84e695;--palettes-400: #68d97b;--palettes-500: #57c769;--palettes-600: #39b155;--palettes-700: #279b42;--palettes-800: #0a762e;--palettes-900: #004d20;--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none}.button.is-disabled,.button.disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge{background-color:var(--palettes-neutral-200);color:var(--palettes-neutral-500)}.popover{display:block;background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--pr-t-elevation-shadow-overlay);border-radius:var(--commons-borderRadius-L);position:relative;min-height:var(--pr-t-spacings-500);min-width:var(--pr-t-spacings-500);animation:popup var(--commons-animations-durations-fast) ease 1 forwards}.popover .popover-close{--components-button-padding: var(--pr-t-spacings-50)}.popover-contentOptional{padding:var(--pr-t-spacings-100) var(--pr-t-spacings-150)}.popover-close{--components-button-backgroundColor: var(--colors-white-color);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-neutral-400));--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50);--components-button-padding: var(--pr-t-spacings-50);padding:0;border-radius:50%;position:absolute;left:calc(var(--pr-t-spacings-100) * -1);top:calc(var(--pr-t-spacings-100) * -1);z-index:2}.popover-close:hover{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.popover-close:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.popover-close:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.popover-close:disabled{--components-button-backgroundColor: var(--colors-white-color);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-400);--components-button-color: var(--palettes-neutral-500)}.popover-close .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.popover-close:not(:focus-visible){border:0;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;contain:paint}@keyframes popup{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "delete", "palette", "state", "luButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
73
73
|
type: HostListener,
|
|
74
74
|
args: ['window:keydown.escape']
|
|
75
75
|
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL3BvcG92ZXIyL2NvbnRlbnQvcG9wb3Zlci1jb250ZW50L3BvcG92ZXItY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9wb3BvdmVyMi9jb250ZW50L3BvcG92ZXItY29udGVudC9wb3BvdmVyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFZL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVZwQztRQVdDLFNBQUksR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUV6QyxnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFFMUQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBR2hDLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUVuQyxZQUFPLEdBQXlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBRXJELGtCQUFhLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxHLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU9sQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FrQ2xDO0lBeERBLFdBQVcsQ0FBK0M7SUFFMUQsT0FBTyxDQUEwQjtJQVNqQyxhQUFhLENBQXFGO0lBT2xHLFVBQVU7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFLRCxVQUFVO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZTtRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUM1QyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN4RCxDQUFDO0lBQ0YsQ0FBQztJQUVELFNBQVM7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMxQyxDQUFDO0lBQ0YsQ0FBQztJQUdELEtBQUs7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQzVDLGdDQUFnQztZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0Qsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBMURXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG9QQ3BCcEMsNlRBVUEsa3ZlREdXLGdCQUFnQixvSkFBRSxlQUFlLDhJQUFFLGFBQWE7OzJGQU85Qyx1QkFBdUI7a0JBVm5DLFNBQVM7K0JBQ0Msb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsaUJBSTVDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBWS9DLFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxTQUFTO2dCQVl0QixVQUFVO3NCQURULFlBQVk7dUJBQUMsWUFBWTtnQkFRMUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFlBQVk7Z0JBbUIxQixLQUFLO3NCQURKLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2ljb24nO1xuaW1wb3J0IHsgUG9wb3ZlckZvY3VzVHJhcCB9IGZyb20gJy4uLy4uL3BvcG92ZXItZm9jdXMtdHJhcCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQT1BPVkVSX0NPTkZJRyB9IGZyb20gJy4uLy4uL3BvcG92ZXItdG9rZW5zJztcbmltcG9ydCB7IExVX1BPUE9WRVIyX1RSQU5TTEFUSU9OUyB9IGZyb20gJy4uLy4uL3BvcG92ZXIudHJhbnNsYXRlJztcbmltcG9ydCB7IGdldEludGwgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2x1LXBvcG92ZXItY29udGVudCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBCdXR0b25Db21wb25lbnQsIEljb25Db21wb25lbnRdLFxuXHR0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL3BvcG92ZXItY29udGVudC5jb21wb25lbnQuc2NzcycsXG5cblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdGludGwgPSBnZXRJbnRsKExVX1BPUE9WRVIyX1RSQU5TTEFUSU9OUyk7XG5cblx0I2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG5cdCNjb25maWcgPSBpbmplY3QoUE9QT1ZFUl9DT05GSUcpO1xuXG5cdGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcblx0Y29udGVudElkID0gdGhpcy4jY29uZmlnLmNvbnRlbnRJZDtcblxuXHRjb250ZW50OiBUZW1wbGF0ZVJlZjx1bmtub3duPiA9IHRoaXMuI2NvbmZpZy5jb250ZW50O1xuXG5cdCNmb2N1c01hbmFnZXIgPSBuZXcgUG9wb3ZlckZvY3VzVHJhcCh0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuI2NvbmZpZy50cmlnZ2VyRWxlbWVudCk7XG5cblx0Y2xvc2VkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0bW91c2VFbnRlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuXHRtb3VzZUVudGVyKCk6IHZvaWQge1xuXHRcdHRoaXMubW91c2VFbnRlciQubmV4dCgpO1xuXHR9XG5cblx0bW91c2VMZWF2ZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuXHRtb3VzZUxlYXZlKCk6IHZvaWQge1xuXHRcdHRoaXMubW91c2VMZWF2ZSQubmV4dCgpO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuI2ZvY3VzTWFuYWdlci5hdHRhY2hBbmNob3JzKCk7XG5cdFx0aWYgKCF0aGlzLiNjb25maWcuZGlzYWJsZUZvY3VzTWFuaXB1bGF0aW9uKSB7XG5cdFx0XHR2b2lkIHRoaXMuI2ZvY3VzTWFuYWdlci5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KCk7XG5cdFx0fVxuXHR9XG5cblx0Z3JhYkZvY3VzKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy4jY29uZmlnLmRpc2FibGVGb2N1c01hbmlwdWxhdGlvbikge1xuXHRcdFx0dGhpcy4jZm9jdXNNYW5hZ2VyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bi5lc2NhcGUnKVxuXHRjbG9zZSgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuI2NvbmZpZy5kaXNhYmxlRm9jdXNNYW5pcHVsYXRpb24pIHtcblx0XHRcdC8vIEZvY3VzIGluaXRpYWwgdHJpZ2dlciBlbGVtZW50XG5cdFx0XHR0aGlzLiNjb25maWcudHJpZ2dlckVsZW1lbnQuZm9jdXMoKTtcblx0XHR9XG5cdFx0Ly8gVGVsbCB0aGUgZGlyZWN0aXZlIHdlJ3JlIGNsb3NlZCBub3dcblx0XHR0aGlzLmNsb3NlZCQubmV4dCgpO1xuXHRcdHRoaXMuY2xvc2VkJC5jb21wbGV0ZSgpO1xuXHRcdHRoaXMubW91c2VFbnRlciQuY29tcGxldGUoKTtcblx0XHR0aGlzLm1vdXNlTGVhdmUkLmNvbXBsZXRlKCk7XG5cdFx0Ly8gRGV0YWNoIG92ZXJsYXlcblx0XHR0aGlzLiNjb25maWcucmVmLmRpc3Bvc2UoKTtcblx0fVxufVxuIiwiPGRpdiBjbGFzcz1cInBvcG92ZXJcIj5cblx0PGRpdj5cblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBsdUJ1dHRvbiBjbGFzcz1cInBvcG92ZXItY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuXHRcdFx0PGx1LWljb24gaWNvbj1cInNpZ25DbG9zZVwiPjwvbHUtaWNvbj5cblx0XHRcdDxzcGFuIGNsYXNzPVwidS1tYXNrXCI+e3sgaW50bC5jbG9zZSB9fTwvc3Bhbj5cblx0XHQ8L2J1dHRvbj5cblx0PC9kaXY+XG5cblx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -82,18 +82,16 @@ export class PopoverDirective {
|
|
|
82
82
|
openPopover(disableFocusHandler = false) {
|
|
83
83
|
if (!this.opened() && !this.luPopoverDisabled) {
|
|
84
84
|
this.opened.set(true);
|
|
85
|
-
this.#overlayRef =
|
|
86
|
-
this.#
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
disposeOnNavigation: true,
|
|
96
|
-
});
|
|
85
|
+
this.#overlayRef = this.#overlay.create({
|
|
86
|
+
positionStrategy: this.#overlay
|
|
87
|
+
.position()
|
|
88
|
+
.flexibleConnectedTo(this.#elementRef)
|
|
89
|
+
.withPositions(this.customPositions || this.#buildPositions()),
|
|
90
|
+
scrollStrategy: this.#overlay.scrollStrategies.reposition(),
|
|
91
|
+
hasBackdrop: this.luPopoverTrigger() === 'click',
|
|
92
|
+
backdropClass: '',
|
|
93
|
+
disposeOnNavigation: true,
|
|
94
|
+
});
|
|
97
95
|
// Close on backdrop click even if backdrop is invisible
|
|
98
96
|
this.#overlayRef
|
|
99
97
|
.backdropClick()
|
|
@@ -180,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
180
178
|
type: HostListener,
|
|
181
179
|
args: ['keydown.Tab', ['$event']]
|
|
182
180
|
}] } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9wb3BvdmVyMi9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFlLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25NLE9BQU8sRUFBcUIsc0JBQXNCLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUk5RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZixNQUFNLG9CQUFvQixHQUFvRDtJQUM3RSxLQUFLLEVBQUUsSUFBSSxzQkFBc0IsQ0FDaEMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFDckM7UUFDQyxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtLQUNsQixDQUNEO0lBQ0QsS0FBSyxFQUFFLElBQUksc0JBQXNCLENBQ2hDLEVBQUUsT0FBTyxFQUFFLFFB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QXR0cmlidXRlLCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5qZWN0b3IsIGlucHV0LCBJbnB1dCwgSW5wdXRTaWduYWwsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC9wb3BvdmVyLWNvbnRlbnQvcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQT1BPVkVSX0NPTkZJRywgUG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci10b2tlbnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGVib3VuY2UsIGZpbHRlciwgbWFwLCBtZXJnZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmV4cG9ydCB0eXBlIFBvcG92ZXJQb3NpdGlvbiA9ICdhYm92ZScgfCAnYmVsb3cnIHwgJ2JlZm9yZScgfCAnYWZ0ZXInO1xuXG5sZXQgbmV4dElkID0gMDtcblxuY29uc3QgZGVmYXVsdFBvc2l0aW9uUGFpcnM6IFJlY29yZDxQb3BvdmVyUG9zaXRpb24sIENvbm5lY3Rpb25Qb3NpdGlvblBhaXI+ID0ge1xuXHRhYm92ZTogbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG5cdFx0eyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcgfSxcblx0XHR7XG5cdFx0XHRvdmVybGF5WDogJ2NlbnRlcicsXG5cdFx0XHRvdmVybGF5WTogJ2JvdHRvbScsXG5cdFx0fSxcblx0KSxcblx0YmVsb3c6IG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuXHRcdHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nIH0sXG5cdFx0e1xuXHRcdFx0b3ZlcmxheVg6ICdjZW50ZXInLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH0sXG5cdCksXG5cdGJlZm9yZTogbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG5cdFx0eyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJyB9LFxuXHRcdHtcblx0XHRcdG92ZXJsYXlYOiAnZW5kJyxcblx0XHRcdG92ZXJsYXlZOiAnY2VudGVyJyxcblx0XHR9LFxuXHQpLFxuXHRhZnRlcjogbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG5cdFx0eyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicgfSxcblx0XHR7XG5cdFx0XHRvdmVybGF5WDogJ3N0YXJ0Jyxcblx0XHRcdG92ZXJsYXlZOiAnY2VudGVyJyxcblx0XHR9LFxuXHQpLFxufTtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2x1UG9wb3ZlcjJdJyxcblx0aG9zdDoge1xuXHRcdCdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdvcGVuZWQoKScsXG5cdH0sXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJEaXJlY3RpdmUge1xuXHQjb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcblxuXHQjZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0I3ZjciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuXHQjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHRASW5wdXQoe1xuXHRcdGFsaWFzOiAnbHVQb3BvdmVyMicsXG5cdH0pXG5cdGNvbnRlbnQ6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdGx1UG9wb3ZlclBvc2l0aW9uOiBQb3BvdmVyUG9zaXRpb24gPSAnYWJvdmUnO1xuXG5cdEBJbnB1dCh7XG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KVxuXHRsdVBvcG92ZXJEaXNhYmxlZCA9IGZhbHNlO1xuXG5cdGx1UG9wb3ZlclRyaWdnZXIgPSBpbnB1dDwnY2xpY2snIHwgJ2NsaWNrK2hvdmVyJz4oJ2NsaWNrJyk7XG5cblx0QElucHV0KClcblx0Y3VzdG9tUG9zaXRpb25zPzogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdO1xuXG5cdC8vIFdlIGhhdmUgdG8gdHlwZSB0aGVzZSB0d28gZm9yIENvbXBvZG9jIHRvIGZpbmQgdGhlIHJpZ2h0IHR5cGUgYW5kIHRlbGwgU3Rvcnlib29rIHRoZXNlIGFyZW4ndCBzdHJpbmdzXG5cdGx1UG9wb3Zlck9wZW5EZWxheTogSW5wdXRTaWduYWw8bnVtYmVyPiA9IGlucHV0PG51bWJlcj4oMzAwKTtcblxuXHRsdVBvcG92ZXJDbG9zZURlbGF5OiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPigxMDApO1xuXG5cdG9wZW4kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdCNvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG5cdCNjb21wb25lbnRSZWY/OiBQb3BvdmVyQ29udGVudENvbXBvbmVudDtcblxuXHRwb3NpdGlvblBhaXJzOiBSZWNvcmQ8UG9wb3ZlclBvc2l0aW9uLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyPiA9IGRlZmF1bHRQb3NpdGlvblBhaXJzO1xuXG5cdG9wZW5lZCA9IHNpZ25hbChmYWxzZSk7XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxuXHRhcmlhQ29udHJvbHMgPSBgcG9wb3Zlci1jb250ZW50LSR7bmV4dElkKyt9YDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5sdVBvcG92ZXJPcGVuRGVsYXkpLCB0b09ic2VydmFibGUodGhpcy5sdVBvcG92ZXJDbG9zZURlbGF5KSwgdG9PYnNlcnZhYmxlKHRoaXMubHVQb3BvdmVyVHJpZ2dlcildKVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdGZpbHRlcigoWywgLCB0cmlnZ2VyXSkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiB0cmlnZ2VyLmluY2x1ZGVzKCdob3ZlcicpO1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0c3dpdGNoTWFwKChbb3BlbkRlbGF5LCBjbG9zZURlbGF5XSkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBtZXJnZSh0aGlzLm9wZW4kLnBpcGUobWFwKCgpID0+ICdvcGVuJykpLCB0aGlzLmNsb3NlJC5waXBlKG1hcCgoKSA9PiAnY2xvc2UnKSkpLnBpcGUoXG5cdFx0XHRcdFx0XHRkZWJvdW5jZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRpbWVyKGV2ZW50ID09PSAnb3BlbicgPyBvcGVuRGVsYXkgOiBjbG9zZURlbGF5KTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQgPT09ICdvcGVuJykge1xuXHRcdFx0XHRcdHRoaXMub3BlblBvcG92ZXIodHJ1ZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy4jY29tcG9uZW50UmVmPy5jbG9zZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuXHRvbk1vdXNlRW50ZXIoKSB7XG5cdFx0dGhpcy5vcGVuJC5uZXh0KCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcblx0b25Nb3VzZUxlYXZlKCkge1xuXHRcdHRoaXMuY2xvc2UkLm5leHQoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcblx0Y2xpY2soKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3BlbmVkKCkpIHtcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZj8uY2xvc2UoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vcGVuUG9wb3ZlcigpO1xuXHRcdH1cblx0fVxuXG5cdG9wZW5Qb3BvdmVyKGRpc2FibGVGb2N1c0hhbmRsZXIgPSBmYWxzZSk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5vcGVuZWQoKSAmJiAhdGhpcy5sdVBvcG92ZXJEaXNhYmxlZCkge1xuXHRcdFx0dGhpcy5vcGVuZWQuc2V0KHRydWUpO1xuXHRcdFx0dGhpcy4jb3ZlcmxheVJlZiA9XG5cdFx0XHRcdHRoaXMuI292ZXJsYXlSZWYgfHxcblx0XHRcdFx0dGhpcy4jb3ZlcmxheS5jcmVhdGUoe1xuXHRcdFx0XHRcdHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuI292ZXJsYXlcblx0XHRcdFx0XHRcdC5wb3NpdGlvbigpXG5cdFx0XHRcdFx0XHQuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLiNlbGVtZW50UmVmKVxuXHRcdFx0XHRcdFx0LndpdGhQb3NpdGlvbnModGhpcy5jdXN0b21Qb3NpdGlvbnMgfHwgdGhpcy4jYnVpbGRQb3NpdGlvbnMoKSksXG5cdFx0XHRcdFx0c2Nyb2xsU3RyYXRlZ3k6IHRoaXMuI292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG5cdFx0XHRcdFx0aGFzQmFja2Ryb3A6IHRoaXMubHVQb3BvdmVyVHJpZ2dlcigpID09PSAnY2xpY2snLFxuXHRcdFx0XHRcdGJhY2tkcm9wQ2xhc3M6ICcnLFxuXHRcdFx0XHRcdGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG5cdFx0XHRcdH0pO1xuXHRcdFx0Ly8gQ2xvc2Ugb24gYmFja2Ryb3AgY2xpY2sgZXZlbiBpZiBiYWNrZHJvcCBpcyBpbnZpc2libGVcblx0XHRcdHRoaXMuI292ZXJsYXlSZWZcblx0XHRcdFx0LmJhY2tkcm9wQ2xpY2soKVxuXHRcdFx0XHQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpXG5cdFx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jY29tcG9uZW50UmVmLmNsb3NlKCkpO1xuXHRcdFx0Y29uc3QgY29uZmlnOiBQb3BvdmVyQ29uZmlnID0ge1xuXHRcdFx0XHRjb250ZW50OiB0aGlzLmNvbnRlbnQsXG5cdFx0XHRcdHJlZjogdGhpcy4jb3ZlcmxheVJlZixcblx0XHRcdFx0Y29udGVudElkOiB0aGlzLmFyaWFDb250cm9scyxcblx0XHRcdFx0dHJpZ2dlckVsZW1lbnQ6IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0ZGlzYWJsZUZvY3VzTWFuaXB1bGF0aW9uOiBkaXNhYmxlRm9jdXNIYW5kbGVyLFxuXHRcdFx0fTtcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZiA9IHRoaXMuI292ZXJsYXlSZWYuYXR0YWNoKFxuXHRcdFx0XHRuZXcgQ29tcG9uZW50UG9ydGFsKFxuXHRcdFx0XHRcdFBvcG92ZXJDb250ZW50Q29tcG9uZW50LFxuXHRcdFx0XHRcdHRoaXMuI3Zjcixcblx0XHRcdFx0XHRJbmplY3Rvci5jcmVhdGUoe1xuXHRcdFx0XHRcdFx0cHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQT1BPVkVSX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9XSxcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0KSxcblx0XHRcdCkuaW5zdGFuY2U7XG5cdFx0XHQvLyBPbiB0b29sdGlwIGxlYXZlID0+IHRyaWdnZXIgY2xvc2Vcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZi5tb3VzZUxlYXZlJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNjb21wb25lbnRSZWYuZGVzdHJveVJlZiksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UkLm5leHQoKSk7XG5cdFx0XHQvLyBPbiB0b29sdGlwIGVudGVyID0+IHRyaWdnZXIgb3BlbiB0byBrZWVwIGl0IG9wZW5lZFxuXHRcdFx0dGhpcy4jY29tcG9uZW50UmVmLm1vdXNlRW50ZXIkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2NvbXBvbmVudFJlZi5kZXN0cm95UmVmKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuJC5uZXh0KCkpO1xuXHRcdFx0dGhpcy4jY29tcG9uZW50UmVmLmNsb3NlZCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jY29tcG9uZW50UmVmLmRlc3Ryb3lSZWYpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9wZW5lZC5zZXQoZmFsc2UpKTtcblx0XHR9XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duLlRhYicsIFsnJGV2ZW50J10pXG5cdGZvY3VzQmFja1RvQ29udGVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLm9wZW5lZCgpKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0dGhpcy4jY29tcG9uZW50UmVmLmdyYWJGb2N1cygpO1xuXHRcdH1cblx0fVxuXG5cdCNidWlsZFBvc2l0aW9ucygpOiBDb25uZWN0ZWRQb3NpdGlvbltdIHtcblx0XHRjb25zdCBvcHBvc2l0ZTogUmVjb3JkPFBvcG92ZXJQb3NpdGlvbiwgUG9wb3ZlclBvc2l0aW9uPiA9IHtcblx0XHRcdGJlZm9yZTogJ2FmdGVyJyxcblx0XHRcdGFmdGVyOiAnYmVmb3JlJyxcblx0XHRcdGFib3ZlOiAnYmVsb3cnLFxuXHRcdFx0YmVsb3c6ICdhYm92ZScsXG5cdFx0fTtcblx0XHQvLyBPbmNlIHdlIGhhdmUgb3Bwb3NpdGUsIHdoYXQncyByZW1haW5pbmc/XG5cdFx0Y29uc3QgcmVtYWluaW5nOiBSZWNvcmQ8UG9wb3ZlclBvc2l0aW9uLCBQb3BvdmVyUG9zaXRpb25bXT4gPSB7XG5cdFx0XHRiZWZvcmU6IFsnYWJvdmUnLCAnYmVsb3cnXSxcblx0XHRcdGFmdGVyOiBbJ2Fib3ZlJywgJ2JlbG93J10sXG5cdFx0XHRhYm92ZTogWydiZWZvcmUnLCAnYWZ0ZXInXSxcblx0XHRcdGJlbG93OiBbJ2JlZm9yZScsICdhZnRlciddLFxuXHRcdH07XG5cdFx0cmV0dXJuIFt0aGlzLnBvc2l0aW9uUGFpcnNbdGhpcy5sdVBvcG92ZXJQb3NpdGlvbl0sIHRoaXMucG9zaXRpb25QYWlyc1tvcHBvc2l0ZVt0aGlzLmx1UG9wb3ZlclBvc2l0aW9uXV0sIC4uLnJlbWFpbmluZ1t0aGlzLmx1UG9wb3ZlclBvc2l0aW9uXS5tYXAoKHIpID0+IHRoaXMucG9zaXRpb25QYWlyc1tyXSldO1xuXHR9XG59XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9wb3BvdmVyMi9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWUsTUFBTSxFQUFlLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25NLE9BQU8sRUFBcUIsc0JBQXNCLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUk5RSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZixNQUFNLG9CQUFvQixHQUFvRDtJQUM3RSxLQUFLLEVBQUUsSUFBSSxzQkFBc0IsQ0FDaEMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFDckM7UUFDQyxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtLQUNsQixDQUNEO0lBQ0QsS0FBSyxFQUFFLElBQUksc0JBQXNCLENBQ2hDLEVBQUUsT0FBTyxFQUFFLFFB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aXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5qZWN0b3IsIGlucHV0LCBJbnB1dCwgSW5wdXRTaWduYWwsIHNpZ25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQb3BvdmVyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC9wb3BvdmVyLWNvbnRlbnQvcG9wb3Zlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQT1BPVkVSX0NPTkZJRywgUG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci10b2tlbnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZGVib3VuY2UsIGZpbHRlciwgbWFwLCBtZXJnZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmV4cG9ydCB0eXBlIFBvcG92ZXJQb3NpdGlvbiA9ICdhYm92ZScgfCAnYmVsb3cnIHwgJ2JlZm9yZScgfCAnYWZ0ZXInO1xuXG5sZXQgbmV4dElkID0gMDtcblxuY29uc3QgZGVmYXVsdFBvc2l0aW9uUGFpcnM6IFJlY29yZDxQb3BvdmVyUG9zaXRpb24sIENvbm5lY3Rpb25Qb3NpdGlvblBhaXI+ID0ge1xuXHRhYm92ZTogbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG5cdFx0eyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcgfSxcblx0XHR7XG5cdFx0XHRvdmVybGF5WDogJ2NlbnRlcicsXG5cdFx0XHRvdmVybGF5WTogJ2JvdHRvbScsXG5cdFx0fSxcblx0KSxcblx0YmVsb3c6IG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuXHRcdHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nIH0sXG5cdFx0e1xuXHRcdFx0b3ZlcmxheVg6ICdjZW50ZXInLFxuXHRcdFx0b3ZlcmxheVk6ICd0b3AnLFxuXHRcdH0sXG5cdCksXG5cdGJlZm9yZTogbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG5cdFx0eyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJyB9LFxuXHRcdHtcblx0XHRcdG92ZXJsYXlYOiAnZW5kJyxcblx0XHRcdG92ZXJsYXlZOiAnY2VudGVyJyxcblx0XHR9LFxuXHQpLFxuXHRhZnRlcjogbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG5cdFx0eyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicgfSxcblx0XHR7XG5cdFx0XHRvdmVybGF5WDogJ3N0YXJ0Jyxcblx0XHRcdG92ZXJsYXlZOiAnY2VudGVyJyxcblx0XHR9LFxuXHQpLFxufTtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2x1UG9wb3ZlcjJdJyxcblx0aG9zdDoge1xuXHRcdCdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdvcGVuZWQoKScsXG5cdH0sXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJEaXJlY3RpdmUge1xuXHQjb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcblxuXHQjZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0I3ZjciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuXHQjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXHRASW5wdXQoe1xuXHRcdGFsaWFzOiAnbHVQb3BvdmVyMicsXG5cdH0pXG5cdGNvbnRlbnQ6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdGx1UG9wb3ZlclBvc2l0aW9uOiBQb3BvdmVyUG9zaXRpb24gPSAnYWJvdmUnO1xuXG5cdEBJbnB1dCh7XG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KVxuXHRsdVBvcG92ZXJEaXNhYmxlZCA9IGZhbHNlO1xuXG5cdGx1UG9wb3ZlclRyaWdnZXIgPSBpbnB1dDwnY2xpY2snIHwgJ2NsaWNrK2hvdmVyJz4oJ2NsaWNrJyk7XG5cblx0QElucHV0KClcblx0Y3VzdG9tUG9zaXRpb25zPzogQ29ubmVjdGlvblBvc2l0aW9uUGFpcltdO1xuXG5cdC8vIFdlIGhhdmUgdG8gdHlwZSB0aGVzZSB0d28gZm9yIENvbXBvZG9jIHRvIGZpbmQgdGhlIHJpZ2h0IHR5cGUgYW5kIHRlbGwgU3Rvcnlib29rIHRoZXNlIGFyZW4ndCBzdHJpbmdzXG5cdGx1UG9wb3Zlck9wZW5EZWxheTogSW5wdXRTaWduYWw8bnVtYmVyPiA9IGlucHV0PG51bWJlcj4oMzAwKTtcblxuXHRsdVBvcG92ZXJDbG9zZURlbGF5OiBJbnB1dFNpZ25hbDxudW1iZXI+ID0gaW5wdXQ8bnVtYmVyPigxMDApO1xuXG5cdG9wZW4kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRjbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdCNvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG5cdCNjb21wb25lbnRSZWY/OiBQb3BvdmVyQ29udGVudENvbXBvbmVudDtcblxuXHRwb3NpdGlvblBhaXJzOiBSZWNvcmQ8UG9wb3ZlclBvc2l0aW9uLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyPiA9IGRlZmF1bHRQb3NpdGlvblBhaXJzO1xuXG5cdG9wZW5lZCA9IHNpZ25hbChmYWxzZSk7XG5cblx0QEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxuXHRhcmlhQ29udHJvbHMgPSBgcG9wb3Zlci1jb250ZW50LSR7bmV4dElkKyt9YDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5sdVBvcG92ZXJPcGVuRGVsYXkpLCB0b09ic2VydmFibGUodGhpcy5sdVBvcG92ZXJDbG9zZURlbGF5KSwgdG9PYnNlcnZhYmxlKHRoaXMubHVQb3BvdmVyVHJpZ2dlcildKVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdGZpbHRlcigoWywgLCB0cmlnZ2VyXSkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiB0cmlnZ2VyLmluY2x1ZGVzKCdob3ZlcicpO1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0c3dpdGNoTWFwKChbb3BlbkRlbGF5LCBjbG9zZURlbGF5XSkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBtZXJnZSh0aGlzLm9wZW4kLnBpcGUobWFwKCgpID0+ICdvcGVuJykpLCB0aGlzLmNsb3NlJC5waXBlKG1hcCgoKSA9PiAnY2xvc2UnKSkpLnBpcGUoXG5cdFx0XHRcdFx0XHRkZWJvdW5jZSgoZXZlbnQpID0+IHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRpbWVyKGV2ZW50ID09PSAnb3BlbicgPyBvcGVuRGVsYXkgOiBjbG9zZURlbGF5KTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHR0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQgPT09ICdvcGVuJykge1xuXHRcdFx0XHRcdHRoaXMub3BlblBvcG92ZXIodHJ1ZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy4jY29tcG9uZW50UmVmPy5jbG9zZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuXHRvbk1vdXNlRW50ZXIoKSB7XG5cdFx0dGhpcy5vcGVuJC5uZXh0KCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcblx0b25Nb3VzZUxlYXZlKCkge1xuXHRcdHRoaXMuY2xvc2UkLm5leHQoKTtcblx0fVxuXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcblx0Y2xpY2soKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMub3BlbmVkKCkpIHtcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZj8uY2xvc2UoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vcGVuUG9wb3ZlcigpO1xuXHRcdH1cblx0fVxuXG5cdG9wZW5Qb3BvdmVyKGRpc2FibGVGb2N1c0hhbmRsZXIgPSBmYWxzZSk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5vcGVuZWQoKSAmJiAhdGhpcy5sdVBvcG92ZXJEaXNhYmxlZCkge1xuXHRcdFx0dGhpcy5vcGVuZWQuc2V0KHRydWUpO1xuXHRcdFx0dGhpcy4jb3ZlcmxheVJlZiA9IHRoaXMuI292ZXJsYXkuY3JlYXRlKHtcblx0XHRcdFx0cG9zaXRpb25TdHJhdGVneTogdGhpcy4jb3ZlcmxheVxuXHRcdFx0XHRcdC5wb3NpdGlvbigpXG5cdFx0XHRcdFx0LmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy4jZWxlbWVudFJlZilcblx0XHRcdFx0XHQud2l0aFBvc2l0aW9ucyh0aGlzLmN1c3RvbVBvc2l0aW9ucyB8fCB0aGlzLiNidWlsZFBvc2l0aW9ucygpKSxcblx0XHRcdFx0c2Nyb2xsU3RyYXRlZ3k6IHRoaXMuI292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG5cdFx0XHRcdGhhc0JhY2tkcm9wOiB0aGlzLmx1UG9wb3ZlclRyaWdnZXIoKSA9PT0gJ2NsaWNrJyxcblx0XHRcdFx0YmFja2Ryb3BDbGFzczogJycsXG5cdFx0XHRcdGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG5cdFx0XHR9KTtcblx0XHRcdC8vIENsb3NlIG9uIGJhY2tkcm9wIGNsaWNrIGV2ZW4gaWYgYmFja2Ryb3AgaXMgaW52aXNpYmxlXG5cdFx0XHR0aGlzLiNvdmVybGF5UmVmXG5cdFx0XHRcdC5iYWNrZHJvcENsaWNrKClcblx0XHRcdFx0LnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKVxuXHRcdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuI2NvbXBvbmVudFJlZi5jbG9zZSgpKTtcblx0XHRcdGNvbnN0IGNvbmZpZzogUG9wb3ZlckNvbmZpZyA9IHtcblx0XHRcdFx0Y29udGVudDogdGhpcy5jb250ZW50LFxuXHRcdFx0XHRyZWY6IHRoaXMuI292ZXJsYXlSZWYsXG5cdFx0XHRcdGNvbnRlbnRJZDogdGhpcy5hcmlhQ29udHJvbHMsXG5cdFx0XHRcdHRyaWdnZXJFbGVtZW50OiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdGRpc2FibGVGb2N1c01hbmlwdWxhdGlvbjogZGlzYWJsZUZvY3VzSGFuZGxlcixcblx0XHRcdH07XG5cdFx0XHR0aGlzLiNjb21wb25lbnRSZWYgPSB0aGlzLiNvdmVybGF5UmVmLmF0dGFjaChcblx0XHRcdFx0bmV3IENvbXBvbmVudFBvcnRhbChcblx0XHRcdFx0XHRQb3BvdmVyQ29udGVudENvbXBvbmVudCxcblx0XHRcdFx0XHR0aGlzLiN2Y3IsXG5cdFx0XHRcdFx0SW5qZWN0b3IuY3JlYXRlKHtcblx0XHRcdFx0XHRcdHByb3ZpZGVyczogW3sgcHJvdmlkZTogUE9QT1ZFUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfV0sXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCksXG5cdFx0XHQpLmluc3RhbmNlO1xuXHRcdFx0Ly8gT24gdG9vbHRpcCBsZWF2ZSA9PiB0cmlnZ2VyIGNsb3NlXG5cdFx0XHR0aGlzLiNjb21wb25lbnRSZWYubW91c2VMZWF2ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jY29tcG9uZW50UmVmLmRlc3Ryb3lSZWYpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlJC5uZXh0KCkpO1xuXHRcdFx0Ly8gT24gdG9vbHRpcCBlbnRlciA9PiB0cmlnZ2VyIG9wZW4gdG8ga2VlcCBpdCBvcGVuZWRcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZi5tb3VzZUVudGVyJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNjb21wb25lbnRSZWYuZGVzdHJveVJlZiksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub3BlbiQubmV4dCgpKTtcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZi5jbG9zZWQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2NvbXBvbmVudFJlZi5kZXN0cm95UmVmKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuZWQuc2V0KGZhbHNlKSk7XG5cdFx0fVxuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bi5UYWInLCBbJyRldmVudCddKVxuXHRmb2N1c0JhY2tUb0NvbnRlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5vcGVuZWQoKSkge1xuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMuI2NvbXBvbmVudFJlZi5ncmFiRm9jdXMoKTtcblx0XHR9XG5cdH1cblxuXHQjYnVpbGRQb3NpdGlvbnMoKTogQ29ubmVjdGVkUG9zaXRpb25bXSB7XG5cdFx0Y29uc3Qgb3Bwb3NpdGU6IFJlY29yZDxQb3BvdmVyUG9zaXRpb24sIFBvcG92ZXJQb3NpdGlvbj4gPSB7XG5cdFx0XHRiZWZvcmU6ICdhZnRlcicsXG5cdFx0XHRhZnRlcjogJ2JlZm9yZScsXG5cdFx0XHRhYm92ZTogJ2JlbG93Jyxcblx0XHRcdGJlbG93OiAnYWJvdmUnLFxuXHRcdH07XG5cdFx0Ly8gT25jZSB3ZSBoYXZlIG9wcG9zaXRlLCB3aGF0J3MgcmVtYWluaW5nP1xuXHRcdGNvbnN0IHJlbWFpbmluZzogUmVjb3JkPFBvcG92ZXJQb3NpdGlvbiwgUG9wb3ZlclBvc2l0aW9uW10+ID0ge1xuXHRcdFx0YmVmb3JlOiBbJ2Fib3ZlJywgJ2JlbG93J10sXG5cdFx0XHRhZnRlcjogWydhYm92ZScsICdiZWxvdyddLFxuXHRcdFx0YWJvdmU6IFsnYmVmb3JlJywgJ2FmdGVyJ10sXG5cdFx0XHRiZWxvdzogWydiZWZvcmUnLCAnYWZ0ZXInXSxcblx0XHR9O1xuXHRcdHJldHVybiBbdGhpcy5wb3NpdGlvblBhaXJzW3RoaXMubHVQb3BvdmVyUG9zaXRpb25dLCB0aGlzLnBvc2l0aW9uUGFpcnNbb3Bwb3NpdGVbdGhpcy5sdVBvcG92ZXJQb3NpdGlvbl1dLCAuLi5yZW1haW5pbmdbdGhpcy5sdVBvcG92ZXJQb3NpdGlvbl0ubWFwKChyKSA9PiB0aGlzLnBvc2l0aW9uUGFpcnNbcl0pXTtcblx0fVxufVxuIl19
|
|
@@ -11,12 +11,13 @@ import { TimePickerPartComponent } from '../core/time-picker-part.component';
|
|
|
11
11
|
import { DEFAULT_MIN_TIME, DEFAULT_TIME_DECIMAL_PIPE_FORMAT } from './time-picker.model';
|
|
12
12
|
import { LU_TIME_PICKER_TRANSLATIONS } from './time-picker.translate';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
|
+
const MAX_TIME = '23:59:59';
|
|
14
15
|
export class TimePickerComponent extends BasePickerComponent {
|
|
15
16
|
constructor() {
|
|
16
17
|
super(...arguments);
|
|
17
18
|
this.intl = getIntl(LU_TIME_PICKER_TRANSLATIONS);
|
|
18
19
|
this.value = model('--:--:--');
|
|
19
|
-
this.max = input(
|
|
20
|
+
this.max = input(MAX_TIME);
|
|
20
21
|
this.displayArrows = input(false, { transform: booleanAttribute });
|
|
21
22
|
this.timeChange = output();
|
|
22
23
|
this.hoursDisplay = computed(() => getHoursDisplayPartFromIsoTime(this.value()));
|
|
@@ -34,7 +35,7 @@ export class TimePickerComponent extends BasePickerComponent {
|
|
|
34
35
|
this.separator = this.intl.timePickerTimeSeparator;
|
|
35
36
|
this.hoursDecimalConf = DEFAULT_TIME_DECIMAL_PIPE_FORMAT;
|
|
36
37
|
this.maxHours = computed(() => {
|
|
37
|
-
return getHoursPartFromIsoTime(this.max()
|
|
38
|
+
return getHoursPartFromIsoTime(this.max());
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
writeValue(value) {
|
|
@@ -175,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
175
176
|
}], propDecorators: { label: [{
|
|
176
177
|
type: Input
|
|
177
178
|
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdGltZS90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90aW1lL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdF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QUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzhCQVVRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIElucHV0LCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0SW50bCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEJhc2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJU084NjAxVGltZSB9IGZyb20gJy4uL2NvcmUvZGF0ZS1wcmltaXRpdmVzJztcbmltcG9ydCB7XG5cdGNvbnZlcnRTdHJpbmdUb0lzb1RpbWUsXG5cdGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzLFxuXHRnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUsXG5cdGdldEhvdXJzUGFydEZyb21Jc29UaW1lLFxuXHRnZXRNaW51dGVzRGlzcGxheVBhcnRGcm9tSXNvVGltZSxcblx0Z2V0TWludXRlc1BhcnRGcm9tSXNvVGltZSxcblx0aXNvVGltZVRvU2Vjb25kcyxcbn0gZnJvbSAnLi4vY29yZS9kYXRlLnV0aWxzJztcbmltcG9ydCB7IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2R1cmF0aW9uLnV0aWxzJztcbmltcG9ydCB7IGNlaWxUb05lYXJlc3QsIGNpcmN1bGFyaXplLCBmbG9vclRvTmVhcmVzdCwgcm91bmRUb05lYXJlc3QgfSBmcm9tICcuLi9jb3JlL21hdGgudXRpbHMnO1xuaW1wb3J0IHsgaXNOaWwsIGlzTm90TmlsLCBQaWNrZXJDb250cm9sRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29yZS9taXNjLnV0aWxzJztcbmltcG9ydCB7IFRpbWVQaWNrZXJQYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS90aW1lLXBpY2tlci1wYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX01JTl9USU1FLCBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVCwgVGltZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBMVV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMgfSBmcm9tICcuL3RpbWUtcGlja2VyLnRyYW5zbGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2x1LXRpbWUtcGlja2VyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1RpbWVQaWNrZXJQYXJ0Q29tcG9uZW50LCBOZ0NsYXNzXSxcblx0dGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGltZVBpY2tlckNvbXBvbmVudCksXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBpY2tlckNvbXBvbmVudCB7XG5cdHByb3RlY3RlZCBpbnRsID0gZ2V0SW50bChMVV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMpO1xuXG5cdHZhbHVlID0gbW9kZWw8SVNPODYwMVRpbWU+KCctLTotLTotLScpO1xuXHRtYXggPSBpbnB1dDxJU084NjAxVGltZT4obnVsbCk7XG5cblx0ZGlzcGxheUFycm93cyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG5cdHRpbWVDaGFuZ2UgPSBvdXRwdXQ8VGltZUNoYW5nZUV2ZW50PigpO1xuXG5cdHByb3RlY3RlZCBob3Vyc0Rpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiBnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBtaW51dGVzRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNEaXNwbGF5UGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXG5cdHByb3RlY3RlZCBob3VycyA9IGNvbXB1dGVkKCgpID0+IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXHRwcm90ZWN0ZWQgbWludXRlcyA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBwaWNrZXJDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0aW1lUGlja2VyOiB0cnVlLFxuXHRcdFx0J21vZC1zdGVwcGVyJzogdGhpcy5kaXNwbGF5QXJyb3dzKCksXG5cdFx0XHQnbW9kLXN0ZXBwZXJIb3Zlcic6IHRoaXMuZGlzcGxheUFycm93cygpLFxuXHRcdFx0W2Btb2QtJHt0aGlzLnNpemUoKX1gXTogQm9vbGVhbih0aGlzLnNpemUoKSksXG5cdFx0fTtcblx0fSk7XG5cdHByb3RlY3RlZCBzZXBhcmF0b3IgPSB0aGlzLmludGwudGltZVBpY2tlclRpbWVTZXBhcmF0b3I7XG5cblx0cHJvdGVjdGVkIGhvdXJzRGVjaW1hbENvbmYgPSBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVDtcblxuXHRwcm90ZWN0ZWQgbWF4SG91cnMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0cmV0dXJuIGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMubWF4KCkgPz8gJzIzOjU5OjU5Jyk7XG5cdH0pO1xuXG5cdHdyaXRlVmFsdWUodmFsdWU6IElTTzg2MDFUaW1lKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUgfHwgJy0tOi0tOi0tJyk7XG5cdH1cblxuXHRzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0dGhpcy5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgaG91cnNJbnB1dEhhbmRsZXIodmFsdWU6IG51bWJlciB8ICctLScpOiB2b2lkIHtcblx0XHR0aGlzLnNldFRpbWUoe1xuXHRcdFx0cHJldmlvdXNWYWx1ZTogdGhpcy52YWx1ZSgpLFxuXHRcdFx0Ly8gTW9zdGx5IGZvciBjb21waWxlciBiZWNhdXNlIHdlIG5ldmVyIHNldCB0aGUgdGltZSB0byAtLSB3aXRoIGlucHV0IGhhbmRsZXJcblx0XHRcdHZhbHVlOiBjcmVhdGVJc29UaW1lRnJvbUhvdXJzQW5kTWludXRlcygrdmFsdWUsIHRoaXMubWludXRlcygpKSxcblx0XHRcdHNvdXJjZTogJ2lucHV0Jyxcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBtaW51dGVzSW5wdXRIYW5kbGVyKHZhbHVlOiBudW1iZXIgfCAnLS0nKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRUaW1lKHtcblx0XHRcdHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUoKSxcblx0XHRcdC8vIE1vc3RseSBmb3IgY29tcGlsZXIgYmVjYXVzZSB3ZSBuZXZlciBzZXQgdGhlIHRpbWUgdG8gLS0gd2l0aCBpbnB1dCBoYW5kbGVyXG5cdFx0XHR2YWx1ZTogY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXModGhpcy5ob3VycygpLCArdmFsdWUpLFxuXHRcdFx0c291cmNlOiAnaW5wdXQnLFxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIGNvcHlIYW5kbGVyKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0Ly8gd3JpdGUgdmFsdWUgdG8gY2xpcGJvYXJkXG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG5cdFx0aWYgKGlzTm90TmlsKHZhbHVlKSkge1xuXHRcdFx0ZXZlbnQuY2xpcGJvYXJkRGF0YT8uc2V0RGF0YSgndGV4dC9wbGFpbicsIHZhbHVlKTtcblx0XHR9XG5cdH1cblxuXHRwcm90ZWN0ZWQgcGFzdGVIYW5kbGVyKGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0Y29uc3QgcGFzdGVkVmFsdWUgPSBldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG5cdFx0aWYgKGlzTm90TmlsKHBhc3RlZFZhbHVlKSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgdmFsdWUgPSBjb252ZXJ0U3RyaW5nVG9Jc29UaW1lKHBhc3RlZFZhbHVlKTtcblx0XHRcdFx0dGhpcy50aW1lQ2hhbmdlLmVtaXQoe1xuXHRcdFx0XHRcdHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUoKSxcblx0XHRcdFx0XHRzb3VyY2U6ICdwYXN0ZScsXG5cdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG5cdFx0XHRcdHRoaXMub25DaGFuZ2U/Lih2YWx1ZSk7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIGRvIG5vdGhpbmdcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRvdmVycmlkZSBnZXRIb3Vyc0luY3JlbWVudCgpOiBudW1iZXIge1xuXHRcdGNvbnN0IHN0ZXAgPSB0aGlzLnN0ZXAoKTtcblx0XHRpZiAoaXNOaWwoc3RlcCkpIHtcblx0XHRcdHJldHVybiAxO1xuXHRcdH1cblxuXHRcdGNvbnN0IHsgaG91cnMgfSA9IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24oc3RlcCk7XG5cblx0XHRpZiAoaG91cnMgPT09IDApIHtcblx0XHRcdHJldHVybiAxO1xuXHRcdH1cblxuXHRcdHJldHVybiAyNCAlIGhvdXJzID09PSAwID8gaG91cnMgOiAxO1xuXHR9XG5cblx0b3ZlcnJpZGUgZ2V0TWludXRlc0luY3JlbWVudCgpOiBudW1iZXIgfCBudWxsIHtcblx0XHRjb25zdCBzdGVwID0gdGhpcy5zdGVwKCk7XG5cdFx0aWYgKGlzTmlsKHN0ZXApKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRjb25zdCB7IG1pbnV0ZXMgfSA9IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24oc3RlcCk7XG5cblx0XHRpZiAobWludXRlcyA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIDYwICUgbWludXRlcyA9PT0gMCA/IG1pbnV0ZXMgOiAxO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRUaW1lKHByb3RvRXZlbnQ6IFRpbWVDaGFuZ2VFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGhvdXJzUGFydCA9IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHByb3RvRXZlbnQudmFsdWUpO1xuXHRcdGNvbnN0IG1pbnV0ZXNQYXJ0ID0gZ2V0TWludXRlc1BhcnRGcm9tSXNvVGltZShwcm90b0V2ZW50LnZhbHVlKTtcblxuXHRcdGNvbnN0IG1heCA9IGlzb1RpbWVUb1NlY29uZHModGhpcy5tYXgoKSk7XG5cblx0XHRjb25zdCBjYW5kaWRhdGVUaW1lQXNTZWNvbmRzID0gaG91cnNQYXJ0ICogMzYwMCArIG1pbnV0ZXNQYXJ0ICogNjA7XG5cblx0XHRjb25zdCBzZWNvbmRzID0gcm91bmRUb05lYXJlc3QoY2lyY3VsYXJpemUoY2FuZGlkYXRlVGltZUFzU2Vjb25kcywgbWF4KSwgNjApO1xuXG5cdFx0Y29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyAzNjAwKTtcblx0XHRjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigoc2Vjb25kcyAlIDM2MDApIC8gNjApO1xuXG5cdFx0Y29uc3QgcmVzdWx0ID0gY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMoaG91cnMsIG1pbnV0ZXMpO1xuXG5cdFx0dGhpcy52YWx1ZS5zZXQocmVzdWx0KTtcblx0XHR0aGlzLm9uQ2hhbmdlPy4ocmVzdWx0KTtcblx0XHR0aGlzLnRpbWVDaGFuZ2UuZW1pdCh7XG5cdFx0XHQuLi5wcm90b0V2ZW50LFxuXHRcdFx0dmFsdWU6IHJlc3VsdCxcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBpbnB1dENvbnRyb2xDbGlja0hhbmRsZXIocGFydDogJ2hvdXJzJyB8ICdtaW51dGVzJywgZGlyZWN0aW9uOiBQaWNrZXJDb250cm9sRGlyZWN0aW9uKTogdm9pZCB7XG5cdFx0Y29uc3QgdmFsID0gdGhpcy52YWx1ZSgpID8/IERFRkFVTFRfTUlOX1RJTUU7XG5cdFx0Y29uc3QgaG91cnNQYXJ0ID0gZ2V0SG91cnNQYXJ0RnJvbUlzb1RpbWUodmFsKTtcblx0XHRjb25zdCBtaW51dGVzUGFydCA9IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUodmFsKTtcblxuXHRcdGNvbnN0IHNlbGVjdGVkUGFydCA9IHBhcnQgPT09ICdob3VycycgPyBob3Vyc1BhcnQgOiBtaW51dGVzUGFydDtcblx0XHRjb25zdCBzZWxlY3RlZEluY3JlbWVudCA9IHBhcnQgPT09ICdob3VycycgPyB0aGlzLmhvdXJzSW5jcmVtZW50KCkgOiB0aGlzLm1pbnV0ZXNJbmNyZW1lbnQoKTtcblx0XHRsZXQgbW9kaWZpZWRWYWw6IG51bWJlcjtcblxuXHRcdGlmIChzZWxlY3RlZEluY3JlbWVudCA9PT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmIChkaXJlY3Rpb24gPT09ICd1cCcpIHtcblx0XHRcdG1vZGlmaWVkVmFsID0gZmxvb3JUb05lYXJlc3Qoc2VsZWN0ZWRQYXJ0ICsgc2VsZWN0ZWRJbmNyZW1lbnQsIHNlbGVjdGVkSW5jcmVtZW50KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bW9kaWZpZWRWYWwgPSBjZWlsVG9OZWFyZXN0KHNlbGVjdGVkUGFydCAtIHNlbGVjdGVkSW5jcmVtZW50LCBzZWxlY3RlZEluY3JlbWVudCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgbmV3VGltZSA9IHBhcnQgPT09ICdob3VycycgPyBjcmVhdGVJc29UaW1lRnJvbUhvdXJzQW5kTWludXRlcyhtb2RpZmllZFZhbCwgbWludXRlc1BhcnQpIDogY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMoaG91cnNQYXJ0LCBtb2RpZmllZFZhbCk7XG5cblx0XHR0aGlzLnNldFRpbWUoe1xuXHRcdFx0c291cmNlOiAnY29udHJvbCcsXG5cdFx0XHRwcmV2aW91c1ZhbHVlOiB0aGlzLnZhbHVlKCksXG5cdFx0XHR2YWx1ZTogbmV3VGltZSxcblx0XHRcdHBhcnQsXG5cdFx0XHRkaXJlY3Rpb24sXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgZm9jdXMoKSB7XG5cdFx0aWYgKGlzTm90TmlsKHRoaXMuaG91cnNQYXJ0KSkge1xuXHRcdFx0dGhpcy5mb2N1c1BhcnQoJ2hvdXJzJyk7XG5cdFx0fVxuXHR9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInBpY2tlckNsYXNzZXMoKVwiIChjb3B5KT1cImNvcHlIYW5kbGVyKCRldmVudClcIiAocGFzdGUpPVwicGFzdGVIYW5kbGVyKCRldmVudClcIj5cblx0PGZpZWxkc2V0IGNsYXNzPVwidGltZVBpY2tlci1maWVsZHNldFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCI+XG5cdFx0PGxlZ2VuZD48c3BhbiBjbGFzcz1cInUtbWFza1wiPnt7IGxhYmVsIH19PC9zcGFuPjwvbGVnZW5kPlxuXHRcdDxsdS10aW1lLXBpY2tlci1wYXJ0XG5cdFx0XHQjaG91cnNQYXJ0XG5cdFx0XHRjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXQtZ3JvdXBcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuXHRcdFx0W2xhYmVsXT1cImludGwudGltZVBpY2tlckhvdXJzXCJcblx0XHRcdFt2YWx1ZV09XCJob3Vyc0Rpc3BsYXkoKVwiXG5cdFx0XHRbbWF4XT1cIm1heEhvdXJzKClcIlxuXHRcdFx0W2RlY2ltYWxDb25mXT1cImhvdXJzRGVjaW1hbENvbmZcIlxuXHRcdFx0W2Rpc3BsYXlBcnJvd3NdPVwiZGlzcGxheUFycm93cygpXCJcblx0XHRcdCh0b3VjaGVkKT1cIm9uVG91Y2hlZD8uKClcIlxuXHRcdFx0KHZhbHVlQ2hhbmdlKT1cImhvdXJzSW5wdXRIYW5kbGVyKCRldmVudClcIlxuXHRcdFx0KG5leHRSZXF1ZXN0KT1cImZvY3VzUGFydCgnbWludXRlcycpXCJcblx0XHRcdChpbnB1dENvbnRyb2xDbGljayk9XCJpbnB1dENvbnRyb2xDbGlja0hhbmRsZXIoJ2hvdXJzJywgJGV2ZW50KVwiXG5cdFx0Lz5cblx0XHQ8ZGl2IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwidGltZVBpY2tlci1maWVsZHNldC1ncm91cFNlcGFyYXRvclwiPnt7IHNlcGFyYXRvciB9fTwvZGl2PlxuXHRcdDxsdS10aW1lLXBpY2tlci1wYXJ0XG5cdFx0XHQjbWludXRlc1BhcnRcblx0XHRcdGNsYXNzPVwidGltZVBpY2tlci1maWVsZHNldC1ncm91cFwiXG5cdFx0XHRbbGFiZWxdPVwiaW50bC50aW1lUGlja2VyTWludXRlc1wiXG5cdFx0XHRbdmFsdWVdPVwibWludXRlc0Rpc3BsYXkoKVwiXG5cdFx0XHRbbWF4XT1cIjU5XCJcblx0XHRcdFtkaXNwbGF5QXJyb3dzXT1cImRpc3BsYXlBcnJvd3MoKVwiXG5cdFx0XHQodG91Y2hlZCk9XCJvblRvdWNoZWQ/LigpXCJcblx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8ICFtaW51dGVzSW5jcmVtZW50KClcIlxuXHRcdFx0KHZhbHVlQ2hhbmdlKT1cIm1pbnV0ZXNJbnB1dEhhbmRsZXIoJGV2ZW50KVwiXG5cdFx0XHQocHJldlJlcXVlc3QpPVwiZm9jdXNQYXJ0KCdob3VycycpXCJcblx0XHRcdChpbnB1dENvbnRyb2xDbGljayk9XCJpbnB1dENvbnRyb2xDbGlja0hhbmRsZXIoJ21pbnV0ZXMnLCAkZXZlbnQpXCJcblx0XHQvPlxuXHQ8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvdGltZS90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy90aW1lL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDekIsZ0JBQWdCLEdBQ2hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUEwQixNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdF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MUI7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEOzhCQVVRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGZvcndhcmRSZWYsIElucHV0LCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0SW50bCB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEJhc2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJU084NjAxVGltZSB9IGZyb20gJy4uL2NvcmUvZGF0ZS1wcmltaXRpdmVzJztcbmltcG9ydCB7XG5cdGNvbnZlcnRTdHJpbmdUb0lzb1RpbWUsXG5cdGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzLFxuXHRnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUsXG5cdGdldEhvdXJzUGFydEZyb21Jc29UaW1lLFxuXHRnZXRNaW51dGVzRGlzcGxheVBhcnRGcm9tSXNvVGltZSxcblx0Z2V0TWludXRlc1BhcnRGcm9tSXNvVGltZSxcblx0aXNvVGltZVRvU2Vjb25kcyxcbn0gZnJvbSAnLi4vY29yZS9kYXRlLnV0aWxzJztcbmltcG9ydCB7IGlzb0R1cmF0aW9uVG9EYXRlRm5zRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2R1cmF0aW9uLnV0aWxzJztcbmltcG9ydCB7IGNlaWxUb05lYXJlc3QsIGNpcmN1bGFyaXplLCBmbG9vclRvTmVhcmVzdCwgcm91bmRUb05lYXJlc3QgfSBmcm9tICcuLi9jb3JlL21hdGgudXRpbHMnO1xuaW1wb3J0IHsgaXNOaWwsIGlzTm90TmlsLCBQaWNrZXJDb250cm9sRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29yZS9taXNjLnV0aWxzJztcbmltcG9ydCB7IFRpbWVQaWNrZXJQYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS90aW1lLXBpY2tlci1wYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX01JTl9USU1FLCBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVCwgVGltZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBMVV9USU1FX1BJQ0tFUl9UUkFOU0xBVElPTlMgfSBmcm9tICcuL3RpbWUtcGlja2VyLnRyYW5zbGF0ZSc7XG5cbmNvbnN0IE1BWF9USU1FID0gJzIzOjU5OjU5JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbHUtdGltZS1waWNrZXInLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbVGltZVBpY2tlclBhcnRDb21wb25lbnQsIE5nQ2xhc3NdLFxuXHR0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi90aW1lLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW1lUGlja2VyQ29tcG9uZW50KSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH0sXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlUGlja2VyQ29tcG9uZW50IHtcblx0cHJvdGVjdGVkIGludGwgPSBnZXRJbnRsKExVX1RJTUVfUElDS0VSX1RSQU5TTEFUSU9OUyk7XG5cblx0dmFsdWUgPSBtb2RlbDxJU084NjAxVGltZT4oJy0tOi0tOi0tJyk7XG5cdG1heCA9IGlucHV0PElTTzg2MDFUaW1lPihNQVhfVElNRSk7XG5cblx0ZGlzcGxheUFycm93cyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG5cdHRpbWVDaGFuZ2UgPSBvdXRwdXQ8VGltZUNoYW5nZUV2ZW50PigpO1xuXG5cdHByb3RlY3RlZCBob3Vyc0Rpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiBnZXRIb3Vyc0Rpc3BsYXlQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBtaW51dGVzRGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNEaXNwbGF5UGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXG5cdHByb3RlY3RlZCBob3VycyA9IGNvbXB1dGVkKCgpID0+IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMudmFsdWUoKSkpO1xuXHRwcm90ZWN0ZWQgbWludXRlcyA9IGNvbXB1dGVkKCgpID0+IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUodGhpcy52YWx1ZSgpKSk7XG5cdHByb3RlY3RlZCBwaWNrZXJDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0aW1lUGlja2VyOiB0cnVlLFxuXHRcdFx0J21vZC1zdGVwcGVyJzogdGhpcy5kaXNwbGF5QXJyb3dzKCksXG5cdFx0XHQnbW9kLXN0ZXBwZXJIb3Zlcic6IHRoaXMuZGlzcGxheUFycm93cygpLFxuXHRcdFx0W2Btb2QtJHt0aGlzLnNpemUoKX1gXTogQm9vbGVhbih0aGlzLnNpemUoKSksXG5cdFx0fTtcblx0fSk7XG5cdHByb3RlY3RlZCBzZXBhcmF0b3IgPSB0aGlzLmludGwudGltZVBpY2tlclRpbWVTZXBhcmF0b3I7XG5cblx0cHJvdGVjdGVkIGhvdXJzRGVjaW1hbENvbmYgPSBERUZBVUxUX1RJTUVfREVDSU1BTF9QSVBFX0ZPUk1BVDtcblxuXHRwcm90ZWN0ZWQgbWF4SG91cnMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0cmV0dXJuIGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHRoaXMubWF4KCkpO1xuXHR9KTtcblxuXHR3cml0ZVZhbHVlKHZhbHVlOiBJU084NjAxVGltZSk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUuc2V0KHZhbHVlIHx8ICctLTotLTotLScpO1xuXHR9XG5cblx0c2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGhvdXJzSW5wdXRIYW5kbGVyKHZhbHVlOiBudW1iZXIgfCAnLS0nKTogdm9pZCB7XG5cdFx0dGhpcy5zZXRUaW1lKHtcblx0XHRcdHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUoKSxcblx0XHRcdC8vIE1vc3RseSBmb3IgY29tcGlsZXIgYmVjYXVzZSB3ZSBuZXZlciBzZXQgdGhlIHRpbWUgdG8gLS0gd2l0aCBpbnB1dCBoYW5kbGVyXG5cdFx0XHR2YWx1ZTogY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMoK3ZhbHVlLCB0aGlzLm1pbnV0ZXMoKSksXG5cdFx0XHRzb3VyY2U6ICdpbnB1dCcsXG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgbWludXRlc0lucHV0SGFuZGxlcih2YWx1ZTogbnVtYmVyIHwgJy0tJyk6IHZvaWQge1xuXHRcdHRoaXMuc2V0VGltZSh7XG5cdFx0XHRwcmV2aW91c1ZhbHVlOiB0aGlzLnZhbHVlKCksXG5cdFx0XHQvLyBNb3N0bHkgZm9yIGNvbXBpbGVyIGJlY2F1c2Ugd2UgbmV2ZXIgc2V0IHRoZSB0aW1lIHRvIC0tIHdpdGggaW5wdXQgaGFuZGxlclxuXHRcdFx0dmFsdWU6IGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzKHRoaXMuaG91cnMoKSwgK3ZhbHVlKSxcblx0XHRcdHNvdXJjZTogJ2lucHV0Jyxcblx0XHR9KTtcblx0fVxuXG5cdHByb3RlY3RlZCBjb3B5SGFuZGxlcihldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdC8vIHdyaXRlIHZhbHVlIHRvIGNsaXBib2FyZFxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpO1xuXHRcdGlmIChpc05vdE5pbCh2YWx1ZSkpIHtcblx0XHRcdGV2ZW50LmNsaXBib2FyZERhdGE/LnNldERhdGEoJ3RleHQvcGxhaW4nLCB2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIHBhc3RlSGFuZGxlcihldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdGNvbnN0IHBhc3RlZFZhbHVlID0gZXZlbnQuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuXHRcdGlmIChpc05vdE5pbChwYXN0ZWRWYWx1ZSkpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHZhbHVlID0gY29udmVydFN0cmluZ1RvSXNvVGltZShwYXN0ZWRWYWx1ZSk7XG5cdFx0XHRcdHRoaXMudGltZUNoYW5nZS5lbWl0KHtcblx0XHRcdFx0XHRwcmV2aW91c1ZhbHVlOiB0aGlzLnZhbHVlKCksXG5cdFx0XHRcdFx0c291cmNlOiAncGFzdGUnLFxuXHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHRcdFx0XHR0aGlzLm9uQ2hhbmdlPy4odmFsdWUpO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHQvLyBkbyBub3RoaW5nXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0b3ZlcnJpZGUgZ2V0SG91cnNJbmNyZW1lbnQoKTogbnVtYmVyIHtcblx0XHRjb25zdCBzdGVwID0gdGhpcy5zdGVwKCk7XG5cdFx0aWYgKGlzTmlsKHN0ZXApKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRjb25zdCB7IGhvdXJzIH0gPSBpc29EdXJhdGlvblRvRGF0ZUZuc0R1cmF0aW9uKHN0ZXApO1xuXG5cdFx0aWYgKGhvdXJzID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRyZXR1cm4gMjQgJSBob3VycyA9PT0gMCA/IGhvdXJzIDogMTtcblx0fVxuXG5cdG92ZXJyaWRlIGdldE1pbnV0ZXNJbmNyZW1lbnQoKTogbnVtYmVyIHwgbnVsbCB7XG5cdFx0Y29uc3Qgc3RlcCA9IHRoaXMuc3RlcCgpO1xuXHRcdGlmIChpc05pbChzdGVwKSkge1xuXHRcdFx0cmV0dXJuIDE7XG5cdFx0fVxuXG5cdFx0Y29uc3QgeyBtaW51dGVzIH0gPSBpc29EdXJhdGlvblRvRGF0ZUZuc0R1cmF0aW9uKHN0ZXApO1xuXG5cdFx0aWYgKG1pbnV0ZXMgPT09IDApIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHJldHVybiA2MCAlIG1pbnV0ZXMgPT09IDAgPyBtaW51dGVzIDogMTtcblx0fVxuXG5cdHByaXZhdGUgc2V0VGltZShwcm90b0V2ZW50OiBUaW1lQ2hhbmdlRXZlbnQpOiB2b2lkIHtcblx0XHRjb25zdCBob3Vyc1BhcnQgPSBnZXRIb3Vyc1BhcnRGcm9tSXNvVGltZShwcm90b0V2ZW50LnZhbHVlKTtcblx0XHRjb25zdCBtaW51dGVzUGFydCA9IGdldE1pbnV0ZXNQYXJ0RnJvbUlzb1RpbWUocHJvdG9FdmVudC52YWx1ZSk7XG5cblx0XHRjb25zdCBtYXggPSBpc29UaW1lVG9TZWNvbmRzKHRoaXMubWF4KCkpO1xuXG5cdFx0Y29uc3QgY2FuZGlkYXRlVGltZUFzU2Vjb25kcyA9IGhvdXJzUGFydCAqIDM2MDAgKyBtaW51dGVzUGFydCAqIDYwO1xuXG5cdFx0Y29uc3Qgc2Vjb25kcyA9IHJvdW5kVG9OZWFyZXN0KGNpcmN1bGFyaXplKGNhbmRpZGF0ZVRpbWVBc1NlY29uZHMsIG1heCksIDYwKTtcblxuXHRcdGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gMzYwMCk7XG5cdFx0Y29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoKHNlY29uZHMgJSAzNjAwKSAvIDYwKTtcblxuXHRcdGNvbnN0IHJlc3VsdCA9IGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzKGhvdXJzLCBtaW51dGVzKTtcblxuXHRcdHRoaXMudmFsdWUuc2V0KHJlc3VsdCk7XG5cdFx0dGhpcy5vbkNoYW5nZT8uKHJlc3VsdCk7XG5cdFx0dGhpcy50aW1lQ2hhbmdlLmVtaXQoe1xuXHRcdFx0Li4ucHJvdG9FdmVudCxcblx0XHRcdHZhbHVlOiByZXN1bHQsXG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgaW5wdXRDb250cm9sQ2xpY2tIYW5kbGVyKHBhcnQ6ICdob3VycycgfCAnbWludXRlcycsIGRpcmVjdGlvbjogUGlja2VyQ29udHJvbERpcmVjdGlvbik6IHZvaWQge1xuXHRcdGNvbnN0IHZhbCA9IHRoaXMudmFsdWUoKSA/PyBERUZBVUxUX01JTl9USU1FO1xuXHRcdGNvbnN0IGhvdXJzUGFydCA9IGdldEhvdXJzUGFydEZyb21Jc29UaW1lKHZhbCk7XG5cdFx0Y29uc3QgbWludXRlc1BhcnQgPSBnZXRNaW51dGVzUGFydEZyb21Jc29UaW1lKHZhbCk7XG5cblx0XHRjb25zdCBzZWxlY3RlZFBhcnQgPSBwYXJ0ID09PSAnaG91cnMnID8gaG91cnNQYXJ0IDogbWludXRlc1BhcnQ7XG5cdFx0Y29uc3Qgc2VsZWN0ZWRJbmNyZW1lbnQgPSBwYXJ0ID09PSAnaG91cnMnID8gdGhpcy5ob3Vyc0luY3JlbWVudCgpIDogdGhpcy5taW51dGVzSW5jcmVtZW50KCk7XG5cdFx0bGV0IG1vZGlmaWVkVmFsOiBudW1iZXI7XG5cblx0XHRpZiAoc2VsZWN0ZWRJbmNyZW1lbnQgPT09IG51bGwpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRpZiAoZGlyZWN0aW9uID09PSAndXAnKSB7XG5cdFx0XHRtb2RpZmllZFZhbCA9IGZsb29yVG9OZWFyZXN0KHNlbGVjdGVkUGFydCArIHNlbGVjdGVkSW5jcmVtZW50LCBzZWxlY3RlZEluY3JlbWVudCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG1vZGlmaWVkVmFsID0gY2VpbFRvTmVhcmVzdChzZWxlY3RlZFBhcnQgLSBzZWxlY3RlZEluY3JlbWVudCwgc2VsZWN0ZWRJbmNyZW1lbnQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG5ld1RpbWUgPSBwYXJ0ID09PSAnaG91cnMnID8gY3JlYXRlSXNvVGltZUZyb21Ib3Vyc0FuZE1pbnV0ZXMobW9kaWZpZWRWYWwsIG1pbnV0ZXNQYXJ0KSA6IGNyZWF0ZUlzb1RpbWVGcm9tSG91cnNBbmRNaW51dGVzKGhvdXJzUGFydCwgbW9kaWZpZWRWYWwpO1xuXG5cdFx0dGhpcy5zZXRUaW1lKHtcblx0XHRcdHNvdXJjZTogJ2NvbnRyb2wnLFxuXHRcdFx0cHJldmlvdXNWYWx1ZTogdGhpcy52YWx1ZSgpLFxuXHRcdFx0dmFsdWU6IG5ld1RpbWUsXG5cdFx0XHRwYXJ0LFxuXHRcdFx0ZGlyZWN0aW9uLFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGZvY3VzKCkge1xuXHRcdGlmIChpc05vdE5pbCh0aGlzLmhvdXJzUGFydCkpIHtcblx0XHRcdHRoaXMuZm9jdXNQYXJ0KCdob3VycycpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJwaWNrZXJDbGFzc2VzKClcIiAoY29weSk9XCJjb3B5SGFuZGxlcigkZXZlbnQpXCIgKHBhc3RlKT1cInBhc3RlSGFuZGxlcigkZXZlbnQpXCI+XG5cdDxmaWVsZHNldCBjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiPlxuXHRcdDxsZWdlbmQ+PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj57eyBsYWJlbCB9fTwvc3Bhbj48L2xlZ2VuZD5cblx0XHQ8bHUtdGltZS1waWNrZXItcGFydFxuXHRcdFx0I2hvdXJzUGFydFxuXHRcdFx0Y2xhc3M9XCJ0aW1lUGlja2VyLWZpZWxkc2V0LWdyb3VwXCJcblx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcblx0XHRcdFtsYWJlbF09XCJpbnRsLnRpbWVQaWNrZXJIb3Vyc1wiXG5cdFx0XHRbdmFsdWVdPVwiaG91cnNEaXNwbGF5KClcIlxuXHRcdFx0W21heF09XCJtYXhIb3VycygpXCJcblx0XHRcdFtkZWNpbWFsQ29uZl09XCJob3Vyc0RlY2ltYWxDb25mXCJcblx0XHRcdFtkaXNwbGF5QXJyb3dzXT1cImRpc3BsYXlBcnJvd3MoKVwiXG5cdFx0XHQodG91Y2hlZCk9XCJvblRvdWNoZWQ/LigpXCJcblx0XHRcdCh2YWx1ZUNoYW5nZSk9XCJob3Vyc0lucHV0SGFuZGxlcigkZXZlbnQpXCJcblx0XHRcdChuZXh0UmVxdWVzdCk9XCJmb2N1c1BhcnQoJ21pbnV0ZXMnKVwiXG5cdFx0XHQoaW5wdXRDb250cm9sQ2xpY2spPVwiaW5wdXRDb250cm9sQ2xpY2tIYW5kbGVyKCdob3VycycsICRldmVudClcIlxuXHRcdC8+XG5cdFx0PGRpdiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXQtZ3JvdXBTZXBhcmF0b3JcIj57eyBzZXBhcmF0b3IgfX08L2Rpdj5cblx0XHQ8bHUtdGltZS1waWNrZXItcGFydFxuXHRcdFx0I21pbnV0ZXNQYXJ0XG5cdFx0XHRjbGFzcz1cInRpbWVQaWNrZXItZmllbGRzZXQtZ3JvdXBcIlxuXHRcdFx0W2xhYmVsXT1cImludGwudGltZVBpY2tlck1pbnV0ZXNcIlxuXHRcdFx0W3ZhbHVlXT1cIm1pbnV0ZXNEaXNwbGF5KClcIlxuXHRcdFx0W21heF09XCI1OVwiXG5cdFx0XHRbZGlzcGxheUFycm93c109XCJkaXNwbGF5QXJyb3dzKClcIlxuXHRcdFx0KHRvdWNoZWQpPVwib25Ub3VjaGVkPy4oKVwiXG5cdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCAhbWludXRlc0luY3JlbWVudCgpXCJcblx0XHRcdCh2YWx1ZUNoYW5nZSk9XCJtaW51dGVzSW5wdXRIYW5kbGVyKCRldmVudClcIlxuXHRcdFx0KHByZXZSZXF1ZXN0KT1cImZvY3VzUGFydCgnaG91cnMnKVwiXG5cdFx0XHQoaW5wdXRDb250cm9sQ2xpY2spPVwiaW5wdXRDb250cm9sQ2xpY2tIYW5kbGVyKCdtaW51dGVzJywgJGV2ZW50KVwiXG5cdFx0Lz5cblx0PC9maWVsZHNldD5cbjwvZGl2PlxuIl19
|
|
@@ -108,7 +108,7 @@ class PopoverContentComponent {
|
|
|
108
108
|
this.mouseEnter$.complete();
|
|
109
109
|
this.mouseLeave$.complete();
|
|
110
110
|
// Detach overlay
|
|
111
|
-
this.#config.ref.
|
|
111
|
+
this.#config.ref.dispose();
|
|
112
112
|
}
|
|
113
113
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
114
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: PopoverContentComponent, isStandalone: true, selector: "lu-popover-content", host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()", "window:keydown.escape": "close()" }, properties: { "attr.id": "this.contentId" } }, ngImport: i0, template: "<div class=\"popover\">\n\t<div>\n\t\t<button type=\"button\" luButton class=\"popover-close\" (click)=\"close()\">\n\t\t\t<lu-icon icon=\"signClose\"></lu-icon>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n", styles: ["@charset \"UTF-8\";.button{--components-button-font-size: var(--sizes-M-fontSize);--components-button-line-height: var(--sizes-M-lineHeight);--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-text, var(--palettes-product-text));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--commons-borderRadius-M);line-height:var(--components-button-line-height);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);width:var(--components-button-width);min-width:var(--components-button-minWidth);font-size:var(--components-button-font-size);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;white-space:nowrap;text-align:center;font-weight:600;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-product-200);--components-numericBadge-color: var(--palettes-product-800)}.button:hover{--components-button-color: var(--palettes-text, var(--palettes-product-text));--components-button-backgroundColor: var(--palettes-600, var(--palettes-product-600))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.button:active{--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{background-color:var(--palettes-neutral-200);color:var(--palettes-neutral-500)}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--colors-white-color);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-neutral-400))}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--colors-white-color);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-400);--components-button-color: var(--palettes-neutral-500)}.button.mod-outlined.is-disabled,.button.mod-outlined.disabled,.button.mod-outline.is-disabled,.button.mod-outline.disabled{--components-button-backgroundColor: var(--colors-white-color);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-400);--components-button-color: var(--palettes-neutral-500)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700))}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.button.mod-text.is-disabled,.button.mod-text.disabled,.button.mod-link.is-disabled,.button.mod-link.disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.button.mod-withIcon,.button.mod-icon{--components-button-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-150)}.button.mod-withIcon.mod-S,.button.mod-icon.mod-S{--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150)}.button.mod-withIcon.mod-XS,.button.mod-icon.mod-XS{--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--colors-white-color)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--colors-white-color);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:before{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none;height:0;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}.button.is-loading,.button.loading{--components-button-opacity: var(--commons-disabled-opacity);--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none}.button.is-loading:after,.button.loading:after{content:\"\";width:var(--components-button-font-size);height:var(--components-button-font-size);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";width:var(--sizes-S-fontSize);height:var(--sizes-S-fontSize);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-error,.button.error{--palettes-text: #ffffff;--palettes-50: #ffebec;--palettes-100: #ffd6d8;--palettes-200: #fdbebe;--palettes-300: #faa3a3;--palettes-400: #fa8989;--palettes-500: #f76e6e;--palettes-600: #f15050;--palettes-700: #da2f2f;--palettes-800: #aa0e0e;--palettes-900: #630303;--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-error:after,.button.error:after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button.is-error:after,.button.error:after{--icon-content: \"\\e9bf\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none}.button.is-success,.button.success{--palettes-text: #ffffff;--palettes-50: #dbfae0;--palettes-100: #bef3c7;--palettes-200: #a2ebaf;--palettes-300: #84e695;--palettes-400: #68d97b;--palettes-500: #57c769;--palettes-600: #39b155;--palettes-700: #279b42;--palettes-800: #0a762e;--palettes-900: #004d20;--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content);-webkit-font-smoothing:antialiased;text-transform:none}.button.is-disabled,.button.disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge{background-color:var(--palettes-neutral-200);color:var(--palettes-neutral-500)}.popover{display:block;background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--pr-t-elevation-shadow-overlay);border-radius:var(--commons-borderRadius-L);position:relative;min-height:var(--pr-t-spacings-500);min-width:var(--pr-t-spacings-500);animation:popup var(--commons-animations-durations-fast) ease 1 forwards}.popover .popover-close{--components-button-padding: var(--pr-t-spacings-50)}.popover-contentOptional{padding:var(--pr-t-spacings-100) var(--pr-t-spacings-150)}.popover-close{--components-button-backgroundColor: var(--colors-white-color);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-neutral-400));--icon-size: 1rem;--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--pr-t-spacings-50) var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-50);--components-button-padding: var(--pr-t-spacings-50);padding:0;border-radius:50%;position:absolute;left:calc(var(--pr-t-spacings-100) * -1);top:calc(var(--pr-t-spacings-100) * -1);z-index:2}.popover-close:hover{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.popover-close:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.popover-close:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.popover-close:disabled{--components-button-backgroundColor: var(--colors-white-color);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-400);--components-button-color: var(--palettes-neutral-500)}.popover-close .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.popover-close:not(:focus-visible){border:0;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;contain:paint}@keyframes popup{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "delete", "palette", "state", "luButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -206,18 +206,16 @@ class PopoverDirective {
|
|
|
206
206
|
openPopover(disableFocusHandler = false) {
|
|
207
207
|
if (!this.opened() && !this.luPopoverDisabled) {
|
|
208
208
|
this.opened.set(true);
|
|
209
|
-
this.#overlayRef =
|
|
210
|
-
this.#
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
disposeOnNavigation: true,
|
|
220
|
-
});
|
|
209
|
+
this.#overlayRef = this.#overlay.create({
|
|
210
|
+
positionStrategy: this.#overlay
|
|
211
|
+
.position()
|
|
212
|
+
.flexibleConnectedTo(this.#elementRef)
|
|
213
|
+
.withPositions(this.customPositions || this.#buildPositions()),
|
|
214
|
+
scrollStrategy: this.#overlay.scrollStrategies.reposition(),
|
|
215
|
+
hasBackdrop: this.luPopoverTrigger() === 'click',
|
|
216
|
+
backdropClass: '',
|
|
217
|
+
disposeOnNavigation: true,
|
|
218
|
+
});
|
|
221
219
|
// Close on backdrop click even if backdrop is invisible
|
|
222
220
|
this.#overlayRef
|
|
223
221
|
.backdropClick()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-popover2.mjs","sources":["../../../packages/ng/popover2/popover-focus-trap.ts","../../../packages/ng/popover2/popover-tokens.ts","../../../packages/ng/popover2/translations.ts","../../../packages/ng/popover2/popover.translate.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.html","../../../packages/ng/popover2/popover.directive.ts","../../../packages/ng/popover2/popover.providers.ts","../../../packages/ng/popover2/lucca-front-ng-popover2.ts"],"sourcesContent":["import { FocusTrap, InteractivityChecker } from '@angular/cdk/a11y';\nimport { inject, Injectable, NgZone } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable()\nexport class PopoverFocusTrap extends FocusTrap {\n\toverride startAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\toverride endAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\tconstructor(\n\t\telement: HTMLElement,\n\t\tprivate triggerElement: HTMLElement,\n\t) {\n\t\tsuper(element, inject(InteractivityChecker), inject(NgZone), inject(DOCUMENT), true);\n\t}\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nexport interface PopoverConfig {\n\ttriggerElement: HTMLElement;\n\tcontent: TemplateRef<unknown>;\n\tref: OverlayRef;\n\tcontentId: string;\n\tdisableFocusManipulation: boolean;\n}\n\nexport const POPOVER_CONFIG = new InjectionToken<PopoverConfig>('Popover:Config');\n","export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_POPOVER2_TRANSLATIONS = new InjectionToken('LuPopover2Translations', {\n\tfactory: () => luPopoverTranslations,\n});\n\nexport interface ILuPopover2Label {\n\tclose: string;\n}\n\nexport const luPopoverTranslations: LuTranslation<ILuPopover2Label> = Translations;\n","import { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, HostBinding, HostListener, inject, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverFocusTrap } from '../../popover-focus-trap';\nimport { Subject } from 'rxjs';\nimport { POPOVER_CONFIG } from '../../popover-tokens';\nimport { LU_POPOVER2_TRANSLATIONS } from '../../popover.translate';\nimport { getIntl } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-popover-content',\n\tstandalone: true,\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent],\n\ttemplateUrl: './popover-content.component.html',\n\tstyleUrl: './popover-content.component.scss',\n\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PopoverContentComponent implements AfterViewInit {\n\tintl = getIntl(LU_POPOVER2_TRANSLATIONS);\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#config = inject(POPOVER_CONFIG);\n\n\tdestroyRef = inject(DestroyRef);\n\n\t@HostBinding('attr.id')\n\tcontentId = this.#config.contentId;\n\n\tcontent: TemplateRef<unknown> = this.#config.content;\n\n\t#focusManager = new PopoverFocusTrap(this.#elementRef.nativeElement, this.#config.triggerElement);\n\n\tclosed$ = new Subject<void>();\n\n\tmouseEnter$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tmouseEnter(): void {\n\t\tthis.mouseEnter$.next();\n\t}\n\n\tmouseLeave$ = new Subject<void>();\n\n\t@HostListener('mouseleave')\n\tmouseLeave(): void {\n\t\tthis.mouseLeave$.next();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.#focusManager.attachAnchors();\n\t\tif (!this.#config.disableFocusManipulation) {\n\t\t\tvoid this.#focusManager.focusInitialElementWhenReady();\n\t\t}\n\t}\n\n\tgrabFocus(): void {\n\t\tif (!this.#config.disableFocusManipulation) {\n\t\t\tthis.#focusManager.focusInitialElement();\n\t\t}\n\t}\n\n\t@HostListener('window:keydown.escape')\n\tclose(): void {\n\t\tif (!this.#config.disableFocusManipulation) {\n\t\t\t// Focus initial trigger element\n\t\t\tthis.#config.triggerElement.focus();\n\t\t}\n\t\t// Tell the directive we're closed now\n\t\tthis.closed$.next();\n\t\tthis.closed$.complete();\n\t\tthis.mouseEnter$.complete();\n\t\tthis.mouseLeave$.complete();\n\t\t// Detach overlay\n\t\tthis.#config.ref.detach();\n\t}\n}\n","<div class=\"popover\">\n\t<div>\n\t\t<button type=\"button\" luButton class=\"popover-close\" (click)=\"close()\">\n\t\t\t<lu-icon icon=\"signClose\"></lu-icon>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n","import { booleanAttribute, DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject, Injector, input, Input, InputSignal, signal, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ConnectedPosition, ConnectionPositionPair, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { PopoverContentComponent } from './content/popover-content/popover-content.component';\nimport { POPOVER_CONFIG, PopoverConfig } from './popover-tokens';\nimport { combineLatest, debounce, filter, map, merge, Subject, switchMap, timer } from 'rxjs';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\n\nexport type PopoverPosition = 'above' | 'below' | 'before' | 'after';\n\nlet nextId = 0;\n\nconst defaultPositionPairs: Record<PopoverPosition, ConnectionPositionPair> = {\n\tabove: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'top' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'bottom',\n\t\t},\n\t),\n\tbelow: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'bottom' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'top',\n\t\t},\n\t),\n\tbefore: new ConnectionPositionPair(\n\t\t{ originX: 'start', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n\tafter: new ConnectionPositionPair(\n\t\t{ originX: 'end', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n};\n\n@Directive({\n\tselector: '[luPopover2]',\n\thost: {\n\t\t'[attr.aria-expanded]': 'opened()',\n\t},\n\tstandalone: true,\n})\nexport class PopoverDirective {\n\t#overlay = inject(Overlay);\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#vcr = inject(ViewContainerRef);\n\n\t#destroyRef = inject(DestroyRef);\n\n\t@Input({\n\t\talias: 'luPopover2',\n\t})\n\tcontent: TemplateRef<unknown>;\n\n\t@Input()\n\tluPopoverPosition: PopoverPosition = 'above';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tluPopoverDisabled = false;\n\n\tluPopoverTrigger = input<'click' | 'click+hover'>('click');\n\n\t@Input()\n\tcustomPositions?: ConnectionPositionPair[];\n\n\t// We have to type these two for Compodoc to find the right type and tell Storybook these aren't strings\n\tluPopoverOpenDelay: InputSignal<number> = input<number>(300);\n\n\tluPopoverCloseDelay: InputSignal<number> = input<number>(100);\n\n\topen$ = new Subject<void>();\n\n\tclose$ = new Subject<void>();\n\n\t#overlayRef: OverlayRef;\n\n\t#componentRef?: PopoverContentComponent;\n\n\tpositionPairs: Record<PopoverPosition, ConnectionPositionPair> = defaultPositionPairs;\n\n\topened = signal(false);\n\n\t@HostBinding('attr.aria-controls')\n\tariaControls = `popover-content-${nextId++}`;\n\n\tconstructor() {\n\t\tcombineLatest([toObservable(this.luPopoverOpenDelay), toObservable(this.luPopoverCloseDelay), toObservable(this.luPopoverTrigger)])\n\t\t\t.pipe(\n\t\t\t\tfilter(([, , trigger]) => {\n\t\t\t\t\treturn trigger.includes('hover');\n\t\t\t\t}),\n\t\t\t\tswitchMap(([openDelay, closeDelay]) => {\n\t\t\t\t\treturn merge(this.open$.pipe(map(() => 'open')), this.close$.pipe(map(() => 'close'))).pipe(\n\t\t\t\t\t\tdebounce((event) => {\n\t\t\t\t\t\t\treturn timer(event === 'open' ? openDelay : closeDelay);\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t)\n\t\t\t.subscribe((event) => {\n\t\t\t\tif (event === 'open') {\n\t\t\t\t\tthis.openPopover(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.#componentRef?.close();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tthis.open$.next();\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseLeave() {\n\t\tthis.close$.next();\n\t}\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tif (this.opened()) {\n\t\t\tthis.#componentRef?.close();\n\t\t} else {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\topenPopover(disableFocusHandler = false): void {\n\t\tif (!this.opened() && !this.luPopoverDisabled) {\n\t\t\tthis.opened.set(true);\n\t\t\tthis.#overlayRef =\n\t\t\t\tthis.#overlayRef ||\n\t\t\t\tthis.#overlay.create({\n\t\t\t\t\tpositionStrategy: this.#overlay\n\t\t\t\t\t\t.position()\n\t\t\t\t\t\t.flexibleConnectedTo(this.#elementRef)\n\t\t\t\t\t\t.withPositions(this.customPositions || this.#buildPositions()),\n\t\t\t\t\tscrollStrategy: this.#overlay.scrollStrategies.reposition(),\n\t\t\t\t\thasBackdrop: this.luPopoverTrigger() === 'click',\n\t\t\t\t\tbackdropClass: '',\n\t\t\t\t\tdisposeOnNavigation: true,\n\t\t\t\t});\n\t\t\t// Close on backdrop click even if backdrop is invisible\n\t\t\tthis.#overlayRef\n\t\t\t\t.backdropClick()\n\t\t\t\t.pipe(takeUntilDestroyed(this.#destroyRef))\n\t\t\t\t.subscribe(() => this.#componentRef.close());\n\t\t\tconst config: PopoverConfig = {\n\t\t\t\tcontent: this.content,\n\t\t\t\tref: this.#overlayRef,\n\t\t\t\tcontentId: this.ariaControls,\n\t\t\t\ttriggerElement: this.#elementRef.nativeElement,\n\t\t\t\tdisableFocusManipulation: disableFocusHandler,\n\t\t\t};\n\t\t\tthis.#componentRef = this.#overlayRef.attach(\n\t\t\t\tnew ComponentPortal(\n\t\t\t\t\tPopoverContentComponent,\n\t\t\t\t\tthis.#vcr,\n\t\t\t\t\tInjector.create({\n\t\t\t\t\t\tproviders: [{ provide: POPOVER_CONFIG, useValue: config }],\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t).instance;\n\t\t\t// On tooltip leave => trigger close\n\t\t\tthis.#componentRef.mouseLeave$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.close$.next());\n\t\t\t// On tooltip enter => trigger open to keep it opened\n\t\t\tthis.#componentRef.mouseEnter$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.open$.next());\n\t\t\tthis.#componentRef.closed$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.opened.set(false));\n\t\t}\n\t}\n\n\t@HostListener('keydown.Tab', ['$event'])\n\tfocusBackToContent(event: KeyboardEvent): void {\n\t\tif (this.opened()) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.#componentRef.grabFocus();\n\t\t}\n\t}\n\n\t#buildPositions(): ConnectedPosition[] {\n\t\tconst opposite: Record<PopoverPosition, PopoverPosition> = {\n\t\t\tbefore: 'after',\n\t\t\tafter: 'before',\n\t\t\tabove: 'below',\n\t\t\tbelow: 'above',\n\t\t};\n\t\t// Once we have opposite, what's remaining?\n\t\tconst remaining: Record<PopoverPosition, PopoverPosition[]> = {\n\t\t\tbefore: ['above', 'below'],\n\t\t\tafter: ['above', 'below'],\n\t\t\tabove: ['before', 'after'],\n\t\t\tbelow: ['before', 'after'],\n\t\t};\n\t\treturn [this.positionPairs[this.luPopoverPosition], this.positionPairs[opposite[this.luPopoverPosition]], ...remaining[this.luPopoverPosition].map((r) => this.positionPairs[r])];\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nexport function configureLuPopover(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(OverlayModule)]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-popover2.mjs","sources":["../../../packages/ng/popover2/popover-focus-trap.ts","../../../packages/ng/popover2/popover-tokens.ts","../../../packages/ng/popover2/translations.ts","../../../packages/ng/popover2/popover.translate.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.html","../../../packages/ng/popover2/popover.directive.ts","../../../packages/ng/popover2/popover.providers.ts","../../../packages/ng/popover2/lucca-front-ng-popover2.ts"],"sourcesContent":["import { FocusTrap, InteractivityChecker } from '@angular/cdk/a11y';\nimport { inject, Injectable, NgZone } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable()\nexport class PopoverFocusTrap extends FocusTrap {\n\toverride startAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\toverride endAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\tconstructor(\n\t\telement: HTMLElement,\n\t\tprivate triggerElement: HTMLElement,\n\t) {\n\t\tsuper(element, inject(InteractivityChecker), inject(NgZone), inject(DOCUMENT), true);\n\t}\n}\n","import { InjectionToken, TemplateRef } from '@angular/core';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nexport interface PopoverConfig {\n\ttriggerElement: HTMLElement;\n\tcontent: TemplateRef<unknown>;\n\tref: OverlayRef;\n\tcontentId: string;\n\tdisableFocusManipulation: boolean;\n}\n\nexport const POPOVER_CONFIG = new InjectionToken<PopoverConfig>('Popover:Config');\n","export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_POPOVER2_TRANSLATIONS = new InjectionToken('LuPopover2Translations', {\n\tfactory: () => luPopoverTranslations,\n});\n\nexport interface ILuPopover2Label {\n\tclose: string;\n}\n\nexport const luPopoverTranslations: LuTranslation<ILuPopover2Label> = Translations;\n","import { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, HostBinding, HostListener, inject, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { PopoverFocusTrap } from '../../popover-focus-trap';\nimport { Subject } from 'rxjs';\nimport { POPOVER_CONFIG } from '../../popover-tokens';\nimport { LU_POPOVER2_TRANSLATIONS } from '../../popover.translate';\nimport { getIntl } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-popover-content',\n\tstandalone: true,\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent],\n\ttemplateUrl: './popover-content.component.html',\n\tstyleUrl: './popover-content.component.scss',\n\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PopoverContentComponent implements AfterViewInit {\n\tintl = getIntl(LU_POPOVER2_TRANSLATIONS);\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#config = inject(POPOVER_CONFIG);\n\n\tdestroyRef = inject(DestroyRef);\n\n\t@HostBinding('attr.id')\n\tcontentId = this.#config.contentId;\n\n\tcontent: TemplateRef<unknown> = this.#config.content;\n\n\t#focusManager = new PopoverFocusTrap(this.#elementRef.nativeElement, this.#config.triggerElement);\n\n\tclosed$ = new Subject<void>();\n\n\tmouseEnter$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tmouseEnter(): void {\n\t\tthis.mouseEnter$.next();\n\t}\n\n\tmouseLeave$ = new Subject<void>();\n\n\t@HostListener('mouseleave')\n\tmouseLeave(): void {\n\t\tthis.mouseLeave$.next();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.#focusManager.attachAnchors();\n\t\tif (!this.#config.disableFocusManipulation) {\n\t\t\tvoid this.#focusManager.focusInitialElementWhenReady();\n\t\t}\n\t}\n\n\tgrabFocus(): void {\n\t\tif (!this.#config.disableFocusManipulation) {\n\t\t\tthis.#focusManager.focusInitialElement();\n\t\t}\n\t}\n\n\t@HostListener('window:keydown.escape')\n\tclose(): void {\n\t\tif (!this.#config.disableFocusManipulation) {\n\t\t\t// Focus initial trigger element\n\t\t\tthis.#config.triggerElement.focus();\n\t\t}\n\t\t// Tell the directive we're closed now\n\t\tthis.closed$.next();\n\t\tthis.closed$.complete();\n\t\tthis.mouseEnter$.complete();\n\t\tthis.mouseLeave$.complete();\n\t\t// Detach overlay\n\t\tthis.#config.ref.dispose();\n\t}\n}\n","<div class=\"popover\">\n\t<div>\n\t\t<button type=\"button\" luButton class=\"popover-close\" (click)=\"close()\">\n\t\t\t<lu-icon icon=\"signClose\"></lu-icon>\n\t\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n","import { booleanAttribute, DestroyRef, Directive, ElementRef, HostBinding, HostListener, inject, Injector, input, Input, InputSignal, signal, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ConnectedPosition, ConnectionPositionPair, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { PopoverContentComponent } from './content/popover-content/popover-content.component';\nimport { POPOVER_CONFIG, PopoverConfig } from './popover-tokens';\nimport { combineLatest, debounce, filter, map, merge, Subject, switchMap, timer } from 'rxjs';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\n\nexport type PopoverPosition = 'above' | 'below' | 'before' | 'after';\n\nlet nextId = 0;\n\nconst defaultPositionPairs: Record<PopoverPosition, ConnectionPositionPair> = {\n\tabove: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'top' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'bottom',\n\t\t},\n\t),\n\tbelow: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'bottom' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'top',\n\t\t},\n\t),\n\tbefore: new ConnectionPositionPair(\n\t\t{ originX: 'start', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n\tafter: new ConnectionPositionPair(\n\t\t{ originX: 'end', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n};\n\n@Directive({\n\tselector: '[luPopover2]',\n\thost: {\n\t\t'[attr.aria-expanded]': 'opened()',\n\t},\n\tstandalone: true,\n})\nexport class PopoverDirective {\n\t#overlay = inject(Overlay);\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#vcr = inject(ViewContainerRef);\n\n\t#destroyRef = inject(DestroyRef);\n\n\t@Input({\n\t\talias: 'luPopover2',\n\t})\n\tcontent: TemplateRef<unknown>;\n\n\t@Input()\n\tluPopoverPosition: PopoverPosition = 'above';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tluPopoverDisabled = false;\n\n\tluPopoverTrigger = input<'click' | 'click+hover'>('click');\n\n\t@Input()\n\tcustomPositions?: ConnectionPositionPair[];\n\n\t// We have to type these two for Compodoc to find the right type and tell Storybook these aren't strings\n\tluPopoverOpenDelay: InputSignal<number> = input<number>(300);\n\n\tluPopoverCloseDelay: InputSignal<number> = input<number>(100);\n\n\topen$ = new Subject<void>();\n\n\tclose$ = new Subject<void>();\n\n\t#overlayRef: OverlayRef;\n\n\t#componentRef?: PopoverContentComponent;\n\n\tpositionPairs: Record<PopoverPosition, ConnectionPositionPair> = defaultPositionPairs;\n\n\topened = signal(false);\n\n\t@HostBinding('attr.aria-controls')\n\tariaControls = `popover-content-${nextId++}`;\n\n\tconstructor() {\n\t\tcombineLatest([toObservable(this.luPopoverOpenDelay), toObservable(this.luPopoverCloseDelay), toObservable(this.luPopoverTrigger)])\n\t\t\t.pipe(\n\t\t\t\tfilter(([, , trigger]) => {\n\t\t\t\t\treturn trigger.includes('hover');\n\t\t\t\t}),\n\t\t\t\tswitchMap(([openDelay, closeDelay]) => {\n\t\t\t\t\treturn merge(this.open$.pipe(map(() => 'open')), this.close$.pipe(map(() => 'close'))).pipe(\n\t\t\t\t\t\tdebounce((event) => {\n\t\t\t\t\t\t\treturn timer(event === 'open' ? openDelay : closeDelay);\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t)\n\t\t\t.subscribe((event) => {\n\t\t\t\tif (event === 'open') {\n\t\t\t\t\tthis.openPopover(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.#componentRef?.close();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tthis.open$.next();\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseLeave() {\n\t\tthis.close$.next();\n\t}\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tif (this.opened()) {\n\t\t\tthis.#componentRef?.close();\n\t\t} else {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\topenPopover(disableFocusHandler = false): void {\n\t\tif (!this.opened() && !this.luPopoverDisabled) {\n\t\t\tthis.opened.set(true);\n\t\t\tthis.#overlayRef = this.#overlay.create({\n\t\t\t\tpositionStrategy: this.#overlay\n\t\t\t\t\t.position()\n\t\t\t\t\t.flexibleConnectedTo(this.#elementRef)\n\t\t\t\t\t.withPositions(this.customPositions || this.#buildPositions()),\n\t\t\t\tscrollStrategy: this.#overlay.scrollStrategies.reposition(),\n\t\t\t\thasBackdrop: this.luPopoverTrigger() === 'click',\n\t\t\t\tbackdropClass: '',\n\t\t\t\tdisposeOnNavigation: true,\n\t\t\t});\n\t\t\t// Close on backdrop click even if backdrop is invisible\n\t\t\tthis.#overlayRef\n\t\t\t\t.backdropClick()\n\t\t\t\t.pipe(takeUntilDestroyed(this.#destroyRef))\n\t\t\t\t.subscribe(() => this.#componentRef.close());\n\t\t\tconst config: PopoverConfig = {\n\t\t\t\tcontent: this.content,\n\t\t\t\tref: this.#overlayRef,\n\t\t\t\tcontentId: this.ariaControls,\n\t\t\t\ttriggerElement: this.#elementRef.nativeElement,\n\t\t\t\tdisableFocusManipulation: disableFocusHandler,\n\t\t\t};\n\t\t\tthis.#componentRef = this.#overlayRef.attach(\n\t\t\t\tnew ComponentPortal(\n\t\t\t\t\tPopoverContentComponent,\n\t\t\t\t\tthis.#vcr,\n\t\t\t\t\tInjector.create({\n\t\t\t\t\t\tproviders: [{ provide: POPOVER_CONFIG, useValue: config }],\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t).instance;\n\t\t\t// On tooltip leave => trigger close\n\t\t\tthis.#componentRef.mouseLeave$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.close$.next());\n\t\t\t// On tooltip enter => trigger open to keep it opened\n\t\t\tthis.#componentRef.mouseEnter$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.open$.next());\n\t\t\tthis.#componentRef.closed$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.opened.set(false));\n\t\t}\n\t}\n\n\t@HostListener('keydown.Tab', ['$event'])\n\tfocusBackToContent(event: KeyboardEvent): void {\n\t\tif (this.opened()) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.#componentRef.grabFocus();\n\t\t}\n\t}\n\n\t#buildPositions(): ConnectedPosition[] {\n\t\tconst opposite: Record<PopoverPosition, PopoverPosition> = {\n\t\t\tbefore: 'after',\n\t\t\tafter: 'before',\n\t\t\tabove: 'below',\n\t\t\tbelow: 'above',\n\t\t};\n\t\t// Once we have opposite, what's remaining?\n\t\tconst remaining: Record<PopoverPosition, PopoverPosition[]> = {\n\t\t\tbefore: ['above', 'below'],\n\t\t\tafter: ['above', 'below'],\n\t\t\tabove: ['before', 'after'],\n\t\t\tbelow: ['before', 'after'],\n\t\t};\n\t\treturn [this.positionPairs[this.luPopoverPosition], this.positionPairs[opposite[this.luPopoverPosition]], ...remaining[this.luPopoverPosition].map((r) => this.positionPairs[r])];\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nexport function configureLuPopover(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(OverlayModule)]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -473,12 +473,13 @@ const LU_TIME_PICKER_TRANSLATIONS = new InjectionToken('LuTimePickerTranslations
|
|
|
473
473
|
});
|
|
474
474
|
const luTimePickerTranslations = Translations;
|
|
475
475
|
|
|
476
|
+
const MAX_TIME = '23:59:59';
|
|
476
477
|
class TimePickerComponent extends BasePickerComponent {
|
|
477
478
|
constructor() {
|
|
478
479
|
super(...arguments);
|
|
479
480
|
this.intl = getIntl(LU_TIME_PICKER_TRANSLATIONS);
|
|
480
481
|
this.value = model('--:--:--');
|
|
481
|
-
this.max = input(
|
|
482
|
+
this.max = input(MAX_TIME);
|
|
482
483
|
this.displayArrows = input(false, { transform: booleanAttribute });
|
|
483
484
|
this.timeChange = output();
|
|
484
485
|
this.hoursDisplay = computed(() => getHoursDisplayPartFromIsoTime(this.value()));
|
|
@@ -496,7 +497,7 @@ class TimePickerComponent extends BasePickerComponent {
|
|
|
496
497
|
this.separator = this.intl.timePickerTimeSeparator;
|
|
497
498
|
this.hoursDecimalConf = DEFAULT_TIME_DECIMAL_PIPE_FORMAT;
|
|
498
499
|
this.maxHours = computed(() => {
|
|
499
|
-
return getHoursPartFromIsoTime(this.max()
|
|
500
|
+
return getHoursPartFromIsoTime(this.max());
|
|
500
501
|
});
|
|
501
502
|
}
|
|
502
503
|
writeValue(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-time.mjs","sources":["../../../packages/ng/time/duration-picker/translations.ts","../../../packages/ng/time/duration-picker/duration-picker.translate.ts","../../../packages/ng/time/core/base-picker.component.ts","../../../packages/ng/time/core/date.utils.ts","../../../packages/ng/time/core/misc.utils.ts","../../../packages/ng/time/core/duration.utils.ts","../../../packages/ng/time/core/math.utils.ts","../../../packages/ng/time/core/repeat-on-hold.directive.ts","../../../packages/ng/time/core/time-picker-part.component.ts","../../../packages/ng/time/core/time-picker-part.component.html","../../../packages/ng/time/time-picker/time-picker.model.ts","../../../packages/ng/time/time-picker/translations.ts","../../../packages/ng/time/time-picker/time-picker.translate.ts","../../../packages/ng/time/time-picker/time-picker.component.ts","../../../packages/ng/time/time-picker/time-picker.component.html","../../../packages/ng/time/lucca-front-ng-time.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\ttimePickerHours: 'hours',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tde: {\n\t\ttimePickerHours: 'Stunden',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'Minuten',\n\t},\n\tfr: {\n\t\ttimePickerHours: 'heures',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tit: {\n\t\ttimePickerHours: 'ore',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minuti',\n\t},\n\tnl: {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\t'nl-BE': {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\tes: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n\tpt: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DURATION_PICKER_TRANSLATIONS = new InjectionToken('LuDurationPickerTranslations', {\n\tfactory: () => luDurationPickerTranslations,\n});\n\nexport type DurationPickerTranslations = {\n\ttimePickerHours: string;\n\ttimePickerTimeSeparator: string;\n\ttimePickerMinutes: string;\n};\n\nexport const luDurationPickerTranslations: LuTranslation<DurationPickerTranslations> = Translations;\n","import { ISO8601Duration, ISO8601Time } from './date-primitives';\nimport { Component, computed, input, model, ViewChild } from '@angular/core';\nimport { TimePickerPartComponent } from './time-picker-part.component';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Component({\n\ttemplate: '',\n})\nexport abstract class BasePickerComponent implements ControlValueAccessor {\n\tonChange: (value: ISO8601Time | ISO8601Duration) => void;\n\tonTouched: () => void;\n\n\tstep = input<ISO8601Duration>(null);\n\n\tdisabled = model(false);\n\n\tsize = input<'S' | 'M'>();\n\n\t@ViewChild('hoursPart')\n\thoursPart?: TimePickerPartComponent;\n\n\t@ViewChild('minutesPart')\n\tminutesPart?: TimePickerPartComponent;\n\n\tprotected hoursIncrement = computed(() => this.getHoursIncrement());\n\tprotected minutesIncrement = computed(() => this.getMinutesIncrement());\n\n\tregisterOnChange(fn: () => void): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tabstract writeValue(value: ISO8601Time | ISO8601Duration): void;\n\n\tabstract getHoursIncrement(): number;\n\n\tabstract getMinutesIncrement(): number;\n\n\tprotected focusPart(type: 'hours' | 'minutes') {\n\t\tthis.onTouched?.();\n\t\tif (type === 'hours') {\n\t\t\tif (this.hoursIncrement() === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.hoursPart?.focus();\n\t\t}\n\t\tif (type === 'minutes') {\n\t\t\tif (this.minutesIncrement() === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.minutesPart?.focus();\n\t\t}\n\t}\n}\n","import { ISO8601Time } from './date-primitives';\n\nexport const castToIsoTime = (str: string) => str as ISO8601Time;\n\nexport const convertStringToIsoTime = (time: string): ISO8601Time => {\n\tif (/^\\d{1,2}:\\d{2}:\\d{2}$/.test(time)) {\n\t\treturn castToIsoTime(time);\n\t}\n\n\tif (/^\\d{1,2}:\\d{2}$/.test(time)) {\n\t\treturn castToIsoTime(`${time}:00`);\n\t}\n\n\tif (/^\\d{1,2}h\\d{2}$/.test(time)) {\n\t\treturn convertStringToIsoTime(time.replace('h', ':'));\n\t}\n\n\tthrow new Error(`Invalid time format: ${time}`);\n};\n\nexport const createIsoTimeFromHoursAndMinutes = (hours: number, minutes: number, seconds: number = 0): ISO8601Time => {\n\tconst hoursStr = hours.toString().padStart(2, '0');\n\tconst minutesStr = minutes.toString().padStart(2, '0');\n\tconst secondsStr = seconds.toString().padStart(2, '0');\n\n\treturn `${hoursStr}:${minutesStr}:${secondsStr}`;\n};\n\nexport const isoTimeToSeconds = (time: ISO8601Time): number => {\n\treturn getHoursPartFromIsoTime(time) * 3600 + getMinutesPartFromIsoTime(time) * 60 + getSecondsPartFromIsoTime(time);\n};\n\nexport const getHoursPartFromIsoTime = (time: ISO8601Time): number => Number(time.split(':')[0]) || 0;\n\nexport const getMinutesPartFromIsoTime = (time: ISO8601Time): number => Number(time.split(':')[1]) || 0;\nexport const getSecondsPartFromIsoTime = (time: ISO8601Time): number => Number(time.split(':')[2]) || 0;\n\nexport const getHoursDisplayPartFromIsoTime = (time: ISO8601Time): number | '--' => {\n\tconst hours = time.split(':')[0];\n\tif (hours === '--') {\n\t\treturn hours;\n\t}\n\treturn Number(hours);\n};\n\nexport const getMinutesDisplayPartFromIsoTime = (time: ISO8601Time): number | '--' => {\n\tconst minutes = time.split(':')[1];\n\tif (minutes === '--') {\n\t\treturn minutes;\n\t}\n\treturn Number(minutes);\n};\n","export const isNil = <T>(value: T | null | undefined): value is null | undefined => typeof value === 'undefined' || value === null;\n\nexport const isNotNil = <T>(value: T): value is NonNullable<T> => !isNil(value);\n\nexport type PickerControlDirection = 'up' | 'down';\n","import { Duration } from 'date-fns';\nimport { ISO8601Duration } from './date-primitives';\nimport { isNotNil } from './misc.utils';\n\nexport type NonNullableDateFnsDuration = {\n\tyears: number;\n\tmonths: number;\n\tdays: number;\n\thours: number;\n\tminutes: number;\n\tseconds: number;\n};\n\ntype DateFnsDuration = Duration;\n\nconst ISO8601DurationRegExp =\n\t/^(?<sign>-)?P(?:(?<years>-?\\d+)Y)?(?:(?<months>-?\\d+)M)?(?:(?<weeks>-?\\d+)W)?(?:(?<days>-?\\d+)D)?(?:T(?:(?<hours>-?\\d+)H)?(?:(?<minutes>-?\\d+)M)?(?:(?<seconds>-?\\d+(?:\\.\\d+)?)S)?)?$/;\n\n// TODO memoize\nexport const isoDurationToDateFnsDuration = (isoDuration: ISO8601Duration): NonNullableDateFnsDuration => {\n\tconst matches = ISO8601DurationRegExp.exec(isoDuration);\n\n\tconst groups = matches?.groups;\n\n\tif (!groups) {\n\t\tthrow new Error(`Invalid ISO 8601 duration: ${isoDuration}`);\n\t}\n\n\tconst withSign = groups['sign'] === '-' ? -1 : 1;\n\n\tconst result: NonNullableDateFnsDuration = {\n\t\tyears: groups['years'] ? Number(groups['years']) : 0,\n\t\tmonths: groups['months'] ? Number(groups['months']) : 0,\n\t\tdays: groups['days'] ? Number(groups['days']) : 0,\n\t\thours: groups['hours'] ? Number(groups['hours']) : 0,\n\t\tminutes: groups['minutes'] ? Number(groups['minutes']) : 0,\n\t\tseconds: groups['seconds'] ? Number(groups['seconds']) : 0,\n\t};\n\n\tresult.years *= withSign;\n\tresult.months *= withSign;\n\tresult.days *= withSign;\n\tresult.hours *= withSign;\n\tresult.minutes *= withSign;\n\tresult.seconds *= withSign;\n\n\treturn result;\n};\n\nexport function isISO8601Duration(value: string): value is ISO8601Duration {\n\treturn ISO8601DurationRegExp.test(value);\n}\n\nexport const dateFnsDurationToSeconds = (durationFns: DateFnsDuration): number => {\n\tconst { years, months } = durationFns;\n\tlet { days, hours, minutes, seconds } = durationFns;\n\n\tif ((isNotNil(years) && years !== 0) || (isNotNil(months) && months !== 0)) {\n\t\tthrow new Error('years and months are not supported');\n\t}\n\n\tdays = days || 0;\n\thours = hours || 0;\n\tminutes = minutes || 0;\n\tseconds = seconds || 0;\n\n\treturn days * 24 * 60 * 60 + hours * 60 * 60 + minutes * 60 + seconds;\n};\n\nexport const isoDurationToSeconds = (duration: ISO8601Duration): number => {\n\tconst durationFns = isoDurationToDateFnsDuration(duration);\n\n\treturn dateFnsDurationToSeconds(durationFns);\n};\n\nexport const getHoursPartFromDuration = (duration: ISO8601Duration): number => {\n\treturn Math.floor(isoDurationToSeconds(duration) / 3600);\n};\n\nexport const getMinutesPartFromDuration = (duration: ISO8601Duration): number => {\n\treturn Math.floor((isoDurationToSeconds(duration) % 3600) / 60);\n};\n\nexport const createDurationFromHoursAndMinutes = (hours: number, minutes: number): ISO8601Duration => {\n\treturn `PT${hours}H${minutes}M`;\n};\n","export const roundToNearest = (value: number, step: number) => Math.round(value / step) * step;\n\nexport const floorToNearest = (value: number, step: number) => Math.floor(value / step) * step;\n\nexport const ceilToNearest = (value: number, step: number) => Math.ceil(value / step) * step;\n\n/**\n * Returns the value of n circularized between 0 and max.\n * Given n = 0 and max = 10, returns 0.\n * Given n = 10 and max = 10, returns 10.\n * Given n = 11 and max = 10, returns 1.\n * Given n = -1 and max = 10, returns 9.\n */\nexport const circularize = (n: number, max: number) => {\n\tif (n % max === 0) {\n\t\treturn n === 0 ? 0 : max;\n\t}\n\treturn ((n % max) + max) % max;\n};\n","import { Directive, ElementRef, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\n\nconst INITIAL_INTERVAL = 500;\n\n@Directive({\n\tselector: '[luRepeatOnHold]',\n\tstandalone: true,\n})\nexport class RepeatOnHoldDirective implements OnDestroy, OnInit {\n\t@Output() hold = new EventEmitter<void>();\n\n\tonMouseDown = () => {\n\t\tif (this.startTime !== undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hold.emit();\n\t\tthis.animationFrameId = window.requestAnimationFrame(this.animationFrameHandler);\n\n\t\twindow.removeEventListener('mouseup', this.onWindowMouseUp);\n\t\twindow.addEventListener('mouseup', this.onWindowMouseUp);\n\t};\n\n\tonWindowMouseUp = () => {\n\t\tthis.cancelAnimationFrame();\n\t};\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>) {}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.addEventListener('mousedown', this.onMouseDown);\n\t}\n\n\tinterval = INITIAL_INTERVAL;\n\tstartTime: number | undefined = undefined;\n\tpreviousTime: number | undefined = undefined;\n\tanimationFrameId: number | undefined = undefined;\n\n\tprivate cancelAnimationFrame(): void {\n\t\tif (this.animationFrameId) {\n\t\t\tthis.previousTime = undefined;\n\t\t\tthis.interval = INITIAL_INTERVAL;\n\t\t\tthis.startTime = undefined;\n\t\t\twindow.cancelAnimationFrame(this.animationFrameId);\n\t\t\tthis.animationFrameId = undefined;\n\t\t}\n\t}\n\n\tprivate animationFrameHandler = (time: number): void => {\n\t\tif (this.startTime === undefined) {\n\t\t\tthis.startTime = time;\n\t\t}\n\n\t\tif (this.previousTime === undefined) {\n\t\t\tthis.previousTime = time;\n\t\t}\n\n\t\tif (time - this.previousTime > this.interval) {\n\t\t\tthis.hold.emit();\n\t\t\tthis.previousTime = time;\n\t\t}\n\n\t\tif (time - this.startTime > 1000) {\n\t\t\tthis.interval = 200;\n\t\t}\n\n\t\tif (time - this.startTime > 2000) {\n\t\t\tthis.interval = 50;\n\t\t}\n\n\t\tthis.animationFrameId = window.requestAnimationFrame(this.animationFrameHandler);\n\t};\n\n\tngOnDestroy(): void {\n\t\tthis.elementRef.nativeElement.removeEventListener('mousedown', this.onMouseDown);\n\t\twindow.removeEventListener('mouseup', this.onWindowMouseUp);\n\t\tthis.cancelAnimationFrame();\n\t}\n}\n","import { DecimalPipe, formatNumber } from '@angular/common';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tinput,\n\tLOCALE_ID,\n\tmodel,\n\tModelSignal,\n\tnumberAttribute,\n\tOutput,\n\tViewChild,\n} from '@angular/core';\nimport { RepeatOnHoldDirective } from './repeat-on-hold.directive';\nimport { PickerControlDirection } from './misc.utils';\nimport { InputDirective } from '@lucca-front/ng/form-field';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-time-picker-part',\n\tstandalone: true,\n\timports: [RepeatOnHoldDirective, DecimalPipe, InputDirective],\n\ttemplateUrl: './time-picker-part.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TimePickerPartComponent {\n\tlabel = input('');\n\n\tdecimalConf = input('2.0-0');\n\n\tvalue: ModelSignal<number | '--'> = model('--');\n\n\tmax = input(0, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tdisplayArrows = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tisReadonly = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\thideValue = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tdisabled = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tfocused = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t@Output() prevRequest = new EventEmitter<void>();\n\t@Output() nextRequest = new EventEmitter<void>();\n\t@Output() inputControlClick = new EventEmitter<PickerControlDirection>();\n\t@Output() touched = new EventEmitter<void>();\n\n\t@ViewChild('timePickerInput') timePickerInput?: ElementRef<HTMLInputElement>;\n\n\tvalueLabel = computed(() => {\n\t\tif (this.hideValue()) {\n\t\t\treturn ' ';\n\t\t}\n\t\tconst value = this.value();\n\t\tif (value === '--') {\n\t\t\treturn value;\n\t\t}\n\t\treturn formatNumber(value, this.locale, this.decimalConf());\n\t});\n\n\tprotected inputId = `time-picker-part-${nextId++}`;\n\n\tconstructor(@Inject(LOCALE_ID) private locale: string) {}\n\n\tarrowKeyPressed(event: KeyboardEvent, isUpArrow: boolean): void {\n\t\tevent.preventDefault();\n\t\tthis.inputControlClick.emit(isUpArrow ? 'up' : 'down');\n\t}\n\n\tkeysInputHandler(event: Event): void {\n\t\tevent.preventDefault();\n\n\t\tif (!(event.target instanceof HTMLInputElement) || !(event instanceof InputEvent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.data && /\\D+/.test(event.data)) {\n\t\t\tevent.target.value = String(this.value());\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = event.target.value;\n\n\t\tlet val = value.slice(-2) || '00';\n\n\t\tif (this.max() && Number(val) * 10 > this.max()) {\n\t\t\tthis.moveRequest(event, 'next');\n\t\t}\n\n\t\tif (this.max() && Number(val) > this.max()) {\n\t\t\tval = value.slice(-1);\n\t\t}\n\n\t\tevent.target.value = val;\n\t\tthis.value.set(Number(val));\n\t}\n\n\tclearField(event: Event): void {\n\t\tif (event instanceof KeyboardEvent) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tthis.value.set(0);\n\t}\n\n\tclickHandler(event: MouseEvent) {\n\t\tevent.preventDefault();\n\t}\n\n\tup(): void {\n\t\tthis.inputControlClick.emit('up');\n\t}\n\n\tdown(): void {\n\t\tthis.inputControlClick.emit('down');\n\t}\n\n\tkeydownHandler(event: KeyboardEvent): void {\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.moveRequest(event, 'prev');\n\t\t\t\tbreak;\n\t\t\tcase 'H':\n\t\t\tcase 'h':\n\t\t\tcase ':':\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.moveRequest(event, 'next');\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\tcase 'Backspace':\n\t\t\t\tthis.clearField(event);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis.arrowKeyPressed(event, true);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis.arrowKeyPressed(event, false);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmoveRequest(event: Event, direction: 'prev' | 'next'): void {\n\t\tevent.preventDefault();\n\n\t\tif (direction === 'prev') {\n\t\t\tthis.prevRequest.emit();\n\t\t} else {\n\t\t\tthis.nextRequest.emit();\n\t\t}\n\t}\n\n\tfocus(): void {\n\t\tif (this.timePickerInput) {\n\t\t\tthis.timePickerInput.nativeElement.focus();\n\t\t}\n\t}\n}\n","<div class=\"timePicker-fieldset-group-textfield\">\n\t<label class=\"formLabel u-mask\" id=\"{{inputId}}-label\" for=\"{{inputId}}-input\">{{ label() }}</label>\n\t<div class=\"timePicker-fieldset-group-textfield\">\n\t\t<input\n\t\t\t#timePickerInput\n\t\t\ttype=\"text\"\n\t\t\tluInput\n\t\t\tluInputStandalone\n\t\t\tinputmode=\"numeric\"\n\t\t\tid=\"{{inputId}}-input\"\n\t\t\tclass=\"timePicker-fieldset-group-textfield-input\"\n\t\t\tattr.aria-labelledby=\"{{inputId}}-label\"\n\t\t\t[value]=\"hideValue() ? null : value()\"\n\t\t\t(input)=\"keysInputHandler($event)\"\n\t\t\t(click)=\"clickHandler($event)\"\n\t\t\t(keydown)=\"keydownHandler($event)\"\n\t\t\t(blur)=\"touched.emit()\"\n\t\t\t(focus)=\"timePickerInput.select()\"\n\t\t/>\n\t\t<span aria-hidden=\"true\" class=\"timePicker-fieldset-group-textfield-display\">{{ valueLabel() }}</span>\n\t</div>\n\t@if (displayArrows()) {\n\t<button class=\"timePicker-fieldset-group-stepper\" type=\"button\" tabindex=\"-1\" aria-hidden=\"true\" luRepeatOnHold (hold)=\"up()\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-northArrow\"></span>\n\t</button>\n\t<button class=\"timePicker-fieldset-group-stepper\" type=\"button\" tabindex=\"-1\" aria-hidden=\"true\" luRepeatOnHold (hold)=\"down()\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-southArrow\"></span>\n\t</button>\n\t}\n</div>\n","import { ISO8601Time } from '../core/date-primitives';\n\nexport type TimeChangeEvent = {\n\tpreviousValue: ISO8601Time | null;\n\tvalue: ISO8601Time;\n} & (\n\t| {\n\t\t\tsource: 'input' | 'paste';\n\t }\n\t| { source: 'control'; part: 'minutes' | 'hours'; direction: 'up' | 'down' }\n);\nexport const DEFAULT_MIN_TIME: ISO8601Time = '--:--:--';\n\nexport const DEFAULT_TIME_DECIMAL_PIPE_FORMAT = '2.0-0';\n","export const Translations = {\n\ten: {\n\t\ttimePickerHours: 'hours',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tde: {\n\t\ttimePickerHours: 'Stunden',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'Minuten',\n\t},\n\tfr: {\n\t\ttimePickerHours: 'heures',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tit: {\n\t\ttimePickerHours: 'ore',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minuti',\n\t},\n\tnl: {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\t'nl-BE': {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\tes: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n\tpt: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_TIME_PICKER_TRANSLATIONS = new InjectionToken('LuTimePickerTranslations', {\n\tfactory: () => luTimePickerTranslations,\n});\n\nexport type TimePickerTranslations = {\n\ttimePickerHours: string;\n\ttimePickerTimeSeparator: string;\n\ttimePickerMinutes: string;\n};\n\nexport const luTimePickerTranslations: LuTranslation<TimePickerTranslations> = Translations;\n","import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, Input, input, model, output, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { BasePickerComponent } from '../core/base-picker.component';\nimport { ISO8601Time } from '../core/date-primitives';\nimport {\n\tconvertStringToIsoTime,\n\tcreateIsoTimeFromHoursAndMinutes,\n\tgetHoursDisplayPartFromIsoTime,\n\tgetHoursPartFromIsoTime,\n\tgetMinutesDisplayPartFromIsoTime,\n\tgetMinutesPartFromIsoTime,\n\tisoTimeToSeconds,\n} from '../core/date.utils';\nimport { isoDurationToDateFnsDuration } from '../core/duration.utils';\nimport { ceilToNearest, circularize, floorToNearest, roundToNearest } from '../core/math.utils';\nimport { isNil, isNotNil, PickerControlDirection } from '../core/misc.utils';\nimport { TimePickerPartComponent } from '../core/time-picker-part.component';\nimport { DEFAULT_MIN_TIME, DEFAULT_TIME_DECIMAL_PIPE_FORMAT, TimeChangeEvent } from './time-picker.model';\nimport { LU_TIME_PICKER_TRANSLATIONS } from './time-picker.translate';\n\n@Component({\n\tselector: 'lu-time-picker',\n\tstandalone: true,\n\timports: [TimePickerPartComponent, NgClass],\n\ttemplateUrl: './time-picker.component.html',\n\tstyleUrls: ['./time-picker.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => TimePickerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TimePickerComponent extends BasePickerComponent {\n\tprotected intl = getIntl(LU_TIME_PICKER_TRANSLATIONS);\n\n\tvalue = model<ISO8601Time>('--:--:--');\n\tmax = input<ISO8601Time>(null);\n\n\tdisplayArrows = input(false, { transform: booleanAttribute });\n\n\t@Input() label: string;\n\n\ttimeChange = output<TimeChangeEvent>();\n\n\tprotected hoursDisplay = computed(() => getHoursDisplayPartFromIsoTime(this.value()));\n\tprotected minutesDisplay = computed(() => getMinutesDisplayPartFromIsoTime(this.value()));\n\n\tprotected hours = computed(() => getHoursPartFromIsoTime(this.value()));\n\tprotected minutes = computed(() => getMinutesPartFromIsoTime(this.value()));\n\tprotected pickerClasses = computed(() => {\n\t\treturn {\n\t\t\ttimePicker: true,\n\t\t\t'mod-stepper': this.displayArrows(),\n\t\t\t'mod-stepperHover': this.displayArrows(),\n\t\t\t[`mod-${this.size()}`]: Boolean(this.size()),\n\t\t};\n\t});\n\tprotected separator = this.intl.timePickerTimeSeparator;\n\n\tprotected hoursDecimalConf = DEFAULT_TIME_DECIMAL_PIPE_FORMAT;\n\n\tprotected maxHours = computed(() => {\n\t\treturn getHoursPartFromIsoTime(this.max() ?? '23:59:59');\n\t});\n\n\twriteValue(value: ISO8601Time): void {\n\t\tthis.value.set(value || '--:--:--');\n\t}\n\n\tsetDisabledState?(isDisabled: boolean): void {\n\t\tthis.disabled.set(isDisabled);\n\t}\n\n\tprotected hoursInputHandler(value: number | '--'): void {\n\t\tthis.setTime({\n\t\t\tpreviousValue: this.value(),\n\t\t\t// Mostly for compiler because we never set the time to -- with input handler\n\t\t\tvalue: createIsoTimeFromHoursAndMinutes(+value, this.minutes()),\n\t\t\tsource: 'input',\n\t\t});\n\t}\n\n\tprotected minutesInputHandler(value: number | '--'): void {\n\t\tthis.setTime({\n\t\t\tpreviousValue: this.value(),\n\t\t\t// Mostly for compiler because we never set the time to -- with input handler\n\t\t\tvalue: createIsoTimeFromHoursAndMinutes(this.hours(), +value),\n\t\t\tsource: 'input',\n\t\t});\n\t}\n\n\tprotected copyHandler(event: ClipboardEvent): void {\n\t\tevent.preventDefault();\n\t\t// write value to clipboard\n\t\tconst value = this.value();\n\t\tif (isNotNil(value)) {\n\t\t\tevent.clipboardData?.setData('text/plain', value);\n\t\t}\n\t}\n\n\tprotected pasteHandler(event: ClipboardEvent): void {\n\t\tevent.preventDefault();\n\t\tconst pastedValue = event.clipboardData?.getData('text/plain');\n\t\tif (isNotNil(pastedValue)) {\n\t\t\ttry {\n\t\t\t\tconst value = convertStringToIsoTime(pastedValue);\n\t\t\t\tthis.timeChange.emit({\n\t\t\t\t\tpreviousValue: this.value(),\n\t\t\t\t\tsource: 'paste',\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t\tthis.value.set(value);\n\t\t\t\tthis.onChange?.(value);\n\t\t\t} catch (e) {\n\t\t\t\t// do nothing\n\t\t\t}\n\t\t}\n\t}\n\n\toverride getHoursIncrement(): number {\n\t\tconst step = this.step();\n\t\tif (isNil(step)) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst { hours } = isoDurationToDateFnsDuration(step);\n\n\t\tif (hours === 0) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 24 % hours === 0 ? hours : 1;\n\t}\n\n\toverride getMinutesIncrement(): number | null {\n\t\tconst step = this.step();\n\t\tif (isNil(step)) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst { minutes } = isoDurationToDateFnsDuration(step);\n\n\t\tif (minutes === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn 60 % minutes === 0 ? minutes : 1;\n\t}\n\n\tprivate setTime(protoEvent: TimeChangeEvent): void {\n\t\tconst hoursPart = getHoursPartFromIsoTime(protoEvent.value);\n\t\tconst minutesPart = getMinutesPartFromIsoTime(protoEvent.value);\n\n\t\tconst max = isoTimeToSeconds(this.max());\n\n\t\tconst candidateTimeAsSeconds = hoursPart * 3600 + minutesPart * 60;\n\n\t\tconst seconds = roundToNearest(circularize(candidateTimeAsSeconds, max), 60);\n\n\t\tconst hours = Math.floor(seconds / 3600);\n\t\tconst minutes = Math.floor((seconds % 3600) / 60);\n\n\t\tconst result = createIsoTimeFromHoursAndMinutes(hours, minutes);\n\n\t\tthis.value.set(result);\n\t\tthis.onChange?.(result);\n\t\tthis.timeChange.emit({\n\t\t\t...protoEvent,\n\t\t\tvalue: result,\n\t\t});\n\t}\n\n\tprotected inputControlClickHandler(part: 'hours' | 'minutes', direction: PickerControlDirection): void {\n\t\tconst val = this.value() ?? DEFAULT_MIN_TIME;\n\t\tconst hoursPart = getHoursPartFromIsoTime(val);\n\t\tconst minutesPart = getMinutesPartFromIsoTime(val);\n\n\t\tconst selectedPart = part === 'hours' ? hoursPart : minutesPart;\n\t\tconst selectedIncrement = part === 'hours' ? this.hoursIncrement() : this.minutesIncrement();\n\t\tlet modifiedVal: number;\n\n\t\tif (selectedIncrement === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (direction === 'up') {\n\t\t\tmodifiedVal = floorToNearest(selectedPart + selectedIncrement, selectedIncrement);\n\t\t} else {\n\t\t\tmodifiedVal = ceilToNearest(selectedPart - selectedIncrement, selectedIncrement);\n\t\t}\n\n\t\tconst newTime = part === 'hours' ? createIsoTimeFromHoursAndMinutes(modifiedVal, minutesPart) : createIsoTimeFromHoursAndMinutes(hoursPart, modifiedVal);\n\n\t\tthis.setTime({\n\t\t\tsource: 'control',\n\t\t\tpreviousValue: this.value(),\n\t\t\tvalue: newTime,\n\t\t\tpart,\n\t\t\tdirection,\n\t\t});\n\t}\n\n\tpublic focus() {\n\t\tif (isNotNil(this.hoursPart)) {\n\t\t\tthis.focusPart('hours');\n\t\t}\n\t}\n}\n","<div [ngClass]=\"pickerClasses()\" (copy)=\"copyHandler($event)\" (paste)=\"pasteHandler($event)\">\n\t<fieldset class=\"timePicker-fieldset\" [disabled]=\"disabled()\">\n\t\t<legend><span class=\"u-mask\">{{ label }}</span></legend>\n\t\t<lu-time-picker-part\n\t\t\t#hoursPart\n\t\t\tclass=\"timePicker-fieldset-group\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[label]=\"intl.timePickerHours\"\n\t\t\t[value]=\"hoursDisplay()\"\n\t\t\t[max]=\"maxHours()\"\n\t\t\t[decimalConf]=\"hoursDecimalConf\"\n\t\t\t[displayArrows]=\"displayArrows()\"\n\t\t\t(touched)=\"onTouched?.()\"\n\t\t\t(valueChange)=\"hoursInputHandler($event)\"\n\t\t\t(nextRequest)=\"focusPart('minutes')\"\n\t\t\t(inputControlClick)=\"inputControlClickHandler('hours', $event)\"\n\t\t/>\n\t\t<div aria-hidden=\"true\" class=\"timePicker-fieldset-groupSeparator\">{{ separator }}</div>\n\t\t<lu-time-picker-part\n\t\t\t#minutesPart\n\t\t\tclass=\"timePicker-fieldset-group\"\n\t\t\t[label]=\"intl.timePickerMinutes\"\n\t\t\t[value]=\"minutesDisplay()\"\n\t\t\t[max]=\"59\"\n\t\t\t[displayArrows]=\"displayArrows()\"\n\t\t\t(touched)=\"onTouched?.()\"\n\t\t\t[disabled]=\"disabled() || !minutesIncrement()\"\n\t\t\t(valueChange)=\"minutesInputHandler($event)\"\n\t\t\t(prevRequest)=\"focusPart('hours')\"\n\t\t\t(inputControlClick)=\"inputControlClickHandler('minutes', $event)\"\n\t\t/>\n\t</fieldset>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Translations"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-time.mjs","sources":["../../../packages/ng/time/duration-picker/translations.ts","../../../packages/ng/time/duration-picker/duration-picker.translate.ts","../../../packages/ng/time/core/base-picker.component.ts","../../../packages/ng/time/core/date.utils.ts","../../../packages/ng/time/core/misc.utils.ts","../../../packages/ng/time/core/duration.utils.ts","../../../packages/ng/time/core/math.utils.ts","../../../packages/ng/time/core/repeat-on-hold.directive.ts","../../../packages/ng/time/core/time-picker-part.component.ts","../../../packages/ng/time/core/time-picker-part.component.html","../../../packages/ng/time/time-picker/time-picker.model.ts","../../../packages/ng/time/time-picker/translations.ts","../../../packages/ng/time/time-picker/time-picker.translate.ts","../../../packages/ng/time/time-picker/time-picker.component.ts","../../../packages/ng/time/time-picker/time-picker.component.html","../../../packages/ng/time/lucca-front-ng-time.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\ttimePickerHours: 'hours',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tde: {\n\t\ttimePickerHours: 'Stunden',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'Minuten',\n\t},\n\tfr: {\n\t\ttimePickerHours: 'heures',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tit: {\n\t\ttimePickerHours: 'ore',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minuti',\n\t},\n\tnl: {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\t'nl-BE': {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\tes: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n\tpt: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: 'h',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DURATION_PICKER_TRANSLATIONS = new InjectionToken('LuDurationPickerTranslations', {\n\tfactory: () => luDurationPickerTranslations,\n});\n\nexport type DurationPickerTranslations = {\n\ttimePickerHours: string;\n\ttimePickerTimeSeparator: string;\n\ttimePickerMinutes: string;\n};\n\nexport const luDurationPickerTranslations: LuTranslation<DurationPickerTranslations> = Translations;\n","import { ISO8601Duration, ISO8601Time } from './date-primitives';\nimport { Component, computed, input, model, ViewChild } from '@angular/core';\nimport { TimePickerPartComponent } from './time-picker-part.component';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Component({\n\ttemplate: '',\n})\nexport abstract class BasePickerComponent implements ControlValueAccessor {\n\tonChange: (value: ISO8601Time | ISO8601Duration) => void;\n\tonTouched: () => void;\n\n\tstep = input<ISO8601Duration>(null);\n\n\tdisabled = model(false);\n\n\tsize = input<'S' | 'M'>();\n\n\t@ViewChild('hoursPart')\n\thoursPart?: TimePickerPartComponent;\n\n\t@ViewChild('minutesPart')\n\tminutesPart?: TimePickerPartComponent;\n\n\tprotected hoursIncrement = computed(() => this.getHoursIncrement());\n\tprotected minutesIncrement = computed(() => this.getMinutesIncrement());\n\n\tregisterOnChange(fn: () => void): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tabstract writeValue(value: ISO8601Time | ISO8601Duration): void;\n\n\tabstract getHoursIncrement(): number;\n\n\tabstract getMinutesIncrement(): number;\n\n\tprotected focusPart(type: 'hours' | 'minutes') {\n\t\tthis.onTouched?.();\n\t\tif (type === 'hours') {\n\t\t\tif (this.hoursIncrement() === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.hoursPart?.focus();\n\t\t}\n\t\tif (type === 'minutes') {\n\t\t\tif (this.minutesIncrement() === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.minutesPart?.focus();\n\t\t}\n\t}\n}\n","import { ISO8601Time } from './date-primitives';\n\nexport const castToIsoTime = (str: string) => str as ISO8601Time;\n\nexport const convertStringToIsoTime = (time: string): ISO8601Time => {\n\tif (/^\\d{1,2}:\\d{2}:\\d{2}$/.test(time)) {\n\t\treturn castToIsoTime(time);\n\t}\n\n\tif (/^\\d{1,2}:\\d{2}$/.test(time)) {\n\t\treturn castToIsoTime(`${time}:00`);\n\t}\n\n\tif (/^\\d{1,2}h\\d{2}$/.test(time)) {\n\t\treturn convertStringToIsoTime(time.replace('h', ':'));\n\t}\n\n\tthrow new Error(`Invalid time format: ${time}`);\n};\n\nexport const createIsoTimeFromHoursAndMinutes = (hours: number, minutes: number, seconds: number = 0): ISO8601Time => {\n\tconst hoursStr = hours.toString().padStart(2, '0');\n\tconst minutesStr = minutes.toString().padStart(2, '0');\n\tconst secondsStr = seconds.toString().padStart(2, '0');\n\n\treturn `${hoursStr}:${minutesStr}:${secondsStr}`;\n};\n\nexport const isoTimeToSeconds = (time: ISO8601Time): number => {\n\treturn getHoursPartFromIsoTime(time) * 3600 + getMinutesPartFromIsoTime(time) * 60 + getSecondsPartFromIsoTime(time);\n};\n\nexport const getHoursPartFromIsoTime = (time: ISO8601Time): number => Number(time.split(':')[0]) || 0;\n\nexport const getMinutesPartFromIsoTime = (time: ISO8601Time): number => Number(time.split(':')[1]) || 0;\nexport const getSecondsPartFromIsoTime = (time: ISO8601Time): number => Number(time.split(':')[2]) || 0;\n\nexport const getHoursDisplayPartFromIsoTime = (time: ISO8601Time): number | '--' => {\n\tconst hours = time.split(':')[0];\n\tif (hours === '--') {\n\t\treturn hours;\n\t}\n\treturn Number(hours);\n};\n\nexport const getMinutesDisplayPartFromIsoTime = (time: ISO8601Time): number | '--' => {\n\tconst minutes = time.split(':')[1];\n\tif (minutes === '--') {\n\t\treturn minutes;\n\t}\n\treturn Number(minutes);\n};\n","export const isNil = <T>(value: T | null | undefined): value is null | undefined => typeof value === 'undefined' || value === null;\n\nexport const isNotNil = <T>(value: T): value is NonNullable<T> => !isNil(value);\n\nexport type PickerControlDirection = 'up' | 'down';\n","import { Duration } from 'date-fns';\nimport { ISO8601Duration } from './date-primitives';\nimport { isNotNil } from './misc.utils';\n\nexport type NonNullableDateFnsDuration = {\n\tyears: number;\n\tmonths: number;\n\tdays: number;\n\thours: number;\n\tminutes: number;\n\tseconds: number;\n};\n\ntype DateFnsDuration = Duration;\n\nconst ISO8601DurationRegExp =\n\t/^(?<sign>-)?P(?:(?<years>-?\\d+)Y)?(?:(?<months>-?\\d+)M)?(?:(?<weeks>-?\\d+)W)?(?:(?<days>-?\\d+)D)?(?:T(?:(?<hours>-?\\d+)H)?(?:(?<minutes>-?\\d+)M)?(?:(?<seconds>-?\\d+(?:\\.\\d+)?)S)?)?$/;\n\n// TODO memoize\nexport const isoDurationToDateFnsDuration = (isoDuration: ISO8601Duration): NonNullableDateFnsDuration => {\n\tconst matches = ISO8601DurationRegExp.exec(isoDuration);\n\n\tconst groups = matches?.groups;\n\n\tif (!groups) {\n\t\tthrow new Error(`Invalid ISO 8601 duration: ${isoDuration}`);\n\t}\n\n\tconst withSign = groups['sign'] === '-' ? -1 : 1;\n\n\tconst result: NonNullableDateFnsDuration = {\n\t\tyears: groups['years'] ? Number(groups['years']) : 0,\n\t\tmonths: groups['months'] ? Number(groups['months']) : 0,\n\t\tdays: groups['days'] ? Number(groups['days']) : 0,\n\t\thours: groups['hours'] ? Number(groups['hours']) : 0,\n\t\tminutes: groups['minutes'] ? Number(groups['minutes']) : 0,\n\t\tseconds: groups['seconds'] ? Number(groups['seconds']) : 0,\n\t};\n\n\tresult.years *= withSign;\n\tresult.months *= withSign;\n\tresult.days *= withSign;\n\tresult.hours *= withSign;\n\tresult.minutes *= withSign;\n\tresult.seconds *= withSign;\n\n\treturn result;\n};\n\nexport function isISO8601Duration(value: string): value is ISO8601Duration {\n\treturn ISO8601DurationRegExp.test(value);\n}\n\nexport const dateFnsDurationToSeconds = (durationFns: DateFnsDuration): number => {\n\tconst { years, months } = durationFns;\n\tlet { days, hours, minutes, seconds } = durationFns;\n\n\tif ((isNotNil(years) && years !== 0) || (isNotNil(months) && months !== 0)) {\n\t\tthrow new Error('years and months are not supported');\n\t}\n\n\tdays = days || 0;\n\thours = hours || 0;\n\tminutes = minutes || 0;\n\tseconds = seconds || 0;\n\n\treturn days * 24 * 60 * 60 + hours * 60 * 60 + minutes * 60 + seconds;\n};\n\nexport const isoDurationToSeconds = (duration: ISO8601Duration): number => {\n\tconst durationFns = isoDurationToDateFnsDuration(duration);\n\n\treturn dateFnsDurationToSeconds(durationFns);\n};\n\nexport const getHoursPartFromDuration = (duration: ISO8601Duration): number => {\n\treturn Math.floor(isoDurationToSeconds(duration) / 3600);\n};\n\nexport const getMinutesPartFromDuration = (duration: ISO8601Duration): number => {\n\treturn Math.floor((isoDurationToSeconds(duration) % 3600) / 60);\n};\n\nexport const createDurationFromHoursAndMinutes = (hours: number, minutes: number): ISO8601Duration => {\n\treturn `PT${hours}H${minutes}M`;\n};\n","export const roundToNearest = (value: number, step: number) => Math.round(value / step) * step;\n\nexport const floorToNearest = (value: number, step: number) => Math.floor(value / step) * step;\n\nexport const ceilToNearest = (value: number, step: number) => Math.ceil(value / step) * step;\n\n/**\n * Returns the value of n circularized between 0 and max.\n * Given n = 0 and max = 10, returns 0.\n * Given n = 10 and max = 10, returns 10.\n * Given n = 11 and max = 10, returns 1.\n * Given n = -1 and max = 10, returns 9.\n */\nexport const circularize = (n: number, max: number) => {\n\tif (n % max === 0) {\n\t\treturn n === 0 ? 0 : max;\n\t}\n\treturn ((n % max) + max) % max;\n};\n","import { Directive, ElementRef, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\n\nconst INITIAL_INTERVAL = 500;\n\n@Directive({\n\tselector: '[luRepeatOnHold]',\n\tstandalone: true,\n})\nexport class RepeatOnHoldDirective implements OnDestroy, OnInit {\n\t@Output() hold = new EventEmitter<void>();\n\n\tonMouseDown = () => {\n\t\tif (this.startTime !== undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hold.emit();\n\t\tthis.animationFrameId = window.requestAnimationFrame(this.animationFrameHandler);\n\n\t\twindow.removeEventListener('mouseup', this.onWindowMouseUp);\n\t\twindow.addEventListener('mouseup', this.onWindowMouseUp);\n\t};\n\n\tonWindowMouseUp = () => {\n\t\tthis.cancelAnimationFrame();\n\t};\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>) {}\n\n\tngOnInit(): void {\n\t\tthis.elementRef.nativeElement.addEventListener('mousedown', this.onMouseDown);\n\t}\n\n\tinterval = INITIAL_INTERVAL;\n\tstartTime: number | undefined = undefined;\n\tpreviousTime: number | undefined = undefined;\n\tanimationFrameId: number | undefined = undefined;\n\n\tprivate cancelAnimationFrame(): void {\n\t\tif (this.animationFrameId) {\n\t\t\tthis.previousTime = undefined;\n\t\t\tthis.interval = INITIAL_INTERVAL;\n\t\t\tthis.startTime = undefined;\n\t\t\twindow.cancelAnimationFrame(this.animationFrameId);\n\t\t\tthis.animationFrameId = undefined;\n\t\t}\n\t}\n\n\tprivate animationFrameHandler = (time: number): void => {\n\t\tif (this.startTime === undefined) {\n\t\t\tthis.startTime = time;\n\t\t}\n\n\t\tif (this.previousTime === undefined) {\n\t\t\tthis.previousTime = time;\n\t\t}\n\n\t\tif (time - this.previousTime > this.interval) {\n\t\t\tthis.hold.emit();\n\t\t\tthis.previousTime = time;\n\t\t}\n\n\t\tif (time - this.startTime > 1000) {\n\t\t\tthis.interval = 200;\n\t\t}\n\n\t\tif (time - this.startTime > 2000) {\n\t\t\tthis.interval = 50;\n\t\t}\n\n\t\tthis.animationFrameId = window.requestAnimationFrame(this.animationFrameHandler);\n\t};\n\n\tngOnDestroy(): void {\n\t\tthis.elementRef.nativeElement.removeEventListener('mousedown', this.onMouseDown);\n\t\twindow.removeEventListener('mouseup', this.onWindowMouseUp);\n\t\tthis.cancelAnimationFrame();\n\t}\n}\n","import { DecimalPipe, formatNumber } from '@angular/common';\nimport {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tinput,\n\tLOCALE_ID,\n\tmodel,\n\tModelSignal,\n\tnumberAttribute,\n\tOutput,\n\tViewChild,\n} from '@angular/core';\nimport { RepeatOnHoldDirective } from './repeat-on-hold.directive';\nimport { PickerControlDirection } from './misc.utils';\nimport { InputDirective } from '@lucca-front/ng/form-field';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-time-picker-part',\n\tstandalone: true,\n\timports: [RepeatOnHoldDirective, DecimalPipe, InputDirective],\n\ttemplateUrl: './time-picker-part.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TimePickerPartComponent {\n\tlabel = input('');\n\n\tdecimalConf = input('2.0-0');\n\n\tvalue: ModelSignal<number | '--'> = model('--');\n\n\tmax = input(0, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tdisplayArrows = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tisReadonly = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\thideValue = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tdisabled = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tfocused = input(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t@Output() prevRequest = new EventEmitter<void>();\n\t@Output() nextRequest = new EventEmitter<void>();\n\t@Output() inputControlClick = new EventEmitter<PickerControlDirection>();\n\t@Output() touched = new EventEmitter<void>();\n\n\t@ViewChild('timePickerInput') timePickerInput?: ElementRef<HTMLInputElement>;\n\n\tvalueLabel = computed(() => {\n\t\tif (this.hideValue()) {\n\t\t\treturn ' ';\n\t\t}\n\t\tconst value = this.value();\n\t\tif (value === '--') {\n\t\t\treturn value;\n\t\t}\n\t\treturn formatNumber(value, this.locale, this.decimalConf());\n\t});\n\n\tprotected inputId = `time-picker-part-${nextId++}`;\n\n\tconstructor(@Inject(LOCALE_ID) private locale: string) {}\n\n\tarrowKeyPressed(event: KeyboardEvent, isUpArrow: boolean): void {\n\t\tevent.preventDefault();\n\t\tthis.inputControlClick.emit(isUpArrow ? 'up' : 'down');\n\t}\n\n\tkeysInputHandler(event: Event): void {\n\t\tevent.preventDefault();\n\n\t\tif (!(event.target instanceof HTMLInputElement) || !(event instanceof InputEvent)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.data && /\\D+/.test(event.data)) {\n\t\t\tevent.target.value = String(this.value());\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = event.target.value;\n\n\t\tlet val = value.slice(-2) || '00';\n\n\t\tif (this.max() && Number(val) * 10 > this.max()) {\n\t\t\tthis.moveRequest(event, 'next');\n\t\t}\n\n\t\tif (this.max() && Number(val) > this.max()) {\n\t\t\tval = value.slice(-1);\n\t\t}\n\n\t\tevent.target.value = val;\n\t\tthis.value.set(Number(val));\n\t}\n\n\tclearField(event: Event): void {\n\t\tif (event instanceof KeyboardEvent) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tthis.value.set(0);\n\t}\n\n\tclickHandler(event: MouseEvent) {\n\t\tevent.preventDefault();\n\t}\n\n\tup(): void {\n\t\tthis.inputControlClick.emit('up');\n\t}\n\n\tdown(): void {\n\t\tthis.inputControlClick.emit('down');\n\t}\n\n\tkeydownHandler(event: KeyboardEvent): void {\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.moveRequest(event, 'prev');\n\t\t\t\tbreak;\n\t\t\tcase 'H':\n\t\t\tcase 'h':\n\t\t\tcase ':':\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.moveRequest(event, 'next');\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\tcase 'Backspace':\n\t\t\t\tthis.clearField(event);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tthis.arrowKeyPressed(event, true);\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tthis.arrowKeyPressed(event, false);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmoveRequest(event: Event, direction: 'prev' | 'next'): void {\n\t\tevent.preventDefault();\n\n\t\tif (direction === 'prev') {\n\t\t\tthis.prevRequest.emit();\n\t\t} else {\n\t\t\tthis.nextRequest.emit();\n\t\t}\n\t}\n\n\tfocus(): void {\n\t\tif (this.timePickerInput) {\n\t\t\tthis.timePickerInput.nativeElement.focus();\n\t\t}\n\t}\n}\n","<div class=\"timePicker-fieldset-group-textfield\">\n\t<label class=\"formLabel u-mask\" id=\"{{inputId}}-label\" for=\"{{inputId}}-input\">{{ label() }}</label>\n\t<div class=\"timePicker-fieldset-group-textfield\">\n\t\t<input\n\t\t\t#timePickerInput\n\t\t\ttype=\"text\"\n\t\t\tluInput\n\t\t\tluInputStandalone\n\t\t\tinputmode=\"numeric\"\n\t\t\tid=\"{{inputId}}-input\"\n\t\t\tclass=\"timePicker-fieldset-group-textfield-input\"\n\t\t\tattr.aria-labelledby=\"{{inputId}}-label\"\n\t\t\t[value]=\"hideValue() ? null : value()\"\n\t\t\t(input)=\"keysInputHandler($event)\"\n\t\t\t(click)=\"clickHandler($event)\"\n\t\t\t(keydown)=\"keydownHandler($event)\"\n\t\t\t(blur)=\"touched.emit()\"\n\t\t\t(focus)=\"timePickerInput.select()\"\n\t\t/>\n\t\t<span aria-hidden=\"true\" class=\"timePicker-fieldset-group-textfield-display\">{{ valueLabel() }}</span>\n\t</div>\n\t@if (displayArrows()) {\n\t<button class=\"timePicker-fieldset-group-stepper\" type=\"button\" tabindex=\"-1\" aria-hidden=\"true\" luRepeatOnHold (hold)=\"up()\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-northArrow\"></span>\n\t</button>\n\t<button class=\"timePicker-fieldset-group-stepper\" type=\"button\" tabindex=\"-1\" aria-hidden=\"true\" luRepeatOnHold (hold)=\"down()\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-southArrow\"></span>\n\t</button>\n\t}\n</div>\n","import { ISO8601Time } from '../core/date-primitives';\n\nexport type TimeChangeEvent = {\n\tpreviousValue: ISO8601Time | null;\n\tvalue: ISO8601Time;\n} & (\n\t| {\n\t\t\tsource: 'input' | 'paste';\n\t }\n\t| { source: 'control'; part: 'minutes' | 'hours'; direction: 'up' | 'down' }\n);\nexport const DEFAULT_MIN_TIME: ISO8601Time = '--:--:--';\n\nexport const DEFAULT_TIME_DECIMAL_PIPE_FORMAT = '2.0-0';\n","export const Translations = {\n\ten: {\n\t\ttimePickerHours: 'hours',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tde: {\n\t\ttimePickerHours: 'Stunden',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'Minuten',\n\t},\n\tfr: {\n\t\ttimePickerHours: 'heures',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutes',\n\t},\n\tit: {\n\t\ttimePickerHours: 'ore',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minuti',\n\t},\n\tnl: {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\t'nl-BE': {\n\t\ttimePickerHours: 'uren',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minuten',\n\t},\n\tes: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n\tpt: {\n\t\ttimePickerHours: 'horas',\n\t\ttimePickerTimeSeparator: ':',\n\t\ttimePickerMinutes: 'minutos',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_TIME_PICKER_TRANSLATIONS = new InjectionToken('LuTimePickerTranslations', {\n\tfactory: () => luTimePickerTranslations,\n});\n\nexport type TimePickerTranslations = {\n\ttimePickerHours: string;\n\ttimePickerTimeSeparator: string;\n\ttimePickerMinutes: string;\n};\n\nexport const luTimePickerTranslations: LuTranslation<TimePickerTranslations> = Translations;\n","import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, Input, input, model, output, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { BasePickerComponent } from '../core/base-picker.component';\nimport { ISO8601Time } from '../core/date-primitives';\nimport {\n\tconvertStringToIsoTime,\n\tcreateIsoTimeFromHoursAndMinutes,\n\tgetHoursDisplayPartFromIsoTime,\n\tgetHoursPartFromIsoTime,\n\tgetMinutesDisplayPartFromIsoTime,\n\tgetMinutesPartFromIsoTime,\n\tisoTimeToSeconds,\n} from '../core/date.utils';\nimport { isoDurationToDateFnsDuration } from '../core/duration.utils';\nimport { ceilToNearest, circularize, floorToNearest, roundToNearest } from '../core/math.utils';\nimport { isNil, isNotNil, PickerControlDirection } from '../core/misc.utils';\nimport { TimePickerPartComponent } from '../core/time-picker-part.component';\nimport { DEFAULT_MIN_TIME, DEFAULT_TIME_DECIMAL_PIPE_FORMAT, TimeChangeEvent } from './time-picker.model';\nimport { LU_TIME_PICKER_TRANSLATIONS } from './time-picker.translate';\n\nconst MAX_TIME = '23:59:59';\n\n@Component({\n\tselector: 'lu-time-picker',\n\tstandalone: true,\n\timports: [TimePickerPartComponent, NgClass],\n\ttemplateUrl: './time-picker.component.html',\n\tstyleUrls: ['./time-picker.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => TimePickerComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TimePickerComponent extends BasePickerComponent {\n\tprotected intl = getIntl(LU_TIME_PICKER_TRANSLATIONS);\n\n\tvalue = model<ISO8601Time>('--:--:--');\n\tmax = input<ISO8601Time>(MAX_TIME);\n\n\tdisplayArrows = input(false, { transform: booleanAttribute });\n\n\t@Input() label: string;\n\n\ttimeChange = output<TimeChangeEvent>();\n\n\tprotected hoursDisplay = computed(() => getHoursDisplayPartFromIsoTime(this.value()));\n\tprotected minutesDisplay = computed(() => getMinutesDisplayPartFromIsoTime(this.value()));\n\n\tprotected hours = computed(() => getHoursPartFromIsoTime(this.value()));\n\tprotected minutes = computed(() => getMinutesPartFromIsoTime(this.value()));\n\tprotected pickerClasses = computed(() => {\n\t\treturn {\n\t\t\ttimePicker: true,\n\t\t\t'mod-stepper': this.displayArrows(),\n\t\t\t'mod-stepperHover': this.displayArrows(),\n\t\t\t[`mod-${this.size()}`]: Boolean(this.size()),\n\t\t};\n\t});\n\tprotected separator = this.intl.timePickerTimeSeparator;\n\n\tprotected hoursDecimalConf = DEFAULT_TIME_DECIMAL_PIPE_FORMAT;\n\n\tprotected maxHours = computed(() => {\n\t\treturn getHoursPartFromIsoTime(this.max());\n\t});\n\n\twriteValue(value: ISO8601Time): void {\n\t\tthis.value.set(value || '--:--:--');\n\t}\n\n\tsetDisabledState?(isDisabled: boolean): void {\n\t\tthis.disabled.set(isDisabled);\n\t}\n\n\tprotected hoursInputHandler(value: number | '--'): void {\n\t\tthis.setTime({\n\t\t\tpreviousValue: this.value(),\n\t\t\t// Mostly for compiler because we never set the time to -- with input handler\n\t\t\tvalue: createIsoTimeFromHoursAndMinutes(+value, this.minutes()),\n\t\t\tsource: 'input',\n\t\t});\n\t}\n\n\tprotected minutesInputHandler(value: number | '--'): void {\n\t\tthis.setTime({\n\t\t\tpreviousValue: this.value(),\n\t\t\t// Mostly for compiler because we never set the time to -- with input handler\n\t\t\tvalue: createIsoTimeFromHoursAndMinutes(this.hours(), +value),\n\t\t\tsource: 'input',\n\t\t});\n\t}\n\n\tprotected copyHandler(event: ClipboardEvent): void {\n\t\tevent.preventDefault();\n\t\t// write value to clipboard\n\t\tconst value = this.value();\n\t\tif (isNotNil(value)) {\n\t\t\tevent.clipboardData?.setData('text/plain', value);\n\t\t}\n\t}\n\n\tprotected pasteHandler(event: ClipboardEvent): void {\n\t\tevent.preventDefault();\n\t\tconst pastedValue = event.clipboardData?.getData('text/plain');\n\t\tif (isNotNil(pastedValue)) {\n\t\t\ttry {\n\t\t\t\tconst value = convertStringToIsoTime(pastedValue);\n\t\t\t\tthis.timeChange.emit({\n\t\t\t\t\tpreviousValue: this.value(),\n\t\t\t\t\tsource: 'paste',\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\t\t\t\tthis.value.set(value);\n\t\t\t\tthis.onChange?.(value);\n\t\t\t} catch (e) {\n\t\t\t\t// do nothing\n\t\t\t}\n\t\t}\n\t}\n\n\toverride getHoursIncrement(): number {\n\t\tconst step = this.step();\n\t\tif (isNil(step)) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst { hours } = isoDurationToDateFnsDuration(step);\n\n\t\tif (hours === 0) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 24 % hours === 0 ? hours : 1;\n\t}\n\n\toverride getMinutesIncrement(): number | null {\n\t\tconst step = this.step();\n\t\tif (isNil(step)) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst { minutes } = isoDurationToDateFnsDuration(step);\n\n\t\tif (minutes === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn 60 % minutes === 0 ? minutes : 1;\n\t}\n\n\tprivate setTime(protoEvent: TimeChangeEvent): void {\n\t\tconst hoursPart = getHoursPartFromIsoTime(protoEvent.value);\n\t\tconst minutesPart = getMinutesPartFromIsoTime(protoEvent.value);\n\n\t\tconst max = isoTimeToSeconds(this.max());\n\n\t\tconst candidateTimeAsSeconds = hoursPart * 3600 + minutesPart * 60;\n\n\t\tconst seconds = roundToNearest(circularize(candidateTimeAsSeconds, max), 60);\n\n\t\tconst hours = Math.floor(seconds / 3600);\n\t\tconst minutes = Math.floor((seconds % 3600) / 60);\n\n\t\tconst result = createIsoTimeFromHoursAndMinutes(hours, minutes);\n\n\t\tthis.value.set(result);\n\t\tthis.onChange?.(result);\n\t\tthis.timeChange.emit({\n\t\t\t...protoEvent,\n\t\t\tvalue: result,\n\t\t});\n\t}\n\n\tprotected inputControlClickHandler(part: 'hours' | 'minutes', direction: PickerControlDirection): void {\n\t\tconst val = this.value() ?? DEFAULT_MIN_TIME;\n\t\tconst hoursPart = getHoursPartFromIsoTime(val);\n\t\tconst minutesPart = getMinutesPartFromIsoTime(val);\n\n\t\tconst selectedPart = part === 'hours' ? hoursPart : minutesPart;\n\t\tconst selectedIncrement = part === 'hours' ? this.hoursIncrement() : this.minutesIncrement();\n\t\tlet modifiedVal: number;\n\n\t\tif (selectedIncrement === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (direction === 'up') {\n\t\t\tmodifiedVal = floorToNearest(selectedPart + selectedIncrement, selectedIncrement);\n\t\t} else {\n\t\t\tmodifiedVal = ceilToNearest(selectedPart - selectedIncrement, selectedIncrement);\n\t\t}\n\n\t\tconst newTime = part === 'hours' ? createIsoTimeFromHoursAndMinutes(modifiedVal, minutesPart) : createIsoTimeFromHoursAndMinutes(hoursPart, modifiedVal);\n\n\t\tthis.setTime({\n\t\t\tsource: 'control',\n\t\t\tpreviousValue: this.value(),\n\t\t\tvalue: newTime,\n\t\t\tpart,\n\t\t\tdirection,\n\t\t});\n\t}\n\n\tpublic focus() {\n\t\tif (isNotNil(this.hoursPart)) {\n\t\t\tthis.focusPart('hours');\n\t\t}\n\t}\n}\n","<div [ngClass]=\"pickerClasses()\" (copy)=\"copyHandler($event)\" (paste)=\"pasteHandler($event)\">\n\t<fieldset class=\"timePicker-fieldset\" [disabled]=\"disabled()\">\n\t\t<legend><span class=\"u-mask\">{{ label }}</span></legend>\n\t\t<lu-time-picker-part\n\t\t\t#hoursPart\n\t\t\tclass=\"timePicker-fieldset-group\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[label]=\"intl.timePickerHours\"\n\t\t\t[value]=\"hoursDisplay()\"\n\t\t\t[max]=\"maxHours()\"\n\t\t\t[decimalConf]=\"hoursDecimalConf\"\n\t\t\t[displayArrows]=\"displayArrows()\"\n\t\t\t(touched)=\"onTouched?.()\"\n\t\t\t(valueChange)=\"hoursInputHandler($event)\"\n\t\t\t(nextRequest)=\"focusPart('minutes')\"\n\t\t\t(inputControlClick)=\"inputControlClickHandler('hours', $event)\"\n\t\t/>\n\t\t<div aria-hidden=\"true\" class=\"timePicker-fieldset-groupSeparator\">{{ separator }}</div>\n\t\t<lu-time-picker-part\n\t\t\t#minutesPart\n\t\t\tclass=\"timePicker-fieldset-group\"\n\t\t\t[label]=\"intl.timePickerMinutes\"\n\t\t\t[value]=\"minutesDisplay()\"\n\t\t\t[max]=\"59\"\n\t\t\t[displayArrows]=\"displayArrows()\"\n\t\t\t(touched)=\"onTouched?.()\"\n\t\t\t[disabled]=\"disabled() || !minutesIncrement()\"\n\t\t\t(valueChange)=\"minutesInputHandler($event)\"\n\t\t\t(prevRequest)=\"focusPart('hours')\"\n\t\t\t(inputControlClick)=\"inputControlClickHandler('minutes', $event)\"\n\t\t/>\n\t</fieldset>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["Translations"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucca-front/ng",
|
|
3
|
-
"version": "18.1.
|
|
3
|
+
"version": "18.1.5",
|
|
4
4
|
"description": "A library of icons made by the team @Lucca",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@angular/common": "^18.0.0",
|
|
27
27
|
"@angular/core": "^18.0.0",
|
|
28
28
|
"@angular/cdk": "^18.0.0",
|
|
29
|
-
"@lucca-front/icons": "v18.1.
|
|
30
|
-
"@lucca-front/scss": "v18.1.
|
|
29
|
+
"@lucca-front/icons": "v18.1.5",
|
|
30
|
+
"@lucca-front/scss": "v18.1.5",
|
|
31
31
|
"@types/dompurify": "^3.0.0",
|
|
32
32
|
"isomorphic-dompurify": "^2.11.0",
|
|
33
33
|
"rxjs": "^7.8.0"
|
|
@@ -83,23 +83,17 @@
|
|
|
83
83
|
"esm": "./esm2022/callout/lucca-front-ng-callout.mjs",
|
|
84
84
|
"default": "./fesm2022/lucca-front-ng-callout.mjs"
|
|
85
85
|
},
|
|
86
|
-
"./core-select": {
|
|
87
|
-
"types": "./core-select/index.d.ts",
|
|
88
|
-
"esm2022": "./esm2022/core-select/lucca-front-ng-core-select.mjs",
|
|
89
|
-
"esm": "./esm2022/core-select/lucca-front-ng-core-select.mjs",
|
|
90
|
-
"default": "./fesm2022/lucca-front-ng-core-select.mjs"
|
|
91
|
-
},
|
|
92
86
|
"./date": {
|
|
93
87
|
"types": "./date/index.d.ts",
|
|
94
88
|
"esm2022": "./esm2022/date/lucca-front-ng-date.mjs",
|
|
95
89
|
"esm": "./esm2022/date/lucca-front-ng-date.mjs",
|
|
96
90
|
"default": "./fesm2022/lucca-front-ng-date.mjs"
|
|
97
91
|
},
|
|
98
|
-
"./
|
|
99
|
-
"types": "./
|
|
100
|
-
"esm2022": "./esm2022/
|
|
101
|
-
"esm": "./esm2022/
|
|
102
|
-
"default": "./fesm2022/lucca-front-ng-
|
|
92
|
+
"./core-select": {
|
|
93
|
+
"types": "./core-select/index.d.ts",
|
|
94
|
+
"esm2022": "./esm2022/core-select/lucca-front-ng-core-select.mjs",
|
|
95
|
+
"esm": "./esm2022/core-select/lucca-front-ng-core-select.mjs",
|
|
96
|
+
"default": "./fesm2022/lucca-front-ng-core-select.mjs"
|
|
103
97
|
},
|
|
104
98
|
"./dialog": {
|
|
105
99
|
"types": "./dialog/index.d.ts",
|
|
@@ -107,6 +101,12 @@
|
|
|
107
101
|
"esm": "./esm2022/dialog/lucca-front-ng-dialog.mjs",
|
|
108
102
|
"default": "./fesm2022/lucca-front-ng-dialog.mjs"
|
|
109
103
|
},
|
|
104
|
+
"./department": {
|
|
105
|
+
"types": "./department/index.d.ts",
|
|
106
|
+
"esm2022": "./esm2022/department/lucca-front-ng-department.mjs",
|
|
107
|
+
"esm": "./esm2022/department/lucca-front-ng-department.mjs",
|
|
108
|
+
"default": "./fesm2022/lucca-front-ng-department.mjs"
|
|
109
|
+
},
|
|
110
110
|
"./dropdown": {
|
|
111
111
|
"types": "./dropdown/index.d.ts",
|
|
112
112
|
"esm2022": "./esm2022/dropdown/lucca-front-ng-dropdown.mjs",
|
|
@@ -239,18 +239,18 @@
|
|
|
239
239
|
"esm": "./esm2022/safe-content/lucca-front-ng-safe-content.mjs",
|
|
240
240
|
"default": "./fesm2022/lucca-front-ng-safe-content.mjs"
|
|
241
241
|
},
|
|
242
|
-
"./select": {
|
|
243
|
-
"types": "./select/index.d.ts",
|
|
244
|
-
"esm2022": "./esm2022/select/lucca-front-ng-select.mjs",
|
|
245
|
-
"esm": "./esm2022/select/lucca-front-ng-select.mjs",
|
|
246
|
-
"default": "./fesm2022/lucca-front-ng-select.mjs"
|
|
247
|
-
},
|
|
248
242
|
"./scroll": {
|
|
249
243
|
"types": "./scroll/index.d.ts",
|
|
250
244
|
"esm2022": "./esm2022/scroll/lucca-front-ng-scroll.mjs",
|
|
251
245
|
"esm": "./esm2022/scroll/lucca-front-ng-scroll.mjs",
|
|
252
246
|
"default": "./fesm2022/lucca-front-ng-scroll.mjs"
|
|
253
247
|
},
|
|
248
|
+
"./select": {
|
|
249
|
+
"types": "./select/index.d.ts",
|
|
250
|
+
"esm2022": "./esm2022/select/lucca-front-ng-select.mjs",
|
|
251
|
+
"esm": "./esm2022/select/lucca-front-ng-select.mjs",
|
|
252
|
+
"default": "./fesm2022/lucca-front-ng-select.mjs"
|
|
253
|
+
},
|
|
254
254
|
"./sidepanel": {
|
|
255
255
|
"types": "./sidepanel/index.d.ts",
|
|
256
256
|
"esm2022": "./esm2022/sidepanel/lucca-front-ng-sidepanel.mjs",
|
|
@@ -281,18 +281,18 @@
|
|
|
281
281
|
"esm": "./esm2022/time/lucca-front-ng-time.mjs",
|
|
282
282
|
"default": "./fesm2022/lucca-front-ng-time.mjs"
|
|
283
283
|
},
|
|
284
|
-
"./toast": {
|
|
285
|
-
"types": "./toast/index.d.ts",
|
|
286
|
-
"esm2022": "./esm2022/toast/lucca-front-ng-toast.mjs",
|
|
287
|
-
"esm": "./esm2022/toast/lucca-front-ng-toast.mjs",
|
|
288
|
-
"default": "./fesm2022/lucca-front-ng-toast.mjs"
|
|
289
|
-
},
|
|
290
284
|
"./title": {
|
|
291
285
|
"types": "./title/index.d.ts",
|
|
292
286
|
"esm2022": "./esm2022/title/lucca-front-ng-title.mjs",
|
|
293
287
|
"esm": "./esm2022/title/lucca-front-ng-title.mjs",
|
|
294
288
|
"default": "./fesm2022/lucca-front-ng-title.mjs"
|
|
295
289
|
},
|
|
290
|
+
"./toast": {
|
|
291
|
+
"types": "./toast/index.d.ts",
|
|
292
|
+
"esm2022": "./esm2022/toast/lucca-front-ng-toast.mjs",
|
|
293
|
+
"esm": "./esm2022/toast/lucca-front-ng-toast.mjs",
|
|
294
|
+
"default": "./fesm2022/lucca-front-ng-toast.mjs"
|
|
295
|
+
},
|
|
296
296
|
"./tooltip": {
|
|
297
297
|
"types": "./tooltip/index.d.ts",
|
|
298
298
|
"esm2022": "./esm2022/tooltip/lucca-front-ng-tooltip.mjs",
|