daiquiri-ui 2025.12.1__tar.gz → 2026.2.0__tar.gz

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 (1449) hide show
  1. daiquiri_ui-2026.2.0/.editorconfig +12 -0
  2. daiquiri_ui-2026.2.0/.env +18 -0
  3. daiquiri_ui-2026.2.0/.eslintignore +7 -0
  4. daiquiri_ui-2026.2.0/.eslintrc.cjs +5 -0
  5. daiquiri_ui-2026.2.0/.gitignore +28 -0
  6. daiquiri_ui-2026.2.0/.gitlab-ci.yml +164 -0
  7. daiquiri_ui-2026.2.0/.npmrc +5 -0
  8. daiquiri_ui-2026.2.0/.prettierignore +10 -0
  9. daiquiri_ui-2026.2.0/.prettierrc +20 -0
  10. daiquiri_ui-2026.2.0/.stylelintrc.json +14 -0
  11. daiquiri_ui-2026.2.0/.vscode/extensions.json +9 -0
  12. daiquiri_ui-2026.2.0/.vscode/settings.json +28 -0
  13. daiquiri_ui-2026.2.0/CONTRIBUTING.md +137 -0
  14. daiquiri_ui-2026.2.0/PKG-INFO +19 -0
  15. daiquiri_ui-2026.2.0/RELEASE.md +22 -0
  16. daiquiri_ui-2026.2.0/docusaurus/.eslintignore +2 -0
  17. daiquiri_ui-2026.2.0/docusaurus/.eslintrc.js +5 -0
  18. daiquiri_ui-2026.2.0/docusaurus/babel.config.js +12 -0
  19. daiquiri_ui-2026.2.0/docusaurus/docs/blisswebui/components/SessionButton.mdx +35 -0
  20. daiquiri_ui-2026.2.0/docusaurus/docs/blisswebui/components/SessionMonitor.mdx +31 -0
  21. daiquiri_ui-2026.2.0/docusaurus/docs/blisswebui/components/index.mdx +4 -0
  22. daiquiri_ui-2026.2.0/docusaurus/docs/blisswebui/index.mdx +47 -0
  23. daiquiri_ui-2026.2.0/docusaurus/docs/blisswebui/layout.mdx +59 -0
  24. daiquiri_ui-2026.2.0/docusaurus/docs/blisswebui/monitor.mdx +32 -0
  25. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/HDF5.mdx +21 -0
  26. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/HardwareButton.mdx +109 -0
  27. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/ImageViewer.mdx +9 -0
  28. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/Parameteriser.mdx +48 -0
  29. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/SampleScans.mdx +42 -0
  30. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/Synoptic.mdx +32 -0
  31. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/files/FileEditor.mdx +29 -0
  32. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/files/FileEditorTree.mdx +24 -0
  33. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/files/index.mdx +1 -0
  34. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/general/BPMVideoStream.mdx +9 -0
  35. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/general/VideoStream.mdx +12 -0
  36. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/general/index.mdx +3 -0
  37. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/index.mdx +29 -0
  38. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/ScanPlot0d.mdx +111 -0
  39. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/ScanPlot0dValue.mdx +113 -0
  40. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/ScanPlot1d.mdx +50 -0
  41. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/ScanPlot2d.mdx +26 -0
  42. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/ScanTable.mdx +17 -0
  43. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/ScanValue.mdx +46 -0
  44. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/scans/index.mdx +3 -0
  45. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoDetector.mdx +23 -0
  46. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoDetectorView.mdx +23 -0
  47. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoReconstructedSinogram.mdx +28 -0
  48. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoScanInfo.mdx +63 -0
  49. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoScanTaskForm.mdx +24 -0
  50. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoSinogram.mdx +29 -0
  51. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/TomoTiling.mdx +81 -0
  52. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/components/tomography/index.mdx +3 -0
  53. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/forms.mdx +254 -0
  54. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/getting-started.mdx +38 -0
  55. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/Beamviewer.mdx +10 -0
  56. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/Camera.mdx +10 -0
  57. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/DefaultObject.mdx +163 -0
  58. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/Motor.mdx +152 -0
  59. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/TangoAttr.mdx +137 -0
  60. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/Wago.mdx +52 -0
  61. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/hardware/index.mdx +3 -0
  62. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/index.mdx +11 -0
  63. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/layout.mdx +37 -0
  64. daiquiri_ui-2026.2.0/docusaurus/docs/daiquiri-ui/template.mdx +34 -0
  65. daiquiri_ui-2026.2.0/docusaurus/docs/developers/components.mdx +157 -0
  66. daiquiri_ui-2026.2.0/docusaurus/docs/developers/daiquiri-lib.mdx +134 -0
  67. daiquiri_ui-2026.2.0/docusaurus/docs/developers/hardware.mdx +230 -0
  68. daiquiri_ui-2026.2.0/docusaurus/docs/developers/index.mdx +7 -0
  69. daiquiri_ui-2026.2.0/docusaurus/docs/images/2dview.png +0 -0
  70. daiquiri_ui-2026.2.0/docusaurus/docs/images/blisswebui.png +0 -0
  71. daiquiri_ui-2026.2.0/docusaurus/docs/images/daiquiri-example.png +0 -0
  72. daiquiri_ui-2026.2.0/docusaurus/docs/images/daiquiri-synoptic.png +0 -0
  73. daiquiri_ui-2026.2.0/docusaurus/docs/images/h5web.png +0 -0
  74. daiquiri_ui-2026.2.0/docusaurus/docs/images/hardware-comps.png +0 -0
  75. daiquiri_ui-2026.2.0/docusaurus/docs/images/layout.png +0 -0
  76. daiquiri_ui-2026.2.0/docusaurus/docs/images/monitor-panel.png +0 -0
  77. daiquiri_ui-2026.2.0/docusaurus/docs/introduction.mdx +21 -0
  78. daiquiri_ui-2026.2.0/docusaurus/docs/layout/components/Hardware.mdx +24 -0
  79. daiquiri_ui-2026.2.0/docusaurus/docs/layout/components/HardwareGroup.mdx +73 -0
  80. daiquiri_ui-2026.2.0/docusaurus/docs/layout/components/Label.mdx +18 -0
  81. daiquiri_ui-2026.2.0/docusaurus/docs/layout/components/None.mdx +36 -0
  82. daiquiri_ui-2026.2.0/docusaurus/docs/layout/components/Todo.mdx +35 -0
  83. daiquiri_ui-2026.2.0/docusaurus/docs/layout/components/index.mdx +33 -0
  84. daiquiri_ui-2026.2.0/docusaurus/docs/layout/containers.mdx +340 -0
  85. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/AirBearing.mdx +93 -0
  86. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Base.mdx +104 -0
  87. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Frontend.mdx +10 -0
  88. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Gauge.mdx +32 -0
  89. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Laser.mdx +21 -0
  90. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/LaserHeating.mdx +21 -0
  91. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Lima.mdx +106 -0
  92. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/MeasurementGroup.mdx +21 -0
  93. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Motor.mdx +363 -0
  94. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Multiposition.mdx +59 -0
  95. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Optic.mdx +159 -0
  96. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Procedure.mdx +48 -0
  97. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Pump.mdx +9 -0
  98. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Pusher.mdx +60 -0
  99. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Service.mdx +159 -0
  100. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Shutter.mdx +190 -0
  101. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Slit.mdx +52 -0
  102. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/TomoDetector.mdx +16 -0
  103. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/TomoDetectors.mdx +41 -0
  104. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/TomoFlatMotion.mdx +46 -0
  105. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/TomoImaging.mdx +64 -0
  106. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/Valve.mdx +10 -0
  107. daiquiri_ui-2026.2.0/docusaurus/docs/layout/hardware/index.mdx +26 -0
  108. daiquiri_ui-2026.2.0/docusaurus/docs/layout/index.mdx +81 -0
  109. daiquiri_ui-2026.2.0/docusaurus/docusaurus.config.js +84 -0
  110. daiquiri_ui-2026.2.0/docusaurus/package.json +64 -0
  111. daiquiri_ui-2026.2.0/docusaurus/plugins/absolute-paths.js +46 -0
  112. daiquiri_ui-2026.2.0/docusaurus/plugins/daiquiri-styles.js +131 -0
  113. daiquiri_ui-2026.2.0/docusaurus/plugins/raw-assets.js +30 -0
  114. daiquiri_ui-2026.2.0/docusaurus/src/Badge.tsx +39 -0
  115. daiquiri_ui-2026.2.0/docusaurus/src/CentredObject.tsx +23 -0
  116. daiquiri_ui-2026.2.0/docusaurus/src/DaiquiriCode.tsx +44 -0
  117. daiquiri_ui-2026.2.0/docusaurus/src/DaiquiriHardwareObject.tsx +24 -0
  118. daiquiri_ui-2026.2.0/docusaurus/src/DaiquiriLayout.tsx +19 -0
  119. daiquiri_ui-2026.2.0/docusaurus/src/DaiquiriSchemaForm.tsx +60 -0
  120. daiquiri_ui-2026.2.0/docusaurus/src/DaiquiriStore.tsx +57 -0
  121. daiquiri_ui-2026.2.0/docusaurus/src/DaiquiriStyles.tsx +85 -0
  122. daiquiri_ui-2026.2.0/docusaurus/src/HardwareContext.tsx +147 -0
  123. daiquiri_ui-2026.2.0/docusaurus/src/HardwareSelector.tsx +65 -0
  124. daiquiri_ui-2026.2.0/docusaurus/src/InjectHardware.tsx +38 -0
  125. daiquiri_ui-2026.2.0/docusaurus/src/ItemTypes.tsx +17 -0
  126. daiquiri_ui-2026.2.0/docusaurus/src/PropTable.tsx +69 -0
  127. daiquiri_ui-2026.2.0/docusaurus/src/StateSelector.tsx +43 -0
  128. daiquiri_ui-2026.2.0/docusaurus/src/StaticHardware.tsx +68 -0
  129. daiquiri_ui-2026.2.0/docusaurus/src/VariantSelector.tsx +58 -0
  130. daiquiri_ui-2026.2.0/docusaurus/src/Wrapper.tsx +88 -0
  131. daiquiri_ui-2026.2.0/docusaurus/src/bootstrap/modal.scss +60 -0
  132. daiquiri_ui-2026.2.0/docusaurus/src/examples/HWComponent.tsx +61 -0
  133. daiquiri_ui-2026.2.0/docusaurus/src/options/BPMVideoStreamOptions.tsx +5 -0
  134. daiquiri_ui-2026.2.0/docusaurus/src/options/BaseInfoOptions.tsx +5 -0
  135. daiquiri_ui-2026.2.0/docusaurus/src/options/BaseNameOptions.tsx +5 -0
  136. daiquiri_ui-2026.2.0/docusaurus/src/options/BasePropertyOptions.tsx +5 -0
  137. daiquiri_ui-2026.2.0/docusaurus/src/options/DefaultObjectOptions.tsx +19 -0
  138. daiquiri_ui-2026.2.0/docusaurus/src/options/GaugeOptions.tsx +5 -0
  139. daiquiri_ui-2026.2.0/docusaurus/src/options/HardwareButtonOptions.tsx +12 -0
  140. daiquiri_ui-2026.2.0/docusaurus/src/options/HardwareGroupOptions.tsx +5 -0
  141. daiquiri_ui-2026.2.0/docusaurus/src/options/LaserHeatingOptions.tsx +5 -0
  142. daiquiri_ui-2026.2.0/docusaurus/src/options/LaserOptions.tsx +5 -0
  143. daiquiri_ui-2026.2.0/docusaurus/src/options/MotorDefaultOptions.tsx +5 -0
  144. daiquiri_ui-2026.2.0/docusaurus/src/options/MotorTomoRotationOptions.tsx +5 -0
  145. daiquiri_ui-2026.2.0/docusaurus/src/options/OpticOptions.tsx +5 -0
  146. daiquiri_ui-2026.2.0/docusaurus/src/options/ScanPlot0dOptions.tsx +5 -0
  147. daiquiri_ui-2026.2.0/docusaurus/src/options/ScanPlot0dValueOptions.tsx +7 -0
  148. daiquiri_ui-2026.2.0/docusaurus/src/options/ScanPlot1dOptions.tsx +5 -0
  149. daiquiri_ui-2026.2.0/docusaurus/src/options/ScanValueOptions.tsx +5 -0
  150. daiquiri_ui-2026.2.0/docusaurus/src/options/SessionButtonOptions.tsx +55 -0
  151. daiquiri_ui-2026.2.0/docusaurus/src/options/SessionMonitorOptions.tsx +49 -0
  152. daiquiri_ui-2026.2.0/docusaurus/src/options/TangoAttrOptions.tsx +5 -0
  153. daiquiri_ui-2026.2.0/docusaurus/src/options/TomoTilingOptions.tsx +5 -0
  154. daiquiri_ui-2026.2.0/docusaurus/src/options/TypeIconOptions.tsx +5 -0
  155. daiquiri_ui-2026.2.0/docusaurus/src/styles.css +125 -0
  156. daiquiri_ui-2026.2.0/docusaurus/src/styles.scss +3 -0
  157. daiquiri_ui-2026.2.0/docusaurus/src/types.d.ts +4 -0
  158. daiquiri_ui-2026.2.0/docusaurus/static/BPMVideoStream.json +302 -0
  159. daiquiri_ui-2026.2.0/docusaurus/static/daiquiri.png +0 -0
  160. daiquiri_ui-2026.2.0/docusaurus/static/diff.png +0 -0
  161. daiquiri_ui-2026.2.0/docusaurus/tsconfig.json +8 -0
  162. daiquiri_ui-2026.2.0/eslint.shared.cjs +186 -0
  163. daiquiri_ui-2026.2.0/index.html +16 -0
  164. daiquiri_ui-2026.2.0/lib/.eslintignore +1 -0
  165. daiquiri_ui-2026.2.0/lib/.eslintrc.cjs +6 -0
  166. daiquiri_ui-2026.2.0/lib/README.md +7 -0
  167. daiquiri_ui-2026.2.0/lib/package.json +101 -0
  168. daiquiri_ui-2026.2.0/lib/rollup.config.js +12 -0
  169. daiquiri_ui-2026.2.0/lib/src/components/FullSizer.tsx +41 -0
  170. daiquiri_ui-2026.2.0/lib/src/components/GaugeIndicator.tsx +152 -0
  171. daiquiri_ui-2026.2.0/lib/src/components/HardwareInputNumber.tsx +110 -0
  172. daiquiri_ui-2026.2.0/lib/src/components/HardwareNumericStep.tsx +170 -0
  173. daiquiri_ui-2026.2.0/lib/src/components/InfiniteKnob360.tsx +289 -0
  174. daiquiri_ui-2026.2.0/lib/src/components/NumericStep.tsx +219 -0
  175. daiquiri_ui-2026.2.0/lib/src/components/ReadOnlyTextInput.tsx +29 -0
  176. daiquiri_ui-2026.2.0/lib/src/hardware/actuator/index.ts +8 -0
  177. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/AirBearing.tsx +84 -0
  178. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/AirBearingProtected.tsx +185 -0
  179. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/AirBearingState.tsx +25 -0
  180. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/index.ts +20 -0
  181. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/mocks/AirBearing.json +12 -0
  182. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/mocks/Simulator.tsx +44 -0
  183. daiquiri_ui-2026.2.0/lib/src/hardware/airbearing/mocks/index.ts +5 -0
  184. daiquiri_ui-2026.2.0/lib/src/hardware/base/BaseInfo.tsx +37 -0
  185. daiquiri_ui-2026.2.0/lib/src/hardware/base/BaseName.tsx +49 -0
  186. daiquiri_ui-2026.2.0/lib/src/hardware/base/BaseProperty.tsx +91 -0
  187. daiquiri_ui-2026.2.0/lib/src/hardware/base/BaseState.tsx +33 -0
  188. daiquiri_ui-2026.2.0/lib/src/hardware/base/index.tsx +15 -0
  189. daiquiri_ui-2026.2.0/lib/src/hardware/base/mocks/Default.json +78 -0
  190. daiquiri_ui-2026.2.0/lib/src/hardware/base/mocks/Simulator.tsx +94 -0
  191. daiquiri_ui-2026.2.0/lib/src/hardware/base/mocks/index.ts +5 -0
  192. daiquiri_ui-2026.2.0/lib/src/hardware/frontend/Frontend.tsx +148 -0
  193. daiquiri_ui-2026.2.0/lib/src/hardware/frontend/index.ts +25 -0
  194. daiquiri_ui-2026.2.0/lib/src/hardware/frontend/mocks/index.ts +5 -0
  195. daiquiri_ui-2026.2.0/lib/src/hardware/gauge/Gauge.tsx +95 -0
  196. daiquiri_ui-2026.2.0/lib/src/hardware/gauge/index.ts +18 -0
  197. daiquiri_ui-2026.2.0/lib/src/hardware/gauge/mocks/Gauge.json +14 -0
  198. daiquiri_ui-2026.2.0/lib/src/hardware/gauge/mocks/Gauge2.json +14 -0
  199. daiquiri_ui-2026.2.0/lib/src/hardware/gauge/mocks/index.ts +7 -0
  200. daiquiri_ui-2026.2.0/lib/src/hardware/laser/Laser.tsx +93 -0
  201. daiquiri_ui-2026.2.0/lib/src/hardware/laser/index.ts +16 -0
  202. daiquiri_ui-2026.2.0/lib/src/hardware/laser/mocks/Laser.json +10 -0
  203. daiquiri_ui-2026.2.0/lib/src/hardware/laser/mocks/index.ts +5 -0
  204. daiquiri_ui-2026.2.0/lib/src/hardware/laserheating/LaserHeating.tsx +161 -0
  205. daiquiri_ui-2026.2.0/lib/src/hardware/laserheating/index.ts +19 -0
  206. daiquiri_ui-2026.2.0/lib/src/hardware/laserheating/mocks/LaserHeating.json +16 -0
  207. daiquiri_ui-2026.2.0/lib/src/hardware/laserheating/mocks/index.ts +5 -0
  208. daiquiri_ui-2026.2.0/lib/src/hardware/light/Light.tsx +60 -0
  209. daiquiri_ui-2026.2.0/lib/src/hardware/light/index.ts +17 -0
  210. daiquiri_ui-2026.2.0/lib/src/hardware/light/mocks/Light.json +10 -0
  211. daiquiri_ui-2026.2.0/lib/src/hardware/light/mocks/index.ts +5 -0
  212. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaBinning.tsx +171 -0
  213. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaDefault.tsx +40 -0
  214. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaDescription.tsx +85 -0
  215. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaImageRoi.tsx +55 -0
  216. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaShape.tsx +118 -0
  217. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaSize.tsx +56 -0
  218. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaState.tsx +28 -0
  219. daiquiri_ui-2026.2.0/lib/src/hardware/lima/LimaTransformation.tsx +239 -0
  220. daiquiri_ui-2026.2.0/lib/src/hardware/lima/index.ts +154 -0
  221. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/Lima.json +27 -0
  222. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/LimaFlip.json +27 -0
  223. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/LimaRot.json +27 -0
  224. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/RoiCenter.json +27 -0
  225. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/Simulator.tsx +133 -0
  226. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/SquareDetector.json +27 -0
  227. daiquiri_ui-2026.2.0/lib/src/hardware/lima/mocks/index.ts +13 -0
  228. daiquiri_ui-2026.2.0/lib/src/hardware/measurementgroup/MeasurementGroup.tsx +293 -0
  229. daiquiri_ui-2026.2.0/lib/src/hardware/measurementgroup/index.ts +24 -0
  230. daiquiri_ui-2026.2.0/lib/src/hardware/measurementgroup/mocks/MG.json +19 -0
  231. daiquiri_ui-2026.2.0/lib/src/hardware/measurementgroup/mocks/Simulator.tsx +72 -0
  232. daiquiri_ui-2026.2.0/lib/src/hardware/measurementgroup/mocks/index.ts +5 -0
  233. daiquiri_ui-2026.2.0/lib/src/hardware/motor/MotorDefault.tsx +154 -0
  234. daiquiri_ui-2026.2.0/lib/src/hardware/motor/MotorRotation.tsx +68 -0
  235. daiquiri_ui-2026.2.0/lib/src/hardware/motor/MotorState.tsx +164 -0
  236. daiquiri_ui-2026.2.0/lib/src/hardware/motor/MotorText.tsx +75 -0
  237. daiquiri_ui-2026.2.0/lib/src/hardware/motor/index.ts +170 -0
  238. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/HalfMotor.json +21 -0
  239. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/Motor.json +22 -0
  240. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/MotorDisconnected.json +11 -0
  241. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/MotorNotReady.json +22 -0
  242. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/MotorPowerOff.json +22 -0
  243. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/MotorUnknown.json +22 -0
  244. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/Simulator.tsx +144 -0
  245. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/index.ts +15 -0
  246. daiquiri_ui-2026.2.0/lib/src/hardware/motor/mocks/utils.ts +13 -0
  247. daiquiri_ui-2026.2.0/lib/src/hardware/motor/options.ts +35 -0
  248. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/Multiposition.tsx +81 -0
  249. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/MultipositionDefault2.tsx +112 -0
  250. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/MultipositionState.tsx +27 -0
  251. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/index.ts +26 -0
  252. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/mocks/Multiposition.json +43 -0
  253. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/mocks/Simulator.tsx +52 -0
  254. daiquiri_ui-2026.2.0/lib/src/hardware/multiposition/mocks/index.ts +5 -0
  255. daiquiri_ui-2026.2.0/lib/src/hardware/optic/Optic.tsx +358 -0
  256. daiquiri_ui-2026.2.0/lib/src/hardware/optic/OpticState.tsx +23 -0
  257. daiquiri_ui-2026.2.0/lib/src/hardware/optic/index.ts +33 -0
  258. daiquiri_ui-2026.2.0/lib/src/hardware/optic/mocks/Optic.json +16 -0
  259. daiquiri_ui-2026.2.0/lib/src/hardware/optic/mocks/OpticFixed.json +15 -0
  260. daiquiri_ui-2026.2.0/lib/src/hardware/optic/mocks/OpticOff.json +9 -0
  261. daiquiri_ui-2026.2.0/lib/src/hardware/optic/mocks/OpticRange.json +15 -0
  262. daiquiri_ui-2026.2.0/lib/src/hardware/optic/mocks/Simulator.tsx +112 -0
  263. daiquiri_ui-2026.2.0/lib/src/hardware/optic/mocks/index.ts +11 -0
  264. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/ProcedureExecution.tsx +101 -0
  265. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/ProcedureManage.tsx +104 -0
  266. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/ProcedureState.tsx +26 -0
  267. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/ProcedureValidate.tsx +62 -0
  268. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/index.ts +64 -0
  269. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/mocks/ProcedureStandBy.json +50 -0
  270. daiquiri_ui-2026.2.0/lib/src/hardware/procedure/mocks/index.ts +5 -0
  271. daiquiri_ui-2026.2.0/lib/src/hardware/pump/Pump.tsx +121 -0
  272. daiquiri_ui-2026.2.0/lib/src/hardware/pump/index.ts +20 -0
  273. daiquiri_ui-2026.2.0/lib/src/hardware/pump/mocks/Pump.json +16 -0
  274. daiquiri_ui-2026.2.0/lib/src/hardware/pump/mocks/index.ts +5 -0
  275. daiquiri_ui-2026.2.0/lib/src/hardware/pusher/Pusher.tsx +182 -0
  276. daiquiri_ui-2026.2.0/lib/src/hardware/pusher/PusherState.tsx +24 -0
  277. daiquiri_ui-2026.2.0/lib/src/hardware/pusher/index.ts +18 -0
  278. daiquiri_ui-2026.2.0/lib/src/hardware/pusher/mocks/Pusher.json +12 -0
  279. daiquiri_ui-2026.2.0/lib/src/hardware/pusher/mocks/Simulator.tsx +46 -0
  280. daiquiri_ui-2026.2.0/lib/src/hardware/pusher/mocks/index.ts +5 -0
  281. daiquiri_ui-2026.2.0/lib/src/hardware/service/ServiceDefault.tsx +133 -0
  282. daiquiri_ui-2026.2.0/lib/src/hardware/service/ServiceProtected.tsx +176 -0
  283. daiquiri_ui-2026.2.0/lib/src/hardware/service/ServiceState.tsx +28 -0
  284. daiquiri_ui-2026.2.0/lib/src/hardware/service/index.ts +28 -0
  285. daiquiri_ui-2026.2.0/lib/src/hardware/service/mocks/Service.json +12 -0
  286. daiquiri_ui-2026.2.0/lib/src/hardware/service/mocks/index.ts +5 -0
  287. daiquiri_ui-2026.2.0/lib/src/hardware/shutter/ShutterDefault.tsx +125 -0
  288. daiquiri_ui-2026.2.0/lib/src/hardware/shutter/ShutterProtected.tsx +156 -0
  289. daiquiri_ui-2026.2.0/lib/src/hardware/shutter/ShutterState.tsx +53 -0
  290. daiquiri_ui-2026.2.0/lib/src/hardware/shutter/index.ts +21 -0
  291. daiquiri_ui-2026.2.0/lib/src/hardware/shutter/mocks/Simulator.tsx +48 -0
  292. daiquiri_ui-2026.2.0/lib/src/hardware/shutter/mocks/index.ts +5 -0
  293. daiquiri_ui-2026.2.0/lib/src/hardware/slit/SlitDefault.tsx +241 -0
  294. daiquiri_ui-2026.2.0/lib/src/hardware/slit/SlitState.tsx +88 -0
  295. daiquiri_ui-2026.2.0/lib/src/hardware/slit/index.ts +34 -0
  296. daiquiri_ui-2026.2.0/lib/src/hardware/slit/mocks/HSlit.json +12 -0
  297. daiquiri_ui-2026.2.0/lib/src/hardware/slit/mocks/Slit.json +12 -0
  298. daiquiri_ui-2026.2.0/lib/src/hardware/slit/mocks/VSlit.json +12 -0
  299. daiquiri_ui-2026.2.0/lib/src/hardware/slit/mocks/index.ts +9 -0
  300. daiquiri_ui-2026.2.0/lib/src/hardware/tomoconfig/LatencyTime.tsx +103 -0
  301. daiquiri_ui-2026.2.0/lib/src/hardware/tomoconfig/index.ts +36 -0
  302. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetector/TomoDetectorAcquisitionMode.tsx +175 -0
  303. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetector/TomoDetectorSamplePixelSize.tsx +224 -0
  304. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetector/TomoDetectorState.tsx +30 -0
  305. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetector/index.ts +45 -0
  306. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetector/mocks/TomoDetector.json +15 -0
  307. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetector/mocks/index.ts +5 -0
  308. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetectors/TomoDetectors.tsx +111 -0
  309. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetectors/TomoDetectorsState.tsx +24 -0
  310. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetectors/index.ts +38 -0
  311. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetectors/mocks/TomoDetectors.json +17 -0
  312. daiquiri_ui-2026.2.0/lib/src/hardware/tomodetectors/mocks/index.ts +5 -0
  313. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/TomoFlatMotionDefault.tsx +324 -0
  314. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/TomoFlatMotionSampleLocation.tsx +74 -0
  315. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/TomoFlatMotionSmall.tsx +172 -0
  316. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/TomoFlatMotionState.tsx +34 -0
  317. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/index.ts +71 -0
  318. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/mocks/Simulator.tsx +94 -0
  319. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/mocks/TomoFlatMotion.json +22 -0
  320. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/mocks/index.ts +9 -0
  321. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/mocks/sy.json +22 -0
  322. daiquiri_ui-2026.2.0/lib/src/hardware/tomoflatmotion/mocks/sy2.json +22 -0
  323. daiquiri_ui-2026.2.0/lib/src/hardware/tomoholo/TomoHoloState.tsx +26 -0
  324. daiquiri_ui-2026.2.0/lib/src/hardware/tomoholo/index.ts +41 -0
  325. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/TomoImagingActions.tsx +192 -0
  326. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/TomoImagingDefault.tsx +202 -0
  327. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/TomoImagingExposureTime.tsx +143 -0
  328. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/TomoImagingSettleTime.tsx +107 -0
  329. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/TomoImagingState.tsx +23 -0
  330. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/TomoImagingUpdateMode.tsx +75 -0
  331. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/index.ts +29 -0
  332. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/mocks/Simulator.tsx +59 -0
  333. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/mocks/TomoImaging.json +13 -0
  334. daiquiri_ui-2026.2.0/lib/src/hardware/tomoimaging/mocks/index.ts +5 -0
  335. daiquiri_ui-2026.2.0/lib/src/hardware/tomoreferenceposition/TomoReferencePositionDefault.tsx +83 -0
  336. daiquiri_ui-2026.2.0/lib/src/hardware/tomoreferenceposition/index.ts +19 -0
  337. daiquiri_ui-2026.2.0/lib/src/hardware/tomosamplestage/index.ts +38 -0
  338. daiquiri_ui-2026.2.0/lib/src/hardware/utils/ErrorObject.tsx +70 -0
  339. daiquiri_ui-2026.2.0/lib/src/hardware/utils/HardwareObject.tsx +14 -0
  340. daiquiri_ui-2026.2.0/lib/src/hardware/utils/HardwareTemplate.tsx +97 -0
  341. daiquiri_ui-2026.2.0/lib/src/hardware/utils/LoadingObject.tsx +48 -0
  342. daiquiri_ui-2026.2.0/lib/src/hardware/utils/MissingComponentObject.tsx +86 -0
  343. daiquiri_ui-2026.2.0/lib/src/hardware/utils/MissingObject.tsx +60 -0
  344. daiquiri_ui-2026.2.0/lib/src/hardware/utils/NoObject.tsx +60 -0
  345. daiquiri_ui-2026.2.0/lib/src/hardware/utils/NullObject.tsx +49 -0
  346. daiquiri_ui-2026.2.0/lib/src/hardware/utils/State.tsx +123 -0
  347. daiquiri_ui-2026.2.0/lib/src/hardware/utils/TypeIcon.tsx +35 -0
  348. daiquiri_ui-2026.2.0/lib/src/hardware/utils/schema.ts +12 -0
  349. daiquiri_ui-2026.2.0/lib/src/hardware/utils/types.ts +115 -0
  350. daiquiri_ui-2026.2.0/lib/src/hardware/valve/Valve.tsx +93 -0
  351. daiquiri_ui-2026.2.0/lib/src/hardware/valve/index.ts +16 -0
  352. daiquiri_ui-2026.2.0/lib/src/hardware/valve/mocks/Valve.json +13 -0
  353. daiquiri_ui-2026.2.0/lib/src/hardware/valve/mocks/index.ts +5 -0
  354. daiquiri_ui-2026.2.0/lib/src/index.ts +353 -0
  355. daiquiri_ui-2026.2.0/lib/src/layout/Panel.tsx +49 -0
  356. daiquiri_ui-2026.2.0/lib/src/monitorpanel/MonitorHardware.tsx +140 -0
  357. daiquiri_ui-2026.2.0/lib/src/monitorpanel/MonitorPanel.tsx +79 -0
  358. daiquiri_ui-2026.2.0/lib/src/monitorpanel/types.ts +9 -0
  359. daiquiri_ui-2026.2.0/lib/src/registry/hooks.ts +117 -0
  360. daiquiri_ui-2026.2.0/lib/src/scss/_base.scss +0 -0
  361. daiquiri_ui-2026.2.0/lib/src/scss/_gauge.scss +28 -0
  362. daiquiri_ui-2026.2.0/lib/src/scss/_hardware.scss +115 -0
  363. daiquiri_ui-2026.2.0/lib/src/scss/_indicator.scss +23 -0
  364. daiquiri_ui-2026.2.0/lib/src/scss/_monitorpanel.scss +38 -0
  365. daiquiri_ui-2026.2.0/lib/src/scss/_numericstep.scss +187 -0
  366. daiquiri_ui-2026.2.0/lib/src/scss/_panel.scss +59 -0
  367. daiquiri_ui-2026.2.0/lib/src/scss/main.scss +8 -0
  368. daiquiri_ui-2026.2.0/lib/src/styles.scss +1 -0
  369. daiquiri_ui-2026.2.0/lib/src/utils/formatting.ts +67 -0
  370. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Col.tsx +29 -0
  371. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Component.tsx +75 -0
  372. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Container.tsx +20 -0
  373. daiquiri_ui-2026.2.0/lib/src/yaml-layout/ErrorBoundary.tsx +248 -0
  374. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Form.tsx +190 -0
  375. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Grid.tsx +49 -0
  376. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Main.tsx +84 -0
  377. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Panel.tsx +33 -0
  378. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Row.tsx +20 -0
  379. daiquiri_ui-2026.2.0/lib/src/yaml-layout/Tabs.tsx +42 -0
  380. daiquiri_ui-2026.2.0/lib/src/yaml-layout/components/Hardware.tsx +49 -0
  381. daiquiri_ui-2026.2.0/lib/src/yaml-layout/components/HardwareGroup.tsx +121 -0
  382. daiquiri_ui-2026.2.0/lib/src/yaml-layout/components/Label.tsx +9 -0
  383. daiquiri_ui-2026.2.0/lib/src/yaml-layout/components/None.tsx +5 -0
  384. daiquiri_ui-2026.2.0/lib/src/yaml-layout/components/Todo.tsx +15 -0
  385. daiquiri_ui-2026.2.0/lib/src/yaml-layout/components/asserts.ts +249 -0
  386. daiquiri_ui-2026.2.0/lib/src/yaml-layout/model.ts +24 -0
  387. daiquiri_ui-2026.2.0/lib/src/yaml-layout/utils.tsx +176 -0
  388. daiquiri_ui-2026.2.0/lib/tsconfig.build.json +10 -0
  389. daiquiri_ui-2026.2.0/lib/tsconfig.json +8 -0
  390. daiquiri_ui-2026.2.0/lib/vite.config.js +32 -0
  391. daiquiri_ui-2026.2.0/package.json +191 -0
  392. daiquiri_ui-2026.2.0/patches/@data-client__use-enhanced-reducer@0.1.14.patch +18 -0
  393. daiquiri_ui-2026.2.0/patches/@react-three__fiber.patch +13 -0
  394. daiquiri_ui-2026.2.0/patches/plotly.js-basic-dist@1.58.5.patch +13 -0
  395. daiquiri_ui-2026.2.0/patches/plotly.js-gl2d-dist@1.58.5.patch +13 -0
  396. daiquiri_ui-2026.2.0/pnpm-lock.yaml +25331 -0
  397. daiquiri_ui-2026.2.0/pnpm-workspace.yaml +3 -0
  398. daiquiri_ui-2026.2.0/public/example.svg +116 -0
  399. daiquiri_ui-2026.2.0/public/mock/hardware/BeamShutter.json +16 -0
  400. daiquiri_ui-2026.2.0/public/mock/hardware/FrontEnd.json +21 -0
  401. daiquiri_ui-2026.2.0/public/resources/images/xtal.png +0 -0
  402. daiquiri_ui-2026.2.0/pyproject.toml +33 -0
  403. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/__init__.py +0 -0
  404. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Anchor-0b4a3d33.js +1 -0
  405. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/AutoscaleOption-3cb99678.js +1 -0
  406. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/BPMVideoStream-c3e09e8b.js +1 -0
  407. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/CanvasEnhancer-dd82c090.js +422 -0
  408. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ColorMap-be59ad21.js +1 -0
  409. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/CompositeMap-c93f5466.js +1 -0
  410. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ConnectUtils-3923fa2f.js +1 -0
  411. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Console-d0028912.js +60 -0
  412. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Cross-d5df0df3.js +1 -0
  413. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/CrossMarker-71cd11cf.js +54 -0
  414. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/DraggableRect-25d91c7d.js +1 -0
  415. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/DropdownButton-29cc265b.js +1 -0
  416. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/DropdownDetector-5016908a.js +1 -0
  417. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Editor-7b500b85.js +1408 -0
  418. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/EditorTree-7fc000d8.js +1 -0
  419. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/H5Viewer-d1305c58.js +1 -0
  420. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/H5WebCurvePlot-61b08211.js +1 -0
  421. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/HSegment-8d2c001e.js +43 -0
  422. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/HardwareButton-af41c610.js +1 -0
  423. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Hdf5Plot-bbffc65f.js +1 -0
  424. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/HistogramDomainSlider-304bdab4.js +1 -0
  425. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Image-ee61818a.js +1 -0
  426. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Label-9d8979b3.js +1 -0
  427. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/LoadingMessage-03b4fa4f.js +1 -0
  428. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/NewScanButton-0051d220.js +1 -0
  429. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/NewScanButton-57cf0c17.js +1 -0
  430. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/OptionsProcess-da629bfb.js +1 -0
  431. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ParametersList-2d01832f.js +1 -0
  432. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/RectRoi-3693cc65.js +1 -0
  433. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/RectRuler-1fee3fd8.js +543 -0
  434. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/RulerButton-a95a6035.js +139 -0
  435. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/SampleDCList-dce0bd2b.js +1 -0
  436. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/SampleRegistration-544aa4bd.js +1 -0
  437. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/SavingButton-c3efc92c.js +1 -0
  438. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanDataService-16f29ecd.js +1 -0
  439. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanPlot0d-67c76bfe.js +1 -0
  440. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanPlot0dValue-c0dd01b5.js +1 -0
  441. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanPlot1d-3c930b95.js +1 -0
  442. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanPlot1d-ee33c98b.js +1 -0
  443. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanPlot2d-af57d8ad.js +1 -0
  444. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanTable-bc13760e.js +1 -0
  445. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScanValue-00aab91b.js +1 -0
  446. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/SceneScale-e2a42af2.js +1 -0
  447. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/SchemaForm-7d897a32.js +1 -0
  448. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ScreenScale-b2417934.js +1 -0
  449. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/SelectionPoint-a2cb4dfc.js +1 -0
  450. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/StackedNameState-4e8dc742.js +1 -0
  451. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Statistics.worker-54a0d965.js +46 -0
  452. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/Synoptic-8a3c67f3.js +16 -0
  453. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoAlign-b80a68c3.js +7 -0
  454. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoBeamShaping-65a115e9.js +1 -0
  455. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoDetector-500d46af.js +1 -0
  456. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoDetector-e04a5a8b.js +1 -0
  457. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoDetectorView-952499e6.js +64 -0
  458. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoHolo-db2c8449.js +1 -0
  459. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoPusherView-a50e2acd.js +1 -0
  460. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoReconstructedSinogram-deee0779.js +191 -0
  461. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoScanInfo-972a690b.js +1 -0
  462. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoScanList-ede05c2a.js +61 -0
  463. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoService-e9741d6a.js +1 -0
  464. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoSinogram-dce5808e.js +1 -0
  465. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TomoTiling-04701bb7.js +69 -0
  466. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TwoD-fee9523f.js +3 -0
  467. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TwoDObject-2f30deac.js +1 -0
  468. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/TwoDObjectList-458e4824.js +1 -0
  469. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/UseMouseModeInteraction-51c6269c.js +1 -0
  470. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/VLineRoi-b38fe841.js +1 -0
  471. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/VSegment-f0d42c9a.js +43 -0
  472. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/VSegmentRoi-d5e035cc.js +1 -0
  473. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/VideoStream-a5200b21.js +1 -0
  474. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/VisViewpointRestore-4aa338ea.js +7 -0
  475. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/WorldScale-23bd1dfb.js +1 -0
  476. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/ZoomPanCanvas-23b61dbb.js +1 -0
  477. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/colormap-6e43299c.js +1 -0
  478. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/daiquiri-ui-12b8ca03.png +0 -0
  479. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/fontawesomemore-webfont-6ae56ae3.woff2 +0 -0
  480. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/geometry-cd448ec1.js +1 -0
  481. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/hooks-171c0765.js +1 -0
  482. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/hooks-e0d9229c.js +1 -0
  483. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/index-779a56ef.css +9 -0
  484. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/index-a9bb7636.js +110 -0
  485. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/index-b3c0133a.js +3576 -0
  486. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/plotly-basic-ccc5794d.js +17 -0
  487. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/plotly-gl2d-345cb34a.js +1211 -0
  488. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/store-5d136a2c.js +1 -0
  489. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/assets/types-c366a377.js +1 -0
  490. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/chime.mp3 +0 -0
  491. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/droplet.mp3 +0 -0
  492. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/example.svg +116 -0
  493. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/favicon.ico +0 -0
  494. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/index.html +18 -0
  495. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/manifest.json +15 -0
  496. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/meta.json +1 -0
  497. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/mock/hardware/BeamShutter.json +16 -0
  498. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/mock/hardware/Beamviewer.json +17 -0
  499. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/mock/hardware/FrontEnd.json +21 -0
  500. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/cividis.png +0 -0
  501. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/gray.png +0 -0
  502. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/gray_r.png +0 -0
  503. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/hsv.png +0 -0
  504. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/inferno.png +0 -0
  505. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/jet.png +0 -0
  506. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/magma.png +0 -0
  507. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/plasma.png +0 -0
  508. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/temperature.png +0 -0
  509. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/icons/lut/viridis.png +0 -0
  510. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/images/xtal.png +0 -0
  511. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/tomo/fox-blue.png +0 -0
  512. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/tomo/fox-yellow.png +0 -0
  513. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/tomo/fox-yellow.txt +5 -0
  514. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/tomo/holo-beam.svg +60 -0
  515. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui/static/resources/tomo/holo-detector.png +0 -0
  516. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui.egg-info/PKG-INFO +19 -0
  517. daiquiri_ui-2026.2.0/pysrc/daiquiri_ui.egg-info/SOURCES.txt +1361 -0
  518. daiquiri_ui-2026.2.0/scripts/generate_version.cjs +34 -0
  519. daiquiri_ui-2026.2.0/scripts/schema2types.cjs +157 -0
  520. daiquiri_ui-2026.2.0/src/App.tsx +101 -0
  521. daiquiri_ui-2026.2.0/src/Start.ts +98 -0
  522. daiquiri_ui-2026.2.0/src/__tests__/App.jsx +56 -0
  523. daiquiri_ui-2026.2.0/src/__tests__/Hardware.jsx +96 -0
  524. daiquiri_ui-2026.2.0/src/__tests__/HardwareRef.jsx +89 -0
  525. daiquiri_ui-2026.2.0/src/__tests__/Scans.jsx +59 -0
  526. daiquiri_ui-2026.2.0/src/__tests__/TwoD.jsx +150 -0
  527. daiquiri_ui-2026.2.0/src/__tests__/components/form-widgets/DatasetName.jsx +24 -0
  528. daiquiri_ui-2026.2.0/src/__tests__/components/hardware/MotorTomoRotation.ts +80 -0
  529. daiquiri_ui-2026.2.0/src/__tests__/connected/2dview/ObjectList.jsx +142 -0
  530. daiquiri_ui-2026.2.0/src/__tests__/connected/Login.jsx +84 -0
  531. daiquiri_ui-2026.2.0/src/__tests__/helpers/QtyHelper.jsx +57 -0
  532. daiquiri_ui-2026.2.0/src/__tests__/helpers/iff.ts +77 -0
  533. daiquiri_ui-2026.2.0/src/__tests__/helpers/ndarray.ts +104 -0
  534. daiquiri_ui-2026.2.0/src/__tests__/hooks/selections.tsx +53 -0
  535. daiquiri_ui-2026.2.0/src/__tests__/services/ScanDataService.tsx +249 -0
  536. daiquiri_ui-2026.2.0/src/assets/images/daiquiri-example.png +0 -0
  537. daiquiri_ui-2026.2.0/src/assets/images/daiquiri-synoptic.png +0 -0
  538. daiquiri_ui-2026.2.0/src/assets/images/daiquiri-ui.png +0 -0
  539. daiquiri_ui-2026.2.0/src/assets/images/diff.png +0 -0
  540. daiquiri_ui-2026.2.0/src/assets/images/xtal.png +0 -0
  541. daiquiri_ui-2026.2.0/src/components/2dview/AutoScalarMaps.tsx +69 -0
  542. daiquiri_ui-2026.2.0/src/components/2dview/ColorMap.js +70 -0
  543. daiquiri_ui-2026.2.0/src/components/2dview/CompositeButton.tsx +240 -0
  544. daiquiri_ui-2026.2.0/src/components/2dview/CompositeList.tsx +197 -0
  545. daiquiri_ui-2026.2.0/src/components/2dview/CompositeMap.js +77 -0
  546. daiquiri_ui-2026.2.0/src/components/2dview/Controls.tsx +720 -0
  547. daiquiri_ui-2026.2.0/src/components/2dview/Drawing.js +984 -0
  548. daiquiri_ui-2026.2.0/src/components/2dview/ExtraMetadata.tsx +208 -0
  549. daiquiri_ui-2026.2.0/src/components/2dview/ExtraMetadataButton.tsx +71 -0
  550. daiquiri_ui-2026.2.0/src/components/2dview/HideAllMapsButton.tsx +34 -0
  551. daiquiri_ui-2026.2.0/src/components/2dview/ImageMap.js +68 -0
  552. daiquiri_ui-2026.2.0/src/components/2dview/ImportReferenceButton.tsx +62 -0
  553. daiquiri_ui-2026.2.0/src/components/2dview/JSMpegImage.js +88 -0
  554. daiquiri_ui-2026.2.0/src/components/2dview/MCAModal.tsx +140 -0
  555. daiquiri_ui-2026.2.0/src/components/2dview/NewScan.tsx +174 -0
  556. daiquiri_ui-2026.2.0/src/components/2dview/ObjectList.tsx +522 -0
  557. daiquiri_ui-2026.2.0/src/components/2dview/ObjectView.tsx +167 -0
  558. daiquiri_ui-2026.2.0/src/components/2dview/Overlay.jsx +1803 -0
  559. daiquiri_ui-2026.2.0/src/components/2dview/OverlayMessages.jsx +25 -0
  560. daiquiri_ui-2026.2.0/src/components/2dview/ROIBrowser.tsx +110 -0
  561. daiquiri_ui-2026.2.0/src/components/2dview/ROIBrowserButton.tsx +60 -0
  562. daiquiri_ui-2026.2.0/src/components/2dview/ROIManager.tsx +229 -0
  563. daiquiri_ui-2026.2.0/src/components/2dview/ROIManagerButton.tsx +22 -0
  564. daiquiri_ui-2026.2.0/src/components/2dview/RegenerateMapsButton.tsx +29 -0
  565. daiquiri_ui-2026.2.0/src/components/2dview/SavingButton.tsx +47 -0
  566. daiquiri_ui-2026.2.0/src/components/2dview/TwoDView.jsx +20 -0
  567. daiquiri_ui-2026.2.0/src/components/2dview/ValueModal.tsx +67 -0
  568. daiquiri_ui-2026.2.0/src/components/2dview/VideoImage.js +46 -0
  569. daiquiri_ui-2026.2.0/src/components/2dview/options.ts +48 -0
  570. daiquiri_ui-2026.2.0/src/components/2dview/video-rtc.js +746 -0
  571. daiquiri_ui-2026.2.0/src/components/Alerts.tsx +51 -0
  572. daiquiri_ui-2026.2.0/src/components/Console.tsx +87 -0
  573. daiquiri_ui-2026.2.0/src/components/ControlButton.tsx +30 -0
  574. daiquiri_ui-2026.2.0/src/components/ErrorBoundary.tsx +131 -0
  575. daiquiri_ui-2026.2.0/src/components/Loader.tsx +31 -0
  576. daiquiri_ui-2026.2.0/src/components/LogViewer.tsx +67 -0
  577. daiquiri_ui-2026.2.0/src/components/Logging.tsx +114 -0
  578. daiquiri_ui-2026.2.0/src/components/Login.tsx +234 -0
  579. daiquiri_ui-2026.2.0/src/components/MockCache.ts +25 -0
  580. daiquiri_ui-2026.2.0/src/components/PlotEnhancer.tsx +55 -0
  581. daiquiri_ui-2026.2.0/src/components/Queue.tsx +678 -0
  582. daiquiri_ui-2026.2.0/src/components/SchemaForm.jsx +485 -0
  583. daiquiri_ui-2026.2.0/src/components/SelectSession.tsx +63 -0
  584. daiquiri_ui-2026.2.0/src/components/ServerWarning.tsx +17 -0
  585. daiquiri_ui-2026.2.0/src/components/Sessions.tsx +168 -0
  586. daiquiri_ui-2026.2.0/src/components/SimpleSchemaForm.tsx +117 -0
  587. daiquiri_ui-2026.2.0/src/components/Synoptic.tsx +180 -0
  588. daiquiri_ui-2026.2.0/src/components/Toasts.tsx +100 -0
  589. daiquiri_ui-2026.2.0/src/components/chat/Chat.tsx +345 -0
  590. daiquiri_ui-2026.2.0/src/components/chat/Message.tsx +114 -0
  591. daiquiri_ui-2026.2.0/src/components/chat/types.ts +16 -0
  592. daiquiri_ui-2026.2.0/src/components/chat/useIntersectionObserver.ts +204 -0
  593. daiquiri_ui-2026.2.0/src/components/common/DeleteButton.tsx +45 -0
  594. daiquiri_ui-2026.2.0/src/components/common/DownloadButton.tsx +27 -0
  595. daiquiri_ui-2026.2.0/src/components/common/InlineEditable.tsx +62 -0
  596. daiquiri_ui-2026.2.0/src/components/common/InputQuantity.tsx +177 -0
  597. daiquiri_ui-2026.2.0/src/components/common/LinesModal.tsx +121 -0
  598. daiquiri_ui-2026.2.0/src/components/common/LogView.tsx +93 -0
  599. daiquiri_ui-2026.2.0/src/components/common/NumericStep.tsx +166 -0
  600. daiquiri_ui-2026.2.0/src/components/common/PeriodicTable.tsx +91 -0
  601. daiquiri_ui-2026.2.0/src/components/common/ReadOnlyTextInput.tsx +29 -0
  602. daiquiri_ui-2026.2.0/src/components/common/RelativeRange.tsx +62 -0
  603. daiquiri_ui-2026.2.0/src/components/common/StackedNameState.tsx +52 -0
  604. daiquiri_ui-2026.2.0/src/components/common/StringField.tsx +252 -0
  605. daiquiri_ui-2026.2.0/src/components/common/Toolbar.tsx +46 -0
  606. daiquiri_ui-2026.2.0/src/components/common/Tooltip.tsx +38 -0
  607. daiquiri_ui-2026.2.0/src/components/common/TransitionChildren.tsx +86 -0
  608. daiquiri_ui-2026.2.0/src/components/common/WithToolbar.tsx +19 -0
  609. daiquiri_ui-2026.2.0/src/components/dc/APPAttachments.tsx +107 -0
  610. daiquiri_ui-2026.2.0/src/components/dc/APPMessages.tsx +80 -0
  611. daiquiri_ui-2026.2.0/src/components/dc/AutoProcPrograms.tsx +144 -0
  612. daiquiri_ui-2026.2.0/src/components/dc/AutoProcessingState.tsx +61 -0
  613. daiquiri_ui-2026.2.0/src/components/dc/DCAttachmentPlot.tsx +118 -0
  614. daiquiri_ui-2026.2.0/src/components/dc/DCAttachments.tsx +76 -0
  615. daiquiri_ui-2026.2.0/src/components/dc/DCComments.tsx +41 -0
  616. daiquiri_ui-2026.2.0/src/components/dc/DCDialogButton.tsx +25 -0
  617. daiquiri_ui-2026.2.0/src/components/dc/DCExtraTabs.tsx +67 -0
  618. daiquiri_ui-2026.2.0/src/components/dc/DCForm.tsx +67 -0
  619. daiquiri_ui-2026.2.0/src/components/dc/DCItem.tsx +20 -0
  620. daiquiri_ui-2026.2.0/src/components/dc/DCItemDefault.tsx +44 -0
  621. daiquiri_ui-2026.2.0/src/components/dc/DCItemEnergyScan.tsx +82 -0
  622. daiquiri_ui-2026.2.0/src/components/dc/DCItemXRFMap.tsx +103 -0
  623. daiquiri_ui-2026.2.0/src/components/dc/DCItemXRFMapXas.tsx +119 -0
  624. daiquiri_ui-2026.2.0/src/components/dc/DCKeyValueList.tsx +98 -0
  625. daiquiri_ui-2026.2.0/src/components/dc/DCList.tsx +306 -0
  626. daiquiri_ui-2026.2.0/src/components/dc/ExpandableCellComponent.tsx +33 -0
  627. daiquiri_ui-2026.2.0/src/components/dc/Map.tsx +85 -0
  628. daiquiri_ui-2026.2.0/src/components/dc/MapFromScalar.tsx +197 -0
  629. daiquiri_ui-2026.2.0/src/components/dc/MapSum.tsx +123 -0
  630. daiquiri_ui-2026.2.0/src/components/dc/SQIndicators.tsx +113 -0
  631. daiquiri_ui-2026.2.0/src/components/dc/Snapshots.tsx +93 -0
  632. daiquiri_ui-2026.2.0/src/components/dc/StatusBadge.tsx +27 -0
  633. daiquiri_ui-2026.2.0/src/components/dc/utils.ts +25 -0
  634. daiquiri_ui-2026.2.0/src/components/editor/FileEditor.tsx +202 -0
  635. daiquiri_ui-2026.2.0/src/components/editor/FileEditorLeaf.tsx +52 -0
  636. daiquiri_ui-2026.2.0/src/components/editor/FileEditorTree.tsx +54 -0
  637. daiquiri_ui-2026.2.0/src/components/editor/types.ts +8 -0
  638. daiquiri_ui-2026.2.0/src/components/form-widgets/ArrayFieldTemplate.tsx +83 -0
  639. daiquiri_ui-2026.2.0/src/components/form-widgets/ArrayTableField.jsx +327 -0
  640. daiquiri_ui-2026.2.0/src/components/form-widgets/ColField.tsx +158 -0
  641. daiquiri_ui-2026.2.0/src/components/form-widgets/CustomTemplates.jsx +100 -0
  642. daiquiri_ui-2026.2.0/src/components/form-widgets/DefaultTemplates.jsx +117 -0
  643. daiquiri_ui-2026.2.0/src/components/form-widgets/FormPresets.tsx +191 -0
  644. daiquiri_ui-2026.2.0/src/components/form-widgets/FormWithCache.tsx +166 -0
  645. daiquiri_ui-2026.2.0/src/components/form-widgets/GroupedFields.jsx +172 -0
  646. daiquiri_ui-2026.2.0/src/components/form-widgets/OptionalParams.jsx +189 -0
  647. daiquiri_ui-2026.2.0/src/components/form-widgets/Plot0d.tsx +74 -0
  648. daiquiri_ui-2026.2.0/src/components/form-widgets/StandaloneSchemaField.jsx +350 -0
  649. daiquiri_ui-2026.2.0/src/components/form-widgets/widgets/BoolButton.tsx +45 -0
  650. daiquiri_ui-2026.2.0/src/components/form-widgets/widgets/ConnectedSelect.tsx +110 -0
  651. daiquiri_ui-2026.2.0/src/components/form-widgets/widgets/CustomCheckbox.tsx +83 -0
  652. daiquiri_ui-2026.2.0/src/components/form-widgets/widgets/DatasetName.tsx +109 -0
  653. daiquiri_ui-2026.2.0/src/components/form-widgets/widgets/SampleId.tsx +57 -0
  654. daiquiri_ui-2026.2.0/src/components/general/BPMVideoStream.tsx +93 -0
  655. daiquiri_ui-2026.2.0/src/components/general/VideoStream.tsx +53 -0
  656. daiquiri_ui-2026.2.0/src/components/h5viewer/H5Viewer.tsx +28 -0
  657. daiquiri_ui-2026.2.0/src/components/h5viewer/H5ViewerButton.tsx +48 -0
  658. daiquiri_ui-2026.2.0/src/components/h5web/DefaultMouseInteraction.tsx +48 -0
  659. daiquiri_ui-2026.2.0/src/components/h5web/LinearVisCanvas.tsx +34 -0
  660. daiquiri_ui-2026.2.0/src/components/h5web/LinearVisCanvas2.tsx +417 -0
  661. daiquiri_ui-2026.2.0/src/components/h5web/LinearVisGroup.tsx +98 -0
  662. daiquiri_ui-2026.2.0/src/components/h5web/MouseInteractionOverlayManager.ts +198 -0
  663. daiquiri_ui-2026.2.0/src/components/h5web/NdFloat16Array.ts +69 -0
  664. daiquiri_ui-2026.2.0/src/components/h5web/NdNormalizedUint8Array.ts +75 -0
  665. daiquiri_ui-2026.2.0/src/components/h5web/RulerSelectionTool.tsx +311 -0
  666. daiquiri_ui-2026.2.0/src/components/h5web/SelectionPoint.tsx +68 -0
  667. daiquiri_ui-2026.2.0/src/components/h5web/UseMouseModeInteraction.ts +68 -0
  668. daiquiri_ui-2026.2.0/src/components/h5web/VisSynchroniser.tsx +99 -0
  669. daiquiri_ui-2026.2.0/src/components/h5web/VisViewpointRestore.tsx +38 -0
  670. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/AutoScaleButton.tsx +38 -0
  671. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/AutoscaleOption.tsx +29 -0
  672. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/ColormapButtonGroup.tsx +43 -0
  673. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DefaultMouseModeOptions.tsx +38 -0
  674. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DomainSlider.tsx +179 -0
  675. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DropdownAutoscale.tsx +43 -0
  676. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DropdownColormap.tsx +186 -0
  677. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DropdownFilterMode.tsx +58 -0
  678. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DropdownLut.tsx +56 -0
  679. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/DropdownNormalization.tsx +37 -0
  680. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/HistogramDomain.tsx +121 -0
  681. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/HistogramDomainSlider.tsx +110 -0
  682. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/Icons.tsx +56 -0
  683. daiquiri_ui-2026.2.0/src/components/h5web/bootstrap/RulerButton.tsx +109 -0
  684. daiquiri_ui-2026.2.0/src/components/h5web/colormap.ts +142 -0
  685. daiquiri_ui-2026.2.0/src/components/h5web/colors.ts +48 -0
  686. daiquiri_ui-2026.2.0/src/components/h5web/filters/conv2d.ts +185 -0
  687. daiquiri_ui-2026.2.0/src/components/h5web/h5webhelper.ts +52 -0
  688. daiquiri_ui-2026.2.0/src/components/h5web/hooks.ts +90 -0
  689. daiquiri_ui-2026.2.0/src/components/h5web/items/CanvasCursorSetter.tsx +16 -0
  690. daiquiri_ui-2026.2.0/src/components/h5web/items/CompareMesh.tsx +470 -0
  691. daiquiri_ui-2026.2.0/src/components/h5web/items/ImageMesh.tsx +105 -0
  692. daiquiri_ui-2026.2.0/src/components/h5web/items/Label.tsx +143 -0
  693. daiquiri_ui-2026.2.0/src/components/h5web/items/LoadingMessage.tsx +93 -0
  694. daiquiri_ui-2026.2.0/src/components/h5web/items/RegularScatter.tsx +181 -0
  695. daiquiri_ui-2026.2.0/src/components/h5web/items/SceneScale.tsx +184 -0
  696. daiquiri_ui-2026.2.0/src/components/h5web/items/ScreenLocation.tsx +54 -0
  697. daiquiri_ui-2026.2.0/src/components/h5web/items/ScreenScale.tsx +59 -0
  698. daiquiri_ui-2026.2.0/src/components/h5web/items/WorldScale.tsx +51 -0
  699. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/Anchor.tsx +82 -0
  700. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/Angle2LineRoi.tsx +157 -0
  701. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/AngleRoi.tsx +168 -0
  702. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/DraggableRect.tsx +167 -0
  703. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/HGapRoi.tsx +149 -0
  704. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/HLineRoi.tsx +72 -0
  705. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/HSegmentRoi.tsx +77 -0
  706. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/RectRoi.tsx +199 -0
  707. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/RectRuler.tsx +259 -0
  708. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/VLineRoi.tsx +72 -0
  709. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/VSegmentRoi.tsx +78 -0
  710. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/const.ts +16 -0
  711. daiquiri_ui-2026.2.0/src/components/h5web/items/rois/geometries.ts +52 -0
  712. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/Arc.tsx +220 -0
  713. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/ArrowHeadMarker.tsx +187 -0
  714. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/ArrowMarker.tsx +190 -0
  715. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/ArrowedLine.tsx +91 -0
  716. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/Circle.tsx +191 -0
  717. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/CornerMarker.tsx +159 -0
  718. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/Cross.tsx +78 -0
  719. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/CrossMarker.tsx +131 -0
  720. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/Grid.tsx +176 -0
  721. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/HSegment.tsx +146 -0
  722. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/LineWithDataDash.tsx +181 -0
  723. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/OutsidePlotDomain.tsx +43 -0
  724. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/Rect.tsx +80 -0
  725. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/Rect2.tsx +160 -0
  726. daiquiri_ui-2026.2.0/src/components/h5web/items/shapes/VSegment.tsx +146 -0
  727. daiquiri_ui-2026.2.0/src/components/h5web/models.ts +6 -0
  728. daiquiri_ui-2026.2.0/src/components/h5web/shaderUtils.ts +100 -0
  729. daiquiri_ui-2026.2.0/src/components/h5web/shaders/compare.frag.glsl +413 -0
  730. daiquiri_ui-2026.2.0/src/components/h5web/shaders/compare.vert.glsl +25 -0
  731. daiquiri_ui-2026.2.0/src/components/h5web/utils.ts +112 -0
  732. daiquiri_ui-2026.2.0/src/components/hardware/DefaultObject.tsx +225 -0
  733. daiquiri_ui-2026.2.0/src/components/hardware/HardwareButton.tsx +118 -0
  734. daiquiri_ui-2026.2.0/src/components/hardware/HardwareGroup.tsx +43 -0
  735. daiquiri_ui-2026.2.0/src/components/hardware/HardwareObject.tsx +157 -0
  736. daiquiri_ui-2026.2.0/src/components/hardware/beamviewer/Beamviewer.tsx +190 -0
  737. daiquiri_ui-2026.2.0/src/components/hardware/beamviewer/index.ts +20 -0
  738. daiquiri_ui-2026.2.0/src/components/hardware/beamviewer/mocks/Beamviewer.json +17 -0
  739. daiquiri_ui-2026.2.0/src/components/hardware/camera/Camera.tsx +136 -0
  740. daiquiri_ui-2026.2.0/src/components/hardware/camera/index.ts +22 -0
  741. daiquiri_ui-2026.2.0/src/components/hardware/camera/mocks/Camera.json +18 -0
  742. daiquiri_ui-2026.2.0/src/components/hardware/motor/MotorSmall.tsx +69 -0
  743. daiquiri_ui-2026.2.0/src/components/hardware/motor/MotorTomoRotation.tsx +571 -0
  744. daiquiri_ui-2026.2.0/src/components/hardware/motor/index.ts +12 -0
  745. daiquiri_ui-2026.2.0/src/components/hardware/procedure/ProcedureParameters.tsx +66 -0
  746. daiquiri_ui-2026.2.0/src/components/hardware/procedure/index.ts +10 -0
  747. daiquiri_ui-2026.2.0/src/components/hardware/tangoattr/TangoAttr.tsx +327 -0
  748. daiquiri_ui-2026.2.0/src/components/hardware/tangoattr/index.ts +25 -0
  749. daiquiri_ui-2026.2.0/src/components/hardware/tangoattr/mocks/TangoAttr.json +20 -0
  750. daiquiri_ui-2026.2.0/src/components/hardware/wago/Wago.tsx +54 -0
  751. daiquiri_ui-2026.2.0/src/components/hardware/wago/index.ts +15 -0
  752. daiquiri_ui-2026.2.0/src/components/hardware/wago/mocks/Wago.json +14 -0
  753. daiquiri_ui-2026.2.0/src/components/hdf5/Hdf5Plot.md +61 -0
  754. daiquiri_ui-2026.2.0/src/components/hdf5/Hdf5Plot.tsx +398 -0
  755. daiquiri_ui-2026.2.0/src/components/hdf5/models.ts +83 -0
  756. daiquiri_ui-2026.2.0/src/components/header/AboutModal.tsx +210 -0
  757. daiquiri_ui-2026.2.0/src/components/header/AlertsDropDown.tsx +74 -0
  758. daiquiri_ui-2026.2.0/src/components/header/Avatar.tsx +21 -0
  759. daiquiri_ui-2026.2.0/src/components/header/Header.tsx +86 -0
  760. daiquiri_ui-2026.2.0/src/components/header/LayoutDropDown.tsx +87 -0
  761. daiquiri_ui-2026.2.0/src/components/header/LayoutSideBar.tsx +66 -0
  762. daiquiri_ui-2026.2.0/src/components/header/SidebarButton.tsx +34 -0
  763. daiquiri_ui-2026.2.0/src/components/header/UserDropDown.tsx +75 -0
  764. daiquiri_ui-2026.2.0/src/components/layout/ButtonTriggerModal.tsx +74 -0
  765. daiquiri_ui-2026.2.0/src/components/layout/ButtonTriggerModalStore.tsx +113 -0
  766. daiquiri_ui-2026.2.0/src/components/layout/DraggablePopup.tsx +59 -0
  767. daiquiri_ui-2026.2.0/src/components/layout/LoadingOverlay.tsx +27 -0
  768. daiquiri_ui-2026.2.0/src/components/layout/ModalDialog.tsx +56 -0
  769. daiquiri_ui-2026.2.0/src/components/layout/OffCanvas.tsx +122 -0
  770. daiquiri_ui-2026.2.0/src/components/layout/Sidebar.tsx +107 -0
  771. daiquiri_ui-2026.2.0/src/components/layout/models.ts +22 -0
  772. daiquiri_ui-2026.2.0/src/components/main/GlobalOptions.tsx +52 -0
  773. daiquiri_ui-2026.2.0/src/components/main/Main.tsx +41 -0
  774. daiquiri_ui-2026.2.0/src/components/main/MainSidebar.tsx +194 -0
  775. daiquiri_ui-2026.2.0/src/components/main/NotificationsPanel.tsx +71 -0
  776. daiquiri_ui-2026.2.0/src/components/mocks/FileEditor.json +9 -0
  777. daiquiri_ui-2026.2.0/src/components/mocks/FileEditorTree.json +30 -0
  778. daiquiri_ui-2026.2.0/src/components/mocks/FormSchema.json +86 -0
  779. daiquiri_ui-2026.2.0/src/components/mocks/Hdf5PlotGroup.json +503 -0
  780. daiquiri_ui-2026.2.0/src/components/mocks/Hdf5PlotNXdataImage.json +24 -0
  781. daiquiri_ui-2026.2.0/src/components/mocks/ScanPlot0d.json +71 -0
  782. daiquiri_ui-2026.2.0/src/components/mocks/ScanPlot0d_mesh.json +347 -0
  783. daiquiri_ui-2026.2.0/src/components/mocks/ScanPlot1d.json +223 -0
  784. daiquiri_ui-2026.2.0/src/components/mocks/ScanTable.json +30 -0
  785. daiquiri_ui-2026.2.0/src/components/mocks/Synoptic.json +80 -0
  786. daiquiri_ui-2026.2.0/src/components/monitor/MonitorPanel.tsx +8 -0
  787. daiquiri_ui-2026.2.0/src/components/monitor/MonitorProposal.tsx +18 -0
  788. daiquiri_ui-2026.2.0/src/components/monitor/MonitorSample.tsx +32 -0
  789. daiquiri_ui-2026.2.0/src/components/parameteriser/NewParameters.tsx +144 -0
  790. daiquiri_ui-2026.2.0/src/components/parameteriser/NewParametersButton.tsx +81 -0
  791. daiquiri_ui-2026.2.0/src/components/parameteriser/ParametersList.tsx +167 -0
  792. daiquiri_ui-2026.2.0/src/components/plotting/CurveLegend.tsx +27 -0
  793. daiquiri_ui-2026.2.0/src/components/plotting/H5Web0dPlot.tsx +33 -0
  794. daiquiri_ui-2026.2.0/src/components/plotting/H5WebCurvePlot.tsx +150 -0
  795. daiquiri_ui-2026.2.0/src/components/plotting/H5WebScatterContainer.tsx +38 -0
  796. daiquiri_ui-2026.2.0/src/components/plotting/H5WebScatterPlot.tsx +43 -0
  797. daiquiri_ui-2026.2.0/src/components/plotting/InteractiveCurve.tsx +72 -0
  798. daiquiri_ui-2026.2.0/src/components/plotting/LegendEntry.tsx +32 -0
  799. daiquiri_ui-2026.2.0/src/components/plotting/MultiCurveTooltipMesh.tsx +44 -0
  800. daiquiri_ui-2026.2.0/src/components/plotting/PlotOverlay.tsx +84 -0
  801. daiquiri_ui-2026.2.0/src/components/plotting/RoiSelectionTool.tsx +47 -0
  802. daiquiri_ui-2026.2.0/src/components/plotting/guards.ts +17 -0
  803. daiquiri_ui-2026.2.0/src/components/plotting/hooks.ts +16 -0
  804. daiquiri_ui-2026.2.0/src/components/plotting/models.ts +22 -0
  805. daiquiri_ui-2026.2.0/src/components/samples/ComponentView.tsx +78 -0
  806. daiquiri_ui-2026.2.0/src/components/samples/CopyScan.tsx +48 -0
  807. daiquiri_ui-2026.2.0/src/components/samples/ImageSelection.tsx +103 -0
  808. daiquiri_ui-2026.2.0/src/components/samples/MapList.tsx +385 -0
  809. daiquiri_ui-2026.2.0/src/components/samples/NewScan.tsx +167 -0
  810. daiquiri_ui-2026.2.0/src/components/samples/NewScanButton.tsx +131 -0
  811. daiquiri_ui-2026.2.0/src/components/samples/NewScanButtonSample.tsx +149 -0
  812. daiquiri_ui-2026.2.0/src/components/samples/NewScanButtonSample2.tsx +43 -0
  813. daiquiri_ui-2026.2.0/src/components/samples/SampleDCList.tsx +65 -0
  814. daiquiri_ui-2026.2.0/src/components/samples/SampleList.tsx +323 -0
  815. daiquiri_ui-2026.2.0/src/components/samples/SampleRegistration.tsx +54 -0
  816. daiquiri_ui-2026.2.0/src/components/samples/options.ts +126 -0
  817. daiquiri_ui-2026.2.0/src/components/samples/registration/SampleActionPositions.tsx +69 -0
  818. daiquiri_ui-2026.2.0/src/components/samples/registration/SampleActions.tsx +199 -0
  819. daiquiri_ui-2026.2.0/src/components/samples/registration/TiledView.tsx +345 -0
  820. daiquiri_ui-2026.2.0/src/components/samples/registration/TiledViewProps.ts +29 -0
  821. daiquiri_ui-2026.2.0/src/components/samples/registration/TiledViewToolbar.tsx +119 -0
  822. daiquiri_ui-2026.2.0/src/components/samples/registration/hoc.tsx +55 -0
  823. daiquiri_ui-2026.2.0/src/components/samples/registration/hooks.ts +88 -0
  824. daiquiri_ui-2026.2.0/src/components/samples/registration/store.ts +72 -0
  825. daiquiri_ui-2026.2.0/src/components/scans/ScanPlot0d.tsx +440 -0
  826. daiquiri_ui-2026.2.0/src/components/scans/ScanPlot0dValue.tsx +150 -0
  827. daiquiri_ui-2026.2.0/src/components/scans/ScanPlot1d.tsx +259 -0
  828. daiquiri_ui-2026.2.0/src/components/scans/ScanPlot2d.tsx +279 -0
  829. daiquiri_ui-2026.2.0/src/components/scans/ScanStatus.tsx +47 -0
  830. daiquiri_ui-2026.2.0/src/components/scans/ScanTable.tsx +144 -0
  831. daiquiri_ui-2026.2.0/src/components/scans/ScanValue.tsx +69 -0
  832. daiquiri_ui-2026.2.0/src/components/scans/controls/AxesSelect.tsx +86 -0
  833. daiquiri_ui-2026.2.0/src/components/scans/controls/SeriesSelect.tsx +41 -0
  834. daiquiri_ui-2026.2.0/src/components/scans/models.ts +106 -0
  835. daiquiri_ui-2026.2.0/src/components/scans/utils.ts +38 -0
  836. daiquiri_ui-2026.2.0/src/components/table/Selectable.tsx +113 -0
  837. daiquiri_ui-2026.2.0/src/components/table/cells/fixedCell.tsx +8 -0
  838. daiquiri_ui-2026.2.0/src/components/table/cells/hrsMinsCell.tsx +10 -0
  839. daiquiri_ui-2026.2.0/src/components/table/cells/momentCell.tsx +10 -0
  840. daiquiri_ui-2026.2.0/src/components/table/cells/rowIndexCell.tsx +8 -0
  841. daiquiri_ui-2026.2.0/src/components/table/index.tsx +112 -0
  842. daiquiri_ui-2026.2.0/src/components/table/models.ts +52 -0
  843. daiquiri_ui-2026.2.0/src/components/tomo/TomoScanTaskForm.tsx +140 -0
  844. daiquiri_ui-2026.2.0/src/components/tomo/align/Default.tsx +179 -0
  845. daiquiri_ui-2026.2.0/src/components/tomo/align/Description.tsx +135 -0
  846. daiquiri_ui-2026.2.0/src/components/tomo/align/DropdownTomoAlignOptions.tsx +169 -0
  847. daiquiri_ui-2026.2.0/src/components/tomo/align/Estimation.tsx +84 -0
  848. daiquiri_ui-2026.2.0/src/components/tomo/align/RoiA2LSelectionTool.tsx +78 -0
  849. daiquiri_ui-2026.2.0/src/components/tomo/align/RoiRectSelectionTool.tsx +62 -0
  850. daiquiri_ui-2026.2.0/src/components/tomo/align/SelectCustomDisplayMode.tsx +38 -0
  851. daiquiri_ui-2026.2.0/src/components/tomo/align/SelectDisplayMode.tsx +135 -0
  852. daiquiri_ui-2026.2.0/src/components/tomo/align/SelectMixedDisplayMode.tsx +96 -0
  853. daiquiri_ui-2026.2.0/src/components/tomo/align/TextArea.tsx +52 -0
  854. daiquiri_ui-2026.2.0/src/components/tomo/align/TextQuantity.tsx +71 -0
  855. daiquiri_ui-2026.2.0/src/components/tomo/align/TomoAlign.tsx +722 -0
  856. daiquiri_ui-2026.2.0/src/components/tomo/align/index.ts +85 -0
  857. daiquiri_ui-2026.2.0/src/components/tomo/align/roiHelper.ts +178 -0
  858. daiquiri_ui-2026.2.0/src/components/tomo/align/useUndoableWithIntermediate.ts +49 -0
  859. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/BeamShapingTooltip.tsx +63 -0
  860. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/Default.tsx +387 -0
  861. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/DropdownBeamShapingConfig.tsx +168 -0
  862. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/DropdownRoiConfig.tsx +91 -0
  863. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/FourQuadrantInfo.tsx +155 -0
  864. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/FrameAnnotations.tsx +61 -0
  865. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/RectRoiWithStatistics.tsx +45 -0
  866. daiquiri_ui-2026.2.0/src/components/tomo/beamshaping/statistics.ts +24 -0
  867. daiquiri_ui-2026.2.0/src/components/tomo/config/Align.ts +69 -0
  868. daiquiri_ui-2026.2.0/src/components/tomo/config/BeamShaping.ts +64 -0
  869. daiquiri_ui-2026.2.0/src/components/tomo/config/ColorMap.ts +61 -0
  870. daiquiri_ui-2026.2.0/src/components/tomo/config/Detector.ts +12 -0
  871. daiquiri_ui-2026.2.0/src/components/tomo/config/DetectorView.ts +72 -0
  872. daiquiri_ui-2026.2.0/src/components/tomo/config/PusherView.ts +71 -0
  873. daiquiri_ui-2026.2.0/src/components/tomo/config/SinogramView.ts +46 -0
  874. daiquiri_ui-2026.2.0/src/components/tomo/config/SliceReconstruction.ts +54 -0
  875. daiquiri_ui-2026.2.0/src/components/tomo/config/TilingView.ts +85 -0
  876. daiquiri_ui-2026.2.0/src/components/tomo/detector/ActualRotationAxisLocation.tsx +45 -0
  877. daiquiri_ui-2026.2.0/src/components/tomo/detector/Default.tsx +160 -0
  878. daiquiri_ui-2026.2.0/src/components/tomo/detector/DetectorMesh.tsx +27 -0
  879. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/ActualDetectorLocation.tsx +100 -0
  880. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/ActualRotationAxisLocation.tsx +54 -0
  881. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/Default.tsx +421 -0
  882. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/DetectorProjectionMesh.tsx +132 -0
  883. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/DetectorViewTooltip.tsx +76 -0
  884. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/DropdownDetectorViewConfig.tsx +224 -0
  885. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/DropdownProcess.tsx +44 -0
  886. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/MoveSampleStageOptions.tsx +91 -0
  887. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/OptionsProcess.tsx +101 -0
  888. daiquiri_ui-2026.2.0/src/components/tomo/detectorview/models.ts +137 -0
  889. daiquiri_ui-2026.2.0/src/components/tomo/dropdownfieldofview/DropdownFieldOfView.tsx +257 -0
  890. daiquiri_ui-2026.2.0/src/components/tomo/holo/Default.tsx +561 -0
  891. daiquiri_ui-2026.2.0/src/components/tomo/holo/InputNumberOrNull.tsx +106 -0
  892. daiquiri_ui-2026.2.0/src/components/tomo/holo/MultiLinearRange.tsx +91 -0
  893. daiquiri_ui-2026.2.0/src/components/tomo/holo/NbDistances.tsx +52 -0
  894. daiquiri_ui-2026.2.0/src/components/tomo/holo/hoverHook.tsx +31 -0
  895. daiquiri_ui-2026.2.0/src/components/tomo/pusherview/Default.tsx +130 -0
  896. daiquiri_ui-2026.2.0/src/components/tomo/pusherview/DropdownPusherViewOptions.tsx +169 -0
  897. daiquiri_ui-2026.2.0/src/components/tomo/pusherview/HSplitterAnnotation.tsx +29 -0
  898. daiquiri_ui-2026.2.0/src/components/tomo/pusherview/SelectDisplayMode.tsx +135 -0
  899. daiquiri_ui-2026.2.0/src/components/tomo/pusherview/TomoAlign.tsx +459 -0
  900. daiquiri_ui-2026.2.0/src/components/tomo/pusherview/roiHelper.ts +77 -0
  901. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/ActualAxisPosition.tsx +31 -0
  902. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/ActualBeamDirection.tsx +76 -0
  903. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/ActualScanRegion.tsx +89 -0
  904. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/Default.tsx +277 -0
  905. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/MoveMotorInteraction.tsx +38 -0
  906. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/RefreshSliceReconstruction.tsx +28 -0
  907. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/SliceReconstructionInfo.tsx +74 -0
  908. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/SliceReconstructionMessage.tsx +46 -0
  909. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/SliceViewTooltip.tsx +41 -0
  910. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/SyncCorConfig.tsx +50 -0
  911. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/TomoReconstructedSlicePlot.tsx +188 -0
  912. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/hooks.ts +57 -0
  913. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/mocks/TomoReconstructedSinogram.json +24 -0
  914. daiquiri_ui-2026.2.0/src/components/tomo/reconstructedslice/models.ts +150 -0
  915. daiquiri_ui-2026.2.0/src/components/tomo/scaninfo/Default.tsx +234 -0
  916. daiquiri_ui-2026.2.0/src/components/tomo/scaninfo/mocks/TomoScanInfo.json +38 -0
  917. daiquiri_ui-2026.2.0/src/components/tomo/scanlist/Default.tsx +150 -0
  918. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/AxisRotationPositionInteraction.tsx +42 -0
  919. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/Default.tsx +209 -0
  920. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/DropdownSinogramViewConfig.tsx +142 -0
  921. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/RenderModeDropdown.tsx +32 -0
  922. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/RotationPosition.tsx +37 -0
  923. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/SinogramPlot.tsx +201 -0
  924. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/models.ts +3 -0
  925. daiquiri_ui-2026.2.0/src/components/tomo/sinogram/utils.ts +64 -0
  926. daiquiri_ui-2026.2.0/src/components/tomo/sliceview/DropdownSliceViewConfig.tsx +119 -0
  927. daiquiri_ui-2026.2.0/src/components/tomo/tiling/ActualDetectorLocation.tsx +240 -0
  928. daiquiri_ui-2026.2.0/src/components/tomo/tiling/Default.tsx +597 -0
  929. daiquiri_ui-2026.2.0/src/components/tomo/tiling/DropdownDetector.tsx +328 -0
  930. daiquiri_ui-2026.2.0/src/components/tomo/tiling/DropdownTilingId.tsx +109 -0
  931. daiquiri_ui-2026.2.0/src/components/tomo/tiling/DropdownTilingViewConfig.tsx +179 -0
  932. daiquiri_ui-2026.2.0/src/components/tomo/tiling/FlatLocation.tsx +146 -0
  933. daiquiri_ui-2026.2.0/src/components/tomo/tiling/MarkerSelectionButton.tsx +44 -0
  934. daiquiri_ui-2026.2.0/src/components/tomo/tiling/MotorMarker.tsx +239 -0
  935. daiquiri_ui-2026.2.0/src/components/tomo/tiling/OptionScale.tsx +60 -0
  936. daiquiri_ui-2026.2.0/src/components/tomo/tiling/OptionTools.tsx +93 -0
  937. daiquiri_ui-2026.2.0/src/components/tomo/tiling/SampleStageLimits.tsx +58 -0
  938. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TilingInteraction.tsx +180 -0
  939. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TilingMarkers.tsx +140 -0
  940. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TilingMesh.tsx +44 -0
  941. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TilingScanStatus.tsx +17 -0
  942. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TilingTooltip.tsx +75 -0
  943. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TilingVis.tsx +306 -0
  944. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TomoDetectorArrayItem.tsx +99 -0
  945. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TomoScanTaskSelectRect.tsx +70 -0
  946. daiquiri_ui-2026.2.0/src/components/tomo/tiling/TomovisStatus.tsx +55 -0
  947. daiquiri_ui-2026.2.0/src/components/tomo/tiling/geometry.ts +117 -0
  948. daiquiri_ui-2026.2.0/src/components/tomo/tiling/models.ts +8 -0
  949. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/CubeRoi.ts +146 -0
  950. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/OptionScan.tsx +369 -0
  951. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/Point3DRoi.ts +89 -0
  952. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/TilingScanRoi.tsx +156 -0
  953. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/TilingScanRoiSelectionTool.tsx +79 -0
  954. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/TomoScanRoi.tsx +91 -0
  955. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/TomoScanRoiSelectionTool.tsx +80 -0
  956. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/VSegment3DRoi.ts +106 -0
  957. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/ZseriesScanRoi.tsx +130 -0
  958. daiquiri_ui-2026.2.0/src/components/tomo/tiling/rois/ZseriesScanRoiSelectionTool.tsx +80 -0
  959. daiquiri_ui-2026.2.0/src/components/tomo/tiling/state.ts +70 -0
  960. daiquiri_ui-2026.2.0/src/components/tomo/tiling/types.ts +32 -0
  961. daiquiri_ui-2026.2.0/src/components/tomo/tiling/utils.ts +13 -0
  962. daiquiri_ui-2026.2.0/src/components/tomo/utils/TomoDetector.ts +147 -0
  963. daiquiri_ui-2026.2.0/src/components/tomo/utils/TomoScans.ts +44 -0
  964. daiquiri_ui-2026.2.0/src/components/tomo/utils/geometry.ts +152 -0
  965. daiquiri_ui-2026.2.0/src/components/tomo/utils/hooks.ts +266 -0
  966. daiquiri_ui-2026.2.0/src/components/tomo/utils/mocks/utils.ts +52 -0
  967. daiquiri_ui-2026.2.0/src/components/tomo/utils/models.ts +19 -0
  968. daiquiri_ui-2026.2.0/src/components/tomo/utils/types.ts +17 -0
  969. daiquiri_ui-2026.2.0/src/components/utils/CanvasEnhancer.jsx +82 -0
  970. daiquiri_ui-2026.2.0/src/components/utils/LoginRoute.tsx +31 -0
  971. daiquiri_ui-2026.2.0/src/components/utils/PrivateRoute.tsx +21 -0
  972. daiquiri_ui-2026.2.0/src/components/utils/RemountOnResize.tsx +36 -0
  973. daiquiri_ui-2026.2.0/src/components/utils/UseUserPreference.ts +19 -0
  974. daiquiri_ui-2026.2.0/src/components/utils/UseXHRImage.tsx +97 -0
  975. daiquiri_ui-2026.2.0/src/components/utils/ZoomPanCanvas.jsx +222 -0
  976. daiquiri_ui-2026.2.0/src/components/utils/appHooks.ts +13 -0
  977. daiquiri_ui-2026.2.0/src/components/utils/envHooks.ts +28 -0
  978. daiquiri_ui-2026.2.0/src/components/utils/hardwareHooks.ts +156 -0
  979. daiquiri_ui-2026.2.0/src/components/utils/hooks.ts +29 -0
  980. daiquiri_ui-2026.2.0/src/components/utils/useUserCache.tsx +51 -0
  981. daiquiri_ui-2026.2.0/src/components/yaml-layout/componentMap.ts +64 -0
  982. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/2dview/TwoD.tsx +9 -0
  983. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/2dview/TwoDObject.tsx +9 -0
  984. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/2dview/TwoDObjectList.tsx +9 -0
  985. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/BPMVideoStream.tsx +35 -0
  986. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/Console.tsx +9 -0
  987. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/Editor.tsx +9 -0
  988. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/EditorTree.tsx +9 -0
  989. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/NewScanButton.tsx +13 -0
  990. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/ParametersList.tsx +18 -0
  991. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/SampleDCList.tsx +10 -0
  992. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/SchemaForm.tsx +35 -0
  993. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/Synoptic.tsx +9 -0
  994. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/VideoStream.tsx +10 -0
  995. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/hardware/HardwareButton.tsx +83 -0
  996. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/hdf5/H5Viewer.tsx +12 -0
  997. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/hdf5/Hdf5Plot.tsx +11 -0
  998. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/samples/SampleRegistration.tsx +10 -0
  999. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/scans/ScanPlot0d.tsx +32 -0
  1000. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/scans/ScanPlot0dValue.tsx +29 -0
  1001. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/scans/ScanPlot1d.tsx +42 -0
  1002. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/scans/ScanPlot2d.tsx +10 -0
  1003. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/scans/ScanTable.tsx +10 -0
  1004. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/scans/ScanValue.tsx +11 -0
  1005. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoAlign.tsx +21 -0
  1006. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoBeamShaping.tsx +11 -0
  1007. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoDetector.tsx +11 -0
  1008. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoDetectorView.tsx +12 -0
  1009. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoHolo.tsx +17 -0
  1010. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoPusherView.tsx +11 -0
  1011. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoReconstructedSinogram.tsx +25 -0
  1012. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoScanInfo.tsx +9 -0
  1013. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoScanList.tsx +9 -0
  1014. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoSinogram.tsx +23 -0
  1015. daiquiri_ui-2026.2.0/src/components/yaml-layout/components/tomo/TomoTiling.tsx +20 -0
  1016. daiquiri_ui-2026.2.0/src/config/config.js +14 -0
  1017. daiquiri_ui-2026.2.0/src/connect/2dview/Controls.ts +54 -0
  1018. daiquiri_ui-2026.2.0/src/connect/2dview/ExtraMetadata.ts +16 -0
  1019. daiquiri_ui-2026.2.0/src/connect/2dview/MCAModal.ts +29 -0
  1020. daiquiri_ui-2026.2.0/src/connect/2dview/NewScan.js +20 -0
  1021. daiquiri_ui-2026.2.0/src/connect/2dview/ObjectList.ts +34 -0
  1022. daiquiri_ui-2026.2.0/src/connect/2dview/ObjectView.ts +35 -0
  1023. daiquiri_ui-2026.2.0/src/connect/2dview/Overlay.js +51 -0
  1024. daiquiri_ui-2026.2.0/src/connect/2dview/ROIBrowser.ts +16 -0
  1025. daiquiri_ui-2026.2.0/src/connect/2dview/ROIManager.ts +25 -0
  1026. daiquiri_ui-2026.2.0/src/connect/2dview/RegenerateMapsButton.ts +18 -0
  1027. daiquiri_ui-2026.2.0/src/connect/2dview/SavingButton.ts +20 -0
  1028. daiquiri_ui-2026.2.0/src/connect/2dview/TwoDView.ts +18 -0
  1029. daiquiri_ui-2026.2.0/src/connect/2dview/ValueModal.ts +18 -0
  1030. daiquiri_ui-2026.2.0/src/connect/Alerts.js +22 -0
  1031. daiquiri_ui-2026.2.0/src/connect/Chat.ts +41 -0
  1032. daiquiri_ui-2026.2.0/src/connect/ConnectUtils.ts +46 -0
  1033. daiquiri_ui-2026.2.0/src/connect/Console.ts +16 -0
  1034. daiquiri_ui-2026.2.0/src/connect/ControlButton.js +18 -0
  1035. daiquiri_ui-2026.2.0/src/connect/FileEditor.ts +28 -0
  1036. daiquiri_ui-2026.2.0/src/connect/FileEditorTree.ts +27 -0
  1037. daiquiri_ui-2026.2.0/src/connect/Layout.js +27 -0
  1038. daiquiri_ui-2026.2.0/src/connect/Logging.js +30 -0
  1039. daiquiri_ui-2026.2.0/src/connect/Login.ts +23 -0
  1040. daiquiri_ui-2026.2.0/src/connect/Queue.js +48 -0
  1041. daiquiri_ui-2026.2.0/src/connect/SchemaForm.ts +37 -0
  1042. daiquiri_ui-2026.2.0/src/connect/SelectSession.js +20 -0
  1043. daiquiri_ui-2026.2.0/src/connect/Sessions.js +29 -0
  1044. daiquiri_ui-2026.2.0/src/connect/Synoptic.ts +28 -0
  1045. daiquiri_ui-2026.2.0/src/connect/Toasts.js +18 -0
  1046. daiquiri_ui-2026.2.0/src/connect/dc/APPAttachments.ts +8 -0
  1047. daiquiri_ui-2026.2.0/src/connect/dc/APPMessages.ts +8 -0
  1048. daiquiri_ui-2026.2.0/src/connect/dc/AutoProcPrograms.ts +8 -0
  1049. daiquiri_ui-2026.2.0/src/connect/dc/AutoProcessingState.ts +11 -0
  1050. daiquiri_ui-2026.2.0/src/connect/dc/DCAttachmentPlot.js +30 -0
  1051. daiquiri_ui-2026.2.0/src/connect/dc/DCAttachments.js +8 -0
  1052. daiquiri_ui-2026.2.0/src/connect/dc/DCComments.js +20 -0
  1053. daiquiri_ui-2026.2.0/src/connect/dc/DCForm.js +16 -0
  1054. daiquiri_ui-2026.2.0/src/connect/dc/DCList.js +18 -0
  1055. daiquiri_ui-2026.2.0/src/connect/dc/MapFromScalar.js +43 -0
  1056. daiquiri_ui-2026.2.0/src/connect/dc/SQIndicators.js +30 -0
  1057. daiquiri_ui-2026.2.0/src/connect/editor/FileEditorLeaf.js +20 -0
  1058. daiquiri_ui-2026.2.0/src/connect/hardware/HardwareButton.ts +12 -0
  1059. daiquiri_ui-2026.2.0/src/connect/hardware/HardwareGroup.tsx +78 -0
  1060. daiquiri_ui-2026.2.0/src/connect/hardware/utils.ts +64 -0
  1061. daiquiri_ui-2026.2.0/src/connect/hdf5/Hdf5Plot.ts +42 -0
  1062. daiquiri_ui-2026.2.0/src/connect/header/AboutModal.ts +30 -0
  1063. daiquiri_ui-2026.2.0/src/connect/header/AlertsDropDown.js +28 -0
  1064. daiquiri_ui-2026.2.0/src/connect/header/Header.js +31 -0
  1065. daiquiri_ui-2026.2.0/src/connect/header/LayoutDropDown.js +28 -0
  1066. daiquiri_ui-2026.2.0/src/connect/header/LayoutSideBar.js +26 -0
  1067. daiquiri_ui-2026.2.0/src/connect/header/UserDropDown.js +22 -0
  1068. daiquiri_ui-2026.2.0/src/connect/layout/ButtonTriggerModalStore.ts +18 -0
  1069. daiquiri_ui-2026.2.0/src/connect/layout/OffCanvas.ts +59 -0
  1070. daiquiri_ui-2026.2.0/src/connect/layout/Sidebar.ts +52 -0
  1071. daiquiri_ui-2026.2.0/src/connect/main/Main.js +10 -0
  1072. daiquiri_ui-2026.2.0/src/connect/main/MainSidebar.ts +21 -0
  1073. daiquiri_ui-2026.2.0/src/connect/main/NotificationsPanel.js +16 -0
  1074. daiquiri_ui-2026.2.0/src/connect/monitor/MonitorPanel.js +16 -0
  1075. daiquiri_ui-2026.2.0/src/connect/parameteriser/NewParameters.js +24 -0
  1076. daiquiri_ui-2026.2.0/src/connect/parameteriser/ParametersList.ts +34 -0
  1077. daiquiri_ui-2026.2.0/src/connect/samples/ComponentView.js +18 -0
  1078. daiquiri_ui-2026.2.0/src/connect/samples/CopyScan.js +13 -0
  1079. daiquiri_ui-2026.2.0/src/connect/samples/ImageSelection.js +19 -0
  1080. daiquiri_ui-2026.2.0/src/connect/samples/NewScan.js +27 -0
  1081. daiquiri_ui-2026.2.0/src/connect/samples/NewScanButton.ts +40 -0
  1082. daiquiri_ui-2026.2.0/src/connect/samples/SampleDCList.ts +26 -0
  1083. daiquiri_ui-2026.2.0/src/connect/samples/SampleList.ts +23 -0
  1084. daiquiri_ui-2026.2.0/src/connect/samples/SampleRegistration.ts +23 -0
  1085. daiquiri_ui-2026.2.0/src/connect/scans/ScanPlot0d.ts +65 -0
  1086. daiquiri_ui-2026.2.0/src/connect/scans/ScanPlot0dValue.js +38 -0
  1087. daiquiri_ui-2026.2.0/src/connect/scans/ScanPlot1d.ts +39 -0
  1088. daiquiri_ui-2026.2.0/src/connect/scans/ScanPlot2d.ts +31 -0
  1089. daiquiri_ui-2026.2.0/src/connect/scans/ScanStatus.ts +21 -0
  1090. daiquiri_ui-2026.2.0/src/connect/scans/ScanTable.ts +43 -0
  1091. daiquiri_ui-2026.2.0/src/connect/scans/ScanValue.js +31 -0
  1092. daiquiri_ui-2026.2.0/src/connect/tomo/DropdownFieldOfView.tsx +12 -0
  1093. daiquiri_ui-2026.2.0/src/connect/tomo/TomoAlign.tsx +6 -0
  1094. daiquiri_ui-2026.2.0/src/connect/tomo/TomoBeamShaping.tsx +6 -0
  1095. daiquiri_ui-2026.2.0/src/connect/tomo/TomoDetector.tsx +6 -0
  1096. daiquiri_ui-2026.2.0/src/connect/tomo/TomoDetectorView.tsx +6 -0
  1097. daiquiri_ui-2026.2.0/src/connect/tomo/TomoHolo.tsx +6 -0
  1098. daiquiri_ui-2026.2.0/src/connect/tomo/TomoPusherView.tsx +6 -0
  1099. daiquiri_ui-2026.2.0/src/connect/tomo/TomoReconstructedSinogram.tsx +8 -0
  1100. daiquiri_ui-2026.2.0/src/connect/tomo/TomoScanList.tsx +14 -0
  1101. daiquiri_ui-2026.2.0/src/connect/tomo/TomoSinogram.tsx +25 -0
  1102. daiquiri_ui-2026.2.0/src/connect/tomo/TomoTiling.tsx +15 -0
  1103. daiquiri_ui-2026.2.0/src/connect/tomo/utils.ts +139 -0
  1104. daiquiri_ui-2026.2.0/src/connect/utils/LoginRoute.js +10 -0
  1105. daiquiri_ui-2026.2.0/src/connect/utils/PrivateRoute.js +11 -0
  1106. daiquiri_ui-2026.2.0/src/connect/utils/withOptions.ts +6 -0
  1107. daiquiri_ui-2026.2.0/src/data/elements.js +25947 -0
  1108. daiquiri_ui-2026.2.0/src/fonts/pxiEyp8kv8JHgFVrJJbecnFHGPezSQ.woff2 +0 -0
  1109. daiquiri_ui-2026.2.0/src/fonts/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2 +0 -0
  1110. daiquiri_ui-2026.2.0/src/fonts/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2 +0 -0
  1111. daiquiri_ui-2026.2.0/src/helpers/ConditionalWrap.tsx +7 -0
  1112. daiquiri_ui-2026.2.0/src/helpers/Confirm.tsx +87 -0
  1113. daiquiri_ui-2026.2.0/src/helpers/Holder.tsx +79 -0
  1114. daiquiri_ui-2026.2.0/src/helpers/QtyHelper.ts +105 -0
  1115. daiquiri_ui-2026.2.0/src/helpers/Sign.ts +20 -0
  1116. daiquiri_ui-2026.2.0/src/helpers/XHRImage.ts +104 -0
  1117. daiquiri_ui-2026.2.0/src/helpers/XHRLightbox.js +57 -0
  1118. daiquiri_ui-2026.2.0/src/helpers/assertions.ts +9 -0
  1119. daiquiri_ui-2026.2.0/src/helpers/baseUrl.ts +11 -0
  1120. daiquiri_ui-2026.2.0/src/helpers/chat.ts +18 -0
  1121. daiquiri_ui-2026.2.0/src/helpers/datetime.ts +58 -0
  1122. daiquiri_ui-2026.2.0/src/helpers/gestures.ts +28 -0
  1123. daiquiri_ui-2026.2.0/src/helpers/iff.ts +127 -0
  1124. daiquiri_ui-2026.2.0/src/helpers/math.ts +7 -0
  1125. daiquiri_ui-2026.2.0/src/helpers/ndarray.ts +380 -0
  1126. daiquiri_ui-2026.2.0/src/helpers/tests/MockAxios.ts +64 -0
  1127. daiquiri_ui-2026.2.0/src/helpers/tests/data-client/index.ts +5 -0
  1128. daiquiri_ui-2026.2.0/src/helpers/tests/data-client/metadata.ts +189 -0
  1129. daiquiri_ui-2026.2.0/src/helpers/tests/index.jsx +88 -0
  1130. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Authenticator.ts +29 -0
  1131. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Chat.ts +19 -0
  1132. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Components.ts +116 -0
  1133. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Hardware.ts +85 -0
  1134. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Imageviewer.ts +74 -0
  1135. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Layout.ts +176 -0
  1136. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Metadata.ts +329 -0
  1137. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Parameteriser.ts +61 -0
  1138. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Queue.ts +14 -0
  1139. daiquiri_ui-2026.2.0/src/helpers/tests/resources/ResourceHandler.ts +72 -0
  1140. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Root.ts +19 -0
  1141. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Saving.ts +18 -0
  1142. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Scans.ts +133 -0
  1143. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Schema.ts +28 -0
  1144. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Session.ts +49 -0
  1145. daiquiri_ui-2026.2.0/src/helpers/tests/resources/Tomo.ts +30 -0
  1146. daiquiri_ui-2026.2.0/src/helpers/tests/resources/index.ts +72 -0
  1147. daiquiri_ui-2026.2.0/src/helpers/tests/resources/mock/Hardware.json +302 -0
  1148. daiquiri_ui-2026.2.0/src/helpers/tests/resources/mock/HardwareRefs.json +46 -0
  1149. daiquiri_ui-2026.2.0/src/helpers/tests/resources/mock/ScanData.json +382 -0
  1150. daiquiri_ui-2026.2.0/src/helpers/tests/resources/mock/ScanSpectra.json +231 -0
  1151. daiquiri_ui-2026.2.0/src/helpers/tests/resources/mock/Schema.json +3174 -0
  1152. daiquiri_ui-2026.2.0/src/helpers/tests/startApp.jsx +30 -0
  1153. daiquiri_ui-2026.2.0/src/helpers/tests/state.jsx +24 -0
  1154. daiquiri_ui-2026.2.0/src/helpers/time.ts +8 -0
  1155. daiquiri_ui-2026.2.0/src/index.tsx +35 -0
  1156. daiquiri_ui-2026.2.0/src/jest-canvas-mock.ts +21 -0
  1157. daiquiri_ui-2026.2.0/src/messagehandler/AppMessageHandler.ts +77 -0
  1158. daiquiri_ui-2026.2.0/src/messagehandler/CeleryMessageHandler.ts +27 -0
  1159. daiquiri_ui-2026.2.0/src/messagehandler/ChatMessageHandler.ts +25 -0
  1160. daiquiri_ui-2026.2.0/src/messagehandler/HardwareMessageHandler.ts +35 -0
  1161. daiquiri_ui-2026.2.0/src/messagehandler/MessageHandler.ts +22 -0
  1162. daiquiri_ui-2026.2.0/src/messagehandler/PersistMessageHandler.ts +19 -0
  1163. daiquiri_ui-2026.2.0/src/messagehandler/QueueMessageHandler.ts +33 -0
  1164. daiquiri_ui-2026.2.0/src/messagehandler/ScansMessageHandler.ts +80 -0
  1165. daiquiri_ui-2026.2.0/src/messagehandler/SessionMessageHandler.ts +57 -0
  1166. daiquiri_ui-2026.2.0/src/messagehandler/TomoMessageHandler.ts +283 -0
  1167. daiquiri_ui-2026.2.0/src/messagehandler/TwodMessageHandler.ts +42 -0
  1168. daiquiri_ui-2026.2.0/src/messagehandler/index.ts +53 -0
  1169. daiquiri_ui-2026.2.0/src/providers/2dview.js +298 -0
  1170. daiquiri_ui-2026.2.0/src/providers/AutoPendingMixin.js +46 -0
  1171. daiquiri_ui-2026.2.0/src/providers/app.js +437 -0
  1172. daiquiri_ui-2026.2.0/src/providers/editor.js +69 -0
  1173. daiquiri_ui-2026.2.0/src/providers/h5viewer.js +37 -0
  1174. daiquiri_ui-2026.2.0/src/providers/hardware.js +124 -0
  1175. daiquiri_ui-2026.2.0/src/providers/hdf5.js +46 -0
  1176. daiquiri_ui-2026.2.0/src/providers/metadata.ts +114 -0
  1177. daiquiri_ui-2026.2.0/src/providers/namespace.tsx +938 -0
  1178. daiquiri_ui-2026.2.0/src/providers/parameteriser.js +40 -0
  1179. daiquiri_ui-2026.2.0/src/providers/queue.js +106 -0
  1180. daiquiri_ui-2026.2.0/src/providers/samplescan.js +39 -0
  1181. daiquiri_ui-2026.2.0/src/providers/scans.js +185 -0
  1182. daiquiri_ui-2026.2.0/src/providers/selection.js +116 -0
  1183. daiquiri_ui-2026.2.0/src/providers/session.ts +367 -0
  1184. daiquiri_ui-2026.2.0/src/resources/AutoProcessing.ts +23 -0
  1185. daiquiri_ui-2026.2.0/src/resources/AutoProcessingAttachment.ts +23 -0
  1186. daiquiri_ui-2026.2.0/src/resources/AutoProcessingMessage.ts +23 -0
  1187. daiquiri_ui-2026.2.0/src/resources/Component.ts +13 -0
  1188. daiquiri_ui-2026.2.0/src/resources/CompositeMap.ts +20 -0
  1189. daiquiri_ui-2026.2.0/src/resources/DataCollection.ts +21 -0
  1190. daiquiri_ui-2026.2.0/src/resources/DataCollectionAttachments.ts +22 -0
  1191. daiquiri_ui-2026.2.0/src/resources/ExportToSampleImage.ts +25 -0
  1192. daiquiri_ui-2026.2.0/src/resources/Map.ts +22 -0
  1193. daiquiri_ui-2026.2.0/src/resources/MapHistogram.ts +21 -0
  1194. daiquiri_ui-2026.2.0/src/resources/MapROI.ts +19 -0
  1195. daiquiri_ui-2026.2.0/src/resources/MapSum.ts +29 -0
  1196. daiquiri_ui-2026.2.0/src/resources/MapTag.ts +24 -0
  1197. daiquiri_ui-2026.2.0/src/resources/MapValue.ts +28 -0
  1198. daiquiri_ui-2026.2.0/src/resources/MoveToReference.ts +19 -0
  1199. daiquiri_ui-2026.2.0/src/resources/Sample.ts +13 -0
  1200. daiquiri_ui-2026.2.0/src/resources/SampleAction.ts +20 -0
  1201. daiquiri_ui-2026.2.0/src/resources/SampleActionPosition.ts +19 -0
  1202. daiquiri_ui-2026.2.0/src/resources/SampleImage.ts +19 -0
  1203. daiquiri_ui-2026.2.0/src/resources/Session.ts +13 -0
  1204. daiquiri_ui-2026.2.0/src/resources/SetReferenceMatrix.ts +17 -0
  1205. daiquiri_ui-2026.2.0/src/resources/SubSample.ts +19 -0
  1206. daiquiri_ui-2026.2.0/src/resources/User.ts +14 -0
  1207. daiquiri_ui-2026.2.0/src/resources/base/Base.ts +24 -0
  1208. daiquiri_ui-2026.2.0/src/resources/base/Paginated.ts +40 -0
  1209. daiquiri_ui-2026.2.0/src/resources/endpoints/Authenticated.ts +15 -0
  1210. daiquiri_ui-2026.2.0/src/resources/endpoints/Base.ts +10 -0
  1211. daiquiri_ui-2026.2.0/src/resources/hooks/hoc.tsx +53 -0
  1212. daiquiri_ui-2026.2.0/src/resources/manager/Base.ts +23 -0
  1213. daiquiri_ui-2026.2.0/src/resources/manager/MessageManager.ts +39 -0
  1214. daiquiri_ui-2026.2.0/src/resources/manager/Metadata.ts +50 -0
  1215. daiquiri_ui-2026.2.0/src/resources/models/AutoProcProgram.ts +29 -0
  1216. daiquiri_ui-2026.2.0/src/resources/models/AutoProcProgramAttachment.ts +19 -0
  1217. daiquiri_ui-2026.2.0/src/resources/models/AutoProcProgramMessage.ts +19 -0
  1218. daiquiri_ui-2026.2.0/src/resources/models/Component.ts +35 -0
  1219. daiquiri_ui-2026.2.0/src/resources/models/DataCollection.ts +81 -0
  1220. daiquiri_ui-2026.2.0/src/resources/models/DataCollectionAttachment.ts +15 -0
  1221. daiquiri_ui-2026.2.0/src/resources/models/ExportReference.ts +22 -0
  1222. daiquiri_ui-2026.2.0/src/resources/models/MoveToReference.ts +15 -0
  1223. daiquiri_ui-2026.2.0/src/resources/models/Sample.ts +44 -0
  1224. daiquiri_ui-2026.2.0/src/resources/models/SampleAction.ts +35 -0
  1225. daiquiri_ui-2026.2.0/src/resources/models/SampleActionPosition.ts +19 -0
  1226. daiquiri_ui-2026.2.0/src/resources/models/SampleImage.ts +33 -0
  1227. daiquiri_ui-2026.2.0/src/resources/models/SampleTags.ts +9 -0
  1228. daiquiri_ui-2026.2.0/src/resources/models/SelectMatrix.ts +9 -0
  1229. daiquiri_ui-2026.2.0/src/resources/models/Session.ts +23 -0
  1230. daiquiri_ui-2026.2.0/src/resources/models/SubSample.ts +49 -0
  1231. daiquiri_ui-2026.2.0/src/resources/models/User.ts +25 -0
  1232. daiquiri_ui-2026.2.0/src/resources/models/UserCache.ts +13 -0
  1233. daiquiri_ui-2026.2.0/src/resources/models/XRFCompositeMap.ts +41 -0
  1234. daiquiri_ui-2026.2.0/src/resources/models/XRFMap.ts +101 -0
  1235. daiquiri_ui-2026.2.0/src/resources/models/XRFMapHistogram.ts +25 -0
  1236. daiquiri_ui-2026.2.0/src/resources/models/XRFMapROI.ts +33 -0
  1237. daiquiri_ui-2026.2.0/src/resources/models/XRFMapValue.ts +15 -0
  1238. daiquiri_ui-2026.2.0/src/resources/models/XRFMapValues.ts +17 -0
  1239. daiquiri_ui-2026.2.0/src/scss/abstracts/_functions.scss +0 -0
  1240. daiquiri_ui-2026.2.0/src/scss/abstracts/_mixins.scss +9 -0
  1241. daiquiri_ui-2026.2.0/src/scss/abstracts/_placeholders.scss +0 -0
  1242. daiquiri_ui-2026.2.0/src/scss/abstracts/_variables.scss +2 -0
  1243. daiquiri_ui-2026.2.0/src/scss/base/_base.scss +185 -0
  1244. daiquiri_ui-2026.2.0/src/scss/base/_reset.scss +0 -0
  1245. daiquiri_ui-2026.2.0/src/scss/base/_toast.scss +22 -0
  1246. daiquiri_ui-2026.2.0/src/scss/base/_typography.scss +52 -0
  1247. daiquiri_ui-2026.2.0/src/scss/components/_2dview.scss +45 -0
  1248. daiquiri_ui-2026.2.0/src/scss/components/_alerts.scss +51 -0
  1249. daiquiri_ui-2026.2.0/src/scss/components/_avatar.scss +14 -0
  1250. daiquiri_ui-2026.2.0/src/scss/components/_chat.scss +105 -0
  1251. daiquiri_ui-2026.2.0/src/scss/components/_draggable.scss +38 -0
  1252. daiquiri_ui-2026.2.0/src/scss/components/_fileeditor.scss +67 -0
  1253. daiquiri_ui-2026.2.0/src/scss/components/_h5viewer.scss +5 -0
  1254. daiquiri_ui-2026.2.0/src/scss/components/_h5webplots.scss +73 -0
  1255. daiquiri_ui-2026.2.0/src/scss/components/_inlineeditable.scss +75 -0
  1256. daiquiri_ui-2026.2.0/src/scss/components/_loader.scss +20 -0
  1257. daiquiri_ui-2026.2.0/src/scss/components/_logging.scss +142 -0
  1258. daiquiri_ui-2026.2.0/src/scss/components/_logviewer.scss +28 -0
  1259. daiquiri_ui-2026.2.0/src/scss/components/_overlaymessages.scss +8 -0
  1260. daiquiri_ui-2026.2.0/src/scss/components/_periodic.scss +67 -0
  1261. daiquiri_ui-2026.2.0/src/scss/components/_plots.scss +75 -0
  1262. daiquiri_ui-2026.2.0/src/scss/components/_queue.scss +10 -0
  1263. daiquiri_ui-2026.2.0/src/scss/components/_synoptic.scss +126 -0
  1264. daiquiri_ui-2026.2.0/src/scss/components/_tomo.scss +561 -0
  1265. daiquiri_ui-2026.2.0/src/scss/components/_toolbar.scss +22 -0
  1266. daiquiri_ui-2026.2.0/src/scss/components/_transitionchildren.scss +8 -0
  1267. daiquiri_ui-2026.2.0/src/scss/fonts/pxiEyp8kv8JHgFVrJJbecnFHGPezSQ.woff2 +0 -0
  1268. daiquiri_ui-2026.2.0/src/scss/fonts/pxiEyp8kv8JHgFVrJJfecnFHGPc.woff2 +0 -0
  1269. daiquiri_ui-2026.2.0/src/scss/fonts/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ.woff2 +0 -0
  1270. daiquiri_ui-2026.2.0/src/scss/layout/_forms.scss +342 -0
  1271. daiquiri_ui-2026.2.0/src/scss/layout/_header.scss +47 -0
  1272. daiquiri_ui-2026.2.0/src/scss/layout/_loading_overlay.scss +25 -0
  1273. daiquiri_ui-2026.2.0/src/scss/layout/_main.scss +35 -0
  1274. daiquiri_ui-2026.2.0/src/scss/layout/_offcanvas.scss +45 -0
  1275. daiquiri_ui-2026.2.0/src/scss/layout/_sidebar.scss +220 -0
  1276. daiquiri_ui-2026.2.0/src/scss/layout/_yml_layout.scss +63 -0
  1277. daiquiri_ui-2026.2.0/src/scss/main.scss +53 -0
  1278. daiquiri_ui-2026.2.0/src/scss/themes/_theme.scss +23 -0
  1279. daiquiri_ui-2026.2.0/src/scss/variables.module.scss +37 -0
  1280. daiquiri_ui-2026.2.0/src/scss/vendors/_bootstrap.scss +143 -0
  1281. daiquiri_ui-2026.2.0/src/scss/vendors/_fontawesome.scss +53 -0
  1282. daiquiri_ui-2026.2.0/src/services/H5GroveService.ts +386 -0
  1283. daiquiri_ui-2026.2.0/src/services/RestService.ts +101 -0
  1284. daiquiri_ui-2026.2.0/src/services/ScanDataService.ts +373 -0
  1285. daiquiri_ui-2026.2.0/src/services/SocketIOService.ts +121 -0
  1286. daiquiri_ui-2026.2.0/src/services/TomoDetectorService.ts +644 -0
  1287. daiquiri_ui-2026.2.0/src/services/TomoService.ts +103 -0
  1288. daiquiri_ui-2026.2.0/src/services/TomovisService.ts +179 -0
  1289. daiquiri_ui-2026.2.0/src/services/tiling/TomovisAxiosInstance.ts +43 -0
  1290. daiquiri_ui-2026.2.0/src/services/tiling/TomovisTilingService.ts +202 -0
  1291. daiquiri_ui-2026.2.0/src/services/tiling/fetch.ts +132 -0
  1292. daiquiri_ui-2026.2.0/src/services/tiling/initUseSuspenseFetch.ts +3 -0
  1293. daiquiri_ui-2026.2.0/src/services/tiling/providers.ts +115 -0
  1294. daiquiri_ui-2026.2.0/src/setupProxy.js +19 -0
  1295. daiquiri_ui-2026.2.0/src/setupTests.js +55 -0
  1296. daiquiri_ui-2026.2.0/src/store/HardwareStore.ts +200 -0
  1297. daiquiri_ui-2026.2.0/src/store/SocketStorage.ts +26 -0
  1298. daiquiri_ui-2026.2.0/src/store/TomoStore.ts +534 -0
  1299. daiquiri_ui-2026.2.0/src/store/index.ts +31 -0
  1300. daiquiri_ui-2026.2.0/src/types/Events.ts +8 -0
  1301. daiquiri_ui-2026.2.0/src/types/H5grove.ts +41 -0
  1302. daiquiri_ui-2026.2.0/src/types/Hardware.ts +26 -0
  1303. daiquiri_ui-2026.2.0/src/types/Monitor.ts +12 -0
  1304. daiquiri_ui-2026.2.0/src/types/ReduxStore.ts +49 -0
  1305. daiquiri_ui-2026.2.0/src/types/Scan.ts +40 -0
  1306. daiquiri_ui-2026.2.0/src/types/Session.ts +29 -0
  1307. daiquiri_ui-2026.2.0/src/types/Tomo.ts +146 -0
  1308. daiquiri_ui-2026.2.0/src/types/bliss.ts +11 -0
  1309. daiquiri_ui-2026.2.0/src/types/reactUtils.ts +115 -0
  1310. daiquiri_ui-2026.2.0/src/vite-env.d.ts +126 -0
  1311. daiquiri_ui-2026.2.0/src/worker/Statistics.worker.ts +24 -0
  1312. daiquiri_ui-2026.2.0/src/worker/statistics.ts +61 -0
  1313. daiquiri_ui-2026.2.0/src/worker/types.ts +8 -0
  1314. daiquiri_ui-2026.2.0/src/worker/useStatistics.ts +106 -0
  1315. daiquiri_ui-2026.2.0/src/worker/useStatisticsWorker.tsx +187 -0
  1316. daiquiri_ui-2026.2.0/tsconfig.json +27 -0
  1317. daiquiri_ui-2026.2.0/vite.config.mjs +41 -0
  1318. daiquiri_ui-2025.12.1/PKG-INFO +0 -19
  1319. daiquiri_ui-2025.12.1/pyproject.toml +0 -33
  1320. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/__init__.py +0 -1
  1321. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Anchor-3fa6d19c.js +0 -1
  1322. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/AutoscaleOption-d8d0ca8d.js +0 -1
  1323. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/BPMVideoStream-7dfae0bb.js +0 -1
  1324. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/CanvasEnhancer-16124b1e.js +0 -422
  1325. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ConnectUtils-b8bfa186.js +0 -1
  1326. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Console-42bf9fd1.js +0 -60
  1327. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Cross-d0a1a410.js +0 -1
  1328. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/CrossMarker-2285e102.js +0 -54
  1329. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/DraggableRect-db33e02e.js +0 -1
  1330. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/DropdownButton-d066ece0.js +0 -1
  1331. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/DropdownDetector-4ddfa946.js +0 -1
  1332. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Editor-8c26c281.js +0 -1408
  1333. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/EditorTree-b390ece1.js +0 -1
  1334. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/H5Viewer-bbcf29f5.js +0 -1
  1335. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/H5WebCurvePlot-136dfa6f.js +0 -1
  1336. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/HSegment-8966b13f.js +0 -43
  1337. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/HardwareButton-2e65150e.js +0 -1
  1338. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Hdf5Plot-3b35de75.js +0 -1
  1339. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/HistogramDomainSlider-5572e533.js +0 -1
  1340. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Image-1ff7dca9.js +0 -1
  1341. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Label-3c95fb14.js +0 -1
  1342. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/LoadingMessage-e1e479c5.js +0 -1
  1343. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/NewScanButton-25f65a41.js +0 -1
  1344. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/NewScanButton-f40700e9.js +0 -1
  1345. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/OptionsProcess-6fd11ce7.js +0 -1
  1346. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ParametersList-c91938bf.js +0 -1
  1347. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/RectRoi-19381507.js +0 -1
  1348. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/RulerButton-5c2020aa.js +0 -139
  1349. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/SampleDCList-64bd9100.js +0 -1
  1350. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/SampleRegistration-a354b270.js +0 -1
  1351. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/SavingButton-c1839199.js +0 -1
  1352. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanPlot0d-d180ecd3.js +0 -1
  1353. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanPlot0dValue-0e33cb2c.js +0 -1
  1354. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanPlot1d-38bddb23.js +0 -1
  1355. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanPlot1d-543e4ac4.js +0 -1
  1356. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanPlot2d-c49ba2bc.js +0 -1
  1357. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanTable-4e677d2b.js +0 -1
  1358. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScanValue-a303a86d.js +0 -1
  1359. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/SceneScale-33094e68.js +0 -1
  1360. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/SchemaForm-b27ccd55.js +0 -1
  1361. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ScreenScale-ae820d30.js +0 -1
  1362. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/SelectionPoint-d30865f3.js +0 -1
  1363. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/StackedNameState-3f198174.js +0 -1
  1364. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/Synoptic-0f3dac61.js +0 -16
  1365. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoAlign-03e37551.js +0 -4
  1366. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoBeamShaping-6ec15838.js +0 -1
  1367. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoDetector-aead72a5.js +0 -1
  1368. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoDetectorView-aadf1539.js +0 -64
  1369. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoHolo-7eb20a1e.js +0 -1
  1370. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoReconstructedSinogram-53bbfb3b.js +0 -191
  1371. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoScanInfo-5ca06333.js +0 -1
  1372. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoScanList-d9bea762.js +0 -61
  1373. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoSinogram-ecd9dca2.js +0 -1
  1374. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TomoTiling-1b9f4bf4.js +0 -69
  1375. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TwoD-ca5cd677.js +0 -3
  1376. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TwoDObject-86b91ffb.js +0 -1
  1377. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/TwoDObjectList-143af6e7.js +0 -1
  1378. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/UseMouseModeInteraction-fc86164b.js +0 -1
  1379. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/VLineRoi-5130fa5a.js +0 -1
  1380. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/VSegment-cf1ceafc.js +0 -43
  1381. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/VideoStream-4b855f43.js +0 -1
  1382. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/VisViewpointRestore-097e2edf.js +0 -7
  1383. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/WorldScale-6e6ac5b5.js +0 -1
  1384. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/ZoomPanCanvas-8f437b75.js +0 -1
  1385. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/colormap-344855f8.js +0 -1
  1386. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/colors-2395de5a.js +0 -1
  1387. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/fontawesomemore-webfont-97d0220a.woff2 +0 -0
  1388. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/geometry-1fc3c1a0.js +0 -1
  1389. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/hooks-457bfe32.js +0 -1
  1390. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/hooks-cf59b64f.js +0 -1
  1391. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/index-0751d893.js +0 -3576
  1392. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/index-a0f7b98c.js +0 -110
  1393. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/index-f085dfca.css +0 -9
  1394. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/plotly-basic-889d4727.js +0 -17
  1395. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/plotly-gl2d-e2e89493.js +0 -1211
  1396. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/store-c3eddf46.js +0 -1
  1397. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/types-46afffa0.js +0 -1
  1398. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/index.html +0 -18
  1399. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/meta.json +0 -1
  1400. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/resources/shaders/compare.frag.glsl +0 -386
  1401. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/resources/shaders/compare.vert.glsl +0 -11
  1402. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui.egg-info/PKG-INFO +0 -19
  1403. daiquiri_ui-2025.12.1/pysrc/daiquiri_ui.egg-info/SOURCES.txt +0 -130
  1404. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/LICENSE +0 -0
  1405. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/README.md +0 -0
  1406. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui → daiquiri_ui-2026.2.0/docusaurus}/static/example.svg +0 -0
  1407. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui → daiquiri_ui-2026.2.0/docusaurus}/static/favicon.ico +0 -0
  1408. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/resources/images → daiquiri_ui-2026.2.0/docusaurus/static}/xtal.png +0 -0
  1409. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/mock/hardware → daiquiri_ui-2026.2.0/lib/src/hardware/frontend/mocks}/FrontEnd.json +0 -0
  1410. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/mock/hardware → daiquiri_ui-2026.2.0/lib/src/hardware/shutter/mocks}/BeamShutter.json +0 -0
  1411. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/chime.mp3 +0 -0
  1412. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/droplet.mp3 +0 -0
  1413. /daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static/assets/daiquiri-ui-12b8ca03.png → /daiquiri_ui-2026.2.0/public/favicon.ico +0 -0
  1414. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/manifest.json +0 -0
  1415. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/mock/hardware/Beamviewer.json +0 -0
  1416. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/cividis.png +0 -0
  1417. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/gray.png +0 -0
  1418. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/gray_r.png +0 -0
  1419. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/hsv.png +0 -0
  1420. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/inferno.png +0 -0
  1421. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/jet.png +0 -0
  1422. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/magma.png +0 -0
  1423. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/plasma.png +0 -0
  1424. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/temperature.png +0 -0
  1425. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/icons/lut/viridis.png +0 -0
  1426. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/tomo/fox-blue.png +0 -0
  1427. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/tomo/fox-yellow.png +0 -0
  1428. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/tomo/fox-yellow.txt +0 -0
  1429. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/tomo/holo-beam.svg +0 -0
  1430. {daiquiri_ui-2025.12.1/pysrc/daiquiri_ui/static → daiquiri_ui-2026.2.0/public}/resources/tomo/holo-detector.png +0 -0
  1431. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/Console-7bbec2e7.css +0 -0
  1432. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/QtyHelper-8429914f.js +0 -0
  1433. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/TomoScans-82e1e23b.js +0 -0
  1434. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/_commonjs-dynamic-modules-302442b1.js +0 -0
  1435. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-brands-400-404c746c.woff2 +0 -0
  1436. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-brands-400-e523f49c.ttf +0 -0
  1437. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-regular-400-4e96a7e0.ttf +0 -0
  1438. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-regular-400-6a274e76.woff2 +0 -0
  1439. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-solid-900-03f2986c.ttf +0 -0
  1440. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-solid-900-d76fb4e8.woff2 +0 -0
  1441. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-v4compatibility-0db31bef.woff2 +0 -0
  1442. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/fa-v4compatibility-86a687cf.ttf +0 -0
  1443. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/jsmpeg-player.esm-5b64ab36.js +0 -0
  1444. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/pxiEyp8kv8JHgFVrJJbecnFHGPezSQ-0cd83f4b.woff2 +0 -0
  1445. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/pxiEyp8kv8JHgFVrJJfecnFHGPc-fab32cce.woff2 +0 -0
  1446. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui/static/assets/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ-5d28e623.woff2 +0 -0
  1447. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui.egg-info/dependency_links.txt +0 -0
  1448. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/pysrc/daiquiri_ui.egg-info/top_level.txt +0 -0
  1449. {daiquiri_ui-2025.12.1 → daiquiri_ui-2026.2.0}/setup.cfg +0 -0
@@ -0,0 +1,12 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ end_of_line = lf
7
+ charset = utf-8
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+
11
+ [*.scss]
12
+ indent_size = 4
@@ -0,0 +1,18 @@
1
+ # Please override any of the environment variables below either in your shell
2
+ # or in your own `.env.local` and/or `.env.<environment>.local` files:
3
+ # https://create-react-app.dev/docs/adding-custom-environment-variables#what-other-env-files-can-be-used
4
+
5
+ #GENERATE_SOURCEMAP=false
6
+ #export NODE_OPTIONS=--max_old_space_size=4096
7
+ NODE_OPTIONS=--max_old_space_size=4096
8
+ DISABLE_ESLINT_PLUGIN=true
9
+
10
+ # Ignore more recent version of ESLint
11
+ SKIP_PREFLIGHT_CHECK=true
12
+
13
+ # In development, the API URL is set to http://localhost:8080/api
14
+ # This controls whether to use HTTPS instead
15
+ VITE_HTTPS=false
16
+
17
+ # Override the default API URL in dev/prod
18
+ VITE_API_URL=
@@ -0,0 +1,7 @@
1
+ build
2
+ styleguide
3
+ dist
4
+
5
+ # Monorepo packages
6
+ /docusaurus/
7
+ /lib/
@@ -0,0 +1,5 @@
1
+ const { getDependencies } = require('eslint-config-galex/dist/getDependencies');
2
+
3
+ const { createConfig } = require('./eslint.shared.cjs');
4
+
5
+ module.exports = createConfig(__dirname, getDependencies());
@@ -0,0 +1,28 @@
1
+ /node_modules/
2
+
3
+ /dist/
4
+ /build/
5
+ /bundle/
6
+ /coverage/
7
+ /styleguide/
8
+
9
+ /docusaurus/.docusaurus/
10
+ /docusaurus/node_modules/
11
+ /docusaurus/build/
12
+ /docusaurus/.cache-loader
13
+
14
+ /lib/node_modules/
15
+ /lib/dist/
16
+ /lib/dist-ts/
17
+ /lib/tsconfig.build.tsbuildinfo
18
+
19
+ /public/search_index.json
20
+ /public/meta.json
21
+
22
+ .env.local
23
+ .env.*.local
24
+
25
+ .DS_Store
26
+ *.log*
27
+ *.sublime*
28
+ .project
@@ -0,0 +1,164 @@
1
+ image: node:22-bookworm
2
+
3
+ stages:
4
+ - check
5
+ - build
6
+ - deploy
7
+ - package
8
+ - publish
9
+
10
+ .install:
11
+ before_script:
12
+ - npm install -g pnpm@latest-10
13
+ - pnpm config set store-dir .pnpm-store
14
+ - pnpm install
15
+ cache:
16
+ key:
17
+ files:
18
+ - pnpm-lock.yaml
19
+ paths:
20
+ - .pnpm-store
21
+
22
+ Lint:
23
+ stage: check
24
+ extends: .install
25
+ script:
26
+ - pnpm prettier
27
+ - pnpm tsc
28
+ - pnpm eslint
29
+ - pnpm stylelint
30
+
31
+ Lint-lib:
32
+ stage: check
33
+ extends: .install
34
+ script:
35
+ - pnpm --filter @esrf/daiquiri-lib lint:eslint
36
+ - pnpm --filter @esrf/daiquiri-lib lint:tsc
37
+
38
+ .test:
39
+ stage: check
40
+ extends: .install
41
+ script:
42
+ - pnpm test $VITEST_ARGS
43
+ artifacts:
44
+ paths:
45
+ - junit-report.xml
46
+ reports:
47
+ junit: junit-report.xml
48
+ variables:
49
+ VITEST_ARGS: 'run --coverage'
50
+ coverage: '/All files(?:[^|]*\|){4}\s*(\S+)/'
51
+
52
+ Test:
53
+ extends: .test
54
+ except:
55
+ - main
56
+ - tags
57
+
58
+ Test with coverage:
59
+ extends: .test
60
+ artifacts:
61
+ when: always
62
+ paths:
63
+ - coverage
64
+ expire_in: 7 days
65
+ only:
66
+ - main
67
+ - tags
68
+
69
+ Build:
70
+ stage: build
71
+ extends: .install
72
+ script:
73
+ - CI=false pnpm build # don't let warnings fail the build
74
+ needs: [] # don't download previous artifacts
75
+ artifacts:
76
+ paths:
77
+ - pysrc/daiquiri_ui/static
78
+
79
+ Build-lib:
80
+ stage: build
81
+ extends: .install
82
+ script:
83
+ - cd lib
84
+ - pnpm build
85
+ needs: []
86
+ artifacts:
87
+ paths:
88
+ - lib/dist
89
+
90
+ Docusaurus:
91
+ stage: build
92
+ extends: .install
93
+ script:
94
+ - cd docusaurus
95
+ - BASE_URL=/daiquiri-ui pnpm build
96
+ needs: []
97
+ artifacts:
98
+ paths:
99
+ - docusaurus/build
100
+
101
+ pages:
102
+ stage: deploy
103
+ script:
104
+ - rm -rf public
105
+ - mv docusaurus/build public
106
+ needs:
107
+ - Docusaurus
108
+ artifacts:
109
+ paths:
110
+ - public
111
+ only:
112
+ - main
113
+ - tags
114
+
115
+ Publish-lib:
116
+ stage: publish
117
+ needs:
118
+ - Build-lib
119
+ extends: .install
120
+ script:
121
+ - |
122
+ VERSION=$(echo $CI_COMMIT_TAG | awk -F'-v' '{print $2}')
123
+ echo "publish daiquiri-lib version: ${VERSION}"
124
+ if [[ "$VERSION" != "" ]]; then
125
+ cd lib
126
+ npm config set //registry.npmjs.org/:_authToken "$NPM_AUTH_TOKEN"
127
+ pnpm publish --access public --no-git-checks
128
+ fi
129
+ rules:
130
+ - if: $CI_COMMIT_TAG =~ /lib-v\d+.\d+.\d+/
131
+
132
+ package:
133
+ stage: package
134
+ image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/continuumio/miniconda3:latest
135
+ script:
136
+ - pip install build
137
+ - python -m build
138
+ artifacts:
139
+ paths:
140
+ - dist
141
+ expire_in: 7 days
142
+ interruptible: true
143
+
144
+ pypi:
145
+ stage: publish
146
+ image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/continuumio/miniconda3:latest
147
+ script:
148
+ - pip install twine
149
+ - twine upload dist/*
150
+ rules:
151
+ - if: $CI_COMMIT_TAG =~ /ui-\d+.\d+.\d+/
152
+ interruptible: true
153
+
154
+ Analyse:
155
+ stage: deploy
156
+ extends: .install
157
+ script:
158
+ - pnpm analyze --html bundle/index.html
159
+ needs:
160
+ - Build
161
+ artifacts:
162
+ paths:
163
+ - bundle
164
+ when: manual
@@ -0,0 +1,5 @@
1
+ # Save exact dependency versions in `package.json`
2
+ save-prefix=""
3
+
4
+ # Run pre/post scripts, like `prebuild`, automatically
5
+ enable-pre-post-scripts=true
@@ -0,0 +1,10 @@
1
+ /.pnpm-store/
2
+ /pnpm-lock.yaml
3
+
4
+ /build/
5
+ /bundle/
6
+ /coverage/
7
+ /styleguide/
8
+
9
+ /public/meta.json
10
+ /public/search_index.json
@@ -0,0 +1,20 @@
1
+ {
2
+ "singleQuote": true,
3
+ "overrides": [
4
+ {
5
+ "files": ["*.scss"],
6
+ "options": {
7
+ "tabWidth": 4,
8
+ "trailingComma": "none"
9
+ }
10
+ },
11
+ {
12
+ "files": ["*.js", "*.jsx"],
13
+ "options": {
14
+ "trailingComma": "none",
15
+ "arrowParens": "avoid",
16
+ "endOfLine": "auto"
17
+ }
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": [
3
+ "stylelint-config-sass-guidelines",
4
+ "stylelint-config-idiomatic-order",
5
+ "stylelint-config-prettier"
6
+ ],
7
+ "rules": {
8
+ "order/properties-alphabetical-order": null,
9
+ "max-nesting-depth": 3,
10
+ "declaration-property-value-disallowed-list": {
11
+ "/^border/": []
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "recommendations": [
3
+ "editorconfig.editorconfig",
4
+ "esbenp.prettier-vscode",
5
+ "dbaeumer.vscode-eslint",
6
+ "stylelint.vscode-stylelint",
7
+ "unifiedjs.vscode-mdx"
8
+ ]
9
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "javascript.format.enable": false,
3
+ "typescript.format.enable": false,
4
+ "json.format.enable": false,
5
+
6
+ "css.validate": false,
7
+ "scss.validate": false,
8
+
9
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
10
+ "editor.formatOnSave": true,
11
+ "editor.codeActionsOnSave": {
12
+ "source.fixAll.eslint": "explicit",
13
+ "source.fixAll.stylelint": "explicit"
14
+ },
15
+
16
+ "typescript.tsdk": "node_modules/typescript/lib",
17
+ "typescript.enablePromptUseWorkspaceTsdk": true,
18
+ "typescript.preferences.importModuleSpecifier": "relative",
19
+
20
+ "eslint.codeAction.disableRuleComment": { "location": "sameLine" },
21
+
22
+ "stylelint.snippet": ["css", "scss"],
23
+ "stylelint.validate": ["css", "scss"],
24
+ "stylelint.reportNeedlessDisables": true,
25
+ "stylelint.reportInvalidScopeDisables": true,
26
+
27
+ "mdx.experimentalLanguageServer": true
28
+ }
@@ -0,0 +1,137 @@
1
+ # Contributing
2
+
3
+ - [Quick start](#quick-start-)
4
+ - [Development](#development)
5
+ - [`pnpm` cheat sheet](#pnpm-cheat-sheet)
6
+ - [Dependency management](#dependency-management)
7
+ - [Why not Node 18?](#why-not-node-18)
8
+ - [Building for production](#building-for-production)
9
+ - [Testing](#testing)
10
+ - [Code quality](#code-quality)
11
+ - [Editor integration](#editor-integration)
12
+ - [CI](#ci)
13
+
14
+ ## Quick start 🚀
15
+
16
+ To get started, you'll need:
17
+
18
+ - [Node 16](https://nodejs.org/) - e.g. `nvm install 16`, `volta install node@16`, etc.
19
+ - [pnpm 8](https://pnpm.io/) - e.g. `npm install -g pnpm@8`, `volta install pnpm@8`, etc.
20
+
21
+ Then, install the dependencies and start the development server with:
22
+
23
+ ```bash
24
+ pnpm install
25
+ pnpm start
26
+ ```
27
+
28
+ To start the Daiquiri UI documentation site in development, run:
29
+
30
+ ```bash
31
+ pnpm styleguide
32
+ ```
33
+
34
+ ## Development
35
+
36
+ Daiquiri UI is set up with [Create React App](https://reactjs.org/docs/create-a-new-react-app.html). The documentation site is based on [Docusaurus](https://docusaurus.io/).
37
+
38
+ In development, the back-end API's `baseUrl` is changed automatically to `http://localhost:8080/api`. If HTTPS is required, set environment variable `VITE_HTTPS=true`. If a completely different `baseUrl` is required, set environment variable `VITE_API_URL=http://myhost:1233/api`.
39
+
40
+ ### `pnpm` cheat sheet
41
+
42
+ - `pnpm install` - install dependencies
43
+ - `pnpm add [-D] <pkg-name>` - [add a dependency](https://pnpm.io/cli/add)
44
+ - `pnpm [run] <script> [--<arg>]` - run a script
45
+ - `pnpm [exec] <binary>` - run a binary located in `node_modules/.bin`
46
+ (equivalent to `npx <pkg-name>` for a package installed in the workspace)
47
+ - `pnpm dlx <pkg-name>` - fetch a package from the registry and run its default
48
+ command binary (equivalent to `npx <pkg-name>`)
49
+ - `pnpm why <pkg-name>` - show all packages that depend on the specified package
50
+ - `pnpm outdated` - list outdated dependencies
51
+ - `pnpm up -L <pkg-name>` - update a package to the latest version
52
+
53
+ ### Dependency management
54
+
55
+ 1. Run `pnpm outdated` to list dependencies that can be upgraded.
56
+ 1. Read the changelogs and release notes of the dependencies you'd like to
57
+ upgrade. Look for potential breaking changes, and for bug fixes and new
58
+ features that may help improve the codebase.
59
+ 1. Run `pnpm up -L <pkg-name>` to upgrade a dependency to the latest version.
60
+ Alternatively, you can also edit `package.json` manually and run
61
+ `pnpm install`, but make sure to specify an exact dependency version rather
62
+ than a range (i.e. don't prefix the version with a caret or a tilde).
63
+
64
+ Beware of the following dependency and versioning requirements:
65
+
66
+ - `stylelint-config-sass-guidelines` requires `postcss` to be installed explicitly; its version must match the one installed by `react-scripts>css-loader`.
67
+ - `@testing-library/user-event` requires `@testing-library/dom` to be installed explicitly; its version must match the one installed by `@testing-library/react`.
68
+ - `babel-preset-react-app` must be installed explicitly for linting to work in VSCode.
69
+ - The major version number of `@types/node` must match the version of Node
70
+ specified in the `engine` field of `package.json`.
71
+ - The major version numbers of
72
+ [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) packages
73
+ must match the major version numbers of their corresponding dependencies (e.g.
74
+ `@types/jest@27` for `jest@27`).
75
+
76
+ Note that `pnpm` offers multiple solutions for dealing with peer dependency
77
+ version conflicts and other package resolution issues:
78
+ [`pnpm.overrides`](https://pnpm.io/package_json#pnpmoverrides),
79
+ [`pnpm.packageExtensions`](https://pnpm.io/package_json#pnpmpackageextensions),
80
+ [`pnpm.peerDependenciesRules`](https://pnpm.io/package_json#pnpmpeerdependencyrules), etc.
81
+
82
+ ### Why not Node 18?
83
+
84
+ `fabric` has a dependency on [`node-canvas`](https://github.com/Automattic/node-canvas/releases) (`canvas` on the NPM registry), which itself is based on [Cairo](https://www.cairographics.org/). On install, `node-canvas` has to download a pre-built binary from GitHub. Unfortunately, as of [v2.9.3](https://github.com/Automattic/node-canvas/releases/tag/v2.9.3), pre-built binaries for Node 18 (`node-v108`) are not yet provided. This is the reason why `daiquiri-ui` currently requires Node 16.
85
+
86
+ ## Building for production
87
+
88
+ - `pnpm build` - build Daiquiri UI for production to `/build`
89
+ - `pnpm serve` - serve the content of the `/build` folder to double check that the production build worked as expected
90
+ - `pnpm styleguide-build` - build the documentation site for production to `/styleguide`
91
+ - `pnpm styleguide-preview` - serve the content of the `/styleguide` folder
92
+
93
+ For Daiquiri UI's production build to work locally, set environment variable `REACT_APP_API_URL=https://localhost:8080/api` when running `pnpm build`.
94
+
95
+ ## Testing
96
+
97
+ The tests run with [Jest](https://jestjs.io/) and make use of [React Testing Library](https://testing-library.com/docs/react-testing-library/intro). You can run them with `pnpm test`.
98
+
99
+ A basic test framework is provided that can be used to quickly mock api resources and mount components - cf. `src/helpers/tests`.
100
+
101
+ ## Code quality
102
+
103
+ - Code linting uses ESLint with the [eslint-config-galex](https://github.com/ljosberinn/eslint-config-galex) configuration.
104
+ - Code style is enforced with [Prettier](https://prettier.io/).
105
+ - CSS is written using the SASS preprocessor and style enforced using [stylelint](https://github.com/stylelint/stylelint).
106
+
107
+ The following code quality scripts are available:
108
+
109
+ - `pnpm prettier` - check that all files have been formatted with Prettier
110
+ - `pnpm prettier-fix` - format all files with Prettier
111
+ - `pnpm eslint` - lint all TS and JS files with ESLint
112
+ - `pnpm eslint-fix` - auto-fix all fixable linting errors in JS/TS files
113
+ - `pnpm stylelint`: lint SCSS files with stylelint
114
+ - `pnpm stylelint-fix`: auto-fix all fixable linting errors in SCSS files
115
+ - `pnpm tsc` - type-check the project with `tsc`
116
+ - `pnpm analyze` - inspect the size and content of the JS bundles (run after
117
+ `pnpm build`)
118
+
119
+ ### Editor integration
120
+
121
+ Most editors support fixing and formatting files automatically on save. The
122
+ configuration for VSCode is provided out of the box, so all you need to do is
123
+ install the recommended extensions.
124
+
125
+ ## CI
126
+
127
+ Gitlab CI runs an extensive pipeline when pushing to a branch or to `master`, which includes:
128
+
129
+ - linting of JS and TS files with ESlint;
130
+ - linting of SCSS files with stylelint;
131
+ - type-checking of TS files with `tsc`
132
+ - code formatting with Prettier;
133
+ - testing with Jest;
134
+ - generating [code coverage](https://ui.gitlab-pages.esrf.fr/daiquiri-ui/coverage/) (`master` and tags only);
135
+ - building Daiquiri UI (to make sure there are no errors);
136
+ - building and deploying the documentation site (`master` and tags only);
137
+ - [bundle analysis](https://github.com/danvk/source-map-explorer) [report](https://ui.gitlab-pages.esrf.fr/daiquiri-ui/bundle) (manual trigger).
@@ -0,0 +1,19 @@
1
+ Metadata-Version: 2.4
2
+ Name: daiquiri-ui
3
+ Version: 2026.2.0
4
+ Summary: Daiquiri UI
5
+ Author-email: ESRF <bcu@esrf.fr>
6
+ License-Expression: MIT
7
+ Project-URL: Repository, https://gitlab.esrf.fr/ui/daiquiri-ui
8
+ Classifier: Intended Audience :: Science/Research
9
+ Classifier: Programming Language :: Python :: 3
10
+ Requires-Python: >=3.8
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Dynamic: license-file
14
+
15
+ # Daiquiri UI
16
+
17
+ A react/redux client for https://gitlab.esrf.fr/ui/daiquiri
18
+
19
+ Latest documentation can be found at https://ui.gitlab-pages.esrf.fr/daiquiri-ui
@@ -0,0 +1,22 @@
1
+ This repository is a workspace which contain multiple projects.
2
+
3
+ This document talk about some of the workflows use for releasing
4
+ part of this projects.
5
+
6
+ # `daiquiri-ui` on `pypi`
7
+
8
+ `daiquiri-ui` can be packaged as a python project in `pypi`.
9
+
10
+ ## Create git tag in gitlab
11
+
12
+ The creation of a git tag is the only manual thing to do.
13
+
14
+ I will trigger automatically the release, with the gitlab workflow.
15
+
16
+ The tag have to follow the following template:
17
+
18
+ `ui-YYYY.MM.MICRO`
19
+
20
+ - `YYYY` the year of the release, in 4 digits
21
+ - `MM` the month of the release, in 1 or 2 digits (`1` and not `01`)
22
+ - `MICRO`, a number from 0 to increment for every new fix
@@ -0,0 +1,2 @@
1
+ /.docusaurus/
2
+ /build/
@@ -0,0 +1,5 @@
1
+ const { getDependencies } = require('eslint-config-galex/dist/getDependencies');
2
+
3
+ const { createConfig } = require('../eslint.shared');
4
+
5
+ module.exports = createConfig(__dirname, getDependencies());
@@ -0,0 +1,12 @@
1
+ module.exports = {
2
+ presets: [
3
+ require.resolve('@docusaurus/core/lib/babel/preset'),
4
+ [
5
+ '@babel/preset-react',
6
+ {
7
+ runtime: 'automatic',
8
+ development: process.env.BABEL_ENV === 'development'
9
+ }
10
+ ]
11
+ ]
12
+ };
@@ -0,0 +1,35 @@
1
+ import useBaseUrl from '@docusaurus/useBaseUrl';
2
+ import DaiquiriCode from '@site/src/DaiquiriCode';
3
+ import { BlissWebUiBadge } from '@site/src/Badge';
4
+ import PropTable from '@site/src/PropTable';
5
+
6
+ <BlissWebUiBadge />
7
+
8
+ # SessionButton
9
+
10
+ A component to call a function from the session.
11
+
12
+ ## User options
13
+
14
+ <PropTable component="SessionButtonOptions" />
15
+
16
+ ## Example
17
+
18
+ ```yaml
19
+ name: Test
20
+ icon: fa-cog
21
+ children:
22
+ - type: hardware
23
+ id: $sx
24
+ - type: hardware
25
+ id: $sy
26
+
27
+ - type: sessionbutton
28
+ function: mv # <- this calls the standard `mv` command from bliss
29
+ args:
30
+ - $sx
31
+ - 0.1
32
+ - $sy
33
+ - 1.2
34
+ label: Reset center
35
+ ```
@@ -0,0 +1,31 @@
1
+ import useBaseUrl from '@docusaurus/useBaseUrl';
2
+ import DaiquiriCode from '@site/src/DaiquiriCode';
3
+ import { BlissWebUiBadge } from '@site/src/Badge';
4
+ import PropTable from '@site/src/PropTable';
5
+
6
+ <BlissWebUiBadge />
7
+
8
+ # SessionMonitor
9
+
10
+ A component to display the result of a call from the BLISS session.
11
+
12
+ ## User options
13
+
14
+ <PropTable component="SessionMonitorOptions" />
15
+
16
+ ## Example
17
+
18
+ ```yaml
19
+ name: Test
20
+ icon: fa-cog
21
+ children:
22
+ - type: hardware
23
+ id: $sx
24
+ - type: hardware
25
+ id: $sy
26
+
27
+ - type: sessionmonitor
28
+ title: Float
29
+ function: get_mon_randfloat
30
+ polling_period: 2 # in seconds
31
+ ```
@@ -0,0 +1,4 @@
1
+ ---
2
+ sidebar_position: 3
3
+ title: Components
4
+ ---
@@ -0,0 +1,47 @@
1
+ ---
2
+ sidebar_position: 4
3
+ ---
4
+
5
+ # blisswebui
6
+
7
+ Bliss Web UI provides a mechanism to create simple user interfaces to monitor BLISS objects.
8
+
9
+ It is built using shared UI components from [daiquiri-ui](https://ui.gitlab-pages.esrf.fr/daiquiri-ui/)
10
+ to provide a consistent user experience beteween applications.
11
+
12
+ ![blisswebui](@site/docs/images/blisswebui.png)
13
+
14
+ ## Installation
15
+
16
+ Bliss Web UI is actually exposed by the BLISS session as part of the BLISS REST web service.
17
+ It can be installed in the BLISS environment the following.
18
+
19
+ ```
20
+ pip install blisswebui
21
+ ```
22
+
23
+ :::info
24
+ For more information related to the installation take a look at
25
+ the [BLISS REST API documentation](https://bliss.gitlab-pages.esrf.fr/bliss/master/blissapi.html)
26
+ :::
27
+
28
+ ## Configuration
29
+
30
+ BLISS web UI is a lightweigth service, which does not provide server side API, except what BLISS provides.
31
+
32
+ As result the resources and configuration are provided by static Beacon files only.
33
+
34
+ Everything inside the `webui` folder i.e. `beacon://webui/config.yml` is considered to be a BLISS web ui resource.
35
+
36
+ As it's not a BLISS configuration this root folder have to contain an `__init__.yml` with `bliss_ignored: true`:
37
+
38
+ ```yaml title="webui/__init__.yml"
39
+ bliss_ignored: true
40
+ ```
41
+
42
+ ## Features
43
+
44
+ There is actually mostly 2 high level features.
45
+
46
+ - [Monitors](./monitor)
47
+ - [Layouts](./layout)