@esrf/daiquiri-lib 1.1.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import * as React$1 from 'react';
3
- import React__default, { ReactElement, Component, ComponentType, PropsWithChildren, ReactChild, ChangeEvent, KeyboardEvent } from 'react';
3
+ import React__default, { ComponentType, ReactElement, PropsWithChildren, ReactChild, ChangeEvent, KeyboardEvent, Component } from 'react';
4
4
 
5
5
  interface HardwareError {
6
6
  property: string;
@@ -53,188 +53,1728 @@ interface Hardware {
53
53
  /** Any potential errors initialising this object */
54
54
  errors?: HardwareError[];
55
55
  }
56
+ interface AnyHardware extends Hardware {
57
+ properties: any;
58
+ }
56
59
  interface HardwareChangeActions {
57
60
  setProperty: (name: string, value: any) => Promise<void>;
58
61
  call: (name: string, ...args: any[]) => Promise<void>;
59
62
  }
60
63
  /**
61
- * Common options exposed to user as yaml configuration for hardware widgets
64
+ * Common options exposed to user as yaml configuration for hardware widgets
65
+ */
66
+ interface HardwareWidgetOptions {
67
+ /** Whether to show the extended popup */
68
+ extended?: boolean;
69
+ /** Kind of header displayed */
70
+ header?: string;
71
+ }
72
+ declare type EditableHardware<H extends Hardware = Hardware> = H & {
73
+ /** Call the API to make a change on the hardware object */
74
+ actions: HardwareChangeActions;
75
+ };
76
+ /**
77
+ * Properties which are passed to the widgets
78
+ */
79
+ interface HardwareWidgetProps<H extends Hardware = Hardware, O extends HardwareWidgetOptions = HardwareWidgetOptions> {
80
+ /** Dynamic state of the hardware */
81
+ hardware: EditableHardware<H>;
82
+ /** Static schema describing the hardware */
83
+ schema: HardwareSchemaDescription;
84
+ /** Options passed to the widget by the yaml configuration */
85
+ options: O;
86
+ /** Global state of the widget (aggregating scan/operator/hardware states) */
87
+ disabled: boolean;
88
+ /** True if the session have the control */
89
+ operator: boolean;
90
+ }
91
+ declare type HardwareComponentType<H extends Hardware = Hardware> = ComponentType<HardwareWidgetProps<H, any>>;
92
+ interface HardwareVariant<H extends Hardware = Hardware> {
93
+ [name: string]: HardwareComponentType<H>;
94
+ }
95
+
96
+ type types_d_AnyHardware = AnyHardware;
97
+ type types_d_EditableHardware<H extends Hardware = Hardware> = EditableHardware<H>;
98
+ type types_d_Hardware = Hardware;
99
+ type types_d_HardwareChangeActions = HardwareChangeActions;
100
+ type types_d_HardwareComponentType<H extends Hardware = Hardware> = HardwareComponentType<H>;
101
+ type types_d_HardwareSchemaDescription = HardwareSchemaDescription;
102
+ type types_d_HardwareVariant<H extends Hardware = Hardware> = HardwareVariant<H>;
103
+ type types_d_HardwareWidgetOptions = HardwareWidgetOptions;
104
+ type types_d_HardwareWidgetProps<H extends Hardware = Hardware, O extends HardwareWidgetOptions = HardwareWidgetOptions> = HardwareWidgetProps<H, O>;
105
+ declare namespace types_d {
106
+ export type { types_d_AnyHardware as AnyHardware, types_d_EditableHardware as EditableHardware, types_d_Hardware as Hardware, types_d_HardwareChangeActions as HardwareChangeActions, types_d_HardwareComponentType as HardwareComponentType, types_d_HardwareSchemaDescription as HardwareSchemaDescription, types_d_HardwareVariant as HardwareVariant, types_d_HardwareWidgetOptions as HardwareWidgetOptions, types_d_HardwareWidgetProps as HardwareWidgetProps };
107
+ }
108
+
109
+ interface GenericSchema extends Hardware {
110
+ properties: {
111
+ state: string;
112
+ };
113
+ }
114
+ interface AnySchema extends Hardware {
115
+ properties: any;
116
+ }
117
+
118
+ type schema_d_AnySchema = AnySchema;
119
+ type schema_d_GenericSchema = GenericSchema;
120
+ declare namespace schema_d {
121
+ export type { schema_d_AnySchema as AnySchema, schema_d_GenericSchema as GenericSchema };
122
+ }
123
+
124
+ declare const Variants$q: HardwareVariant<AnySchema>;
125
+
126
+ declare const Mocks$m: {
127
+ default: {
128
+ response: {
129
+ callables: never[];
130
+ id: string;
131
+ name: string;
132
+ online: boolean;
133
+ properties: {
134
+ number: number;
135
+ option: string;
136
+ state: string;
137
+ string: string;
138
+ };
139
+ protocol: string;
140
+ require_staff: boolean;
141
+ type: string;
142
+ };
143
+ schema: {
144
+ $ref: string;
145
+ $schema: string;
146
+ asyncValidate: boolean;
147
+ cache: boolean;
148
+ definitions: {
149
+ HWTestSchema: {
150
+ additionalProperties: boolean;
151
+ properties: {
152
+ callables: {
153
+ $ref: string;
154
+ type: string;
155
+ };
156
+ id: {
157
+ title: string;
158
+ type: string;
159
+ };
160
+ name: {
161
+ title: string;
162
+ type: string;
163
+ };
164
+ online: {
165
+ title: string;
166
+ type: string;
167
+ };
168
+ properties: {
169
+ $ref: string;
170
+ type: string;
171
+ };
172
+ protocol: {
173
+ title: string;
174
+ type: string;
175
+ };
176
+ require_staff: {
177
+ title: string;
178
+ type: string;
179
+ };
180
+ type: {
181
+ title: string;
182
+ type: string;
183
+ };
184
+ };
185
+ type: string;
186
+ };
187
+ HardwareSchema: {
188
+ additionalProperties: boolean;
189
+ cache: boolean;
190
+ properties: {};
191
+ type: string;
192
+ };
193
+ TestPropertiesSchema: {
194
+ additionalProperties: boolean;
195
+ cache: boolean;
196
+ properties: {
197
+ number: {
198
+ format: string;
199
+ title: string;
200
+ type: string;
201
+ };
202
+ option: {
203
+ enum: string[];
204
+ enumNames: never[];
205
+ title: string;
206
+ type: string;
207
+ };
208
+ state: {
209
+ enum: string[];
210
+ enumNames: never[];
211
+ readOnly: boolean;
212
+ title: string;
213
+ type: string;
214
+ };
215
+ string: {
216
+ title: string;
217
+ type: string;
218
+ };
219
+ };
220
+ type: string;
221
+ };
222
+ };
223
+ save_presets: boolean;
224
+ };
225
+ };
226
+ };
227
+
228
+ declare function DefaultState(props: HardwareWidgetProps<AnySchema>): JSX.Element;
229
+
230
+ interface BaseNameWidgetOptions extends HardwareWidgetOptions {
231
+ overrideName?: string;
232
+ emptyifnone?: boolean;
233
+ }
234
+ declare function Name(props: HardwareWidgetProps<AnySchema, BaseNameWidgetOptions>): JSX.Element;
235
+
236
+ interface BasePropertyWidgetOptions extends HardwareWidgetOptions {
237
+ header?: string;
238
+ property?: string;
239
+ unit?: string;
240
+ }
241
+ declare function Property(props: HardwareWidgetProps<AnySchema, BasePropertyWidgetOptions>): JSX.Element;
242
+
243
+ interface BaseInfoWidgetOptions extends HardwareWidgetOptions {
244
+ /** The property */
245
+ property?: string;
246
+ /** Unit for the property */
247
+ unit?: string;
248
+ }
249
+ declare function Info(props: HardwareWidgetProps<AnySchema, BaseInfoWidgetOptions>): JSX.Element;
250
+
251
+ /**
252
+ * Hardware as exposed by Redux
253
+ */
254
+ interface ActuatorSchema extends Hardware {
255
+ properties: {
256
+ state: string;
257
+ };
258
+ }
259
+
260
+ /**
261
+ * Hardware as exposed by Redux
262
+ */
263
+ interface AirBearingSchema extends Hardware {
264
+ properties: {
265
+ state: string;
266
+ };
267
+ }
268
+ declare const Variants$p: HardwareVariant<AirBearingSchema>;
269
+
270
+ declare function AirBearing(props: HardwareWidgetProps<AirBearingSchema, HardwareWidgetOptions>): JSX.Element;
271
+
272
+ declare function AirBearingProtected(props: HardwareWidgetProps<AirBearingSchema, HardwareWidgetOptions>): JSX.Element;
273
+
274
+ declare function AirBearingState(props: {
275
+ hardware: AirBearingSchema;
276
+ }): JSX.Element;
277
+
278
+ declare const Mocks$l: {
279
+ default: {
280
+ callables: string[];
281
+ id: string;
282
+ name: string;
283
+ online: boolean;
284
+ properties: {
285
+ state: string;
286
+ };
287
+ protocol: string;
288
+ require_staff: boolean;
289
+ type: string;
290
+ };
291
+ };
292
+
293
+ declare type PropsWithSimulator<P = Record<string, never>> = P & {
294
+ name: string;
295
+ alias?: string;
296
+ useHardwareContext?: () => {
297
+ actions: {
298
+ updateHardware: (name: string, hardware: Hardware) => void;
299
+ updateHardwareChangeActions: (name: string, actions: HardwareChangeActions) => void;
300
+ };
301
+ };
302
+ };
303
+
304
+ declare function AirBearingSimulator(props: PropsWithSimulator): JSX.Element;
305
+
306
+ interface FrontendSchema extends Hardware {
307
+ properties: {
308
+ state: string;
309
+ status: string;
310
+ automatic: boolean;
311
+ frontend: string;
312
+ current: number;
313
+ refill: number;
314
+ mode: string;
315
+ message: string;
316
+ feitlk: string;
317
+ pssitlk: string;
318
+ expitlk: string;
319
+ };
320
+ }
321
+ declare const Variants$o: HardwareVariant<FrontendSchema>;
322
+
323
+ declare function Frontend(props: HardwareWidgetProps<FrontendSchema>): JSX.Element;
324
+
325
+ declare const Mocks$k: {
326
+ default: {
327
+ callables: string[];
328
+ id: string;
329
+ name: string;
330
+ online: boolean;
331
+ properties: {
332
+ current: number;
333
+ expitlk: string;
334
+ feitlk: string;
335
+ frontend: string;
336
+ pssitlk: string;
337
+ refill: number;
338
+ state: string;
339
+ mode: string;
340
+ message: string;
341
+ status: string;
342
+ };
343
+ protocol: string;
344
+ require_staff: boolean;
345
+ type: string;
346
+ };
347
+ };
348
+
349
+ /**
350
+ * Hardware as exposed by Redux
351
+ */
352
+ interface GaugeSchema extends Hardware {
353
+ properties: {
354
+ state: string;
355
+ status: string;
356
+ pressure: number;
357
+ unit?: string;
358
+ };
359
+ }
360
+ declare const Variants$n: HardwareVariant<GaugeSchema>;
361
+
362
+ interface GaugeWidgetOptions extends HardwareWidgetOptions {
363
+ /** Unit of pressure */
364
+ unit?: string;
365
+ /** Precision to show, default 3 */
366
+ precision?: number;
367
+ }
368
+ declare function Gauge(props: HardwareWidgetProps<GaugeSchema, GaugeWidgetOptions>): JSX.Element;
369
+
370
+ declare const Mocks$j: {
371
+ default: {
372
+ callables: string[];
373
+ id: string;
374
+ name: string;
375
+ online: boolean;
376
+ properties: {
377
+ pressure: number;
378
+ state: string;
379
+ status: string;
380
+ };
381
+ protocol: string;
382
+ require_staff: boolean;
383
+ type: string;
384
+ };
385
+ default2: {
386
+ callables: string[];
387
+ id: string;
388
+ name: string;
389
+ online: boolean;
390
+ properties: {
391
+ pressure: number;
392
+ state: string;
393
+ status: string;
394
+ };
395
+ protocol: string;
396
+ require_staff: boolean;
397
+ type: string;
398
+ };
399
+ };
400
+
401
+ /**
402
+ * Hardware as exposed by Redux
403
+ */
404
+ interface LaserSchema extends Hardware {
405
+ properties: {
406
+ state: string;
407
+ power: number;
408
+ };
409
+ }
410
+ declare const Variants$m: HardwareVariant<LaserSchema>;
411
+
412
+ interface LaserWidgetOptions extends HardwareWidgetOptions {
413
+ /** Default step size to use for up / down arrows */
414
+ step?: number;
415
+ /** Array of selectable step sizes */
416
+ steps?: number[];
417
+ }
418
+ declare function Laser(props: HardwareWidgetProps<LaserSchema, LaserWidgetOptions>): JSX.Element;
419
+
420
+ declare const Mocks$i: {
421
+ default: {
422
+ callables: never[];
423
+ id: string;
424
+ name: string;
425
+ online: boolean;
426
+ properties: {
427
+ power: number;
428
+ state: string;
429
+ };
430
+ protocol: string;
431
+ require_staff: boolean;
432
+ type: string;
433
+ };
434
+ };
435
+
436
+ /**
437
+ * Hardware as exposed by Redux
438
+ */
439
+ interface LaserHeatingSchema extends Hardware {
440
+ properties: {
441
+ state: string;
442
+ exposure_time: number;
443
+ background_mode: 'ON' | 'OFF' | 'ALWAYS';
444
+ fit_wavelength: number[];
445
+ current_calibration: string;
446
+ };
447
+ }
448
+ declare const Variants$l: HardwareVariant<LaserHeatingSchema>;
449
+
450
+ interface LaserHeatingWidgetOptions extends HardwareWidgetOptions {
451
+ /** Default step size to use for up / down arrows */
452
+ exposureStep?: number;
453
+ /** Array of selectable step sizes */
454
+ exposureSteps?: number[];
455
+ }
456
+ declare function LaserHeating(props: HardwareWidgetProps<LaserHeatingSchema, LaserHeatingWidgetOptions>): JSX.Element;
457
+
458
+ declare const Mocks$h: {
459
+ default: {
460
+ callables: never[];
461
+ id: string;
462
+ name: string;
463
+ online: boolean;
464
+ properties: {
465
+ exposure_time: number;
466
+ state: string;
467
+ background_mode: string;
468
+ fit_wavelength: number[];
469
+ current_calibration: string;
470
+ };
471
+ protocol: string;
472
+ require_staff: boolean;
473
+ type: string;
474
+ };
475
+ };
476
+
477
+ /**
478
+ * Hardware as exposed by Redux
479
+ */
480
+ interface LightSchema extends Hardware {
481
+ properties: {
482
+ state: string;
483
+ temperature: number;
484
+ intensity: number;
485
+ };
486
+ }
487
+ declare const Variants$k: HardwareVariant<LightSchema>;
488
+
489
+ declare function Light(props: HardwareWidgetProps<LightSchema>): JSX.Element;
490
+
491
+ declare const Mocks$g: {
492
+ default: {
493
+ callables: never[];
494
+ id: string;
495
+ name: string;
496
+ online: boolean;
497
+ properties: {
498
+ intensity: number;
499
+ state: string;
500
+ temperature: number;
501
+ };
502
+ protocol: string;
503
+ require_staff: boolean;
504
+ type: string;
505
+ };
506
+ };
507
+
508
+ /**
509
+ * Hardware as exposed by Redux
510
+ */
511
+ interface LimaSchema extends Hardware {
512
+ properties: {
513
+ state: 'READY' | 'ACQUIRING' | 'CONFIGURATION' | 'FAULT' | 'UNKNOWN' | 'OFFLINE';
514
+ static: {
515
+ lima_version: string;
516
+ lima_type: string;
517
+ camera_type: string;
518
+ camera_model: string;
519
+ camera_pixelsize: [number, number];
520
+ image_max_dim: [number, number];
521
+ } | null;
522
+ /**
523
+ * Pixel size of the detector (without binning).
524
+ *
525
+ * It's a read-only property.
526
+ */
527
+ pixel_size: [number, number];
528
+ /**
529
+ * Max exposition time of a single sub frame in accumulation.
530
+ *
531
+ * It is used (together with the exposure time) to determine the
532
+ * nb of sub frames and the expo time of a single sub frame.
533
+ * See `guessSubframes`.
534
+ */
535
+ acc_max_expo_time: number | null;
536
+ /**
537
+ * Flip applied to the resulting image
538
+ */
539
+ flip: [boolean, boolean];
540
+ /**
541
+ * Rotation applied to the resulting image.
542
+ *
543
+ * One of 0, 90, 180, 270
544
+ */
545
+ rotation: 0 | 90 | 180 | 270;
546
+ /**
547
+ * Binning applied to the resulting image
548
+ */
549
+ binning: [number, number];
550
+ /**
551
+ * Location and size of the ROI in the raw image.
552
+ *
553
+ * When binning=[1, 1] flip=[false, false], rotation=0
554
+ */
555
+ raw_roi: [number, number, number, number];
556
+ /**
557
+ * Location of the ROI in the transformed image.
558
+ */
559
+ roi: [number, number, number, number];
560
+ /**
561
+ * Final size of the detector. Including the crop of the ROI.
562
+ */
563
+ size: [number, number];
564
+ };
565
+ }
566
+ declare function isLimaHardware(entity: Hardware): entity is LimaSchema;
567
+ declare function useLimaHardware(name: string | null): LimaSchema | null;
568
+ /**
569
+ * Compute the nb sub frames which will be used for a specific exposure time
570
+ */
571
+ declare function limaGuessSubframes(exposureTime: number, accMaxExpoTime: number): [number, number];
572
+ declare const Variants$j: HardwareVariant<LimaSchema>;
573
+
574
+ declare function LimaBinning(props: HardwareWidgetProps<LimaSchema, HardwareWidgetOptions>): JSX.Element;
575
+
576
+ declare function LimaDefault(props: HardwareWidgetProps<LimaSchema>): JSX.Element;
577
+
578
+ declare function TomoDetectorSize$3(props: HardwareWidgetProps<LimaSchema, HardwareWidgetOptions>): JSX.Element;
579
+
580
+ declare function TomoDetectorSize$2(props: HardwareWidgetProps<LimaSchema, HardwareWidgetOptions>): JSX.Element;
581
+
582
+ declare function TomoDetectorSize$1(props: HardwareWidgetProps<LimaSchema, HardwareWidgetOptions>): JSX.Element;
583
+
584
+ declare function TomoDetectorSize(props: HardwareWidgetProps<LimaSchema, HardwareWidgetOptions>): JSX.Element;
585
+
586
+ declare function LimaState(props: {
587
+ hardware: LimaSchema;
588
+ }): JSX.Element;
589
+
590
+ declare const Mocks$f: {
591
+ default: {
592
+ id: string;
593
+ name: string;
594
+ protocol: string;
595
+ type: string;
596
+ online: boolean;
597
+ require_staff: boolean;
598
+ properties: {
599
+ static: {
600
+ lima_version: string;
601
+ lima_type: string;
602
+ camera_type: string;
603
+ camera_model: string;
604
+ camera_pixelsize: number[];
605
+ image_max_dim: number[];
606
+ };
607
+ acc_max_expo_time: number;
608
+ binning: number[];
609
+ flip: boolean[];
610
+ max_size: number[];
611
+ pixel_size: number[];
612
+ raw_roi: number[];
613
+ roi: number[];
614
+ rotation: number;
615
+ size: number[];
616
+ state: string;
617
+ };
618
+ };
619
+ flip: {
620
+ id: string;
621
+ name: string;
622
+ protocol: string;
623
+ type: string;
624
+ online: boolean;
625
+ require_staff: boolean;
626
+ properties: {
627
+ static: {
628
+ lima_version: string;
629
+ lima_type: string;
630
+ camera_type: string;
631
+ camera_model: string;
632
+ camera_pixelsize: number[];
633
+ image_max_dim: number[];
634
+ };
635
+ acc_max_expo_time: number;
636
+ binning: number[];
637
+ flip: boolean[];
638
+ max_size: number[];
639
+ pixel_size: number[];
640
+ raw_roi: number[];
641
+ roi: number[];
642
+ rotation: number;
643
+ size: number[];
644
+ state: string;
645
+ };
646
+ };
647
+ rot: {
648
+ id: string;
649
+ name: string;
650
+ protocol: string;
651
+ type: string;
652
+ online: boolean;
653
+ require_staff: boolean;
654
+ properties: {
655
+ static: {
656
+ lima_version: string;
657
+ lima_type: string;
658
+ camera_type: string;
659
+ camera_model: string;
660
+ camera_pixelsize: number[];
661
+ image_max_dim: number[];
662
+ };
663
+ acc_max_expo_time: number;
664
+ binning: number[];
665
+ flip: boolean[];
666
+ max_size: number[];
667
+ pixel_size: number[];
668
+ raw_roi: number[];
669
+ roi: number[];
670
+ rotation: number;
671
+ size: number[];
672
+ state: string;
673
+ };
674
+ };
675
+ };
676
+
677
+ declare function LimaSimulator(props: PropsWithSimulator): JSX.Element;
678
+
679
+ /**
680
+ * Hardware as exposed by Redux
681
+ */
682
+ interface MeasurementGroupSchema extends Hardware {
683
+ properties: {
684
+ /** List of available counters */
685
+ available: string[];
686
+ /** List of disabled counters.
687
+ *
688
+ * It is a subset of the `available` list.
689
+ */
690
+ disabled: string[];
691
+ };
692
+ }
693
+ declare const Variants$i: HardwareVariant<MeasurementGroupSchema>;
694
+
695
+ declare function MeasurementGroup(props: HardwareWidgetProps<MeasurementGroupSchema>): JSX.Element;
696
+
697
+ declare const Mocks$e: {
698
+ default: {
699
+ callables: never[];
700
+ id: string;
701
+ name: string;
702
+ online: boolean;
703
+ properties: {
704
+ available: string[];
705
+ disabled: string[];
706
+ };
707
+ protocol: string;
708
+ require_staff: boolean;
709
+ type: string;
710
+ };
711
+ };
712
+
713
+ declare function MeasurementGroupSimulator(props: PropsWithSimulator): JSX.Element;
714
+
715
+ interface MotorSchema extends Hardware {
716
+ properties: {
717
+ position: number | null;
718
+ /**
719
+ * Target of the actual motion.
720
+ *
721
+ * If there is no motion, it is `null`.
722
+ */
723
+ target: number | null;
724
+ tolerance: number;
725
+ acceleration: number;
726
+ velocity: number;
727
+ limits: [number, number];
728
+ state: string[];
729
+ unit: string;
730
+ offset: number;
731
+ sign: number;
732
+ display_digits: number | null;
733
+ };
734
+ }
735
+ /**
736
+ * Exposes the standard supported motor states
737
+ */
738
+ interface MotorStates {
739
+ READY?: true;
740
+ MOVING?: true;
741
+ FAULT?: true;
742
+ HIGHLIMIT?: true;
743
+ LOWLIMIT?: true;
744
+ HOME?: true;
745
+ OFF?: true;
746
+ DISABLED?: true;
747
+ UNKNOWN?: true;
748
+ NOT_READY?: true;
749
+ }
750
+ /**
751
+ * Normalize the motor state exposed by the hardware.
752
+ *
753
+ * This does not exposes the custom states in a useful maner.
754
+ *
755
+ * Store states are changed depending of existing user tags
756
+ *
757
+ * - `auto_on`: This allow to move the motor even if `OFF` is enabled.
758
+ * When `OFF` is enabled `READY` is turned to true.
759
+ * - `auto_ready`: This allow to move the motor even if `NOT_READY` is enabled.
760
+ *
761
+ * TODO: An improvement would be to normalize that when redux is populated.
762
+ * instead of storing a list.
763
+ *
764
+ * @param state: List of the controller state
765
+ * @param userTags: List of the hardware user tags
766
+ */
767
+ declare function useMotorStates(state: string[] | undefined, userTags?: string[]): MotorStates;
768
+ declare function isMotorHardware(entity: Hardware): entity is MotorSchema;
769
+ /**
770
+ * Return a motor from it's hardware name.
771
+ *
772
+ * Return `null` if the name refers to nothing or a mismatching hardware.
773
+ *
774
+ * @param name: An hardware identifier
775
+ */
776
+ declare function useMotorHardware(name: string | null): MotorSchema | null;
777
+ declare const Variants$h: HardwareVariant<MotorSchema>;
778
+
779
+ interface MotorDefaultOptions extends HardwareWidgetOptions {
780
+ /** Default step size to use for up / down arrows */
781
+ step?: number;
782
+ /** Array of selectable step sizes */
783
+ steps?: number[];
784
+ /** Number of decimals to show */
785
+ precision?: number;
786
+ /** Whether to show popup to configure extended parameters */
787
+ extended?: boolean;
788
+ /** Whether this widget is read only */
789
+ readOnly?: boolean;
790
+ /** Whether this widget can only be changed using steps */
791
+ stepOnly?: boolean;
792
+ /** Kind of header displayed */
793
+ header?: string;
794
+ /** Specify a fontawesome to inc the value */
795
+ incicon?: string;
796
+ /** Specify a fontawesome to dec the value */
797
+ decicon?: string;
798
+ /** If true inc and dec icon are swapped */
799
+ swapincdec?: boolean;
800
+ /** Show the step arrows horizontally instead of vertically */
801
+ horizontalarrows?: boolean;
802
+ /** Show large step arrows */
803
+ largearrows?: boolean;
804
+ }
805
+
806
+ /**
807
+ * The default motor widget
808
+ */
809
+ declare function MotorDefault(props: HardwareWidgetProps<MotorSchema, MotorDefaultOptions>): JSX.Element;
810
+
811
+ /**
812
+ * The default motor widget
813
+ */
814
+ declare function MotorText(props: HardwareWidgetProps<MotorSchema, MotorDefaultOptions>): JSX.Element;
815
+
816
+ /**
817
+ * A motor have a set of flags as state.
818
+ *
819
+ * For example an axis can expose `READY` and `MOVING` at the same time.
820
+ * It means the controller is ready to change it's target, even
821
+ * during a motion.
822
+ *
823
+ * For now we only display a "main" state.
824
+ */
825
+ declare function MotorState(props: {
826
+ hardware: MotorSchema;
827
+ }): JSX.Element;
828
+
829
+ declare const Mocks$d: {
830
+ default: {
831
+ callables: string[];
832
+ id: string;
833
+ name: string;
834
+ online: boolean;
835
+ properties: {
836
+ offset: number;
837
+ sign: number;
838
+ acceleration: number;
839
+ limits: number[];
840
+ position: number;
841
+ state: string[];
842
+ tolerance: number;
843
+ unit: string;
844
+ velocity: number;
845
+ display_digits: number;
846
+ };
847
+ protocol: string;
848
+ require_staff: boolean;
849
+ type: string;
850
+ user_tags: never[];
851
+ };
852
+ halfMotor: {
853
+ callables: string[];
854
+ id: string;
855
+ name: string;
856
+ online: boolean;
857
+ properties: {
858
+ offset: number;
859
+ sign: number;
860
+ acceleration: number;
861
+ limits: number[];
862
+ position: number;
863
+ state: string[];
864
+ tolerance: number;
865
+ unit: string;
866
+ velocity: number;
867
+ };
868
+ protocol: string;
869
+ require_staff: boolean;
870
+ type: string;
871
+ user_tags: never[];
872
+ };
873
+ unknownMotor: {
874
+ callables: string[];
875
+ id: string;
876
+ name: string;
877
+ online: boolean;
878
+ properties: {
879
+ acceleration: null;
880
+ limits: null[];
881
+ offset: null;
882
+ position: number;
883
+ sign: null;
884
+ state: string[];
885
+ target: null;
886
+ tolerance: number;
887
+ unit: string;
888
+ velocity: null;
889
+ };
890
+ protocol: string;
891
+ require_staff: boolean;
892
+ type: string;
893
+ user_tags: never[];
894
+ };
895
+ notReadyMotor: {
896
+ callables: string[];
897
+ id: string;
898
+ name: string;
899
+ online: boolean;
900
+ properties: {
901
+ acceleration: null;
902
+ limits: null[];
903
+ offset: null;
904
+ position: number;
905
+ sign: null;
906
+ state: never[];
907
+ target: null;
908
+ tolerance: number;
909
+ unit: string;
910
+ velocity: null;
911
+ };
912
+ protocol: string;
913
+ require_staff: boolean;
914
+ type: string;
915
+ user_tags: never[];
916
+ };
917
+ disconnectedMotor: {
918
+ callables: string[];
919
+ id: string;
920
+ name: string;
921
+ online: boolean;
922
+ properties: {};
923
+ protocol: string;
924
+ require_staff: boolean;
925
+ type: string;
926
+ user_tags: never[];
927
+ };
928
+ powerOffMotor: {
929
+ callables: string[];
930
+ id: string;
931
+ name: string;
932
+ online: boolean;
933
+ properties: {
934
+ acceleration: null;
935
+ limits: null[];
936
+ offset: null;
937
+ position: number;
938
+ sign: null;
939
+ state: string[];
940
+ target: null;
941
+ tolerance: number;
942
+ unit: string;
943
+ velocity: null;
944
+ };
945
+ protocol: string;
946
+ require_staff: boolean;
947
+ type: string;
948
+ user_tags: never[];
949
+ };
950
+ };
951
+
952
+ declare function createMotorMock(name: string, position: number): {
953
+ id: string;
954
+ name: string;
955
+ type: string;
956
+ properties: {
957
+ position: number;
958
+ unit: string;
959
+ limits: number[];
960
+ };
961
+ online: boolean;
962
+ };
963
+
964
+ interface Props$e {
965
+ name?: string;
966
+ minLimit?: number;
967
+ maxLimit?: number;
968
+ initialPosition?: number;
969
+ initialVelocity?: number;
970
+ useHardwareContext?: () => {
971
+ actions: {
972
+ updateHardware: (name: string, hardware: Hardware) => void;
973
+ updateHardwareChangeActions: (name: string, actions: HardwareChangeActions) => void;
974
+ };
975
+ };
976
+ }
977
+ declare function MotorSimulator(props: Props$e): JSX.Element;
978
+
979
+ interface MultipositionSchema extends Hardware {
980
+ properties: {
981
+ position: string;
982
+ positions: {
983
+ position: string;
984
+ description: string;
985
+ target: {
986
+ axis: string;
987
+ destination: number;
988
+ tolerance: number;
989
+ }[];
990
+ }[];
991
+ state: string;
992
+ };
993
+ }
994
+ declare const Variants$g: HardwareVariant<MultipositionSchema>;
995
+
996
+ declare function Multiposition(props: HardwareWidgetProps<MultipositionSchema>): JSX.Element;
997
+
998
+ declare const Mocks$c: {
999
+ default: {
1000
+ callables: string[];
1001
+ id: string;
1002
+ name: string;
1003
+ online: boolean;
1004
+ properties: {
1005
+ position: string;
1006
+ positions: {
1007
+ description: string;
1008
+ position: string;
1009
+ target: {
1010
+ destination: number;
1011
+ tolerance: number;
1012
+ }[];
1013
+ }[];
1014
+ state: string;
1015
+ };
1016
+ protocol: string;
1017
+ require_staff: boolean;
1018
+ type: string;
1019
+ };
1020
+ };
1021
+
1022
+ declare function MultipositionSimulator(props: PropsWithSimulator): JSX.Element;
1023
+
1024
+ /**
1025
+ * Hardware as exposed by Redux
1026
+ */
1027
+ interface OpticSchema extends Hardware {
1028
+ properties: {
1029
+ state: string;
1030
+ magnification: number;
1031
+ available_magnifications: number[] | null;
1032
+ /**
1033
+ * Target of the actual motion.
1034
+ *
1035
+ * If there is no motion, it is `null `.
1036
+ */
1037
+ target_magnification: number | null;
1038
+ magnification_range: [number, number] | null;
1039
+ };
1040
+ }
1041
+ declare function isOpticHardware(entity: Hardware): entity is OpticSchema;
1042
+ declare const Variants$f: HardwareVariant<OpticSchema>;
1043
+
1044
+ interface OpticWidgetOptions extends HardwareWidgetOptions {
1045
+ readonly?: boolean;
1046
+ digits?: number;
1047
+ allowtuning?: boolean;
1048
+ }
1049
+ declare function Optic(props: HardwareWidgetProps<OpticSchema, OpticWidgetOptions>): JSX.Element;
1050
+
1051
+ declare function OpticState(props: {
1052
+ hardware: OpticSchema;
1053
+ }): JSX.Element;
1054
+
1055
+ declare const Mocks$b: {
1056
+ default: {
1057
+ callables: string[];
1058
+ id: string;
1059
+ name: string;
1060
+ online: boolean;
1061
+ properties: {
1062
+ state: string;
1063
+ magnification: number;
1064
+ target_magnification: null;
1065
+ available_magnifications: number[];
1066
+ magnification_range: null;
1067
+ };
1068
+ protocol: string;
1069
+ require_staff: boolean;
1070
+ type: string;
1071
+ };
1072
+ fixed: {
1073
+ callables: string[];
1074
+ id: string;
1075
+ name: string;
1076
+ online: boolean;
1077
+ properties: {
1078
+ state: string;
1079
+ magnification: number;
1080
+ target_magnification: null;
1081
+ available_magnifications: number[];
1082
+ magnification_range: null;
1083
+ };
1084
+ protocol: string;
1085
+ require_staff: boolean;
1086
+ type: string;
1087
+ };
1088
+ off: {
1089
+ callables: string[];
1090
+ id: string;
1091
+ name: string;
1092
+ online: boolean;
1093
+ properties: {
1094
+ state: string;
1095
+ magnification: number;
1096
+ target_magnification: null;
1097
+ available_magnifications: number[];
1098
+ magnification_range: null;
1099
+ };
1100
+ protocol: string;
1101
+ require_staff: boolean;
1102
+ type: string;
1103
+ };
1104
+ range: {
1105
+ callables: string[];
1106
+ id: string;
1107
+ name: string;
1108
+ online: boolean;
1109
+ properties: {
1110
+ state: string;
1111
+ magnification: number;
1112
+ target_magnification: null;
1113
+ available_magnifications: number[];
1114
+ magnification_range: null;
1115
+ };
1116
+ protocol: string;
1117
+ require_staff: boolean;
1118
+ type: string;
1119
+ };
1120
+ };
1121
+
1122
+ interface Props$d {
1123
+ kind: 'fixed' | 'range' | 'multi';
1124
+ }
1125
+ declare function OpticSimulator(props: PropsWithSimulator<Props$d>): JSX.Element;
1126
+
1127
+ interface ProcedureSchema extends Hardware {
1128
+ properties: {
1129
+ state: string;
1130
+ previous_run_state: string;
1131
+ previous_run_exception: string | null;
1132
+ parameters: Record<string, any>;
1133
+ };
1134
+ }
1135
+ declare const Variants$e: HardwareVariant<ProcedureSchema>;
1136
+
1137
+ interface HardwareFromProcedure {
1138
+ __type__: 'hardware';
1139
+ name: string;
1140
+ }
1141
+ interface ScanFromProcedure {
1142
+ __type__: 'scan';
1143
+ mmh3: number;
1144
+ node?: string;
1145
+ key?: string;
1146
+ }
1147
+ interface ExceptionFromProcedure {
1148
+ __type__: 'exception';
1149
+ class: string;
1150
+ message: string;
1151
+ traceback: Record<string, any>;
1152
+ }
1153
+
1154
+ declare function ProcedureExecution(props: HardwareWidgetProps<ProcedureSchema>): JSX.Element;
1155
+
1156
+ declare function ProcedureManage(props: HardwareWidgetProps<ProcedureSchema>): JSX.Element;
1157
+
1158
+ declare function ProcedureValidate(props: HardwareWidgetProps<ProcedureSchema>): JSX.Element;
1159
+
1160
+ declare function ProcedureState(props: {
1161
+ hardware: ProcedureSchema;
1162
+ }): JSX.Element;
1163
+
1164
+ declare const Mocks$a: {
1165
+ standby: {
1166
+ callables: string[];
1167
+ type: string;
1168
+ id: string;
1169
+ name: string;
1170
+ protocol: string;
1171
+ require_staff: boolean;
1172
+ online: boolean;
1173
+ properties: {
1174
+ state: string;
1175
+ previous_run_state: string;
1176
+ previous_run_exception: null;
1177
+ parameters: {
1178
+ my_number: number;
1179
+ my_string: string;
1180
+ my_null: null;
1181
+ my_boolean: boolean;
1182
+ my_dict: {
1183
+ a: number;
1184
+ b: string;
1185
+ c: boolean;
1186
+ };
1187
+ my_list: (string | number | boolean)[];
1188
+ "my_scan_1.11": {
1189
+ __type__: string;
1190
+ node: string;
1191
+ mmh3: number;
1192
+ };
1193
+ "my_scan_2.0": {
1194
+ __type__: string;
1195
+ key: string;
1196
+ mmh3: number;
1197
+ };
1198
+ my_quantity: {
1199
+ __type__: string;
1200
+ scalar: number;
1201
+ unit: string;
1202
+ };
1203
+ my_nan: {
1204
+ __type__: string;
1205
+ };
1206
+ my_posinf: {
1207
+ __type__: string;
1208
+ };
1209
+ my_neginf: {
1210
+ __type__: string;
1211
+ };
1212
+ my_obj: {
1213
+ __type__: string;
1214
+ name: string;
1215
+ };
1216
+ };
1217
+ };
1218
+ };
1219
+ };
1220
+
1221
+ interface ShutterSchema extends Hardware {
1222
+ properties: {
1223
+ state: string;
1224
+ status: string;
1225
+ valid: boolean;
1226
+ open_text: string;
1227
+ closed_text: string;
1228
+ };
1229
+ }
1230
+ declare const Variants$d: HardwareVariant<ShutterSchema>;
1231
+
1232
+ declare function ShutterDefault(props: HardwareWidgetProps<ShutterSchema, HardwareWidgetOptions>): JSX.Element;
1233
+
1234
+ declare function ShutterProtected(props: HardwareWidgetProps<ShutterSchema, HardwareWidgetOptions>): JSX.Element;
1235
+
1236
+ declare function ShutterState(props: {
1237
+ hardware: ShutterSchema;
1238
+ useReadyState?: boolean;
1239
+ }): JSX.Element;
1240
+
1241
+ declare const Mocks$9: {
1242
+ default: {
1243
+ callables: string[];
1244
+ id: string;
1245
+ name: string;
1246
+ online: boolean;
1247
+ properties: {
1248
+ closed_text: string;
1249
+ open_text: string;
1250
+ state: string;
1251
+ status: string;
1252
+ valid: boolean;
1253
+ };
1254
+ protocol: string;
1255
+ require_staff: boolean;
1256
+ type: string;
1257
+ };
1258
+ };
1259
+
1260
+ declare function ShutterSimulator(props: PropsWithSimulator): JSX.Element;
1261
+
1262
+ /**
1263
+ * Hardware as exposed by Redux
1264
+ */
1265
+ interface SlitSchema extends Hardware {
1266
+ properties: {
1267
+ state: string;
1268
+ type: 'vertical' | 'horizontal' | 'both';
1269
+ hgap: string;
1270
+ vgap: string;
1271
+ hoffset: string;
1272
+ voffset: string;
1273
+ };
1274
+ }
1275
+ interface SlitDefaultOptions extends HardwareWidgetOptions {
1276
+ /** Number of decimals to show */
1277
+ precision?: number;
1278
+ /** Setup the widget to be read only */
1279
+ readonly?: boolean;
1280
+ }
1281
+ declare const Variants$c: HardwareVariant<SlitSchema>;
1282
+
1283
+ declare function SlitDefault(props: HardwareWidgetProps<SlitSchema, SlitDefaultOptions>): JSX.Element;
1284
+
1285
+ declare function SlitState(props: {
1286
+ hardware: SlitSchema;
1287
+ }): JSX.Element;
1288
+
1289
+ declare const Mocks$8: {
1290
+ default: {
1291
+ id: string;
1292
+ name: string;
1293
+ online: boolean;
1294
+ properties: {
1295
+ vgap: string;
1296
+ voffset: string;
1297
+ hgap: string;
1298
+ hoffset: string;
1299
+ };
1300
+ type: string;
1301
+ };
1302
+ horizontal: {
1303
+ id: string;
1304
+ name: string;
1305
+ online: boolean;
1306
+ properties: {
1307
+ vgap: string;
1308
+ voffset: string;
1309
+ hgap: string;
1310
+ hoffset: string;
1311
+ };
1312
+ type: string;
1313
+ };
1314
+ vertical: {
1315
+ id: string;
1316
+ name: string;
1317
+ online: boolean;
1318
+ properties: {
1319
+ vgap: string;
1320
+ voffset: string;
1321
+ hgap: string;
1322
+ hoffset: string;
1323
+ };
1324
+ type: string;
1325
+ };
1326
+ };
1327
+
1328
+ /**
1329
+ * Hardware as exposed by Redux
1330
+ */
1331
+ interface PumpSchema extends Hardware {
1332
+ properties: {
1333
+ state: string;
1334
+ status: string;
1335
+ pressure: number;
1336
+ voltage: number;
1337
+ current: number;
1338
+ unit?: string;
1339
+ };
1340
+ }
1341
+ declare const Variants$b: HardwareVariant<PumpSchema>;
1342
+
1343
+ interface PumpWidgetOptions extends HardwareWidgetOptions {
1344
+ unit?: string;
1345
+ precision?: number;
1346
+ }
1347
+ declare function Pump(props: HardwareWidgetProps<PumpSchema, PumpWidgetOptions>): JSX.Element;
1348
+
1349
+ declare const Mocks$7: {
1350
+ default: {
1351
+ callables: string[];
1352
+ id: string;
1353
+ name: string;
1354
+ online: boolean;
1355
+ properties: {
1356
+ current: number;
1357
+ pressure: number;
1358
+ state: string;
1359
+ status: string;
1360
+ voltage: number;
1361
+ };
1362
+ protocol: string;
1363
+ require_staff: boolean;
1364
+ type: string;
1365
+ };
1366
+ };
1367
+
1368
+ /**
1369
+ * Hardware as exposed by Redux
62
1370
  */
63
- interface HardwareWidgetOptions {
64
- /** Whether to show the extended popup */
65
- extended?: boolean;
66
- /** Kind of header displayed */
67
- header?: string;
1371
+ interface PusherSchema extends Hardware {
1372
+ properties: {
1373
+ state: string;
1374
+ };
68
1375
  }
69
- declare type EditableHardware<H extends Hardware = Hardware> = H & {
70
- /** Call the API to make a change on the hardware object */
71
- actions: HardwareChangeActions;
1376
+ declare const Variants$a: HardwareVariant<PusherSchema>;
1377
+
1378
+ declare function Pusher(props: HardwareWidgetProps<PusherSchema, HardwareWidgetOptions>): JSX.Element;
1379
+
1380
+ declare function PusherState(props: {
1381
+ hardware: PusherSchema;
1382
+ }): JSX.Element;
1383
+
1384
+ declare const Mocks$6: {
1385
+ default: {
1386
+ callables: string[];
1387
+ id: string;
1388
+ name: string;
1389
+ online: boolean;
1390
+ properties: {
1391
+ state: string;
1392
+ };
1393
+ protocol: string;
1394
+ require_staff: boolean;
1395
+ type: string;
1396
+ };
72
1397
  };
1398
+
1399
+ declare function PusherSimulator(props: PropsWithSimulator): JSX.Element;
1400
+
73
1401
  /**
74
- * Properties which are passed to the widgets
1402
+ * Hardware as exposed by Redux
75
1403
  */
76
- interface HardwareWidgetProps<H extends Hardware = Hardware, O extends HardwareWidgetOptions = HardwareWidgetOptions> {
77
- /** Dynamic state of the hardware */
78
- hardware: EditableHardware<H>;
79
- /** Static schema describing the hardware */
80
- schema: HardwareSchemaDescription;
81
- /** Options passed to the widget by the yaml configuration */
82
- options: O;
83
- /** Global state of the widget (aggregating scan/operator/hardware states) */
84
- disabled: boolean;
85
- /** True if the session have the control */
86
- operator: boolean;
1404
+ interface ServiceSchema extends Hardware {
1405
+ properties: {
1406
+ state: 'STOPPED' | 'STARTING' | 'RUNNING' | 'BACKOFF' | 'STOPPING' | 'EXITED' | 'FATAL' | 'UNKNOWN';
1407
+ };
87
1408
  }
1409
+ declare const Variants$9: HardwareVariant<ServiceSchema>;
88
1410
 
89
- type types_d_EditableHardware<H extends Hardware = Hardware> = EditableHardware<H>;
90
- type types_d_Hardware = Hardware;
91
- type types_d_HardwareChangeActions = HardwareChangeActions;
92
- type types_d_HardwareSchemaDescription = HardwareSchemaDescription;
93
- type types_d_HardwareWidgetOptions = HardwareWidgetOptions;
94
- type types_d_HardwareWidgetProps<H extends Hardware = Hardware, O extends HardwareWidgetOptions = HardwareWidgetOptions> = HardwareWidgetProps<H, O>;
95
- declare namespace types_d {
96
- export type { types_d_EditableHardware as EditableHardware, types_d_Hardware as Hardware, types_d_HardwareChangeActions as HardwareChangeActions, types_d_HardwareSchemaDescription as HardwareSchemaDescription, types_d_HardwareWidgetOptions as HardwareWidgetOptions, types_d_HardwareWidgetProps as HardwareWidgetProps };
1411
+ declare function ServiceDefault(props: HardwareWidgetProps<ServiceSchema, HardwareWidgetOptions>): JSX.Element;
1412
+
1413
+ interface ServiceProectedOptions extends HardwareWidgetOptions {
1414
+ /** Direction to drop the menu */
1415
+ dropDirection?: string;
97
1416
  }
1417
+ declare function ServiceProtected(props: HardwareWidgetProps<ServiceSchema, ServiceProectedOptions>): JSX.Element;
98
1418
 
99
- interface FrontendSchema extends Hardware {
1419
+ declare function ServiceState(props: {
1420
+ hardware: ServiceSchema;
1421
+ }): JSX.Element;
1422
+
1423
+ declare const Mocks$5: {
1424
+ default: {
1425
+ callables: string[];
1426
+ id: string;
1427
+ name: string;
1428
+ online: boolean;
1429
+ properties: {
1430
+ state: string;
1431
+ };
1432
+ protocol: string;
1433
+ require_staff: boolean;
1434
+ type: string;
1435
+ };
1436
+ };
1437
+
1438
+ interface TomoFlatMotionStep {
1439
+ /** Axis reference, following the pattern `hardware:my_axis` */
1440
+ axisRef: string;
1441
+ absolute_position: number | null;
1442
+ relative_position: number | null;
1443
+ }
1444
+ /**
1445
+ * Hardware as exposed by Redux
1446
+ */
1447
+ interface TomoFlatMotionSchema extends Hardware {
100
1448
  properties: {
101
- state: string;
102
- status: string;
103
- automatic: boolean;
104
- frontend: string;
105
- current: number;
106
- refill: number;
107
- mode: string;
108
- message: string;
109
- feitlk: string;
110
- pssitlk: string;
111
- expitlk: string;
1449
+ state: 'READY';
1450
+ available_axes: string[];
1451
+ motion: TomoFlatMotionStep[];
1452
+ move_in_parallel: boolean;
1453
+ power_onoff: boolean;
1454
+ settle_time: number;
112
1455
  };
113
1456
  }
1457
+ declare const Variants$8: HardwareVariant<TomoFlatMotionSchema>;
114
1458
 
115
- declare function Frontend(props: HardwareWidgetProps<FrontendSchema>): JSX.Element;
1459
+ declare function isTomoFlatMotionHardware(entity: Hardware): entity is TomoFlatMotionSchema;
1460
+ declare function useTomoFlatMotionHardware(name: string | null): TomoFlatMotionSchema | null;
116
1461
 
117
- interface InfoOptions extends HardwareWidgetOptions {
118
- /** The property */
119
- property?: string;
120
- /** Unit for the property */
121
- unit?: string;
1462
+ declare function TomoFlatMotionDefault(props: HardwareWidgetProps<TomoFlatMotionSchema>): JSX.Element;
1463
+
1464
+ declare function TomoFlatMotionSmall(props: HardwareWidgetProps<TomoFlatMotionSchema>): JSX.Element;
1465
+
1466
+ declare function TomoFlatMotionState(props: {
1467
+ hardware: TomoFlatMotionSchema;
1468
+ }): JSX.Element;
1469
+
1470
+ declare const Mocks$4: {
1471
+ default: {
1472
+ id: string;
1473
+ name: string;
1474
+ online: boolean;
1475
+ properties: {
1476
+ state: string;
1477
+ settle_time: number;
1478
+ power_onoff: boolean;
1479
+ move_in_parallel: boolean;
1480
+ available_axes: string[];
1481
+ motion: {
1482
+ axisRef: string;
1483
+ absolute_position: null;
1484
+ relative_position: number;
1485
+ }[];
1486
+ };
1487
+ protocol: string;
1488
+ require_staff: boolean;
1489
+ type: string;
1490
+ };
1491
+ sy: {
1492
+ callables: string[];
1493
+ id: string;
1494
+ name: string;
1495
+ online: boolean;
1496
+ properties: {
1497
+ offset: number;
1498
+ sign: number;
1499
+ acceleration: number;
1500
+ limits: number[];
1501
+ position: number;
1502
+ state: string[];
1503
+ tolerance: number;
1504
+ unit: string;
1505
+ velocity: number;
1506
+ display_digits: number;
1507
+ };
1508
+ protocol: string;
1509
+ require_staff: boolean;
1510
+ type: string;
1511
+ user_tags: never[];
1512
+ };
1513
+ sy2: {
1514
+ callables: string[];
1515
+ id: string;
1516
+ name: string;
1517
+ online: boolean;
1518
+ properties: {
1519
+ offset: number;
1520
+ sign: number;
1521
+ acceleration: number;
1522
+ limits: number[];
1523
+ position: number;
1524
+ state: string[];
1525
+ tolerance: number;
1526
+ unit: string;
1527
+ velocity: number;
1528
+ display_digits: number;
1529
+ };
1530
+ protocol: string;
1531
+ require_staff: boolean;
1532
+ type: string;
1533
+ user_tags: never[];
1534
+ };
1535
+ };
1536
+
1537
+ declare function TomoFlatMotionSimulator(props: PropsWithSimulator): JSX.Element;
1538
+
1539
+ /**
1540
+ * Hardware as exposed by Redux
1541
+ */
1542
+ interface TomoReferencePositionSchema extends Hardware {
1543
+ properties: Record<string, never>;
122
1544
  }
1545
+ declare function isTomoReferencePositionHardware(entity: Hardware): entity is TomoReferencePositionSchema;
1546
+ declare const Variants$7: HardwareVariant<TomoReferencePositionSchema>;
123
1547
 
124
- declare function Info(props: HardwareWidgetProps<Hardware, InfoOptions>): JSX.Element;
1548
+ declare function TomoReferencePositionDefault(props: HardwareWidgetProps<TomoReferencePositionSchema>): JSX.Element;
125
1549
 
126
- interface MotorSchema extends Hardware {
1550
+ /**
1551
+ * Hardware as exposed by Redux
1552
+ */
1553
+ interface TomoDetectorSchema extends Hardware {
127
1554
  properties: {
128
- position: number | null;
129
- target: number;
130
- tolerance: number;
131
- acceleration: number;
132
- velocity: number;
133
- limits: [number, number];
134
- state: string[];
135
- unit: string;
136
- offset: number;
137
- sign: number;
138
- display_digits: number | null;
1555
+ state: string;
1556
+ user_sample_pixel_size: number | null;
1557
+ sample_pixel_size_mode: string;
1558
+ sample_pixel_size: number | null;
1559
+ field_of_view: number;
1560
+ detector: string;
1561
+ optic: string;
1562
+ source_distance: number | null;
1563
+ acq_mode: 'MANUAL' | 'SINGLE' | 'ACCUMULATION';
139
1564
  };
140
1565
  }
1566
+ declare const Variants$6: HardwareVariant<TomoDetectorSchema>;
141
1567
 
142
- interface MotorDefaultOptions extends HardwareWidgetOptions {
143
- /** Default step size to use for up / down arrows */
144
- step?: number;
145
- /** Array of selectable step sizes */
146
- steps?: number[];
147
- /** Number of decimals to show */
148
- precision?: number;
149
- /** Whether to show popup to configure extended parameters */
150
- extended?: boolean;
151
- /** Whether this widget is read only */
152
- readOnly?: boolean;
153
- /** Kind of header displayed */
154
- header?: string;
155
- /** Specify a fontawesome to inc the value */
156
- incicon?: string;
157
- /** Specify a fontawesome to dec the value */
158
- decicon?: string;
159
- /** If true inc and dec icon are swapped */
160
- swapincdec?: boolean;
161
- /** Show the step arrows horizontally instead of vertically */
162
- horizontalarrows?: boolean;
163
- /** Show large step arrows */
164
- largearrows?: boolean;
1568
+ declare function isTomoDetectorHardware(entity: Hardware): entity is TomoDetectorSchema;
1569
+ declare function useTomoDetectorHardware(name: string | null): TomoDetectorSchema | null;
1570
+
1571
+ declare function TomoDetectorAcquisitionMode(props: HardwareWidgetProps<TomoDetectorSchema, HardwareWidgetOptions>): JSX.Element;
1572
+
1573
+ interface TomoDetectorSamplePixelSizeOptions extends HardwareWidgetOptions {
1574
+ display_unit?: string | null;
165
1575
  }
1576
+ declare function TomoDetectorSamplePixelSize(props: HardwareWidgetProps<TomoDetectorSchema, TomoDetectorSamplePixelSizeOptions>): JSX.Element;
166
1577
 
167
- /**
168
- * The default motor widget
169
- */
170
- declare function MotorDefault(props: HardwareWidgetProps<MotorSchema, MotorDefaultOptions>): JSX.Element;
1578
+ declare function TomoDetectorState(props: {
1579
+ hardware: TomoDetectorSchema;
1580
+ }): JSX.Element;
1581
+
1582
+ declare const Mocks$3: {
1583
+ default: {
1584
+ id: string;
1585
+ name: string;
1586
+ online: boolean;
1587
+ properties: {
1588
+ state: string;
1589
+ actual_size: number[];
1590
+ sample_pixel_size_mode: string;
1591
+ user_sample_pixel_size: number;
1592
+ sample_pixel_size: number;
1593
+ };
1594
+ protocol: string;
1595
+ require_staff: boolean;
1596
+ type: string;
1597
+ };
1598
+ };
171
1599
 
172
1600
  /**
173
- * A motor have a set of flags as state.
174
- *
175
- * For example an axis can expose `READY` and `MOVING` at the same time.
176
- * It means the controller is ready to change it's target, even
177
- * during a motion.
178
- *
179
- * For now we only display a "main" state.
1601
+ * Hardware as exposed by Redux
180
1602
  */
181
- declare function MotorState(props: {
182
- hardware: MotorSchema;
1603
+ interface TomoDetectorsSchema extends Hardware {
1604
+ properties: {
1605
+ state: string;
1606
+ detectors: string[];
1607
+ active_detector: string;
1608
+ target_detector?: string;
1609
+ };
1610
+ }
1611
+ declare const Variants$5: HardwareVariant<TomoDetectorsSchema>;
1612
+
1613
+ declare function isTomoDetectorsHardware(entity: Hardware): entity is TomoDetectorsSchema;
1614
+ declare function useTomoDetectorsHardware(name: string | null): TomoDetectorsSchema | null;
1615
+
1616
+ declare function TomoDetectors(props: HardwareWidgetProps<TomoDetectorsSchema>): JSX.Element;
1617
+
1618
+ declare function TomoDetectorsState(props: {
1619
+ hardware: TomoDetectorsSchema;
183
1620
  }): JSX.Element;
184
1621
 
185
- interface MultipositionSchema extends Hardware {
1622
+ declare const Mocks$2: {
1623
+ default: {
1624
+ id: string;
1625
+ name: string;
1626
+ online: boolean;
1627
+ properties: {
1628
+ state: string;
1629
+ active_detector: string;
1630
+ detectors: string[];
1631
+ };
1632
+ protocol: string;
1633
+ require_staff: boolean;
1634
+ type: string;
1635
+ };
1636
+ };
1637
+
1638
+ /**
1639
+ * Hardware as exposed by Redux
1640
+ */
1641
+ interface TomoImagingSchema extends Hardware {
186
1642
  properties: {
187
- position: string;
188
- positions: {
189
- position: string;
190
- description: string;
191
- target: {
192
- axis: string;
193
- destination: number;
194
- tolerance: number;
195
- }[];
196
- }[];
197
1643
  state: string;
1644
+ update_on_move: boolean;
1645
+ exposure_time: number;
1646
+ settle_time: number;
198
1647
  };
199
1648
  }
1649
+ declare const Variants$4: HardwareVariant<TomoImagingSchema>;
200
1650
 
201
- declare function Multiposition(props: HardwareWidgetProps<MultipositionSchema>): JSX.Element;
1651
+ declare function TomoImagingActions(props: HardwareWidgetProps<TomoImagingSchema>): JSX.Element;
202
1652
 
203
- interface GenericSchema extends Hardware {
1653
+ declare function TomoImagingDefault(props: HardwareWidgetProps<TomoImagingSchema>): JSX.Element;
1654
+
1655
+ declare function TomoImagingExposureTime(props: HardwareWidgetProps<TomoImagingSchema>): JSX.Element;
1656
+
1657
+ declare function TomoImagingSettleTime(props: HardwareWidgetProps<TomoImagingSchema>): JSX.Element;
1658
+
1659
+ declare function TomoImagingUpdateMode(props: HardwareWidgetProps<TomoImagingSchema>): JSX.Element;
1660
+
1661
+ declare function TomoImagingState(props: {
1662
+ hardware: TomoImagingSchema;
1663
+ }): JSX.Element;
1664
+
1665
+ declare const Mocks$1: {
1666
+ default: {
1667
+ id: string;
1668
+ name: string;
1669
+ online: boolean;
1670
+ properties: {
1671
+ state: string;
1672
+ update_on_move: boolean;
1673
+ exposure_time: number;
1674
+ };
1675
+ protocol: string;
1676
+ require_staff: boolean;
1677
+ type: string;
1678
+ };
1679
+ };
1680
+
1681
+ declare function TomoImagingSimulator(props: PropsWithSimulator): JSX.Element;
1682
+
1683
+ /**
1684
+ * Hardware as exposed by Redux
1685
+ */
1686
+ interface TomoSampleStageSchema extends Hardware {
204
1687
  properties: {
205
- state: string;
1688
+ sx: string;
1689
+ sy: string;
1690
+ sz: string;
1691
+ somega: string;
1692
+ sampx: string;
1693
+ sampy: string;
1694
+ sampu: string;
1695
+ sampv: string;
1696
+ x_axis_focal_pos: number | null;
1697
+ detector_center: [number | null, number | null];
206
1698
  };
207
1699
  }
1700
+ declare const Variants$3: HardwareVariant<TomoSampleStageSchema>;
208
1701
 
209
- type schema_d_GenericSchema = GenericSchema;
210
- declare namespace schema_d {
211
- export type { schema_d_GenericSchema as GenericSchema };
1702
+ declare function isTomoSampleStageHardware(entity: Hardware): entity is TomoSampleStageSchema;
1703
+ declare function useTomoSampleStageHardware(name: string | null): TomoSampleStageSchema | null;
1704
+
1705
+ /**
1706
+ * Hardware as exposed by Redux
1707
+ */
1708
+ interface TomoConfigSchema extends Hardware {
1709
+ properties: {
1710
+ sample_stage: string;
1711
+ sxbeam: string;
1712
+ detectors: string;
1713
+ holotomo: string;
1714
+ latency_time: number;
1715
+ };
212
1716
  }
1717
+ declare const Variants$2: HardwareVariant<TomoConfigSchema>;
213
1718
 
214
- interface PropertyWidgetOptions extends HardwareWidgetOptions {
215
- header?: string;
216
- property?: string;
217
- unit?: string;
1719
+ declare function isTomoConfigHardware(entity: Hardware): entity is TomoConfigSchema;
1720
+ declare function useTomoConfigHardware(name: string | null): TomoConfigSchema | null;
1721
+
1722
+ declare function TomoConfigLatencyTime(props: HardwareWidgetProps<TomoConfigSchema>): JSX.Element;
1723
+
1724
+ interface TomoHoloDistance {
1725
+ z1: number;
1726
+ position: number;
1727
+ pixel_size: number;
1728
+ }
1729
+ /**
1730
+ * Hardware as exposed by Redux
1731
+ */
1732
+ interface TomoHoloSchema extends Hardware {
1733
+ properties: {
1734
+ state: string;
1735
+ settle_time: number;
1736
+ pixel_size: number | null;
1737
+ nb_distances: number;
1738
+ distances: TomoHoloDistance[];
1739
+ };
218
1740
  }
1741
+ declare const Variants$1: HardwareVariant<TomoHoloSchema>;
219
1742
 
220
- declare function Property(props: HardwareWidgetProps<GenericSchema, PropertyWidgetOptions>): JSX.Element;
1743
+ declare function isTomoHoloHardware(entity: Hardware): entity is TomoHoloSchema;
1744
+ declare function useTomoHoloHardware(name: string | null): TomoHoloSchema | null;
221
1745
 
222
- interface ShutterSchema extends Hardware {
1746
+ declare function TomoHoloState(props: {
1747
+ hardware: TomoHoloSchema;
1748
+ }): JSX.Element;
1749
+
1750
+ /**
1751
+ * Hardware as exposed by Redux
1752
+ */
1753
+ interface ValveSchema extends Hardware {
223
1754
  properties: {
224
1755
  state: string;
225
1756
  status: string;
226
- valid: boolean;
227
- open_text: string;
228
- closed_text: string;
229
1757
  };
230
1758
  }
1759
+ declare const Variants: HardwareVariant<ValveSchema>;
231
1760
 
232
- declare function ShutterDefault(props: HardwareWidgetProps<ShutterSchema, HardwareWidgetOptions>): JSX.Element;
1761
+ declare function Valve(props: HardwareWidgetProps<ValveSchema>): JSX.Element;
233
1762
 
234
- declare function ShutterState(props: {
235
- hardware: ShutterSchema;
236
- useReadyState?: boolean;
237
- }): JSX.Element;
1763
+ declare const Mocks: {
1764
+ default: {
1765
+ callables: string[];
1766
+ id: string;
1767
+ name: string;
1768
+ online: boolean;
1769
+ properties: {
1770
+ state: string;
1771
+ status: string;
1772
+ };
1773
+ protocol: string;
1774
+ require_staff: boolean;
1775
+ type: string;
1776
+ };
1777
+ };
238
1778
 
239
1779
  interface Props$c {
240
1780
  online: boolean;
@@ -300,6 +1840,8 @@ declare function HardwareNumericStep(props: {
300
1840
  precision?: number;
301
1841
  /** Whether this widget is read only */
302
1842
  readOnly?: boolean;
1843
+ /** Whether this widget can only be changed using steps */
1844
+ stepOnly?: boolean;
303
1845
  /** Specify a fontawesome to inc the value */
304
1846
  incIcon?: string;
305
1847
  /** Specify a fontawesome to dec the value */
@@ -371,18 +1913,6 @@ declare namespace formatting_d {
371
1913
  export { formatting_d_formatEng as formatEng, formatting_d_round as round, formatting_d_toEnergy as toEnergy, formatting_d_toHoursMins as toHoursMins, formatting_d_ucfirst as ucfirst };
372
1914
  }
373
1915
 
374
- interface HardwareVariantOptions {
375
- options: {
376
- variant: string;
377
- };
378
- }
379
- declare class HardwareVariant extends Component<HardwareVariantOptions, void> {
380
- variants: {
381
- [name: string]: ComponentType<any>;
382
- };
383
- render(): JSX.Element;
384
- }
385
-
386
1916
  interface NoObjectProps {
387
1917
  id: string;
388
1918
  name?: string;
@@ -402,6 +1932,7 @@ interface Props$9 {
402
1932
  step?: number | string;
403
1933
  steps?: (number | string)[];
404
1934
  disabled: boolean;
1935
+ stepOnly?: boolean;
405
1936
  id?: string;
406
1937
  unit?: string;
407
1938
  overlay?: ReactChild | null;
@@ -667,6 +2198,12 @@ declare namespace asserts_d {
667
2198
  export { asserts_d_assertBoolean as assertBoolean, asserts_d_assertDataCollectionId as assertDataCollectionId, asserts_d_assertKeyExpected as assertKeyExpected, asserts_d_assertNoUnknownKeys as assertNoUnknownKeys, asserts_d_assertNumber as assertNumber, asserts_d_assertOptionalBackend as assertOptionalBackend, asserts_d_assertOptionalBoolean as assertOptionalBoolean, asserts_d_assertOptionalNumber as assertOptionalNumber, asserts_d_assertOptionalNumberList as assertOptionalNumberList, asserts_d_assertOptionalString as assertOptionalString, asserts_d_assertOptionalStringList as assertOptionalStringList, asserts_d_assertOptionalStringOrStringList as assertOptionalStringOrStringList, asserts_d_assertString as assertString, asserts_d_assertStringList as assertStringList };
668
2199
  }
669
2200
 
2201
+ interface RuntimeHooks {
2202
+ useHardware?: (id: string | null) => Hardware | null;
2203
+ useHardwareChangeActions?: (name: string | null) => HardwareChangeActions;
2204
+ }
2205
+ declare function registerRuntimeHook(hooks: Partial<RuntimeHooks>): void;
2206
+
670
2207
  interface HardwareObjectProps {
671
2208
  id: string;
672
2209
  options: {
@@ -684,15 +2221,11 @@ interface ResolvedHardwareObjectProps extends HardwareObjectProps {
684
2221
  runningScan?: boolean;
685
2222
  obj: Hardware | null;
686
2223
  }
687
- interface ComponentMapping {
688
- [name: string]: ComponentType<any> | typeof HardwareVariant;
689
- }
690
2224
 
691
- type HardwareObject_d_ComponentMapping = ComponentMapping;
692
2225
  type HardwareObject_d_HardwareObjectProps = HardwareObjectProps;
693
2226
  type HardwareObject_d_ResolvedHardwareObjectProps = ResolvedHardwareObjectProps;
694
2227
  declare namespace HardwareObject_d {
695
- export type { HardwareObject_d_ComponentMapping as ComponentMapping, HardwareObject_d_HardwareObjectProps as HardwareObjectProps, HardwareObject_d_ResolvedHardwareObjectProps as ResolvedHardwareObjectProps };
2228
+ export type { HardwareObject_d_HardwareObjectProps as HardwareObjectProps, HardwareObject_d_ResolvedHardwareObjectProps as ResolvedHardwareObjectProps };
696
2229
  }
697
2230
 
698
2231
  /**
@@ -710,7 +2243,6 @@ interface Monitor {
710
2243
  unit?: string;
711
2244
  }
712
2245
 
713
- declare function registerRuntimeHook(name: string, hook: (id: string | null) => Hardware | null): void;
714
2246
  declare const dynamicOp: (op: string, a1: any, b1: any) => boolean | undefined;
715
2247
  declare function MonitorHardware(props: {
716
2248
  monitor: Monitor;
@@ -727,4 +2259,4 @@ interface MonitorPanelItemProps {
727
2259
  }
728
2260
  declare function MonitorPanelItem(props: PropsWithChildren<MonitorPanelItemProps>): JSX.Element;
729
2261
 
730
- export { formatting_d as Formatting, Frontend, FullSizer, HardwareObject_d as HWObject, type Hardware, HardwareInputNumber, HardwareNumericStep, schema_d as HardwareSchema, State_d as HardwareState, HardwareTemplate, types_d as HardwareTypes, HardwareVariant, Info, type InfoOptions, KeyError, MissingKeysError, type Monitor, MonitorHardware, MonitorPanel, MonitorPanelItem, type MonitorPanelProps, MotorDefault, type MotorDefaultOptions, type MotorSchema, MotorState, Multiposition, NoObject, NumericStep, Panel, Property, ShutterDefault, type ShutterSchema, ShutterState, TypeIcon, type Props$c as TypeIconOptions, ErrorBoundary as YAMLErrorBoundary, Main as YAMLLayout, asserts_d as YamlAsserts, type YamlComponent$1 as YamlComponent, type YamlNode, dynamicOp, registerHardwareComponent, registerMonitorComponent, registerRuntimeHook, registerComponent as registerYamlComponent, registerComponents as registerYamlComponents, registerYamlType, renderYamlNode, yamlMap };
2262
+ export { type ActuatorSchema, AirBearing, Mocks$l as AirBearingMocks, AirBearingProtected, type AirBearingSchema, AirBearingSimulator, AirBearingState, Variants$p as AirBearingVariants, type AnySchema, Info as BaseInfo, type BaseInfoWidgetOptions, Mocks$m as BaseMocks, Name as BaseName, type BaseNameWidgetOptions, Property as BaseProperty, type BasePropertyWidgetOptions, DefaultState as BaseState, Variants$q as BaseVariants, type ExceptionFromProcedure, formatting_d as Formatting, Frontend, Mocks$k as FrontendMocks, type FrontendSchema, Variants$o as FrontendVariants, FullSizer, Gauge, Mocks$j as GaugeMocks, type GaugeSchema, Variants$n as GaugeVariants, type GaugeWidgetOptions, type GenericSchema, HardwareObject_d as HWObject, type Hardware, type HardwareComponentType, type HardwareFromProcedure, HardwareInputNumber, HardwareNumericStep, schema_d as HardwareSchema, State_d as HardwareState, HardwareTemplate, types_d as HardwareTypes, type HardwareVariant, KeyError, Laser, LaserHeating, Mocks$h as LaserHeatingMocks, type LaserHeatingSchema, Variants$l as LaserHeatingVariants, type LaserHeatingWidgetOptions, Mocks$i as LaserMocks, type LaserSchema, Variants$m as LaserVariants, type LaserWidgetOptions, Light, Mocks$g as LightMocks, type LightSchema, Variants$k as LightVariants, LimaBinning, LimaDefault, TomoDetectorSize$3 as LimaDescription, TomoDetectorSize$2 as LimaImageRoi, Mocks$f as LimaMocks, type LimaSchema, LimaSimulator, TomoDetectorSize$1 as LimaSize, LimaState, TomoDetectorSize as LimaTransformation, Variants$j as LimaVariants, MeasurementGroup as MeasurementGroupDefault, Mocks$e as MeasurementGroupMocks, type MeasurementGroupSchema, MeasurementGroupSimulator, Variants$i as MeasurementGroupVariants, MissingKeysError, type Monitor, MonitorHardware, MonitorPanel, MonitorPanelItem, type MonitorPanelProps, MotorDefault, type MotorDefaultOptions, Mocks$d as MotorMocks, type MotorSchema, MotorSimulator, MotorState, MotorText, Variants$h as MotorVariants, Multiposition, Mocks$c as MultipositionMocks, type MultipositionSchema, MultipositionSimulator, Variants$g as MultipositionVariants, NoObject, NumericStep, Optic as OpticDefault, Mocks$b as OpticMocks, type OpticSchema, OpticSimulator, OpticState, Variants$f as OpticVariants, type OpticWidgetOptions, Panel, ProcedureExecution, ProcedureManage, Mocks$a as ProcedureMocks, type ProcedureSchema, ProcedureState, ProcedureValidate, Variants$e as ProcedureVariants, Pump as PumpDefault, Mocks$7 as PumpMocks, type PumpSchema, Variants$b as PumpVariants, Pusher as PusherDefault, Mocks$6 as PusherMocks, type PusherSchema, PusherSimulator, PusherState, Variants$a as PusherVariants, type ScanFromProcedure, ServiceDefault, Mocks$5 as ServiceMocks, ServiceProtected, type ServiceSchema, ServiceState, Variants$9 as ServiceVariants, ShutterDefault, Mocks$9 as ShutterMocks, ShutterProtected, type ShutterSchema, ShutterSimulator, ShutterState, Variants$d as ShutterVariants, SlitDefault, Mocks$8 as SlitMocks, type SlitSchema, SlitState, Variants$c as SlitVariants, TomoConfigLatencyTime, type TomoConfigSchema, Variants$2 as TomoConfigVariants, TomoDetectorAcquisitionMode, Mocks$3 as TomoDetectorMocks, TomoDetectorSamplePixelSize, type TomoDetectorSchema, TomoDetectorState, Variants$6 as TomoDetectorVariants, TomoDetectors as TomoDetectorsDefault, Mocks$2 as TomoDetectorsMocks, type TomoDetectorsSchema, TomoDetectorsState, Variants$5 as TomoDetectorsVariants, TomoFlatMotionDefault, Mocks$4 as TomoFlatMotionMocks, type TomoFlatMotionSchema, TomoFlatMotionSimulator, TomoFlatMotionSmall, TomoFlatMotionState, type TomoFlatMotionStep, Variants$8 as TomoFlatMotionVariants, type TomoHoloDistance, type TomoHoloSchema, TomoHoloState, Variants$1 as TomoHoloVariants, TomoImagingActions, TomoImagingDefault, TomoImagingExposureTime, Mocks$1 as TomoImagingMocks, type TomoImagingSchema, TomoImagingSettleTime, TomoImagingSimulator, TomoImagingState, TomoImagingUpdateMode, Variants$4 as TomoImagingVariants, TomoReferencePositionDefault, type TomoReferencePositionSchema, Variants$7 as TomoReferencePositionVariants, type TomoSampleStageSchema, Variants$3 as TomoSampleStageVariants, TypeIcon, type Props$c as TypeIconOptions, Valve as ValveDefault, Mocks as ValveMocks, type ValveSchema, Variants as ValveVariants, ErrorBoundary as YAMLErrorBoundary, Main as YAMLLayout, asserts_d as YamlAsserts, type YamlComponent$1 as YamlComponent, type YamlNode, createMotorMock, dynamicOp, isLimaHardware, isMotorHardware, isOpticHardware, isTomoConfigHardware, isTomoDetectorHardware, isTomoDetectorsHardware, isTomoFlatMotionHardware, isTomoHoloHardware, isTomoReferencePositionHardware, isTomoSampleStageHardware, limaGuessSubframes, registerHardwareComponent, registerMonitorComponent, registerRuntimeHook, registerComponent as registerYamlComponent, registerComponents as registerYamlComponents, registerYamlType, renderYamlNode, useLimaHardware, useMotorHardware, useMotorStates, useTomoConfigHardware, useTomoDetectorHardware, useTomoDetectorsHardware, useTomoFlatMotionHardware, useTomoHoloHardware, useTomoSampleStageHardware, yamlMap };