@xxmachina/components 19.87.0 → 19.127.7

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.
@@ -0,0 +1,63 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, signal, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@angular/material/button';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import * as i2 from '@angular/material/icon';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import * as i3 from '@angular/material/menu';
8
+ import { MatMenuModule } from '@angular/material/menu';
9
+
10
+ const APP_SELECTOR_STATE = new InjectionToken('@xxmachina/components/molecules/app-selector/state');
11
+ function provideAppSelectorState(useFactory) {
12
+ return { provide: APP_SELECTOR_STATE, useFactory };
13
+ }
14
+
15
+ function buildAppUrl(target, location, version) {
16
+ if (location.hostname === 'localhost') {
17
+ return `${location.protocol}//localhost:${target.devPort}/`;
18
+ }
19
+ return `https://${target.host}/${version ? `${version}/` : ''}`;
20
+ }
21
+
22
+ class AppSelectorMolecule {
23
+ state = inject(APP_SELECTOR_STATE, { optional: true }) ?? signal(null);
24
+ onSelect(key) {
25
+ this.state()?.select(key);
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AppSelectorMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: AppSelectorMolecule, isStandalone: true, selector: "molecules-app-selector", ngImport: i0, template: `
29
+ @if (state(); as app) {
30
+ <button mat-button class="app-display" [matMenuTriggerFor]="appMenu">
31
+ {{ app.current }}
32
+ <mat-icon iconPositionEnd>arrow_drop_down</mat-icon>
33
+ </button>
34
+ <mat-menu #appMenu="matMenu">
35
+ @for (target of app.apps; track target.key) {
36
+ <button mat-menu-item (click)="onSelect(target.key)">{{ target.label }}</button>
37
+ }
38
+ </mat-menu>
39
+ }
40
+ `, isInline: true, styles: [":host{display:inline-flex;align-items:center}.app-display{color:var(--on-primary-color, inherit);text-decoration:none;padding:0 8px;min-height:36px;line-height:36px;font-size:14px;transition:background-color .2s ease-in-out}.app-display:hover{color:var(--on-primary-color, inherit);background-color:#ffffff1a}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AppSelectorMolecule, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'molecules-app-selector', standalone: true, imports: [MatButtonModule, MatIconModule, MatMenuModule], template: `
45
+ @if (state(); as app) {
46
+ <button mat-button class="app-display" [matMenuTriggerFor]="appMenu">
47
+ {{ app.current }}
48
+ <mat-icon iconPositionEnd>arrow_drop_down</mat-icon>
49
+ </button>
50
+ <mat-menu #appMenu="matMenu">
51
+ @for (target of app.apps; track target.key) {
52
+ <button mat-menu-item (click)="onSelect(target.key)">{{ target.label }}</button>
53
+ }
54
+ </mat-menu>
55
+ }
56
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-flex;align-items:center}.app-display{color:var(--on-primary-color, inherit);text-decoration:none;padding:0 8px;min-height:36px;line-height:36px;font-size:14px;transition:background-color .2s ease-in-out}.app-display:hover{color:var(--on-primary-color, inherit);background-color:#ffffff1a}\n"] }]
57
+ }] });
58
+
59
+ /**
60
+ * Generated bundle index. Do not edit.
61
+ */
62
+
63
+ export { APP_SELECTOR_STATE, AppSelectorMolecule, buildAppUrl, provideAppSelectorState };
@@ -0,0 +1,159 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, computed, signal, viewChild, effect, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { VersionService } from '@xxmachina/components/services/version';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
6
+ import * as i2 from '@angular/material/autocomplete';
7
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
8
+ import * as i3 from '@angular/material/button';
9
+ import { MatButtonModule } from '@angular/material/button';
10
+ import * as i4 from '@angular/material/icon';
11
+ import { MatIconModule } from '@angular/material/icon';
12
+
13
+ const VERSION_SELECTOR_STATE = new InjectionToken('@xxmachina/components/molecules/version-selector/state');
14
+ function provideVersionSelectorState(useFactory) {
15
+ return { provide: VERSION_SELECTOR_STATE, useFactory };
16
+ }
17
+
18
+ function provideVersionSelectorStateFromService() {
19
+ return {
20
+ provide: VERSION_SELECTOR_STATE,
21
+ useFactory: () => {
22
+ const version = inject(VersionService);
23
+ version.initialize();
24
+ return computed(() => {
25
+ if (!version.isCloudflareEnv())
26
+ return null;
27
+ return {
28
+ versions: version.versions(),
29
+ current: version.currentVersion() || 'develop',
30
+ select: (key) => version.switchVersion(key),
31
+ };
32
+ });
33
+ },
34
+ };
35
+ }
36
+
37
+ class VersionSelectorMolecule {
38
+ state = inject(VERSION_SELECTOR_STATE, { optional: true }) ?? signal(null);
39
+ versionControl = new FormControl('');
40
+ searchText = signal('', ...(ngDevMode ? [{ debugName: "searchText" }] : []));
41
+ isEditing = signal(false, ...(ngDevMode ? [{ debugName: "isEditing" }] : []));
42
+ versionInput = viewChild('versionInput', ...(ngDevMode ? [{ debugName: "versionInput" }] : []));
43
+ filteredVersions = computed(() => {
44
+ const search = this.searchText().toLowerCase();
45
+ const versions = this.state()?.versions ?? [];
46
+ if (!search)
47
+ return versions;
48
+ return versions.filter((v) => v.key.toLowerCase().includes(search) || v.label.toLowerCase().includes(search));
49
+ }, ...(ngDevMode ? [{ debugName: "filteredVersions" }] : []));
50
+ constructor() {
51
+ effect(() => {
52
+ const current = this.state()?.current;
53
+ if (current && this.versionControl.value !== current) {
54
+ this.versionControl.setValue(current);
55
+ }
56
+ });
57
+ this.versionControl.valueChanges.subscribe((value) => this.searchText.set(value ?? ''));
58
+ }
59
+ startEdit() {
60
+ this.versionControl.setValue(this.state()?.current ?? '');
61
+ this.isEditing.set(true);
62
+ setTimeout(() => this.versionInput()?.nativeElement.focus());
63
+ }
64
+ onBlur() {
65
+ setTimeout(() => this.isEditing.set(false), 200);
66
+ }
67
+ onEscape(event) {
68
+ event.preventDefault();
69
+ this.versionControl.setValue(this.state()?.current ?? '');
70
+ this.isEditing.set(false);
71
+ }
72
+ onVersionSelected(event) {
73
+ this.isEditing.set(false);
74
+ this.state()?.select(event.option.value);
75
+ }
76
+ onEnter() {
77
+ const value = this.versionControl.value;
78
+ if (value && this.isEditing()) {
79
+ this.isEditing.set(false);
80
+ this.state()?.select(value);
81
+ }
82
+ }
83
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VersionSelectorMolecule, deps: [], target: i0.ɵɵFactoryTarget.Component });
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: VersionSelectorMolecule, isStandalone: true, selector: "molecules-version-selector", viewQueries: [{ propertyName: "versionInput", first: true, predicate: ["versionInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
85
+ @if (state(); as version) {
86
+ @if (isEditing()) {
87
+ <div class="version-autocomplete-wrapper">
88
+ <input
89
+ type="text"
90
+ class="version-autocomplete-input"
91
+ [formControl]="versionControl"
92
+ [matAutocomplete]="versionAuto"
93
+ (blur)="onBlur()"
94
+ (keydown.escape)="onEscape($event)"
95
+ (keydown.enter)="onEnter()"
96
+ placeholder="バージョン"
97
+ #versionInput
98
+ >
99
+ <mat-autocomplete
100
+ #versionAuto="matAutocomplete"
101
+ (optionSelected)="onVersionSelected($event)"
102
+ autoActiveFirstOption
103
+ >
104
+ @for (v of filteredVersions(); track v.key) {
105
+ <mat-option [value]="v.key">{{ v.label }}</mat-option>
106
+ }
107
+ </mat-autocomplete>
108
+ </div>
109
+ } @else {
110
+ <button mat-button class="version-display" (click)="startEdit()">
111
+ {{ version.current }}
112
+ <mat-icon iconPositionEnd>arrow_drop_down</mat-icon>
113
+ </button>
114
+ }
115
+ }
116
+ `, isInline: true, styles: [":host{display:inline-flex;align-items:center}.version-display{color:var(--on-primary-color, inherit);text-decoration:none;padding:0 8px;min-height:36px;line-height:36px;font-size:14px;transition:background-color .2s ease-in-out}.version-display:hover{color:var(--on-primary-color, inherit);background-color:#ffffff1a}.version-autocomplete-wrapper{display:inline-flex;align-items:center}.version-autocomplete-wrapper .version-autocomplete-input{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.3);color:var(--on-primary-color, inherit);font-size:14px;padding:4px 8px;width:120px;outline:none;transition:border-bottom-color .2s ease-in-out}.version-autocomplete-wrapper .version-autocomplete-input:focus{border-bottom-color:var(--on-primary-color, inherit)}.version-autocomplete-wrapper .version-autocomplete-input::placeholder{color:#ffffff80}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VersionSelectorMolecule, decorators: [{
119
+ type: Component,
120
+ args: [{ selector: 'molecules-version-selector', standalone: true, imports: [ReactiveFormsModule, MatAutocompleteModule, MatButtonModule, MatIconModule], template: `
121
+ @if (state(); as version) {
122
+ @if (isEditing()) {
123
+ <div class="version-autocomplete-wrapper">
124
+ <input
125
+ type="text"
126
+ class="version-autocomplete-input"
127
+ [formControl]="versionControl"
128
+ [matAutocomplete]="versionAuto"
129
+ (blur)="onBlur()"
130
+ (keydown.escape)="onEscape($event)"
131
+ (keydown.enter)="onEnter()"
132
+ placeholder="バージョン"
133
+ #versionInput
134
+ >
135
+ <mat-autocomplete
136
+ #versionAuto="matAutocomplete"
137
+ (optionSelected)="onVersionSelected($event)"
138
+ autoActiveFirstOption
139
+ >
140
+ @for (v of filteredVersions(); track v.key) {
141
+ <mat-option [value]="v.key">{{ v.label }}</mat-option>
142
+ }
143
+ </mat-autocomplete>
144
+ </div>
145
+ } @else {
146
+ <button mat-button class="version-display" (click)="startEdit()">
147
+ {{ version.current }}
148
+ <mat-icon iconPositionEnd>arrow_drop_down</mat-icon>
149
+ </button>
150
+ }
151
+ }
152
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-flex;align-items:center}.version-display{color:var(--on-primary-color, inherit);text-decoration:none;padding:0 8px;min-height:36px;line-height:36px;font-size:14px;transition:background-color .2s ease-in-out}.version-display:hover{color:var(--on-primary-color, inherit);background-color:#ffffff1a}.version-autocomplete-wrapper{display:inline-flex;align-items:center}.version-autocomplete-wrapper .version-autocomplete-input{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.3);color:var(--on-primary-color, inherit);font-size:14px;padding:4px 8px;width:120px;outline:none;transition:border-bottom-color .2s ease-in-out}.version-autocomplete-wrapper .version-autocomplete-input:focus{border-bottom-color:var(--on-primary-color, inherit)}.version-autocomplete-wrapper .version-autocomplete-input::placeholder{color:#ffffff80}\n"] }]
153
+ }], ctorParameters: () => [], propDecorators: { versionInput: [{ type: i0.ViewChild, args: ['versionInput', { isSignal: true }] }] } });
154
+
155
+ /**
156
+ * Generated bundle index. Do not edit.
157
+ */
158
+
159
+ export { VERSION_SELECTOR_STATE, VersionSelectorMolecule, provideVersionSelectorState, provideVersionSelectorStateFromService };
@@ -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-PBwmlWBc: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-PBwmlWBc: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-PBwmlWBc)}: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-3txEDLYq: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-3txEDLYq: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-3txEDLYq)}: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-PBwmlWBc: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-PBwmlWBc: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-PBwmlWBc)}: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-3txEDLYq: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-3txEDLYq: var(--secondary-color)}:host{display:grid;width:100%;grid-template-columns:repeat(7,1fr);background-color:var(--primary-color-SCOPED-IN-3txEDLYq)}: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-JYlyRkl6: var(--row);--row-num: 0;--row-num-SCOPED-IN-JYlyRkl6: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-JYlyRkl6: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-JYlyRkl6: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-JYlyRkl6: 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-JYlyRkl6);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-JYlyRkl6),var(--row-SCOPED-IN-JYlyRkl6));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-JYlyRkl6)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-JYlyRkl6);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-00hBMaR9: var(--row);--row-num: 0;--row-num-SCOPED-IN-00hBMaR9: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-00hBMaR9: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-00hBMaR9: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-00hBMaR9: 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-00hBMaR9);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-00hBMaR9),var(--row-SCOPED-IN-00hBMaR9));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-00hBMaR9)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-00hBMaR9);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-JYlyRkl6: var(--row);--row-num: 0;--row-num-SCOPED-IN-JYlyRkl6: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-JYlyRkl6: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-JYlyRkl6: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-JYlyRkl6: 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-JYlyRkl6);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-JYlyRkl6),var(--row-SCOPED-IN-JYlyRkl6));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-JYlyRkl6)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-JYlyRkl6);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-00hBMaR9: var(--row);--row-num: 0;--row-num-SCOPED-IN-00hBMaR9: var(--row-num);--border-color: #9E9E9E;--border-color-SCOPED-IN-00hBMaR9: var(--border-color);--primary-color: #404040;--primary-color-SCOPED-IN-00hBMaR9: var(--primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-00hBMaR9: 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-00hBMaR9);grid-gap:1px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(var(--row-num-SCOPED-IN-00hBMaR9),var(--row-SCOPED-IN-00hBMaR9));box-sizing:border-box;background-color:var(--border-color-SCOPED-IN-00hBMaR9)}:host .calendar.contents molecules-daily-cell{--width: calc((var(--width) - 8px) / 7);--height: var(--row-SCOPED-IN-00hBMaR9);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: [{
@@ -678,6 +678,9 @@ class XtermOrganism extends NgAtomicComponent {
678
678
  lastDataLength = 0;
679
679
  lastProcessedLength = 0;
680
680
  terminalInitialized = signal(false, ...(ngDevMode ? [{ debugName: "terminalInitialized" }] : []));
681
+ initialized = this.terminalInitialized.asReadonly();
682
+ fitEpoch = signal(0, ...(ngDevMode ? [{ debugName: "fitEpoch" }] : []));
683
+ fitScheduled = signal(0, ...(ngDevMode ? [{ debugName: "fitScheduled" }] : []));
681
684
  initSkippedDueToSize = false;
682
685
  disposables = [];
683
686
  stableTimer = null;
@@ -845,20 +848,24 @@ class XtermOrganism extends NgAtomicComponent {
845
848
  clearTimeout(this.stableTimer);
846
849
  this.stableTimer = setTimeout(() => {
847
850
  this.stableTimer = null;
851
+ this.syncFitScheduled();
848
852
  this.fitToViewport();
849
853
  this.markInitialized(isInteractive);
850
854
  }, 150);
855
+ this.syncFitScheduled();
851
856
  }
852
857
  else {
853
858
  if (this.resizeTimer)
854
859
  clearTimeout(this.resizeTimer);
855
860
  this.resizeTimer = setTimeout(() => {
856
861
  this.resizeTimer = null;
862
+ this.syncFitScheduled();
857
863
  this.fitToViewport();
858
864
  if (isInteractive) {
859
865
  this.dispatch({ id: XtermActionId.RESIZED, payload: { cols: this.cols, rows: this.rows } });
860
866
  }
861
867
  }, 300);
868
+ this.syncFitScheduled();
862
869
  }
863
870
  }
864
871
  catch (e) {
@@ -868,15 +875,29 @@ class XtermOrganism extends NgAtomicComponent {
868
875
  this.resizeObserver.observe(containerElement);
869
876
  this.fallbackTimer = setTimeout(() => {
870
877
  this.fallbackTimer = null;
878
+ this.syncFitScheduled();
871
879
  if (!this.terminalInitialized()) {
872
880
  this.fitToViewport();
873
881
  this.markInitialized(isInteractive);
874
882
  }
875
883
  }, 500);
884
+ this.syncFitScheduled();
885
+ }
886
+ syncFitScheduled() {
887
+ this.fitScheduled.set((this.stableTimer ? 1 : 0) + (this.resizeTimer ? 1 : 0) + (this.fallbackTimer ? 1 : 0));
876
888
  }
877
889
  fitToViewport() {
878
- if (!this.terminal)
890
+ if (!this.terminal) {
879
891
  return;
892
+ }
893
+ try {
894
+ this.fitCore();
895
+ }
896
+ finally {
897
+ this.fitEpoch.update((v) => v + 1);
898
+ }
899
+ }
900
+ fitCore() {
880
901
  const viewportElement = this.container().nativeElement;
881
902
  const sharedCanvas = getCanvasCellMetric();
882
903
  const probe = measureCellMetric();
@@ -898,6 +919,10 @@ class XtermOrganism extends NgAtomicComponent {
898
919
  clearTimeout(this.resizeTimer);
899
920
  if (this.fallbackTimer)
900
921
  clearTimeout(this.fallbackTimer);
922
+ this.stableTimer = null;
923
+ this.resizeTimer = null;
924
+ this.fallbackTimer = null;
925
+ this.syncFitScheduled();
901
926
  this.resizeObserver?.disconnect();
902
927
  for (const d of this.disposables)
903
928
  d.dispose();
@@ -914,6 +939,11 @@ class XtermOrganism extends NgAtomicComponent {
914
939
  markInitialized(isInteractive) {
915
940
  if (this.terminalInitialized())
916
941
  return;
942
+ if (this.fallbackTimer) {
943
+ clearTimeout(this.fallbackTimer);
944
+ this.fallbackTimer = null;
945
+ this.syncFitScheduled();
946
+ }
917
947
  this.terminalInitialized.set(true);
918
948
  this.terminalReady.emit(this.terminal);
919
949
  if (typeof window !== 'undefined') {
@@ -422,7 +422,7 @@ class CommandPage extends NgAtomicComponent {
422
422
  </frames-tabs>
423
423
  </templates-form>
424
424
  </frames-router-outlet>
425
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-L0Sk: var(--page-width-lv1);--primary-color-SCOPED-IN-command-L0Sk: var(--primary-color);--on-primary-color-SCOPED-IN-command-L0Sk: var(--on-primary-color);--background-color-SCOPED-IN-command-L0Sk: var(--background-color);--on-background-color-SCOPED-IN-command-L0Sk: 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-L0Sk)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-L0Sk);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-L0Sk);--background-color: var(--background-color-SCOPED-IN-command-L0Sk);--on-background-color: var(--on-background-color-SCOPED-IN-command-L0Sk)}\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"] }] });
425
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-UrcI: var(--page-width-lv1);--primary-color-SCOPED-IN-command-UrcI: var(--primary-color);--on-primary-color-SCOPED-IN-command-UrcI: var(--on-primary-color);--background-color-SCOPED-IN-command-UrcI: var(--background-color);--on-background-color-SCOPED-IN-command-UrcI: 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-UrcI)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-UrcI);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-UrcI);--background-color: var(--background-color-SCOPED-IN-command-UrcI);--on-background-color: var(--on-background-color-SCOPED-IN-command-UrcI)}\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"] }] });
426
426
  }
427
427
  __decorate([
428
428
  Effect(FormTemplateStore.ActionId.FILE_SELECTED),
@@ -485,7 +485,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
485
485
  'actions',
486
486
  ]
487
487
  },
488
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-L0Sk: var(--page-width-lv1);--primary-color-SCOPED-IN-command-L0Sk: var(--primary-color);--on-primary-color-SCOPED-IN-command-L0Sk: var(--on-primary-color);--background-color-SCOPED-IN-command-L0Sk: var(--background-color);--on-background-color-SCOPED-IN-command-L0Sk: 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-L0Sk)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-L0Sk);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-L0Sk);--background-color: var(--background-color-SCOPED-IN-command-L0Sk);--on-background-color: var(--on-background-color-SCOPED-IN-command-L0Sk)}\n"] }]
488
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-command-UrcI: var(--page-width-lv1);--primary-color-SCOPED-IN-command-UrcI: var(--primary-color);--on-primary-color-SCOPED-IN-command-UrcI: var(--on-primary-color);--background-color-SCOPED-IN-command-UrcI: var(--background-color);--on-background-color-SCOPED-IN-command-UrcI: 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-UrcI)}:host .template div[dashboard]{padding:0;box-sizing:border-box}:host *{--primary-color: var(--primary-color-SCOPED-IN-command-UrcI);--on-primary-color: var(--on-primary-color-SCOPED-IN-command-UrcI);--background-color: var(--background-color-SCOPED-IN-command-UrcI);--on-background-color: var(--on-background-color-SCOPED-IN-command-UrcI)}\n"] }]
489
489
  }], propDecorators: { onFileSelected: [] } });
490
490
 
491
491
  /**
@@ -688,7 +688,7 @@ class QueryPage extends NgAtomicComponent {
688
688
  <groups-query-form dashboard (action)="dispatch($event)" />
689
689
  </templates-index>
690
690
  </frames-router-outlet>
691
- `, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Nmzk: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Nmzk: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Nmzk: var(--primary-color);--on-primary-color-SCOPED-IN-query-Nmzk: var(--on-primary-color);--surface-color-SCOPED-IN-query-Nmzk: var(--surface-color);--on-surface-color-SCOPED-IN-query-Nmzk: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Nmzk: var(--on-background-color);--background-color-SCOPED-IN-query-Nmzk: var(--background-color);--navigator-background-color-SCOPED-IN-query-Nmzk: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Nmzk: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Nmzk: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Nmzk: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Nmzk: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Nmzk);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Nmzk);--surface-color: var(--surface-color-SCOPED-IN-query-Nmzk);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Nmzk);--background-color: var(--background-color-SCOPED-IN-query-Nmzk);--on-background-color: var(--on-background-color-SCOPED-IN-query-Nmzk);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Nmzk);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Nmzk);--table-background-color: var(--table-background-color-SCOPED-IN-query-Nmzk);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Nmzk);--is-debug: var(--is-debug-SCOPED-IN-query-Nmzk)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Nmzk) * 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 });
691
+ `, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-w72Y: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-w72Y: var(--page-width-lv3);--primary-color-SCOPED-IN-query-w72Y: var(--primary-color);--on-primary-color-SCOPED-IN-query-w72Y: var(--on-primary-color);--surface-color-SCOPED-IN-query-w72Y: var(--surface-color);--on-surface-color-SCOPED-IN-query-w72Y: var(--on-surface-color);--on-background-color-SCOPED-IN-query-w72Y: var(--on-background-color);--background-color-SCOPED-IN-query-w72Y: var(--background-color);--navigator-background-color-SCOPED-IN-query-w72Y: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-w72Y: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-w72Y: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-w72Y: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-w72Y: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-w72Y);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-w72Y);--surface-color: var(--surface-color-SCOPED-IN-query-w72Y);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-w72Y);--background-color: var(--background-color-SCOPED-IN-query-w72Y);--on-background-color: var(--on-background-color-SCOPED-IN-query-w72Y);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-w72Y);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-w72Y);--table-background-color: var(--table-background-color-SCOPED-IN-query-w72Y);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-w72Y);--is-debug: var(--is-debug-SCOPED-IN-query-w72Y)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-w72Y) * 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 });
692
692
  }
693
693
  __decorate([
694
694
  Effect(IndexTemplateStore.ActionId.BACK),
@@ -769,7 +769,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
769
769
  'pageSizeOptions'
770
770
  ]
771
771
  },
772
- ], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Nmzk: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Nmzk: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Nmzk: var(--primary-color);--on-primary-color-SCOPED-IN-query-Nmzk: var(--on-primary-color);--surface-color-SCOPED-IN-query-Nmzk: var(--surface-color);--on-surface-color-SCOPED-IN-query-Nmzk: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Nmzk: var(--on-background-color);--background-color-SCOPED-IN-query-Nmzk: var(--background-color);--navigator-background-color-SCOPED-IN-query-Nmzk: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Nmzk: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Nmzk: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Nmzk: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Nmzk: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Nmzk);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Nmzk);--surface-color: var(--surface-color-SCOPED-IN-query-Nmzk);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Nmzk);--background-color: var(--background-color-SCOPED-IN-query-Nmzk);--on-background-color: var(--on-background-color-SCOPED-IN-query-Nmzk);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Nmzk);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Nmzk);--table-background-color: var(--table-background-color-SCOPED-IN-query-Nmzk);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Nmzk);--is-debug: var(--is-debug-SCOPED-IN-query-Nmzk)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Nmzk) * 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"] }]
772
+ ], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-w72Y: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-w72Y: var(--page-width-lv3);--primary-color-SCOPED-IN-query-w72Y: var(--primary-color);--on-primary-color-SCOPED-IN-query-w72Y: var(--on-primary-color);--surface-color-SCOPED-IN-query-w72Y: var(--surface-color);--on-surface-color-SCOPED-IN-query-w72Y: var(--on-surface-color);--on-background-color-SCOPED-IN-query-w72Y: var(--on-background-color);--background-color-SCOPED-IN-query-w72Y: var(--background-color);--navigator-background-color-SCOPED-IN-query-w72Y: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-w72Y: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-w72Y: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-w72Y: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-w72Y: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-w72Y);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-w72Y);--surface-color: var(--surface-color-SCOPED-IN-query-w72Y);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-w72Y);--background-color: var(--background-color-SCOPED-IN-query-w72Y);--on-background-color: var(--on-background-color-SCOPED-IN-query-w72Y);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-w72Y);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-w72Y);--table-background-color: var(--table-background-color-SCOPED-IN-query-w72Y);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-w72Y);--is-debug: var(--is-debug-SCOPED-IN-query-w72Y)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-w72Y) * 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"] }]
773
773
  }], 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: [] } });
774
774
 
775
775
  /**
@@ -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-4NsX: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-4NsX: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-4NsX: var(--primary-color);--on-primary-color-SCOPED-IN-thread-4NsX: var(--on-primary-color);--surface-color-SCOPED-IN-thread-4NsX: var(--surface-color);--on-surface-color-SCOPED-IN-thread-4NsX: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-4NsX: var(--on-background-color);--background-color-SCOPED-IN-thread-4NsX: var(--background-color);--navigator-background-color-SCOPED-IN-thread-4NsX: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-4NsX: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-4NsX: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-4NsX: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-4NsX)}: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-SzFK: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-SzFK: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-SzFK: var(--primary-color);--on-primary-color-SCOPED-IN-thread-SzFK: var(--on-primary-color);--surface-color-SCOPED-IN-thread-SzFK: var(--surface-color);--on-surface-color-SCOPED-IN-thread-SzFK: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-SzFK: var(--on-background-color);--background-color-SCOPED-IN-thread-SzFK: var(--background-color);--navigator-background-color-SCOPED-IN-thread-SzFK: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-SzFK: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-SzFK: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-SzFK: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-SzFK)}: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-4NsX: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-4NsX: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-4NsX: var(--primary-color);--on-primary-color-SCOPED-IN-thread-4NsX: var(--on-primary-color);--surface-color-SCOPED-IN-thread-4NsX: var(--surface-color);--on-surface-color-SCOPED-IN-thread-4NsX: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-4NsX: var(--on-background-color);--background-color-SCOPED-IN-thread-4NsX: var(--background-color);--navigator-background-color-SCOPED-IN-thread-4NsX: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-4NsX: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-4NsX: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-4NsX: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-4NsX)}: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-SzFK: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-SzFK: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-SzFK: var(--primary-color);--on-primary-color-SCOPED-IN-thread-SzFK: var(--on-primary-color);--surface-color-SCOPED-IN-thread-SzFK: var(--surface-color);--on-surface-color-SCOPED-IN-thread-SzFK: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-SzFK: var(--on-background-color);--background-color-SCOPED-IN-thread-SzFK: var(--background-color);--navigator-background-color-SCOPED-IN-thread-SzFK: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-SzFK: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-SzFK: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-SzFK: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-SzFK)}: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']]
@@ -0,0 +1,57 @@
1
+ import * as i0 from '@angular/core';
2
+ import { isSignal, inject, Injectable } from '@angular/core';
3
+ import { Router, ActivatedRoute, NavigationEnd } from '@angular/router';
4
+ import { toSignal } from '@angular/core/rxjs-interop';
5
+ import { derivedAsync } from 'ngxtension/derived-async';
6
+ import { filter, startWith, map } from 'rxjs/operators';
7
+
8
+ function resolveSignal(data) {
9
+ return isSignal(data) ? data() : data;
10
+ }
11
+ class AppBarService {
12
+ router = inject(Router);
13
+ activatedRoute = inject(ActivatedRoute);
14
+ routeArray$ = this.router.events.pipe(filter((event) => event instanceof NavigationEnd), startWith(null), map(() => {
15
+ const routeArray = [];
16
+ let route = this.activatedRoute.root;
17
+ while (route) {
18
+ routeArray.push(route);
19
+ route = route.children.length > 0 ? route.children[0] : null;
20
+ }
21
+ return routeArray.filter((route) => route.component !== null);
22
+ }));
23
+ routeArray = toSignal(this.routeArray$);
24
+ breadcrumbs = derivedAsync(() => {
25
+ return this.routeArray()
26
+ .map((route) => ({
27
+ label: resolveSignal(route.snapshot.data['title']),
28
+ path: '/' + route.snapshot.url.join('/'),
29
+ params: { ...route.snapshot.params },
30
+ queryParams: { ...route.snapshot.queryParams },
31
+ }))
32
+ .filter((breadcrumb) => breadcrumb.label);
33
+ }, { initialValue: [] });
34
+ endActions = derivedAsync(() => {
35
+ const routes = this.routeArray();
36
+ if (routes && routes.length > 0) {
37
+ const lastRoute = routes.at(-1);
38
+ const navEndActions = lastRoute.snapshot.data['navEndActions'];
39
+ if (navEndActions) {
40
+ return resolveSignal(navEndActions);
41
+ }
42
+ }
43
+ return [];
44
+ }, { initialValue: [] });
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AppBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
46
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AppBarService, providedIn: 'root' });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AppBarService, decorators: [{
49
+ type: Injectable,
50
+ args: [{ providedIn: 'root' }]
51
+ }] });
52
+
53
+ /**
54
+ * Generated bundle index. Do not edit.
55
+ */
56
+
57
+ export { AppBarService };
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, DestroyRef, signal, computed, Injectable } from '@angular/core';
2
+ import { InjectionToken, inject, DestroyRef, signal, computed, Injectable } from '@angular/core';
3
3
  import { DOCUMENT } from '@angular/common';
4
4
  import { FirebaseApp } from '@angular/fire/app';
5
5
  import { getRemoteConfig, fetchAndActivate, getString, fetchConfig, activate } from 'firebase/remote-config';
@@ -28,23 +28,42 @@ function readConfigFromIdb(key) {
28
28
  });
29
29
  }
30
30
 
31
+ const VERSIONED_HOST_MATCHER = new InjectionToken('@xxmachina/components/services/version/versioned-host-matcher', {
32
+ factory: () => (hostname) => hostname === 'machina.at' || hostname === 'planx.machina.at',
33
+ });
34
+ function provideVersionedHostMatcher(matcher) {
35
+ return { provide: VERSIONED_HOST_MATCHER, useValue: matcher };
36
+ }
37
+
31
38
  const DEFAULT_VERSIONS = [
32
39
  { key: 'stable', label: 'stable (本番)' },
33
- { key: 'dev', label: 'dev (開発)' },
40
+ { key: 'develop', label: 'develop (開発)' },
34
41
  ];
35
42
  const POLLING_INTERVAL_MS = 60_000;
36
43
  class VersionService {
37
44
  document = inject(DOCUMENT);
38
45
  destroyRef = inject(DestroyRef);
39
46
  firebaseApp = inject(FirebaseApp, { optional: true });
47
+ matchVersionedHost = inject(VERSIONED_HOST_MATCHER);
40
48
  remoteConfig;
41
49
  unsubscribe;
42
50
  pollingInterval;
43
51
  initialized = false;
52
+ destroyed = false;
53
+ constructor() {
54
+ this.destroyRef.onDestroy(() => {
55
+ this.destroyed = true;
56
+ this.unsubscribe?.();
57
+ if (this.pollingInterval) {
58
+ clearInterval(this.pollingInterval);
59
+ this.pollingInterval = undefined;
60
+ }
61
+ });
62
+ }
44
63
  versions = signal(DEFAULT_VERSIONS, ...(ngDevMode ? [{ debugName: "versions" }] : []));
45
64
  isLoading = signal(true, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
46
65
  isVersionedHost(hostname) {
47
- return hostname === 'machina.at' || hostname === 'planx.machina.at';
66
+ return this.matchVersionedHost(hostname);
48
67
  }
49
68
  currentVersion = computed(() => {
50
69
  const hostname = this.document.location.hostname;
@@ -114,15 +133,9 @@ class VersionService {
114
133
  if (!this.remoteConfig)
115
134
  return;
116
135
  this.setupPollingFallback();
117
- this.destroyRef.onDestroy(() => {
118
- this.unsubscribe?.();
119
- if (this.pollingInterval) {
120
- clearInterval(this.pollingInterval);
121
- }
122
- });
123
136
  }
124
137
  setupPollingFallback() {
125
- if (!this.remoteConfig)
138
+ if (!this.remoteConfig || this.destroyed)
126
139
  return;
127
140
  console.log('[VersionService] Setting up polling fallback');
128
141
  this.pollingInterval = setInterval(async () => {
@@ -161,10 +174,10 @@ class VersionService {
161
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: VersionService, decorators: [{
162
175
  type: Injectable,
163
176
  args: [{ providedIn: 'root' }]
164
- }] });
177
+ }], ctorParameters: () => [] });
165
178
 
166
179
  /**
167
180
  * Generated bundle index. Do not edit.
168
181
  */
169
182
 
170
- export { VersionService };
183
+ export { VERSIONED_HOST_MATCHER, VersionService, provideVersionedHostMatcher };
@@ -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-msxh: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-msxh: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-msxh: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-msxh: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-msxh: 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-msxh);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-msxh);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-msxh);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-msxh);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-msxh);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-msxh);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-msxh);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-msxh);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-msxh)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-msxh),0 0 20px var(--accent-SCOPED-IN-entrance-msxh);-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-3vOP: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-3vOP: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-3vOP: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-3vOP: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-3vOP: 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-3vOP);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-3vOP);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-3vOP);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-3vOP);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-3vOP);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-3vOP);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-3vOP);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-3vOP);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-3vOP)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-3vOP),0 0 20px var(--accent-SCOPED-IN-entrance-3vOP);-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-msxh: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-msxh: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-msxh: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-msxh: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-msxh: 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-msxh);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-msxh);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-msxh);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-msxh);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-msxh);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-msxh);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-msxh);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-msxh);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-msxh)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-msxh),0 0 20px var(--accent-SCOPED-IN-entrance-msxh);-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-3vOP: var(--text);--user: #33ff33;--user-SCOPED-IN-entrance-3vOP: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-3vOP: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-3vOP: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-3vOP: 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-3vOP);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-3vOP);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-3vOP);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-3vOP);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-3vOP);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-3vOP);opacity:.7}.terminal-display{width:100%;height:100%;background:#0a0a0a}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-3vOP);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-3vOP);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-3vOP)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-3vOP),0 0 20px var(--accent-SCOPED-IN-entrance-3vOP);-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-wg1r: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-wg1r: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-wg1r: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-wg1r: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-wg1r: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-wg1r: 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-wg1r);color:var(--on-background-color-SCOPED-IN-icon-button-menu-wg1r)}: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-wg1r);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"] }], 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-Zqg4: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-Zqg4: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-Zqg4: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-Zqg4: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-Zqg4: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-Zqg4: 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-Zqg4);color:var(--on-background-color-SCOPED-IN-icon-button-menu-Zqg4)}: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-Zqg4);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"] }], 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-wg1r: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-wg1r: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-wg1r: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-wg1r: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-wg1r: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-wg1r: 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-wg1r);color:var(--on-background-color-SCOPED-IN-icon-button-menu-wg1r)}: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-wg1r);cursor:pointer}\n"] }]
70
+ ], styles: [":host{width:100%;height:100%;background:#fff;display:block;--primary-color: #404040;--primary-color-SCOPED-IN-icon-button-menu-Zqg4: var(--primary-color);--on-primary-color: #f0f0f0;--on-primary-color-SCOPED-IN-icon-button-menu-Zqg4: var(--on-primary-color);--secondary-color: #B0B0B0;--secondary-color-SCOPED-IN-icon-button-menu-Zqg4: var(--secondary-color);--background-color: #000000;--background-color-SCOPED-IN-icon-button-menu-Zqg4: var(--background-color);--on-background-color: #ffffff;--on-background-color-SCOPED-IN-icon-button-menu-Zqg4: var(--on-background-color);--mat-icon-button-icon-color: #FEFEFE;--mat-icon-button-icon-color-SCOPED-IN-icon-button-menu-Zqg4: 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-Zqg4);color:var(--on-background-color-SCOPED-IN-icon-button-menu-Zqg4)}: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-Zqg4);cursor:pointer}\n"] }]
71
71
  }] });
72
72
 
73
73
  /**
@@ -232,7 +232,7 @@ class SessionNavigatorOrganism extends NgAtomicComponent {
232
232
  }
233
233
  </div>
234
234
  </mat-toolbar>
235
- `, isInline: true, styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-fpsS: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-fpsS: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-fpsS: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-fpsS: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-fpsS: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-fpsS: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-fpsS: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-fpsS: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-fpsS: var(--on-background-color)}:host{display:block;width:100%;height:56px}: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-fpsS);color:var(--on-primary-color-SCOPED-IN-session-navigator-fpsS);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-fpsS)!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-fpsS)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-fpsS)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-fpsS)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-fpsS)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-fpsS)!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-fpsS: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-fpsS: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-fpsS: 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 });
235
+ `, isInline: true, styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-Vcfb: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-Vcfb: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-Vcfb: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-Vcfb: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-Vcfb: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-Vcfb: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-Vcfb: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-Vcfb: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-Vcfb: var(--on-background-color)}:host{display:block;width:100%;height:56px}: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-Vcfb);color:var(--on-primary-color-SCOPED-IN-session-navigator-Vcfb);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-Vcfb)!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-Vcfb)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-Vcfb)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-Vcfb)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-Vcfb)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-Vcfb)!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-Vcfb: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-Vcfb: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-Vcfb: 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 });
236
236
  }
237
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: SessionNavigatorOrganism, decorators: [{
238
238
  type: Component,
@@ -266,7 +266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
266
266
  directive: SessionNavigatorOrganismStore,
267
267
  inputs: ['startActions', 'endActions', 'title'],
268
268
  }
269
- ], styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-fpsS: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-fpsS: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-fpsS: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-fpsS: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-fpsS: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-fpsS: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-fpsS: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-fpsS: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-fpsS: var(--on-background-color)}:host{display:block;width:100%;height:56px}: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-fpsS);color:var(--on-primary-color-SCOPED-IN-session-navigator-fpsS);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-fpsS)!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-fpsS)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-fpsS)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-fpsS)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-fpsS)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-fpsS)!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-fpsS: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-fpsS: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-fpsS: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"] }]
269
+ ], styles: [":host{display:block;--text: #e0e0e0;--text-SCOPED-IN-session-navigator-Vcfb: var(--text);--sys: #888;--sys-SCOPED-IN-session-navigator-Vcfb: var(--sys);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-session-navigator-Vcfb: var(--border);--primary-color: #0f0f11;--primary-color-SCOPED-IN-session-navigator-Vcfb: var(--primary-color);--on-primary-color: #e0e0e0;--on-primary-color-SCOPED-IN-session-navigator-Vcfb: var(--on-primary-color);--secondary-color: #888;--secondary-color-SCOPED-IN-session-navigator-Vcfb: var(--secondary-color);--on-secondary-color: #f0f0f0;--on-secondary-color-SCOPED-IN-session-navigator-Vcfb: var(--on-secondary-color);--background-color: #0f0f11;--background-color-SCOPED-IN-session-navigator-Vcfb: var(--background-color);--on-background-color: #e0e0e0;--on-background-color-SCOPED-IN-session-navigator-Vcfb: var(--on-background-color)}:host{display:block;width:100%;height:56px}: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-Vcfb);color:var(--on-primary-color-SCOPED-IN-session-navigator-Vcfb);border-bottom:1px solid var(--border-SCOPED-IN-session-navigator-Vcfb)!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-Vcfb)!important}:host mat-toolbar .mat-button{color:var(--sys-SCOPED-IN-session-navigator-Vcfb)!important;font-family:SF Mono,Monaco,monospace!important}:host mat-toolbar .mat-button:hover{color:var(--text-SCOPED-IN-session-navigator-Vcfb)!important}:host mat-toolbar .mat-icon-button{color:var(--sys-SCOPED-IN-session-navigator-Vcfb)!important;opacity:.7}:host mat-toolbar .mat-icon-button:hover{color:var(--text-SCOPED-IN-session-navigator-Vcfb)!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-Vcfb: var(--text);--sys: #666;--sys-SCOPED-IN-session-navigator-Vcfb: var(--sys);--border: #ddd;--border-SCOPED-IN-session-navigator-Vcfb: var(--border)}}@media(max-width:600px){:host mat-toolbar span{font-size:11px!important}}\n"] }]
270
270
  }] });
271
271
 
272
272
  var InvoiceAppActionId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xxmachina/components",
3
- "version": "19.87.0",
3
+ "version": "19.127.7",
4
4
  "license": "MIT",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -34,6 +34,10 @@
34
34
  "types": "./types/xxmachina-components-groups-query-form.d.ts",
35
35
  "default": "./fesm2022/xxmachina-components-groups-query-form.mjs"
36
36
  },
37
+ "./molecules/app-selector": {
38
+ "types": "./types/xxmachina-components-molecules-app-selector.d.ts",
39
+ "default": "./fesm2022/xxmachina-components-molecules-app-selector.mjs"
40
+ },
37
41
  "./molecules/calendar-paginator": {
38
42
  "types": "./types/xxmachina-components-molecules-calendar-paginator.d.ts",
39
43
  "default": "./fesm2022/xxmachina-components-molecules-calendar-paginator.mjs"
@@ -50,6 +54,10 @@
50
54
  "types": "./types/xxmachina-components-molecules-user-avatar-menu.d.ts",
51
55
  "default": "./fesm2022/xxmachina-components-molecules-user-avatar-menu.mjs"
52
56
  },
57
+ "./molecules/version-selector": {
58
+ "types": "./types/xxmachina-components-molecules-version-selector.d.ts",
59
+ "default": "./fesm2022/xxmachina-components-molecules-version-selector.mjs"
60
+ },
53
61
  "./molecules/weekly-header": {
54
62
  "types": "./types/xxmachina-components-molecules-weekly-header.d.ts",
55
63
  "default": "./fesm2022/xxmachina-components-molecules-weekly-header.mjs"
@@ -146,6 +154,10 @@
146
154
  "types": "./types/xxmachina-components-services-app.d.ts",
147
155
  "default": "./fesm2022/xxmachina-components-services-app.mjs"
148
156
  },
157
+ "./services/app-bar": {
158
+ "types": "./types/xxmachina-components-services-app-bar.d.ts",
159
+ "default": "./fesm2022/xxmachina-components-services-app-bar.mjs"
160
+ },
149
161
  "./services/assistant": {
150
162
  "types": "./types/xxmachina-components-services-assistant.d.ts",
151
163
  "default": "./fesm2022/xxmachina-components-services-assistant.mjs"
@@ -0,0 +1,36 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Signal } from '@angular/core';
3
+ import * as _xxmachina_components_molecules_app_selector from '@xxmachina/components/molecules/app-selector';
4
+
5
+ interface AppTarget {
6
+ key: string;
7
+ label: string;
8
+ host: string;
9
+ devPort: number;
10
+ }
11
+ interface AppSelectorState {
12
+ apps: AppTarget[];
13
+ current: string;
14
+ select: (key: string) => void;
15
+ }
16
+ declare const APP_SELECTOR_STATE: InjectionToken<Signal<AppSelectorState | null>>;
17
+ declare function provideAppSelectorState(useFactory: () => Signal<AppSelectorState | null>): {
18
+ provide: InjectionToken<Signal<AppSelectorState | null>>;
19
+ useFactory: () => Signal<AppSelectorState | null>;
20
+ };
21
+
22
+ interface AppLocation {
23
+ hostname: string;
24
+ protocol: string;
25
+ }
26
+ declare function buildAppUrl(target: AppTarget, location: AppLocation, version: string | null): string;
27
+
28
+ declare class AppSelectorMolecule {
29
+ protected readonly state: i0.Signal<_xxmachina_components_molecules_app_selector.AppSelectorState | null>;
30
+ protected onSelect(key: string): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppSelectorMolecule, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppSelectorMolecule, "molecules-app-selector", never, {}, {}, never, never, true, never>;
33
+ }
34
+
35
+ export { APP_SELECTOR_STATE, AppSelectorMolecule, buildAppUrl, provideAppSelectorState };
36
+ export type { AppLocation, AppSelectorState, AppTarget };
@@ -0,0 +1,45 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Signal } from '@angular/core';
3
+ import * as _xxmachina_components_molecules_version_selector from '@xxmachina/components/molecules/version-selector';
4
+ import { FormControl } from '@angular/forms';
5
+ import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
6
+
7
+ interface VersionOption {
8
+ key: string;
9
+ label: string;
10
+ }
11
+ interface VersionSelectorState {
12
+ versions: VersionOption[];
13
+ current: string;
14
+ select: (key: string) => void;
15
+ }
16
+ declare const VERSION_SELECTOR_STATE: InjectionToken<Signal<VersionSelectorState | null>>;
17
+ declare function provideVersionSelectorState(useFactory: () => Signal<VersionSelectorState | null>): {
18
+ provide: InjectionToken<Signal<VersionSelectorState | null>>;
19
+ useFactory: () => Signal<VersionSelectorState | null>;
20
+ };
21
+
22
+ declare function provideVersionSelectorStateFromService(): {
23
+ provide: _angular_core.InjectionToken<_angular_core.Signal<VersionSelectorState | null>>;
24
+ useFactory: () => _angular_core.Signal<VersionSelectorState | null>;
25
+ };
26
+
27
+ declare class VersionSelectorMolecule {
28
+ protected readonly state: _angular_core.Signal<_xxmachina_components_molecules_version_selector.VersionSelectorState | null>;
29
+ protected readonly versionControl: FormControl<string | null>;
30
+ private readonly searchText;
31
+ protected readonly isEditing: _angular_core.WritableSignal<boolean>;
32
+ private readonly versionInput;
33
+ protected readonly filteredVersions: _angular_core.Signal<_xxmachina_components_molecules_version_selector.VersionOption[]>;
34
+ constructor();
35
+ protected startEdit(): void;
36
+ protected onBlur(): void;
37
+ protected onEscape(event: Event): void;
38
+ protected onVersionSelected(event: MatAutocompleteSelectedEvent): void;
39
+ protected onEnter(): void;
40
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<VersionSelectorMolecule, never>;
41
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<VersionSelectorMolecule, "molecules-version-selector", never, {}, {}, never, never, true, never>;
42
+ }
43
+
44
+ export { VERSION_SELECTOR_STATE, VersionSelectorMolecule, provideVersionSelectorState, provideVersionSelectorStateFromService };
45
+ export type { VersionOption, VersionSelectorState };
@@ -194,6 +194,9 @@ declare class XtermOrganism extends NgAtomicComponent implements AfterViewInit,
194
194
  private lastDataLength;
195
195
  private lastProcessedLength;
196
196
  private readonly terminalInitialized;
197
+ readonly initialized: _angular_core.Signal<boolean>;
198
+ readonly fitEpoch: _angular_core.WritableSignal<number>;
199
+ readonly fitScheduled: _angular_core.WritableSignal<number>;
197
200
  private initSkippedDueToSize;
198
201
  private readonly disposables;
199
202
  private stableTimer;
@@ -204,7 +207,9 @@ declare class XtermOrganism extends NgAtomicComponent implements AfterViewInit,
204
207
  private writeDataWithTotalWritten;
205
208
  ngAfterViewInit(): void;
206
209
  private initializeTerminal;
210
+ private syncFitScheduled;
207
211
  private fitToViewport;
212
+ private fitCore;
208
213
  ngOnDestroy(): void;
209
214
  private markInitialized;
210
215
  private loadImageAddon;
@@ -0,0 +1,30 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface Breadcrumb {
4
+ label: string;
5
+ path: string;
6
+ params?: any;
7
+ queryParams?: any;
8
+ }
9
+ declare class AppBarService {
10
+ private readonly router;
11
+ private readonly activatedRoute;
12
+ private readonly routeArray$;
13
+ private readonly routeArray;
14
+ readonly breadcrumbs: _angular_core.Signal<{
15
+ label: any;
16
+ path: string;
17
+ params: {
18
+ [key: string]: any;
19
+ };
20
+ queryParams: {
21
+ [key: string]: any;
22
+ };
23
+ }[]>;
24
+ readonly endActions: _angular_core.Signal<any>;
25
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppBarService, never>;
26
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AppBarService>;
27
+ }
28
+
29
+ export { AppBarService };
30
+ export type { Breadcrumb };
@@ -1,4 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
2
3
 
3
4
  interface Version {
4
5
  key: string;
@@ -8,10 +9,13 @@ declare class VersionService {
8
9
  private readonly document;
9
10
  private readonly destroyRef;
10
11
  private readonly firebaseApp;
12
+ private readonly matchVersionedHost;
11
13
  private remoteConfig?;
12
14
  private unsubscribe?;
13
15
  private pollingInterval?;
14
16
  private initialized;
17
+ private destroyed;
18
+ constructor();
15
19
  readonly versions: _angular_core.WritableSignal<Version[]>;
16
20
  readonly isLoading: _angular_core.WritableSignal<boolean>;
17
21
  private isVersionedHost;
@@ -27,5 +31,12 @@ declare class VersionService {
27
31
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<VersionService>;
28
32
  }
29
33
 
30
- export { VersionService };
31
- export type { Version };
34
+ type VersionedHostMatcher = (hostname: string) => boolean;
35
+ declare const VERSIONED_HOST_MATCHER: InjectionToken<VersionedHostMatcher>;
36
+ declare function provideVersionedHostMatcher(matcher: VersionedHostMatcher): {
37
+ provide: InjectionToken<VersionedHostMatcher>;
38
+ useValue: VersionedHostMatcher;
39
+ };
40
+
41
+ export { VERSIONED_HOST_MATCHER, VersionService, provideVersionedHostMatcher };
42
+ export type { Version, VersionedHostMatcher };