@tilde-nlp/ngx-common 6.1.88 → 6.1.89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/llm/components/llm-rephrase/llm-rephrase.component.mjs +48 -0
- package/esm2022/lib/llm/components/llm-summary/llm-summary.component.mjs +48 -0
- package/esm2022/lib/llm/llm.component.mjs +19 -31
- package/esm2022/lib/llm/llm.module.mjs +15 -5
- package/fesm2022/tilde-nlp-ngx-common.mjs +274 -197
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
- package/lib/llm/components/llm-rephrase/llm-rephrase.component.d.ts +11 -0
- package/lib/llm/components/llm-summary/llm-summary.component.d.ts +11 -0
- package/lib/llm/llm.component.d.ts +2 -1
- package/lib/llm/llm.module.d.ts +16 -13
- package/package.json +1 -1
- package/web-components/main.js +15 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, EventEmitter, Component, Output, Input, ViewChild, NgModule, Optional, Inject, Pipe, inject, Directive, HostListener, HostBinding, ViewChildren, input, effect, ElementRef, ContentChildren, ContentChild, InjectionToken, output, computed
|
|
2
|
+
import { Injectable, EventEmitter, Component, Output, Input, ViewChild, NgModule, Optional, Inject, Pipe, inject, Directive, HostListener, HostBinding, ViewChildren, input, effect, ElementRef, ContentChildren, ContentChild, InjectionToken, signal, output, computed } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/material/icon';
|
|
4
4
|
import { MatIconModule, MatIcon } from '@angular/material/icon';
|
|
5
5
|
import * as i2 from '@angular/platform-browser';
|
|
@@ -7328,45 +7328,278 @@ var icons = /*#__PURE__*/Object.freeze({
|
|
|
7328
7328
|
SUMMARIZE: SUMMARIZE
|
|
7329
7329
|
});
|
|
7330
7330
|
|
|
7331
|
+
class NewFeatureDialogComponent {
|
|
7332
|
+
constructor() {
|
|
7333
|
+
this.data = inject(MAT_DIALOG_DATA);
|
|
7334
|
+
}
|
|
7335
|
+
static { this.ɵfac = function NewFeatureDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewFeatureDialogComponent)(); }; }
|
|
7336
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewFeatureDialogComponent, selectors: [["lib-new-feature-dialog"]], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 10, vars: 9, consts: [["mat-dialog-title", ""], [1, "description", 3, "innerHTML"], ["mat-button", "", "mat-dialog-close", "", "color", "accent"]], template: function NewFeatureDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7337
|
+
i0.ɵɵelementStart(0, "h2", 0);
|
|
7338
|
+
i0.ɵɵtext(1);
|
|
7339
|
+
i0.ɵɵpipe(2, "translate");
|
|
7340
|
+
i0.ɵɵelementEnd();
|
|
7341
|
+
i0.ɵɵelementStart(3, "mat-dialog-content");
|
|
7342
|
+
i0.ɵɵelement(4, "p", 1);
|
|
7343
|
+
i0.ɵɵpipe(5, "translate");
|
|
7344
|
+
i0.ɵɵelementEnd();
|
|
7345
|
+
i0.ɵɵelementStart(6, "mat-dialog-actions")(7, "button", 2);
|
|
7346
|
+
i0.ɵɵtext(8);
|
|
7347
|
+
i0.ɵɵpipe(9, "translate");
|
|
7348
|
+
i0.ɵɵelementEnd()();
|
|
7349
|
+
} if (rf & 2) {
|
|
7350
|
+
i0.ɵɵadvance();
|
|
7351
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 3, ctx.data.title));
|
|
7352
|
+
i0.ɵɵadvance(3);
|
|
7353
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(5, 5, ctx.data.description), i0.ɵɵsanitizeHtml);
|
|
7354
|
+
i0.ɵɵadvance(4);
|
|
7355
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 7, ctx.data.close), " ");
|
|
7356
|
+
} }, dependencies: [MatDialogModule, i1$4.MatDialogClose, i1$4.MatDialogTitle, i1$4.MatDialogActions, i1$4.MatDialogContent, MatButtonModule, i2$1.MatButton, TranslatePipe], styles: ["[_nghost-%COMP%] {display:inline-block;padding:12px 16px}[_nghost-%COMP%] .mat-mdc-dialog-title, [_nghost-%COMP%] mat-dialog-actions, [_nghost-%COMP%] mat-dialog-content{padding:0!important;margin:0!important}"] }); }
|
|
7357
|
+
}
|
|
7358
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewFeatureDialogComponent, [{
|
|
7359
|
+
type: Component,
|
|
7360
|
+
args: [{ selector: 'lib-new-feature-dialog', standalone: true, imports: [MatDialogModule, MatButtonModule, TranslatePipe], template: "<h2 mat-dialog-title>{{ data.title | translate }}</h2>\r\n<mat-dialog-content>\r\n <p class=\"description\" [innerHTML]=\"data.description | translate\"></p>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button mat-dialog-close color=\"accent\">\r\n {{ data.close | translate }}\r\n </button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep{display:inline-block;padding:12px 16px}:host ::ng-deep .mat-mdc-dialog-title,:host ::ng-deep mat-dialog-actions,:host ::ng-deep mat-dialog-content{padding:0!important;margin:0!important}\n"] }]
|
|
7361
|
+
}], null, null); })();
|
|
7362
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewFeatureDialogComponent, { className: "NewFeatureDialogComponent", filePath: "lib\\new-feature-dialog\\new-feature-dialog.component.ts", lineNumber: 13 }); })();
|
|
7363
|
+
|
|
7364
|
+
class NewFeatureDialogService {
|
|
7365
|
+
constructor() {
|
|
7366
|
+
this.current = signal(undefined);
|
|
7367
|
+
this.queue = [];
|
|
7368
|
+
}
|
|
7369
|
+
requestOpenFeature(component) {
|
|
7370
|
+
if (this.queue.includes(component)) {
|
|
7371
|
+
return;
|
|
7372
|
+
}
|
|
7373
|
+
this.queue.push(component);
|
|
7374
|
+
if (!this.current()) {
|
|
7375
|
+
this.showNextFeature();
|
|
7376
|
+
}
|
|
7377
|
+
}
|
|
7378
|
+
showNextFeature() {
|
|
7379
|
+
if (this.queue.length === 0) {
|
|
7380
|
+
return;
|
|
7381
|
+
}
|
|
7382
|
+
const nextFeature = this.queue.shift();
|
|
7383
|
+
if (!nextFeature) {
|
|
7384
|
+
return;
|
|
7385
|
+
}
|
|
7386
|
+
this.current.set(nextFeature);
|
|
7387
|
+
nextFeature.showFeatureDialog();
|
|
7388
|
+
}
|
|
7389
|
+
static { this.ɵfac = function NewFeatureDialogService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewFeatureDialogService)(); }; }
|
|
7390
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NewFeatureDialogService, factory: NewFeatureDialogService.ɵfac, providedIn: 'root' }); }
|
|
7391
|
+
}
|
|
7392
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewFeatureDialogService, [{
|
|
7393
|
+
type: Injectable,
|
|
7394
|
+
args: [{
|
|
7395
|
+
providedIn: 'root',
|
|
7396
|
+
}]
|
|
7397
|
+
}], null, null); })();
|
|
7398
|
+
|
|
7399
|
+
class NewFeatureDialogWrapperComponent {
|
|
7400
|
+
constructor() {
|
|
7401
|
+
this.timeout = 0;
|
|
7402
|
+
this.maxWidth = 320;
|
|
7403
|
+
this.#dialog = inject(MatDialog);
|
|
7404
|
+
this.#featureService = inject(NewFeatureDialogService);
|
|
7405
|
+
this.#destroy = new Subject();
|
|
7406
|
+
this.featureActive = signal(false);
|
|
7407
|
+
this.isFeatureSeen = false;
|
|
7408
|
+
}
|
|
7409
|
+
#dialog;
|
|
7410
|
+
#featureService;
|
|
7411
|
+
#destroy;
|
|
7412
|
+
ngOnInit() {
|
|
7413
|
+
setTimeout(() => {
|
|
7414
|
+
this.setFeatureStatus();
|
|
7415
|
+
}, this.timeout);
|
|
7416
|
+
}
|
|
7417
|
+
ngOnDestroy() {
|
|
7418
|
+
this.#destroy.next(null);
|
|
7419
|
+
this.#destroy.complete();
|
|
7420
|
+
}
|
|
7421
|
+
showFeatureDialog() {
|
|
7422
|
+
const targetElement = document.querySelector(`.${this.featureClassName}`);
|
|
7423
|
+
if (!targetElement) {
|
|
7424
|
+
return;
|
|
7425
|
+
}
|
|
7426
|
+
if (ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.autoScroll) {
|
|
7427
|
+
targetElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
7428
|
+
}
|
|
7429
|
+
setTimeout(() => {
|
|
7430
|
+
this.featureActive.set(true);
|
|
7431
|
+
const updatedRects = targetElement.getBoundingClientRect();
|
|
7432
|
+
this.dialogRef = this.#dialog.open(NewFeatureDialogComponent, {
|
|
7433
|
+
data: {
|
|
7434
|
+
title: this.titleLocalizationKey,
|
|
7435
|
+
description: this.descriptionLocalizationKey,
|
|
7436
|
+
close: this.closeLocalizationKey,
|
|
7437
|
+
featureLocalStorageKey: this.featureLocalStorageKey,
|
|
7438
|
+
},
|
|
7439
|
+
position: {
|
|
7440
|
+
left: `${ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.left ? this.mobileScreenCustomPosition.left : (updatedRects.left - this.maxWidth) + 'px'}`,
|
|
7441
|
+
top: `${ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.top ? this.mobileScreenCustomPosition.top : (updatedRects.top + 45) + 'px'}`
|
|
7442
|
+
},
|
|
7443
|
+
maxWidth: `${this.maxWidth}px`
|
|
7444
|
+
});
|
|
7445
|
+
this.dialogRef.afterClosed().subscribe(() => {
|
|
7446
|
+
this.setFeatureSeen();
|
|
7447
|
+
this.#featureService.current.set(undefined);
|
|
7448
|
+
this.#featureService.showNextFeature();
|
|
7449
|
+
});
|
|
7450
|
+
// Wait until the element is visible in the viewport.
|
|
7451
|
+
}, ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.autoScroll ? 500 : 0);
|
|
7452
|
+
}
|
|
7453
|
+
setFeatureStatus() {
|
|
7454
|
+
this.isFeatureSeen = !!this.featureLocalStorageKey && !!localStorage.getItem(this.featureLocalStorageKey);
|
|
7455
|
+
if (!this.isFeatureSeen) {
|
|
7456
|
+
this.#featureService.requestOpenFeature(this);
|
|
7457
|
+
}
|
|
7458
|
+
}
|
|
7459
|
+
setFeatureSeen() {
|
|
7460
|
+
this.featureActive.set(false);
|
|
7461
|
+
this.isFeatureSeen = true;
|
|
7462
|
+
if (this.featureLocalStorageKey) {
|
|
7463
|
+
localStorage.setItem(this.featureLocalStorageKey, 'true');
|
|
7464
|
+
}
|
|
7465
|
+
}
|
|
7466
|
+
static { this.ɵfac = function NewFeatureDialogWrapperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewFeatureDialogWrapperComponent)(); }; }
|
|
7467
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewFeatureDialogWrapperComponent, selectors: [["lib-new-feature-dialog-wrapper"]], inputs: { titleLocalizationKey: "titleLocalizationKey", descriptionLocalizationKey: "descriptionLocalizationKey", closeLocalizationKey: "closeLocalizationKey", featureClassName: "featureClassName", featureLocalStorageKey: "featureLocalStorageKey", timeout: "timeout", maxWidth: "maxWidth", mobileScreenCustomPosition: "mobileScreenCustomPosition" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 0, vars: 0, template: function NewFeatureDialogWrapperComponent_Template(rf, ctx) { }, dependencies: [CommonModule, MatDialogModule], encapsulation: 2 }); }
|
|
7468
|
+
}
|
|
7469
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewFeatureDialogWrapperComponent, [{
|
|
7470
|
+
type: Component,
|
|
7471
|
+
args: [{
|
|
7472
|
+
selector: 'lib-new-feature-dialog-wrapper',
|
|
7473
|
+
standalone: true,
|
|
7474
|
+
imports: [CommonModule, MatDialogModule, NewFeatureDialogComponent],
|
|
7475
|
+
template: '',
|
|
7476
|
+
}]
|
|
7477
|
+
}], null, { titleLocalizationKey: [{
|
|
7478
|
+
type: Input
|
|
7479
|
+
}], descriptionLocalizationKey: [{
|
|
7480
|
+
type: Input
|
|
7481
|
+
}], closeLocalizationKey: [{
|
|
7482
|
+
type: Input
|
|
7483
|
+
}], featureClassName: [{
|
|
7484
|
+
type: Input
|
|
7485
|
+
}], featureLocalStorageKey: [{
|
|
7486
|
+
type: Input
|
|
7487
|
+
}], timeout: [{
|
|
7488
|
+
type: Input
|
|
7489
|
+
}], maxWidth: [{
|
|
7490
|
+
type: Input
|
|
7491
|
+
}], mobileScreenCustomPosition: [{
|
|
7492
|
+
type: Input
|
|
7493
|
+
}] }); })();
|
|
7494
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewFeatureDialogWrapperComponent, { className: "NewFeatureDialogWrapperComponent", filePath: "lib\\new-feature-dialog\\new-feature-dialog-wrapper\\new-feature-dialog-wrapper.component.ts", lineNumber: 16 }); })();
|
|
7495
|
+
|
|
7496
|
+
class LLMSummaryComponent {
|
|
7497
|
+
constructor() {
|
|
7498
|
+
this.openModalEvent = new EventEmitter();
|
|
7499
|
+
}
|
|
7500
|
+
openModal() {
|
|
7501
|
+
this.openModalEvent.emit(LLMActions.SUMMARY);
|
|
7502
|
+
}
|
|
7503
|
+
static { this.ɵfac = function LLMSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMSummaryComponent)(); }; }
|
|
7504
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMSummaryComponent, selectors: [["lib-llm-summary"]], inputs: { isTextSummarizable: "isTextSummarizable", newFeatureLocalStorageKey: "newFeatureLocalStorageKey" }, outputs: { openModalEvent: "openModalEvent" }, decls: 6, vars: 12, consts: [["summarizeFeature", ""], ["mat-stroked-button", "", "color", "accent", 1, "llm-summary", 3, "click", "disabled"], [3, "svgIcon"], [3, "titleLocalizationKey", "descriptionLocalizationKey", "closeLocalizationKey", "featureClassName", "featureLocalStorageKey"]], template: function LLMSummaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7505
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
7506
|
+
i0.ɵɵelementStart(0, "button", 1);
|
|
7507
|
+
i0.ɵɵlistener("click", function LLMSummaryComponent_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openModal()); });
|
|
7508
|
+
i0.ɵɵelement(1, "mat-icon", 2);
|
|
7509
|
+
i0.ɵɵtext(2);
|
|
7510
|
+
i0.ɵɵpipe(3, "translate");
|
|
7511
|
+
i0.ɵɵelementEnd();
|
|
7512
|
+
i0.ɵɵelement(4, "lib-new-feature-dialog-wrapper", 3, 0);
|
|
7513
|
+
} if (rf & 2) {
|
|
7514
|
+
const summarizeFeature_r2 = i0.ɵɵreference(5);
|
|
7515
|
+
i0.ɵɵclassProp("summarize-feature-active", summarizeFeature_r2 == null ? null : summarizeFeature_r2.featureActive());
|
|
7516
|
+
i0.ɵɵproperty("disabled", !ctx.isTextSummarizable);
|
|
7517
|
+
i0.ɵɵadvance();
|
|
7518
|
+
i0.ɵɵproperty("svgIcon", "summarize");
|
|
7519
|
+
i0.ɵɵadvance();
|
|
7520
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 10, "LLM.SUMMARY"), "\n");
|
|
7521
|
+
i0.ɵɵadvance(2);
|
|
7522
|
+
i0.ɵɵproperty("titleLocalizationKey", "LLM.SUMMARY_NEW_FEATURE.TITLE")("descriptionLocalizationKey", "LLM.SUMMARY_NEW_FEATURE.DESCRIPTION")("closeLocalizationKey", "LLM.SUMMARY_NEW_FEATURE.CLOSE")("featureClassName", "llm-summary")("featureLocalStorageKey", "summary" + ctx.newFeatureLocalStorageKey);
|
|
7523
|
+
} }, dependencies: [i2$1.MatButton, i1.MatIcon, NewFeatureDialogWrapperComponent, i1$1.TranslatePipe], styles: [".summarize-feature-active{z-index:1001!important;background-color:#fff!important}"] }); }
|
|
7524
|
+
}
|
|
7525
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMSummaryComponent, [{
|
|
7526
|
+
type: Component,
|
|
7527
|
+
args: [{ selector: 'lib-llm-summary', template: "<button\r\n\tmat-stroked-button\r\n\tclass=\"llm-summary\"\r\n\tcolor=\"accent\"\r\n\t[disabled]=\"!isTextSummarizable\"\r\n\t[class.summarize-feature-active]=\"summarizeFeature?.featureActive()\"\r\n\t(click)=\"openModal()\"\r\n>\r\n\t<mat-icon [svgIcon]=\"'summarize'\"></mat-icon>\r\n\t{{ \"LLM.SUMMARY\" | translate }}\r\n</button>\r\n\r\n<lib-new-feature-dialog-wrapper\r\n\t#summarizeFeature\r\n\t[titleLocalizationKey]=\"'LLM.SUMMARY_NEW_FEATURE.TITLE'\"\r\n\t[descriptionLocalizationKey]=\"'LLM.SUMMARY_NEW_FEATURE.DESCRIPTION'\"\r\n\t[closeLocalizationKey]=\"'LLM.SUMMARY_NEW_FEATURE.CLOSE'\"\r\n\t[featureClassName]=\"'llm-summary'\"\r\n\t[featureLocalStorageKey]=\"'summary' + newFeatureLocalStorageKey\"\r\n></lib-new-feature-dialog-wrapper>\r\n", styles: ["::ng-deep .summarize-feature-active{z-index:1001!important;background-color:#fff!important}\n"] }]
|
|
7528
|
+
}], null, { isTextSummarizable: [{
|
|
7529
|
+
type: Input
|
|
7530
|
+
}], newFeatureLocalStorageKey: [{
|
|
7531
|
+
type: Input
|
|
7532
|
+
}], openModalEvent: [{
|
|
7533
|
+
type: Output
|
|
7534
|
+
}] }); })();
|
|
7535
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMSummaryComponent, { className: "LLMSummaryComponent", filePath: "lib\\llm\\components\\llm-summary\\llm-summary.component.ts", lineNumber: 9 }); })();
|
|
7536
|
+
|
|
7537
|
+
class LLMRephraseComponent {
|
|
7538
|
+
constructor() {
|
|
7539
|
+
this.openModalEvent = new EventEmitter();
|
|
7540
|
+
}
|
|
7541
|
+
openModal() {
|
|
7542
|
+
this.openModalEvent.emit(LLMActions.REPHRASE);
|
|
7543
|
+
}
|
|
7544
|
+
static { this.ɵfac = function LLMRephraseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMRephraseComponent)(); }; }
|
|
7545
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMRephraseComponent, selectors: [["lib-llm-rephrase"]], inputs: { isTargetLanguageRephrasable: "isTargetLanguageRephrasable", newFeatureLocalStorageKey: "newFeatureLocalStorageKey" }, outputs: { openModalEvent: "openModalEvent" }, decls: 6, vars: 13, consts: [["rephraseFeature", ""], ["mat-stroked-button", "", "color", "accent", 1, "llm-rephrase", 3, "click", "disabled"], [3, "svgIcon"], [3, "titleLocalizationKey", "descriptionLocalizationKey", "closeLocalizationKey", "featureClassName", "featureLocalStorageKey", "maxWidth"]], template: function LLMRephraseComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7546
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
7547
|
+
i0.ɵɵelementStart(0, "button", 1);
|
|
7548
|
+
i0.ɵɵlistener("click", function LLMRephraseComponent_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openModal()); });
|
|
7549
|
+
i0.ɵɵelement(1, "mat-icon", 2);
|
|
7550
|
+
i0.ɵɵtext(2);
|
|
7551
|
+
i0.ɵɵpipe(3, "translate");
|
|
7552
|
+
i0.ɵɵelementEnd();
|
|
7553
|
+
i0.ɵɵelement(4, "lib-new-feature-dialog-wrapper", 3, 0);
|
|
7554
|
+
} if (rf & 2) {
|
|
7555
|
+
const rephraseFeature_r2 = i0.ɵɵreference(5);
|
|
7556
|
+
i0.ɵɵclassProp("rephrase-feature-active", rephraseFeature_r2 == null ? null : rephraseFeature_r2.featureActive());
|
|
7557
|
+
i0.ɵɵproperty("disabled", !ctx.isTargetLanguageRephrasable);
|
|
7558
|
+
i0.ɵɵadvance();
|
|
7559
|
+
i0.ɵɵproperty("svgIcon", "rephrase");
|
|
7560
|
+
i0.ɵɵadvance();
|
|
7561
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 11, "LLM.REPHRASE"), "\n");
|
|
7562
|
+
i0.ɵɵadvance(2);
|
|
7563
|
+
i0.ɵɵproperty("titleLocalizationKey", "LLM.REPHRASE_NEW_FEATURE.TITLE")("descriptionLocalizationKey", "LLM.REPHRASE_NEW_FEATURE.DESCRIPTION")("closeLocalizationKey", "LLM.REPHRASE_NEW_FEATURE.CLOSE")("featureClassName", "llm-rephrase")("featureLocalStorageKey", "rephrase" + ctx.newFeatureLocalStorageKey)("maxWidth", 400);
|
|
7564
|
+
} }, dependencies: [i2$1.MatButton, i1.MatIcon, NewFeatureDialogWrapperComponent, i1$1.TranslatePipe], styles: [".rephrase-feature-active{z-index:1001!important;background-color:#fff!important}"] }); }
|
|
7565
|
+
}
|
|
7566
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMRephraseComponent, [{
|
|
7567
|
+
type: Component,
|
|
7568
|
+
args: [{ selector: 'lib-llm-rephrase', template: "<button\r\n\tmat-stroked-button\r\n\tclass=\"llm-rephrase\"\r\n\tcolor=\"accent\"\r\n\t[disabled]=\"!isTargetLanguageRephrasable\"\r\n\t[class.rephrase-feature-active]=\"rephraseFeature?.featureActive()\"\r\n\t(click)=\"openModal()\"\r\n>\r\n\t<mat-icon [svgIcon]=\"'rephrase'\"></mat-icon>\r\n\t{{ \"LLM.REPHRASE\" | translate }}\r\n</button>\r\n\r\n<lib-new-feature-dialog-wrapper\r\n\t#rephraseFeature\r\n\t[titleLocalizationKey]=\"'LLM.REPHRASE_NEW_FEATURE.TITLE'\"\r\n\t[descriptionLocalizationKey]=\"'LLM.REPHRASE_NEW_FEATURE.DESCRIPTION'\"\r\n\t[closeLocalizationKey]=\"'LLM.REPHRASE_NEW_FEATURE.CLOSE'\"\r\n\t[featureClassName]=\"'llm-rephrase'\"\r\n\t[featureLocalStorageKey]=\"'rephrase' + newFeatureLocalStorageKey\"\r\n\t[maxWidth]=\"400\"\r\n></lib-new-feature-dialog-wrapper>\r\n", styles: ["::ng-deep .rephrase-feature-active{z-index:1001!important;background-color:#fff!important}\n"] }]
|
|
7569
|
+
}], null, { isTargetLanguageRephrasable: [{
|
|
7570
|
+
type: Input
|
|
7571
|
+
}], newFeatureLocalStorageKey: [{
|
|
7572
|
+
type: Input
|
|
7573
|
+
}], openModalEvent: [{
|
|
7574
|
+
type: Output
|
|
7575
|
+
}] }); })();
|
|
7576
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LLMRephraseComponent, { className: "LLMRephraseComponent", filePath: "lib\\llm\\components\\llm-rephrase\\llm-rephrase.component.ts", lineNumber: 9 }); })();
|
|
7577
|
+
|
|
7331
7578
|
function LLMComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
7332
7579
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
7333
7580
|
i0.ɵɵelementStart(0, "div", 2);
|
|
7334
7581
|
i0.ɵɵpipe(1, "translate");
|
|
7335
|
-
i0.ɵɵelementStart(2, "
|
|
7336
|
-
i0.ɵɵlistener("
|
|
7337
|
-
i0.ɵɵelement(3, "mat-icon", 4);
|
|
7338
|
-
i0.ɵɵtext(4);
|
|
7339
|
-
i0.ɵɵpipe(5, "translate");
|
|
7582
|
+
i0.ɵɵelementStart(2, "lib-llm-summary", 3);
|
|
7583
|
+
i0.ɵɵlistener("openModalEvent", function LLMComponent_div_1_Template_lib_llm_summary_openModalEvent_2_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLLMModal($event)); });
|
|
7340
7584
|
i0.ɵɵelementEnd()();
|
|
7341
7585
|
} if (rf & 2) {
|
|
7342
7586
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
7343
|
-
i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTextSummarizable ? i0.ɵɵpipeBind1(1,
|
|
7587
|
+
i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTextSummarizable ? i0.ɵɵpipeBind1(1, 4, "LLM.MENU_SUMMARY_DISABLED_TOOLTIP") : "");
|
|
7344
7588
|
i0.ɵɵadvance(2);
|
|
7345
|
-
i0.ɵɵproperty("
|
|
7346
|
-
i0.ɵɵadvance();
|
|
7347
|
-
i0.ɵɵproperty("svgIcon", "summarize");
|
|
7348
|
-
i0.ɵɵadvance();
|
|
7349
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 7, "LLM.SUMMARY"), " ");
|
|
7589
|
+
i0.ɵɵproperty("isTextSummarizable", !!ctx_r1.isTextSummarizable)("newFeatureLocalStorageKey", ctx_r1.newFeatureLocalStorageKey);
|
|
7350
7590
|
} }
|
|
7351
7591
|
function LLMComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
7352
7592
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
7353
7593
|
i0.ɵɵelementStart(0, "div", 2);
|
|
7354
7594
|
i0.ɵɵpipe(1, "translate");
|
|
7355
|
-
i0.ɵɵelementStart(2, "
|
|
7356
|
-
i0.ɵɵlistener("
|
|
7357
|
-
i0.ɵɵelement(3, "mat-icon", 4);
|
|
7358
|
-
i0.ɵɵtext(4);
|
|
7359
|
-
i0.ɵɵpipe(5, "translate");
|
|
7595
|
+
i0.ɵɵelementStart(2, "lib-llm-rephrase", 4);
|
|
7596
|
+
i0.ɵɵlistener("openModalEvent", function LLMComponent_div_2_Template_lib_llm_rephrase_openModalEvent_2_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLLMModal($event)); });
|
|
7360
7597
|
i0.ɵɵelementEnd()();
|
|
7361
7598
|
} if (rf & 2) {
|
|
7362
7599
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
7363
|
-
i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTargetLanguageRephrasable ? i0.ɵɵpipeBind1(1,
|
|
7600
|
+
i0.ɵɵproperty("matTooltipPosition", "left")("matTooltip", !ctx_r1.isTargetLanguageRephrasable ? i0.ɵɵpipeBind1(1, 4, "LLM.MENU_REPHRASE_DISABLED_TOOLTIP") : "");
|
|
7364
7601
|
i0.ɵɵadvance(2);
|
|
7365
|
-
i0.ɵɵproperty("
|
|
7366
|
-
i0.ɵɵadvance();
|
|
7367
|
-
i0.ɵɵproperty("svgIcon", "rephrase");
|
|
7368
|
-
i0.ɵɵadvance();
|
|
7369
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 7, "LLM.REPHRASE"), " ");
|
|
7602
|
+
i0.ɵɵproperty("isTargetLanguageRephrasable", !!ctx_r1.isTargetLanguageRephrasable)("newFeatureLocalStorageKey", ctx_r1.newFeatureLocalStorageKey);
|
|
7370
7603
|
} }
|
|
7371
7604
|
class LLMComponent {
|
|
7372
7605
|
get isTextSummarizable() {
|
|
@@ -7410,20 +7643,20 @@ class LLMComponent {
|
|
|
7410
7643
|
});
|
|
7411
7644
|
}
|
|
7412
7645
|
static { this.ɵfac = function LLMComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LLMComponent)(i0.ɵɵdirectiveInject(i1$4.MatDialog), i0.ɵɵdirectiveInject(IconService), i0.ɵɵdirectiveInject(LanguageTranslateService)); }; }
|
|
7413
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMComponent, selectors: [["lib-llm"]], inputs: { text: "text", language: "language", rephrasableLanguagesCodeList: "rephrasableLanguagesCodeList", summaryEnabled: "summaryEnabled", rephraseEnabled: "rephraseEnabled", showUseCaseSummary: "showUseCaseSummary", showUseCaseRephrase: "showUseCaseRephrase" }, outputs: { menuTriggerClick: "menuTriggerClick" }, decls: 3, vars: 2, consts: [[1, "llm-wrapper"], [3, "matTooltipPosition", "matTooltip", 4, "ngIf"], [3, "matTooltipPosition", "matTooltip"], [
|
|
7646
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LLMComponent, selectors: [["lib-llm"]], inputs: { text: "text", language: "language", rephrasableLanguagesCodeList: "rephrasableLanguagesCodeList", summaryEnabled: "summaryEnabled", rephraseEnabled: "rephraseEnabled", showUseCaseSummary: "showUseCaseSummary", showUseCaseRephrase: "showUseCaseRephrase", newFeatureLocalStorageKey: "newFeatureLocalStorageKey" }, outputs: { menuTriggerClick: "menuTriggerClick" }, decls: 3, vars: 2, consts: [[1, "llm-wrapper"], [3, "matTooltipPosition", "matTooltip", 4, "ngIf"], [3, "matTooltipPosition", "matTooltip"], [3, "openModalEvent", "isTextSummarizable", "newFeatureLocalStorageKey"], [3, "openModalEvent", "isTargetLanguageRephrasable", "newFeatureLocalStorageKey"]], template: function LLMComponent_Template(rf, ctx) { if (rf & 1) {
|
|
7414
7647
|
i0.ɵɵelementStart(0, "div", 0);
|
|
7415
|
-
i0.ɵɵtemplate(1, LLMComponent_div_1_Template,
|
|
7648
|
+
i0.ɵɵtemplate(1, LLMComponent_div_1_Template, 3, 6, "div", 1)(2, LLMComponent_div_2_Template, 3, 6, "div", 1);
|
|
7416
7649
|
i0.ɵɵelementEnd();
|
|
7417
7650
|
} if (rf & 2) {
|
|
7418
7651
|
i0.ɵɵadvance();
|
|
7419
7652
|
i0.ɵɵproperty("ngIf", ctx.summaryEnabled);
|
|
7420
7653
|
i0.ɵɵadvance();
|
|
7421
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
7422
|
-
} }, dependencies: [i1$2.NgIf, i2$
|
|
7654
|
+
i0.ɵɵproperty("ngIf", ctx.rephraseEnabled);
|
|
7655
|
+
} }, dependencies: [i1$2.NgIf, i2$2.MatTooltip, LLMSummaryComponent, LLMRephraseComponent, i1$1.TranslatePipe], styles: [".llm-wrapper[_ngcontent-%COMP%]{display:flex;gap:8px}"] }); }
|
|
7423
7656
|
}
|
|
7424
7657
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMComponent, [{
|
|
7425
7658
|
type: Component,
|
|
7426
|
-
args: [{ selector: 'lib-llm', template: "<div class=\"llm-wrapper\">\r\n\t<div *ngIf=\"summaryEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTextSummarizable ? ('LLM.MENU_SUMMARY_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<
|
|
7659
|
+
args: [{ selector: 'lib-llm', template: "<div class=\"llm-wrapper\">\r\n\t<div *ngIf=\"summaryEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTextSummarizable ? ('LLM.MENU_SUMMARY_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<lib-llm-summary [isTextSummarizable]=\"!!isTextSummarizable\" [newFeatureLocalStorageKey]=\"newFeatureLocalStorageKey\" (openModalEvent)=\"openLLMModal($event)\"></lib-llm-summary>\r\n\t</div>\r\n\r\n\t<div *ngIf=\"rephraseEnabled\" [matTooltipPosition]=\"'left'\" [matTooltip]=\"!isTargetLanguageRephrasable ? ('LLM.MENU_REPHRASE_DISABLED_TOOLTIP' | translate) : ''\">\r\n\t\t<lib-llm-rephrase\r\n\t\t\t[isTargetLanguageRephrasable]=\"!!isTargetLanguageRephrasable\"\r\n\t\t\t[newFeatureLocalStorageKey]=\"newFeatureLocalStorageKey\"\r\n\t\t\t(openModalEvent)=\"openLLMModal($event)\"\r\n\t\t></lib-llm-rephrase>\r\n\t</div>\r\n</div>\r\n", styles: [".llm-wrapper{display:flex;gap:8px}\n"] }]
|
|
7427
7660
|
}], () => [{ type: i1$4.MatDialog }, { type: IconService }, { type: LanguageTranslateService }], { text: [{
|
|
7428
7661
|
type: Input
|
|
7429
7662
|
}], language: [{
|
|
@@ -7438,6 +7671,8 @@ class LLMComponent {
|
|
|
7438
7671
|
type: Input
|
|
7439
7672
|
}], showUseCaseRephrase: [{
|
|
7440
7673
|
type: Input
|
|
7674
|
+
}], newFeatureLocalStorageKey: [{
|
|
7675
|
+
type: Input
|
|
7441
7676
|
}], menuTriggerClick: [{
|
|
7442
7677
|
type: Output
|
|
7443
7678
|
}] }); })();
|
|
@@ -7458,7 +7693,8 @@ class LLMModule {
|
|
|
7458
7693
|
NotificationMessageModule,
|
|
7459
7694
|
MatTooltipModule,
|
|
7460
7695
|
FlexLayoutModule,
|
|
7461
|
-
MatProgressSpinnerModule
|
|
7696
|
+
MatProgressSpinnerModule,
|
|
7697
|
+
NewFeatureDialogWrapperComponent] }); }
|
|
7462
7698
|
}
|
|
7463
7699
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LLMModule, [{
|
|
7464
7700
|
type: NgModule,
|
|
@@ -7467,6 +7703,8 @@ class LLMModule {
|
|
|
7467
7703
|
LLMComponent,
|
|
7468
7704
|
LLMTextareaComponent,
|
|
7469
7705
|
LLMTextareaWithActionsComponent,
|
|
7706
|
+
LLMSummaryComponent,
|
|
7707
|
+
LLMRephraseComponent
|
|
7470
7708
|
],
|
|
7471
7709
|
imports: [
|
|
7472
7710
|
CommonModule,
|
|
@@ -7481,14 +7719,17 @@ class LLMModule {
|
|
|
7481
7719
|
NotificationMessageModule,
|
|
7482
7720
|
MatTooltipModule,
|
|
7483
7721
|
FlexLayoutModule,
|
|
7484
|
-
MatProgressSpinnerModule
|
|
7722
|
+
MatProgressSpinnerModule,
|
|
7723
|
+
NewFeatureDialogWrapperComponent
|
|
7485
7724
|
],
|
|
7486
7725
|
exports: [LLMComponent],
|
|
7487
7726
|
}]
|
|
7488
7727
|
}], null, null); })();
|
|
7489
7728
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LLMModule, { declarations: [LLMComponent,
|
|
7490
7729
|
LLMTextareaComponent,
|
|
7491
|
-
LLMTextareaWithActionsComponent
|
|
7730
|
+
LLMTextareaWithActionsComponent,
|
|
7731
|
+
LLMSummaryComponent,
|
|
7732
|
+
LLMRephraseComponent], imports: [CommonModule,
|
|
7492
7733
|
MatButtonModule,
|
|
7493
7734
|
MatIconModule,
|
|
7494
7735
|
TranslateModule,
|
|
@@ -7500,7 +7741,8 @@ class LLMModule {
|
|
|
7500
7741
|
NotificationMessageModule,
|
|
7501
7742
|
MatTooltipModule,
|
|
7502
7743
|
FlexLayoutModule,
|
|
7503
|
-
MatProgressSpinnerModule
|
|
7744
|
+
MatProgressSpinnerModule,
|
|
7745
|
+
NewFeatureDialogWrapperComponent], exports: [LLMComponent] }); })();
|
|
7504
7746
|
|
|
7505
7747
|
class SidebarService {
|
|
7506
7748
|
constructor() {
|
|
@@ -8253,171 +8495,6 @@ class SubscriptionComponent {
|
|
|
8253
8495
|
}], null, null); })();
|
|
8254
8496
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SubscriptionComponent, { className: "SubscriptionComponent", filePath: "lib\\subscription\\subscription.component.ts", lineNumber: 27 }); })();
|
|
8255
8497
|
|
|
8256
|
-
class NewFeatureDialogComponent {
|
|
8257
|
-
constructor() {
|
|
8258
|
-
this.data = inject(MAT_DIALOG_DATA);
|
|
8259
|
-
}
|
|
8260
|
-
static { this.ɵfac = function NewFeatureDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewFeatureDialogComponent)(); }; }
|
|
8261
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewFeatureDialogComponent, selectors: [["lib-new-feature-dialog"]], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 10, vars: 9, consts: [["mat-dialog-title", ""], [1, "description", 3, "innerHTML"], ["mat-button", "", "mat-dialog-close", "", "color", "accent"]], template: function NewFeatureDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8262
|
-
i0.ɵɵelementStart(0, "h2", 0);
|
|
8263
|
-
i0.ɵɵtext(1);
|
|
8264
|
-
i0.ɵɵpipe(2, "translate");
|
|
8265
|
-
i0.ɵɵelementEnd();
|
|
8266
|
-
i0.ɵɵelementStart(3, "mat-dialog-content");
|
|
8267
|
-
i0.ɵɵelement(4, "p", 1);
|
|
8268
|
-
i0.ɵɵpipe(5, "translate");
|
|
8269
|
-
i0.ɵɵelementEnd();
|
|
8270
|
-
i0.ɵɵelementStart(6, "mat-dialog-actions")(7, "button", 2);
|
|
8271
|
-
i0.ɵɵtext(8);
|
|
8272
|
-
i0.ɵɵpipe(9, "translate");
|
|
8273
|
-
i0.ɵɵelementEnd()();
|
|
8274
|
-
} if (rf & 2) {
|
|
8275
|
-
i0.ɵɵadvance();
|
|
8276
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 3, ctx.data.title));
|
|
8277
|
-
i0.ɵɵadvance(3);
|
|
8278
|
-
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(5, 5, ctx.data.description), i0.ɵɵsanitizeHtml);
|
|
8279
|
-
i0.ɵɵadvance(4);
|
|
8280
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 7, ctx.data.close), " ");
|
|
8281
|
-
} }, dependencies: [MatDialogModule, i1$4.MatDialogClose, i1$4.MatDialogTitle, i1$4.MatDialogActions, i1$4.MatDialogContent, MatButtonModule, i2$1.MatButton, TranslatePipe], styles: ["[_nghost-%COMP%] {display:inline-block;padding:12px 16px}[_nghost-%COMP%] .mat-mdc-dialog-title, [_nghost-%COMP%] mat-dialog-actions, [_nghost-%COMP%] mat-dialog-content{padding:0!important;margin:0!important}"] }); }
|
|
8282
|
-
}
|
|
8283
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewFeatureDialogComponent, [{
|
|
8284
|
-
type: Component,
|
|
8285
|
-
args: [{ selector: 'lib-new-feature-dialog', standalone: true, imports: [MatDialogModule, MatButtonModule, TranslatePipe], template: "<h2 mat-dialog-title>{{ data.title | translate }}</h2>\r\n<mat-dialog-content>\r\n <p class=\"description\" [innerHTML]=\"data.description | translate\"></p>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button mat-dialog-close color=\"accent\">\r\n {{ data.close | translate }}\r\n </button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep{display:inline-block;padding:12px 16px}:host ::ng-deep .mat-mdc-dialog-title,:host ::ng-deep mat-dialog-actions,:host ::ng-deep mat-dialog-content{padding:0!important;margin:0!important}\n"] }]
|
|
8286
|
-
}], null, null); })();
|
|
8287
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewFeatureDialogComponent, { className: "NewFeatureDialogComponent", filePath: "lib\\new-feature-dialog\\new-feature-dialog.component.ts", lineNumber: 13 }); })();
|
|
8288
|
-
|
|
8289
|
-
class NewFeatureDialogService {
|
|
8290
|
-
constructor() {
|
|
8291
|
-
this.current = signal(undefined);
|
|
8292
|
-
this.queue = [];
|
|
8293
|
-
}
|
|
8294
|
-
requestOpenFeature(component) {
|
|
8295
|
-
if (this.queue.includes(component)) {
|
|
8296
|
-
return;
|
|
8297
|
-
}
|
|
8298
|
-
this.queue.push(component);
|
|
8299
|
-
if (!this.current()) {
|
|
8300
|
-
this.showNextFeature();
|
|
8301
|
-
}
|
|
8302
|
-
}
|
|
8303
|
-
showNextFeature() {
|
|
8304
|
-
if (this.queue.length === 0) {
|
|
8305
|
-
return;
|
|
8306
|
-
}
|
|
8307
|
-
const nextFeature = this.queue.shift();
|
|
8308
|
-
if (!nextFeature) {
|
|
8309
|
-
return;
|
|
8310
|
-
}
|
|
8311
|
-
this.current.set(nextFeature);
|
|
8312
|
-
nextFeature.showFeatureDialog();
|
|
8313
|
-
}
|
|
8314
|
-
static { this.ɵfac = function NewFeatureDialogService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewFeatureDialogService)(); }; }
|
|
8315
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NewFeatureDialogService, factory: NewFeatureDialogService.ɵfac, providedIn: 'root' }); }
|
|
8316
|
-
}
|
|
8317
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewFeatureDialogService, [{
|
|
8318
|
-
type: Injectable,
|
|
8319
|
-
args: [{
|
|
8320
|
-
providedIn: 'root',
|
|
8321
|
-
}]
|
|
8322
|
-
}], null, null); })();
|
|
8323
|
-
|
|
8324
|
-
class NewFeatureDialogWrapperComponent {
|
|
8325
|
-
constructor() {
|
|
8326
|
-
this.timeout = 0;
|
|
8327
|
-
this.maxWidth = 320;
|
|
8328
|
-
this.#dialog = inject(MatDialog);
|
|
8329
|
-
this.#featureService = inject(NewFeatureDialogService);
|
|
8330
|
-
this.#destroy = new Subject();
|
|
8331
|
-
this.featureActive = signal(false);
|
|
8332
|
-
this.isFeatureSeen = false;
|
|
8333
|
-
}
|
|
8334
|
-
#dialog;
|
|
8335
|
-
#featureService;
|
|
8336
|
-
#destroy;
|
|
8337
|
-
ngOnInit() {
|
|
8338
|
-
setTimeout(() => {
|
|
8339
|
-
this.setFeatureStatus();
|
|
8340
|
-
}, this.timeout);
|
|
8341
|
-
}
|
|
8342
|
-
ngOnDestroy() {
|
|
8343
|
-
this.#destroy.next(null);
|
|
8344
|
-
this.#destroy.complete();
|
|
8345
|
-
}
|
|
8346
|
-
showFeatureDialog() {
|
|
8347
|
-
const targetElement = document.querySelector(`.${this.featureClassName}`);
|
|
8348
|
-
if (!targetElement) {
|
|
8349
|
-
return;
|
|
8350
|
-
}
|
|
8351
|
-
if (ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.autoScroll) {
|
|
8352
|
-
targetElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
8353
|
-
}
|
|
8354
|
-
setTimeout(() => {
|
|
8355
|
-
this.featureActive.set(true);
|
|
8356
|
-
const updatedRects = targetElement.getBoundingClientRect();
|
|
8357
|
-
this.dialogRef = this.#dialog.open(NewFeatureDialogComponent, {
|
|
8358
|
-
data: {
|
|
8359
|
-
title: this.titleLocalizationKey,
|
|
8360
|
-
description: this.descriptionLocalizationKey,
|
|
8361
|
-
close: this.closeLocalizationKey,
|
|
8362
|
-
featureLocalStorageKey: this.featureLocalStorageKey,
|
|
8363
|
-
},
|
|
8364
|
-
position: {
|
|
8365
|
-
left: `${ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.left ? this.mobileScreenCustomPosition.left : (updatedRects.left - this.maxWidth) + 'px'}`,
|
|
8366
|
-
top: `${ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.top ? this.mobileScreenCustomPosition.top : (updatedRects.top + 45) + 'px'}`
|
|
8367
|
-
},
|
|
8368
|
-
maxWidth: `${this.maxWidth}px`
|
|
8369
|
-
});
|
|
8370
|
-
this.dialogRef.afterClosed().subscribe(() => {
|
|
8371
|
-
this.setFeatureSeen();
|
|
8372
|
-
this.#featureService.current.set(undefined);
|
|
8373
|
-
this.#featureService.showNextFeature();
|
|
8374
|
-
});
|
|
8375
|
-
// Wait until the element is visible in the viewport.
|
|
8376
|
-
}, ResolutionHelper.isMobileRes() && this.mobileScreenCustomPosition?.autoScroll ? 500 : 0);
|
|
8377
|
-
}
|
|
8378
|
-
setFeatureStatus() {
|
|
8379
|
-
this.isFeatureSeen = !!this.featureLocalStorageKey && !!localStorage.getItem(this.featureLocalStorageKey);
|
|
8380
|
-
if (!this.isFeatureSeen) {
|
|
8381
|
-
this.#featureService.requestOpenFeature(this);
|
|
8382
|
-
}
|
|
8383
|
-
}
|
|
8384
|
-
setFeatureSeen() {
|
|
8385
|
-
this.featureActive.set(false);
|
|
8386
|
-
this.isFeatureSeen = true;
|
|
8387
|
-
if (this.featureLocalStorageKey) {
|
|
8388
|
-
localStorage.setItem(this.featureLocalStorageKey, 'true');
|
|
8389
|
-
}
|
|
8390
|
-
}
|
|
8391
|
-
static { this.ɵfac = function NewFeatureDialogWrapperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewFeatureDialogWrapperComponent)(); }; }
|
|
8392
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewFeatureDialogWrapperComponent, selectors: [["lib-new-feature-dialog-wrapper"]], inputs: { titleLocalizationKey: "titleLocalizationKey", descriptionLocalizationKey: "descriptionLocalizationKey", closeLocalizationKey: "closeLocalizationKey", featureClassName: "featureClassName", featureLocalStorageKey: "featureLocalStorageKey", timeout: "timeout", maxWidth: "maxWidth", mobileScreenCustomPosition: "mobileScreenCustomPosition" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 0, vars: 0, template: function NewFeatureDialogWrapperComponent_Template(rf, ctx) { }, dependencies: [CommonModule, MatDialogModule], encapsulation: 2 }); }
|
|
8393
|
-
}
|
|
8394
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewFeatureDialogWrapperComponent, [{
|
|
8395
|
-
type: Component,
|
|
8396
|
-
args: [{
|
|
8397
|
-
selector: 'lib-new-feature-dialog-wrapper',
|
|
8398
|
-
standalone: true,
|
|
8399
|
-
imports: [CommonModule, MatDialogModule, NewFeatureDialogComponent],
|
|
8400
|
-
template: '',
|
|
8401
|
-
}]
|
|
8402
|
-
}], null, { titleLocalizationKey: [{
|
|
8403
|
-
type: Input
|
|
8404
|
-
}], descriptionLocalizationKey: [{
|
|
8405
|
-
type: Input
|
|
8406
|
-
}], closeLocalizationKey: [{
|
|
8407
|
-
type: Input
|
|
8408
|
-
}], featureClassName: [{
|
|
8409
|
-
type: Input
|
|
8410
|
-
}], featureLocalStorageKey: [{
|
|
8411
|
-
type: Input
|
|
8412
|
-
}], timeout: [{
|
|
8413
|
-
type: Input
|
|
8414
|
-
}], maxWidth: [{
|
|
8415
|
-
type: Input
|
|
8416
|
-
}], mobileScreenCustomPosition: [{
|
|
8417
|
-
type: Input
|
|
8418
|
-
}] }); })();
|
|
8419
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewFeatureDialogWrapperComponent, { className: "NewFeatureDialogWrapperComponent", filePath: "lib\\new-feature-dialog\\new-feature-dialog-wrapper\\new-feature-dialog-wrapper.component.ts", lineNumber: 16 }); })();
|
|
8420
|
-
|
|
8421
8498
|
/*
|
|
8422
8499
|
* Public API Surface of ngx-common
|
|
8423
8500
|
*/
|