ngx-dev-toolbar 1.0.2 → 1.0.4

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 (130) hide show
  1. package/components/button/button.component.d.ts +12 -0
  2. package/components/card/card.component.d.ts +8 -0
  3. package/components/clickable-card/clickable-card.component.d.ts +11 -0
  4. package/components/icons/angular-icon.component.d.ts +5 -0
  5. package/components/icons/bug-icon.component.d.ts +6 -0
  6. package/components/icons/code-icon.component.d.ts +6 -0
  7. package/components/icons/database-icon.component.d.ts +6 -0
  8. package/components/icons/discord-icon.component.d.ts +6 -0
  9. package/components/icons/docs-icon.component.d.ts +6 -0
  10. package/components/icons/export-icon.component.d.ts +6 -0
  11. package/components/icons/gauge-icon.component.d.ts +6 -0
  12. package/components/icons/gear-icon.component.d.ts +6 -0
  13. package/components/icons/git-branch-icon.component.d.ts +6 -0
  14. package/components/icons/icon.component.d.ts +9 -0
  15. package/components/icons/icon.models.d.ts +1 -0
  16. package/components/icons/import-icon.component.d.ts +6 -0
  17. package/components/icons/layout-icon.component.d.ts +6 -0
  18. package/components/icons/lightbulb-icon.component.d.ts +6 -0
  19. package/components/icons/lighting-icon.component.d.ts +6 -0
  20. package/components/icons/moon-icon.component.d.ts +6 -0
  21. package/components/icons/network-icon.component.d.ts +6 -0
  22. package/components/icons/puzzle-icon.component.d.ts +6 -0
  23. package/components/icons/refresh-icon.component.d.ts +6 -0
  24. package/components/icons/star-icon.component.d.ts +6 -0
  25. package/components/icons/sun-icon.component.d.ts +6 -0
  26. package/components/icons/terminal-icon.component.d.ts +6 -0
  27. package/components/icons/toggle-left-icon.component.d.ts +6 -0
  28. package/components/icons/translate-icon.component.d.ts +6 -0
  29. package/components/icons/trash-icon.component.d.ts +6 -0
  30. package/components/icons/users-icon.component.d.ts +6 -0
  31. package/components/input/input.component.d.ts +10 -0
  32. package/components/link-button/link-button.component.d.ts +8 -0
  33. package/components/select/select.component.d.ts +25 -0
  34. package/components/tool-button/tool-button.component.d.ts +23 -0
  35. package/components/toolbar-tool/toolbar-tool.component.d.ts +30 -0
  36. package/components/toolbar-tool/toolbar-tool.models.d.ts +25 -0
  37. package/components/window/window.component.d.ts +16 -0
  38. package/dev-toolbar-state.service.d.ts +21 -0
  39. package/dev-toolbar.component.d.ts +18 -0
  40. package/fesm2022/ngx-dev-toolbar.mjs +3039 -0
  41. package/fesm2022/ngx-dev-toolbar.mjs.map +1 -0
  42. package/models/dev-tools.interface.d.ts +17 -0
  43. package/package.json +32 -9
  44. package/tools/feature-flags-tool/feature-flags-internal.service.d.ts +21 -0
  45. package/tools/feature-flags-tool/feature-flags-tool.component.d.ts +27 -0
  46. package/tools/feature-flags-tool/feature-flags.models.d.ts +9 -0
  47. package/tools/feature-flags-tool/feature-flags.service.d.ts +19 -0
  48. package/tools/home-tool/home-tool.component.d.ts +38 -0
  49. package/{src/tools/home-tool/settings.models.ts → tools/home-tool/settings.models.d.ts} +1 -1
  50. package/tools/home-tool/settings.service.d.ts +10 -0
  51. package/tools/language-tool/language-internal.service.d.ts +19 -0
  52. package/tools/language-tool/language-tool.component.d.ts +14 -0
  53. package/tools/language-tool/language.models.d.ts +4 -0
  54. package/tools/language-tool/language.service.d.ts +19 -0
  55. package/utils/storage.service.d.ts +18 -0
  56. package/eslint.config.cjs +0 -47
  57. package/ng-package.json +0 -7
  58. package/project.json +0 -37
  59. package/src/components/button/button.component.scss +0 -49
  60. package/src/components/button/button.component.ts +0 -36
  61. package/src/components/card/card.component.scss +0 -18
  62. package/src/components/card/card.component.ts +0 -30
  63. package/src/components/clickable-card/clickable-card.component.scss +0 -39
  64. package/src/components/clickable-card/clickable-card.component.ts +0 -34
  65. package/src/components/icons/angular-icon.component.ts +0 -35
  66. package/src/components/icons/bug-icon.component.ts +0 -23
  67. package/src/components/icons/code-icon.component.ts +0 -24
  68. package/src/components/icons/database-icon.component.ts +0 -27
  69. package/src/components/icons/discord-icon.component.ts +0 -23
  70. package/src/components/icons/docs-icon.component.ts +0 -23
  71. package/src/components/icons/export-icon.component.ts +0 -23
  72. package/src/components/icons/gauge-icon.component.ts +0 -27
  73. package/src/components/icons/gear-icon.component.ts +0 -27
  74. package/src/components/icons/git-branch-icon.component.ts +0 -27
  75. package/src/components/icons/icon.component.ts +0 -129
  76. package/src/components/icons/icon.models.ts +0 -27
  77. package/src/components/icons/import-icon.component.ts +0 -23
  78. package/src/components/icons/layout-icon.component.ts +0 -24
  79. package/src/components/icons/lightbulb-icon.component.ts +0 -23
  80. package/src/components/icons/lighting-icon.component.ts +0 -24
  81. package/src/components/icons/moon-icon.component.ts +0 -27
  82. package/src/components/icons/network-icon.component.ts +0 -27
  83. package/src/components/icons/puzzle-icon.component.ts +0 -27
  84. package/src/components/icons/refresh-icon.component.ts +0 -27
  85. package/src/components/icons/star-icon.component.ts +0 -27
  86. package/src/components/icons/sun-icon.component.ts +0 -27
  87. package/src/components/icons/terminal-icon.component.ts +0 -27
  88. package/src/components/icons/toggle-left-icon.component.ts +0 -27
  89. package/src/components/icons/translate-icon.component.ts +0 -23
  90. package/src/components/icons/trash-icon.component.ts +0 -23
  91. package/src/components/icons/users-icon.component.ts +0 -27
  92. package/src/components/input/input.component.ts +0 -67
  93. package/src/components/link-button/link-button.component.scss +0 -36
  94. package/src/components/link-button/link-button.component.ts +0 -29
  95. package/src/components/select/select.component.scss +0 -162
  96. package/src/components/select/select.component.ts +0 -127
  97. package/src/components/tool-button/tool-button.component.scss +0 -67
  98. package/src/components/tool-button/tool-button.component.ts +0 -126
  99. package/src/components/toolbar-tool/toolbar-tool.component.scss +0 -9
  100. package/src/components/toolbar-tool/toolbar-tool.component.ts +0 -169
  101. package/src/components/toolbar-tool/toolbar-tool.models.ts +0 -33
  102. package/src/components/window/window.component.scss +0 -95
  103. package/src/components/window/window.component.ts +0 -69
  104. package/src/dev-toolbar-state.service.ts +0 -89
  105. package/src/dev-toolbar.component.scss +0 -22
  106. package/src/dev-toolbar.component.ts +0 -105
  107. package/src/models/dev-tools.interface.ts +0 -19
  108. package/src/styles.scss +0 -342
  109. package/src/test-setup.ts +0 -12
  110. package/src/tools/feature-flags-tool/feature-flags-internal.service.ts +0 -96
  111. package/src/tools/feature-flags-tool/feature-flags-tool.component.ts +0 -261
  112. package/src/tools/feature-flags-tool/feature-flags.models.ts +0 -10
  113. package/src/tools/feature-flags-tool/feature-flags.service.ts +0 -28
  114. package/src/tools/home-tool/home-tool.component.scss +0 -67
  115. package/src/tools/home-tool/home-tool.component.ts +0 -197
  116. package/src/tools/home-tool/settings.service.spec.ts +0 -59
  117. package/src/tools/home-tool/settings.service.ts +0 -21
  118. package/src/tools/language-tool/language-internal.service.ts +0 -51
  119. package/src/tools/language-tool/language-tool.component.scss +0 -7
  120. package/src/tools/language-tool/language-tool.component.ts +0 -71
  121. package/src/tools/language-tool/language.models.ts +0 -4
  122. package/src/tools/language-tool/language.service.ts +0 -26
  123. package/src/utils/storage.service.spec.ts +0 -179
  124. package/src/utils/storage.service.ts +0 -80
  125. package/tsconfig.json +0 -28
  126. package/tsconfig.lib.json +0 -28
  127. package/tsconfig.lib.prod.json +0 -9
  128. package/tsconfig.spec.json +0 -29
  129. package/vite.config.mts +0 -27
  130. /package/{src/index.ts → index.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Language } from './language.models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class DevToolbarInternalLanguageService {
5
+ private readonly STORAGE_KEY;
6
+ private readonly storageService;
7
+ private languages$;
8
+ private forcedLanguage$;
9
+ languages: import("@angular/core").Signal<Language[]>;
10
+ constructor();
11
+ setAppLanguages(languages: Language[]): void;
12
+ getAppLanguages(): Observable<Language[]>;
13
+ setForcedLanguage(language: Language): void;
14
+ getForcedLanguage(): Observable<Language[]>;
15
+ removeForcedLanguage(): void;
16
+ private loadForcedLanguage;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<DevToolbarInternalLanguageService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<DevToolbarInternalLanguageService>;
19
+ }
@@ -0,0 +1,14 @@
1
+ import { DevToolbarWindowOptions } from '../../components/toolbar-tool/toolbar-tool.models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DevToolbarLanguageToolComponent {
4
+ private readonly languageService;
5
+ protected readonly options: DevToolbarWindowOptions;
6
+ activeLanguage: import("@angular/core").WritableSignal<string>;
7
+ languageOptions: import("@angular/core").Signal<{
8
+ value: string;
9
+ label: string;
10
+ }[]>;
11
+ onLanguageChange(language: string): Promise<void>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<DevToolbarLanguageToolComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<DevToolbarLanguageToolComponent, "ndt-language-tool", never, {}, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,4 @@
1
+ export interface Language {
2
+ id: string;
3
+ name: string;
4
+ }
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DevToolsService } from '../../models/dev-tools.interface';
3
+ import { Language } from './language.models';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DevToolbarLanguageService implements DevToolsService<Language> {
6
+ private internalService;
7
+ /**
8
+ * Sets the available languages that will be displayed in the tool on the dev toolbar
9
+ * @param languages The languages to be displayed
10
+ */
11
+ setAvailableOptions(languages: Language[]): void;
12
+ /**
13
+ * Gets the languages that were forced/modified through the tool on the dev toolbar
14
+ * @returns Observable of forced languages array
15
+ */
16
+ getForcedValues(): Observable<Language[]>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<DevToolbarLanguageService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<DevToolbarLanguageService>;
19
+ }
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class DevToolsStorageService {
3
+ private readonly PREFIX;
4
+ private readonly TOOLS_KEY;
5
+ private readonly SETTINGS_KEY;
6
+ set<T>(key: string, value: T): void;
7
+ get<T>(key: string): T | null;
8
+ remove(key: string): void;
9
+ getAllSettings(): Record<string, unknown>;
10
+ setAllSettings(settings: Record<string, unknown>): void;
11
+ clearAllSettings(): void;
12
+ getToolKeys(): string[];
13
+ private addToolKey;
14
+ private removeToolKey;
15
+ private getToolKey;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<DevToolsStorageService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<DevToolsStorageService>;
18
+ }
package/eslint.config.cjs DELETED
@@ -1,47 +0,0 @@
1
- const nx = require('@nx/eslint-plugin');
2
- const baseConfig = require('../../eslint.config.cjs');
3
-
4
- module.exports = [
5
- ...baseConfig,
6
- {
7
- files: ['**/*.json'],
8
- rules: {
9
- '@nx/dependency-checks': 'off',
10
- },
11
- ignores: ['**/eslint.config.cjs'],
12
- },
13
- {
14
- files: ['**/*.json'],
15
- languageOptions: {
16
- parser: require('jsonc-eslint-parser'),
17
- },
18
- },
19
- ...nx.configs['flat/angular'],
20
- ...nx.configs['flat/angular-template'],
21
- {
22
- files: ['**/*.ts'],
23
- rules: {
24
- '@angular-eslint/directive-selector': [
25
- 'error',
26
- {
27
- type: 'attribute',
28
- prefix: 'ndt',
29
- style: 'camelCase',
30
- },
31
- ],
32
- '@angular-eslint/component-selector': [
33
- 'error',
34
- {
35
- type: 'element',
36
- prefix: 'ndt',
37
- style: 'kebab-case',
38
- },
39
- ],
40
- },
41
- },
42
- {
43
- files: ['**/*.html'],
44
- // Override or add rules here
45
- rules: {},
46
- },
47
- ];
package/ng-package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/libs/ngx-dev-toolbar",
4
- "lib": {
5
- "entryFile": "src/index.ts"
6
- }
7
- }
package/project.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "name": "ngx-dev-toolbar",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "libs/ngx-dev-toolbar/src",
5
- "prefix": "ndt",
6
- "projectType": "library",
7
- "tags": [],
8
- "targets": {
9
- "build": {
10
- "executor": "@nx/angular:package",
11
- "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
12
- "options": {
13
- "project": "libs/ngx-dev-toolbar/ng-package.json"
14
- },
15
- "configurations": {
16
- "production": {
17
- "tsConfig": "libs/ngx-dev-toolbar/tsconfig.lib.prod.json"
18
- },
19
- "development": {
20
- "tsConfig": "libs/ngx-dev-toolbar/tsconfig.lib.json"
21
- }
22
- },
23
- "defaultConfiguration": "production"
24
- },
25
- "test": {
26
- "executor": "@nx/vite:test",
27
- "outputs": ["{options.reportsDirectory}"],
28
- "options": {
29
- "reportsDirectory": "../../coverage/libs/ngx-dev-toolbar"
30
- }
31
- },
32
- "lint": {
33
- "executor": "@nx/eslint:lint"
34
- }
35
-
36
- }
37
- }
@@ -1,49 +0,0 @@
1
- @use '../../styles' as devtools;
2
-
3
- .button {
4
- display: inline-flex;
5
- align-items: center;
6
- gap: var(--ndt-spacing-xs);
7
- padding: var(--ndt-spacing-xs) var(--ndt-spacing-sm);
8
- border: 1px solid var(--ndt-border-primary);
9
- border-radius: var(--ndt-border-radius-medium);
10
- background: var(--ndt-bg-primary);
11
- color: var(--ndt-text-primary);
12
- cursor: pointer;
13
- transition: var(--ndt-transition-default);
14
- outline: none;
15
- font-family: inherit;
16
-
17
- &:hover {
18
- background: var(--ndt-hover-bg);
19
- border-color: var(--ndt-primary);
20
- }
21
-
22
- &:focus-visible {
23
- outline: none;
24
- background: var(--ndt-hover-bg);
25
- box-shadow: 0 0 0 2px rgba(var(--ndt-primary-rgb), 0.2);
26
- }
27
-
28
- &.primary {
29
- background: var(--ndt-primary);
30
- color: var(--ndt-text-on-primary);
31
- border-color: var(--ndt-primary);
32
-
33
- &:hover {
34
- background: var(--ndt-primary);
35
- border-color: var(--ndt-primary);
36
- }
37
- }
38
-
39
- &.icon-only {
40
- padding: var(--ndt-spacing-xs);
41
- width: 32px;
42
- height: 32px;
43
- justify-content: center;
44
- }
45
-
46
- &.small {
47
- font-size: var(--ndt-font-size-sm);
48
- }
49
- }
@@ -1,36 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import { DevToolbarIconComponent } from '../icons/icon.component';
3
- import { IconName } from '../icons/icon.models';
4
-
5
- @Component({
6
- selector: 'ndt-button',
7
- standalone: true,
8
- imports: [DevToolbarIconComponent],
9
- template: `
10
- <button
11
- class="button"
12
- [attr.aria-label]="ariaLabel()"
13
- [type]="type()"
14
- [class.button--active]="isActive()"
15
- [class.button--icon]="variant() === 'icon'"
16
- >
17
- @if (icon()) {
18
- <ndt-icon [name]="icon() || 'star'" />
19
- }
20
- @if (label()) {
21
- <span class="button__label">{{ label() }}</span>
22
- }
23
- <ng-content />
24
- </button>
25
- `,
26
- styleUrls: ['./button.component.scss'],
27
- changeDetection: ChangeDetectionStrategy.OnPush,
28
- })
29
- export class DevToolbarButtonComponent {
30
- readonly type = input<'button' | 'submit' | 'reset'>('button');
31
- readonly variant = input<'default' | 'icon'>('default');
32
- readonly icon = input<IconName>();
33
- readonly label = input<string>();
34
- readonly ariaLabel = input<string>();
35
- readonly isActive = input<boolean>(false);
36
- }
@@ -1,18 +0,0 @@
1
- .card {
2
- background: var(--ndt-bg-primary);
3
- border-radius: var(--ndt-border-radius-large);
4
- padding: var(--ndt-spacing-md);
5
- cursor: pointer;
6
- transition: var(--ndt-transition-default);
7
- border: 1px solid var(--ndt-border-subtle);
8
- position: relative;
9
- flex: 1;
10
- height: 120px;
11
- display: flex;
12
-
13
- &:hover {
14
- background: var(--ndt-hover-bg);
15
- border-color: var(--ndt-primary);
16
- box-shadow: 0 0 0 1px rgba(var(--ndt-primary-rgb), 0.3);
17
- }
18
- }
@@ -1,30 +0,0 @@
1
- import { Component, signal } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-card',
5
- standalone: true,
6
- template: `
7
- <div
8
- class="card"
9
- role="button"
10
- tabindex="0"
11
- (click)="onClick()"
12
- (keydown.enter)="onClick()"
13
- (keydown.space)="onClick()"
14
- [class.card--hover]="isHovered()"
15
- (mouseenter)="isHovered.set(true)"
16
- (mouseleave)="isHovered.set(false)"
17
- >
18
- <ng-content></ng-content>
19
- </div>
20
- `,
21
- styleUrls: ['./card.component.scss'],
22
- })
23
- export class DevToolbarCardComponent {
24
- readonly click = signal<void>(undefined);
25
- protected readonly isHovered = signal(false);
26
-
27
- onClick(): void {
28
- this.click.set();
29
- }
30
- }
@@ -1,39 +0,0 @@
1
- .clickable-card {
2
- display: flex;
3
- flex-direction: column;
4
- gap: var(--ndt-spacing-sm);
5
- height: 100%;
6
-
7
- &__icon {
8
- display: flex;
9
- align-items: center;
10
- justify-content: center;
11
- width: 32px;
12
- height: 32px;
13
- border-radius: var(--ndt-border-radius-medium);
14
- background: var(--ndt-hover-bg);
15
- color: var(--ndt-text-primary);
16
- }
17
-
18
- &__content {
19
- display: flex;
20
- flex-direction: column;
21
- gap: var(--ndt-spacing-xs);
22
- }
23
-
24
- &__title {
25
- color: var(--ndt-text-primary);
26
- font-size: var(--ndt-font-size-sm);
27
- font-weight: 500;
28
- }
29
-
30
- &__subtitle {
31
- color: var(--ndt-text-muted);
32
- font-size: var(--ndt-font-size-xs);
33
- line-height: 1.4;
34
- display: -webkit-box;
35
- -webkit-line-clamp: 2;
36
- -webkit-box-orient: vertical;
37
- overflow: hidden;
38
- }
39
- }
@@ -1,34 +0,0 @@
1
- import { Component, input, signal } from '@angular/core';
2
- import { DevToolbarCardComponent } from '../card/card.component';
3
- import { DevToolbarIconComponent } from '../icons/icon.component';
4
- import { IconName } from '../icons/icon.models';
5
-
6
- @Component({
7
- selector: 'ndt-clickable-card',
8
- standalone: true,
9
- imports: [DevToolbarCardComponent, DevToolbarIconComponent],
10
- template: `
11
- <ndt-card (clicked)="onClick()">
12
- <div class="clickable-card">
13
- <div class="clickable-card__icon">
14
- <ndt-icon [name]="icon()" />
15
- </div>
16
- <div class="clickable-card__content">
17
- <div class="clickable-card__title">{{ title() }}</div>
18
- <div class="clickable-card__subtitle">{{ subtitle() }}</div>
19
- </div>
20
- </div>
21
- </ndt-card>
22
- `,
23
- styleUrls: ['./clickable-card.component.scss'],
24
- })
25
- export class DevToolbarClickableCardComponent {
26
- readonly icon = input.required<IconName>();
27
- readonly title = input.required<string>();
28
- readonly subtitle = input.required<string>();
29
- readonly click = signal<void>(undefined);
30
-
31
- onClick(): void {
32
- this.click.set();
33
- }
34
- }
@@ -1,35 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-angular-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none">
9
- <defs>
10
- <linearGradient
11
- id="angular-gradient"
12
- x1="6"
13
- x2="18"
14
- y1="20"
15
- y2="4"
16
- gradientUnits="userSpaceOnUse"
17
- >
18
- <stop offset="0" stop-color="#E40035" />
19
- <stop offset=".24" stop-color="#F60A48" />
20
- <stop offset=".352" stop-color="#F20755" />
21
- <stop offset=".494" stop-color="#DC087D" />
22
- <stop offset=".745" stop-color="#9717E7" />
23
- <stop offset="1" stop-color="#6C00F5" />
24
- </linearGradient>
25
- </defs>
26
- <g fill="url(#angular-gradient)">
27
- <polygon points="14.1,2.7 20.1,15.7 20.7,5.8" />
28
- <polygon points="15.6,16.4 8.4,16.4 7.4,18.6 12,21.2 16.6,18.6" />
29
- <polygon points="9.6,13.5 14.4,13.5 12,7.7" />
30
- <polygon points="9.9,2.7 3.3,5.8 3.9,15.7" />
31
- </g>
32
- </svg>
33
- `,
34
- })
35
- export class AngularIconComponent {}
@@ -1,23 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-bug-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M140,88a16,16,0,1,1,16,16A16,16,0,0,1,140,88ZM100,72a16,16,0,1,0,16,16A16,16,0,0,0,100,72Zm120,72a91.84,91.84,0,0,1-2.34,20.64L236.81,173a12,12,0,0,1-9.62,22l-18-7.85a92,92,0,0,1-162.46,0l-18,7.85a12,12,0,1,1-9.62-22l19.15-8.36A91.84,91.84,0,0,1,36,144v-4H16a12,12,0,0,1,0-24H36v-4a91.84,91.84,0,0,1,2.34-20.64L19.19,83a12,12,0,0,1,9.62-22l18,7.85a92,92,0,0,1,162.46,0l18-7.85a12,12,0,1,1,9.62,22l-19.15,8.36A91.84,91.84,0,0,1,220,112v4h20a12,12,0,0,1,0,24H220ZM60,116H196v-4a68,68,0,0,0-136,0Zm56,94.92V140H60v4A68.1,68.1,0,0,0,116,210.92ZM196,144v-4H140v70.92A68.1,68.1,0,0,0,196,144Z"
17
- ></path>
18
- </svg>
19
- `,
20
- })
21
- export class BugIconComponent {
22
- fill = input<string>('#FFFF');
23
- }
@@ -1,24 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-code-icon',
5
- standalone: true,
6
- template: `
7
- <svg
8
- [attr.fill]="fill()"
9
- xmlns="http://www.w3.org/2000/svg"
10
- width="24"
11
- height="24"
12
- viewBox="0 0 256 256"
13
- >
14
- <path d="M240,128l-48,40H64L16,128,64,88H192Z" opacity="0.2"></path>
15
- <path
16
- d="M69.12,94.15,28.5,128l40.62,33.85a8,8,0,1,1-10.24,12.29l-48-40a8,8,0,0,1,0-12.29l48-40a8,8,0,0,1,10.24,12.3Zm176,27.7-48-40a8,8,0,1,0-10.24,12.3L227.5,128l-40.62,33.85a8,8,0,1,0,10.24,12.29l48-40a8,8,0,0,0,0-12.29ZM162.73,32.48a8,8,0,0,0-10.25,4.79l-64,176a8,8,0,0,0,4.79,10.26A8.14,8.14,0,0,0,96,224a8,8,0,0,0,7.52-5.27l64-176A8,8,0,0,0,162.73,32.48Z"
17
- ></path>
18
- </svg>
19
- `,
20
- changeDetection: ChangeDetectionStrategy.OnPush,
21
- })
22
- export class CodeIconComponent {
23
- fill = input<string>('#FFFF');
24
- }
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-database-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M216,80c0,26.51-39.4,48-88,48S40,106.51,40,80s39.4-48,88-48S216,53.49,216,80Z"
17
- opacity="0.2"
18
- ></path>
19
- <path
20
- d="M128,24C74.17,24,32,48.6,32,80v96c0,31.4,42.17,56,96,56s96-24.6,96-56V80C224,48.6,181.83,24,128,24Zm80,104c0,9.62-7.88,19.43-21.61,26.92C170.93,163.35,150.19,168,128,168s-42.93-4.65-58.39-13.08C55.88,147.43,48,137.62,48,128V111.36c17.06,15,46.23,24.64,80,24.64s62.94-9.68,80-24.64ZM69.61,53.08C85.07,44.65,105.81,40,128,40s42.93,4.65,58.39,13.08C200.12,60.57,208,70.38,208,80s-7.88,19.43-21.61,26.92C170.93,115.35,150.19,120,128,120s-42.93-4.65-58.39-13.08C55.88,99.43,48,89.62,48,80S55.88,60.57,69.61,53.08ZM186.39,202.92C170.93,211.35,150.19,216,128,216s-42.93-4.65-58.39-13.08C55.88,195.43,48,185.62,48,176V159.36c17.06,15,46.23,24.64,80,24.64s62.94-9.68,80-24.64V176C208,185.62,200.12,195.43,186.39,202.92Z"
21
- ></path>
22
- </svg>
23
- `,
24
- })
25
- export class DatabaseIconComponent {
26
- fill = input<string>('#FFFF');
27
- }
@@ -1,23 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-discord-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M104,140a12,12,0,1,1-12-12A12,12,0,0,1,104,140Zm60-12a12,12,0,1,0,12,12A12,12,0,0,0,164,128Zm74.45,64.9-67,29.71a16.17,16.17,0,0,1-21.71-9.1l-8.11-22q-6.72.45-13.63.46t-13.63-.46l-8.11,22a16.18,16.18,0,0,1-21.71,9.1l-67-29.71a15.93,15.93,0,0,1-9.06-18.51L38,58A16.07,16.07,0,0,1,51,46.14l36.06-5.93a16.22,16.22,0,0,1,18.26,11.88l3.26,12.84Q118.11,64,128,64t19.4.93l3.26-12.84a16.21,16.21,0,0,1,18.26-11.88L205,46.14A16.07,16.07,0,0,1,218,58l29.53,116.38A15.93,15.93,0,0,1,238.45,192.9ZM232,178.28,202.47,62s0,0-.08,0L166.33,56a.17.17,0,0,0-.17,0l-2.83,11.14c5,.94,10,2.06,14.83,3.42A8,8,0,0,1,176,86.31a8.09,8.09,0,0,1-2.16-.3A172.25,172.25,0,0,0,128,80a172.25,172.25,0,0,0-45.84,6,8,8,0,1,1-4.32-15.4c4.82-1.36,9.78-2.48,14.82-3.42L89.83,56s0,0-.12,0h0L53.61,61.93a.17.17,0,0,0-.09,0L24,178.33,91,208a.23.23,0,0,0,.22,0L98,189.72a173.2,173.2,0,0,1-20.14-4.32A8,8,0,0,1,82.16,170,171.85,171.85,0,0,0,128,176a171.85,171.85,0,0,0,45.84-6,8,8,0,0,1,4.32,15.41A173.2,173.2,0,0,1,158,189.72L164.75,208a.22.22,0,0,0,.21,0Z"
17
- ></path>
18
- </svg>
19
- `,
20
- })
21
- export class DiscordIconComponent {
22
- fill = input<string>('#000000');
23
- }
@@ -1,23 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-docs-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M213.66,66.34l-40-40A8,8,0,0,0,168,24H88A16,16,0,0,0,72,40V56H56A16,16,0,0,0,40,72V216a16,16,0,0,0,16,16H168a16,16,0,0,0,16-16V200h16a16,16,0,0,0,16-16V72A8,8,0,0,0,213.66,66.34ZM168,216H56V72h76.69L168,107.31v84.53c0,.06,0,.11,0,.16s0,.1,0,.16V216Zm32-32H184V104a8,8,0,0,0-2.34-5.66l-40-40A8,8,0,0,0,136,56H88V40h76.69L200,75.31Zm-56-32a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h48A8,8,0,0,1,144,152Zm0,32a8,8,0,0,1-8,8H88a8,8,0,0,1,0-16h48A8,8,0,0,1,144,184Z"
17
- ></path>
18
- </svg>
19
- `,
20
- })
21
- export class DocsIconComponent {
22
- fill = input<string>('#FFFF');
23
- }
@@ -1,23 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-export-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M216,112v96a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V112A16,16,0,0,1,56,96H80a8,8,0,0,1,0,16H56v96H200V112H176a8,8,0,0,1,0-16h24A16,16,0,0,1,216,112ZM93.66,69.66,120,43.31V136a8,8,0,0,0,16,0V43.31l26.34,26.35a8,8,0,0,0,11.32-11.32l-40-40a8,8,0,0,0-11.32,0l-40,40A8,8,0,0,0,93.66,69.66Z"
17
- ></path>
18
- </svg>
19
- `,
20
- })
21
- export class ExportIconComponent {
22
- fill = input<string>('#FFFF');
23
- }
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-gauge-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M232,152a103.93,103.93,0,0,1-5.9,34.63,8,8,0,0,1-7.57,5.37H37.46a8.05,8.05,0,0,1-7.57-5.41A104.06,104.06,0,0,1,24,151.19C24.44,94,71.73,47.49,129,48A104,104,0,0,1,232,152Z"
17
- opacity="0.2"
18
- ></path>
19
- <path
20
- d="M114.34,154.34l96-96a8,8,0,0,1,11.32,11.32l-96,96a8,8,0,0,1-11.32-11.32ZM128,88a63.9,63.9,0,0,1,20.44,3.33,8,8,0,1,0,5.11-15.16A80,80,0,0,0,48.49,160.88,8,8,0,0,0,56.43,168c.29,0,.59,0,.89-.05a8,8,0,0,0,7.07-8.83A64.92,64.92,0,0,1,64,152,64.07,64.07,0,0,1,128,88Zm99.74,13a8,8,0,0,0-14.24,7.3,96.27,96.27,0,0,1,5,75.71l-181.1-.07A96.24,96.24,0,0,1,128,56h.88a95,95,0,0,1,42.82,10.5A8,8,0,1,0,179,52.27,110.8,110.8,0,0,0,129,40h-1A112.05,112.05,0,0,0,22.35,189.25,16.07,16.07,0,0,0,37.46,200H218.53a16,16,0,0,0,15.11-10.71,112.35,112.35,0,0,0-5.9-88.3Z"
21
- ></path>
22
- </svg>
23
- `,
24
- })
25
- export class GaugeIconComponent {
26
- fill = input<string>('#FFFF');
27
- }
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-gear-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z"
17
- opacity="0.2"
18
- ></path>
19
- <path
20
- d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"
21
- ></path>
22
- </svg>
23
- `,
24
- })
25
- export class GearIconComponent {
26
- fill = input<string>('#FFFF');
27
- }
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ndt-git-branch-icon',
5
- standalone: true,
6
- changeDetection: ChangeDetectionStrategy.OnPush,
7
- template: `
8
- <svg
9
- [attr.fill]="fill()"
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="24"
12
- height="24"
13
- viewBox="0 0 256 256"
14
- >
15
- <path
16
- d="M224,64a24,24,0,1,1-24-24A24,24,0,0,1,224,64Z"
17
- opacity="0.2"
18
- ></path>
19
- <path
20
- d="M232,64a32,32,0,1,0-40,31v17a8,8,0,0,1-8,8H96a23.84,23.84,0,0,0-8,1.38V95a32,32,0,1,0-16,0v66a32,32,0,1,0,16,0V144a8,8,0,0,1,8-8h88a24,24,0,0,0,24-24V95A32.06,32.06,0,0,0,232,64ZM64,64A16,16,0,1,1,80,80,16,16,0,0,1,64,64ZM96,192a16,16,0,1,1-16-16A16,16,0,0,1,96,192ZM200,80a16,16,0,1,1,16-16A16,16,0,0,1,200,80Z"
21
- ></path>
22
- </svg>
23
- `,
24
- })
25
- export class GitBranchIconComponent {
26
- fill = input<string>('#FFFF');
27
- }