ngx-dev-toolbar 3.0.3 → 3.1.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/index.d.ts CHANGED
@@ -7,6 +7,14 @@ export * from './components/list/list.component';
7
7
  export * from './components/list-item/list-item.component';
8
8
  export * from './components/toolbar-tool/toolbar-tool.component';
9
9
  export * from './components/toolbar-tool/toolbar-tool.models';
10
+ export * from './components/button/button.component';
11
+ export * from './components/input/input.component';
12
+ export * from './components/select/select.component';
13
+ export * from './components/card/card.component';
14
+ export * from './components/clickable-card/clickable-card.component';
15
+ export * from './components/link-button/link-button.component';
16
+ export * from './components/step-view/step-view.component';
17
+ export * from './components/step-view/step-view.directive';
10
18
  export * from './toolbar.component';
11
19
  export * from './models/toolbar.interface';
12
20
  export * from './models/toolbar-config.interface';
@@ -24,65 +32,3 @@ export * from './tools/permissions-tool/permissions-tool.component';
24
32
  export * from './tools/presets-tool/presets.models';
25
33
  export * from './tools/presets-tool/presets.service';
26
34
  export * from './tools/presets-tool/presets-tool.component';
27
- /** @deprecated Use TOOLBAR_FEATURE_FLAGS instead. Will be removed in v4.0 */
28
- export declare const DEV_TOOLBAR_FEATURE_FLAGS: import("@angular/core").InjectionToken<ToolbarService<ToolbarFlag>>;
29
- /** @deprecated Use TOOLBAR_PERMISSIONS instead. Will be removed in v4.0 */
30
- export declare const DEV_TOOLBAR_PERMISSIONS: import("@angular/core").InjectionToken<ToolbarService<ToolbarPermission>>;
31
- /** @deprecated Use TOOLBAR_LANGUAGE instead. Will be removed in v4.0 */
32
- export declare const DEV_TOOLBAR_LANGUAGE: import("@angular/core").InjectionToken<ToolbarService<import("./tools/language-tool/language.models").Language>>;
33
- /** @deprecated Use TOOLBAR_APP_FEATURES instead. Will be removed in v4.0 */
34
- export declare const DEV_TOOLBAR_APP_FEATURES: import("@angular/core").InjectionToken<ToolbarService<ToolbarAppFeature>>;
35
- import { provideToolbar } from './provide-toolbar';
36
- import { initToolbar, InitToolbarOptions, InitToolbarResult } from './init-toolbar';
37
- /** @deprecated Use provideToolbar instead. Will be removed in v4.0 */
38
- export declare const provideDevToolbar: typeof provideToolbar;
39
- /** @deprecated Use initToolbar instead. Will be removed in v4.0 */
40
- export declare const initDevToolbar: typeof initToolbar;
41
- /** @deprecated Use InitToolbarOptions instead. Will be removed in v4.0 */
42
- export type InitDevToolbarOptions = InitToolbarOptions;
43
- /** @deprecated Use InitToolbarResult instead. Will be removed in v4.0 */
44
- export type InitDevToolbarResult = InitToolbarResult;
45
- import { ToolbarComponent } from './toolbar.component';
46
- import { ToolbarToolComponent } from './components/toolbar-tool/toolbar-tool.component';
47
- /** @deprecated Use ToolbarComponent instead. Will be removed in v4.0 */
48
- export declare const DevToolbarComponent: typeof ToolbarComponent;
49
- /** @deprecated Use ToolbarToolComponent instead. Will be removed in v4.0 */
50
- export declare const DevToolbarToolComponent: typeof ToolbarToolComponent;
51
- import { ToolbarFeatureFlagService } from './tools/feature-flags-tool/feature-flags.service';
52
- import { ToolbarLanguageService } from './tools/language-tool/language.service';
53
- import { ToolbarAppFeaturesService } from './tools/app-features-tool/app-features.service';
54
- import { ToolbarPermissionsService } from './tools/permissions-tool/permissions.service';
55
- import { ToolbarPresetsService } from './tools/presets-tool/presets.service';
56
- /** @deprecated Use ToolbarFeatureFlagService instead. Will be removed in v4.0 */
57
- export declare const DevToolbarFeatureFlagService: typeof ToolbarFeatureFlagService;
58
- /** @deprecated Use ToolbarLanguageService instead. Will be removed in v4.0 */
59
- export declare const DevToolbarLanguageService: typeof ToolbarLanguageService;
60
- /** @deprecated Use ToolbarAppFeaturesService instead. Will be removed in v4.0 */
61
- export declare const DevToolbarAppFeaturesService: typeof ToolbarAppFeaturesService;
62
- /** @deprecated Use ToolbarPermissionsService instead. Will be removed in v4.0 */
63
- export declare const DevToolbarPermissionsService: typeof ToolbarPermissionsService;
64
- /** @deprecated Use ToolbarPresetsService instead. Will be removed in v4.0 */
65
- export declare const DevToolbarPresetsService: typeof ToolbarPresetsService;
66
- import { ToolbarConfig } from './models/toolbar-config.interface';
67
- import { ToolbarService } from './models/toolbar.interface';
68
- import { ToolbarFlag } from './tools/feature-flags-tool/feature-flags.models';
69
- import { ToolbarPermission } from './tools/permissions-tool/permissions.models';
70
- import { ToolbarAppFeature } from './tools/app-features-tool/app-features.models';
71
- import { ToolbarWindowOptions } from './components/toolbar-tool/toolbar-tool.models';
72
- import { ToolbarPreset, ToolbarPresetConfig } from './tools/presets-tool/presets.models';
73
- /** @deprecated Use ToolbarConfig instead. Will be removed in v4.0 */
74
- export type DevToolbarConfig = ToolbarConfig;
75
- /** @deprecated Use ToolbarService instead. Will be removed in v4.0 */
76
- export type DevToolsService<T> = ToolbarService<T>;
77
- /** @deprecated Use ToolbarFlag instead. Will be removed in v4.0 */
78
- export type DevToolbarFlag = ToolbarFlag;
79
- /** @deprecated Use ToolbarPermission instead. Will be removed in v4.0 */
80
- export type DevToolbarPermission = ToolbarPermission;
81
- /** @deprecated Use ToolbarAppFeature instead. Will be removed in v4.0 */
82
- export type DevToolbarAppFeature = ToolbarAppFeature;
83
- /** @deprecated Use ToolbarWindowOptions instead. Will be removed in v4.0 */
84
- export type DevToolbarWindowOptions = ToolbarWindowOptions;
85
- /** @deprecated Use ToolbarPreset instead. Will be removed in v4.0 */
86
- export type DevToolbarPreset = ToolbarPreset;
87
- /** @deprecated Use ToolbarPresetConfig instead. Will be removed in v4.0 */
88
- export type DevToolbarPresetConfig = ToolbarPresetConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-dev-toolbar",
3
- "version": "3.0.3",
3
+ "version": "3.1.1",
4
4
  "keywords": [
5
5
  "devtools",
6
6
  "development-toolbar",
@@ -27,6 +27,7 @@ export declare class ToolbarFeatureFlagsToolComponent {
27
27
  onFlagChange(flagId: string, value: string): void;
28
28
  onSearchChange(query: string): void;
29
29
  protected getFlagValue(flag: ToolbarFlag): string;
30
+ protected getFlagPlaceholder(flag: ToolbarFlag): string;
30
31
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarFeatureFlagsToolComponent, never>;
31
32
  static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarFeatureFlagsToolComponent, "ngt-feature-flags-tool", never, {}, {}, never, never, true, never>;
32
33
  }
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ToolbarPreset, PresetCategoryOptions } from './presets.models';
2
+ import { ToolbarPreset, PresetCategoryOptions, PartialApplyOptions } from './presets.models';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Internal service for managing presets state.
@@ -40,6 +40,18 @@ export declare class ToolbarInternalPresetsService {
40
40
  * Get a preset by ID
41
41
  */
42
42
  getPresetById(presetId: string): ToolbarPreset | undefined;
43
+ /**
44
+ * Toggle favorite status for a preset
45
+ */
46
+ toggleFavorite(presetId: string): void;
47
+ /**
48
+ * Apply a preset with partial options (only selected categories)
49
+ */
50
+ partialApplyPreset(presetId: string, options: PartialApplyOptions): Promise<void>;
51
+ /**
52
+ * Update only the metadata (name, description) of a preset without changing config
53
+ */
54
+ updatePresetMetadata(presetId: string, name: string, description?: string): void;
43
55
  /**
44
56
  * Capture current configuration from all tools
45
57
  */
@@ -1,6 +1,9 @@
1
1
  import { ToolbarWindowOptions } from '../../components/toolbar-tool/toolbar-tool.models';
2
2
  import { ToolbarStateService } from '../../toolbar-state.service';
3
+ import { ToolbarPreset } from './presets.models';
3
4
  import * as i0 from "@angular/core";
5
+ type ViewMode = 'list' | 'create' | 'edit' | 'import' | 'apply' | 'delete';
6
+ type ToastType = 'success' | 'error';
4
7
  export declare class ToolbarPresetsToolComponent {
5
8
  private readonly presetsService;
6
9
  private readonly featureFlagsService;
@@ -8,7 +11,7 @@ export declare class ToolbarPresetsToolComponent {
8
11
  private readonly appFeaturesService;
9
12
  private readonly languageService;
10
13
  protected readonly state: ToolbarStateService;
11
- protected readonly viewMode: import("@angular/core").WritableSignal<"list" | "create">;
14
+ protected readonly viewMode: import("@angular/core").WritableSignal<ViewMode>;
12
15
  protected readonly searchQuery: import("@angular/core").WritableSignal<string>;
13
16
  protected readonly presetName: import("@angular/core").WritableSignal<string>;
14
17
  protected readonly presetDescription: import("@angular/core").WritableSignal<string>;
@@ -19,10 +22,31 @@ export declare class ToolbarPresetsToolComponent {
19
22
  protected readonly selectedFlagIds: import("@angular/core").WritableSignal<Set<string>>;
20
23
  protected readonly selectedPermissionIds: import("@angular/core").WritableSignal<Set<string>>;
21
24
  protected readonly selectedFeatureIds: import("@angular/core").WritableSignal<Set<string>>;
22
- protected readonly presets: import("@angular/core").Signal<import("ngx-dev-toolbar").ToolbarPreset[]>;
23
- protected readonly filteredPresets: import("@angular/core").Signal<import("ngx-dev-toolbar").ToolbarPreset[]>;
25
+ protected readonly editingPresetId: import("@angular/core").WritableSignal<string | null>;
26
+ protected readonly editName: import("@angular/core").WritableSignal<string>;
27
+ protected readonly editDescription: import("@angular/core").WritableSignal<string>;
28
+ protected readonly importJson: import("@angular/core").WritableSignal<string>;
29
+ protected readonly importError: import("@angular/core").WritableSignal<string | null>;
30
+ protected readonly isDragOver: import("@angular/core").WritableSignal<boolean>;
31
+ protected readonly applyingPresetId: import("@angular/core").WritableSignal<string | null>;
32
+ protected readonly applyFeatureFlags: import("@angular/core").WritableSignal<boolean>;
33
+ protected readonly applyPermissions: import("@angular/core").WritableSignal<boolean>;
34
+ protected readonly applyAppFeatures: import("@angular/core").WritableSignal<boolean>;
35
+ protected readonly applyLanguage: import("@angular/core").WritableSignal<boolean>;
36
+ protected readonly deletePresetId: import("@angular/core").WritableSignal<string | null>;
37
+ protected readonly toastMessage: import("@angular/core").WritableSignal<string | null>;
38
+ protected readonly toastType: import("@angular/core").WritableSignal<ToastType>;
39
+ protected readonly nameError: import("@angular/core").WritableSignal<string | null>;
40
+ private toastTimeout;
41
+ constructor();
42
+ protected readonly presets: import("@angular/core").Signal<ToolbarPreset[]>;
43
+ protected readonly filteredPresets: import("@angular/core").Signal<ToolbarPreset[]>;
44
+ protected readonly sortedPresets: import("@angular/core").Signal<ToolbarPreset[]>;
24
45
  protected readonly hasNoPresets: import("@angular/core").Signal<boolean>;
25
46
  protected readonly hasNoFilteredPresets: import("@angular/core").Signal<boolean>;
47
+ protected readonly editingPreset: import("@angular/core").Signal<ToolbarPreset | null>;
48
+ protected readonly applyingPreset: import("@angular/core").Signal<ToolbarPreset | null>;
49
+ protected readonly deletePresetName: import("@angular/core").Signal<string>;
26
50
  protected readonly isFeatureFlagsEnabled: import("@angular/core").Signal<boolean>;
27
51
  protected readonly isPermissionsEnabled: import("@angular/core").Signal<boolean>;
28
52
  protected readonly isAppFeaturesEnabled: import("@angular/core").Signal<boolean>;
@@ -31,27 +55,40 @@ export declare class ToolbarPresetsToolComponent {
31
55
  protected readonly forcedPermissions: import("@angular/core").Signal<import("ngx-dev-toolbar").ToolbarPermission[]>;
32
56
  protected readonly forcedAppFeatures: import("@angular/core").Signal<import("ngx-dev-toolbar").ToolbarAppFeature[]>;
33
57
  protected readonly options: ToolbarWindowOptions;
58
+ private showToast;
34
59
  onSearchChange(query: string): void;
35
- onSwitchToCreateMode(): void;
36
60
  onSwitchToListMode(): void;
61
+ onSwitchToCreateMode(): void;
62
+ onSwitchToImportMode(): void;
63
+ onPresetNameChange(value: string): void;
37
64
  onSavePreset(event: Event): void;
38
- onApplyPreset(presetId: string): void;
65
+ onStartEdit(presetId: string): void;
66
+ onEditNameChange(value: string): void;
67
+ onSaveEdit(event: Event): void;
68
+ onReplaceConfig(): void;
69
+ onDragOver(event: DragEvent): void;
70
+ onDragLeave(event: DragEvent): void;
71
+ onFileDrop(event: DragEvent): void;
72
+ onFileSelect(event: Event): void;
73
+ private processFile;
74
+ onImportJsonChange(event: Event): void;
75
+ onImportPreset(): void;
76
+ onStartApply(presetId: string): void;
77
+ onConfirmPartialApply(): void;
39
78
  onUpdatePreset(presetId: string): void;
40
79
  onExportPreset(presetId: string): void;
41
80
  onDeletePreset(presetId: string): void;
81
+ onConfirmDelete(): void;
82
+ onToggleFavorite(presetId: string): void;
42
83
  protected getCurrentFlagsCount(): number;
43
84
  protected getCurrentPermissionsCount(): number;
44
85
  protected getCurrentAppFeaturesCount(): number;
45
86
  protected getCurrentLanguage(): string;
46
87
  protected formatDate(isoString: string): string;
47
- /**
48
- * Toggle selection of an individual item
49
- */
88
+ protected getPresetTooltip(preset: ToolbarPreset): string;
50
89
  protected toggleItemSelection(signal: typeof this.selectedFlagIds, itemId: string): void;
51
- /**
52
- * Check if an item is selected
53
- */
54
90
  protected isItemSelected(selectedSet: Set<string>, itemId: string): boolean;
55
91
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarPresetsToolComponent, never>;
56
92
  static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarPresetsToolComponent, "ngt-presets-tool", never, {}, {}, never, never, true, never>;
57
93
  }
94
+ export {};
@@ -5,6 +5,9 @@ export interface ToolbarPreset {
5
5
  createdAt: string;
6
6
  updatedAt: string;
7
7
  config: ToolbarPresetConfig;
8
+ isFavorite?: boolean;
9
+ /** True if this preset was added via code (initializePresets) and cannot be edited/deleted */
10
+ isSystem?: boolean;
8
11
  }
9
12
  export interface ToolbarPresetConfig {
10
13
  featureFlags: {
@@ -31,3 +34,12 @@ export interface PresetCategoryOptions {
31
34
  selectedPermissionIds?: string[];
32
35
  selectedFeatureIds?: string[];
33
36
  }
37
+ /**
38
+ * Options for partial preset application
39
+ */
40
+ export interface PartialApplyOptions {
41
+ applyFeatureFlags?: boolean;
42
+ applyPermissions?: boolean;
43
+ applyAppFeatures?: boolean;
44
+ applyLanguage?: boolean;
45
+ }
@@ -1,5 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
- import { ToolbarPreset, ToolbarPresetConfig } from './presets.models';
2
+ import { ToolbarPreset, ToolbarPresetConfig, PartialApplyOptions } from './presets.models';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Partial preset for initialization (without generated fields)
@@ -41,6 +41,24 @@ export declare class ToolbarPresetsService {
41
41
  * @param presetId - ID of the preset to delete
42
42
  */
43
43
  deletePreset(presetId: string): void;
44
+ /**
45
+ * Toggle favorite status for a preset
46
+ * @param presetId - ID of the preset to toggle
47
+ */
48
+ toggleFavorite(presetId: string): void;
49
+ /**
50
+ * Apply a preset with partial options (only selected categories)
51
+ * @param presetId - ID of the preset to apply
52
+ * @param options - Options for which categories to apply
53
+ */
54
+ partialApplyPreset(presetId: string, options: PartialApplyOptions): Promise<void>;
55
+ /**
56
+ * Update only the metadata (name, description) of a preset
57
+ * @param presetId - ID of the preset to update
58
+ * @param name - New name for the preset
59
+ * @param description - New description for the preset
60
+ */
61
+ updatePresetMetadata(presetId: string, name: string, description?: string): void;
44
62
  /**
45
63
  * Export a preset as JSON string
46
64
  * @param presetId - ID of the preset to export
@@ -57,9 +75,10 @@ export declare class ToolbarPresetsService {
57
75
  /**
58
76
  * Initialize presets with predefined configurations.
59
77
  * Useful for setting up default presets that all developers can use.
78
+ * Skips presets that already exist (by name) to avoid duplicates.
60
79
  *
61
80
  * @param presets - Array of preset configurations to initialize
62
- * @returns Array of created presets
81
+ * @returns Array of created presets (only newly added ones)
63
82
  *
64
83
  * @example
65
84
  * ```typescript