@robdobsn/raftjs 1.1.1 → 1.3.1

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 (255) hide show
  1. package/README.md +2 -0
  2. package/dist/react-native/RaftAttributeHandler.js.map +1 -0
  3. package/dist/react-native/RaftChannel.js.map +1 -0
  4. package/dist/react-native/RaftChannelBLE.native.d.ts +95 -0
  5. package/dist/react-native/RaftChannelBLE.native.js +458 -0
  6. package/dist/react-native/RaftChannelBLE.native.js.map +1 -0
  7. package/dist/{RaftChannelWebBLE.d.ts → react-native/RaftChannelBLE.web.d.ts} +1 -1
  8. package/dist/{RaftChannelWebBLE.js → react-native/RaftChannelBLE.web.js} +31 -28
  9. package/dist/react-native/RaftChannelBLE.web.js.map +1 -0
  10. package/dist/react-native/RaftChannelBLEFactory.d.ts +10 -0
  11. package/dist/react-native/RaftChannelBLEFactory.js +17 -0
  12. package/dist/react-native/RaftChannelBLEFactory.js.map +1 -0
  13. package/dist/react-native/RaftChannelBLEScanner.native.d.ts +18 -0
  14. package/dist/react-native/RaftChannelBLEScanner.native.js +139 -0
  15. package/dist/react-native/RaftChannelBLEScanner.native.js.map +1 -0
  16. package/dist/{RaftChannelWebSerial.js → react-native/RaftChannelWebSerial.js} +3 -2
  17. package/dist/react-native/RaftChannelWebSerial.js.map +1 -0
  18. package/dist/react-native/RaftChannelWebSocket.js.map +1 -0
  19. package/dist/react-native/RaftCommsStats.js.map +1 -0
  20. package/dist/{RaftConnEvents.d.ts → react-native/RaftConnEvents.d.ts} +10 -2
  21. package/dist/{RaftConnEvents.js → react-native/RaftConnEvents.js} +10 -0
  22. package/dist/react-native/RaftConnEvents.js.map +1 -0
  23. package/dist/{RaftConnector.d.ts → react-native/RaftConnector.d.ts} +6 -3
  24. package/dist/{RaftConnector.js → react-native/RaftConnector.js} +75 -74
  25. package/dist/react-native/RaftConnector.js.map +1 -0
  26. package/dist/react-native/RaftCustomAttrHandler.js.map +1 -0
  27. package/dist/{RaftDeviceInfo.d.ts → react-native/RaftDeviceInfo.d.ts} +5 -10
  28. package/dist/react-native/RaftDeviceInfo.js.map +1 -0
  29. package/dist/{RaftDeviceManager.d.ts → react-native/RaftDeviceManager.d.ts} +14 -16
  30. package/dist/{RaftDeviceManager.js → react-native/RaftDeviceManager.js} +112 -210
  31. package/dist/react-native/RaftDeviceManager.js.map +1 -0
  32. package/dist/react-native/RaftDeviceMgrIF.d.ts +12 -0
  33. package/dist/react-native/RaftDeviceMgrIF.js +11 -0
  34. package/dist/react-native/RaftDeviceMgrIF.js.map +1 -0
  35. package/dist/react-native/RaftDeviceMsg.js.map +1 -0
  36. package/dist/{RaftDeviceStates.d.ts → react-native/RaftDeviceStates.d.ts} +1 -1
  37. package/dist/react-native/RaftDeviceStates.js.map +1 -0
  38. package/dist/react-native/RaftFileHandler.js.map +1 -0
  39. package/dist/react-native/RaftLog.js.map +1 -0
  40. package/dist/{RaftMiniHDLC.js → react-native/RaftMiniHDLC.js} +1 -1
  41. package/dist/react-native/RaftMiniHDLC.js.map +1 -0
  42. package/dist/{RaftMsgHandler.js → react-native/RaftMsgHandler.js} +2 -2
  43. package/dist/react-native/RaftMsgHandler.js.map +1 -0
  44. package/dist/react-native/RaftMsgTrackInfo.js.map +1 -0
  45. package/dist/react-native/RaftProtocolDefs.js.map +1 -0
  46. package/dist/react-native/RaftStreamHandler.js.map +1 -0
  47. package/dist/{RaftSystemType.d.ts → react-native/RaftSystemType.d.ts} +3 -0
  48. package/dist/{RaftSystemType.js.map → react-native/RaftSystemType.js.map} +1 -1
  49. package/dist/react-native/RaftSystemUtils.js.map +1 -0
  50. package/dist/{RaftTypes.d.ts → react-native/RaftTypes.d.ts} +11 -0
  51. package/dist/{RaftTypes.js → react-native/RaftTypes.js} +34 -1
  52. package/dist/react-native/RaftTypes.js.map +1 -0
  53. package/dist/react-native/RaftUpdateEvents.js.map +1 -0
  54. package/dist/react-native/RaftUpdateManager.js.map +1 -0
  55. package/dist/{RaftUtils.js → react-native/RaftUtils.js} +1 -1
  56. package/dist/react-native/RaftUtils.js.map +1 -0
  57. package/dist/react-native/RaftWifiTypes.js.map +1 -0
  58. package/dist/react-native/main.d.ts +21 -0
  59. package/dist/{main.js → react-native/main.js} +7 -3
  60. package/dist/react-native/main.js.map +1 -0
  61. package/dist/web/RaftAttributeHandler.d.ts +12 -0
  62. package/dist/web/RaftAttributeHandler.js +241 -0
  63. package/dist/web/RaftAttributeHandler.js.map +1 -0
  64. package/dist/web/RaftChannel.d.ts +18 -0
  65. package/dist/web/RaftChannel.js +12 -0
  66. package/dist/web/RaftChannel.js.map +1 -0
  67. package/dist/web/RaftChannelBLE.web.d.ts +38 -0
  68. package/dist/web/RaftChannelBLE.web.js +277 -0
  69. package/dist/web/RaftChannelBLE.web.js.map +1 -0
  70. package/dist/web/RaftChannelBLEFactory.d.ts +10 -0
  71. package/dist/web/RaftChannelBLEFactory.js +17 -0
  72. package/dist/web/RaftChannelBLEFactory.js.map +1 -0
  73. package/dist/web/RaftChannelWebSerial.d.ts +37 -0
  74. package/dist/web/RaftChannelWebSerial.js +320 -0
  75. package/dist/web/RaftChannelWebSerial.js.map +1 -0
  76. package/dist/web/RaftChannelWebSocket.d.ts +28 -0
  77. package/dist/web/RaftChannelWebSocket.js +197 -0
  78. package/dist/web/RaftChannelWebSocket.js.map +1 -0
  79. package/dist/web/RaftCommsStats.d.ts +39 -0
  80. package/dist/web/RaftCommsStats.js +128 -0
  81. package/dist/web/RaftCommsStats.js.map +1 -0
  82. package/dist/web/RaftConnEvents.d.ts +39 -0
  83. package/dist/web/RaftConnEvents.js +54 -0
  84. package/dist/web/RaftConnEvents.js.map +1 -0
  85. package/dist/web/RaftConnector.d.ts +245 -0
  86. package/dist/web/RaftConnector.js +614 -0
  87. package/dist/web/RaftConnector.js.map +1 -0
  88. package/dist/web/RaftCustomAttrHandler.d.ts +4 -0
  89. package/dist/web/RaftCustomAttrHandler.js +50 -0
  90. package/dist/web/RaftCustomAttrHandler.js.map +1 -0
  91. package/dist/web/RaftDeviceInfo.d.ts +59 -0
  92. package/dist/web/RaftDeviceInfo.js +36 -0
  93. package/dist/web/RaftDeviceInfo.js.map +1 -0
  94. package/dist/web/RaftDeviceManager.d.ts +35 -0
  95. package/dist/web/RaftDeviceManager.js +352 -0
  96. package/dist/web/RaftDeviceManager.js.map +1 -0
  97. package/dist/web/RaftDeviceMgrIF.d.ts +12 -0
  98. package/dist/web/RaftDeviceMgrIF.js +11 -0
  99. package/dist/web/RaftDeviceMgrIF.js.map +1 -0
  100. package/dist/web/RaftDeviceMsg.d.ts +9 -0
  101. package/dist/web/RaftDeviceMsg.js +11 -0
  102. package/dist/web/RaftDeviceMsg.js.map +1 -0
  103. package/dist/web/RaftDeviceStates.d.ts +33 -0
  104. package/dist/web/RaftDeviceStates.js +60 -0
  105. package/dist/web/RaftDeviceStates.js.map +1 -0
  106. package/dist/web/RaftFileHandler.d.ts +52 -0
  107. package/dist/web/RaftFileHandler.js +502 -0
  108. package/dist/web/RaftFileHandler.js.map +1 -0
  109. package/dist/web/RaftLog.d.ts +22 -0
  110. package/dist/web/RaftLog.js +63 -0
  111. package/dist/web/RaftLog.js.map +1 -0
  112. package/dist/web/RaftMiniHDLC.d.ts +18 -0
  113. package/dist/web/RaftMiniHDLC.js +383 -0
  114. package/dist/web/RaftMiniHDLC.js.map +1 -0
  115. package/dist/web/RaftMsgHandler.d.ts +57 -0
  116. package/dist/web/RaftMsgHandler.js +480 -0
  117. package/dist/web/RaftMsgHandler.js.map +1 -0
  118. package/dist/web/RaftMsgTrackInfo.d.ts +17 -0
  119. package/dist/web/RaftMsgTrackInfo.js +42 -0
  120. package/dist/web/RaftMsgTrackInfo.js.map +1 -0
  121. package/dist/web/RaftProtocolDefs.d.ts +30 -0
  122. package/dist/web/RaftProtocolDefs.js +48 -0
  123. package/dist/web/RaftProtocolDefs.js.map +1 -0
  124. package/dist/web/RaftStreamHandler.d.ts +38 -0
  125. package/dist/web/RaftStreamHandler.js +257 -0
  126. package/dist/web/RaftStreamHandler.js.map +1 -0
  127. package/dist/web/RaftSystemType.d.ts +24 -0
  128. package/dist/web/RaftSystemType.js +3 -0
  129. package/dist/web/RaftSystemType.js.map +1 -0
  130. package/dist/web/RaftSystemUtils.d.ts +136 -0
  131. package/dist/web/RaftSystemUtils.js +410 -0
  132. package/dist/web/RaftSystemUtils.js.map +1 -0
  133. package/dist/web/RaftTypes.d.ts +195 -0
  134. package/dist/web/RaftTypes.js +190 -0
  135. package/dist/web/RaftTypes.js.map +1 -0
  136. package/dist/web/RaftUpdateEvents.d.ts +33 -0
  137. package/dist/web/RaftUpdateEvents.js +46 -0
  138. package/dist/web/RaftUpdateEvents.js.map +1 -0
  139. package/dist/web/RaftUpdateManager.d.ts +61 -0
  140. package/dist/web/RaftUpdateManager.js +618 -0
  141. package/dist/web/RaftUpdateManager.js.map +1 -0
  142. package/dist/web/RaftUtils.d.ts +125 -0
  143. package/dist/web/RaftUtils.js +454 -0
  144. package/dist/web/RaftUtils.js.map +1 -0
  145. package/dist/web/RaftWifiTypes.d.ts +23 -0
  146. package/dist/web/RaftWifiTypes.js +43 -0
  147. package/dist/web/RaftWifiTypes.js.map +1 -0
  148. package/dist/{main.d.ts → web/main.d.ts} +4 -1
  149. package/dist/web/main.js +46 -0
  150. package/dist/web/main.js.map +1 -0
  151. package/examples/dashboard/package.json +4 -0
  152. package/examples/dashboard/src/CommandPanel.tsx +147 -0
  153. package/examples/dashboard/src/ConnManager.ts +2 -2
  154. package/examples/dashboard/src/DeviceActionsForm.tsx +133 -0
  155. package/examples/dashboard/src/DeviceAttrsForm.tsx +49 -0
  156. package/examples/dashboard/src/DeviceLineChart.tsx +139 -0
  157. package/examples/dashboard/src/DevicePanel.tsx +135 -0
  158. package/examples/dashboard/src/DevicesPanel.tsx +57 -0
  159. package/examples/dashboard/src/DispLedGrid.tsx +110 -0
  160. package/examples/dashboard/src/DispOneLed.tsx +20 -0
  161. package/examples/dashboard/src/Main.tsx +53 -47
  162. package/examples/dashboard/src/{StatusScreen.tsx → StatusPanel.tsx} +13 -14
  163. package/examples/dashboard/src/SystemTypeCog/CogStateInfo.ts +137 -119
  164. package/examples/dashboard/src/SystemTypeCog/SystemTypeCog.ts +15 -8
  165. package/examples/dashboard/src/SystemTypeMarty/RICStateInfo.ts +47 -1
  166. package/examples/dashboard/src/SystemTypeMarty/SystemTypeMarty.ts +4 -1
  167. package/examples/dashboard/src/styles.css +262 -9
  168. package/package.json +57 -48
  169. package/src/RaftChannelBLE.native.ts +586 -0
  170. package/src/{RaftChannelWebBLE.ts → RaftChannelBLE.web.ts} +26 -23
  171. package/src/RaftChannelBLEFactory.ts +13 -0
  172. package/src/RaftChannelBLEScanner.native.ts +185 -0
  173. package/src/RaftChannelWebSerial.ts +1 -0
  174. package/src/RaftConnEvents.ts +14 -2
  175. package/src/RaftConnector.ts +80 -88
  176. package/src/RaftDeviceInfo.ts +6 -12
  177. package/src/RaftDeviceManager.ts +138 -245
  178. package/src/RaftDeviceMgrIF.ts +28 -0
  179. package/src/RaftDeviceStates.ts +1 -2
  180. package/src/RaftMiniHDLC.ts +1 -1
  181. package/src/RaftMsgHandler.ts +2 -2
  182. package/src/RaftSystemType.ts +3 -0
  183. package/src/RaftTypes.ts +48 -17
  184. package/src/RaftUtils.ts +1 -1
  185. package/src/main.ts +8 -1
  186. package/tsconfig.json +5 -2
  187. package/tsconfig.react-native.json +29 -0
  188. package/dist/RaftAttributeHandler.js.map +0 -1
  189. package/dist/RaftChannel.js.map +0 -1
  190. package/dist/RaftChannelWebBLE.js.map +0 -1
  191. package/dist/RaftChannelWebSerial.js.map +0 -1
  192. package/dist/RaftChannelWebSocket.js.map +0 -1
  193. package/dist/RaftCommsStats.js.map +0 -1
  194. package/dist/RaftConnEvents.js.map +0 -1
  195. package/dist/RaftConnector.js.map +0 -1
  196. package/dist/RaftCustomAttrHandler.js.map +0 -1
  197. package/dist/RaftDeviceInfo.js.map +0 -1
  198. package/dist/RaftDeviceManager.js.map +0 -1
  199. package/dist/RaftDeviceMsg.js.map +0 -1
  200. package/dist/RaftDeviceStates.js.map +0 -1
  201. package/dist/RaftFileHandler.js.map +0 -1
  202. package/dist/RaftLog.js.map +0 -1
  203. package/dist/RaftMiniHDLC.js.map +0 -1
  204. package/dist/RaftMsgHandler.js.map +0 -1
  205. package/dist/RaftMsgTrackInfo.js.map +0 -1
  206. package/dist/RaftProtocolDefs.js.map +0 -1
  207. package/dist/RaftStreamHandler.js.map +0 -1
  208. package/dist/RaftSystemUtils.js.map +0 -1
  209. package/dist/RaftTypes.js.map +0 -1
  210. package/dist/RaftUpdateEvents.js.map +0 -1
  211. package/dist/RaftUpdateManager.js.map +0 -1
  212. package/dist/RaftUtils.js.map +0 -1
  213. package/dist/RaftWifiTypes.js.map +0 -1
  214. package/dist/TestDataGen.d.ts +0 -7
  215. package/dist/TestDataGen.js +0 -133
  216. package/dist/TestDataGen.js.map +0 -1
  217. package/dist/main.js.map +0 -1
  218. package/src/TestDataGen.ts +0 -157
  219. /package/dist/{RaftAttributeHandler.d.ts → react-native/RaftAttributeHandler.d.ts} +0 -0
  220. /package/dist/{RaftAttributeHandler.js → react-native/RaftAttributeHandler.js} +0 -0
  221. /package/dist/{RaftChannel.d.ts → react-native/RaftChannel.d.ts} +0 -0
  222. /package/dist/{RaftChannel.js → react-native/RaftChannel.js} +0 -0
  223. /package/dist/{RaftChannelWebSerial.d.ts → react-native/RaftChannelWebSerial.d.ts} +0 -0
  224. /package/dist/{RaftChannelWebSocket.d.ts → react-native/RaftChannelWebSocket.d.ts} +0 -0
  225. /package/dist/{RaftChannelWebSocket.js → react-native/RaftChannelWebSocket.js} +0 -0
  226. /package/dist/{RaftCommsStats.d.ts → react-native/RaftCommsStats.d.ts} +0 -0
  227. /package/dist/{RaftCommsStats.js → react-native/RaftCommsStats.js} +0 -0
  228. /package/dist/{RaftCustomAttrHandler.d.ts → react-native/RaftCustomAttrHandler.d.ts} +0 -0
  229. /package/dist/{RaftCustomAttrHandler.js → react-native/RaftCustomAttrHandler.js} +0 -0
  230. /package/dist/{RaftDeviceInfo.js → react-native/RaftDeviceInfo.js} +0 -0
  231. /package/dist/{RaftDeviceMsg.d.ts → react-native/RaftDeviceMsg.d.ts} +0 -0
  232. /package/dist/{RaftDeviceMsg.js → react-native/RaftDeviceMsg.js} +0 -0
  233. /package/dist/{RaftDeviceStates.js → react-native/RaftDeviceStates.js} +0 -0
  234. /package/dist/{RaftFileHandler.d.ts → react-native/RaftFileHandler.d.ts} +0 -0
  235. /package/dist/{RaftFileHandler.js → react-native/RaftFileHandler.js} +0 -0
  236. /package/dist/{RaftLog.d.ts → react-native/RaftLog.d.ts} +0 -0
  237. /package/dist/{RaftLog.js → react-native/RaftLog.js} +0 -0
  238. /package/dist/{RaftMiniHDLC.d.ts → react-native/RaftMiniHDLC.d.ts} +0 -0
  239. /package/dist/{RaftMsgHandler.d.ts → react-native/RaftMsgHandler.d.ts} +0 -0
  240. /package/dist/{RaftMsgTrackInfo.d.ts → react-native/RaftMsgTrackInfo.d.ts} +0 -0
  241. /package/dist/{RaftMsgTrackInfo.js → react-native/RaftMsgTrackInfo.js} +0 -0
  242. /package/dist/{RaftProtocolDefs.d.ts → react-native/RaftProtocolDefs.d.ts} +0 -0
  243. /package/dist/{RaftProtocolDefs.js → react-native/RaftProtocolDefs.js} +0 -0
  244. /package/dist/{RaftStreamHandler.d.ts → react-native/RaftStreamHandler.d.ts} +0 -0
  245. /package/dist/{RaftStreamHandler.js → react-native/RaftStreamHandler.js} +0 -0
  246. /package/dist/{RaftSystemType.js → react-native/RaftSystemType.js} +0 -0
  247. /package/dist/{RaftSystemUtils.d.ts → react-native/RaftSystemUtils.d.ts} +0 -0
  248. /package/dist/{RaftSystemUtils.js → react-native/RaftSystemUtils.js} +0 -0
  249. /package/dist/{RaftUpdateEvents.d.ts → react-native/RaftUpdateEvents.d.ts} +0 -0
  250. /package/dist/{RaftUpdateEvents.js → react-native/RaftUpdateEvents.js} +0 -0
  251. /package/dist/{RaftUpdateManager.d.ts → react-native/RaftUpdateManager.d.ts} +0 -0
  252. /package/dist/{RaftUpdateManager.js → react-native/RaftUpdateManager.js} +0 -0
  253. /package/dist/{RaftUtils.d.ts → react-native/RaftUtils.d.ts} +0 -0
  254. /package/dist/{RaftWifiTypes.d.ts → react-native/RaftWifiTypes.d.ts} +0 -0
  255. /package/dist/{RaftWifiTypes.js → react-native/RaftWifiTypes.js} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  /* General styling for the dark theme */
4
4
  body,
5
- .device-screen,
5
+ .device-panel,
6
6
  .device-block-heading,
7
7
  .device-attrs-and-actions,
8
8
  .device-attrs-form,
@@ -41,7 +41,8 @@ h1 {
41
41
  }
42
42
 
43
43
  .always-enabled {
44
- pointer-events: auto !important; /* Ensures interactions are always enabled */
44
+ pointer-events: auto !important;
45
+ /* Ensures interactions are always enabled */
45
46
  }
46
47
 
47
48
  .content-body {
@@ -77,6 +78,16 @@ h1 {
77
78
  gap: 10px;
78
79
  }
79
80
 
81
+ .connected-panel {
82
+ display: flex;
83
+ justify-content: flex-start;
84
+ gap: 20px;
85
+ align-items: stretch;
86
+ flex-direction: row;
87
+ width: 100%;
88
+ /* Space between the Connected panel and StatusPanel */
89
+ }
90
+
80
91
  .info-box {
81
92
  display: flex;
82
93
  flex-direction: column;
@@ -91,13 +102,24 @@ h1 {
91
102
  margin-bottom: 10px;
92
103
  }
93
104
 
94
- .status-screen {
95
- display: flex;
96
- flex-direction: column;
97
- gap: 10px;
98
- border-radius: 10px;
105
+ .command-input {
106
+ padding: 10px;
107
+ margin-bottom: 10px;
108
+ border: 1px solid #ccc;
109
+ border-radius: 4px;
110
+ }
111
+
112
+ .send-command-button {
99
113
  padding: 10px 20px;
100
- border: 1px solid #666;
114
+ border: none;
115
+ border-radius: 4px;
116
+ background-color: #007bff;
117
+ color: white;
118
+ cursor: pointer;
119
+ }
120
+
121
+ .send-command-button:hover {
122
+ background-color: #0056b3;
101
123
  }
102
124
 
103
125
  .info {
@@ -109,7 +131,6 @@ h1 {
109
131
  .info-line {
110
132
  display: flex;
111
133
  justify-content: space-between;
112
- margin-bottom: 10px;
113
134
  }
114
135
 
115
136
  .info-label {
@@ -120,3 +141,235 @@ h1 {
120
141
  .info-value {
121
142
  font-weight: normal;
122
143
  }
144
+
145
+ .info-columns {
146
+ display: flex;
147
+ gap: 20px;
148
+ }
149
+
150
+ .info-column {
151
+ display: flex;
152
+ flex-direction: column;
153
+ }
154
+
155
+ .collapsible-section {
156
+ display: flex;
157
+ flex-direction: column;
158
+ margin-bottom: 10px;
159
+ }
160
+
161
+ .collapsible-header {
162
+ background-color: #444;
163
+ color: #fff;
164
+ border: none;
165
+ padding: 10px;
166
+ cursor: pointer;
167
+ text-align: left;
168
+ width: 100%;
169
+ font-size: 16px;
170
+ outline: none;
171
+ border-radius: 4px;
172
+ }
173
+
174
+ .collapsible-content {
175
+ padding: 10px;
176
+ background-color: #333;
177
+ border: 1px solid #666;
178
+ border-radius: 4px;
179
+ }
180
+
181
+ .command-input-column {
182
+ display: flex;
183
+ flex-direction: column;
184
+ }
185
+
186
+ .example-commands-column {
187
+ display: flex;
188
+ flex-direction: column;
189
+ }
190
+
191
+ .example-command {
192
+ display: flex;
193
+ justify-content: space-between;
194
+ align-items: center;
195
+ margin-bottom: 5px;
196
+ }
197
+
198
+ .example-load-button {
199
+ padding: 5px 10px;
200
+ background-color: #007bff;
201
+ border: none;
202
+ border-radius: 4px;
203
+ color: #fff;
204
+ cursor: pointer;
205
+ margin-left: 10px;
206
+ }
207
+
208
+ .example-load-button:hover {
209
+ background-color: #0056b3;
210
+ }
211
+
212
+ /* Style for the overall container that holds all devices */
213
+ .devices-container {
214
+ display: flex;
215
+ flex-direction: column;
216
+ gap: 10px;
217
+ /* Adds space between each DeviceScreen */
218
+ }
219
+
220
+ /* Style for each individual device screen */
221
+ .device-panel {
222
+ display: flex;
223
+ flex-direction: column;
224
+ /* Stack heading and data blocks vertically */
225
+ gap: 10px;
226
+ /* Adds space between the heading and the data block */
227
+ padding: 10px;
228
+ border: 1px solid #666;
229
+ /* Adjusting border color for dark theme */
230
+ border-radius: 8px;
231
+ }
232
+
233
+ .device-panel.offline {
234
+ opacity: 0.5;
235
+ /* Reduces the opacity to 50% */
236
+ background-color: rgba(50, 50, 50, 0.8);
237
+ /* Optional: Adds a grey tint */
238
+ pointer-events: none;
239
+ /* Disables interactions with all child elements */
240
+ }
241
+
242
+ /* Style for the device heading */
243
+ .device-block-heading {
244
+ display: flex;
245
+ padding: 5px 10px;
246
+ /* Padding inside the heading block */
247
+ background: #444;
248
+ /* Slightly lighter dark background for distinction */
249
+ border-radius: 4px;
250
+ /* Slight rounding of corners */
251
+ }
252
+
253
+ /* Style for the text inside the heading */
254
+ .device-block-heading-text {
255
+ font-weight: bold;
256
+ /* Keep heading text bold */
257
+ }
258
+
259
+ /* Style for the data block containing the form and chart */
260
+ .device-block-data {
261
+ display: flex;
262
+ gap: 20px;
263
+ /* Space between the form and the chart */
264
+ align-items: flex-start;
265
+ /* Align items at their top edge */
266
+ min-height: 10rem;
267
+ /* Minimum height to ensure sufficient visibility */
268
+ }
269
+
270
+ .device-attrs-and-actions {
271
+ display: flex;
272
+ flex-direction: column;
273
+ gap: 10px;
274
+ /* Space between the form and the actions */
275
+ }
276
+
277
+
278
+ /* Styles for the form and chart to adjust space */
279
+ .device-attrs-form {
280
+ flex: 0 1 auto;
281
+ /* Don't grow, but allow shrinking */
282
+ width: auto;
283
+ /* Adjust based on content or set a max-width */
284
+ min-width: 200px;
285
+ /* Ensure it doesn't shrink too much */
286
+ padding: 10px;
287
+ border: 1px solid #666;
288
+ /* Adjusting border color for dark theme */
289
+ border-radius: 4px;
290
+ background: #444;
291
+ /* Slightly lighter dark background for distinction */
292
+ }
293
+
294
+ .device-actions-form {
295
+ flex: 0 1 auto;
296
+ /* Don't grow, but allow shrinking */
297
+ width: auto;
298
+ /* Adjust based on content or set a max-width */
299
+ min-width: 200px;
300
+ /* Ensure it doesn't shrink too much */
301
+ padding: 10px;
302
+ border: 1px solid #666;
303
+ /* Adjusting border color for dark theme */
304
+ border-radius: 4px;
305
+ background: #444;
306
+ /* Slightly lighter dark background for distinction */
307
+ }
308
+
309
+ .device-line-chart {
310
+ flex: 1 1 auto;
311
+ min-width: 50%;
312
+ padding: 10px;
313
+ border: 1px solid #666;
314
+ /* Adjusting border color for dark theme */
315
+ border-radius: 4px;
316
+ min-height: 15rem;
317
+ /* Setting a minimum height to ensure the chart is clearly visible */
318
+ height: 25vh;
319
+ /* Chart is approximately 1/4 of the viewport height in landscape */
320
+ }
321
+
322
+ .menu-icon,
323
+ .header-menu-icon {
324
+ cursor: pointer;
325
+ font-size: 1.5rem;
326
+ margin-left: auto;
327
+ margin-right: 10px;
328
+ color: #fff;
329
+ }
330
+
331
+ .dropdown-menu {
332
+ position: absolute;
333
+ right: 70px;
334
+ background-color: #444;
335
+ border: 1px solid #666;
336
+ border-radius: 4px;
337
+ padding: 5px;
338
+ z-index: 10;
339
+ }
340
+
341
+ .menu-item {
342
+ padding: 10px;
343
+ cursor: pointer;
344
+ color: #fff;
345
+ }
346
+
347
+ .menu-item:hover {
348
+ background-color: #555;
349
+ }
350
+
351
+ /* Adjust height for portrait orientation */
352
+ @media (orientation: portrait) {
353
+ .device-line-chart {
354
+ height: 16.67vh;
355
+ /* Chart is approximately 1/6 of the viewport height in portrait */
356
+ }
357
+ }
358
+
359
+ /* Responsive adjustments for smaller screens */
360
+ @media (max-width: 600px) {
361
+
362
+ .device-line-chart,
363
+ .device-attrs-form {
364
+ height: 25vh;
365
+ /* Adjust height to a suitable value on small screens */
366
+ }
367
+ }
368
+
369
+ /* Considerations for very large screens or high aspect ratios */
370
+ @media (min-width: 1200px) {
371
+ .device-line-chart {
372
+ height: 20vh;
373
+ /* Slightly reduce the height for very wide screens */
374
+ }
375
+ }
package/package.json CHANGED
@@ -1,50 +1,59 @@
1
1
  {
2
- "name": "@robdobsn/raftjs",
3
- "version": "1.1.1",
4
- "description": "Javascript/TS library for Raft library",
5
- "main": "dist/main.js",
6
- "types": "dist/main.d.ts",
7
- "author": "Rob Dobson <rob@dobson.com>",
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/robdobsn/raftjs.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/robdobsn/raftjs/issues"
14
- },
15
- "license": "MIT",
16
- "keywords": [
17
- "Raft"
18
- ],
19
- "publishConfig": {
20
- "registry": "https://registry.npmjs.org/",
21
- "access": "public"
22
- },
23
- "scripts": {
24
- "build": "tsc -p tsconfig.json",
25
- "build-all": "npm run clean && npm run build",
26
- "test": "jest",
27
- "lint": "eslint ./src",
28
- "clean": "rm -rf dist build package",
29
- "docs": "typedoc --entryPoints src/main.ts"
30
- },
31
- "devDependencies": {
32
- "@types/jest": "^29.5.12",
33
- "@types/node": "^20.14.0",
34
- "@types/python-struct": "^1.0.4",
35
- "@types/semver": "^7.5.8",
36
- "@types/web-bluetooth": "^0.0.20",
37
- "@typescript-eslint/eslint-plugin": "^8.6.0",
38
- "eslint": "^9.4.0",
39
- "jest": "^29.7.0",
40
- "ts-jest": "^29.1.4",
41
- "typescript": "^5.4.5"
42
- },
43
- "dependencies": {
44
- "axios": "^1.7.2",
45
- "isomorphic-ws": "^5.0.0",
46
- "python-struct": "^1.1.3",
47
- "semver": "^7.6.2",
48
- "tslib": "^2.6.2"
49
- }
2
+ "name": "@robdobsn/raftjs",
3
+ "version": "1.3.1",
4
+ "description": "Javascript/TS library for Raft library",
5
+ "main": "dist/web/main.js",
6
+ "types": "dist/web/main.d.ts",
7
+ "react-native": "dist/react-native/main.js",
8
+ "author": "Rob Dobson <rob@dobson.com>",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/robdobsn/raftjs.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/robdobsn/raftjs/issues"
15
+ },
16
+ "license": "MIT",
17
+ "keywords": [
18
+ "Raft"
19
+ ],
20
+ "publishConfig": {
21
+ "registry": "https://registry.npmjs.org/",
22
+ "access": "public"
23
+ },
24
+ "scripts": {
25
+ "build": "tsc -p tsconfig.json",
26
+ "build:phone": "tsc -p tsconfig.react-native.json",
27
+ "build-all": "npm run clean && npm run build && npm run build:phone",
28
+ "test": "jest",
29
+ "lint": "eslint ./src",
30
+ "clean": "rm -rf dist build package",
31
+ "docs": "typedoc --entryPoints src/main.ts",
32
+ "watch-all": "tsc -p tsconfig.json --watch & tsc -p tsconfig.react-native.json --watch"
33
+ },
34
+ "devDependencies": {
35
+ "@types/jest": "^29.5.12",
36
+ "@types/node": "^20.14.0",
37
+ "@types/python-struct": "^1.0.4",
38
+ "@types/semver": "^7.5.8",
39
+ "@types/web-bluetooth": "^0.0.20",
40
+ "@typescript-eslint/eslint-plugin": "^8.6.0",
41
+ "eslint": "^9.4.0",
42
+ "jest": "^29.7.0",
43
+ "react-native-ble-plx": "^3.2.1",
44
+ "ts-jest": "^29.1.4",
45
+ "typescript": "^5.4.5"
46
+ },
47
+ "dependencies": {
48
+ "@types/text-encoding": "^0.0.39",
49
+ "axios": "^1.7.2",
50
+ "isomorphic-ws": "^5.0.0",
51
+ "python-struct": "^1.1.3",
52
+ "semver": "^7.6.2",
53
+ "text-encoding": "^0.7.0",
54
+ "tslib": "^2.6.2"
55
+ },
56
+ "peerDependencies": {
57
+ "react-native-ble-plx": "^3.2.1"
58
+ }
50
59
  }