@mxtommy/kip 3.0.0-beta.2 → 3.0.0-beta.21

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 (168) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/README.md +4 -3
  3. package/package.json +17 -17
  4. package/public/3rdpartylicenses.txt +164 -38
  5. package/public/app.component.css.map +7 -0
  6. package/public/assets/hammer.min.js +7 -0
  7. package/public/assets/svg/icons.svg +164 -0
  8. package/public/boolean-control-config.component.css.map +7 -0
  9. package/public/boolean-multicontrol-options.component.css.map +7 -0
  10. package/public/config.component.css.map +7 -0
  11. package/public/dashboard-scroller.component.css.map +7 -0
  12. package/public/dashboard.component.css.map +7 -0
  13. package/public/dashboards-editor.component.css.map +7 -0
  14. package/public/data-browser-row.component.css.map +7 -0
  15. package/public/data-browser.component.css.map +7 -0
  16. package/public/datasets.component.css.map +7 -0
  17. package/public/dialog-confirmation.component.css.map +7 -0
  18. package/public/dialog-frame.component.css.map +7 -0
  19. package/public/dialog-name.component.css.map +7 -0
  20. package/public/display-chart-options.component.css.map +7 -0
  21. package/public/display.component.css.map +7 -0
  22. package/public/gauge-steel.component.css.map +7 -0
  23. package/public/index.html +64 -0
  24. package/public/main.js +150469 -0
  25. package/public/main.js.map +1 -0
  26. package/public/media/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2 +0 -0
  27. package/public/media/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2 +0 -0
  28. package/public/media/KFOlCnqEu92Fr1MmEU9fBxc4AMP6lbBP.woff2 +0 -0
  29. package/public/media/KFOlCnqEu92Fr1MmEU9fCBc4AMP6lbBP.woff2 +0 -0
  30. package/public/media/KFOlCnqEu92Fr1MmEU9fCRc4AMP6lbBP.woff2 +0 -0
  31. package/public/media/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2 +0 -0
  32. package/public/media/KFOlCnqEu92Fr1MmEU9fCxc4AMP6lbBP.woff2 +0 -0
  33. package/public/media/KFOlCnqEu92Fr1MmSU5fABc4AMP6lbBP.woff2 +0 -0
  34. package/public/media/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2 +0 -0
  35. package/public/media/KFOlCnqEu92Fr1MmSU5fBxc4AMP6lbBP.woff2 +0 -0
  36. package/public/media/KFOlCnqEu92Fr1MmSU5fCBc4AMP6lbBP.woff2 +0 -0
  37. package/public/media/KFOlCnqEu92Fr1MmSU5fCRc4AMP6lbBP.woff2 +0 -0
  38. package/public/media/KFOlCnqEu92Fr1MmSU5fChc4AMP6lbBP.woff2 +0 -0
  39. package/public/media/KFOlCnqEu92Fr1MmSU5fCxc4AMP6lbBP.woff2 +0 -0
  40. package/public/media/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2 +0 -0
  41. package/public/media/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2 +0 -0
  42. package/public/media/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2 +0 -0
  43. package/public/media/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2 +0 -0
  44. package/public/media/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2 +0 -0
  45. package/public/media/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2 +0 -0
  46. package/public/media/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2 +0 -0
  47. package/public/media/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 +0 -0
  48. package/public/media/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsLjBuVY.woff2 +0 -0
  49. package/public/menu-actions.component.css.map +7 -0
  50. package/public/menu-notifications.component.css.map +7 -0
  51. package/public/modal-user-credential.component.css.map +7 -0
  52. package/public/modal-widget-config.component.css.map +7 -0
  53. package/public/page-header.component.css.map +7 -0
  54. package/public/path-control-config.component.css.map +7 -0
  55. package/public/polyfills.js +4519 -0
  56. package/public/polyfills.js.map +1 -0
  57. package/public/settings.component.css.map +7 -0
  58. package/public/signalk.component.css.map +7 -0
  59. package/public/styles.css +2613 -0
  60. package/public/styles.css.map +7 -0
  61. package/public/svg-simple-linear-gauge.component.css.map +7 -0
  62. package/public/svg-wind.component.css.map +7 -0
  63. package/public/tile-large-icon.component.css.map +7 -0
  64. package/public/units.component.css.map +7 -0
  65. package/public/widget-autopilot.component.css.map +7 -0
  66. package/public/widget-boolean-switch.component.css.map +7 -0
  67. package/public/widget-datetime.component.css.map +7 -0
  68. package/public/widget-freeboardsk.component.css.map +7 -0
  69. package/public/widget-gauge-ng-compass.component.css.map +7 -0
  70. package/public/widget-gauge-ng-linear.component.css.map +7 -0
  71. package/public/widget-gauge-ng-radial.component.css.map +7 -0
  72. package/public/widget-gauge-steel.component.css.map +7 -0
  73. package/public/widget-host.component.css.map +7 -0
  74. package/public/widget-iframe.component.css.map +7 -0
  75. package/public/widget-list-card.component.css.map +7 -0
  76. package/public/widget-numeric.component.css.map +7 -0
  77. package/public/widget-race-timer.component.css.map +7 -0
  78. package/public/widget-simple-linear.component.css.map +7 -0
  79. package/public/widget-text.component.css.map +7 -0
  80. package/public/widgets-list.component.css.map +7 -0
  81. package/public/browser/assets/google-fonts/material-icons.scss +0 -23
  82. package/public/browser/assets/google-fonts/material-symbols-outlined.scss +0 -23
  83. package/public/browser/assets/google-fonts/roboto.scss +0 -189
  84. package/public/browser/index.html +0 -64
  85. package/public/browser/main-EKKAVNOS.js +0 -32
  86. package/public/browser/polyfills-2MSMW7FV.js +0 -2
  87. package/public/browser/styles-YNTG6OHW.css +0 -1
  88. /package/public/{browser/assets → assets}/NoSleep.min.js +0 -0
  89. /package/public/{browser/assets → assets}/alarm.mp3 +0 -0
  90. /package/public/{browser/assets → assets}/alert.mp3 +0 -0
  91. /package/public/{browser/assets → assets}/alertl.old.mp3 +0 -0
  92. /package/public/{browser/assets → assets}/apple-icon-180.png +0 -0
  93. /package/public/{browser/assets → assets}/apple-splash-1125-2436.jpg +0 -0
  94. /package/public/{browser/assets → assets}/apple-splash-1136-640.jpg +0 -0
  95. /package/public/{browser/assets → assets}/apple-splash-1170-2532.jpg +0 -0
  96. /package/public/{browser/assets → assets}/apple-splash-1179-2556.jpg +0 -0
  97. /package/public/{browser/assets → assets}/apple-splash-1242-2208.jpg +0 -0
  98. /package/public/{browser/assets → assets}/apple-splash-1242-2688.jpg +0 -0
  99. /package/public/{browser/assets → assets}/apple-splash-1284-2778.jpg +0 -0
  100. /package/public/{browser/assets → assets}/apple-splash-1290-2796.jpg +0 -0
  101. /package/public/{browser/assets → assets}/apple-splash-1334-750.jpg +0 -0
  102. /package/public/{browser/assets → assets}/apple-splash-1536-2048.jpg +0 -0
  103. /package/public/{browser/assets → assets}/apple-splash-1620-2160.jpg +0 -0
  104. /package/public/{browser/assets → assets}/apple-splash-1668-2224.jpg +0 -0
  105. /package/public/{browser/assets → assets}/apple-splash-1668-2388.jpg +0 -0
  106. /package/public/{browser/assets → assets}/apple-splash-1792-828.jpg +0 -0
  107. /package/public/{browser/assets → assets}/apple-splash-2048-1536.jpg +0 -0
  108. /package/public/{browser/assets → assets}/apple-splash-2048-2732.jpg +0 -0
  109. /package/public/{browser/assets → assets}/apple-splash-2160-1620.jpg +0 -0
  110. /package/public/{browser/assets → assets}/apple-splash-2208-1242.jpg +0 -0
  111. /package/public/{browser/assets → assets}/apple-splash-2224-1668.jpg +0 -0
  112. /package/public/{browser/assets → assets}/apple-splash-2388-1668.jpg +0 -0
  113. /package/public/{browser/assets → assets}/apple-splash-2436-1125.jpg +0 -0
  114. /package/public/{browser/assets → assets}/apple-splash-2532-1170.jpg +0 -0
  115. /package/public/{browser/assets → assets}/apple-splash-2556-1179.jpg +0 -0
  116. /package/public/{browser/assets → assets}/apple-splash-2688-1242.jpg +0 -0
  117. /package/public/{browser/assets → assets}/apple-splash-2732-2048.jpg +0 -0
  118. /package/public/{browser/assets → assets}/apple-splash-2778-1284.jpg +0 -0
  119. /package/public/{browser/assets → assets}/apple-splash-2796-1290.jpg +0 -0
  120. /package/public/{browser/assets → assets}/apple-splash-640-1136.jpg +0 -0
  121. /package/public/{browser/assets → assets}/apple-splash-750-1334.jpg +0 -0
  122. /package/public/{browser/assets → assets}/apple-splash-828-1792.jpg +0 -0
  123. /package/public/{browser/assets → assets}/apple-touch-icon.png +0 -0
  124. /package/public/{browser/assets → assets}/emergency.mp3 +0 -0
  125. /package/public/{browser/assets → assets}/favicon-16x16.png +0 -0
  126. /package/public/{browser/assets → assets}/favicon-32x32.png +0 -0
  127. /package/public/{browser/assets → assets}/favicon.ico +0 -0
  128. /package/public/{browser/assets → assets}/favicon.png +0 -0
  129. /package/public/{browser/assets → assets}/favicon.svg +0 -0
  130. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2 +0 -0
  131. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2 +0 -0
  132. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fBxc4AMP6lbBP.woff2 +0 -0
  133. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fCBc4AMP6lbBP.woff2 +0 -0
  134. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fCRc4AMP6lbBP.woff2 +0 -0
  135. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2 +0 -0
  136. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmEU9fCxc4AMP6lbBP.woff2 +0 -0
  137. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fABc4AMP6lbBP.woff2 +0 -0
  138. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2 +0 -0
  139. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fBxc4AMP6lbBP.woff2 +0 -0
  140. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fCBc4AMP6lbBP.woff2 +0 -0
  141. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fCRc4AMP6lbBP.woff2 +0 -0
  142. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fChc4AMP6lbBP.woff2 +0 -0
  143. /package/public/{browser/assets → assets}/google-fonts/KFOlCnqEu92Fr1MmSU5fCxc4AMP6lbBP.woff2 +0 -0
  144. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2 +0 -0
  145. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2 +0 -0
  146. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2 +0 -0
  147. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2 +0 -0
  148. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2 +0 -0
  149. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2 +0 -0
  150. /package/public/{browser/assets → assets}/google-fonts/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2 +0 -0
  151. /package/public/{browser/assets → assets}/google-fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2 +0 -0
  152. /package/public/{browser/assets → assets}/google-fonts/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsLjBuVY.woff2 +0 -0
  153. /package/public/{browser/assets → assets}/icon-192x192.png +0 -0
  154. /package/public/{browser/assets → assets}/icon-256x256.png +0 -0
  155. /package/public/{browser/assets → assets}/icon-384x384.png +0 -0
  156. /package/public/{browser/assets → assets}/icon-512x512.png +0 -0
  157. /package/public/{browser/assets → assets}/icon-64x64.png +0 -0
  158. /package/public/{browser/assets → assets}/icon-72x72.png +0 -0
  159. /package/public/{browser/assets → assets}/manifest-icon-192.maskable.png +0 -0
  160. /package/public/{browser/assets → assets}/manifest-icon-512.maskable.png +0 -0
  161. /package/public/{browser/assets → assets}/notification.mp3 +0 -0
  162. /package/public/{browser/assets → assets}/screenshot-540x720.png +0 -0
  163. /package/public/{browser/assets → assets}/screenshot-720x540.png +0 -0
  164. /package/public/{browser/assets → assets}/steelseries-min.js +0 -0
  165. /package/public/{browser/assets → assets}/steelseries-min.js.map +0 -0
  166. /package/public/{browser/assets → assets}/tween-min.js +0 -0
  167. /package/public/{browser/assets → assets}/warn.mp3 +0 -0
  168. /package/public/{browser/manifest.json → manifest.json} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,11 +1,42 @@
1
+ # V 2.12.3
2
+ ## Fixes
3
+ * Linear widget "No Progress" color option missing.
4
+ * Data Browser source and value not displayed.
5
+ * Processing of combined values and meta delta updates. Fixes #453
6
+ # V 2.12.2
7
+ ## Improvements
8
+ * Makes Radial and Linear gauge highlights width configurable by @jaredjensen
9
+ ## Fixes
10
+ * Metadata not being available on initial load by @jaredjensen
11
+ # V 2.12.1
12
+ ## Fixes
13
+ * Numeric widget using seconds value not converting to HH:MM:SS format. Fixes #438
14
+ # V 2.12.0
15
+ ## New features
16
+ * Add Kilo Pascal (kPa) format to Pressure units.
17
+ * Add Resistance Unit with Ohm (ohm) and Kilo Ohm ((kiloohm)) formats.
18
+ # V 2.11.1
19
+ ## Fixes
20
+ * Path not available in numeric Widget Options when first emitted value is null. Fixes #408
21
+ * Linear & Radial Steel Style gauge support for decimal places. Fixes #433
22
+ # V 2.11.0
23
+ ## New features
24
+ * Autopilot invert rudder angle support and matching Display tab widget Option
25
+ # V 2.10.1
26
+ ## Fixes
27
+ * Values jumping between sources. Fixes #420
1
28
  # V 2.10.0
29
+ ## BREAKING CHANGE
30
+ * Requires Signal K v2.8+
31
+ * Retired existing KIP zones in favor of Signal K metadata defined zones.
32
+ * Radial and linear gauge scale min/max range configuration discarded. Reconfiguration using new Scale Start/Scale End required.
2
33
  ## New features
3
34
  * Boolean Control Panel Widget: Support for numeric paths (0/1 PUT values)
4
35
  * New Compass Gauge Widget with support for rad units using negative to port values. Compass needle or faceplate rotation support
5
36
  * Signal K Metadata support for Zones configuration, Display Name and Display Scale. IMPORTANT: Exiting gauges Min Value & Max Value setting will be lost on upgrade and require manual configuration of new Scale Start and Scale End Widget Options.
6
37
  * Ability to filter Widget Option's path selection list based on Signal K Units type
7
38
  ## Improvements
8
- * Linear Gauge Widget support for tick bar numbers improving readability
39
+ * Linear Gauge Widget support for autoscaling and tick bar numbers improving readability
9
40
  * Refactoring of Signal K Notification support with improved integration. Includes Notification options to Silence and Clear messages on the server. Also fixes existing ghost messages issue and normal state notifications that generated unwarranted prompts.
10
41
  ## Fixes
11
42
  * Chromium browser side scrollbar always visible
package/README.md CHANGED
@@ -16,7 +16,7 @@ The idea is to replicate the functionality of MFDs such as the B&G Triton, Rayma
16
16
 
17
17
  # Features
18
18
  ## Access from Phones, Tablets, Raspberry Pi and Computers
19
- Simply navigate to `http://<Signal K Server URL>:<port>/@mxtommy/kip` to load KIP and enjoy it's features remotely on any device.
19
+ Once installed on the Signal K server, simply navigate to `http://<Signal K Server URL>:<port>/@mxtommy/kip` to load KIP and enjoy it's features remotely on any device.
20
20
 
21
21
  ### Responsive Design
22
22
  KIP adjusts to the device type and form factor for the best possible user experience.
@@ -55,7 +55,7 @@ KIP is now installed and available on your home screen
55
55
  Easy basic widget configuration.
56
56
  ![Gauges Configuration Image](./images/KipConfig-display-1024x488.png)
57
57
 
58
- See what Signal K has to offer that you can leverage with widgets. Select it and tweak the display options your your purpose.
58
+ See what Signal K has to offer that you can leverage with widgets. Select it and tweak the display options to your purpose.
59
59
  ![Paths Configuration Image](./images/KipWidgetConfig-paths-1024x488.png)
60
60
 
61
61
  Many units are supported. Choose your preferred App defaults, than tweak it widget-by-widget as necessary. KIP will automatically convert the units for you.
@@ -70,7 +70,8 @@ KIP is now installed and available on your home screen
70
70
 
71
71
  - Linear gauge: Visually display any numerical data on a vertically or horizontally scale - Tank and reservoir levels, battery remaining capacity, etc.
72
72
  - Linear electrical gauge: A visual display for electrical numerical data - chargers, MPPT, shunt, etc.
73
- - Radial gauge: Visually display any numerical data on a radial scale - heading, compass, Speed, etc.
73
+ - Radial gauge: Visually display any numerical data on a radial scale - Boat Speed,Eond Speed, engine RPM,etc.
74
+ - Compass gauge: A card or marine compass to display directionnal data such as heading, bearing to next waypoint, wind angle, etc.
74
75
  - Radial and linear Steel gauge: Old school look & fell gauges.
75
76
 
76
77
  - Wind Steering Display: Your typical sailboat wind gauge.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.0.0-beta.21",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -45,22 +45,22 @@
45
45
  "e2e": "ng e2e"
46
46
  },
47
47
  "devDependencies": {
48
- "@angular-devkit/build-angular": "^18.2.1",
49
- "@angular/animations": "18.2.0",
50
- "@angular/cdk": "^18.2.0",
51
- "@angular/cli": "^18.2.1",
52
- "@angular/common": "18.2.0",
53
- "@angular/compiler": "18.2.0",
54
- "@angular/compiler-cli": "18.2.0",
55
- "@angular/core": "18.2.0",
56
- "@angular/forms": "18.2.0",
57
- "@angular/language-service": "18.2.0",
58
- "@angular/material": "^18.2.0",
59
- "@angular/platform-browser": "18.2.0",
60
- "@angular/platform-browser-dynamic": "18.2.0",
61
- "@angular/router": "18.2.0",
48
+ "@angular-devkit/build-angular": "^18.2.11",
49
+ "@angular/animations": "18.2.11",
50
+ "@angular/cdk": "^18.2.12",
51
+ "@angular/cli": "^18.2.11",
52
+ "@angular/common": "18.2.11",
53
+ "@angular/compiler": "18.2.11",
54
+ "@angular/compiler-cli": "18.2.11",
55
+ "@angular/core": "18.2.11",
56
+ "@angular/forms": "18.2.11",
57
+ "@angular/language-service": "18.2.11",
58
+ "@angular/material": "^18.2.12",
59
+ "@angular/platform-browser": "18.2.11",
60
+ "@angular/platform-browser-dynamic": "18.2.11",
61
+ "@angular/router": "18.2.11",
62
62
  "@godind/ng-canvas-gauges": "^6.2.1",
63
- "@material/material-color-utilities": "^0.2.7",
63
+ "@material/material-color-utilities": "^0.3.0",
64
64
  "@robloche/chartjs-plugin-streaming": "^3.1.0",
65
65
  "@types/canvas-gauges": "^2.1.8",
66
66
  "@types/hammerjs": "^2.0.45",
@@ -70,7 +70,6 @@
70
70
  "@types/js-quantities": "^1.6.4",
71
71
  "@types/lodash-es": "^4.17.9",
72
72
  "@types/node": "^18.19.30",
73
- "gridstack": "^10.3.1",
74
73
  "chart.js": "^4.4.2",
75
74
  "chartjs-adapter-date-fns": "^3.0.0",
76
75
  "chartjs-plugin-annotation": "^3.0.1",
@@ -78,6 +77,7 @@
78
77
  "compare-versions": "^5.0.1",
79
78
  "core-js": "^3.13.1",
80
79
  "date-fns": "^2.30.0",
80
+ "gridstack": "^11.4.0",
81
81
  "hammerjs": "^2.0.8",
82
82
  "howler": "^2.2.4",
83
83
  "jasmine-core": "~4.0.1",
@@ -105,6 +105,27 @@ THE SOFTWARE.
105
105
  Package: @angular/core
106
106
  License: "MIT"
107
107
 
108
+ The MIT License
109
+
110
+ Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
111
+
112
+ Permission is hereby granted, free of charge, to any person obtaining a copy
113
+ of this software and associated documentation files (the "Software"), to deal
114
+ in the Software without restriction, including without limitation the rights
115
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
116
+ copies of the Software, and to permit persons to whom the Software is
117
+ furnished to do so, subject to the following conditions:
118
+
119
+ The above copyright notice and this permission notice shall be included in
120
+ all copies or substantial portions of the Software.
121
+
122
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
123
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
124
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
125
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
126
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
127
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
128
+ THE SOFTWARE.
108
129
 
109
130
  --------------------------------------------------------------------------------
110
131
  Package: rxjs
@@ -359,6 +380,27 @@ THE SOFTWARE.
359
380
  Package: @angular/common
360
381
  License: "MIT"
361
382
 
383
+ The MIT License
384
+
385
+ Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
386
+
387
+ Permission is hereby granted, free of charge, to any person obtaining a copy
388
+ of this software and associated documentation files (the "Software"), to deal
389
+ in the Software without restriction, including without limitation the rights
390
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
391
+ copies of the Software, and to permit persons to whom the Software is
392
+ furnished to do so, subject to the following conditions:
393
+
394
+ The above copyright notice and this permission notice shall be included in
395
+ all copies or substantial portions of the Software.
396
+
397
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
398
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
399
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
400
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
401
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
402
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
403
+ THE SOFTWARE.
362
404
 
363
405
  --------------------------------------------------------------------------------
364
406
  Package: @angular/material
@@ -390,6 +432,27 @@ THE SOFTWARE.
390
432
  Package: @angular/animations
391
433
  License: "MIT"
392
434
 
435
+ The MIT License
436
+
437
+ Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
438
+
439
+ Permission is hereby granted, free of charge, to any person obtaining a copy
440
+ of this software and associated documentation files (the "Software"), to deal
441
+ in the Software without restriction, including without limitation the rights
442
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
443
+ copies of the Software, and to permit persons to whom the Software is
444
+ furnished to do so, subject to the following conditions:
445
+
446
+ The above copyright notice and this permission notice shall be included in
447
+ all copies or substantial portions of the Software.
448
+
449
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
450
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
451
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
452
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
453
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
454
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
455
+ THE SOFTWARE.
393
456
 
394
457
  --------------------------------------------------------------------------------
395
458
  Package: lodash-es
@@ -473,16 +536,79 @@ SOFTWARE.
473
536
  Package: @angular/platform-browser
474
537
  License: "MIT"
475
538
 
539
+ The MIT License
540
+
541
+ Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
542
+
543
+ Permission is hereby granted, free of charge, to any person obtaining a copy
544
+ of this software and associated documentation files (the "Software"), to deal
545
+ in the Software without restriction, including without limitation the rights
546
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
547
+ copies of the Software, and to permit persons to whom the Software is
548
+ furnished to do so, subject to the following conditions:
549
+
550
+ The above copyright notice and this permission notice shall be included in
551
+ all copies or substantial portions of the Software.
552
+
553
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
554
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
555
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
556
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
557
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
558
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
559
+ THE SOFTWARE.
476
560
 
477
561
  --------------------------------------------------------------------------------
478
562
  Package: @angular/router
479
563
  License: "MIT"
480
564
 
565
+ The MIT License
566
+
567
+ Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
568
+
569
+ Permission is hereby granted, free of charge, to any person obtaining a copy
570
+ of this software and associated documentation files (the "Software"), to deal
571
+ in the Software without restriction, including without limitation the rights
572
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
573
+ copies of the Software, and to permit persons to whom the Software is
574
+ furnished to do so, subject to the following conditions:
575
+
576
+ The above copyright notice and this permission notice shall be included in
577
+ all copies or substantial portions of the Software.
578
+
579
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
580
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
581
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
582
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
583
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
584
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
585
+ THE SOFTWARE.
481
586
 
482
587
  --------------------------------------------------------------------------------
483
588
  Package: @angular/forms
484
589
  License: "MIT"
485
590
 
591
+ The MIT License
592
+
593
+ Copyright (c) 2010-2024 Google LLC. https://angular.dev/license
594
+
595
+ Permission is hereby granted, free of charge, to any person obtaining a copy
596
+ of this software and associated documentation files (the "Software"), to deal
597
+ in the Software without restriction, including without limitation the rights
598
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
599
+ copies of the Software, and to permit persons to whom the Software is
600
+ furnished to do so, subject to the following conditions:
601
+
602
+ The above copyright notice and this permission notice shall be included in
603
+ all copies or substantial portions of the Software.
604
+
605
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
606
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
607
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
608
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
609
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
610
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
611
+ THE SOFTWARE.
486
612
 
487
613
  --------------------------------------------------------------------------------
488
614
  Package: gridstack
@@ -510,6 +636,30 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
510
636
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
511
637
  SOFTWARE.
512
638
 
639
+ --------------------------------------------------------------------------------
640
+ Package: ngx-resize-observer
641
+ License: "MIT"
642
+
643
+ Copyright (c) 2017 Tyler Akins
644
+
645
+ Permission is hereby granted, free of charge, to any person obtaining a copy
646
+ of this software and associated documentation files (the "Software"), to deal
647
+ in the Software without restriction, including without limitation the rights
648
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
649
+ copies of the Software, and to permit persons to whom the Software is
650
+ furnished to do so, subject to the following conditions:
651
+
652
+ The above copyright notice and this permission notice shall be included in all
653
+ copies or substantial portions of the Software.
654
+
655
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
656
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
657
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
658
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
659
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
660
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
661
+ SOFTWARE.
662
+
513
663
  --------------------------------------------------------------------------------
514
664
  Package: @kurkle/color
515
665
  License: "MIT"
@@ -538,6 +688,20 @@ The above copyright notice and this permission notice shall be included in all c
538
688
 
539
689
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
540
690
 
691
+ --------------------------------------------------------------------------------
692
+ Package: chartjs-plugin-annotation
693
+ License: "MIT"
694
+
695
+ The MIT License (MIT)
696
+
697
+ Copyright (c) 2016-2021 chartjs-plugin-annotation Contributors
698
+
699
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
700
+
701
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
702
+
703
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
704
+
541
705
  --------------------------------------------------------------------------------
542
706
  Package: @babel/runtime
543
707
  License: "MIT"
@@ -605,44 +769,6 @@ The above copyright notice and this permission notice shall be included in all c
605
769
 
606
770
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
607
771
 
608
- --------------------------------------------------------------------------------
609
- Package: ngx-resize-observer
610
- License: "MIT"
611
-
612
- Copyright (c) 2017 Tyler Akins
613
-
614
- Permission is hereby granted, free of charge, to any person obtaining a copy
615
- of this software and associated documentation files (the "Software"), to deal
616
- in the Software without restriction, including without limitation the rights
617
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
618
- copies of the Software, and to permit persons to whom the Software is
619
- furnished to do so, subject to the following conditions:
620
-
621
- The above copyright notice and this permission notice shall be included in all
622
- copies or substantial portions of the Software.
623
-
624
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
625
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
626
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
627
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
628
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
629
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
630
- SOFTWARE.
631
-
632
- --------------------------------------------------------------------------------
633
- Package: chartjs-plugin-annotation
634
- License: "MIT"
635
-
636
- The MIT License (MIT)
637
-
638
- Copyright (c) 2016-2021 chartjs-plugin-annotation Contributors
639
-
640
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
641
-
642
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
643
-
644
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
645
-
646
772
  --------------------------------------------------------------------------------
647
773
  Package: @robloche/chartjs-plugin-streaming
648
774
  License: "MIT"
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["src/app/app.component.scss"],
4
+ "sourcesContent": [".sidenav-container {\n height: 100%;\n width: 100%;\n}\n\n.router-outlet-container {\n display: contents;\n }\n\nmat-sidenav.sidenav-notifications {\n width: 230px;\n overflow: visible;\n}\n\nmat-sidenav.sidenav-controls {\n width: 135px;\n}\n"],
5
+ "mappings": ";AAAA,CAAA;AACE,UAAA;AACA,SAAA;;AAGF,CAAA;AACE,WAAA;;AAGF,WAAA,CAAA;AACE,SAAA;AACA,YAAA;;AAGF,WAAA,CAAA;AACE,SAAA;;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ /*! Hammer.JS - v2.0.8 - 2016-04-23
2
+ * http://hammerjs.github.io/
3
+ *
4
+ * Copyright (c) 2016 Jorik Tangelder;
5
+ * Licensed under the MIT license */
6
+ !function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ga|Ha)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),"identifier",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a),this.primaryTouch=null,this.lastTouches=[]}function S(a,b){a&Ea?(this.primaryTouch=b.changedPointers[0].identifier,T.call(this,b)):a&(Ga|Ha)&&T.call(this,b)}function T(a){var b=a.changedPointers[0];if(b.identifier===this.primaryTouch){var c={x:b.clientX,y:b.clientY};this.lastTouches.push(c);var d=this.lastTouches,e=function(){var a=d.indexOf(c);a>-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d<this.lastTouches.length;d++){var e=this.lastTouches[d],f=Math.abs(b-e.x),g=Math.abs(c-e.y);if(db>=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(d){b[d]=c?a.CSS.supports("touch-action",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?"cancel":a&qb?"end":a&pb?"move":a&ob?"start":""}function $(a){return a==Ma?"down":a==La?"up":a==Ja?"left":a==Ka?"right":""}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||""}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=["","webkit","Moz","MS","ms","o"],na=b.createElement("div"),oa="function",pa=Math.round,qa=Math.abs,ra=Date.now;la="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var sa=h(function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a},"extend","Use `assign`."),ta=h(function(a,b){return sa(a,b,!0)},"merge","Use `assign`."),ua=1,va=/mobile|tablet|ip(ad|hone|od)|android/i,wa="ontouchstart"in a,xa=u(a,"PointerEvent")!==d,ya=wa&&va.test(navigator.userAgent),za="touch",Aa="pen",Ba="mouse",Ca="kinect",Da=25,Ea=1,Fa=2,Ga=4,Ha=8,Ia=1,Ja=2,Ka=4,La=8,Ma=16,Na=Ja|Ka,Oa=La|Ma,Pa=Na|Oa,Qa=["x","y"],Ra=["clientX","clientY"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Sa={mousedown:Ea,mousemove:Fa,mouseup:Ga},Ta="mousedown",Ua="mousemove mouseup";i(L,x,{handler:function(a){var b=Sa[a.type];b&Ea&&0===a.button&&(this.pressed=!0),b&Fa&&1!==a.which&&(b=Ga),this.pressed&&(b&Ga&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:Ba,srcEvent:a}))}});var Va={pointerdown:Ea,pointermove:Fa,pointerup:Ga,pointercancel:Ha,pointerout:Ha},Wa={2:za,3:Aa,4:Ba,5:Ca},Xa="pointerdown",Ya="pointermove pointerup pointercancel";a.MSPointerEvent&&!a.PointerEvent&&(Xa="MSPointerDown",Ya="MSPointerMove MSPointerUp MSPointerCancel"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Va[d],f=Wa[a.pointerType]||a.pointerType,g=f==za,h=r(b,a.pointerId,"pointerId");e&Ea&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a="touchstart",_a="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,"touchAction"),fb=eb!==d,gb="compute",hb="auto",ib="manipulation",jb="none",kb="pan-x",lb="pan-y",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(" "))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(tb|nb)))return!1;a++}return!0},recognize:function(a){var b=la({},a);return k(this.options.enable,[this,b])?(this.state&(rb|sb|tb)&&(this.state=nb),this.state=this.process(b),void(this.state&(ob|pb|qb|sb)&&this.tryEmit(b))):(this.reset(),void(this.state=tb))},process:function(a){},getTouchAction:function(){},reset:function(){}},i(aa,Y,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ob|pb),e=this.attrTest(a);return d&&(c&Ha||!e)?b|sb:d||e?c&Ga?b|qb:b&ob?b|pb:ob:tb}}),i(ba,aa,{defaults:{event:"pan",threshold:10,pointers:1,direction:Pa},getTouchAction:function(){var a=this.options.direction,b=[];return a&Na&&b.push(lb),a&Oa&&b.push(kb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Na?(e=0===f?Ia:0>f?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&Ea&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ga)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=rb,this.tryEmit()},b.interval,this),ob):rb}return tb},failTimeout:function(){return this._timer=e(function(){this.state=tb},this.options.interval,this),tb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rb&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ha.VERSION="2.0.8",ha.defaults={domEvents:!1,touchAction:gb,enable:!0,inputTarget:null,inputClass:null,preset:[[ea,{enable:!1}],[ca,{enable:!1},["rotate"]],[fa,{direction:Na}],[ba,{direction:Na},["swipe"]],[ga],[ga,{event:"doubletap",taps:2},["tap"]],[da]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ub=1,vb=2;ia.prototype={set:function(a){return la(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?vb:ub},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&rb)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===vb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ob|pb|qb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof Y)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){if(a!==d&&b!==d){var c=this.handlers;return g(q(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this}},off:function(a,b){if(a!==d){var c=this.handlers;return g(q(a),function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]}),this}},emit:function(a,b){this.options.domEvents&&ka(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ja(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},la(ha,{INPUT_START:Ea,INPUT_MOVE:Fa,INPUT_END:Ga,INPUT_CANCEL:Ha,STATE_POSSIBLE:nb,STATE_BEGAN:ob,STATE_CHANGED:pb,STATE_ENDED:qb,STATE_RECOGNIZED:rb,STATE_CANCELLED:sb,STATE_FAILED:tb,DIRECTION_NONE:Ia,DIRECTION_LEFT:Ja,DIRECTION_RIGHT:Ka,DIRECTION_UP:La,DIRECTION_DOWN:Ma,DIRECTION_HORIZONTAL:Na,DIRECTION_VERTICAL:Oa,DIRECTION_ALL:Pa,Manager:ia,Input:x,TouchAction:V,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:Y,AttrRecognizer:aa,Tap:ga,Pan:ba,Swipe:fa,Pinch:ca,Rotate:ea,Press:da,on:m,off:n,each:g,merge:ta,extend:sa,assign:la,inherit:i,bindFn:j,prefixed:u});var wb="undefined"!=typeof a?a:"undefined"!=typeof self?self:{};wb.Hammer=ha,"function"==typeof define&&define.amd?define(function(){return ha}):"undefined"!=typeof module&&module.exports?module.exports=ha:a[c]=ha}(window,document,"Hammer");
7
+ //# sourceMappingURL=hammer.min.js.map