@beacon-interactive-systems-llc/beacon-platform-ui 17.4.0 → 17.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +56 -56
  2. package/assets/icons/icon_Dash.svg +7 -7
  3. package/assets/icons/icon_Slash.svg +7 -7
  4. package/assets/icons/icon_X.svg +7 -7
  5. package/{esm2020 → esm2022}/beacon-interactive-systems-llc-beacon-platform-ui.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/device-detector.service.mjs +77 -77
  7. package/esm2022/lib/network-connection.service.mjs +32 -0
  8. package/{esm2020 → esm2022}/lib/platform-ui.component.mjs +15 -15
  9. package/{esm2020 → esm2022}/lib/platform-ui.module.mjs +21 -21
  10. package/{esm2020 → esm2022}/lib/platform-ui.service.mjs +14 -14
  11. package/{esm2020 → esm2022}/public-api.mjs +6 -6
  12. package/{fesm2015 → fesm2022}/beacon-interactive-systems-llc-beacon-platform-ui.mjs +142 -142
  13. package/fesm2022/beacon-interactive-systems-llc-beacon-platform-ui.mjs.map +1 -0
  14. package/index.d.ts +5 -5
  15. package/lib/device-detector.service.d.ts +11 -11
  16. package/lib/network-connection.service.d.ts +12 -12
  17. package/lib/platform-ui.component.d.ts +8 -8
  18. package/lib/platform-ui.module.d.ts +7 -7
  19. package/lib/platform-ui.service.d.ts +6 -6
  20. package/package.json +5 -11
  21. package/public-api.d.ts +5 -5
  22. package/styles/_bootstrap-tabs.scss +57 -57
  23. package/styles/_buttons.scss +430 -430
  24. package/styles/_calendar.scss +244 -244
  25. package/styles/_checkboxes.scss +53 -53
  26. package/styles/_filters.scss +183 -135
  27. package/styles/_forms.scss +148 -144
  28. package/styles/_keyframes.scss +29 -29
  29. package/styles/_layout.scss +373 -367
  30. package/styles/_leftnav.scss +335 -335
  31. package/styles/_material-drawer.scss +49 -49
  32. package/styles/_material-tabs.scss +115 -107
  33. package/styles/_menus.scss +11 -11
  34. package/styles/_mixins.scss +27 -27
  35. package/styles/_modals.scss +65 -65
  36. package/styles/_ng-select.scss +126 -110
  37. package/styles/_ngx-datepicker.scss +21 -21
  38. package/styles/_notes.scss +35 -35
  39. package/styles/_palette.scss +148 -148
  40. package/styles/_quill.scss +84 -84
  41. package/styles/_tables.scss +282 -265
  42. package/styles/_theming.scss +99 -99
  43. package/styles/_toast.scss +171 -171
  44. package/styles/_typography.scss +134 -132
  45. package/styles/_widgets.scss +240 -240
  46. package/styles/styles.scss +94 -93
  47. package/beacon-interactive-systems-llc-beacon-platform-ui-0.0.14.tgz +0 -0
  48. package/beacon-interactive-systems-llc-beacon-platform-ui.d.ts.map +0 -1
  49. package/esm2020/lib/components/platform-loading-state/platform-loading-state.component.mjs +0 -17
  50. package/esm2020/lib/network-connection.service.mjs +0 -32
  51. package/fesm2015/beacon-interactive-systems-llc-beacon-platform-ui.mjs.map +0 -1
  52. package/fesm2020/beacon-interactive-systems-llc-beacon-platform-ui.mjs +0 -164
  53. package/fesm2020/beacon-interactive-systems-llc-beacon-platform-ui.mjs.map +0 -1
  54. package/lib/components/platform-loading-state/platform-loading-state.component.d.ts +0 -7
  55. package/lib/device-detector.service.d.ts.map +0 -1
  56. package/lib/network-connection.service.d.ts.map +0 -1
  57. package/lib/platform-ui.component.d.ts.map +0 -1
  58. package/lib/platform-ui.module.d.ts.map +0 -1
  59. package/lib/platform-ui.service.d.ts.map +0 -1
  60. package/public-api.d.ts.map +0 -1
  61. package/styles/_darkmode.scss +0 -0
  62. package/styles/_platform-loading-state.scss +0 -32
package/README.md CHANGED
@@ -1,57 +1,57 @@
1
- # Beacon Platform UI
2
-
3
- ### About
4
- This library is intended to define styles for Beacon Platform projects and create useful components that can be shared across apps.
5
-
6
- It also contains style overrides for elements from commonly used dependencies like:
7
-
8
- "@angular/material"
9
- "ngx-bootstrap"
10
- "ngx-infinite-scroll"
11
- "@ng-select/ng-select"
12
- "ngx-mask"
13
- "ngx-quill"
14
- "ngx-toastr"
15
-
16
- ### Using in a Beacon Platform application
17
-
18
- First determine which version of Angular is or will be used in the frontend application.
19
- The MAJOR version of Angular will match 1-to-1 with the Beacon Platform UI, so Angular 18 apps will use Beacon Platform UI version 18, Angular 16 will use Beacon Platform UI version 16, etc.
20
-
21
- Example:
22
- 1. The frontend application will use Angular 17.X.X
23
- 2. The Beacon Platform UI version to use would be v17 and should include the latest minor and patch updates, which can be installed like this:
24
-
25
- ```
26
- $ npm install @beacon-interactive-systems-llc/beacon-platform-ui@^17,
27
- ```
28
- Be sure that core dependencies of the Angular application match those of the Beacon Platform UI.
29
-
30
- Then, add this line to the application `styles.scss`
31
- `@import "@beacon-interactive-systems-llc/beacon-platform-ui/styles/styles.scss";`
32
-
33
- That's it!
34
-
35
- ### Documentation
36
-
37
- The library defines and exports several key dependencies: stylesheets, static assets and shared components
38
-
39
- #### Stylesheets
40
-
41
- Defined in `node_modules\@beacon-interactive-systems-llc\beacon-platform-ui\styles`, these stylesheets are named after the components/dependency/library they affect:
42
-
43
- `_material_drawer.scss` will contain style overrides for the Angular Material `DrawerModule`
44
- `_forms.scss` will contain styling for form inputs, dropdowns
45
- `_theming.scss` will contain important definitions for DEFAULT, DARK and HIGH_CONTRAST modes
46
- etc.
47
-
48
- Any further customization that is required should be done at the component level in the application itself, or, if a global change is warranted a request should be made to Platform UI developers (Nina P, Andy S, Nathan B) so a new patched version can be created and pushed for all apps to use.
49
-
50
- #### Static Assets
51
- Beacon Platform apps will use variations of Roboto fonts, found in `/fonts`
52
- Custom icons (as in, those not added using the Angular Material Icons library) will be added over time to `/icons`
53
-
54
- #### Shared Components
55
- Two useful support components are available in `/lib`
56
- 1. `DeviceDetector` can be used to find important information and device resolution, operating system etc.
1
+ # Beacon Platform UI
2
+
3
+ ### About
4
+ This library is intended to define styles for Beacon Platform projects and create useful components that can be shared across apps.
5
+
6
+ It also contains style overrides for elements from commonly used dependencies like:
7
+
8
+ "@angular/material"
9
+ "ngx-bootstrap"
10
+ "ngx-infinite-scroll"
11
+ "@ng-select/ng-select"
12
+ "ngx-mask"
13
+ "ngx-quill"
14
+ "ngx-toastr"
15
+
16
+ ### Using in a Beacon Platform application
17
+
18
+ First determine which version of Angular is or will be used in the frontend application.
19
+ The MAJOR version of Angular will match 1-to-1 with the Beacon Platform UI, so Angular 18 apps will use Beacon Platform UI version 18, Angular 16 will use Beacon Platform UI version 16, etc.
20
+
21
+ Example:
22
+ 1. The frontend application will use Angular 17.X.X
23
+ 2. The Beacon Platform UI version to use would be v17 and should include the latest minor and patch updates, which can be installed like this:
24
+
25
+ ```
26
+ $ npm install @beacon-interactive-systems-llc/beacon-platform-ui@^17,
27
+ ```
28
+ Be sure that core dependencies of the Angular application match those of the Beacon Platform UI.
29
+
30
+ Then, add this line to the application `styles.scss`
31
+ `@import "@beacon-interactive-systems-llc/beacon-platform-ui/styles/styles.scss";`
32
+
33
+ That's it!
34
+
35
+ ### Documentation
36
+
37
+ The library defines and exports several key dependencies: stylesheets, static assets and shared components
38
+
39
+ #### Stylesheets
40
+
41
+ Defined in `node_modules\@beacon-interactive-systems-llc\beacon-platform-ui\styles`, these stylesheets are named after the components/dependency/library they affect:
42
+
43
+ `_material_drawer.scss` will contain style overrides for the Angular Material `DrawerModule`
44
+ `_forms.scss` will contain styling for form inputs, dropdowns
45
+ `_theming.scss` will contain important definitions for DEFAULT, DARK and HIGH_CONTRAST modes
46
+ etc.
47
+
48
+ Any further customization that is required should be done at the component level in the application itself, or, if a global change is warranted a request should be made to Platform UI developers (Nina P, Andy S, Nathan B) so a new patched version can be created and pushed for all apps to use.
49
+
50
+ #### Static Assets
51
+ Beacon Platform apps will use variations of Roboto fonts, found in `/fonts`
52
+ Custom icons (as in, those not added using the Angular Material Icons library) will be added over time to `/icons`
53
+
54
+ #### Shared Components
55
+ Two useful support components are available in `/lib`
56
+ 1. `DeviceDetector` can be used to find important information and device resolution, operating system etc.
57
57
  2. `NetworkConnectionService` will track changes in the status of the network connection and provide interfaces for `isOnline` and `isOffline`
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" version="1.1">
3
- <g id="surface1">
4
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,60%,98.431373%);fill-opacity:1;" d="M 8 0 C 12.417969 0 16 3.582031 16 8 C 16 12.417969 12.417969 16 8 16 C 3.582031 16 0 12.417969 0 8 C 0 3.582031 3.582031 0 8 0 Z M 8 0 "/>
5
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 2.597656 7.398438 L 13.261719 7.398438 L 13.261719 8.464844 L 2.597656 8.464844 Z M 2.597656 7.398438 "/>
6
- </g>
7
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" version="1.1">
3
+ <g id="surface1">
4
+ <path style=" stroke:none;fill-rule:nonzero;fill:rgb(14.901961%,60%,98.431373%);fill-opacity:1;" d="M 8 0 C 12.417969 0 16 3.582031 16 8 C 16 12.417969 12.417969 16 8 16 C 3.582031 16 0 12.417969 0 8 C 0 3.582031 3.582031 0 8 0 Z M 8 0 "/>
5
+ <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 2.597656 7.398438 L 13.261719 7.398438 L 13.261719 8.464844 L 2.597656 8.464844 Z M 2.597656 7.398438 "/>
6
+ </g>
7
+ </svg>
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" version="1.1">
3
- <g id="surface1">
4
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,84.313725%,0%);fill-opacity:1;" d="M 8 0 C 12.417969 0 16 3.582031 16 8 C 16 12.417969 12.417969 16 8 16 C 3.582031 16 0 12.417969 0 8 C 0 3.582031 3.582031 0 8 0 Z M 8 0 "/>
5
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 3.78125 11.324219 L 11.324219 3.78125 L 12.078125 4.535156 L 4.535156 12.078125 Z M 3.78125 11.324219 "/>
6
- </g>
7
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" version="1.1">
3
+ <g id="surface1">
4
+ <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,84.313725%,0%);fill-opacity:1;" d="M 8 0 C 12.417969 0 16 3.582031 16 8 C 16 12.417969 12.417969 16 8 16 C 3.582031 16 0 12.417969 0 8 C 0 3.582031 3.582031 0 8 0 Z M 8 0 "/>
5
+ <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 3.78125 11.324219 L 11.324219 3.78125 L 12.078125 4.535156 L 4.535156 12.078125 Z M 3.78125 11.324219 "/>
6
+ </g>
7
+ </svg>
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" version="1.1">
3
- <g id="surface1">
4
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(89.019608%,32.156863%,1.960784%);fill-opacity:1;" d="M 16 8 C 16 12.417969 12.417969 16 8 16 C 3.582031 16 0 12.417969 0 8 C 0 3.582031 3.582031 0 8 0 C 12.417969 0 16 3.582031 16 8 Z M 16 8 "/>
5
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 7.929688 8.683594 L 4.535156 12.078125 L 3.78125 11.324219 L 7.175781 7.929688 L 3.78125 4.535156 L 4.535156 3.78125 L 7.929688 7.175781 L 11.324219 3.78125 L 12.078125 4.535156 L 8.683594 7.929688 L 12.078125 11.324219 L 11.324219 12.078125 Z M 7.929688 8.683594 "/>
6
- </g>
7
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16px" height="16px" viewBox="0 0 16 16" version="1.1">
3
+ <g id="surface1">
4
+ <path style=" stroke:none;fill-rule:nonzero;fill:rgb(89.019608%,32.156863%,1.960784%);fill-opacity:1;" d="M 16 8 C 16 12.417969 12.417969 16 8 16 C 3.582031 16 0 12.417969 0 8 C 0 3.582031 3.582031 0 8 0 C 12.417969 0 16 3.582031 16 8 Z M 16 8 "/>
5
+ <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 7.929688 8.683594 L 4.535156 12.078125 L 3.78125 11.324219 L 7.175781 7.929688 L 3.78125 4.535156 L 4.535156 3.78125 L 7.929688 7.175781 L 11.324219 3.78125 L 12.078125 4.535156 L 8.683594 7.929688 L 12.078125 11.324219 L 11.324219 12.078125 Z M 7.929688 8.683594 "/>
6
+ </g>
7
+ </svg>
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhY29uLWludGVyYWN0aXZlLXN5c3RlbXMtbGxjLWJlYWNvbi1wbGF0Zm9ybS11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9iZWFjb24taW50ZXJhY3RpdmUtc3lzdGVtcy1sbGMtYmVhY29uLXBsYXRmb3JtLXVpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,77 +1,77 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- const CUTOFFS = {
4
- mobile: 767,
5
- tablet: 1200
6
- };
7
- export class DeviceDetectorService {
8
- get isMobile() { return window.screen.width <= CUTOFFS.mobile; }
9
- get isTablet() {
10
- return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;
11
- }
12
- // assume desktop is anything > 1200
13
- get isDesktop() { return window.screen.width > CUTOFFS.tablet; }
14
- getBrowser() {
15
- if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) {
16
- return "Chrome";
17
- }
18
- else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) {
19
- return "Opera";
20
- }
21
- else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) {
22
- return "Firefox";
23
- }
24
- else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) {
25
- return "Safari";
26
- }
27
- else if (!!navigator.userAgent.match(/MSIE/)) {
28
- return "IE";
29
- }
30
- else if (!!navigator.userAgent.match(/Edg/)) {
31
- return "Microsoft Edge";
32
- }
33
- else {
34
- return "Unknown";
35
- }
36
- }
37
- getOperatingSystem() {
38
- if (!!navigator.userAgent.match(/Win/)) {
39
- return "Windows OS";
40
- }
41
- else if (!!navigator.userAgent.match(/Mac/)) {
42
- return "MacOS";
43
- }
44
- else if (!!navigator.userAgent.match(/X11/)) {
45
- return "UNIX OS";
46
- }
47
- else if (!!navigator.userAgent.match(/Linux/)) {
48
- return "Linux OS";
49
- }
50
- else {
51
- return "Unknown";
52
- }
53
- }
54
- getDeviceType() {
55
- if (this.isDesktop) {
56
- return "Desktop";
57
- }
58
- else if (this.isMobile) {
59
- return "Mobile";
60
- }
61
- else if (this.isTablet) {
62
- return "Tablet";
63
- }
64
- else {
65
- return "Unknown";
66
- }
67
- }
68
- }
69
- DeviceDetectorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
70
- DeviceDetectorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, providedIn: 'root' });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DeviceDetectorService, decorators: [{
72
- type: Injectable,
73
- args: [{
74
- providedIn: 'root'
75
- }]
76
- }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWRldGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wbGF0Zm9ybS11aS9zcmMvbGliL2RldmljZS1kZXRlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFLRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLElBQUksUUFBUSxLQUFLLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFL0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDdkYsQ0FBQztJQUVGLG9DQUFvQztJQUNwQyxJQUFJLFNBQVMsS0FBSyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRy9ELFVBQVU7UUFDUixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUM7U0FBRTthQUMvRixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO2FBQ25HLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO2FBQ3pHLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLFFBQVEsQ0FBQztTQUFFO2FBQ3BHLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTthQUN6RCxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sZ0JBQWdCLENBQUM7U0FBRTthQUNwRTtZQUFFLE9BQU8sU0FBUyxDQUFBO1NBQUU7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sWUFBWSxDQUFDO1NBQUU7YUFDM0QsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO2FBQzNELElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTthQUM3RCxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLE9BQU8sVUFBVSxDQUFDO1NBQUU7YUFDaEU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTthQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPLFFBQVEsQ0FBQztTQUFFO2FBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU8sUUFBUSxDQUFDO1NBQUU7YUFDdkM7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO0lBQzVCLENBQUM7O21IQWxDVSxxQkFBcUI7dUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jb25zdCBDVVRPRkZTID0ge1xyXG4gIG1vYmlsZTogNzY3LFxyXG4gIHRhYmxldDogMTIwMFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXZpY2VEZXRlY3RvclNlcnZpY2Uge1xyXG4gIGdldCBpc01vYmlsZSgpIHsgcmV0dXJuIHdpbmRvdy5zY3JlZW4ud2lkdGggPD0gQ1VUT0ZGUy5tb2JpbGUgfVxyXG5cclxuICBnZXQgaXNUYWJsZXQoKSB7XHJcbiAgICByZXR1cm4gd2luZG93LnNjcmVlbi53aWR0aCA+PSBDVVRPRkZTLm1vYmlsZSAmJiB3aW5kb3cuc2NyZWVuLndpZHRoIDw9IENVVE9GRlMudGFibGV0O1xyXG4gICB9XHJcblxyXG4gIC8vIGFzc3VtZSBkZXNrdG9wIGlzIGFueXRoaW5nID4gMTIwMFxyXG4gIGdldCBpc0Rlc2t0b3AoKSB7IHJldHVybiB3aW5kb3cuc2NyZWVuLndpZHRoID4gQ1VUT0ZGUy50YWJsZXQgfVxyXG5cclxuXHJcbiAgZ2V0QnJvd3NlcigpIHtcclxuICAgIGlmICghIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0Nocm9tZS8pICYmICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9FZGcvKSkgeyByZXR1cm4gXCJDaHJvbWVcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PcGVyYS8pIHx8ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvT1BSLykpIHsgcmV0dXJuIFwiT3BlcmFcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94LykgJiYgIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1NhZmFyaS8pKSB7IHJldHVybiBcIkZpcmVmb3hcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9TYWZhcmkvKSAmJiAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRWRnLykpIHsgcmV0dXJuIFwiU2FmYXJpXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTVNJRS8pKSB7IHJldHVybiBcIklFXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRWRnLykpIHsgcmV0dXJuIFwiTWljcm9zb2Z0IEVkZ2VcIjsgfVxyXG4gICAgZWxzZSB7IHJldHVybiBcIlVua25vd25cIiB9XHJcbiAgfVxyXG5cclxuICBnZXRPcGVyYXRpbmdTeXN0ZW0oKSB7XHJcbiAgICBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XaW4vKSkgeyByZXR1cm4gXCJXaW5kb3dzIE9TXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTWFjLykpIHsgcmV0dXJuIFwiTWFjT1NcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9YMTEvKSkgeyByZXR1cm4gXCJVTklYIE9TXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTGludXgvKSkgeyByZXR1cm4gXCJMaW51eCBPU1wiOyB9XHJcbiAgICBlbHNlIHsgcmV0dXJuIFwiVW5rbm93blwiOyB9XHJcbiAgfVxyXG5cclxuICBnZXREZXZpY2VUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNEZXNrdG9wKSB7IHJldHVybiBcIkRlc2t0b3BcIjsgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc01vYmlsZSkgeyByZXR1cm4gXCJNb2JpbGVcIjsgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc1RhYmxldCkgeyByZXR1cm4gXCJUYWJsZXRcIjsgfVxyXG4gICAgZWxzZSB7IHJldHVybiBcIlVua25vd25cIjsgfVxyXG4gIH1cclxufSJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const CUTOFFS = {
4
+ mobile: 767,
5
+ tablet: 1200
6
+ };
7
+ export class DeviceDetectorService {
8
+ get isMobile() { return window.screen.width <= CUTOFFS.mobile; }
9
+ get isTablet() {
10
+ return window.screen.width >= CUTOFFS.mobile && window.screen.width <= CUTOFFS.tablet;
11
+ }
12
+ // assume desktop is anything > 1200
13
+ get isDesktop() { return window.screen.width > CUTOFFS.tablet; }
14
+ getBrowser() {
15
+ if (!!navigator.userAgent.match(/Chrome/) && !navigator.userAgent.match(/Edg/)) {
16
+ return "Chrome";
17
+ }
18
+ else if (!!navigator.userAgent.match(/Opera/) || !!navigator.userAgent.match(/OPR/)) {
19
+ return "Opera";
20
+ }
21
+ else if (!!navigator.userAgent.match(/Firefox/) && !navigator.userAgent.match(/Safari/)) {
22
+ return "Firefox";
23
+ }
24
+ else if (!!navigator.userAgent.match(/Safari/) && !navigator.userAgent.match(/Edg/)) {
25
+ return "Safari";
26
+ }
27
+ else if (!!navigator.userAgent.match(/MSIE/)) {
28
+ return "IE";
29
+ }
30
+ else if (!!navigator.userAgent.match(/Edg/)) {
31
+ return "Microsoft Edge";
32
+ }
33
+ else {
34
+ return "Unknown";
35
+ }
36
+ }
37
+ getOperatingSystem() {
38
+ if (!!navigator.userAgent.match(/Win/)) {
39
+ return "Windows OS";
40
+ }
41
+ else if (!!navigator.userAgent.match(/Mac/)) {
42
+ return "MacOS";
43
+ }
44
+ else if (!!navigator.userAgent.match(/X11/)) {
45
+ return "UNIX OS";
46
+ }
47
+ else if (!!navigator.userAgent.match(/Linux/)) {
48
+ return "Linux OS";
49
+ }
50
+ else {
51
+ return "Unknown";
52
+ }
53
+ }
54
+ getDeviceType() {
55
+ if (this.isDesktop) {
56
+ return "Desktop";
57
+ }
58
+ else if (this.isMobile) {
59
+ return "Mobile";
60
+ }
61
+ else if (this.isTablet) {
62
+ return "Tablet";
63
+ }
64
+ else {
65
+ return "Unknown";
66
+ }
67
+ }
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeviceDetectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
69
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeviceDetectorService, providedIn: 'root' });
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DeviceDetectorService, decorators: [{
72
+ type: Injectable,
73
+ args: [{
74
+ providedIn: 'root'
75
+ }]
76
+ }] });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWRldGVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wbGF0Zm9ybS11aS9zcmMvbGliL2RldmljZS1kZXRlY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFLRCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLElBQUksUUFBUSxLQUFLLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFFL0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDdkYsQ0FBQztJQUVGLG9DQUFvQztJQUNwQyxJQUFJLFNBQVMsS0FBSyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUEsQ0FBQyxDQUFDO0lBRy9ELFVBQVU7UUFDUixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUM7U0FBRTthQUMvRixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO2FBQ25HLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO2FBQ3pHLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLFFBQVEsQ0FBQztTQUFFO2FBQ3BHLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTthQUN6RCxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sZ0JBQWdCLENBQUM7U0FBRTthQUNwRTtZQUFFLE9BQU8sU0FBUyxDQUFBO1NBQUU7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLE9BQU8sWUFBWSxDQUFDO1NBQUU7YUFDM0QsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFBRSxPQUFPLE9BQU8sQ0FBQztTQUFFO2FBQzNELElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTthQUM3RCxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUFFLE9BQU8sVUFBVSxDQUFDO1NBQUU7YUFDaEU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO0lBQzVCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUM7U0FBRTthQUNwQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPLFFBQVEsQ0FBQztTQUFFO2FBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLE9BQU8sUUFBUSxDQUFDO1NBQUU7YUFDdkM7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO0lBQzVCLENBQUM7d0dBbENVLHFCQUFxQjs0R0FBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jb25zdCBDVVRPRkZTID0ge1xyXG4gIG1vYmlsZTogNzY3LFxyXG4gIHRhYmxldDogMTIwMFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXZpY2VEZXRlY3RvclNlcnZpY2Uge1xyXG4gIGdldCBpc01vYmlsZSgpIHsgcmV0dXJuIHdpbmRvdy5zY3JlZW4ud2lkdGggPD0gQ1VUT0ZGUy5tb2JpbGUgfVxyXG5cclxuICBnZXQgaXNUYWJsZXQoKSB7XHJcbiAgICByZXR1cm4gd2luZG93LnNjcmVlbi53aWR0aCA+PSBDVVRPRkZTLm1vYmlsZSAmJiB3aW5kb3cuc2NyZWVuLndpZHRoIDw9IENVVE9GRlMudGFibGV0O1xyXG4gICB9XHJcblxyXG4gIC8vIGFzc3VtZSBkZXNrdG9wIGlzIGFueXRoaW5nID4gMTIwMFxyXG4gIGdldCBpc0Rlc2t0b3AoKSB7IHJldHVybiB3aW5kb3cuc2NyZWVuLndpZHRoID4gQ1VUT0ZGUy50YWJsZXQgfVxyXG5cclxuXHJcbiAgZ2V0QnJvd3NlcigpIHtcclxuICAgIGlmICghIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0Nocm9tZS8pICYmICFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9FZGcvKSkgeyByZXR1cm4gXCJDaHJvbWVcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PcGVyYS8pIHx8ICEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvT1BSLykpIHsgcmV0dXJuIFwiT3BlcmFcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94LykgJiYgIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1NhZmFyaS8pKSB7IHJldHVybiBcIkZpcmVmb3hcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9TYWZhcmkvKSAmJiAhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRWRnLykpIHsgcmV0dXJuIFwiU2FmYXJpXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTVNJRS8pKSB7IHJldHVybiBcIklFXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRWRnLykpIHsgcmV0dXJuIFwiTWljcm9zb2Z0IEVkZ2VcIjsgfVxyXG4gICAgZWxzZSB7IHJldHVybiBcIlVua25vd25cIiB9XHJcbiAgfVxyXG5cclxuICBnZXRPcGVyYXRpbmdTeXN0ZW0oKSB7XHJcbiAgICBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XaW4vKSkgeyByZXR1cm4gXCJXaW5kb3dzIE9TXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTWFjLykpIHsgcmV0dXJuIFwiTWFjT1NcIjsgfVxyXG4gICAgZWxzZSBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9YMTEvKSkgeyByZXR1cm4gXCJVTklYIE9TXCI7IH1cclxuICAgIGVsc2UgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvTGludXgvKSkgeyByZXR1cm4gXCJMaW51eCBPU1wiOyB9XHJcbiAgICBlbHNlIHsgcmV0dXJuIFwiVW5rbm93blwiOyB9XHJcbiAgfVxyXG5cclxuICBnZXREZXZpY2VUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNEZXNrdG9wKSB7IHJldHVybiBcIkRlc2t0b3BcIjsgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc01vYmlsZSkgeyByZXR1cm4gXCJNb2JpbGVcIjsgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5pc1RhYmxldCkgeyByZXR1cm4gXCJUYWJsZXRcIjsgfVxyXG4gICAgZWxzZSB7IHJldHVybiBcIlVua25vd25cIjsgfVxyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class NetworkConnectionService {
5
+ constructor() {
6
+ window.addEventListener('online', () => this.updateOnlineStatus());
7
+ window.addEventListener('offline', () => this.updateOnlineStatus());
8
+ }
9
+ networkConnectionChange = new Subject();
10
+ connectionChanged$ = this.networkConnectionChange.asObservable();
11
+ lastOnlineAt = new Date();
12
+ get isOnline() {
13
+ return !!window.navigator.onLine;
14
+ }
15
+ get isOffline() {
16
+ return !this.isOnline;
17
+ }
18
+ updateOnlineStatus() {
19
+ this.networkConnectionChange.next(window.navigator.onLine);
20
+ if (window.navigator.offLine)
21
+ this.lastOnlineAt = new Date();
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NetworkConnectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NetworkConnectionService, providedIn: 'root' });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NetworkConnectionService, decorators: [{
27
+ type: Injectable,
28
+ args: [{
29
+ providedIn: 'root'
30
+ }]
31
+ }], ctorParameters: () => [] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1jb25uZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wbGF0Zm9ybS11aS9zcmMvbGliL25ldHdvcmstY29ubmVjdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPL0IsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQztRQUNFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUNuRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLHVCQUF1QixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFDbEQsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pFLFlBQVksR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBRXZDLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUMvRCxDQUFDO3dHQXJCVSx3QkFBd0I7NEdBQXhCLHdCQUF3QixjQUZ2QixNQUFNOzs0RkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCAoKSA9PiB0aGlzLnVwZGF0ZU9ubGluZVN0YXR1cygpKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgKCkgPT4gdGhpcy51cGRhdGVPbmxpbmVTdGF0dXMoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5ldHdvcmtDb25uZWN0aW9uQ2hhbmdlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgY29ubmVjdGlvbkNoYW5nZWQkID0gdGhpcy5uZXR3b3JrQ29ubmVjdGlvbkNoYW5nZS5hc09ic2VydmFibGUoKTtcclxuICBwdWJsaWMgbGFzdE9ubGluZUF0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgZ2V0IGlzT25saW5lKCkge1xyXG4gICAgcmV0dXJuICEhd2luZG93Lm5hdmlnYXRvci5vbkxpbmU7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNPZmZsaW5lKCkge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzT25saW5lO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVPbmxpbmVTdGF0dXMoKSB7XHJcbiAgICB0aGlzLm5ldHdvcmtDb25uZWN0aW9uQ2hhbmdlLm5leHQod2luZG93Lm5hdmlnYXRvci5vbkxpbmUpO1xyXG4gICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3Iub2ZmTGluZSkgdGhpcy5sYXN0T25saW5lQXQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,22 +1,22 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PlatformUiComponent {
4
- constructor() { }
5
- ngOnInit() {
6
- }
7
- }
8
- PlatformUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- PlatformUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PlatformUiComponent, selector: "lib-platform-ui", ngImport: i0, template: `
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PlatformUiComponent {
4
+ constructor() { }
5
+ ngOnInit() {
6
+ }
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PlatformUiComponent, selector: "lib-platform-ui", ngImport: i0, template: `
10
9
  <p>
11
10
  platform-ui works!
12
11
  </p>
13
- `, isInline: true });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiComponent, decorators: [{
15
- type: Component,
12
+ `, isInline: true });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiComponent, decorators: [{
15
+ type: Component,
16
16
  args: [{ selector: 'lib-platform-ui', template: `
17
17
  <p>
18
18
  platform-ui works!
19
19
  </p>
20
- ` }]
21
- }], ctorParameters: function () { return []; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0tdWkvc3JjL2xpYi9wbGF0Zm9ybS11aS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7aUhBTFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsdURBUnBCOzs7O0dBSVQ7NEZBSVUsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGlCQUFpQixZQUNqQjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBsYXRmb3JtLXVpJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIHBsYXRmb3JtLXVpIHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
20
+ ` }]
21
+ }], ctorParameters: () => [] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0tdWkvc3JjL2xpYi9wbGF0Zm9ybS11aS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzt3R0FMVSxtQkFBbUI7NEZBQW5CLG1CQUFtQix1REFScEI7Ozs7R0FJVDs7NEZBSVUsbUJBQW1CO2tCQVYvQixTQUFTOytCQUNFLGlCQUFpQixZQUNqQjs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXBsYXRmb3JtLXVpJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIHBsYXRmb3JtLXVpIHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhdGZvcm1VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,21 +1,21 @@
1
- import { NgModule } from '@angular/core';
2
- import { PlatformUiComponent } from './platform-ui.component';
3
- import * as i0 from "@angular/core";
4
- export class PlatformUiModule {
5
- }
6
- PlatformUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- PlatformUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, declarations: [PlatformUiComponent], exports: [PlatformUiComponent] });
8
- PlatformUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- declarations: [
13
- PlatformUiComponent
14
- ],
15
- imports: [],
16
- exports: [
17
- PlatformUiComponent
18
- ]
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0tdWkvc3JjL2xpYi9wbGF0Zm9ybS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFjOUQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVJ6QixtQkFBbUIsYUFLbkIsbUJBQW1COytHQUdWLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGxhdGZvcm1VaUNvbXBvbmVudCB9IGZyb20gJy4vcGxhdGZvcm0tdWkuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBsYXRmb3JtVWlDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBsYXRmb3JtVWlDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVVpTW9kdWxlIHsgfVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { PlatformUiComponent } from './platform-ui.component';
3
+ import * as i0 from "@angular/core";
4
+ export class PlatformUiModule {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiModule, declarations: [PlatformUiComponent], exports: [PlatformUiComponent] });
7
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiModule });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ declarations: [
13
+ PlatformUiComponent
14
+ ],
15
+ imports: [],
16
+ exports: [
17
+ PlatformUiComponent
18
+ ]
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGxhdGZvcm0tdWkvc3JjL2xpYi9wbGF0Zm9ybS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFjOUQsTUFBTSxPQUFPLGdCQUFnQjt3R0FBaEIsZ0JBQWdCO3lHQUFoQixnQkFBZ0IsaUJBUnpCLG1CQUFtQixhQUtuQixtQkFBbUI7eUdBR1YsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQVY1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxFQUNSO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGxhdGZvcm1VaUNvbXBvbmVudCB9IGZyb20gJy4vcGxhdGZvcm0tdWkuY29tcG9uZW50JztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFBsYXRmb3JtVWlDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFBsYXRmb3JtVWlDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVVpTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,14 +1,14 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PlatformUiService {
4
- constructor() { }
5
- }
6
- PlatformUiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
- PlatformUiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, providedIn: 'root' });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PlatformUiService, decorators: [{
9
- type: Injectable,
10
- args: [{
11
- providedIn: 'root'
12
- }]
13
- }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9saWIvcGxhdGZvcm0tdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLGdCQUFnQixDQUFDOzsrR0FGTixpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVVpU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PlatformUiService {
4
+ constructor() { }
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiService, providedIn: 'root' });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PlatformUiService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }], ctorParameters: () => [] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9saWIvcGxhdGZvcm0tdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLGdCQUFnQixDQUFDO3dHQUZOLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybVVpU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
- export * from './lib/network-connection.service';
2
- export * from './lib/device-detector.service';
3
- // defaults
4
- export * from './lib/platform-ui.service';
5
- export * from './lib/platform-ui.component';
6
- export * from './lib/platform-ui.module';
1
+ export * from './lib/network-connection.service';
2
+ export * from './lib/device-detector.service';
3
+ // defaults
4
+ export * from './lib/platform-ui.service';
5
+ export * from './lib/platform-ui.component';
6
+ export * from './lib/platform-ui.module';
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BsYXRmb3JtLXVpL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxXQUFXO0FBQ1gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9uZXR3b3JrLWNvbm5lY3Rpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RldmljZS1kZXRlY3Rvci5zZXJ2aWNlJztcclxuXHJcbi8vIGRlZmF1bHRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYXRmb3JtLXVpLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGF0Zm9ybS11aS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbGF0Zm9ybS11aS5tb2R1bGUnO1xyXG4iXX0=