@oicl/openbridge-webcomponents 0.0.7 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. package/.release-it.json +12 -0
  2. package/.storybook/main.ts +19 -0
  3. package/.storybook/preview.ts +11 -0
  4. package/.vscode/launch.json +16 -0
  5. package/CHANGELOG.md +106 -41
  6. package/README.md +8 -0
  7. package/__snapshots__/alert-icon--primary.png +0 -0
  8. package/__snapshots__/application-alert-button--notification.png +0 -0
  9. package/__snapshots__/application-alert-button--running.png +0 -0
  10. package/__snapshots__/application-notification-message--large-single-message.png +0 -0
  11. package/__snapshots__/application-notification-message--large.png +0 -0
  12. package/__snapshots__/application-notification-message--primary.png +0 -0
  13. package/__snapshots__/button-rich-button--bottom-with-boarder.png +0 -0
  14. package/__snapshots__/button-rich-button--bottom.png +0 -0
  15. package/__snapshots__/button-rich-button--center.png +0 -0
  16. package/__snapshots__/button-rich-button--double-line.png +0 -0
  17. package/__snapshots__/button-rich-button--multi-line.png +0 -0
  18. package/__snapshots__/button-rich-button--regular-no-icons.png +0 -0
  19. package/__snapshots__/button-rich-button--regular.png +0 -0
  20. package/__snapshots__/button-rich-button--single-line.png +0 -0
  21. package/__snapshots__/button-rich-button--top-with-boarder.png +0 -0
  22. package/__snapshots__/button-rich-button--top.png +0 -0
  23. package/__snapshots__/button-rich-button--with-graphic-border.png +0 -0
  24. package/__snapshots__/button-rich-button--with-graphic-info.png +0 -0
  25. package/__snapshots__/button-rich-button--with-graphic.png +0 -0
  26. package/__snapshots__/button-rich-button--with-status.png +0 -0
  27. package/__snapshots__/button-vendor-button--primary.png +0 -0
  28. package/__snapshots__/icons-icon--list.png +0 -0
  29. package/__snapshots__/icons-icon--use-font-color.png +0 -0
  30. package/custom-elements.json +2134 -531
  31. package/dist/components/alert-button/alert-button.css.js +4 -12
  32. package/dist/components/alert-button/alert-button.css.js.map +1 -1
  33. package/dist/components/alert-button/alert-button.d.ts +11 -1
  34. package/dist/components/alert-button/alert-button.d.ts.map +1 -1
  35. package/dist/components/alert-button/alert-button.js +21 -1
  36. package/dist/components/alert-button/alert-button.js.map +1 -1
  37. package/dist/components/alert-icon/alert-icon.d.ts +36 -0
  38. package/dist/components/alert-icon/alert-icon.d.ts.map +1 -0
  39. package/dist/components/alert-icon/alert-icon.js +84 -0
  40. package/dist/components/alert-icon/alert-icon.js.map +1 -0
  41. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-a.d.ts +2 -0
  42. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-a.d.ts.map +1 -0
  43. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-a.js +13 -0
  44. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-a.js.map +1 -0
  45. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-b.d.ts +2 -0
  46. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-b.d.ts.map +1 -0
  47. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-b.js +20 -0
  48. package/dist/components/alert-icon/icons/icon-14-alarm-silenced-b.js.map +1 -0
  49. package/dist/components/alert-icon/icons/icon-14-alarm-unack-a.d.ts +2 -0
  50. package/dist/components/alert-icon/icons/icon-14-alarm-unack-a.d.ts.map +1 -0
  51. package/dist/components/alert-icon/icons/icon-14-alarm-unack-a.js +12 -0
  52. package/dist/components/alert-icon/icons/icon-14-alarm-unack-a.js.map +1 -0
  53. package/dist/components/alert-icon/icons/icon-14-alarm-unack-b.d.ts +2 -0
  54. package/dist/components/alert-icon/icons/icon-14-alarm-unack-b.d.ts.map +1 -0
  55. package/dist/components/alert-icon/icons/icon-14-alarm-unack-b.js +19 -0
  56. package/dist/components/alert-icon/icons/icon-14-alarm-unack-b.js.map +1 -0
  57. package/dist/components/alert-icon/icons/icon-14-warning-unack-a.d.ts +2 -0
  58. package/dist/components/alert-icon/icons/icon-14-warning-unack-a.d.ts.map +1 -0
  59. package/dist/components/alert-icon/icons/icon-14-warning-unack-a.js +12 -0
  60. package/dist/components/alert-icon/icons/icon-14-warning-unack-a.js.map +1 -0
  61. package/dist/components/alert-icon/icons/icon-14-warning-unack-b.d.ts +2 -0
  62. package/dist/components/alert-icon/icons/icon-14-warning-unack-b.d.ts.map +1 -0
  63. package/dist/components/alert-icon/icons/icon-14-warning-unack-b.js +12 -0
  64. package/dist/components/alert-icon/icons/icon-14-warning-unack-b.js.map +1 -0
  65. package/dist/components/alert-topbar-element/alert-topbar-element.d.ts +13 -0
  66. package/dist/components/alert-topbar-element/alert-topbar-element.d.ts.map +1 -1
  67. package/dist/components/alert-topbar-element/alert-topbar-element.js +10 -0
  68. package/dist/components/alert-topbar-element/alert-topbar-element.js.map +1 -1
  69. package/dist/components/button/button.css.js +2 -2
  70. package/dist/components/navigation-item/navigation-item.css.js +2 -1
  71. package/dist/components/navigation-item/navigation-item.css.js.map +1 -1
  72. package/dist/components/notification-button/notification-button.css.js +1 -1
  73. package/dist/components/rich-button/rich-button.css.js +192 -0
  74. package/dist/components/rich-button/rich-button.css.js.map +1 -0
  75. package/dist/components/rich-button/rich-button.d.ts +33 -0
  76. package/dist/components/rich-button/rich-button.d.ts.map +1 -0
  77. package/dist/components/rich-button/rich-button.js +118 -0
  78. package/dist/components/rich-button/rich-button.js.map +1 -0
  79. package/dist/components/vendor-button/vendor-button.css.js +48 -0
  80. package/dist/components/vendor-button/vendor-button.css.js.map +1 -0
  81. package/dist/components/vendor-button/vendor-button.d.ts +13 -0
  82. package/dist/components/vendor-button/vendor-button.d.ts.map +1 -0
  83. package/dist/components/vendor-button/vendor-button.js +42 -0
  84. package/dist/components/vendor-button/vendor-button.js.map +1 -0
  85. package/dist/icons/{icon-07-target-radar.d.ts → icon-01-content-copy.d.ts} +3 -3
  86. package/dist/icons/{icon-07-target-radar.d.ts.map → icon-01-content-copy.d.ts.map} +1 -1
  87. package/dist/icons/{icon-07-target-radar.js → icon-01-content-copy.js} +10 -10
  88. package/dist/icons/icon-01-content-copy.js.map +1 -0
  89. package/dist/icons/{icon-07-target-ias-selected.d.ts → icon-01-content-cut.d.ts} +3 -3
  90. package/dist/icons/icon-01-content-cut.d.ts.map +1 -0
  91. package/dist/icons/icon-01-content-cut.js +52 -0
  92. package/dist/icons/icon-01-content-cut.js.map +1 -0
  93. package/dist/icons/{icon-07-target-radar-selected.d.ts → icon-01-content-paste.d.ts} +3 -3
  94. package/dist/icons/icon-01-content-paste.d.ts.map +1 -0
  95. package/dist/icons/icon-01-content-paste.js +52 -0
  96. package/dist/icons/icon-01-content-paste.js.map +1 -0
  97. package/dist/icons/icon-02-dock-bottom.d.ts +14 -0
  98. package/dist/icons/icon-02-dock-bottom.d.ts.map +1 -0
  99. package/dist/icons/icon-02-dock-bottom.js +52 -0
  100. package/dist/icons/icon-02-dock-bottom.js.map +1 -0
  101. package/dist/icons/{icon-07-target-ias.d.ts → icon-02-dock-left.d.ts} +3 -3
  102. package/dist/icons/icon-02-dock-left.d.ts.map +1 -0
  103. package/dist/icons/{icon-07-target-ias.js → icon-02-dock-left.js} +10 -24
  104. package/dist/icons/icon-02-dock-left.js.map +1 -0
  105. package/dist/icons/icon-02-dock-right.d.ts +14 -0
  106. package/dist/icons/icon-02-dock-right.d.ts.map +1 -0
  107. package/dist/icons/icon-02-dock-right.js +52 -0
  108. package/dist/icons/icon-02-dock-right.js.map +1 -0
  109. package/dist/icons/icon-03-license.d.ts +14 -0
  110. package/dist/icons/icon-03-license.d.ts.map +1 -0
  111. package/dist/icons/icon-03-license.js +52 -0
  112. package/dist/icons/icon-03-license.js.map +1 -0
  113. package/dist/icons/icon-03-star-unchecked.js +1 -1
  114. package/dist/icons/icon-03-star-unchecked.js.map +1 -1
  115. package/dist/icons/icon-04-colorcalibrated.d.ts.map +1 -1
  116. package/dist/icons/icon-04-colorcalibrated.js +2 -14
  117. package/dist/icons/icon-04-colorcalibrated.js.map +1 -1
  118. package/dist/icons/icon-07-target-associated-ais-camera.d.ts +14 -0
  119. package/dist/icons/icon-07-target-associated-ais-camera.d.ts.map +1 -0
  120. package/dist/icons/icon-07-target-associated-ais-camera.js +54 -0
  121. package/dist/icons/icon-07-target-associated-ais-camera.js.map +1 -0
  122. package/dist/icons/icon-07-target-associated-camera-radar.d.ts +14 -0
  123. package/dist/icons/icon-07-target-associated-camera-radar.d.ts.map +1 -0
  124. package/dist/icons/icon-07-target-associated-camera-radar.js +52 -0
  125. package/dist/icons/icon-07-target-associated-camera-radar.js.map +1 -0
  126. package/dist/icons/icon-07-target-associated-radar-camera.d.ts +14 -0
  127. package/dist/icons/icon-07-target-associated-radar-camera.d.ts.map +1 -0
  128. package/dist/icons/icon-07-target-associated-radar-camera.js +54 -0
  129. package/dist/icons/icon-07-target-associated-radar-camera.js.map +1 -0
  130. package/dist/icons/icon-07-target-camera.d.ts +14 -0
  131. package/dist/icons/icon-07-target-camera.d.ts.map +1 -0
  132. package/dist/icons/icon-07-target-camera.js +52 -0
  133. package/dist/icons/icon-07-target-camera.js.map +1 -0
  134. package/dist/icons/icon-08-backward-fast.js +1 -1
  135. package/dist/icons/icon-08-backward-fast.js.map +1 -1
  136. package/dist/icons/icon-08-backward-stopped.js +1 -1
  137. package/dist/icons/icon-08-backward-stopped.js.map +1 -1
  138. package/dist/icons/icon-08-forward-fast.js +1 -1
  139. package/dist/icons/icon-08-forward-fast.js.map +1 -1
  140. package/dist/icons/icon-08-forward-stopped.js +1 -1
  141. package/dist/icons/icon-08-forward-stopped.js.map +1 -1
  142. package/dist/icons/icon-08-motor-off-horisontal.js +1 -1
  143. package/dist/icons/icon-08-motor-off-horisontal.js.map +1 -1
  144. package/dist/icons/icon-09-switch-horizontal-off-large.js +1 -1
  145. package/dist/icons/icon-09-switch-horizontal-off-large.js.map +1 -1
  146. package/dist/icons/icon-09-switch-horizontal-off.js +1 -1
  147. package/dist/icons/icon-09-switch-horizontal-off.js.map +1 -1
  148. package/dist/icons/icon-10-autonomous.js +3 -3
  149. package/dist/icons/icon-10-autonomous.js.map +1 -1
  150. package/dist/icons/icon-14-alert-rectified.js +1 -1
  151. package/dist/icons/icon-14-alert-rectified.js.map +1 -1
  152. package/dist/icons/icon-14-alertheader-aggregated-large.d.ts +14 -0
  153. package/dist/icons/icon-14-alertheader-aggregated-large.d.ts.map +1 -0
  154. package/dist/icons/icon-14-alertheader-aggregated-large.js +52 -0
  155. package/dist/icons/icon-14-alertheader-aggregated-large.js.map +1 -0
  156. package/dist/icons/icon-14-alertheader-group-large.d.ts +14 -0
  157. package/dist/icons/icon-14-alertheader-group-large.d.ts.map +1 -0
  158. package/dist/icons/icon-14-alertheader-group-large.js +54 -0
  159. package/dist/icons/icon-14-alertheader-group-large.js.map +1 -0
  160. package/dist/icons/icon-14-exclamationmark.js +4 -4
  161. package/dist/icons/icon-14-exclamationmark.js.map +1 -1
  162. package/dist/icons/icon-14-rectified.js +1 -1
  163. package/dist/icons/icon-14-rectified.js.map +1 -1
  164. package/dist/icons/icon-18-ais-anchored.js +4 -4
  165. package/dist/icons/icon-18-ais-anchored.js.map +1 -1
  166. package/dist/icons/icon-18-ais-notunderway.js +1 -1
  167. package/dist/icons/icon-18-ais-notunderway.js.map +1 -1
  168. package/dist/icons/icon-iec-02-ais-target-activated-selected.d.ts +14 -0
  169. package/dist/icons/icon-iec-02-ais-target-activated-selected.d.ts.map +1 -0
  170. package/dist/icons/icon-iec-02-ais-target-activated-selected.js +52 -0
  171. package/dist/icons/icon-iec-02-ais-target-activated-selected.js.map +1 -0
  172. package/dist/icons/icon-iec-02-ais-target-activated.d.ts +14 -0
  173. package/dist/icons/icon-iec-02-ais-target-activated.d.ts.map +1 -0
  174. package/dist/icons/icon-iec-02-ais-target-activated.js +52 -0
  175. package/dist/icons/icon-iec-02-ais-target-activated.js.map +1 -0
  176. package/dist/icons/icon-iec-02-associated-target-ais.d.ts +14 -0
  177. package/dist/icons/icon-iec-02-associated-target-ais.d.ts.map +1 -0
  178. package/dist/icons/icon-iec-02-associated-target-ais.js +52 -0
  179. package/dist/icons/icon-iec-02-associated-target-ais.js.map +1 -0
  180. package/dist/icons/icon-iec-02-associated-target-radar.d.ts +14 -0
  181. package/dist/icons/icon-iec-02-associated-target-radar.d.ts.map +1 -0
  182. package/dist/icons/icon-iec-02-associated-target-radar.js +52 -0
  183. package/dist/icons/icon-iec-02-associated-target-radar.js.map +1 -0
  184. package/dist/icons/icon-iec-02-radar-target-tracked-selected.d.ts +14 -0
  185. package/dist/icons/icon-iec-02-radar-target-tracked-selected.d.ts.map +1 -0
  186. package/dist/icons/icon-iec-02-radar-target-tracked-selected.js +60 -0
  187. package/dist/icons/icon-iec-02-radar-target-tracked-selected.js.map +1 -0
  188. package/dist/icons/icon-iec-02-radar-target-tracked.d.ts +14 -0
  189. package/dist/icons/icon-iec-02-radar-target-tracked.d.ts.map +1 -0
  190. package/dist/icons/icon-iec-02-radar-target-tracked.js +52 -0
  191. package/dist/icons/icon-iec-02-radar-target-tracked.js.map +1 -0
  192. package/dist/icons/index.d.ts +19 -4
  193. package/dist/icons/index.d.ts.map +1 -1
  194. package/dist/icons/index.js +19 -4
  195. package/dist/icons/index.js.map +1 -1
  196. package/dist/icons/names.d.ts.map +1 -1
  197. package/dist/icons/names.js +19 -4
  198. package/dist/icons/names.js.map +1 -1
  199. package/dist/navigation-instruments/thruster/thruster.d.ts +2 -1
  200. package/dist/navigation-instruments/thruster/thruster.d.ts.map +1 -1
  201. package/dist/navigation-instruments/thruster/thruster.js +45 -25
  202. package/dist/navigation-instruments/thruster/thruster.js.map +1 -1
  203. package/fix-generated.cjs +4 -0
  204. package/new-component.ts +7 -8
  205. package/package.json +7 -2
  206. package/script/convert-icons.ts +177 -0
  207. package/script/download-alert-icons.ts +180 -0
  208. package/script/download-icons.ts +7 -141
  209. package/src/components/alert-button/alert-button.css +1 -12
  210. package/src/components/alert-button/alert-button.stories.ts +2 -0
  211. package/src/components/alert-button/alert-button.ts +29 -4
  212. package/src/components/alert-icon/alert-icon.stories.ts +35 -0
  213. package/src/components/alert-icon/alert-icon.ts +75 -0
  214. package/src/components/alert-icon/icons/icon-14-alarm-silenced-a.ts +9 -0
  215. package/src/components/alert-icon/icons/icon-14-alarm-silenced-b.ts +16 -0
  216. package/src/components/alert-icon/icons/icon-14-alarm-unack-a.ts +8 -0
  217. package/src/components/alert-icon/icons/icon-14-alarm-unack-b.ts +15 -0
  218. package/src/components/alert-icon/icons/icon-14-warning-unack-a.ts +8 -0
  219. package/src/components/alert-icon/icons/icon-14-warning-unack-b.ts +8 -0
  220. package/src/components/alert-topbar-element/alert-topbar-element.stories.ts +4 -0
  221. package/src/components/alert-topbar-element/alert-topbar-element.ts +17 -0
  222. package/src/components/notification-message/notification-message.stories.ts +26 -10
  223. package/src/components/rich-button/rich-button.css +131 -0
  224. package/src/components/rich-button/rich-button.stories.ts +232 -0
  225. package/src/components/rich-button/rich-button.ts +97 -0
  226. package/src/components/vendor-button/vendor-button.css +10 -0
  227. package/src/components/vendor-button/vendor-button.stories.ts +19 -0
  228. package/src/components/vendor-button/vendor-button.ts +25 -0
  229. package/src/icons/icon-01-content-copy.ts +40 -0
  230. package/src/icons/icon-01-content-cut.ts +40 -0
  231. package/src/icons/icon-01-content-paste.ts +40 -0
  232. package/src/icons/icon-02-dock-bottom.ts +40 -0
  233. package/src/icons/icon-02-dock-left.ts +40 -0
  234. package/src/icons/icon-02-dock-right.ts +40 -0
  235. package/src/icons/icon-03-license.ts +40 -0
  236. package/src/icons/icon-03-star-unchecked.ts +1 -1
  237. package/src/icons/icon-04-colorcalibrated.ts +2 -14
  238. package/src/icons/icon-07-target-associated-ais-camera.ts +42 -0
  239. package/src/icons/icon-07-target-associated-camera-radar.ts +40 -0
  240. package/src/icons/icon-07-target-associated-radar-camera.ts +42 -0
  241. package/src/icons/icon-07-target-camera.ts +40 -0
  242. package/src/icons/icon-08-backward-fast.ts +1 -1
  243. package/src/icons/icon-08-backward-stopped.ts +1 -1
  244. package/src/icons/icon-08-forward-fast.ts +1 -1
  245. package/src/icons/icon-08-forward-stopped.ts +1 -1
  246. package/src/icons/icon-08-motor-off-horisontal.ts +1 -1
  247. package/src/icons/icon-09-switch-horizontal-off-large.ts +1 -1
  248. package/src/icons/icon-09-switch-horizontal-off.ts +1 -1
  249. package/src/icons/icon-10-autonomous.ts +3 -3
  250. package/src/icons/icon-14-alert-rectified.ts +1 -1
  251. package/src/icons/icon-14-alertheader-aggregated-large.ts +40 -0
  252. package/src/icons/icon-14-alertheader-group-large.ts +42 -0
  253. package/src/icons/icon-14-exclamationmark.ts +4 -4
  254. package/src/icons/icon-14-rectified.ts +1 -1
  255. package/src/icons/icon-18-ais-anchored.ts +4 -4
  256. package/src/icons/icon-18-ais-notunderway.ts +1 -1
  257. package/src/icons/icon-iec-02-ais-target-activated-selected.ts +40 -0
  258. package/src/icons/icon-iec-02-ais-target-activated.ts +40 -0
  259. package/src/icons/icon-iec-02-associated-target-ais.ts +40 -0
  260. package/src/icons/icon-iec-02-associated-target-radar.ts +40 -0
  261. package/src/icons/icon-iec-02-radar-target-tracked-selected.ts +48 -0
  262. package/src/icons/icon-iec-02-radar-target-tracked.ts +40 -0
  263. package/src/icons/index.ts +19 -4
  264. package/src/icons/names.ts +19 -4
  265. package/src/icons.stories.ts +78 -0
  266. package/src/navigation-instruments/thruster/thruster.stories.ts +18 -1
  267. package/src/navigation-instruments/thruster/thruster.ts +43 -27
  268. package/.yarnrc.yml +0 -1
  269. package/dist/icons/icon-07-target-ias-selected.d.ts.map +0 -1
  270. package/dist/icons/icon-07-target-ias-selected.js +0 -60
  271. package/dist/icons/icon-07-target-ias-selected.js.map +0 -1
  272. package/dist/icons/icon-07-target-ias.d.ts.map +0 -1
  273. package/dist/icons/icon-07-target-ias.js.map +0 -1
  274. package/dist/icons/icon-07-target-radar-selected.d.ts.map +0 -1
  275. package/dist/icons/icon-07-target-radar-selected.js +0 -60
  276. package/dist/icons/icon-07-target-radar-selected.js.map +0 -1
  277. package/dist/icons/icon-07-target-radar.js.map +0 -1
  278. package/src/icons/icon-07-target-ias-selected.ts +0 -48
  279. package/src/icons/icon-07-target-ias.ts +0 -54
  280. package/src/icons/icon-07-target-radar-selected.ts +0 -48
  281. package/src/icons/icon-07-target-radar.ts +0 -40
  282. package/test.svg +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"names.js","sources":["../../src/icons/names.ts"],"sourcesContent":["export const iconIds: string[] = [\n '01-add',\n '01-application-open',\n '01-apps',\n '01-check',\n '01-checkbox-checked',\n '01-checkbox-uncheck',\n '01-close',\n '01-delete',\n '01-edit',\n '01-expanditem',\n '01-file-download',\n '01-file-export',\n '01-file-upload',\n '01-log-add',\n '01-log-edit',\n '01-log-open',\n '01-megamenu',\n '01-menu',\n '01-mixed',\n '01-more',\n '01-more-vertical',\n '01-note-edit',\n '01-off',\n '01-on',\n '01-open-full',\n '01-placeholder',\n '01-placeholder-device-off',\n '01-placeholder-device-on',\n '01-placeholder-device-static',\n '01-play',\n '01-print',\n '01-redo',\n '01-remove',\n '01-reorder',\n '01-save',\n '01-search',\n '01-sort',\n '01-standby',\n '01-stop',\n '01-text',\n '01-undo',\n '01-visibility',\n '01-visibility-off',\n '01-widget-add',\n '02-arrow-back',\n '02-arrow-down',\n '02-arrow-drop-down',\n '02-arrow-flyout',\n '02-arrow-forward',\n '02-arrow-up',\n '02-chevron-double-down',\n '02-chevron-double-left',\n '02-chevron-double-right',\n '02-chevron-double-up',\n '02-chevron-down',\n '02-chevron-left',\n '02-chevron-right',\n '02-chevron-up',\n '02-collapse-content',\n '02-drop-down',\n '02-expand-content',\n '02-page-first',\n '02-page-last',\n '02-resize-bottom',\n '02-resize-corner',\n '02-resize-top',\n '02-resize_center',\n '02-set-point',\n '02-slide-left',\n '02-slide-right',\n '02-unfold-less',\n '02-unfold-more',\n '03-configure',\n '03-diagnostic',\n '03-filter',\n '03-info',\n '03-monitoring',\n '03-pin-checked',\n '03-pin-unchecked',\n '03-printscreen',\n '03-settings',\n '03-settings-default',\n '03-settings-default-alt1',\n '03-settings-default-alt2',\n '03-split-left',\n '03-split-right',\n '03-star-checked',\n '03-star-unchecked',\n '03-support',\n '03-table',\n '03-volume-high',\n '03-volume-low',\n '03-volume-off',\n '04-brilliance-high',\n '04-brilliance-low',\n '04-colorcalibrated',\n '04-day',\n '04-day-bright',\n '04-daynight',\n '04-dimming',\n '04-dusk',\n '04-illumination-high',\n '04-illumination-low',\n '04-night',\n '05-fullscreen',\n '05-fullscreen-exit',\n '05-input-keyboard',\n '05-input-keyboard_onscreen',\n '05-input-mouse',\n '05-input-touchpad_mouse',\n '05-pc',\n '05-people',\n '05-screen-desk',\n '05-screen-full',\n '05-screen-pad',\n '05-screen-quad',\n '05-screen-split-left',\n '05-screen-split-right',\n '05-server',\n '05-user',\n '06-Date',\n '06-calendar',\n '06-cam',\n '06-cctv',\n '06-com',\n '06-conning',\n '06-dashboard',\n '06-dashboard-outline',\n '06-ecdis',\n '06-ecdis-simple',\n '06-home',\n '06-ias',\n '06-lantern',\n '06-link',\n '06-link-remove',\n '06-logo-company',\n '06-logo-oicl',\n '06-openbridge',\n '06-radar',\n '06-screens',\n '06-ship',\n '06-time',\n '06-wipers',\n '07-Chart',\n '07-ais',\n '07-anchorwatch',\n '07-catzoc',\n '07-centre-off',\n '07-centre-on',\n '07-chart-info',\n '07-chart-search',\n '07-chart-settings',\n '07-chart-styles',\n '07-coordinate',\n '07-ebl',\n '07-erbl',\n '07-event-record',\n '07-grid-off',\n '07-grid-on',\n '07-headingline-off',\n '07-layers',\n '07-location-1',\n '07-location-2',\n '07-location-3',\n '07-measure',\n '07-radar-overlay',\n '07-range',\n '07-rangerings',\n '07-relativemotion',\n '07-relativemotion-variant',\n '07-report-info',\n '07-route-planning',\n '07-silence',\n '07-smode',\n '07-target-cancel',\n '07-target-cancel-all',\n '07-target-ias',\n '07-target-ias-selected',\n '07-target-radar',\n '07-target-radar-selected',\n '07-target-select',\n '07-track',\n '07-track-no',\n '07-track-off-port',\n '07-track-off-strb',\n '07-track-on',\n '07-track-route',\n '07-truemotion',\n '07-truemotion-reset',\n '07-truemotion-variant',\n '07-up-course',\n '07-up-head',\n '07-up-north',\n '07-voyages',\n '07-vrm',\n '07-waypoint-add',\n '07-waypoint-delete',\n '07-waypoint-edit',\n '08-ACDC-converter',\n '08-DCDC-converter',\n '08-IO',\n '08-Logger',\n '08-PLS',\n '08-PLS-component',\n '08-auto',\n '08-backward',\n '08-backward-fast',\n '08-backward-stopped',\n '08-battery-0',\n '08-battery-25',\n '08-battery-50',\n '08-battery-75',\n '08-battery-charging',\n '08-battery-pack-0',\n '08-battery-pack-100',\n '08-battery-pack-25',\n '08-battery-pack-50',\n '08-battery-pack-70',\n '08-battery-pack-charging',\n '08-battery_full',\n '08-bilge',\n '08-blower-off-vertical',\n '08-blower-on-vertical',\n '08-blower-static-vertical',\n '08-connector-cross',\n '08-cooling',\n '08-duty',\n '08-engine',\n '08-epms',\n '08-ethernet-switch',\n '08-fan-off',\n '08-fan-on',\n '08-fan-static',\n '08-filter',\n '08-fire',\n '08-forward',\n '08-forward-fast',\n '08-forward-stopped',\n '08-generator',\n '08-heat',\n '08-heat_pump_balance',\n '08-heatexhanger',\n '08-heatpump',\n '08-hvac',\n '08-hydraulic-separator',\n '08-local',\n '08-local-only',\n '08-manuel',\n '08-manuel-only',\n '08-misc',\n '08-motor-off-horisontal',\n '08-motor-off-vertical',\n '08-motor-on-horisontal',\n '08-motor-on-vertical',\n '08-motor-static-horisontal',\n '08-motor-static-vertical',\n '08-off',\n '08-on',\n '08-pump-off-horisontal',\n '08-pump-off-vertical',\n '08-pump-on-horisontal',\n '08-pump-on-vertical',\n '08-pump-static-horisontal',\n '08-pump-static-vertical',\n '08-router',\n '08-simulation',\n '08-standby',\n '08-system',\n '08-tank',\n '08-temp-cold',\n '08-temp-hot',\n '08-temp-hotcold',\n '08-trend',\n '08-wiper',\n '08-wiper-fluid',\n '09-connector-3way',\n '09-connector-corner',\n '09-connector-straight',\n '09-damper-horizontal-off',\n '09-damper-horizontal-off-large',\n '09-damper-horizontal-on',\n '09-damper-horizontal-on-large',\n '09-pipe-3way',\n '09-pipe-corner',\n '09-pipe-cross',\n '09-pipe-direction',\n '09-pipe-end',\n '09-pipe-straight',\n '09-switch-horizontal-off',\n '09-switch-horizontal-off-large',\n '09-switch-horizontal-on',\n '09-switch-horizontal-on-large',\n '09-threeway-analog-left-0',\n '09-threeway-analog-left-100',\n '09-threeway-analog-left-25',\n '09-threeway-analog-left-50',\n '09-threeway-analog-left-75',\n '09-threeway-analog-right-0',\n '09-threeway-analog-right-100',\n '09-threeway-analog-right-25',\n '09-threeway-analog-right-50',\n '09-threeway-analog-right-75',\n '09-threeway-analog-top-0',\n '09-threeway-analog-top-100',\n '09-threeway-analog-top-25',\n '09-threeway-analog-top-50',\n '09-threeway-analog-top-75',\n '09-threeway-digital-closed',\n '09-threeway-digital-closed-left',\n '09-threeway-digital-closed-right',\n '09-threeway-digital-closed-top',\n '09-threeway-digital-open',\n '09-threeway-digital-static',\n '09-twoway-analog-closed',\n '09-twoway-analog-open',\n '09-twoway-analog-open-25',\n '09-twoway-analog-open-5',\n '09-twoway-analog-open-50',\n '09-twoway-analog-open-75',\n '09-twoway-digital-closed',\n '09-twoway-digital-nonreturn',\n '09-twoway-digital-open',\n '09-twoway-digital-static',\n '10-autonomous',\n '10-autopilot',\n '10-autotrack',\n '10-joystick',\n '10-keeping-area',\n '10-keeping-station',\n '10-keeping-track',\n '10-monotoring-route',\n '10-move',\n '10-propulsion',\n '10-propulsion-static',\n '10-rotate',\n '10-rudder',\n '10-thruster-azimuth',\n '10-thruster-mainengine',\n '10-thruster-tunnel',\n '11-current-1',\n '11-current-2',\n '11-current-3',\n '11-current-4',\n '11-wind-1',\n '11-wind-10',\n '11-wind-11',\n '11-wind-12',\n '11-wind-13',\n '11-wind-2',\n '11-wind-3',\n '11-wind-4',\n '11-wind-5',\n '11-wind-6',\n '11-wind-7',\n '11-wind-8',\n '11-wind-9',\n '12-altitute',\n '12-cog',\n '12-depth',\n '12-hdg',\n '12-heave',\n '12-pitch',\n '12-roll',\n '12-rot',\n '12-sog',\n '12-stw',\n '12-turn',\n '12-yaw',\n '13-Latched',\n '13-camera-off',\n '13-camera-on',\n '13-camera-tilt',\n '13-coffee',\n '13-container',\n '13-crane',\n '13-winch',\n '14-Alarm-outline',\n '14-Caution-outline',\n '14-Warning-outline',\n '14-alarm',\n '14-alarm-abandon',\n '14-alarm-acknowledged',\n '14-alarm-badge',\n '14-alarm-emergency',\n '14-alarm-fire',\n '14-alarm-general',\n '14-alarm-noack',\n '14-alarm-pob',\n '14-alarm-rectified',\n '14-alarm-silenced',\n '14-alarm-transferred',\n '14-alarm-trigger',\n '14-alarm-unack',\n '14-alert-list',\n '14-alert-off',\n '14-alert-rectified',\n '14-alertheader-aggregated',\n '14-alertheader-group',\n '14-alerts',\n '14-audio',\n '14-audio-low',\n '14-caution',\n '14-caution-badge',\n '14-caution-color',\n '14-exclamationmark',\n '14-message',\n '14-message-none',\n '14-mute',\n '14-notification',\n '14-notification-empty',\n '14-rectified',\n '14-running',\n '14-running-color',\n '14-signal-fail',\n '14-warning',\n '14-warning-acknowledged',\n '14-warning-badge',\n '14-warning-noack',\n '14-warning-rectified',\n '14-warning-silenced',\n '14-warning-transferred',\n '14-warning-unacknowledged',\n '15-Forward10S',\n '15-Fullscreen',\n '15-Galleryview',\n '15-Mic',\n '15-Radio',\n '15-Singleview',\n '15-backwards10S',\n '15-call',\n '15-call-active',\n '15-call-end',\n '15-contacts',\n '15-history',\n '15-live',\n '15-loop',\n '15-mic-muted',\n '15-pa',\n '15-pa-list',\n '15-pause',\n '15-pause-circle',\n '15-play',\n '15-play-circle',\n '15-rank-1',\n '15-rank-2',\n '15-rank-3',\n '15-rank-4',\n '15-rank-5',\n '15-rank-6',\n '15-record',\n '15-skip-next',\n '15-skip-next-filled',\n '15-skip-previous',\n '15-skip-previous-filled',\n '16-command-available',\n '16-command-in',\n '16-command-no',\n '16-command-partial',\n '16-command-request',\n '16-command-shared',\n '16-command-take',\n '16-lock',\n '17-Swimming',\n '17-diver',\n '17-kayaking',\n '17-kitesurfing',\n '17-rowing',\n '17-ship-bulkcarrier',\n '17-ship-carferry',\n '17-ship-container',\n '17-ship-fishing',\n '17-ship-highspeed',\n '17-ship-navy',\n '17-ship-offshore',\n '17-ship-passenger',\n '17-ship-sailboat',\n '17-ship-sailship',\n '17-ship-tanker',\n '17-ship-tugboat',\n '17-ship-yacht',\n '17-surfing',\n '18-ais-Notcommand',\n '18-ais-aground',\n '18-ais-anchor',\n '18-ais-anchored',\n '18-ais-fishing',\n '18-ais-moored',\n '18-ais-notunderway',\n '18-ais-underwaysailing',\n '18-ais-underwayusingengine',\n '19-analytics',\n '19-current',\n '19-hide',\n '19-limits-attention',\n '19-limits-improving',\n '19-limits-inside',\n '19-limits-outside-over',\n '19-limits-outside-under',\n '19-pilot-onboard',\n '19-speed',\n '19-speed-good',\n '19-speed-high',\n '19-speed-low',\n '19-swell',\n '19-temperature',\n '19-time-less',\n '19-time-more',\n '19-trend-down',\n '19-trend-up',\n '19-trophy',\n '19-view',\n '19-wave',\n '19-weather',\n '20-USB',\n '20-cell-bad',\n '20-cell-full',\n '20-cell-low',\n '20-cell-medium',\n '20-cell-off',\n '20-satellite-full',\n '20-satellite-low',\n '20-satellite-medium',\n '20-satellite-off',\n '20-sensor-gps-bad',\n '20-sensor-gps-full',\n '20-sensor-gps-low',\n '20-sensor-gps-medium',\n '20-sensor-gyro',\n '20-sensor-wind',\n '20-wifi-bad',\n '20-wifi-off',\n '20-wifi-wifi_statusbar_0',\n '20-wifi-wifi_statusbar_1',\n '20-wifi-wifi_statusbar_2',\n '20-wifi-wifi_statusbar_3',\n '20-wifi-wifi_statusbar_4',\n '20-wifi2',\n '20-wifi2-off',\n 'Frame2622',\n 'temp',\n];\n"],"names":[],"mappings":"AAAO,MAAM,UAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
1
+ {"version":3,"file":"names.js","sources":["../../src/icons/names.ts"],"sourcesContent":["export const iconIds: string[] = [\n '01-add',\n '01-application-open',\n '01-apps',\n '01-check',\n '01-checkbox-checked',\n '01-checkbox-uncheck',\n '01-close',\n '01-content-copy',\n '01-content-cut',\n '01-content-paste',\n '01-delete',\n '01-edit',\n '01-expanditem',\n '01-file-download',\n '01-file-export',\n '01-file-upload',\n '01-log-add',\n '01-log-edit',\n '01-log-open',\n '01-megamenu',\n '01-menu',\n '01-mixed',\n '01-more',\n '01-more-vertical',\n '01-note-edit',\n '01-off',\n '01-on',\n '01-open-full',\n '01-placeholder',\n '01-placeholder-device-off',\n '01-placeholder-device-on',\n '01-placeholder-device-static',\n '01-play',\n '01-print',\n '01-redo',\n '01-remove',\n '01-reorder',\n '01-save',\n '01-search',\n '01-sort',\n '01-standby',\n '01-stop',\n '01-text',\n '01-undo',\n '01-visibility',\n '01-visibility-off',\n '01-widget-add',\n '02-arrow-back',\n '02-arrow-down',\n '02-arrow-drop-down',\n '02-arrow-flyout',\n '02-arrow-forward',\n '02-arrow-up',\n '02-chevron-double-down',\n '02-chevron-double-left',\n '02-chevron-double-right',\n '02-chevron-double-up',\n '02-chevron-down',\n '02-chevron-left',\n '02-chevron-right',\n '02-chevron-up',\n '02-collapse-content',\n '02-dock-bottom',\n '02-dock-left',\n '02-dock-right',\n '02-drop-down',\n '02-expand-content',\n '02-page-first',\n '02-page-last',\n '02-resize-bottom',\n '02-resize-corner',\n '02-resize-top',\n '02-resize_center',\n '02-set-point',\n '02-slide-left',\n '02-slide-right',\n '02-unfold-less',\n '02-unfold-more',\n '03-configure',\n '03-diagnostic',\n '03-filter',\n '03-info',\n '03-license',\n '03-monitoring',\n '03-pin-checked',\n '03-pin-unchecked',\n '03-printscreen',\n '03-settings',\n '03-settings-default',\n '03-settings-default-alt1',\n '03-settings-default-alt2',\n '03-split-left',\n '03-split-right',\n '03-star-checked',\n '03-star-unchecked',\n '03-support',\n '03-table',\n '03-volume-high',\n '03-volume-low',\n '03-volume-off',\n '04-brilliance-high',\n '04-brilliance-low',\n '04-colorcalibrated',\n '04-day',\n '04-day-bright',\n '04-daynight',\n '04-dimming',\n '04-dusk',\n '04-illumination-high',\n '04-illumination-low',\n '04-night',\n '05-fullscreen',\n '05-fullscreen-exit',\n '05-input-keyboard',\n '05-input-keyboard_onscreen',\n '05-input-mouse',\n '05-input-touchpad_mouse',\n '05-pc',\n '05-people',\n '05-screen-desk',\n '05-screen-full',\n '05-screen-pad',\n '05-screen-quad',\n '05-screen-split-left',\n '05-screen-split-right',\n '05-server',\n '05-user',\n '06-Date',\n '06-calendar',\n '06-cam',\n '06-cctv',\n '06-com',\n '06-conning',\n '06-dashboard',\n '06-dashboard-outline',\n '06-ecdis',\n '06-ecdis-simple',\n '06-home',\n '06-ias',\n '06-lantern',\n '06-link',\n '06-link-remove',\n '06-logo-company',\n '06-logo-oicl',\n '06-openbridge',\n '06-radar',\n '06-screens',\n '06-ship',\n '06-time',\n '06-wipers',\n '07-Chart',\n '07-ais',\n '07-anchorwatch',\n '07-catzoc',\n '07-centre-off',\n '07-centre-on',\n '07-chart-info',\n '07-chart-search',\n '07-chart-settings',\n '07-chart-styles',\n '07-coordinate',\n '07-ebl',\n '07-erbl',\n '07-event-record',\n '07-grid-off',\n '07-grid-on',\n '07-headingline-off',\n '07-layers',\n '07-location-1',\n '07-location-2',\n '07-location-3',\n '07-measure',\n '07-radar-overlay',\n '07-range',\n '07-rangerings',\n '07-relativemotion',\n '07-relativemotion-variant',\n '07-report-info',\n '07-route-planning',\n '07-silence',\n '07-smode',\n '07-target-associated-ais-camera',\n '07-target-associated-camera-radar',\n '07-target-associated-radar-camera',\n '07-target-camera',\n '07-target-cancel',\n '07-target-cancel-all',\n '07-target-select',\n '07-track',\n '07-track-no',\n '07-track-off-port',\n '07-track-off-strb',\n '07-track-on',\n '07-track-route',\n '07-truemotion',\n '07-truemotion-reset',\n '07-truemotion-variant',\n '07-up-course',\n '07-up-head',\n '07-up-north',\n '07-voyages',\n '07-vrm',\n '07-waypoint-add',\n '07-waypoint-delete',\n '07-waypoint-edit',\n '08-ACDC-converter',\n '08-DCDC-converter',\n '08-IO',\n '08-Logger',\n '08-PLS',\n '08-PLS-component',\n '08-auto',\n '08-backward',\n '08-backward-fast',\n '08-backward-stopped',\n '08-battery-0',\n '08-battery-25',\n '08-battery-50',\n '08-battery-75',\n '08-battery-charging',\n '08-battery-pack-0',\n '08-battery-pack-100',\n '08-battery-pack-25',\n '08-battery-pack-50',\n '08-battery-pack-70',\n '08-battery-pack-charging',\n '08-battery_full',\n '08-bilge',\n '08-blower-off-vertical',\n '08-blower-on-vertical',\n '08-blower-static-vertical',\n '08-connector-cross',\n '08-cooling',\n '08-duty',\n '08-engine',\n '08-epms',\n '08-ethernet-switch',\n '08-fan-off',\n '08-fan-on',\n '08-fan-static',\n '08-filter',\n '08-fire',\n '08-forward',\n '08-forward-fast',\n '08-forward-stopped',\n '08-generator',\n '08-heat',\n '08-heat_pump_balance',\n '08-heatexhanger',\n '08-heatpump',\n '08-hvac',\n '08-hydraulic-separator',\n '08-local',\n '08-local-only',\n '08-manuel',\n '08-manuel-only',\n '08-misc',\n '08-motor-off-horisontal',\n '08-motor-off-vertical',\n '08-motor-on-horisontal',\n '08-motor-on-vertical',\n '08-motor-static-horisontal',\n '08-motor-static-vertical',\n '08-off',\n '08-on',\n '08-pump-off-horisontal',\n '08-pump-off-vertical',\n '08-pump-on-horisontal',\n '08-pump-on-vertical',\n '08-pump-static-horisontal',\n '08-pump-static-vertical',\n '08-router',\n '08-simulation',\n '08-standby',\n '08-system',\n '08-tank',\n '08-temp-cold',\n '08-temp-hot',\n '08-temp-hotcold',\n '08-trend',\n '08-wiper',\n '08-wiper-fluid',\n '09-connector-3way',\n '09-connector-corner',\n '09-connector-straight',\n '09-damper-horizontal-off',\n '09-damper-horizontal-off-large',\n '09-damper-horizontal-on',\n '09-damper-horizontal-on-large',\n '09-pipe-3way',\n '09-pipe-corner',\n '09-pipe-cross',\n '09-pipe-direction',\n '09-pipe-end',\n '09-pipe-straight',\n '09-switch-horizontal-off',\n '09-switch-horizontal-off-large',\n '09-switch-horizontal-on',\n '09-switch-horizontal-on-large',\n '09-threeway-analog-left-0',\n '09-threeway-analog-left-100',\n '09-threeway-analog-left-25',\n '09-threeway-analog-left-50',\n '09-threeway-analog-left-75',\n '09-threeway-analog-right-0',\n '09-threeway-analog-right-100',\n '09-threeway-analog-right-25',\n '09-threeway-analog-right-50',\n '09-threeway-analog-right-75',\n '09-threeway-analog-top-0',\n '09-threeway-analog-top-100',\n '09-threeway-analog-top-25',\n '09-threeway-analog-top-50',\n '09-threeway-analog-top-75',\n '09-threeway-digital-closed',\n '09-threeway-digital-closed-left',\n '09-threeway-digital-closed-right',\n '09-threeway-digital-closed-top',\n '09-threeway-digital-open',\n '09-threeway-digital-static',\n '09-twoway-analog-closed',\n '09-twoway-analog-open',\n '09-twoway-analog-open-25',\n '09-twoway-analog-open-5',\n '09-twoway-analog-open-50',\n '09-twoway-analog-open-75',\n '09-twoway-digital-closed',\n '09-twoway-digital-nonreturn',\n '09-twoway-digital-open',\n '09-twoway-digital-static',\n '10-autonomous',\n '10-autopilot',\n '10-autotrack',\n '10-joystick',\n '10-keeping-area',\n '10-keeping-station',\n '10-keeping-track',\n '10-monotoring-route',\n '10-move',\n '10-propulsion',\n '10-propulsion-static',\n '10-rotate',\n '10-rudder',\n '10-thruster-azimuth',\n '10-thruster-mainengine',\n '10-thruster-tunnel',\n '11-current-1',\n '11-current-2',\n '11-current-3',\n '11-current-4',\n '11-wind-1',\n '11-wind-10',\n '11-wind-11',\n '11-wind-12',\n '11-wind-13',\n '11-wind-2',\n '11-wind-3',\n '11-wind-4',\n '11-wind-5',\n '11-wind-6',\n '11-wind-7',\n '11-wind-8',\n '11-wind-9',\n '12-altitute',\n '12-cog',\n '12-depth',\n '12-hdg',\n '12-heave',\n '12-pitch',\n '12-roll',\n '12-rot',\n '12-sog',\n '12-stw',\n '12-turn',\n '12-yaw',\n '13-Latched',\n '13-camera-off',\n '13-camera-on',\n '13-camera-tilt',\n '13-coffee',\n '13-container',\n '13-crane',\n '13-winch',\n '14-Alarm-outline',\n '14-Caution-outline',\n '14-Warning-outline',\n '14-alarm',\n '14-alarm-abandon',\n '14-alarm-acknowledged',\n '14-alarm-badge',\n '14-alarm-emergency',\n '14-alarm-fire',\n '14-alarm-general',\n '14-alarm-noack',\n '14-alarm-pob',\n '14-alarm-rectified',\n '14-alarm-silenced',\n '14-alarm-transferred',\n '14-alarm-trigger',\n '14-alarm-unack',\n '14-alert-list',\n '14-alert-off',\n '14-alert-rectified',\n '14-alertheader-aggregated',\n '14-alertheader-aggregated-large',\n '14-alertheader-group',\n '14-alertheader-group-large',\n '14-alerts',\n '14-audio',\n '14-audio-low',\n '14-caution',\n '14-caution-badge',\n '14-caution-color',\n '14-exclamationmark',\n '14-message',\n '14-message-none',\n '14-mute',\n '14-notification',\n '14-notification-empty',\n '14-rectified',\n '14-running',\n '14-running-color',\n '14-signal-fail',\n '14-warning',\n '14-warning-acknowledged',\n '14-warning-badge',\n '14-warning-noack',\n '14-warning-rectified',\n '14-warning-silenced',\n '14-warning-transferred',\n '14-warning-unacknowledged',\n '15-Forward10S',\n '15-Fullscreen',\n '15-Galleryview',\n '15-Mic',\n '15-Radio',\n '15-Singleview',\n '15-backwards10S',\n '15-call',\n '15-call-active',\n '15-call-end',\n '15-contacts',\n '15-history',\n '15-live',\n '15-loop',\n '15-mic-muted',\n '15-pa',\n '15-pa-list',\n '15-pause',\n '15-pause-circle',\n '15-play',\n '15-play-circle',\n '15-rank-1',\n '15-rank-2',\n '15-rank-3',\n '15-rank-4',\n '15-rank-5',\n '15-rank-6',\n '15-record',\n '15-skip-next',\n '15-skip-next-filled',\n '15-skip-previous',\n '15-skip-previous-filled',\n '16-command-available',\n '16-command-in',\n '16-command-no',\n '16-command-partial',\n '16-command-request',\n '16-command-shared',\n '16-command-take',\n '16-lock',\n '17-Swimming',\n '17-diver',\n '17-kayaking',\n '17-kitesurfing',\n '17-rowing',\n '17-ship-bulkcarrier',\n '17-ship-carferry',\n '17-ship-container',\n '17-ship-fishing',\n '17-ship-highspeed',\n '17-ship-navy',\n '17-ship-offshore',\n '17-ship-passenger',\n '17-ship-sailboat',\n '17-ship-sailship',\n '17-ship-tanker',\n '17-ship-tugboat',\n '17-ship-yacht',\n '17-surfing',\n '18-ais-Notcommand',\n '18-ais-aground',\n '18-ais-anchor',\n '18-ais-anchored',\n '18-ais-fishing',\n '18-ais-moored',\n '18-ais-notunderway',\n '18-ais-underwaysailing',\n '18-ais-underwayusingengine',\n '19-analytics',\n '19-current',\n '19-hide',\n '19-limits-attention',\n '19-limits-improving',\n '19-limits-inside',\n '19-limits-outside-over',\n '19-limits-outside-under',\n '19-pilot-onboard',\n '19-speed',\n '19-speed-good',\n '19-speed-high',\n '19-speed-low',\n '19-swell',\n '19-temperature',\n '19-time-less',\n '19-time-more',\n '19-trend-down',\n '19-trend-up',\n '19-trophy',\n '19-view',\n '19-wave',\n '19-weather',\n '20-USB',\n '20-cell-bad',\n '20-cell-full',\n '20-cell-low',\n '20-cell-medium',\n '20-cell-off',\n '20-satellite-full',\n '20-satellite-low',\n '20-satellite-medium',\n '20-satellite-off',\n '20-sensor-gps-bad',\n '20-sensor-gps-full',\n '20-sensor-gps-low',\n '20-sensor-gps-medium',\n '20-sensor-gyro',\n '20-sensor-wind',\n '20-wifi-bad',\n '20-wifi-off',\n '20-wifi-wifi_statusbar_0',\n '20-wifi-wifi_statusbar_1',\n '20-wifi-wifi_statusbar_2',\n '20-wifi-wifi_statusbar_3',\n '20-wifi-wifi_statusbar_4',\n '20-wifi2',\n '20-wifi2-off',\n 'Frame2622',\n 'IEC-02-ais-target-activated',\n 'IEC-02-ais-target-activated-selected',\n 'IEC-02-associated-target-ais',\n 'IEC-02-associated-target-radar',\n 'IEC-02-radar-target-tracked',\n 'IEC-02-radar-target-tracked-selected',\n 'temp',\n];\n"],"names":[],"mappings":"AAAO,MAAM,UAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
@@ -16,7 +16,8 @@ export declare class ObcThruster extends LitElement {
16
16
  tunnel: boolean;
17
17
  loading: boolean;
18
18
  off: boolean;
19
- render(): import("lit-html").TemplateResult<2>;
19
+ render(): import("lit-html").TemplateResult<1>;
20
+ static styles: import("lit").CSSResult;
20
21
  }
21
22
  export declare function thruster(thrust: number, setpoint: number | undefined, state: InstrumentState, options: {
22
23
  atSetpoint: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"thruster.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/thruster/thruster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAM,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAC,IAAI,EAAE,eAAe,EAAC,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,qBACa,WAAY,SAAQ,UAAU;IACf,IAAI,EAAE,IAAI,CAAe;IACzB,MAAM,EAAE,MAAM,CAAK;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACF,UAAU,EAAE,OAAO,CAChE;IAER,cAAc,EAAE,OAAO,CAAS;IACN,KAAK,EAAE,eAAe,CAA6B;IAClD,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,OAAO,CAAS;IACzB,GAAG,EAAE,OAAO,CAAS;IAEvC,MAAM;CAOhB;AA2ED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAC,wCAiFzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"thruster.d.ts","sourceRoot":"","sources":["../../../src/navigation-instruments/thruster/thruster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAiB,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAC,IAAI,EAAE,eAAe,EAAC,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,qBACa,WAAY,SAAQ,UAAU;IACf,IAAI,EAAE,IAAI,CAAe;IACzB,MAAM,EAAE,MAAM,CAAK;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACF,UAAU,EAAE,OAAO,CAChE;IAER,cAAc,EAAE,OAAO,CAAS;IACN,KAAK,EAAE,eAAe,CAA6B;IAClD,MAAM,EAAE,OAAO,CAAS;IACxB,OAAO,EAAE,OAAO,CAAS;IACzB,GAAG,EAAE,OAAO,CAAS;IAEvC,MAAM;IAUf,OAAgB,MAAM,0BAUpB;CACH;AA2ED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAC,wCAmFzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
@@ -1,4 +1,4 @@
1
- import { LitElement, svg } from "lit";
1
+ import { css, LitElement, html, svg } from "lit";
2
2
  import { property, customElement } from "lit/decorators.js";
3
3
  import { Size, InstrumentState } from "../types.js";
4
4
  var __defProp = Object.defineProperty;
@@ -25,13 +25,26 @@ let ObcThruster = class extends LitElement {
25
25
  this.off = false;
26
26
  }
27
27
  render() {
28
- return thruster(this.thrust, this.setpoint, this.state, {
28
+ return html`<div class="container">
29
+ ${thruster(this.thrust, this.setpoint, this.state, {
29
30
  atSetpoint: this.atSetpoint,
30
31
  tunnel: this.tunnel,
31
32
  setpointAtZero: this.setpointAtZero
32
- });
33
+ })}
34
+ </div>`;
33
35
  }
34
36
  };
37
+ ObcThruster.styles = css`
38
+ .container {
39
+ height: 100%;
40
+ width: 100%;
41
+ }
42
+
43
+ .container > svg {
44
+ height: 100%;
45
+ width: 100%;
46
+ }
47
+ `;
35
48
  __decorateClass([
36
49
  property({ type: String })
37
50
  ], ObcThruster.prototype, "size", 2);
@@ -150,35 +163,42 @@ function thruster(thrust, setpoint, state, options) {
150
163
  const centerLine = svg`
151
164
  <rect x="-32" y="-2" width="64" height="4" fill=${zeroLineColor} stroke=${zeroLineColor}/>
152
165
  `;
153
- const thrusterSvg = svg`
154
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 -160 128 320" x="-64" y="-160" width="128" height="320">
155
- ${thrusterTop(
156
- Math.max(thrust, 0),
157
- { box: boxColor, container: containerBackgroundColor },
158
- hideTicks
159
- )}
160
- ${thrusterBottom(
161
- Math.max(-thrust, 0),
162
- { box: boxColor, container: containerBackgroundColor },
163
- hideTicks
164
- )}
165
- ${centerLine}
166
- ${setpoint !== void 0 ? setpointSvg(setpoint, options.setpointAtZero, {
167
- fill: setPointColor,
168
- stroke: "var(--border-silhouette-color)"
169
- }) : null}
170
- ${options.tunnel ? null : arrowTop(arrowColor)}
171
- </svg>
172
- `;
166
+ const thrusterSvg = [
167
+ thrusterTop(
168
+ Math.max(thrust, 0),
169
+ { box: boxColor, container: containerBackgroundColor },
170
+ hideTicks
171
+ ),
172
+ thrusterBottom(
173
+ Math.max(-thrust, 0),
174
+ { box: boxColor, container: containerBackgroundColor },
175
+ hideTicks
176
+ ),
177
+ centerLine
178
+ ];
179
+ if (setpoint !== void 0) {
180
+ thrusterSvg.push(
181
+ setpointSvg(setpoint, options.setpointAtZero, {
182
+ fill: setPointColor,
183
+ stroke: "var(--border-silhouette-color)"
184
+ })
185
+ );
186
+ }
173
187
  if (options.tunnel) {
174
188
  return svg`
175
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="-160 -64 320 128" x="-160" y="-64" width="320" height="128">
189
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-160 -64 320 128" x="-160" y="-64">
176
190
  <g transform="rotate(90)">
177
191
  ${thrusterSvg}
178
192
  </g>
179
193
  </svg>`;
194
+ } else {
195
+ thrusterSvg.push(arrowTop(arrowColor));
196
+ return svg`
197
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-64 -160 128 320" x="-64" y="-160">
198
+ ${thrusterSvg}
199
+ </svg>
200
+ `;
180
201
  }
181
- return thrusterSvg;
182
202
  }
183
203
  export {
184
204
  ObcThruster,
@@ -1 +1 @@
1
- {"version":3,"file":"thruster.js","sources":["../../../src/navigation-instruments/thruster/thruster.ts"],"sourcesContent":["import {LitElement, svg} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {Size, InstrumentState} from '../types';\n\n/**\n * @element obc-thruster\n *\n * @prop {Size} size - The size of the thruster\n * @prop {number} thrust - The thrust of the thruster in percent (-100 - +100)\n */\n@customElement('obc-thruster')\nexport class ObcThruster extends LitElement {\n @property({type: String}) size: Size = Size.medium;\n @property({type: Number}) thrust: number = 0;\n @property({type: Number}) setpoint: number | undefined;\n @property({type: Boolean, attribute: 'at-setpoint'}) atSetpoint: boolean =\n false;\n @property({type: Boolean, attribute: 'setpoint-at-zero'})\n setpointAtZero: boolean = false;\n @property({type: String}) state: InstrumentState = InstrumentState.inCommand;\n @property({type: Boolean}) tunnel: boolean = false;\n @property({type: Boolean}) loading: boolean = false;\n @property({type: Boolean}) off: boolean = false;\n\n override render() {\n return thruster(this.thrust, this.setpoint, this.state, {\n atSetpoint: this.atSetpoint,\n tunnel: this.tunnel,\n setpointAtZero: this.setpointAtZero,\n });\n }\n}\nconst containerHeight = 134;\n\nfunction thrusterTop(\n value: number,\n colors: {box: string; container: string},\n hideTicks: boolean\n) {\n const container = svg`\n <path transform=\"translate(-33 -137)\" d=\"M1 9C1 4.58172 4.58172 1 9 1H57C61.4183 1 65 4.58172 65 9V135H1V9Z\" fill=${colors.container} stroke=\"var(--instrument-frame-tertiary-color)\" vector-effect=\"non-scaling-stroke\"/>\n `;\n const track = svg`<rect width=\"32\" height=\"134\" x=\"-16\" y=\"-136\" fill=\"var(--instrument-frame-secondary-color)\" stroke=\"var(--instrument-frame-tertiary-color)\" vector-effect=\"non-scaling-stroke\"/>`;\n\n const tickmarks = [];\n\n const nTicks = 4;\n const delta = containerHeight / nTicks;\n if (!hideTicks) {\n for (let i = 1; i < nTicks; i++) {\n tickmarks.push(\n svg`<line x1=\"-20\" x2=\"-28\" y1=${-i * delta - 2} y2=${\n -i * delta - 2\n } stroke=\"var(--instrument-frame-tertiary-color)\" stroke-width=\"1\" vector-effect=\"non-scaling-stroke\"/>`\n );\n tickmarks.push(\n svg`<line x1=\"20\" x2=\"28\" y1=${-i * delta - 2} y2=${\n -i * delta - 2\n } stroke=\"var(--instrument-frame-tertiary-color)\" stroke-width=\"1\" vector-effect=\"non-scaling-stroke\"/>`\n );\n }\n }\n\n const barHeight = (134 * value) / 100;\n const barY = -136 + 134 - barHeight;\n const bar = svg`<rect width=\"32\" height=${barHeight} x=\"-16\" y=${barY} fill=${colors.box} stroke=${colors.box} vector-effect=\"non-scaling-stroke\"/>`;\n\n return [container, track, tickmarks, bar];\n}\n\nfunction thrusterBottom(\n value: number,\n colors: {box: string; container: string},\n hideTicks: boolean\n) {\n const container = svg`\n <g transform=\"rotate(180)\">\n ${thrusterTop(value, colors, hideTicks)}\n </g>\n `;\n return container;\n}\n\nfunction arrowTop(arrowColor: string) {\n return svg`\n<path transform=\"translate(-15 -156)\" d=\"M0.707007 14.2929L14.9999 0L29.2928 14.2929C29.9228 14.9229 29.4766 16 28.5857 16H1.41412C0.523211 16 0.0770419 14.9229 0.707007 14.2929Z\" fill=${arrowColor}/>`;\n}\n\nfunction setpointSvg(\n value: number,\n setpointAtZero: boolean,\n colors: {fill: string; stroke: string}\n) {\n const y =\n -12 +\n -(setpointAtZero\n ? 0\n : Math.sign(value) * ((containerHeight * Math.abs(value)) / 100 + 2));\n return svg`\n <g transform=\"translate(-40 ${y})\">\n <path d=\"M59.4001 11.1999C59.1483 11.3887 59 11.6852 59 12C59 12.3148 59.1483 12.6113 59.4001 12.8001L72.2001 22.3966C74.1773 23.879 77 22.4692 77 19.9971L77 4.0029C77 1.53076 74.1773 0.121035 72.2001 1.60338L59.4001 11.1999Z\" fill=${colors.fill} stroke=${colors.stroke} stroke-width=\"2\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/>\n <path d=\"M20.5999 12.8001C20.8517 12.6113 21 12.3148 21 12C21 11.6852 20.8517 11.3887 20.5999 11.1999L7.79986 1.60338C5.82268 0.121036 3 1.53075 3 4.0029L3 19.9971C3 22.4692 5.82268 23.879 7.79986 22.3966L20.5999 12.8001Z\" fill=${colors.fill} stroke=${colors.stroke} stroke-width=\"2\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/>\n </g>\n`;\n}\n\nexport function thruster(\n thrust: number,\n setpoint: number | undefined,\n state: InstrumentState,\n options: {atSetpoint: boolean; tunnel: boolean; setpointAtZero: boolean}\n) {\n let boxColor = 'var(--instrument-enhanced-secondary-color)';\n let setPointColor = boxColor;\n let arrowColor = 'var(--instrument-tick-mark-primary-color)';\n let containerBackgroundColor = 'var(--instrument-frame-primary-color)';\n let zeroLineColor = 'var(--instrument-enhanced-secondary-color)';\n let hideTicks = false;\n if (options.atSetpoint) {\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n }\n if (state === InstrumentState.active) {\n boxColor = 'var(--instrument-regular-secondary-color)';\n zeroLineColor = 'var(--instrument-regular-secondary-color)';\n setPointColor = boxColor;\n arrowColor = 'var(--instrument-regular-secondary-color)';\n if (options.atSetpoint) {\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n }\n } else if (state === InstrumentState.loading) {\n boxColor = 'transparent';\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n zeroLineColor = 'var(--instrument-frame-tertiary-color)';\n arrowColor = 'var(--instrument-regular-secondary-color)';\n thrust = 0;\n hideTicks = true;\n if (setpoint !== undefined) {\n setpoint = 0;\n }\n } else if (state === InstrumentState.off) {\n boxColor = 'transparent';\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n arrowColor = 'var(--instrument-frame-tertiary-color)';\n zeroLineColor = 'var(--instrument-frame-tertiary-color)';\n thrust = 0;\n hideTicks = true;\n containerBackgroundColor = 'transparent';\n if (setpoint !== undefined) {\n setpoint = 0;\n }\n }\n\n const centerLine = svg`\n <rect x=\"-32\" y=\"-2\" width=\"64\" height=\"4\" fill=${zeroLineColor} stroke=${zeroLineColor}/>\n `;\n\n const thrusterSvg = svg`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-64 -160 128 320\" x=\"-64\" y=\"-160\" width=\"128\" height=\"320\">\n ${thrusterTop(\n Math.max(thrust, 0),\n {box: boxColor, container: containerBackgroundColor},\n hideTicks\n )}\n ${thrusterBottom(\n Math.max(-thrust, 0),\n {box: boxColor, container: containerBackgroundColor},\n hideTicks\n )}\n ${centerLine}\n ${\n setpoint !== undefined\n ? setpointSvg(setpoint, options.setpointAtZero, {\n fill: setPointColor,\n stroke: 'var(--border-silhouette-color)',\n })\n : null\n }\n ${options.tunnel ? null : arrowTop(arrowColor)}\n </svg>\n `;\n\n if (options.tunnel) {\n return svg`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-160 -64 320 128\" x=\"-160\" y=\"-64\" width=\"320\" height=\"128\">\n <g transform=\"rotate(90)\">\n ${thrusterSvg}\n </g>\n </svg>`;\n }\n\n return thrusterSvg;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-thruster': ObcThruster;\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thruster.js","sources":["../../../src/navigation-instruments/thruster/thruster.ts"],"sourcesContent":["import {LitElement, svg, html, css} from 'lit';\nimport {customElement, property} from 'lit/decorators.js';\nimport {Size, InstrumentState} from '../types';\n\n/**\n * @element obc-thruster\n *\n * @prop {Size} size - The size of the thruster\n * @prop {number} thrust - The thrust of the thruster in percent (-100 - +100)\n */\n@customElement('obc-thruster')\nexport class ObcThruster extends LitElement {\n @property({type: String}) size: Size = Size.medium;\n @property({type: Number}) thrust: number = 0;\n @property({type: Number}) setpoint: number | undefined;\n @property({type: Boolean, attribute: 'at-setpoint'}) atSetpoint: boolean =\n false;\n @property({type: Boolean, attribute: 'setpoint-at-zero'})\n setpointAtZero: boolean = false;\n @property({type: String}) state: InstrumentState = InstrumentState.inCommand;\n @property({type: Boolean}) tunnel: boolean = false;\n @property({type: Boolean}) loading: boolean = false;\n @property({type: Boolean}) off: boolean = false;\n\n override render() {\n return html`<div class=\"container\">\n ${thruster(this.thrust, this.setpoint, this.state, {\n atSetpoint: this.atSetpoint,\n tunnel: this.tunnel,\n setpointAtZero: this.setpointAtZero,\n })}\n </div>`;\n }\n\n static override styles = css`\n .container {\n height: 100%;\n width: 100%;\n }\n\n .container > svg {\n height: 100%;\n width: 100%;\n }\n `;\n}\nconst containerHeight = 134;\n\nfunction thrusterTop(\n value: number,\n colors: {box: string; container: string},\n hideTicks: boolean\n) {\n const container = svg`\n <path transform=\"translate(-33 -137)\" d=\"M1 9C1 4.58172 4.58172 1 9 1H57C61.4183 1 65 4.58172 65 9V135H1V9Z\" fill=${colors.container} stroke=\"var(--instrument-frame-tertiary-color)\" vector-effect=\"non-scaling-stroke\"/>\n `;\n const track = svg`<rect width=\"32\" height=\"134\" x=\"-16\" y=\"-136\" fill=\"var(--instrument-frame-secondary-color)\" stroke=\"var(--instrument-frame-tertiary-color)\" vector-effect=\"non-scaling-stroke\"/>`;\n\n const tickmarks = [];\n\n const nTicks = 4;\n const delta = containerHeight / nTicks;\n if (!hideTicks) {\n for (let i = 1; i < nTicks; i++) {\n tickmarks.push(\n svg`<line x1=\"-20\" x2=\"-28\" y1=${-i * delta - 2} y2=${\n -i * delta - 2\n } stroke=\"var(--instrument-frame-tertiary-color)\" stroke-width=\"1\" vector-effect=\"non-scaling-stroke\"/>`\n );\n tickmarks.push(\n svg`<line x1=\"20\" x2=\"28\" y1=${-i * delta - 2} y2=${\n -i * delta - 2\n } stroke=\"var(--instrument-frame-tertiary-color)\" stroke-width=\"1\" vector-effect=\"non-scaling-stroke\"/>`\n );\n }\n }\n\n const barHeight = (134 * value) / 100;\n const barY = -136 + 134 - barHeight;\n const bar = svg`<rect width=\"32\" height=${barHeight} x=\"-16\" y=${barY} fill=${colors.box} stroke=${colors.box} vector-effect=\"non-scaling-stroke\"/>`;\n\n return [container, track, tickmarks, bar];\n}\n\nfunction thrusterBottom(\n value: number,\n colors: {box: string; container: string},\n hideTicks: boolean\n) {\n const container = svg`\n <g transform=\"rotate(180)\">\n ${thrusterTop(value, colors, hideTicks)}\n </g>\n `;\n return container;\n}\n\nfunction arrowTop(arrowColor: string) {\n return svg`\n<path transform=\"translate(-15 -156)\" d=\"M0.707007 14.2929L14.9999 0L29.2928 14.2929C29.9228 14.9229 29.4766 16 28.5857 16H1.41412C0.523211 16 0.0770419 14.9229 0.707007 14.2929Z\" fill=${arrowColor}/>`;\n}\n\nfunction setpointSvg(\n value: number,\n setpointAtZero: boolean,\n colors: {fill: string; stroke: string}\n) {\n const y =\n -12 +\n -(setpointAtZero\n ? 0\n : Math.sign(value) * ((containerHeight * Math.abs(value)) / 100 + 2));\n return svg`\n <g transform=\"translate(-40 ${y})\">\n <path d=\"M59.4001 11.1999C59.1483 11.3887 59 11.6852 59 12C59 12.3148 59.1483 12.6113 59.4001 12.8001L72.2001 22.3966C74.1773 23.879 77 22.4692 77 19.9971L77 4.0029C77 1.53076 74.1773 0.121035 72.2001 1.60338L59.4001 11.1999Z\" fill=${colors.fill} stroke=${colors.stroke} stroke-width=\"2\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/>\n <path d=\"M20.5999 12.8001C20.8517 12.6113 21 12.3148 21 12C21 11.6852 20.8517 11.3887 20.5999 11.1999L7.79986 1.60338C5.82268 0.121036 3 1.53075 3 4.0029L3 19.9971C3 22.4692 5.82268 23.879 7.79986 22.3966L20.5999 12.8001Z\" fill=${colors.fill} stroke=${colors.stroke} stroke-width=\"2\" stroke-linejoin=\"round\" vector-effect=\"non-scaling-stroke\"/>\n </g>\n`;\n}\n\nexport function thruster(\n thrust: number,\n setpoint: number | undefined,\n state: InstrumentState,\n options: {atSetpoint: boolean; tunnel: boolean; setpointAtZero: boolean}\n) {\n let boxColor = 'var(--instrument-enhanced-secondary-color)';\n let setPointColor = boxColor;\n let arrowColor = 'var(--instrument-tick-mark-primary-color)';\n let containerBackgroundColor = 'var(--instrument-frame-primary-color)';\n let zeroLineColor = 'var(--instrument-enhanced-secondary-color)';\n let hideTicks = false;\n if (options.atSetpoint) {\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n }\n if (state === InstrumentState.active) {\n boxColor = 'var(--instrument-regular-secondary-color)';\n zeroLineColor = 'var(--instrument-regular-secondary-color)';\n setPointColor = boxColor;\n arrowColor = 'var(--instrument-regular-secondary-color)';\n if (options.atSetpoint) {\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n }\n } else if (state === InstrumentState.loading) {\n boxColor = 'transparent';\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n zeroLineColor = 'var(--instrument-frame-tertiary-color)';\n arrowColor = 'var(--instrument-regular-secondary-color)';\n thrust = 0;\n hideTicks = true;\n if (setpoint !== undefined) {\n setpoint = 0;\n }\n } else if (state === InstrumentState.off) {\n boxColor = 'transparent';\n setPointColor = 'var(--instrument-frame-tertiary-color)';\n arrowColor = 'var(--instrument-frame-tertiary-color)';\n zeroLineColor = 'var(--instrument-frame-tertiary-color)';\n thrust = 0;\n hideTicks = true;\n containerBackgroundColor = 'transparent';\n if (setpoint !== undefined) {\n setpoint = 0;\n }\n }\n\n const centerLine = svg`\n <rect x=\"-32\" y=\"-2\" width=\"64\" height=\"4\" fill=${zeroLineColor} stroke=${zeroLineColor}/>\n `;\n\n const thrusterSvg = [\n thrusterTop(\n Math.max(thrust, 0),\n {box: boxColor, container: containerBackgroundColor},\n hideTicks\n ),\n thrusterBottom(\n Math.max(-thrust, 0),\n {box: boxColor, container: containerBackgroundColor},\n hideTicks\n ),\n centerLine,\n ];\n if (setpoint !== undefined) {\n thrusterSvg.push(\n setpointSvg(setpoint, options.setpointAtZero, {\n fill: setPointColor,\n stroke: 'var(--border-silhouette-color)',\n })\n );\n }\n\n if (options.tunnel) {\n return svg`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-160 -64 320 128\" x=\"-160\" y=\"-64\">\n <g transform=\"rotate(90)\">\n ${thrusterSvg}\n </g>\n </svg>`;\n } else {\n thrusterSvg.push(arrowTop(arrowColor));\n return svg`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-64 -160 128 320\" x=\"-64\" y=\"-160\">\n ${thrusterSvg}\n </svg>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'obc-thruster': ObcThruster;\n }\n}\n"],"names":[],"mappings":"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"}
package/fix-generated.cjs CHANGED
@@ -20,6 +20,9 @@ function addRepositoryToPackageJsonVue() {
20
20
  url: 'git+https://github.com/Ocean-Industries-Concept-Lab/openbridge-webcomponents.git',
21
21
  directory: 'packages/openbridge-webcomponents-vue',
22
22
  };
23
+
24
+ // add license
25
+ packageJson.license = 'Apache-2.0';
23
26
  fs.writeFileSync(
24
27
  '../openbridge-webcomponents-vue/package.json',
25
28
  JSON.stringify(packageJson, null, 2)
@@ -33,6 +36,7 @@ function addRepositoryToPackageJsonReact() {
33
36
  url: 'git+https://github.com/Ocean-Industries-Concept-Lab/openbridge-webcomponents.git',
34
37
  directory: 'packages/openbridge-webcomponents-react',
35
38
  };
39
+ packageJson.license = 'Apache-2.0';
36
40
  fs.writeFileSync(
37
41
  '../openbridge-webcomponents-react/package.json',
38
42
  JSON.stringify(packageJson, null, 2)
package/new-component.ts CHANGED
@@ -29,7 +29,7 @@ const files = await multiselect('Create files', {
29
29
  // Convert name to kebab-case
30
30
  const componentName = name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
31
31
 
32
- const parentDir = componentType[0].includes('ui')
32
+ const parentDir = componentType.includes('ui')
33
33
  ? 'components'
34
34
  : 'navigation-instruments';
35
35
  const dir = path.join('src', parentDir, componentName);
@@ -38,14 +38,13 @@ fs.mkdirSync(dir);
38
38
 
39
39
  // Create files
40
40
  if (files.includes('lit')) {
41
+ const hasCss = files.includes('css');
41
42
  const litFile = path.join(dir, `${componentName}.ts`);
42
- const content = `import { LitElement, html } from 'lit'
43
+ const content = `import { LitElement, html${
44
+ hasCss ? `, unsafeCSS ` : ` `
45
+ }} from 'lit'
43
46
  import { customElement } from 'lit/decorators.js'
44
- ${
45
- files.includes('css')
46
- ? `import compentStyle from "./${componentName}.style";`
47
- : ''
48
- }
47
+ ${hasCss ? `import compentStyle from "./${componentName}.css?inline";` : ''}
49
48
 
50
49
  @customElement('obc-${componentName}')
51
50
  export class Obc${name} extends LitElement {
@@ -57,7 +56,7 @@ export class Obc${name} extends LitElement {
57
56
  \`
58
57
  }
59
58
 
60
- ${files.includes('css') ? `static override styles = compentStyle;` : ''}
59
+ ${hasCss ? `static override styles = unsafeCSS(compentStyle);` : ''}
61
60
  }
62
61
 
63
62
  declare global {
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@oicl/openbridge-webcomponents",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/Ocean-Industries-Concept-Lab/openbridge-webcomponents.git",
8
8
  "directory": "packages/openbridge-webcomponents"
9
9
  },
10
+ "license": "Apache-2.0",
10
11
  "scripts": {
11
12
  "build": "yarn run typecheck && yarn run build:ts && yarn run analyze && yarn run build:wrappers",
12
13
  "build:ts": "vite build",
@@ -38,12 +39,15 @@
38
39
  "@lit-labs/cli": "^0.6.2",
39
40
  "@lit-labs/gen-wrapper-react": "^0.3.1",
40
41
  "@lit-labs/gen-wrapper-vue": "^0.3.2",
41
- "@open-wc/lit-helpers": "^0.6.0",
42
+ "@open-wc/lit-helpers": "^0.7.0",
42
43
  "@storybook/addon-essentials": "^7.6.7",
44
+ "@storybook/addon-interactions": "^7.6.17",
43
45
  "@storybook/addon-links": "^7.6.7",
46
+ "@storybook/addon-storysource": "^7.6.17",
44
47
  "@storybook/addon-themes": "^7.6.7",
45
48
  "@storybook/blocks": "^7.6.7",
46
49
  "@storybook/test-runner": "^0.16.0",
50
+ "@storybook/testing-library": "^0.2.2",
47
51
  "@storybook/web-components": "^7.6.7",
48
52
  "@storybook/web-components-vite": "^7.6.7",
49
53
  "@topcli/prompts": "^1.8.0",
@@ -66,6 +70,7 @@
66
70
  "prettier": "^3.1.1",
67
71
  "react": "^18.2.0",
68
72
  "react-dom": "^18.2.0",
73
+ "release-it": "^17.1.1",
69
74
  "rollup-plugin-postcss-lit": "^2.1.0",
70
75
  "storybook": "^7.6.7",
71
76
  "tsx": "^3.14.0",
@@ -0,0 +1,177 @@
1
+ import * as Figma from 'figma-api';
2
+ import * as dotenv from 'dotenv';
3
+
4
+ dotenv.config();
5
+
6
+ export interface IconRef {
7
+ name: string;
8
+ id: string;
9
+ javascriptName: string;
10
+ styles: {[colorCode: string]: {cssClass: string}};
11
+ }
12
+
13
+ export function getSingleColorIcon(imageData: string, icon: IconRef): string {
14
+ // replace fill color with currentColor
15
+ const fillRegex = /fill="[^"]+"/g;
16
+ const replace = 'fill="currentColor"';
17
+ let imageDataNew = imageData.replace(fillRegex, replace);
18
+
19
+ // remove fillOpacity
20
+ const fillOpacityRegex = /fill-opacity="[^"]+"/g;
21
+ imageDataNew = imageDataNew.replace(fillOpacityRegex, '');
22
+
23
+ return imageDataNew;
24
+ }
25
+
26
+ export function getCssColorIcon(imageData: string, icon: IconRef): string {
27
+ // replace fill color with currentColor
28
+ const fillRegex = /fill="([^"]+)"/g;
29
+
30
+ const replace = (match: string, color: string) => {
31
+ const cssClass = icon.styles[color];
32
+ if (cssClass === undefined) {
33
+ if (color === 'black') return 'fill="currentColor"';
34
+ if (color === 'none') return 'fill="none"';
35
+ if (color === 'white') return 'fill="none"';
36
+ if (color === '#C90000')
37
+ return 'fill="var(--alarm-enabled-background-color)"';
38
+ console.warn(
39
+ 'No css class for color',
40
+ color,
41
+ icon.name,
42
+ Object.keys(icon.styles)
43
+ );
44
+ return 'fill="currentColor"';
45
+ }
46
+ return `style="fill: var(--${cssClass.cssClass})"`;
47
+ };
48
+ imageData = imageData.replace(fillRegex, replace);
49
+
50
+ // remove fillOpacity
51
+ const fillOpacityRegex = /fill-opacity="[^"]+"/g;
52
+ imageData = imageData.replace(fillOpacityRegex, '');
53
+
54
+ // replace stroke color with currentColor
55
+ const strokeRegex = /stroke="([^"]+)"/g;
56
+ const replaceStroke = (match: string, color: string) => {
57
+ const cssClass = icon.styles[color];
58
+ if (cssClass === undefined) {
59
+ if (color === 'black') return 'stroke="currentColor"';
60
+ if (color === 'none') return 'stroke="none"';
61
+ if (color === 'white') return 'stroke="none"';
62
+ console.warn(
63
+ 'No css class for color',
64
+ color,
65
+ icon.name,
66
+ Object.keys(icon.styles)
67
+ );
68
+ return 'stroke="currentColor"';
69
+ }
70
+ return `style="stroke: var(--${cssClass.cssClass})"`;
71
+ };
72
+ imageData = imageData.replace(strokeRegex, replaceStroke);
73
+
74
+ // remove strokeOpacity
75
+ const strokeOpacityRegex = /stroke-opacity="[^"]+"/g;
76
+ imageData = imageData.replace(strokeOpacityRegex, '');
77
+
78
+ return imageData;
79
+ }
80
+
81
+ export function kebabToUpperCamelCase(kebabCase: string): string {
82
+ const words = kebabCase.replace(/ /g, '').split('-');
83
+ const upperCamelCase = words
84
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
85
+ .join('');
86
+ return upperCamelCase;
87
+ }
88
+
89
+ export function getStylesForNode(
90
+ node: Figma.Node,
91
+ styles: {[styleId: string]: Figma.Style}
92
+ ): {[colorCode: string]: {cssClass: string}} {
93
+ let out = {};
94
+
95
+ if ('children' in node) {
96
+ for (const child of node.children) {
97
+ out = {...out, ...getStylesForNode(child, styles)};
98
+ if ('fills' in child && 'styles' in child) {
99
+ let fils: string | undefined;
100
+ child.fills.forEach((fill) => {
101
+ if (fill.type === 'SOLID') {
102
+ if (fils !== undefined) {
103
+ console.warn(
104
+ 'Multiple fills',
105
+ fils,
106
+ rgbaToHexOrColorName(fill.color!)
107
+ );
108
+ }
109
+ fils = rgbaToHexOrColorName(fill.color!);
110
+ }
111
+ });
112
+ if (fils !== undefined && child.styles && 'fill' in child.styles) {
113
+ const styleId = child.styles.fill as string;
114
+ const figmaStyle = styles[styleId];
115
+ const cssClass = styleToCssClass(figmaStyle);
116
+ out[fils] = {cssClass: cssClass};
117
+ }
118
+ }
119
+ if ('strokes' in child && 'styles' in child) {
120
+ let strokes: string;
121
+ child.strokes.forEach((fill) => {
122
+ if (fill.type === 'SOLID') {
123
+ if (strokes !== undefined) {
124
+ console.warn(
125
+ 'Multiple strokes',
126
+ strokes,
127
+ rgbaToHexOrColorName(fill.color!)
128
+ );
129
+ }
130
+ strokes = rgbaToHexOrColorName(fill.color!);
131
+ }
132
+ });
133
+ if (strokes !== undefined && child.styles?.stroke) {
134
+ const styleId = child.styles.stroke;
135
+ const figmaStyle = styles[styleId];
136
+ const cssClass = styleToCssClass(figmaStyle);
137
+ out[strokes] = {cssClass: cssClass};
138
+ }
139
+ }
140
+ if ('fillOverrideTable' in child) {
141
+ for (const fill of Object.values(child.fillOverrideTable)) {
142
+ if (fill === null) continue;
143
+ if (!('inheritFillStyleId' in fill)) continue;
144
+ const styleId = fill.inheritFillStyleId;
145
+ const figmaStyle = styles[styleId];
146
+ const color = rgbaToHexOrColorName(fill.fills[0].color!);
147
+ const cssClass = styleToCssClass(figmaStyle);
148
+ out[color] = {cssClass: cssClass};
149
+ }
150
+ }
151
+ }
152
+ }
153
+ return out;
154
+ }
155
+
156
+ function decimalToHex(d: number): string {
157
+ const v = Math.round(d * 255).toString(16);
158
+ return v.length === 1 ? `0${v}` : v;
159
+ }
160
+
161
+ function rgbaToHexOrColorName(rgba: Figma.Color): string {
162
+ const isBlack = rgba.r === 0 && rgba.g === 0 && rgba.b === 0 && rgba.a === 1;
163
+ const isWhite = rgba.r === 1 && rgba.g === 1 && rgba.b === 1 && rgba.a === 1;
164
+ if (isBlack) {
165
+ return 'black';
166
+ } else if (isWhite) {
167
+ return 'white';
168
+ } else {
169
+ return `#${decimalToHex(rgba.r)}${decimalToHex(rgba.g)}${decimalToHex(
170
+ rgba.b
171
+ )}`.toUpperCase();
172
+ }
173
+ }
174
+
175
+ function styleToCssClass(style: Figma.Style): string {
176
+ return style.name.replace(/[\/ ]/g, '-').toLocaleLowerCase();
177
+ }