angular-toolbox 0.0.8 → 0.9.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.
- package/LICENSE +21 -0
- package/README.md +14 -10
- package/{esm2020 → esm2022}/angular-toolbox.mjs +4 -4
- package/esm2022/lib/angular-toolbox.module.mjs +21 -0
- package/esm2022/lib/core/bridge/app-bridge.mjs +76 -0
- package/esm2022/lib/core/error/app-bridge-error.mjs +24 -0
- package/esm2022/lib/core/error/http-mock-service-error.mjs +26 -0
- package/esm2022/lib/core/error/index.mjs +5 -0
- package/esm2022/lib/core/error/integrity-error.mjs +26 -0
- package/esm2022/lib/core/error/subscription-error.mjs +26 -0
- package/esm2022/lib/core/impl/index.mjs +2 -0
- package/esm2022/lib/core/impl/lang/identifiable-component.mjs +31 -0
- package/esm2022/lib/core/impl/lang/index.mjs +2 -0
- package/esm2022/lib/core/impl/version/version.impl.mjs +34 -0
- package/esm2022/lib/core/index.mjs +3 -0
- package/esm2022/lib/directive/anchor-link.directive.mjs +62 -0
- package/esm2022/lib/directive/button-role.directive.mjs +102 -0
- package/esm2022/lib/directive/content-renderer.directive.mjs +61 -0
- package/esm2022/lib/directive/index.mjs +5 -0
- package/esm2022/lib/directive/navigate-to-url.directive.mjs +51 -0
- package/esm2022/lib/directive/navigation-directive-base.mjs +23 -0
- package/esm2022/lib/framework/index.mjs +2 -0
- package/esm2022/lib/framework/mock/http/config/http-mock-parameters.mjs +9 -0
- package/esm2022/lib/framework/mock/http/config/http-mock.decorator.mjs +48 -0
- package/esm2022/lib/framework/mock/http/config/index.mjs +3 -0
- package/esm2022/lib/framework/mock/http/config/route-mock-config.mjs +9 -0
- package/esm2022/lib/framework/mock/http/core/data-storage.mjs +9 -0
- package/esm2022/lib/framework/mock/http/event/event-target.impl.mjs +122 -0
- package/esm2022/lib/framework/mock/http/event/progress-event-mock.mjs +48 -0
- package/esm2022/lib/framework/mock/http/index.mjs +4 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/constants.mjs +111 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.mjs +34 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/get-flags.mjs +28 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/iter.mjs +76 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/lexer.mjs +96 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/loose-replacer.mjs +28 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/encode.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/key.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lex-token.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/lexer-type.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/parse-options.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/simple-tokens.mjs +30 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token-type.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/model/token.mjs +17 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/string-to-token-data.mjs +87 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/to-key-regexp.mjs +41 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/to-stringify.mjs +29 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.mjs +49 -0
- package/esm2022/lib/framework/mock/http/path-to-regexp/token-data.mjs +33 -0
- package/esm2022/lib/framework/mock/http/util/data-storage.builder.mjs +35 -0
- package/esm2022/lib/framework/mock/http/util/http-headers-mock.builder.mjs +138 -0
- package/esm2022/lib/framework/mock/http/util/http-headers.util.mjs +56 -0
- package/esm2022/lib/framework/mock/http/util/http-method-ref.enum.mjs +60 -0
- package/esm2022/lib/framework/mock/http/util/http-mock-response.builder.mjs +117 -0
- package/esm2022/lib/framework/mock/http/util/index.mjs +3 -0
- package/esm2022/lib/framework/mock/http/xhr/delegate-xhr.mjs +316 -0
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.impl.mjs +29 -0
- package/esm2022/lib/framework/mock/http/xhr/http-mock-factory.mjs +19 -0
- package/esm2022/lib/framework/mock/http/xhr/index.mjs +2 -0
- package/esm2022/lib/framework/mock/http/xhr/xhr-base.mjs +123 -0
- package/esm2022/lib/framework/mock/http/xhr/xhr-proxy-impl.mjs +177 -0
- package/esm2022/lib/model/business/index.mjs +5 -0
- package/esm2022/lib/model/business/lang/app-bridge-command.mjs +9 -0
- package/esm2022/lib/model/business/lang/destroyable.mjs +9 -0
- package/esm2022/lib/model/business/lang/identifiable.mjs +9 -0
- package/esm2022/lib/model/business/lang/index.mjs +5 -0
- package/esm2022/lib/model/business/lang/instantiable.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-method-mock.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-config.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-endpoint.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-error.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-mock-interceptor.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/http-response-mock.mjs +9 -0
- package/esm2022/lib/model/business/mock/http/index.mjs +8 -0
- package/esm2022/lib/model/business/mock/http/xhr-proxy.mjs +9 -0
- package/esm2022/lib/model/business/ui/dark-mode-config.mjs +9 -0
- package/esm2022/lib/model/business/ui/dark-mode-config.provider.mjs +43 -0
- package/esm2022/lib/model/business/ui/dark-mode.constant.mjs +16 -0
- package/esm2022/lib/model/business/ui/index.mjs +5 -0
- package/esm2022/lib/model/business/ui/scroll-behavior.type.mjs +9 -0
- package/esm2022/lib/model/business/version/index.mjs +4 -0
- package/esm2022/lib/model/business/version/version-config.mjs +9 -0
- package/esm2022/lib/model/business/version/version-config.provider.mjs +40 -0
- package/esm2022/lib/model/business/version/version.mjs +10 -0
- package/esm2022/lib/model/index.mjs +3 -0
- package/esm2022/lib/model/service/index.mjs +5 -0
- package/esm2022/lib/model/service/mock/http/http-mock.service.mjs +239 -0
- package/esm2022/lib/model/service/subscription/subscription.service.mjs +122 -0
- package/esm2022/lib/model/service/ui/app-bridge.service.mjs +142 -0
- package/esm2022/lib/model/service/ui/dark-mode.service.mjs +183 -0
- package/esm2022/lib/model/service/ui/index.mjs +4 -0
- package/esm2022/lib/model/service/ui/scroll.service.mjs +93 -0
- package/esm2022/lib/model/service/version/version.service.mjs +51 -0
- package/{esm2020 → esm2022}/lib/pipe/index.mjs +1 -1
- package/esm2022/lib/pipe/safe/safe-html.pipe.mjs +34 -0
- package/esm2022/lib/util/aria-role.constant.mjs +16 -0
- package/esm2022/lib/util/default-scroll-behavior.mjs +13 -0
- package/esm2022/lib/util/empty-string.const.mjs +12 -0
- package/esm2022/lib/util/index.mjs +5 -0
- package/esm2022/lib/util/js-type.mjs +40 -0
- package/esm2022/lib/util/uuid.mjs +126 -0
- package/esm2022/public-api.mjs +18 -0
- package/fesm2022/angular-toolbox.mjs +3710 -0
- package/fesm2022/angular-toolbox.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/angular-toolbox.module.d.ts +9 -7
- package/lib/core/bridge/app-bridge.d.ts +59 -0
- package/lib/core/error/app-bridge-error.d.ts +16 -0
- package/lib/core/error/http-mock-service-error.d.ts +18 -0
- package/lib/core/error/index.d.ts +4 -0
- package/lib/core/error/integrity-error.d.ts +18 -0
- package/lib/core/error/subscription-error.d.ts +18 -0
- package/lib/core/impl/index.d.ts +1 -0
- package/lib/core/impl/lang/identifiable-component.d.ts +26 -0
- package/lib/core/impl/lang/index.d.ts +1 -0
- package/lib/core/impl/version/version.impl.d.ts +42 -0
- package/lib/core/index.d.ts +2 -0
- package/lib/directive/anchor-link.directive.d.ts +29 -0
- package/lib/directive/button-role.directive.d.ts +52 -0
- package/lib/directive/content-renderer.directive.d.ts +39 -0
- package/lib/directive/index.d.ts +4 -0
- package/lib/directive/navigate-to-url.directive.d.ts +23 -0
- package/lib/directive/navigation-directive-base.d.ts +19 -0
- package/lib/framework/index.d.ts +1 -0
- package/lib/framework/mock/http/config/http-mock-parameters.d.ts +13 -0
- package/lib/framework/mock/http/config/http-mock.decorator.d.ts +13 -0
- package/lib/framework/mock/http/config/index.d.ts +2 -0
- package/lib/framework/mock/http/config/route-mock-config.d.ts +30 -0
- package/lib/framework/mock/http/core/data-storage.d.ts +38 -0
- package/lib/framework/mock/http/event/event-target.impl.d.ts +70 -0
- package/lib/framework/mock/http/event/progress-event-mock.d.ts +36 -0
- package/lib/framework/mock/http/index.d.ts +3 -0
- package/lib/framework/mock/http/path-to-regexp/constants.d.ts +111 -0
- package/lib/framework/mock/http/path-to-regexp/escape-to-regexp-string.d.ts +24 -0
- package/lib/framework/mock/http/path-to-regexp/get-flags.d.ts +25 -0
- package/lib/framework/mock/http/path-to-regexp/iter.d.ts +50 -0
- package/lib/framework/mock/http/path-to-regexp/lexer.d.ts +24 -0
- package/lib/framework/mock/http/path-to-regexp/loose-replacer.d.ts +25 -0
- package/lib/framework/mock/http/path-to-regexp/model/decode-key-to-string.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/encode.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/model/key.d.ts +45 -0
- package/lib/framework/mock/http/path-to-regexp/model/lex-token.d.ts +34 -0
- package/lib/framework/mock/http/path-to-regexp/model/lexer-type.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/loose-replacer-provider.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/model/non-delimiter-encoder-provider.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/parse-options.d.ts +33 -0
- package/lib/framework/mock/http/path-to-regexp/model/path-to-regexp-options.d.ts +52 -0
- package/lib/framework/mock/http/path-to-regexp/model/route-string-tokenizer.d.ts +22 -0
- package/lib/framework/mock/http/path-to-regexp/model/simple-tokens.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/model/token-data-regexp-factory.d.ts +23 -0
- package/lib/framework/mock/http/path-to-regexp/model/token-type.d.ts +20 -0
- package/lib/framework/mock/http/path-to-regexp/model/token.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/string-to-token-data.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/to-key-regexp.d.ts +22 -0
- package/lib/framework/mock/http/path-to-regexp/to-stringify.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/token-data-to-regexp.d.ts +21 -0
- package/lib/framework/mock/http/path-to-regexp/token-data.d.ts +32 -0
- package/lib/framework/mock/http/util/data-storage.builder.d.ts +25 -0
- package/lib/framework/mock/http/util/http-headers-mock.builder.d.ts +106 -0
- package/lib/framework/mock/http/util/http-headers.util.d.ts +31 -0
- package/lib/framework/mock/http/util/http-method-ref.enum.d.ts +58 -0
- package/lib/framework/mock/http/util/http-mock-response.builder.d.ts +83 -0
- package/lib/framework/mock/http/util/index.d.ts +2 -0
- package/lib/framework/mock/http/xhr/delegate-xhr.d.ts +199 -0
- package/lib/framework/mock/http/xhr/http-mock-factory.d.ts +14 -0
- package/lib/framework/mock/http/xhr/http-mock-factory.impl.d.ts +24 -0
- package/lib/framework/mock/http/xhr/index.d.ts +1 -0
- package/lib/framework/mock/http/xhr/xhr-base.d.ts +123 -0
- package/lib/framework/mock/http/xhr/xhr-proxy-impl.d.ts +125 -0
- package/lib/model/business/index.d.ts +4 -0
- package/lib/model/business/lang/app-bridge-command.d.ts +11 -0
- package/lib/model/business/lang/destroyable.d.ts +16 -0
- package/lib/model/business/lang/identifiable.d.ts +19 -0
- package/lib/model/business/lang/index.d.ts +4 -0
- package/lib/model/business/lang/instantiable.d.ts +15 -0
- package/lib/model/business/mock/http/http-method-mock.d.ts +35 -0
- package/lib/model/business/mock/http/http-mock-config.d.ts +28 -0
- package/lib/model/business/mock/http/http-mock-endpoint.d.ts +41 -0
- package/lib/model/business/mock/http/http-mock-error.d.ts +21 -0
- package/lib/model/business/mock/http/http-mock-interceptor.d.ts +27 -0
- package/lib/model/business/mock/http/http-response-mock.d.ts +44 -0
- package/lib/model/business/mock/http/index.d.ts +7 -0
- package/lib/model/business/mock/http/xhr-proxy.d.ts +15 -0
- package/lib/model/business/ui/dark-mode-config.d.ts +29 -0
- package/lib/model/business/ui/dark-mode-config.provider.d.ts +21 -0
- package/lib/model/business/ui/dark-mode.constant.d.ts +15 -0
- package/lib/model/business/ui/index.d.ts +4 -0
- package/lib/model/business/ui/scroll-behavior.type.d.ts +11 -0
- package/lib/model/business/version/index.d.ts +3 -0
- package/lib/model/business/version/version-config.d.ts +28 -0
- package/lib/model/business/version/version-config.provider.d.ts +22 -0
- package/lib/model/business/version/version.d.ts +34 -0
- package/lib/model/index.d.ts +2 -0
- package/lib/model/service/index.d.ts +4 -0
- package/lib/model/service/mock/http/http-mock.service.d.ts +101 -0
- package/lib/model/service/subscription/subscription.service.d.ts +66 -0
- package/lib/model/service/ui/app-bridge.service.d.ts +80 -0
- package/lib/model/service/ui/dark-mode.service.d.ts +99 -0
- package/lib/model/service/ui/index.d.ts +3 -0
- package/lib/{service → model/service}/ui/scroll.service.d.ts +55 -52
- package/lib/model/service/version/version.service.d.ts +30 -0
- package/lib/pipe/index.d.ts +1 -1
- package/lib/pipe/safe/safe-html.pipe.d.ts +30 -10
- package/lib/util/aria-role.constant.d.ts +15 -0
- package/lib/util/default-scroll-behavior.d.ts +12 -0
- package/lib/util/empty-string.const.d.ts +11 -0
- package/lib/util/index.d.ts +4 -0
- package/lib/util/js-type.d.ts +39 -0
- package/lib/util/uuid.d.ts +89 -0
- package/package.json +10 -13
- package/public-api.d.ts +14 -3
- package/esm2020/lib/angular-toolbox.module.mjs +0 -26
- package/esm2020/lib/pipe/safe/safe-html.pipe.mjs +0 -18
- package/esm2020/lib/service/index.mjs +0 -4
- package/esm2020/lib/service/subscription/subscription.service.mjs +0 -60
- package/esm2020/lib/service/ui/dark-mode.service.mjs +0 -167
- package/esm2020/lib/service/ui/scroll.service.mjs +0 -79
- package/esm2020/public-api.mjs +0 -7
- package/fesm2015/angular-toolbox.mjs +0 -356
- package/fesm2015/angular-toolbox.mjs.map +0 -1
- package/fesm2020/angular-toolbox.mjs +0 -350
- package/fesm2020/angular-toolbox.mjs.map +0 -1
- package/lib/service/index.d.ts +0 -3
- package/lib/service/subscription/subscription.service.d.ts +0 -33
- package/lib/service/ui/dark-mode.service.d.ts +0 -92
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A reference to the `"undefined"` type.
|
|
10
|
+
*/
|
|
11
|
+
export declare const UNDEFINED: string;
|
|
12
|
+
/**
|
|
13
|
+
* A reference to the `"object"` type.
|
|
14
|
+
*/
|
|
15
|
+
export declare const OBJECT: string;
|
|
16
|
+
/**
|
|
17
|
+
* A reference to the `"boolean"` type.
|
|
18
|
+
*/
|
|
19
|
+
export declare const BOOLEAN: string;
|
|
20
|
+
/**
|
|
21
|
+
* A reference to the `"number"` type.
|
|
22
|
+
*/
|
|
23
|
+
export declare const NUMBER: string;
|
|
24
|
+
/**
|
|
25
|
+
* A reference to the `"bigint"` type.
|
|
26
|
+
*/
|
|
27
|
+
export declare const BIGINT: string;
|
|
28
|
+
/**
|
|
29
|
+
* A reference to the `"function"` type.
|
|
30
|
+
*/
|
|
31
|
+
export declare const FUNCTION: string;
|
|
32
|
+
/**
|
|
33
|
+
* A reference to the `"string"` type.
|
|
34
|
+
*/
|
|
35
|
+
export declare const STRING: string;
|
|
36
|
+
/**
|
|
37
|
+
* A reference to the `"symbol"` type.
|
|
38
|
+
*/
|
|
39
|
+
export declare const SYMBOL: string;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
import { Destroyable } from "../model";
|
|
9
|
+
/**
|
|
10
|
+
* A class that represents an immutable universally unique identifier (UUID).
|
|
11
|
+
* This class is not available in workers.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Uuid implements Destroyable {
|
|
14
|
+
/**
|
|
15
|
+
* @private
|
|
16
|
+
* Stores a reference to the UUID associated with this `Uuid` instance.
|
|
17
|
+
*/
|
|
18
|
+
private readonly _uuid;
|
|
19
|
+
/**
|
|
20
|
+
* @private
|
|
21
|
+
* Stores a boolean value used to lock constructor access.
|
|
22
|
+
*/
|
|
23
|
+
private static _lockConstructor;
|
|
24
|
+
/**
|
|
25
|
+
* @private
|
|
26
|
+
* Stores a reference to all UUIDs already created.
|
|
27
|
+
*/
|
|
28
|
+
private static _hash;
|
|
29
|
+
/**
|
|
30
|
+
* @private
|
|
31
|
+
* Created a new `Uuid` instance.
|
|
32
|
+
*
|
|
33
|
+
* @param uuid A string used that represents the UUID associated with this `Uuid` instance.
|
|
34
|
+
* If `null` creates a random UUID value.
|
|
35
|
+
* @param tracked If `true`, stores the UUID reference in the system.
|
|
36
|
+
*/
|
|
37
|
+
private constructor();
|
|
38
|
+
/**
|
|
39
|
+
* Returns a string that represents the UUID value associated with this `Uuid` instance.
|
|
40
|
+
*
|
|
41
|
+
* @returns The UUID string value associated with this `Uuid` instance.
|
|
42
|
+
*/
|
|
43
|
+
toString(): string;
|
|
44
|
+
/**
|
|
45
|
+
* Compares the given `Uuid` instance with this `Uuid`.
|
|
46
|
+
*
|
|
47
|
+
* @param uuid The `Uuid` instance to compare with this `Uuid`.
|
|
48
|
+
*
|
|
49
|
+
* @returns `true` whether both `Uuid` instances are equal; `false` otherwise.
|
|
50
|
+
*/
|
|
51
|
+
equals(uuid: Uuid): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Creates and returns a new `Uuid` instance.
|
|
54
|
+
*
|
|
55
|
+
* @param track If `true`, stores the UUID reference in the system.
|
|
56
|
+
*
|
|
57
|
+
* @returns A new `Uuid` instance.
|
|
58
|
+
*/
|
|
59
|
+
static build(track?: boolean): Uuid;
|
|
60
|
+
/**
|
|
61
|
+
* Creates and returns a new `Uuid` instance built from the specified `uuid` parameter.
|
|
62
|
+
*
|
|
63
|
+
* @param uuid The UUID string value used to create the new `Uuid` instance.
|
|
64
|
+
* @param track If `true`, performs a validation process to ensure that the UUID string does not exists in the system.
|
|
65
|
+
*
|
|
66
|
+
* @returns A new `Uuid` instance built from the specified `uuid` parameter.
|
|
67
|
+
*/
|
|
68
|
+
static fromString(uuid: string, track?: boolean): Uuid;
|
|
69
|
+
/**
|
|
70
|
+
* Performs validation on the specified `uuid` string parameter.
|
|
71
|
+
*
|
|
72
|
+
* @param uuid A UUID representation string to validate.
|
|
73
|
+
* @returns `true` whether the `uuid` string parameter is valid; `false` otherwise.
|
|
74
|
+
*/
|
|
75
|
+
static validate(uuid: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Performs a test to ensure that the UUID string is not tracked the system.
|
|
78
|
+
*
|
|
79
|
+
* @param uuid A UUID representation string to test.
|
|
80
|
+
* @returns `true` whether the `uuid` string parameter is tracked; `false` otherwise.
|
|
81
|
+
*/
|
|
82
|
+
static isTracked(uuid: string): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Releases the `Uuid` instance from the tracking system and makes it elligible for garbage collection.
|
|
85
|
+
*
|
|
86
|
+
* @returns `true` whether the `Uuid` instance was found and removed; `false` otherwise.
|
|
87
|
+
*/
|
|
88
|
+
destroy(): boolean;
|
|
89
|
+
}
|
package/package.json
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "angular-toolbox",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.9.0",
|
|
4
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
4
5
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^
|
|
6
|
-
"@angular/core": "^
|
|
6
|
+
"@angular/common": "^18.0.0",
|
|
7
|
+
"@angular/core": "^18.0.0",
|
|
8
|
+
"@angular/platform-browser": "^18.0.0",
|
|
9
|
+
"@angular/router": "^18.0.0"
|
|
7
10
|
},
|
|
8
11
|
"dependencies": {
|
|
9
12
|
"tslib": "^2.3.0"
|
|
10
13
|
},
|
|
11
14
|
"sideEffects": false,
|
|
12
|
-
"module": "
|
|
13
|
-
"es2020": "fesm2020/angular-toolbox.mjs",
|
|
14
|
-
"esm2020": "esm2020/angular-toolbox.mjs",
|
|
15
|
-
"fesm2020": "fesm2020/angular-toolbox.mjs",
|
|
16
|
-
"fesm2015": "fesm2015/angular-toolbox.mjs",
|
|
15
|
+
"module": "fesm2022/angular-toolbox.mjs",
|
|
17
16
|
"typings": "index.d.ts",
|
|
18
17
|
"exports": {
|
|
19
18
|
"./package.json": {
|
|
@@ -21,11 +20,9 @@
|
|
|
21
20
|
},
|
|
22
21
|
".": {
|
|
23
22
|
"types": "./index.d.ts",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"node": "./fesm2015/angular-toolbox.mjs",
|
|
28
|
-
"default": "./fesm2020/angular-toolbox.mjs"
|
|
23
|
+
"esm2022": "./esm2022/angular-toolbox.mjs",
|
|
24
|
+
"esm": "./esm2022/angular-toolbox.mjs",
|
|
25
|
+
"default": "./fesm2022/angular-toolbox.mjs"
|
|
29
26
|
}
|
|
30
27
|
}
|
|
31
28
|
}
|
package/public-api.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Pascal ECHEMANN. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be found in
|
|
6
|
+
* the LICENSE file at https://pascalechemann.com/angular-toolbox/resources/license
|
|
7
|
+
*/
|
|
8
|
+
export * from './lib/angular-toolbox.module';
|
|
9
|
+
export * from './lib/core';
|
|
10
|
+
export * from './lib/directive';
|
|
11
|
+
export * from './lib/framework';
|
|
12
|
+
export * from './lib/model';
|
|
13
|
+
export * from './lib/pipe';
|
|
14
|
+
export * from './lib/util';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { SafeHtmlPipe } from './pipe/safe/safe-html.pipe';
|
|
3
|
-
import { DARK_MODE_CONFIG } from './service/ui/dark-mode.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class AngularToolboxModule {
|
|
6
|
-
}
|
|
7
|
-
AngularToolboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
AngularToolboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AngularToolboxModule, declarations: [SafeHtmlPipe], exports: [SafeHtmlPipe] });
|
|
9
|
-
AngularToolboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularToolboxModule, providers: [
|
|
10
|
-
{ provide: DARK_MODE_CONFIG, useValue: DARK_MODE_CONFIG }
|
|
11
|
-
] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularToolboxModule, decorators: [{
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [
|
|
16
|
-
SafeHtmlPipe
|
|
17
|
-
],
|
|
18
|
-
providers: [
|
|
19
|
-
{ provide: DARK_MODE_CONFIG, useValue: DARK_MODE_CONFIG }
|
|
20
|
-
],
|
|
21
|
-
exports: [
|
|
22
|
-
SafeHtmlPipe
|
|
23
|
-
]
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10b29sYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvbGliL2FuZ3VsYXItdG9vbGJveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBYWxFLE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFUekIsWUFBWSxhQU1aLFlBQVk7a0hBR1Asb0JBQW9CLGFBUGxCO1FBQ1AsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO0tBQzFEOzJGQUtNLG9CQUFvQjtrQkFYaEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsWUFBWTtxQkFDZjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO3FCQUMxRDtvQkFDSCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhZmVIdG1sUGlwZSB9IGZyb20gJy4vcGlwZS9zYWZlL3NhZmUtaHRtbC5waXBlJztcclxuaW1wb3J0IHsgREFSS19NT0RFX0NPTkZJRyB9IGZyb20gJy4vc2VydmljZS91aS9kYXJrLW1vZGUuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgU2FmZUh0bWxQaXBlXHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBEQVJLX01PREVfQ09ORklHLCB1c2VWYWx1ZTogREFSS19NT0RFX0NPTkZJRyB9XHJcbiAgICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgU2FmZUh0bWxQaXBlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyVG9vbGJveE1vZHVsZSB7IH0iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Pipe } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/platform-browser";
|
|
4
|
-
export class SafeHtmlPipe {
|
|
5
|
-
constructor(_sanitizer) {
|
|
6
|
-
this._sanitizer = _sanitizer;
|
|
7
|
-
}
|
|
8
|
-
transform(value) {
|
|
9
|
-
return this._sanitizer.bypassSecurityTrustHtml(value);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
-
SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SafeHtmlPipe, decorators: [{
|
|
15
|
-
type: Pipe,
|
|
16
|
-
args: [{ name: 'safeHtml' }]
|
|
17
|
-
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9waXBlL3NhZmUvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUdwRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixVQUF3QjtRQUF4QixlQUFVLEdBQVYsVUFBVSxDQUFjO0lBQUcsQ0FBQztJQUV6QyxTQUFTLENBQUMsS0FBYTtRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7eUdBTlUsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInXHJcbmltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnc2FmZUh0bWwnfSlcclxuZXhwb3J0IGNsYXNzIFNhZmVIdG1sUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0gIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgIHJldHVybiB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUpO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './subscription/subscription.service';
|
|
2
|
-
export * from './ui/dark-mode.service';
|
|
3
|
-
export * from './ui/scroll.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpL2RhcmstbW9kZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi91aS9zY3JvbGwuc2VydmljZSc7Il19
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* A lightweight service that helps to manage unregistration issues of Angular subscriptions.
|
|
5
|
-
*/
|
|
6
|
-
export class SubscriptionService {
|
|
7
|
-
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
* The internal Subscription instances storage.
|
|
10
|
-
*/
|
|
11
|
-
this._subMap = new Map();
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Stores a new Subscription instance associated with the specified reference.
|
|
15
|
-
*
|
|
16
|
-
* @param ref the reference for which to store a new Subscription instance.
|
|
17
|
-
* @param subscription the Subscription instance to register.
|
|
18
|
-
* @returns a reference to this SubscriptionService instance.
|
|
19
|
-
*/
|
|
20
|
-
register(ref, subscription) {
|
|
21
|
-
if (!this._subMap.has(ref))
|
|
22
|
-
this._subMap.set(ref, []);
|
|
23
|
-
this._subMap.get(ref)?.push(subscription);
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Unsubscribes and removes all Subscription instances associated with the specified reference.
|
|
28
|
-
*
|
|
29
|
-
* @param ref the reference for which to remove all Subscription instances.
|
|
30
|
-
* @returns true whether the specified reference exists; false otherwise.
|
|
31
|
-
*/
|
|
32
|
-
clearAll(ref) {
|
|
33
|
-
let result = false;
|
|
34
|
-
if (this._subMap.has(ref)) {
|
|
35
|
-
this._subMap.get(ref)?.forEach(subscription => subscription.unsubscribe());
|
|
36
|
-
this._subMap.delete(ref);
|
|
37
|
-
result = true;
|
|
38
|
-
}
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Returns all Subscription instances associated with the specified reference.
|
|
43
|
-
*
|
|
44
|
-
* @param ref the reference for which to remove get Subscription instances.
|
|
45
|
-
* @returns all Subscription instances associated with the specified reference, or whether
|
|
46
|
-
* the specified reference does not exists.
|
|
47
|
-
*/
|
|
48
|
-
get(ref) {
|
|
49
|
-
return this._subMap.get(ref) || null;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
SubscriptionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubscriptionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
-
SubscriptionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubscriptionService, providedIn: 'root' });
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SubscriptionService, decorators: [{
|
|
55
|
-
type: Injectable,
|
|
56
|
-
args: [{
|
|
57
|
-
providedIn: 'root'
|
|
58
|
-
}]
|
|
59
|
-
}] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9zZXJ2aWNlL3N1YnNjcmlwdGlvbi9zdWJzY3JpcHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQzs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFRSTs7V0FFRztRQUNLLFlBQU8sR0FBcUMsSUFBSSxHQUFHLEVBQStCLENBQUM7S0F5QzlGO0lBdkNHOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxHQUFXLEVBQUUsWUFBMEI7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksUUFBUSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxNQUFNLEdBQVksS0FBSyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsTUFBTSxHQUFHLElBQUksQ0FBQztTQUNqQjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsR0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN6QyxDQUFDOztnSEE3Q1EsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FMaEIsTUFBTTsyRkFLVCxtQkFBbUI7a0JBTi9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG4vKipcbiAqIEEgbGlnaHR3ZWlnaHQgc2VydmljZSB0aGF0IGhlbHBzIHRvIG1hbmFnZSB1bnJlZ2lzdHJhdGlvbiBpc3N1ZXMgb2YgQW5ndWxhciBzdWJzY3JpcHRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uU2VydmljZSB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW50ZXJuYWwgU3Vic2NyaXB0aW9uIGluc3RhbmNlcyBzdG9yYWdlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3N1Yk1hcDogTWFwPFN0cmluZywgQXJyYXk8U3Vic2NyaXB0aW9uPj4gPSBuZXcgTWFwPFN0cmluZywgQXJyYXk8U3Vic2NyaXB0aW9uPj4oKTtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIG5ldyBTdWJzY3JpcHRpb24gaW5zdGFuY2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcmVmZXJlbmNlLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSByZWYgdGhlIHJlZmVyZW5jZSBmb3Igd2hpY2ggdG8gc3RvcmUgYSBuZXcgU3Vic2NyaXB0aW9uIGluc3RhbmNlLlxuICAgICAqIEBwYXJhbSBzdWJzY3JpcHRpb24gdGhlIFN1YnNjcmlwdGlvbiBpbnN0YW5jZSB0byByZWdpc3Rlci5cbiAgICAgKiBAcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGlzIFN1YnNjcmlwdGlvblNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlZ2lzdGVyKHJlZjogU3RyaW5nLCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbik6IFN1YnNjcmlwdGlvblNlcnZpY2Uge1xuICAgICAgICBpZiAoIXRoaXMuX3N1Yk1hcC5oYXMocmVmKSkgdGhpcy5fc3ViTWFwLnNldChyZWYsIFtdKTtcbiAgICAgICAgdGhpcy5fc3ViTWFwLmdldChyZWYpPy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiBcbiAgICAvKipcbiAgICAgKiBVbnN1YnNjcmliZXMgYW5kIHJlbW92ZXMgYWxsIFN1YnNjcmlwdGlvbiBpbnN0YW5jZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcmVmZXJlbmNlLlxuICAgICAqIFxuICAgICAqIEBwYXJhbSByZWYgdGhlIHJlZmVyZW5jZSBmb3Igd2hpY2ggdG8gcmVtb3ZlIGFsbCBTdWJzY3JpcHRpb24gaW5zdGFuY2VzLlxuICAgICAqIEByZXR1cm5zIHRydWUgd2hldGhlciB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZSBleGlzdHM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xlYXJBbGwocmVmOiBTdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHJlc3VsdDogYm9vbGVhbiA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5fc3ViTWFwLmhhcyhyZWYpKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJNYXAuZ2V0KHJlZik/LmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgICAgIHRoaXMuX3N1Yk1hcC5kZWxldGUocmVmKTtcbiAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCBTdWJzY3JpcHRpb24gaW5zdGFuY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZS5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gcmVmIHRoZSByZWZlcmVuY2UgZm9yIHdoaWNoIHRvIHJlbW92ZSBnZXQgU3Vic2NyaXB0aW9uIGluc3RhbmNlcy5cbiAgICAgKiBAcmV0dXJucyBhbGwgU3Vic2NyaXB0aW9uIGluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCByZWZlcmVuY2UsIG9yIHdoZXRoZXJcbiAgICAgKiAgICAgICAgICB0aGUgc3BlY2lmaWVkIHJlZmVyZW5jZSBkb2VzIG5vdCBleGlzdHMuXG4gICAgICovXG4gICAgcHVibGljIGdldChyZWY6IFN0cmluZyk6IEFycmF5PFN1YnNjcmlwdGlvbj4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1Yk1hcC5nZXQocmVmKSB8fCBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, EventEmitter } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
// --> Internal constants
|
|
5
|
-
const STORAGE_KEY = "dark-mode-key";
|
|
6
|
-
const CSS_PROP = "dark-mode";
|
|
7
|
-
const ADD_ACTION = "add";
|
|
8
|
-
const REMOVE_ACTION = "remove";
|
|
9
|
-
/**
|
|
10
|
-
* The default provider for the DarkModeService configuration. You typically define
|
|
11
|
-
* the custom properties in the main NgModule declaration to initialize the app dark mode:
|
|
12
|
-
*
|
|
13
|
-
* @NgModule({
|
|
14
|
-
* ...
|
|
15
|
-
* providers: [
|
|
16
|
-
* { provide: DARK_MODE_CONFIG, useValue: { enableDarkMode: true} }
|
|
17
|
-
* ],
|
|
18
|
-
* ...
|
|
19
|
-
* s);
|
|
20
|
-
*/
|
|
21
|
-
export const DARK_MODE_CONFIG = {
|
|
22
|
-
/**
|
|
23
|
-
* Indicates whether the dark mode uses browser settings (true), or not (false).
|
|
24
|
-
* Default value is false.
|
|
25
|
-
*/
|
|
26
|
-
darkModeEnabled: false,
|
|
27
|
-
/**
|
|
28
|
-
* Indicates whether the dark mode uses browser settings (true), or not (false).
|
|
29
|
-
* Default value is false.
|
|
30
|
-
*/
|
|
31
|
-
detectBrowserSettings: false,
|
|
32
|
-
/**
|
|
33
|
-
* CSS property name used to set the dark mode look and feel.
|
|
34
|
-
* Default value is 'dark-mode'.
|
|
35
|
-
*/
|
|
36
|
-
cssProperty: CSS_PROP,
|
|
37
|
-
/**
|
|
38
|
-
* Reference to the key value used to persist the dark mode state to local storage.
|
|
39
|
-
* Default value is 'dark-mode-key'.
|
|
40
|
-
*/
|
|
41
|
-
storageKey: STORAGE_KEY
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* A lightweight service that provides Dark Mode implementation for your Angular application.
|
|
45
|
-
*/
|
|
46
|
-
export class DarkModeService {
|
|
47
|
-
/**
|
|
48
|
-
* Creates a new DarkModeService instance.
|
|
49
|
-
* @param _document the reference to the Document singleton.
|
|
50
|
-
* @param config the reference to the DarkModeConfig provider.
|
|
51
|
-
*/
|
|
52
|
-
constructor(_document, config) {
|
|
53
|
-
this._document = _document;
|
|
54
|
-
// --> Private properties
|
|
55
|
-
this._darkModeEnabled = false;
|
|
56
|
-
this._cssProperty = CSS_PROP;
|
|
57
|
-
this._storageKey = STORAGE_KEY;
|
|
58
|
-
/**
|
|
59
|
-
* The callback function that is triggered when the dark mode changes.
|
|
60
|
-
* @typeParam EventEmitter<boolean> the value returned by the darkModeEnabled() property.
|
|
61
|
-
*/
|
|
62
|
-
this.change = new EventEmitter(true);
|
|
63
|
-
this.initDarkMode(config);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Toogles the dark mode state.
|
|
67
|
-
*/
|
|
68
|
-
toggleDarkMode() {
|
|
69
|
-
this._darkModeEnabled ? this.disableDarkMode() : this.enableDarkMode();
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Sets the dark mode state to active.
|
|
73
|
-
*/
|
|
74
|
-
enableDarkMode() {
|
|
75
|
-
this.setDarkMode(ADD_ACTION);
|
|
76
|
-
this.setStoredDarkMode();
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Sets the dark mode state to inactive.
|
|
80
|
-
*/
|
|
81
|
-
disableDarkMode() {
|
|
82
|
-
this.setDarkMode(REMOVE_ACTION);
|
|
83
|
-
this.setStoredDarkMode();
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Returns a boolean value that indicates the dark mode state is active (true), or not (false).
|
|
87
|
-
* @returns true whether the dark mode state is active; false otherwise.
|
|
88
|
-
*/
|
|
89
|
-
darkModeEnabled() {
|
|
90
|
-
return this._darkModeEnabled;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Returns the value of the CSS property as defined by the config provider.
|
|
94
|
-
* @returns the value of the CSS property.
|
|
95
|
-
*/
|
|
96
|
-
getCssProperty() {
|
|
97
|
-
return this._cssProperty;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Returns the value of the storage key as defined by the config provider.
|
|
101
|
-
* @returns the value of the storage key.
|
|
102
|
-
*/
|
|
103
|
-
getStorageKey() {
|
|
104
|
-
return this._storageKey;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Removes the dark mode information from local storage.
|
|
108
|
-
*/
|
|
109
|
-
invalidateStorage() {
|
|
110
|
-
localStorage.removeItem(this._storageKey);
|
|
111
|
-
}
|
|
112
|
-
// --> Private methods
|
|
113
|
-
initDarkMode(config) {
|
|
114
|
-
this._darkModeEnabled = config.darkModeEnabled || false;
|
|
115
|
-
this._cssProperty = config.cssProperty || CSS_PROP;
|
|
116
|
-
this._storageKey = config.storageKey || STORAGE_KEY;
|
|
117
|
-
if (this._darkModeEnabled) {
|
|
118
|
-
this.enableDarkMode();
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
this.initStoredDarkMode();
|
|
122
|
-
}
|
|
123
|
-
if (config.detectBrowserSettings)
|
|
124
|
-
this.initBrowserMode();
|
|
125
|
-
}
|
|
126
|
-
initStoredDarkMode() {
|
|
127
|
-
const result = localStorage.getItem(this._storageKey);
|
|
128
|
-
if (result === "true")
|
|
129
|
-
this.enableDarkMode();
|
|
130
|
-
}
|
|
131
|
-
setStoredDarkMode() {
|
|
132
|
-
const data = String(this._darkModeEnabled);
|
|
133
|
-
localStorage.setItem(this._storageKey, data);
|
|
134
|
-
}
|
|
135
|
-
setDarkMode(action) {
|
|
136
|
-
const classList = this._document.body.classList;
|
|
137
|
-
if (action === ADD_ACTION) {
|
|
138
|
-
classList.add(this._cssProperty);
|
|
139
|
-
this._darkModeEnabled = true;
|
|
140
|
-
}
|
|
141
|
-
else if (action === REMOVE_ACTION) {
|
|
142
|
-
classList.remove(this._cssProperty);
|
|
143
|
-
this._darkModeEnabled = false;
|
|
144
|
-
}
|
|
145
|
-
this.change.emit(this._darkModeEnabled);
|
|
146
|
-
}
|
|
147
|
-
initBrowserMode() {
|
|
148
|
-
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
149
|
-
this.enableDarkMode();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
DarkModeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DarkModeService, deps: [{ token: DOCUMENT }, { token: DARK_MODE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
154
|
-
DarkModeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DarkModeService, providedIn: 'root' });
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DarkModeService, decorators: [{
|
|
156
|
-
type: Injectable,
|
|
157
|
-
args: [{
|
|
158
|
-
providedIn: 'root'
|
|
159
|
-
}]
|
|
160
|
-
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
161
|
-
type: Inject,
|
|
162
|
-
args: [DOCUMENT]
|
|
163
|
-
}] }, { type: undefined, decorators: [{
|
|
164
|
-
type: Inject,
|
|
165
|
-
args: [DARK_MODE_CONFIG]
|
|
166
|
-
}] }]; } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay1tb2RlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9zZXJ2aWNlL3VpL2RhcmstbW9kZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTNDLHlCQUF5QjtBQUN6QixNQUFNLFdBQVcsR0FBVyxlQUFlLENBQUM7QUFDNUMsTUFBTSxRQUFRLEdBQVcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sVUFBVSxHQUFXLEtBQUssQ0FBQztBQUNqQyxNQUFNLGFBQWEsR0FBVyxRQUFRLENBQUM7QUE2QnZDOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQW1CO0lBRTVDOzs7T0FHRztJQUNILGVBQWUsRUFBRSxLQUFLO0lBRXRCOzs7T0FHRztJQUNILHFCQUFxQixFQUFFLEtBQUs7SUFFNUI7OztPQUdHO0lBQ0gsV0FBVyxFQUFFLFFBQVE7SUFFckI7OztPQUdHO0lBQ0gsVUFBVSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQztBQUtGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFheEI7Ozs7T0FJRztJQUNILFlBQXNDLFNBQW1CLEVBQTRCLE1BQXNCO1FBQXJFLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFoQnpELHlCQUF5QjtRQUNqQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsaUJBQVksR0FBVyxRQUFRLENBQUM7UUFDaEMsZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFFMUM7OztXQUdHO1FBQ2EsV0FBTSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQVE1RSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksaUJBQWlCO1FBQ3BCLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxzQkFBc0I7SUFDZCxZQUFZLENBQUMsTUFBc0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO1FBQ3hELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLFdBQVcsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxNQUFNLENBQUMscUJBQXFCO1lBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsTUFBTSxNQUFNLEdBQWtCLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLElBQUksTUFBTSxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixNQUFNLElBQUksR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXLENBQUMsTUFBYztRQUM5QixNQUFNLFNBQVMsR0FBaUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlELElBQUksTUFBTSxLQUFLLFVBQVUsRUFBRTtZQUN2QixTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxNQUFNLEtBQUssYUFBYSxFQUFFO1lBQ2pDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNoRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDOzs0R0FuSFEsZUFBZSxrQkFrQkosUUFBUSxhQUF1QyxnQkFBZ0I7Z0hBbEIxRSxlQUFlLGNBTFosTUFBTTsyRkFLVCxlQUFlO2tCQU4zQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBc0JnQixNQUFNOzJCQUFDLFFBQVE7OzBCQUFnQyxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8vIC0tPiBJbnRlcm5hbCBjb25zdGFudHNcbmNvbnN0IFNUT1JBR0VfS0VZOiBzdHJpbmcgPSBcImRhcmstbW9kZS1rZXlcIjtcbmNvbnN0IENTU19QUk9QOiBzdHJpbmcgPSBcImRhcmstbW9kZVwiO1xuY29uc3QgQUREX0FDVElPTjogc3RyaW5nID0gXCJhZGRcIjtcbmNvbnN0IFJFTU9WRV9BQ1RJT046IHN0cmluZyA9IFwicmVtb3ZlXCI7XG5cbi8qKlxuICogRGVmaW5lcyBwcm9wZXJ0aWVzIGZvciB0aGUgRGFya01vZGVTZXJ2aWNlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGFya01vZGVDb25maWcge1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRhcmsgbW9kZSBpcyBhY3RpdmF0ZWQgYnkgZGVmYXVsdCAodHJ1ZSksIG9yIG5vdCAoZmFsc2UpLlxuICAgICAqL1xuICAgIGRhcmtNb2RlRW5hYmxlZD86IGJvb2xlYW47XG4gICAgXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRhcmsgbW9kZSB1c2VzIGJyb3dzZXIgc2V0dGluZ3MgKHRydWUpLCBvciBub3QgKGZhbHNlKS5cbiAgICAgKiBXaGVuIHRydWUsIHRoaXMgcHJvcGVydHkgb3ZlcnJpZGVzIHRoZSBkYXJrTW9kZUVuYWJsZWQgcHJvcGVydHkuXG4gICAgICovXG4gICAgZGV0ZWN0QnJvd3NlclNldHRpbmdzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIENTUyBwcm9wZXJ0eSBuYW1lIHVzZWQgdG8gc2V0IHRoZSBkYXJrIG1vZGUgbG9vayBhbmQgZmVlbC5cbiAgICAgKi9cbiAgICBjc3NQcm9wZXJ0eT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUga2V5IHZhbHVlIHVzZWQgdG8gcGVyc2lzdCB0aGUgZGFyayBtb2RlIHN0YXRlIHRvIGxvY2FsIHN0b3JhZ2UuXG4gICAgICovXG4gICAgc3RvcmFnZUtleT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBwcm92aWRlciBmb3IgdGhlIERhcmtNb2RlU2VydmljZSBjb25maWd1cmF0aW9uLiBZb3UgdHlwaWNhbGx5IGRlZmluZVxuICogdGhlIGN1c3RvbSBwcm9wZXJ0aWVzIGluIHRoZSBtYWluIE5nTW9kdWxlIGRlY2xhcmF0aW9uIHRvIGluaXRpYWxpemUgdGhlIGFwcCBkYXJrIG1vZGU6XG4gKiBcbiAqIEBOZ01vZHVsZSh7XG4gKiAuLi5cbiAqIHByb3ZpZGVyczogW1xuICogICB7IHByb3ZpZGU6IERBUktfTU9ERV9DT05GSUcsIHVzZVZhbHVlOiB7IGVuYWJsZURhcmtNb2RlOiB0cnVlfSB9XG4gKiBdLFxuICogLi4uXG4gKiBzKTtcbiAqL1xuZXhwb3J0IGNvbnN0IERBUktfTU9ERV9DT05GSUc6IERhcmtNb2RlQ29uZmlnID0ge1xuICAgIFxuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXJrIG1vZGUgdXNlcyBicm93c2VyIHNldHRpbmdzICh0cnVlKSwgb3Igbm90IChmYWxzZSkuXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICAgKi9cbiAgICBkYXJrTW9kZUVuYWJsZWQ6IGZhbHNlLFxuICAgIFxuICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBkYXJrIG1vZGUgdXNlcyBicm93c2VyIHNldHRpbmdzICh0cnVlKSwgb3Igbm90IChmYWxzZSkuXG4gICAgICogRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICAgKi9cbiAgICBkZXRlY3RCcm93c2VyU2V0dGluZ3M6IGZhbHNlLFxuICAgIFxuICAgIC8qKlxuICAgICAqIENTUyBwcm9wZXJ0eSBuYW1lIHVzZWQgdG8gc2V0IHRoZSBkYXJrIG1vZGUgbG9vayBhbmQgZmVlbC5cbiAgICAgKiBEZWZhdWx0IHZhbHVlIGlzICdkYXJrLW1vZGUnLlxuICAgICAqL1xuICAgIGNzc1Byb3BlcnR5OiBDU1NfUFJPUCxcbiAgICBcbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2UgdG8gdGhlIGtleSB2YWx1ZSB1c2VkIHRvIHBlcnNpc3QgdGhlIGRhcmsgbW9kZSBzdGF0ZSB0byBsb2NhbCBzdG9yYWdlLlxuICAgICAqIERlZmF1bHQgdmFsdWUgaXMgJ2RhcmstbW9kZS1rZXknLlxuICAgICAqL1xuICAgIHN0b3JhZ2VLZXk6IFNUT1JBR0VfS0VZXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuLyoqXG4gKiBBIGxpZ2h0d2VpZ2h0IHNlcnZpY2UgdGhhdCBwcm92aWRlcyBEYXJrIE1vZGUgaW1wbGVtZW50YXRpb24gZm9yIHlvdXIgQW5ndWxhciBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIERhcmtNb2RlU2VydmljZSB7XG5cbiAgICAvLyAtLT4gUHJpdmF0ZSBwcm9wZXJ0aWVzXG4gICAgcHJpdmF0ZSBfZGFya01vZGVFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfY3NzUHJvcGVydHk6IHN0cmluZyA9IENTU19QUk9QO1xuICAgIHByaXZhdGUgX3N0b3JhZ2VLZXk6IHN0cmluZyA9IFNUT1JBR0VfS0VZO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIGRhcmsgbW9kZSBjaGFuZ2VzLlxuICAgICAqIEB0eXBlUGFyYW0gRXZlbnRFbWl0dGVyPGJvb2xlYW4+IHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUgZGFya01vZGVFbmFibGVkKCkgcHJvcGVydHkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBuZXcgRGFya01vZGVTZXJ2aWNlIGluc3RhbmNlLlxuICAgICAqIEBwYXJhbSBfZG9jdW1lbnQgdGhlIHJlZmVyZW5jZSB0byB0aGUgRG9jdW1lbnQgc2luZ2xldG9uLlxuICAgICAqIEBwYXJhbSBjb25maWcgdGhlIHJlZmVyZW5jZSB0byB0aGUgRGFya01vZGVDb25maWcgcHJvdmlkZXIuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LCBASW5qZWN0KERBUktfTU9ERV9DT05GSUcpIGNvbmZpZzogRGFya01vZGVDb25maWcpIHtcbiAgICAgICAgdGhpcy5pbml0RGFya01vZGUoY29uZmlnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUb29nbGVzIHRoZSBkYXJrIG1vZGUgc3RhdGUuXG4gICAgICovXG4gICAgcHVibGljIHRvZ2dsZURhcmtNb2RlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kYXJrTW9kZUVuYWJsZWQgPyB0aGlzLmRpc2FibGVEYXJrTW9kZSgpIDogdGhpcy5lbmFibGVEYXJrTW9kZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGRhcmsgbW9kZSBzdGF0ZSB0byBhY3RpdmUuXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZURhcmtNb2RlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldERhcmtNb2RlKEFERF9BQ1RJT04pO1xuICAgICAgICB0aGlzLnNldFN0b3JlZERhcmtNb2RlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZGFyayBtb2RlIHN0YXRlIHRvIGluYWN0aXZlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkaXNhYmxlRGFya01vZGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RGFya01vZGUoUkVNT1ZFX0FDVElPTik7XG4gICAgICAgIHRoaXMuc2V0U3RvcmVkRGFya01vZGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSB0aGF0IGluZGljYXRlcyB0aGUgZGFyayBtb2RlIHN0YXRlIGlzIGFjdGl2ZSAodHJ1ZSksIG9yIG5vdCAoZmFsc2UpLlxuICAgICAqIEByZXR1cm5zIHRydWUgd2hldGhlciB0aGUgZGFyayBtb2RlIHN0YXRlIGlzIGFjdGl2ZTsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkYXJrTW9kZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXJrTW9kZUVuYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIENTUyBwcm9wZXJ0eSBhcyBkZWZpbmVkIGJ5IHRoZSBjb25maWcgcHJvdmlkZXIuXG4gICAgICogQHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBDU1MgcHJvcGVydHkuXG4gICAgICovXG4gICAgcHVibGljIGdldENzc1Byb3BlcnR5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jc3NQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgc3RvcmFnZSBrZXkgYXMgZGVmaW5lZCBieSB0aGUgY29uZmlnIHByb3ZpZGVyLlxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgc3RvcmFnZSBrZXkuXG4gICAgICovXG4gICAgcHVibGljIGdldFN0b3JhZ2VLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JhZ2VLZXk7XG4gICAgfVxuICAgIFxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdGhlIGRhcmsgbW9kZSBpbmZvcm1hdGlvbiBmcm9tIGxvY2FsIHN0b3JhZ2UuXG4gICAgICovXG4gICAgcHVibGljIGludmFsaWRhdGVTdG9yYWdlKCk6IHZvaWQge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLl9zdG9yYWdlS2V5KTtcbiAgICB9XG5cbiAgICAvLyAtLT4gUHJpdmF0ZSBtZXRob2RzXG4gICAgcHJpdmF0ZSBpbml0RGFya01vZGUoY29uZmlnOiBEYXJrTW9kZUNvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kYXJrTW9kZUVuYWJsZWQgPSBjb25maWcuZGFya01vZGVFbmFibGVkIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLl9jc3NQcm9wZXJ0eSA9IGNvbmZpZy5jc3NQcm9wZXJ0eSB8fCBDU1NfUFJPUDtcbiAgICAgICAgdGhpcy5fc3RvcmFnZUtleSA9IGNvbmZpZy5zdG9yYWdlS2V5IHx8IFNUT1JBR0VfS0VZO1xuICAgICAgICBpZiAodGhpcy5fZGFya01vZGVFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZURhcmtNb2RlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmluaXRTdG9yZWREYXJrTW9kZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWcuZGV0ZWN0QnJvd3NlclNldHRpbmdzKSB0aGlzLmluaXRCcm93c2VyTW9kZSgpO1xuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIGluaXRTdG9yZWREYXJrTW9kZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBzdHJpbmcgfCBudWxsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fc3RvcmFnZUtleSk7XG4gICAgICAgIGlmIChyZXN1bHQgPT09IFwidHJ1ZVwiKSB0aGlzLmVuYWJsZURhcmtNb2RlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTdG9yZWREYXJrTW9kZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0YTogc3RyaW5nID0gU3RyaW5nKHRoaXMuX2RhcmtNb2RlRW5hYmxlZCk7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuX3N0b3JhZ2VLZXksIGRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGFya01vZGUoYWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2xhc3NMaXN0OiBET01Ub2tlbkxpc3QgPSB0aGlzLl9kb2N1bWVudC5ib2R5LmNsYXNzTGlzdDtcbiAgICAgICAgaWYgKGFjdGlvbiA9PT0gQUREX0FDVElPTikge1xuICAgICAgICAgICAgY2xhc3NMaXN0LmFkZCh0aGlzLl9jc3NQcm9wZXJ0eSk7XG4gICAgICAgICAgICB0aGlzLl9kYXJrTW9kZUVuYWJsZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gUkVNT1ZFX0FDVElPTikge1xuICAgICAgICAgICAgY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9jc3NQcm9wZXJ0eSk7XG4gICAgICAgICAgICB0aGlzLl9kYXJrTW9kZUVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX2RhcmtNb2RlRW5hYmxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0QnJvd3Nlck1vZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh3aW5kb3cubWF0Y2hNZWRpYSAmJiB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpLm1hdGNoZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZW5hYmxlRGFya01vZGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIl19
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { EventEmitter, Inject, Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* A lightweight service that provides scrolling capabilities to your Angular application.
|
|
6
|
-
*/
|
|
7
|
-
export class ScrollService {
|
|
8
|
-
/**
|
|
9
|
-
* Creates a new ScrollService instance.
|
|
10
|
-
* @param _document the reference to the Document singleton.
|
|
11
|
-
*/
|
|
12
|
-
constructor(_document) {
|
|
13
|
-
this._document = _document;
|
|
14
|
-
/**
|
|
15
|
-
* The callback function that is triggered when a scroll operation is performed.
|
|
16
|
-
* @typeParam EventEmitter<Event> the reference to the original scroll event.
|
|
17
|
-
*/
|
|
18
|
-
this.onScroll = new EventEmitter();
|
|
19
|
-
window.addEventListener("scroll", (e) => {
|
|
20
|
-
this.onScroll.next(e);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Scrolls the ancestor containers of the element with the specified selector such that
|
|
25
|
-
* this element is visible to the user.
|
|
26
|
-
* @param selector the selector of the target element.
|
|
27
|
-
* @param arg a boolean value:
|
|
28
|
-
* If true, the top of the element will be aligned to the top of the visible area of the
|
|
29
|
-
* scrollable ancestor.
|
|
30
|
-
* If false, the bottom of the element will be aligned to the bottom of the visible area
|
|
31
|
-
* of the scrollable ancestor.
|
|
32
|
-
* @param arg a dictionary containing the scroll parameters.
|
|
33
|
-
*/
|
|
34
|
-
scrollIntoView(selector, arg) {
|
|
35
|
-
const elm = this._document.querySelector(selector);
|
|
36
|
-
if (elm)
|
|
37
|
-
elm.scrollIntoView(arg);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Scrolls the app viewport to the top of the browser window.
|
|
41
|
-
* @param behavior Specifies whether the scrolling should animate smoothly (smooth),
|
|
42
|
-
* happen instantly in a single jump (instant), or let the browser
|
|
43
|
-
* choose (auto, default).
|
|
44
|
-
*/
|
|
45
|
-
gotoTop(behavior = 'smooth') {
|
|
46
|
-
const options = {
|
|
47
|
-
top: 0,
|
|
48
|
-
behavior: behavior
|
|
49
|
-
};
|
|
50
|
-
this.scroll(options);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Scrolls the app viewport according to the specified options, into the browser window.
|
|
54
|
-
* @param options A dictionary containing the scroll parameters.
|
|
55
|
-
*/
|
|
56
|
-
scroll(options) {
|
|
57
|
-
window.scroll(options);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Scrolls the app viewport to the specified x/y coordinates, into the browser window.
|
|
61
|
-
* @param x the horizontal pixel value that you want to scroll by.
|
|
62
|
-
* @param y the vertical pixel value that you want to scroll by.
|
|
63
|
-
*/
|
|
64
|
-
scrollTo(x, y) {
|
|
65
|
-
window.scrollBy(x, y);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
ScrollService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
-
ScrollService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollService, providedIn: 'root' });
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollService, decorators: [{
|
|
71
|
-
type: Injectable,
|
|
72
|
-
args: [{
|
|
73
|
-
providedIn: 'root'
|
|
74
|
-
}]
|
|
75
|
-
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [DOCUMENT]
|
|
78
|
-
}] }]; } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRvb2xib3gvc3JjL2xpYi9zZXJ2aWNlL3VpL3Njcm9sbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVWpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFRdEI7OztPQUdHO0lBQ0wsWUFBc0MsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQVZ2RDs7O1dBR0c7UUFDVyxhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFPeEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQVEsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxjQUFjLENBQUMsUUFBZ0IsRUFBRSxHQUFpRDtRQUN2RixNQUFNLEdBQUcsR0FBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsSUFBSSxHQUFHO1lBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLENBQUMsV0FBMkIsUUFBUTtRQUNoRCxNQUFNLE9BQU8sR0FBb0I7WUFDL0IsR0FBRyxFQUFFLENBQUM7WUFDTixRQUFRLEVBQUUsUUFBZTtTQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLE9BQXlCO1FBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDbEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7MEdBL0RVLGFBQWEsa0JBWUosUUFBUTs4R0FaakIsYUFBYSxjQUxaLE1BQU07MkZBS1AsYUFBYTtrQkFOekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWdCYyxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFdvcmthcm91bmQgZm9yIHRoZSB0eXBlc2NyaXB0IFNjcm9sbEJlaGF2aW9yIGRlY2xhcmF0aW9uLlxuICovXG5kZWNsYXJlIHR5cGUgU2Nyb2xsQmVoYXZpb3IgPSBcImF1dG9cIiB8IFwiaW5zdGFudFwiIHwgXCJzbW9vdGhcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG4vKipcbiAqIEEgbGlnaHR3ZWlnaHQgc2VydmljZSB0aGF0IHByb3ZpZGVzIHNjcm9sbGluZyBjYXBhYmlsaXRpZXMgdG8geW91ciBBbmd1bGFyIGFwcGxpY2F0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2Nyb2xsU2VydmljZSB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyB0cmlnZ2VyZWQgd2hlbiBhIHNjcm9sbCBvcGVyYXRpb24gaXMgcGVyZm9ybWVkLlxuICAgICAqIEB0eXBlUGFyYW0gRXZlbnRFbWl0dGVyPEV2ZW50PiB0aGUgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBzY3JvbGwgZXZlbnQuXG4gICAgICovXG4gIHB1YmxpYyByZWFkb25seSBvblNjcm9sbDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IFNjcm9sbFNlcnZpY2UgaW5zdGFuY2UuXG4gICAgICogQHBhcmFtIF9kb2N1bWVudCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBEb2N1bWVudCBzaW5nbGV0b24uXG4gICAgICovXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIChlOiBFdmVudCkgPT4ge1xuICAgICAgdGhpcy5vblNjcm9sbC5uZXh0KGUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjcm9sbHMgdGhlIGFuY2VzdG9yIGNvbnRhaW5lcnMgb2YgdGhlIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIHNlbGVjdG9yIHN1Y2ggdGhhdCBcbiAgICogdGhpcyBlbGVtZW50ICBpcyB2aXNpYmxlIHRvIHRoZSB1c2VyLlxuICAgKiBAcGFyYW0gc2VsZWN0b3IgdGhlIHNlbGVjdG9yIG9mIHRoZSB0YXJnZXQgZWxlbWVudC5cbiAgICogQHBhcmFtIGFyZyBhIGJvb2xlYW4gdmFsdWU6XG4gICAqIElmIHRydWUsIHRoZSB0b3Agb2YgdGhlIGVsZW1lbnQgd2lsbCBiZSBhbGlnbmVkIHRvIHRoZSB0b3Agb2YgdGhlIHZpc2libGUgYXJlYSBvZiB0aGVcbiAgICogc2Nyb2xsYWJsZSBhbmNlc3Rvci5cbiAgICogSWYgZmFsc2UsIHRoZSBib3R0b20gb2YgdGhlIGVsZW1lbnQgd2lsbCBiZSBhbGlnbmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHZpc2libGUgYXJlYVxuICAgKiBvZiB0aGUgc2Nyb2xsYWJsZSBhbmNlc3Rvci4gXG4gICAqIEBwYXJhbSBhcmcgYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIHNjcm9sbCBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHVibGljIHNjcm9sbEludG9WaWV3KHNlbGVjdG9yOiBzdHJpbmcsIGFyZz86IGJvb2xlYW4gfCBTY3JvbGxJbnRvVmlld09wdGlvbnMgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBlbG06IEVsZW1lbnQgfCBudWxsID0gdGhpcy5fZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgaWYgKGVsbSkgZWxtLnNjcm9sbEludG9WaWV3KGFyZyk7XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xscyB0aGUgYXBwIHZpZXdwb3J0IHRvIHRoZSB0b3Agb2YgdGhlIGJyb3dzZXIgd2luZG93LlxuICAgKiBAcGFyYW0gYmVoYXZpb3IgU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHNjcm9sbGluZyBzaG91bGQgYW5pbWF0ZSBzbW9vdGhseSAoc21vb3RoKSxcbiAgICogICAgICAgICAgICAgICAgIGhhcHBlbiBpbnN0YW50bHkgaW4gYSBzaW5nbGUganVtcCAoaW5zdGFudCksIG9yIGxldCB0aGUgYnJvd3NlclxuICAgKiAgICAgICAgICAgICAgICAgY2hvb3NlIChhdXRvLCBkZWZhdWx0KS5cbiAgICovXG4gIHB1YmxpYyBnb3RvVG9wKGJlaGF2aW9yOiBTY3JvbGxCZWhhdmlvciA9ICdzbW9vdGgnKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9uczogU2Nyb2xsVG9PcHRpb25zID0ge1xuICAgICAgdG9wOiAwLFxuICAgICAgYmVoYXZpb3I6IGJlaGF2aW9yIGFzIGFueVxuICAgIH07XG4gICAgdGhpcy5zY3JvbGwob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xscyB0aGUgYXBwIHZpZXdwb3J0IGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIG9wdGlvbnMsIGludG8gdGhlIGJyb3dzZXIgd2luZG93LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBIGRpY3Rpb25hcnkgY29udGFpbmluZyB0aGUgc2Nyb2xsIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsKG9wdGlvbnM/OiBTY3JvbGxUb09wdGlvbnMpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Nyb2xsKG9wdGlvbnMpO1xuICB9XG4gIFxuICAvKipcbiAgICogU2Nyb2xscyB0aGUgYXBwIHZpZXdwb3J0IHRvIHRoZSBzcGVjaWZpZWQgeC95IGNvb3JkaW5hdGVzLCBpbnRvIHRoZSBicm93c2VyIHdpbmRvdy5cbiAgICogQHBhcmFtIHggdGhlIGhvcml6b250YWwgcGl4ZWwgdmFsdWUgdGhhdCB5b3Ugd2FudCB0byBzY3JvbGwgYnkuXG4gICAqIEBwYXJhbSB5IHRoZSB2ZXJ0aWNhbCAgcGl4ZWwgdmFsdWUgdGhhdCB5b3Ugd2FudCB0byBzY3JvbGwgYnkuXG4gICAqL1xuICBwdWJsaWMgc2Nyb2xsVG8oeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Nyb2xsQnkoeCwgeSk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/public-api.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of angular-toolbox
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/angular-toolbox.module';
|
|
5
|
-
export * from './lib/pipe';
|
|
6
|
-
export * from './lib/service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdG9vbGJveC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItdG9vbGJveFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdG9vbGJveC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlJztcbiJdfQ==
|