All files / tools/src/types AnnotationStyle.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58                                                                                                                   
type Modes = '' | 'Active' | 'Passive' | 'Enabled';
type States = '' | 'Highlighted' | 'Selected' | 'Locked' | 'AutoGenerated';
 
type Properties =
  | 'color'
  | 'colorAutoGenerated'
  | 'lineWidth'
  | 'lineWidthAutoGenerated'
  | 'lineDash'
  | 'textBoxFontFamily'
  | 'textBoxFontSize'
  | 'textBoxColor'
  | 'textBoxBackground'
  | 'textBoxLinkLineWidth'
  | 'textBoxLinkLineDash'
  | 'locked'
  | 'fillColor'
  | 'fillOpacity'
  | 'textbox'
  | 'shadow'
  | 'visibility'
  | 'markerSize'
  | 'angleArcLineDash';
 
export type AnnotationStyle = {
  [key in `${Properties}${States}${Modes}`]?:
    | string
    | number
    | boolean
    | Record<string, unknown>;
};
 
export type ToolStyleConfig = {
  [toolName: string]: AnnotationStyle;
} & {
  global?: AnnotationStyle;
};
 
export type StyleConfig = {
  annotations?: {
    [annotationUID: string]: AnnotationStyle;
  };
  viewports?: {
    [viewportId: string]: ToolStyleConfig;
  };
  toolGroups?: {
    [toolGroupId: string]: ToolStyleConfig;
  };
  default: ToolStyleConfig;
};
 
export type StyleSpecifier = {
  viewportId?: string;
  toolGroupId?: string;
  toolName?: string;
  annotationUID?: string;
};