quang 19.2.3 → 19.2.5

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 (115) hide show
  1. package/auth/auth-providers.d.ts +39 -0
  2. package/auth/auth.service.d.ts +52 -0
  3. package/auth/directives/has-at-least-one-role.directive.d.ts +26 -0
  4. package/auth/directives/has-every-role.directive.d.ts +26 -0
  5. package/auth/directives/is-authenticated.directive.d.ts +14 -0
  6. package/auth/directives/is-not-authenticated.directive.d.ts +14 -0
  7. package/auth/guards/index.d.ts +2 -0
  8. package/auth/guards/is-allowed.guard.d.ts +2 -0
  9. package/auth/guards/is-authenticated.guard.d.ts +2 -0
  10. package/auth/index.d.ts +9 -195
  11. package/auth/logout-on-error.interceptor.d.ts +9 -0
  12. package/auth/mobile/index.d.ts +1 -5
  13. package/auth/mobile/mobile-auth-feature.d.ts +2 -0
  14. package/auth/token-storage/index.d.ts +3 -0
  15. package/auth/token-storage/local-storage-feature.d.ts +2 -0
  16. package/auth/token-storage/memory-storage-feature.d.ts +12 -0
  17. package/auth/token-storage/session-storage-feature.d.ts +2 -0
  18. package/components/autocomplete/autocomplete.component.d.ts +64 -0
  19. package/components/autocomplete/index.d.ts +1 -67
  20. package/components/checkbox/checkbox.component.d.ts +11 -0
  21. package/components/checkbox/index.d.ts +1 -15
  22. package/components/date/date.component.d.ts +85 -0
  23. package/components/date/index.d.ts +1 -89
  24. package/components/input/index.d.ts +1 -19
  25. package/components/input/input.component.d.ts +15 -0
  26. package/components/paginator/index.d.ts +5 -68
  27. package/components/paginator/paginator-language.service.d.ts +10 -0
  28. package/components/paginator/paginator.component.d.ts +30 -0
  29. package/components/paginator/paginator.module.d.ts +7 -0
  30. package/components/paginator/paginator.service.d.ts +6 -0
  31. package/components/paginator/paginatorIntl.d.ts +12 -0
  32. package/components/select/index.d.ts +1 -34
  33. package/components/select/select.component.d.ts +31 -0
  34. package/components/shared/ErrorData.d.ts +4 -0
  35. package/components/shared/index.d.ts +4 -112
  36. package/components/shared/makeId.d.ts +1 -0
  37. package/components/shared/option-list/option-list.component.d.ts +53 -0
  38. package/components/shared/quang-base-component.directive.d.ts +50 -0
  39. package/components/table/index.d.ts +1 -70
  40. package/components/table/table.component.d.ts +66 -0
  41. package/components/wysiwyg/index.d.ts +1 -51
  42. package/components/wysiwyg/wysiwyg.component.d.ts +46 -0
  43. package/data-handling/conversion.d.ts +3 -0
  44. package/data-handling/download.d.ts +3 -0
  45. package/data-handling/index.d.ts +2 -10
  46. package/device/index.d.ts +1 -14
  47. package/device/resize-observable.service.d.ts +11 -0
  48. package/fesm2022/quang-auth.mjs +18 -18
  49. package/fesm2022/quang-auth.mjs.map +1 -1
  50. package/fesm2022/quang-components-autocomplete.mjs +3 -3
  51. package/fesm2022/quang-components-autocomplete.mjs.map +1 -1
  52. package/fesm2022/quang-components-checkbox.mjs +3 -3
  53. package/fesm2022/quang-components-checkbox.mjs.map +1 -1
  54. package/fesm2022/quang-components-date.mjs +3 -3
  55. package/fesm2022/quang-components-date.mjs.map +1 -1
  56. package/fesm2022/quang-components-input.mjs +3 -3
  57. package/fesm2022/quang-components-input.mjs.map +1 -1
  58. package/fesm2022/quang-components-paginator.mjs +13 -13
  59. package/fesm2022/quang-components-paginator.mjs.map +1 -1
  60. package/fesm2022/quang-components-select.mjs +3 -5
  61. package/fesm2022/quang-components-select.mjs.map +1 -1
  62. package/fesm2022/quang-components-shared.mjs +6 -6
  63. package/fesm2022/quang-components-shared.mjs.map +1 -1
  64. package/fesm2022/quang-components-table.mjs +3 -3
  65. package/fesm2022/quang-components-table.mjs.map +1 -1
  66. package/fesm2022/quang-components-wysiwyg.mjs +3 -3
  67. package/fesm2022/quang-components-wysiwyg.mjs.map +1 -1
  68. package/fesm2022/quang-device.mjs +3 -3
  69. package/fesm2022/quang-device.mjs.map +1 -1
  70. package/fesm2022/quang-loader.mjs +6 -6
  71. package/fesm2022/quang-loader.mjs.map +1 -1
  72. package/fesm2022/quang-overlay-modal.mjs +3 -3
  73. package/fesm2022/quang-overlay-modal.mjs.map +1 -1
  74. package/fesm2022/quang-overlay-popover.mjs +7 -7
  75. package/fesm2022/quang-overlay-popover.mjs.map +1 -1
  76. package/fesm2022/quang-overlay-shared.mjs +9 -9
  77. package/fesm2022/quang-overlay-shared.mjs.map +1 -1
  78. package/fesm2022/quang-overlay-toast.mjs +6 -6
  79. package/fesm2022/quang-overlay-toast.mjs.map +1 -1
  80. package/fesm2022/quang-overlay-tooltip.mjs +6 -6
  81. package/fesm2022/quang-overlay-tooltip.mjs.map +1 -1
  82. package/fesm2022/quang-translation.mjs +6 -6
  83. package/fesm2022/quang-translation.mjs.map +1 -1
  84. package/forms/form-group-model.d.ts +18 -0
  85. package/forms/index.d.ts +2 -51
  86. package/forms/validators.d.ts +43 -0
  87. package/index.d.ts +9 -13
  88. package/loader/index.d.ts +4 -69
  89. package/loader/loader-providers.d.ts +23 -0
  90. package/loader/loader.component.d.ts +23 -0
  91. package/loader/loader.interceptor.d.ts +10 -0
  92. package/loader/loader.service.d.ts +9 -0
  93. package/overlay/modal/index.d.ts +1 -34
  94. package/overlay/modal/modal.component.d.ts +29 -0
  95. package/overlay/popover/index.d.ts +1 -25
  96. package/overlay/popover/popover.component.d.ts +13 -0
  97. package/overlay/popover/popover.directive.d.ts +11 -0
  98. package/overlay/shared/CustomViewportRuler.d.ts +63 -0
  99. package/overlay/shared/index.d.ts +3 -116
  100. package/overlay/shared/quang-base-overlay.component.d.ts +9 -0
  101. package/overlay/shared/quang-base-overlay.directive.d.ts +44 -0
  102. package/overlay/toast/index.d.ts +2 -44
  103. package/overlay/toast/toast.component.d.ts +13 -0
  104. package/overlay/toast/toast.service.d.ts +27 -0
  105. package/overlay/tooltip/index.d.ts +2 -23
  106. package/overlay/tooltip/tooltip.component.d.ts +11 -0
  107. package/overlay/tooltip/tooltip.directive.d.ts +11 -0
  108. package/package.json +8 -8
  109. package/shared/index.d.ts +1 -16
  110. package/shared/intercept-utils.d.ts +13 -0
  111. package/translation/index.d.ts +4 -62
  112. package/translation/translation-loader.service.d.ts +10 -0
  113. package/translation/translation-providers.d.ts +28 -0
  114. package/translation/translation.service.d.ts +15 -0
  115. package/translation/translations.tokens.d.ts +5 -0
@@ -0,0 +1,39 @@
1
+ import { EnvironmentProviders, Provider } from '@angular/core';
2
+ import { type QuangFeature, QuangFeatureKind } from 'quang';
3
+ import { type QuangAuthConfig } from './auth.service';
4
+ export declare function provideAuth(authConfig?: QuangAuthConfig, ...features: QuangAuthFeatures[]): EnvironmentProviders;
5
+ export declare function withAuth(authConfig?: QuangAuthConfig, ...features: QuangAuthFeatures[]): QuangFeature<QuangFeatureKind.LoaderFeature>;
6
+ /**
7
+ * Helper type to represent a QuangAuth feature.
8
+ *
9
+ * @publicApi
10
+ */
11
+ export interface QuangAuthFeature<FeatureKind extends QuangAuthFeatureKind> {
12
+ ɵkind: FeatureKind;
13
+ ɵproviders: (Provider | EnvironmentProviders)[];
14
+ }
15
+ /**
16
+ * Helper function to create an object that represents a QuangAuth feature.
17
+ */
18
+ export declare function quangAuthFeature<FeatureKind extends QuangAuthFeatureKind>(kind: FeatureKind, providers: (Provider | EnvironmentProviders)[]): QuangAuthFeature<FeatureKind>;
19
+ /**
20
+ * A type alias that represents all QuangAuth features available for use with `provideAuth`.
21
+ * Features can be enabled by adding special functions to the `provideAuth` call.
22
+ * See documentation for each symbol to find corresponding function name. See also `provideAuth`
23
+ * documentation on how to use those functions.
24
+ *
25
+ * @see {@link provideAuth}
26
+ *
27
+ * @publicApi
28
+ */
29
+ export type QuangAuthFeatures = QuangAuthFeature<QuangAuthFeatureKind>;
30
+ /**
31
+ * The list of features as an enum to uniquely type each feature.
32
+ */
33
+ export declare const enum QuangAuthFeatureKind {
34
+ MobileAuthFeature = 0,
35
+ SessionStorageFeature = 1,
36
+ LocalStorageFeature = 2,
37
+ MemoryStorageFeature = 3,
38
+ LogoutOnErrorFeature = 4
39
+ }
@@ -0,0 +1,52 @@
1
+ import { EnvironmentProviders, InjectionToken } from '@angular/core';
2
+ import { AuthConfig } from 'angular-oauth2-oidc';
3
+ import * as i0 from "@angular/core";
4
+ export declare const AUTH_CONFIG: InjectionToken<QuangAuthConfig | undefined>;
5
+ export interface QuangAuthConfig extends AuthConfig {
6
+ autoLogin: boolean;
7
+ sendAccessToken: boolean;
8
+ urlsToSendToken: string[];
9
+ revokeTokensOnLogout?: boolean;
10
+ getUserProfileOnLoginSuccess?: boolean;
11
+ useSilentRefresh: boolean;
12
+ }
13
+ export declare function provideQuangAuthConfig(authConfig?: QuangAuthConfig): EnvironmentProviders;
14
+ export declare const OPEN_URI: InjectionToken<(uri: string) => void | undefined>;
15
+ export declare function provideOpenURI(openURI: (uri: string) => void | undefined): EnvironmentProviders;
16
+ interface TokenStatus {
17
+ accessToken: string | null;
18
+ accessTokenExpiresAt: number | null;
19
+ idToken: string | null;
20
+ idTokenExpiresAt: number | null;
21
+ refreshToken: string | null;
22
+ }
23
+ export declare class QuangAuthService {
24
+ private config;
25
+ logLevel: "normal" | "verbose" | null;
26
+ private oAuthService;
27
+ private state;
28
+ loginChecked: import("@ngrx/signals/src/deep-signal").Signal<boolean>;
29
+ isAuthenticated: import("@angular/core").Signal<boolean>;
30
+ authenticationError: import("@ngrx/signals/src/deep-signal").Signal<boolean>;
31
+ tokenStatus: import("@ngrx/signals").DeepSignal<TokenStatus>;
32
+ roles: import("@ngrx/signals/src/deep-signal").Signal<Set<string>>;
33
+ user: import("@ngrx/signals/src/deep-signal").Signal<Record<string, any> | null>;
34
+ constructor();
35
+ init(): Promise<void>;
36
+ checkForAuthentication(forceRefresh?: boolean): Promise<boolean | undefined>;
37
+ private refreshAuth;
38
+ login(): void;
39
+ logout(): Promise<void>;
40
+ private loginError;
41
+ getUserProfile(): Promise<void>;
42
+ private setTokens;
43
+ waitForLoginCheck(): Promise<void>;
44
+ getAuthResult(): Promise<boolean>;
45
+ addRoles(rolesToAdd: string[]): void;
46
+ removeRoles(rolesToRemove: string[]): void;
47
+ hasEveryRole(roles: string[]): boolean;
48
+ hasAtLeastOneRole(roles: string[]): boolean;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangAuthService, never>;
50
+ static ɵprov: i0.ɵɵInjectableDeclaration<QuangAuthService>;
51
+ }
52
+ export {};
@@ -0,0 +1,26 @@
1
+ import { ChangeDetectorRef, EmbeddedViewRef, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { QuangAuthService } from '../auth.service';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * This directive conditionally renders the associated template if the authenticated user
6
+ * has at least one of the specified roles. By using the `QuangAuthService.hasAtLeastOneRole()` method it checks the user's roles against
7
+ * the required roles provided through the `quangHasAtLeastOneRole` directive.
8
+ *
9
+ * @example
10
+ * <div *quangHasAtLeastOneRole="['admin', 'editor']">
11
+ * This content will only be visible to users with 'admin' or 'editor' roles.
12
+ * </div>
13
+ */
14
+ export declare class QuangHasAtLeastOneRoleDirective {
15
+ logLevel: "normal" | "verbose" | null;
16
+ targetRoles: import("@angular/core").InputSignal<string[]>;
17
+ viewContainerRef: ViewContainerRef;
18
+ embeddedViewRef: EmbeddedViewRef<unknown> | null;
19
+ templateRef: TemplateRef<any>;
20
+ authService: QuangAuthService;
21
+ takeUntilDestroyed: import("rxjs").MonoTypeOperatorFunction<unknown>;
22
+ changeDetectorRef: ChangeDetectorRef;
23
+ hideViewIfNotAllowed: import("@angular/core").EffectRef;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangHasAtLeastOneRoleDirective, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QuangHasAtLeastOneRoleDirective, "[quangHasAtLeastOneRole]", never, { "targetRoles": { "alias": "quangHasAtLeastOneRole"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }
@@ -0,0 +1,26 @@
1
+ import { ChangeDetectorRef, EmbeddedViewRef, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { QuangAuthService } from '../auth.service';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * This directive conditionally renders the associated template if the authenticated user
6
+ * has every of the specified roles. By using the `QuangAuthService.hasEveryRole()` method it checks the user's roles against
7
+ * the required roles provided through the `quangHasEveryRole` required input.
8
+ *
9
+ * @example
10
+ * <div *quangHasEveryRole="['admin', 'editor']">
11
+ * This content will only be visible to users with 'admin' and 'editor' roles.
12
+ * </div>
13
+ */
14
+ export declare class QuangHasEveryRoleDirective {
15
+ logLevel: "normal" | "verbose" | null;
16
+ targetRoles: import("@angular/core").InputSignal<string[]>;
17
+ viewContainerRef: ViewContainerRef;
18
+ embeddedViewRef: EmbeddedViewRef<unknown> | null;
19
+ templateRef: TemplateRef<any>;
20
+ authService: QuangAuthService;
21
+ takeUntilDestroyed: import("rxjs").MonoTypeOperatorFunction<unknown>;
22
+ changeDetectorRef: ChangeDetectorRef;
23
+ hideViewIfNotAllowed: import("@angular/core").EffectRef;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangHasEveryRoleDirective, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QuangHasEveryRoleDirective, "[quangHasEveryRole]", never, { "targetRoles": { "alias": "quangHasEveryRole"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
26
+ }
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectorRef, EmbeddedViewRef, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { QuangAuthService } from '../auth.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class QuangIsAuthenticatedDirective {
5
+ viewContainerRef: ViewContainerRef;
6
+ templateRef: TemplateRef<any>;
7
+ embeddedViewRef: EmbeddedViewRef<any> | null;
8
+ authService: QuangAuthService;
9
+ takeUntilDestroyed: import("rxjs").MonoTypeOperatorFunction<unknown>;
10
+ changeDetectorRef: ChangeDetectorRef;
11
+ hideViewIfNotAuthenticated: import("@angular/core").EffectRef;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangIsAuthenticatedDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QuangIsAuthenticatedDirective, "[quangIsAuthenticated]", never, {}, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectorRef, EmbeddedViewRef, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { QuangAuthService } from '../auth.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class QuangIsNotAuthenticatedDirective {
5
+ viewContainerRef: ViewContainerRef;
6
+ templateRef: TemplateRef<any>;
7
+ embeddedViewRef: EmbeddedViewRef<any> | null;
8
+ authService: QuangAuthService;
9
+ takeUntilDestroyed: import("rxjs").MonoTypeOperatorFunction<unknown>;
10
+ changeDetectorRef: ChangeDetectorRef;
11
+ showViewIfNotAuthenticated: import("@angular/core").EffectRef;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangIsNotAuthenticatedDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<QuangIsNotAuthenticatedDirective, "[quangIsNotAuthenticated]", never, {}, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,2 @@
1
+ export * from './is-allowed.guard';
2
+ export * from './is-authenticated.guard';
@@ -0,0 +1,2 @@
1
+ import type { CanActivateFn } from '@angular/router';
2
+ export declare const quangIsAllowedGuardFactory: (roles: string[], behavior: "every" | "atLeastOne") => CanActivateFn;
@@ -0,0 +1,2 @@
1
+ import type { CanActivateFn } from '@angular/router';
2
+ export declare const quangIsAuthenticatedGuard: CanActivateFn;
package/auth/index.d.ts CHANGED
@@ -1,195 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, EnvironmentProviders, Provider, ViewContainerRef, EmbeddedViewRef, TemplateRef, ChangeDetectorRef } from '@angular/core';
3
- import { QuangFeature, QuangFeatureKind } from 'quang';
4
- import * as _ngrx_signals from '@ngrx/signals';
5
- import * as _ngrx_signals_src_deep_signal from '@ngrx/signals/src/deep-signal';
6
- import { AuthConfig, OAuthStorage } from 'angular-oauth2-oidc';
7
- import * as rxjs from 'rxjs';
8
- import { CanActivateFn } from '@angular/router';
9
- import { HttpInterceptorFn } from '@angular/common/http';
10
- import { UrlData } from 'quang/shared';
11
-
12
- declare const AUTH_CONFIG: InjectionToken<QuangAuthConfig | undefined>;
13
- interface QuangAuthConfig extends AuthConfig {
14
- autoLogin: boolean;
15
- sendAccessToken: boolean;
16
- urlsToSendToken: string[];
17
- revokeTokensOnLogout?: boolean;
18
- getUserProfileOnLoginSuccess?: boolean;
19
- useSilentRefresh: boolean;
20
- }
21
- declare function provideQuangAuthConfig(authConfig?: QuangAuthConfig): EnvironmentProviders;
22
- declare const OPEN_URI: InjectionToken<(uri: string) => void | undefined>;
23
- declare function provideOpenURI(openURI: (uri: string) => void | undefined): EnvironmentProviders;
24
- interface TokenStatus {
25
- accessToken: string | null;
26
- accessTokenExpiresAt: number | null;
27
- idToken: string | null;
28
- idTokenExpiresAt: number | null;
29
- refreshToken: string | null;
30
- }
31
- declare class QuangAuthService {
32
- private config;
33
- logLevel: "normal" | "verbose" | null;
34
- private oAuthService;
35
- private state;
36
- loginChecked: _ngrx_signals_src_deep_signal.Signal<boolean>;
37
- isAuthenticated: i0.Signal<boolean>;
38
- authenticationError: _ngrx_signals_src_deep_signal.Signal<boolean>;
39
- tokenStatus: _ngrx_signals.DeepSignal<TokenStatus>;
40
- roles: _ngrx_signals_src_deep_signal.Signal<Set<string>>;
41
- user: _ngrx_signals_src_deep_signal.Signal<Record<string, any> | null>;
42
- constructor();
43
- init(): Promise<void>;
44
- checkForAuthentication(forceRefresh?: boolean): Promise<boolean | undefined>;
45
- private refreshAuth;
46
- login(): void;
47
- logout(): Promise<void>;
48
- private loginError;
49
- getUserProfile(): Promise<void>;
50
- private setTokens;
51
- waitForLoginCheck(): Promise<void>;
52
- getAuthResult(): Promise<boolean>;
53
- addRoles(rolesToAdd: string[]): void;
54
- removeRoles(rolesToRemove: string[]): void;
55
- hasEveryRole(roles: string[]): boolean;
56
- hasAtLeastOneRole(roles: string[]): boolean;
57
- static ɵfac: i0.ɵɵFactoryDeclaration<QuangAuthService, never>;
58
- static ɵprov: i0.ɵɵInjectableDeclaration<QuangAuthService>;
59
- }
60
-
61
- declare function provideAuth(authConfig?: QuangAuthConfig, ...features: QuangAuthFeatures[]): EnvironmentProviders;
62
- declare function withAuth(authConfig?: QuangAuthConfig, ...features: QuangAuthFeatures[]): QuangFeature<QuangFeatureKind.LoaderFeature>;
63
- /**
64
- * Helper type to represent a QuangAuth feature.
65
- *
66
- * @publicApi
67
- */
68
- interface QuangAuthFeature<FeatureKind extends QuangAuthFeatureKind> {
69
- ɵkind: FeatureKind;
70
- ɵproviders: (Provider | EnvironmentProviders)[];
71
- }
72
- /**
73
- * Helper function to create an object that represents a QuangAuth feature.
74
- */
75
- declare function quangAuthFeature<FeatureKind extends QuangAuthFeatureKind>(kind: FeatureKind, providers: (Provider | EnvironmentProviders)[]): QuangAuthFeature<FeatureKind>;
76
- /**
77
- * A type alias that represents all QuangAuth features available for use with `provideAuth`.
78
- * Features can be enabled by adding special functions to the `provideAuth` call.
79
- * See documentation for each symbol to find corresponding function name. See also `provideAuth`
80
- * documentation on how to use those functions.
81
- *
82
- * @see {@link provideAuth}
83
- *
84
- * @publicApi
85
- */
86
- type QuangAuthFeatures = QuangAuthFeature<QuangAuthFeatureKind>;
87
- /**
88
- * The list of features as an enum to uniquely type each feature.
89
- */
90
- declare const enum QuangAuthFeatureKind {
91
- MobileAuthFeature = 0,
92
- SessionStorageFeature = 1,
93
- LocalStorageFeature = 2,
94
- MemoryStorageFeature = 3,
95
- LogoutOnErrorFeature = 4
96
- }
97
-
98
- /**
99
- * This directive conditionally renders the associated template if the authenticated user
100
- * has at least one of the specified roles. By using the `QuangAuthService.hasAtLeastOneRole()` method it checks the user's roles against
101
- * the required roles provided through the `quangHasAtLeastOneRole` directive.
102
- *
103
- * @example
104
- * <div *quangHasAtLeastOneRole="['admin', 'editor']">
105
- * This content will only be visible to users with 'admin' or 'editor' roles.
106
- * </div>
107
- */
108
- declare class QuangHasAtLeastOneRoleDirective {
109
- logLevel: "normal" | "verbose" | null;
110
- targetRoles: i0.InputSignal<string[]>;
111
- viewContainerRef: ViewContainerRef;
112
- embeddedViewRef: EmbeddedViewRef<unknown> | null;
113
- templateRef: TemplateRef<any>;
114
- authService: QuangAuthService;
115
- takeUntilDestroyed: rxjs.MonoTypeOperatorFunction<unknown>;
116
- changeDetectorRef: ChangeDetectorRef;
117
- hideViewIfNotAllowed: i0.EffectRef;
118
- static ɵfac: i0.ɵɵFactoryDeclaration<QuangHasAtLeastOneRoleDirective, never>;
119
- static ɵdir: i0.ɵɵDirectiveDeclaration<QuangHasAtLeastOneRoleDirective, "[quangHasAtLeastOneRole]", never, { "targetRoles": { "alias": "quangHasAtLeastOneRole"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
120
- }
121
-
122
- /**
123
- * This directive conditionally renders the associated template if the authenticated user
124
- * has every of the specified roles. By using the `QuangAuthService.hasEveryRole()` method it checks the user's roles against
125
- * the required roles provided through the `quangHasEveryRole` required input.
126
- *
127
- * @example
128
- * <div *quangHasEveryRole="['admin', 'editor']">
129
- * This content will only be visible to users with 'admin' and 'editor' roles.
130
- * </div>
131
- */
132
- declare class QuangHasEveryRoleDirective {
133
- logLevel: "normal" | "verbose" | null;
134
- targetRoles: i0.InputSignal<string[]>;
135
- viewContainerRef: ViewContainerRef;
136
- embeddedViewRef: EmbeddedViewRef<unknown> | null;
137
- templateRef: TemplateRef<any>;
138
- authService: QuangAuthService;
139
- takeUntilDestroyed: rxjs.MonoTypeOperatorFunction<unknown>;
140
- changeDetectorRef: ChangeDetectorRef;
141
- hideViewIfNotAllowed: i0.EffectRef;
142
- static ɵfac: i0.ɵɵFactoryDeclaration<QuangHasEveryRoleDirective, never>;
143
- static ɵdir: i0.ɵɵDirectiveDeclaration<QuangHasEveryRoleDirective, "[quangHasEveryRole]", never, { "targetRoles": { "alias": "quangHasEveryRole"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
144
- }
145
-
146
- declare class QuangIsAuthenticatedDirective {
147
- viewContainerRef: ViewContainerRef;
148
- templateRef: TemplateRef<any>;
149
- embeddedViewRef: EmbeddedViewRef<any> | null;
150
- authService: QuangAuthService;
151
- takeUntilDestroyed: rxjs.MonoTypeOperatorFunction<unknown>;
152
- changeDetectorRef: ChangeDetectorRef;
153
- hideViewIfNotAuthenticated: i0.EffectRef;
154
- static ɵfac: i0.ɵɵFactoryDeclaration<QuangIsAuthenticatedDirective, never>;
155
- static ɵdir: i0.ɵɵDirectiveDeclaration<QuangIsAuthenticatedDirective, "[quangIsAuthenticated]", never, {}, {}, never, never, true, never>;
156
- }
157
-
158
- declare class QuangIsNotAuthenticatedDirective {
159
- viewContainerRef: ViewContainerRef;
160
- templateRef: TemplateRef<any>;
161
- embeddedViewRef: EmbeddedViewRef<any> | null;
162
- authService: QuangAuthService;
163
- takeUntilDestroyed: rxjs.MonoTypeOperatorFunction<unknown>;
164
- changeDetectorRef: ChangeDetectorRef;
165
- showViewIfNotAuthenticated: i0.EffectRef;
166
- static ɵfac: i0.ɵɵFactoryDeclaration<QuangIsNotAuthenticatedDirective, never>;
167
- static ɵdir: i0.ɵɵDirectiveDeclaration<QuangIsNotAuthenticatedDirective, "[quangIsNotAuthenticated]", never, {}, {}, never, never, true, never>;
168
- }
169
-
170
- declare const quangIsAllowedGuardFactory: (roles: string[], behavior: "every" | "atLeastOne") => CanActivateFn;
171
-
172
- declare const quangIsAuthenticatedGuard: CanActivateFn;
173
-
174
- declare const LOGOUT_RETRIES: InjectionToken<number>;
175
- declare const LOGOUT_STATUSES: InjectionToken<number[]>;
176
- declare const LOGOUT_EXCLUDED_URLS: InjectionToken<UrlData[]>;
177
- declare const logoutOnErrorInterceptor: HttpInterceptorFn;
178
- declare function withLogoutOnError(excludedUrls?: UrlData[], statuses?: number[], retries?: number): QuangAuthFeature<QuangAuthFeatureKind.LogoutOnErrorFeature>;
179
-
180
- declare function withLocalStorage(): QuangAuthFeature<QuangAuthFeatureKind.LocalStorageFeature>;
181
-
182
- declare class MemoryStorage implements OAuthStorage {
183
- private data;
184
- getItem(key: string): string;
185
- removeItem(key: string): void;
186
- setItem(key: string, data: string): void;
187
- static ɵfac: i0.ɵɵFactoryDeclaration<MemoryStorage, never>;
188
- static ɵprov: i0.ɵɵInjectableDeclaration<MemoryStorage>;
189
- }
190
- declare function withMemoryStorage(): QuangAuthFeature<QuangAuthFeatureKind.MemoryStorageFeature>;
191
-
192
- declare function withSessionStorage(): QuangAuthFeature<QuangAuthFeatureKind.SessionStorageFeature>;
193
-
194
- export { AUTH_CONFIG, LOGOUT_EXCLUDED_URLS, LOGOUT_RETRIES, LOGOUT_STATUSES, MemoryStorage, OPEN_URI, QuangAuthFeatureKind, QuangAuthService, QuangHasAtLeastOneRoleDirective, QuangHasEveryRoleDirective, QuangIsAuthenticatedDirective, QuangIsNotAuthenticatedDirective, logoutOnErrorInterceptor, provideAuth, provideOpenURI, provideQuangAuthConfig, quangAuthFeature, quangIsAllowedGuardFactory, quangIsAuthenticatedGuard, withAuth, withLocalStorage, withLogoutOnError, withMemoryStorage, withSessionStorage };
195
- export type { QuangAuthConfig, QuangAuthFeature, QuangAuthFeatures };
1
+ export * from './auth-providers';
2
+ export * from './auth.service';
3
+ export * from './directives/has-at-least-one-role.directive';
4
+ export * from './directives/has-every-role.directive';
5
+ export * from './directives/is-authenticated.directive';
6
+ export * from './directives/is-not-authenticated.directive';
7
+ export * from './guards';
8
+ export * from './logout-on-error.interceptor';
9
+ export * from './token-storage';
@@ -0,0 +1,9 @@
1
+ import { HttpInterceptorFn } from '@angular/common/http';
2
+ import { InjectionToken } from '@angular/core';
3
+ import { UrlData } from 'quang/shared';
4
+ import { QuangAuthFeature, QuangAuthFeatureKind } from './auth-providers';
5
+ export declare const LOGOUT_RETRIES: InjectionToken<number>;
6
+ export declare const LOGOUT_STATUSES: InjectionToken<number[]>;
7
+ export declare const LOGOUT_EXCLUDED_URLS: InjectionToken<UrlData[]>;
8
+ export declare const logoutOnErrorInterceptor: HttpInterceptorFn;
9
+ export declare function withLogoutOnError(excludedUrls?: UrlData[], statuses?: number[], retries?: number): QuangAuthFeature<QuangAuthFeatureKind.LogoutOnErrorFeature>;
@@ -1,5 +1 @@
1
- import { QuangAuthFeature, QuangAuthFeatureKind } from 'quang/auth';
2
-
3
- declare function withMobileAuth(toolbarColor?: string, presentationStyle?: 'popover' | 'fullscreen'): QuangAuthFeature<QuangAuthFeatureKind.MobileAuthFeature>;
4
-
5
- export { withMobileAuth };
1
+ export * from './mobile-auth-feature';
@@ -0,0 +1,2 @@
1
+ import { QuangAuthFeature, QuangAuthFeatureKind } from 'quang/auth';
2
+ export declare function withMobileAuth(toolbarColor?: string, presentationStyle?: 'popover' | 'fullscreen'): QuangAuthFeature<QuangAuthFeatureKind.MobileAuthFeature>;
@@ -0,0 +1,3 @@
1
+ export * from './local-storage-feature';
2
+ export * from './memory-storage-feature';
3
+ export * from './session-storage-feature';
@@ -0,0 +1,2 @@
1
+ import { QuangAuthFeature, QuangAuthFeatureKind } from '../auth-providers';
2
+ export declare function withLocalStorage(): QuangAuthFeature<QuangAuthFeatureKind.LocalStorageFeature>;
@@ -0,0 +1,12 @@
1
+ import { OAuthStorage } from 'angular-oauth2-oidc';
2
+ import { QuangAuthFeature, QuangAuthFeatureKind } from '../auth-providers';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MemoryStorage implements OAuthStorage {
5
+ private data;
6
+ getItem(key: string): string;
7
+ removeItem(key: string): void;
8
+ setItem(key: string, data: string): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<MemoryStorage, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<MemoryStorage>;
11
+ }
12
+ export declare function withMemoryStorage(): QuangAuthFeature<QuangAuthFeatureKind.MemoryStorageFeature>;
@@ -0,0 +1,2 @@
1
+ import { QuangAuthFeature, QuangAuthFeatureKind } from '../auth-providers';
2
+ export declare function withSessionStorage(): QuangAuthFeature<QuangAuthFeatureKind.SessionStorageFeature>;
@@ -0,0 +1,64 @@
1
+ import { Subject, Subscription } from 'rxjs';
2
+ import { OptionListParentType, QuangBaseComponent, QuangOptionListComponent, SelectOption } from 'quang/components/shared';
3
+ import * as i0 from "@angular/core";
4
+ export declare class QuangAutocompleteComponent extends QuangBaseComponent<string | number | string[] | number[]> {
5
+ syncFormWithText: import("@angular/core").InputSignal<boolean>;
6
+ optionListMaxHeight: import("@angular/core").InputSignal<string>;
7
+ selectOptions: import("@angular/core").InputSignal<SelectOption[]>;
8
+ translateValue: import("@angular/core").InputSignal<boolean>;
9
+ scrollBehaviorOnOpen: import("@angular/core").InputSignal<ScrollBehavior>;
10
+ /**
11
+ * Only emits the value without saving it in ngControl
12
+ */
13
+ emitOnly: import("@angular/core").InputSignal<boolean>;
14
+ multiple: import("@angular/core").InputSignal<boolean>;
15
+ /**
16
+ * Set the maximum length in characters of the single chip.
17
+ */
18
+ chipMaxLength: import("@angular/core").InputSignal<number>;
19
+ multiSelectDisplayMode: import("@angular/core").InputSignal<"vertical" | "horizontal">;
20
+ optionList: import("@angular/core").Signal<QuangOptionListComponent | undefined>;
21
+ _showOptions: import("@angular/core").WritableSignal<boolean | null>;
22
+ _inputValue: import("@angular/core").WritableSignal<string>;
23
+ _optionHideTimeout: import("@angular/core").WritableSignal<any>;
24
+ _chipList: import("@angular/core").WritableSignal<string[]>;
25
+ _selectedOptions: import("@angular/core").WritableSignal<SelectOption[]>;
26
+ inputValue$: Subject<string>;
27
+ selectOptionsChange: Subscription;
28
+ _filteredOptions: import("@angular/core").Signal<SelectOption[]>;
29
+ selectedOption: import("@angular/core").OutputEmitterRef<string | number | null>;
30
+ searchTextChange: import("@angular/core").OutputEmitterRef<string>;
31
+ searchTextDebounce: import("@angular/core").InputSignal<number>;
32
+ internalFilterOptions: import("@angular/core").InputSignal<boolean>;
33
+ readonly ParentType = OptionListParentType.AUTOCOMPLETE;
34
+ formValueChange$: Subscription | undefined;
35
+ private readonly selectInput;
36
+ private readonly chipContainer;
37
+ private readonly autocompleteContainer;
38
+ inputHeight: import("@angular/core").WritableSignal<number>;
39
+ private readonly onChangeSelectInput;
40
+ constructor();
41
+ setupFormControl(): void;
42
+ showOptionVisibility(): void;
43
+ hideOptionVisibility(skipTimeout?: boolean): void;
44
+ onChangeInput(value: any): void;
45
+ filterOptions(value: string): SelectOption[];
46
+ onChangedHandler(value: string | number | string[] | number[]): void;
47
+ onValueChange(value: string | number, hideOptions?: boolean): void;
48
+ checkInputValue(): void;
49
+ writeValue(val: string | number | string[] | number[]): void;
50
+ onBlurInput(event: FocusEvent): void;
51
+ onBlurHandler(): void;
52
+ onBlurOptionList(event: any): void;
53
+ setInputValue(resetOnMiss?: boolean): void;
54
+ getDescription(chip: any): string;
55
+ onSelectValue(value: any): void;
56
+ /**
57
+ * remove chip from chips list
58
+ * @param chipValue chip to delete
59
+ */
60
+ deleteChip(chipValue: any): void;
61
+ createChipList(chip: any): void;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangAutocompleteComponent, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<QuangAutocompleteComponent, "quang-autocomplete", never, { "syncFormWithText": { "alias": "syncFormWithText"; "required": false; "isSignal": true; }; "optionListMaxHeight": { "alias": "optionListMaxHeight"; "required": false; "isSignal": true; }; "selectOptions": { "alias": "selectOptions"; "required": true; "isSignal": true; }; "translateValue": { "alias": "translateValue"; "required": false; "isSignal": true; }; "scrollBehaviorOnOpen": { "alias": "scrollBehaviorOnOpen"; "required": false; "isSignal": true; }; "emitOnly": { "alias": "emitOnly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "chipMaxLength": { "alias": "chipMaxLength"; "required": false; "isSignal": true; }; "multiSelectDisplayMode": { "alias": "multiSelectDisplayMode"; "required": false; "isSignal": true; }; "searchTextDebounce": { "alias": "searchTextDebounce"; "required": false; "isSignal": true; }; "internalFilterOptions": { "alias": "internalFilterOptions"; "required": false; "isSignal": true; }; }, { "selectedOption": "selectedOption"; "searchTextChange": "searchTextChange"; }, never, never, true, never>;
64
+ }
@@ -1,67 +1 @@
1
- import * as _angular_core from '@angular/core';
2
- import { Subject, Subscription } from 'rxjs';
3
- import { QuangBaseComponent, SelectOption, QuangOptionListComponent, OptionListParentType } from 'quang/components/shared';
4
-
5
- declare class QuangAutocompleteComponent extends QuangBaseComponent<string | number | string[] | number[]> {
6
- syncFormWithText: _angular_core.InputSignal<boolean>;
7
- optionListMaxHeight: _angular_core.InputSignal<string>;
8
- selectOptions: _angular_core.InputSignal<SelectOption[]>;
9
- translateValue: _angular_core.InputSignal<boolean>;
10
- scrollBehaviorOnOpen: _angular_core.InputSignal<ScrollBehavior>;
11
- /**
12
- * Only emits the value without saving it in ngControl
13
- */
14
- emitOnly: _angular_core.InputSignal<boolean>;
15
- multiple: _angular_core.InputSignal<boolean>;
16
- /**
17
- * Set the maximum length in characters of the single chip.
18
- */
19
- chipMaxLength: _angular_core.InputSignal<number>;
20
- multiSelectDisplayMode: _angular_core.InputSignal<"vertical" | "horizontal">;
21
- optionList: _angular_core.Signal<QuangOptionListComponent | undefined>;
22
- _showOptions: _angular_core.WritableSignal<boolean | null>;
23
- _inputValue: _angular_core.WritableSignal<string>;
24
- _optionHideTimeout: _angular_core.WritableSignal<any>;
25
- _chipList: _angular_core.WritableSignal<string[]>;
26
- _selectedOptions: _angular_core.WritableSignal<SelectOption[]>;
27
- inputValue$: Subject<string>;
28
- selectOptionsChange: Subscription;
29
- _filteredOptions: _angular_core.Signal<SelectOption[]>;
30
- selectedOption: _angular_core.OutputEmitterRef<string | number | null>;
31
- searchTextChange: _angular_core.OutputEmitterRef<string>;
32
- searchTextDebounce: _angular_core.InputSignal<number>;
33
- internalFilterOptions: _angular_core.InputSignal<boolean>;
34
- readonly ParentType = OptionListParentType.AUTOCOMPLETE;
35
- formValueChange$: Subscription | undefined;
36
- private readonly selectInput;
37
- private readonly chipContainer;
38
- private readonly autocompleteContainer;
39
- inputHeight: _angular_core.WritableSignal<number>;
40
- private readonly onChangeSelectInput;
41
- constructor();
42
- setupFormControl(): void;
43
- showOptionVisibility(): void;
44
- hideOptionVisibility(skipTimeout?: boolean): void;
45
- onChangeInput(value: any): void;
46
- filterOptions(value: string): SelectOption[];
47
- onChangedHandler(value: string | number | string[] | number[]): void;
48
- onValueChange(value: string | number, hideOptions?: boolean): void;
49
- checkInputValue(): void;
50
- writeValue(val: string | number | string[] | number[]): void;
51
- onBlurInput(event: FocusEvent): void;
52
- onBlurHandler(): void;
53
- onBlurOptionList(event: any): void;
54
- setInputValue(resetOnMiss?: boolean): void;
55
- getDescription(chip: any): string;
56
- onSelectValue(value: any): void;
57
- /**
58
- * remove chip from chips list
59
- * @param chipValue chip to delete
60
- */
61
- deleteChip(chipValue: any): void;
62
- createChipList(chip: any): void;
63
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QuangAutocompleteComponent, never>;
64
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QuangAutocompleteComponent, "quang-autocomplete", never, { "syncFormWithText": { "alias": "syncFormWithText"; "required": false; "isSignal": true; }; "optionListMaxHeight": { "alias": "optionListMaxHeight"; "required": false; "isSignal": true; }; "selectOptions": { "alias": "selectOptions"; "required": true; "isSignal": true; }; "translateValue": { "alias": "translateValue"; "required": false; "isSignal": true; }; "scrollBehaviorOnOpen": { "alias": "scrollBehaviorOnOpen"; "required": false; "isSignal": true; }; "emitOnly": { "alias": "emitOnly"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "chipMaxLength": { "alias": "chipMaxLength"; "required": false; "isSignal": true; }; "multiSelectDisplayMode": { "alias": "multiSelectDisplayMode"; "required": false; "isSignal": true; }; "searchTextDebounce": { "alias": "searchTextDebounce"; "required": false; "isSignal": true; }; "internalFilterOptions": { "alias": "internalFilterOptions"; "required": false; "isSignal": true; }; }, { "selectedOption": "selectedOption"; "searchTextChange": "searchTextChange"; }, never, never, true, never>;
65
- }
66
-
67
- export { QuangAutocompleteComponent };
1
+ export * from './autocomplete.component';
@@ -0,0 +1,11 @@
1
+ import { QuangBaseComponent } from 'quang/components/shared';
2
+ import * as i0 from "@angular/core";
3
+ export type LabelPosition = 'top' | 'left' | 'right' | 'bottom';
4
+ export declare class QuangCheckboxComponent extends QuangBaseComponent<boolean> {
5
+ labelPosition: import("@angular/core").InputSignal<LabelPosition>;
6
+ checkType: import("@angular/core").InputSignal<"checkbox" | "toggle">;
7
+ removeMargin: import("@angular/core").InputSignal<boolean>;
8
+ onChangedEventHandler($event: Event): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<QuangCheckboxComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<QuangCheckboxComponent, "quang-checkbox", never, { "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "checkType": { "alias": "checkType"; "required": true; "isSignal": true; }; "removeMargin": { "alias": "removeMargin"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11
+ }
@@ -1,15 +1 @@
1
- import * as _angular_core from '@angular/core';
2
- import { QuangBaseComponent } from 'quang/components/shared';
3
-
4
- type LabelPosition = 'top' | 'left' | 'right' | 'bottom';
5
- declare class QuangCheckboxComponent extends QuangBaseComponent<boolean> {
6
- labelPosition: _angular_core.InputSignal<LabelPosition>;
7
- checkType: _angular_core.InputSignal<"checkbox" | "toggle">;
8
- removeMargin: _angular_core.InputSignal<boolean>;
9
- onChangedEventHandler($event: Event): void;
10
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QuangCheckboxComponent, never>;
11
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QuangCheckboxComponent, "quang-checkbox", never, { "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "checkType": { "alias": "checkType"; "required": true; "isSignal": true; }; "removeMargin": { "alias": "removeMargin"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
- }
13
-
14
- export { QuangCheckboxComponent };
15
- export type { LabelPosition };
1
+ export * from './checkbox.component';