@xxmachina/components 20.20.4 → 20.21.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.
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Injectable, InjectionToken, DestroyRef } from '@angular/core';
3
3
  import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { Query as Query$1, QueryHelper as QueryHelper$1 } from '@xxmachina/common/domain/models';
4
+ import { Query as Query$1, QueryHelper } from '@xxmachina/common/domain/models';
5
5
  import { QueryService } from '@xxmachina/common/services/query';
6
- import { isEqual } from 'lodash-es';
7
- import { map, shareReplay, combineLatest, filter, ReplaySubject, switchMap, take, of, distinctUntilChanged, debounceTime, catchError, NEVER } from 'rxjs';
6
+ import { isPlainObject, isEqual, cloneDeep, set, get } from 'lodash-es';
7
+ import { map, shareReplay, filter, switchMap, startWith, pairwise, withLatestFrom, ReplaySubject, take, of, distinctUntilChanged, debounceTime, catchError, NEVER } from 'rxjs';
8
8
  import { AuthService } from '@xxmachina/common/auth';
9
9
  import { QueryFormService } from '@xxmachina/components/services/forms/query';
10
10
  import { AppService } from '@ng-atomic/common/services/app';
@@ -13,7 +13,7 @@ import { getRawValue$, getValue$ } from '@ng-atomic/common/utils';
13
13
  import { EditingStateManager, pauseWhenEditing } from '@ng-atomic/common';
14
14
  import { provideEffect } from '@ng-atomic/core';
15
15
  import dayjs from 'dayjs';
16
- import { Query, QueryHelper } from '@xxmachina/common/domain';
16
+ import { Query } from '@xxmachina/common/domain';
17
17
  import { VariablesFromService } from '@xxmachina/components/services/forms/variables';
18
18
 
19
19
  var ActionId;
@@ -60,21 +60,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
60
60
  type: Injectable
61
61
  }] });
62
62
 
63
+ function changedLeaves(before, after, path = []) {
64
+ if (isPlainObject(before) && isPlainObject(after)) {
65
+ const a = after;
66
+ const b = before;
67
+ return Object.keys(a).flatMap((key) => changedLeaves(b[key], a[key], [...path, key]));
68
+ }
69
+ if (Array.isArray(before) && Array.isArray(after) && before.length === after.length) {
70
+ return after.flatMap((value, i) => changedLeaves(before[i], value, [...path, i]));
71
+ }
72
+ return isEqual(before, after) ? [] : [{ path, value: after }];
73
+ }
74
+ function rewrapPercent(pre, value) {
75
+ if (typeof pre !== 'string' || typeof value !== 'string')
76
+ return value;
77
+ const head = pre.startsWith('%') && !value.startsWith('%') ? '%' : '';
78
+ const tail = pre.length > 1 && pre.endsWith('%') && !value.endsWith('%') ? '%' : '';
79
+ return `${head}${value}${tail}`;
80
+ }
81
+ function applyVariableChanges(pre, changes) {
82
+ const next = cloneDeep(pre);
83
+ for (const { path, value } of changes) {
84
+ if (!path.length || !(String(path[0]) in pre))
85
+ continue;
86
+ set(next, path, rewrapPercent(get(pre, path), value));
87
+ }
88
+ return next;
89
+ }
90
+
63
91
  class QueryGraphqlVariablesFormFeature {
64
92
  feature = inject(QueryFeature);
65
93
  variablesFromService = inject(VariablesFromService);
66
94
  queryGraphqlVariables$ = this.feature.query$.pipe(map((query) => JSON.parse(query.graphql.variablesJson)));
67
95
  variablesValue$ = this.feature.query$.pipe(map((query) => query?.graphql?.variables ?? {}), shareReplay(1));
68
96
  variablesValue = toSignal(this.variablesValue$, { initialValue: {} });
69
- variablesForm$ = this.variablesValue$.pipe(map((value) => this.variablesFromService.build(value)), shareReplay(1));
97
+ #written = undefined;
98
+ variablesForm$ = this.variablesValue$.pipe(filter((value) => {
99
+ const echoed = this.#written !== undefined && isEqual(value, this.#written);
100
+ this.#written = undefined;
101
+ return !echoed;
102
+ }), map((value) => this.variablesFromService.build(value)), shareReplay(1));
70
103
  variablesForm = toSignal(this.variablesForm$);
71
- variablesFormValue$ = this.variablesForm$.pipe(map((form) => getRawValue$(form)), shareReplay(1));
104
+ variablesFormValue$ = this.variablesForm$.pipe(switchMap((form) => getRawValue$(form)), shareReplay(1));
72
105
  constructor() {
73
- combineLatest({
74
- pre: this.queryGraphqlVariables$,
75
- current: this.variablesFormValue$,
76
- }).pipe(takeUntilDestroyed(), filter(({ current }) => !!current), map(({ current, pre }) => ({ pre, next: QueryHelper.overwrite(current, pre) })), filter(({ pre, next }) => JSON.stringify(pre) !== JSON.stringify(next)), shareReplay(1)).subscribe((mergedVariables) => {
77
- this.feature.form.get(['graphql', 'variablesJson']).setValue(JSON.stringify(mergedVariables, null, 2));
106
+ this.variablesForm$.pipe(takeUntilDestroyed(), switchMap((form) => getRawValue$(form).pipe(startWith(form.getRawValue()), pairwise(), map(([previous, current]) => changedLeaves(previous, current)))), filter((changes) => changes.length > 0), withLatestFrom(this.queryGraphqlVariables$), map(([changes, pre]) => ({ pre, next: applyVariableChanges(pre, changes) })), filter(({ pre, next }) => !isEqual(pre, next))).subscribe(({ next }) => {
107
+ this.#written = next;
108
+ this.feature.form.get(['graphql', 'variablesJson']).setValue(JSON.stringify(next, null, 2));
78
109
  });
79
110
  }
80
111
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryGraphqlVariablesFormFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -171,7 +202,7 @@ class QueryFeature {
171
202
  destroyRef = inject(DestroyRef);
172
203
  result$ = this.refresh$.pipe(takeUntilDestroyed(), switchMap(() => this.query$.pipe(filter((query) => {
173
204
  const resolver = this.resolvers.find(r => r.canResolve(query));
174
- return resolver ? true : QueryHelper$1.validate(query);
205
+ return resolver ? true : QueryHelper.validate(query);
175
206
  }), shareReplay(1), take(1))), switchMap((query) => {
176
207
  const resolver = this.resolvers.find(r => r.canResolve(query));
177
208
  if (resolver?.requiresAuth === false) {
@@ -207,7 +238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
207
238
  class QueryGraphqlSchemaFeature {
208
239
  feature = inject(QueryFeature);
209
240
  service = inject(QueryService);
210
- graphqlSchema$ = this.feature.query$.pipe(debounceTime(300), filter(query => QueryHelper$1.isExecutableGetSchemaGraphql(query)), switchMap((query) => this.service.getSchema(query).pipe(catchError(error => (console.error('[QueryFeature] error', error), NEVER)))), distinctUntilChanged((a, b) => isEqual(a, b)));
241
+ graphqlSchema$ = this.feature.query$.pipe(debounceTime(300), filter(query => QueryHelper.isExecutableGetSchemaGraphql(query)), switchMap((query) => this.service.getSchema(query).pipe(catchError(error => (console.error('[QueryFeature] error', error), NEVER)))), distinctUntilChanged((a, b) => isEqual(a, b)));
211
242
  graphqlSchema = toSignal(this.graphqlSchema$);
212
243
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryGraphqlSchemaFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
213
244
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: QueryGraphqlSchemaFeature });
@@ -12,7 +12,7 @@ class WeeklyHeaderMolecule {
12
12
  <span>{{ day }}</span>
13
13
  </div>
14
14
  }
15
- `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-g73VfLZl: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-g73VfLZl: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-g73VfLZl)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] });
15
+ `, isInline: true, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-ZNSVjkYt: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-ZNSVjkYt: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-ZNSVjkYt)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] });
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: WeeklyHeaderMolecule, decorators: [{
18
18
  type: Component,
@@ -22,7 +22,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
22
22
  <span>{{ day }}</span>
23
23
  </div>
24
24
  }
25
- `, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-g73VfLZl: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-g73VfLZl: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-g73VfLZl)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] }]
25
+ `, styles: [":host{display:block;--primary-color: #404040;--primary-color-SCOPED-IN-ZNSVjkYt: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-ZNSVjkYt: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-ZNSVjkYt)}:host .day-container{display:flex;justify-content:center;align-items:center;color:#fff;font-weight:700;width:calc(hvar(--width) / 7)}\n"] }]
26
26
  }], ctorParameters: () => [] });
27
27
 
28
28
  /**
@@ -56,7 +56,7 @@ class CalendarSectionOrganism {
56
56
  }
57
57
  }
58
58
  </div>
59
- `, isInline: true, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-pGjsyLPk: var(--row);--row-num: 0;--row-num-SCOPED-IN-pGjsyLPk: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-pGjsyLPk: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-pGjsyLPk: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-pGjsyLPk: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-pGjsyLPk);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-pGjsyLPk),var(--row-SCOPED-IN-pGjsyLPk));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-pGjsyLPk)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-pGjsyLPk);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"], dependencies: [{ kind: "component", type: DailyCellMolecule, selector: "molecules-daily-cell", inputs: ["date", "schedules", "displayDate", "noSchedulesText", "toolTipText", "marked", "markingColor"] }, { kind: "component", type: WeeklyHeaderMolecule, selector: "molecules-weekly-header" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ `, isInline: true, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-EuZVgK8q: var(--row);--row-num: 0;--row-num-SCOPED-IN-EuZVgK8q: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-EuZVgK8q: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-EuZVgK8q: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-EuZVgK8q: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-EuZVgK8q);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-EuZVgK8q),var(--row-SCOPED-IN-EuZVgK8q));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-EuZVgK8q)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-EuZVgK8q);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"], dependencies: [{ kind: "component", type: DailyCellMolecule, selector: "molecules-daily-cell", inputs: ["date", "schedules", "displayDate", "noSchedulesText", "toolTipText", "marked", "markingColor"] }, { kind: "component", type: WeeklyHeaderMolecule, selector: "molecules-weekly-header" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
60
  }
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CalendarSectionOrganism, decorators: [{
62
62
  type: Component,
@@ -90,7 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
90
90
  }
91
91
  }
92
92
  </div>
93
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-pGjsyLPk: var(--row);--row-num: 0;--row-num-SCOPED-IN-pGjsyLPk: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-pGjsyLPk: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-pGjsyLPk: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-pGjsyLPk: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-pGjsyLPk);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-pGjsyLPk),var(--row-SCOPED-IN-pGjsyLPk));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-pGjsyLPk)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-pGjsyLPk);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"] }]
93
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;--row: 80px;--row-SCOPED-IN-EuZVgK8q: var(--row);--row-num: 0;--row-num-SCOPED-IN-EuZVgK8q: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-EuZVgK8q: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-EuZVgK8q: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-EuZVgK8q: var(--secondary-color)}:host{width:100%;height:auto}:host .calendar.header molecules-weekly-header{--height: 32px}:host .calendar.contents{display:grid;width:var(--width);border:1px solid var(--border-color-SCOPED-IN-EuZVgK8q);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-EuZVgK8q),var(--row-SCOPED-IN-EuZVgK8q));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-EuZVgK8q)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-EuZVgK8q);background-color:#fff}:host .calendar.description{display:flex;justify-content:flex-end;width:var(--width);height:32px;padding-right:16px}:host .calendar.description .description.container{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px}:host .calendar.description .description.container .circle{display:flex;width:20px;height:20px;justify-content:center;align-items:center;border-radius:50%;color:#fff;background:#00f}:host .calendar.description .description.container label{padding-left:4px;padding-right:8px}\n"] }]
94
94
  }], propDecorators: { label: [{
95
95
  type: Input
96
96
  }], displayDays: [{
@@ -410,7 +410,7 @@ class CommandPage extends NgAtomicComponent {
410
410
  </frames-tabs>
411
411
  </templates-form>
412
412
  </frames-router-outlet>
413
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-DYTf: var(--page-width-lv1);--primary-color-SCOPED-IN-command-DYTf: var(--primary-color);--on-primary-color-SCOPED-IN-command-DYTf: var(--on-primary-color);--background-color-SCOPED-IN-command-DYTf: var(--background-color);--on-background-color-SCOPED-IN-command-DYTf: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-DYTf)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-DYTf);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-DYTf);--background-color: var(--background-color-SCOPED-IN-command-DYTf);--on-background-color: var(--on-background-color-SCOPED-IN-command-DYTf)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }, { kind: "component", type: TabsFrame, selector: "frames-tabs", inputs: ["labels"], outputs: ["selectedTabIndexChange"] }, { kind: "component", type: CommandFormGroup, selector: "groups-command-form", inputs: ["apiJsonUrls"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }] });
413
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-ndy8: var(--page-width-lv1);--primary-color-SCOPED-IN-command-ndy8: var(--primary-color);--on-primary-color-SCOPED-IN-command-ndy8: var(--on-primary-color);--background-color-SCOPED-IN-command-ndy8: var(--background-color);--on-background-color-SCOPED-IN-command-ndy8: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-ndy8)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-ndy8);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-ndy8);--background-color: var(--background-color-SCOPED-IN-command-ndy8);--on-background-color: var(--on-background-color-SCOPED-IN-command-ndy8)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }, { kind: "component", type: TabsFrame, selector: "frames-tabs", inputs: ["labels"], outputs: ["selectedTabIndexChange"] }, { kind: "component", type: CommandFormGroup, selector: "groups-command-form", inputs: ["apiJsonUrls"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }] });
414
414
  }
415
415
  __decorate([
416
416
  Effect(FormTemplateStore.ActionId.FILE_SELECTED),
@@ -473,7 +473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
473
473
  'actions',
474
474
  ]
475
475
  },
476
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-DYTf: var(--page-width-lv1);--primary-color-SCOPED-IN-command-DYTf: var(--primary-color);--on-primary-color-SCOPED-IN-command-DYTf: var(--on-primary-color);--background-color-SCOPED-IN-command-DYTf: var(--background-color);--on-background-color-SCOPED-IN-command-DYTf: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-DYTf)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-DYTf);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-DYTf);--background-color: var(--background-color-SCOPED-IN-command-DYTf);--on-background-color: var(--on-background-color-SCOPED-IN-command-DYTf)}\n"] }]
476
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-ndy8: var(--page-width-lv1);--primary-color-SCOPED-IN-command-ndy8: var(--primary-color);--on-primary-color-SCOPED-IN-command-ndy8: var(--on-primary-color);--background-color-SCOPED-IN-command-ndy8: var(--background-color);--on-background-color-SCOPED-IN-command-ndy8: var(--on-background-color)}:host templates-form{padding-left:0;box-sizing:border-box;transition:padding-left .3s}:host .template{--first-content-height: 0px;width:var(--page-width-lv1-SCOPED-IN-command-ndy8)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-ndy8);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-ndy8);--background-color: var(--background-color-SCOPED-IN-command-ndy8);--on-background-color: var(--on-background-color-SCOPED-IN-command-ndy8)}\n"] }]
477
477
  }], propDecorators: { onFileSelected: [] } });
478
478
 
479
479
  /**
@@ -1,4 +1,4 @@
1
- import { omitBy, merge, isEqual } from 'lodash-es';
1
+ import { omitBy, isEqual, merge } from 'lodash-es';
2
2
  import * as i0 from '@angular/core';
3
3
  import { signal, Injectable, inject, ElementRef, effect, computed, untracked, input, Directive, viewChild, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import { toObservable } from '@angular/core/rxjs-interop';
@@ -7,7 +7,7 @@ import { FormGroup, FormBuilder } from '@angular/forms';
7
7
  import { FlatTreeControl } from '@angular/cdk/tree';
8
8
  import { provideEffect, applyToInput, createAction, InjectableComponent, computeFake, _computed, TokenizedType, NgAtomicComponent, updateInput, Effect } from '@ng-atomic/core';
9
9
  import { EditingStateManager } from '@ng-atomic/common';
10
- import { injectHasNext, injectNavigationExtras, injectRouteData, injectUnflattenRouteParam, getValue$, getRawValue$, injectRouteSkip } from '@ng-atomic/common/utils';
10
+ import { injectHasNext, injectNavigationExtras, injectRouteData, getValue$, injectUnflattenRouteParam, getRawValue$, injectRouteSkip } from '@ng-atomic/common/utils';
11
11
  import { makeDI, injectNavStartActionsV2 } from '@ng-atomic/common/services/ui';
12
12
  import { makeInitializerConfig } from '@ng-atomic/common/services/initializer';
13
13
  import { injectOne } from '@ng-atomic/common/stores/entities';
@@ -22,9 +22,12 @@ import { flatten } from 'flat';
22
22
  import { ValueCellAtomStore } from '@ng-atomic/components/atoms/value-cell';
23
23
  import { IndexTemplateStore, IndexTemplate } from '@ng-atomic/components/templates/_index';
24
24
  import { MachinaDevService } from '@xxmachina/components/services/debug';
25
+ import { of, filter, take, switchMap, map, catchError, startWith } from 'rxjs';
26
+ import { AuthService } from '@xxmachina/common/auth';
27
+ import { QueryService } from '@xxmachina/components/services/query';
28
+ import { parse, print } from 'graphql';
25
29
  import { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';
26
30
  import { NgAtomicFormSectionBuilder } from '@ng-atomic/components/templates/form';
27
- import { QueryService } from '@xxmachina/components/services/query';
28
31
  import { QueryFormGroup } from '@xxmachina/components/groups/query-form';
29
32
 
30
33
  var ActionId;
@@ -340,6 +343,105 @@ function provideNavEndActionsInitializers(storeToken) {
340
343
  ];
341
344
  }
342
345
 
346
+ const IDENTITY_TRANSFORMER = 'const transformer = (data) => data;';
347
+ function operationOf(gql) {
348
+ try {
349
+ const def = parse(gql).definitions.find((d) => d.kind === 'OperationDefinition');
350
+ return def ?? null;
351
+ }
352
+ catch {
353
+ return null;
354
+ }
355
+ }
356
+ function declaresPagingVariables(gql) {
357
+ const names = (operationOf(gql)?.variableDefinitions ?? []).map((v) => v.variable.name.value);
358
+ return names.includes('offset') && names.includes('limit');
359
+ }
360
+ function applyPage(variables, page) {
361
+ return { ...variables, offset: page.index * page.size, limit: page.size };
362
+ }
363
+ function buildCountQuery(query) {
364
+ const op = operationOf(query?.graphql?.query ?? '');
365
+ if (!op)
366
+ return null;
367
+ const fields = op.selectionSet.selections.filter((s) => s.kind === 'Field' && s.name.value !== '__typename');
368
+ if (fields.length !== 1)
369
+ return null;
370
+ const root = fields[0].name.value;
371
+ const whereArg = fields[0].arguments?.find((a) => a.name.value === 'where' && a.value.kind === 'Variable');
372
+ const whereVar = whereArg?.value.kind === 'Variable' ? whereArg.value.name.value : null;
373
+ const whereDef = op.variableDefinitions?.find((v) => v.variable.name.value === whereVar);
374
+ const source = (query.graphql?.variables ?? {});
375
+ const gql = whereDef
376
+ ? `${op.operation} Count($where: ${print(whereDef.type)}) { ${root}_aggregate(where: $where) { aggregate { count } } }`
377
+ : `${op.operation} Count { ${root}_aggregate { aggregate { count } } }`;
378
+ const variables = whereDef && source[whereVar] !== undefined ? { where: source[whereVar] } : {};
379
+ return {
380
+ ...query,
381
+ graphql: {
382
+ ...query.graphql,
383
+ query: gql,
384
+ variables,
385
+ variablesJson: JSON.stringify(variables),
386
+ transformerTs: IDENTITY_TRANSFORMER,
387
+ },
388
+ };
389
+ }
390
+ function readCount(result) {
391
+ const key = Object.keys(result ?? {}).find((k) => k.endsWith('_aggregate'));
392
+ if (!key)
393
+ return null;
394
+ const value = result[key];
395
+ const count = (Array.isArray(value) ? value[0] : value)?.aggregate?.count;
396
+ return typeof count === 'number' ? count : null;
397
+ }
398
+ function resolveItemsLength(args) {
399
+ if (args.count !== null)
400
+ return args.count;
401
+ const hasNext = args.limit > 0 && args.fetched >= args.limit;
402
+ return args.offset + args.fetched + (hasNext ? 1 : 0);
403
+ }
404
+
405
+ const DEFAULT_PAGE = { index: 0, size: 100 };
406
+ function setupServerSidePagination(target) {
407
+ const queryService = inject(QueryService);
408
+ const auth = inject(AuthService);
409
+ const pageValue = derivedAsync(() => {
410
+ const control = target.form()?.get(['page']);
411
+ return control ? getValue$(control) : of(DEFAULT_PAGE);
412
+ }, { initialValue: DEFAULT_PAGE });
413
+ const page = computed(() => ({
414
+ index: pageValue()?.index ?? 0,
415
+ size: pageValue()?.size || DEFAULT_PAGE.size,
416
+ }), { ...(ngDevMode ? { debugName: "page" } : {}), equal: isEqual });
417
+ const gql = computed(() => target.feature.query()?.graphql?.query ?? '', ...(ngDevMode ? [{ debugName: "gql" }] : []));
418
+ const paging = computed(() => declaresPagingVariables(gql()), ...(ngDevMode ? [{ debugName: "paging" }] : []));
419
+ effect(() => {
420
+ if (!paging())
421
+ return;
422
+ const variables = (target.feature.query()?.graphql?.variables ?? {});
423
+ const next = applyPage(variables, page());
424
+ if (isEqual(next, variables))
425
+ return;
426
+ untracked(() => target.feature.form.get(['graphql', 'variablesJson']).setValue(JSON.stringify(next, null, 2)));
427
+ });
428
+ const countQuery = computed(() => (paging() ? buildCountQuery(target.feature.query()) : null), { ...(ngDevMode ? { debugName: "countQuery" } : {}), equal: isEqual });
429
+ const count = derivedAsync(() => {
430
+ const query = countQuery();
431
+ if (!query)
432
+ return of(null);
433
+ const count$ = auth.accessToken$.pipe(filter((token) => !!token), take(1), switchMap(() => queryService.subscribeQuery(query)), map((result) => readCount(result)), catchError(() => of(null)));
434
+ return count$.pipe(startWith(null));
435
+ }, { initialValue: null });
436
+ effect(() => {
437
+ if (!paging())
438
+ return;
439
+ const { index, size } = page();
440
+ const length = resolveItemsLength({ count: count() ?? null, offset: index * size, fetched: target.items().length, limit: size });
441
+ untracked(() => target.setItemsLength(length));
442
+ });
443
+ }
444
+
343
445
  var QueryPageStore_1;
344
446
  let QueryPageStore = class QueryPageStore extends InjectableComponent {
345
447
  static { QueryPageStore_1 = this; }
@@ -527,14 +629,12 @@ let QueryPageStore = class QueryPageStore extends InjectableComponent {
527
629
  applyToInput(store, 'form', form);
528
630
  });
529
631
  }),
530
- QueryPageStore_1.DI.provideInitializer((store) => {
531
- const page = derivedAsync(() => getValue$(store.form().get(['page'])), { initialValue: { index: 0, size: 100 } });
532
- const pagination = computed(() => {
533
- const _page = page() || { index: 0, size: 100 };
534
- return { offset: _page.index * _page.size, limit: _page.size };
535
- }, ...(ngDevMode ? [{ debugName: "pagination" }] : []));
536
- effect(() => store.variablesForm()?.patchValue(pagination()));
537
- }),
632
+ QueryPageStore_1.DI.provideInitializer((store) => setupServerSidePagination({
633
+ form: () => store.form(),
634
+ items: () => store.items(),
635
+ feature: store.feature,
636
+ setItemsLength: (length) => applyToInput(store, 'itemsLength', length),
637
+ })),
538
638
  ];
539
639
  }
540
640
  static provideTableCellValueChangeEffect(handlerFactory, optionsOrColumns) {
@@ -676,7 +776,7 @@ class QueryPage extends NgAtomicComponent {
676
776
  <groups-query-form dashboard (action)="dispatch($event)" />
677
777
  </templates-index>
678
778
  </frames-router-outlet>
679
- `, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Kk6k: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Kk6k: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Kk6k: var(--primary-color);--on-primary-color-SCOPED-IN-query-Kk6k: var(--on-primary-color);--surface-color-SCOPED-IN-query-Kk6k: var(--surface-color);--on-surface-color-SCOPED-IN-query-Kk6k: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Kk6k: var(--on-background-color);--background-color-SCOPED-IN-query-Kk6k: var(--background-color);--navigator-background-color-SCOPED-IN-query-Kk6k: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Kk6k: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Kk6k: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Kk6k: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Kk6k: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Kk6k);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Kk6k);--surface-color: var(--surface-color-SCOPED-IN-query-Kk6k);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Kk6k);--background-color: var(--background-color-SCOPED-IN-query-Kk6k);--on-background-color: var(--on-background-color-SCOPED-IN-query-Kk6k);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Kk6k);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Kk6k);--table-background-color: var(--table-background-color-SCOPED-IN-query-Kk6k);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Kk6k);--is-debug: var(--is-debug-SCOPED-IN-query-Kk6k)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Kk6k) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\n"], dependencies: [{ kind: "component", type: IndexTemplate, selector: "templates-index" }, { kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: NgAtomicFormSectionBuilder, selector: "ng-atomic-form-section-builder", inputs: ["form", "formFlatExcludes", "fieldMap", "fieldKeys"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
779
+ `, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-HX6n: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-HX6n: var(--page-width-lv3);--primary-color-SCOPED-IN-query-HX6n: var(--primary-color);--on-primary-color-SCOPED-IN-query-HX6n: var(--on-primary-color);--surface-color-SCOPED-IN-query-HX6n: var(--surface-color);--on-surface-color-SCOPED-IN-query-HX6n: var(--on-surface-color);--on-background-color-SCOPED-IN-query-HX6n: var(--on-background-color);--background-color-SCOPED-IN-query-HX6n: var(--background-color);--navigator-background-color-SCOPED-IN-query-HX6n: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-HX6n: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-HX6n: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-HX6n: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-HX6n: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-HX6n);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-HX6n);--surface-color: var(--surface-color-SCOPED-IN-query-HX6n);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-HX6n);--background-color: var(--background-color-SCOPED-IN-query-HX6n);--on-background-color: var(--on-background-color-SCOPED-IN-query-HX6n);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-HX6n);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-HX6n);--table-background-color: var(--table-background-color-SCOPED-IN-query-HX6n);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-HX6n);--is-debug: var(--is-debug-SCOPED-IN-query-HX6n)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-HX6n) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\n"], dependencies: [{ kind: "component", type: IndexTemplate, selector: "templates-index" }, { kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: NgAtomicFormSectionBuilder, selector: "ng-atomic-form-section-builder", inputs: ["form", "formFlatExcludes", "fieldMap", "fieldKeys"] }, { kind: "component", type: QueryFormGroup, selector: "groups-query-form", inputs: ["form", "keyActions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
680
780
  }
681
781
  __decorate([
682
782
  Effect(IndexTemplateStore.ActionId.BACK),
@@ -757,7 +857,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
757
857
  'pageSizeOptions'
758
858
  ]
759
859
  },
760
- ], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Kk6k: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Kk6k: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Kk6k: var(--primary-color);--on-primary-color-SCOPED-IN-query-Kk6k: var(--on-primary-color);--surface-color-SCOPED-IN-query-Kk6k: var(--surface-color);--on-surface-color-SCOPED-IN-query-Kk6k: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Kk6k: var(--on-background-color);--background-color-SCOPED-IN-query-Kk6k: var(--background-color);--navigator-background-color-SCOPED-IN-query-Kk6k: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Kk6k: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Kk6k: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Kk6k: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Kk6k: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Kk6k);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Kk6k);--surface-color: var(--surface-color-SCOPED-IN-query-Kk6k);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Kk6k);--background-color: var(--background-color-SCOPED-IN-query-Kk6k);--on-background-color: var(--on-background-color-SCOPED-IN-query-Kk6k);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Kk6k);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Kk6k);--table-background-color: var(--table-background-color-SCOPED-IN-query-Kk6k);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Kk6k);--is-debug: var(--is-debug-SCOPED-IN-query-Kk6k)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Kk6k) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\n"] }]
860
+ ], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-HX6n: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-HX6n: var(--page-width-lv3);--primary-color-SCOPED-IN-query-HX6n: var(--primary-color);--on-primary-color-SCOPED-IN-query-HX6n: var(--on-primary-color);--surface-color-SCOPED-IN-query-HX6n: var(--surface-color);--on-surface-color-SCOPED-IN-query-HX6n: var(--on-surface-color);--on-background-color-SCOPED-IN-query-HX6n: var(--on-background-color);--background-color-SCOPED-IN-query-HX6n: var(--background-color);--navigator-background-color-SCOPED-IN-query-HX6n: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-HX6n: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-HX6n: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-HX6n: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-HX6n: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-HX6n);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-HX6n);--surface-color: var(--surface-color-SCOPED-IN-query-HX6n);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-HX6n);--background-color: var(--background-color-SCOPED-IN-query-HX6n);--on-background-color: var(--on-background-color-SCOPED-IN-query-HX6n);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-HX6n);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-HX6n);--table-background-color: var(--table-background-color-SCOPED-IN-query-HX6n);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-HX6n);--is-debug: var(--is-debug-SCOPED-IN-query-HX6n)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-HX6n) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\n"] }]
761
861
  }], ctorParameters: () => [], propDecorators: { template: [{ type: i0.ViewChild, args: [i0.forwardRef(() => IndexTemplate), { isSignal: true }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], back: [], navigateToIframe: [], expandPage: [], itemClick: [] } });
762
862
 
763
863
  /**
@@ -104,7 +104,7 @@ class ThreadPage extends NgAtomicComponent {
104
104
  (action)="dispatch($event)"
105
105
  />
106
106
  </frames-router-outlet>
107
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-AP31: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-AP31: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-AP31: var(--primary-color);--on-primary-color-SCOPED-IN-thread-AP31: var(--on-primary-color);--surface-color-SCOPED-IN-thread-AP31: var(--surface-color);--on-surface-color-SCOPED-IN-thread-AP31: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-AP31: var(--on-background-color);--background-color-SCOPED-IN-thread-AP31: var(--background-color);--navigator-background-color-SCOPED-IN-thread-AP31: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-AP31: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-AP31: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-AP31: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-AP31)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: ThreadTemplate, selector: "templates-messages" }] });
107
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-IHdj: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-IHdj: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-IHdj: var(--primary-color);--on-primary-color-SCOPED-IN-thread-IHdj: var(--on-primary-color);--surface-color-SCOPED-IN-thread-IHdj: var(--surface-color);--on-surface-color-SCOPED-IN-thread-IHdj: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-IHdj: var(--on-background-color);--background-color-SCOPED-IN-thread-IHdj: var(--background-color);--navigator-background-color-SCOPED-IN-thread-IHdj: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-IHdj: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-IHdj: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-IHdj: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-IHdj)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: ThreadTemplate, selector: "templates-messages" }] });
108
108
  }
109
109
  __decorate([
110
110
  Effect(ActionId.SEND_MESSAGE),
@@ -137,7 +137,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
137
137
  'messages',
138
138
  ]
139
139
  },
140
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-AP31: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-AP31: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-AP31: var(--primary-color);--on-primary-color-SCOPED-IN-thread-AP31: var(--on-primary-color);--surface-color-SCOPED-IN-thread-AP31: var(--surface-color);--on-surface-color-SCOPED-IN-thread-AP31: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-AP31: var(--on-background-color);--background-color-SCOPED-IN-thread-AP31: var(--background-color);--navigator-background-color-SCOPED-IN-thread-AP31: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-AP31: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-AP31: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-AP31: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-AP31)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"] }]
140
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-IHdj: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-IHdj: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-IHdj: var(--primary-color);--on-primary-color-SCOPED-IN-thread-IHdj: var(--on-primary-color);--surface-color-SCOPED-IN-thread-IHdj: var(--surface-color);--on-surface-color-SCOPED-IN-thread-IHdj: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-IHdj: var(--on-background-color);--background-color-SCOPED-IN-thread-IHdj: var(--background-color);--navigator-background-color-SCOPED-IN-thread-IHdj: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-IHdj: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-IHdj: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-IHdj: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-IHdj)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"] }]
141
141
  }], propDecorators: { onCompositionStart: [{
142
142
  type: HostListener,
143
143
  args: ['compositionstart', ['$event']]
@@ -420,7 +420,7 @@ class AgentTemplate extends NgAtomicComponent {
420
420
  </div>
421
421
  }
422
422
  </frames-scroll>
423
- `, isInline: true, styles: [":host{--text: #e0e0e0;--text-SCOPED-IN-entrance-nHU0: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-nHU0: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-nHU0: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-nHU0: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-nHU0: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{--height: 100%;--contents-gap: 0;width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-nHU0);border-radius:8px;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;min-height:56px;flex-shrink:0;padding:0;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-nHU0);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-nHU0);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-nHU0);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-nHU0);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-nHU0);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-nHU0);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input{caret-shape:block}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;height:100dvh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0;padding-top:env(safe-area-inset-top)}.terminal-window{height:100%;max-height:100vh;max-height:100dvh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-nHU0);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-nHU0)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-nHU0),0 0 20px var(--accent-SCOPED-IN-entrance-nHU0);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ScrollFrame, selector: "frames-scroll" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "component", type: XtermOrganism, selector: "organisms-xterm", outputs: ["terminalReady", "githubLinkClick"] }, { kind: "directive", type: NavigatorOrganismStore, selector: "organisms-navigator", inputs: ["startActions", "endActions", "title"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
423
+ `, isInline: true, styles: [":host{--text: #e0e0e0;--text-SCOPED-IN-entrance-okpR: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-okpR: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-okpR: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-okpR: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-okpR: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{--height: 100%;--contents-gap: 0;width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-okpR);border-radius:8px;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;min-height:56px;flex-shrink:0;padding:0;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-okpR);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-okpR);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-okpR);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-okpR);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-okpR);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-okpR);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input{caret-shape:block}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;height:100dvh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0;padding-top:env(safe-area-inset-top)}.terminal-window{height:100%;max-height:100vh;max-height:100dvh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-okpR);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-okpR)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-okpR),0 0 20px var(--accent-SCOPED-IN-entrance-okpR);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ScrollFrame, selector: "frames-scroll" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "component", type: XtermOrganism, selector: "organisms-xterm", outputs: ["terminalReady", "githubLinkClick"] }, { kind: "directive", type: NavigatorOrganismStore, selector: "organisms-navigator", inputs: ["startActions", "endActions", "title"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
424
424
  }
425
425
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AgentTemplate, decorators: [{
426
426
  type: Component,
@@ -505,7 +505,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
505
505
  'fieldMap',
506
506
  ],
507
507
  },
508
- ], styles: [":host{--text: #e0e0e0;--text-SCOPED-IN-entrance-nHU0: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-nHU0: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-nHU0: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-nHU0: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-nHU0: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{--height: 100%;--contents-gap: 0;width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-nHU0);border-radius:8px;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;min-height:56px;flex-shrink:0;padding:0;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-nHU0);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-nHU0);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-nHU0);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-nHU0);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-nHU0);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-nHU0);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input{caret-shape:block}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;height:100dvh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0;padding-top:env(safe-area-inset-top)}.terminal-window{height:100%;max-height:100vh;max-height:100dvh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-nHU0);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-nHU0)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-nHU0),0 0 20px var(--accent-SCOPED-IN-entrance-nHU0);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}\n"] }]
508
+ ], styles: [":host{--text: #e0e0e0;--text-SCOPED-IN-entrance-okpR: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-okpR: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-okpR: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-okpR: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-okpR: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{--height: 100%;--contents-gap: 0;width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-okpR);border-radius:8px;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;min-height:56px;flex-shrink:0;padding:0;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-okpR);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-okpR);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-okpR);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-okpR);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-okpR);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-okpR);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input{caret-shape:block}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;height:100dvh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0;padding-top:env(safe-area-inset-top)}.terminal-window{height:100%;max-height:100vh;max-height:100dvh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-okpR);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-okpR)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-okpR),0 0 20px var(--accent-SCOPED-IN-entrance-okpR);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}\n"] }]
509
509
  }], propDecorators: { endActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "endActions", required: false }] }], hideInputArea: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideInputArea", required: false }] }], xtermComponent: [{ type: i0.ViewChild, args: ['xtermComponent', { isSignal: true }] }], inputField: [{ type: i0.ViewChild, args: ['inputField', { isSignal: true }] }], onWindowResize: [{
510
510
  type: HostListener,
511
511
  args: ['window:resize']
@@ -38,7 +38,7 @@ class MachinaIconButtonMenuTemplate extends NgAtomicComponent {
38
38
  </button>
39
39
  }
40
40
  </div>
41
- `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-y8w7: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-y8w7: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-y8w7: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-y8w7: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-y8w7: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-y8w7: var(--mat-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-y8w7);color:var(--on-background-color-SCOPED-IN-icon-button-menu-y8w7)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-y8w7);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: UserAvatarMenuMolecule, selector: "molecules-user-avatar-menu", inputs: ["signOutAction"], outputs: ["workspaceSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ `, isInline: true, styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-5ZGb: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-5ZGb: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-5ZGb: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-5ZGb: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-5ZGb: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-5ZGb: var(--mat-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-5ZGb);color:var(--on-background-color-SCOPED-IN-icon-button-menu-5ZGb)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-5ZGb);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: UserAvatarMenuMolecule, selector: "molecules-user-avatar-menu", inputs: ["signOutAction"], outputs: ["workspaceSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: MachinaIconButtonMenuTemplate, decorators: [{
44
44
  type: Component,
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
67
67
  directive: IconButtonMenuTemplateStore,
68
68
  inputs: ['actions', 'bottomActions', 'topPadding'],
69
69
  },
70
- ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-y8w7: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-y8w7: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-y8w7: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-y8w7: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-y8w7: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-y8w7: var(--mat-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-y8w7);color:var(--on-background-color-SCOPED-IN-icon-button-menu-y8w7)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-y8w7);cursor:pointer}\n"] }]
70
+ ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-5ZGb: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-5ZGb: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-5ZGb: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-5ZGb: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-5ZGb: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-5ZGb: var(--mat-icon-button-icon-color)}:host{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;background-color:var(--background-color-SCOPED-IN-icon-button-menu-5ZGb);color:var(--on-background-color-SCOPED-IN-icon-button-menu-5ZGb)}:host .top,:host .bottom{display:flex;flex-direction:column;justify-content:center;align-items:center}:host button{--mat-icon-color: var(--on-primary-color-SCOPED-IN-icon-button-menu-5ZGb);cursor:pointer}\n"] }]
71
71
  }] });
72
72
 
73
73
  /**
@@ -41,7 +41,7 @@ class MachinaMenuTemplate extends NgAtomicComponent {
41
41
  }
42
42
  <organisms-menu-footer injectable/>
43
43
  </div>
44
- `, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-0naM: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-0naM: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-0naM: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-0naM: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-0naM: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-0naM: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-0naM: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-0naM: var(--width);--height: 100%;--height-SCOPED-IN-menu-0naM: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-0naM);height:var(--height-SCOPED-IN-menu-0naM);color:var(--on-background-color-SCOPED-IN-menu-0naM);background-color:var(--background-color-SCOPED-IN-menu-0naM)}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-0naM);--background-color: var(--background-color-SCOPED-IN-menu-0naM);--surface-color: var(--surface-color-SCOPED-IN-menu-0naM);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-0naM);--on-background-color: var(--on-background-color-SCOPED-IN-menu-0naM);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-0naM)}:host .bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px}:host .bottom organisms-navigation-list{flex-basis:100%;order:-1}:host .bottom organisms-menu-footer{flex:1}\n"], dependencies: [{ kind: "directive", type: MenuHeaderOrganismStore, selector: "organisms-menu-header", inputs: ["title"] }, { kind: "directive", type: NavigationListOrganismStore, selector: "organisms-navigation-list", inputs: ["actions", "type"] }, { kind: "directive", type: MenuFooterOrganismStore, selector: "organisms-menu-footer" }, { kind: "component", type: UserAvatarMenuMolecule, selector: "molecules-user-avatar-menu", inputs: ["signOutAction"], outputs: ["workspaceSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
+ `, isInline: true, styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-7Rzb: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-7Rzb: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-7Rzb: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-7Rzb: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-7Rzb: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-7Rzb: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-7Rzb: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-7Rzb: var(--width);--height: 100%;--height-SCOPED-IN-menu-7Rzb: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-7Rzb);height:var(--height-SCOPED-IN-menu-7Rzb);color:var(--on-background-color-SCOPED-IN-menu-7Rzb);background-color:var(--background-color-SCOPED-IN-menu-7Rzb)}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-7Rzb);--background-color: var(--background-color-SCOPED-IN-menu-7Rzb);--surface-color: var(--surface-color-SCOPED-IN-menu-7Rzb);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-7Rzb);--on-background-color: var(--on-background-color-SCOPED-IN-menu-7Rzb);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-7Rzb)}:host .bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px}:host .bottom organisms-navigation-list{flex-basis:100%;order:-1}:host .bottom organisms-menu-footer{flex:1}\n"], dependencies: [{ kind: "directive", type: MenuHeaderOrganismStore, selector: "organisms-menu-header", inputs: ["title"] }, { kind: "directive", type: NavigationListOrganismStore, selector: "organisms-navigation-list", inputs: ["actions", "type"] }, { kind: "directive", type: MenuFooterOrganismStore, selector: "organisms-menu-footer" }, { kind: "component", type: UserAvatarMenuMolecule, selector: "molecules-user-avatar-menu", inputs: ["signOutAction"], outputs: ["workspaceSwitch"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
45
  }
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: MachinaMenuTemplate, decorators: [{
47
47
  type: Component,
@@ -79,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
79
79
  directive: MenuTemplateStore,
80
80
  inputs: ['actions', 'bottomActions', 'title'],
81
81
  },
82
- ], styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-0naM: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-0naM: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-0naM: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-0naM: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-0naM: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-0naM: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-0naM: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-0naM: var(--width);--height: 100%;--height-SCOPED-IN-menu-0naM: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-0naM);height:var(--height-SCOPED-IN-menu-0naM);color:var(--on-background-color-SCOPED-IN-menu-0naM);background-color:var(--background-color-SCOPED-IN-menu-0naM)}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-0naM);--background-color: var(--background-color-SCOPED-IN-menu-0naM);--surface-color: var(--surface-color-SCOPED-IN-menu-0naM);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-0naM);--on-background-color: var(--on-background-color-SCOPED-IN-menu-0naM);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-0naM)}:host .bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px}:host .bottom organisms-navigation-list{flex-basis:100%;order:-1}:host .bottom organisms-menu-footer{flex:1}\n"] }]
82
+ ], styles: [":host{--primary-color: #404040;--primary-color-SCOPED-IN-menu-7Rzb: var(--primary-color);--background-color: #f0f0f0;--background-color-SCOPED-IN-menu-7Rzb: var(--background-color);--secondary-color: #f0f0f0;--secondary-color-SCOPED-IN-menu-7Rzb: var(--secondary-color);--surface-color: #f0f0f0;--surface-color-SCOPED-IN-menu-7Rzb: var(--surface-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-menu-7Rzb: var(--on-primary-color);--on-background-color: #404040;--on-background-color-SCOPED-IN-menu-7Rzb: var(--on-background-color);--on-surface-color: #404040;--on-surface-color-SCOPED-IN-menu-7Rzb: var(--on-surface-color);--width: 100%;--width-SCOPED-IN-menu-7Rzb: var(--width);--height: 100%;--height-SCOPED-IN-menu-7Rzb: var(--height)}:host{display:flex;flex-direction:column;justify-content:space-between;width:var(--width-SCOPED-IN-menu-7Rzb);height:var(--height-SCOPED-IN-menu-7Rzb);color:var(--on-background-color-SCOPED-IN-menu-7Rzb);background-color:var(--background-color-SCOPED-IN-menu-7Rzb)}:host *{--primary-color: var(--primary-color-SCOPED-IN-menu-7Rzb);--background-color: var(--background-color-SCOPED-IN-menu-7Rzb);--surface-color: var(--surface-color-SCOPED-IN-menu-7Rzb);--on-primary-color: var(--on-primary-color-SCOPED-IN-menu-7Rzb);--on-background-color: var(--on-background-color-SCOPED-IN-menu-7Rzb);--on-surface-color: var(--on-surface-color-SCOPED-IN-menu-7Rzb)}:host .bottom{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-left:4px}:host .bottom organisms-navigation-list{flex-basis:100%;order:-1}:host .bottom organisms-menu-footer{flex:1}\n"] }]
83
83
  }] });
84
84
 
85
85
  /**
@@ -250,7 +250,7 @@ class SessionNavigatorOrganism extends NgAtomicComponent {
250
250
  }
251
251
  </div>
252
252
  </mat-toolbar>
253
- `, isInline: true, styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-UuO1: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-UuO1: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-UuO1: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-UuO1: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-UuO1: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-UuO1: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-UuO1: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-UuO1: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-UuO1: var(--on-background-color);--navigator-height: 56px;--navigator-height-SCOPED-IN-session-navigator-UuO1: var(--navigator-height)}:host{display:block;width:100%;height:var(--navigator-height-SCOPED-IN-session-navigator-UuO1)}:host mat-toolbar{display:flex;width:100%;height:100%;padding:0!important;justify-content:space-between;align-items:center;overflow:hidden;transition:background .5s ease-in-out;background-color:var(--primary-color-SCOPED-IN-session-navigator-UuO1);color:var(--on-primary-color-SCOPED-IN-session-navigator-UuO1);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-UuO1)!important;font-family:SF Mono,Monaco,monospace!important;font-size:12px!important;--mat-toolbar-title-text-size: 12px !important;--mat-sys-title-large-size: 12px !important}:host mat-toolbar>div:first-child,:host mat-toolbar>div:last-child{flex:0 0 auto}:host mat-toolbar>div:nth-child(2){flex:1 1 auto;display:flex;justify-content:flex-start;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host mat-toolbar *:not(.mat-icon){font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar span,:host mat-toolbar div,:host mat-toolbar h1,:host mat-toolbar h2,:host mat-toolbar h3,:host mat-toolbar h4,:host mat-toolbar h5,:host mat-toolbar h6{font-size:12px!important;font-family:SF Mono,Monaco,monospace!important;color:var(--text-SCOPED-IN-session-navigator-UuO1)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-UuO1)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-UuO1)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-UuO1)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-UuO1)!important;opacity:1}:host mat-toolbar .mat-icon-button .mat-icon{font-family:Material Icons!important;font-size:24px!important}:host div{display:flex;justify-content:center;align-items:center;line-height:1}:host atoms-menu-button{display:flex;align-items:center;line-height:1}@media(prefers-color-scheme:light){:host{--text: #333;--text-SCOPED-IN-session-navigator-UuO1: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-UuO1: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-UuO1: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: MenuButtonAtomStore, selector: "atoms-menu-button, atoms-smart-menu-button", inputs: ["actions", "type", "action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
253
+ `, isInline: true, styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-oOGi: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-oOGi: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-oOGi: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-oOGi: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-oOGi: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-oOGi: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-oOGi: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-oOGi: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-oOGi: var(--on-background-color);--navigator-height: 56px;--navigator-height-SCOPED-IN-session-navigator-oOGi: var(--navigator-height)}:host{display:block;width:100%;height:var(--navigator-height-SCOPED-IN-session-navigator-oOGi)}:host mat-toolbar{display:flex;width:100%;height:100%;padding:0!important;justify-content:space-between;align-items:center;overflow:hidden;transition:background .5s ease-in-out;background-color:var(--primary-color-SCOPED-IN-session-navigator-oOGi);color:var(--on-primary-color-SCOPED-IN-session-navigator-oOGi);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-oOGi)!important;font-family:SF Mono,Monaco,monospace!important;font-size:12px!important;--mat-toolbar-title-text-size: 12px !important;--mat-sys-title-large-size: 12px !important}:host mat-toolbar>div:first-child,:host mat-toolbar>div:last-child{flex:0 0 auto}:host mat-toolbar>div:nth-child(2){flex:1 1 auto;display:flex;justify-content:flex-start;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host mat-toolbar *:not(.mat-icon){font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar span,:host mat-toolbar div,:host mat-toolbar h1,:host mat-toolbar h2,:host mat-toolbar h3,:host mat-toolbar h4,:host mat-toolbar h5,:host mat-toolbar h6{font-size:12px!important;font-family:SF Mono,Monaco,monospace!important;color:var(--text-SCOPED-IN-session-navigator-oOGi)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-oOGi)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-oOGi)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-oOGi)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-oOGi)!important;opacity:1}:host mat-toolbar .mat-icon-button .mat-icon{font-family:Material Icons!important;font-size:24px!important}:host div{display:flex;justify-content:center;align-items:center;line-height:1}:host atoms-menu-button{display:flex;align-items:center;line-height:1}@media(prefers-color-scheme:light){:host{--text: #333;--text-SCOPED-IN-session-navigator-oOGi: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-oOGi: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-oOGi: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i1$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: MenuButtonAtomStore, selector: "atoms-menu-button, atoms-smart-menu-button", inputs: ["actions", "type", "action"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
254
254
  }
255
255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: SessionNavigatorOrganism, decorators: [{
256
256
  type: Component,
@@ -284,7 +284,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
284
284
  directive: SessionNavigatorOrganismStore,
285
285
  inputs: ['startActions', 'endActions', 'title'],
286
286
  }
287
- ], styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-UuO1: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-UuO1: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-UuO1: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-UuO1: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-UuO1: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-UuO1: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-UuO1: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-UuO1: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-UuO1: var(--on-background-color);--navigator-height: 56px;--navigator-height-SCOPED-IN-session-navigator-UuO1: var(--navigator-height)}:host{display:block;width:100%;height:var(--navigator-height-SCOPED-IN-session-navigator-UuO1)}:host mat-toolbar{display:flex;width:100%;height:100%;padding:0!important;justify-content:space-between;align-items:center;overflow:hidden;transition:background .5s ease-in-out;background-color:var(--primary-color-SCOPED-IN-session-navigator-UuO1);color:var(--on-primary-color-SCOPED-IN-session-navigator-UuO1);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-UuO1)!important;font-family:SF Mono,Monaco,monospace!important;font-size:12px!important;--mat-toolbar-title-text-size: 12px !important;--mat-sys-title-large-size: 12px !important}:host mat-toolbar>div:first-child,:host mat-toolbar>div:last-child{flex:0 0 auto}:host mat-toolbar>div:nth-child(2){flex:1 1 auto;display:flex;justify-content:flex-start;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host mat-toolbar *:not(.mat-icon){font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar span,:host mat-toolbar div,:host mat-toolbar h1,:host mat-toolbar h2,:host mat-toolbar h3,:host mat-toolbar h4,:host mat-toolbar h5,:host mat-toolbar h6{font-size:12px!important;font-family:SF Mono,Monaco,monospace!important;color:var(--text-SCOPED-IN-session-navigator-UuO1)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-UuO1)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-UuO1)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-UuO1)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-UuO1)!important;opacity:1}:host mat-toolbar .mat-icon-button .mat-icon{font-family:Material Icons!important;font-size:24px!important}:host div{display:flex;justify-content:center;align-items:center;line-height:1}:host atoms-menu-button{display:flex;align-items:center;line-height:1}@media(prefers-color-scheme:light){:host{--text: #333;--text-SCOPED-IN-session-navigator-UuO1: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-UuO1: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-UuO1: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"] }]
287
+ ], styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-oOGi: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-oOGi: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-oOGi: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-oOGi: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-oOGi: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-oOGi: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-oOGi: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-oOGi: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-oOGi: var(--on-background-color);--navigator-height: 56px;--navigator-height-SCOPED-IN-session-navigator-oOGi: var(--navigator-height)}:host{display:block;width:100%;height:var(--navigator-height-SCOPED-IN-session-navigator-oOGi)}:host mat-toolbar{display:flex;width:100%;height:100%;padding:0!important;justify-content:space-between;align-items:center;overflow:hidden;transition:background .5s ease-in-out;background-color:var(--primary-color-SCOPED-IN-session-navigator-oOGi);color:var(--on-primary-color-SCOPED-IN-session-navigator-oOGi);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-oOGi)!important;font-family:SF Mono,Monaco,monospace!important;font-size:12px!important;--mat-toolbar-title-text-size: 12px !important;--mat-sys-title-large-size: 12px !important}:host mat-toolbar>div:first-child,:host mat-toolbar>div:last-child{flex:0 0 auto}:host mat-toolbar>div:nth-child(2){flex:1 1 auto;display:flex;justify-content:flex-start;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host mat-toolbar *:not(.mat-icon){font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar span,:host mat-toolbar div,:host mat-toolbar h1,:host mat-toolbar h2,:host mat-toolbar h3,:host mat-toolbar h4,:host mat-toolbar h5,:host mat-toolbar h6{font-size:12px!important;font-family:SF Mono,Monaco,monospace!important;color:var(--text-SCOPED-IN-session-navigator-oOGi)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-oOGi)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-oOGi)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-oOGi)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-oOGi)!important;opacity:1}:host mat-toolbar .mat-icon-button .mat-icon{font-family:Material Icons!important;font-size:24px!important}:host div{display:flex;justify-content:center;align-items:center;line-height:1}:host atoms-menu-button{display:flex;align-items:center;line-height:1}@media(prefers-color-scheme:light){:host{--text: #333;--text-SCOPED-IN-session-navigator-oOGi: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-oOGi: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-oOGi: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"] }]
288
288
  }] });
289
289
 
290
290
  var InvoiceAppActionId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xxmachina/components",
3
- "version": "20.20.4",
3
+ "version": "20.21.2",
4
4
  "license": "MIT",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -115,6 +115,7 @@ declare class QueryGraphqlSchemaFeature {
115
115
  }
116
116
 
117
117
  declare class QueryGraphqlVariablesFormFeature {
118
+ #private;
118
119
  protected readonly feature: QueryFeature;
119
120
  protected readonly variablesFromService: VariablesFromService;
120
121
  protected readonly queryGraphqlVariables$: rxjs.Observable<any>;
@@ -122,7 +123,7 @@ declare class QueryGraphqlVariablesFormFeature {
122
123
  readonly variablesValue: i0.Signal<Record<string, any> | {}>;
123
124
  protected readonly variablesForm$: rxjs.Observable<_angular_forms.FormGroup<any>>;
124
125
  readonly variablesForm: i0.Signal<_angular_forms.FormGroup<any> | undefined>;
125
- readonly variablesFormValue$: rxjs.Observable<rxjs.Observable<any>>;
126
+ readonly variablesFormValue$: rxjs.Observable<any>;
126
127
  constructor();
127
128
  static ɵfac: i0.ɵɵFactoryDeclaration<QueryGraphqlVariablesFormFeature, never>;
128
129
  static ɵprov: i0.ɵɵInjectableDeclaration<QueryGraphqlVariablesFormFeature>;