@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,138 @@
1
+ /**
2
+ * Normalizes a value to a range from 0 to 1 based on the specified scale type.
3
+ *
4
+ * @param V - The value to normalize.
5
+ * @param L - The lower limit of the range to normalize to.
6
+ * @param U - The upper limit of the range to normalize to.
7
+ * @param scaleType - The type of scale to use. Can be 'linear', 'logarithmic', 'squareroot', or 'power'.
8
+ * @param P - The power to use for the 'power' scale type. This parameter is optional and is only used when scaleType is 'power'.
9
+ *
10
+ * @returns The normalized value.
11
+ *
12
+ * @throws {Error} If an invalid scaleType is provided.
13
+ */
14
+ export function normalizeDataToScaleType(V, L, U, scaleType, P) {
15
+ if (scaleType === 'logarithmic' || scaleType === 'squareroot' || scaleType === 'power') {
16
+ if (V < 0) {
17
+ console.warn(`Logarithmic scale cannot handle non-positive values. Received: ${V}`);
18
+ V = 0.00001; // or use another approach
19
+ }
20
+ if (V === 0) {
21
+ console.warn(`Value (V) is zero. Setting to 0.00001 to avoid mathematical issues.`);
22
+ V = 0.00001;
23
+ }
24
+ if (L === 0) {
25
+ console.warn(`Lower bound (L) is zero. Setting to 0.00001 to avoid mathematical issues.`);
26
+ L = 0.00001;
27
+ }
28
+ if (U === 0) {
29
+ console.warn(`Upper bound (U) is zero. Setting to 0.00001 to avoid mathematical issues.`);
30
+ U = 0.00001;
31
+ }
32
+ }
33
+ switch (scaleType) {
34
+ case 'linear':
35
+ return linearScale(V, L, U);
36
+ case 'logarithmic':
37
+ return logarithmicScale(V, L, U);
38
+ case 'squareroot':
39
+ return squareRootScale(V, L, U);
40
+ case 'power':
41
+ if (P === undefined) {
42
+ throw new Error('P is required for power scale');
43
+ }
44
+ return powerScale(V, L, U, P);
45
+ default:
46
+ throw new Error(`Invalid scale type: ${scaleType}`);
47
+ }
48
+ }
49
+ /**
50
+ * Scales a given value within a specified range to a normalized range between 0 and 1.
51
+ *
52
+ * @param {number} V - The value to be scaled.
53
+ * @param {number} L - The lower limit of the range.
54
+ * @param {number} U - The upper limit of the range.
55
+ * @returns {number} The scaled value, normalized to a range between 0 and 1.
56
+ * @throws {Error} Throws an error if the upper limit and lower limit are the same (to prevent division by zero).
57
+ */
58
+ function linearScale(V, L, U) {
59
+ if (U === L) {
60
+ throw new Error('Upper and lower limits cannot be the same');
61
+ }
62
+ return (V - L) / (U - L);
63
+ }
64
+ /**
65
+ * Scales a given value within a specified range to a normalized range between 0 and 1 using a logarithmic scale.
66
+ *
67
+ * @param {number} V - The value to be scaled.
68
+ * @param {number} L - The lower limit of the range.
69
+ * @param {number} U - The upper limit of the range.
70
+ * @returns {number} The scaled value, normalized to a range between 0 and 1.
71
+ * @throws {Error} Throws an error if the upper limit and lower limit are the same (to prevent division by zero).
72
+ * @throws {Error} Throws an error if any of the values are less than or equal to zero (as logarithm of non-positive numbers is undefined).
73
+ */
74
+ function logarithmicScale(V, L, U) {
75
+ if (U === L) {
76
+ throw new Error('Upper and lower limits cannot be the same');
77
+ }
78
+ if (V <= 0 || L <= 0 || U <= 0) {
79
+ throw new Error('Values must be greater than 0 for logarithmic scale');
80
+ }
81
+ return (Math.log(V) - Math.log(L)) / (Math.log(U) - Math.log(L));
82
+ }
83
+ /**
84
+ * Scales a given value within a specified range to a normalized range between 0 and 1 using a logarithmic scale.
85
+ *
86
+ * @param {number} V - The value to be scaled.
87
+ * @param {number} L - The lower limit of the range.
88
+ * @param {number} U - The upper limit of the range.
89
+ * @returns {number} The scaled value, normalized to a range between 0 and 1.
90
+ * @throws {Error} Throws an error if the upper limit and lower limit are the same (to prevent division by zero).
91
+ * @throws {Error} Throws an error if any of the values are less than or equal to zero (as logarithm of non-positive numbers is undefined).
92
+ */
93
+ function squareRootScale(V, L, U) {
94
+ if (U === L) {
95
+ throw new Error('Upper and lower limits cannot be the same');
96
+ }
97
+ if (V < 0 || L < 0 || U < 0) {
98
+ throw new Error('Values must be non-negative for square root scale');
99
+ }
100
+ return (Math.sqrt(V) - Math.sqrt(L)) / (Math.sqrt(U) - Math.sqrt(L));
101
+ }
102
+ /**
103
+ * Scales a given value within a specified range to a normalized range between 0 and 1 using a power scale.
104
+ *
105
+ * @param {number} V - The value to be scaled.
106
+ * @param {number} L - The lower limit of the range.
107
+ * @param {number} U - The upper limit of the range.
108
+ * @param {number} P - The power to which the values are raised.
109
+ * @returns {number} The scaled value, normalized to a range between 0 and 1.
110
+ * @throws {Error} Throws an error if the upper limit and lower limit are the same (to prevent division by zero).
111
+ * @throws {Error} Throws an error if any of the values are negative (as power of negative numbers can result in complex numbers).
112
+ */
113
+ function powerScale(V, L, U, P) {
114
+ if (U === L) {
115
+ throw new Error('Upper and lower limits cannot be the same');
116
+ }
117
+ if (V < 0 || L < 0 || U < 0) {
118
+ throw new Error('Values must be non-negative for power scale');
119
+ }
120
+ return (Math.pow(V, P) - Math.pow(L, P)) / (Math.pow(U, P) - Math.pow(L, P));
121
+ }
122
+ /**
123
+ * Converts a radian value to a degree value.
124
+ *
125
+ * The input is expected to be in the range of -π to +π.
126
+ * The output will be in the range of 0 to 360, where 0 radian is equivalent to 0 degree.
127
+ *
128
+ * @param {number} radian - The radian value to convert. Should be in the range -π to +π.
129
+ * @returns {number} The converted degree value, in the range 0 to 360.
130
+ */
131
+ export function convertSplitRadianToDegree(radian) {
132
+ let degree = radian * (180 / Math.PI);
133
+ if (degree < 0) {
134
+ degree = 360 + degree;
135
+ }
136
+ return degree;
137
+ }
138
+ //# sourceMappingURL=dataTransforms.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTransforms.util.js","sourceRoot":"","sources":["../../../../../../src/app/core/utils/dataTransforms.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ const DEFAULTS = {
2
+ minDist: 230,
3
+ maxDur: 550,
4
+ minVelocity: 1.5, // require even faster swipe (1500px/s)
5
+ axisDominance: 1.8,
6
+ deadzoneMs: 160,
7
+ purityRatio: 0.80,
8
+ lockThreshold: 28,
9
+ directionLockAngle: 25,
10
+ reversalPrimaryThreshold: 34,
11
+ };
12
+ export function generateSwipeScript(config) {
13
+ const opts = { ...DEFAULTS, ...config };
14
+ // Inline script as string, interpolating config
15
+ return `(() => {
16
+ if (window.__kipSwipeInit) return; window.__kipSwipeInit = true;
17
+ const instanceId='${opts.instanceId}';
18
+ let pointerId=null; let startX=0; let startY=0; let startT=0; let peakPrimary=0; let peakCross=0; let cancelled=false;
19
+ let lockedAxis=null; let lockedPrimarySign=0; let reversed=false;
20
+ const minDist=${opts.minDist};
21
+ const maxDur=${opts.maxDur};
22
+ const minVelocity=${opts.minVelocity};
23
+ const axisDominance=${opts.axisDominance};
24
+ const deadzoneMs=${opts.deadzoneMs};
25
+ const purityRatio=${opts.purityRatio};
26
+ const lockThreshold=${opts.lockThreshold};
27
+ const directionLockAngle=${opts.directionLockAngle};
28
+ const reversalPrimaryThreshold=${opts.reversalPrimaryThreshold};
29
+ function reset(){pointerId=null; cancelled=false; lockedAxis=null; lockedPrimarySign=0; reversed=false;}
30
+ function onDown(e){ if(pointerId!==null) return; pointerId=e.pointerId; startX=e.clientX; startY=e.clientY; startT=performance.now(); peakPrimary=0; peakCross=0; cancelled=false; lockedAxis=null; lockedPrimarySign=0; reversed=false; }
31
+ function track(e){ if(e.pointerId!==pointerId||cancelled) return; const dx=e.clientX-startX; const dy=e.clientY-startY; const adx=Math.abs(dx); const ady=Math.abs(dy); const primary=adx>ady?adx:ady; const cross=adx>ady?ady:adx; peakPrimary=Math.max(peakPrimary,primary); peakCross=Math.max(peakCross,cross);
32
+ if(!lockedAxis && primary>=lockThreshold){ lockedAxis = adx>ady?'x':'y'; lockedPrimarySign = lockedAxis==='x' ? (Math.sign(dx)||1) : (Math.sign(dy)||1); }
33
+ if(lockedAxis){
34
+ const angleRad = Math.atan2(lockedAxis==='x'?ady:adx, lockedAxis==='x'?adx:ady); // angle from primary axis
35
+ const angleDeg = angleRad * 180 / Math.PI;
36
+ if(angleDeg > directionLockAngle){ cancelled=true; return; }
37
+ if(lockedAxis==='x' && Math.sign(dx) && Math.sign(dx)!==lockedPrimarySign && Math.abs(dx) > reversalPrimaryThreshold){ reversed=true; cancelled=true; return; }
38
+ if(lockedAxis==='y' && Math.sign(dy) && Math.sign(dy)!==lockedPrimarySign && Math.abs(dy) > reversalPrimaryThreshold){ reversed=true; cancelled=true; return; }
39
+ }
40
+ if (!cancelled && peakCross>42 && peakCross*axisDominance>peakPrimary) { cancelled=true; }
41
+ }
42
+ function onUp(e){ if(e.pointerId!==pointerId) return; const endT=performance.now(); const dt=endT-startT; const dx=e.clientX-startX; const dy=e.clientY-startY; const adx=Math.abs(dx); const ady=Math.abs(dy); const dist=Math.hypot(dx,dy); const velocity=dist/dt; const primary=adx>ady?adx:ady; const cross=adx>ady?ady:adx; const purity= primary? (primary/dist):0; if(!cancelled && !reversed && dt>=deadzoneMs && dt<=maxDur && dist>=minDist && velocity>=minVelocity && purity>=purityRatio && primary/Math.max(cross,1)>=axisDominance){ if(adx>ady){ window.parent.postMessage({gesture: dx>0?'swiperight':'swipeleft', eventData:{dx,dy,duration:dt,velocity,instanceId}}, '*'); } else { window.parent.postMessage({gesture: dy>0?'swipedown':'swipeup', eventData:{dx,dy,duration:dt,velocity,instanceId}}, '*'); } } reset(); }
43
+ function onCancel(e){ if(e.pointerId===pointerId) reset(); }
44
+ document.addEventListener('pointerdown', onDown, {passive:true});
45
+ document.addEventListener('pointermove', track, {passive:true});
46
+ document.addEventListener('pointerup', onUp, {passive:true});
47
+ document.addEventListener('pointercancel', onCancel, {passive:true});
48
+ document.addEventListener('keydown', (event) => {
49
+ if (event.ctrlKey && event.shiftKey && ['ArrowLeft','ArrowRight','ArrowUp','ArrowDown','E','F','N'].includes(event.key)) {
50
+ window.parent.postMessage({ type:'keydown', keyEventData:{ key:event.key, ctrlKey:event.ctrlKey, shiftKey:event.shiftKey, instanceId }}, '*');
51
+ }
52
+ });
53
+ })();`;
54
+ }
55
+ //# sourceMappingURL=iframe-inputs-inject.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-inputs-inject.utils.js","sourceRoot":"","sources":["../../../../../../src/app/core/utils/iframe-inputs-inject.utils.ts"],"names":[],"mappings":"AAeA,MAAM,QAAQ,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,GAAG,EAAE,uCAAuC;IACzD,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,EAAE;IACtB,wBAAwB,EAAE,EAAE;CAC7B,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IACxC,gDAAgD;IAChD,OAAO;;wBAEe,IAAI,CAAC,UAAU;;;oBAGnB,IAAI,CAAC,OAAO;mBACb,IAAI,CAAC,MAAM;wBACN,IAAI,CAAC,WAAW;0BACd,IAAI,CAAC,aAAa;uBACrB,IAAI,CAAC,UAAU;wBACd,IAAI,CAAC,WAAW;0BACd,IAAI,CAAC,aAAa;+BACb,IAAI,CAAC,kBAAkB;qCACjB,IAAI,CAAC,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;QAyB1D,CAAC;AACT,CAAC"}
@@ -0,0 +1,303 @@
1
+ /**
2
+ * SVG Animation Utilities
3
+ * -------------------------------------------------------------
4
+ * Helpers for lightweight, allocation‑minimal animations using requestAnimationFrame.
5
+ * All mutative work (DOM attribute updates) can run outside Angular's zone to avoid
6
+ * triggering change detection on every frame. Pass an NgZone instance as the final
7
+ * argument (where supported) to opt into outside‑zone execution; omit for pure / non‑Angular usage.
8
+ *
9
+ * Available helpers:
10
+ * - animateRotation: Smoothly rotate a <g> element (or any element) via transform rotate().
11
+ * - animateRudderWidth: Smoothly animate an <rect> width attribute.
12
+ * - animateAngleTransition: Interpolate a scalar angle value (degrees) with wrap handling.
13
+ * - animateSectorTransition: Interpolate a set of three angles (min/mid/max) simultaneously.
14
+ *
15
+ * Cancellation patterns:
16
+ * - All functions return (or internally store) a requestAnimationFrame id. Use cancelAnimationFrame(id) to stop early.
17
+ * - For animateRotation / animateRudderWidth you may supply a WeakMap<Element, number> (frameMap); if a new
18
+ * animation starts for the same element, the previous id is auto‑cancelled.
19
+ * - For custom callers of animateAngleTransition / animateSectorTransition keep and cancel the returned id manually.
20
+ *
21
+ * Performance notes:
22
+ * - Easing function is cubic in/out to match existing widget feel.
23
+ * - Angle interpolation normalizes shortest path (avoids >180° spins) where relevant.
24
+ * - No setTimeout fallbacks; if you need reduced frame rate sampling, throttle at the call site.
25
+ *
26
+ * Memory / GC:
27
+ * - WeakMap avoids leaks for element‑bound animations; entries are removed when animations finish.
28
+ *
29
+ * Example (rotation outside zone with tracking & completion):
30
+ * const ngZone = inject(NgZone);
31
+ * const frames = new WeakMap<SVGGElement, number>();
32
+ * animateRotation(el, oldAngle, newAngle, 900, () => console.log('done'), frames, undefined, ngZone);
33
+ */
34
+ /**
35
+ * Smoothly animates the rotation of an SVG <g> element from a starting angle to a target angle.
36
+ *
37
+ * The function uses requestAnimationFrame for smooth animation and cubic easing for a natural feel.
38
+ * It can optionally manage and cancel overlapping animations for the same element using a WeakMap.
39
+ *
40
+ * @param element The SVG <g> (or other) element to rotate.
41
+ * @param from The starting angle in degrees.
42
+ * @param to The target angle in degrees.
43
+ * @param duration Animation duration in milliseconds (default: 1000).
44
+ * @param onDone Optional callback to run when the animation completes.
45
+ * @param frameMap Optional WeakMap<element, frameId> to auto-cancel previous animation on same element.
46
+ * @param center Optional [cx, cy] array for the rotation center (default: [500, 500]).
47
+ * @param ngZone Optional Angular NgZone. If provided, frames run outside Angular's zone to avoid per-frame
48
+ * change detection; onDone (if any) is re-entered inside the zone. Omit for non-Angular usage.
49
+ *
50
+ * @example
51
+ * // 1. In your component, create a WeakMap to track animation frames:
52
+ * private animationFrameIds = new WeakMap<SVGGElement, number>();
53
+ *
54
+ * // 2. In your SVG template, assign a template reference variable to your <g> element:
55
+ * <g #rotatingDial> ... </g>
56
+ *
57
+ * // 3. In your component, get a reference to the element using viewChild:
58
+ * private readonly rotatingDial = viewChild.required<ElementRef<SVGGElement>>('rotatingDial');
59
+ *
60
+ * // 4. Use the utility to animate rotation (with custom center):
61
+ * import { animateRotation } from 'src/app/core/utils/svg-animate.util';
62
+ *
63
+ * // (A) Minimal (no tracking, no NgZone):
64
+ * animateRotation(el, oldAngle, newAngle);
65
+ *
66
+ * // (B) With WeakMap frame tracking & custom center:
67
+ * animateRotation(el, oldAngle, newAngle, 800, undefined, animationFrameIds, [400, 400]);
68
+ *
69
+ * // (C) Running rAF outside Angular zone (recommended in components):
70
+ * const ngZone = inject(NgZone);
71
+ * animateRotation(el, oldAngle, newAngle, 800, () => console.log('done'), animationFrameIds, [500, 500], ngZone);
72
+ *
73
+ * // (D) Cancel manually at any time:
74
+ * const id = animationFrameIds.get(el); if (id) cancelAnimationFrame(id);
75
+ */
76
+ export function animateRotation(element, from, to, duration = 1000, onDone, frameMap, center = [500, 500], ngZone) {
77
+ if (frameMap) {
78
+ const prevId = frameMap.get(element);
79
+ if (prevId)
80
+ cancelAnimationFrame(prevId);
81
+ }
82
+ // Read current angle from element if possible
83
+ const getCurrentAngle = () => {
84
+ const transform = element.getAttribute('transform');
85
+ if (transform) {
86
+ const match = /rotate\((-?\d+(\.\d+)?)/.exec(transform);
87
+ if (match)
88
+ return parseFloat(match[1]);
89
+ }
90
+ return from;
91
+ };
92
+ from = getCurrentAngle();
93
+ const normalize = (angle) => (angle + 360) % 360;
94
+ from = normalize(from);
95
+ to = normalize(to);
96
+ let delta = to - from;
97
+ if (delta > 180)
98
+ delta -= 360;
99
+ if (delta < -180)
100
+ delta += 360;
101
+ const easeInOutCubic = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
102
+ const runOutside = (fn) => ngZone ? ngZone.runOutsideAngular(fn) : fn();
103
+ const runInside = (fn) => ngZone ? ngZone.run(fn) : fn();
104
+ runOutside(() => {
105
+ const start = performance.now();
106
+ const animate = (now) => {
107
+ const elapsed = now - start;
108
+ const progress = Math.min(elapsed / duration, 1);
109
+ const eased = easeInOutCubic(progress);
110
+ const current = from + delta * eased;
111
+ element.setAttribute('transform', `rotate(${current} ${center[0]} ${center[1]})`);
112
+ if (progress < 1) {
113
+ const id = requestAnimationFrame(animate);
114
+ if (frameMap)
115
+ frameMap.set(element, id);
116
+ }
117
+ else {
118
+ element.setAttribute('transform', `rotate(${to} ${center[0]} ${center[1]})`);
119
+ if (onDone)
120
+ runInside(onDone);
121
+ if (frameMap)
122
+ frameMap.delete(element);
123
+ }
124
+ };
125
+ const id = requestAnimationFrame(animate);
126
+ if (frameMap)
127
+ frameMap.set(element, id);
128
+ });
129
+ }
130
+ /**
131
+ * Smoothly animates the width of an SVG <rect> element from a starting value to a target value.
132
+ *
133
+ * The function uses requestAnimationFrame for smooth animation and cubic easing for a natural feel.
134
+ * It can optionally manage and cancel overlapping animations for the same element using a WeakMap.
135
+ *
136
+ * @param element The SVG <rect> element to animate.
137
+ * @param from The starting width.
138
+ * @param to The target width.
139
+ * @param duration Animation duration in milliseconds (default: 500).
140
+ * @param onDone Optional callback to run when the animation completes.
141
+ * @param frameMap Optional WeakMap<element, frameId> to auto-cancel previous animation on same element.
142
+ *
143
+ * @example
144
+ * // 1. In your component, create a WeakMap to track animation frames:
145
+ * private animationFrameIds = new WeakMap<SVGRectElement, number>();
146
+ *
147
+ * // 2. In your SVG template, assign a template reference variable to your <rect> element:
148
+ * <rect #rudderWidth ... />
149
+ *
150
+ * // 3. In your component, get a reference to the element using viewChild:
151
+ * private readonly rudderWidth = viewChild.required<ElementRef<SVGRectElement>>('rudderWidth');
152
+ *
153
+ * // 4. Use the utility to animate width:
154
+ * import { animateRudderWidth } from 'src/app/core/utils/svg-animate.util';
155
+ *
156
+ * // (A) Simple:
157
+ * animateRudderWidth(rectEl, oldWidth, newWidth);
158
+ *
159
+ * // (B) Outside Angular zone + callback:
160
+ * const ngZone = inject(NgZone);
161
+ * animateRudderWidth(rectEl, oldWidth, newWidth, 500, () => console.log('done'), frameMap, ngZone);
162
+ *
163
+ * // (C) Manual cancel:
164
+ * const id = frameMap.get(rectEl); if (id) cancelAnimationFrame(id);
165
+ */
166
+ export function animateRudderWidth(element, from, to, duration = 500, onDone, frameMap, ngZone) {
167
+ if (frameMap) {
168
+ const prevId = frameMap.get(element);
169
+ if (prevId)
170
+ cancelAnimationFrame(prevId);
171
+ }
172
+ const runOutside = (fn) => ngZone ? ngZone.runOutsideAngular(fn) : fn();
173
+ const runInside = (fn) => ngZone ? ngZone.run(fn) : fn();
174
+ runOutside(() => {
175
+ const start = performance.now();
176
+ const delta = to - from;
177
+ const easeInOutCubic = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
178
+ const animate = (now) => {
179
+ const elapsed = now - start;
180
+ const progress = Math.min(elapsed / duration, 1);
181
+ const eased = easeInOutCubic(progress);
182
+ const current = from + delta * eased;
183
+ element.setAttribute('width', current.toString());
184
+ if (progress < 1) {
185
+ const id = requestAnimationFrame(animate);
186
+ if (frameMap)
187
+ frameMap.set(element, id);
188
+ }
189
+ else {
190
+ element.setAttribute('width', to.toString());
191
+ if (onDone)
192
+ runInside(onDone);
193
+ if (frameMap)
194
+ frameMap.delete(element);
195
+ }
196
+ };
197
+ const id = requestAnimationFrame(animate);
198
+ if (frameMap)
199
+ frameMap.set(element, id);
200
+ });
201
+ }
202
+ // ---- Generic path animation helpers (laylines & sectors) ----
203
+ /** Internal easing identical to other helpers */
204
+ const _easeInOutCubic = (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
205
+ /** Normalize angle to [0,360) */
206
+ const _norm = (a) => (a % 360 + 360) % 360;
207
+ /** Smallest signed delta (-180,180] */
208
+ const _angleDeltaSigned = (from, to) => {
209
+ let d = _norm(to) - _norm(from);
210
+ if (d > 180)
211
+ d -= 360;
212
+ if (d <= -180)
213
+ d += 360;
214
+ return d;
215
+ };
216
+ /**
217
+ * Animates an angle value (degrees) from "from" to "to" over duration using cubic easing.
218
+ * Calls apply(currentAngle) each frame (angle already normalized to [0,360)).
219
+ * If ngZone is provided, the loop runs outside Angular and onDone re-enters the zone.
220
+ * Returns the requestAnimationFrame id.
221
+ *
222
+ * @example
223
+ * // Layline angle inside component (outside zone):
224
+ * this.portLaylineAnimId = animateAngleTransition(
225
+ * prevAngle,
226
+ * nextAngle,
227
+ * 900,
228
+ * a => this.drawLayline(a, true),
229
+ * () => { this.portLaylineAnimId = null; },
230
+ * inject(NgZone)
231
+ * );
232
+ * // Cancel mid-animation:
233
+ * cancelAnimationFrame(this.portLaylineAnimId!);
234
+ */
235
+ export function animateAngleTransition(from, to, duration, apply, onDone, ngZone) {
236
+ const runOutside = (fn) => ngZone ? ngZone.runOutsideAngular(fn) : fn();
237
+ const runInside = (fn) => ngZone ? ngZone.run(fn) : fn();
238
+ let frameId = 0;
239
+ runOutside(() => {
240
+ const start = performance.now();
241
+ const delta = _angleDeltaSigned(from, to);
242
+ const base = _norm(from);
243
+ const step = (now) => {
244
+ const progress = Math.min((now - start) / duration, 1);
245
+ const eased = _easeInOutCubic(progress);
246
+ const current = base + delta * eased;
247
+ apply(_norm(current));
248
+ if (progress < 1) {
249
+ frameId = requestAnimationFrame(step);
250
+ }
251
+ else if (onDone) {
252
+ runInside(onDone);
253
+ }
254
+ };
255
+ frameId = requestAnimationFrame(step);
256
+ });
257
+ return frameId;
258
+ }
259
+ /** Linear interpolate sector angles */
260
+ const _lerpSector = (a, b, t) => ({
261
+ min: a.min + (b.min - a.min) * t,
262
+ mid: a.mid + (b.mid - a.mid) * t,
263
+ max: a.max + (b.max - a.max) * t,
264
+ });
265
+ /**
266
+ * Animates sector angles (min/mid/max) with easing.
267
+ * Each frame apply(current) receives interpolated angles (not normalized for wrapping; supply original domain if needed).
268
+ * If ngZone supplied, runs outside Angular.
269
+ *
270
+ * @example
271
+ * this.portSectorAnimId = animateSectorTransition(
272
+ * prevState,
273
+ * nextState,
274
+ * 900,
275
+ * s => this.portWindSectorPath = this.computeSectorPath(s, true),
276
+ * () => { this.portSectorAnimId = null; },
277
+ * inject(NgZone)
278
+ * );
279
+ * // Cancel:
280
+ * cancelAnimationFrame(this.portSectorAnimId!);
281
+ */
282
+ export function animateSectorTransition(from, to, duration, apply, onDone, ngZone) {
283
+ const runOutside = (fn) => ngZone ? ngZone.runOutsideAngular(fn) : fn();
284
+ const runInside = (fn) => ngZone ? ngZone.run(fn) : fn();
285
+ let frameId = 0;
286
+ runOutside(() => {
287
+ const start = performance.now();
288
+ const step = (now) => {
289
+ const progress = Math.min((now - start) / duration, 1);
290
+ const eased = _easeInOutCubic(progress);
291
+ apply(_lerpSector(from, to, eased));
292
+ if (progress < 1) {
293
+ frameId = requestAnimationFrame(step);
294
+ }
295
+ else if (onDone) {
296
+ runInside(onDone);
297
+ }
298
+ };
299
+ frameId = requestAnimationFrame(step);
300
+ });
301
+ return frameId;
302
+ }
303
+ //# sourceMappingURL=svg-animate.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-animate.util.js","sourceRoot":"","sources":["../../../../../../src/app/core/utils/svg-animate.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Returns a set of color values (main, dim, and dimmer) from the theme palette
3
+ * based on the provided color key.
4
+ *
5
+ * @param {string} color - The color key to retrieve from the theme palette.
6
+ * Supported keys: "contrast", "blue", "green", "pink", "orange", "purple", "yellow", "grey".
7
+ * @param {ITheme} theme - The KIP theme object containing color definitions. ie.: this.theme() from a widget.
8
+ * @returns {{ color: string, dim: string, dimmer: string }} An object with the main KIP theme color hex value,
9
+ * a dimmed version, and a dimmer version for the specified color key.
10
+ *
11
+ * palette = { color: '#2196f3', dim: '#90caf9', dimmer: '#e3f2fd' }
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * // As part of a widget theme signal object. Get the dim value for blue color::
16
+ * const hexColor = getColors('blue', this.theme()).dim;
17
+ * // or get the widget config's primary color hex value:
18
+ * const hexColor = getColors(this.widgetProperties.config.color, this.theme()).color;
19
+ * ```
20
+ */
21
+ export function getColors(color, theme) {
22
+ const themePalette = {
23
+ "contrast": { color: theme.contrast, dim: theme.contrastDim, dimmer: theme.contrastDimmer },
24
+ "blue": { color: theme.blue, dim: theme.blueDim, dimmer: theme.blueDimmer },
25
+ "green": { color: theme.green, dim: theme.greenDim, dimmer: theme.greenDimmer },
26
+ "pink": { color: theme.pink, dim: theme.pinkDim, dimmer: theme.pinkDimmer },
27
+ "orange": { color: theme.orange, dim: theme.orangeDim, dimmer: theme.orangeDimmer },
28
+ "purple": { color: theme.purple, dim: theme.purpleDim, dimmer: theme.purpleDimmer },
29
+ "yellow": { color: theme.yellow, dim: theme.yellowDim, dimmer: theme.yellowDimmer },
30
+ "grey": { color: theme.grey, dim: theme.greyDim, dimmer: theme.greyDimmer }
31
+ };
32
+ return themePalette[color];
33
+ }
34
+ //# sourceMappingURL=themeColors.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themeColors.utils.js","sourceRoot":"","sources":["../../../../../../src/app/core/utils/themeColors.utils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,KAAa;IACpD,MAAM,YAAY,GAAG;QACnB,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE;QAC3F,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE;QAC3E,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE;QAC/E,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE;QAC3E,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;QACnF,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;QACnF,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;QACnF,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE;KAC5E,CAAC;IACF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,17 @@
1
+ export class UUID {
2
+ /**
3
+ * Generates a new UUID using UUID.create()
4
+ *
5
+ * @static
6
+ * @return {*} {string} UUID
7
+ * @memberof UUID
8
+ */
9
+ static create() {
10
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
11
+ const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
12
+ return v.toString(16);
13
+ });
14
+ }
15
+ ;
16
+ }
17
+ //# sourceMappingURL=uuid.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.util.js","sourceRoot":"","sources":["../../../../../../src/app/core/utils/uuid.util.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,IAAI;IACf;;;;;;OAMG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAS,CAAC;YACvE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAC,EAAE,GAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,GAAG,GAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,CAAC;CACJ"}