ngx-dev-toolbar 2.0.0 → 2.0.1
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/README.md +108 -0
- package/components/list/list.component.d.ts +48 -0
- package/components/list-item/list-item.component.d.ts +54 -0
- package/components/select/select.component.d.ts +1 -1
- package/components/window/window.component.d.ts +3 -3
- package/dev-toolbar-state.service.d.ts +1 -1
- package/fesm2022/ngx-dev-toolbar.mjs +692 -410
- package/fesm2022/ngx-dev-toolbar.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/models/dev-tools.interface.d.ts +22 -0
- package/package.json +1 -1
- package/tools/app-features-tool/app-features.models.d.ts +5 -0
- package/tools/app-features-tool/app-features.service.d.ts +24 -0
- package/tools/feature-flags-tool/feature-flags.models.d.ts +1 -0
- package/tools/feature-flags-tool/feature-flags.service.d.ts +24 -0
- package/tools/language-tool/language.service.d.ts +7 -0
- package/tools/permissions-tool/permissions.models.d.ts +2 -0
- package/tools/permissions-tool/permissions.service.d.ts +24 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, computed, Injectable,
|
|
3
|
-
import {
|
|
2
|
+
import { signal, computed, Injectable, ChangeDetectionStrategy, Component, input, inject, ElementRef, output, ContentChild, ViewChild, model, DestroyRef, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
4
5
|
import * as i1 from '@angular/cdk/overlay';
|
|
5
6
|
import { CdkConnectedOverlay, OverlayModule } from '@angular/cdk/overlay';
|
|
6
7
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
@@ -10,7 +11,6 @@ import * as i1$1 from '@angular/forms';
|
|
|
10
11
|
import { FormsModule } from '@angular/forms';
|
|
11
12
|
import * as i2 from '@angular/cdk/menu';
|
|
12
13
|
import { CdkMenuModule } from '@angular/cdk/menu';
|
|
13
|
-
import { CommonModule } from '@angular/common';
|
|
14
14
|
|
|
15
15
|
class DevToolbarStateService {
|
|
16
16
|
constructor() {
|
|
@@ -82,10 +82,10 @@ class DevToolbarStateService {
|
|
|
82
82
|
isHidden: !state.isHidden,
|
|
83
83
|
}));
|
|
84
84
|
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
86
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
86
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarStateService, providedIn: 'root' }); }
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarStateService, decorators: [{
|
|
89
89
|
type: Injectable,
|
|
90
90
|
args: [{
|
|
91
91
|
providedIn: 'root',
|
|
@@ -93,8 +93,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
93
93
|
}] });
|
|
94
94
|
|
|
95
95
|
class AngularIconComponent {
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: AngularIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: AngularIconComponent, isStandalone: true, selector: "ndt-angular-icon", ngImport: i0, template: `
|
|
98
98
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none">
|
|
99
99
|
<defs>
|
|
100
100
|
<linearGradient
|
|
@@ -122,7 +122,7 @@ class AngularIconComponent {
|
|
|
122
122
|
</svg>
|
|
123
123
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: AngularIconComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{
|
|
128
128
|
selector: 'ndt-angular-icon',
|
|
@@ -162,8 +162,8 @@ class BoltIconComponent {
|
|
|
162
162
|
constructor() {
|
|
163
163
|
this.fill = input('#FFFF');
|
|
164
164
|
}
|
|
165
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
165
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BoltIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: BoltIconComponent, isStandalone: true, selector: "ndt-bolt-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
167
167
|
<svg
|
|
168
168
|
[attr.fill]="fill()"
|
|
169
169
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -181,7 +181,7 @@ class BoltIconComponent {
|
|
|
181
181
|
</svg>
|
|
182
182
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
183
183
|
}
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BoltIconComponent, decorators: [{
|
|
185
185
|
type: Component,
|
|
186
186
|
args: [{
|
|
187
187
|
selector: 'ndt-bolt-icon',
|
|
@@ -211,8 +211,8 @@ class BugIconComponent {
|
|
|
211
211
|
constructor() {
|
|
212
212
|
this.fill = input('#FFFF');
|
|
213
213
|
}
|
|
214
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
215
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
214
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BugIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
215
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: BugIconComponent, isStandalone: true, selector: "ndt-bug-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
216
216
|
<svg
|
|
217
217
|
[attr.fill]="fill()"
|
|
218
218
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -226,7 +226,7 @@ class BugIconComponent {
|
|
|
226
226
|
</svg>
|
|
227
227
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
228
228
|
}
|
|
229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: BugIconComponent, decorators: [{
|
|
230
230
|
type: Component,
|
|
231
231
|
args: [{
|
|
232
232
|
selector: 'ndt-bug-icon',
|
|
@@ -252,8 +252,8 @@ class CodeIconComponent {
|
|
|
252
252
|
constructor() {
|
|
253
253
|
this.fill = input('#FFFF');
|
|
254
254
|
}
|
|
255
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
256
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
255
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CodeIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
256
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: CodeIconComponent, isStandalone: true, selector: "ndt-code-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
257
257
|
<svg
|
|
258
258
|
[attr.fill]="fill()"
|
|
259
259
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -268,7 +268,7 @@ class CodeIconComponent {
|
|
|
268
268
|
</svg>
|
|
269
269
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
270
270
|
}
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: CodeIconComponent, decorators: [{
|
|
272
272
|
type: Component,
|
|
273
273
|
args: [{
|
|
274
274
|
selector: 'ndt-code-icon',
|
|
@@ -295,8 +295,8 @@ class DatabaseIconComponent {
|
|
|
295
295
|
constructor() {
|
|
296
296
|
this.fill = input('#FFFF');
|
|
297
297
|
}
|
|
298
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
299
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
298
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DatabaseIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
299
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: DatabaseIconComponent, isStandalone: true, selector: "ndt-database-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
300
300
|
<svg
|
|
301
301
|
[attr.fill]="fill()"
|
|
302
302
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -314,7 +314,7 @@ class DatabaseIconComponent {
|
|
|
314
314
|
</svg>
|
|
315
315
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
316
316
|
}
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DatabaseIconComponent, decorators: [{
|
|
318
318
|
type: Component,
|
|
319
319
|
args: [{
|
|
320
320
|
selector: 'ndt-database-icon',
|
|
@@ -344,8 +344,8 @@ class DiscordIconComponent {
|
|
|
344
344
|
constructor() {
|
|
345
345
|
this.fill = input('#000000');
|
|
346
346
|
}
|
|
347
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
348
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
347
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DiscordIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
348
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: DiscordIconComponent, isStandalone: true, selector: "ndt-discord-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
349
349
|
<svg
|
|
350
350
|
[attr.fill]="fill()"
|
|
351
351
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -359,7 +359,7 @@ class DiscordIconComponent {
|
|
|
359
359
|
</svg>
|
|
360
360
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
361
361
|
}
|
|
362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DiscordIconComponent, decorators: [{
|
|
363
363
|
type: Component,
|
|
364
364
|
args: [{
|
|
365
365
|
selector: 'ndt-discord-icon',
|
|
@@ -385,8 +385,8 @@ class DocsIconComponent {
|
|
|
385
385
|
constructor() {
|
|
386
386
|
this.fill = input('#FFFF');
|
|
387
387
|
}
|
|
388
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
389
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
388
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DocsIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
389
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: DocsIconComponent, isStandalone: true, selector: "ndt-docs-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
390
390
|
<svg
|
|
391
391
|
[attr.fill]="fill()"
|
|
392
392
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -400,7 +400,7 @@ class DocsIconComponent {
|
|
|
400
400
|
</svg>
|
|
401
401
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
402
402
|
}
|
|
403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
403
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DocsIconComponent, decorators: [{
|
|
404
404
|
type: Component,
|
|
405
405
|
args: [{
|
|
406
406
|
selector: 'ndt-docs-icon',
|
|
@@ -426,8 +426,8 @@ class ExportIconComponent {
|
|
|
426
426
|
constructor() {
|
|
427
427
|
this.fill = input('#FFFF');
|
|
428
428
|
}
|
|
429
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
430
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
429
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ExportIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
430
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: ExportIconComponent, isStandalone: true, selector: "ndt-export-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
431
431
|
<svg
|
|
432
432
|
[attr.fill]="fill()"
|
|
433
433
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -441,7 +441,7 @@ class ExportIconComponent {
|
|
|
441
441
|
</svg>
|
|
442
442
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
443
443
|
}
|
|
444
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ExportIconComponent, decorators: [{
|
|
445
445
|
type: Component,
|
|
446
446
|
args: [{
|
|
447
447
|
selector: 'ndt-export-icon',
|
|
@@ -467,8 +467,8 @@ class FilterIconComponent {
|
|
|
467
467
|
constructor() {
|
|
468
468
|
this.fill = input('#FFFF');
|
|
469
469
|
}
|
|
470
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
471
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
470
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: FilterIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
471
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: FilterIconComponent, isStandalone: true, selector: "ndt-filter-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
472
472
|
<svg
|
|
473
473
|
[attr.fill]="fill()"
|
|
474
474
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -486,7 +486,7 @@ class FilterIconComponent {
|
|
|
486
486
|
</svg>
|
|
487
487
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
488
488
|
}
|
|
489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: FilterIconComponent, decorators: [{
|
|
490
490
|
type: Component,
|
|
491
491
|
args: [{
|
|
492
492
|
selector: 'ndt-filter-icon',
|
|
@@ -516,8 +516,8 @@ class GaugeIconComponent {
|
|
|
516
516
|
constructor() {
|
|
517
517
|
this.fill = input('#FFFF');
|
|
518
518
|
}
|
|
519
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
520
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
519
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: GaugeIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
520
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: GaugeIconComponent, isStandalone: true, selector: "ndt-gauge-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
521
521
|
<svg
|
|
522
522
|
[attr.fill]="fill()"
|
|
523
523
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -535,7 +535,7 @@ class GaugeIconComponent {
|
|
|
535
535
|
</svg>
|
|
536
536
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
537
537
|
}
|
|
538
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: GaugeIconComponent, decorators: [{
|
|
539
539
|
type: Component,
|
|
540
540
|
args: [{
|
|
541
541
|
selector: 'ndt-gauge-icon',
|
|
@@ -565,8 +565,8 @@ class GearIconComponent {
|
|
|
565
565
|
constructor() {
|
|
566
566
|
this.fill = input('#FFFF');
|
|
567
567
|
}
|
|
568
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
569
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
568
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: GearIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
569
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: GearIconComponent, isStandalone: true, selector: "ndt-gear-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
570
570
|
<svg
|
|
571
571
|
[attr.fill]="fill()"
|
|
572
572
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -584,7 +584,7 @@ class GearIconComponent {
|
|
|
584
584
|
</svg>
|
|
585
585
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
586
586
|
}
|
|
587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
587
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: GearIconComponent, decorators: [{
|
|
588
588
|
type: Component,
|
|
589
589
|
args: [{
|
|
590
590
|
selector: 'ndt-gear-icon',
|
|
@@ -614,8 +614,8 @@ class GitBranchIconComponent {
|
|
|
614
614
|
constructor() {
|
|
615
615
|
this.fill = input('#FFFF');
|
|
616
616
|
}
|
|
617
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
618
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
617
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: GitBranchIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
618
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: GitBranchIconComponent, isStandalone: true, selector: "ndt-git-branch-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
619
619
|
<svg
|
|
620
620
|
[attr.fill]="fill()"
|
|
621
621
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -633,7 +633,7 @@ class GitBranchIconComponent {
|
|
|
633
633
|
</svg>
|
|
634
634
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
635
635
|
}
|
|
636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
636
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: GitBranchIconComponent, decorators: [{
|
|
637
637
|
type: Component,
|
|
638
638
|
args: [{
|
|
639
639
|
selector: 'ndt-git-branch-icon',
|
|
@@ -663,8 +663,8 @@ class ImportIconComponent {
|
|
|
663
663
|
constructor() {
|
|
664
664
|
this.fill = input('#FFFF');
|
|
665
665
|
}
|
|
666
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
667
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
666
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ImportIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
667
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: ImportIconComponent, isStandalone: true, selector: "ndt-import-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
668
668
|
<svg
|
|
669
669
|
[attr.fill]="fill()"
|
|
670
670
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -678,7 +678,7 @@ class ImportIconComponent {
|
|
|
678
678
|
</svg>
|
|
679
679
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
680
680
|
}
|
|
681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ImportIconComponent, decorators: [{
|
|
682
682
|
type: Component,
|
|
683
683
|
args: [{
|
|
684
684
|
selector: 'ndt-import-icon',
|
|
@@ -704,8 +704,8 @@ class LayoutIconComponent {
|
|
|
704
704
|
constructor() {
|
|
705
705
|
this.fill = input('#FFFF');
|
|
706
706
|
}
|
|
707
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
708
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
707
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LayoutIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
708
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: LayoutIconComponent, isStandalone: true, selector: "ndt-layout-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
709
709
|
<svg
|
|
710
710
|
[attr.fill]="fill()"
|
|
711
711
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -720,7 +720,7 @@ class LayoutIconComponent {
|
|
|
720
720
|
</svg>
|
|
721
721
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
722
722
|
}
|
|
723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LayoutIconComponent, decorators: [{
|
|
724
724
|
type: Component,
|
|
725
725
|
args: [{
|
|
726
726
|
selector: 'ndt-layout-icon',
|
|
@@ -747,8 +747,8 @@ class LightbulbIconComponent {
|
|
|
747
747
|
constructor() {
|
|
748
748
|
this.fill = input('#FFFF');
|
|
749
749
|
}
|
|
750
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
751
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
750
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LightbulbIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
751
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: LightbulbIconComponent, isStandalone: true, selector: "ndt-lightbulb-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
752
752
|
<svg
|
|
753
753
|
[attr.fill]="fill()"
|
|
754
754
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -762,7 +762,7 @@ class LightbulbIconComponent {
|
|
|
762
762
|
</svg>
|
|
763
763
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
764
764
|
}
|
|
765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LightbulbIconComponent, decorators: [{
|
|
766
766
|
type: Component,
|
|
767
767
|
args: [{
|
|
768
768
|
selector: 'ndt-lightbulb-icon',
|
|
@@ -788,8 +788,8 @@ class LightingIconComponent {
|
|
|
788
788
|
constructor() {
|
|
789
789
|
this.fill = input('#FFFF');
|
|
790
790
|
}
|
|
791
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
792
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
791
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LightingIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
792
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: LightingIconComponent, isStandalone: true, selector: "ndt-lighting-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
793
793
|
<svg
|
|
794
794
|
[attr.fill]="fill()"
|
|
795
795
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -804,7 +804,7 @@ class LightingIconComponent {
|
|
|
804
804
|
</svg>
|
|
805
805
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
806
806
|
}
|
|
807
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
807
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LightingIconComponent, decorators: [{
|
|
808
808
|
type: Component,
|
|
809
809
|
args: [{
|
|
810
810
|
selector: 'ndt-lighting-icon',
|
|
@@ -831,8 +831,8 @@ class LockIconComponent {
|
|
|
831
831
|
constructor() {
|
|
832
832
|
this.fill = input('#FFFF');
|
|
833
833
|
}
|
|
834
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
835
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
834
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LockIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
835
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: LockIconComponent, isStandalone: true, selector: "ndt-lock-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
836
836
|
<svg
|
|
837
837
|
[attr.fill]="fill()"
|
|
838
838
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -846,7 +846,7 @@ class LockIconComponent {
|
|
|
846
846
|
</svg>
|
|
847
847
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
848
848
|
}
|
|
849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: LockIconComponent, decorators: [{
|
|
850
850
|
type: Component,
|
|
851
851
|
args: [{
|
|
852
852
|
selector: 'ndt-lock-icon',
|
|
@@ -872,8 +872,8 @@ class MoonIconComponent {
|
|
|
872
872
|
constructor() {
|
|
873
873
|
this.fill = input('#FFFF');
|
|
874
874
|
}
|
|
875
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
876
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
875
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MoonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
876
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: MoonIconComponent, isStandalone: true, selector: "ndt-moon-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
877
877
|
<svg
|
|
878
878
|
[attr.fill]="fill()"
|
|
879
879
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -891,7 +891,7 @@ class MoonIconComponent {
|
|
|
891
891
|
</svg>
|
|
892
892
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
893
893
|
}
|
|
894
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MoonIconComponent, decorators: [{
|
|
895
895
|
type: Component,
|
|
896
896
|
args: [{
|
|
897
897
|
selector: 'ndt-moon-icon',
|
|
@@ -921,8 +921,8 @@ class NetworkIconComponent {
|
|
|
921
921
|
constructor() {
|
|
922
922
|
this.fill = input('#FFFF');
|
|
923
923
|
}
|
|
924
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
925
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
924
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NetworkIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
925
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: NetworkIconComponent, isStandalone: true, selector: "ndt-network-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
926
926
|
<svg
|
|
927
927
|
[attr.fill]="fill()"
|
|
928
928
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -940,7 +940,7 @@ class NetworkIconComponent {
|
|
|
940
940
|
</svg>
|
|
941
941
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
942
942
|
}
|
|
943
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
943
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: NetworkIconComponent, decorators: [{
|
|
944
944
|
type: Component,
|
|
945
945
|
args: [{
|
|
946
946
|
selector: 'ndt-network-icon',
|
|
@@ -970,8 +970,8 @@ class PuzzleIconComponent {
|
|
|
970
970
|
constructor() {
|
|
971
971
|
this.fill = input('#FFFF');
|
|
972
972
|
}
|
|
973
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
974
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
973
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PuzzleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
974
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: PuzzleIconComponent, isStandalone: true, selector: "ndt-puzzle-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
975
975
|
<svg
|
|
976
976
|
[attr.fill]="fill()"
|
|
977
977
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -989,7 +989,7 @@ class PuzzleIconComponent {
|
|
|
989
989
|
</svg>
|
|
990
990
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
991
991
|
}
|
|
992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: PuzzleIconComponent, decorators: [{
|
|
993
993
|
type: Component,
|
|
994
994
|
args: [{
|
|
995
995
|
selector: 'ndt-puzzle-icon',
|
|
@@ -1019,8 +1019,8 @@ class RefreshIconComponent {
|
|
|
1019
1019
|
constructor() {
|
|
1020
1020
|
this.fill = input('#FFFF');
|
|
1021
1021
|
}
|
|
1022
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1023
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1022
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: RefreshIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1023
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: RefreshIconComponent, isStandalone: true, selector: "ndt-refresh-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1024
1024
|
<svg
|
|
1025
1025
|
[attr.fill]="fill()"
|
|
1026
1026
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1038,7 +1038,7 @@ class RefreshIconComponent {
|
|
|
1038
1038
|
</svg>
|
|
1039
1039
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1040
1040
|
}
|
|
1041
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1041
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: RefreshIconComponent, decorators: [{
|
|
1042
1042
|
type: Component,
|
|
1043
1043
|
args: [{
|
|
1044
1044
|
selector: 'ndt-refresh-icon',
|
|
@@ -1068,8 +1068,8 @@ class StarIconComponent {
|
|
|
1068
1068
|
constructor() {
|
|
1069
1069
|
this.fill = input('#FFFF');
|
|
1070
1070
|
}
|
|
1071
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1072
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1071
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: StarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1072
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: StarIconComponent, isStandalone: true, selector: "ndt-star-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1073
1073
|
<svg
|
|
1074
1074
|
[attr.fill]="fill()"
|
|
1075
1075
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1087,7 +1087,7 @@ class StarIconComponent {
|
|
|
1087
1087
|
</svg>
|
|
1088
1088
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1089
1089
|
}
|
|
1090
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: StarIconComponent, decorators: [{
|
|
1091
1091
|
type: Component,
|
|
1092
1092
|
args: [{
|
|
1093
1093
|
selector: 'ndt-star-icon',
|
|
@@ -1117,8 +1117,8 @@ class SunIconComponent {
|
|
|
1117
1117
|
constructor() {
|
|
1118
1118
|
this.fill = input('#FFFF');
|
|
1119
1119
|
}
|
|
1120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SunIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: SunIconComponent, isStandalone: true, selector: "ndt-sun-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1122
1122
|
<svg
|
|
1123
1123
|
[attr.fill]="fill()"
|
|
1124
1124
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1136,7 +1136,7 @@ class SunIconComponent {
|
|
|
1136
1136
|
</svg>
|
|
1137
1137
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1138
1138
|
}
|
|
1139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SunIconComponent, decorators: [{
|
|
1140
1140
|
type: Component,
|
|
1141
1141
|
args: [{
|
|
1142
1142
|
selector: 'ndt-sun-icon',
|
|
@@ -1166,8 +1166,8 @@ class TerminalIconComponent {
|
|
|
1166
1166
|
constructor() {
|
|
1167
1167
|
this.fill = input('#FFFF');
|
|
1168
1168
|
}
|
|
1169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TerminalIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: TerminalIconComponent, isStandalone: true, selector: "ndt-terminal-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1171
1171
|
<svg
|
|
1172
1172
|
[attr.fill]="fill()"
|
|
1173
1173
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1185,7 +1185,7 @@ class TerminalIconComponent {
|
|
|
1185
1185
|
</svg>
|
|
1186
1186
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1187
1187
|
}
|
|
1188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TerminalIconComponent, decorators: [{
|
|
1189
1189
|
type: Component,
|
|
1190
1190
|
args: [{
|
|
1191
1191
|
selector: 'ndt-terminal-icon',
|
|
@@ -1215,8 +1215,8 @@ class ToggleLeftIconComponent {
|
|
|
1215
1215
|
constructor() {
|
|
1216
1216
|
this.fill = input('#FFFF');
|
|
1217
1217
|
}
|
|
1218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1218
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ToggleLeftIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1219
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: ToggleLeftIconComponent, isStandalone: true, selector: "ndt-toggle-left-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1220
1220
|
<svg
|
|
1221
1221
|
[attr.fill]="fill()"
|
|
1222
1222
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1234,7 +1234,7 @@ class ToggleLeftIconComponent {
|
|
|
1234
1234
|
</svg>
|
|
1235
1235
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1236
1236
|
}
|
|
1237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: ToggleLeftIconComponent, decorators: [{
|
|
1238
1238
|
type: Component,
|
|
1239
1239
|
args: [{
|
|
1240
1240
|
selector: 'ndt-toggle-left-icon',
|
|
@@ -1264,8 +1264,8 @@ class TranslateIconComponent {
|
|
|
1264
1264
|
constructor() {
|
|
1265
1265
|
this.fill = input('#FFFF');
|
|
1266
1266
|
}
|
|
1267
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TranslateIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: TranslateIconComponent, isStandalone: true, selector: "ndt-translate-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1269
1269
|
<svg
|
|
1270
1270
|
[attr.fill]="fill()"
|
|
1271
1271
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1279,7 +1279,7 @@ class TranslateIconComponent {
|
|
|
1279
1279
|
</svg>
|
|
1280
1280
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1281
1281
|
}
|
|
1282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TranslateIconComponent, decorators: [{
|
|
1283
1283
|
type: Component,
|
|
1284
1284
|
args: [{
|
|
1285
1285
|
selector: 'ndt-translate-icon',
|
|
@@ -1305,8 +1305,8 @@ class TrashIconComponent {
|
|
|
1305
1305
|
constructor() {
|
|
1306
1306
|
this.fill = input('#FFFF');
|
|
1307
1307
|
}
|
|
1308
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1309
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TrashIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: TrashIconComponent, isStandalone: true, selector: "ndt-trash-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1310
1310
|
<svg
|
|
1311
1311
|
[attr.fill]="fill()"
|
|
1312
1312
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1320,7 +1320,7 @@ class TrashIconComponent {
|
|
|
1320
1320
|
</svg>
|
|
1321
1321
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1322
1322
|
}
|
|
1323
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1323
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: TrashIconComponent, decorators: [{
|
|
1324
1324
|
type: Component,
|
|
1325
1325
|
args: [{
|
|
1326
1326
|
selector: 'ndt-trash-icon',
|
|
@@ -1346,8 +1346,8 @@ class UsersIconComponent {
|
|
|
1346
1346
|
constructor() {
|
|
1347
1347
|
this.fill = input('#FFFF');
|
|
1348
1348
|
}
|
|
1349
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1350
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
1349
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: UsersIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1350
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: UsersIconComponent, isStandalone: true, selector: "ndt-users-icon", inputs: { fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1351
1351
|
<svg
|
|
1352
1352
|
[attr.fill]="fill()"
|
|
1353
1353
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -1365,7 +1365,7 @@ class UsersIconComponent {
|
|
|
1365
1365
|
</svg>
|
|
1366
1366
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1367
1367
|
}
|
|
1368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: UsersIconComponent, decorators: [{
|
|
1369
1369
|
type: Component,
|
|
1370
1370
|
args: [{
|
|
1371
1371
|
selector: 'ndt-users-icon',
|
|
@@ -1397,8 +1397,8 @@ class DevToolbarIconComponent {
|
|
|
1397
1397
|
this.name = input.required();
|
|
1398
1398
|
this.fill = computed(() => this.stateService.theme() === 'dark' ? '#FFFFFF' : '#000000');
|
|
1399
1399
|
}
|
|
1400
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1401
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
1400
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1401
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarIconComponent, isStandalone: true, selector: "ndt-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
1402
1402
|
@switch (name()) { @case ('angular') {
|
|
1403
1403
|
<ndt-angular-icon />
|
|
1404
1404
|
} @case ('bolt') {
|
|
@@ -1458,7 +1458,7 @@ class DevToolbarIconComponent {
|
|
|
1458
1458
|
} }
|
|
1459
1459
|
`, isInline: true, dependencies: [{ kind: "component", type: AngularIconComponent, selector: "ndt-angular-icon" }, { kind: "component", type: BoltIconComponent, selector: "ndt-bolt-icon", inputs: ["fill"] }, { kind: "component", type: BugIconComponent, selector: "ndt-bug-icon", inputs: ["fill"] }, { kind: "component", type: CodeIconComponent, selector: "ndt-code-icon", inputs: ["fill"] }, { kind: "component", type: DatabaseIconComponent, selector: "ndt-database-icon", inputs: ["fill"] }, { kind: "component", type: DocsIconComponent, selector: "ndt-docs-icon", inputs: ["fill"] }, { kind: "component", type: DiscordIconComponent, selector: "ndt-discord-icon", inputs: ["fill"] }, { kind: "component", type: ExportIconComponent, selector: "ndt-export-icon", inputs: ["fill"] }, { kind: "component", type: FilterIconComponent, selector: "ndt-filter-icon", inputs: ["fill"] }, { kind: "component", type: GaugeIconComponent, selector: "ndt-gauge-icon", inputs: ["fill"] }, { kind: "component", type: GearIconComponent, selector: "ndt-gear-icon", inputs: ["fill"] }, { kind: "component", type: GitBranchIconComponent, selector: "ndt-git-branch-icon", inputs: ["fill"] }, { kind: "component", type: ImportIconComponent, selector: "ndt-import-icon", inputs: ["fill"] }, { kind: "component", type: LayoutIconComponent, selector: "ndt-layout-icon", inputs: ["fill"] }, { kind: "component", type: LightbulbIconComponent, selector: "ndt-lightbulb-icon", inputs: ["fill"] }, { kind: "component", type: LightingIconComponent, selector: "ndt-lighting-icon", inputs: ["fill"] }, { kind: "component", type: LockIconComponent, selector: "ndt-lock-icon", inputs: ["fill"] }, { kind: "component", type: NetworkIconComponent, selector: "ndt-network-icon", inputs: ["fill"] }, { kind: "component", type: PuzzleIconComponent, selector: "ndt-puzzle-icon", inputs: ["fill"] }, { kind: "component", type: RefreshIconComponent, selector: "ndt-refresh-icon", inputs: ["fill"] }, { kind: "component", type: StarIconComponent, selector: "ndt-star-icon", inputs: ["fill"] }, { kind: "component", type: TerminalIconComponent, selector: "ndt-terminal-icon", inputs: ["fill"] }, { kind: "component", type: ToggleLeftIconComponent, selector: "ndt-toggle-left-icon", inputs: ["fill"] }, { kind: "component", type: UsersIconComponent, selector: "ndt-users-icon", inputs: ["fill"] }, { kind: "component", type: SunIconComponent, selector: "ndt-sun-icon", inputs: ["fill"] }, { kind: "component", type: MoonIconComponent, selector: "ndt-moon-icon", inputs: ["fill"] }, { kind: "component", type: TranslateIconComponent, selector: "ndt-translate-icon", inputs: ["fill"] }, { kind: "component", type: TrashIconComponent, selector: "ndt-trash-icon", inputs: ["fill"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1460
1460
|
}
|
|
1461
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarIconComponent, decorators: [{
|
|
1462
1462
|
type: Component,
|
|
1463
1463
|
args: [{
|
|
1464
1464
|
selector: 'ndt-icon',
|
|
@@ -1556,6 +1556,206 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
1556
1556
|
}]
|
|
1557
1557
|
}] });
|
|
1558
1558
|
|
|
1559
|
+
/**
|
|
1560
|
+
* Container component for displaying lists of items with consistent scrolling,
|
|
1561
|
+
* empty states, and layout across all tools.
|
|
1562
|
+
*
|
|
1563
|
+
* @example
|
|
1564
|
+
* ```html
|
|
1565
|
+
* <ndt-list
|
|
1566
|
+
* [hasItems]="items().length > 0"
|
|
1567
|
+
* [hasResults]="filteredItems().length > 0"
|
|
1568
|
+
* emptyMessage="No items found"
|
|
1569
|
+
* noResultsMessage="No items match your filter"
|
|
1570
|
+
* >
|
|
1571
|
+
* @for (item of filteredItems(); track item.id) {
|
|
1572
|
+
* <ndt-list-item ... />
|
|
1573
|
+
* }
|
|
1574
|
+
* </ndt-list>
|
|
1575
|
+
* ```
|
|
1576
|
+
*/
|
|
1577
|
+
class DevToolbarListComponent {
|
|
1578
|
+
constructor() {
|
|
1579
|
+
/**
|
|
1580
|
+
* Whether the list has any items at all (before filtering).
|
|
1581
|
+
* When false, shows the emptyMessage.
|
|
1582
|
+
*/
|
|
1583
|
+
this.hasItems = input(true);
|
|
1584
|
+
/**
|
|
1585
|
+
* Whether the list has any results after filtering.
|
|
1586
|
+
* When false (but hasItems is true), shows the noResultsMessage.
|
|
1587
|
+
*/
|
|
1588
|
+
this.hasResults = input(true);
|
|
1589
|
+
/**
|
|
1590
|
+
* Message to display when there are no items at all.
|
|
1591
|
+
* @example "No feature flags found"
|
|
1592
|
+
*/
|
|
1593
|
+
this.emptyMessage = input('No items found');
|
|
1594
|
+
/**
|
|
1595
|
+
* Optional hint text to display below the empty message.
|
|
1596
|
+
* @example "Call setAvailableOptions() to configure features"
|
|
1597
|
+
*/
|
|
1598
|
+
this.emptyHint = input(undefined);
|
|
1599
|
+
/**
|
|
1600
|
+
* Message to display when items exist but none match the current filter.
|
|
1601
|
+
* @example "No flags match your filter"
|
|
1602
|
+
*/
|
|
1603
|
+
this.noResultsMessage = input('No results match your filter');
|
|
1604
|
+
}
|
|
1605
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1606
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarListComponent, isStandalone: true, selector: "ndt-list", inputs: { hasItems: { classPropertyName: "hasItems", publicName: "hasItems", isSignal: true, isRequired: false, transformFunction: null }, hasResults: { classPropertyName: "hasResults", publicName: "hasResults", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, emptyHint: { classPropertyName: "emptyHint", publicName: "emptyHint", isSignal: true, isRequired: false, transformFunction: null }, noResultsMessage: { classPropertyName: "noResultsMessage", publicName: "noResultsMessage", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1607
|
+
@if (!hasItems()) {
|
|
1608
|
+
<div class="empty-state">
|
|
1609
|
+
<p>{{ emptyMessage() }}</p>
|
|
1610
|
+
@if (emptyHint()) {
|
|
1611
|
+
<p class="hint">{{ emptyHint() }}</p>
|
|
1612
|
+
}
|
|
1613
|
+
</div>
|
|
1614
|
+
} @else if (!hasResults()) {
|
|
1615
|
+
<div class="empty-state">
|
|
1616
|
+
<p>{{ noResultsMessage() }}</p>
|
|
1617
|
+
</div>
|
|
1618
|
+
} @else {
|
|
1619
|
+
<div class="list-container">
|
|
1620
|
+
<ng-content />
|
|
1621
|
+
</div>
|
|
1622
|
+
}
|
|
1623
|
+
`, isInline: true, styles: [":host{display:flex;flex-direction:column;flex:1;min-height:0}.empty-state{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;justify-content:center;align-items:center;border:1px solid var(--ndt-warning-border);border-radius:var(--ndt-border-radius-medium);padding:var(--ndt-spacing-md);background:var(--ndt-warning-background);color:var(--ndt-text-muted);p{margin:0}.hint{font-size:var(--ndt-font-size-xs)}}.list-container{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;overflow-y:auto;padding-right:var(--ndt-spacing-sm);&::-webkit-scrollbar{width:8px}&::-webkit-scrollbar-track{background:var(--ndt-background-secondary);border-radius:4px}&::-webkit-scrollbar-thumb{background:var(--ndt-border-primary);border-radius:4px;&:hover{background:var(--ndt-hover-bg)}}scrollbar-width:thin;scrollbar-color:var(--ndt-border-primary) var(--ndt-background-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
1624
|
+
}
|
|
1625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarListComponent, decorators: [{
|
|
1626
|
+
type: Component,
|
|
1627
|
+
args: [{ selector: 'ndt-list', standalone: true, imports: [CommonModule], template: `
|
|
1628
|
+
@if (!hasItems()) {
|
|
1629
|
+
<div class="empty-state">
|
|
1630
|
+
<p>{{ emptyMessage() }}</p>
|
|
1631
|
+
@if (emptyHint()) {
|
|
1632
|
+
<p class="hint">{{ emptyHint() }}</p>
|
|
1633
|
+
}
|
|
1634
|
+
</div>
|
|
1635
|
+
} @else if (!hasResults()) {
|
|
1636
|
+
<div class="empty-state">
|
|
1637
|
+
<p>{{ noResultsMessage() }}</p>
|
|
1638
|
+
</div>
|
|
1639
|
+
} @else {
|
|
1640
|
+
<div class="list-container">
|
|
1641
|
+
<ng-content />
|
|
1642
|
+
</div>
|
|
1643
|
+
}
|
|
1644
|
+
`, styles: [":host{display:flex;flex-direction:column;flex:1;min-height:0}.empty-state{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;justify-content:center;align-items:center;border:1px solid var(--ndt-warning-border);border-radius:var(--ndt-border-radius-medium);padding:var(--ndt-spacing-md);background:var(--ndt-warning-background);color:var(--ndt-text-muted);p{margin:0}.hint{font-size:var(--ndt-font-size-xs)}}.list-container{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;overflow-y:auto;padding-right:var(--ndt-spacing-sm);&::-webkit-scrollbar{width:8px}&::-webkit-scrollbar-track{background:var(--ndt-background-secondary);border-radius:4px}&::-webkit-scrollbar-thumb{background:var(--ndt-border-primary);border-radius:4px;&:hover{background:var(--ndt-hover-bg)}}scrollbar-width:thin;scrollbar-color:var(--ndt-border-primary) var(--ndt-background-secondary)}\n"] }]
|
|
1645
|
+
}] });
|
|
1646
|
+
|
|
1647
|
+
/**
|
|
1648
|
+
* List item component with consistent layout, dot badge indicator,
|
|
1649
|
+
* and forced state highlighting.
|
|
1650
|
+
*
|
|
1651
|
+
* @example
|
|
1652
|
+
* ```html
|
|
1653
|
+
* <ndt-list-item
|
|
1654
|
+
* title="Analytics Dashboard"
|
|
1655
|
+
* description="Advanced reporting tools"
|
|
1656
|
+
* [isForced]="false"
|
|
1657
|
+
* [currentValue]="true"
|
|
1658
|
+
* [originalValue]="undefined"
|
|
1659
|
+
* >
|
|
1660
|
+
* <ndt-select ... />
|
|
1661
|
+
* </ndt-list-item>
|
|
1662
|
+
* ```
|
|
1663
|
+
*/
|
|
1664
|
+
class DevToolbarListItemComponent {
|
|
1665
|
+
constructor() {
|
|
1666
|
+
/**
|
|
1667
|
+
* Display title for the list item
|
|
1668
|
+
* @example "Analytics Dashboard"
|
|
1669
|
+
*/
|
|
1670
|
+
this.title = input.required();
|
|
1671
|
+
/**
|
|
1672
|
+
* Optional description text
|
|
1673
|
+
* @example "Advanced reporting and data visualization tools"
|
|
1674
|
+
*/
|
|
1675
|
+
this.description = input(undefined);
|
|
1676
|
+
/**
|
|
1677
|
+
* Whether this item's state is forced via the dev toolbar
|
|
1678
|
+
*/
|
|
1679
|
+
this.isForced = input(false);
|
|
1680
|
+
/**
|
|
1681
|
+
* Current enabled/granted state of the item
|
|
1682
|
+
*/
|
|
1683
|
+
this.currentValue = input.required();
|
|
1684
|
+
/**
|
|
1685
|
+
* Original value before forcing (only present when isForced is true)
|
|
1686
|
+
*/
|
|
1687
|
+
this.originalValue = input(undefined);
|
|
1688
|
+
/**
|
|
1689
|
+
* Value to display in the dot indicator.
|
|
1690
|
+
* For forced items: shows originalValue
|
|
1691
|
+
* For non-forced items: shows currentValue
|
|
1692
|
+
*/
|
|
1693
|
+
this.displayValue = computed(() => {
|
|
1694
|
+
const originalValue = this.originalValue();
|
|
1695
|
+
return this.isForced() && originalValue !== undefined
|
|
1696
|
+
? originalValue
|
|
1697
|
+
: this.currentValue();
|
|
1698
|
+
});
|
|
1699
|
+
/**
|
|
1700
|
+
* Tooltip text explaining the indicator state
|
|
1701
|
+
*/
|
|
1702
|
+
this.tooltipText = computed(() => {
|
|
1703
|
+
const value = this.displayValue();
|
|
1704
|
+
const state = value ? 'enabled' : 'disabled';
|
|
1705
|
+
if (this.isForced() && this.originalValue() !== undefined) {
|
|
1706
|
+
return `Originally: ${state}`;
|
|
1707
|
+
}
|
|
1708
|
+
return `Current state: ${state}`;
|
|
1709
|
+
});
|
|
1710
|
+
}
|
|
1711
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1712
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarListItemComponent, isStandalone: true, selector: "ndt-list-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, isForced: { classPropertyName: "isForced", publicName: "isForced", isSignal: true, isRequired: false, transformFunction: null }, currentValue: { classPropertyName: "currentValue", publicName: "currentValue", isSignal: true, isRequired: true, transformFunction: null }, originalValue: { classPropertyName: "originalValue", publicName: "originalValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1713
|
+
<div class="list-item" [class.list-item--forced]="isForced()">
|
|
1714
|
+
<div class="info">
|
|
1715
|
+
<h3>{{ title() }}</h3>
|
|
1716
|
+
@if (description()) {
|
|
1717
|
+
<div class="description-wrapper">
|
|
1718
|
+
<span
|
|
1719
|
+
class="dot-indicator"
|
|
1720
|
+
[class.dot-indicator--on]="displayValue()"
|
|
1721
|
+
[class.dot-indicator--off]="!displayValue()"
|
|
1722
|
+
[title]="tooltipText()"
|
|
1723
|
+
></span>
|
|
1724
|
+
<p>{{ description() }}</p>
|
|
1725
|
+
</div>
|
|
1726
|
+
}
|
|
1727
|
+
</div>
|
|
1728
|
+
<div class="actions">
|
|
1729
|
+
<ng-content />
|
|
1730
|
+
</div>
|
|
1731
|
+
</div>
|
|
1732
|
+
`, isInline: true, styles: [".list-item{display:flex;flex-direction:row;gap:var(--ndt-spacing-sm);background:var(--ndt-background-secondary);padding:var(--ndt-spacing-md);border-radius:var(--ndt-border-radius-medium);transition:background-color .2s ease}.list-item.list-item--forced{background:#3b82f60d;border-left:2px solid rgba(59,130,246,.3);padding-left:calc(var(--ndt-spacing-md) - 2px)}.list-item .info{flex:0 0 65%}.list-item .info h3{margin:0;font-size:var(--ndt-font-size-md);color:var(--ndt-text-primary)}.list-item .info .description-wrapper{display:flex;align-items:center;gap:8px;margin-top:4px}.list-item .info .dot-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;cursor:help;transition:all .2s ease}.list-item .info .dot-indicator.dot-indicator--on{background:#22c55e;box-shadow:0 0 0 2px #22c55e33}.list-item .info .dot-indicator.dot-indicator--off{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.list-item .info p{margin:0;font-size:var(--ndt-font-size-xs);color:var(--ndt-text-muted);flex:1}.list-item .actions{flex:0 0 35%;display:flex;align-items:flex-start}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
1733
|
+
}
|
|
1734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarListItemComponent, decorators: [{
|
|
1735
|
+
type: Component,
|
|
1736
|
+
args: [{ selector: 'ndt-list-item', standalone: true, imports: [CommonModule], template: `
|
|
1737
|
+
<div class="list-item" [class.list-item--forced]="isForced()">
|
|
1738
|
+
<div class="info">
|
|
1739
|
+
<h3>{{ title() }}</h3>
|
|
1740
|
+
@if (description()) {
|
|
1741
|
+
<div class="description-wrapper">
|
|
1742
|
+
<span
|
|
1743
|
+
class="dot-indicator"
|
|
1744
|
+
[class.dot-indicator--on]="displayValue()"
|
|
1745
|
+
[class.dot-indicator--off]="!displayValue()"
|
|
1746
|
+
[title]="tooltipText()"
|
|
1747
|
+
></span>
|
|
1748
|
+
<p>{{ description() }}</p>
|
|
1749
|
+
</div>
|
|
1750
|
+
}
|
|
1751
|
+
</div>
|
|
1752
|
+
<div class="actions">
|
|
1753
|
+
<ng-content />
|
|
1754
|
+
</div>
|
|
1755
|
+
</div>
|
|
1756
|
+
`, styles: [".list-item{display:flex;flex-direction:row;gap:var(--ndt-spacing-sm);background:var(--ndt-background-secondary);padding:var(--ndt-spacing-md);border-radius:var(--ndt-border-radius-medium);transition:background-color .2s ease}.list-item.list-item--forced{background:#3b82f60d;border-left:2px solid rgba(59,130,246,.3);padding-left:calc(var(--ndt-spacing-md) - 2px)}.list-item .info{flex:0 0 65%}.list-item .info h3{margin:0;font-size:var(--ndt-font-size-md);color:var(--ndt-text-primary)}.list-item .info .description-wrapper{display:flex;align-items:center;gap:8px;margin-top:4px}.list-item .info .dot-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;cursor:help;transition:all .2s ease}.list-item .info .dot-indicator.dot-indicator--on{background:#22c55e;box-shadow:0 0 0 2px #22c55e33}.list-item .info .dot-indicator.dot-indicator--off{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.list-item .info p{margin:0;font-size:var(--ndt-font-size-xs);color:var(--ndt-text-muted);flex:1}.list-item .actions{flex:0 0 35%;display:flex;align-items:flex-start}\n"] }]
|
|
1757
|
+
}] });
|
|
1758
|
+
|
|
1559
1759
|
class DevToolbarToolButtonComponent {
|
|
1560
1760
|
constructor() {
|
|
1561
1761
|
// Injects
|
|
@@ -1596,8 +1796,8 @@ class DevToolbarToolButtonComponent {
|
|
|
1596
1796
|
onBlur() {
|
|
1597
1797
|
this.isFocused.set(false);
|
|
1598
1798
|
}
|
|
1599
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1600
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
1799
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarToolButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1800
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarToolButtonComponent, isStandalone: true, selector: "ndt-tool-button", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, toolId: { classPropertyName: "toolId", publicName: "toolId", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { open: "open" }, ngImport: i0, template: `
|
|
1601
1801
|
<button
|
|
1602
1802
|
class="tool-button"
|
|
1603
1803
|
[class.tool-button--active]="isActive()"
|
|
@@ -1633,7 +1833,7 @@ class DevToolbarToolButtonComponent {
|
|
|
1633
1833
|
]),
|
|
1634
1834
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1635
1835
|
}
|
|
1636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1836
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarToolButtonComponent, decorators: [{
|
|
1637
1837
|
type: Component,
|
|
1638
1838
|
args: [{ selector: 'ndt-tool-button', standalone: true, template: `
|
|
1639
1839
|
<button
|
|
@@ -1676,13 +1876,13 @@ class DevToolbarWindowComponent {
|
|
|
1676
1876
|
constructor() {
|
|
1677
1877
|
this.devToolbarStateService = inject(DevToolbarStateService);
|
|
1678
1878
|
this.config = input.required();
|
|
1679
|
-
this.
|
|
1879
|
+
this.closed = output();
|
|
1680
1880
|
this.maximize = output();
|
|
1681
1881
|
this.minimize = output();
|
|
1682
1882
|
this.theme = computed(() => this.devToolbarStateService.theme());
|
|
1683
1883
|
}
|
|
1684
1884
|
onClose() {
|
|
1685
|
-
this.
|
|
1885
|
+
this.closed.emit();
|
|
1686
1886
|
}
|
|
1687
1887
|
onMaximize() {
|
|
1688
1888
|
this.maximize.emit();
|
|
@@ -1690,8 +1890,8 @@ class DevToolbarWindowComponent {
|
|
|
1690
1890
|
onMinimize() {
|
|
1691
1891
|
this.minimize.emit();
|
|
1692
1892
|
}
|
|
1693
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1694
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
1893
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarWindowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1894
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarWindowComponent, isStandalone: true, selector: "ndt-window", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { closed: "closed", maximize: "maximize", minimize: "minimize" }, ngImport: i0, template: `
|
|
1695
1895
|
<div class="window dev-toolbar" [attr.data-theme]="theme()">
|
|
1696
1896
|
<div class="header">
|
|
1697
1897
|
<div class="header__content">
|
|
@@ -1729,11 +1929,11 @@ class DevToolbarWindowComponent {
|
|
|
1729
1929
|
<ng-content></ng-content>
|
|
1730
1930
|
</div>
|
|
1731
1931
|
</div>
|
|
1732
|
-
`, isInline: true, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:block;width:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.window{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;background:var(--ndt-bg-primary);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-window-padding);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";color:var(--ndt-text-secondary);z-index:999999999;box-shadow:var(--ndt-shadow-window)}.header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}.header h1{font-size:var(--ndt-font-size-lg);line-height:1.2;margin:0}.header__title{display:flex;align-items:center;gap:var(--ndt-spacing-sm)}.header__title .beta-tag{font-size:var(--ndt-font-size-xxs, .65rem);background:var(--ndt-purple, #8b5cf6);color:var(--ndt-text-on-primary);padding:1px 4px;margin-left:var(--ndt-spacing-xs);border-radius:var(--ndt-border-radius-small);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header__description{font-size:var(--ndt-font-size-sm);color:var(--ndt-text-muted);word-wrap:break-word;overflow-wrap:break-word;max-width:100%;line-height:1.4;margin:0}.header__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.header__controls{display:flex;gap:var(--ndt-spacing-sm)}.content{flex:1;overflow:auto}.divider{height:1px;background-color:var(--ndt-border-primary);margin-bottom:var(--ndt-spacing-md);margin-top:var(--ndt-spacing-md)}.control{background:none;border:none;color:var(--ndt-text-secondary);cursor:pointer;padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);border-radius:var(--ndt-border-radius-small);font-size:var(--ndt-font-size-md);line-height:1;transition:var(--ndt-transition-smooth)}.control:hover{background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.control--close:hover{background:var(--ndt-hover-danger)}\n"],
|
|
1932
|
+
`, isInline: true, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:block;width:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.window{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;background:var(--ndt-bg-primary);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-window-padding);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";color:var(--ndt-text-secondary);z-index:999999999;box-shadow:var(--ndt-shadow-window)}.header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}.header h1{font-size:var(--ndt-font-size-lg);line-height:1.2;margin:0}.header__title{display:flex;align-items:center;gap:var(--ndt-spacing-sm)}.header__title .beta-tag{font-size:var(--ndt-font-size-xxs, .65rem);background:var(--ndt-purple, #8b5cf6);color:var(--ndt-text-on-primary);padding:1px 4px;margin-left:var(--ndt-spacing-xs);border-radius:var(--ndt-border-radius-small);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header__description{font-size:var(--ndt-font-size-sm);color:var(--ndt-text-muted);word-wrap:break-word;overflow-wrap:break-word;max-width:100%;line-height:1.4;margin:0}.header__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.header__controls{display:flex;gap:var(--ndt-spacing-sm)}.content{flex:1;overflow:auto}.divider{height:1px;background-color:var(--ndt-border-primary);margin-bottom:var(--ndt-spacing-md);margin-top:var(--ndt-spacing-md)}.control{background:none;border:none;color:var(--ndt-text-secondary);cursor:pointer;padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);border-radius:var(--ndt-border-radius-small);font-size:var(--ndt-font-size-md);line-height:1;transition:var(--ndt-transition-smooth)}.control:hover{background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.control--close:hover{background:var(--ndt-hover-danger)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1733
1933
|
}
|
|
1734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
1934
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarWindowComponent, decorators: [{
|
|
1735
1935
|
type: Component,
|
|
1736
|
-
args: [{ selector: 'ndt-window', standalone: true,
|
|
1936
|
+
args: [{ selector: 'ndt-window', standalone: true, template: `
|
|
1737
1937
|
<div class="window dev-toolbar" [attr.data-theme]="theme()">
|
|
1738
1938
|
<div class="header">
|
|
1739
1939
|
<div class="header__content">
|
|
@@ -1771,7 +1971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
1771
1971
|
<ng-content></ng-content>
|
|
1772
1972
|
</div>
|
|
1773
1973
|
</div>
|
|
1774
|
-
`, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:block;width:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.window{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;background:var(--ndt-bg-primary);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-window-padding);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";color:var(--ndt-text-secondary);z-index:999999999;box-shadow:var(--ndt-shadow-window)}.header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}.header h1{font-size:var(--ndt-font-size-lg);line-height:1.2;margin:0}.header__title{display:flex;align-items:center;gap:var(--ndt-spacing-sm)}.header__title .beta-tag{font-size:var(--ndt-font-size-xxs, .65rem);background:var(--ndt-purple, #8b5cf6);color:var(--ndt-text-on-primary);padding:1px 4px;margin-left:var(--ndt-spacing-xs);border-radius:var(--ndt-border-radius-small);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header__description{font-size:var(--ndt-font-size-sm);color:var(--ndt-text-muted);word-wrap:break-word;overflow-wrap:break-word;max-width:100%;line-height:1.4;margin:0}.header__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.header__controls{display:flex;gap:var(--ndt-spacing-sm)}.content{flex:1;overflow:auto}.divider{height:1px;background-color:var(--ndt-border-primary);margin-bottom:var(--ndt-spacing-md);margin-top:var(--ndt-spacing-md)}.control{background:none;border:none;color:var(--ndt-text-secondary);cursor:pointer;padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);border-radius:var(--ndt-border-radius-small);font-size:var(--ndt-font-size-md);line-height:1;transition:var(--ndt-transition-smooth)}.control:hover{background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.control--close:hover{background:var(--ndt-hover-danger)}\n"] }]
|
|
1974
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:block;width:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.window{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;background:var(--ndt-bg-primary);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-window-padding);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";color:var(--ndt-text-secondary);z-index:999999999;box-shadow:var(--ndt-shadow-window)}.header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}.header h1{font-size:var(--ndt-font-size-lg);line-height:1.2;margin:0}.header__title{display:flex;align-items:center;gap:var(--ndt-spacing-sm)}.header__title .beta-tag{font-size:var(--ndt-font-size-xxs, .65rem);background:var(--ndt-purple, #8b5cf6);color:var(--ndt-text-on-primary);padding:1px 4px;margin-left:var(--ndt-spacing-xs);border-radius:var(--ndt-border-radius-small);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.header__description{font-size:var(--ndt-font-size-sm);color:var(--ndt-text-muted);word-wrap:break-word;overflow-wrap:break-word;max-width:100%;line-height:1.4;margin:0}.header__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.header__controls{display:flex;gap:var(--ndt-spacing-sm)}.content{flex:1;overflow:auto}.divider{height:1px;background-color:var(--ndt-border-primary);margin-bottom:var(--ndt-spacing-md);margin-top:var(--ndt-spacing-md)}.control{background:none;border:none;color:var(--ndt-text-secondary);cursor:pointer;padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);border-radius:var(--ndt-border-radius-small);font-size:var(--ndt-font-size-md);line-height:1;transition:var(--ndt-transition-smooth)}.control:hover{background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.control--close:hover{background:var(--ndt-hover-danger)}\n"] }]
|
|
1775
1975
|
}] });
|
|
1776
1976
|
|
|
1777
1977
|
class DevToolbarToolComponent {
|
|
@@ -1835,8 +2035,8 @@ class DevToolbarToolComponent {
|
|
|
1835
2035
|
const buttonContainerRect = this.buttonContainer?.nativeElement?.getBoundingClientRect();
|
|
1836
2036
|
return buttonContainerRect?.left ?? 0;
|
|
1837
2037
|
}
|
|
1838
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1839
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
2038
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2039
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarToolComponent, isStandalone: true, selector: "ndt-toolbar-tool", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null } }, queries: [{ propertyName: "buttonComponent", first: true, predicate: DevToolbarToolButtonComponent, descendants: true }], viewQueries: [{ propertyName: "buttonContainer", first: true, predicate: ["buttonContainer"], descendants: true }], ngImport: i0, template: `
|
|
1840
2040
|
<div #trigger="cdkOverlayOrigin" class="dev-toolbar-tool" cdkOverlayOrigin>
|
|
1841
2041
|
<div
|
|
1842
2042
|
class="dev-toolbar-tool__icon"
|
|
@@ -1866,13 +2066,13 @@ class DevToolbarToolComponent {
|
|
|
1866
2066
|
[cdkConnectedOverlayHeight]="height()"
|
|
1867
2067
|
cdkConnectedOverlay
|
|
1868
2068
|
>
|
|
1869
|
-
<ndt-window [@slideAnimation] [config]="options()" (
|
|
2069
|
+
<ndt-window [@slideAnimation] [config]="options()" (closed)="onClose()">
|
|
1870
2070
|
<ng-content />
|
|
1871
2071
|
</ndt-window>
|
|
1872
2072
|
</ng-template>
|
|
1873
2073
|
}
|
|
1874
2074
|
</div>
|
|
1875
|
-
`, isInline: true, styles: [".tool{position:relative}.trigger{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: DevToolbarWindowComponent, selector: "ndt-window", inputs: ["config"], outputs: ["
|
|
2075
|
+
`, isInline: true, styles: [".tool{position:relative}.trigger{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: DevToolbarWindowComponent, selector: "ndt-window", inputs: ["config"], outputs: ["closed", "maximize", "minimize"] }, { kind: "component", type: DevToolbarToolButtonComponent, selector: "ndt-tool-button", inputs: ["title", "toolId"], outputs: ["open"] }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }], animations: [
|
|
1876
2076
|
trigger('slideAnimation', [
|
|
1877
2077
|
transition(':enter', [
|
|
1878
2078
|
style({
|
|
@@ -1897,7 +2097,7 @@ class DevToolbarToolComponent {
|
|
|
1897
2097
|
]),
|
|
1898
2098
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1899
2099
|
}
|
|
1900
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarToolComponent, decorators: [{
|
|
1901
2101
|
type: Component,
|
|
1902
2102
|
args: [{ selector: 'ndt-toolbar-tool', standalone: true, imports: [
|
|
1903
2103
|
CdkConnectedOverlay,
|
|
@@ -1935,7 +2135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
1935
2135
|
[cdkConnectedOverlayHeight]="height()"
|
|
1936
2136
|
cdkConnectedOverlay
|
|
1937
2137
|
>
|
|
1938
|
-
<ndt-window [@slideAnimation] [config]="options()" (
|
|
2138
|
+
<ndt-window [@slideAnimation] [config]="options()" (closed)="onClose()">
|
|
1939
2139
|
<ng-content />
|
|
1940
2140
|
</ndt-window>
|
|
1941
2141
|
</ng-template>
|
|
@@ -1981,8 +2181,8 @@ class DevToolbarInputComponent {
|
|
|
1981
2181
|
this.ariaLabel = input('');
|
|
1982
2182
|
this.inputClass = input('input');
|
|
1983
2183
|
}
|
|
1984
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
1985
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
2184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: DevToolbarInputComponent, isStandalone: true, selector: "ndt-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, ngImport: i0, template: `
|
|
1986
2186
|
<input
|
|
1987
2187
|
[attr.aria-label]="ariaLabel()"
|
|
1988
2188
|
[type]="type()"
|
|
@@ -1991,9 +2191,9 @@ class DevToolbarInputComponent {
|
|
|
1991
2191
|
[placeholder]="placeholder()"
|
|
1992
2192
|
(ngModelChange)="value.set($event)"
|
|
1993
2193
|
/>
|
|
1994
|
-
`, isInline: true, styles: [":host{display:block}.input{width:100%;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);transition:var(--ndt-transition-default);box-sizing:border-box;min-height:36px
|
|
2194
|
+
`, isInline: true, styles: [":host{display:block}.input{width:100%;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);transition:var(--ndt-transition-default);box-sizing:border-box;min-height:36px;&::placeholder{color:var(--ndt-text-muted)}&:focus{outline:none;border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}&:disabled{background-color:var(--ndt-bg-secondary);cursor:not-allowed;color:var(--ndt-text-muted)}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1995
2195
|
}
|
|
1996
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInputComponent, decorators: [{
|
|
1997
2197
|
type: Component,
|
|
1998
2198
|
args: [{ selector: 'ndt-input', standalone: true, imports: [FormsModule], template: `
|
|
1999
2199
|
<input
|
|
@@ -2004,7 +2204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2004
2204
|
[placeholder]="placeholder()"
|
|
2005
2205
|
(ngModelChange)="value.set($event)"
|
|
2006
2206
|
/>
|
|
2007
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}.input{width:100%;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);transition:var(--ndt-transition-default);box-sizing:border-box;min-height:36px
|
|
2207
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}.input{width:100%;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);transition:var(--ndt-transition-default);box-sizing:border-box;min-height:36px;&::placeholder{color:var(--ndt-text-muted)}&:focus{outline:none;border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}&:disabled{background-color:var(--ndt-bg-secondary);cursor:not-allowed;color:var(--ndt-text-muted)}}\n"] }]
|
|
2008
2208
|
}] });
|
|
2009
2209
|
|
|
2010
2210
|
class DevToolbarSelectComponent {
|
|
@@ -2051,8 +2251,8 @@ class DevToolbarSelectComponent {
|
|
|
2051
2251
|
this.value.set(option.value);
|
|
2052
2252
|
this.close();
|
|
2053
2253
|
}
|
|
2054
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2055
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
2254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2255
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarSelectComponent, isStandalone: true, selector: "ndt-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, ngImport: i0, template: `
|
|
2056
2256
|
<div
|
|
2057
2257
|
class="dev-toolbar select"
|
|
2058
2258
|
[class.small]="size() === 'small'"
|
|
@@ -2101,11 +2301,11 @@ class DevToolbarSelectComponent {
|
|
|
2101
2301
|
}
|
|
2102
2302
|
</div>
|
|
2103
2303
|
</ng-template>
|
|
2104
|
-
`, isInline: true, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:inline-block;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.select{position:relative;width:100%;min-width:120px;display:flex;align-items:center;justify-content:space-between;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--ndt-transition-default);outline:none;min-height:36px;box-sizing:border-box}.select:hover{background-color:var(--ndt-hover-bg);border-color:var(--ndt-primary)}.select:focus-visible{outline:none;border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.small{padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);font-size:var(--ndt-font-size-sm);height:24px}.select.open{border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.open .select__arrow{transform:rotate(180deg)}.select__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin-right:var(--ndt-spacing-sm);min-width:0;display:flex;align-items:center}.select__arrow{width:16px;height:16px;flex-shrink:0;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease;opacity:.9}.select-menu{display:inline-flex;flex-direction:column;min-width:180px;background-color:var(--ndt-bg-primary);padding:var(--ndt-spacing-xs) 0;border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);box-shadow:var(--ndt-shadow-window);color:var(--ndt-text-primary);max-height:min(400px,70vh);overflow-y:auto
|
|
2304
|
+
`, isInline: true, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:inline-block;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.select{position:relative;width:100%;min-width:120px;display:flex;align-items:center;justify-content:space-between;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--ndt-transition-default);outline:none;min-height:36px;box-sizing:border-box}.select:hover{background-color:var(--ndt-hover-bg);border-color:var(--ndt-primary)}.select:focus-visible{outline:none;border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.small{padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);font-size:var(--ndt-font-size-sm);height:24px}.select.open{border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.open .select__arrow{transform:rotate(180deg)}.select__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin-right:var(--ndt-spacing-sm);min-width:0;display:flex;align-items:center}.select__arrow{width:16px;height:16px;flex-shrink:0;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease;opacity:.9}.select-menu{display:inline-flex;flex-direction:column;min-width:180px;background-color:var(--ndt-bg-primary);padding:var(--ndt-spacing-xs) 0;border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);box-shadow:var(--ndt-shadow-window);color:var(--ndt-text-primary);max-height:min(400px,70vh);overflow-y:auto;backdrop-filter:blur(8px)}.select-menu::-webkit-scrollbar{width:8px;height:8px}.select-menu::-webkit-scrollbar-track{background:transparent}.select-menu::-webkit-scrollbar-thumb{background-color:var(--ndt-border-primary);border-radius:4px;border:2px solid var(--ndt-bg-primary)}.select-menu-item{background-color:transparent;cursor:pointer;border:none;color:inherit;-webkit-user-select:none;user-select:none;min-width:64px;line-height:36px;padding:0 var(--ndt-spacing-md);display:flex;align-items:center;flex-direction:row;flex:1;font-size:var(--ndt-font-size-sm);font-family:inherit;position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select-menu-item:hover{background-color:var(--ndt-hover-bg)}.select-menu-item:active{background-color:rgba(var(--ndt-primary-rgb),.15)}.select-menu-item.selected{color:var(--ndt-primary);background-color:rgba(var(--ndt-primary-rgb),.1);font-weight:500}.select-menu-item.selected:hover{background-color:rgba(var(--ndt-primary-rgb),.15)}.select-menu-item.selected:before{content:\"\";position:absolute;left:0;top:8px;width:3px;height:calc(100% - 16px);background-color:var(--ndt-primary);border-radius:2px}.select-menu-item:focus-visible{outline:none;background-color:var(--ndt-hover-bg)}.select-overlay{backdrop-filter:blur(8px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: CdkMenuModule }, { kind: "directive", type: i2.CdkMenu, selector: "[cdkMenu]", outputs: ["closed"], exportAs: ["cdkMenu"] }, { kind: "directive", type: i2.CdkMenuItem, selector: "[cdkMenuItem]", inputs: ["cdkMenuItemDisabled", "cdkMenuitemTypeaheadLabel"], outputs: ["cdkMenuItemTriggered"], exportAs: ["cdkMenuItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2105
2305
|
}
|
|
2106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarSelectComponent, decorators: [{
|
|
2107
2307
|
type: Component,
|
|
2108
|
-
args: [{ selector: 'ndt-select', standalone: true,
|
|
2308
|
+
args: [{ selector: 'ndt-select', standalone: true, imports: [CommonModule, FormsModule, OverlayModule, CdkMenuModule], template: `
|
|
2109
2309
|
<div
|
|
2110
2310
|
class="dev-toolbar select"
|
|
2111
2311
|
[class.small]="size() === 'small'"
|
|
@@ -2154,7 +2354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2154
2354
|
}
|
|
2155
2355
|
</div>
|
|
2156
2356
|
</ng-template>
|
|
2157
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:inline-block;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.select{position:relative;width:100%;min-width:120px;display:flex;align-items:center;justify-content:space-between;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--ndt-transition-default);outline:none;min-height:36px;box-sizing:border-box}.select:hover{background-color:var(--ndt-hover-bg);border-color:var(--ndt-primary)}.select:focus-visible{outline:none;border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.small{padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);font-size:var(--ndt-font-size-sm);height:24px}.select.open{border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.open .select__arrow{transform:rotate(180deg)}.select__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin-right:var(--ndt-spacing-sm);min-width:0;display:flex;align-items:center}.select__arrow{width:16px;height:16px;flex-shrink:0;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease;opacity:.9}.select-menu{display:inline-flex;flex-direction:column;min-width:180px;background-color:var(--ndt-bg-primary);padding:var(--ndt-spacing-xs) 0;border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);box-shadow:var(--ndt-shadow-window);color:var(--ndt-text-primary);max-height:min(400px,70vh);overflow-y:auto
|
|
2357
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:inline-block;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.select{position:relative;width:100%;min-width:120px;display:flex;align-items:center;justify-content:space-between;padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);background-color:var(--ndt-bg-primary);color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--ndt-transition-default);outline:none;min-height:36px;box-sizing:border-box}.select:hover{background-color:var(--ndt-hover-bg);border-color:var(--ndt-primary)}.select:focus-visible{outline:none;border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.small{padding:var(--ndt-spacing-xs) var(--ndt-spacing-sm);font-size:var(--ndt-font-size-sm);height:24px}.select.open{border-color:var(--ndt-primary);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.select.open .select__arrow{transform:rotate(180deg)}.select__value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;margin-right:var(--ndt-spacing-sm);min-width:0;display:flex;align-items:center}.select__arrow{width:16px;height:16px;flex-shrink:0;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s ease;opacity:.9}.select-menu{display:inline-flex;flex-direction:column;min-width:180px;background-color:var(--ndt-bg-primary);padding:var(--ndt-spacing-xs) 0;border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-small);box-shadow:var(--ndt-shadow-window);color:var(--ndt-text-primary);max-height:min(400px,70vh);overflow-y:auto;backdrop-filter:blur(8px)}.select-menu::-webkit-scrollbar{width:8px;height:8px}.select-menu::-webkit-scrollbar-track{background:transparent}.select-menu::-webkit-scrollbar-thumb{background-color:var(--ndt-border-primary);border-radius:4px;border:2px solid var(--ndt-bg-primary)}.select-menu-item{background-color:transparent;cursor:pointer;border:none;color:inherit;-webkit-user-select:none;user-select:none;min-width:64px;line-height:36px;padding:0 var(--ndt-spacing-md);display:flex;align-items:center;flex-direction:row;flex:1;font-size:var(--ndt-font-size-sm);font-family:inherit;position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.select-menu-item:hover{background-color:var(--ndt-hover-bg)}.select-menu-item:active{background-color:rgba(var(--ndt-primary-rgb),.15)}.select-menu-item.selected{color:var(--ndt-primary);background-color:rgba(var(--ndt-primary-rgb),.1);font-weight:500}.select-menu-item.selected:hover{background-color:rgba(var(--ndt-primary-rgb),.15)}.select-menu-item.selected:before{content:\"\";position:absolute;left:0;top:8px;width:3px;height:calc(100% - 16px);background-color:var(--ndt-primary);border-radius:2px}.select-menu-item:focus-visible{outline:none;background-color:var(--ndt-hover-bg)}.select-overlay{backdrop-filter:blur(8px)}\n"] }]
|
|
2158
2358
|
}] });
|
|
2159
2359
|
|
|
2160
2360
|
class DevToolsStorageService {
|
|
@@ -2222,10 +2422,10 @@ class DevToolsStorageService {
|
|
|
2222
2422
|
getToolKey(key) {
|
|
2223
2423
|
return key.includes(this.PREFIX) ? key : this.PREFIX + key;
|
|
2224
2424
|
}
|
|
2225
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2226
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
2425
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolsStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2426
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolsStorageService, providedIn: 'root' }); }
|
|
2227
2427
|
}
|
|
2228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2428
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolsStorageService, decorators: [{
|
|
2229
2429
|
type: Injectable,
|
|
2230
2430
|
args: [{ providedIn: 'root' }]
|
|
2231
2431
|
}] });
|
|
@@ -2398,6 +2598,7 @@ class DevToolbarInternalAppFeaturesService {
|
|
|
2398
2598
|
...feature,
|
|
2399
2599
|
isEnabled: isInEnabled ? true : isInDisabled ? false : feature.isEnabled,
|
|
2400
2600
|
isForced,
|
|
2601
|
+
originalValue: isForced ? feature.isEnabled : undefined,
|
|
2401
2602
|
};
|
|
2402
2603
|
});
|
|
2403
2604
|
}
|
|
@@ -2452,10 +2653,10 @@ class DevToolbarInternalAppFeaturesService {
|
|
|
2452
2653
|
this.saveForcedFeatures(cleanedState);
|
|
2453
2654
|
}
|
|
2454
2655
|
}
|
|
2455
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2456
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
2656
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalAppFeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2657
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalAppFeaturesService, providedIn: 'root' }); }
|
|
2457
2658
|
}
|
|
2458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2659
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalAppFeaturesService, decorators: [{
|
|
2459
2660
|
type: Injectable,
|
|
2460
2661
|
args: [{ providedIn: 'root' }]
|
|
2461
2662
|
}], ctorParameters: () => [] });
|
|
@@ -2484,7 +2685,7 @@ class DevToolbarAppFeaturesToolComponent {
|
|
|
2484
2685
|
this.features = this.appFeaturesService.features;
|
|
2485
2686
|
this.hasNoFeatures = computed(() => this.features().length === 0);
|
|
2486
2687
|
this.filteredFeatures = computed(() => {
|
|
2487
|
-
|
|
2688
|
+
const filtered = this.features().filter((feature) => {
|
|
2488
2689
|
const searchTerm = this.searchQuery().toLowerCase();
|
|
2489
2690
|
const featureName = feature.name.toLowerCase();
|
|
2490
2691
|
const featureDescription = feature.description?.toLowerCase() ?? '';
|
|
@@ -2497,6 +2698,8 @@ class DevToolbarAppFeaturesToolComponent {
|
|
|
2497
2698
|
(this.activeFilter() === 'disabled' && !feature.isEnabled);
|
|
2498
2699
|
return matchesSearch && matchesFilter;
|
|
2499
2700
|
});
|
|
2701
|
+
// Sort alphabetically by name
|
|
2702
|
+
return filtered.sort((a, b) => a.name.localeCompare(b.name));
|
|
2500
2703
|
});
|
|
2501
2704
|
this.hasNoFilteredFeatures = computed(() => this.filteredFeatures().length === 0);
|
|
2502
2705
|
// Other properties
|
|
@@ -2568,8 +2771,8 @@ class DevToolbarAppFeaturesToolComponent {
|
|
|
2568
2771
|
return '';
|
|
2569
2772
|
return feature.isEnabled ? 'on' : 'off';
|
|
2570
2773
|
}
|
|
2571
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2572
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
2774
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarAppFeaturesToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2775
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarAppFeaturesToolComponent, isStandalone: true, selector: "ndt-app-features-tool", ngImport: i0, template: `
|
|
2573
2776
|
<ndt-toolbar-tool
|
|
2574
2777
|
[options]="options"
|
|
2575
2778
|
title="App Features"
|
|
@@ -2593,42 +2796,36 @@ class DevToolbarAppFeaturesToolComponent {
|
|
|
2593
2796
|
</div>
|
|
2594
2797
|
</div>
|
|
2595
2798
|
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
<p>No features match your filter</p>
|
|
2604
|
-
</div>
|
|
2605
|
-
} @else {
|
|
2606
|
-
<div class="feature-list">
|
|
2799
|
+
<ndt-list
|
|
2800
|
+
[hasItems]="!hasNoFeatures()"
|
|
2801
|
+
[hasResults]="!hasNoFilteredFeatures()"
|
|
2802
|
+
emptyMessage="No app features found"
|
|
2803
|
+
[emptyHint]="'Call setAvailableOptions() to configure features'"
|
|
2804
|
+
noResultsMessage="No features match your filter"
|
|
2805
|
+
>
|
|
2607
2806
|
@for (feature of filteredFeatures(); track feature.id) {
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
</div>
|
|
2807
|
+
<ndt-list-item
|
|
2808
|
+
[title]="feature.name"
|
|
2809
|
+
[description]="feature.description"
|
|
2810
|
+
[isForced]="feature.isForced"
|
|
2811
|
+
[currentValue]="feature.isEnabled"
|
|
2812
|
+
[originalValue]="feature.originalValue"
|
|
2813
|
+
>
|
|
2814
|
+
<ndt-select
|
|
2815
|
+
[value]="getFeatureValue(feature)"
|
|
2816
|
+
[options]="featureValueOptions"
|
|
2817
|
+
[ariaLabel]="'Set value for ' + feature.name"
|
|
2818
|
+
(valueChange)="onFeatureChange(feature.id, $event ?? '')"
|
|
2819
|
+
size="small"
|
|
2820
|
+
/>
|
|
2821
|
+
</ndt-list-item>
|
|
2624
2822
|
}
|
|
2625
|
-
</
|
|
2626
|
-
}
|
|
2823
|
+
</ndt-list>
|
|
2627
2824
|
</div>
|
|
2628
2825
|
</ndt-toolbar-tool>
|
|
2629
|
-
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
2826
|
+
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}.filter-wrapper{flex:0 0 auto;display:flex;align-items:center;gap:var(--ndt-spacing-md);.filter-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}ndt-select{flex:0 0 auto;min-width:180px}}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: DevToolbarToolComponent, selector: "ndt-toolbar-tool", inputs: ["options", "icon", "title"] }, { kind: "component", type: DevToolbarInputComponent, selector: "ndt-input", inputs: ["value", "type", "placeholder", "ariaLabel", "inputClass"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarSelectComponent, selector: "ndt-select", inputs: ["value", "options", "ariaLabel", "label", "size"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }, { kind: "component", type: DevToolbarListComponent, selector: "ndt-list", inputs: ["hasItems", "hasResults", "emptyMessage", "emptyHint", "noResultsMessage"] }, { kind: "component", type: DevToolbarListItemComponent, selector: "ndt-list-item", inputs: ["title", "description", "isForced", "currentValue", "originalValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2630
2827
|
}
|
|
2631
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarAppFeaturesToolComponent, decorators: [{
|
|
2632
2829
|
type: Component,
|
|
2633
2830
|
args: [{ selector: 'ndt-app-features-tool', standalone: true, imports: [
|
|
2634
2831
|
FormsModule,
|
|
@@ -2636,6 +2833,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2636
2833
|
DevToolbarInputComponent,
|
|
2637
2834
|
DevToolbarSelectComponent,
|
|
2638
2835
|
DevToolbarIconComponent,
|
|
2836
|
+
DevToolbarListComponent,
|
|
2837
|
+
DevToolbarListItemComponent,
|
|
2639
2838
|
], template: `
|
|
2640
2839
|
<ndt-toolbar-tool
|
|
2641
2840
|
[options]="options"
|
|
@@ -2660,40 +2859,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2660
2859
|
</div>
|
|
2661
2860
|
</div>
|
|
2662
2861
|
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
<p>No features match your filter</p>
|
|
2671
|
-
</div>
|
|
2672
|
-
} @else {
|
|
2673
|
-
<div class="feature-list">
|
|
2862
|
+
<ndt-list
|
|
2863
|
+
[hasItems]="!hasNoFeatures()"
|
|
2864
|
+
[hasResults]="!hasNoFilteredFeatures()"
|
|
2865
|
+
emptyMessage="No app features found"
|
|
2866
|
+
[emptyHint]="'Call setAvailableOptions() to configure features'"
|
|
2867
|
+
noResultsMessage="No features match your filter"
|
|
2868
|
+
>
|
|
2674
2869
|
@for (feature of filteredFeatures(); track feature.id) {
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
</div>
|
|
2870
|
+
<ndt-list-item
|
|
2871
|
+
[title]="feature.name"
|
|
2872
|
+
[description]="feature.description"
|
|
2873
|
+
[isForced]="feature.isForced"
|
|
2874
|
+
[currentValue]="feature.isEnabled"
|
|
2875
|
+
[originalValue]="feature.originalValue"
|
|
2876
|
+
>
|
|
2877
|
+
<ndt-select
|
|
2878
|
+
[value]="getFeatureValue(feature)"
|
|
2879
|
+
[options]="featureValueOptions"
|
|
2880
|
+
[ariaLabel]="'Set value for ' + feature.name"
|
|
2881
|
+
(valueChange)="onFeatureChange(feature.id, $event ?? '')"
|
|
2882
|
+
size="small"
|
|
2883
|
+
/>
|
|
2884
|
+
</ndt-list-item>
|
|
2691
2885
|
}
|
|
2692
|
-
</
|
|
2693
|
-
}
|
|
2886
|
+
</ndt-list>
|
|
2694
2887
|
</div>
|
|
2695
2888
|
</ndt-toolbar-tool>
|
|
2696
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
2889
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}.filter-wrapper{flex:0 0 auto;display:flex;align-items:center;gap:var(--ndt-spacing-md);.filter-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}ndt-select{flex:0 0 auto;min-width:180px}}}\n"] }]
|
|
2697
2890
|
}] });
|
|
2698
2891
|
|
|
2699
2892
|
class DevToolbarInternalFeatureFlagService {
|
|
@@ -2710,15 +2903,19 @@ class DevToolbarInternalFeatureFlagService {
|
|
|
2710
2903
|
this.appFlags$,
|
|
2711
2904
|
this.forcedFlags$,
|
|
2712
2905
|
]).pipe(map(([appFlags, { enabled, disabled }]) => {
|
|
2713
|
-
return appFlags.map((flag) =>
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
:
|
|
2719
|
-
?
|
|
2720
|
-
: flag.
|
|
2721
|
-
|
|
2906
|
+
return appFlags.map((flag) => {
|
|
2907
|
+
const isForced = enabled.includes(flag.id) || disabled.includes(flag.id);
|
|
2908
|
+
return {
|
|
2909
|
+
...flag,
|
|
2910
|
+
isForced,
|
|
2911
|
+
isEnabled: enabled.includes(flag.id)
|
|
2912
|
+
? true
|
|
2913
|
+
: disabled.includes(flag.id)
|
|
2914
|
+
? false
|
|
2915
|
+
: flag.isEnabled,
|
|
2916
|
+
originalValue: isForced ? flag.isEnabled : undefined,
|
|
2917
|
+
};
|
|
2918
|
+
});
|
|
2722
2919
|
}));
|
|
2723
2920
|
this.flags = toSignal(this.flags$, { initialValue: [] });
|
|
2724
2921
|
this.loadForcedFlags();
|
|
@@ -2776,10 +2973,10 @@ class DevToolbarInternalFeatureFlagService {
|
|
|
2776
2973
|
getCurrentForcedState() {
|
|
2777
2974
|
return this.forcedFlagsSubject.value;
|
|
2778
2975
|
}
|
|
2779
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2780
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
2976
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalFeatureFlagService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2977
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalFeatureFlagService, providedIn: 'root' }); }
|
|
2781
2978
|
}
|
|
2782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
2979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalFeatureFlagService, decorators: [{
|
|
2783
2980
|
type: Injectable,
|
|
2784
2981
|
args: [{ providedIn: 'root' }]
|
|
2785
2982
|
}], ctorParameters: () => [] });
|
|
@@ -2794,7 +2991,7 @@ class DevToolbarFeatureFlagsToolComponent {
|
|
|
2794
2991
|
this.flags = this.featureFlags.flags;
|
|
2795
2992
|
this.hasNoFlags = computed(() => this.flags().length === 0);
|
|
2796
2993
|
this.filteredFlags = computed(() => {
|
|
2797
|
-
|
|
2994
|
+
const filtered = this.flags().filter((flag) => {
|
|
2798
2995
|
const searchTerm = this.searchQuery().toLowerCase();
|
|
2799
2996
|
const flagName = flag.name.toLowerCase();
|
|
2800
2997
|
const flagDescription = flag.description?.toLowerCase() ?? '';
|
|
@@ -2807,6 +3004,8 @@ class DevToolbarFeatureFlagsToolComponent {
|
|
|
2807
3004
|
(this.activeFilter() === 'disabled' && !flag.isEnabled);
|
|
2808
3005
|
return matchesSearch && matchesFilter;
|
|
2809
3006
|
});
|
|
3007
|
+
// Sort alphabetically by name
|
|
3008
|
+
return filtered.sort((a, b) => a.name.localeCompare(b.name));
|
|
2810
3009
|
});
|
|
2811
3010
|
this.hasNoFilteredFlags = computed(() => this.filteredFlags().length === 0);
|
|
2812
3011
|
// Other properties
|
|
@@ -2859,8 +3058,8 @@ class DevToolbarFeatureFlagsToolComponent {
|
|
|
2859
3058
|
return '';
|
|
2860
3059
|
return flag.isEnabled ? 'on' : 'off';
|
|
2861
3060
|
}
|
|
2862
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2863
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
3061
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarFeatureFlagsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3062
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarFeatureFlagsToolComponent, isStandalone: true, selector: "ndt-feature-flags-tool", ngImport: i0, template: `
|
|
2864
3063
|
<ndt-toolbar-tool
|
|
2865
3064
|
[options]="options"
|
|
2866
3065
|
title="Feature Flags"
|
|
@@ -2884,39 +3083,35 @@ class DevToolbarFeatureFlagsToolComponent {
|
|
|
2884
3083
|
</div>
|
|
2885
3084
|
</div>
|
|
2886
3085
|
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
<p>No flags found matching your filter</p>
|
|
2894
|
-
</div>
|
|
2895
|
-
} @else {
|
|
2896
|
-
<div class="flag-list">
|
|
3086
|
+
<ndt-list
|
|
3087
|
+
[hasItems]="!hasNoFlags()"
|
|
3088
|
+
[hasResults]="!hasNoFilteredFlags()"
|
|
3089
|
+
emptyMessage="No flags found"
|
|
3090
|
+
noResultsMessage="No flags found matching your filter"
|
|
3091
|
+
>
|
|
2897
3092
|
@for (flag of filteredFlags(); track flag.id) {
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
3093
|
+
<ndt-list-item
|
|
3094
|
+
[title]="flag.name"
|
|
3095
|
+
[description]="flag.description"
|
|
3096
|
+
[isForced]="flag.isForced"
|
|
3097
|
+
[currentValue]="flag.isEnabled"
|
|
3098
|
+
[originalValue]="flag.originalValue"
|
|
3099
|
+
>
|
|
3100
|
+
<ndt-select
|
|
3101
|
+
[value]="getFlagValue(flag)"
|
|
3102
|
+
[options]="flagValueOptions"
|
|
3103
|
+
[ariaLabel]="'Set value for ' + flag.name"
|
|
3104
|
+
(valueChange)="onFlagChange(flag.id, $event ?? '')"
|
|
3105
|
+
size="small"
|
|
3106
|
+
/>
|
|
3107
|
+
</ndt-list-item>
|
|
2912
3108
|
}
|
|
2913
|
-
</
|
|
2914
|
-
}
|
|
3109
|
+
</ndt-list>
|
|
2915
3110
|
</div>
|
|
2916
3111
|
</ndt-toolbar-tool>
|
|
2917
|
-
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
3112
|
+
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}.filter-wrapper{flex:0 0 auto;display:flex;align-items:center;gap:var(--ndt-spacing-md);.filter-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}ndt-select{flex:0 0 auto;min-width:180px}}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: DevToolbarToolComponent, selector: "ndt-toolbar-tool", inputs: ["options", "icon", "title"] }, { kind: "component", type: DevToolbarInputComponent, selector: "ndt-input", inputs: ["value", "type", "placeholder", "ariaLabel", "inputClass"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarSelectComponent, selector: "ndt-select", inputs: ["value", "options", "ariaLabel", "label", "size"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }, { kind: "component", type: DevToolbarListComponent, selector: "ndt-list", inputs: ["hasItems", "hasResults", "emptyMessage", "emptyHint", "noResultsMessage"] }, { kind: "component", type: DevToolbarListItemComponent, selector: "ndt-list-item", inputs: ["title", "description", "isForced", "currentValue", "originalValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2918
3113
|
}
|
|
2919
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarFeatureFlagsToolComponent, decorators: [{
|
|
2920
3115
|
type: Component,
|
|
2921
3116
|
args: [{ selector: 'ndt-feature-flags-tool', standalone: true, imports: [
|
|
2922
3117
|
FormsModule,
|
|
@@ -2924,6 +3119,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2924
3119
|
DevToolbarInputComponent,
|
|
2925
3120
|
DevToolbarSelectComponent,
|
|
2926
3121
|
DevToolbarIconComponent,
|
|
3122
|
+
DevToolbarListComponent,
|
|
3123
|
+
DevToolbarListItemComponent,
|
|
2927
3124
|
], template: `
|
|
2928
3125
|
<ndt-toolbar-tool
|
|
2929
3126
|
[options]="options"
|
|
@@ -2948,37 +3145,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
2948
3145
|
</div>
|
|
2949
3146
|
</div>
|
|
2950
3147
|
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
<p>No flags found matching your filter</p>
|
|
2958
|
-
</div>
|
|
2959
|
-
} @else {
|
|
2960
|
-
<div class="flag-list">
|
|
3148
|
+
<ndt-list
|
|
3149
|
+
[hasItems]="!hasNoFlags()"
|
|
3150
|
+
[hasResults]="!hasNoFilteredFlags()"
|
|
3151
|
+
emptyMessage="No flags found"
|
|
3152
|
+
noResultsMessage="No flags found matching your filter"
|
|
3153
|
+
>
|
|
2961
3154
|
@for (flag of filteredFlags(); track flag.id) {
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
3155
|
+
<ndt-list-item
|
|
3156
|
+
[title]="flag.name"
|
|
3157
|
+
[description]="flag.description"
|
|
3158
|
+
[isForced]="flag.isForced"
|
|
3159
|
+
[currentValue]="flag.isEnabled"
|
|
3160
|
+
[originalValue]="flag.originalValue"
|
|
3161
|
+
>
|
|
3162
|
+
<ndt-select
|
|
3163
|
+
[value]="getFlagValue(flag)"
|
|
3164
|
+
[options]="flagValueOptions"
|
|
3165
|
+
[ariaLabel]="'Set value for ' + flag.name"
|
|
3166
|
+
(valueChange)="onFlagChange(flag.id, $event ?? '')"
|
|
3167
|
+
size="small"
|
|
3168
|
+
/>
|
|
3169
|
+
</ndt-list-item>
|
|
2976
3170
|
}
|
|
2977
|
-
</
|
|
2978
|
-
}
|
|
3171
|
+
</ndt-list>
|
|
2979
3172
|
</div>
|
|
2980
3173
|
</ndt-toolbar-tool>
|
|
2981
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
3174
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}.filter-wrapper{flex:0 0 auto;display:flex;align-items:center;gap:var(--ndt-spacing-md);.filter-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}ndt-select{flex:0 0 auto;min-width:180px}}}\n"] }]
|
|
2982
3175
|
}] });
|
|
2983
3176
|
|
|
2984
3177
|
class DevToolbarButtonComponent {
|
|
@@ -2990,8 +3183,8 @@ class DevToolbarButtonComponent {
|
|
|
2990
3183
|
this.ariaLabel = input();
|
|
2991
3184
|
this.isActive = input(false);
|
|
2992
3185
|
}
|
|
2993
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
2994
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
3186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3187
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarButtonComponent, isStandalone: true, selector: "ndt-button", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
2995
3188
|
<button
|
|
2996
3189
|
class="button"
|
|
2997
3190
|
[attr.aria-label]="ariaLabel()"
|
|
@@ -3009,7 +3202,7 @@ class DevToolbarButtonComponent {
|
|
|
3009
3202
|
</button>
|
|
3010
3203
|
`, isInline: true, styles: [".button{display:inline-flex;align-items:center;gap:var(--ndt-spacing-xs);padding:var(--ndt-spacing-sm) var(--ndt-spacing-md);min-height:36px;border:1px solid var(--ndt-border-primary);border-radius:var(--ndt-border-radius-medium);background:var(--ndt-bg-primary);color:var(--ndt-text-primary);cursor:pointer;transition:var(--ndt-transition-default);outline:none;font-family:inherit}.button:hover{background:var(--ndt-hover-bg);border-color:var(--ndt-primary)}.button:focus-visible{outline:none;background:var(--ndt-hover-bg);box-shadow:0 0 0 2px rgba(var(--ndt-primary-rgb),.2)}.button.primary{background:var(--ndt-primary);color:var(--ndt-text-on-primary);border-color:var(--ndt-primary)}.button.primary:hover{background:var(--ndt-primary);border-color:var(--ndt-primary)}.button.icon-only{padding:var(--ndt-spacing-xs);width:32px;height:32px;justify-content:center}.button.small{font-size:var(--ndt-font-size-sm)}\n"], dependencies: [{ kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3011
3204
|
}
|
|
3012
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarButtonComponent, decorators: [{
|
|
3013
3206
|
type: Component,
|
|
3014
3207
|
args: [{ selector: 'ndt-button', standalone: true, imports: [DevToolbarIconComponent], template: `
|
|
3015
3208
|
<button
|
|
@@ -3038,8 +3231,8 @@ class DevToolbarCardComponent {
|
|
|
3038
3231
|
onClick() {
|
|
3039
3232
|
this.click.set();
|
|
3040
3233
|
}
|
|
3041
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3042
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.
|
|
3234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3235
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DevToolbarCardComponent, isStandalone: true, selector: "ndt-card", ngImport: i0, template: `
|
|
3043
3236
|
<div
|
|
3044
3237
|
class="card"
|
|
3045
3238
|
role="button"
|
|
@@ -3053,9 +3246,9 @@ class DevToolbarCardComponent {
|
|
|
3053
3246
|
>
|
|
3054
3247
|
<ng-content></ng-content>
|
|
3055
3248
|
</div>
|
|
3056
|
-
`, isInline: true, styles: [".card{background:var(--ndt-bg-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-spacing-md);cursor:pointer;transition:var(--ndt-transition-default);border:1px solid var(--ndt-border-subtle);position:relative;flex:1;height:120px;display:flex}.card:hover{background:var(--ndt-hover-bg);border-color:var(--ndt-primary);box-shadow:0 0 0 1px rgba(var(--ndt-primary-rgb),.3)}\n"] }); }
|
|
3249
|
+
`, isInline: true, styles: [".card{background:var(--ndt-bg-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-spacing-md);cursor:pointer;transition:var(--ndt-transition-default);border:1px solid var(--ndt-border-subtle);position:relative;flex:1;height:120px;display:flex}.card:hover{background:var(--ndt-hover-bg);border-color:var(--ndt-primary);box-shadow:0 0 0 1px rgba(var(--ndt-primary-rgb),.3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3057
3250
|
}
|
|
3058
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarCardComponent, decorators: [{
|
|
3059
3252
|
type: Component,
|
|
3060
3253
|
args: [{ selector: 'ndt-card', standalone: true, template: `
|
|
3061
3254
|
<div
|
|
@@ -3071,7 +3264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
3071
3264
|
>
|
|
3072
3265
|
<ng-content></ng-content>
|
|
3073
3266
|
</div>
|
|
3074
|
-
`, styles: [".card{background:var(--ndt-bg-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-spacing-md);cursor:pointer;transition:var(--ndt-transition-default);border:1px solid var(--ndt-border-subtle);position:relative;flex:1;height:120px;display:flex}.card:hover{background:var(--ndt-hover-bg);border-color:var(--ndt-primary);box-shadow:0 0 0 1px rgba(var(--ndt-primary-rgb),.3)}\n"] }]
|
|
3267
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".card{background:var(--ndt-bg-primary);border-radius:var(--ndt-border-radius-large);padding:var(--ndt-spacing-md);cursor:pointer;transition:var(--ndt-transition-default);border:1px solid var(--ndt-border-subtle);position:relative;flex:1;height:120px;display:flex}.card:hover{background:var(--ndt-hover-bg);border-color:var(--ndt-primary);box-shadow:0 0 0 1px rgba(var(--ndt-primary-rgb),.3)}\n"] }]
|
|
3075
3268
|
}] });
|
|
3076
3269
|
|
|
3077
3270
|
class DevToolbarClickableCardComponent {
|
|
@@ -3084,8 +3277,8 @@ class DevToolbarClickableCardComponent {
|
|
|
3084
3277
|
onClick() {
|
|
3085
3278
|
this.click.set();
|
|
3086
3279
|
}
|
|
3087
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3088
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
3280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarClickableCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3281
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: DevToolbarClickableCardComponent, isStandalone: true, selector: "ndt-clickable-card", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
3089
3282
|
<ndt-card (clicked)="onClick()">
|
|
3090
3283
|
<div class="clickable-card">
|
|
3091
3284
|
<div class="clickable-card__icon">
|
|
@@ -3097,9 +3290,9 @@ class DevToolbarClickableCardComponent {
|
|
|
3097
3290
|
</div>
|
|
3098
3291
|
</div>
|
|
3099
3292
|
</ndt-card>
|
|
3100
|
-
`, isInline: true, styles: [".clickable-card{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs);height:100%}.clickable-card__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.clickable-card__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.clickable-card__title{color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);font-weight:500}.clickable-card__subtitle{color:var(--ndt-text-muted);font-size:var(--ndt-font-size-xs);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}\n"], dependencies: [{ kind: "component", type: DevToolbarCardComponent, selector: "ndt-card" }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }] }); }
|
|
3293
|
+
`, isInline: true, styles: [".clickable-card{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs);height:100%}.clickable-card__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.clickable-card__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.clickable-card__title{color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);font-weight:500}.clickable-card__subtitle{color:var(--ndt-text-muted);font-size:var(--ndt-font-size-xs);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}\n"], dependencies: [{ kind: "component", type: DevToolbarCardComponent, selector: "ndt-card" }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3101
3294
|
}
|
|
3102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarClickableCardComponent, decorators: [{
|
|
3103
3296
|
type: Component,
|
|
3104
3297
|
args: [{ selector: 'ndt-clickable-card', standalone: true, imports: [DevToolbarCardComponent, DevToolbarIconComponent], template: `
|
|
3105
3298
|
<ndt-card (clicked)="onClick()">
|
|
@@ -3113,7 +3306,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
3113
3306
|
</div>
|
|
3114
3307
|
</div>
|
|
3115
3308
|
</ndt-card>
|
|
3116
|
-
`, styles: [".clickable-card{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs);height:100%}.clickable-card__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.clickable-card__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.clickable-card__title{color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);font-weight:500}.clickable-card__subtitle{color:var(--ndt-text-muted);font-size:var(--ndt-font-size-xs);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}\n"] }]
|
|
3309
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".clickable-card{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs);height:100%}.clickable-card__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}.clickable-card__content{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.clickable-card__title{color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);font-weight:500}.clickable-card__subtitle{color:var(--ndt-text-muted);font-size:var(--ndt-font-size-xs);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}\n"] }]
|
|
3117
3310
|
}] });
|
|
3118
3311
|
|
|
3119
3312
|
class DevToolbarLinkButtonComponent {
|
|
@@ -3121,8 +3314,8 @@ class DevToolbarLinkButtonComponent {
|
|
|
3121
3314
|
this.url = input.required();
|
|
3122
3315
|
this.icon = input.required();
|
|
3123
3316
|
}
|
|
3124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3125
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.
|
|
3317
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLinkButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3318
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.7", type: DevToolbarLinkButtonComponent, isStandalone: true, selector: "ndt-link-button", inputs: { url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
3126
3319
|
<a
|
|
3127
3320
|
[href]="url()"
|
|
3128
3321
|
target="_blank"
|
|
@@ -3136,9 +3329,9 @@ class DevToolbarLinkButtonComponent {
|
|
|
3136
3329
|
<ng-content></ng-content>
|
|
3137
3330
|
</span>
|
|
3138
3331
|
</a>
|
|
3139
|
-
`, isInline: true, styles: [".link-button{display:flex;flex-direction:column;align-items:center;gap:var(--ndt-spacing-xs);text-decoration:none;color:var(--ndt-text-muted);transition:var(--ndt-transition-default)}.link-button:hover{color:var(--ndt-text-primary)}.link-button:hover .link-button__icon{outline:2px solid var(--ndt-primary);outline-offset:2px;box-shadow:0 0 8px var(--ndt-primary)}.link-button__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);transition:all .2s ease-in-out}.link-button__text{font-size:var(--ndt-font-size-xs);text-align:center;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }] }); }
|
|
3332
|
+
`, isInline: true, styles: [".link-button{display:flex;flex-direction:column;align-items:center;gap:var(--ndt-spacing-xs);text-decoration:none;color:var(--ndt-text-muted);transition:var(--ndt-transition-default)}.link-button:hover{color:var(--ndt-text-primary)}.link-button:hover .link-button__icon{outline:2px solid var(--ndt-primary);outline-offset:2px;box-shadow:0 0 8px var(--ndt-primary)}.link-button__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);transition:all .2s ease-in-out}.link-button__text{font-size:var(--ndt-font-size-xs);text-align:center;white-space:nowrap}\n"], dependencies: [{ kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3140
3333
|
}
|
|
3141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLinkButtonComponent, decorators: [{
|
|
3142
3335
|
type: Component,
|
|
3143
3336
|
args: [{ selector: 'ndt-link-button', standalone: true, imports: [DevToolbarIconComponent], template: `
|
|
3144
3337
|
<a
|
|
@@ -3154,7 +3347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
3154
3347
|
<ng-content></ng-content>
|
|
3155
3348
|
</span>
|
|
3156
3349
|
</a>
|
|
3157
|
-
`, styles: [".link-button{display:flex;flex-direction:column;align-items:center;gap:var(--ndt-spacing-xs);text-decoration:none;color:var(--ndt-text-muted);transition:var(--ndt-transition-default)}.link-button:hover{color:var(--ndt-text-primary)}.link-button:hover .link-button__icon{outline:2px solid var(--ndt-primary);outline-offset:2px;box-shadow:0 0 8px var(--ndt-primary)}.link-button__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);transition:all .2s ease-in-out}.link-button__text{font-size:var(--ndt-font-size-xs);text-align:center;white-space:nowrap}\n"] }]
|
|
3350
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".link-button{display:flex;flex-direction:column;align-items:center;gap:var(--ndt-spacing-xs);text-decoration:none;color:var(--ndt-text-muted);transition:var(--ndt-transition-default)}.link-button:hover{color:var(--ndt-text-primary)}.link-button:hover .link-button__icon{outline:2px solid var(--ndt-primary);outline-offset:2px;box-shadow:0 0 8px var(--ndt-primary)}.link-button__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--ndt-border-radius-medium);background:var(--ndt-hover-bg);transition:all .2s ease-in-out}.link-button__text{font-size:var(--ndt-font-size-xs);text-align:center;white-space:nowrap}\n"] }]
|
|
3158
3351
|
}] });
|
|
3159
3352
|
|
|
3160
3353
|
class SettingsService {
|
|
@@ -3170,10 +3363,10 @@ class SettingsService {
|
|
|
3170
3363
|
setSettings(settings) {
|
|
3171
3364
|
this.storageService.set(this.STORAGE_KEY, settings);
|
|
3172
3365
|
}
|
|
3173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3174
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
3366
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3367
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingsService, providedIn: 'root' }); }
|
|
3175
3368
|
}
|
|
3176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3369
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingsService, decorators: [{
|
|
3177
3370
|
type: Injectable,
|
|
3178
3371
|
args: [{ providedIn: 'root' }]
|
|
3179
3372
|
}] });
|
|
@@ -3268,8 +3461,8 @@ class DevToolbarHomeToolComponent {
|
|
|
3268
3461
|
this.storageService.clearAllSettings();
|
|
3269
3462
|
window.location.reload();
|
|
3270
3463
|
}
|
|
3271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3272
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
3464
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarHomeToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3465
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarHomeToolComponent, isStandalone: true, selector: "ndt-home-tool", inputs: { badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
3273
3466
|
<ndt-toolbar-tool [options]="options" title="Home" icon="angular">
|
|
3274
3467
|
<section class="settings">
|
|
3275
3468
|
<div class="instruction">
|
|
@@ -3342,7 +3535,7 @@ class DevToolbarHomeToolComponent {
|
|
|
3342
3535
|
</ndt-toolbar-tool>
|
|
3343
3536
|
`, isInline: true, styles: [".settings{display:flex;flex-direction:column;justify-content:space-between;min-height:100%}.instruction{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ndt-spacing-sm)}.instruction__label{display:flex;flex-direction:column;gap:var(--ndt-spacing-xs)}.instruction__label-text{color:var(--ndt-text-primary);font-size:var(--ndt-font-size-sm);font-weight:500}.instruction__label-description{color:var(--ndt-text-muted);font-size:var(--ndt-font-size-xs)}.instruction__control{flex:1}.instruction__control-button{display:flex;gap:var(--ndt-spacing-xs);justify-content:flex-end}.settings-container{display:flex;flex-direction:column}.settings-container .settings-actions{display:flex;gap:var(--ndt-spacing-md);padding-block:var(--ndt-spacing-sm)}.settings-container .settings-actions>*{width:50%;min-width:0}.footer-links{border-top:1px solid var(--ndt-border-subtle);padding-top:1em;display:flex;flex-direction:row;justify-content:space-between;gap:var(--ndt-spacing-lg)}\n"], dependencies: [{ kind: "component", type: DevToolbarToolComponent, selector: "ndt-toolbar-tool", inputs: ["options", "icon", "title"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: DevToolbarButtonComponent, selector: "ndt-button", inputs: ["type", "variant", "icon", "label", "ariaLabel", "isActive"] }, { kind: "component", type: DevToolbarClickableCardComponent, selector: "ndt-clickable-card", inputs: ["icon", "title", "subtitle"] }, { kind: "component", type: DevToolbarLinkButtonComponent, selector: "ndt-link-button", inputs: ["url", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3344
3537
|
}
|
|
3345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3538
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarHomeToolComponent, decorators: [{
|
|
3346
3539
|
type: Component,
|
|
3347
3540
|
args: [{ selector: 'ndt-home-tool', standalone: true, imports: [
|
|
3348
3541
|
DevToolbarToolComponent,
|
|
@@ -3482,10 +3675,10 @@ class DevToolbarInternalLanguageService {
|
|
|
3482
3675
|
getCurrentForcedLanguage() {
|
|
3483
3676
|
return this.forcedLanguage$.value?.id ?? null;
|
|
3484
3677
|
}
|
|
3485
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3486
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
3678
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalLanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3679
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalLanguageService, providedIn: 'root' }); }
|
|
3487
3680
|
}
|
|
3488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalLanguageService, decorators: [{
|
|
3489
3682
|
type: Injectable,
|
|
3490
3683
|
args: [{ providedIn: 'root' }]
|
|
3491
3684
|
}], ctorParameters: () => [] });
|
|
@@ -3521,8 +3714,8 @@ class DevToolbarLanguageToolComponent {
|
|
|
3521
3714
|
this.languageService.setForcedLanguage(selectedLanguage);
|
|
3522
3715
|
}
|
|
3523
3716
|
}
|
|
3524
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3525
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.
|
|
3717
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLanguageToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3718
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.7", type: DevToolbarLanguageToolComponent, isStandalone: true, selector: "ndt-language-tool", ngImport: i0, template: `
|
|
3526
3719
|
<ndt-toolbar-tool title="Languages" icon="translate" [options]="options">
|
|
3527
3720
|
<div class="language-select">
|
|
3528
3721
|
<label for="language-select">Language</label>
|
|
@@ -3537,7 +3730,7 @@ class DevToolbarLanguageToolComponent {
|
|
|
3537
3730
|
</ndt-toolbar-tool>
|
|
3538
3731
|
`, isInline: true, styles: [".language-select{display:flex;flex-direction:row;gap:.5rem;align-items:center;justify-content:space-between}\n"], dependencies: [{ kind: "component", type: DevToolbarToolComponent, selector: "ndt-toolbar-tool", inputs: ["options", "icon", "title"] }, { kind: "component", type: DevToolbarSelectComponent, selector: "ndt-select", inputs: ["value", "options", "ariaLabel", "label", "size"], outputs: ["valueChange"] }] }); }
|
|
3539
3732
|
}
|
|
3540
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLanguageToolComponent, decorators: [{
|
|
3541
3734
|
type: Component,
|
|
3542
3735
|
args: [{ selector: 'ndt-language-tool', standalone: true, imports: [DevToolbarToolComponent, DevToolbarSelectComponent], template: `
|
|
3543
3736
|
<ndt-toolbar-tool title="Languages" icon="translate" [options]="options">
|
|
@@ -3569,15 +3762,19 @@ class DevToolbarInternalPermissionsService {
|
|
|
3569
3762
|
this.appPermissions$,
|
|
3570
3763
|
this.forcedState$,
|
|
3571
3764
|
]).pipe(map(([appPermissions, { granted, denied }]) => {
|
|
3572
|
-
return appPermissions.map((permission) =>
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3577
|
-
:
|
|
3578
|
-
?
|
|
3579
|
-
: permission.
|
|
3580
|
-
|
|
3765
|
+
return appPermissions.map((permission) => {
|
|
3766
|
+
const isForced = granted.includes(permission.id) || denied.includes(permission.id);
|
|
3767
|
+
return {
|
|
3768
|
+
...permission,
|
|
3769
|
+
isForced,
|
|
3770
|
+
isGranted: granted.includes(permission.id)
|
|
3771
|
+
? true
|
|
3772
|
+
: denied.includes(permission.id)
|
|
3773
|
+
? false
|
|
3774
|
+
: permission.isGranted,
|
|
3775
|
+
originalValue: isForced ? permission.isGranted : undefined,
|
|
3776
|
+
};
|
|
3777
|
+
});
|
|
3581
3778
|
}));
|
|
3582
3779
|
this.permissions = toSignal(this.permissions$, { initialValue: [] });
|
|
3583
3780
|
this.loadForcedState();
|
|
@@ -3645,10 +3842,12 @@ class DevToolbarInternalPermissionsService {
|
|
|
3645
3842
|
}
|
|
3646
3843
|
}
|
|
3647
3844
|
isValidForcedState(state) {
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3845
|
+
if (!state || typeof state !== 'object') {
|
|
3846
|
+
return false;
|
|
3847
|
+
}
|
|
3848
|
+
const candidate = state;
|
|
3849
|
+
return (Array.isArray(candidate['granted']) &&
|
|
3850
|
+
Array.isArray(candidate['denied']));
|
|
3652
3851
|
}
|
|
3653
3852
|
validateAndCleanForcedState(permissions) {
|
|
3654
3853
|
const currentState = this.forcedStateSubject.value;
|
|
@@ -3673,10 +3872,10 @@ class DevToolbarInternalPermissionsService {
|
|
|
3673
3872
|
}
|
|
3674
3873
|
}
|
|
3675
3874
|
}
|
|
3676
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3677
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
3875
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalPermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3876
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalPermissionsService, providedIn: 'root' }); }
|
|
3678
3877
|
}
|
|
3679
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
3878
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalPermissionsService, decorators: [{
|
|
3680
3879
|
type: Injectable,
|
|
3681
3880
|
args: [{ providedIn: 'root' }]
|
|
3682
3881
|
}], ctorParameters: () => [] });
|
|
@@ -3691,7 +3890,7 @@ class DevToolbarPermissionsToolComponent {
|
|
|
3691
3890
|
this.permissions = this.permissionsService.permissions;
|
|
3692
3891
|
this.hasNoPermissions = computed(() => this.permissions().length === 0);
|
|
3693
3892
|
this.filteredPermissions = computed(() => {
|
|
3694
|
-
|
|
3893
|
+
const filtered = this.permissions().filter((permission) => {
|
|
3695
3894
|
const searchTerm = this.searchQuery().toLowerCase();
|
|
3696
3895
|
const permissionName = permission.name.toLowerCase();
|
|
3697
3896
|
const permissionDescription = permission.description?.toLowerCase() ?? '';
|
|
@@ -3704,6 +3903,8 @@ class DevToolbarPermissionsToolComponent {
|
|
|
3704
3903
|
(this.activeFilter() === 'denied' && !permission.isGranted);
|
|
3705
3904
|
return matchesSearch && matchesFilter;
|
|
3706
3905
|
});
|
|
3906
|
+
// Sort alphabetically by name
|
|
3907
|
+
return filtered.sort((a, b) => a.name.localeCompare(b.name));
|
|
3707
3908
|
});
|
|
3708
3909
|
this.hasNoFilteredPermissions = computed(() => this.filteredPermissions().length === 0);
|
|
3709
3910
|
// Other properties
|
|
@@ -3756,8 +3957,8 @@ class DevToolbarPermissionsToolComponent {
|
|
|
3756
3957
|
return '';
|
|
3757
3958
|
return permission.isGranted ? 'granted' : 'denied';
|
|
3758
3959
|
}
|
|
3759
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
3760
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
3960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPermissionsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3961
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarPermissionsToolComponent, isStandalone: true, selector: "ndt-permissions-tool", ngImport: i0, template: `
|
|
3761
3962
|
<ndt-toolbar-tool
|
|
3762
3963
|
[options]="options"
|
|
3763
3964
|
title="Permissions"
|
|
@@ -3783,40 +3984,36 @@ class DevToolbarPermissionsToolComponent {
|
|
|
3783
3984
|
</div>
|
|
3784
3985
|
</div>
|
|
3785
3986
|
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
<p>No permissions match your filter</p>
|
|
3794
|
-
</div>
|
|
3795
|
-
} @else {
|
|
3796
|
-
<div class="permission-list">
|
|
3987
|
+
<ndt-list
|
|
3988
|
+
[hasItems]="!hasNoPermissions()"
|
|
3989
|
+
[hasResults]="!hasNoFilteredPermissions()"
|
|
3990
|
+
emptyMessage="No permissions found"
|
|
3991
|
+
[emptyHint]="'Call setAvailableOptions() to configure permissions'"
|
|
3992
|
+
noResultsMessage="No permissions match your filter"
|
|
3993
|
+
>
|
|
3797
3994
|
@for (permission of filteredPermissions(); track permission.id) {
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3995
|
+
<ndt-list-item
|
|
3996
|
+
[title]="permission.name"
|
|
3997
|
+
[description]="permission.description"
|
|
3998
|
+
[isForced]="permission.isForced"
|
|
3999
|
+
[currentValue]="permission.isGranted"
|
|
4000
|
+
[originalValue]="permission.originalValue"
|
|
4001
|
+
>
|
|
4002
|
+
<ndt-select
|
|
4003
|
+
[value]="getPermissionValue(permission)"
|
|
4004
|
+
[options]="permissionValueOptions"
|
|
4005
|
+
[ariaLabel]="'Override state for ' + permission.name"
|
|
4006
|
+
(valueChange)="onPermissionChange(permission.id, $event ?? '')"
|
|
4007
|
+
size="small"
|
|
4008
|
+
/>
|
|
4009
|
+
</ndt-list-item>
|
|
3812
4010
|
}
|
|
3813
|
-
</
|
|
3814
|
-
}
|
|
4011
|
+
</ndt-list>
|
|
3815
4012
|
</div>
|
|
3816
4013
|
</ndt-toolbar-tool>
|
|
3817
|
-
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
4014
|
+
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}.filter-wrapper{flex:0 0 auto;display:flex;align-items:center;gap:var(--ndt-spacing-md);.filter-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}ndt-select{flex:0 0 auto;min-width:180px}}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "component", type: DevToolbarToolComponent, selector: "ndt-toolbar-tool", inputs: ["options", "icon", "title"] }, { kind: "component", type: DevToolbarInputComponent, selector: "ndt-input", inputs: ["value", "type", "placeholder", "ariaLabel", "inputClass"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarSelectComponent, selector: "ndt-select", inputs: ["value", "options", "ariaLabel", "label", "size"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }, { kind: "component", type: DevToolbarListComponent, selector: "ndt-list", inputs: ["hasItems", "hasResults", "emptyMessage", "emptyHint", "noResultsMessage"] }, { kind: "component", type: DevToolbarListItemComponent, selector: "ndt-list-item", inputs: ["title", "description", "isForced", "currentValue", "originalValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3818
4015
|
}
|
|
3819
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
4016
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPermissionsToolComponent, decorators: [{
|
|
3820
4017
|
type: Component,
|
|
3821
4018
|
args: [{ selector: 'ndt-permissions-tool', standalone: true, imports: [
|
|
3822
4019
|
FormsModule,
|
|
@@ -3824,6 +4021,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
3824
4021
|
DevToolbarInputComponent,
|
|
3825
4022
|
DevToolbarSelectComponent,
|
|
3826
4023
|
DevToolbarIconComponent,
|
|
4024
|
+
DevToolbarListComponent,
|
|
4025
|
+
DevToolbarListItemComponent,
|
|
3827
4026
|
], template: `
|
|
3828
4027
|
<ndt-toolbar-tool
|
|
3829
4028
|
[options]="options"
|
|
@@ -3850,38 +4049,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
3850
4049
|
</div>
|
|
3851
4050
|
</div>
|
|
3852
4051
|
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
<p>No permissions match your filter</p>
|
|
3861
|
-
</div>
|
|
3862
|
-
} @else {
|
|
3863
|
-
<div class="permission-list">
|
|
4052
|
+
<ndt-list
|
|
4053
|
+
[hasItems]="!hasNoPermissions()"
|
|
4054
|
+
[hasResults]="!hasNoFilteredPermissions()"
|
|
4055
|
+
emptyMessage="No permissions found"
|
|
4056
|
+
[emptyHint]="'Call setAvailableOptions() to configure permissions'"
|
|
4057
|
+
noResultsMessage="No permissions match your filter"
|
|
4058
|
+
>
|
|
3864
4059
|
@for (permission of filteredPermissions(); track permission.id) {
|
|
3865
|
-
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
4060
|
+
<ndt-list-item
|
|
4061
|
+
[title]="permission.name"
|
|
4062
|
+
[description]="permission.description"
|
|
4063
|
+
[isForced]="permission.isForced"
|
|
4064
|
+
[currentValue]="permission.isGranted"
|
|
4065
|
+
[originalValue]="permission.originalValue"
|
|
4066
|
+
>
|
|
4067
|
+
<ndt-select
|
|
4068
|
+
[value]="getPermissionValue(permission)"
|
|
4069
|
+
[options]="permissionValueOptions"
|
|
4070
|
+
[ariaLabel]="'Override state for ' + permission.name"
|
|
4071
|
+
(valueChange)="onPermissionChange(permission.id, $event ?? '')"
|
|
4072
|
+
size="small"
|
|
4073
|
+
/>
|
|
4074
|
+
</ndt-list-item>
|
|
3879
4075
|
}
|
|
3880
|
-
</
|
|
3881
|
-
}
|
|
4076
|
+
</ndt-list>
|
|
3882
4077
|
</div>
|
|
3883
4078
|
</ndt-toolbar-tool>
|
|
3884
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
4079
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}.filter-wrapper{flex:0 0 auto;display:flex;align-items:center;gap:var(--ndt-spacing-md);.filter-icon{width:18px;height:18px;flex-shrink:0;opacity:.6}ndt-select{flex:0 0 auto;min-width:180px}}}\n"] }]
|
|
3885
4080
|
}] });
|
|
3886
4081
|
|
|
3887
4082
|
/**
|
|
@@ -4010,10 +4205,10 @@ class DevToolbarInternalPresetsService {
|
|
|
4010
4205
|
generateId() {
|
|
4011
4206
|
return `preset-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
4012
4207
|
}
|
|
4013
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
4014
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
4208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalPresetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4209
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalPresetsService, providedIn: 'root' }); }
|
|
4015
4210
|
}
|
|
4016
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
4211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarInternalPresetsService, decorators: [{
|
|
4017
4212
|
type: Injectable,
|
|
4018
4213
|
args: [{ providedIn: 'root' }]
|
|
4019
4214
|
}], ctorParameters: () => [] });
|
|
@@ -4111,8 +4306,8 @@ class DevToolbarPresetsToolComponent {
|
|
|
4111
4306
|
formatDate(isoString) {
|
|
4112
4307
|
return new Date(isoString).toLocaleDateString();
|
|
4113
4308
|
}
|
|
4114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
4115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
4309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPresetsToolComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarPresetsToolComponent, isStandalone: true, selector: "ndt-presets-tool", ngImport: i0, template: `
|
|
4116
4311
|
<ndt-toolbar-tool [options]="options" title="Presets" icon="layout">
|
|
4117
4312
|
<div class="container">
|
|
4118
4313
|
<!-- Mode Toggle -->
|
|
@@ -4279,9 +4474,9 @@ class DevToolbarPresetsToolComponent {
|
|
|
4279
4474
|
}
|
|
4280
4475
|
</div>
|
|
4281
4476
|
</ndt-toolbar-tool>
|
|
4282
|
-
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
4477
|
+
`, isInline: true, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}ndt-button{flex-shrink:0}}.empty{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;justify-content:center;align-items:center;border:1px solid var(--ndt-border-subtle);border-radius:var(--ndt-border-radius-medium);padding:var(--ndt-spacing-md);background:transparent;color:var(--ndt-text-muted);text-align:center;p{margin:0}.hint{font-size:var(--ndt-font-size-xs)}}.preset-list{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;overflow-y:auto;padding-right:var(--ndt-spacing-sm);&::-webkit-scrollbar{width:8px}&::-webkit-scrollbar-track{background:var(--ndt-background-secondary);border-radius:4px}&::-webkit-scrollbar-thumb{background:var(--ndt-border-primary);border-radius:4px;&:hover{background:var(--ndt-hover-bg)}}scrollbar-width:thin;scrollbar-color:var(--ndt-border-primary) var(--ndt-background-secondary)}.preset-card{background:var(--ndt-background-secondary);padding:var(--ndt-spacing-md);border-radius:var(--ndt-border-radius-medium);display:flex;flex-direction:column;gap:var(--ndt-spacing-sm)}.preset-card__header{display:flex;justify-content:space-between;align-items:center;gap:var(--ndt-spacing-sm);h3{margin:0;font-size:var(--ndt-font-size-md);color:var(--ndt-text-primary);flex:1}}.preset-card__actions{display:flex;gap:var(--ndt-spacing-xs)}.icon-button{background:transparent;border:none;cursor:pointer;padding:var(--ndt-spacing-xs);border-radius:var(--ndt-border-radius-small);color:var(--ndt-text-secondary);display:flex;align-items:center;justify-content:center;&:hover{background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}ndt-icon{width:16px;height:16px}}.preset-card__description{margin:0;font-size:var(--ndt-font-size-sm);color:var(--ndt-text-secondary)}.preset-card__meta{font-size:var(--ndt-font-size-xs);color:var(--ndt-text-muted);span{margin-right:var(--ndt-spacing-sm)}}.preset-card__preview{display:flex;gap:var(--ndt-spacing-xs);flex-wrap:wrap}.badge{background:var(--ndt-primary-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:var(--ndt-font-size-xs);font-weight:500}.preset-form{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--ndt-spacing-md);padding:var(--ndt-spacing-md);ndt-input{width:100%}}.preset-summary{background:var(--ndt-background-secondary);padding:var(--ndt-spacing-md);border-radius:var(--ndt-border-radius-medium);h4{margin:0 0 var(--ndt-spacing-sm) 0;font-size:var(--ndt-font-size-sm);color:var(--ndt-text-primary)}ul{margin:0;padding-left:var(--ndt-spacing-md);color:var(--ndt-text-secondary);font-size:var(--ndt-font-size-sm);li{margin-bottom:var(--ndt-spacing-xs)}}}.form-actions{display:flex;justify-content:flex-end;gap:var(--ndt-spacing-sm)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DevToolbarToolComponent, selector: "ndt-toolbar-tool", inputs: ["options", "icon", "title"] }, { kind: "component", type: DevToolbarInputComponent, selector: "ndt-input", inputs: ["value", "type", "placeholder", "ariaLabel", "inputClass"], outputs: ["valueChange"] }, { kind: "component", type: DevToolbarButtonComponent, selector: "ndt-button", inputs: ["type", "variant", "icon", "label", "ariaLabel", "isActive"] }, { kind: "component", type: DevToolbarIconComponent, selector: "ndt-icon", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4283
4478
|
}
|
|
4284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
4479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPresetsToolComponent, decorators: [{
|
|
4285
4480
|
type: Component,
|
|
4286
4481
|
args: [{ selector: 'ndt-presets-tool', standalone: true, imports: [
|
|
4287
4482
|
FormsModule,
|
|
@@ -4457,7 +4652,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
4457
4652
|
}
|
|
4458
4653
|
</div>
|
|
4459
4654
|
</ndt-toolbar-tool>
|
|
4460
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md)
|
|
4655
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container{display:flex;flex-direction:column;height:100%}.header{flex-shrink:0;display:flex;gap:var(--ndt-spacing-sm);margin-bottom:var(--ndt-spacing-md);ndt-input{flex:1}ndt-button{flex-shrink:0}}.empty{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;justify-content:center;align-items:center;border:1px solid var(--ndt-border-subtle);border-radius:var(--ndt-border-radius-medium);padding:var(--ndt-spacing-md);background:transparent;color:var(--ndt-text-muted);text-align:center;p{margin:0}.hint{font-size:var(--ndt-font-size-xs)}}.preset-list{display:flex;flex-direction:column;gap:var(--ndt-spacing-md);flex:1;min-height:0;overflow-y:auto;padding-right:var(--ndt-spacing-sm);&::-webkit-scrollbar{width:8px}&::-webkit-scrollbar-track{background:var(--ndt-background-secondary);border-radius:4px}&::-webkit-scrollbar-thumb{background:var(--ndt-border-primary);border-radius:4px;&:hover{background:var(--ndt-hover-bg)}}scrollbar-width:thin;scrollbar-color:var(--ndt-border-primary) var(--ndt-background-secondary)}.preset-card{background:var(--ndt-background-secondary);padding:var(--ndt-spacing-md);border-radius:var(--ndt-border-radius-medium);display:flex;flex-direction:column;gap:var(--ndt-spacing-sm)}.preset-card__header{display:flex;justify-content:space-between;align-items:center;gap:var(--ndt-spacing-sm);h3{margin:0;font-size:var(--ndt-font-size-md);color:var(--ndt-text-primary);flex:1}}.preset-card__actions{display:flex;gap:var(--ndt-spacing-xs)}.icon-button{background:transparent;border:none;cursor:pointer;padding:var(--ndt-spacing-xs);border-radius:var(--ndt-border-radius-small);color:var(--ndt-text-secondary);display:flex;align-items:center;justify-content:center;&:hover{background:var(--ndt-hover-bg);color:var(--ndt-text-primary)}ndt-icon{width:16px;height:16px}}.preset-card__description{margin:0;font-size:var(--ndt-font-size-sm);color:var(--ndt-text-secondary)}.preset-card__meta{font-size:var(--ndt-font-size-xs);color:var(--ndt-text-muted);span{margin-right:var(--ndt-spacing-sm)}}.preset-card__preview{display:flex;gap:var(--ndt-spacing-xs);flex-wrap:wrap}.badge{background:var(--ndt-primary-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:var(--ndt-font-size-xs);font-weight:500}.preset-form{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--ndt-spacing-md);padding:var(--ndt-spacing-md);ndt-input{width:100%}}.preset-summary{background:var(--ndt-background-secondary);padding:var(--ndt-spacing-md);border-radius:var(--ndt-border-radius-medium);h4{margin:0 0 var(--ndt-spacing-sm) 0;font-size:var(--ndt-font-size-sm);color:var(--ndt-text-primary)}ul{margin:0;padding-left:var(--ndt-spacing-md);color:var(--ndt-text-secondary);font-size:var(--ndt-font-size-sm);li{margin-bottom:var(--ndt-spacing-xs)}}}.form-actions{display:flex;justify-content:flex-end;gap:var(--ndt-spacing-sm)}\n"] }]
|
|
4461
4656
|
}] });
|
|
4462
4657
|
|
|
4463
4658
|
class DevToolbarComponent {
|
|
@@ -4486,8 +4681,8 @@ class DevToolbarComponent {
|
|
|
4486
4681
|
toggleDevTools() {
|
|
4487
4682
|
this.state.setVisibility(!this.state.isVisible());
|
|
4488
4683
|
}
|
|
4489
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
4490
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.
|
|
4684
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4685
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: DevToolbarComponent, isStandalone: true, selector: "ndt-toolbar", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
4491
4686
|
<div
|
|
4492
4687
|
aria-label="Developer tools"
|
|
4493
4688
|
role="toolbar"
|
|
@@ -4498,22 +4693,22 @@ class DevToolbarComponent {
|
|
|
4498
4693
|
(mouseenter)="onMouseEnter()"
|
|
4499
4694
|
>
|
|
4500
4695
|
<ndt-home-tool />
|
|
4501
|
-
|
|
4696
|
+
<ng-content />
|
|
4697
|
+
@if (config().showLanguageTool ?? false) {
|
|
4502
4698
|
<ndt-language-tool />
|
|
4503
4699
|
}
|
|
4504
|
-
@if (config().
|
|
4505
|
-
<ndt-
|
|
4700
|
+
@if (config().showPresetsTool ?? false) {
|
|
4701
|
+
<ndt-presets-tool />
|
|
4506
4702
|
}
|
|
4507
|
-
@if (config().showAppFeaturesTool ??
|
|
4703
|
+
@if (config().showAppFeaturesTool ?? false) {
|
|
4508
4704
|
<ndt-app-features-tool />
|
|
4509
4705
|
}
|
|
4510
|
-
@if (config().showPermissionsTool ??
|
|
4706
|
+
@if (config().showPermissionsTool ?? false) {
|
|
4511
4707
|
<ndt-permissions-tool />
|
|
4512
4708
|
}
|
|
4513
|
-
@if (config().
|
|
4514
|
-
<ndt-
|
|
4709
|
+
@if (config().showFeatureFlagsTool ?? false) {
|
|
4710
|
+
<ndt-feature-flags-tool />
|
|
4515
4711
|
}
|
|
4516
|
-
<ng-content />
|
|
4517
4712
|
</div>
|
|
4518
4713
|
`, isInline: true, styles: [":host{--ndt-border-radius-small: 4px;--ndt-border-radius-medium: 8px;--ndt-border-radius-large: 12px;--ndt-transition-default: all .2s ease-out;--ndt-transition-smooth: all .2s ease-in-out;--ndt-bg-primary: rgb(255, 255, 255);--ndt-bg-gradient: linear-gradient(180deg, rgb(243, 244, 246) 0%, rgba(243, 244, 246, .88) 100%);--ndt-text-primary: rgb(17, 24, 39);--ndt-text-secondary: rgb(55, 65, 81);--ndt-text-muted: rgb(107, 114, 128);--ndt-border-primary: #e5e7eb;--ndt-border-subtle: rgba(17, 24, 39, .1);--ndt-hover-bg: rgba(17, 24, 39, .05);--ndt-hover-danger: rgb(239, 68, 68);--ndt-shadow-toolbar: 0 2px 8px rgba(156, 163, 175, .2);--ndt-shadow-tooltip: 0 0 0 1px rgba(17, 24, 39, .05), 0 4px 8px rgba(107, 114, 128, .15), 0 2px 4px rgba(107, 114, 128, .1);--ndt-shadow-window: 0px 0px 0px 0px rgba(156, 163, 175, .1), 0px 1px 2px 0px rgba(156, 163, 175, .12), 0px 4px 4px 0px rgba(156, 163, 175, .1), 0px 10px 6px 0px rgba(156, 163, 175, .08), 0px 17px 7px 0px rgba(156, 163, 175, .05), 0px 26px 7px 0px rgba(156, 163, 175, .02);--ndt-spacing-xs: 4px;--ndt-spacing-sm: 6px;--ndt-spacing-md: 12px;--ndt-window-padding: 16px;--ndt-font-size-xs: .75rem;--ndt-font-size-sm: .875rem;--ndt-font-size-md: 1rem;--ndt-font-size-lg: 1.25rem;--ndt-font-size-xl: 2rem;--ndt-background-secondary: var(--ndt-bg-primary);--ndt-background-hover: var(--ndt-hover-bg);--ndt-primary: #df30d4;--ndt-primary-rgb: 223, 48, 212;--ndt-text-on-primary: rgb(255, 255, 255);--ndt-border-color: var(--ndt-border-primary);--ndt-note-background: rgb(219, 234, 254);--ndt-note-border: rgba(37, 99, 235, .2);--ndt-warning-background: rgb(254, 249, 195);--ndt-warning-border: rgba(202, 138, 4, .2);--ndt-error-background: rgb(254, 226, 226);--ndt-error-border: rgba(220, 38, 38, .2);display:contents;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}:host[data-theme=dark]{--ndt-bg-primary: rgb(17, 24, 39);--ndt-bg-gradient: linear-gradient(180deg, rgb(19, 21, 26) 0%, rgba(19, 21, 26, .88) 100%);--ndt-text-primary: rgb(255, 255, 255);--ndt-text-secondary: rgb(229, 231, 235);--ndt-text-muted: rgb(156, 163, 175);--ndt-border-primary: #343841;--ndt-border-subtle: rgba(255, 255, 255, .1);--ndt-hover-bg: rgba(255, 255, 255, .12);--ndt-hover-danger: rgb(220, 38, 38);--ndt-shadow-toolbar: 0 2px 8px rgba(19, 21, 26, .3);--ndt-shadow-tooltip: 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .3);--ndt-shadow-window: 0px 0px 0px 0px rgba(19, 21, 26, .3), 0px 1px 2px 0px rgba(19, 21, 26, .29), 0px 4px 4px 0px rgba(19, 21, 26, .26), 0px 10px 6px 0px rgba(19, 21, 26, .15), 0px 17px 7px 0px rgba(19, 21, 26, .04), 0px 26px 7px 0px rgba(19, 21, 26, .01);--ndt-note-background: rgba(37, 99, 235, .15);--ndt-note-border: rgba(37, 99, 235, .3);--ndt-warning-background: rgba(202, 138, 4, .15);--ndt-warning-border: rgba(202, 138, 4, .3);--ndt-error-background: rgba(220, 38, 38, .15);--ndt-error-border: rgba(220, 38, 38, .3)}.dev-toolbar{position:fixed;bottom:0;left:50%;z-index:999999;transform:translate(-50%);display:flex;pointer-events:auto;background:var(--ndt-bg-primary);border:1px solid var(--ndt-border-primary);border-radius:9999px;box-shadow:var(--ndt-shadow-toolbar);height:40px;overflow:hidden}.dev-toolbar--active{opacity:1}h1,h2,h3,h4,h5{font-weight:600;color:var(--ndt-text-primary);margin:0}h1{font-size:var(--ndt-font-size-xl)}h2{font-size:var(--ndt-font-size-lg)}h3{font-size:var(--ndt-font-size-md)}h4{font-size:var(--ndt-font-size-sm)}h5{font-size:var(--ndt-font-size-xs)}hr{border:1px solid var(--ndt-border-subtle);margin:1em 0}p{line-height:1.5em;margin:0}\n"], dependencies: [{ kind: "component", type: DevToolbarHomeToolComponent, selector: "ndt-home-tool", inputs: ["badge"] }, { kind: "component", type: DevToolbarLanguageToolComponent, selector: "ndt-language-tool" }, { kind: "component", type: DevToolbarFeatureFlagsToolComponent, selector: "ndt-feature-flags-tool" }, { kind: "component", type: DevToolbarAppFeaturesToolComponent, selector: "ndt-app-features-tool" }, { kind: "component", type: DevToolbarPermissionsToolComponent, selector: "ndt-permissions-tool" }, { kind: "component", type: DevToolbarPresetsToolComponent, selector: "ndt-presets-tool" }], animations: [
|
|
4519
4714
|
trigger('toolbarState', [
|
|
@@ -4529,7 +4724,7 @@ class DevToolbarComponent {
|
|
|
4529
4724
|
]),
|
|
4530
4725
|
], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
4531
4726
|
}
|
|
4532
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
4727
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarComponent, decorators: [{
|
|
4533
4728
|
type: Component,
|
|
4534
4729
|
args: [{ standalone: true, selector: 'ndt-toolbar', encapsulation: ViewEncapsulation.ShadowDom, imports: [
|
|
4535
4730
|
DevToolbarHomeToolComponent,
|
|
@@ -4549,22 +4744,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
4549
4744
|
(mouseenter)="onMouseEnter()"
|
|
4550
4745
|
>
|
|
4551
4746
|
<ndt-home-tool />
|
|
4552
|
-
|
|
4747
|
+
<ng-content />
|
|
4748
|
+
@if (config().showLanguageTool ?? false) {
|
|
4553
4749
|
<ndt-language-tool />
|
|
4554
4750
|
}
|
|
4555
|
-
@if (config().
|
|
4556
|
-
<ndt-
|
|
4751
|
+
@if (config().showPresetsTool ?? false) {
|
|
4752
|
+
<ndt-presets-tool />
|
|
4557
4753
|
}
|
|
4558
|
-
@if (config().showAppFeaturesTool ??
|
|
4754
|
+
@if (config().showAppFeaturesTool ?? false) {
|
|
4559
4755
|
<ndt-app-features-tool />
|
|
4560
4756
|
}
|
|
4561
|
-
@if (config().showPermissionsTool ??
|
|
4757
|
+
@if (config().showPermissionsTool ?? false) {
|
|
4562
4758
|
<ndt-permissions-tool />
|
|
4563
4759
|
}
|
|
4564
|
-
@if (config().
|
|
4565
|
-
<ndt-
|
|
4760
|
+
@if (config().showFeatureFlagsTool ?? false) {
|
|
4761
|
+
<ndt-feature-flags-tool />
|
|
4566
4762
|
}
|
|
4567
|
-
<ng-content />
|
|
4568
4763
|
</div>
|
|
4569
4764
|
`, animations: [
|
|
4570
4765
|
trigger('toolbarState', [
|
|
@@ -4599,10 +4794,36 @@ class DevToolbarFeatureFlagService {
|
|
|
4599
4794
|
getForcedValues() {
|
|
4600
4795
|
return this.internalService.getForcedFlags();
|
|
4601
4796
|
}
|
|
4602
|
-
|
|
4603
|
-
|
|
4797
|
+
/**
|
|
4798
|
+
* Gets ALL flag values with overrides already applied.
|
|
4799
|
+
* Returns the complete set of flags where overridden values replace base values.
|
|
4800
|
+
* Each flag includes an `isForced` property indicating if it was overridden.
|
|
4801
|
+
*
|
|
4802
|
+
* This method simplifies integration by eliminating the need to manually merge
|
|
4803
|
+
* base flags with overrides using combineLatest.
|
|
4804
|
+
*
|
|
4805
|
+
* @returns Observable of all flags with overrides applied
|
|
4806
|
+
*
|
|
4807
|
+
* @example
|
|
4808
|
+
* ```typescript
|
|
4809
|
+
* // Get a specific flag value with overrides applied
|
|
4810
|
+
* this.featureFlagsService.getValues().pipe(
|
|
4811
|
+
* map(flags => flags.find(f => f.id === 'newFeature')),
|
|
4812
|
+
* map(flag => flag?.isEnabled ?? false)
|
|
4813
|
+
* ).subscribe(isEnabled => {
|
|
4814
|
+
* if (isEnabled) {
|
|
4815
|
+
* // Enable feature
|
|
4816
|
+
* }
|
|
4817
|
+
* });
|
|
4818
|
+
* ```
|
|
4819
|
+
*/
|
|
4820
|
+
getValues() {
|
|
4821
|
+
return this.internalService.flags$;
|
|
4822
|
+
}
|
|
4823
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarFeatureFlagService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4824
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarFeatureFlagService, providedIn: 'root' }); }
|
|
4604
4825
|
}
|
|
4605
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
4826
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarFeatureFlagService, decorators: [{
|
|
4606
4827
|
type: Injectable,
|
|
4607
4828
|
args: [{ providedIn: 'root' }]
|
|
4608
4829
|
}] });
|
|
@@ -4625,10 +4846,19 @@ class DevToolbarLanguageService {
|
|
|
4625
4846
|
getForcedValues() {
|
|
4626
4847
|
return this.internalService.getForcedLanguage();
|
|
4627
4848
|
}
|
|
4628
|
-
|
|
4629
|
-
|
|
4849
|
+
/**
|
|
4850
|
+
* Gets the forced language value.
|
|
4851
|
+
* For the language tool, this returns the same as getForcedValues() since
|
|
4852
|
+
* only one language can be selected at a time.
|
|
4853
|
+
* @returns Observable of forced language array (single item or empty)
|
|
4854
|
+
*/
|
|
4855
|
+
getValues() {
|
|
4856
|
+
return this.internalService.getForcedLanguage();
|
|
4857
|
+
}
|
|
4858
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4859
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLanguageService, providedIn: 'root' }); }
|
|
4630
4860
|
}
|
|
4631
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
4861
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarLanguageService, decorators: [{
|
|
4632
4862
|
type: Injectable,
|
|
4633
4863
|
args: [{ providedIn: 'root' }]
|
|
4634
4864
|
}] });
|
|
@@ -4734,6 +4964,32 @@ class DevToolbarAppFeaturesService {
|
|
|
4734
4964
|
getForcedValues() {
|
|
4735
4965
|
return this.internalService.getForcedFeatures();
|
|
4736
4966
|
}
|
|
4967
|
+
/**
|
|
4968
|
+
* Gets ALL app feature values with overrides already applied.
|
|
4969
|
+
* Returns the complete set of features where overridden values replace base values.
|
|
4970
|
+
* Each feature includes an `isForced` property indicating if it was overridden.
|
|
4971
|
+
*
|
|
4972
|
+
* This method simplifies integration by eliminating the need to manually merge
|
|
4973
|
+
* base features with overrides using combineLatest.
|
|
4974
|
+
*
|
|
4975
|
+
* @returns Observable of all features with overrides applied
|
|
4976
|
+
*
|
|
4977
|
+
* @example
|
|
4978
|
+
* ```typescript
|
|
4979
|
+
* // Check if a feature is enabled with overrides applied
|
|
4980
|
+
* this.appFeaturesService.getValues().pipe(
|
|
4981
|
+
* map(features => features.find(f => f.id === 'premium-analytics')),
|
|
4982
|
+
* map(feature => feature?.isEnabled ?? false)
|
|
4983
|
+
* ).subscribe(isEnabled => {
|
|
4984
|
+
* if (isEnabled) {
|
|
4985
|
+
* // Enable premium analytics
|
|
4986
|
+
* }
|
|
4987
|
+
* });
|
|
4988
|
+
* ```
|
|
4989
|
+
*/
|
|
4990
|
+
getValues() {
|
|
4991
|
+
return this.internalService.features$;
|
|
4992
|
+
}
|
|
4737
4993
|
/**
|
|
4738
4994
|
* Apply a preset feature configuration (for preset tool integration).
|
|
4739
4995
|
*
|
|
@@ -4787,10 +5043,10 @@ class DevToolbarAppFeaturesService {
|
|
|
4787
5043
|
getCurrentForcedState() {
|
|
4788
5044
|
return this.internalService.getCurrentForcedState();
|
|
4789
5045
|
}
|
|
4790
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
4791
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
5046
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarAppFeaturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5047
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarAppFeaturesService, providedIn: 'root' }); }
|
|
4792
5048
|
}
|
|
4793
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
5049
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarAppFeaturesService, decorators: [{
|
|
4794
5050
|
type: Injectable,
|
|
4795
5051
|
args: [{ providedIn: 'root' }]
|
|
4796
5052
|
}] });
|
|
@@ -4861,6 +5117,32 @@ class DevToolbarPermissionsService {
|
|
|
4861
5117
|
getForcedValues() {
|
|
4862
5118
|
return this.internalService.getForcedPermissions();
|
|
4863
5119
|
}
|
|
5120
|
+
/**
|
|
5121
|
+
* Gets ALL permission values with overrides already applied.
|
|
5122
|
+
* Returns the complete set of permissions where overridden values replace base values.
|
|
5123
|
+
* Each permission includes an `isForced` property indicating if it was overridden.
|
|
5124
|
+
*
|
|
5125
|
+
* This method simplifies integration by eliminating the need to manually merge
|
|
5126
|
+
* base permissions with overrides using combineLatest.
|
|
5127
|
+
*
|
|
5128
|
+
* @returns Observable of all permissions with overrides applied
|
|
5129
|
+
*
|
|
5130
|
+
* @example
|
|
5131
|
+
* ```typescript
|
|
5132
|
+
* // Simple permission check with overrides applied
|
|
5133
|
+
* this.permissionsService.getValues().pipe(
|
|
5134
|
+
* map(permissions => permissions.find(p => p.id === 'can-edit')),
|
|
5135
|
+
* map(permission => permission?.isGranted ?? false)
|
|
5136
|
+
* ).subscribe(canEdit => {
|
|
5137
|
+
* if (canEdit) {
|
|
5138
|
+
* // Enable edit functionality
|
|
5139
|
+
* }
|
|
5140
|
+
* });
|
|
5141
|
+
* ```
|
|
5142
|
+
*/
|
|
5143
|
+
getValues() {
|
|
5144
|
+
return this.internalService.permissions$;
|
|
5145
|
+
}
|
|
4864
5146
|
/**
|
|
4865
5147
|
* Apply a preset permission state. Useful for automated testing scenarios.
|
|
4866
5148
|
*
|
|
@@ -4885,10 +5167,10 @@ class DevToolbarPermissionsService {
|
|
|
4885
5167
|
getCurrentState() {
|
|
4886
5168
|
return this.internalService.getCurrentForcedState();
|
|
4887
5169
|
}
|
|
4888
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
4889
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
5170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5171
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPermissionsService, providedIn: 'root' }); }
|
|
4890
5172
|
}
|
|
4891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
5173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPermissionsService, decorators: [{
|
|
4892
5174
|
type: Injectable,
|
|
4893
5175
|
args: [{ providedIn: 'root' }]
|
|
4894
5176
|
}] });
|
|
@@ -4958,10 +5240,10 @@ class DevToolbarPresetsService {
|
|
|
4958
5240
|
const preset = JSON.parse(json);
|
|
4959
5241
|
return this.internalService.addPreset(preset);
|
|
4960
5242
|
}
|
|
4961
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.
|
|
4962
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.
|
|
5243
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPresetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5244
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPresetsService, providedIn: 'root' }); }
|
|
4963
5245
|
}
|
|
4964
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.
|
|
5246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DevToolbarPresetsService, decorators: [{
|
|
4965
5247
|
type: Injectable,
|
|
4966
5248
|
args: [{ providedIn: 'root' }]
|
|
4967
5249
|
}] });
|
|
@@ -4970,5 +5252,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
|
|
|
4970
5252
|
* Generated bundle index. Do not edit.
|
|
4971
5253
|
*/
|
|
4972
5254
|
|
|
4973
|
-
export { DevToolbarAppFeaturesService, DevToolbarAppFeaturesToolComponent, DevToolbarComponent, DevToolbarFeatureFlagService, DevToolbarIconComponent, DevToolbarLanguageService, DevToolbarPermissionsService, DevToolbarPermissionsToolComponent, DevToolbarPresetsService, DevToolbarPresetsToolComponent, DevToolbarToolComponent };
|
|
5255
|
+
export { DevToolbarAppFeaturesService, DevToolbarAppFeaturesToolComponent, DevToolbarComponent, DevToolbarFeatureFlagService, DevToolbarIconComponent, DevToolbarLanguageService, DevToolbarListComponent, DevToolbarListItemComponent, DevToolbarPermissionsService, DevToolbarPermissionsToolComponent, DevToolbarPresetsService, DevToolbarPresetsToolComponent, DevToolbarToolComponent };
|
|
4974
5256
|
//# sourceMappingURL=ngx-dev-toolbar.mjs.map
|