@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.
- package/fesm2022/xxmachina-components-molecules-app-selector.mjs +63 -0
- package/fesm2022/xxmachina-components-molecules-version-selector.mjs +159 -0
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +2 -2
- package/fesm2022/xxmachina-components-organisms-xterm.mjs +31 -1
- package/fesm2022/xxmachina-components-pages-command.mjs +2 -2
- package/fesm2022/xxmachina-components-pages-query.mjs +2 -2
- package/fesm2022/xxmachina-components-pages-thread.mjs +2 -2
- package/fesm2022/xxmachina-components-services-app-bar.mjs +57 -0
- package/fesm2022/xxmachina-components-services-version.mjs +25 -12
- package/fesm2022/xxmachina-components-templates-agent.mjs +2 -2
- package/fesm2022/xxmachina-components-templates-machina-icon-button-menu.mjs +2 -2
- package/fesm2022/xxmachina-components.mjs +2 -2
- package/package.json +13 -1
- package/types/xxmachina-components-molecules-app-selector.d.ts +36 -0
- package/types/xxmachina-components-molecules-version-selector.d.ts +45 -0
- package/types/xxmachina-components-organisms-xterm.d.ts +5 -0
- package/types/xxmachina-components-services-app-bar.d.ts +30 -0
- package/types/xxmachina-components-services-version.d.ts +13 -2
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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: '
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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.
|
|
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
|
-
|
|
31
|
-
|
|
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 };
|