ngx-dev-toolbar 4.0.0 → 4.2.0

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.
Files changed (44) hide show
  1. package/README.md +5 -5
  2. package/components/icon-button/icon-button.component.d.ts +13 -0
  3. package/components/icons/globe-icon.component.d.ts +6 -0
  4. package/components/icons/icon.models.d.ts +1 -1
  5. package/components/icons/pin-icon.component.d.ts +6 -0
  6. package/components/list-item/list-item.component.d.ts +24 -1
  7. package/components/select/select.component.d.ts +1 -1
  8. package/components/tool-button/tool-button.component.d.ts +6 -5
  9. package/components/toolbar-tool/toolbar-tool.component.d.ts +6 -11
  10. package/components/window/window.component.d.ts +1 -1
  11. package/fesm2022/ngx-dev-toolbar.mjs +2229 -698
  12. package/fesm2022/ngx-dev-toolbar.mjs.map +1 -1
  13. package/index.d.ts +7 -3
  14. package/models/tool-view-state.models.d.ts +2 -0
  15. package/models/toolbar-config.interface.d.ts +32 -2
  16. package/models/toolbar-position.model.d.ts +3 -0
  17. package/models/toolbar.interface.d.ts +19 -0
  18. package/package.json +6 -7
  19. package/tokens.d.ts +0 -18
  20. package/toolbar-state.service.d.ts +10 -9
  21. package/toolbar.component.d.ts +1 -0
  22. package/tools/app-features-tool/app-features-internal.service.d.ts +6 -0
  23. package/tools/app-features-tool/app-features-tool.component.d.ts +5 -0
  24. package/tools/app-features-tool/app-features.service.d.ts +7 -0
  25. package/tools/feature-flags-tool/feature-flags-internal.service.d.ts +6 -0
  26. package/tools/feature-flags-tool/feature-flags-tool.component.d.ts +5 -0
  27. package/tools/feature-flags-tool/feature-flags.service.d.ts +7 -0
  28. package/tools/home-tool/home-tool.component.d.ts +3 -0
  29. package/tools/home-tool/settings.models.d.ts +3 -0
  30. package/tools/i18n-tool/i18n-formatting.utils.d.ts +10 -0
  31. package/tools/i18n-tool/i18n-internal.service.d.ts +86 -0
  32. package/tools/i18n-tool/i18n-tool.component.d.ts +66 -0
  33. package/tools/i18n-tool/i18n.models.d.ts +55 -0
  34. package/tools/i18n-tool/i18n.service.d.ts +70 -0
  35. package/tools/permissions-tool/permissions-internal.service.d.ts +6 -0
  36. package/tools/permissions-tool/permissions-tool.component.d.ts +5 -0
  37. package/tools/permissions-tool/permissions.service.d.ts +7 -0
  38. package/tools/presets-tool/presets-internal.service.d.ts +1 -1
  39. package/tools/presets-tool/presets-tool.component.d.ts +5 -5
  40. package/tools/presets-tool/presets.models.d.ts +10 -3
  41. package/tools/language-tool/language-internal.service.d.ts +0 -30
  42. package/tools/language-tool/language-tool.component.d.ts +0 -14
  43. package/tools/language-tool/language.models.d.ts +0 -4
  44. package/tools/language-tool/language.service.d.ts +0 -26
package/README.md CHANGED
@@ -133,17 +133,17 @@ export class AppComponent {
133
133
  }
134
134
  ```
135
135
 
136
- ### Language
136
+ ### i18n
137
137
 
138
138
  ```typescript
139
- import { ToolbarLanguageService } from 'ngx-dev-toolbar';
139
+ import { ToolbarI18nService } from 'ngx-dev-toolbar';
140
140
 
141
141
  @Component({...})
142
142
  export class AppComponent {
143
- private language = inject(ToolbarLanguageService);
143
+ private i18nService = inject(ToolbarI18nService);
144
144
 
145
145
  constructor() {
146
- this.language.setAvailableOptions([
146
+ this.i18nService.setAvailableOptions([
147
147
  { code: 'en', name: 'English' },
148
148
  { code: 'es', name: 'Spanish' },
149
149
  { code: 'fr', name: 'French' },
@@ -161,7 +161,7 @@ provideToolbar({
161
161
  enabled: isDevMode(),
162
162
  showFeatureFlagsTool: true,
163
163
  showPermissionsTool: true,
164
- showLanguageTool: true,
164
+ showI18nTool: true,
165
165
  showAppFeaturesTool: true,
166
166
  showPresetsTool: true,
167
167
  })
@@ -0,0 +1,13 @@
1
+ import { IconName } from '../icons/icon.models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ToolbarIconButtonComponent {
4
+ readonly icon: import("@angular/core").InputSignal<IconName | undefined>;
5
+ readonly tooltip: import("@angular/core").InputSignal<string | undefined>;
6
+ readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
7
+ readonly size: import("@angular/core").InputSignal<"sm" | "md">;
8
+ readonly variant: import("@angular/core").InputSignal<"ghost" | "outlined">;
9
+ protected isHovered: import("@angular/core").WritableSignal<boolean>;
10
+ protected isTooltipVisible: import("@angular/core").Signal<boolean>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarIconButtonComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarIconButtonComponent, "ndt-icon-button", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
13
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class GlobeIconComponent {
3
+ fill: import("@angular/core").InputSignal<string>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<GlobeIconComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<GlobeIconComponent, "ndt-globe-icon", never, { "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6
+ }
@@ -1 +1 @@
1
- export type IconName = 'angular' | 'bolt' | 'bug' | 'code' | 'database' | 'discord' | 'docs' | 'edit' | 'export' | 'filter' | 'flag' | 'gauge' | 'gear' | 'git-branch' | 'import' | 'layout' | 'lighting' | 'lightbulb' | 'lock' | 'moon' | 'network' | 'puzzle' | 'refresh' | 'star' | 'sun' | 'terminal' | 'toggle-left' | 'translate' | 'trash' | 'user';
1
+ export type IconName = 'angular' | 'bolt' | 'bug' | 'code' | 'database' | 'discord' | 'docs' | 'edit' | 'export' | 'filter' | 'flag' | 'gauge' | 'gear' | 'git-branch' | 'globe' | 'import' | 'layout' | 'lighting' | 'lightbulb' | 'lock' | 'moon' | 'network' | 'pin' | 'puzzle' | 'refresh' | 'star' | 'sun' | 'terminal' | 'toggle-left' | 'translate' | 'trash' | 'user';
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PinIconComponent {
3
+ fill: import("@angular/core").InputSignal<string>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<PinIconComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<PinIconComponent, "ndt-pin-icon", never, { "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6
+ }
@@ -1,3 +1,4 @@
1
+ import { IconName } from '../icons/icon.models';
1
2
  import * as i0 from "@angular/core";
2
3
  /**
3
4
  * List item component with consistent layout, dot badge indicator,
@@ -39,6 +40,28 @@ export declare class ToolbarListItemComponent {
39
40
  * Original value before forcing (only present when isForced is true)
40
41
  */
41
42
  originalValue: import("@angular/core").InputSignal<boolean | undefined>;
43
+ /**
44
+ * Whether to show the "Apply to source" button
45
+ */
46
+ showApply: import("@angular/core").InputSignal<boolean>;
47
+ /**
48
+ * Current state of the apply operation
49
+ */
50
+ applyState: import("@angular/core").InputSignal<"idle" | "loading" | "success" | "error">;
51
+ /**
52
+ * Whether this item is pinned to the top of the list
53
+ */
54
+ isPinned: import("@angular/core").InputSignal<boolean>;
55
+ /**
56
+ * Emits when the user clicks the pin/unpin button
57
+ */
58
+ pinToggle: import("@angular/core").OutputEmitterRef<void>;
59
+ /**
60
+ * Emits when the user clicks "Apply to source"
61
+ */
62
+ applyToSource: import("@angular/core").OutputEmitterRef<void>;
63
+ protected pinIcon: import("@angular/core").Signal<IconName>;
64
+ protected pinAriaLabel: import("@angular/core").Signal<"Unpin item" | "Pin item">;
42
65
  /**
43
66
  * Value to display in the dot indicator.
44
67
  * For forced items: shows originalValue
@@ -50,5 +73,5 @@ export declare class ToolbarListItemComponent {
50
73
  */
51
74
  protected tooltipText: import("@angular/core").Signal<string>;
52
75
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarListItemComponent, never>;
53
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarListItemComponent, "ndt-list-item", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "isForced": { "alias": "isForced"; "required": false; "isSignal": true; }; "currentValue": { "alias": "currentValue"; "required": true; "isSignal": true; }; "originalValue": { "alias": "originalValue"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
76
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarListItemComponent, "ndt-list-item", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "isForced": { "alias": "isForced"; "required": false; "isSignal": true; }; "currentValue": { "alias": "currentValue"; "required": true; "isSignal": true; }; "originalValue": { "alias": "originalValue"; "required": false; "isSignal": true; }; "showApply": { "alias": "showApply"; "required": false; "isSignal": true; }; "applyState": { "alias": "applyState"; "required": false; "isSignal": true; }; "isPinned": { "alias": "isPinned"; "required": false; "isSignal": true; }; }, { "pinToggle": "pinToggle"; "applyToSource": "applyToSource"; }, never, ["*"], true, never>;
54
77
  }
@@ -13,7 +13,7 @@ export declare class ToolbarSelectComponent {
13
13
  label: import("@angular/core").InputSignal<string>;
14
14
  size: import("@angular/core").InputSignal<"small" | "medium">;
15
15
  placeholder: import("@angular/core").InputSignal<string>;
16
- readonly theme: import("@angular/core").Signal<"dark" | "light">;
16
+ readonly theme: import("@angular/core").Signal<"light" | "dark">;
17
17
  protected readonly selectMenuId: string;
18
18
  isOpen: import("@angular/core").WritableSignal<boolean>;
19
19
  isPlaceholder: import("@angular/core").Signal<boolean>;
@@ -1,16 +1,17 @@
1
+ import { ToolbarPosition } from '../../models/toolbar-position.model';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class ToolbarToolButtonComponent {
3
4
  private readonly state;
4
- private readonly elementRef;
5
- readonly title: import("@angular/core").InputSignal<string>;
5
+ readonly toolLabel: import("@angular/core").InputSignal<string>;
6
6
  readonly toolId: import("@angular/core").InputSignal<string>;
7
7
  readonly badge: import("@angular/core").InputSignal<string | undefined>;
8
+ readonly position: import("@angular/core").InputSignal<ToolbarPosition>;
8
9
  readonly open: import("@angular/core").OutputEmitterRef<void>;
9
10
  readonly isActive: import("@angular/core").Signal<boolean>;
10
11
  readonly isToolbarVisible: import("@angular/core").Signal<boolean>;
11
12
  readonly isFocused: import("@angular/core").WritableSignal<boolean>;
12
- readonly tooltip: import("@angular/core").Signal<any>;
13
- readonly isTooltipVisible: import("@angular/core").Signal<any>;
13
+ readonly tooltip: import("@angular/core").Signal<string>;
14
+ readonly isTooltipVisible: import("@angular/core").Signal<boolean | "">;
14
15
  protected tooltipState: boolean;
15
16
  private readonly hideDelay;
16
17
  onClick(): void;
@@ -20,5 +21,5 @@ export declare class ToolbarToolButtonComponent {
20
21
  onFocus(): void;
21
22
  onBlur(): void;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarToolButtonComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarToolButtonComponent, "ndt-tool-button", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "toolId": { "alias": "toolId"; "required": true; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; }, { "open": "open"; }, never, ["*"], true, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarToolButtonComponent, "ndt-tool-button", never, { "toolLabel": { "alias": "toolLabel"; "required": true; "isSignal": true; }; "toolId": { "alias": "toolId"; "required": true; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, { "open": "open"; }, never, ["*"], true, never>;
24
25
  }
@@ -1,3 +1,4 @@
1
+ import { ConnectedPosition } from '@angular/cdk/overlay';
1
2
  import { ElementRef } from '@angular/core';
2
3
  import { ToolbarStateService } from '../../toolbar-state.service';
3
4
  import { IconName } from '../icons/icon.models';
@@ -10,22 +11,16 @@ export declare class ToolbarToolComponent {
10
11
  buttonComponent: import("@angular/core").Signal<ToolbarToolButtonComponent | undefined>;
11
12
  options: import("@angular/core").InputSignal<ToolbarWindowOptions>;
12
13
  icon: import("@angular/core").InputSignal<IconName>;
13
- title: import("@angular/core").InputSignal<string>;
14
+ toolTitle: import("@angular/core").InputSignal<string>;
14
15
  badge: import("@angular/core").InputSignal<string | undefined>;
15
16
  isActive: import("@angular/core").Signal<boolean>;
17
+ slideDirection: import("@angular/core").Signal<"right" | "left" | "up" | "down">;
16
18
  height: import("@angular/core").Signal<320 | 480 | 620>;
17
19
  width: import("@angular/core").Signal<320 | 480 | 620 | 400>;
18
- positions: import("@angular/core").Signal<{
19
- originX: "center";
20
- originY: "center";
21
- overlayX: "center";
22
- overlayY: "center";
23
- offsetY: number;
24
- offsetX: number;
25
- }[]>;
20
+ positions: import("@angular/core").Signal<ConnectedPosition[]>;
26
21
  onOpen(): void;
27
22
  onClose(): void;
28
- getButtonContainerXPosition(): number;
23
+ private getButtonContainerRect;
29
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarToolComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarToolComponent, "ndt-toolbar-tool", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": true; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; }, {}, ["buttonComponent"], ["ndt-tool-button", "*"], true, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarToolComponent, "ndt-toolbar-tool", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "toolTitle": { "alias": "toolTitle"; "required": true; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; }, {}, ["buttonComponent"], ["ndt-tool-button", "*"], true, never>;
31
26
  }
@@ -7,7 +7,7 @@ export declare class ToolbarWindowComponent {
7
7
  readonly closed: import("@angular/core").OutputEmitterRef<void>;
8
8
  readonly maximize: import("@angular/core").OutputEmitterRef<void>;
9
9
  readonly minimize: import("@angular/core").OutputEmitterRef<void>;
10
- readonly theme: import("@angular/core").Signal<"dark" | "light">;
10
+ readonly theme: import("@angular/core").Signal<"light" | "dark">;
11
11
  protected onClose(): void;
12
12
  protected onMaximize(): void;
13
13
  protected onMinimize(): void;