react-science 3.1.0 → 4.1.0

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 (236) hide show
  1. package/lib/app/hooks/file-loading.d.ts +3 -2
  2. package/lib/app/hooks/file-loading.d.ts.map +1 -1
  3. package/lib/app/hooks/file-loading.js +12 -12
  4. package/lib/app/hooks/file-loading.js.map +1 -1
  5. package/lib/app/panels/SignalProcessingPanel.js +1 -1
  6. package/lib/app/panels/SignalProcessingPanel.js.map +1 -1
  7. package/lib/app-data/loaders/biologicLoader.d.ts +2 -2
  8. package/lib/app-data/loaders/biologicLoader.d.ts.map +1 -1
  9. package/lib/app-data/loaders/biologicLoader.js +4 -4
  10. package/lib/app-data/loaders/biologicLoader.js.map +1 -1
  11. package/lib/app-data/loaders/cdfLoader.d.ts +2 -2
  12. package/lib/app-data/loaders/cdfLoader.d.ts.map +1 -1
  13. package/lib/app-data/loaders/cdfLoader.js +6 -9
  14. package/lib/app-data/loaders/cdfLoader.js.map +1 -1
  15. package/lib/app-data/loaders/jcampLoader.d.ts +2 -2
  16. package/lib/app-data/loaders/jcampLoader.d.ts.map +1 -1
  17. package/lib/app-data/loaders/jcampLoader.js +10 -13
  18. package/lib/app-data/loaders/jcampLoader.js.map +1 -1
  19. package/lib/app-data/loaders/loadMeasurements.d.ts +4 -3
  20. package/lib/app-data/loaders/loadMeasurements.d.ts.map +1 -1
  21. package/lib/app-data/loaders/loadMeasurements.js +3 -3
  22. package/lib/app-data/loaders/loadMeasurements.js.map +1 -1
  23. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.d.ts +3 -2
  24. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.d.ts.map +1 -1
  25. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.js +4 -9
  26. package/lib/app-data/loaders/proprietary/agilent/cary500Loader.js.map +1 -1
  27. package/lib/app-data/loaders/spcLoader.d.ts +2 -2
  28. package/lib/app-data/loaders/spcLoader.d.ts.map +1 -1
  29. package/lib/app-data/loaders/spcLoader.js +3 -8
  30. package/lib/app-data/loaders/spcLoader.js.map +1 -1
  31. package/lib/app-data/loaders/utility/measurementLoader.d.ts +2 -2
  32. package/lib/app-data/loaders/utility/measurementLoader.d.ts.map +1 -1
  33. package/lib/app-data/loaders/utility/measurementLoader.js.map +1 -1
  34. package/lib/app-data/loaders/wdfLoader.d.ts +2 -2
  35. package/lib/app-data/loaders/wdfLoader.d.ts.map +1 -1
  36. package/lib/app-data/loaders/wdfLoader.js +3 -9
  37. package/lib/app-data/loaders/wdfLoader.js.map +1 -1
  38. package/lib/components/button/Button.d.ts +1 -1
  39. package/lib/components/button/Button.d.ts.map +1 -1
  40. package/lib/components/button/Button.js +3 -2
  41. package/lib/components/button/Button.js.map +1 -1
  42. package/lib/components/color-picker/gradient-select/GradientSelect.d.ts +1 -1
  43. package/lib/components/color-picker/gradient-select/GradientSelect.d.ts.map +1 -1
  44. package/lib/components/color-picker/gradient-select/GradientSelect.js +45 -23
  45. package/lib/components/color-picker/gradient-select/GradientSelect.js.map +1 -1
  46. package/lib/components/hooks/useSelect.d.ts +7 -5
  47. package/lib/components/hooks/useSelect.d.ts.map +1 -1
  48. package/lib/components/hooks/useSelect.js +3 -1
  49. package/lib/components/hooks/useSelect.js.map +1 -1
  50. package/lib/components/index.d.ts +2 -1
  51. package/lib/components/index.d.ts.map +1 -1
  52. package/lib/components/index.js +2 -1
  53. package/lib/components/index.js.map +1 -1
  54. package/lib/components/info-panel/InfoPanel.d.ts.map +1 -1
  55. package/lib/components/info-panel/InfoPanel.js +78 -20
  56. package/lib/components/info-panel/InfoPanel.js.map +1 -1
  57. package/lib/components/logger/FifoLoggerDialog.d.ts +10 -0
  58. package/lib/components/logger/FifoLoggerDialog.d.ts.map +1 -0
  59. package/lib/components/logger/FifoLoggerDialog.js +55 -0
  60. package/lib/components/logger/FifoLoggerDialog.js.map +1 -0
  61. package/lib/components/logger/FifoLoggerProvider.d.ts +7 -0
  62. package/lib/components/logger/FifoLoggerProvider.d.ts.map +1 -0
  63. package/lib/components/logger/FifoLoggerProvider.js +10 -0
  64. package/lib/components/logger/FifoLoggerProvider.js.map +1 -0
  65. package/lib/components/logger/FifoLoggerToolbarItem.d.ts +2 -0
  66. package/lib/components/logger/FifoLoggerToolbarItem.d.ts.map +1 -0
  67. package/lib/components/logger/FifoLoggerToolbarItem.js +39 -0
  68. package/lib/components/logger/FifoLoggerToolbarItem.js.map +1 -0
  69. package/lib/components/logger/index.d.ts +5 -0
  70. package/lib/components/logger/index.d.ts.map +1 -0
  71. package/lib/components/logger/index.js +21 -0
  72. package/lib/components/logger/index.js.map +1 -0
  73. package/lib/components/logger/loggerContext.d.ts +4 -0
  74. package/lib/components/logger/loggerContext.d.ts.map +1 -0
  75. package/lib/components/logger/loggerContext.js +6 -0
  76. package/lib/components/logger/loggerContext.js.map +1 -0
  77. package/lib/components/logger/useFifoLogger.d.ts +3 -0
  78. package/lib/components/logger/useFifoLogger.d.ts.map +1 -0
  79. package/lib/components/logger/useFifoLogger.js +25 -0
  80. package/lib/components/logger/useFifoLogger.js.map +1 -0
  81. package/lib/components/table/Table.d.ts +4 -3
  82. package/lib/components/table/Table.d.ts.map +1 -1
  83. package/lib/components/table/Table.js +2 -2
  84. package/lib/components/table/Table.js.map +1 -1
  85. package/lib/components/table/TableHeader.d.ts +3 -1
  86. package/lib/components/table/TableHeader.d.ts.map +1 -1
  87. package/lib/components/table/TableHeader.js +8 -2
  88. package/lib/components/table/TableHeader.js.map +1 -1
  89. package/lib/components/table/TableRow.d.ts +1 -1
  90. package/lib/components/table/TableRow.d.ts.map +1 -1
  91. package/lib/components/table/TableRow.js +9 -22
  92. package/lib/components/table/TableRow.js.map +1 -1
  93. package/lib/components/table/tableContext.d.ts +0 -2
  94. package/lib/components/table/tableContext.d.ts.map +1 -1
  95. package/lib/components/table/tableContext.js +1 -1
  96. package/lib/components/table/tableContext.js.map +1 -1
  97. package/lib/components/toolbar/TooltipHelpContent.d.ts +11 -0
  98. package/lib/components/toolbar/TooltipHelpContent.d.ts.map +1 -0
  99. package/lib/components/toolbar/TooltipHelpContent.js +102 -0
  100. package/lib/components/toolbar/TooltipHelpContent.js.map +1 -0
  101. package/lib/components/toolbar/index.d.ts +1 -0
  102. package/lib/components/toolbar/index.d.ts.map +1 -1
  103. package/lib/components/toolbar/index.js +1 -0
  104. package/lib/components/toolbar/index.js.map +1 -1
  105. package/lib-esm/app/hooks/file-loading.d.ts +3 -2
  106. package/lib-esm/app/hooks/file-loading.d.ts.map +1 -1
  107. package/lib-esm/app/hooks/file-loading.js +9 -9
  108. package/lib-esm/app/hooks/file-loading.js.map +1 -1
  109. package/lib-esm/app/panels/SignalProcessingPanel.js +1 -1
  110. package/lib-esm/app/panels/SignalProcessingPanel.js.map +1 -1
  111. package/lib-esm/app-data/loaders/biologicLoader.d.ts +2 -2
  112. package/lib-esm/app-data/loaders/biologicLoader.d.ts.map +1 -1
  113. package/lib-esm/app-data/loaders/biologicLoader.js +4 -4
  114. package/lib-esm/app-data/loaders/biologicLoader.js.map +1 -1
  115. package/lib-esm/app-data/loaders/cdfLoader.d.ts +2 -2
  116. package/lib-esm/app-data/loaders/cdfLoader.d.ts.map +1 -1
  117. package/lib-esm/app-data/loaders/cdfLoader.js +6 -9
  118. package/lib-esm/app-data/loaders/cdfLoader.js.map +1 -1
  119. package/lib-esm/app-data/loaders/jcampLoader.d.ts +2 -2
  120. package/lib-esm/app-data/loaders/jcampLoader.d.ts.map +1 -1
  121. package/lib-esm/app-data/loaders/jcampLoader.js +10 -13
  122. package/lib-esm/app-data/loaders/jcampLoader.js.map +1 -1
  123. package/lib-esm/app-data/loaders/loadMeasurements.d.ts +4 -3
  124. package/lib-esm/app-data/loaders/loadMeasurements.d.ts.map +1 -1
  125. package/lib-esm/app-data/loaders/loadMeasurements.js +3 -3
  126. package/lib-esm/app-data/loaders/loadMeasurements.js.map +1 -1
  127. package/lib-esm/app-data/loaders/proprietary/agilent/cary500Loader.d.ts +3 -2
  128. package/lib-esm/app-data/loaders/proprietary/agilent/cary500Loader.d.ts.map +1 -1
  129. package/lib-esm/app-data/loaders/proprietary/agilent/cary500Loader.js +5 -10
  130. package/lib-esm/app-data/loaders/proprietary/agilent/cary500Loader.js.map +1 -1
  131. package/lib-esm/app-data/loaders/spcLoader.d.ts +2 -2
  132. package/lib-esm/app-data/loaders/spcLoader.d.ts.map +1 -1
  133. package/lib-esm/app-data/loaders/spcLoader.js +4 -9
  134. package/lib-esm/app-data/loaders/spcLoader.js.map +1 -1
  135. package/lib-esm/app-data/loaders/utility/measurementLoader.d.ts +2 -2
  136. package/lib-esm/app-data/loaders/utility/measurementLoader.d.ts.map +1 -1
  137. package/lib-esm/app-data/loaders/utility/measurementLoader.js.map +1 -1
  138. package/lib-esm/app-data/loaders/wdfLoader.d.ts +2 -2
  139. package/lib-esm/app-data/loaders/wdfLoader.d.ts.map +1 -1
  140. package/lib-esm/app-data/loaders/wdfLoader.js +3 -9
  141. package/lib-esm/app-data/loaders/wdfLoader.js.map +1 -1
  142. package/lib-esm/components/button/Button.d.ts +1 -1
  143. package/lib-esm/components/button/Button.d.ts.map +1 -1
  144. package/lib-esm/components/button/Button.js +3 -2
  145. package/lib-esm/components/button/Button.js.map +1 -1
  146. package/lib-esm/components/color-picker/gradient-select/GradientSelect.d.ts +1 -1
  147. package/lib-esm/components/color-picker/gradient-select/GradientSelect.d.ts.map +1 -1
  148. package/lib-esm/components/color-picker/gradient-select/GradientSelect.js +45 -23
  149. package/lib-esm/components/color-picker/gradient-select/GradientSelect.js.map +1 -1
  150. package/lib-esm/components/hooks/useSelect.d.ts +7 -5
  151. package/lib-esm/components/hooks/useSelect.d.ts.map +1 -1
  152. package/lib-esm/components/hooks/useSelect.js +3 -1
  153. package/lib-esm/components/hooks/useSelect.js.map +1 -1
  154. package/lib-esm/components/index.d.ts +2 -1
  155. package/lib-esm/components/index.d.ts.map +1 -1
  156. package/lib-esm/components/index.js +2 -1
  157. package/lib-esm/components/index.js.map +1 -1
  158. package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -1
  159. package/lib-esm/components/info-panel/InfoPanel.js +52 -17
  160. package/lib-esm/components/info-panel/InfoPanel.js.map +1 -1
  161. package/lib-esm/components/logger/FifoLoggerDialog.d.ts +10 -0
  162. package/lib-esm/components/logger/FifoLoggerDialog.d.ts.map +1 -0
  163. package/lib-esm/components/logger/FifoLoggerDialog.js +48 -0
  164. package/lib-esm/components/logger/FifoLoggerDialog.js.map +1 -0
  165. package/lib-esm/components/logger/FifoLoggerProvider.d.ts +7 -0
  166. package/lib-esm/components/logger/FifoLoggerProvider.d.ts.map +1 -0
  167. package/lib-esm/components/logger/FifoLoggerProvider.js +6 -0
  168. package/lib-esm/components/logger/FifoLoggerProvider.js.map +1 -0
  169. package/lib-esm/components/logger/FifoLoggerToolbarItem.d.ts +2 -0
  170. package/lib-esm/components/logger/FifoLoggerToolbarItem.d.ts.map +1 -0
  171. package/lib-esm/components/logger/FifoLoggerToolbarItem.js +35 -0
  172. package/lib-esm/components/logger/FifoLoggerToolbarItem.js.map +1 -0
  173. package/lib-esm/components/logger/index.d.ts +5 -0
  174. package/lib-esm/components/logger/index.d.ts.map +1 -0
  175. package/lib-esm/components/logger/index.js +5 -0
  176. package/lib-esm/components/logger/index.js.map +1 -0
  177. package/lib-esm/components/logger/loggerContext.d.ts +4 -0
  178. package/lib-esm/components/logger/loggerContext.d.ts.map +1 -0
  179. package/lib-esm/components/logger/loggerContext.js +3 -0
  180. package/lib-esm/components/logger/loggerContext.js.map +1 -0
  181. package/lib-esm/components/logger/useFifoLogger.d.ts +3 -0
  182. package/lib-esm/components/logger/useFifoLogger.d.ts.map +1 -0
  183. package/lib-esm/components/logger/useFifoLogger.js +20 -0
  184. package/lib-esm/components/logger/useFifoLogger.js.map +1 -0
  185. package/lib-esm/components/table/Table.d.ts +4 -3
  186. package/lib-esm/components/table/Table.d.ts.map +1 -1
  187. package/lib-esm/components/table/Table.js +2 -2
  188. package/lib-esm/components/table/Table.js.map +1 -1
  189. package/lib-esm/components/table/TableHeader.d.ts +3 -1
  190. package/lib-esm/components/table/TableHeader.d.ts.map +1 -1
  191. package/lib-esm/components/table/TableHeader.js +8 -2
  192. package/lib-esm/components/table/TableHeader.js.map +1 -1
  193. package/lib-esm/components/table/TableRow.d.ts +1 -1
  194. package/lib-esm/components/table/TableRow.d.ts.map +1 -1
  195. package/lib-esm/components/table/TableRow.js +6 -19
  196. package/lib-esm/components/table/TableRow.js.map +1 -1
  197. package/lib-esm/components/table/tableContext.d.ts +0 -2
  198. package/lib-esm/components/table/tableContext.d.ts.map +1 -1
  199. package/lib-esm/components/table/tableContext.js +1 -1
  200. package/lib-esm/components/table/tableContext.js.map +1 -1
  201. package/lib-esm/components/toolbar/TooltipHelpContent.d.ts +11 -0
  202. package/lib-esm/components/toolbar/TooltipHelpContent.d.ts.map +1 -0
  203. package/lib-esm/components/toolbar/TooltipHelpContent.js +95 -0
  204. package/lib-esm/components/toolbar/TooltipHelpContent.js.map +1 -0
  205. package/lib-esm/components/toolbar/index.d.ts +1 -0
  206. package/lib-esm/components/toolbar/index.d.ts.map +1 -1
  207. package/lib-esm/components/toolbar/index.js +1 -0
  208. package/lib-esm/components/toolbar/index.js.map +1 -1
  209. package/package.json +15 -13
  210. package/src/app/hooks/file-loading.ts +12 -10
  211. package/src/app/panels/SignalProcessingPanel.tsx +1 -1
  212. package/src/app-data/loaders/biologicLoader.ts +6 -5
  213. package/src/app-data/loaders/cdfLoader.ts +8 -13
  214. package/src/app-data/loaders/jcampLoader.ts +11 -15
  215. package/src/app-data/loaders/loadMeasurements.ts +6 -5
  216. package/src/app-data/loaders/proprietary/agilent/cary500Loader.ts +8 -16
  217. package/src/app-data/loaders/spcLoader.ts +6 -12
  218. package/src/app-data/loaders/utility/measurementLoader.ts +2 -3
  219. package/src/app-data/loaders/wdfLoader.ts +5 -12
  220. package/src/components/button/Button.tsx +12 -5
  221. package/src/components/color-picker/gradient-select/GradientSelect.tsx +82 -46
  222. package/src/components/hooks/useSelect.tsx +13 -8
  223. package/src/components/index.ts +2 -1
  224. package/src/components/info-panel/InfoPanel.tsx +88 -49
  225. package/src/components/logger/FifoLoggerDialog.tsx +129 -0
  226. package/src/components/logger/FifoLoggerProvider.tsx +15 -0
  227. package/src/components/logger/FifoLoggerToolbarItem.tsx +59 -0
  228. package/src/components/logger/index.ts +4 -0
  229. package/src/components/logger/loggerContext.ts +4 -0
  230. package/src/components/logger/useFifoLogger.ts +22 -0
  231. package/src/components/table/Table.tsx +1 -6
  232. package/src/components/table/TableHeader.tsx +15 -3
  233. package/src/components/table/TableRow.tsx +4 -23
  234. package/src/components/table/tableContext.ts +1 -1
  235. package/src/components/toolbar/TooltipHelpContent.tsx +173 -0
  236. package/src/components/toolbar/index.ts +1 -0
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useOnOff } from '../hooks';
4
+ import { Toolbar } from '../toolbar';
5
+ import { FifoLoggerDialog } from './FifoLoggerDialog';
6
+ import { useFifoLogs } from './useFifoLogger';
7
+ export function FifoLoggerToolbarItem() {
8
+ const [seen, setSeen] = useState(0);
9
+ const [isOpen, open, close] = useOnOff(false);
10
+ const logs = useFifoLogs();
11
+ const unseen = logs.length - seen;
12
+ return (_jsxs(_Fragment, { children: [_jsx(Toolbar.Item, { icon: "bug", tooltip: "Logs", onClick: open, tag: unseen > 0 ? unseen : undefined, tagProps: {
13
+ intent: getIntent(logs),
14
+ style: {
15
+ pointerEvents: 'none',
16
+ },
17
+ } }), _jsx(FifoLoggerDialog, { isOpen: isOpen, unseen: unseen, onClose: () => {
18
+ setSeen(logs.length);
19
+ close();
20
+ }, logs: logs })] }));
21
+ }
22
+ function getIntent(logs) {
23
+ const maxLevel = Math.max(...logs.map((log) => log.level));
24
+ return intentMap[maxLevel || 0];
25
+ }
26
+ const intentMap = {
27
+ 60: 'danger',
28
+ 50: 'danger',
29
+ 40: 'warning',
30
+ 30: 'success',
31
+ 20: 'none',
32
+ 10: 'none',
33
+ 0: 'none',
34
+ };
35
+ //# sourceMappingURL=FifoLoggerToolbarItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FifoLoggerToolbarItem.js","sourceRoot":"","sources":["../../../src/components/logger/FifoLoggerToolbarItem.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CACL,8BACE,KAAC,OAAO,CAAC,IAAI,IACX,IAAI,EAAC,KAAK,EACV,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,IAAI,EACb,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;oBACvB,KAAK,EAAE;wBACL,aAAa,EAAE,MAAM;qBACtB;iBACF,GACD,EACF,KAAC,gBAAgB,IACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,KAAK,EAAE,CAAC;gBACV,CAAC,EACD,IAAI,EAAE,IAAI,GACV,IACD,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAgB;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CACX,CAAC;IACvB,OAAO,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,SAAS,GAAsC;IACnD,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,CAAC,EAAE,MAAM;CACV,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './FifoLoggerProvider';
2
+ export * from './FifoLoggerDialog';
3
+ export * from './FifoLoggerToolbarItem';
4
+ export * from './useFifoLogger';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './FifoLoggerProvider';
2
+ export * from './FifoLoggerDialog';
3
+ export * from './FifoLoggerToolbarItem';
4
+ export * from './useFifoLogger';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { FifoLogger } from 'fifo-logger';
3
+ export declare const fifoLoggerContext: import("react").Context<FifoLogger | null>;
4
+ //# sourceMappingURL=loggerContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerContext.d.ts","sourceRoot":"","sources":["../../../src/components/logger/loggerContext.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,iBAAiB,4CAAyC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createContext } from 'react';
2
+ export const fifoLoggerContext = createContext(null);
3
+ //# sourceMappingURL=loggerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loggerContext.js","sourceRoot":"","sources":["../../../src/components/logger/loggerContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function useFifoLogger(): import("fifo-logger").FifoLogger;
2
+ export declare function useFifoLogs(): import("fifo-logger").LogEntry[];
3
+ //# sourceMappingURL=useFifoLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFifoLogger.d.ts","sourceRoot":"","sources":["../../../src/components/logger/useFifoLogger.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,qCAM5B;AAED,wBAAgB,WAAW,qCAS1B"}
@@ -0,0 +1,20 @@
1
+ import { useContext, useEffect, useState } from 'react';
2
+ import { fifoLoggerContext } from './loggerContext';
3
+ export function useFifoLogger() {
4
+ const fifoLogger = useContext(fifoLoggerContext);
5
+ if (!fifoLogger) {
6
+ throw new Error('useFifoLogger must be used within a FifoLoggerProvider');
7
+ }
8
+ return fifoLogger;
9
+ }
10
+ export function useFifoLogs() {
11
+ const logger = useFifoLogger();
12
+ const [logs, setLogs] = useState(logger.getLogs());
13
+ useEffect(() => {
14
+ logger.addEventListener('change', () => {
15
+ setLogs(logger.getLogs());
16
+ });
17
+ }, [logger]);
18
+ return logs;
19
+ }
20
+ //# sourceMappingURL=useFifoLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFifoLogger.js","sourceRoot":"","sources":["../../../src/components/logger/useFifoLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,UAAU,aAAa;IAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -5,12 +5,13 @@ export interface TableProps extends React.HTMLAttributes<HTMLTableElement> {
5
5
  compact?: boolean;
6
6
  interactive?: boolean;
7
7
  striped?: boolean;
8
- hasBorder?: boolean;
9
8
  color?: string;
10
9
  }
11
10
  export declare function Table(props: TableProps): import("@emotion/react/jsx-runtime").JSX.Element;
12
11
  export declare namespace Table {
13
- var Row: ({ children, style, hasBorder, ...other }: import("./TableRow").TableRowProps) => import("@emotion/react/jsx-runtime").JSX.Element;
14
- var Header: ({ children, hasBorder, style }: TableProps) => import("react/jsx-runtime").JSX.Element;
12
+ var Row: ({ children, style, bordered, ...other }: import("./TableRow").TableRowProps) => import("react/jsx-runtime").JSX.Element;
13
+ var Header: ({ children, bordered, style, sticky, }: TableProps & {
14
+ sticky?: boolean | undefined;
15
+ }) => import("react/jsx-runtime").JSX.Element;
15
16
  }
16
17
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,SAAS,EAEV,MAAM,OAAO,CAAC;AAsBf,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,oDA+BtC;yBA/Be,KAAK"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,SAAS,EAEV,MAAM,OAAO,CAAC;AAsBf,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,oDA2BtC;yBA3Be,KAAK"}
@@ -25,9 +25,9 @@ function splitChildren(children) {
25
25
  return { Rows, Header };
26
26
  }
27
27
  export function Table(props) {
28
- const { hasBorder = false, bordered = false, compact = false, interactive = false, striped = false, color = '', children, ...tableProps } = props;
28
+ const { bordered = false, compact = false, interactive = false, striped = false, color = '', children, ...tableProps } = props;
29
29
  const { Header, Rows } = splitChildren(children);
30
- const tableContextValue = useMemo(() => ({ hasBorder, color }), [hasBorder, color]);
30
+ const tableContextValue = useMemo(() => ({ color }), [color]);
31
31
  return (_jsx(TableContext.Provider, { value: tableContextValue, children: _jsxs(HTMLTable, { bordered: bordered, compact: compact, interactive: interactive, striped: striped, ...tableProps, children: [Header, _jsx("tbody", { children: Rows })] }) }));
32
32
  }
33
33
  Table.Row = TableRow;
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,cAAc,EAGd,OAAO,GACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,SAAS,aAAa,CAAC,QAAmB;IACxC,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAwB,IAAI,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAWD,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,MAAM,EACJ,SAAS,GAAG,KAAK,EACjB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,WAAW,GAAG,KAAK,EACnB,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAC5B,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IACF,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC7C,MAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,KACZ,UAAU,aAEb,MAAM,EACP,0BAAQ,IAAI,GAAS,IACX,GACU,CACzB,CAAC;AACJ,CAAC;AAED,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;AACrB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/components/table/Table.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,cAAc,EAGd,OAAO,GACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,SAAS,aAAa,CAAC,QAAmB;IACxC,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAwB,IAAI,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAUD,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,MAAM,EACJ,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,WAAW,GAAG,KAAK,EACnB,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,YAC7C,MAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,KACZ,UAAU,aAEb,MAAM,EACP,0BAAQ,IAAI,GAAS,IACX,GACU,CACzB,CAAC;AACJ,CAAC;AAED,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC;AACrB,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import type { TableProps } from './Table';
2
- export declare const TableHeader: ({ children, hasBorder, style }: TableProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const TableHeader: ({ children, bordered, style, sticky, }: TableProps & {
3
+ sticky?: boolean;
4
+ }) => import("react/jsx-runtime").JSX.Element;
3
5
  //# sourceMappingURL=TableHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,eAAO,MAAM,WAAW,mCAAoC,UAAU,4CAQrE,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU1C,eAAO,MAAM,WAAW,2CAKrB,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,4CAQnC,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { TableRow } from './TableRow';
3
- export const TableHeader = ({ children, hasBorder, style }) => {
4
- return (_jsx("thead", { children: _jsx(TableRow, { hasBorder: hasBorder, style: style, children: children }) }));
3
+ const headerStyle = {
4
+ position: 'sticky',
5
+ top: 0,
6
+ zIndex: 10,
7
+ backgroundColor: 'white',
8
+ };
9
+ export const TableHeader = ({ children, bordered, style, sticky, }) => {
10
+ return (_jsx("thead", { style: sticky ? headerStyle : undefined, children: _jsx(TableRow, { bordered: bordered, style: style, children: children }) }));
5
11
  };
6
12
  //# sourceMappingURL=TableHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAc,EAAE,EAAE;IACxE,OAAO,CACL,0BACE,KAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YACzC,QAAQ,GACA,GACL,CACT,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,WAAW,GAAwB;IACvC,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,OAAO;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,GAC4B,EAAE,EAAE;IACtC,OAAO,CACL,gBAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,YAC5C,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,YACvC,QAAQ,GACA,GACL,CACT,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  import type { TableProps } from './Table';
3
3
  export type TableRowProps = TableProps & HTMLAttributes<HTMLTableRowElement>;
4
- export declare const TableRow: ({ children, style, hasBorder, ...other }: TableRowProps) => import("@emotion/react/jsx-runtime").JSX.Element;
4
+ export declare const TableRow: ({ children, style, bordered, ...other }: TableRowProps) => import("react/jsx-runtime").JSX.Element;
5
5
  //# sourceMappingURL=TableRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableRow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,cAAc,EAIf,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAc7E,eAAO,MAAM,QAAQ,6CAKlB,aAAa,qDAUf,CAAC"}
1
+ {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../src/components/table/TableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAIf,MAAM,OAAO,CAAC;AAYf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAE7E,eAAO,MAAM,QAAQ,4CAKlB,aAAa,4CAUf,CAAC"}
@@ -1,27 +1,14 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- /** @jsxImportSource @emotion/react */
3
- import { css } from '@emotion/react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
4
2
  import { Children, isValidElement, } from 'react';
5
3
  import { Boolean, Color, Component, Header, Number, Object, Text, } from '../value-renderers';
6
4
  import { useTableContext } from './tableContext';
7
- const styles = {
8
- hasBorder: css({
9
- border: '0.5px solid rgb(0, 0, 0)',
10
- padding: '5px',
11
- position: 'relative',
12
- }),
13
- noBorder: css({
14
- padding: '5px',
15
- position: 'relative',
16
- }),
17
- };
18
- export const TableRow = ({ children, style = {}, hasBorder = false, ...other }) => {
5
+ export const TableRow = ({ children, style = {}, bordered = false, ...other }) => {
19
6
  const { cells } = useRowChildren(children);
20
- return (_jsx("tr", { style: { border: hasBorder ? '1px solid black' : '', ...style }, ...other, children: cells }));
7
+ return (_jsx("tr", { style: { border: bordered ? '1px solid black' : '', ...style }, ...other, children: cells }));
21
8
  };
22
9
  function useRowChildren(children) {
23
10
  const cells = [];
24
- const { hasBorder, color } = useTableContext();
11
+ const { color } = useTableContext();
25
12
  for (const child of Children.toArray(children)) {
26
13
  if (typeof child === 'object' &&
27
14
  isValidElement(child) &&
@@ -33,13 +20,13 @@ function useRowChildren(children) {
33
20
  child.type === Header ||
34
21
  child.type === Component)) {
35
22
  if (child.type === Header) {
36
- cells.push(_jsx("th", { style: { color }, css: hasBorder ? styles.hasBorder : styles.noBorder, children: child }, child.key));
23
+ cells.push(_jsx("th", { style: { color }, children: child }, child.key));
37
24
  }
38
25
  else {
39
26
  cells.push(_jsx("td", { style: {
40
27
  color,
41
28
  position: 'relative',
42
- }, css: hasBorder ? styles.hasBorder : styles.noBorder, children: child }, child.key));
29
+ }, children: child }, child.key));
43
30
  }
44
31
  }
45
32
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/components/table/TableRow.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EACL,QAAQ,EAER,cAAc,GAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,MAAM,MAAM,GAAG;IACb,SAAS,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,0BAA0B;QAClC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,UAAU;KACrB,CAAC;IACF,QAAQ,EAAE,GAAG,CAAC;QACZ,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,UAAU;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,KAAK,EACjB,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,CACL,aACE,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,KAC3D,KAAK,YAER,KAAK,GACH,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,QAAmB;IACzC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,cAAc,CAAC,KAAK,CAAC;YACrB,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK;gBACnB,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,IAAI;gBACnB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAC3B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CACR,aAEE,KAAK,EAAE,EAAE,KAAK,EAAE,EAChB,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,YAElD,KAAK,IAJD,KAAK,CAAC,GAAG,CAKX,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CACR,aAEE,KAAK,EAAE;wBACL,KAAK;wBACL,QAAQ,EAAE,UAAU;qBACrB,EACD,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,YAElD,KAAK,IAPD,KAAK,CAAC,GAAG,CAQX,CACN,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/components/table/TableRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EAER,cAAc,GAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,GACL,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACvB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,KAAK,EAChB,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,CACL,aACE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,KAC1D,KAAK,YAER,KAAK,GACH,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,QAAmB;IACzC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,cAAc,CAAC,KAAK,CAAC;YACrB,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK;gBACnB,KAAK,CAAC,IAAI,KAAK,OAAO;gBACtB,KAAK,CAAC,IAAI,KAAK,IAAI;gBACnB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAC3B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CACR,aAAoB,KAAK,EAAE,EAAE,KAAK,EAAE,YACjC,KAAK,IADC,KAAK,CAAC,GAAG,CAEb,CACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CACR,aAEE,KAAK,EAAE;wBACL,KAAK;wBACL,QAAQ,EAAE,UAAU;qBACrB,YAEA,KAAK,IAND,KAAK,CAAC,GAAG,CAOX,CACN,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -1,10 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  export declare const TableContext: import("react").Context<{
3
- hasBorder: boolean;
4
3
  color: string;
5
4
  }>;
6
5
  export declare function useTableContext(): {
7
- hasBorder: boolean;
8
6
  color: string;
9
7
  };
10
8
  //# sourceMappingURL=tableContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tableContext.d.ts","sourceRoot":"","sources":["../../../src/components/table/tableContext.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,YAAY;;;EAAgD,CAAC;AAC1E,wBAAgB,eAAe;;;EAG9B"}
1
+ {"version":3,"file":"tableContext.d.ts","sourceRoot":"","sources":["../../../src/components/table/tableContext.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,YAAY;;EAA+B,CAAC;AACzD,wBAAgB,eAAe;;EAG9B"}
@@ -1,5 +1,5 @@
1
1
  import { createContext, useContext } from 'react';
2
- export const TableContext = createContext({ hasBorder: true, color: '' });
2
+ export const TableContext = createContext({ color: '' });
3
3
  export function useTableContext() {
4
4
  const context = useContext(TableContext);
5
5
  return context;
@@ -1 +1 @@
1
- {"version":3,"file":"tableContext.js","sourceRoot":"","sources":["../../../src/components/table/tableContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1E,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"tableContext.js","sourceRoot":"","sources":["../../../src/components/table/tableContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACzD,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface TooltipItem {
3
+ title: string;
4
+ shortcuts?: string[];
5
+ subTitles?: Array<Pick<TooltipItem, 'title' | 'shortcuts'>>;
6
+ description?: string;
7
+ link?: string;
8
+ style?: CSSProperties;
9
+ }
10
+ export declare function TooltipHelpContent(props: TooltipItem): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=TooltipHelpContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipHelpContent.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/TooltipHelpContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA6EtC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,2CA0CpD"}
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import styled from '@emotion/styled';
3
+ const shortcutBoxSize = 1.5;
4
+ const FlexContainer = styled.div `
5
+ display: flex;
6
+ justify-content: space-between;
7
+ flex-wrap: wrap;
8
+ align-items: center;
9
+ `;
10
+ const Title = styled.span `
11
+ font-size: ${({ size }) => size};
12
+ flex: 1;
13
+ padding: 5px 0;
14
+ text-align: left;
15
+ `;
16
+ const Description = styled.p `
17
+ padding-top: 1rem;
18
+ font-size: 0.7rem;
19
+ text-align: left;
20
+ `;
21
+ const ShortcutItem = styled.div `
22
+ display: flex;
23
+ justify-content: center;
24
+ align-items: center;
25
+ padding: 0.2rem;
26
+ border: 1px solid;
27
+ border-radius: 4px;
28
+ height: ${shortcutBoxSize}rem;
29
+ min-width: ${shortcutBoxSize}rem;
30
+ margin-left: 5px;
31
+ font-size: 0.75rem;
32
+ font-weight: bold;
33
+ `;
34
+ const SubTitleItem = styled.div `
35
+ position: relative;
36
+ padding-left: 15px;
37
+ box-sizing: border-box;
38
+
39
+ &::before {
40
+ position: absolute;
41
+ top: ${shortcutBoxSize / 2}rem;
42
+ left: 0;
43
+ width: 10px;
44
+ height: 1px;
45
+ margin: auto;
46
+ content: '';
47
+ border-bottom: 1px solid;
48
+ }
49
+
50
+ &::after {
51
+ position: absolute;
52
+ top: 0;
53
+ bottom: 0;
54
+ left: 0;
55
+ width: 1px;
56
+ height: 100%;
57
+ content: '';
58
+ border-left: 1px solid;
59
+ }
60
+
61
+ &:last-child::after {
62
+ height: ${shortcutBoxSize / 2}rem;
63
+ }
64
+
65
+ &:first-child {
66
+ margin: 0;
67
+ }
68
+ `;
69
+ export function TooltipHelpContent(props) {
70
+ const { title, shortcuts = [], subTitles = [], description = '', link, style = {}, } = props;
71
+ return (_jsxs("div", { style: {
72
+ color: 'white',
73
+ width: '250px',
74
+ padding: '0.5rem',
75
+ ...style,
76
+ }, children: [_jsxs(FlexContainer, { children: [_jsx(Title, { size: "0.9rem", children: title }), _jsx(ShortCuts, { shortcuts: shortcuts })] }), _jsx(SubTitles, { items: subTitles }), (description || link) && (_jsxs(Description, { children: [description, link && (_jsx("a", { style: description ? { paddingLeft: '5px' } : {}, target: "_blank", href: link, rel: "noreferrer", children: "Learn more" }))] }))] }));
77
+ }
78
+ function ShortCuts({ shortcuts }) {
79
+ return (_jsx("div", { style: {
80
+ display: 'flex',
81
+ textWrap: 'nowrap',
82
+ }, children: shortcuts.map((key) => {
83
+ return (_jsx(ShortcutItem, { children: _jsx("span", { children: key }) }, key));
84
+ }) }));
85
+ }
86
+ function SubTitles({ items }) {
87
+ if (!items || items.length === 0) {
88
+ return null;
89
+ }
90
+ return (_jsx("ul", { style: {
91
+ paddingLeft: '5px',
92
+ listStyle: 'none',
93
+ }, children: items.map(({ shortcuts = [], title }) => (_jsx(SubTitleItem, { children: _jsxs(FlexContainer, { children: [_jsx(Title, { size: "0.7rem", children: title }), _jsx(ShortCuts, { shortcuts: shortcuts })] }) }, title))) }));
94
+ }
95
+ //# sourceMappingURL=TooltipHelpContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipHelpContent.js","sourceRoot":"","sources":["../../../src/components/toolbar/TooltipHelpContent.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAGrC,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAK/B,CAAC;AAMF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAY;eACtB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI;;;;CAIhC,CAAC;AACF,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAA;;;;CAI3B,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;YAOnB,eAAe;eACZ,eAAe;;;;CAI7B,CAAC;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;WAOpB,eAAe,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;cAqBhB,eAAe,GAAG,CAAC;;;;;;CAMhC,CAAC;AAWF,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,MAAM,EACJ,KAAK,EACL,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,EAAE,EAChB,IAAI,EACJ,KAAK,GAAG,EAAE,GACX,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,eACE,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,QAAQ;YACjB,GAAG,KAAK;SACT,aAED,MAAC,aAAa,eACZ,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,YAAE,KAAK,GAAS,EACpC,KAAC,SAAS,IAAC,SAAS,EAAE,SAAS,GAAI,IACrB,EAChB,KAAC,SAAS,IAAC,KAAK,EAAE,SAAS,GAAI,EAE9B,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CACxB,MAAC,WAAW,eACT,WAAW,EACX,IAAI,IAAI,CACP,YACE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAChD,MAAM,EAAC,QAAQ,EACf,IAAI,EAAE,IAAI,EACV,GAAG,EAAC,YAAY,2BAGd,CACL,IACW,CACf,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAA2B;IACvD,OAAO,CACL,cACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,QAAQ;SACnB,YAEA,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,OAAO,CACL,KAAC,YAAY,cACX,yBAAO,GAAG,GAAQ,IADD,GAAG,CAEP,CAChB,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,KAAK,EAA4B;IACpD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,aACE,KAAK,EAAE;YACL,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,MAAM;SAClB,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxC,KAAC,YAAY,cACX,MAAC,aAAa,eACZ,KAAC,KAAK,IAAC,IAAI,EAAC,QAAQ,YAAE,KAAK,GAAS,EACpC,KAAC,SAAS,IAAC,SAAS,EAAE,SAAS,GAAI,IACrB,IAJC,KAAK,CAKT,CAChB,CAAC,GACC,CACN,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './Toolbar';
2
2
  export * from './PanelPreferencesToolbar';
3
+ export * from './TooltipHelpContent';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './Toolbar';
2
2
  export * from './PanelPreferencesToolbar';
3
+ export * from './TooltipHelpContent';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/toolbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-science",
3
- "version": "3.1.0",
3
+ "version": "4.1.0",
4
4
  "description": "React components to build scientific applications UI",
5
5
  "exports": {
6
6
  "./app": {
@@ -60,6 +60,7 @@
60
60
  "peerDependencies": {
61
61
  "@blueprintjs/core": "^5.3.2",
62
62
  "@blueprintjs/icons": "^5.1.7",
63
+ "fifo-logger": "^1.0.0",
63
64
  "react": ">=18.0.0",
64
65
  "react-dom": ">=18.0.0"
65
66
  },
@@ -67,12 +68,10 @@
67
68
  "@blueprintjs/select": "^5.1.2",
68
69
  "@emotion/react": "^11.11.4",
69
70
  "@emotion/styled": "^11.11.0",
70
- "@headlessui/react": "^1.7.18",
71
71
  "@lukeed/uuid": "^2.0.1",
72
72
  "@popperjs/core": "^2.11.8",
73
73
  "@radix-ui/react-checkbox": "^1.0.4",
74
74
  "@radix-ui/react-radio-group": "^1.1.3",
75
- "@radix-ui/react-select": "^2.0.0",
76
75
  "@tanstack/react-query": "^5.28.4",
77
76
  "@tanstack/react-table": "^8.13.2",
78
77
  "biologic-converter": "^0.6.0",
@@ -80,18 +79,18 @@
80
79
  "d3-scale-chromatic": "^3.1.0",
81
80
  "filelist-utils": "^1.11.0",
82
81
  "immer": "^10.0.4",
83
- "jcampconverter": "^9.6.3",
82
+ "jcampconverter": "^9.6.4",
84
83
  "lodash": "^4.17.21",
85
84
  "ml-gsd": "^12.1.6",
86
85
  "ml-peak-shape-generator": "^4.1.2",
87
86
  "ml-signal-processing": "^1.0.4",
88
- "ml-spectra-processing": "^14.2.2",
89
- "ms-spectrum": "^3.4.4",
87
+ "ml-spectra-processing": "^14.5.0",
88
+ "ms-spectrum": "^3.5.2",
90
89
  "netcdfjs": "^3.0.0",
91
90
  "react-d3-utils": "^1.0.0",
92
91
  "react-dropzone": "^14.2.3",
93
92
  "react-error-boundary": "^4.0.13",
94
- "react-icons": "^5.0.1",
93
+ "react-icons": "^5.2.1",
95
94
  "react-inspector": "^6.0.2",
96
95
  "react-kbs": "^2.1.1",
97
96
  "react-plot": "^1.4.2",
@@ -109,11 +108,13 @@
109
108
  "@blueprintjs/icons": "^5.8.0",
110
109
  "@playwright/experimental-ct-react": "^1.42.1",
111
110
  "@playwright/test": "^1.42.1",
112
- "@storybook/addon-essentials": "^8.0.0",
113
- "@storybook/addon-storysource": "^8.0.0",
114
- "@storybook/blocks": "^8.0.0",
115
- "@storybook/react": "^8.0.0",
116
- "@storybook/react-vite": "^8.0.0",
111
+ "@radix-ui/react-collapsible": "^1.0.3",
112
+ "@radix-ui/react-select": "^2.0.0",
113
+ "@storybook/addon-essentials": "^8.1.2",
114
+ "@storybook/addon-storysource": "^8.1.2",
115
+ "@storybook/blocks": "^8.1.2",
116
+ "@storybook/react": "^8.1.2",
117
+ "@storybook/react-vite": "^8.1.2",
117
118
  "@types/babel__core": "^7.20.5",
118
119
  "@types/d3-scale-chromatic": "^3.0.3",
119
120
  "@types/lodash": "^4.17.0",
@@ -128,12 +129,13 @@
128
129
  "eslint": "^8.57.0",
129
130
  "eslint-config-zakodium": "^8.1.0",
130
131
  "eslint-plugin-storybook": "^0.8.0",
132
+ "fifo-logger": "^1.0.0",
131
133
  "prettier": "^3.2.5",
132
134
  "react": "^18.2.0",
133
135
  "react-dom": "^18.2.0",
134
136
  "react-ocl": "^6.1.0",
135
137
  "rimraf": "^5.0.5",
136
- "storybook": "^8.0.0",
138
+ "storybook": "^8.1.2",
137
139
  "typescript": "^5.4.2",
138
140
  "vite": "^5.1.6",
139
141
  "vitest": "^1.4.0"
@@ -1,22 +1,25 @@
1
- import { UseQueryResult, useQuery } from '@tanstack/react-query';
1
+ import { useQuery, UseQueryResult } from '@tanstack/react-query';
2
+ import type { FifoLogger } from 'fifo-logger';
2
3
  import { FileCollection, fileCollectionFromWebSource } from 'filelist-utils';
3
4
  import { useCallback } from 'react';
4
5
 
5
- import { AppDispatch, useAppDispatch } from '../../app-data/index';
6
- import { useHashSearchParams } from '../../components/index';
6
+ import { AppDispatch, useAppDispatch } from '../../app-data';
7
+ import { useFifoLogger, useHashSearchParams } from '../../components';
7
8
 
8
9
  type LoadFn = (
9
10
  files: File[] | FileCollection,
11
+ logger: FifoLogger,
10
12
  dispatch: AppDispatch,
11
13
  ) => Promise<void>;
12
14
 
13
15
  export function useLoadFileCollectionFromHash(
14
16
  onLoad: LoadFn,
15
17
  ): UseQueryResult<true | null> {
18
+ const logger = useFifoLogger();
16
19
  const appDispatch = useAppDispatch();
17
20
  const hashParams = useHashSearchParams();
18
21
  const filelistUrl = hashParams.get('filelist');
19
- const query = useQuery({
22
+ return useQuery({
20
23
  queryKey: ['filelist', filelistUrl],
21
24
  queryFn: async () => {
22
25
  if (!filelistUrl) {
@@ -29,20 +32,19 @@ export function useLoadFileCollectionFromHash(
29
32
  entries: data,
30
33
  baseURL,
31
34
  });
32
- void onLoad(fileCollection, appDispatch);
35
+ void onLoad(fileCollection, logger, appDispatch);
33
36
  return true;
34
37
  },
35
38
  });
36
- return query;
37
39
  }
38
40
 
39
41
  export function useDropFiles(onLoad: LoadFn) {
40
42
  const dispatch = useAppDispatch();
41
- const onDrop = useCallback(
43
+ const logger = useFifoLogger();
44
+ return useCallback(
42
45
  (files: File[]) => {
43
- void onLoad(files, dispatch);
46
+ void onLoad(files, logger, dispatch);
44
47
  },
45
- [dispatch, onLoad],
48
+ [dispatch, onLoad, logger],
46
49
  );
47
- return onDrop;
48
50
  }
@@ -47,7 +47,7 @@ export function SignalProcessingPanel(props: SignalProcessingPanelProps) {
47
47
  <ValueRenderers.Header value="Options" />
48
48
  </Table.Header>
49
49
  {filters.map(({ name, options }, i) => (
50
- <Table.Row key={name} hasBorder>
50
+ <Table.Row key={name} bordered>
51
51
  <ValueRenderers.Component>
52
52
  <div style={{ display: 'flex', gap: '3px' }}>
53
53
  <Button