eli-video-interview 1.7.0 → 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.
Files changed (93) hide show
  1. package/esm/components/Charts/ReportPie.js +27 -10
  2. package/esm/components/react-photo-view/hooks/useAnimationPosition.d.ts +1 -1
  3. package/esm/modules/ai-question/Root.js +11 -5
  4. package/esm/modules/ai-question/components/GlobalDimensions/Dialog.d.ts +9 -0
  5. package/esm/modules/ai-question/components/GlobalDimensions/Dialog.js +154 -0
  6. package/esm/modules/ai-question/components/GlobalDimensions/index.d.ts +3 -0
  7. package/esm/modules/ai-question/components/GlobalDimensions/index.js +57 -0
  8. package/esm/modules/ai-question/components/QuestionModel/index.js +2 -1
  9. package/esm/modules/ai-question/components/QuestionModel/interface.d.ts +12 -0
  10. package/esm/modules/ai-question/components/QuestionPreview/styled.d.ts +2 -2
  11. package/esm/modules/ai-question/utils/weight.d.ts +17 -0
  12. package/esm/modules/ai-question/utils/weight.js +38 -0
  13. package/esm/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
  14. package/esm/modules/ai-report/components/VideoQuestion/styled.d.ts +2 -2
  15. package/esm/modules/ai-report/components/WorkPlaces/styled.d.ts +2 -2
  16. package/esm/modules/ai-report/interface.d.ts +16 -0
  17. package/esm/modules/ai-report-v2/Root.js +2 -1
  18. package/esm/modules/ai-report-v2/components/AIEvaluate/Graph.d.ts +2 -0
  19. package/esm/modules/ai-report-v2/components/AIEvaluate/Graph.js +57 -6
  20. package/esm/modules/ai-report-v2/components/AIEvaluate/index.js +1 -0
  21. package/esm/modules/ai-report-v2/components/GlobalDimensions/index.d.ts +3 -0
  22. package/esm/modules/ai-report-v2/components/GlobalDimensions/index.js +84 -0
  23. package/esm/modules/ai-report-v2/components/ReportHeader/ReportHeader.js +3 -2
  24. package/esm/modules/ai-report-v2/components/ScoreReport/styled.d.ts +3 -3
  25. package/esm/modules/ai-report-v2/components/VideoQuestion/styled.d.ts +2 -2
  26. package/esm/modules/ai-report-v2/components/WorkPlaces/styled.d.ts +2 -2
  27. package/esm/modules/ai-report-v2/components/styled.d.ts +3 -0
  28. package/esm/modules/ai-report-v2/components/styled.js +10 -0
  29. package/esm/modules/ai-report-v2/interface.d.ts +16 -0
  30. package/esm/modules/ai-report-v3/Root.js +2 -1
  31. package/esm/modules/ai-report-v3/components/AIEvaluate/Graph.d.ts +2 -0
  32. package/esm/modules/ai-report-v3/components/AIEvaluate/Graph.js +75 -48
  33. package/esm/modules/ai-report-v3/components/AIEvaluate/index.js +1 -0
  34. package/esm/modules/ai-report-v3/components/CheatRisk/CheatRisk.js +9 -4
  35. package/esm/modules/ai-report-v3/components/GlobalDimensions/index.d.ts +3 -0
  36. package/esm/modules/ai-report-v3/components/GlobalDimensions/index.js +82 -0
  37. package/esm/modules/ai-report-v3/components/ModuleTitle.d.ts +1 -1
  38. package/esm/modules/ai-report-v3/components/ModuleTitle.js +3 -1
  39. package/esm/modules/ai-report-v3/components/ScoreReport/styled.d.ts +3 -3
  40. package/esm/modules/ai-report-v3/components/VideoQuestion/styled.d.ts +2 -2
  41. package/esm/modules/ai-report-v3/components/WorkPlaces/styled.d.ts +2 -2
  42. package/esm/modules/ai-report-v3/interface.d.ts +16 -0
  43. package/esm/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
  44. package/esm/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
  45. package/esm/store/ai-question/question-model-store.d.ts +4 -1
  46. package/esm/store/ai-question/question-model-store.js +41 -5
  47. package/lib/components/Charts/ReportPie.js +27 -10
  48. package/lib/components/react-photo-view/hooks/useAnimationPosition.d.ts +1 -1
  49. package/lib/modules/ai-question/Root.js +11 -5
  50. package/lib/modules/ai-question/components/GlobalDimensions/Dialog.d.ts +9 -0
  51. package/lib/modules/ai-question/components/GlobalDimensions/Dialog.js +156 -0
  52. package/lib/modules/ai-question/components/GlobalDimensions/index.d.ts +3 -0
  53. package/lib/modules/ai-question/components/GlobalDimensions/index.js +62 -0
  54. package/lib/modules/ai-question/components/QuestionModel/index.js +2 -1
  55. package/lib/modules/ai-question/components/QuestionModel/interface.d.ts +12 -0
  56. package/lib/modules/ai-question/components/QuestionPreview/styled.d.ts +2 -2
  57. package/lib/modules/ai-question/utils/weight.d.ts +17 -0
  58. package/lib/modules/ai-question/utils/weight.js +43 -0
  59. package/lib/modules/ai-report/components/ScoreReport/styled.d.ts +3 -3
  60. package/lib/modules/ai-report/components/VideoQuestion/styled.d.ts +2 -2
  61. package/lib/modules/ai-report/components/WorkPlaces/styled.d.ts +2 -2
  62. package/lib/modules/ai-report/interface.d.ts +16 -0
  63. package/lib/modules/ai-report-v2/Root.js +2 -1
  64. package/lib/modules/ai-report-v2/components/AIEvaluate/Graph.d.ts +2 -0
  65. package/lib/modules/ai-report-v2/components/AIEvaluate/Graph.js +57 -6
  66. package/lib/modules/ai-report-v2/components/AIEvaluate/index.js +1 -0
  67. package/lib/modules/ai-report-v2/components/GlobalDimensions/index.d.ts +3 -0
  68. package/lib/modules/ai-report-v2/components/GlobalDimensions/index.js +89 -0
  69. package/lib/modules/ai-report-v2/components/ReportHeader/ReportHeader.js +2 -1
  70. package/lib/modules/ai-report-v2/components/ScoreReport/styled.d.ts +3 -3
  71. package/lib/modules/ai-report-v2/components/VideoQuestion/styled.d.ts +2 -2
  72. package/lib/modules/ai-report-v2/components/WorkPlaces/styled.d.ts +2 -2
  73. package/lib/modules/ai-report-v2/components/styled.d.ts +3 -0
  74. package/lib/modules/ai-report-v2/components/styled.js +11 -1
  75. package/lib/modules/ai-report-v2/interface.d.ts +16 -0
  76. package/lib/modules/ai-report-v3/Root.js +2 -1
  77. package/lib/modules/ai-report-v3/components/AIEvaluate/Graph.d.ts +2 -0
  78. package/lib/modules/ai-report-v3/components/AIEvaluate/Graph.js +75 -48
  79. package/lib/modules/ai-report-v3/components/AIEvaluate/index.js +1 -0
  80. package/lib/modules/ai-report-v3/components/CheatRisk/CheatRisk.js +9 -4
  81. package/lib/modules/ai-report-v3/components/GlobalDimensions/index.d.ts +3 -0
  82. package/lib/modules/ai-report-v3/components/GlobalDimensions/index.js +87 -0
  83. package/lib/modules/ai-report-v3/components/ModuleTitle.d.ts +1 -1
  84. package/lib/modules/ai-report-v3/components/ModuleTitle.js +3 -1
  85. package/lib/modules/ai-report-v3/components/ScoreReport/styled.d.ts +3 -3
  86. package/lib/modules/ai-report-v3/components/VideoQuestion/styled.d.ts +2 -2
  87. package/lib/modules/ai-report-v3/components/WorkPlaces/styled.d.ts +2 -2
  88. package/lib/modules/ai-report-v3/interface.d.ts +16 -0
  89. package/lib/modules/ai-template/components/TemplateList/styled.d.ts +3 -3
  90. package/lib/modules/ai-template/components/TemplateMenu/styled.d.ts +1 -1
  91. package/lib/store/ai-question/question-model-store.d.ts +4 -1
  92. package/lib/store/ai-question/question-model-store.js +41 -5
  93. package/package.json +1 -1
@@ -8,15 +8,15 @@ export declare const ScoreUnitTypography: import("@emotion/styled").StyledCompon
8
8
  export declare const RefreshIconRoot: import("@emotion/styled").StyledComponent<{
9
9
  children?: import("react").ReactNode;
10
10
  classes?: Partial<import("@mui/material").SvgIconClasses> | undefined;
11
- color?: "inherit" | "disabled" | "action" | "primary" | "secondary" | "success" | "error" | "info" | "warning" | undefined;
11
+ color?: "inherit" | "disabled" | "action" | "secondary" | "error" | "warning" | "success" | "info" | "primary" | undefined;
12
12
  fontSize?: "small" | "inherit" | "medium" | "large" | undefined;
13
13
  htmlColor?: string | undefined;
14
14
  shapeRendering?: string | undefined;
15
15
  sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
16
16
  titleAccess?: string | undefined;
17
17
  viewBox?: string | undefined;
18
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "name" | "type" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "method" | "d" | "y" | "values" | "end" | "href" | "viewBox" | "max" | "media" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
18
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "method" | "d" | "y" | "name" | "type" | "filter" | "fill" | "values" | "style" | "clipPath" | "mask" | "path" | "children" | "className" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "max" | "media" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
19
19
  ref?: ((instance: SVGSVGElement | null) => void) | import("react").RefObject<SVGSVGElement> | null | undefined;
20
- }, keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "htmlColor" | "titleAccess" | "viewBox"> & {
20
+ }, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "sx" | "viewBox" | "htmlColor" | "titleAccess"> & {
21
21
  children?: import("react").ReactNode;
22
22
  } & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare const StyledSlider: import("@emotion/styled").StyledComponent<{
3
- color?: "primary" | "secondary" | undefined;
3
+ color?: "secondary" | "primary" | undefined;
4
4
  classes?: (Partial<import("fbm-ui/lib/mui").SliderUnstyledClasses> & {
5
5
  colorPrimary?: string | undefined;
6
6
  colorSecondary?: string | undefined;
@@ -56,7 +56,7 @@ export declare const StyledSlider: import("@emotion/styled").StyledComponent<{
56
56
  valueLabelFormat?: string | ((value: number, index: number) => import("react").ReactNode) | undefined;
57
57
  } & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
58
58
  ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
59
- }, "name" | "classes" | "color" | "scale" | "track" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "disabled" | "step" | "size" | "value" | "max" | "min" | "orientation" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
59
+ }, "name" | "track" | "size" | "classes" | "color" | "scale" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "max" | "min" | "orientation" | "value" | "disabled" | "step" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
60
60
  export declare const ScoreSliderRoot: import("@emotion/styled").StyledComponent<import("fbm-ui/lib/components/Box").BoxProps & {
61
61
  children?: import("react").ReactNode;
62
62
  } & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare const WorkplaceStyledSlider: import("@emotion/styled").StyledComponent<{
3
- color?: "primary" | "secondary" | undefined;
3
+ color?: "secondary" | "primary" | undefined;
4
4
  classes?: (Partial<import("fbm-ui/lib/mui").SliderUnstyledClasses> & {
5
5
  colorPrimary?: string | undefined;
6
6
  colorSecondary?: string | undefined;
@@ -56,7 +56,7 @@ export declare const WorkplaceStyledSlider: import("@emotion/styled").StyledComp
56
56
  valueLabelFormat?: string | ((value: number, index: number) => import("react").ReactNode) | undefined;
57
57
  } & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
58
58
  ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
59
- }, "name" | "classes" | "color" | "scale" | "track" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "disabled" | "step" | "size" | "value" | "max" | "min" | "orientation" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
59
+ }, "name" | "track" | "size" | "classes" | "color" | "scale" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "max" | "min" | "orientation" | "value" | "disabled" | "step" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
60
60
  export declare const ScoreSliderRoot: import("@emotion/styled").StyledComponent<import("fbm-ui/lib/components/Box").BoxProps & {
61
61
  children?: import("react").ReactNode;
62
62
  } & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
@@ -26,6 +26,8 @@ export interface Collection {
26
26
  rank: number;
27
27
  total: number;
28
28
  avgScore: number;
29
+ /** 维度来源 1=题目维度 2=全局维度(老报告不返回该字段) */
30
+ source?: number;
29
31
  }
30
32
  export interface AnalysisResult {
31
33
  text: string;
@@ -91,6 +93,18 @@ export interface WorkPlaceAbility {
91
93
  scoreText: string;
92
94
  token: string;
93
95
  }
96
+ /** 全局维度(只绑试卷、不绑题目,按整场回答统一评价) */
97
+ export interface GlobalDimensionAbility {
98
+ token: string;
99
+ name: string;
100
+ define: string;
101
+ score: number;
102
+ scoreText: string;
103
+ scoreLevel: number;
104
+ weight: number;
105
+ source: number;
106
+ answer: string;
107
+ }
94
108
  export interface WorkPlaceScoreInfo {
95
109
  score: number;
96
110
  scoreText: string;
@@ -172,6 +186,8 @@ export interface AiInterviewReportList {
172
186
  workplaceEvaluation?: string;
173
187
  evaluations: Array<any>;
174
188
  workplaces: WorkPlaceAbility[];
189
+ /** 全局维度(只绑试卷、不绑题目);没有配置时后端不返回该字段 */
190
+ globalDimensions?: GlobalDimensionAbility[];
175
191
  suggestion: Suggestion;
176
192
  summaryText: SummaryText;
177
193
  model: 'pro' | 'standard';
@@ -18,6 +18,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
18
18
  var Form_1 = require("./components/Form");
19
19
  var NotFinish_1 = __importDefault(require("./components/NotFinish"));
20
20
  var ReportHeader_1 = __importDefault(require("./components/ReportHeader/ReportHeader"));
21
+ var styled_1 = require("./components/styled");
21
22
  var VideoQuestion_1 = __importDefault(require("./components/VideoQuestion"));
22
23
  var ai_report_1 = require("../../enum/ai-report");
23
24
  var ai_report_2 = require("../../services/ai-report");
@@ -82,7 +83,7 @@ var AiReportRoot = (0, react_1.forwardRef)(function (props, ref) {
82
83
  backgroundRepeat: 'no-repeat',
83
84
  backgroundPosition: 'center top',
84
85
  paddingTop: (collection === null || collection === void 0 ? void 0 : collection.length) > 0 ? 0 : 3,
85
- } }, { children: [(collection === null || collection === void 0 ? void 0 : collection.length) > 0 && ((0, jsx_runtime_1.jsx)(ReportHeader_1.default, { customScore: customScore, onRefreshSuccess: handleRefreshSuccess, fetchCandidateInfo: fetchCandidateInfo, status: status, fetchReportUrl: fetchReportUrl })), (0, jsx_runtime_1.jsx)(Form_1.FormReport, { fetchFormResult: fetchFormResult }), (0, jsx_runtime_1.jsx)(fbm_ui_1.Box, __assign({ sx: { zIndex: 1, position: 'relative', mx: 2, borderRadius: 4, border: '2px solid #FFFFFF', pb: 1 } }, { children: (0, jsx_runtime_1.jsx)(VideoQuestion_1.default, { isExportPdf: isExportPdf }) }))] }))] }));
86
+ } }, { children: [(collection === null || collection === void 0 ? void 0 : collection.length) > 0 && ((0, jsx_runtime_1.jsx)(ReportHeader_1.default, { customScore: customScore, onRefreshSuccess: handleRefreshSuccess, fetchCandidateInfo: fetchCandidateInfo, status: status, fetchReportUrl: fetchReportUrl })), (0, jsx_runtime_1.jsx)(Form_1.FormReport, { fetchFormResult: fetchFormResult }), (0, jsx_runtime_1.jsx)(styled_1.ReportSectionFrame, { children: (0, jsx_runtime_1.jsx)(VideoQuestion_1.default, { isExportPdf: isExportPdf }) })] }))] }));
86
87
  }
87
88
  }, [
88
89
  loading,
@@ -2,6 +2,8 @@
2
2
  interface Dimension {
3
3
  name: string;
4
4
  score: number;
5
+ /** 是否为全局维度(只绑试卷、不绑题目) */
6
+ isGlobal?: boolean;
5
7
  }
6
8
  export declare function getLevel(score: any): {
7
9
  label: string;
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __values = (this && this.__values) || function(o) {
3
14
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
15
  if (m) return m.call(o);
@@ -44,6 +55,8 @@ function setupCanvas(canvas) {
44
55
  // Good: Array<number>;
45
56
  // Best: Array<number>;
46
57
  // }
58
+ var DIVIDER_TEXT = '以下为全局维度(不按题目评价)';
59
+ var DIVIDER_HEIGHT = 20;
47
60
  var MAX_WIDTH = 315;
48
61
  var MAX_HEIGHT = 24;
49
62
  var levelOrder = ['Bad', 'Good', 'Best'];
@@ -192,20 +205,53 @@ var drawScore = function (layout, ctx, config, rect, score) {
192
205
  var scoreWidth = measureTextWidth(ctx, "".concat(score));
193
206
  ctx.fillText("".concat(score), layout.leftLableWidth + rect.width + (score < 10 ? 4 : -scoreWidth - 4), rect.y + 18);
194
207
  };
208
+ // 全局维度(只绑试卷、不绑题目)用浅绿条 + 「全局」角标,与题目维度区分来源
209
+ var globalLevelConf = {
210
+ scoreGradient: ['#4EC953', '#D9FBE3'],
211
+ shadowColor: 'rgba(78, 201, 83, 0.35)',
212
+ textColor: '#33A853',
213
+ backgroundColor: 'rgba(78, 201, 83, 0.14)',
214
+ };
215
+ // 组间分隔线:左右两段细线,中间一行说明
216
+ var drawGroupDivider = function (layout, ctx, y) {
217
+ ctx.save();
218
+ ctx.font = '10px sans-serif';
219
+ ctx.textBaseline = 'middle';
220
+ var textWidth = ctx.measureText(DIVIDER_TEXT).width;
221
+ var centerX = layout.leftLableWidth + MAX_WIDTH / 2;
222
+ ctx.fillStyle = 'rgba(0, 0, 0, 0.4)';
223
+ ctx.textAlign = 'center';
224
+ ctx.fillText(DIVIDER_TEXT, centerX, y);
225
+ ctx.strokeStyle = 'rgba(0, 0, 0, 0.08)';
226
+ ctx.lineWidth = 1;
227
+ ctx.beginPath();
228
+ ctx.moveTo(0, y);
229
+ ctx.lineTo(centerX - textWidth / 2 - 8, y);
230
+ ctx.moveTo(centerX + textWidth / 2 + 8, y);
231
+ ctx.lineTo(layout.leftLableWidth + MAX_WIDTH, y);
232
+ ctx.stroke();
233
+ ctx.restore();
234
+ };
195
235
  var draw = function (layout, dimensions, pathRef, ctx) {
196
236
  ctx.font = '16px sans-serif';
197
237
  ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
198
238
  dimensions.forEach(function (v, i) {
199
- var config = getLevel(v.score);
239
+ var config = v.isGlobal ? __assign(__assign({}, getLevel(v.score)), globalLevelConf) : getLevel(v.score);
200
240
  // 绘制圆角矩形
201
241
  var borderRadius = 12;
202
242
  var x = layout.leftLableWidth;
203
- var y = 50 + layout.itemSpacing * i;
243
+ var extraOffset = layout.dividerIndex > 0 && i >= layout.dividerIndex ? layout.dividerHeight : 0;
244
+ var y = 50 + layout.itemSpacing * i + extraOffset;
204
245
  // 设置背景颜色
205
246
  ctx.fillStyle = config.backgroundColor;
206
247
  drawRoundedRect(x, y, MAX_WIDTH, MAX_HEIGHT, borderRadius, true, false, ctx);
207
- var endPointY = 50 + 15 + layout.itemSpacing * i; // 50是顶部偏移,15是文字相对矩形的偏移
248
+ var endPointY = y + 15; // 15 是文字相对条形的偏移;必须跟着 y(含分隔线偏移)
208
249
  drawLable(v.name, 0, endPointY, ctx);
250
+ if (v.isGlobal && i === layout.dividerIndex) {
251
+ // 方案③:不逐条打标,用分隔线 + 一行说明区分来源
252
+ var dividerY = y - Math.round(layout.itemSpacing / 2 - MAX_HEIGHT / 2 + layout.dividerHeight / 2);
253
+ drawGroupDivider(layout, ctx, dividerY);
254
+ }
209
255
  pathRef.push({ x: 0, y: y, width: layout.leftLableWidth, height: 22, tips: "".concat(v.name, ": ").concat(v.score) });
210
256
  var score = v.score === 0 ? 0 : Math.max(v.score, 4);
211
257
  drawScore(layout, ctx, config, {
@@ -256,11 +302,14 @@ var Graph = function (_a) {
256
302
  var TOP_OFFSET = 50;
257
303
  var BOTTOM_SPACING = 20; // 最后一个item与虚线之间的间距
258
304
  var SCORE_AREA_HEIGHT = 40; // 分数区域的高度
305
+ // 题目维度与全局维度之间插一条分隔线(方案③)
306
+ var dividerIndex = (0, react_1.useMemo)(function () { return items.findIndex(function (item) { return item.isGlobal; }); }, [items]);
307
+ var dividerHeight = dividerIndex > 0 ? DIVIDER_HEIGHT : 0;
259
308
  var height = (0, react_1.useMemo)(function () {
260
309
  if (items.length === 0)
261
310
  return 0;
262
- return TOP_OFFSET + (items.length - 1) * ITEM_SPACING + MAX_HEIGHT + BOTTOM_SPACING + SCORE_AREA_HEIGHT;
263
- }, [items]);
311
+ return TOP_OFFSET + (items.length - 1) * ITEM_SPACING + MAX_HEIGHT + BOTTOM_SPACING + SCORE_AREA_HEIGHT + dividerHeight;
312
+ }, [items, dividerHeight]);
264
313
  (0, react_1.useEffect)(function () {
265
314
  if (items.length === 0)
266
315
  return;
@@ -290,11 +339,13 @@ var Graph = function (_a) {
290
339
  topLableHeight: 40,
291
340
  itemSpacing: ITEM_SPACING,
292
341
  height: height,
342
+ dividerIndex: dividerIndex,
343
+ dividerHeight: dividerHeight,
293
344
  };
294
345
  pathRef.current = [];
295
346
  draw(layout, items, pathRef.current, ctx);
296
347
  }
297
- }, [ctx, items, height, ITEM_SPACING]);
348
+ }, [ctx, items, height, ITEM_SPACING, dividerIndex, dividerHeight]);
298
349
  // useEffect(() => {
299
350
  // console.log(pathRef);
300
351
  // }, [pathRef]);
@@ -28,6 +28,7 @@ var Index = function () {
28
28
  return collection.map(function (item) { return ({
29
29
  name: item.name,
30
30
  score: item.avgScore,
31
+ isGlobal: item.source === 2,
31
32
  }); });
32
33
  }, [collection]);
33
34
  console.log('reportResult', reportResult, workplaceEvaluation);
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").MemoExoticComponent<() => JSX.Element | null>;
3
+ export default _default;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __importDefault = (this && this.__importDefault) || function (mod) {
30
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ var jsx_runtime_1 = require("react/jsx-runtime");
34
+ var styled_1 = require("../styled");
35
+ var ScoreSlider_1 = __importDefault(require("../WorkPlaces/ScoreSlider"));
36
+ var WorkPlace_1 = __importDefault(require("../WorkPlaces/WorkPlace"));
37
+ var global_store_1 = require("../../../../store/ai-report/global-store");
38
+ var AiHeaderTitleV2_1 = __importDefault(require("../../../../components/AiHeaderTitleV2"));
39
+ var fbm_ui_1 = require("fbm-ui");
40
+ var mui_1 = require("fbm-ui/lib/mui");
41
+ var react_1 = require("react");
42
+ var BORDER = '1px solid rgba(0, 0, 0, 0.08)';
43
+ var TEXT_MUTED = 'rgba(0, 0, 0, 0.56)';
44
+ // 得分颜色与题目维度保持一致(优秀 / 适中 / 欠佳)
45
+ var SCORE_COLOR = {
46
+ 1: '#4CAF50',
47
+ 2: 'rgba(0, 0, 0, 0.86)',
48
+ 3: '#FF6C6C',
49
+ };
50
+ var scoreLevelOf = function (score) { return (score >= 80 ? 1 : score >= 60 ? 2 : 3); };
51
+ var scoreTextOf = function (score) { return (score >= 80 ? '优秀' : score >= 60 ? '适中' : '欠佳'); };
52
+ var thStyle = {
53
+ textAlign: 'left',
54
+ padding: '10px 12px',
55
+ fontWeight: 500,
56
+ color: TEXT_MUTED,
57
+ whiteSpace: 'nowrap',
58
+ };
59
+ var tdStyle = {
60
+ padding: '12px',
61
+ verticalAlign: 'middle',
62
+ };
63
+ /**
64
+ * 全局维度(只绑试卷、不绑题目):紧凑表格展示,行内展开可改分 / 改评价。
65
+ * 由宿主 `ReportSectionFrame`(与「视频题」同一套白框)承载,标题缎带挂在白框左上角。
66
+ * 没有配置全局维度时不渲染(老报告行为不变)。
67
+ */
68
+ var Index = function () {
69
+ var _a = (0, global_store_1.useAiReportStore)(function (store) { return [
70
+ store.reportResult,
71
+ store.operableButtons,
72
+ ]; }), reportResult = _a.reportResult, showAiDimension = _a.showAiDimension, canEditAiDimension = _a.canEditAiDimension, updateReportResult = _a.updateReportResult, onScoreChange = _a.onScoreChange;
73
+ var _b = reportResult || {}, _c = _b.orderToken, orderToken = _c === void 0 ? '' : _c, _d = _b.globalDimensions, globalDimensions = _d === void 0 ? [] : _d;
74
+ var _e = __read((0, react_1.useState)(-1), 2), expandedIndex = _e[0], setExpandedIndex = _e[1];
75
+ var handleScoreChange = (0, react_1.useCallback)(function (index, score) {
76
+ var _a;
77
+ var list = ((reportResult === null || reportResult === void 0 ? void 0 : reportResult.globalDimensions) || []).map(function (item, i) {
78
+ return i === index ? __assign(__assign({}, item), { score: score, scoreText: scoreTextOf(score), scoreLevel: scoreLevelOf(score) }) : item;
79
+ });
80
+ // 先乐观更新当前展示,再交给宿主持久化(与题目维度同一套回调)
81
+ updateReportResult(__assign(__assign({}, reportResult), { globalDimensions: list }));
82
+ onScoreChange === null || onScoreChange === void 0 ? void 0 : onScoreChange({ flowStepToken: (_a = list[index]) === null || _a === void 0 ? void 0 : _a.token, type: 1, score: score });
83
+ }, [onScoreChange, reportResult, updateReportResult]);
84
+ if (!showAiDimension || globalDimensions.length === 0) {
85
+ return null;
86
+ }
87
+ return ((0, jsx_runtime_1.jsx)(styled_1.ReportSectionFrame, __assign({ sx: { mt: 2, mb: 2 } }, { children: (0, jsx_runtime_1.jsxs)(mui_1.Box, __assign({ id: "report-global-dimension" }, { children: [(0, jsx_runtime_1.jsx)(AiHeaderTitleV2_1.default, { name: "\u5168\u5C40\u7EF4\u5EA6" }), (0, jsx_runtime_1.jsx)(mui_1.Box, __assign({ mx: 1, mt: 2 }, { children: (0, jsx_runtime_1.jsx)(mui_1.Box, __assign({ sx: { border: BORDER, borderRadius: 2, overflow: 'hidden' } }, { children: (0, jsx_runtime_1.jsxs)("table", __assign({ style: { width: '100%', borderCollapse: 'collapse', fontSize: 13, color: 'rgba(0, 0, 0, 0.86)' } }, { children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsxs)("tr", __assign({ style: { background: 'rgba(0, 0, 0, 0.02)' } }, { children: [(0, jsx_runtime_1.jsx)("th", __assign({ style: thStyle }, { children: "\u7EF4\u5EA6" })), (0, jsx_runtime_1.jsx)("th", __assign({ style: thStyle }, { children: "\u6765\u6E90" })), (0, jsx_runtime_1.jsx)("th", __assign({ style: thStyle }, { children: "\u6743\u91CD" })), (0, jsx_runtime_1.jsx)("th", __assign({ style: thStyle }, { children: "\u5F97\u5206" })), (0, jsx_runtime_1.jsx)("th", __assign({ style: thStyle }, { children: "\u4E00\u53E5\u8BDD\u8BC4\u4EF7" })), (0, jsx_runtime_1.jsx)("th", __assign({ style: __assign(__assign({}, thStyle), { width: 56, textAlign: 'center' }) }, { children: "\u64CD\u4F5C" }))] })) }), globalDimensions.map(function (v, index) { return ((0, jsx_runtime_1.jsxs)("tbody", { children: [(0, jsx_runtime_1.jsxs)("tr", __assign({ style: { borderTop: BORDER } }, { children: [(0, jsx_runtime_1.jsx)("td", __assign({ style: __assign(__assign({}, tdStyle), { fontWeight: 500 }) }, { children: v.name })), (0, jsx_runtime_1.jsx)("td", __assign({ style: tdStyle }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.Chip, { color: "success", label: "\u5168\u5C40", size: "small" }) })), (0, jsx_runtime_1.jsxs)("td", __assign({ style: __assign(__assign({}, tdStyle), { color: TEXT_MUTED }) }, { children: [v.weight, "%"] })), (0, jsx_runtime_1.jsxs)("td", __assign({ style: tdStyle }, { children: [(0, jsx_runtime_1.jsx)(mui_1.Box, __assign({ component: "span", sx: { color: SCORE_COLOR[v.scoreLevel] || 'rgba(0, 0, 0, 0.86)', fontWeight: 600 } }, { children: v.score })), (0, jsx_runtime_1.jsx)(mui_1.Box, __assign({ component: "span", sx: { color: TEXT_MUTED, ml: 0.5, fontSize: 12 } }, { children: v.scoreText }))] })), (0, jsx_runtime_1.jsx)("td", __assign({ style: __assign(__assign({}, tdStyle), { color: 'rgba(0, 0, 0, 0.6)' }) }, { children: v.answer })), (0, jsx_runtime_1.jsx)("td", __assign({ style: __assign(__assign({}, tdStyle), { textAlign: 'center' }) }, { children: canEditAiDimension && ((0, jsx_runtime_1.jsx)(fbm_ui_1.IconButton, __assign({ size: "small", onClick: function () { return setExpandedIndex(expandedIndex === index ? -1 : index); } }, { children: (0, jsx_runtime_1.jsx)(fbm_ui_1.EditIcon, {}) }))) }))] })), (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", __assign({ colSpan: 6, style: { padding: 0 } }, { children: (0, jsx_runtime_1.jsx)(mui_1.Collapse, __assign({ in: expandedIndex === index }, { children: (0, jsx_runtime_1.jsxs)(mui_1.Box, __assign({ sx: { px: 2, pt: 1.5, pb: 2, bgcolor: '#FAFBFA', borderTop: BORDER } }, { children: [(0, jsx_runtime_1.jsxs)(fbm_ui_1.Typography, __assign({ variant: "caption", color: "textSecondary", display: "block", mb: 1 }, { children: ["\u8BC4\u4EF7\u6807\u51C6\uFF1A", v.define || '—'] })), (0, jsx_runtime_1.jsx)(ScoreSlider_1.default, { width: "100%", isShowLabel: true, score: v.score, scoreText: v.scoreText, scoreLevel: v.scoreLevel, valueLabelDisplay: "auto", onChangeCommitted: function (score) { return handleScoreChange(index, score); } }), (0, jsx_runtime_1.jsx)(mui_1.Stack, __assign({ mt: 1.5 }, { children: (0, jsx_runtime_1.jsx)(WorkPlace_1.default, { thirdOrderID: orderToken, token: v.token, canEdit: canEditAiDimension, answer: v.answer, mode: "show" }) }))] })) })) })) })] }, v.token || v.name)); })] })) })) }))] })) })));
88
+ };
89
+ exports.default = (0, react_1.memo)(Index);
@@ -33,6 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
33
33
  var jsx_runtime_1 = require("react/jsx-runtime");
34
34
  var AIEvaluate_1 = __importDefault(require("../AIEvaluate"));
35
35
  var Candidate_1 = require("../Candidate");
36
+ var GlobalDimensions_1 = __importDefault(require("../GlobalDimensions"));
36
37
  var styled_1 = require("../styled");
37
38
  var ai_report_1 = require("../../../../enum/ai-report");
38
39
  var ai_report_2 = require("../../../../services/ai-report");
@@ -105,6 +106,6 @@ var ReportHeader = function (_a) {
105
106
  position: 'relative',
106
107
  width: 541,
107
108
  height: 342,
108
- } }))] }), status === ai_report_1.INTERVIEW_STATUS.COMPLETED && ((0, jsx_runtime_1.jsx)(mui_1.Stack, __assign({ width: 1, direction: "row" }, { children: (0, jsx_runtime_1.jsx)(AIEvaluate_1.default, {}) })))] })));
109
+ } }))] }), status === ai_report_1.INTERVIEW_STATUS.COMPLETED && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(mui_1.Stack, __assign({ width: 1, direction: "row" }, { children: (0, jsx_runtime_1.jsx)(AIEvaluate_1.default, {}) })), (0, jsx_runtime_1.jsx)(GlobalDimensions_1.default, {})] }))] })));
109
110
  };
110
111
  exports.default = ReportHeader;
@@ -8,15 +8,15 @@ export declare const ScoreUnitTypography: import("@emotion/styled").StyledCompon
8
8
  export declare const RefreshIconRoot: import("@emotion/styled").StyledComponent<{
9
9
  children?: import("react").ReactNode;
10
10
  classes?: Partial<import("@mui/material").SvgIconClasses> | undefined;
11
- color?: "inherit" | "disabled" | "action" | "primary" | "secondary" | "success" | "error" | "info" | "warning" | undefined;
11
+ color?: "inherit" | "disabled" | "action" | "secondary" | "error" | "warning" | "success" | "info" | "primary" | undefined;
12
12
  fontSize?: "small" | "inherit" | "medium" | "large" | undefined;
13
13
  htmlColor?: string | undefined;
14
14
  shapeRendering?: string | undefined;
15
15
  sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
16
16
  titleAccess?: string | undefined;
17
17
  viewBox?: string | undefined;
18
- } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "name" | "type" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "method" | "d" | "y" | "values" | "end" | "href" | "viewBox" | "max" | "media" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
18
+ } & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "method" | "d" | "y" | "name" | "type" | "filter" | "fill" | "values" | "style" | "clipPath" | "mask" | "path" | "children" | "className" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "cursor" | "direction" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "max" | "media" | "min" | "target" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "local" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "operator" | "orient" | "orientation" | "origin" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
19
19
  ref?: ((instance: SVGSVGElement | null) => void) | import("react").RefObject<SVGSVGElement> | null | undefined;
20
- }, keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "htmlColor" | "titleAccess" | "viewBox"> & {
20
+ }, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "sx" | "viewBox" | "htmlColor" | "titleAccess"> & {
21
21
  children?: import("react").ReactNode;
22
22
  } & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare const StyledSlider: import("@emotion/styled").StyledComponent<{
3
- color?: "primary" | "secondary" | undefined;
3
+ color?: "secondary" | "primary" | undefined;
4
4
  classes?: (Partial<import("fbm-ui/lib/mui").SliderUnstyledClasses> & {
5
5
  colorPrimary?: string | undefined;
6
6
  colorSecondary?: string | undefined;
@@ -56,7 +56,7 @@ export declare const StyledSlider: import("@emotion/styled").StyledComponent<{
56
56
  valueLabelFormat?: string | ((value: number, index: number) => import("react").ReactNode) | undefined;
57
57
  } & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
58
58
  ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
59
- }, "name" | "classes" | "color" | "scale" | "track" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "disabled" | "step" | "size" | "value" | "max" | "min" | "orientation" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
59
+ }, "name" | "track" | "size" | "classes" | "color" | "scale" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "max" | "min" | "orientation" | "value" | "disabled" | "step" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
60
60
  export declare const ScoreSliderRoot: import("@emotion/styled").StyledComponent<import("fbm-ui/lib/components/Box").BoxProps & {
61
61
  children?: import("react").ReactNode;
62
62
  } & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare const WorkplaceStyledSlider: import("@emotion/styled").StyledComponent<{
3
- color?: "primary" | "secondary" | undefined;
3
+ color?: "secondary" | "primary" | undefined;
4
4
  classes?: (Partial<import("fbm-ui/lib/mui").SliderUnstyledClasses> & {
5
5
  colorPrimary?: string | undefined;
6
6
  colorSecondary?: string | undefined;
@@ -56,7 +56,7 @@ export declare const WorkplaceStyledSlider: import("@emotion/styled").StyledComp
56
56
  valueLabelFormat?: string | ((value: number, index: number) => import("react").ReactNode) | undefined;
57
57
  } & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "key" | keyof import("react").HTMLAttributes<HTMLSpanElement>> & {
58
58
  ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
59
- }, "name" | "classes" | "color" | "scale" | "track" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "disabled" | "step" | "size" | "value" | "max" | "min" | "orientation" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
59
+ }, "name" | "track" | "size" | "classes" | "color" | "scale" | "sx" | "defaultValue" | "tabIndex" | "aria-label" | "aria-labelledby" | "aria-valuetext" | "onChange" | "max" | "min" | "orientation" | "value" | "disabled" | "step" | "components" | "componentsProps" | "disableSwap" | "getAriaLabel" | "getAriaValueText" | "isRtl" | "marks" | "onChangeCommitted" | "valueLabelDisplay" | "valueLabelFormat"> & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
60
60
  export declare const ScoreSliderRoot: import("@emotion/styled").StyledComponent<import("fbm-ui/lib/components/Box").BoxProps & {
61
61
  children?: import("react").ReactNode;
62
62
  } & import("@mui/system").MUIStyledCommonProps<import("fbm-ui/lib/mui").Theme>, {}, {}>;
@@ -39,4 +39,7 @@ export declare const ExportButton: import("@emotion/styled").StyledComponent<imp
39
39
  export declare const BeatProgressBar: import("@emotion/styled").StyledComponent<import("fbm-ui/lib/components/Box").BoxProps & {
40
40
  children?: import("react").ReactNode;
41
41
  } & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
42
+ export declare const ReportSectionFrame: import("@emotion/styled").StyledComponent<import("fbm-ui/lib/components/Box").BoxProps & {
43
+ children?: import("react").ReactNode;
44
+ } & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
42
45
  export {};
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.BeatProgressBar = exports.ExportButton = exports.Video = exports.Podium = exports.ReportEvaluate = exports.ReportTag = exports.DinTypography = exports.ReportAvatar = exports.ReportLabel = exports.ReportBadge = exports.ReportHeader = void 0;
17
+ exports.ReportSectionFrame = exports.BeatProgressBar = exports.ExportButton = exports.Video = exports.Podium = exports.ReportEvaluate = exports.ReportTag = exports.DinTypography = exports.ReportAvatar = exports.ReportLabel = exports.ReportBadge = exports.ReportHeader = void 0;
18
18
  var Video_1 = __importDefault(require("../../ai-report/components/VideoQuestion/Video"));
19
19
  var fbm_ui_1 = require("fbm-ui");
20
20
  exports.ReportHeader = (0, fbm_ui_1.styled)(fbm_ui_1.Box)({
@@ -144,3 +144,13 @@ exports.BeatProgressBar = (0, fbm_ui_1.styled)(fbm_ui_1.Box)({
144
144
  transition: 'width 0.5s ease-in-out',
145
145
  },
146
146
  });
147
+ // 报告章节白框:章节标题(AiHeaderTitleV2 缎带)挂在左上角,与「视频题」保持同一套容器样式
148
+ exports.ReportSectionFrame = (0, fbm_ui_1.styled)(fbm_ui_1.Box)({
149
+ zIndex: 1,
150
+ position: 'relative',
151
+ marginLeft: 16,
152
+ marginRight: 16,
153
+ borderRadius: 16,
154
+ border: '2px solid #FFFFFF',
155
+ paddingBottom: 8,
156
+ });
@@ -28,6 +28,8 @@ export interface Collection {
28
28
  rank: number;
29
29
  total: number;
30
30
  avgScore: number;
31
+ /** 维度来源 1=题目维度 2=全局维度(老报告不返回该字段) */
32
+ source?: number;
31
33
  }
32
34
  export interface AnalysisResult {
33
35
  text: string;
@@ -94,6 +96,18 @@ export interface WorkPlaceAbility {
94
96
  scoreText: string;
95
97
  token: string;
96
98
  }
99
+ /** 全局维度(只绑试卷、不绑题目,按整场回答统一评价) */
100
+ export interface GlobalDimensionAbility {
101
+ token: string;
102
+ name: string;
103
+ define: string;
104
+ score: number;
105
+ scoreText: string;
106
+ scoreLevel: number;
107
+ weight: number;
108
+ source: number;
109
+ answer: string;
110
+ }
97
111
  export interface WorkPlaceScoreInfo {
98
112
  score: number;
99
113
  scoreText: string;
@@ -145,6 +159,8 @@ export interface AiInterviewReportList {
145
159
  faceAnalysis: FaceAnalysis;
146
160
  evaluations: Array<any>;
147
161
  workplaces: WorkPlaceAbility[];
162
+ /** 全局维度(只绑试卷、不绑题目);没有配置时后端不返回该字段 */
163
+ globalDimensions?: GlobalDimensionAbility[];
148
164
  suggestion: Suggestion;
149
165
  summaryText: SummaryText;
150
166
  model: 'pro' | 'standard';