@imperosoft/cris-webui-components 1.3.0 → 1.4.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.mts CHANGED
@@ -605,6 +605,8 @@ interface CrisViewDspClasses {
605
605
  mute?: string;
606
606
  /** Added to the mute button when muted. */
607
607
  muteActive?: string;
608
+ /** Opaque backplate behind the sticky header/label bands (seam guard during drag). */
609
+ mixerBackplate?: string;
608
610
  /** Mixer fixed corner. */
609
611
  mixerCorner?: string;
610
612
  /** Mixer sticky header/label chrome. */
@@ -700,22 +702,6 @@ interface CrisViewDspOutputsProps extends DspStylingProps {
700
702
  }
701
703
  declare function CrisViewDspOutputs({ oid, skip, emptyLabel, classes, icons, className, }: CrisViewDspOutputsProps): react_jsx_runtime.JSX.Element;
702
704
 
703
- interface CrisViewDspMixerProps extends DspStylingProps {
704
- /** OID of the DSP custom object. */
705
- oid: string;
706
- }
707
- declare function CrisViewDspMixer({ oid, classes, icons, className }: CrisViewDspMixerProps): react_jsx_runtime.JSX.Element;
708
-
709
- interface CrisViewDspPresetsProps extends Pick<DspStylingProps, 'classes' | 'className'> {
710
- /** OID of the DSP custom object. */
711
- oid: string;
712
- /** Presets to show (the backend does not dictate the count). */
713
- presets: CrisViewDspPreset[];
714
- /** Keep the active preset highlighted after release. Default true. */
715
- sustainedPresetFeedback?: boolean;
716
- }
717
- declare function CrisViewDspPresets({ oid, presets, sustainedPresetFeedback, classes, className, }: CrisViewDspPresetsProps): react_jsx_runtime.JSX.Element;
718
-
719
705
  /**
720
706
  * DSP custom-object protocol types (the shape exposed by a DSP backend's custom
721
707
  * object, e.g. `DSP1_API` / Dsp.CrisApi.cs). The dynamic DSP view is fed entirely
@@ -884,6 +870,72 @@ interface MixerAxisItem {
884
870
  }
885
871
  declare function buildMixerAxis(channels: DspIo[], links: DspLinkedGroup[] | undefined): MixerAxisItem[];
886
872
 
873
+ /** Track sizes + derived sticky offsets / z-order of the mixer grid. Passed to the
874
+ * header render-props so a custom header lands on the same tracks as the cells. */
875
+ interface MixerGeometry {
876
+ /** Output display-group column width (left, vertical text). */
877
+ groupW: string;
878
+ /** Output linked-group column width. */
879
+ commonW: string;
880
+ /** Output channel-name column width. groupW+commonW+chanW = label-band width. */
881
+ chanW: string;
882
+ /** Input display-group header row height (top). */
883
+ groupH: string;
884
+ /** Input linked-group header row height. */
885
+ commonH: string;
886
+ /** Input channel-name header row height (toward cells). */
887
+ chanH: string;
888
+ /** Crosspoint cell width. */
889
+ cellW: string;
890
+ /** Output row height. */
891
+ rowH: string;
892
+ /** Sticky `top` of the input link tier (row 2). */
893
+ topLink: string;
894
+ /** Sticky `top` of the input channel tier (row 3). */
895
+ topChan: string;
896
+ /** Sticky `left` of the output link tier (col 2). */
897
+ leftLink: string;
898
+ /** Sticky `left` of the output channel tier (col 3). */
899
+ leftChan: string;
900
+ /** z-order: corner > group > link > chan > cells. */
901
+ z: {
902
+ corner: number;
903
+ group: number;
904
+ link: number;
905
+ chan: number;
906
+ };
907
+ /** Column count = inputs.length; first input column is grid column 4. */
908
+ inputCount: number;
909
+ /** Row count = outputs.length; first output row is grid row 4. */
910
+ outputCount: number;
911
+ }
912
+ /** Caller overrides for the eight grid track sizes (derived offsets are recomputed). */
913
+ type MixerGeometryOverrides = Partial<Pick<MixerGeometry, 'groupW' | 'commonW' | 'chanW' | 'groupH' | 'commonH' | 'chanH' | 'cellW' | 'rowH'>>;
914
+
915
+ interface CrisViewDspMixerProps extends DspStylingProps {
916
+ /** OID of the DSP custom object. */
917
+ oid: string;
918
+ /** Track-size overrides; the rest of the geometry keeps the em defaults. */
919
+ geometry?: MixerGeometryOverrides;
920
+ /** Custom top band (rows 1–3 over the input columns). Default: text tiers. */
921
+ renderInputHeader?: (inAxis: MixerAxisItem3[], geom: MixerGeometry) => ReactNode;
922
+ /** Custom left band (cols 1–3 over the output rows). Default: text tiers. */
923
+ renderOutputHeader?: (outAxis: MixerAxisItem3[], geom: MixerGeometry) => ReactNode;
924
+ /** Custom fixed-corner content. Default: "OUT \ IN". */
925
+ renderCorner?: (geom: MixerGeometry) => ReactNode;
926
+ }
927
+ declare function CrisViewDspMixer({ oid, classes, icons, className, geometry, renderInputHeader, renderOutputHeader, renderCorner, }: CrisViewDspMixerProps): react_jsx_runtime.JSX.Element;
928
+
929
+ interface CrisViewDspPresetsProps extends Pick<DspStylingProps, 'classes' | 'className'> {
930
+ /** OID of the DSP custom object. */
931
+ oid: string;
932
+ /** Presets to show (the backend does not dictate the count). */
933
+ presets: CrisViewDspPreset[];
934
+ /** Keep the active preset highlighted after release. Default true. */
935
+ sustainedPresetFeedback?: boolean;
936
+ }
937
+ declare function CrisViewDspPresets({ oid, presets, sustainedPresetFeedback, classes, className, }: CrisViewDspPresetsProps): react_jsx_runtime.JSX.Element;
938
+
887
939
  interface CrisViewDspChannelsProps extends DspStylingProps {
888
940
  /** OID of the DSP custom object. */
889
941
  oid: string;
@@ -950,4 +1002,4 @@ declare function getIconUrl(name: string): string;
950
1002
  */
951
1003
  declare function getIconFilter(active: boolean): string | undefined;
952
1004
 
953
- export { type CommIndicatorState, type CommKind, CrisButton, type CrisButtonProps, CrisCoDebug, type CrisCoDebugProps, CrisCoList, type CrisCoListProps, CrisCoMatrixListsTie, type CrisCoMatrixListsTieProps, CrisGauge, type CrisGaugeProps, CrisOfflinePage, type CrisOfflinePageProps, CrisSlider, type CrisSliderProps, CrisSpinner, type CrisSpinnerProps, CrisText, CrisTextInput, type CrisTextInputProps, type CrisTextProps, CrisViewComm, type CrisViewCommClasses, type CrisViewCommIcons, type CrisViewCommProps, CrisViewDspChannels, type CrisViewDspChannelsProps, type CrisViewDspClasses, CrisViewDspFull, type CrisViewDspFullProps, type CrisViewDspIcons, CrisViewDspInputs, type CrisViewDspInputsProps, CrisViewDspMixer, type CrisViewDspMixerProps, CrisViewDspOutputs, type CrisViewDspOutputsProps, type CrisViewDspPreset, CrisViewDspPresets, type CrisViewDspPresetsProps, type DebugModule, type DeviceComm, type DspDisplayGroup, type DspDisplayGroups, type DspIo, type DspIoDir, type DspLinkedGroup, type DspLinks, type DspOut, type DspPreset, type DspSection, type DspStatus, type DspStrip, type DspStylingProps, type IconConfig, type ListItem, type ListStatus, type MatrixItem, type MatrixStatus, type MixerAxisItem, type MixerAxisItem3, type SpinnerSpeed, buildIoSections, buildMixerAxis, buildMixerAxisGrouped, clampLevel, collapseStrips, commIndicators, configureIcons, getIconConfig, getIconFilter, getIconUrl, groupsFor, levelToPercent, linksFor, normalizeLinked };
1005
+ export { type CommIndicatorState, type CommKind, CrisButton, type CrisButtonProps, CrisCoDebug, type CrisCoDebugProps, CrisCoList, type CrisCoListProps, CrisCoMatrixListsTie, type CrisCoMatrixListsTieProps, CrisGauge, type CrisGaugeProps, CrisOfflinePage, type CrisOfflinePageProps, CrisSlider, type CrisSliderProps, CrisSpinner, type CrisSpinnerProps, CrisText, CrisTextInput, type CrisTextInputProps, type CrisTextProps, CrisViewComm, type CrisViewCommClasses, type CrisViewCommIcons, type CrisViewCommProps, CrisViewDspChannels, type CrisViewDspChannelsProps, type CrisViewDspClasses, CrisViewDspFull, type CrisViewDspFullProps, type CrisViewDspIcons, CrisViewDspInputs, type CrisViewDspInputsProps, CrisViewDspMixer, type CrisViewDspMixerProps, CrisViewDspOutputs, type CrisViewDspOutputsProps, type CrisViewDspPreset, CrisViewDspPresets, type CrisViewDspPresetsProps, type DebugModule, type DeviceComm, type DspDisplayGroup, type DspDisplayGroups, type DspIo, type DspIoDir, type DspLinkedGroup, type DspLinks, type DspOut, type DspPreset, type DspSection, type DspStatus, type DspStrip, type DspStylingProps, type IconConfig, type ListItem, type ListStatus, type MatrixItem, type MatrixStatus, type MixerAxisItem, type MixerAxisItem3, type MixerGeometry, type MixerGeometryOverrides, type SpinnerSpeed, buildIoSections, buildMixerAxis, buildMixerAxisGrouped, clampLevel, collapseStrips, commIndicators, configureIcons, getIconConfig, getIconFilter, getIconUrl, groupsFor, levelToPercent, linksFor, normalizeLinked };
package/dist/index.d.ts CHANGED
@@ -605,6 +605,8 @@ interface CrisViewDspClasses {
605
605
  mute?: string;
606
606
  /** Added to the mute button when muted. */
607
607
  muteActive?: string;
608
+ /** Opaque backplate behind the sticky header/label bands (seam guard during drag). */
609
+ mixerBackplate?: string;
608
610
  /** Mixer fixed corner. */
609
611
  mixerCorner?: string;
610
612
  /** Mixer sticky header/label chrome. */
@@ -700,22 +702,6 @@ interface CrisViewDspOutputsProps extends DspStylingProps {
700
702
  }
701
703
  declare function CrisViewDspOutputs({ oid, skip, emptyLabel, classes, icons, className, }: CrisViewDspOutputsProps): react_jsx_runtime.JSX.Element;
702
704
 
703
- interface CrisViewDspMixerProps extends DspStylingProps {
704
- /** OID of the DSP custom object. */
705
- oid: string;
706
- }
707
- declare function CrisViewDspMixer({ oid, classes, icons, className }: CrisViewDspMixerProps): react_jsx_runtime.JSX.Element;
708
-
709
- interface CrisViewDspPresetsProps extends Pick<DspStylingProps, 'classes' | 'className'> {
710
- /** OID of the DSP custom object. */
711
- oid: string;
712
- /** Presets to show (the backend does not dictate the count). */
713
- presets: CrisViewDspPreset[];
714
- /** Keep the active preset highlighted after release. Default true. */
715
- sustainedPresetFeedback?: boolean;
716
- }
717
- declare function CrisViewDspPresets({ oid, presets, sustainedPresetFeedback, classes, className, }: CrisViewDspPresetsProps): react_jsx_runtime.JSX.Element;
718
-
719
705
  /**
720
706
  * DSP custom-object protocol types (the shape exposed by a DSP backend's custom
721
707
  * object, e.g. `DSP1_API` / Dsp.CrisApi.cs). The dynamic DSP view is fed entirely
@@ -884,6 +870,72 @@ interface MixerAxisItem {
884
870
  }
885
871
  declare function buildMixerAxis(channels: DspIo[], links: DspLinkedGroup[] | undefined): MixerAxisItem[];
886
872
 
873
+ /** Track sizes + derived sticky offsets / z-order of the mixer grid. Passed to the
874
+ * header render-props so a custom header lands on the same tracks as the cells. */
875
+ interface MixerGeometry {
876
+ /** Output display-group column width (left, vertical text). */
877
+ groupW: string;
878
+ /** Output linked-group column width. */
879
+ commonW: string;
880
+ /** Output channel-name column width. groupW+commonW+chanW = label-band width. */
881
+ chanW: string;
882
+ /** Input display-group header row height (top). */
883
+ groupH: string;
884
+ /** Input linked-group header row height. */
885
+ commonH: string;
886
+ /** Input channel-name header row height (toward cells). */
887
+ chanH: string;
888
+ /** Crosspoint cell width. */
889
+ cellW: string;
890
+ /** Output row height. */
891
+ rowH: string;
892
+ /** Sticky `top` of the input link tier (row 2). */
893
+ topLink: string;
894
+ /** Sticky `top` of the input channel tier (row 3). */
895
+ topChan: string;
896
+ /** Sticky `left` of the output link tier (col 2). */
897
+ leftLink: string;
898
+ /** Sticky `left` of the output channel tier (col 3). */
899
+ leftChan: string;
900
+ /** z-order: corner > group > link > chan > cells. */
901
+ z: {
902
+ corner: number;
903
+ group: number;
904
+ link: number;
905
+ chan: number;
906
+ };
907
+ /** Column count = inputs.length; first input column is grid column 4. */
908
+ inputCount: number;
909
+ /** Row count = outputs.length; first output row is grid row 4. */
910
+ outputCount: number;
911
+ }
912
+ /** Caller overrides for the eight grid track sizes (derived offsets are recomputed). */
913
+ type MixerGeometryOverrides = Partial<Pick<MixerGeometry, 'groupW' | 'commonW' | 'chanW' | 'groupH' | 'commonH' | 'chanH' | 'cellW' | 'rowH'>>;
914
+
915
+ interface CrisViewDspMixerProps extends DspStylingProps {
916
+ /** OID of the DSP custom object. */
917
+ oid: string;
918
+ /** Track-size overrides; the rest of the geometry keeps the em defaults. */
919
+ geometry?: MixerGeometryOverrides;
920
+ /** Custom top band (rows 1–3 over the input columns). Default: text tiers. */
921
+ renderInputHeader?: (inAxis: MixerAxisItem3[], geom: MixerGeometry) => ReactNode;
922
+ /** Custom left band (cols 1–3 over the output rows). Default: text tiers. */
923
+ renderOutputHeader?: (outAxis: MixerAxisItem3[], geom: MixerGeometry) => ReactNode;
924
+ /** Custom fixed-corner content. Default: "OUT \ IN". */
925
+ renderCorner?: (geom: MixerGeometry) => ReactNode;
926
+ }
927
+ declare function CrisViewDspMixer({ oid, classes, icons, className, geometry, renderInputHeader, renderOutputHeader, renderCorner, }: CrisViewDspMixerProps): react_jsx_runtime.JSX.Element;
928
+
929
+ interface CrisViewDspPresetsProps extends Pick<DspStylingProps, 'classes' | 'className'> {
930
+ /** OID of the DSP custom object. */
931
+ oid: string;
932
+ /** Presets to show (the backend does not dictate the count). */
933
+ presets: CrisViewDspPreset[];
934
+ /** Keep the active preset highlighted after release. Default true. */
935
+ sustainedPresetFeedback?: boolean;
936
+ }
937
+ declare function CrisViewDspPresets({ oid, presets, sustainedPresetFeedback, classes, className, }: CrisViewDspPresetsProps): react_jsx_runtime.JSX.Element;
938
+
887
939
  interface CrisViewDspChannelsProps extends DspStylingProps {
888
940
  /** OID of the DSP custom object. */
889
941
  oid: string;
@@ -950,4 +1002,4 @@ declare function getIconUrl(name: string): string;
950
1002
  */
951
1003
  declare function getIconFilter(active: boolean): string | undefined;
952
1004
 
953
- export { type CommIndicatorState, type CommKind, CrisButton, type CrisButtonProps, CrisCoDebug, type CrisCoDebugProps, CrisCoList, type CrisCoListProps, CrisCoMatrixListsTie, type CrisCoMatrixListsTieProps, CrisGauge, type CrisGaugeProps, CrisOfflinePage, type CrisOfflinePageProps, CrisSlider, type CrisSliderProps, CrisSpinner, type CrisSpinnerProps, CrisText, CrisTextInput, type CrisTextInputProps, type CrisTextProps, CrisViewComm, type CrisViewCommClasses, type CrisViewCommIcons, type CrisViewCommProps, CrisViewDspChannels, type CrisViewDspChannelsProps, type CrisViewDspClasses, CrisViewDspFull, type CrisViewDspFullProps, type CrisViewDspIcons, CrisViewDspInputs, type CrisViewDspInputsProps, CrisViewDspMixer, type CrisViewDspMixerProps, CrisViewDspOutputs, type CrisViewDspOutputsProps, type CrisViewDspPreset, CrisViewDspPresets, type CrisViewDspPresetsProps, type DebugModule, type DeviceComm, type DspDisplayGroup, type DspDisplayGroups, type DspIo, type DspIoDir, type DspLinkedGroup, type DspLinks, type DspOut, type DspPreset, type DspSection, type DspStatus, type DspStrip, type DspStylingProps, type IconConfig, type ListItem, type ListStatus, type MatrixItem, type MatrixStatus, type MixerAxisItem, type MixerAxisItem3, type SpinnerSpeed, buildIoSections, buildMixerAxis, buildMixerAxisGrouped, clampLevel, collapseStrips, commIndicators, configureIcons, getIconConfig, getIconFilter, getIconUrl, groupsFor, levelToPercent, linksFor, normalizeLinked };
1005
+ export { type CommIndicatorState, type CommKind, CrisButton, type CrisButtonProps, CrisCoDebug, type CrisCoDebugProps, CrisCoList, type CrisCoListProps, CrisCoMatrixListsTie, type CrisCoMatrixListsTieProps, CrisGauge, type CrisGaugeProps, CrisOfflinePage, type CrisOfflinePageProps, CrisSlider, type CrisSliderProps, CrisSpinner, type CrisSpinnerProps, CrisText, CrisTextInput, type CrisTextInputProps, type CrisTextProps, CrisViewComm, type CrisViewCommClasses, type CrisViewCommIcons, type CrisViewCommProps, CrisViewDspChannels, type CrisViewDspChannelsProps, type CrisViewDspClasses, CrisViewDspFull, type CrisViewDspFullProps, type CrisViewDspIcons, CrisViewDspInputs, type CrisViewDspInputsProps, CrisViewDspMixer, type CrisViewDspMixerProps, CrisViewDspOutputs, type CrisViewDspOutputsProps, type CrisViewDspPreset, CrisViewDspPresets, type CrisViewDspPresetsProps, type DebugModule, type DeviceComm, type DspDisplayGroup, type DspDisplayGroups, type DspIo, type DspIoDir, type DspLinkedGroup, type DspLinks, type DspOut, type DspPreset, type DspSection, type DspStatus, type DspStrip, type DspStylingProps, type IconConfig, type ListItem, type ListStatus, type MatrixItem, type MatrixStatus, type MixerAxisItem, type MixerAxisItem3, type MixerGeometry, type MixerGeometryOverrides, type SpinnerSpeed, buildIoSections, buildMixerAxis, buildMixerAxisGrouped, clampLevel, collapseStrips, commIndicators, configureIcons, getIconConfig, getIconFilter, getIconUrl, groupsFor, levelToPercent, linksFor, normalizeLinked };