@igo2/common 19.0.3 → 20.0.0-next.2
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/action/index.d.ts +194 -3
- package/backdrop/index.d.ts +20 -3
- package/badge/index.d.ts +44 -3
- package/clickout/index.d.ts +20 -3
- package/clone/index.d.ts +18 -3
- package/collapsible/index.d.ts +43 -3
- package/color/index.d.ts +38 -3
- package/confirm-dialog/index.d.ts +39 -5
- package/context-menu/index.d.ts +50 -3
- package/custom-html/index.d.ts +30 -3
- package/dom/index.d.ts +34 -3
- package/drag-drop/index.d.ts +124 -3
- package/dynamic-component/index.d.ts +186 -3
- package/entity/index.d.ts +1532 -3
- package/environment/index.d.ts +15 -5
- package/fesm2022/igo2-common-action.mjs +28 -38
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +7 -7
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +10 -13
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-clickout.mjs +10 -13
- package/fesm2022/igo2-common-clickout.mjs.map +1 -1
- package/fesm2022/igo2-common-clone.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +14 -18
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +9 -9
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +19 -26
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +16 -21
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +14 -17
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +11 -14
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +15 -17
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +20 -27
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +69 -108
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +13 -18
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +77 -112
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +7 -7
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +14 -21
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs +53 -57
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +43 -56
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +19 -28
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-keyvalue.mjs +7 -7
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +16 -23
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +9 -9
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +6 -6
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +28 -44
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +10 -16
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +15 -21
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-stop-propagation.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +9 -11
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +16 -22
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +19 -24
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +20 -20
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/flexible/index.d.ts +54 -3
- package/form/index.d.ts +429 -3
- package/home-button/index.d.ts +18 -3
- package/icon/index.d.ts +42 -3
- package/image/index.d.ts +35 -3
- package/index.d.ts +16 -5
- package/interactive-tour/index.d.ts +116 -5
- package/json-dialog/index.d.ts +34 -5
- package/keyvalue/index.d.ts +18 -3
- package/list/index.d.ts +102 -3
- package/package.json +10 -13
- package/panel/index.d.ts +20 -3
- package/resizable-bar/index.d.ts +37 -5
- package/select-value-dialog/index.d.ts +65 -5
- package/sidenav/index.d.ts +29 -3
- package/spinner/index.d.ts +51 -3
- package/src/style/partial/common-utils.scss +1 -1
- package/stop-propagation/index.d.ts +26 -3
- package/table/index.d.ts +105 -3
- package/tool/index.d.ts +289 -3
- package/widget/index.d.ts +105 -3
- package/workspace/index.d.ts +237 -3
- package/action/action.module.d.ts +0 -10
- package/action/actionbar/actionbar-item.component.d.ts +0 -73
- package/action/actionbar/actionbar.component.d.ts +0 -148
- package/action/actionbar/actionbar.module.d.ts +0 -10
- package/action/public_api.d.ts +0 -4
- package/action/shared/action.enums.d.ts +0 -5
- package/action/shared/action.interfaces.d.ts +0 -16
- package/action/shared/index.d.ts +0 -3
- package/action/shared/store.d.ts +0 -8
- package/action/src/action.theming.scss +0 -9
- package/action/src/actionbar/actionbar-item.theming.scss +0 -20
- package/backdrop/backdrop.component.d.ts +0 -8
- package/backdrop/backdrop.module.d.ts +0 -12
- package/backdrop/public_api.d.ts +0 -2
- package/badge/badge-icon.directive.d.ts +0 -34
- package/badge/badge-icon.module.d.ts +0 -12
- package/badge/public_api.d.ts +0 -2
- package/clickout/clickout.directive.d.ts +0 -10
- package/clickout/clickout.module.d.ts +0 -12
- package/clickout/public_api.d.ts +0 -2
- package/clone/clone.module.d.ts +0 -12
- package/clone/clone.pipe.d.ts +0 -7
- package/clone/public_api.d.ts +0 -2
- package/collapsible/collapse.directive.d.ts +0 -19
- package/collapsible/collapsible.component.d.ts +0 -13
- package/collapsible/collapsible.module.d.ts +0 -13
- package/collapsible/public_api.d.ts +0 -6
- package/color/color-picker-form-field/color-picker-form-field.component.d.ts +0 -29
- package/color/color-picker-form-field/color-picker-form-field.module.d.ts +0 -10
- package/color/color-picker-form-field/index.d.ts +0 -2
- package/color/public_api.d.ts +0 -1
- package/confirm-dialog/confirm-dialog.component.d.ts +0 -12
- package/confirm-dialog/confirm-dialog.interface.d.ts +0 -4
- package/confirm-dialog/confirm-dialog.module.d.ts +0 -12
- package/confirm-dialog/confirm-dialog.service.d.ts +0 -11
- package/confirm-dialog/public_api.d.ts +0 -4
- package/context-menu/context-menu.directive.d.ts +0 -21
- package/context-menu/context-menu.module.d.ts +0 -13
- package/context-menu/long-press.directive.d.ts +0 -19
- package/context-menu/public_api.d.ts +0 -6
- package/custom-html/custom-html.component.d.ts +0 -8
- package/custom-html/custom-html.module.d.ts +0 -13
- package/custom-html/custom-html.pipe.d.ts +0 -10
- package/custom-html/public_api.d.ts +0 -6
- package/dom/dom.interfaces.d.ts +0 -10
- package/dom/dom.module.d.ts +0 -14
- package/dom/dom.service.d.ts +0 -10
- package/dom/public_api.d.ts +0 -3
- package/drag-drop/drag-drop.directive.d.ts +0 -14
- package/drag-drop/drag-drop.module.d.ts +0 -13
- package/drag-drop/public_api.d.ts +0 -3
- package/drag-drop/tree-drag-drop/index.d.ts +0 -2
- package/drag-drop/tree-drag-drop/tree-drag-drop.directive.d.ts +0 -85
- package/drag-drop/tree-drag-drop/tree-drag-drop.interface.d.ts +0 -15
- package/dynamic-component/dynamic-component.module.d.ts +0 -10
- package/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +0 -66
- package/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +0 -10
- package/dynamic-component/public_api.d.ts +0 -4
- package/dynamic-component/shared/dynamic-component.d.ts +0 -84
- package/dynamic-component/shared/dynamic-component.interfaces.d.ts +0 -3
- package/dynamic-component/shared/dynamic-component.service.d.ts +0 -18
- package/dynamic-component/shared/index.d.ts +0 -3
- package/entity/entity-selector/entity-selector.component.d.ts +0 -93
- package/entity/entity-selector/entity-selector.module.d.ts +0 -10
- package/entity/entity-selector/index.d.ts +0 -2
- package/entity/entity-table/entity-table-row.directive.d.ts +0 -69
- package/entity/entity-table/entity-table.component.d.ts +0 -330
- package/entity/entity-table/entity-table.module.d.ts +0 -10
- package/entity/entity-table/index.d.ts +0 -2
- package/entity/entity-table-paginator/entity-table-paginator.component.d.ts +0 -50
- package/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +0 -8
- package/entity/entity-table-paginator/entity-table-paginator.module.d.ts +0 -10
- package/entity/entity-table-paginator/index.d.ts +0 -3
- package/entity/entity.module.d.ts +0 -16
- package/entity/public_api.d.ts +0 -5
- package/entity/shared/entity.enums.d.ts +0 -23
- package/entity/shared/entity.interfaces.d.ts +0 -92
- package/entity/shared/entity.utils.d.ts +0 -49
- package/entity/shared/index.d.ts +0 -9
- package/entity/shared/state.d.ts +0 -108
- package/entity/shared/store.d.ts +0 -180
- package/entity/shared/strategies/filter-custom-function.d.ts +0 -51
- package/entity/shared/strategies/filter-selection.d.ts +0 -48
- package/entity/shared/strategies/index.d.ts +0 -3
- package/entity/shared/strategies/strategy.d.ts +0 -56
- package/entity/shared/transaction.d.ts +0 -171
- package/entity/shared/view.d.ts +0 -193
- package/entity/shared/watcher.d.ts +0 -72
- package/entity/src/entity-selector/entity-selector.theming.scss +0 -21
- package/entity/src/entity-table/entity-table.theming.scss +0 -21
- package/entity/src/entity.theming.scss +0 -12
- package/environment/environment.interface.d.ts +0 -13
- package/environment/public_api.d.ts +0 -1
- package/flexible/flexible.component.d.ts +0 -42
- package/flexible/flexible.module.d.ts +0 -12
- package/flexible/flexible.type.d.ts +0 -2
- package/flexible/public_api.d.ts +0 -3
- package/form/form/form.component.d.ts +0 -46
- package/form/form/form.module.d.ts +0 -10
- package/form/form/index.d.ts +0 -2
- package/form/form-dialog/form-dialog.component.d.ts +0 -19
- package/form/form-dialog/form-dialog.interface.d.ts +0 -16
- package/form/form-dialog/form-dialog.module.d.ts +0 -16
- package/form/form-dialog/form-dialog.service.d.ts +0 -11
- package/form/form-dialog/index.d.ts +0 -4
- package/form/form-field/form-field-select.component.d.ts +0 -50
- package/form/form-field/form-field-text.component.d.ts +0 -49
- package/form/form-field/form-field-textarea.component.d.ts +0 -39
- package/form/form-field/form-field.component.d.ts +0 -29
- package/form/form-field/form-field.directive.d.ts +0 -5
- package/form/form-field/form-field.module.d.ts +0 -13
- package/form/form-field/index.d.ts +0 -6
- package/form/form-group/form-group.component.d.ts +0 -44
- package/form/form-group/form-group.module.d.ts +0 -10
- package/form/form-group/index.d.ts +0 -2
- package/form/form.module.d.ts +0 -18
- package/form/public_api.d.ts +0 -6
- package/form/shared/form-field-component.d.ts +0 -1
- package/form/shared/form-field.service.d.ts +0 -16
- package/form/shared/form.interfaces.d.ts +0 -60
- package/form/shared/form.service.d.ts +0 -15
- package/form/shared/form.utils.d.ts +0 -7
- package/form/shared/index.d.ts +0 -5
- package/home-button/home-button.component.d.ts +0 -8
- package/home-button/home-button.module.d.ts +0 -10
- package/home-button/public_api.d.ts +0 -2
- package/icon/icon/icon.component.d.ts +0 -15
- package/icon/icon.provider.d.ts +0 -4
- package/icon/public_api.d.ts +0 -3
- package/icon/shared/icon.interface.d.ts +0 -4
- package/icon/shared/icon.service.d.ts +0 -12
- package/icon/shared/icons.d.ts +0 -11
- package/icon/shared/index.d.ts +0 -3
- package/image/image-error.directive.d.ts +0 -11
- package/image/image.module.d.ts +0 -13
- package/image/public_api.d.ts +0 -6
- package/image/secure-image.pipe.d.ts +0 -13
- package/interactive-tour/interactive-tour.component.d.ts +0 -33
- package/interactive-tour/interactive-tour.interface.d.ts +0 -35
- package/interactive-tour/interactive-tour.loader.d.ts +0 -18
- package/interactive-tour/interactive-tour.module.d.ts +0 -7
- package/interactive-tour/interactive-tour.service.d.ts +0 -30
- package/interactive-tour/public_api.d.ts +0 -5
- package/json-dialog/json-dialog.component.d.ts +0 -13
- package/json-dialog/json-dialog.module.d.ts +0 -12
- package/json-dialog/json-dialog.service.d.ts +0 -10
- package/json-dialog/public_api.d.ts +0 -3
- package/keyvalue/keyvalue.module.d.ts +0 -12
- package/keyvalue/keyvalue.pipe.d.ts +0 -7
- package/keyvalue/public_api.d.ts +0 -2
- package/list/list-item.directive.d.ts +0 -43
- package/list/list.component.d.ts +0 -51
- package/list/list.module.d.ts +0 -13
- package/list/public_api.d.ts +0 -6
- package/panel/panel.component.d.ts +0 -10
- package/panel/panel.module.d.ts +0 -10
- package/panel/public_api.d.ts +0 -2
- package/panel/src/panel.theming.scss +0 -20
- package/public_api.d.ts +0 -16
- package/resizable-bar/public_api.d.ts +0 -2
- package/resizable-bar/resizable-bar.component.d.ts +0 -23
- package/resizable-bar/shared/resize.directive.d.ts +0 -12
- package/select-value-dialog/public_api.d.ts +0 -5
- package/select-value-dialog/select-value-check-radio-dialog.component.d.ts +0 -25
- package/select-value-dialog/select-value-dialog.enums.d.ts +0 -4
- package/select-value-dialog/select-value-dialog.interface.d.ts +0 -16
- package/select-value-dialog/select-value-dialog.module.d.ts +0 -12
- package/select-value-dialog/select-value-dialog.service.d.ts +0 -11
- package/sidenav/public_api.d.ts +0 -2
- package/sidenav/sidenav-shim.directive.d.ts +0 -20
- package/sidenav/sidenav.module.d.ts +0 -12
- package/spinner/public_api.d.ts +0 -3
- package/spinner/spinner-activity.directive.d.ts +0 -32
- package/spinner/spinner.component.d.ts +0 -11
- package/spinner/spinner.module.d.ts +0 -14
- package/src/common.theme.scss +0 -18
- package/stop-propagation/public_api.d.ts +0 -6
- package/stop-propagation/stop-drop-propagation.directive.d.ts +0 -6
- package/stop-propagation/stop-propagation.directive.d.ts +0 -6
- package/stop-propagation/stop-propagation.module.d.ts +0 -13
- package/table/public_api.d.ts +0 -6
- package/table/table-action-color.enum.d.ts +0 -5
- package/table/table-database.d.ts +0 -10
- package/table/table-datasource.d.ts +0 -18
- package/table/table-model.interface.d.ts +0 -24
- package/table/table.component.d.ts +0 -40
- package/table/table.module.d.ts +0 -12
- package/tool/public_api.d.ts +0 -3
- package/tool/shared/index.d.ts +0 -5
- package/tool/shared/tool-component.d.ts +0 -2
- package/tool/shared/tool.interface.d.ts +0 -16
- package/tool/shared/tool.service.d.ts +0 -28
- package/tool/shared/toolbox.d.ts +0 -96
- package/tool/shared/toolbox.enums.d.ts +0 -1
- package/tool/src/tool.theming.scss +0 -5
- package/tool/src/toolbox/toolbox.theming.scss +0 -22
- package/tool/tool.module.d.ts +0 -15
- package/tool/toolbox/index.d.ts +0 -2
- package/tool/toolbox/toolbox.animation.d.ts +0 -2
- package/tool/toolbox/toolbox.component.d.ts +0 -126
- package/tool/toolbox/toolbox.module.d.ts +0 -10
- package/widget/public_api.d.ts +0 -3
- package/widget/shared/index.d.ts +0 -3
- package/widget/shared/widget.d.ts +0 -4
- package/widget/shared/widget.interfaces.d.ts +0 -12
- package/widget/shared/widget.service.d.ts +0 -10
- package/widget/widget-outlet/index.d.ts +0 -2
- package/widget/widget-outlet/widget-outlet.component.d.ts +0 -64
- package/widget/widget-outlet/widget-outlet.module.d.ts +0 -10
- package/widget/widget.module.d.ts +0 -10
- package/workspace/public_api.d.ts +0 -4
- package/workspace/shared/index.d.ts +0 -3
- package/workspace/shared/store.d.ts +0 -20
- package/workspace/shared/workspace.d.ts +0 -98
- package/workspace/shared/workspace.interfaces.d.ts +0 -9
- package/workspace/workspace-selector/index.d.ts +0 -2
- package/workspace/workspace-selector/workspace-selector.component.d.ts +0 -38
- package/workspace/workspace-selector/workspace-selector.module.d.ts +0 -10
- package/workspace/workspace-widget-outlet/index.d.ts +0 -2
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +0 -52
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +0 -10
- package/workspace/workspace.module.d.ts +0 -14
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { HostListener, Input, Directive, Pipe, NgModule } from '@angular/core';
|
|
2
|
+
import { inject, ElementRef, HostListener, Input, Directive, Pipe, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate, __metadata } from 'tslib';
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import { Observable } from 'rxjs';
|
|
8
|
-
import { catchError, switchMap } from 'rxjs/operators';
|
|
4
|
+
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
5
|
+
import { ConfigService } from '@igo2/core/config';
|
|
6
|
+
import { catchError, switchMap, Observable } from 'rxjs';
|
|
9
7
|
import { Cacheable } from 'ts-cacheable';
|
|
10
8
|
|
|
11
9
|
class ImageErrorDirective {
|
|
12
|
-
el;
|
|
10
|
+
el = inject(ElementRef);
|
|
13
11
|
errorImageUrl = './assets/igo2/common/images/na.png';
|
|
14
12
|
hideError = false;
|
|
15
|
-
constructor(el) {
|
|
16
|
-
this.el = el;
|
|
17
|
-
}
|
|
18
13
|
onError(event) {
|
|
19
14
|
if (this.hideError) {
|
|
20
15
|
this.el.nativeElement.style.display = 'none';
|
|
@@ -23,16 +18,16 @@ class ImageErrorDirective {
|
|
|
23
18
|
event.target.src = this.errorImageUrl;
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ImageErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.4", type: ImageErrorDirective, isStandalone: true, selector: "[igoImageError]", inputs: { errorImageUrl: "errorImageUrl", hideError: "hideError" }, host: { listeners: { "error": "onError($event)" } }, ngImport: i0 });
|
|
28
23
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: ImageErrorDirective, decorators: [{
|
|
30
25
|
type: Directive,
|
|
31
26
|
args: [{
|
|
32
27
|
selector: '[igoImageError]',
|
|
33
28
|
standalone: true
|
|
34
29
|
}]
|
|
35
|
-
}],
|
|
30
|
+
}], propDecorators: { errorImageUrl: [{
|
|
36
31
|
type: Input
|
|
37
32
|
}], hideError: [{
|
|
38
33
|
type: Input
|
|
@@ -41,45 +36,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
41
36
|
args: ['error', ['$event']]
|
|
42
37
|
}] } });
|
|
43
38
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
function fetchImageFromDepotUrl(url, depotUrl, http) {
|
|
40
|
+
const headers = new HttpHeaders({
|
|
41
|
+
'Content-Type': 'text/plain',
|
|
42
|
+
activityInterceptor: 'false',
|
|
43
|
+
interceptError: 'false'
|
|
44
|
+
});
|
|
45
|
+
const regexDepot = new RegExp(depotUrl + '.*?(?="|$)');
|
|
46
|
+
if (regexDepot.test(url)) {
|
|
47
|
+
url = url.match(regexDepot)[0];
|
|
50
48
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
return http
|
|
50
|
+
.get(url, {
|
|
51
|
+
headers,
|
|
52
|
+
responseType: 'blob'
|
|
53
|
+
})
|
|
54
|
+
.pipe(catchError((err) => {
|
|
55
|
+
err.error.caught = true;
|
|
56
|
+
err.error.toDisplay = false;
|
|
57
|
+
throw err;
|
|
58
|
+
}), switchMap((blob) => {
|
|
59
|
+
return new Observable((observer) => {
|
|
60
|
+
const reader = new FileReader();
|
|
61
|
+
reader.readAsDataURL(blob);
|
|
62
|
+
reader.onloadend = () => {
|
|
63
|
+
observer.next(reader.result);
|
|
64
|
+
observer.complete();
|
|
65
|
+
};
|
|
56
66
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
.pipe(catchError((err) => {
|
|
67
|
-
err.error.caught = true;
|
|
68
|
-
err.error.toDisplay = false;
|
|
69
|
-
throw err;
|
|
70
|
-
}), switchMap((blob) => {
|
|
71
|
-
return new Observable((observer) => {
|
|
72
|
-
const reader = new FileReader();
|
|
73
|
-
reader.readAsDataURL(blob);
|
|
74
|
-
reader.onloadend = () => {
|
|
75
|
-
observer.next(reader.result);
|
|
76
|
-
observer.complete();
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
}));
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
class SecureImagePipe {
|
|
71
|
+
http = inject(HttpClient);
|
|
72
|
+
configService = inject(ConfigService);
|
|
73
|
+
transform(url) {
|
|
74
|
+
const depotUrl = this.configService?.getConfig('depot.url');
|
|
75
|
+
return fetchImageFromDepotUrl(url, depotUrl, this.http);
|
|
80
76
|
}
|
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
82
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SecureImagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
78
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: SecureImagePipe, isStandalone: true, name: "secureImage" });
|
|
83
79
|
}
|
|
84
80
|
__decorate([
|
|
85
81
|
Cacheable({
|
|
@@ -89,13 +85,13 @@ __decorate([
|
|
|
89
85
|
__metadata("design:paramtypes", [String]),
|
|
90
86
|
__metadata("design:returntype", Observable)
|
|
91
87
|
], SecureImagePipe.prototype, "transform", null);
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: SecureImagePipe, decorators: [{
|
|
93
89
|
type: Pipe,
|
|
94
90
|
args: [{
|
|
95
91
|
name: 'secureImage',
|
|
96
92
|
standalone: true
|
|
97
93
|
}]
|
|
98
|
-
}],
|
|
94
|
+
}], propDecorators: { transform: [] } });
|
|
99
95
|
|
|
100
96
|
/**
|
|
101
97
|
* @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set
|
|
@@ -107,11 +103,11 @@ class IgoImageModule {
|
|
|
107
103
|
providers: []
|
|
108
104
|
};
|
|
109
105
|
}
|
|
110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
111
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
112
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
106
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
107
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule, imports: [SecureImagePipe, ImageErrorDirective], exports: [SecureImagePipe, ImageErrorDirective] });
|
|
108
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule });
|
|
113
109
|
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoImageModule, decorators: [{
|
|
115
111
|
type: NgModule,
|
|
116
112
|
args: [{
|
|
117
113
|
imports: [SecureImagePipe, ImageErrorDirective],
|
|
@@ -125,5 +121,5 @@ const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective];
|
|
|
125
121
|
* Generated bundle index. Do not edit.
|
|
126
122
|
*/
|
|
127
123
|
|
|
128
|
-
export { IMAGE_DIRECTIVES, IgoImageModule, ImageErrorDirective, SecureImagePipe };
|
|
124
|
+
export { IMAGE_DIRECTIVES, IgoImageModule, ImageErrorDirective, SecureImagePipe, fetchImageFromDepotUrl };
|
|
129
125
|
//# sourceMappingURL=igo2-common-image.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-image.mjs","sources":["../../../packages/common/image/src/image-error.directive.ts","../../../packages/common/image/src/secure-image.pipe.ts","../../../packages/common/image/src/image.module.ts","../../../packages/common/image/src/public_api.ts","../../../packages/common/image/src/igo2-common-image.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"igo2-common-image.mjs","sources":["../../../packages/common/image/src/image-error.directive.ts","../../../packages/common/image/src/image.ts","../../../packages/common/image/src/secure-image.pipe.ts","../../../packages/common/image/src/image.module.ts","../../../packages/common/image/src/public_api.ts","../../../packages/common/image/src/igo2-common-image.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n inject\n} from '@angular/core';\n\n@Directive({\n selector: '[igoImageError]',\n standalone: true\n})\nexport class ImageErrorDirective {\n private el = inject(ElementRef);\n\n @Input() errorImageUrl = './assets/igo2/common/images/na.png';\n @Input() hideError = false;\n\n @HostListener('error', ['$event'])\n public onError(event: any): void {\n if (this.hideError) {\n this.el.nativeElement.style.display = 'none';\n } else {\n event.target.src = this.errorImageUrl;\n }\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { Observable, catchError, switchMap } from 'rxjs';\n\nexport function fetchImageFromDepotUrl(\n url: string,\n depotUrl: string,\n http: HttpClient\n) {\n const headers = new HttpHeaders({\n 'Content-Type': 'text/plain',\n activityInterceptor: 'false',\n interceptError: 'false'\n });\n\n const regexDepot = new RegExp(depotUrl + '.*?(?=\"|$)');\n if (regexDepot.test(url)) {\n url = url.match(regexDepot)[0];\n }\n\n return http\n .get(url, {\n headers,\n responseType: 'blob'\n })\n .pipe(\n catchError((err) => {\n err.error.caught = true;\n err.error.toDisplay = false;\n throw err;\n }),\n switchMap((blob) => {\n return new Observable((observer) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n observer.next(reader.result);\n observer.complete();\n };\n });\n })\n ) as Observable<string>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { Cacheable } from 'ts-cacheable';\n\nimport { fetchImageFromDepotUrl } from './image';\n\n@Pipe({\n name: 'secureImage',\n standalone: true\n})\nexport class SecureImagePipe implements PipeTransform {\n private http = inject(HttpClient);\n private configService = inject(ConfigService);\n\n @Cacheable({\n maxCacheCount: 20\n })\n transform(url: string): Observable<string> {\n const depotUrl = this.configService?.getConfig('depot.url');\n return fetchImageFromDepotUrl(url, depotUrl, this.http);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\n/**\n * @deprecated import the components/directives directly or IMAGE_DIRECTIVES for the set\n */\n@NgModule({\n imports: [SecureImagePipe, ImageErrorDirective],\n exports: [SecureImagePipe, ImageErrorDirective]\n})\nexport class IgoImageModule {\n static forRoot(): ModuleWithProviders<IgoImageModule> {\n return {\n ngModule: IgoImageModule,\n providers: []\n };\n }\n}\n","import { ImageErrorDirective } from './image-error.directive';\nimport { SecureImagePipe } from './secure-image.pipe';\n\nexport * from './image';\nexport * from './image.module';\nexport * from './image-error.directive';\nexport * from './secure-image.pipe';\n\nexport const IMAGE_DIRECTIVES = [SecureImagePipe, ImageErrorDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import * as
|
|
2
|
+
import { inject, Injectable, Input, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { NgClass, AsyncPipe } from '@angular/common';
|
|
4
|
+
import * as i1 from '@angular/material/button';
|
|
5
5
|
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i3 from '@angular/material/icon';
|
|
7
7
|
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
-
import * as
|
|
8
|
+
import * as i2 from '@angular/material/tooltip';
|
|
9
9
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import * as i3 from '@igo2/core/language';
|
|
14
|
-
import { IgoLanguageModule } from '@igo2/core/language';
|
|
10
|
+
import { IconService, PRESENTATION_PLAY_ICON, IgoIconComponent } from '@igo2/common/icon';
|
|
11
|
+
import { ToolService } from '@igo2/common/tool';
|
|
12
|
+
import { LanguageService, IgoLanguageModule } from '@igo2/core/language';
|
|
15
13
|
import { of } from 'rxjs';
|
|
16
|
-
import
|
|
17
|
-
import
|
|
14
|
+
import { ConfigService } from '@igo2/core/config';
|
|
15
|
+
import { MediaService } from '@igo2/core/media';
|
|
18
16
|
import { autoPlacement, offset } from '@floating-ui/dom';
|
|
19
|
-
import
|
|
20
|
-
import
|
|
17
|
+
import { ShepherdService } from 'angular-shepherd';
|
|
18
|
+
import { HttpClient } from '@angular/common/http';
|
|
21
19
|
import { catchError } from 'rxjs/operators';
|
|
22
|
-
import * as
|
|
20
|
+
import * as i4 from '@ngx-translate/core';
|
|
23
21
|
|
|
24
22
|
class InteractiveTourLoader {
|
|
25
|
-
http;
|
|
26
|
-
configService;
|
|
23
|
+
http = inject(HttpClient);
|
|
24
|
+
configService = inject(ConfigService);
|
|
27
25
|
jsonURL;
|
|
28
26
|
allToursOptions;
|
|
29
|
-
constructor(
|
|
30
|
-
this.http = http;
|
|
31
|
-
this.configService = configService;
|
|
27
|
+
constructor() {
|
|
32
28
|
this.jsonURL = this.getPathToConfigFile();
|
|
33
29
|
}
|
|
34
30
|
loadConfigTour() {
|
|
@@ -56,26 +52,21 @@ class InteractiveTourLoader {
|
|
|
56
52
|
nameInConfigFile = nameInConfigFile.replace(/\s/g, '');
|
|
57
53
|
return this.allToursOptions[nameInConfigFile];
|
|
58
54
|
}
|
|
59
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourLoader });
|
|
61
57
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourLoader, decorators: [{
|
|
63
59
|
type: Injectable
|
|
64
|
-
}], ctorParameters: () => [
|
|
60
|
+
}], ctorParameters: () => [] });
|
|
65
61
|
|
|
66
62
|
class InteractiveTourService {
|
|
67
|
-
configService;
|
|
68
|
-
mediaService;
|
|
69
|
-
languageService;
|
|
70
|
-
interactiveTourLoader;
|
|
71
|
-
shepherdService;
|
|
63
|
+
configService = inject(ConfigService);
|
|
64
|
+
mediaService = inject(MediaService);
|
|
65
|
+
languageService = inject(LanguageService);
|
|
66
|
+
interactiveTourLoader = inject(InteractiveTourLoader);
|
|
67
|
+
shepherdService = inject(ShepherdService);
|
|
72
68
|
previousStep;
|
|
73
|
-
constructor(
|
|
74
|
-
this.configService = configService;
|
|
75
|
-
this.mediaService = mediaService;
|
|
76
|
-
this.languageService = languageService;
|
|
77
|
-
this.interactiveTourLoader = interactiveTourLoader;
|
|
78
|
-
this.shepherdService = shepherdService;
|
|
69
|
+
constructor() {
|
|
79
70
|
if (this.isAppHaveTour()) {
|
|
80
71
|
this.interactiveTourLoader.loadConfigTour();
|
|
81
72
|
}
|
|
@@ -337,20 +328,20 @@ class InteractiveTourService {
|
|
|
337
328
|
});
|
|
338
329
|
this.shepherdService.start();
|
|
339
330
|
}
|
|
340
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
341
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
331
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
332
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourService, providedIn: 'root' });
|
|
342
333
|
}
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourService, decorators: [{
|
|
344
335
|
type: Injectable,
|
|
345
336
|
args: [{
|
|
346
337
|
providedIn: 'root'
|
|
347
338
|
}]
|
|
348
|
-
}], ctorParameters: () => [
|
|
339
|
+
}], ctorParameters: () => [] });
|
|
349
340
|
|
|
350
341
|
class InteractiveTourComponent {
|
|
351
|
-
interactiveTourService;
|
|
352
|
-
toolService;
|
|
353
|
-
iconService;
|
|
342
|
+
interactiveTourService = inject(InteractiveTourService);
|
|
343
|
+
toolService = inject(ToolService);
|
|
344
|
+
iconService = inject(IconService);
|
|
354
345
|
presentationIcon = PRESENTATION_PLAY_ICON;
|
|
355
346
|
/**
|
|
356
347
|
* Toolbox that holds main tools
|
|
@@ -422,10 +413,7 @@ class InteractiveTourComponent {
|
|
|
422
413
|
get disabledTourButton() {
|
|
423
414
|
return this.interactiveTourService.disabledTourButton(this.activeToolName);
|
|
424
415
|
}
|
|
425
|
-
constructor(
|
|
426
|
-
this.interactiveTourService = interactiveTourService;
|
|
427
|
-
this.toolService = toolService;
|
|
428
|
-
this.iconService = iconService;
|
|
416
|
+
constructor() {
|
|
429
417
|
this.iconService.registerSvg(this.presentationIcon);
|
|
430
418
|
}
|
|
431
419
|
startInteractiveTour() {
|
|
@@ -437,13 +425,12 @@ class InteractiveTourComponent {
|
|
|
437
425
|
return;
|
|
438
426
|
}
|
|
439
427
|
}
|
|
440
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
441
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
428
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
429
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: InteractiveTourComponent, isStandalone: true, selector: "igo-interactive-tour", inputs: { tourToStart: "tourToStart", styleButton: "styleButton", discoverTitleInLocale$: "discoverTitleInLocale$" }, ngImport: i0, template: "@if (showTourButton) {\n @if (styleButton === 'icon') {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n } @else {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n }\n}\n", styles: [":host ::ng-deep button.tour-button-tool-icon{color:var(--mat-sys-primary-container)}:host ::ng-deep button.tour-button-tool-icon:hover{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}:host ::ng-deep .mat-primary .mat-mdc-icon-button{color:#fff}:host>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-has-title .shepherd-content .shepherd-header h3{font-size:14px}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
442
430
|
}
|
|
443
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
431
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: InteractiveTourComponent, decorators: [{
|
|
444
432
|
type: Component,
|
|
445
433
|
args: [{ selector: 'igo-interactive-tour', encapsulation: ViewEncapsulation.None, imports: [
|
|
446
|
-
NgIf,
|
|
447
434
|
MatButtonModule,
|
|
448
435
|
NgClass,
|
|
449
436
|
MatTooltipModule,
|
|
@@ -451,8 +438,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
451
438
|
AsyncPipe,
|
|
452
439
|
IgoLanguageModule,
|
|
453
440
|
IgoIconComponent
|
|
454
|
-
], template: "
|
|
455
|
-
}], ctorParameters: () => [
|
|
441
|
+
], template: "@if (showTourButton) {\n @if (styleButton === 'icon') {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n } @else {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n }\n}\n", styles: [":host ::ng-deep button.tour-button-tool-icon{color:var(--mat-sys-primary-container)}:host ::ng-deep button.tour-button-tool-icon:hover{background-color:var(--mat-sys-secondary-container);color:var(--mat-sys-on-secondary-container)}:host ::ng-deep .mat-primary .mat-mdc-icon-button{color:#fff}:host>button.mat-mdc-raised-button.tour-button-tool-icon{box-shadow:none}.shepherd-has-title .shepherd-content .shepherd-header{padding:.5em .75em}.shepherd-has-title .shepherd-content .shepherd-header h3{font-size:14px}.shepherd-title{margin:0!important;font-weight:revert!important}.shepherd-progress{margin-right:15px;color:#737373}.shepherd-element{border:1px solid;border-color:#474747;box-shadow:4px 5px #65656599}\n"] }]
|
|
442
|
+
}], ctorParameters: () => [], propDecorators: { tourToStart: [{
|
|
456
443
|
type: Input
|
|
457
444
|
}], styleButton: [{
|
|
458
445
|
type: Input
|
|
@@ -461,11 +448,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
461
448
|
}] } });
|
|
462
449
|
|
|
463
450
|
class IgoInteractiveTourModule {
|
|
464
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
465
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
466
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
451
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
452
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, imports: [InteractiveTourComponent], exports: [InteractiveTourComponent] });
|
|
453
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, providers: [InteractiveTourService, InteractiveTourLoader], imports: [InteractiveTourComponent] });
|
|
467
454
|
}
|
|
468
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
455
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: IgoInteractiveTourModule, decorators: [{
|
|
469
456
|
type: NgModule,
|
|
470
457
|
args: [{
|
|
471
458
|
imports: [InteractiveTourComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-interactive-tour.mjs","sources":["../../../packages/common/interactive-tour/src/interactive-tour.loader.ts","../../../packages/common/interactive-tour/src/interactive-tour.service.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.html","../../../packages/common/interactive-tour/src/interactive-tour.module.ts","../../../packages/common/interactive-tour/src/igo2-common-interactive-tour.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { InteractiveTourOptions } from './interactive-tour.interface';\n\n@Injectable()\nexport class InteractiveTourLoader {\n private jsonURL: string;\n private allToursOptions;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.jsonURL = this.getPathToConfigFile();\n }\n\n public loadConfigTour() {\n this.getJSON().subscribe(\n (data) => {\n this.allToursOptions = data;\n },\n () => {\n throw new Error(\n `Problem with Interactive tour configuration file: interactiveTour.json not find. Check if the file and is path is set correctly.`\n );\n }\n );\n }\n\n public getPathToConfigFile(): string {\n return (\n this.configService.getConfig('interactiveTour.pathToConfigFile') ||\n './config/interactiveTour.json'\n );\n }\n\n public getJSON(): Observable<any> {\n return this.http.get(this.jsonURL).pipe(\n catchError((e) => {\n e.error.caught = true;\n throw e;\n })\n );\n }\n\n public getTourOptionData(toolName): InteractiveTourOptions {\n if (this.allToursOptions === undefined) {\n return undefined;\n }\n let nameInConfigFile = toolName;\n nameInConfigFile = nameInConfigFile.replace(/\\s/g, '');\n return this.allToursOptions[nameInConfigFile];\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\nimport { MediaService } from '@igo2/core/media';\n\nimport { autoPlacement, offset } from '@floating-ui/dom';\nimport { ShepherdService } from 'angular-shepherd';\nimport { StepOptions, Tour } from 'shepherd.js';\n\nimport {\n InteractiveTourAction,\n InteractiveTourOptions,\n InteractiveTourStep\n} from './interactive-tour.interface';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\n\ninterface IIndexTour {\n index: number;\n tour: Tour;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteractiveTourService {\n private previousStep: InteractiveTourStep;\n\n constructor(\n private configService: ConfigService,\n private mediaService: MediaService,\n private languageService: LanguageService,\n private interactiveTourLoader: InteractiveTourLoader,\n private shepherdService: ShepherdService\n ) {\n if (this.isAppHaveTour()) {\n this.interactiveTourLoader.loadConfigTour();\n }\n }\n\n public isAppHaveTour() {\n const haveTour = this.configService.getConfig(\n 'interactiveTour.activateInteractiveTour'\n );\n if (haveTour === undefined) {\n return true;\n } else {\n return haveTour;\n }\n }\n\n public isToolHaveTourConfig(toolName: string): boolean {\n const checkTourActiveOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n if (checkTourActiveOptions === undefined) {\n return false;\n } else {\n return true;\n }\n }\n\n public disabledTourButton(toolName: string): boolean {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n if (stepConfig?.conditions) {\n for (const condition of stepConfig.conditions) {\n if (document.querySelector(condition) === null) {\n return true;\n }\n }\n }\n return false;\n }\n\n public isMobile(): boolean {\n return this.mediaService.isMobile();\n }\n\n public isTourDisplayInMobile(): boolean {\n const showInMobile = this.configService.getConfig(\n 'interactiveTour.tourInMobile'\n );\n\n return showInMobile === undefined ? true : showInMobile;\n }\n\n private getButtons(buttonKind?: 'first' | 'last' | 'noBackButton') {\n if (buttonKind === 'noBackButton') {\n return [\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n if (buttonKind === 'first') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n if (buttonKind === 'last') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n }\n ];\n }\n\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n private getAction(actionName: string) {\n const action = {\n click: 'click'\n };\n return action[actionName.toLowerCase()];\n }\n\n private addProgress() {\n const self = this as any;\n let nbTry = 0;\n const maxTry = 21;\n const checkExist = setInterval(() => {\n if (self.getCurrentStep()) {\n if (\n self.getCurrentStep().options.attachTo.element &&\n !document.querySelector(\n self.getCurrentStep().options.attachTo.element\n )\n ) {\n self.cancel();\n clearInterval(checkExist);\n return;\n } else {\n const currentStepElement = self.getCurrentStep().getElement();\n const header = currentStepElement\n ? currentStepElement.querySelector('.shepherd-header')\n : undefined;\n\n nbTry++;\n if (header || nbTry > maxTry) {\n clearInterval(checkExist);\n }\n\n if (header) {\n const stepsArray = self.steps;\n const progress = document.createElement('span');\n progress.className = 'shepherd-progress';\n progress.innerText = `${\n stepsArray.indexOf(self.getCurrentStep()) + 1\n }/${stepsArray.length}`;\n header.insertBefore(\n progress,\n currentStepElement.querySelector('.shepherd-cancel-icon')\n );\n }\n }\n }\n }, 100);\n }\n\n private checkNext(index: IIndexTour, tour) {\n if (tour.getCurrentStep()) {\n if (\n tour.getCurrentStep().options.attachTo.element &&\n document.querySelector(tour.getCurrentStep().options.attachTo.element)\n ) {\n tour.complete();\n return;\n }\n\n if (index.index === tour.steps.length - 1) {\n tour.complete();\n return;\n }\n\n tour.steps.splice(index.index, 1);\n const nextStep = tour.steps[index.index];\n if (\n nextStep.options.attachTo.element &&\n !document.querySelector(nextStep.options.attachTo.element)\n ) {\n index.index = index.index + 1;\n this.checkNext(index, tour);\n } else {\n tour._setupModal();\n tour.show(nextStep.id);\n }\n }\n }\n\n private executeAction(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n if (!actionConfig) {\n return;\n }\n\n if (\n actionConfig.condition &&\n ((actionConfig.condition.charAt(0) === '!' &&\n document.querySelector(actionConfig.condition.slice(1))) ||\n (actionConfig.condition.charAt(0) !== '!' &&\n !document.querySelector(actionConfig.condition)))\n ) {\n return;\n }\n\n const element: HTMLElement = document.querySelector(\n actionConfig.element || step.element\n ) as HTMLElement;\n const action = this.getAction(actionConfig.action);\n if (element && action) {\n element[action]();\n }\n }\n\n private executeActionPromise(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n return new Promise<void>((resolve) => {\n this.executeAction(step, actionConfig);\n if (!actionConfig || !actionConfig.waitFor) {\n resolve();\n return;\n }\n let nbTry = 0;\n const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;\n const checkExist = setInterval(() => {\n nbTry++;\n if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {\n clearInterval(checkExist);\n resolve();\n }\n }, 100);\n });\n }\n\n private getShepherdSteps(tourConfig: InteractiveTourOptions) {\n const shepherdSteps: StepOptions[] = [];\n\n let i = 0;\n for (const step of tourConfig.steps) {\n const position = step.position ?? tourConfig.position;\n shepherdSteps.push({\n attachTo: {\n element: step.element,\n on: position as any // PopperPlacement\n },\n floatingUIOptions: {\n middleware: [\n position === 'auto' && autoPlacement(),\n offset({ mainAxis: 15 })\n ].filter(Boolean)\n },\n beforeShowPromise: () => {\n return Promise.all([\n this.executeActionPromise(\n this.previousStep,\n this.previousStep ? this.previousStep.beforeChange : undefined\n ),\n this.executeActionPromise(step, step.beforeShow)\n ]);\n },\n buttons: this.getButtons(\n i === 0\n ? 'first'\n : i + 1 === tourConfig.steps.length\n ? 'last'\n : tourConfig.steps[i].noBackButton\n ? 'noBackButton'\n : undefined\n ),\n classes: step.class,\n highlightClass: step.highlightClass,\n scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,\n canClickTarget: step.disableInteraction\n ? !step.disableInteraction\n : undefined,\n title: this.languageService.translate.instant(\n step.title || tourConfig.title\n ),\n text: [this.languageService.translate.instant(step.text)],\n when: {\n show: () => {\n this.executeAction(step, step.onShow);\n },\n hide: () => {\n this.previousStep = step;\n this.executeAction(step, step.onHide);\n }\n }\n } satisfies StepOptions);\n i++;\n }\n\n return shepherdSteps;\n }\n\n public startTour(toolName: string) {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n this.shepherdService.defaultStepOptions = {\n classes: stepConfig.class,\n highlightClass: stepConfig.highlightClass,\n canClickTarget: stepConfig.disableInteraction\n ? !stepConfig.disableInteraction\n : true,\n cancelIcon: {\n enabled: true\n }\n };\n\n const shepherdSteps = this.getShepherdSteps(stepConfig);\n\n this.shepherdService.modal = true;\n this.shepherdService.confirmCancel = false;\n this.shepherdService.addSteps(shepherdSteps);\n\n this.shepherdService.tourObject.on('show', this.addProgress);\n this.shepherdService.tourObject.on('cancel', (index) => {\n this.checkNext(index, this.shepherdService.tourObject);\n });\n\n this.shepherdService.start();\n }\n}\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport { Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {\n IconService,\n IgoIconComponent,\n PRESENTATION_PLAY_ICON\n} from '@igo2/common/icon';\nimport { ToolService } from '@igo2/common/tool';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { Observable, of } from 'rxjs';\n\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@Component({\n selector: 'igo-interactive-tour',\n templateUrl: './interactive-tour.component.html',\n styleUrls: ['./interactive-tour.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgIf,\n MatButtonModule,\n NgClass,\n MatTooltipModule,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class InteractiveTourComponent {\n presentationIcon = PRESENTATION_PLAY_ICON;\n\n /**\n * Toolbox that holds main tools\n */\n @Input() tourToStart = '';\n @Input() styleButton: 'icon' | 'raised';\n @Input() discoverTitleInLocale$: Observable<string> = of('IGO');\n\n getClass() {\n return {\n 'tour-button-tool-icon': this.styleButton === 'icon',\n 'tour-button-tool': this.styleButton === 'raised'\n };\n }\n\n get toolbox() {\n return this.toolService.toolbox;\n }\n\n getTourToStart() {\n if (this.tourToStart) {\n return this.tourToStart;\n } else {\n return this.activeToolName;\n }\n }\n\n get activeToolName() {\n if (this.toolbox) {\n if (this.isActiveTool) {\n return this.toolbox.activeTool$.getValue().name;\n } else {\n return 'global';\n }\n } else {\n return undefined;\n }\n }\n\n get isActiveTool(): boolean {\n if (this.toolbox) {\n return this.toolbox.activeTool$.getValue() !== undefined;\n } else {\n return undefined;\n }\n }\n\n get isToolHaveTour(): boolean {\n if (this.activeToolName === 'about' && !this.tourToStart) {\n return false;\n }\n return this.interactiveTourService.isToolHaveTourConfig(\n this.getTourToStart()\n );\n }\n\n get showTourButton(): boolean {\n // 2 conditions to show: have Tour on tool in Config file and if we are in mobile displayInMobile= true\n if (this.isToolHaveTour === false) {\n return false;\n }\n\n let inMobileAndShow: boolean;\n if (this.interactiveTourService.isMobile()) {\n inMobileAndShow = this.isTourDisplayInMobile;\n if (inMobileAndShow === false) {\n return false;\n }\n }\n return true;\n }\n\n get isTourDisplayInMobile(): boolean {\n return this.interactiveTourService.isTourDisplayInMobile();\n }\n\n get disabledTourButton(): boolean {\n return this.interactiveTourService.disabledTourButton(this.activeToolName);\n }\n\n constructor(\n private interactiveTourService: InteractiveTourService,\n private toolService: ToolService,\n private iconService: IconService\n ) {\n this.iconService.registerSvg(this.presentationIcon);\n }\n\n startInteractiveTour() {\n const tour = this.getTourToStart();\n if (tour) {\n this.interactiveTourService.startTour(tour);\n } else {\n return;\n }\n }\n}\n","<ng-container *ngIf=\"showTourButton\">\n <button\n *ngIf=\"styleButton === 'icon'; else raisedButton\"\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n\n <ng-template #raisedButton>\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n </ng-template>\n</ng-container>\n","import { NgModule } from '@angular/core';\n\nimport { InteractiveTourComponent } from './interactive-tour.component';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@NgModule({\n imports: [InteractiveTourComponent],\n exports: [InteractiveTourComponent],\n providers: [InteractiveTourService, InteractiveTourLoader]\n})\nexport class IgoInteractiveTourModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4.InteractiveTourLoader","i1.InteractiveTourService","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-interactive-tour.mjs","sources":["../../../packages/common/interactive-tour/src/interactive-tour.loader.ts","../../../packages/common/interactive-tour/src/interactive-tour.service.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.ts","../../../packages/common/interactive-tour/src/interactive-tour.component.html","../../../packages/common/interactive-tour/src/interactive-tour.module.ts","../../../packages/common/interactive-tour/src/igo2-common-interactive-tour.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { InteractiveTourOptions } from './interactive-tour.interface';\n\n@Injectable()\nexport class InteractiveTourLoader {\n private http = inject(HttpClient);\n private configService = inject(ConfigService);\n\n private jsonURL: string;\n private allToursOptions;\n\n constructor() {\n this.jsonURL = this.getPathToConfigFile();\n }\n\n public loadConfigTour() {\n this.getJSON().subscribe(\n (data) => {\n this.allToursOptions = data;\n },\n () => {\n throw new Error(\n `Problem with Interactive tour configuration file: interactiveTour.json not find. Check if the file and is path is set correctly.`\n );\n }\n );\n }\n\n public getPathToConfigFile(): string {\n return (\n this.configService.getConfig('interactiveTour.pathToConfigFile') ||\n './config/interactiveTour.json'\n );\n }\n\n public getJSON(): Observable<any> {\n return this.http.get(this.jsonURL).pipe(\n catchError((e) => {\n e.error.caught = true;\n throw e;\n })\n );\n }\n\n public getTourOptionData(toolName): InteractiveTourOptions {\n if (this.allToursOptions === undefined) {\n return undefined;\n }\n let nameInConfigFile = toolName;\n nameInConfigFile = nameInConfigFile.replace(/\\s/g, '');\n return this.allToursOptions[nameInConfigFile];\n }\n}\n","import { Injectable, inject } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\nimport { LanguageService } from '@igo2/core/language';\nimport { MediaService } from '@igo2/core/media';\n\nimport { autoPlacement, offset } from '@floating-ui/dom';\nimport { ShepherdService } from 'angular-shepherd';\nimport { StepOptions, Tour } from 'shepherd.js';\n\nimport {\n InteractiveTourAction,\n InteractiveTourOptions,\n InteractiveTourStep\n} from './interactive-tour.interface';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\n\ninterface IIndexTour {\n index: number;\n tour: Tour;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InteractiveTourService {\n private configService = inject(ConfigService);\n private mediaService = inject(MediaService);\n private languageService = inject(LanguageService);\n private interactiveTourLoader = inject(InteractiveTourLoader);\n private shepherdService = inject(ShepherdService);\n\n private previousStep: InteractiveTourStep;\n\n constructor() {\n if (this.isAppHaveTour()) {\n this.interactiveTourLoader.loadConfigTour();\n }\n }\n\n public isAppHaveTour() {\n const haveTour = this.configService.getConfig(\n 'interactiveTour.activateInteractiveTour'\n );\n if (haveTour === undefined) {\n return true;\n } else {\n return haveTour;\n }\n }\n\n public isToolHaveTourConfig(toolName: string): boolean {\n const checkTourActiveOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n if (checkTourActiveOptions === undefined) {\n return false;\n } else {\n return true;\n }\n }\n\n public disabledTourButton(toolName: string): boolean {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n if (stepConfig?.conditions) {\n for (const condition of stepConfig.conditions) {\n if (document.querySelector(condition) === null) {\n return true;\n }\n }\n }\n return false;\n }\n\n public isMobile(): boolean {\n return this.mediaService.isMobile();\n }\n\n public isTourDisplayInMobile(): boolean {\n const showInMobile = this.configService.getConfig(\n 'interactiveTour.tourInMobile'\n );\n\n return showInMobile === undefined ? true : showInMobile;\n }\n\n private getButtons(buttonKind?: 'first' | 'last' | 'noBackButton') {\n if (buttonKind === 'noBackButton') {\n return [\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n if (buttonKind === 'first') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n if (buttonKind === 'last') {\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.exitButton'\n ),\n type: 'cancel'\n }\n ];\n }\n\n return [\n {\n classes: 'shepherd-button-secondary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.backButton'\n ),\n type: 'back'\n },\n {\n classes: 'shepherd-button-primary',\n text: this.languageService.translate.instant(\n 'igo.common.interactiveTour.nextButton'\n ),\n type: 'next'\n }\n ];\n }\n\n private getAction(actionName: string) {\n const action = {\n click: 'click'\n };\n return action[actionName.toLowerCase()];\n }\n\n private addProgress() {\n const self = this as any;\n let nbTry = 0;\n const maxTry = 21;\n const checkExist = setInterval(() => {\n if (self.getCurrentStep()) {\n if (\n self.getCurrentStep().options.attachTo.element &&\n !document.querySelector(\n self.getCurrentStep().options.attachTo.element\n )\n ) {\n self.cancel();\n clearInterval(checkExist);\n return;\n } else {\n const currentStepElement = self.getCurrentStep().getElement();\n const header = currentStepElement\n ? currentStepElement.querySelector('.shepherd-header')\n : undefined;\n\n nbTry++;\n if (header || nbTry > maxTry) {\n clearInterval(checkExist);\n }\n\n if (header) {\n const stepsArray = self.steps;\n const progress = document.createElement('span');\n progress.className = 'shepherd-progress';\n progress.innerText = `${\n stepsArray.indexOf(self.getCurrentStep()) + 1\n }/${stepsArray.length}`;\n header.insertBefore(\n progress,\n currentStepElement.querySelector('.shepherd-cancel-icon')\n );\n }\n }\n }\n }, 100);\n }\n\n private checkNext(index: IIndexTour, tour) {\n if (tour.getCurrentStep()) {\n if (\n tour.getCurrentStep().options.attachTo.element &&\n document.querySelector(tour.getCurrentStep().options.attachTo.element)\n ) {\n tour.complete();\n return;\n }\n\n if (index.index === tour.steps.length - 1) {\n tour.complete();\n return;\n }\n\n tour.steps.splice(index.index, 1);\n const nextStep = tour.steps[index.index];\n if (\n nextStep.options.attachTo.element &&\n !document.querySelector(nextStep.options.attachTo.element)\n ) {\n index.index = index.index + 1;\n this.checkNext(index, tour);\n } else {\n tour._setupModal();\n tour.show(nextStep.id);\n }\n }\n }\n\n private executeAction(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n if (!actionConfig) {\n return;\n }\n\n if (\n actionConfig.condition &&\n ((actionConfig.condition.charAt(0) === '!' &&\n document.querySelector(actionConfig.condition.slice(1))) ||\n (actionConfig.condition.charAt(0) !== '!' &&\n !document.querySelector(actionConfig.condition)))\n ) {\n return;\n }\n\n const element: HTMLElement = document.querySelector(\n actionConfig.element || step.element\n ) as HTMLElement;\n const action = this.getAction(actionConfig.action);\n if (element && action) {\n element[action]();\n }\n }\n\n private executeActionPromise(\n step: InteractiveTourStep,\n actionConfig: InteractiveTourAction\n ) {\n return new Promise<void>((resolve) => {\n this.executeAction(step, actionConfig);\n if (!actionConfig || !actionConfig.waitFor) {\n resolve();\n return;\n }\n let nbTry = 0;\n const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;\n const checkExist = setInterval(() => {\n nbTry++;\n if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {\n clearInterval(checkExist);\n resolve();\n }\n }, 100);\n });\n }\n\n private getShepherdSteps(tourConfig: InteractiveTourOptions) {\n const shepherdSteps: StepOptions[] = [];\n\n let i = 0;\n for (const step of tourConfig.steps) {\n const position = step.position ?? tourConfig.position;\n shepherdSteps.push({\n attachTo: {\n element: step.element,\n on: position as any // PopperPlacement\n },\n floatingUIOptions: {\n middleware: [\n position === 'auto' && autoPlacement(),\n offset({ mainAxis: 15 })\n ].filter(Boolean)\n },\n beforeShowPromise: () => {\n return Promise.all([\n this.executeActionPromise(\n this.previousStep,\n this.previousStep ? this.previousStep.beforeChange : undefined\n ),\n this.executeActionPromise(step, step.beforeShow)\n ]);\n },\n buttons: this.getButtons(\n i === 0\n ? 'first'\n : i + 1 === tourConfig.steps.length\n ? 'last'\n : tourConfig.steps[i].noBackButton\n ? 'noBackButton'\n : undefined\n ),\n classes: step.class,\n highlightClass: step.highlightClass,\n scrollTo: step.scrollToElement || tourConfig.scrollToElement || true,\n canClickTarget: step.disableInteraction\n ? !step.disableInteraction\n : undefined,\n title: this.languageService.translate.instant(\n step.title || tourConfig.title\n ),\n text: [this.languageService.translate.instant(step.text)],\n when: {\n show: () => {\n this.executeAction(step, step.onShow);\n },\n hide: () => {\n this.previousStep = step;\n this.executeAction(step, step.onHide);\n }\n }\n } satisfies StepOptions);\n i++;\n }\n\n return shepherdSteps;\n }\n\n public startTour(toolName: string) {\n const stepConfig: InteractiveTourOptions =\n this.interactiveTourLoader.getTourOptionData(toolName);\n\n this.shepherdService.defaultStepOptions = {\n classes: stepConfig.class,\n highlightClass: stepConfig.highlightClass,\n canClickTarget: stepConfig.disableInteraction\n ? !stepConfig.disableInteraction\n : true,\n cancelIcon: {\n enabled: true\n }\n };\n\n const shepherdSteps = this.getShepherdSteps(stepConfig);\n\n this.shepherdService.modal = true;\n this.shepherdService.confirmCancel = false;\n this.shepherdService.addSteps(shepherdSteps);\n\n this.shepherdService.tourObject.on('show', this.addProgress);\n this.shepherdService.tourObject.on('cancel', (index) => {\n this.checkNext(index, this.shepherdService.tourObject);\n });\n\n this.shepherdService.start();\n }\n}\n","import { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport {\n IconService,\n IgoIconComponent,\n PRESENTATION_PLAY_ICON\n} from '@igo2/common/icon';\nimport { ToolService } from '@igo2/common/tool';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { Observable, of } from 'rxjs';\n\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@Component({\n selector: 'igo-interactive-tour',\n templateUrl: './interactive-tour.component.html',\n styleUrls: ['./interactive-tour.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n MatButtonModule,\n NgClass,\n MatTooltipModule,\n MatIconModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class InteractiveTourComponent {\n private interactiveTourService = inject(InteractiveTourService);\n private toolService = inject(ToolService);\n private iconService = inject(IconService);\n\n presentationIcon = PRESENTATION_PLAY_ICON;\n\n /**\n * Toolbox that holds main tools\n */\n @Input() tourToStart = '';\n @Input() styleButton: 'icon' | 'raised';\n @Input() discoverTitleInLocale$: Observable<string> = of('IGO');\n\n getClass() {\n return {\n 'tour-button-tool-icon': this.styleButton === 'icon',\n 'tour-button-tool': this.styleButton === 'raised'\n };\n }\n\n get toolbox() {\n return this.toolService.toolbox;\n }\n\n getTourToStart() {\n if (this.tourToStart) {\n return this.tourToStart;\n } else {\n return this.activeToolName;\n }\n }\n\n get activeToolName() {\n if (this.toolbox) {\n if (this.isActiveTool) {\n return this.toolbox.activeTool$.getValue().name;\n } else {\n return 'global';\n }\n } else {\n return undefined;\n }\n }\n\n get isActiveTool(): boolean {\n if (this.toolbox) {\n return this.toolbox.activeTool$.getValue() !== undefined;\n } else {\n return undefined;\n }\n }\n\n get isToolHaveTour(): boolean {\n if (this.activeToolName === 'about' && !this.tourToStart) {\n return false;\n }\n return this.interactiveTourService.isToolHaveTourConfig(\n this.getTourToStart()\n );\n }\n\n get showTourButton(): boolean {\n // 2 conditions to show: have Tour on tool in Config file and if we are in mobile displayInMobile= true\n if (this.isToolHaveTour === false) {\n return false;\n }\n\n let inMobileAndShow: boolean;\n if (this.interactiveTourService.isMobile()) {\n inMobileAndShow = this.isTourDisplayInMobile;\n if (inMobileAndShow === false) {\n return false;\n }\n }\n return true;\n }\n\n get isTourDisplayInMobile(): boolean {\n return this.interactiveTourService.isTourDisplayInMobile();\n }\n\n get disabledTourButton(): boolean {\n return this.interactiveTourService.disabledTourButton(this.activeToolName);\n }\n\n constructor() {\n this.iconService.registerSvg(this.presentationIcon);\n }\n\n startInteractiveTour() {\n const tour = this.getTourToStart();\n if (tour) {\n this.interactiveTourService.startTour(tour);\n } else {\n return;\n }\n }\n}\n","@if (showTourButton) {\n @if (styleButton === 'icon') {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n [disabled]=\"disabledTourButton\"\n >\n <igo-icon [icon]=\"presentationIcon\" iconPositionEnd />\n </button>\n } @else {\n <button\n (click)=\"startInteractiveTour()\"\n [ngClass]=\"getClass()\"\n color=\"primary\"\n matButton=\"elevated\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"disabledTourButton\"\n >\n {{ 'igo.common.interactiveTour.buttonTitle' | translate }}\n {{ discoverTitleInLocale$ | async | translate }}\n <mat-icon\n [svgIcon]=\"presentationIcon.name\"\n iconPositionEnd\n [matTooltip]=\"\n disabledTourButton\n ? ('igo.common.interactiveTour.disaledTooltipTourToolButton'\n | translate)\n : ('igo.common.interactiveTour.tooltipTourToolButton' | translate)\n \"\n >\n </mat-icon>\n </button>\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { InteractiveTourComponent } from './interactive-tour.component';\nimport { InteractiveTourLoader } from './interactive-tour.loader';\nimport { InteractiveTourService } from './interactive-tour.service';\n\n@NgModule({\n imports: [InteractiveTourComponent],\n exports: [InteractiveTourComponent],\n providers: [InteractiveTourService, InteractiveTourLoader]\n})\nexport class IgoInteractiveTourModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;MAWa,qBAAqB,CAAA;AACxB,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AACzB,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAErC,IAAA,OAAO;AACP,IAAA,eAAe;AAEvB,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE;IAC3C;IAEO,cAAc,GAAA;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CACtB,CAAC,IAAI,KAAI;AACP,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC7B,CAAC,EACD,MAAK;AACH,YAAA,MAAM,IAAI,KAAK,CACb,CAAA,gIAAA,CAAkI,CACnI;AACH,QAAA,CAAC,CACF;IACH;IAEO,mBAAmB,GAAA;QACxB,QACE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kCAAkC,CAAC;AAChE,YAAA,+BAA+B;IAEnC;IAEO,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACrC,UAAU,CAAC,CAAC,CAAC,KAAI;AACf,YAAA,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;AACrB,YAAA,MAAM,CAAC;QACT,CAAC,CAAC,CACH;IACH;AAEO,IAAA,iBAAiB,CAAC,QAAQ,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;AACtC,YAAA,OAAO,SAAS;QAClB;QACA,IAAI,gBAAgB,GAAG,QAAQ;QAC/B,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AACtD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;IAC/C;uGA/CW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAArB,qBAAqB,EAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC;;;MCeY,sBAAsB,CAAA;AACzB,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,IAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,IAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACzC,IAAA,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACrD,IAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AAEzC,IAAA,YAAY;AAEpB,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE;QAC7C;IACF;IAEO,aAAa,GAAA;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAC3C,yCAAyC,CAC1C;AACD,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,IAAI;QACb;aAAO;AACL,YAAA,OAAO,QAAQ;QACjB;IACF;AAEO,IAAA,oBAAoB,CAAC,QAAgB,EAAA;QAC1C,MAAM,sBAAsB,GAC1B,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACxD,QAAA,IAAI,sBAAsB,KAAK,SAAS,EAAE;AACxC,YAAA,OAAO,KAAK;QACd;aAAO;AACL,YAAA,OAAO,IAAI;QACb;IACF;AAEO,IAAA,kBAAkB,CAAC,QAAgB,EAAA;QACxC,MAAM,UAAU,GACd,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AAExD,QAAA,IAAI,UAAU,EAAE,UAAU,EAAE;AAC1B,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE;gBAC7C,IAAI,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;AAC9C,oBAAA,OAAO,IAAI;gBACb;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;IAEO,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;IACrC;IAEO,qBAAqB,GAAA;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAC/C,8BAA8B,CAC/B;QAED,OAAO,YAAY,KAAK,SAAS,GAAG,IAAI,GAAG,YAAY;IACzD;AAEQ,IAAA,UAAU,CAAC,UAA8C,EAAA;AAC/D,QAAA,IAAI,UAAU,KAAK,cAAc,EAAE;YACjC,OAAO;AACL,gBAAA;AACE,oBAAA,OAAO,EAAE,yBAAyB;oBAClC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,oBAAA,IAAI,EAAE;AACP;aACF;QACH;AACA,QAAA,IAAI,UAAU,KAAK,OAAO,EAAE;YAC1B,OAAO;AACL,gBAAA;AACE,oBAAA,OAAO,EAAE,2BAA2B;oBACpC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,oBAAA,IAAI,EAAE;AACP,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,yBAAyB;oBAClC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,oBAAA,IAAI,EAAE;AACP;aACF;QACH;AAEA,QAAA,IAAI,UAAU,KAAK,MAAM,EAAE;YACzB,OAAO;AACL,gBAAA;AACE,oBAAA,OAAO,EAAE,2BAA2B;oBACpC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,oBAAA,IAAI,EAAE;AACP,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,yBAAyB;oBAClC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,oBAAA,IAAI,EAAE;AACP;aACF;QACH;QAEA,OAAO;AACL,YAAA;AACE,gBAAA,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,gBAAA,IAAI,EAAE;AACP,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,yBAAyB;gBAClC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC1C,uCAAuC,CACxC;AACD,gBAAA,IAAI,EAAE;AACP;SACF;IACH;AAEQ,IAAA,SAAS,CAAC,UAAkB,EAAA;AAClC,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,KAAK,EAAE;SACR;AACD,QAAA,OAAO,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzC;IAEQ,WAAW,GAAA;QACjB,MAAM,IAAI,GAAG,IAAW;QACxB,IAAI,KAAK,GAAG,CAAC;QACb,MAAM,MAAM,GAAG,EAAE;AACjB,QAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAClC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBACzB,IACE,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;AAC9C,oBAAA,CAAC,QAAQ,CAAC,aAAa,CACrB,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAC/C,EACD;oBACA,IAAI,CAAC,MAAM,EAAE;oBACb,aAAa,CAAC,UAAU,CAAC;oBACzB;gBACF;qBAAO;oBACL,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE;oBAC7D,MAAM,MAAM,GAAG;AACb,0BAAE,kBAAkB,CAAC,aAAa,CAAC,kBAAkB;0BACnD,SAAS;AAEb,oBAAA,KAAK,EAAE;AACP,oBAAA,IAAI,MAAM,IAAI,KAAK,GAAG,MAAM,EAAE;wBAC5B,aAAa,CAAC,UAAU,CAAC;oBAC3B;oBAEA,IAAI,MAAM,EAAE;AACV,wBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK;wBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC/C,wBAAA,QAAQ,CAAC,SAAS,GAAG,mBAAmB;wBACxC,QAAQ,CAAC,SAAS,GAAG,CAAA,EACnB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAC9C,CAAA,CAAA,EAAI,UAAU,CAAC,MAAM,EAAE;AACvB,wBAAA,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR,kBAAkB,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAC1D;oBACH;gBACF;YACF;QACF,CAAC,EAAE,GAAG,CAAC;IACT;IAEQ,SAAS,CAAC,KAAiB,EAAE,IAAI,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IACE,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;AAC9C,gBAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EACtE;gBACA,IAAI,CAAC,QAAQ,EAAE;gBACf;YACF;AAEA,YAAA,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,QAAQ,EAAE;gBACf;YACF;YAEA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AACxC,YAAA,IACE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;AACjC,gBAAA,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1D;gBACA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;AAC7B,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;YAC7B;iBAAO;gBACL,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB;QACF;IACF;IAEQ,aAAa,CACnB,IAAyB,EACzB,YAAmC,EAAA;QAEnC,IAAI,CAAC,YAAY,EAAE;YACjB;QACF;QAEA,IACE,YAAY,CAAC,SAAS;aACrB,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;AACxC,gBAAA,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACtD,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;oBACvC,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EACrD;YACA;QACF;AAEA,QAAA,MAAM,OAAO,GAAgB,QAAQ,CAAC,aAAa,CACjD,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CACtB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;AAClD,QAAA,IAAI,OAAO,IAAI,MAAM,EAAE;AACrB,YAAA,OAAO,CAAC,MAAM,CAAC,EAAE;QACnB;IACF;IAEQ,oBAAoB,CAC1B,IAAyB,EACzB,YAAmC,EAAA;AAEnC,QAAA,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;AACnC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC;YACtC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC1C,gBAAA,OAAO,EAAE;gBACT;YACF;YACA,IAAI,KAAK,GAAG,CAAC;AACb,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,GAAG,GAAG,EAAE;AACrE,YAAA,MAAM,UAAU,GAAG,WAAW,CAAC,MAAK;AAClC,gBAAA,KAAK,EAAE;AACP,gBAAA,IAAI,KAAK,GAAG,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;oBAClE,aAAa,CAAC,UAAU,CAAC;AACzB,oBAAA,OAAO,EAAE;gBACX;YACF,CAAC,EAAE,GAAG,CAAC;AACT,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,gBAAgB,CAAC,UAAkC,EAAA;QACzD,MAAM,aAAa,GAAkB,EAAE;QAEvC,IAAI,CAAC,GAAG,CAAC;AACT,QAAA,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ;YACrD,aAAa,CAAC,IAAI,CAAC;AACjB,gBAAA,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,EAAE,EAAE,QAAe;AACpB,iBAAA;AACD,gBAAA,iBAAiB,EAAE;AACjB,oBAAA,UAAU,EAAE;AACV,wBAAA,QAAQ,KAAK,MAAM,IAAI,aAAa,EAAE;AACtC,wBAAA,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;qBACxB,CAAC,MAAM,CAAC,OAAO;AACjB,iBAAA;gBACD,iBAAiB,EAAE,MAAK;oBACtB,OAAO,OAAO,CAAC,GAAG,CAAC;wBACjB,IAAI,CAAC,oBAAoB,CACvB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,SAAS,CAC/D;wBACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU;AAChD,qBAAA,CAAC;gBACJ,CAAC;AACD,gBAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CACtB,CAAC,KAAK;AACJ,sBAAE;sBACA,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC;AAC3B,0BAAE;0BACA,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpB,8BAAE;8BACA,SAAS,CAClB;gBACD,OAAO,EAAE,IAAI,CAAC,KAAK;gBACnB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,QAAQ,EAAE,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,eAAe,IAAI,IAAI;gBACpE,cAAc,EAAE,IAAI,CAAC;AACnB,sBAAE,CAAC,IAAI,CAAC;AACR,sBAAE,SAAS;AACb,gBAAA,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAC3C,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAC/B;AACD,gBAAA,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,gBAAA,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAK;wBACT,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;oBACvC,CAAC;oBACD,IAAI,EAAE,MAAK;AACT,wBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;wBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;oBACvC;AACD;AACoB,aAAA,CAAC;AACxB,YAAA,CAAC,EAAE;QACL;AAEA,QAAA,OAAO,aAAa;IACtB;AAEO,IAAA,SAAS,CAAC,QAAgB,EAAA;QAC/B,MAAM,UAAU,GACd,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AAExD,QAAA,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG;YACxC,OAAO,EAAE,UAAU,CAAC,KAAK;YACzB,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,cAAc,EAAE,UAAU,CAAC;AACzB,kBAAE,CAAC,UAAU,CAAC;AACd,kBAAE,IAAI;AACR,YAAA,UAAU,EAAE;AACV,gBAAA,OAAO,EAAE;AACV;SACF;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;AAEvD,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,KAAK;AAC1C,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC;AAE5C,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;AAC5D,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;YACrD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;AACxD,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;IAC9B;uGA3VW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA;;2FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCSY,wBAAwB,CAAA;AAC3B,IAAA,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AACvD,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAEzC,gBAAgB,GAAG,sBAAsB;AAEzC;;AAEG;IACM,WAAW,GAAG,EAAE;AAChB,IAAA,WAAW;AACX,IAAA,sBAAsB,GAAuB,EAAE,CAAC,KAAK,CAAC;IAE/D,QAAQ,GAAA;QACN,OAAO;AACL,YAAA,uBAAuB,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM;AACpD,YAAA,kBAAkB,EAAE,IAAI,CAAC,WAAW,KAAK;SAC1C;IACH;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO;IACjC;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,WAAW;QACzB;aAAO;YACL,OAAO,IAAI,CAAC,cAAc;QAC5B;IACF;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI;YACjD;iBAAO;AACL,gBAAA,OAAO,QAAQ;YACjB;QACF;aAAO;AACL,YAAA,OAAO,SAAS;QAClB;IACF;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,SAAS;QAC1D;aAAO;AACL,YAAA,OAAO,SAAS;QAClB;IACF;AAEA,IAAA,IAAI,cAAc,GAAA;QAChB,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACxD,YAAA,OAAO,KAAK;QACd;QACA,OAAO,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CACrD,IAAI,CAAC,cAAc,EAAE,CACtB;IACH;AAEA,IAAA,IAAI,cAAc,GAAA;;AAEhB,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE;AACjC,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,IAAI,eAAwB;AAC5B,QAAA,IAAI,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE;AAC1C,YAAA,eAAe,GAAG,IAAI,CAAC,qBAAqB;AAC5C,YAAA,IAAI,eAAe,KAAK,KAAK,EAAE;AAC7B,gBAAA,OAAO,KAAK;YACd;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,qBAAqB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE;IAC5D;AAEA,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC;IAC5E;AAEA,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACrD;IAEA,oBAAoB,GAAA;AAClB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE;QAClC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC;QAC7C;aAAO;YACL;QACF;IACF;uGAjGW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCrC,i4CA6CA,EAAA,MAAA,EAAA,CAAA,4sBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrBI,eAAe,2iBACf,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACP,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEb,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,gBAAgB,2EAFhB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKA,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,aAAA,EAGjB,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP,eAAe;wBACf,OAAO;wBACP,gBAAgB;wBAChB,aAAa;wBACb,SAAS;wBACT,iBAAiB;wBACjB;AACD,qBAAA,EAAA,QAAA,EAAA,i4CAAA,EAAA,MAAA,EAAA,CAAA,4sBAAA,CAAA,EAAA;wDAYQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,sBAAsB,EAAA,CAAA;sBAA9B;;;MElCU,wBAAwB,CAAA;uGAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAxB,wBAAwB,EAAA,OAAA,EAAA,CAJzB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA;AAGvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,aAFxB,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,YAFhD,wBAAwB,CAAA,EAAA,CAAA;;2FAIvB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACnC,oBAAA,SAAS,EAAE,CAAC,sBAAsB,EAAE,qBAAqB;AAC1D,iBAAA;;;ACVD;;AAEG;;;;"}
|