@indice/ng-components 0.2.175 → 0.3.0
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/_styles.scss +63 -15
- package/{esm2020 → esm2022}/indice-ng-components.mjs +4 -4
- package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +156 -0
- package/esm2022/lib/controls/advanced-search/models.mjs +109 -0
- package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb-item.mjs +14 -14
- package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb.component.mjs +26 -26
- package/{esm2020 → esm2022}/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -20
- package/esm2022/lib/controls/combobox/combobox.component.mjs +121 -0
- package/esm2022/lib/controls/content-tile/content-tile-header/content-tile-header.component.mjs +17 -0
- package/esm2022/lib/controls/content-tile/content-tile-item/content-tile-item.component.mjs +19 -0
- package/esm2022/lib/controls/content-tile/content-tile.component.mjs +63 -0
- package/esm2022/lib/controls/date-picker/date-picker.component.mjs +300 -0
- package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +72 -0
- package/{esm2020 → esm2022}/lib/controls/kpi-tile/kpi-tile.component.mjs +43 -43
- package/esm2022/lib/controls/language-selection/language-selection.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/controls/list-view/list-column.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/controls/list-view/list-details-section.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/controls/list-view/list-tile.component.mjs +17 -17
- package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
- package/esm2022/lib/controls/list-view/list-view.component.mjs +210 -0
- package/{esm2020 → esm2022}/lib/controls/nav-links-list/nav-links-list.component.mjs +54 -54
- package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +79 -0
- package/esm2022/lib/controls/pager/pager.component.mjs +130 -0
- package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +46 -0
- package/esm2022/lib/controls/side-pane/side-pane.component.mjs +87 -0
- package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +29 -0
- package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-info.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-label.directive.mjs +16 -16
- package/esm2022/lib/controls/stepper/lib-step.component.mjs +81 -0
- package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +108 -0
- package/{esm2020 → esm2022}/lib/controls/stepper/types/step-selected-event.mjs +3 -3
- package/{esm2020 → esm2022}/lib/controls/stepper/types/stepper-type.mjs +11 -11
- package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +66 -0
- package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab-label.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab.component.mjs +57 -57
- package/{esm2020 → esm2022}/lib/controls/toaster/toaster-container.component.mjs +28 -28
- package/{esm2020 → esm2022}/lib/controls/toaster/toaster.component.mjs +31 -31
- package/esm2022/lib/controls/toggle/toggle.component.mjs +64 -0
- package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +87 -0
- package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +34 -0
- package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +71 -0
- package/esm2022/lib/directives/click-outside.directive.mjs +189 -0
- package/{esm2020 → esm2022}/lib/directives/dynamic-component-host.directive.mjs +17 -17
- package/esm2022/lib/helpers/base-list.component.mjs +230 -0
- package/esm2022/lib/icons.mjs +36 -0
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -19
- package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +130 -0
- package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +54 -54
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +45 -45
- package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +20 -20
- package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +86 -0
- package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +101 -0
- package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +106 -0
- package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
- package/esm2022/lib/ng-components.module.mjs +320 -0
- package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
- package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/pages/auth/logged-out/logged-out.component.mjs +28 -28
- package/{esm2020 → esm2022}/lib/pages/http-status/error/error.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -14
- package/esm2022/lib/pipes/address.pipe.mjs +21 -0
- package/esm2022/lib/pipes/duration-format.pipe.mjs +64 -0
- package/esm2022/lib/pipes/short-number.pipe.mjs +43 -0
- package/esm2022/lib/services/breadcrumb.service.mjs +174 -0
- package/{esm2020 → esm2022}/lib/services/component-loader/component-loader-options.class.mjs +7 -7
- package/esm2022/lib/services/component-loader/component-loader.class.mjs +188 -0
- package/esm2022/lib/services/component-loader/component-loader.factory.mjs +32 -0
- package/{esm2020 → esm2022}/lib/services/component-loader/content-ref.class.mjs +12 -12
- package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
- package/esm2022/lib/services/modal-service/modal-container-component.mjs +126 -0
- package/{esm2020 → esm2022}/lib/services/modal-service/modal-options.class.mjs +35 -35
- package/esm2022/lib/services/modal-service/modal-service.mjs +220 -0
- package/{esm2020 → esm2022}/lib/services/modal-service/modal-styles.class.mjs +10 -10
- package/{esm2020 → esm2022}/lib/services/modal-service/modal.class.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/toaster.service.mjs +26 -26
- package/esm2022/lib/services/user-settings.service.mjs +35 -0
- package/esm2022/lib/services/utilities.service.mjs +47 -0
- package/{esm2020 → esm2022}/lib/tokens.mjs +7 -7
- package/esm2022/lib/types.mjs +133 -0
- package/{esm2020 → esm2022}/public-api.mjs +78 -70
- package/{fesm2020 → fesm2022}/indice-ng-components.mjs +4898 -4592
- package/fesm2022/indice-ng-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/controls/advanced-search/advanced-search.component.d.ts +40 -40
- package/lib/controls/advanced-search/models.d.ts +91 -91
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +14 -14
- package/lib/controls/breadcrumb/breadcrumb-item.d.ts +7 -7
- package/lib/controls/breadcrumb/breadcrumb.component.d.ts +12 -12
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +10 -10
- package/lib/controls/combobox/combobox.component.d.ts +35 -34
- package/lib/controls/content-tile/content-tile-header/content-tile-header.component.d.ts +7 -0
- package/lib/controls/content-tile/content-tile-item/content-tile-item.component.d.ts +8 -0
- package/lib/controls/content-tile/content-tile.component.d.ts +23 -0
- package/lib/controls/date-picker/date-picker.component.d.ts +53 -53
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +26 -26
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +15 -15
- package/lib/controls/language-selection/language-selection.component.d.ts +14 -14
- package/lib/controls/list-view/list-column.component.d.ts +9 -9
- package/lib/controls/list-view/list-details-section.component.d.ts +7 -7
- package/lib/controls/list-view/list-tile.component.d.ts +7 -7
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +11 -11
- package/lib/controls/list-view/list-view.component.d.ts +62 -61
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +21 -21
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +22 -22
- package/lib/controls/pager/pager.component.d.ts +36 -36
- package/lib/controls/progress-bar/progress-bar.component.d.ts +16 -0
- package/lib/controls/side-pane/side-pane.component.d.ts +22 -18
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +12 -11
- package/lib/controls/stats-grid/stats-grid.component.d.ts +16 -0
- package/lib/controls/stepper/lib-step-info.directive.d.ts +8 -8
- package/lib/controls/stepper/lib-step-label.directive.d.ts +8 -8
- package/lib/controls/stepper/lib-step.component.d.ts +34 -34
- package/lib/controls/stepper/lib-stepper.component.d.ts +43 -43
- package/lib/controls/stepper/types/step-selected-event.d.ts +12 -12
- package/lib/controls/stepper/types/stepper-type.d.ts +10 -10
- package/lib/controls/tabs/lib-tab-group.component.d.ts +21 -21
- package/lib/controls/tabs/lib-tab-label.directive.d.ts +8 -8
- package/lib/controls/tabs/lib-tab.component.d.ts +24 -24
- package/lib/controls/toaster/toaster-container.component.d.ts +13 -13
- package/lib/controls/toaster/toaster.component.d.ts +15 -15
- package/lib/controls/toggle/toggle.component.d.ts +19 -19
- package/lib/controls/toggle-button/toggle-button.component.d.ts +25 -25
- package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +15 -14
- package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +24 -24
- package/lib/directives/click-outside.directive.d.ts +40 -40
- package/lib/directives/dynamic-component-host.directive.d.ts +9 -9
- package/lib/helpers/base-list.component.d.ts +54 -53
- package/lib/icons.d.ts +34 -34
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +8 -8
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +39 -39
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +26 -26
- package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +20 -20
- package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +14 -14
- package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +15 -15
- package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +10 -10
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +26 -24
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +42 -42
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +29 -28
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +31 -31
- package/lib/ng-components.module.d.ts +71 -65
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +13 -13
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +12 -12
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +12 -12
- package/lib/pages/http-status/error/error.component.d.ts +8 -8
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +8 -8
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -8
- package/lib/pipes/address.pipe.d.ts +8 -8
- package/lib/pipes/duration-format.pipe.d.ts +8 -8
- package/lib/pipes/short-number.pipe.d.ts +7 -0
- package/lib/services/breadcrumb.service.d.ts +29 -29
- package/lib/services/component-loader/component-loader-options.class.d.ts +30 -30
- package/lib/services/component-loader/component-loader.class.d.ts +92 -92
- package/lib/services/component-loader/component-loader.factory.d.ts +24 -24
- package/lib/services/component-loader/content-ref.class.d.ts +12 -12
- package/lib/services/modal-service/modal-backdrop-component.d.ts +20 -20
- package/lib/services/modal-service/modal-container-component.d.ts +33 -33
- package/lib/services/modal-service/modal-options.class.d.ts +81 -81
- package/lib/services/modal-service/modal-service.d.ts +58 -58
- package/lib/services/modal-service/modal-styles.class.d.ts +10 -10
- package/lib/services/modal-service/modal.class.d.ts +43 -43
- package/lib/services/toaster.service.d.ts +11 -11
- package/lib/services/user-settings.service.d.ts +13 -13
- package/lib/services/utilities.service.d.ts +11 -11
- package/lib/tokens.d.ts +10 -10
- package/lib/types.d.ts +179 -177
- package/package.json +14 -21
- package/public-api.d.ts +68 -60
- package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -156
- package/esm2020/lib/controls/advanced-search/models.mjs +0 -109
- package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
- package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -117
- package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
- package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
- package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
- package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
- package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
- package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
- package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
- package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
- package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
- package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
- package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
- package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
- package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
- package/esm2020/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
- package/esm2020/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -31
- package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
- package/esm2020/lib/directives/click-outside.directive.mjs +0 -189
- package/esm2020/lib/helpers/base-list.component.mjs +0 -226
- package/esm2020/lib/icons.mjs +0 -36
- package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
- package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -90
- package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -30
- package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
- package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -101
- package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
- package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
- package/esm2020/lib/ng-components.module.mjs +0 -288
- package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
- package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
- package/esm2020/lib/pipes/address.pipe.mjs +0 -21
- package/esm2020/lib/pipes/duration-format.pipe.mjs +0 -64
- package/esm2020/lib/services/breadcrumb.service.mjs +0 -174
- package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
- package/esm2020/lib/services/component-loader/component-loader.factory.mjs +0 -32
- package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
- package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
- package/esm2020/lib/services/modal-service/modal-service.mjs +0 -220
- package/esm2020/lib/services/user-settings.service.mjs +0 -35
- package/esm2020/lib/services/utilities.service.mjs +0 -47
- package/esm2020/lib/types.mjs +0 -132
- package/fesm2015/indice-ng-components.mjs +0 -4852
- package/fesm2015/indice-ng-components.mjs.map +0 -1
- package/fesm2020/indice-ng-components.mjs.map +0 -1
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class ToggleButtonComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.value = false;
|
|
8
|
-
this.disabled = false;
|
|
9
|
-
this.icon = true;
|
|
10
|
-
this.valueChange = new EventEmitter();
|
|
11
|
-
this.onChange$ = undefined;
|
|
12
|
-
this.onTouched$ = undefined;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
}
|
|
16
|
-
writeValue(obj) {
|
|
17
|
-
if (obj) {
|
|
18
|
-
this.value = obj || false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
registerOnChange(fn) {
|
|
22
|
-
this.onChange$ = fn;
|
|
23
|
-
}
|
|
24
|
-
registerOnTouched(fn) {
|
|
25
|
-
this.onTouched$ = fn;
|
|
26
|
-
}
|
|
27
|
-
onBlur(event) {
|
|
28
|
-
if (this.onTouched$) {
|
|
29
|
-
this.onTouched$();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
changeValue() {
|
|
33
|
-
this.value = !this.value;
|
|
34
|
-
this.valueChange.emit(this.value);
|
|
35
|
-
if (this.onChange$) {
|
|
36
|
-
this.onChange$(this.value);
|
|
37
|
-
}
|
|
38
|
-
if (this.onTouched$) {
|
|
39
|
-
this.onTouched$();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
ToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
ToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ToggleButtonComponent, selector: "lib-toggle-button", inputs: { value: "value", disabled: "disabled", icon: "icon", text: "text", textTrue: ["text-true", "textTrue"], textFalse: ["text-false", "textFalse"], description: "description", descriptionTrue: ["description-true", "descriptionTrue"], descriptionFalse: ["description-false", "descriptionFalse"] }, outputs: { valueChange: "valueChange" }, providers: [
|
|
45
|
-
{
|
|
46
|
-
provide: NG_VALUE_ACCESSOR,
|
|
47
|
-
useExisting: forwardRef(() => ToggleButtonComponent),
|
|
48
|
-
multi: true
|
|
49
|
-
}
|
|
50
|
-
], ngImport: i0, template: "<!-- Enabled: \"bg-indigo-600\", Not Enabled: \"bg-gray-200\" -->\r\n<div class=\"flex items-center\">\r\n<button type=\"button\"\r\n (click)=\"changeValue()\"\r\n [disabled]=\"disabled\"\r\n class=\"toggle-button-button\" \r\n [class.toggle-button-bg-false] = \"!value\"\r\n [class.toggle-button-bg-true] = \"value\"\r\n [class.toggle-button-button-disabled]=\"disabled\"\r\n role=\"switch\" \r\n aria-checked=\"false\">\r\n <span class=\"sr-only\">{{value ? textTrue : textFalse}}</span>\r\n <!-- Enabled: \"translate-x-5\", Not Enabled: \"translate-x-0\" -->\r\n <span \r\n class=\"toggle-button-icon-container\"\r\n [class.toggle-button-icon-container-false] = \"!value\"\r\n [class.toggle-button-icon-container-true] = \"value\">\r\n <!-- Enabled: \"opacity-0 ease-out duration-100\", Not Enabled: \"opacity-100 ease-in duration-200\" -->\r\n <span \r\n [class.toggle-button-container-inner-true]=\"value\"\r\n [class.toggle-button-container-inner-false]=\"!value\"\r\n class=\"toggle-button-icon-container-inner\"\r\n aria-hidden=\"true\">\r\n <svg *ngIf=\"icon\" class=\"toggle-button-icon\" fill=\"none\" viewBox=\"0 0 12 12\">\r\n <path d=\"M4 8l2-2m0 0l2-2M6 6L4 4m2 2l2 2\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <!-- Enabled: \"opacity-0 ease-out duration-100\", Not Enabled: \"opacity-100 ease-in duration-200\" -->\r\n <span \r\n [class.toggle-button-container-inner-true]=\"!value\"\r\n [class.toggle-button-container-inner-false]=\"value\"\r\n class=\"toggle-button-icon-container-inner\"\r\n aria-hidden=\"true\">\r\n <svg *ngIf=\"icon\" class=\"toggle-button-icon\" fill=\"currentColor\" viewBox=\"0 0 12 12\">\r\n <path d=\"M3.707 5.293a1 1 0 00-1.414 1.414l1.414-1.414zM5 8l-.707.707a1 1 0 001.414 0L5 8zm4.707-3.293a1 1 0 00-1.414-1.414l1.414 1.414zm-7.414 2l2 2 1.414-1.414-2-2-1.414 1.414zm3.414 2l4-4-1.414-1.414-4 4 1.414 1.414z\" />\r\n </svg>\r\n </span>\r\n </span>\r\n</button>\r\n<span class=\"ml-3\" id=\"toggle-button-labels\">\r\n <div class=\"toggle-button-text\">{{value ? textTrue : textFalse}}</div>\r\n <div *ngIf=\"text\" class=\"toggle-button-text\">{{text}}</div>\r\n <div *ngIf=\"description\" class=\"toggle-button-description\">{{description}}</div>\r\n <div class=\"toggle-button-description\">{{value ? descriptionTrue : descriptionFalse}}</div>\r\n</span>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToggleButtonComponent, decorators: [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{ selector: 'lib-toggle-button', providers: [
|
|
54
|
-
{
|
|
55
|
-
provide: NG_VALUE_ACCESSOR,
|
|
56
|
-
useExisting: forwardRef(() => ToggleButtonComponent),
|
|
57
|
-
multi: true
|
|
58
|
-
}
|
|
59
|
-
], template: "<!-- Enabled: \"bg-indigo-600\", Not Enabled: \"bg-gray-200\" -->\r\n<div class=\"flex items-center\">\r\n<button type=\"button\"\r\n (click)=\"changeValue()\"\r\n [disabled]=\"disabled\"\r\n class=\"toggle-button-button\" \r\n [class.toggle-button-bg-false] = \"!value\"\r\n [class.toggle-button-bg-true] = \"value\"\r\n [class.toggle-button-button-disabled]=\"disabled\"\r\n role=\"switch\" \r\n aria-checked=\"false\">\r\n <span class=\"sr-only\">{{value ? textTrue : textFalse}}</span>\r\n <!-- Enabled: \"translate-x-5\", Not Enabled: \"translate-x-0\" -->\r\n <span \r\n class=\"toggle-button-icon-container\"\r\n [class.toggle-button-icon-container-false] = \"!value\"\r\n [class.toggle-button-icon-container-true] = \"value\">\r\n <!-- Enabled: \"opacity-0 ease-out duration-100\", Not Enabled: \"opacity-100 ease-in duration-200\" -->\r\n <span \r\n [class.toggle-button-container-inner-true]=\"value\"\r\n [class.toggle-button-container-inner-false]=\"!value\"\r\n class=\"toggle-button-icon-container-inner\"\r\n aria-hidden=\"true\">\r\n <svg *ngIf=\"icon\" class=\"toggle-button-icon\" fill=\"none\" viewBox=\"0 0 12 12\">\r\n <path d=\"M4 8l2-2m0 0l2-2M6 6L4 4m2 2l2 2\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <!-- Enabled: \"opacity-0 ease-out duration-100\", Not Enabled: \"opacity-100 ease-in duration-200\" -->\r\n <span \r\n [class.toggle-button-container-inner-true]=\"!value\"\r\n [class.toggle-button-container-inner-false]=\"value\"\r\n class=\"toggle-button-icon-container-inner\"\r\n aria-hidden=\"true\">\r\n <svg *ngIf=\"icon\" class=\"toggle-button-icon\" fill=\"currentColor\" viewBox=\"0 0 12 12\">\r\n <path d=\"M3.707 5.293a1 1 0 00-1.414 1.414l1.414-1.414zM5 8l-.707.707a1 1 0 001.414 0L5 8zm4.707-3.293a1 1 0 00-1.414-1.414l1.414 1.414zm-7.414 2l2 2 1.414-1.414-2-2-1.414 1.414zm3.414 2l4-4-1.414-1.414-4 4 1.414 1.414z\" />\r\n </svg>\r\n </span>\r\n </span>\r\n</button>\r\n<span class=\"ml-3\" id=\"toggle-button-labels\">\r\n <div class=\"toggle-button-text\">{{value ? textTrue : textFalse}}</div>\r\n <div *ngIf=\"text\" class=\"toggle-button-text\">{{text}}</div>\r\n <div *ngIf=\"description\" class=\"toggle-button-description\">{{description}}</div>\r\n <div class=\"toggle-button-description\">{{value ? descriptionTrue : descriptionFalse}}</div>\r\n</span>\r\n</div>" }]
|
|
60
|
-
}], ctorParameters: function () { return []; }, propDecorators: { value: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], disabled: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], icon: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], text: [{
|
|
67
|
-
type: Input,
|
|
68
|
-
args: ['text']
|
|
69
|
-
}], textTrue: [{
|
|
70
|
-
type: Input,
|
|
71
|
-
args: ['text-true']
|
|
72
|
-
}], textFalse: [{
|
|
73
|
-
type: Input,
|
|
74
|
-
args: ['text-false']
|
|
75
|
-
}], description: [{
|
|
76
|
-
type: Input,
|
|
77
|
-
args: ['description']
|
|
78
|
-
}], descriptionTrue: [{
|
|
79
|
-
type: Input,
|
|
80
|
-
args: ['description-true']
|
|
81
|
-
}], descriptionFalse: [{
|
|
82
|
-
type: Input,
|
|
83
|
-
args: ['description-false']
|
|
84
|
-
}], valueChange: [{
|
|
85
|
-
type: Output
|
|
86
|
-
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWFuRCxNQUFNLE9BQU8scUJBQXFCO0lBZWhDO1FBZFMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FBWSxJQUFJLENBQUM7UUFPcEIsZ0JBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVuRSxjQUFTLEdBQW9CLFNBQVMsQ0FBQztRQUN2QyxlQUFVLEdBQW9CLFNBQVMsQ0FBQztJQUVoQyxDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBRyxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQVU7UUFDdEIsSUFBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUI7UUFDRCxJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7a0hBL0NVLHFCQUFxQjtzR0FBckIscUJBQXFCLG1ZQVJyQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNaSCxnbkZBNkNNOzJGRC9CTyxxQkFBcUI7a0JBWGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGFBRWxCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ1MsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUNPLFFBQVE7c0JBQTNCLEtBQUs7dUJBQUMsV0FBVztnQkFDRyxTQUFTO3NCQUE3QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ0csV0FBVztzQkFBaEMsS0FBSzt1QkFBQyxhQUFhO2dCQUNPLGVBQWU7c0JBQXpDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNHLGdCQUFnQjtzQkFBM0MsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ2hCLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdG9nZ2xlLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG9nZ2xlQnV0dG9uQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2dnbGVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpY29uOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoJ3RleHQnKSB0ZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgndGV4dC10cnVlJykgdGV4dFRydWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCd0ZXh0LWZhbHNlJykgdGV4dEZhbHNlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgnZGVzY3JpcHRpb24nKSBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoJ2Rlc2NyaXB0aW9uLXRydWUnKSBkZXNjcmlwdGlvblRydWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCdkZXNjcmlwdGlvbi1mYWxzZScpIGRlc2NyaXB0aW9uRmFsc2U6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UkOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQkOiBhbnkgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgaWYob2JqKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBvYmogfHwgZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSQgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQkID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25CbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMub25Ub3VjaGVkJCkge1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VWYWx1ZSgpe1xyXG4gICAgdGhpcy52YWx1ZSA9ICF0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgaWYodGhpcy5vbkNoYW5nZSQpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZSQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLm9uVG91Y2hlZCQpIHtcclxuICAgICAgdGhpcy5vblRvdWNoZWQkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tIEVuYWJsZWQ6IFwiYmctaW5kaWdvLTYwMFwiLCBOb3QgRW5hYmxlZDogXCJiZy1ncmF5LTIwMFwiIC0tPlxyXG48ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgIChjbGljayk9XCJjaGFuZ2VWYWx1ZSgpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBjbGFzcz1cInRvZ2dsZS1idXR0b24tYnV0dG9uXCIgXHJcbiAgICBbY2xhc3MudG9nZ2xlLWJ1dHRvbi1iZy1mYWxzZV0gPSBcIiF2YWx1ZVwiXHJcbiAgICBbY2xhc3MudG9nZ2xlLWJ1dHRvbi1iZy10cnVlXSA9IFwidmFsdWVcIlxyXG4gICAgW2NsYXNzLnRvZ2dsZS1idXR0b24tYnV0dG9uLWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgIHJvbGU9XCJzd2l0Y2hcIiBcclxuICAgIGFyaWEtY2hlY2tlZD1cImZhbHNlXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57e3ZhbHVlID8gdGV4dFRydWUgOiB0ZXh0RmFsc2V9fTwvc3Bhbj5cclxuICAgIDwhLS0gRW5hYmxlZDogXCJ0cmFuc2xhdGUteC01XCIsIE5vdCBFbmFibGVkOiBcInRyYW5zbGF0ZS14LTBcIiAtLT5cclxuICAgIDxzcGFuIFxyXG4gICAgICAgIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1pY29uLWNvbnRhaW5lclwiXHJcbiAgICAgICAgW2NsYXNzLnRvZ2dsZS1idXR0b24taWNvbi1jb250YWluZXItZmFsc2VdID0gXCIhdmFsdWVcIlxyXG4gICAgICAgIFtjbGFzcy50b2dnbGUtYnV0dG9uLWljb24tY29udGFpbmVyLXRydWVdID0gXCJ2YWx1ZVwiPlxyXG4gICAgICAgIDwhLS0gRW5hYmxlZDogXCJvcGFjaXR5LTAgZWFzZS1vdXQgZHVyYXRpb24tMTAwXCIsIE5vdCBFbmFibGVkOiBcIm9wYWNpdHktMTAwIGVhc2UtaW4gZHVyYXRpb24tMjAwXCIgLS0+XHJcbiAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgIFtjbGFzcy50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci1pbm5lci10cnVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgW2NsYXNzLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLWlubmVyLWZhbHNlXT1cIiF2YWx1ZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1pY29uLWNvbnRhaW5lci1pbm5lclwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1pY29uXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgOGwyLTJtMCAwbDItMk02IDZMNCA0bTIgMmwyIDJcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwhLS0gRW5hYmxlZDogXCJvcGFjaXR5LTAgZWFzZS1vdXQgZHVyYXRpb24tMTAwXCIsIE5vdCBFbmFibGVkOiBcIm9wYWNpdHktMTAwIGVhc2UtaW4gZHVyYXRpb24tMjAwXCIgLS0+XHJcbiAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgIFtjbGFzcy50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci1pbm5lci10cnVlXT1cIiF2YWx1ZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci1pbm5lci1mYWxzZV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1pY29uLWNvbnRhaW5lci1pbm5lclwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1pY29uXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy43MDcgNS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMS40MTQtMS40MTR6TTUgOGwtLjcwNy43MDdhMSAxIDAgMDAxLjQxNCAwTDUgOHptNC43MDctMy4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRsMS40MTQgMS40MTR6bS03LjQxNCAybDIgMiAxLjQxNC0xLjQxNC0yLTItMS40MTQgMS40MTR6bTMuNDE0IDJsNC00LTEuNDE0LTEuNDE0LTQgNCAxLjQxNCAxLjQxNHpcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICA8L3NwYW4+XHJcbjwvYnV0dG9uPlxyXG48c3BhbiBjbGFzcz1cIm1sLTNcIiBpZD1cInRvZ2dsZS1idXR0b24tbGFiZWxzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi10ZXh0XCI+e3t2YWx1ZSA/IHRleHRUcnVlIDogdGV4dEZhbHNlfX08L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJ0ZXh0XCIgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uLXRleHRcIj57e3RleHR9fTwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uLWRlc2NyaXB0aW9uXCI+e3tkZXNjcmlwdGlvbn19PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1kZXNjcmlwdGlvblwiPnt7dmFsdWUgPyBkZXNjcmlwdGlvblRydWUgOiBkZXNjcmlwdGlvbkZhbHNlfX08L2Rpdj5cclxuPC9zcGFuPlxyXG48L2Rpdj4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../drop-down-menu/drop-down-menu.component";
|
|
5
|
-
export class ToggleButtonsListComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.icon = undefined;
|
|
8
|
-
this.valueChange = new EventEmitter(undefined);
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
}
|
|
12
|
-
selectOption(optionValue) {
|
|
13
|
-
this.value = optionValue;
|
|
14
|
-
this.valueChange.emit(optionValue);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
ToggleButtonsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToggleButtonsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
ToggleButtonsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: ToggleButtonsListComponent, selector: "lib-toggle-buttons-list", inputs: { icon: "icon", options: "options", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"relative items-center inline-flex\">\r\n <div class=\"toggle-buttons-list-icon-container\" *ngIf=\"icon\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n <div class=\"toggle-buttons-list-drop-down-contaner\">\r\n <lib-drop-down-menu class=\"toggle-buttons-list-drop-down\" [(selected)]=\"value\" (selectedChange)=\"selectOption($event)\" [options]=\"options\">\r\n </lib-drop-down-menu>\r\n </div>\r\n <div class=\"toggle-buttons-list\">\r\n <ng-template ngFor let-option [ngForOf]=\"options\" let-i=\"index\">\r\n <!-- [tooltip]=\"option.description\" -->\r\n <button type=\"button\"\r\n [disabled]=\"option.value === value\"\r\n [class.toggle-buttons-list-button-selected]=\"option.value === value\"\r\n class=\"toggle-buttons-list-button\"\r\n (click)=\"selectOption(option.value)\">\r\n <div class=\"toggle-buttons-list-button-icon-container\" *ngIf=\"option.icon\">\r\n <i [class]=\"option.icon\"></i>\r\n </div>\r\n <span class=\"toggle-buttons-list-button-button-text\">{{option.text}}</span>\r\n <span *ngIf=\"option.data && option.data.count\"\r\n class=\"toggle-buttons-list-button-button-count\">{{option.data.count}}\r\n </span>\r\n </button>\r\n </ng-template>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DropDownMenuComponent, selector: "lib-drop-down-menu", inputs: ["options", "selected", "multiple", "placeholder", "show-icons"], outputs: ["selectedChange", "selectedChanged"] }] });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ToggleButtonsListComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'lib-toggle-buttons-list', template: "<div class=\"relative items-center inline-flex\">\r\n <div class=\"toggle-buttons-list-icon-container\" *ngIf=\"icon\">\r\n <i [class]=\"icon\"></i>\r\n </div>\r\n <div class=\"toggle-buttons-list-drop-down-contaner\">\r\n <lib-drop-down-menu class=\"toggle-buttons-list-drop-down\" [(selected)]=\"value\" (selectedChange)=\"selectOption($event)\" [options]=\"options\">\r\n </lib-drop-down-menu>\r\n </div>\r\n <div class=\"toggle-buttons-list\">\r\n <ng-template ngFor let-option [ngForOf]=\"options\" let-i=\"index\">\r\n <!-- [tooltip]=\"option.description\" -->\r\n <button type=\"button\"\r\n [disabled]=\"option.value === value\"\r\n [class.toggle-buttons-list-button-selected]=\"option.value === value\"\r\n class=\"toggle-buttons-list-button\"\r\n (click)=\"selectOption(option.value)\">\r\n <div class=\"toggle-buttons-list-button-icon-container\" *ngIf=\"option.icon\">\r\n <i [class]=\"option.icon\"></i>\r\n </div>\r\n <span class=\"toggle-buttons-list-button-button-text\">{{option.text}}</span>\r\n <span *ngIf=\"option.data && option.data.count\"\r\n class=\"toggle-buttons-list-button-button-count\">{{option.data.count}}\r\n </span>\r\n </button>\r\n </ng-template>\r\n </div>\r\n</div>" }]
|
|
22
|
-
}], ctorParameters: function () { return []; }, propDecorators: { icon: [{
|
|
23
|
-
type: Input
|
|
24
|
-
}], options: [{
|
|
25
|
-
type: Input
|
|
26
|
-
}], value: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}], valueChange: [{
|
|
29
|
-
type: Output
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdG9nZ2xlLWJ1dHRvbnMtbGlzdC90b2dnbGUtYnV0dG9ucy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90b2dnbGUtYnV0dG9ucy1saXN0L3RvZ2dsZS1idXR0b25zLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEvRSxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDO1FBSlMsU0FBSSxHQUF1QixTQUFTLENBQUM7UUFHcEMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUVNLFlBQVksQ0FBQyxXQUFnQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDOzt1SEFiVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixzS0NSdkMsKzZDQTBCTTsyRkRsQk8sMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHlCQUF5QjswRUFJMUIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudU9wdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10b2dnbGUtYnV0dG9ucy1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLWJ1dHRvbnMtbGlzdC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvZ2dsZUJ1dHRvbnNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgb3B0aW9uczogTWVudU9wdGlvbltdIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgfCB1bmRlZmluZWQ7XHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIodW5kZWZpbmVkKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RPcHRpb24ob3B0aW9uVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvblZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG9wdGlvblZhbHVlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlIGl0ZW1zLWNlbnRlciBpbmxpbmUtZmxleFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvZ2dsZS1idXR0b25zLWxpc3QtaWNvbi1jb250YWluZXJcIiAqbmdJZj1cImljb25cIj5cclxuICAgICAgICA8aSBbY2xhc3NdPVwiaWNvblwiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRvZ2dsZS1idXR0b25zLWxpc3QtZHJvcC1kb3duLWNvbnRhbmVyXCI+XHJcbiAgICAgICAgPGxpYi1kcm9wLWRvd24tbWVudSBjbGFzcz1cInRvZ2dsZS1idXR0b25zLWxpc3QtZHJvcC1kb3duXCIgWyhzZWxlY3RlZCldPVwidmFsdWVcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwic2VsZWN0T3B0aW9uKCRldmVudClcIiBbb3B0aW9uc109XCJvcHRpb25zXCI+XHJcbiAgICAgICAgPC9saWItZHJvcC1kb3duLW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGUtYnV0dG9ucy1saXN0XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1vcHRpb24gW25nRm9yT2ZdPVwib3B0aW9uc1wiIGxldC1pPVwiaW5kZXhcIj5cclxuICAgICAgICAgICAgPCEtLSBbdG9vbHRpcF09XCJvcHRpb24uZGVzY3JpcHRpb25cIiAtLT5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLnZhbHVlID09PSB2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnRvZ2dsZS1idXR0b25zLWxpc3QtYnV0dG9uLXNlbGVjdGVkXT1cIm9wdGlvbi52YWx1ZSA9PT0gdmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbnMtbGlzdC1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RPcHRpb24ob3B0aW9uLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9nZ2xlLWJ1dHRvbnMtbGlzdC1idXR0b24taWNvbi1jb250YWluZXJcIiAqbmdJZj1cIm9wdGlvbi5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwib3B0aW9uLmljb25cIj48L2k+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1idXR0b25zLWxpc3QtYnV0dG9uLWJ1dHRvbi10ZXh0XCI+e3tvcHRpb24udGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbi5kYXRhICYmIG9wdGlvbi5kYXRhLmNvdW50XCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtYnV0dG9ucy1saXN0LWJ1dHRvbi1idXR0b24tY291bnRcIj57e29wdGlvbi5kYXRhLmNvdW50fX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Component, Inject, Input } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { AuthService } from '@indice/ng-auth';
|
|
4
|
-
import { APP_LINKS } from '../../tokens';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "../../directives/click-outside.directive";
|
|
8
|
-
import * as i3 from "../nav-links-list/nav-links-list.component";
|
|
9
|
-
import * as i4 from "@indice/ng-auth";
|
|
10
|
-
import * as i5 from "@angular/router";
|
|
11
|
-
export class UserProfileMenuComponent {
|
|
12
|
-
constructor(authService, router, links) {
|
|
13
|
-
this.authService = authService;
|
|
14
|
-
this.router = router;
|
|
15
|
-
this.links = links;
|
|
16
|
-
// tslint:disable-next-line:no-input-rename
|
|
17
|
-
this.showUserName = false;
|
|
18
|
-
this.userSub$ = null;
|
|
19
|
-
this.statusSub$ = null;
|
|
20
|
-
this.user = null;
|
|
21
|
-
this.avatarName = null;
|
|
22
|
-
this.userMenuExpanded = false;
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.authService.loadUser().subscribe((user) => {
|
|
26
|
-
this.setCurrentUser(user);
|
|
27
|
-
}, error => {
|
|
28
|
-
console.error(error);
|
|
29
|
-
});
|
|
30
|
-
// Detect user changes and display / or not user info accordingly...
|
|
31
|
-
this.userSub$ = this.authService.user$.subscribe((user) => {
|
|
32
|
-
// console.log('ShellHeaderComponent user subscription');
|
|
33
|
-
this.setCurrentUser(user);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
signin(event) {
|
|
37
|
-
if (event) {
|
|
38
|
-
event.preventDefault();
|
|
39
|
-
}
|
|
40
|
-
this.authService.signinRedirect();
|
|
41
|
-
}
|
|
42
|
-
setCurrentUser(user) {
|
|
43
|
-
this.user = user;
|
|
44
|
-
if (this.user && this.user.profile) {
|
|
45
|
-
this.avatarName = `${this.user.profile.given_name?.charAt(0)}${this.user.profile.family_name?.charAt(0)}`.toUpperCase();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// tslint:disable-next-line:typedef
|
|
49
|
-
onClickOutside($event) {
|
|
50
|
-
this.userMenuExpanded = false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
UserProfileMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UserProfileMenuComponent, deps: [{ token: AuthService }, { token: Router }, { token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
UserProfileMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.0", type: UserProfileMenuComponent, selector: "lib-user-profile-menu", inputs: { showUserName: ["show-user-name", "showUserName"] }, ngImport: i0, template: "<div class=\"relative\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <div class=\"inline-flex\">\r\n <!-- Username -->\r\n <div [ngClass]=\"{'shell-header-profile': showUserName}\">\r\n <div *ngIf=\"user && showUserName\" class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n </div>\r\n\r\n <div [class.ml-2]=\"showUserName\">\r\n <button type=\"button\" \r\n *ngIf=\"user\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin($event)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"userMenuExpanded ?\r\n 'transition ease-out duration-200 origin-top-right z-30 absolute right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\r\n :\r\n 'hidden transition ease-in duration-75 origin-top-right z-30 right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\"\r\n role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"menu-button\" tabindex=\"-1\">\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [link-class]=\"'nav-link-profile'\"\r\n [link-active-class]=\"'nav-link-profile-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i3.NavLinksListComponent, selector: "lib-nav-links-list", inputs: ["links", "active-fragment", "link-class", "link-active-class", "container-class", "show-icons", "show-text", "large-icons"] }] });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: UserProfileMenuComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ selector: 'lib-user-profile-menu', template: "<div class=\"relative\" (clickOutside)=\"onClickOutside($event)\">\r\n\r\n <div class=\"inline-flex\">\r\n <!-- Username -->\r\n <div [ngClass]=\"{'shell-header-profile': showUserName}\">\r\n <div *ngIf=\"user && showUserName\" class=\"shell-header-profile-userName\">\r\n {{ user.profile.name }}\r\n </div>\r\n </div>\r\n\r\n <div [class.ml-2]=\"showUserName\">\r\n <button type=\"button\" \r\n *ngIf=\"user\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\"\r\n (click)=\"userMenuExpanded = !userMenuExpanded\">\r\n <span class=\"sr-only\">Open user menu</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\">{{this.avatarName}}</span>\r\n </span>\r\n </button>\r\n\r\n <button type=\"button\"\r\n *ngIf=\"!user\"\r\n (click)=\"signin($event)\"\r\n class=\"shell-header-profile-dropdown-button\"\r\n id=\"user-menu\"\r\n aria-expanded=\"false\"\r\n aria-haspopup=\"true\">\r\n <span class=\"sr-only\">sign in</span>\r\n <span class=\"avatar-container\">\r\n <span class=\"avatar-text\"><i class=\"ms-Icon ms-Icon--Signin\"></i></span>\r\n </span>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div [class]=\"userMenuExpanded ?\r\n 'transition ease-out duration-200 origin-top-right z-30 absolute right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\r\n :\r\n 'hidden transition ease-in duration-75 origin-top-right z-30 right-0 mt-2 w-56 rounded-sm shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none'\"\r\n role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"menu-button\" tabindex=\"-1\">\r\n <lib-nav-links-list\r\n [links]=\"links.profile\"\r\n [link-class]=\"'nav-link-profile'\"\r\n [link-active-class]=\"'nav-link-profile-active'\">\r\n </lib-nav-links-list>\r\n </div>\r\n\r\n</div>\r\n\r\n" }]
|
|
58
|
-
}], ctorParameters: function () { return [{ type: i4.AuthService, decorators: [{
|
|
59
|
-
type: Inject,
|
|
60
|
-
args: [AuthService]
|
|
61
|
-
}] }, { type: i5.Router, decorators: [{
|
|
62
|
-
type: Inject,
|
|
63
|
-
args: [Router]
|
|
64
|
-
}] }, { type: undefined, decorators: [{
|
|
65
|
-
type: Inject,
|
|
66
|
-
args: [APP_LINKS]
|
|
67
|
-
}] }]; }, propDecorators: { showUserName: [{
|
|
68
|
-
type: Input,
|
|
69
|
-
args: ['show-user-name']
|
|
70
|
-
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcm9maWxlLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2NvbnRyb2xzL3VzZXItcHJvZmlsZS1tZW51L3VzZXItcHJvZmlsZS1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy91c2VyLXByb2ZpbGUtbWVudS91c2VyLXByb2ZpbGUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBTXpDLE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsWUFBMkMsV0FBd0IsRUFDN0IsTUFBYyxFQUNkLEtBQVU7UUFGTCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUM3QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBSztRQVZoRCwyQ0FBMkM7UUFDbEIsaUJBQVksR0FBd0IsS0FBSyxDQUFDO1FBQ3pELGFBQVEsR0FBd0IsSUFBSSxDQUFDO1FBQ3JDLGVBQVUsR0FBd0IsSUFBSSxDQUFDO1FBQzFDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQUlvQixDQUFDO0lBRXJELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzdELHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUE2QjtRQUN6QyxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFTO1FBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekg7SUFDSCxDQUFDO0lBRUQsbUNBQW1DO0lBQzVCLGNBQWMsQ0FBQyxNQUFXO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs7cUhBNUNVLHdCQUF3QixrQkFVZixXQUFXLGFBQ1gsTUFBTSxhQUNOLFNBQVM7eUdBWmxCLHdCQUF3QiwySENYckMsbXFFQXFEQTsyRkQxQ2Esd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLHVCQUF1Qjs7MEJBYXBCLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxTQUFTOzRDQVRKLFlBQVk7c0JBQXBDLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaW5kaWNlL25nLWF1dGgnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnb2lkYy1jbGllbnQnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVBQX0xJTktTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXVzZXItcHJvZmlsZS1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1wcm9maWxlLW1lbnUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyUHJvZmlsZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzaG93LXVzZXItbmFtZScpIHNob3dVc2VyTmFtZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCB1c2VyU3ViJDogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJvdGVjdGVkIHN0YXR1c1N1YiQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIGF2YXRhck5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyB1c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQXV0aFNlcnZpY2UpIHByb3RlY3RlZCBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgQEluamVjdChSb3V0ZXIpIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICAgICAgICBASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBhbnkpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9hZFVzZXIoKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcih1c2VyKTtcclxuICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICB9KTtcclxuICAgIC8vIERldGVjdCB1c2VyIGNoYW5nZXMgYW5kIGRpc3BsYXkgLyBvciBub3QgdXNlciBpbmZvIGFjY29yZGluZ2x5Li4uXHJcbiAgICB0aGlzLnVzZXJTdWIkID0gdGhpcy5hdXRoU2VydmljZS51c2VyJC5zdWJzY3JpYmUoKHVzZXI6IGFueSkgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygnU2hlbGxIZWFkZXJDb21wb25lbnQgdXNlciBzdWJzY3JpcHRpb24nKTtcclxuICAgICAgdGhpcy5zZXRDdXJyZW50VXNlcih1c2VyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNpZ25pbihldmVudDogYW55IHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNpZ25pblJlZGlyZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRVc2VyKHVzZXI6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgIGlmICh0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnByb2ZpbGUpIHtcclxuICAgICAgdGhpcy5hdmF0YXJOYW1lID0gYCR7dGhpcy51c2VyLnByb2ZpbGUuZ2l2ZW5fbmFtZT8uY2hhckF0KDApfSR7dGhpcy51c2VyLnByb2ZpbGUuZmFtaWx5X25hbWU/LmNoYXJBdCgwKX1gLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dHlwZWRlZlxyXG4gIHB1YmxpYyBvbkNsaWNrT3V0c2lkZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy51c2VyTWVudUV4cGFuZGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIiAoY2xpY2tPdXRzaWRlKT1cIm9uQ2xpY2tPdXRzaWRlKCRldmVudClcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImlubGluZS1mbGV4XCI+XHJcbiAgICA8IS0tIFVzZXJuYW1lIC0tPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J3NoZWxsLWhlYWRlci1wcm9maWxlJzogc2hvd1VzZXJOYW1lfVwiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwidXNlciAmJiBzaG93VXNlck5hbWVcIiBjbGFzcz1cInNoZWxsLWhlYWRlci1wcm9maWxlLXVzZXJOYW1lXCI+XHJcbiAgICAgICAge3sgdXNlci5wcm9maWxlLm5hbWUgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IFtjbGFzcy5tbC0yXT1cInNob3dVc2VyTmFtZVwiPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBcclxuICAgICAgICAgICAgICAqbmdJZj1cInVzZXJcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic2hlbGwtaGVhZGVyLXByb2ZpbGUtZHJvcGRvd24tYnV0dG9uXCJcclxuICAgICAgICAgICAgICBpZD1cInVzZXItbWVudVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcclxuICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVzZXJNZW51RXhwYW5kZWQgPSAhdXNlck1lbnVFeHBhbmRlZFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPk9wZW4gdXNlciBtZW51PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdmF0YXItdGV4dFwiPnt7dGhpcy5hdmF0YXJOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhdXNlclwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNpZ25pbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNoZWxsLWhlYWRlci1wcm9maWxlLWRyb3Bkb3duLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgaWQ9XCJ1c2VyLW1lbnVcIlxyXG4gICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5zaWduIGluPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXZhdGFyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdmF0YXItdGV4dFwiPjxpIGNsYXNzPVwibXMtSWNvbiBtcy1JY29uLS1TaWduaW5cIj48L2k+PC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBbY2xhc3NdPVwidXNlck1lbnVFeHBhbmRlZCA/XHJcbiAgICAndHJhbnNpdGlvbiBlYXNlLW91dCBkdXJhdGlvbi0yMDAgb3JpZ2luLXRvcC1yaWdodCB6LTMwIGFic29sdXRlIHJpZ2h0LTAgbXQtMiB3LTU2IHJvdW5kZWQtc20gc2hhZG93LWxnIGJnLXdoaXRlIHJpbmctMSByaW5nLWJsYWNrIHJpbmctb3BhY2l0eS01IGZvY3VzOm91dGxpbmUtbm9uZSdcclxuICAgIDpcclxuICAgICdoaWRkZW4gdHJhbnNpdGlvbiBlYXNlLWluIGR1cmF0aW9uLTc1IG9yaWdpbi10b3AtcmlnaHQgei0zMCByaWdodC0wIG10LTIgdy01NiByb3VuZGVkLXNtIHNoYWRvdy1sZyBiZy13aGl0ZSByaW5nLTEgcmluZy1ibGFjayByaW5nLW9wYWNpdHktNSBmb2N1czpvdXRsaW5lLW5vbmUnXCJcclxuICAgIHJvbGU9XCJtZW51XCIgYXJpYS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCIgYXJpYS1sYWJlbGxlZGJ5PVwibWVudS1idXR0b25cIiB0YWJpbmRleD1cIi0xXCI+XHJcbiAgICAgICAgIDxsaWItbmF2LWxpbmtzLWxpc3RcclxuICAgICAgICAgICAgW2xpbmtzXT1cImxpbmtzLnByb2ZpbGVcIlxyXG4gICAgICAgICAgICBbbGluay1jbGFzc109XCInbmF2LWxpbmstcHJvZmlsZSdcIlxyXG4gICAgICAgICAgICBbbGluay1hY3RpdmUtY2xhc3NdPVwiJ25hdi1saW5rLXByb2ZpbGUtYWN0aXZlJ1wiPlxyXG4gICAgICAgICA8L2xpYi1uYXYtbGlua3MtbGlzdD5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuIl19
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// https://github.com/arkon/ng-click-outside
|
|
3
|
-
// the project is inactive - so imoved the directive code in our project
|
|
4
|
-
//
|
|
5
|
-
import { Directive, EventEmitter, Inject, Input, Output, PLATFORM_ID, } from '@angular/core';
|
|
6
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
// tslint:disable-next-line:directive-selector
|
|
9
|
-
export class ClickOutsideDirective {
|
|
10
|
-
constructor(
|
|
11
|
-
// tslint:disable-next-line:variable-name
|
|
12
|
-
_el,
|
|
13
|
-
// tslint:disable-next-line:variable-name
|
|
14
|
-
_ngZone, platformId) {
|
|
15
|
-
this._el = _el;
|
|
16
|
-
this._ngZone = _ngZone;
|
|
17
|
-
this.platformId = platformId;
|
|
18
|
-
this.clickOutsideEnabled = true;
|
|
19
|
-
this.attachOutsideOnClick = false;
|
|
20
|
-
this.delayClickOutsideInit = false;
|
|
21
|
-
this.emitOnBlur = false;
|
|
22
|
-
this.exclude = '';
|
|
23
|
-
this.excludeBeforeClick = false;
|
|
24
|
-
this.clickOutsideEvents = '';
|
|
25
|
-
this.clickOutside = new EventEmitter();
|
|
26
|
-
// tslint:disable-next-line:variable-name
|
|
27
|
-
this._nodesExcluded = [];
|
|
28
|
-
// tslint:disable-next-line:variable-name
|
|
29
|
-
this._events = ['click'];
|
|
30
|
-
this._initOnClickBody = this._initOnClickBody.bind(this);
|
|
31
|
-
this._onClickBody = this._onClickBody.bind(this);
|
|
32
|
-
this._onWindowBlur = this._onWindowBlur.bind(this);
|
|
33
|
-
}
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
this._init();
|
|
39
|
-
}
|
|
40
|
-
ngOnDestroy() {
|
|
41
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
this._removeClickOutsideListener();
|
|
45
|
-
this._removeAttachOutsideOnClickListener();
|
|
46
|
-
this._removeWindowBlurListener();
|
|
47
|
-
}
|
|
48
|
-
ngOnChanges(changes) {
|
|
49
|
-
if (!isPlatformBrowser(this.platformId)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
// tslint:disable-next-line:no-string-literal
|
|
53
|
-
if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {
|
|
54
|
-
this._init();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
_init() {
|
|
58
|
-
if (this.clickOutsideEvents !== '') {
|
|
59
|
-
this._events = this.clickOutsideEvents.split(',').map(e => e.trim());
|
|
60
|
-
}
|
|
61
|
-
this._excludeCheck();
|
|
62
|
-
if (this.attachOutsideOnClick) {
|
|
63
|
-
this._initAttachOutsideOnClickListener();
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
this._initOnClickBody();
|
|
67
|
-
}
|
|
68
|
-
if (this.emitOnBlur) {
|
|
69
|
-
this._initWindowBlurListener();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
_initOnClickBody() {
|
|
73
|
-
if (this.delayClickOutsideInit) {
|
|
74
|
-
setTimeout(this._initClickOutsideListener.bind(this));
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
this._initClickOutsideListener();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
_excludeCheck() {
|
|
81
|
-
if (this.exclude) {
|
|
82
|
-
try {
|
|
83
|
-
const nodes = Array.from(document.querySelectorAll(this.exclude));
|
|
84
|
-
if (nodes) {
|
|
85
|
-
this._nodesExcluded = nodes;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch (err) {
|
|
89
|
-
console.error('[ng-click-outside] Check your exclude selector syntax.', err);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
_onClickBody(ev) {
|
|
94
|
-
if (!this.clickOutsideEnabled) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
if (this.excludeBeforeClick) {
|
|
98
|
-
this._excludeCheck();
|
|
99
|
-
}
|
|
100
|
-
if (!this._el.nativeElement.contains(ev.target) && !this._shouldExclude(ev.target)) {
|
|
101
|
-
this._emit(ev);
|
|
102
|
-
if (this.attachOutsideOnClick) {
|
|
103
|
-
this._removeClickOutsideListener();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Resolves problem with outside click on iframe
|
|
109
|
-
* @see https://github.com/arkon/ng-click-outside/issues/32
|
|
110
|
-
*/
|
|
111
|
-
_onWindowBlur(ev) {
|
|
112
|
-
setTimeout(() => {
|
|
113
|
-
if (!document.hidden) {
|
|
114
|
-
this._emit(ev);
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
_emit(ev) {
|
|
119
|
-
if (!this.clickOutsideEnabled) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
this._ngZone.run(() => this.clickOutside.emit(ev));
|
|
123
|
-
}
|
|
124
|
-
_shouldExclude(target) {
|
|
125
|
-
// tslint:disable-next-line:prefer-const
|
|
126
|
-
for (let excludedNode of this._nodesExcluded) {
|
|
127
|
-
if (excludedNode.contains(target)) {
|
|
128
|
-
return true;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
_initClickOutsideListener() {
|
|
134
|
-
this._ngZone.runOutsideAngular(() => {
|
|
135
|
-
this._events.forEach(e => document.addEventListener(e, this._onClickBody));
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
_removeClickOutsideListener() {
|
|
139
|
-
this._ngZone.runOutsideAngular(() => {
|
|
140
|
-
this._events.forEach(e => document.removeEventListener(e, this._onClickBody));
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
_initAttachOutsideOnClickListener() {
|
|
144
|
-
this._ngZone.runOutsideAngular(() => {
|
|
145
|
-
this._events.forEach(e => this._el.nativeElement.addEventListener(e, this._initOnClickBody));
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
_removeAttachOutsideOnClickListener() {
|
|
149
|
-
this._ngZone.runOutsideAngular(() => {
|
|
150
|
-
this._events.forEach(e => this._el.nativeElement.removeEventListener(e, this._initOnClickBody));
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
_initWindowBlurListener() {
|
|
154
|
-
this._ngZone.runOutsideAngular(() => {
|
|
155
|
-
window.addEventListener('blur', this._onWindowBlur);
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
_removeWindowBlurListener() {
|
|
159
|
-
this._ngZone.runOutsideAngular(() => {
|
|
160
|
-
window.removeEventListener('blur', this._onWindowBlur);
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
|
|
165
|
-
ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.0", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 });
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
167
|
-
type: Directive,
|
|
168
|
-
args: [{ selector: '[clickOutside]' }]
|
|
169
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
170
|
-
type: Inject,
|
|
171
|
-
args: [PLATFORM_ID]
|
|
172
|
-
}] }]; }, propDecorators: { clickOutsideEnabled: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], attachOutsideOnClick: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], delayClickOutsideInit: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], emitOnBlur: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], exclude: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], excludeBeforeClick: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], clickOutsideEvents: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], clickOutside: [{
|
|
187
|
-
type: Output
|
|
188
|
-
}] } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxFQUFFO0FBQ0YsNENBQTRDO0FBQzVDLHdFQUF3RTtBQUN4RSxFQUFFO0FBQ0YsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBQ04sV0FBVyxHQUdaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVwRCw4Q0FBOEM7QUFFOUMsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEM7SUFDRSx5Q0FBeUM7SUFDakMsR0FBZTtJQUN2Qix5Q0FBeUM7SUFDakMsT0FBZSxFQUNNLFVBQWU7UUFIcEMsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUVmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDTSxlQUFVLEdBQVYsVUFBVSxDQUFLO1FBdkJyQyx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFM0IseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRXZCLGlCQUFZLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFFeEUseUNBQXlDO1FBQ2pDLG1CQUFjLEdBQXVCLEVBQUUsQ0FBQztRQUNoRCx5Q0FBeUM7UUFDakMsWUFBTyxHQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBUXpDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENB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QUNMLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEE1S1UscUJBQXFCLGtFQXlCdEIsV0FBVztzR0F6QlYscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7OzBCQTBCcEMsTUFBTTsyQkFBQyxXQUFXOzRDQXZCWixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvL1xyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYXJrb24vbmctY2xpY2stb3V0c2lkZVxyXG4vLyB0aGUgcHJvamVjdCBpcyBpbmFjdGl2ZSAtIHNvIGltb3ZlZCB0aGUgZGlyZWN0aXZlIGNvZGUgaW4gb3VyIHByb2plY3RcclxuLy9cclxuaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBQTEFURk9STV9JRCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE5nWm9uZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY2xpY2tPdXRzaWRlXScgfSlcclxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKSBjbGlja091dHNpZGVFbmFibGVkID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgYXR0YWNoT3V0c2lkZU9uQ2xpY2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZWxheUNsaWNrT3V0c2lkZUluaXQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbWl0T25CbHVyID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGV4Y2x1ZGUgPSAnJztcclxuICBASW5wdXQoKSBleGNsdWRlQmVmb3JlQ2xpY2sgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgY2xpY2tPdXRzaWRlRXZlbnRzID0gJyc7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja091dHNpZGU6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gIHByaXZhdGUgX25vZGVzRXhjbHVkZWQ6IEFycmF5PEhUTUxFbGVtZW50PiA9IFtdO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgcHJpdmF0ZSBfZXZlbnRzOiBBcnJheTxzdHJpbmc+ID0gWydjbGljayddO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgICBwcml2YXRlIF9lbDogRWxlbWVudFJlZixcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55KSB7XHJcbiAgICB0aGlzLl9pbml0T25DbGlja0JvZHkgPSB0aGlzLl9pbml0T25DbGlja0JvZHkuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuX29uQ2xpY2tCb2R5ID0gdGhpcy5fb25DbGlja0JvZHkuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuX29uV2luZG93Qmx1ciA9IHRoaXMuX29uV2luZG93Qmx1ci5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5faW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgdGhpcy5fcmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgIHRoaXMuX3JlbW92ZUF0dGFjaE91dHNpZGVPbkNsaWNrTGlzdGVuZXIoKTtcclxuICAgIHRoaXMuX3JlbW92ZVdpbmRvd0JsdXJMaXN0ZW5lcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7IHJldHVybjsgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1zdHJpbmctbGl0ZXJhbFxyXG4gICAgaWYgKGNoYW5nZXNbJ2F0dGFjaE91dHNpZGVPbkNsaWNrJ10gfHwgY2hhbmdlc1snZXhjbHVkZSddIHx8IGNoYW5nZXNbJ2VtaXRPbkJsdXInXSkge1xyXG4gICAgICB0aGlzLl9pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2xpY2tPdXRzaWRlRXZlbnRzICE9PSAnJykge1xyXG4gICAgICB0aGlzLl9ldmVudHMgPSB0aGlzLmNsaWNrT3V0c2lkZUV2ZW50cy5zcGxpdCgnLCcpLm1hcChlID0+IGUudHJpbSgpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9leGNsdWRlQ2hlY2soKTtcclxuXHJcbiAgICBpZiAodGhpcy5hdHRhY2hPdXRzaWRlT25DbGljaykge1xyXG4gICAgICB0aGlzLl9pbml0QXR0YWNoT3V0c2lkZU9uQ2xpY2tMaXN0ZW5lcigpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faW5pdE9uQ2xpY2tCb2R5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZW1pdE9uQmx1cikge1xyXG4gICAgICB0aGlzLl9pbml0V2luZG93Qmx1ckxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0T25DbGlja0JvZHkoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5kZWxheUNsaWNrT3V0c2lkZUluaXQpIHtcclxuICAgICAgc2V0VGltZW91dCh0aGlzLl9pbml0Q2xpY2tPdXRzaWRlTGlzdGVuZXIuYmluZCh0aGlzKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pbml0Q2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2V4Y2x1ZGVDaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmV4Y2x1ZGUpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLmV4Y2x1ZGUpKSBhcyBBcnJheTxIVE1MRWxlbWVudD47XHJcbiAgICAgICAgaWYgKG5vZGVzKSB7XHJcbiAgICAgICAgICB0aGlzLl9ub2Rlc0V4Y2x1ZGVkID0gbm9kZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdbbmctY2xpY2stb3V0c2lkZV0gQ2hlY2sgeW91ciBleGNsdWRlIHNlbGVjdG9yIHN5bnRheC4nLCBlcnIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vbkNsaWNrQm9keShldjogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jbGlja091dHNpZGVFbmFibGVkKSB7IHJldHVybjsgfVxyXG5cclxuICAgIGlmICh0aGlzLmV4Y2x1ZGVCZWZvcmVDbGljaykge1xyXG4gICAgICB0aGlzLl9leGNsdWRlQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXYudGFyZ2V0KSAmJiAhdGhpcy5fc2hvdWxkRXhjbHVkZShldi50YXJnZXQpKSB7XHJcbiAgICAgIHRoaXMuX2VtaXQoZXYpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuYXR0YWNoT3V0c2lkZU9uQ2xpY2spIHtcclxuICAgICAgICB0aGlzLl9yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNvbHZlcyBwcm9ibGVtIHdpdGggb3V0c2lkZSBjbGljayBvbiBpZnJhbWVcclxuICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hcmtvbi9uZy1jbGljay1vdXRzaWRlL2lzc3Vlcy8zMlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX29uV2luZG93Qmx1cihldjogRXZlbnQpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAoIWRvY3VtZW50LmhpZGRlbikge1xyXG4gICAgICAgIHRoaXMuX2VtaXQoZXYpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2VtaXQoZXY6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCkgeyByZXR1cm47IH1cclxuXHJcbiAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQoZXYpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Nob3VsZEV4Y2x1ZGUodGFyZ2V0OiBhbnkpOiBib29sZWFuIHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItY29uc3RcclxuICAgIGZvciAobGV0IGV4Y2x1ZGVkTm9kZSBvZiB0aGlzLl9ub2Rlc0V4Y2x1ZGVkKSB7XHJcbiAgICAgIGlmIChleGNsdWRlZE5vZGUuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdENsaWNrT3V0c2lkZUxpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzLmZvckVhY2goZSA9PiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGUsIHRoaXMuX29uQ2xpY2tCb2R5KSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzLmZvckVhY2goZSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGUsIHRoaXMuX29uQ2xpY2tCb2R5KSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRBdHRhY2hPdXRzaWRlT25DbGlja0xpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzLmZvckVhY2goZSA9PiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZSwgdGhpcy5faW5pdE9uQ2xpY2tCb2R5KSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUF0dGFjaE91dHNpZGVPbkNsaWNrTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9ldmVudHMuZm9yRWFjaChlID0+IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9pbml0T25DbGlja0JvZHkpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdFdpbmRvd0JsdXJMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5fb25XaW5kb3dCbHVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtb3ZlV2luZG93Qmx1ckxpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGlzLl9vbldpbmRvd0JsdXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|