@mxtommy/kip 3.10.0 → 3.10.3

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 (486) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README.md +39 -59
  3. package/dist/out-tsc/kip-plugin/src/index.js +223 -0
  4. package/dist/out-tsc/kip-plugin/src/index.js.map +1 -0
  5. package/dist/out-tsc/kip-plugin/src/openApi.json +367 -0
  6. package/dist/out-tsc/package.json +118 -0
  7. package/dist/out-tsc/schematics/widget/index.js +70 -0
  8. package/dist/out-tsc/schematics/widget/index.js.map +1 -0
  9. package/dist/out-tsc/src/app/app.component.js +286 -0
  10. package/dist/out-tsc/src/app/app.component.js.map +1 -0
  11. package/dist/out-tsc/src/app/app.component.spec.js +26 -0
  12. package/dist/out-tsc/src/app/app.component.spec.js.map +1 -0
  13. package/dist/out-tsc/src/app/app.routes.js +35 -0
  14. package/dist/out-tsc/src/app/app.routes.js.map +1 -0
  15. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.js +60 -0
  16. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.js.map +1 -0
  17. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.spec.js +150 -0
  18. package/dist/out-tsc/src/app/core/components/app-help/app-help.component.spec.js.map +1 -0
  19. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.js +361 -0
  20. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.js.map +1 -0
  21. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.spec.js +19 -0
  22. package/dist/out-tsc/src/app/core/components/dashboard/dashboard.component.spec.js.map +1 -0
  23. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.js +33 -0
  24. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.js.map +1 -0
  25. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.spec.js +19 -0
  26. package/dist/out-tsc/src/app/core/components/dashboard-scroller/dashboard-scroller.component.spec.js.map +1 -0
  27. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.js +183 -0
  28. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.js.map +1 -0
  29. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.spec.js +19 -0
  30. package/dist/out-tsc/src/app/core/components/dashboards-editor/dashboards-editor.component.spec.js.map +1 -0
  31. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.js +28 -0
  32. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.js.map +1 -0
  33. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.spec.js +19 -0
  34. package/dist/out-tsc/src/app/core/components/dashboards-manage-bottom-sheet/dashboards-manage-bottom-sheet.component.spec.js.map +1 -0
  35. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.js +130 -0
  36. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.js.map +1 -0
  37. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.spec.js +21 -0
  38. package/dist/out-tsc/src/app/core/components/data-inspector/data-inspector.component.spec.js.map +1 -0
  39. package/dist/out-tsc/src/app/core/components/data-inspector-row/data-inspector-row.component.js +82 -0
  40. package/dist/out-tsc/src/app/core/components/data-inspector-row/data-inspector-row.component.js.map +1 -0
  41. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.js +168 -0
  42. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.js.map +1 -0
  43. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.spec.js +21 -0
  44. package/dist/out-tsc/src/app/core/components/datasets/datasets.component.spec.js.map +1 -0
  45. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.js +24 -0
  46. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.js.map +1 -0
  47. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.spec.js +19 -0
  48. package/dist/out-tsc/src/app/core/components/dialog-confirmation/dialog-confirmation.component.spec.js.map +1 -0
  49. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.js +45 -0
  50. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.js.map +1 -0
  51. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.spec.js +19 -0
  52. package/dist/out-tsc/src/app/core/components/dialog-dashboard-page-editor/dialog-dashboard-page-editor.component.spec.js.map +1 -0
  53. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.js +25 -0
  54. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.js.map +1 -0
  55. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.spec.js +19 -0
  56. package/dist/out-tsc/src/app/core/components/dialog-frame/dialog-frame.component.spec.js.map +1 -0
  57. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.js +31 -0
  58. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.js.map +1 -0
  59. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.spec.js +19 -0
  60. package/dist/out-tsc/src/app/core/components/dialog-name/dialog-name.component.spec.js.map +1 -0
  61. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.js +100 -0
  62. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.js.map +1 -0
  63. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.spec.js +19 -0
  64. package/dist/out-tsc/src/app/core/components/menu-actions/menu-actions.component.spec.js.map +1 -0
  65. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.js +60 -0
  66. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.js.map +1 -0
  67. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.spec.js +21 -0
  68. package/dist/out-tsc/src/app/core/components/menu-notifications/menu-notifications.component.spec.js.map +1 -0
  69. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.js +32 -0
  70. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.js.map +1 -0
  71. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.spec.js +21 -0
  72. package/dist/out-tsc/src/app/core/components/modal-user-credential/modal-user-credential.component.spec.js.map +1 -0
  73. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.js +51 -0
  74. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.js.map +1 -0
  75. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.spec.js +19 -0
  76. package/dist/out-tsc/src/app/core/components/notification-badge/notification-badge.component.spec.js.map +1 -0
  77. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.js +228 -0
  78. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.js.map +1 -0
  79. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.spec.js +21 -0
  80. package/dist/out-tsc/src/app/core/components/options/configuration/config.component.spec.js.map +1 -0
  81. package/dist/out-tsc/src/app/core/components/options/display/display.component.js +142 -0
  82. package/dist/out-tsc/src/app/core/components/options/display/display.component.js.map +1 -0
  83. package/dist/out-tsc/src/app/core/components/options/display/display.component.spec.js +21 -0
  84. package/dist/out-tsc/src/app/core/components/options/display/display.component.spec.js.map +1 -0
  85. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.js +66 -0
  86. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.js.map +1 -0
  87. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.spec.js +21 -0
  88. package/dist/out-tsc/src/app/core/components/options/notifications/notifications.component.spec.js.map +1 -0
  89. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.js +255 -0
  90. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.js.map +1 -0
  91. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.spec.js +21 -0
  92. package/dist/out-tsc/src/app/core/components/options/signalk/signalk.component.spec.js.map +1 -0
  93. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.js +44 -0
  94. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.js.map +1 -0
  95. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.spec.js +21 -0
  96. package/dist/out-tsc/src/app/core/components/options/tabs/tabs.component.spec.js.map +1 -0
  97. package/dist/out-tsc/src/app/core/components/options/units/units.component.js +55 -0
  98. package/dist/out-tsc/src/app/core/components/options/units/units.component.js.map +1 -0
  99. package/dist/out-tsc/src/app/core/components/options/units/units.component.spec.js +21 -0
  100. package/dist/out-tsc/src/app/core/components/options/units/units.component.spec.js.map +1 -0
  101. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.js +31 -0
  102. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.js.map +1 -0
  103. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.spec.js +19 -0
  104. package/dist/out-tsc/src/app/core/components/page-header/page-header.component.spec.js.map +1 -0
  105. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.js +63 -0
  106. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.js.map +1 -0
  107. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.spec.js +19 -0
  108. package/dist/out-tsc/src/app/core/components/remote-control/remote-control.component.spec.js.map +1 -0
  109. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.js +75 -0
  110. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.js.map +1 -0
  111. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.spec.js +19 -0
  112. package/dist/out-tsc/src/app/core/components/select-icon/select-icon.component.spec.js.map +1 -0
  113. package/dist/out-tsc/src/app/core/components/settings/settings.component.js +56 -0
  114. package/dist/out-tsc/src/app/core/components/settings/settings.component.js.map +1 -0
  115. package/dist/out-tsc/src/app/core/components/settings/settings.component.spec.js +19 -0
  116. package/dist/out-tsc/src/app/core/components/settings/settings.component.spec.js.map +1 -0
  117. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.js +28 -0
  118. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.js.map +1 -0
  119. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.spec.js +19 -0
  120. package/dist/out-tsc/src/app/core/components/tile-large-icon/tile-large-icon.component.spec.js.map +1 -0
  121. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.js +336 -0
  122. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.js.map +1 -0
  123. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.spec.js +19 -0
  124. package/dist/out-tsc/src/app/core/components/upgrade-config/upgrade-config.component.spec.js.map +1 -0
  125. package/dist/out-tsc/src/app/core/components/upgrade-config/v10-config-interface.js +2 -0
  126. package/dist/out-tsc/src/app/core/components/upgrade-config/v10-config-interface.js.map +1 -0
  127. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.js +77 -0
  128. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.js.map +1 -0
  129. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.spec.js +19 -0
  130. package/dist/out-tsc/src/app/core/components/widget-host/widget-host.component.spec.js.map +1 -0
  131. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.js +29 -0
  132. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.js.map +1 -0
  133. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.spec.js +19 -0
  134. package/dist/out-tsc/src/app/core/components/widget-host-bottom-sheet/widget-host-bottom-sheet.component.spec.js.map +1 -0
  135. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.js +34 -0
  136. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.js.map +1 -0
  137. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.spec.js +19 -0
  138. package/dist/out-tsc/src/app/core/components/widget-list-card/widget-list-card.component.spec.js.map +1 -0
  139. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.js +70 -0
  140. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.js.map +1 -0
  141. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.spec.js +19 -0
  142. package/dist/out-tsc/src/app/core/components/widget-title/widget-title.component.spec.js.map +1 -0
  143. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.js +61 -0
  144. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.js.map +1 -0
  145. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.spec.js +19 -0
  146. package/dist/out-tsc/src/app/core/components/widgets-list/widgets-list.component.spec.js.map +1 -0
  147. package/dist/out-tsc/src/app/core/directives/gesture.directive.js +457 -0
  148. package/dist/out-tsc/src/app/core/directives/gesture.directive.js.map +1 -0
  149. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.js +43 -0
  150. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.js.map +1 -0
  151. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.spec.js +7 -0
  152. package/dist/out-tsc/src/app/core/interceptors/authentication-interceptor.spec.js.map +1 -0
  153. package/dist/out-tsc/src/app/core/interfaces/app-interfaces.js +8 -0
  154. package/dist/out-tsc/src/app/core/interfaces/app-interfaces.js.map +1 -0
  155. package/dist/out-tsc/src/app/core/interfaces/app-settings.interfaces.js +2 -0
  156. package/dist/out-tsc/src/app/core/interfaces/app-settings.interfaces.js.map +1 -0
  157. package/dist/out-tsc/src/app/core/interfaces/dialog-data.js +2 -0
  158. package/dist/out-tsc/src/app/core/interfaces/dialog-data.js.map +1 -0
  159. package/dist/out-tsc/src/app/core/interfaces/signalk-autopilot-interfaces.js +11 -0
  160. package/dist/out-tsc/src/app/core/interfaces/signalk-autopilot-interfaces.js.map +1 -0
  161. package/dist/out-tsc/src/app/core/interfaces/signalk-interfaces.js +45 -0
  162. package/dist/out-tsc/src/app/core/interfaces/signalk-interfaces.js.map +1 -0
  163. package/dist/out-tsc/src/app/core/interfaces/widgets-interface.js +7 -0
  164. package/dist/out-tsc/src/app/core/interfaces/widgets-interface.js.map +1 -0
  165. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.js +24 -0
  166. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.js.map +1 -0
  167. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.spec.js +8 -0
  168. package/dist/out-tsc/src/app/core/pipes/filter-self.pipe.spec.js.map +1 -0
  169. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.js +20 -0
  170. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.js.map +1 -0
  171. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.spec.js +8 -0
  172. package/dist/out-tsc/src/app/core/pipes/object-keys.pipe.spec.js.map +1 -0
  173. package/dist/out-tsc/src/app/core/pipes/safe.pipe.js +22 -0
  174. package/dist/out-tsc/src/app/core/pipes/safe.pipe.js.map +1 -0
  175. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.js +199 -0
  176. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.js.map +1 -0
  177. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.spec.js +13 -0
  178. package/dist/out-tsc/src/app/core/services/app-initNetwork.service.spec.js.map +1 -0
  179. package/dist/out-tsc/src/app/core/services/app-service.js +249 -0
  180. package/dist/out-tsc/src/app/core/services/app-service.js.map +1 -0
  181. package/dist/out-tsc/src/app/core/services/app-service.spec.js +13 -0
  182. package/dist/out-tsc/src/app/core/services/app-service.spec.js.map +1 -0
  183. package/dist/out-tsc/src/app/core/services/app-settings.service.js +566 -0
  184. package/dist/out-tsc/src/app/core/services/app-settings.service.js.map +1 -0
  185. package/dist/out-tsc/src/app/core/services/app-settings.service.spec.js +13 -0
  186. package/dist/out-tsc/src/app/core/services/app-settings.service.spec.js.map +1 -0
  187. package/dist/out-tsc/src/app/core/services/authentication.service.js +308 -0
  188. package/dist/out-tsc/src/app/core/services/authentication.service.js.map +1 -0
  189. package/dist/out-tsc/src/app/core/services/authentication.service.spec.js +13 -0
  190. package/dist/out-tsc/src/app/core/services/authentication.service.spec.js.map +1 -0
  191. package/dist/out-tsc/src/app/core/services/canvas.service.js +566 -0
  192. package/dist/out-tsc/src/app/core/services/canvas.service.js.map +1 -0
  193. package/dist/out-tsc/src/app/core/services/canvas.service.spec.js +13 -0
  194. package/dist/out-tsc/src/app/core/services/canvas.service.spec.js.map +1 -0
  195. package/dist/out-tsc/src/app/core/services/connection-state-machine.service.js +325 -0
  196. package/dist/out-tsc/src/app/core/services/connection-state-machine.service.js.map +1 -0
  197. package/dist/out-tsc/src/app/core/services/dashboard.service.js +273 -0
  198. package/dist/out-tsc/src/app/core/services/dashboard.service.js.map +1 -0
  199. package/dist/out-tsc/src/app/core/services/dashboard.service.spec.js +13 -0
  200. package/dist/out-tsc/src/app/core/services/dashboard.service.spec.js.map +1 -0
  201. package/dist/out-tsc/src/app/core/services/data-set.service.js +515 -0
  202. package/dist/out-tsc/src/app/core/services/data-set.service.js.map +1 -0
  203. package/dist/out-tsc/src/app/core/services/data-set.service.spec.js +13 -0
  204. package/dist/out-tsc/src/app/core/services/data-set.service.spec.js.map +1 -0
  205. package/dist/out-tsc/src/app/core/services/data.service.js +425 -0
  206. package/dist/out-tsc/src/app/core/services/data.service.js.map +1 -0
  207. package/dist/out-tsc/src/app/core/services/data.service.spec.js +13 -0
  208. package/dist/out-tsc/src/app/core/services/data.service.spec.js.map +1 -0
  209. package/dist/out-tsc/src/app/core/services/dialog.service.js +73 -0
  210. package/dist/out-tsc/src/app/core/services/dialog.service.js.map +1 -0
  211. package/dist/out-tsc/src/app/core/services/dialog.service.spec.js +13 -0
  212. package/dist/out-tsc/src/app/core/services/dialog.service.spec.js.map +1 -0
  213. package/dist/out-tsc/src/app/core/services/notification-overlay.service.js +106 -0
  214. package/dist/out-tsc/src/app/core/services/notification-overlay.service.js.map +1 -0
  215. package/dist/out-tsc/src/app/core/services/notifications.service.js +322 -0
  216. package/dist/out-tsc/src/app/core/services/notifications.service.js.map +1 -0
  217. package/dist/out-tsc/src/app/core/services/notifications.service.spec.js +10 -0
  218. package/dist/out-tsc/src/app/core/services/notifications.service.spec.js.map +1 -0
  219. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.js +125 -0
  220. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.js.map +1 -0
  221. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.spec.js +13 -0
  222. package/dist/out-tsc/src/app/core/services/remote-dashboards.service.spec.js.map +1 -0
  223. package/dist/out-tsc/src/app/core/services/signalk-connection.service.js +283 -0
  224. package/dist/out-tsc/src/app/core/services/signalk-connection.service.js.map +1 -0
  225. package/dist/out-tsc/src/app/core/services/signalk-delta.service.js +486 -0
  226. package/dist/out-tsc/src/app/core/services/signalk-delta.service.js.map +1 -0
  227. package/dist/out-tsc/src/app/core/services/signalk-delta.service.spec.js +13 -0
  228. package/dist/out-tsc/src/app/core/services/signalk-delta.service.spec.js.map +1 -0
  229. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.js +121 -0
  230. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.js.map +1 -0
  231. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.spec.js +13 -0
  232. package/dist/out-tsc/src/app/core/services/signalk-plugins.service.spec.js.map +1 -0
  233. package/dist/out-tsc/src/app/core/services/signalk-requests.service.js +232 -0
  234. package/dist/out-tsc/src/app/core/services/signalk-requests.service.js.map +1 -0
  235. package/dist/out-tsc/src/app/core/services/signalk-requests.service.spec.js +10 -0
  236. package/dist/out-tsc/src/app/core/services/signalk-requests.service.spec.js.map +1 -0
  237. package/dist/out-tsc/src/app/core/services/storage.service.js +390 -0
  238. package/dist/out-tsc/src/app/core/services/storage.service.js.map +1 -0
  239. package/dist/out-tsc/src/app/core/services/storage.service.spec.js +13 -0
  240. package/dist/out-tsc/src/app/core/services/storage.service.spec.js.map +1 -0
  241. package/dist/out-tsc/src/app/core/services/timers.service.js +107 -0
  242. package/dist/out-tsc/src/app/core/services/timers.service.js.map +1 -0
  243. package/dist/out-tsc/src/app/core/services/timers.service.spec.js +13 -0
  244. package/dist/out-tsc/src/app/core/services/timers.service.spec.js.map +1 -0
  245. package/dist/out-tsc/src/app/core/services/uiEvent.service.js +256 -0
  246. package/dist/out-tsc/src/app/core/services/uiEvent.service.js.map +1 -0
  247. package/dist/out-tsc/src/app/core/services/uiEvent.service.spec.js +13 -0
  248. package/dist/out-tsc/src/app/core/services/uiEvent.service.spec.js.map +1 -0
  249. package/dist/out-tsc/src/app/core/services/units.service.js +630 -0
  250. package/dist/out-tsc/src/app/core/services/units.service.js.map +1 -0
  251. package/dist/out-tsc/src/app/core/services/widget.service.js +405 -0
  252. package/dist/out-tsc/src/app/core/services/widget.service.js.map +1 -0
  253. package/dist/out-tsc/src/app/core/services/widget.service.spec.js +13 -0
  254. package/dist/out-tsc/src/app/core/services/widget.service.spec.js.map +1 -0
  255. package/dist/out-tsc/src/app/core/utils/app-overlay-container.js +30 -0
  256. package/dist/out-tsc/src/app/core/utils/app-overlay-container.js.map +1 -0
  257. package/dist/out-tsc/src/app/core/utils/base-widget.component.js +291 -0
  258. package/dist/out-tsc/src/app/core/utils/base-widget.component.js.map +1 -0
  259. package/dist/out-tsc/src/app/core/utils/base-widget.component.spec.js +88 -0
  260. package/dist/out-tsc/src/app/core/utils/base-widget.component.spec.js.map +1 -0
  261. package/dist/out-tsc/src/app/core/utils/dataScales.util.js +127 -0
  262. package/dist/out-tsc/src/app/core/utils/dataScales.util.js.map +1 -0
  263. package/dist/out-tsc/src/app/core/utils/dataTransforms.util.js +138 -0
  264. package/dist/out-tsc/src/app/core/utils/dataTransforms.util.js.map +1 -0
  265. package/dist/out-tsc/src/app/core/utils/iframe-inputs-inject.utils.js +55 -0
  266. package/dist/out-tsc/src/app/core/utils/iframe-inputs-inject.utils.js.map +1 -0
  267. package/dist/out-tsc/src/app/core/utils/svg-animate.util.js +303 -0
  268. package/dist/out-tsc/src/app/core/utils/svg-animate.util.js.map +1 -0
  269. package/dist/out-tsc/src/app/core/utils/themeColors.utils.js +34 -0
  270. package/dist/out-tsc/src/app/core/utils/themeColors.utils.js.map +1 -0
  271. package/dist/out-tsc/src/app/core/utils/uuid.util.js +17 -0
  272. package/dist/out-tsc/src/app/core/utils/uuid.util.js.map +1 -0
  273. package/dist/out-tsc/src/app/core/utils/zones-highlight.utils.js +87 -0
  274. package/dist/out-tsc/src/app/core/utils/zones-highlight.utils.js.map +1 -0
  275. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.js +49 -0
  276. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.js.map +1 -0
  277. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.spec.js +19 -0
  278. package/dist/out-tsc/src/app/widget-config/boolean-control-config/boolean-control-config.component.spec.js.map +1 -0
  279. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.js +100 -0
  280. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.js.map +1 -0
  281. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.spec.js +19 -0
  282. package/dist/out-tsc/src/app/widget-config/boolean-multicontrol-options/boolean-multicontrol-options.component.spec.js.map +1 -0
  283. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.js +54 -0
  284. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.js.map +1 -0
  285. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.spec.js +19 -0
  286. package/dist/out-tsc/src/app/widget-config/dataset-chart-options/dataset-chart-options.component.spec.js.map +1 -0
  287. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.js +89 -0
  288. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.js.map +1 -0
  289. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.spec.js +19 -0
  290. package/dist/out-tsc/src/app/widget-config/display-chart-options/display-chart-options.component.spec.js.map +1 -0
  291. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.js +1760 -0
  292. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.js.map +1 -0
  293. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.spec.js +19 -0
  294. package/dist/out-tsc/src/app/widget-config/display-datetime/display-datetime.component.spec.js.map +1 -0
  295. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.js +327 -0
  296. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.js.map +1 -0
  297. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.spec.js +21 -0
  298. package/dist/out-tsc/src/app/widget-config/modal-widget-config/modal-widget-config.component.spec.js.map +1 -0
  299. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.js +268 -0
  300. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.js.map +1 -0
  301. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.spec.js +21 -0
  302. package/dist/out-tsc/src/app/widget-config/path-control-config/path-control-config.component.spec.js.map +1 -0
  303. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.js +81 -0
  304. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.js.map +1 -0
  305. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.spec.js +19 -0
  306. package/dist/out-tsc/src/app/widget-config/paths-options/paths-options.component.spec.js.map +1 -0
  307. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.js +266 -0
  308. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.js.map +1 -0
  309. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.spec.js +19 -0
  310. package/dist/out-tsc/src/app/widget-config/select-autopilot/select-autopilot.component.spec.js.map +1 -0
  311. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.js +309 -0
  312. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.js.map +1 -0
  313. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.spec.js +21 -0
  314. package/dist/out-tsc/src/app/widgets/gauge-steel/gauge-steel.component.spec.js.map +1 -0
  315. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.js +512 -0
  316. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.js.map +1 -0
  317. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.spec.js +19 -0
  318. package/dist/out-tsc/src/app/widgets/minichart/minichart.component.spec.js.map +1 -0
  319. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.js +227 -0
  320. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.js.map +1 -0
  321. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.spec.js +21 -0
  322. package/dist/out-tsc/src/app/widgets/svg-autopilot/svg-autopilot.component.spec.js.map +1 -0
  323. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.js +163 -0
  324. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.js.map +1 -0
  325. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.spec.js +19 -0
  326. package/dist/out-tsc/src/app/widgets/svg-boolean-button/svg-boolean-button.component.spec.js.map +1 -0
  327. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.js +97 -0
  328. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.js.map +1 -0
  329. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.spec.js +19 -0
  330. package/dist/out-tsc/src/app/widgets/svg-boolean-light/svg-boolean-light.component.spec.js.map +1 -0
  331. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.js +122 -0
  332. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.js.map +1 -0
  333. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.js +19 -0
  334. package/dist/out-tsc/src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.js.map +1 -0
  335. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.js +389 -0
  336. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.js.map +1 -0
  337. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.spec.js +21 -0
  338. package/dist/out-tsc/src/app/widgets/svg-racesteer/svg-racesteer.component.spec.js.map +1 -0
  339. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.js +76 -0
  340. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.js.map +1 -0
  341. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.js +21 -0
  342. package/dist/out-tsc/src/app/widgets/svg-simple-linear-gauge/svg-simple-linear-gauge.component.spec.js.map +1 -0
  343. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.js +429 -0
  344. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.js.map +1 -0
  345. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.spec.js +21 -0
  346. package/dist/out-tsc/src/app/widgets/svg-windsteer/svg-windsteer.component.spec.js.map +1 -0
  347. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.js +1128 -0
  348. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.js.map +1 -0
  349. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.spec.js +21 -0
  350. package/dist/out-tsc/src/app/widgets/widget-autopilot/widget-autopilot.component.spec.js.map +1 -0
  351. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.js +140 -0
  352. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.js.map +1 -0
  353. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.spec.js +19 -0
  354. package/dist/out-tsc/src/app/widgets/widget-boolean-switch/widget-boolean-switch.component.spec.js.map +1 -0
  355. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.js +678 -0
  356. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.js.map +1 -0
  357. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.spec.js +19 -0
  358. package/dist/out-tsc/src/app/widgets/widget-data-chart/widget-data-chart.component.spec.js.map +1 -0
  359. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.js +177 -0
  360. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.js.map +1 -0
  361. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.spec.js +21 -0
  362. package/dist/out-tsc/src/app/widgets/widget-datetime/widget-datetime.component.spec.js.map +1 -0
  363. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.js +146 -0
  364. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.js.map +1 -0
  365. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.spec.js +19 -0
  366. package/dist/out-tsc/src/app/widgets/widget-freeboardsk/widget-freeboardsk.component.spec.js.map +1 -0
  367. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.js +301 -0
  368. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.js.map +1 -0
  369. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.spec.js +19 -0
  370. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-compass/widget-gauge-ng-compass.component.spec.js.map +1 -0
  371. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.js +413 -0
  372. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.js.map +1 -0
  373. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.js +21 -0
  374. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-linear/widget-gauge-ng-linear.component.spec.js.map +1 -0
  375. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.js +360 -0
  376. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.js.map +1 -0
  377. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.js +21 -0
  378. package/dist/out-tsc/src/app/widgets/widget-gauge-ng-radial/widget-gauge-ng-radial.component.spec.js.map +1 -0
  379. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.js +119 -0
  380. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.js.map +1 -0
  381. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.spec.js +21 -0
  382. package/dist/out-tsc/src/app/widgets/widget-gauge-steel/widget-gauge-steel.component.spec.js.map +1 -0
  383. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.js +205 -0
  384. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.js.map +1 -0
  385. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.spec.js +15 -0
  386. package/dist/out-tsc/src/app/widgets/widget-heel-gauge/widget-heel-gauge.component.spec.js.map +1 -0
  387. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.js +196 -0
  388. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.js.map +1 -0
  389. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.spec.js +21 -0
  390. package/dist/out-tsc/src/app/widgets/widget-horizon/widget-horizon.component.spec.js.map +1 -0
  391. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.js +173 -0
  392. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.js.map +1 -0
  393. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.spec.js +21 -0
  394. package/dist/out-tsc/src/app/widgets/widget-iframe/widget-iframe.component.spec.js.map +1 -0
  395. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.js +128 -0
  396. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.js.map +1 -0
  397. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.spec.js +19 -0
  398. package/dist/out-tsc/src/app/widgets/widget-label/widget-label.component.spec.js.map +1 -0
  399. package/dist/out-tsc/src/app/widgets/widget-login/login.component.spec.js +21 -0
  400. package/dist/out-tsc/src/app/widgets/widget-login/login.component.spec.js.map +1 -0
  401. package/dist/out-tsc/src/app/widgets/widget-login/widget-login.component.js +78 -0
  402. package/dist/out-tsc/src/app/widgets/widget-login/widget-login.component.js.map +1 -0
  403. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.component.js +303 -0
  404. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.component.js.map +1 -0
  405. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.spec.js +21 -0
  406. package/dist/out-tsc/src/app/widgets/widget-numeric/widget-numeric.spec.js.map +1 -0
  407. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.js +177 -0
  408. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.js.map +1 -0
  409. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.spec.js +21 -0
  410. package/dist/out-tsc/src/app/widgets/widget-position/widget-position.component.spec.js.map +1 -0
  411. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.js +275 -0
  412. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.js.map +1 -0
  413. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.spec.js +21 -0
  414. package/dist/out-tsc/src/app/widgets/widget-race-timer/widget-race-timer.component.spec.js.map +1 -0
  415. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.js +319 -0
  416. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.js.map +1 -0
  417. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.spec.js +21 -0
  418. package/dist/out-tsc/src/app/widgets/widget-racer-line/widget-racer-line.component.spec.js.map +1 -0
  419. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.js +365 -0
  420. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.js.map +1 -0
  421. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.spec.js +21 -0
  422. package/dist/out-tsc/src/app/widgets/widget-racer-timer/widget-racer-timer.component.spec.js.map +1 -0
  423. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.js +321 -0
  424. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.js.map +1 -0
  425. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.spec.js +21 -0
  426. package/dist/out-tsc/src/app/widgets/widget-racesteer/widget-racesteer.component.spec.js.map +1 -0
  427. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.js +189 -0
  428. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.js.map +1 -0
  429. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.spec.js +21 -0
  430. package/dist/out-tsc/src/app/widgets/widget-simple-linear/widget-simple-linear.component.spec.js.map +1 -0
  431. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.js +248 -0
  432. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.js.map +1 -0
  433. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.spec.js +19 -0
  434. package/dist/out-tsc/src/app/widgets/widget-slider/widget-slider.component.spec.js.map +1 -0
  435. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.js +138 -0
  436. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.js.map +1 -0
  437. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.spec.js +21 -0
  438. package/dist/out-tsc/src/app/widgets/widget-text/widget-text.component.spec.js.map +1 -0
  439. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.js +43 -0
  440. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.js.map +1 -0
  441. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.spec.js +21 -0
  442. package/dist/out-tsc/src/app/widgets/widget-tutorial/widget-tutorial.component.spec.js.map +1 -0
  443. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.js +483 -0
  444. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.js.map +1 -0
  445. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.spec.js +21 -0
  446. package/dist/out-tsc/src/app/widgets/widget-windsteer/widget-windsteer.component.spec.js.map +1 -0
  447. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.js +1067 -0
  448. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.js.map +1 -0
  449. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.spec.js +19 -0
  450. package/dist/out-tsc/src/app/widgets/widget-windtrends-chart/widget-windtrends-chart.component.spec.js.map +1 -0
  451. package/dist/out-tsc/src/default-config/config.blank.const.js +35 -0
  452. package/dist/out-tsc/src/default-config/config.blank.const.js.map +1 -0
  453. package/dist/out-tsc/src/default-config/config.blank.notification.const.js +22 -0
  454. package/dist/out-tsc/src/default-config/config.blank.notification.const.js.map +1 -0
  455. package/dist/out-tsc/src/default-config/config.blank.units.const.js +24 -0
  456. package/dist/out-tsc/src/default-config/config.blank.units.const.js.map +1 -0
  457. package/dist/out-tsc/src/default-config/config.demo.const.js +739 -0
  458. package/dist/out-tsc/src/default-config/config.demo.const.js.map +1 -0
  459. package/dist/out-tsc/src/environments/environment.js +8 -0
  460. package/dist/out-tsc/src/environments/environment.js.map +1 -0
  461. package/dist/out-tsc/src/environments/environment.prod.js +4 -0
  462. package/dist/out-tsc/src/environments/environment.prod.js.map +1 -0
  463. package/dist/out-tsc/src/main.js +111 -0
  464. package/dist/out-tsc/src/main.js.map +1 -0
  465. package/dist/out-tsc/src/polyfills.js +67 -0
  466. package/dist/out-tsc/src/polyfills.js.map +1 -0
  467. package/dist/out-tsc/src/test-setup.js +1 -0
  468. package/dist/out-tsc/src/test-setup.js.map +1 -0
  469. package/dist/out-tsc/src/test-shims/steelseries-shim.js +44 -0
  470. package/dist/out-tsc/src/test-shims/steelseries-shim.js.map +1 -0
  471. package/dist/out-tsc/src/test.js +84 -0
  472. package/dist/out-tsc/src/test.js.map +1 -0
  473. package/images/ActionSidenav.png +0 -0
  474. package/images/KipBrightness-1024.png +0 -0
  475. package/images/KipNightMode-1024.png +0 -0
  476. package/images/Options.png +0 -0
  477. package/images/exterior_user_installs.png +0 -0
  478. package/package.json +1 -1
  479. package/plugin/index.js +2 -1
  480. package/public/{chunk-YPVFGYWU.js → chunk-4APSKT6I.js} +1 -1
  481. package/public/{chunk-CCEKSCJH.js → chunk-HHR4WMHS.js} +1 -1
  482. package/public/{chunk-TTNX7JB6.js → chunk-JDDRJMPN.js} +1 -1
  483. package/public/{chunk-TSNRNW3D.js → chunk-MRF22PVK.js} +1 -1
  484. package/public/{chunk-G5U7W6LL.js → chunk-RNSD64U3.js} +1 -1
  485. package/public/index.html +1 -1
  486. package/public/{main-JN6ENHFX.js → main-5QLZ4ZUU.js} +2 -2
@@ -0,0 +1,122 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Component, input, output } from '@angular/core';
11
+ let SvgBooleanSwitchComponent = class SvgBooleanSwitchComponent {
12
+ // eslint-disable-next-line @angular-eslint/no-input-rename
13
+ data = input(null, { alias: "controlData" });
14
+ theme = input(null);
15
+ dimensions = input.required();
16
+ toggleClick = output();
17
+ toggleOff = "0 35 180 35";
18
+ toggleOn = "0 0 180 35";
19
+ ctrlState = null;
20
+ oldTheme = null;
21
+ isSwiping = false;
22
+ pointerStartX = 0;
23
+ pointerStartY = 0;
24
+ viewBox = this.toggleOff;
25
+ labelColor = null;
26
+ valueColor = null;
27
+ ctrlColor = '';
28
+ constructor() { }
29
+ ngDoCheck() {
30
+ const data = this.data();
31
+ if (data.value != this.ctrlState) {
32
+ this.ctrlState = data.value;
33
+ this.viewBox = data.value ? this.toggleOn : this.toggleOff;
34
+ }
35
+ if (data.color != this.ctrlColor) {
36
+ this.ctrlColor = data.color;
37
+ this.getColors(data.color);
38
+ }
39
+ const theme = this.theme();
40
+ if (this.oldTheme != theme) {
41
+ this.oldTheme = theme;
42
+ this.getColors(data.color);
43
+ }
44
+ }
45
+ onPointerDown(event) {
46
+ this.isSwiping = false;
47
+ this.pointerStartX = event.clientX;
48
+ this.pointerStartY = event.clientY;
49
+ }
50
+ onPointerMove(event) {
51
+ const deltaX = Math.abs(event.clientX - this.pointerStartX);
52
+ const deltaY = Math.abs(event.clientY - this.pointerStartY);
53
+ // Mark as swiping if movement exceeds a threshold
54
+ if (deltaX > 30 || deltaY > 30) {
55
+ this.isSwiping = true;
56
+ }
57
+ }
58
+ onPointerUp(event, state) {
59
+ if (this.isSwiping) {
60
+ // Ignore pointerup if it was a swipe
61
+ this.isSwiping = false;
62
+ return;
63
+ }
64
+ // Handle the toggle action for a tap
65
+ this.toggle(state);
66
+ }
67
+ toggle(state) {
68
+ const data = this.data();
69
+ data.value = state;
70
+ this.toggleClick.emit(data);
71
+ }
72
+ getColors(color) {
73
+ switch (color) {
74
+ case "contrast":
75
+ this.labelColor = this.theme().contrastDim;
76
+ this.valueColor = this.theme().contrast;
77
+ break;
78
+ case "blue":
79
+ this.labelColor = this.theme().blueDim;
80
+ this.valueColor = this.theme().blue;
81
+ break;
82
+ case "green":
83
+ this.labelColor = this.theme().greenDim;
84
+ this.valueColor = this.theme().green;
85
+ break;
86
+ case "pink":
87
+ this.labelColor = this.theme().pinkDim;
88
+ this.valueColor = this.theme().pink;
89
+ break;
90
+ case "orange":
91
+ this.labelColor = this.theme().orangeDim;
92
+ this.valueColor = this.theme().orange;
93
+ break;
94
+ case "purple":
95
+ this.labelColor = this.theme().purpleDim;
96
+ this.valueColor = this.theme().purple;
97
+ break;
98
+ case "grey":
99
+ this.labelColor = this.theme().greyDim;
100
+ this.valueColor = this.theme().grey;
101
+ break;
102
+ case "yellow":
103
+ this.labelColor = this.theme().yellowDim;
104
+ this.valueColor = this.theme().yellow;
105
+ break;
106
+ default:
107
+ this.labelColor = this.theme().contrastDim;
108
+ this.valueColor = this.theme().contrast;
109
+ break;
110
+ }
111
+ }
112
+ };
113
+ SvgBooleanSwitchComponent = __decorate([
114
+ Component({
115
+ selector: 'app-svg-boolean-switch',
116
+ templateUrl: './svg-boolean-switch.component.svg',
117
+ standalone: true
118
+ }),
119
+ __metadata("design:paramtypes", [])
120
+ ], SvgBooleanSwitchComponent);
121
+ export { SvgBooleanSwitchComponent };
122
+ //# sourceMappingURL=svg-boolean-switch.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-boolean-switch.component.js","sourceRoot":"","sources":["../../../../../../src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+ import { SvgBooleanSwitchComponent } from './svg-boolean-switch.component';
3
+ describe('SvgBooleanToggleComponent', () => {
4
+ let component;
5
+ let fixture;
6
+ beforeEach(async () => {
7
+ await TestBed.configureTestingModule({
8
+ imports: [SvgBooleanSwitchComponent]
9
+ })
10
+ .compileComponents();
11
+ fixture = TestBed.createComponent(SvgBooleanSwitchComponent);
12
+ component = fixture.componentInstance;
13
+ fixture.detectChanges();
14
+ });
15
+ it('should create', () => {
16
+ expect(component).toBeTruthy();
17
+ });
18
+ });
19
+ //# sourceMappingURL=svg-boolean-switch.component.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-boolean-switch.component.spec.js","sourceRoot":"","sources":["../../../../../../src/app/widgets/svg-boolean-switch/svg-boolean-switch.component.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,SAAoC,CAAC;IACzC,IAAI,OAAoD,CAAC;IAEzD,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,OAAO,CAAC,sBAAsB,CAAC;YACrC,OAAO,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC;aACG,iBAAiB,EAAE,CAAC;QAErB,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QAC7D,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACtC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,389 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Component, input, viewChild, signal, effect, computed, untracked, NgZone, inject } from '@angular/core';
11
+ import { animateRotation } from '../../core/utils/svg-animate.util';
12
+ const angle = ([a, b], [c, d], [e, f]) => (Math.atan2(f - d, e - c) - Math.atan2(b - d, a - c) + 3 * Math.PI) % (2 * Math.PI) - Math.PI;
13
+ let SvgRacesteerComponent = class SvgRacesteerComponent {
14
+ rotatingDial = viewChild.required('rotatingDial');
15
+ awaIndicator = viewChild.required('awaIndicator');
16
+ twaIndicator = viewChild.required('twaIndicator');
17
+ wptIndicator = viewChild.required('wptIndicator');
18
+ setIndicator = viewChild.required('setIndicator');
19
+ cogIndicator = viewChild.required('cogIndicator');
20
+ compassHeading = input.required();
21
+ courseOverGroundAngle = input(undefined);
22
+ courseOverGroundEnabled = input.required();
23
+ trueWindAngle = input.required();
24
+ twsEnabled = input.required();
25
+ trueWindSpeed = input.required();
26
+ trueWindSpeedUnit = input.required();
27
+ appWindAngle = input.required();
28
+ awsEnabled = input.required();
29
+ appWindSpeed = input.required();
30
+ appWindSpeedUnit = input.required();
31
+ laylineAngle = input(undefined);
32
+ closeHauledLineEnabled = input.required();
33
+ sailSetupEnabled = input.required();
34
+ windSectorEnabled = input.required();
35
+ driftEnabled = input.required();
36
+ driftSet = input(undefined);
37
+ driftFlow = input(undefined);
38
+ waypointAngle = input(undefined);
39
+ waypointEnabled = input.required();
40
+ trueWindMinHistoric = input(undefined);
41
+ trueWindMidHistoric = input(undefined);
42
+ trueWindMaxHistoric = input(undefined);
43
+ compass = { oldValue: 0, newValue: 0 };
44
+ twa = { oldValue: 0, newValue: 0 };
45
+ awa = { oldValue: 0, newValue: 0 };
46
+ wpt = { oldValue: 0, newValue: 0 };
47
+ cog = { oldValue: 0, newValue: 0 };
48
+ set = { oldValue: 0, newValue: 0 };
49
+ headingValue = "--";
50
+ appWindSpeedDisplay = computed(() => {
51
+ const appWindSpeed = this.appWindSpeed();
52
+ if (appWindSpeed == null)
53
+ return "--";
54
+ return appWindSpeed.toFixed(1);
55
+ });
56
+ trueWindSpeedDisplay = computed(() => {
57
+ const trueWindSpeed = this.trueWindSpeed();
58
+ if (trueWindSpeed == null)
59
+ return "--";
60
+ return trueWindSpeed.toFixed(1);
61
+ });
62
+ trueWindHeading = 0;
63
+ waypointActive = signal(false);
64
+ flow = computed(() => {
65
+ const flow = this.driftFlow();
66
+ if (flow == null)
67
+ return "--";
68
+ return flow.toFixed(1);
69
+ });
70
+ //laylines - Close-Hauled lines
71
+ portLaylinePrev = 0;
72
+ stbdLaylinePrev = 0;
73
+ portLaylineAnimId = null;
74
+ stbdLaylineAnimId = null;
75
+ closeHauledLinePortPath = "M 500,500 500,500";
76
+ closeHauledLineStbdPath = "M 500,500 500,500";
77
+ //WindSectors
78
+ portSectorPrev = { min: 0, mid: 0, max: 0 };
79
+ stbdSectorPrev = { min: 0, mid: 0, max: 0 };
80
+ portSectorAnimId = null;
81
+ stbdSectorAnimId = null;
82
+ portWindSectorPath = "";
83
+ stbdWindSectorPath = "";
84
+ // Rotation Animation
85
+ animationFrameIds = new WeakMap();
86
+ ngZone = inject(NgZone);
87
+ CENTER = 500;
88
+ RADIUS = 350;
89
+ ANIMATION_DURATION = 1000;
90
+ constructor() {
91
+ effect(() => {
92
+ const waypoint = this.waypointEnabled();
93
+ untracked(() => {
94
+ this.waypointActive.set(waypoint);
95
+ });
96
+ });
97
+ effect(() => {
98
+ const heading = parseFloat(this.compassHeading().toFixed(0));
99
+ if (heading === null)
100
+ return;
101
+ untracked(() => {
102
+ this.compass.oldValue = this.compass.newValue;
103
+ this.compass.newValue = heading;
104
+ this.headingValue = heading.toString();
105
+ if (this.rotatingDial()?.nativeElement) {
106
+ animateRotation(this.rotatingDial().nativeElement, -this.compass.oldValue, -this.compass.newValue, this.ANIMATION_DURATION, undefined, this.animationFrameIds, undefined, this.ngZone);
107
+ this.updateCloseHauledLines();
108
+ this.updateWindSectors();
109
+ }
110
+ });
111
+ });
112
+ effect(() => {
113
+ const cogAngle = parseFloat(this.courseOverGroundAngle().toFixed(0));
114
+ if (cogAngle == null)
115
+ return;
116
+ untracked(() => {
117
+ this.cog.oldValue = this.cog.newValue;
118
+ this.cog.newValue = cogAngle - this.compass.newValue;
119
+ if (this.cogIndicator()?.nativeElement) {
120
+ animateRotation(this.cogIndicator().nativeElement, this.cog.oldValue, this.cog.newValue, this.ANIMATION_DURATION, undefined, this.animationFrameIds, undefined, this.ngZone);
121
+ }
122
+ });
123
+ });
124
+ effect(() => {
125
+ const wptAngle = this.waypointAngle();
126
+ untracked(() => {
127
+ if (!wptAngle) {
128
+ this.waypointActive.set(false);
129
+ return;
130
+ }
131
+ if (this.waypointEnabled()) {
132
+ this.waypointActive.set(true);
133
+ }
134
+ else {
135
+ this.waypointActive.set(false);
136
+ }
137
+ this.wpt.oldValue = this.wpt.newValue;
138
+ this.wpt.newValue = wptAngle;
139
+ if (this.wptIndicator()?.nativeElement) {
140
+ animateRotation(this.wptIndicator().nativeElement, this.wpt.oldValue, this.wpt.newValue, this.ANIMATION_DURATION, undefined, this.animationFrameIds, undefined, this.ngZone);
141
+ }
142
+ });
143
+ });
144
+ effect(() => {
145
+ const appWindAngle = parseFloat(this.appWindAngle().toFixed(0));
146
+ if (appWindAngle == null)
147
+ return;
148
+ untracked(() => {
149
+ this.awa.oldValue = this.awa.newValue;
150
+ this.awa.newValue = appWindAngle;
151
+ if (this.awaIndicator()?.nativeElement) {
152
+ animateRotation(this.awaIndicator().nativeElement, this.awa.oldValue, this.awa.newValue, this.ANIMATION_DURATION, undefined, this.animationFrameIds, undefined, this.ngZone);
153
+ }
154
+ });
155
+ });
156
+ effect(() => {
157
+ const trueWindAngle = parseFloat(this.trueWindAngle().toFixed(0));
158
+ if (trueWindAngle == null)
159
+ return;
160
+ untracked(() => {
161
+ this.twa.oldValue = this.twa.newValue;
162
+ this.trueWindHeading = trueWindAngle;
163
+ this.twa.newValue = this.addHeading(this.trueWindHeading, (this.compass.newValue * -1));
164
+ if (this.twaIndicator()?.nativeElement) {
165
+ animateRotation(this.twaIndicator().nativeElement, this.twa.oldValue, this.twa.newValue, this.ANIMATION_DURATION, undefined, this.animationFrameIds, undefined, this.ngZone);
166
+ this.updateCloseHauledLines();
167
+ }
168
+ });
169
+ });
170
+ effect(() => {
171
+ const driftSet = parseFloat(this.driftSet().toFixed(0));
172
+ if (driftSet == null)
173
+ return;
174
+ untracked(() => {
175
+ this.set.oldValue = this.set.newValue;
176
+ this.set.newValue = driftSet;
177
+ if (this.setIndicator()?.nativeElement) {
178
+ animateRotation(this.setIndicator().nativeElement, this.set.oldValue, this.set.newValue, this.ANIMATION_DURATION, undefined, this.animationFrameIds, undefined, this.ngZone);
179
+ }
180
+ });
181
+ });
182
+ }
183
+ updateCloseHauledLines() {
184
+ if (!this.closeHauledLineEnabled())
185
+ return;
186
+ // Animate Port Layline
187
+ const portLaylineRotate = this.addHeading(Number(this.awa.newValue), this.laylineAngle() * -1);
188
+ this.animateLayline(this.portLaylinePrev, portLaylineRotate, true);
189
+ this.portLaylinePrev = portLaylineRotate;
190
+ // Animate Starboard Layline
191
+ const stbdLaylineRotate = this.addHeading(Number(this.awa.newValue), this.laylineAngle());
192
+ this.animateLayline(this.stbdLaylinePrev, stbdLaylineRotate, false);
193
+ this.stbdLaylinePrev = stbdLaylineRotate;
194
+ }
195
+ animateLayline(from, to, isPort) {
196
+ // Cancel any previous animation for this layline
197
+ if (isPort && this.portLaylineAnimId)
198
+ cancelAnimationFrame(this.portLaylineAnimId);
199
+ if (!isPort && this.stbdLaylineAnimId)
200
+ cancelAnimationFrame(this.stbdLaylineAnimId);
201
+ const duration = this.ANIMATION_DURATION;
202
+ const start = performance.now();
203
+ const ease = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
204
+ const animate = (now) => {
205
+ const elapsed = now - start;
206
+ const progress = Math.min(elapsed / duration, 1);
207
+ const eased = ease(progress);
208
+ // Interpolate angle
209
+ let delta = to - from;
210
+ if (delta > 180)
211
+ delta -= 360;
212
+ if (delta < -180)
213
+ delta += 360;
214
+ const currentAngle = (from + delta * eased + 360) % 360;
215
+ // Calculate endpoint
216
+ const radian = (currentAngle * Math.PI) / 180;
217
+ const x = Math.floor(this.RADIUS * Math.sin(radian) + this.CENTER);
218
+ const y = Math.floor((this.RADIUS * Math.cos(radian) * -1) + this.CENTER);
219
+ if (isPort) {
220
+ this.closeHauledLinePortPath = `M ${this.CENTER},${this.CENTER} L ${x},${y}`;
221
+ }
222
+ else {
223
+ this.closeHauledLineStbdPath = `M ${this.CENTER},${this.CENTER} L ${x},${y}`;
224
+ }
225
+ if (progress < 1) {
226
+ const id = requestAnimationFrame(animate);
227
+ if (isPort)
228
+ this.portLaylineAnimId = id;
229
+ else
230
+ this.stbdLaylineAnimId = id;
231
+ }
232
+ else {
233
+ if (isPort)
234
+ this.portLaylineAnimId = null;
235
+ else
236
+ this.stbdLaylineAnimId = null;
237
+ }
238
+ };
239
+ const id = requestAnimationFrame(animate);
240
+ if (isPort)
241
+ this.portLaylineAnimId = id;
242
+ else
243
+ this.stbdLaylineAnimId = id;
244
+ }
245
+ windSectorsInitialized = false;
246
+ updateWindSectors() {
247
+ if (!this.windSectorEnabled() ||
248
+ this.trueWindMinHistoric() == null ||
249
+ this.trueWindMidHistoric() == null ||
250
+ this.trueWindMaxHistoric() == null) {
251
+ return;
252
+ }
253
+ const portNew = {
254
+ min: this.trueWindMinHistoric(),
255
+ mid: this.trueWindMidHistoric(),
256
+ max: this.trueWindMaxHistoric()
257
+ };
258
+ const stbdNew = {
259
+ min: this.trueWindMinHistoric(),
260
+ mid: this.trueWindMidHistoric(),
261
+ max: this.trueWindMaxHistoric()
262
+ };
263
+ if (!this.windSectorsInitialized) {
264
+ this.portSectorPrev = portNew;
265
+ this.stbdSectorPrev = stbdNew;
266
+ this.windSectorsInitialized = true;
267
+ // Draw in place, no animation
268
+ this.animateWindSector(portNew, portNew, true);
269
+ this.animateWindSector(stbdNew, stbdNew, false);
270
+ return;
271
+ }
272
+ // Animate as usual
273
+ this.animateWindSector(this.portSectorPrev, portNew, true);
274
+ this.animateWindSector(this.stbdSectorPrev, stbdNew, false);
275
+ this.portSectorPrev = portNew;
276
+ this.stbdSectorPrev = stbdNew;
277
+ }
278
+ animateWindSector(from, to, isPort) {
279
+ if (isPort && this.portSectorAnimId)
280
+ cancelAnimationFrame(this.portSectorAnimId);
281
+ if (!isPort && this.stbdSectorAnimId)
282
+ cancelAnimationFrame(this.stbdSectorAnimId);
283
+ const duration = this.ANIMATION_DURATION;
284
+ const start = performance.now();
285
+ const ease = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
286
+ const animate = (now) => {
287
+ const elapsed = now - start;
288
+ const progress = Math.min(elapsed / duration, 1);
289
+ const eased = ease(progress);
290
+ // Interpolate each angle
291
+ const lerp = (a, b) => a + (b - a) * eased;
292
+ const min = lerp(from.min, to.min);
293
+ const mid = lerp(from.mid, to.mid);
294
+ const max = lerp(from.max, to.max);
295
+ // Calculate path
296
+ const minAngle = this.addHeading(this.addHeading(min, Number(this.compass.newValue) * -1), this.laylineAngle() * (isPort ? -1 : 1));
297
+ const midAngle = this.addHeading(this.addHeading(mid, Number(this.compass.newValue) * -1), this.laylineAngle() * (isPort ? -1 : 1));
298
+ const maxAngle = this.addHeading(this.addHeading(max, Number(this.compass.newValue) * -1), this.laylineAngle() * (isPort ? -1 : 1));
299
+ const minX = this.RADIUS * Math.sin((minAngle * Math.PI) / 180) + this.CENTER;
300
+ const minY = (this.RADIUS * Math.cos((minAngle * Math.PI) / 180) * -1) + this.CENTER;
301
+ const midX = this.RADIUS * Math.sin((midAngle * Math.PI) / 180) + this.CENTER;
302
+ const midY = (this.RADIUS * Math.cos((midAngle * Math.PI) / 180) * -1) + this.CENTER;
303
+ const maxX = this.RADIUS * Math.sin((maxAngle * Math.PI) / 180) + this.CENTER;
304
+ const maxY = (this.RADIUS * Math.cos((maxAngle * Math.PI) / 180) * -1) + this.CENTER;
305
+ const largeArcFlag = Math.abs(angle([minX, minY], [midX, midY], [maxX, maxY])) > Math.PI / 2 ? 0 : 1;
306
+ const sweepFlag = angle([maxX, maxY], [minX, minY], [midX, midY]) > 0 ? 0 : 1;
307
+ const path = `M ${this.CENTER},${this.CENTER} L ${minX},${minY} A ${this.RADIUS},${this.RADIUS} 0 ${largeArcFlag} ${sweepFlag} ${maxX},${maxY} z`;
308
+ if (isPort) {
309
+ this.portWindSectorPath = path;
310
+ }
311
+ else {
312
+ this.stbdWindSectorPath = path;
313
+ }
314
+ if (progress < 1) {
315
+ const id = requestAnimationFrame(animate);
316
+ if (isPort)
317
+ this.portSectorAnimId = id;
318
+ else
319
+ this.stbdSectorAnimId = id;
320
+ }
321
+ else {
322
+ if (isPort)
323
+ this.portSectorAnimId = null;
324
+ else
325
+ this.stbdSectorAnimId = null;
326
+ }
327
+ };
328
+ const id = requestAnimationFrame(animate);
329
+ if (isPort)
330
+ this.portSectorAnimId = id;
331
+ else
332
+ this.stbdSectorAnimId = id;
333
+ }
334
+ addHeading(h1 = 0, h2 = 0) {
335
+ let h3 = h1 + h2;
336
+ while (h3 > 359) {
337
+ h3 = h3 - 359;
338
+ }
339
+ while (h3 < 0) {
340
+ h3 = h3 + 359;
341
+ }
342
+ return h3;
343
+ }
344
+ ngOnDestroy() {
345
+ // Cancel layline animations
346
+ if (this.portLaylineAnimId)
347
+ cancelAnimationFrame(this.portLaylineAnimId);
348
+ if (this.stbdLaylineAnimId)
349
+ cancelAnimationFrame(this.stbdLaylineAnimId);
350
+ this.portLaylineAnimId = null;
351
+ this.stbdLaylineAnimId = null;
352
+ // Cancel wind sector animations
353
+ if (this.portSectorAnimId)
354
+ cancelAnimationFrame(this.portSectorAnimId);
355
+ if (this.stbdSectorAnimId)
356
+ cancelAnimationFrame(this.stbdSectorAnimId);
357
+ this.portSectorAnimId = null;
358
+ this.stbdSectorAnimId = null;
359
+ // Cancel any animateRotation frames tracked in WeakMap for known elements
360
+ const els = [
361
+ this.rotatingDial(),
362
+ this.awaIndicator(),
363
+ this.twaIndicator(),
364
+ this.wptIndicator(),
365
+ this.setIndicator(),
366
+ this.cogIndicator(),
367
+ ];
368
+ for (const ref of els) {
369
+ const el = ref?.nativeElement;
370
+ if (!el)
371
+ continue;
372
+ const id = this.animationFrameIds.get(el);
373
+ if (id)
374
+ cancelAnimationFrame(id);
375
+ this.animationFrameIds.delete(el);
376
+ }
377
+ }
378
+ };
379
+ SvgRacesteerComponent = __decorate([
380
+ Component({
381
+ selector: 'svg-racesteer',
382
+ templateUrl: './svg-racesteer.component.svg',
383
+ styleUrl: './svg-racesteer.component.scss',
384
+ imports: []
385
+ }),
386
+ __metadata("design:paramtypes", [])
387
+ ], SvgRacesteerComponent);
388
+ export { SvgRacesteerComponent };
389
+ //# sourceMappingURL=svg-racesteer.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-racesteer.component.js","sourceRoot":"","sources":["../../../../../../src/app/widgets/svg-racesteer/svg-racesteer.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { TestBed, waitForAsync } from '@angular/core/testing';
2
+ import { SvgRacesteerComponent } from './svg-racesteer.component';
3
+ describe('SvgRacesteerComponent', () => {
4
+ let component;
5
+ let fixture;
6
+ beforeEach(waitForAsync(() => {
7
+ TestBed.configureTestingModule({
8
+ imports: [SvgRacesteerComponent]
9
+ })
10
+ .compileComponents();
11
+ }));
12
+ beforeEach(() => {
13
+ fixture = TestBed.createComponent(SvgRacesteerComponent);
14
+ component = fixture.componentInstance;
15
+ fixture.detectChanges();
16
+ });
17
+ it('should be created', () => {
18
+ expect(component).toBeTruthy();
19
+ });
20
+ });
21
+ //# sourceMappingURL=svg-racesteer.component.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-racesteer.component.spec.js","sourceRoot":"","sources":["../../../../../../src/app/widgets/svg-racesteer/svg-racesteer.component.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,SAAgC,CAAC;IACrC,IAAI,OAAgD,CAAC;IAErD,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE;QAC3B,OAAO,CAAC,sBAAsB,CAAC;YAC/B,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;aACG,iBAAiB,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC,CAAC;IAEJ,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QACzD,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACtC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}