@procaaso/alphinity-ui-components 1.8.3 → 1.9.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.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +99 -72
- package/dist/index.d.ts +99 -72
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
3
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
-
import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import react__default from 'react';
|
|
5
3
|
import * as _emotion_styled from '@emotion/styled';
|
|
6
4
|
import * as _emotion_react from '@emotion/react';
|
|
7
5
|
import * as _mui_system from '@mui/system';
|
|
8
6
|
import * as _mui_material from '@mui/material';
|
|
7
|
+
import * as _mui_material_OverridableComponent from '@mui/material/OverridableComponent';
|
|
9
8
|
|
|
10
|
-
interface ButtonProps extends
|
|
9
|
+
interface ButtonProps extends react__default.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
11
10
|
variant?: 'primary' | 'secondary';
|
|
12
|
-
children:
|
|
11
|
+
children: react__default.ReactNode;
|
|
13
12
|
}
|
|
14
|
-
declare const Button:
|
|
13
|
+
declare const Button: react__default.FC<ButtonProps>;
|
|
15
14
|
|
|
16
15
|
interface SelectorOption {
|
|
17
16
|
/** Unique value for the option */
|
|
@@ -23,7 +22,7 @@ interface SelectorOption {
|
|
|
23
22
|
/** Optional description for tooltip or additional context */
|
|
24
23
|
description?: string;
|
|
25
24
|
}
|
|
26
|
-
interface SelectorProps extends Omit<
|
|
25
|
+
interface SelectorProps extends Omit<react__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
27
26
|
/** Currently selected value */
|
|
28
27
|
value: string;
|
|
29
28
|
/** Callback when selection changes */
|
|
@@ -43,7 +42,7 @@ interface SelectorProps extends Omit<React__default.HTMLAttributes<HTMLDivElemen
|
|
|
43
42
|
/** Whether the dropdown should open upward */
|
|
44
43
|
dropdownUp?: boolean;
|
|
45
44
|
}
|
|
46
|
-
declare const Selector:
|
|
45
|
+
declare const Selector: react__default.FC<SelectorProps>;
|
|
47
46
|
|
|
48
47
|
/**
|
|
49
48
|
* Status levels for telemetry values
|
|
@@ -189,7 +188,7 @@ interface ModeConfig {
|
|
|
189
188
|
/** Precision for second setpoint */
|
|
190
189
|
secondPrecision?: number;
|
|
191
190
|
}
|
|
192
|
-
interface ControlPanelProps extends
|
|
191
|
+
interface ControlPanelProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
193
192
|
/** Panel title/identifier */
|
|
194
193
|
title: string;
|
|
195
194
|
/** Currently selected mode */
|
|
@@ -250,9 +249,9 @@ interface ControlPanelProps extends React__default.HTMLAttributes<HTMLDivElement
|
|
|
250
249
|
/** Custom stop button text */
|
|
251
250
|
stopButtonText?: string;
|
|
252
251
|
}
|
|
253
|
-
declare const ControlPanel:
|
|
252
|
+
declare const ControlPanel: react__default.FC<ControlPanelProps>;
|
|
254
253
|
|
|
255
|
-
interface StatusIndicatorProps extends
|
|
254
|
+
interface StatusIndicatorProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
256
255
|
/** Status state determining color and behavior */
|
|
257
256
|
status: 'off' | 'normal' | 'alarm' | 'warning' | 'active' | 'fault';
|
|
258
257
|
/** Size of the indicator */
|
|
@@ -268,9 +267,9 @@ interface StatusIndicatorProps extends React__default.HTMLAttributes<HTMLDivElem
|
|
|
268
267
|
/** Whether the indicator should have a 3D LED effect */
|
|
269
268
|
led?: boolean;
|
|
270
269
|
}
|
|
271
|
-
declare const StatusIndicator:
|
|
270
|
+
declare const StatusIndicator: react__default.FC<StatusIndicatorProps>;
|
|
272
271
|
|
|
273
|
-
interface ValueEntryProps extends Omit<
|
|
272
|
+
interface ValueEntryProps extends Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {
|
|
274
273
|
/** Current value */
|
|
275
274
|
value: number | string;
|
|
276
275
|
/** Callback when value changes */
|
|
@@ -292,9 +291,9 @@ interface ValueEntryProps extends Omit<React__default.InputHTMLAttributes<HTMLIn
|
|
|
292
291
|
/** Whether the input is read-only */
|
|
293
292
|
readOnly?: boolean;
|
|
294
293
|
}
|
|
295
|
-
declare const ValueEntry:
|
|
294
|
+
declare const ValueEntry: react__default.FC<ValueEntryProps>;
|
|
296
295
|
|
|
297
|
-
interface LegacyValueEntryProps extends Omit<
|
|
296
|
+
interface LegacyValueEntryProps extends Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {
|
|
298
297
|
/** Current value */
|
|
299
298
|
value: number | string;
|
|
300
299
|
/** Callback when value changes */
|
|
@@ -316,7 +315,7 @@ interface LegacyValueEntryProps extends Omit<React__default.InputHTMLAttributes<
|
|
|
316
315
|
/** Whether the input is read-only */
|
|
317
316
|
readOnly?: boolean;
|
|
318
317
|
}
|
|
319
|
-
declare const LegacyValueEntry:
|
|
318
|
+
declare const LegacyValueEntry: react__default.FC<LegacyValueEntryProps>;
|
|
320
319
|
|
|
321
320
|
interface NodeControlConfig {
|
|
322
321
|
/** Node ID */
|
|
@@ -354,7 +353,7 @@ interface NodeControlConfig {
|
|
|
354
353
|
/** Whether setpoint is read-only */
|
|
355
354
|
readOnly?: boolean;
|
|
356
355
|
}
|
|
357
|
-
interface NodeControlsPanelProps extends
|
|
356
|
+
interface NodeControlsPanelProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
358
357
|
/** Control configuration for the selected node */
|
|
359
358
|
config: NodeControlConfig | null;
|
|
360
359
|
/** Callback to close the panel */
|
|
@@ -373,7 +372,7 @@ interface NodeControlsPanelProps extends React__default.HTMLAttributes<HTMLDivEl
|
|
|
373
372
|
* - Clear visual feedback
|
|
374
373
|
* - Bottom or side slide-in animation
|
|
375
374
|
*/
|
|
376
|
-
declare const NodeControlsPanel:
|
|
375
|
+
declare const NodeControlsPanel: react__default.FC<NodeControlsPanelProps>;
|
|
377
376
|
|
|
378
377
|
/**
|
|
379
378
|
* A custom action button rendered in the device control panel (e.g. Tare, Zero).
|
|
@@ -659,6 +658,20 @@ interface DeviceControlPanelProps {
|
|
|
659
658
|
undockIcon?: string;
|
|
660
659
|
/** Style for mode selector: 'buttons' (horizontal scroll), 'dropdown' (select), or 'modal' (click to open modal) */
|
|
661
660
|
modeSelectionStyle?: 'buttons' | 'dropdown' | 'modal';
|
|
661
|
+
/**
|
|
662
|
+
* Render this panel's OWN result toast. Default true, so existing
|
|
663
|
+
* consumers are unchanged.
|
|
664
|
+
*
|
|
665
|
+
* Set false when the host application already surfaces command and save
|
|
666
|
+
* results through its own notification channel. Without it the operator
|
|
667
|
+
* sees two notices for one action - this panel's optimistic "command
|
|
668
|
+
* sent", in this panel's styling, followed by the host's message for the
|
|
669
|
+
* real outcome - which reads as two different mechanisms.
|
|
670
|
+
*
|
|
671
|
+
* The result still lands in `binding.state`, so a host that opts out can
|
|
672
|
+
* read it and render its own.
|
|
673
|
+
*/
|
|
674
|
+
showBuiltInToast?: boolean;
|
|
662
675
|
/** Embedded mode - uses static positioning for rendering in containers (default: false) */
|
|
663
676
|
embedded?: boolean;
|
|
664
677
|
}
|
|
@@ -669,9 +682,9 @@ interface DeviceControlPanelProps {
|
|
|
669
682
|
* its live values move, so the memo bails only on genuinely idle ticks - the
|
|
670
683
|
* win is proportional to how often values are flat at display precision.
|
|
671
684
|
*/
|
|
672
|
-
declare function DeviceControlPanelImpl({ binding, onClose, position, align, touchOptimized, compact, fontScale, maxHeight, maxWidth, toastDuration, onModeChange, onParameterChange, onParameterActivate, onStart, onStop, startPending, stopPending, onCustomAction, onOpenConfig, showConfigButton, onUndock, undockIcon, modeSelectionStyle, embedded, }: DeviceControlPanelProps):
|
|
685
|
+
declare function DeviceControlPanelImpl({ binding, onClose, position, align, touchOptimized, compact, fontScale, maxHeight, maxWidth, toastDuration, onModeChange, onParameterChange, onParameterActivate, onStart, onStop, startPending, stopPending, onCustomAction, onOpenConfig, showConfigButton, onUndock, undockIcon, modeSelectionStyle, showBuiltInToast, embedded, }: DeviceControlPanelProps): react__default.JSX.Element | null;
|
|
673
686
|
/** Memo boundary - see DeviceControlPanelImpl doc comment (kiosk heap-leak fix). */
|
|
674
|
-
declare const DeviceControlPanel:
|
|
687
|
+
declare const DeviceControlPanel: react__default.MemoExoticComponent<typeof DeviceControlPanelImpl>;
|
|
675
688
|
|
|
676
689
|
interface NumpadDialogProps {
|
|
677
690
|
/** Whether the dialog is open */
|
|
@@ -720,7 +733,7 @@ interface NumpadDialogProps {
|
|
|
720
733
|
* out-of-range values are rejected (never silently clamped). The field pre-fills
|
|
721
734
|
* with the current value so an operator never blind-zeroes a live setpoint.
|
|
722
735
|
*/
|
|
723
|
-
declare const NumpadDialog:
|
|
736
|
+
declare const NumpadDialog: react__default.FC<NumpadDialogProps>;
|
|
724
737
|
|
|
725
738
|
type DisplayMode = 'standard' | 'dashboard';
|
|
726
739
|
interface FullscreenContainerProps {
|
|
@@ -731,9 +744,9 @@ type OverlayTheme = 'tank' | 'pressure' | 'vessel' | 'flow';
|
|
|
731
744
|
interface SVGLockedOverlayProps {
|
|
732
745
|
svgX: number;
|
|
733
746
|
svgY: number;
|
|
734
|
-
children:
|
|
747
|
+
children: react__default.ReactNode;
|
|
735
748
|
theme?: OverlayTheme;
|
|
736
|
-
style?:
|
|
749
|
+
style?: react__default.CSSProperties;
|
|
737
750
|
className?: string;
|
|
738
751
|
onClick?: () => void;
|
|
739
752
|
containerSelector?: string;
|
|
@@ -778,20 +791,20 @@ interface EquipmentIndicatorProps {
|
|
|
778
791
|
color: string;
|
|
779
792
|
label: string;
|
|
780
793
|
size?: number;
|
|
781
|
-
style?:
|
|
794
|
+
style?: react__default.CSSProperties;
|
|
782
795
|
className?: string;
|
|
783
796
|
}
|
|
784
797
|
interface FullscreenWorkspaceTab {
|
|
785
798
|
label: string;
|
|
786
799
|
value: string;
|
|
787
|
-
content:
|
|
788
|
-
}
|
|
789
|
-
interface FullscreenWorkspaceProps extends
|
|
790
|
-
svgContent:
|
|
791
|
-
overlays?:
|
|
792
|
-
leftPanel?:
|
|
793
|
-
rightPanel?:
|
|
794
|
-
footer?:
|
|
800
|
+
content: react__default.ReactNode;
|
|
801
|
+
}
|
|
802
|
+
interface FullscreenWorkspaceProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
803
|
+
svgContent: react__default.ReactNode;
|
|
804
|
+
overlays?: react__default.ReactNode;
|
|
805
|
+
leftPanel?: react__default.ReactNode;
|
|
806
|
+
rightPanel?: react__default.ReactNode;
|
|
807
|
+
footer?: react__default.ReactNode;
|
|
795
808
|
tabs?: FullscreenWorkspaceTab[];
|
|
796
809
|
activeTab?: string;
|
|
797
810
|
onTabChange?: (value: string) => void;
|
|
@@ -812,60 +825,60 @@ interface FullscreenWorkspaceProps extends React__default.HTMLAttributes<HTMLDiv
|
|
|
812
825
|
zoomDisabled?: boolean;
|
|
813
826
|
}
|
|
814
827
|
|
|
815
|
-
declare const FullscreenContainer: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
828
|
+
declare const FullscreenContainer: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
816
829
|
theme?: _emotion_react.Theme;
|
|
817
830
|
} & FullscreenContainerProps, {}, {}>;
|
|
818
|
-
declare const LeftPanel: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
831
|
+
declare const LeftPanel: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
819
832
|
theme?: _emotion_react.Theme;
|
|
820
833
|
} & {
|
|
821
834
|
collapsed: boolean;
|
|
822
835
|
}, {}, {}>;
|
|
823
|
-
declare const RightPanel: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
836
|
+
declare const RightPanel: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
824
837
|
theme?: _emotion_react.Theme;
|
|
825
838
|
} & {
|
|
826
839
|
collapsed: boolean;
|
|
827
840
|
}, {}, {}>;
|
|
828
|
-
declare const SVGArea: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
841
|
+
declare const SVGArea: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
829
842
|
theme?: _emotion_react.Theme;
|
|
830
843
|
}, {}, {}>;
|
|
831
|
-
declare const LeftToggleButton: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
844
|
+
declare const LeftToggleButton: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children" | "className" | "disabled" | "style" | "tabIndex" | "color" | "size" | "sx" | "classes" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "loading" | "loadingIndicator"> & {
|
|
832
845
|
theme?: _emotion_react.Theme;
|
|
833
846
|
} & {
|
|
834
847
|
collapsed: boolean;
|
|
835
848
|
}, {}, {}>;
|
|
836
|
-
declare const RightToggleButton: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
849
|
+
declare const RightToggleButton: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children" | "className" | "disabled" | "style" | "tabIndex" | "color" | "size" | "sx" | "classes" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "loading" | "loadingIndicator"> & {
|
|
837
850
|
theme?: _emotion_react.Theme;
|
|
838
851
|
} & {
|
|
839
852
|
collapsed: boolean;
|
|
840
853
|
}, {}, {}>;
|
|
841
|
-
declare const DisplayModeToggle: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
854
|
+
declare const DisplayModeToggle: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children" | "className" | "disabled" | "style" | "tabIndex" | "color" | "size" | "sx" | "classes" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "loading" | "loadingIndicator"> & {
|
|
842
855
|
theme?: _emotion_react.Theme;
|
|
843
856
|
} & {
|
|
844
857
|
mode: DisplayMode;
|
|
845
858
|
}, {}, {}>;
|
|
846
|
-
declare const ZoomControls: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
859
|
+
declare const ZoomControls: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
847
860
|
theme?: _emotion_react.Theme;
|
|
848
861
|
}, {}, {}>;
|
|
849
|
-
declare const ZoomButton: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
862
|
+
declare const ZoomButton: _emotion_styled.StyledComponent<_mui_material.IconButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "children" | "className" | "disabled" | "style" | "tabIndex" | "color" | "size" | "sx" | "classes" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "loading" | "loadingIndicator"> & {
|
|
850
863
|
theme?: _emotion_react.Theme;
|
|
851
864
|
}, {}, {}>;
|
|
852
|
-
declare const FooterPanel: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
865
|
+
declare const FooterPanel: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
853
866
|
theme?: _emotion_react.Theme;
|
|
854
867
|
}, {}, {}>;
|
|
855
|
-
declare const PanelTabs: _emotion_styled.StyledComponent<_mui_material.TabsOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<
|
|
868
|
+
declare const PanelTabs: _emotion_styled.StyledComponent<_mui_material.TabsOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "variant" | "children" | "className" | "value" | "style" | "aria-label" | "aria-labelledby" | "onChange" | "sx" | "classes" | "action" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "orientation" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar" | "slots" | "slotProps"> & {
|
|
856
869
|
theme?: _emotion_react.Theme;
|
|
857
870
|
}, {}, {}>;
|
|
858
|
-
declare const PanelContent: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
871
|
+
declare const PanelContent: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
859
872
|
theme?: _emotion_react.Theme;
|
|
860
873
|
}, {}, {}>;
|
|
861
874
|
declare const FixedSVGContainer: _emotion_styled.StyledComponent<{
|
|
862
875
|
theme?: _emotion_react.Theme;
|
|
863
876
|
as?: React.ElementType;
|
|
864
|
-
},
|
|
877
|
+
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
865
878
|
declare const ScrollableSVGWrapper: _emotion_styled.StyledComponent<{
|
|
866
879
|
theme?: _emotion_react.Theme;
|
|
867
880
|
as?: React.ElementType;
|
|
868
|
-
},
|
|
881
|
+
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
869
882
|
|
|
870
883
|
declare const baseOverlayStyles: {
|
|
871
884
|
readonly tank: {
|
|
@@ -918,8 +931,8 @@ declare const baseOverlayStyles: {
|
|
|
918
931
|
};
|
|
919
932
|
};
|
|
920
933
|
declare const overlayStyles: Record<OverlayTheme, typeof baseOverlayStyles[OverlayTheme]>;
|
|
921
|
-
declare const SVGLockedOverlay: ({ svgX, svgY, children, theme, style, className, onClick, containerSelector, }: SVGLockedOverlayProps) =>
|
|
922
|
-
declare const DashboardCard: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<
|
|
934
|
+
declare const SVGLockedOverlay: ({ svgX, svgY, children, theme, style, className, onClick, containerSelector, }: SVGLockedOverlayProps) => react.JSX.Element;
|
|
935
|
+
declare const DashboardCard: _emotion_styled.StyledComponent<_mui_system.BoxOwnProps<_mui_material.Theme> & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof _mui_system.BoxOwnProps<_mui_material.Theme>> & {
|
|
923
936
|
theme?: _emotion_react.Theme;
|
|
924
937
|
} & {
|
|
925
938
|
svgX: number;
|
|
@@ -931,23 +944,23 @@ declare const CardHeader: _emotion_styled.StyledComponent<{
|
|
|
931
944
|
as?: React.ElementType;
|
|
932
945
|
} & {
|
|
933
946
|
color?: string;
|
|
934
|
-
},
|
|
947
|
+
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
935
948
|
declare const CardValue: _emotion_styled.StyledComponent<{
|
|
936
949
|
theme?: _emotion_react.Theme;
|
|
937
950
|
as?: React.ElementType;
|
|
938
|
-
},
|
|
951
|
+
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
939
952
|
declare const CardUnit: _emotion_styled.StyledComponent<{
|
|
940
953
|
theme?: _emotion_react.Theme;
|
|
941
954
|
as?: React.ElementType;
|
|
942
|
-
},
|
|
955
|
+
}, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
943
956
|
|
|
944
|
-
declare const TrendLine: ({ values, width, height, color, strokeWidth, backgroundColor, }: TrendLineProps) =>
|
|
945
|
-
declare const CircularGauge: ({ value, max, unit, label, size, color, }: CircularGaugeProps) =>
|
|
946
|
-
declare const Sparkline: ({ data, width, height, color }: SparklineProps) =>
|
|
947
|
-
declare const EquipmentIndicatorWithSparkline: ({ svgX, svgY, color, label, size, sparklineData, sparklineOffset, }: EquipmentIndicatorWithSparklineProps) =>
|
|
948
|
-
declare const EquipmentIndicator: ({ svgX, svgY, color, label, size, style, className, }: EquipmentIndicatorProps) =>
|
|
957
|
+
declare const TrendLine: ({ values, width, height, color, strokeWidth, backgroundColor, }: TrendLineProps) => react.JSX.Element;
|
|
958
|
+
declare const CircularGauge: ({ value, max, unit, label, size, color, }: CircularGaugeProps) => react.JSX.Element;
|
|
959
|
+
declare const Sparkline: ({ data, width, height, color }: SparklineProps) => react.JSX.Element | null;
|
|
960
|
+
declare const EquipmentIndicatorWithSparkline: ({ svgX, svgY, color, label, size, sparklineData, sparklineOffset, }: EquipmentIndicatorWithSparklineProps) => react.JSX.Element;
|
|
961
|
+
declare const EquipmentIndicator: ({ svgX, svgY, color, label, size, style, className, }: EquipmentIndicatorProps) => react.JSX.Element;
|
|
949
962
|
|
|
950
|
-
declare function FullscreenWorkspace({ svgContent, overlays, leftPanel, rightPanel, footer, tabs, activeTab, onTabChange, defaultLeftCollapsed, defaultRightCollapsed, leftCollapsed: leftCollapsedProp, rightCollapsed: rightCollapsedProp, onLeftCollapseChange, onRightCollapseChange, displayMode, defaultDisplayMode, onDisplayModeChange, showDisplayModeToggle, showZoomControls, onZoomIn, onZoomOut, onResetZoom, zoomDisabled, className, ...rest }: FullscreenWorkspaceProps):
|
|
963
|
+
declare function FullscreenWorkspace({ svgContent, overlays, leftPanel, rightPanel, footer, tabs, activeTab, onTabChange, defaultLeftCollapsed, defaultRightCollapsed, leftCollapsed: leftCollapsedProp, rightCollapsed: rightCollapsedProp, onLeftCollapseChange, onRightCollapseChange, displayMode, defaultDisplayMode, onDisplayModeChange, showDisplayModeToggle, showZoomControls, onZoomIn, onZoomOut, onResetZoom, zoomDisabled, className, ...rest }: FullscreenWorkspaceProps): react__default.ReactElement;
|
|
951
964
|
|
|
952
965
|
type Theme = 'modern' | 'hmi';
|
|
953
966
|
interface ThemeContextType {
|
|
@@ -957,17 +970,17 @@ interface ThemeContextType {
|
|
|
957
970
|
}
|
|
958
971
|
declare const useTheme: () => ThemeContextType;
|
|
959
972
|
interface ThemeProviderProps {
|
|
960
|
-
children:
|
|
973
|
+
children: react__default.ReactNode;
|
|
961
974
|
}
|
|
962
|
-
declare const ThemeProvider:
|
|
975
|
+
declare const ThemeProvider: react__default.FC<ThemeProviderProps>;
|
|
963
976
|
|
|
964
|
-
interface ThemeToggleProps extends
|
|
977
|
+
interface ThemeToggleProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
965
978
|
/** Size of the toggle */
|
|
966
979
|
size?: 'small' | 'medium' | 'large';
|
|
967
980
|
/** Position of the toggle */
|
|
968
981
|
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'inline';
|
|
969
982
|
}
|
|
970
|
-
declare const ThemeToggle:
|
|
983
|
+
declare const ThemeToggle: react__default.FC<ThemeToggleProps>;
|
|
971
984
|
|
|
972
985
|
/**
|
|
973
986
|
* ISA-101 High Performance HMI — Unified Status Color System
|
|
@@ -1436,13 +1449,13 @@ interface PIDCanvasFeatures {
|
|
|
1436
1449
|
/** Background color for canvas (default: '#ffffff') */
|
|
1437
1450
|
backgroundColor?: string;
|
|
1438
1451
|
}
|
|
1439
|
-
interface PIDCanvasProps extends
|
|
1452
|
+
interface PIDCanvasProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
1440
1453
|
/** The diagram to render */
|
|
1441
1454
|
diagram: Diagram;
|
|
1442
1455
|
/** Optional className for the container */
|
|
1443
1456
|
className?: string;
|
|
1444
1457
|
/** Optional inline styles for the container */
|
|
1445
|
-
style?:
|
|
1458
|
+
style?: react__default.CSSProperties;
|
|
1446
1459
|
/** Enable interactive features (pan, zoom, selection, telemetry, dragNodes) */
|
|
1447
1460
|
features?: PIDCanvasFeatures;
|
|
1448
1461
|
/** Callback when selection changes */
|
|
@@ -1498,20 +1511,20 @@ interface PIDCanvasControls {
|
|
|
1498
1511
|
*
|
|
1499
1512
|
* Future: Editing tools, symbol library UI
|
|
1500
1513
|
*/
|
|
1501
|
-
declare function PIDCanvasImpl({ diagram, className, style, features, onSelectionChange, onNodeClick, onPipeClick, onNodeMove, onDiagramChange, onDelete, onItemsCopied, onPaste, onSymbolDrop, onPipeCreated, onMounted, telemetry, statusColorMap, ...props }: PIDCanvasProps):
|
|
1514
|
+
declare function PIDCanvasImpl({ diagram, className, style, features, onSelectionChange, onNodeClick, onPipeClick, onNodeMove, onDiagramChange, onDelete, onItemsCopied, onPaste, onSymbolDrop, onPipeCreated, onMounted, telemetry, statusColorMap, ...props }: PIDCanvasProps): react__default.ReactElement;
|
|
1502
1515
|
/**
|
|
1503
1516
|
* Memo boundary - see PIDCanvasImpl doc comment (renderer-OOM fix). Shallow
|
|
1504
1517
|
* compare: `diagram`, `telemetry`, `features`, `style`, `statusColorMap`, and
|
|
1505
1518
|
* every callback are compared by identity; hosts that keep them stable skip
|
|
1506
1519
|
* the full-canvas re-render entirely when unrelated screen state changes.
|
|
1507
1520
|
*/
|
|
1508
|
-
declare const PIDCanvas:
|
|
1521
|
+
declare const PIDCanvas: react__default.MemoExoticComponent<typeof PIDCanvasImpl>;
|
|
1509
1522
|
|
|
1510
1523
|
interface SymbolLibraryProps {
|
|
1511
1524
|
/** Optional className for styling */
|
|
1512
1525
|
className?: string;
|
|
1513
1526
|
/** Callback when a symbol drag starts */
|
|
1514
|
-
onSymbolDragStart?: (symbolId: string, event:
|
|
1527
|
+
onSymbolDragStart?: (symbolId: string, event: react__default.DragEvent) => void;
|
|
1515
1528
|
/** Show category filter */
|
|
1516
1529
|
showCategories?: boolean;
|
|
1517
1530
|
/** Custom symbol categories */
|
|
@@ -1523,7 +1536,7 @@ interface SymbolLibraryProps {
|
|
|
1523
1536
|
* Displays available symbols organized by category
|
|
1524
1537
|
* Supports drag-and-drop to add new nodes to diagrams
|
|
1525
1538
|
*/
|
|
1526
|
-
declare function SymbolLibrary({ className, onSymbolDragStart, showCategories, categories, }: SymbolLibraryProps):
|
|
1539
|
+
declare function SymbolLibrary({ className, onSymbolDragStart, showCategories, categories, }: SymbolLibraryProps): react__default.ReactElement;
|
|
1527
1540
|
|
|
1528
1541
|
interface NodeConfigPanelProps {
|
|
1529
1542
|
/** Selected node to configure */
|
|
@@ -1541,7 +1554,7 @@ interface NodeConfigPanelProps {
|
|
|
1541
1554
|
/** Additional CSS class name */
|
|
1542
1555
|
className?: string;
|
|
1543
1556
|
/** Custom styles */
|
|
1544
|
-
style?:
|
|
1557
|
+
style?: react__default.CSSProperties;
|
|
1545
1558
|
}
|
|
1546
1559
|
/**
|
|
1547
1560
|
* NodeConfigPanel - Reusable configuration panel for editing node properties and telemetry
|
|
@@ -1557,7 +1570,7 @@ interface NodeConfigPanelProps {
|
|
|
1557
1570
|
* />
|
|
1558
1571
|
* ```
|
|
1559
1572
|
*/
|
|
1560
|
-
declare function NodeConfigPanel({ node, binding, onUpdateNode, onUpdateTelemetry, onAddTelemetry, onRemove, className, style, }: NodeConfigPanelProps):
|
|
1573
|
+
declare function NodeConfigPanel({ node, binding, onUpdateNode, onUpdateTelemetry, onAddTelemetry, onRemove, className, style, }: NodeConfigPanelProps): react__default.JSX.Element;
|
|
1561
1574
|
|
|
1562
1575
|
/**
|
|
1563
1576
|
* Validates a diagram object structure
|
|
@@ -1976,6 +1989,20 @@ interface DeviceConfigPanelProps {
|
|
|
1976
1989
|
onOpenControls?: () => void;
|
|
1977
1990
|
/** Show controls button in header */
|
|
1978
1991
|
showControlsButton?: boolean;
|
|
1992
|
+
/**
|
|
1993
|
+
* Render this panel's OWN result toast. Default true, so existing
|
|
1994
|
+
* consumers are unchanged.
|
|
1995
|
+
*
|
|
1996
|
+
* Set false when the host application already surfaces command and save
|
|
1997
|
+
* results through its own notification channel. Without it the operator
|
|
1998
|
+
* sees two notices for one action - this panel's optimistic "command
|
|
1999
|
+
* sent", in this panel's styling, followed by the host's message for the
|
|
2000
|
+
* real outcome - which reads as two different mechanisms.
|
|
2001
|
+
*
|
|
2002
|
+
* The result still lands in `binding.state`, so a host that opts out can
|
|
2003
|
+
* read it and render its own.
|
|
2004
|
+
*/
|
|
2005
|
+
showBuiltInToast?: boolean;
|
|
1979
2006
|
/** Embedded mode - uses static positioning for rendering in containers (default: false) */
|
|
1980
2007
|
embedded?: boolean;
|
|
1981
2008
|
}
|
|
@@ -1989,9 +2016,9 @@ interface DeviceConfigPanelProps {
|
|
|
1989
2016
|
* pays off when the host passes identity-stable `binding` and handler props;
|
|
1990
2017
|
* an unstable host degrades gracefully to the old behavior.
|
|
1991
2018
|
*/
|
|
1992
|
-
declare function DeviceConfigPanelImpl({ binding, onClose, onUndock, undockIcon, position, align, touchOptimized, compact, fontScale, maxHeight, maxWidth, toastDuration, onOpenControls, showControlsButton, embedded, }: DeviceConfigPanelProps):
|
|
2019
|
+
declare function DeviceConfigPanelImpl({ binding, onClose, onUndock, undockIcon, position, align, touchOptimized, compact, fontScale, maxHeight, maxWidth, toastDuration, onOpenControls, showControlsButton, showBuiltInToast, embedded, }: DeviceConfigPanelProps): react__default.JSX.Element | null;
|
|
1993
2020
|
/** Memo boundary - see DeviceConfigPanelImpl doc comment (kiosk heap-leak fix). */
|
|
1994
|
-
declare const DeviceConfigPanel:
|
|
2021
|
+
declare const DeviceConfigPanel: react__default.MemoExoticComponent<typeof DeviceConfigPanelImpl>;
|
|
1995
2022
|
|
|
1996
2023
|
/**
|
|
1997
2024
|
* Options for simulation behavior
|
package/dist/index.js
CHANGED
|
@@ -946,6 +946,7 @@ function DeviceControlPanelImpl({
|
|
|
946
946
|
onUndock,
|
|
947
947
|
undockIcon = "\u21F1",
|
|
948
948
|
modeSelectionStyle = "buttons",
|
|
949
|
+
showBuiltInToast = true,
|
|
949
950
|
embedded = false
|
|
950
951
|
}) {
|
|
951
952
|
const [localParameterValues, setLocalParameterValues] = useState5({});
|
|
@@ -1791,7 +1792,7 @@ function DeviceControlPanelImpl({
|
|
|
1791
1792
|
);
|
|
1792
1793
|
}) })
|
|
1793
1794
|
] }),
|
|
1794
|
-
binding.state.lastCommandResult && showToast && /* @__PURE__ */ jsx8(
|
|
1795
|
+
binding.state.lastCommandResult && showToast && showBuiltInToast && /* @__PURE__ */ jsx8(
|
|
1795
1796
|
"div",
|
|
1796
1797
|
{
|
|
1797
1798
|
style: {
|
|
@@ -8608,6 +8609,7 @@ function DeviceConfigPanelImpl({
|
|
|
8608
8609
|
toastDuration = 3e3,
|
|
8609
8610
|
onOpenControls,
|
|
8610
8611
|
showControlsButton = true,
|
|
8612
|
+
showBuiltInToast = true,
|
|
8611
8613
|
embedded = false
|
|
8612
8614
|
}) {
|
|
8613
8615
|
const [localValues, setLocalValues] = useState18(() => {
|
|
@@ -9273,7 +9275,7 @@ function DeviceConfigPanelImpl({
|
|
|
9273
9275
|
}
|
|
9274
9276
|
)
|
|
9275
9277
|
] }),
|
|
9276
|
-
binding.state.lastSaveResult && showToast && /* @__PURE__ */ jsx23(
|
|
9278
|
+
binding.state.lastSaveResult && showToast && showBuiltInToast && /* @__PURE__ */ jsx23(
|
|
9277
9279
|
"div",
|
|
9278
9280
|
{
|
|
9279
9281
|
style: {
|