@viswa-test/test-citation 0.0.229 → 0.0.230

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 (670) hide show
  1. package/README.md +284 -45
  2. package/dist/cjs/features/CognitiveCompare/CognitiveCompare.js +1 -1
  3. package/dist/cjs/features/CognitiveCompare/CognitiveComparehelpers.js +1 -1
  4. package/dist/cjs/features/CognitiveCompare/components/SectionAccordion.js +1 -1
  5. package/dist/cjs/features/CognitiveCompare/components/SubSectionAccordion.js +1 -1
  6. package/dist/cjs/features/CognitiveCompare/hooks/useCompareData.js +1 -1
  7. package/dist/cjs/features/CognitiveCompare/hooks/useLinesCalculator.js +1 -1
  8. package/dist/cjs/features/GptWebCitation/GptWebCitation.js +1 -1
  9. package/dist/cjs/features/GptWebCitation/GptWebCitation.module.css.js +1 -1
  10. package/dist/cjs/features/GptWebCitation/GptWebCitationImageCitation.js +1 -1
  11. package/dist/cjs/features/GptWebCitation/GptWebCitationImageFullScreenView.js +1 -1
  12. package/dist/cjs/features/GptWebCitation/GptWebCitationSkeleton.js +1 -1
  13. package/dist/cjs/features/GptWebCitation/types.js +2 -0
  14. package/dist/cjs/features/GptWebCitation/types.js.map +1 -0
  15. package/dist/cjs/features/GptWebCitation/utils/citationData.utils.js +1 -1
  16. package/dist/cjs/features/GptWebCitation/utils/fixedHeight.utils.js +2 -0
  17. package/dist/cjs/features/GptWebCitation/utils/fixedHeight.utils.js.map +1 -0
  18. package/dist/cjs/features/GptWebCitation/utils/styleOverrides.utils.js +2 -0
  19. package/dist/cjs/features/GptWebCitation/utils/styleOverrides.utils.js.map +1 -0
  20. package/dist/cjs/features/IngestionStatus/IngestionStatusComponent.js +1 -1
  21. package/dist/cjs/features/RequirementAI/components/CustomPopover/CustomPopover.js +1 -1
  22. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/GapRiskSidebar.js +1 -1
  23. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/components/GapItem/GapItem.js +1 -1
  24. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/components/RiskCategorySection/RiskCategorySection.js +1 -1
  25. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/components/RiskSidebarCategorySection/RiskSidebarCategorySection.js +1 -1
  26. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/components/StoryNode/StoryNode.js +1 -1
  27. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/utils/buildStoryWithGap.js +1 -1
  28. package/dist/cjs/features/RequirementAI/components/GapRiskSidebar/utils/buildStoryWithRisk.js +1 -1
  29. package/dist/cjs/features/RequirementAI/components/RecommendationBlock/RecommendationBlock.js +1 -1
  30. package/dist/cjs/features/RequirementAI/components/RequirementAIWrapper/RequirementAIWrapper.js +1 -1
  31. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/Editor.js +1 -1
  32. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/Context/ContextMenu.js +1 -1
  33. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/EditorContainer/EditorContainer.js +1 -1
  34. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/EditorPlaceholder/EditorPlaceholder.js +1 -1
  35. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/EditorToolbar.js +1 -1
  36. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/components/ToolbarButton/ToolbarButton.js +1 -1
  37. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/components/ToolbarDivider/ToolbarDivider.js +1 -1
  38. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/components/UndoRedo/UndoRedo.js +1 -1
  39. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/components/Icons/Icon.js +1 -1
  40. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/constants/editorConfig.js +1 -1
  41. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/CommentPlugin/HTMLNode.js +1 -1
  42. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/DeleteNode.js +1 -1
  43. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/HighlightNode.js +2 -0
  44. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/HighlightNode.js.map +1 -0
  45. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.js +1 -1
  46. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.js +1 -1
  47. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/InvisibleNode.js +2 -0
  48. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/InvisibleNode.js.map +1 -0
  49. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/LayoutPlugin.js +1 -1
  50. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/ManualNode.js +2 -0
  51. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/ManualNode.js.map +1 -0
  52. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/PreservedNode.js +2 -0
  53. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/PreservedNode.js.map +1 -0
  54. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js +2 -0
  55. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js.map +1 -0
  56. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/theme/theme.css.js +1 -1
  57. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/theme/theme.js +1 -1
  58. package/dist/cjs/features/RequirementAI/components/RichTextEditor/Editor/utils/getSelectedNode.js +1 -1
  59. package/dist/cjs/features/RequirementAI/components/RichTextEditor/RichTextEditor.js +1 -1
  60. package/dist/cjs/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.js +2 -0
  61. package/dist/cjs/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.js.map +1 -0
  62. package/dist/cjs/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.module.css.js +2 -0
  63. package/dist/cjs/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.module.css.js.map +1 -0
  64. package/dist/cjs/features/RequirementAI/components/UserStoryCard/AttachedContext.js +1 -1
  65. package/dist/cjs/features/RequirementAI/components/UserStoryCard/AttachedContext.module.css.js +1 -1
  66. package/dist/cjs/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.js +2 -0
  67. package/dist/cjs/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.js.map +1 -0
  68. package/dist/cjs/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.module.css.js +2 -0
  69. package/dist/cjs/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.module.css.js.map +1 -0
  70. package/dist/cjs/features/RequirementAI/components/UserStoryCard/CognitiveComponents/CitationAnchor.js +1 -1
  71. package/dist/cjs/features/RequirementAI/components/UserStoryCard/CognitiveComponents/CognitiveComponent.js +1 -1
  72. package/dist/cjs/features/RequirementAI/components/UserStoryCard/CognitiveComponents/ResizableSplitPane.js +1 -1
  73. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/DeviationSummary.js +1 -1
  74. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/IterateComponent.js +1 -1
  75. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/ManualEditPopup.js +2 -0
  76. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/ManualEditPopup.js.map +1 -0
  77. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/PopupDefaults.js +1 -1
  78. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/RedlineStatusCard.js +1 -1
  79. package/dist/cjs/features/RequirementAI/components/UserStoryCard/Popups/ToneToggle.js +1 -1
  80. package/dist/cjs/features/RequirementAI/components/UserStoryCard/TitleEditor/TitleEditor.js +1 -1
  81. package/dist/cjs/features/RequirementAI/components/UserStoryCard/UserStoryCard.js +1 -1
  82. package/dist/cjs/features/RequirementAI/components/UserStoryCard/UserStoryCard.module.css.js +1 -1
  83. package/dist/cjs/features/RequirementAI/components/UserStoryCard/icons/PdfViewerIcons.js +1 -1
  84. package/dist/cjs/features/RequirementAI/components/ai-reasoning/AIReasonAccordion.js +1 -1
  85. package/dist/cjs/features/RequirementAI/components/ai-reasoning/AiReasonMarkdownWrapper.js +1 -1
  86. package/dist/cjs/features/RequirementAI/components/ai-reasoning/AiReasoningCitation.js +1 -1
  87. package/dist/cjs/features/RequirementAI/components/ai-reasoning/AiReasoningCitationContent.js +1 -1
  88. package/dist/cjs/features/RequirementAI/components/ai-reasoning/BigEnoughComponent.js +1 -1
  89. package/dist/cjs/features/RequirementAI/components/ai-reasoning/ScannedCitationRenderer.js +1 -1
  90. package/dist/cjs/features/RequirementAI/components/citations/appmod-citation/AppmodCitationContent.js +1 -1
  91. package/dist/cjs/features/RequirementAI/components/citations/appmod-citation/AppmodCitationRenderer.js +1 -1
  92. package/dist/cjs/features/RequirementAI/components/citations/appmod-citation/components/CodeLinkHandler.js +1 -1
  93. package/dist/cjs/features/RequirementAI/components/citations/appmod-citation/icons/AppmodIcon.js +1 -1
  94. package/dist/cjs/features/RequirementAI/components/citations/appmod-citation/icons/ChatBubbleIcon.js +1 -1
  95. package/dist/cjs/features/RequirementAI/components/citations/appmod-citation/icons/SparkleIcon.js +1 -1
  96. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/SearchWaveFromWrapper.js +1 -1
  97. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/WaveformCitationRenderer.js +1 -1
  98. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/components/AudioCitationIcon.js +1 -1
  99. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/components/AudioTimeLineSlider.js +1 -1
  100. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/components/SegmentByWordsViral.js +1 -1
  101. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/components/videoPlayer.js +1 -1
  102. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/AudioLinesIcon.js +1 -1
  103. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/MaximizeIcon.js +1 -1
  104. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/MinimizeIcon.js +1 -1
  105. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/PauseIcon.js +1 -1
  106. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/PlayIcon.js +1 -1
  107. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/PlaybackSpeedIcon.js +1 -1
  108. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/icons/VideoIcon.js +1 -1
  109. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/searchwaveform.js +1 -1
  110. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/store/autoplay.wavefrom.js +1 -1
  111. package/dist/cjs/features/RequirementAI/components/citations/audio-citation/utils/word-segment-util.js +1 -1
  112. package/dist/cjs/features/RequirementAI/components/citations/big-enough/BigEnoughCitationRenderer.js +1 -1
  113. package/dist/cjs/features/RequirementAI/components/citations/chat-citation/ChatCitationRenderer.js +1 -1
  114. package/dist/cjs/features/RequirementAI/components/citations/file-citation/DocumentCitationIcon.js +1 -1
  115. package/dist/cjs/features/RequirementAI/components/citations/file-citation/FileCitationContent.js +1 -1
  116. package/dist/cjs/features/RequirementAI/components/citations/file-citation/FileCitationRender.js +1 -1
  117. package/dist/cjs/features/RequirementAI/components/citations/gpt-web-citation/GptWebCitationRenderer.js +2 -0
  118. package/dist/cjs/features/RequirementAI/components/citations/gpt-web-citation/GptWebCitationRenderer.js.map +1 -0
  119. package/dist/cjs/features/RequirementAI/components/citations/gpt-web-citation/GptWebcitationPanel.js +2 -0
  120. package/dist/cjs/features/RequirementAI/components/citations/gpt-web-citation/GptWebcitationPanel.js.map +1 -0
  121. package/dist/cjs/features/RequirementAI/components/citations/image-citation/ImageCitationContent.js +1 -1
  122. package/dist/cjs/features/RequirementAI/components/citations/image-citation/ImageCitationIcon.js +1 -1
  123. package/dist/cjs/features/RequirementAI/components/citations/image-citation/ImageCitationRenderer.js +1 -1
  124. package/dist/cjs/features/RequirementAI/components/citations/rca-citation/RCACitationContent.js +1 -1
  125. package/dist/cjs/features/RequirementAI/components/citations/rca-citation/RCACitationRenderer.js +1 -1
  126. package/dist/cjs/features/RequirementAI/components/citations/readfile-citation/CustomFileIcon.js +1 -1
  127. package/dist/cjs/features/RequirementAI/components/citations/readfile-citation/ReadFileCitationContent.js +1 -1
  128. package/dist/cjs/features/RequirementAI/components/citations/readfile-citation/ReadFileCitationRenderer.js +1 -1
  129. package/dist/cjs/features/RequirementAI/components/citations/readfile-citation/icons/ExternalLinkIcon.js +1 -1
  130. package/dist/cjs/features/RequirementAI/components/citations/readfile-citation/icons/FileCodeIcon.js +1 -1
  131. package/dist/cjs/features/RequirementAI/components/citations/stormee-citation/StormeeCitationRenderer.js +1 -1
  132. package/dist/cjs/features/RequirementAI/components/citations/stormee-citation/StormeeContent.js +1 -1
  133. package/dist/cjs/features/RequirementAI/components/citations/stormee-citation/components/GradientButton.js +1 -1
  134. package/dist/cjs/features/RequirementAI/components/citations/stormee-citation/components/ProblemStatementCard.js +1 -1
  135. package/dist/cjs/features/RequirementAI/components/citations/web-citation/FullScreenIcon.js +1 -1
  136. package/dist/cjs/features/RequirementAI/components/citations/web-citation/ImagePreviewDialog.js +1 -1
  137. package/dist/cjs/features/RequirementAI/components/citations/web-citation/WebCitation.js +1 -1
  138. package/dist/cjs/features/RequirementAI/components/citations/web-citation/WebCitationIcon.js +1 -1
  139. package/dist/cjs/features/RequirementAI/components/citations/web-citation/WebCitationRenderer.js +1 -1
  140. package/dist/cjs/features/RequirementAI/components/citations/web-citation/WebCitationWithImageContent.js +1 -1
  141. package/dist/cjs/features/RequirementAI/components/citations/web-citation/WebCitationWithImageRenderer.js +1 -1
  142. package/dist/cjs/features/RequirementAI/components/cra/PartialRequirementContent.js +1 -1
  143. package/dist/cjs/features/RequirementAI/components/lsc-reason-gap/CustomChatCrRedirection.js +1 -1
  144. package/dist/cjs/features/RequirementAI/components/lsc-reason-gap/GapFilterBlock.js +1 -1
  145. package/dist/cjs/features/RequirementAI/components/lsc-reason-gap/GapFilterContentWrapper.js +1 -1
  146. package/dist/cjs/features/RequirementAI/components/lsc-reason-gap/GapFilterItem.js +1 -1
  147. package/dist/cjs/features/RequirementAI/components/lsc-reason-gap/gapFilterSvgs.js +1 -1
  148. package/dist/cjs/features/RequirementAI/components/segment/ExampleComponentWrapper.js +1 -1
  149. package/dist/cjs/features/RequirementAI/components/segment/Segment.js +1 -1
  150. package/dist/cjs/features/RequirementAI/components/segment/SegmentLoader.js +1 -1
  151. package/dist/cjs/features/RequirementAI/components/segment/SegmentWrapper.js +1 -1
  152. package/dist/cjs/features/RequirementAI/components/segment/segment-common.css.js +1 -1
  153. package/dist/cjs/features/RequirementAI/components/story-screen/BigEnoughPanel.js +1 -1
  154. package/dist/cjs/features/RequirementAI/components/story-screen/CompletionPanel.js +2 -0
  155. package/dist/cjs/features/RequirementAI/components/story-screen/CompletionPanel.js.map +1 -0
  156. package/dist/cjs/features/RequirementAI/components/story-screen/CompletionPanel.module.css.js +2 -0
  157. package/dist/cjs/features/RequirementAI/components/story-screen/CompletionPanel.module.css.js.map +1 -0
  158. package/dist/cjs/features/RequirementAI/components/story-screen/ReplaceLearnedTags.js +1 -1
  159. package/dist/cjs/features/RequirementAI/components/story-screen/StreamingScreenSidebar.js +1 -1
  160. package/dist/cjs/features/RequirementAI/components/story-screen/SubfeatureBlock.js +1 -1
  161. package/dist/cjs/features/RequirementAI/components/story-screen/UserStoryScreen.js +1 -1
  162. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalContext.js +1 -1
  163. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalScreen.js +1 -1
  164. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalScreen.module.css.js +1 -1
  165. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ApprovalBadge/ApprovalBadge.js +1 -1
  166. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ApprovalSidebar/ApprovalSidebar.js +1 -1
  167. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ApprovalSidebarItem/ApprovalSidebarItem.js +1 -1
  168. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ApprovalStatusBadge/ApprovalStatusBadge.js +1 -1
  169. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ContentBlock/ContentBlock.js +1 -1
  170. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ContentSegment/ContentSegment.js +1 -1
  171. package/dist/cjs/features/RequirementAI/components/userstory-approval-screen/components/ContentSegment/ContentSegment.module.css.js +1 -1
  172. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/UserStoryWithCitation.js +1 -1
  173. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/UserStoryWithCitation.module.css.js +1 -1
  174. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/HighlightButtonComponent.js +2 -0
  175. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/HighlightButtonComponent.js.map +1 -0
  176. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.js +2 -0
  177. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.js.map +1 -0
  178. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.module.css.js +2 -0
  179. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.module.css.js.map +1 -0
  180. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/InlineUpdatedComponent.js +1 -1
  181. package/dist/cjs/features/RequirementAI/components/userstory-with-citation/components/InlineUpdatedComponent.module.css.js +1 -1
  182. package/dist/cjs/features/RequirementAI/hooks/useApprovalStatus.js +1 -1
  183. package/dist/cjs/features/RequirementAI/hooks/useDiffEditReviewMode.js +1 -1
  184. package/dist/cjs/features/RequirementAI/hooks/useStreamContentHandler.js +1 -1
  185. package/dist/cjs/features/RequirementAI/icons/AiGapIcon.js +1 -1
  186. package/dist/cjs/features/RequirementAI/icons/AiReasoningIcon.js +1 -1
  187. package/dist/cjs/features/RequirementAI/icons/BigEnoughIcon.js +1 -1
  188. package/dist/cjs/features/RequirementAI/icons/BookmarkIcon.js +1 -1
  189. package/dist/cjs/features/RequirementAI/icons/BrainRed.js +1 -1
  190. package/dist/cjs/features/RequirementAI/icons/CDIcon.js +2 -0
  191. package/dist/cjs/features/RequirementAI/icons/CDIcon.js.map +1 -0
  192. package/dist/cjs/features/RequirementAI/icons/CheckIcon.js +1 -1
  193. package/dist/cjs/features/RequirementAI/icons/ChevronDownIcon.js +1 -1
  194. package/dist/cjs/features/RequirementAI/icons/ChevronUpIcon.js +1 -1
  195. package/dist/cjs/features/RequirementAI/icons/CognitiveDecision.js +1 -1
  196. package/dist/cjs/features/RequirementAI/icons/Illustration.svg.js +2 -0
  197. package/dist/cjs/features/RequirementAI/icons/Illustration.svg.js.map +1 -0
  198. package/dist/cjs/features/RequirementAI/icons/MeetingHighlightsIcon.js +1 -1
  199. package/dist/cjs/features/RequirementAI/icons/MenuUnfoldIcon.js +1 -1
  200. package/dist/cjs/features/RequirementAI/icons/PencilIcon.js +1 -1
  201. package/dist/cjs/features/RequirementAI/icons/ReasoningBulbIcon.js +1 -1
  202. package/dist/cjs/features/RequirementAI/icons/RelevanceScoreIcon.js +1 -1
  203. package/dist/cjs/features/RequirementAI/icons/SidebarCloseIcon.js +1 -1
  204. package/dist/cjs/features/RequirementAI/icons/SidebarOpenIcon.js +1 -1
  205. package/dist/cjs/features/RequirementAI/icons/TrashIcon.js +1 -1
  206. package/dist/cjs/features/RequirementAI/shared/Accordian.js +1 -1
  207. package/dist/cjs/features/RequirementAI/shared/AtomicButton.js +1 -1
  208. package/dist/cjs/features/RequirementAI/shared/CitationAIConfidenceDisplay.js +1 -1
  209. package/dist/cjs/features/RequirementAI/shared/CitationLoadingIndicator.js +1 -1
  210. package/dist/cjs/features/RequirementAI/shared/CodeViewer.js +1 -1
  211. package/dist/cjs/features/RequirementAI/shared/ExpandableOl.js +1 -1
  212. package/dist/cjs/features/RequirementAI/shared/GeneratedCodeCitation.js +1 -1
  213. package/dist/cjs/features/RequirementAI/shared/ReqAiCitationRenderer.js +1 -1
  214. package/dist/cjs/features/RequirementAI/shared/UpdatedAnimationContent.js +1 -1
  215. package/dist/cjs/features/RequirementAI/shared/useMarkdownSearch.js +1 -1
  216. package/dist/cjs/features/RequirementAI/store/markdown-context.js +1 -1
  217. package/dist/cjs/features/RequirementAI/store/ref.context.js +1 -1
  218. package/dist/cjs/features/RequirementAI/utils/css.utils.js +1 -1
  219. package/dist/cjs/features/RequirementAI/utils/diff-edit.utils.js +1 -1
  220. package/dist/cjs/features/RequirementAI/utils/helpers.js +1 -1
  221. package/dist/cjs/features/RequirementAI/utils/json-helper.js +1 -1
  222. package/dist/cjs/features/RequirementAI/utils/learned-tag.utils.js +1 -1
  223. package/dist/cjs/features/RequirementAI/utils/proccess-stream.utils.js +1 -1
  224. package/dist/cjs/features/RequirementAI/utils/user-story.utils.js +1 -1
  225. package/dist/cjs/features/RequirementAI/utils/userStoryAttachedContext.utils.js +1 -1
  226. package/dist/cjs/features/RequirementAI/utils/userstory-approval-transform.utils.js +1 -1
  227. package/dist/cjs/features/RequirementAI/utils/userstory-approval.utils.js +1 -1
  228. package/dist/cjs/features/RulebookCitations/RuleBookCitationApi.js +1 -1
  229. package/dist/cjs/features/RulebookCitations/RuleBookCitationWrapper.js +1 -1
  230. package/dist/cjs/features/UserStoryImport/UserStoryPicker.context.js +1 -1
  231. package/dist/cjs/features/UserStoryImport/UserStoryPicker.js +1 -1
  232. package/dist/cjs/features/UserStoryImport/UserStoryPicker.theme.js +1 -1
  233. package/dist/cjs/features/UserStoryImport/components/BackNav.js +1 -1
  234. package/dist/cjs/features/UserStoryImport/components/Badge.js +1 -1
  235. package/dist/cjs/features/UserStoryImport/components/BrowseProjectsButton.js +1 -1
  236. package/dist/cjs/features/UserStoryImport/components/CardGrid.js +1 -1
  237. package/dist/cjs/features/UserStoryImport/components/CardProceedButton.js +1 -1
  238. package/dist/cjs/features/UserStoryImport/components/ContentArea.js +1 -1
  239. package/dist/cjs/features/UserStoryImport/components/Footer.js +1 -1
  240. package/dist/cjs/features/UserStoryImport/components/Header.js +1 -1
  241. package/dist/cjs/features/UserStoryImport/components/NavRow.js +1 -1
  242. package/dist/cjs/features/UserStoryImport/components/ProceedButton.js +1 -1
  243. package/dist/cjs/features/UserStoryImport/components/ProjectCard.js +1 -1
  244. package/dist/cjs/features/UserStoryImport/components/ResizeHandle.js +1 -1
  245. package/dist/cjs/features/UserStoryImport/components/ScopeDropdown.js +1 -1
  246. package/dist/cjs/features/UserStoryImport/components/SearchInput.js +1 -1
  247. package/dist/cjs/features/UserStoryImport/components/SectionHeading.js +1 -1
  248. package/dist/cjs/features/UserStoryImport/components/ShowMore.js +1 -1
  249. package/dist/cjs/features/UserStoryImport/components/Sidebar.js +1 -1
  250. package/dist/cjs/features/UserStoryImport/components/SidebarFavoritesList.js +1 -1
  251. package/dist/cjs/features/UserStoryImport/components/SidebarProjectList.js +1 -1
  252. package/dist/cjs/features/UserStoryImport/components/SidebarSection.js +1 -1
  253. package/dist/cjs/features/UserStoryImport/components/SortDropdown.js +1 -1
  254. package/dist/cjs/features/UserStoryImport/components/SplitLayout.js +1 -1
  255. package/dist/cjs/features/UserStoryImport/components/Toolbar.js +1 -1
  256. package/dist/cjs/features/UserStoryImport/components/TypeDropdown.js +1 -1
  257. package/dist/cjs/features/UserStoryImport/components/UserStoryCard.js +1 -1
  258. package/dist/cjs/features/UserStoryImport/components/UserStoryImportDialog.js +1 -1
  259. package/dist/cjs/features/UserStoryImport/components/UserStoryScopeDropdown.js +1 -1
  260. package/dist/cjs/features/UserStoryImport/components/usePanelResize.js +1 -1
  261. package/dist/cjs/features/UserStoryImport/hooks/useFilteredItems.js +1 -1
  262. package/dist/cjs/features/UserStoryImport/hooks/useUSPData.js +1 -1
  263. package/dist/cjs/features/UserStoryImport/hooks/useUserStoryPickerState.js +1 -1
  264. package/dist/cjs/features/UserStoryImport/index.js +1 -1
  265. package/dist/cjs/features/UserStoryImport/lib/CustomTooltip.js +1 -1
  266. package/dist/cjs/features/UserStoryImport/lib/Tooltip.js +1 -1
  267. package/dist/cjs/features/UserStoryImport/lib/cn.js +1 -1
  268. package/dist/cjs/features/UserStoryImport/lib/dialog.js +1 -1
  269. package/dist/cjs/index.js +1 -1
  270. package/dist/cjs/service/redlineService.js +2 -0
  271. package/dist/cjs/service/redlineService.js.map +1 -0
  272. package/dist/features/CognitiveCompare/CognitiveCompare.js +1 -1
  273. package/dist/features/CognitiveCompare/CognitiveComparehelpers.js +1 -1
  274. package/dist/features/CognitiveCompare/components/SectionAccordion.js +1 -1
  275. package/dist/features/CognitiveCompare/components/SubSectionAccordion.js +1 -1
  276. package/dist/features/CognitiveCompare/hooks/useCompareData.js +1 -1
  277. package/dist/features/CognitiveCompare/hooks/useLinesCalculator.js +1 -1
  278. package/dist/features/GptWebCitation/GptWebCitation.js +1 -1
  279. package/dist/features/GptWebCitation/GptWebCitation.module.css.js +1 -1
  280. package/dist/features/GptWebCitation/GptWebCitationImageCitation.js +1 -1
  281. package/dist/features/GptWebCitation/GptWebCitationImageFullScreenView.js +1 -1
  282. package/dist/features/GptWebCitation/GptWebCitationSkeleton.js +1 -1
  283. package/dist/features/GptWebCitation/types.js +2 -0
  284. package/dist/features/GptWebCitation/types.js.map +1 -0
  285. package/dist/features/GptWebCitation/utils/citationData.utils.js +1 -1
  286. package/dist/features/GptWebCitation/utils/fixedHeight.utils.js +2 -0
  287. package/dist/features/GptWebCitation/utils/fixedHeight.utils.js.map +1 -0
  288. package/dist/features/GptWebCitation/utils/styleOverrides.utils.js +2 -0
  289. package/dist/features/GptWebCitation/utils/styleOverrides.utils.js.map +1 -0
  290. package/dist/features/IngestionStatus/IngestionStatusComponent.js +1 -1
  291. package/dist/features/RequirementAI/components/CustomPopover/CustomPopover.js +1 -1
  292. package/dist/features/RequirementAI/components/GapRiskSidebar/GapRiskSidebar.js +1 -1
  293. package/dist/features/RequirementAI/components/GapRiskSidebar/components/GapItem/GapItem.js +1 -1
  294. package/dist/features/RequirementAI/components/GapRiskSidebar/components/RiskCategorySection/RiskCategorySection.js +1 -1
  295. package/dist/features/RequirementAI/components/GapRiskSidebar/components/RiskSidebarCategorySection/RiskSidebarCategorySection.js +1 -1
  296. package/dist/features/RequirementAI/components/GapRiskSidebar/components/StoryNode/StoryNode.js +1 -1
  297. package/dist/features/RequirementAI/components/GapRiskSidebar/utils/buildStoryWithGap.js +1 -1
  298. package/dist/features/RequirementAI/components/GapRiskSidebar/utils/buildStoryWithRisk.js +1 -1
  299. package/dist/features/RequirementAI/components/RecommendationBlock/RecommendationBlock.js +1 -1
  300. package/dist/features/RequirementAI/components/RequirementAIWrapper/RequirementAIWrapper.js +1 -1
  301. package/dist/features/RequirementAI/components/RichTextEditor/Editor/Editor.js +1 -1
  302. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/Context/ContextMenu.js +1 -1
  303. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/EditorContainer/EditorContainer.js +1 -1
  304. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/EditorPlaceholder/EditorPlaceholder.js +1 -1
  305. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/EditorToolbar.js +1 -1
  306. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/components/ToolbarButton/ToolbarButton.js +1 -1
  307. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/components/ToolbarDivider/ToolbarDivider.js +1 -1
  308. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/EditorToolbar/components/UndoRedo/UndoRedo.js +1 -1
  309. package/dist/features/RequirementAI/components/RichTextEditor/Editor/components/Icons/Icon.js +1 -1
  310. package/dist/features/RequirementAI/components/RichTextEditor/Editor/constants/editorConfig.js +1 -1
  311. package/dist/features/RequirementAI/components/RichTextEditor/Editor/constants/objects.js +1 -1
  312. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/CommentPlugin/HTMLNode.js +1 -1
  313. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/DeleteNode.js +1 -1
  314. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/HighlightNode.js +2 -0
  315. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/HighlightNode.js.map +1 -0
  316. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.js +1 -1
  317. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.js +1 -1
  318. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InvisibleNode.js +2 -0
  319. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/InvisibleNode.js.map +1 -0
  320. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/LayoutPlugin.js +1 -1
  321. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/ManualNode.js +2 -0
  322. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/ManualNode.js.map +1 -0
  323. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/PreservedNode.js +2 -0
  324. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/PreservedNode.js.map +1 -0
  325. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js +2 -0
  326. package/dist/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.js.map +1 -0
  327. package/dist/features/RequirementAI/components/RichTextEditor/Editor/theme/theme.css.js +1 -1
  328. package/dist/features/RequirementAI/components/RichTextEditor/Editor/theme/theme.js +1 -1
  329. package/dist/features/RequirementAI/components/RichTextEditor/Editor/utils/getSelectedNode.js +1 -1
  330. package/dist/features/RequirementAI/components/RichTextEditor/RichTextEditor.js +1 -1
  331. package/dist/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.js +2 -0
  332. package/dist/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.js.map +1 -0
  333. package/dist/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.module.css.js +2 -0
  334. package/dist/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.module.css.js.map +1 -0
  335. package/dist/features/RequirementAI/components/UserStoryCard/AttachedContext.js +1 -1
  336. package/dist/features/RequirementAI/components/UserStoryCard/AttachedContext.module.css.js +1 -1
  337. package/dist/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.js +2 -0
  338. package/dist/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.js.map +1 -0
  339. package/dist/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.module.css.js +2 -0
  340. package/dist/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.module.css.js.map +1 -0
  341. package/dist/features/RequirementAI/components/UserStoryCard/CognitiveComponents/CitationAnchor.js +1 -1
  342. package/dist/features/RequirementAI/components/UserStoryCard/CognitiveComponents/CognitiveComponent.js +1 -1
  343. package/dist/features/RequirementAI/components/UserStoryCard/CognitiveComponents/ResizableSplitPane.js +1 -1
  344. package/dist/features/RequirementAI/components/UserStoryCard/Popups/DeviationSummary.js +1 -1
  345. package/dist/features/RequirementAI/components/UserStoryCard/Popups/IterateComponent.js +1 -1
  346. package/dist/features/RequirementAI/components/UserStoryCard/Popups/ManualEditPopup.js +2 -0
  347. package/dist/features/RequirementAI/components/UserStoryCard/Popups/ManualEditPopup.js.map +1 -0
  348. package/dist/features/RequirementAI/components/UserStoryCard/Popups/PopupDefaults.js +1 -1
  349. package/dist/features/RequirementAI/components/UserStoryCard/Popups/RedlineStatusCard.js +1 -1
  350. package/dist/features/RequirementAI/components/UserStoryCard/Popups/ToneToggle.js +1 -1
  351. package/dist/features/RequirementAI/components/UserStoryCard/TitleEditor/TitleEditor.js +1 -1
  352. package/dist/features/RequirementAI/components/UserStoryCard/UserStoryCard.js +1 -1
  353. package/dist/features/RequirementAI/components/UserStoryCard/UserStoryCard.module.css.js +1 -1
  354. package/dist/features/RequirementAI/components/UserStoryCard/icons/PdfViewerIcons.js +1 -1
  355. package/dist/features/RequirementAI/components/ai-reasoning/AIReasonAccordion.js +1 -1
  356. package/dist/features/RequirementAI/components/ai-reasoning/AiReasonMarkdownWrapper.js +1 -1
  357. package/dist/features/RequirementAI/components/ai-reasoning/AiReasoningCitation.js +1 -1
  358. package/dist/features/RequirementAI/components/ai-reasoning/AiReasoningCitationContent.js +1 -1
  359. package/dist/features/RequirementAI/components/ai-reasoning/BigEnoughComponent.js +1 -1
  360. package/dist/features/RequirementAI/components/ai-reasoning/ScannedCitationRenderer.js +1 -1
  361. package/dist/features/RequirementAI/components/citations/appmod-citation/AppmodCitationContent.js +1 -1
  362. package/dist/features/RequirementAI/components/citations/appmod-citation/AppmodCitationRenderer.js +1 -1
  363. package/dist/features/RequirementAI/components/citations/appmod-citation/components/CodeLinkHandler.js +1 -1
  364. package/dist/features/RequirementAI/components/citations/appmod-citation/icons/AppmodIcon.js +1 -1
  365. package/dist/features/RequirementAI/components/citations/appmod-citation/icons/ChatBubbleIcon.js +1 -1
  366. package/dist/features/RequirementAI/components/citations/appmod-citation/icons/SparkleIcon.js +1 -1
  367. package/dist/features/RequirementAI/components/citations/appmod-citation/types.js +1 -1
  368. package/dist/features/RequirementAI/components/citations/audio-citation/SearchWaveFromWrapper.js +1 -1
  369. package/dist/features/RequirementAI/components/citations/audio-citation/WaveformCitationRenderer.js +1 -1
  370. package/dist/features/RequirementAI/components/citations/audio-citation/components/AudioCitationIcon.js +1 -1
  371. package/dist/features/RequirementAI/components/citations/audio-citation/components/AudioTimeLineSlider.js +1 -1
  372. package/dist/features/RequirementAI/components/citations/audio-citation/components/SegmentByWordsViral.js +1 -1
  373. package/dist/features/RequirementAI/components/citations/audio-citation/components/videoPlayer.js +1 -1
  374. package/dist/features/RequirementAI/components/citations/audio-citation/icons/AudioLinesIcon.js +1 -1
  375. package/dist/features/RequirementAI/components/citations/audio-citation/icons/MaximizeIcon.js +1 -1
  376. package/dist/features/RequirementAI/components/citations/audio-citation/icons/MinimizeIcon.js +1 -1
  377. package/dist/features/RequirementAI/components/citations/audio-citation/icons/PauseIcon.js +1 -1
  378. package/dist/features/RequirementAI/components/citations/audio-citation/icons/PlayIcon.js +1 -1
  379. package/dist/features/RequirementAI/components/citations/audio-citation/icons/PlaybackSpeedIcon.js +1 -1
  380. package/dist/features/RequirementAI/components/citations/audio-citation/icons/VideoIcon.js +1 -1
  381. package/dist/features/RequirementAI/components/citations/audio-citation/searchwaveform.js +1 -1
  382. package/dist/features/RequirementAI/components/citations/audio-citation/store/autoplay.wavefrom.js +1 -1
  383. package/dist/features/RequirementAI/components/citations/audio-citation/utils/word-segment-util.js +1 -1
  384. package/dist/features/RequirementAI/components/citations/big-enough/BigEnoughCitationRenderer.js +1 -1
  385. package/dist/features/RequirementAI/components/citations/chat-citation/ChatCitationRenderer.js +1 -1
  386. package/dist/features/RequirementAI/components/citations/file-citation/DocumentCitationIcon.js +1 -1
  387. package/dist/features/RequirementAI/components/citations/file-citation/FileCitationContent.js +1 -1
  388. package/dist/features/RequirementAI/components/citations/file-citation/FileCitationRender.js +1 -1
  389. package/dist/features/RequirementAI/components/citations/gpt-web-citation/GptWebCitationRenderer.js +2 -0
  390. package/dist/features/RequirementAI/components/citations/gpt-web-citation/GptWebCitationRenderer.js.map +1 -0
  391. package/dist/features/RequirementAI/components/citations/gpt-web-citation/GptWebcitationPanel.js +2 -0
  392. package/dist/features/RequirementAI/components/citations/gpt-web-citation/GptWebcitationPanel.js.map +1 -0
  393. package/dist/features/RequirementAI/components/citations/image-citation/ImageCitationContent.js +1 -1
  394. package/dist/features/RequirementAI/components/citations/image-citation/ImageCitationIcon.js +1 -1
  395. package/dist/features/RequirementAI/components/citations/image-citation/ImageCitationRenderer.js +1 -1
  396. package/dist/features/RequirementAI/components/citations/rca-citation/RCACitationContent.js +1 -1
  397. package/dist/features/RequirementAI/components/citations/rca-citation/RCACitationRenderer.js +1 -1
  398. package/dist/features/RequirementAI/components/citations/readfile-citation/CustomFileIcon.js +1 -1
  399. package/dist/features/RequirementAI/components/citations/readfile-citation/ReadFileCitationContent.js +1 -1
  400. package/dist/features/RequirementAI/components/citations/readfile-citation/ReadFileCitationRenderer.js +1 -1
  401. package/dist/features/RequirementAI/components/citations/readfile-citation/icons/ExternalLinkIcon.js +1 -1
  402. package/dist/features/RequirementAI/components/citations/readfile-citation/icons/FileCodeIcon.js +1 -1
  403. package/dist/features/RequirementAI/components/citations/stormee-citation/StormeeCitationRenderer.js +1 -1
  404. package/dist/features/RequirementAI/components/citations/stormee-citation/StormeeContent.js +1 -1
  405. package/dist/features/RequirementAI/components/citations/stormee-citation/components/GradientButton.js +1 -1
  406. package/dist/features/RequirementAI/components/citations/stormee-citation/components/ProblemStatementCard.js +1 -1
  407. package/dist/features/RequirementAI/components/citations/web-citation/FullScreenIcon.js +1 -1
  408. package/dist/features/RequirementAI/components/citations/web-citation/ImagePreviewDialog.js +1 -1
  409. package/dist/features/RequirementAI/components/citations/web-citation/WebCitation.js +1 -1
  410. package/dist/features/RequirementAI/components/citations/web-citation/WebCitationIcon.js +1 -1
  411. package/dist/features/RequirementAI/components/citations/web-citation/WebCitationRenderer.js +1 -1
  412. package/dist/features/RequirementAI/components/citations/web-citation/WebCitationWithImageContent.js +1 -1
  413. package/dist/features/RequirementAI/components/citations/web-citation/WebCitationWithImageRenderer.js +1 -1
  414. package/dist/features/RequirementAI/components/cra/PartialRequirementContent.js +1 -1
  415. package/dist/features/RequirementAI/components/lsc-reason-gap/CustomChatCrRedirection.js +1 -1
  416. package/dist/features/RequirementAI/components/lsc-reason-gap/GapFilterBlock.js +1 -1
  417. package/dist/features/RequirementAI/components/lsc-reason-gap/GapFilterContentWrapper.js +1 -1
  418. package/dist/features/RequirementAI/components/lsc-reason-gap/GapFilterItem.js +1 -1
  419. package/dist/features/RequirementAI/components/lsc-reason-gap/gapFilterSvgs.js +1 -1
  420. package/dist/features/RequirementAI/components/segment/ExampleComponentWrapper.js +1 -1
  421. package/dist/features/RequirementAI/components/segment/Segment.js +1 -1
  422. package/dist/features/RequirementAI/components/segment/SegmentLoader.js +1 -1
  423. package/dist/features/RequirementAI/components/segment/SegmentWrapper.js +1 -1
  424. package/dist/features/RequirementAI/components/segment/segment-common.css.js +1 -1
  425. package/dist/features/RequirementAI/components/story-screen/BigEnoughPanel.js +1 -1
  426. package/dist/features/RequirementAI/components/story-screen/CompletionPanel.js +2 -0
  427. package/dist/features/RequirementAI/components/story-screen/CompletionPanel.js.map +1 -0
  428. package/dist/features/RequirementAI/components/story-screen/CompletionPanel.module.css.js +2 -0
  429. package/dist/features/RequirementAI/components/story-screen/CompletionPanel.module.css.js.map +1 -0
  430. package/dist/features/RequirementAI/components/story-screen/ReplaceLearnedTags.js +1 -1
  431. package/dist/features/RequirementAI/components/story-screen/StreamingScreenSidebar.js +1 -1
  432. package/dist/features/RequirementAI/components/story-screen/SubfeatureBlock.js +1 -1
  433. package/dist/features/RequirementAI/components/story-screen/UserStoryScreen.js +1 -1
  434. package/dist/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalContext.js +1 -1
  435. package/dist/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalScreen.js +1 -1
  436. package/dist/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalScreen.module.css.js +1 -1
  437. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ApprovalBadge/ApprovalBadge.js +1 -1
  438. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ApprovalSidebar/ApprovalSidebar.js +1 -1
  439. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ApprovalSidebarItem/ApprovalSidebarItem.js +1 -1
  440. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ApprovalStatusBadge/ApprovalStatusBadge.js +1 -1
  441. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ContentBlock/ContentBlock.js +1 -1
  442. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ContentSegment/ContentSegment.js +1 -1
  443. package/dist/features/RequirementAI/components/userstory-approval-screen/components/ContentSegment/ContentSegment.module.css.js +1 -1
  444. package/dist/features/RequirementAI/components/userstory-with-citation/UserStoryWithCitation.js +1 -1
  445. package/dist/features/RequirementAI/components/userstory-with-citation/UserStoryWithCitation.module.css.js +1 -1
  446. package/dist/features/RequirementAI/components/userstory-with-citation/components/HighlightButtonComponent.js +2 -0
  447. package/dist/features/RequirementAI/components/userstory-with-citation/components/HighlightButtonComponent.js.map +1 -0
  448. package/dist/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.js +2 -0
  449. package/dist/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.js.map +1 -0
  450. package/dist/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.module.css.js +2 -0
  451. package/dist/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.module.css.js.map +1 -0
  452. package/dist/features/RequirementAI/components/userstory-with-citation/components/InlineUpdatedComponent.js +1 -1
  453. package/dist/features/RequirementAI/components/userstory-with-citation/components/InlineUpdatedComponent.module.css.js +1 -1
  454. package/dist/features/RequirementAI/hooks/useApprovalStatus.js +1 -1
  455. package/dist/features/RequirementAI/hooks/useDiffEditReviewMode.js +1 -1
  456. package/dist/features/RequirementAI/hooks/useStreamContentHandler.js +1 -1
  457. package/dist/features/RequirementAI/icons/AiGapIcon.js +1 -1
  458. package/dist/features/RequirementAI/icons/AiReasoningIcon.js +1 -1
  459. package/dist/features/RequirementAI/icons/BigEnoughIcon.js +1 -1
  460. package/dist/features/RequirementAI/icons/BookmarkIcon.js +1 -1
  461. package/dist/features/RequirementAI/icons/BrainRed.js +1 -1
  462. package/dist/features/RequirementAI/icons/CDIcon.js +2 -0
  463. package/dist/features/RequirementAI/icons/CDIcon.js.map +1 -0
  464. package/dist/features/RequirementAI/icons/CheckIcon.js +1 -1
  465. package/dist/features/RequirementAI/icons/ChevronDownIcon.js +1 -1
  466. package/dist/features/RequirementAI/icons/ChevronUpIcon.js +1 -1
  467. package/dist/features/RequirementAI/icons/CognitiveDecision.js +1 -1
  468. package/dist/features/RequirementAI/icons/Illustration.svg.js +2 -0
  469. package/dist/features/RequirementAI/icons/Illustration.svg.js.map +1 -0
  470. package/dist/features/RequirementAI/icons/MeetingHighlightsIcon.js +1 -1
  471. package/dist/features/RequirementAI/icons/MenuUnfoldIcon.js +1 -1
  472. package/dist/features/RequirementAI/icons/PencilIcon.js +1 -1
  473. package/dist/features/RequirementAI/icons/ReasoningBulbIcon.js +1 -1
  474. package/dist/features/RequirementAI/icons/RelevanceScoreIcon.js +1 -1
  475. package/dist/features/RequirementAI/icons/SidebarCloseIcon.js +1 -1
  476. package/dist/features/RequirementAI/icons/SidebarOpenIcon.js +1 -1
  477. package/dist/features/RequirementAI/icons/TrashIcon.js +1 -1
  478. package/dist/features/RequirementAI/shared/Accordian.js +1 -1
  479. package/dist/features/RequirementAI/shared/AtomicButton.js +1 -1
  480. package/dist/features/RequirementAI/shared/CitationAIConfidenceDisplay.js +1 -1
  481. package/dist/features/RequirementAI/shared/CitationLoadingIndicator.js +1 -1
  482. package/dist/features/RequirementAI/shared/CodeViewer.js +1 -1
  483. package/dist/features/RequirementAI/shared/ExpandableOl.js +1 -1
  484. package/dist/features/RequirementAI/shared/GeneratedCodeCitation.js +1 -1
  485. package/dist/features/RequirementAI/shared/ReqAiCitationRenderer.js +1 -1
  486. package/dist/features/RequirementAI/shared/UpdatedAnimationContent.js +1 -1
  487. package/dist/features/RequirementAI/shared/useMarkdownSearch.js +1 -1
  488. package/dist/features/RequirementAI/store/markdown-context.js +1 -1
  489. package/dist/features/RequirementAI/store/ref.context.js +1 -1
  490. package/dist/features/RequirementAI/utils/css.utils.js +1 -1
  491. package/dist/features/RequirementAI/utils/diff-edit.utils.js +1 -1
  492. package/dist/features/RequirementAI/utils/helpers.js +1 -1
  493. package/dist/features/RequirementAI/utils/json-helper.js +1 -1
  494. package/dist/features/RequirementAI/utils/learned-tag.utils.js +1 -1
  495. package/dist/features/RequirementAI/utils/proccess-stream.utils.js +1 -1
  496. package/dist/features/RequirementAI/utils/user-story.utils.js +1 -1
  497. package/dist/features/RequirementAI/utils/userStoryAttachedContext.utils.js +1 -1
  498. package/dist/features/RequirementAI/utils/userstory-approval-transform.utils.js +1 -1
  499. package/dist/features/RequirementAI/utils/userstory-approval.utils.js +1 -1
  500. package/dist/features/RulebookCitations/RuleBookCitationApi.js +1 -1
  501. package/dist/features/RulebookCitations/RuleBookCitationWrapper.js +1 -1
  502. package/dist/features/UserStoryImport/UserStoryPicker.context.js +1 -1
  503. package/dist/features/UserStoryImport/UserStoryPicker.js +1 -1
  504. package/dist/features/UserStoryImport/UserStoryPicker.theme.js +1 -1
  505. package/dist/features/UserStoryImport/components/BackNav.js +1 -1
  506. package/dist/features/UserStoryImport/components/Badge.js +1 -1
  507. package/dist/features/UserStoryImport/components/BrowseProjectsButton.js +1 -1
  508. package/dist/features/UserStoryImport/components/CardGrid.js +1 -1
  509. package/dist/features/UserStoryImport/components/CardProceedButton.js +1 -1
  510. package/dist/features/UserStoryImport/components/ContentArea.js +1 -1
  511. package/dist/features/UserStoryImport/components/Footer.js +1 -1
  512. package/dist/features/UserStoryImport/components/Header.js +1 -1
  513. package/dist/features/UserStoryImport/components/NavRow.js +1 -1
  514. package/dist/features/UserStoryImport/components/ProceedButton.js +1 -1
  515. package/dist/features/UserStoryImport/components/ProjectCard.js +1 -1
  516. package/dist/features/UserStoryImport/components/ResizeHandle.js +1 -1
  517. package/dist/features/UserStoryImport/components/ScopeDropdown.js +1 -1
  518. package/dist/features/UserStoryImport/components/SearchInput.js +1 -1
  519. package/dist/features/UserStoryImport/components/SectionHeading.js +1 -1
  520. package/dist/features/UserStoryImport/components/ShowMore.js +1 -1
  521. package/dist/features/UserStoryImport/components/Sidebar.js +1 -1
  522. package/dist/features/UserStoryImport/components/SidebarFavoritesList.js +1 -1
  523. package/dist/features/UserStoryImport/components/SidebarProjectList.js +1 -1
  524. package/dist/features/UserStoryImport/components/SidebarSection.js +1 -1
  525. package/dist/features/UserStoryImport/components/SortDropdown.js +1 -1
  526. package/dist/features/UserStoryImport/components/SplitLayout.js +1 -1
  527. package/dist/features/UserStoryImport/components/Toolbar.js +1 -1
  528. package/dist/features/UserStoryImport/components/TypeDropdown.js +1 -1
  529. package/dist/features/UserStoryImport/components/UserStoryCard.js +1 -1
  530. package/dist/features/UserStoryImport/components/UserStoryImportDialog.js +1 -1
  531. package/dist/features/UserStoryImport/components/UserStoryScopeDropdown.js +1 -1
  532. package/dist/features/UserStoryImport/components/usePanelResize.js +1 -1
  533. package/dist/features/UserStoryImport/hooks/useFilteredItems.js +1 -1
  534. package/dist/features/UserStoryImport/hooks/useUSPData.js +1 -1
  535. package/dist/features/UserStoryImport/hooks/useUserStoryPickerState.js +1 -1
  536. package/dist/features/UserStoryImport/index.js +1 -1
  537. package/dist/features/UserStoryImport/lib/CustomTooltip.js +1 -1
  538. package/dist/features/UserStoryImport/lib/Tooltip.js +1 -1
  539. package/dist/features/UserStoryImport/lib/cn.js +1 -1
  540. package/dist/features/UserStoryImport/lib/dialog.js +1 -1
  541. package/dist/index.js +1 -1
  542. package/dist/service/redlineService.js +2 -0
  543. package/dist/service/redlineService.js.map +1 -0
  544. package/dist/types/src/Background.d.ts +7 -0
  545. package/dist/types/src/Background.d.ts.map +1 -0
  546. package/dist/types/src/CognitiveCompareTest.d.ts.map +1 -1
  547. package/dist/types/src/DeviationSummaryTest.d.ts +2 -0
  548. package/dist/types/src/DeviationSummaryTest.d.ts.map +1 -0
  549. package/dist/types/src/RedlineEditorTest.d.ts +3 -0
  550. package/dist/types/src/RedlineEditorTest.d.ts.map +1 -0
  551. package/dist/types/src/RequirementAiTest.d.ts.map +1 -1
  552. package/dist/types/src/features/CognitiveCompare/CognitiveCompare.d.ts.map +1 -1
  553. package/dist/types/src/features/CognitiveCompare/CognitiveCompareTypes.d.ts +5 -0
  554. package/dist/types/src/features/CognitiveCompare/CognitiveCompareTypes.d.ts.map +1 -1
  555. package/dist/types/src/features/CognitiveCompare/CognitiveComparehelpers.d.ts +9 -1
  556. package/dist/types/src/features/CognitiveCompare/CognitiveComparehelpers.d.ts.map +1 -1
  557. package/dist/types/src/features/CognitiveCompare/components/SectionAccordion.d.ts.map +1 -1
  558. package/dist/types/src/features/CognitiveCompare/components/SubSectionAccordion.d.ts.map +1 -1
  559. package/dist/types/src/features/CognitiveCompare/hooks/useCompareData.d.ts.map +1 -1
  560. package/dist/types/src/features/CognitiveCompare/hooks/useCompareLayout.d.ts +0 -1
  561. package/dist/types/src/features/CognitiveCompare/hooks/useCompareLayout.d.ts.map +1 -1
  562. package/dist/types/src/features/CognitiveCompare/hooks/useLinesCalculator.d.ts.map +1 -1
  563. package/dist/types/src/features/GptWebCitation/GptWebCitation.d.ts +10 -0
  564. package/dist/types/src/features/GptWebCitation/GptWebCitation.d.ts.map +1 -1
  565. package/dist/types/src/features/GptWebCitation/GptWebCitationImageCitation.d.ts +9 -1
  566. package/dist/types/src/features/GptWebCitation/GptWebCitationImageCitation.d.ts.map +1 -1
  567. package/dist/types/src/features/GptWebCitation/GptWebCitationImageFullScreenView.d.ts +3 -1
  568. package/dist/types/src/features/GptWebCitation/GptWebCitationImageFullScreenView.d.ts.map +1 -1
  569. package/dist/types/src/features/GptWebCitation/GptWebCitationSkeleton.d.ts +12 -1
  570. package/dist/types/src/features/GptWebCitation/GptWebCitationSkeleton.d.ts.map +1 -1
  571. package/dist/types/src/features/GptWebCitation/GptWebCitationTest.d.ts +1 -1
  572. package/dist/types/src/features/GptWebCitation/GptWebCitationTest.d.ts.map +1 -1
  573. package/dist/types/src/features/GptWebCitation/WebCitationSampleResponse.d.ts.map +1 -1
  574. package/dist/types/src/features/GptWebCitation/types.d.ts +313 -20
  575. package/dist/types/src/features/GptWebCitation/types.d.ts.map +1 -1
  576. package/dist/types/src/features/GptWebCitation/utils/citationData.utils.d.ts +2 -0
  577. package/dist/types/src/features/GptWebCitation/utils/citationData.utils.d.ts.map +1 -1
  578. package/dist/types/src/features/GptWebCitation/utils/fixedHeight.utils.d.ts +10 -0
  579. package/dist/types/src/features/GptWebCitation/utils/fixedHeight.utils.d.ts.map +1 -0
  580. package/dist/types/src/features/GptWebCitation/utils/styleOverrides.utils.d.ts +6 -0
  581. package/dist/types/src/features/GptWebCitation/utils/styleOverrides.utils.d.ts.map +1 -0
  582. package/dist/types/src/features/IngestionStatus/IngestionStatusComponent.d.ts +2 -0
  583. package/dist/types/src/features/IngestionStatus/IngestionStatusComponent.d.ts.map +1 -1
  584. package/dist/types/src/features/IngestionStatus/IngestionStatusComponentTest.d.ts.map +1 -1
  585. package/dist/types/src/features/RequirementAI/components/GapRiskSidebar/components/StoryNode/StoryNode.d.ts.map +1 -1
  586. package/dist/types/src/features/RequirementAI/components/RequirementAIWrapper/RequirementAIWrapper.d.ts +156 -3
  587. package/dist/types/src/features/RequirementAI/components/RequirementAIWrapper/RequirementAIWrapper.d.ts.map +1 -1
  588. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/Editor.d.ts +2 -1
  589. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/Editor.d.ts.map +1 -1
  590. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/DeleteNode.d.ts +1 -4
  591. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/DeleteNode.d.ts.map +1 -1
  592. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/HighlightNode.d.ts +44 -0
  593. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/HighlightNode.d.ts.map +1 -0
  594. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InitialHtml.d.ts.map +1 -1
  595. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.d.ts +4 -3
  596. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InsertNode.d.ts.map +1 -1
  597. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InvisibleNode.d.ts +35 -0
  598. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/InvisibleNode.d.ts.map +1 -0
  599. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/ManualNode.d.ts +25 -0
  600. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/ManualNode.d.ts.map +1 -0
  601. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/PreservedNode.d.ts +23 -0
  602. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/PreservedNode.d.ts.map +1 -0
  603. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.d.ts +25 -0
  604. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/plugins/UpdateNode.d.ts.map +1 -0
  605. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/theme/PlaygroundEditorTheme.d.ts.map +1 -1
  606. package/dist/types/src/features/RequirementAI/components/RichTextEditor/Editor/theme/theme.d.ts.map +1 -1
  607. package/dist/types/src/features/RequirementAI/components/RichTextEditor/RichTextEditor.d.ts +9 -1
  608. package/dist/types/src/features/RequirementAI/components/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  609. package/dist/types/src/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.d.ts +8 -0
  610. package/dist/types/src/features/RequirementAI/components/UnsavedChangesPopup/UnsavedChangesPopup.d.ts.map +1 -0
  611. package/dist/types/src/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.d.ts +29 -0
  612. package/dist/types/src/features/RequirementAI/components/UserStoryCard/ClinicalTrialSection.d.ts.map +1 -0
  613. package/dist/types/src/features/RequirementAI/components/UserStoryCard/CognitiveComponents/CognitiveComponent.d.ts +8 -3
  614. package/dist/types/src/features/RequirementAI/components/UserStoryCard/CognitiveComponents/CognitiveComponent.d.ts.map +1 -1
  615. package/dist/types/src/features/RequirementAI/components/UserStoryCard/Popups/DeviationSummary.d.ts +44 -4
  616. package/dist/types/src/features/RequirementAI/components/UserStoryCard/Popups/DeviationSummary.d.ts.map +1 -1
  617. package/dist/types/src/features/RequirementAI/components/UserStoryCard/Popups/ManualEditPopup.d.ts +25 -0
  618. package/dist/types/src/features/RequirementAI/components/UserStoryCard/Popups/ManualEditPopup.d.ts.map +1 -0
  619. package/dist/types/src/features/RequirementAI/components/UserStoryCard/Popups/RedlineStatusCard.d.ts +17 -3
  620. package/dist/types/src/features/RequirementAI/components/UserStoryCard/Popups/RedlineStatusCard.d.ts.map +1 -1
  621. package/dist/types/src/features/RequirementAI/components/UserStoryCard/UserStoryCard.d.ts +35 -2
  622. package/dist/types/src/features/RequirementAI/components/UserStoryCard/UserStoryCard.d.ts.map +1 -1
  623. package/dist/types/src/features/RequirementAI/components/ai-reasoning/AiReasonMarkdownWrapper.d.ts.map +1 -1
  624. package/dist/types/src/features/RequirementAI/components/citations/gpt-web-citation/GptWebCitationRenderer.d.ts +12 -0
  625. package/dist/types/src/features/RequirementAI/components/citations/gpt-web-citation/GptWebCitationRenderer.d.ts.map +1 -0
  626. package/dist/types/src/features/RequirementAI/components/citations/gpt-web-citation/GptWebcitationPanel.d.ts +6 -0
  627. package/dist/types/src/features/RequirementAI/components/citations/gpt-web-citation/GptWebcitationPanel.d.ts.map +1 -0
  628. package/dist/types/src/features/RequirementAI/components/cra/PartialRequirementContent.d.ts +1 -0
  629. package/dist/types/src/features/RequirementAI/components/cra/PartialRequirementContent.d.ts.map +1 -1
  630. package/dist/types/src/features/RequirementAI/components/story-screen/CompletionPanel.d.ts +15 -0
  631. package/dist/types/src/features/RequirementAI/components/story-screen/CompletionPanel.d.ts.map +1 -0
  632. package/dist/types/src/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalScreen.d.ts +7 -1
  633. package/dist/types/src/features/RequirementAI/components/userstory-approval-screen/UserStoryApprovalScreen.d.ts.map +1 -1
  634. package/dist/types/src/features/RequirementAI/components/userstory-approval-screen/components/ContentSegment/ContentSegment.d.ts +4 -1
  635. package/dist/types/src/features/RequirementAI/components/userstory-approval-screen/components/ContentSegment/ContentSegment.d.ts.map +1 -1
  636. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/UserStoryWithCitation.d.ts +14 -1
  637. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/UserStoryWithCitation.d.ts.map +1 -1
  638. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/components/HighlightButtonComponent.d.ts +11 -0
  639. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/components/HighlightButtonComponent.d.ts.map +1 -0
  640. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.d.ts +10 -0
  641. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/components/InlineManualComponent.d.ts.map +1 -0
  642. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/components/InlineUpdatedComponent.d.ts +2 -1
  643. package/dist/types/src/features/RequirementAI/components/userstory-with-citation/components/InlineUpdatedComponent.d.ts.map +1 -1
  644. package/dist/types/src/features/RequirementAI/icons/CDIcon.d.ts +4 -1
  645. package/dist/types/src/features/RequirementAI/icons/CDIcon.d.ts.map +1 -1
  646. package/dist/types/src/features/RequirementAI/interfaces/citation.interface.d.ts +17 -2
  647. package/dist/types/src/features/RequirementAI/interfaces/citation.interface.d.ts.map +1 -1
  648. package/dist/types/src/features/RequirementAI/interfaces/userstory.interface.d.ts +10 -0
  649. package/dist/types/src/features/RequirementAI/interfaces/userstory.interface.d.ts.map +1 -1
  650. package/dist/types/src/features/RequirementAI/shared/UpdatedAnimationContent.d.ts +4 -1
  651. package/dist/types/src/features/RequirementAI/shared/UpdatedAnimationContent.d.ts.map +1 -1
  652. package/dist/types/src/features/RequirementAI/types/aiReasoning.type.d.ts +22 -12
  653. package/dist/types/src/features/RequirementAI/types/aiReasoning.type.d.ts.map +1 -1
  654. package/dist/types/src/features/RequirementAI/types/citation.type.d.ts +20 -0
  655. package/dist/types/src/features/RequirementAI/types/citation.type.d.ts.map +1 -1
  656. package/dist/types/src/features/RequirementAI/utils/userStoryAttachedContext.utils.d.ts.map +1 -1
  657. package/dist/types/src/features/RulebookCitations/RuleBookCitationApi.d.ts +2 -2
  658. package/dist/types/src/features/RulebookCitations/RuleBookCitationApi.d.ts.map +1 -1
  659. package/dist/types/src/features/RulebookCitations/RuleBookCitationWrapper.d.ts +1 -0
  660. package/dist/types/src/features/RulebookCitations/RuleBookCitationWrapper.d.ts.map +1 -1
  661. package/dist/types/src/features/RulebookCitations/RuleBookCitationWrapperTest.d.ts.map +1 -1
  662. package/dist/types/src/index.d.ts +3 -2
  663. package/dist/types/src/index.d.ts.map +1 -1
  664. package/dist/types/src/service/redlineService.d.ts +33 -0
  665. package/dist/types/src/service/redlineService.d.ts.map +1 -0
  666. package/package.json +10 -7
  667. package/dist/cjs/features/GptWebCitation/GptWebCitationMarkdown.js +0 -2
  668. package/dist/cjs/features/GptWebCitation/GptWebCitationMarkdown.js.map +0 -1
  669. package/dist/features/GptWebCitation/GptWebCitationMarkdown.js +0 -2
  670. package/dist/features/GptWebCitation/GptWebCitationMarkdown.js.map +0 -1
package/README.md CHANGED
@@ -681,31 +681,68 @@ const reasoningData = {
681
681
 
682
682
  `GptWebCitation` is a composite React component that wraps the GPT reasoning citation (`CognitiveInternalgptCoreComponent`) and adds an optional **Web Citation** view. Users can toggle between GPT and web-based citations without modifying the underlying GPT citation code.
683
683
 
684
- In **GPT view**, the component renders the standard GPT citation panel with a **View Web Citation** button on the left and the document source link on the right (inside the GPT citation footer). In **Web Citation view**, it shows a web snapshot (image or markdown content) with highlight navigation, relevance score, and a **View GPT Citation** toggle to switch back.
684
+ In **GPT view**, the component renders the standard GPT citation panel with a **View Web Citation** button on the left and the document source link on the right (inside the GPT citation footer). In **Web Citation view**, it shows a screenshot snapshot of the source page (when available), a relevance score badge, visit links, and a **View GPT Citation** toggle to switch back.
685
+
686
+ The component is **presentational** — it does not fetch web citations. The parent owns `webCitationData`, `webCitationStatus`, and view toggling via the required `citationType` prop.
687
+
688
+ ### `CitationType`
689
+
690
+ Import from `@e-llm-studio/citation`:
691
+
692
+ ```tsx
693
+ import { CitationType } from '@e-llm-studio/citation';
694
+ ```
695
+
696
+ | Value | GPT view | Web view | Toggle | Default view |
697
+ | --- | --- | --- | --- | --- |
698
+ | `CitationType.GPT` | yes | no | no | GPT only |
699
+ | `CitationType.WEB` | no | yes | no | Web only |
700
+ | `CitationType.GPT_WEB` | yes | yes | yes | Web (uncontrolled) |
701
+
702
+ `citationType` is **required**. Use `CitationType.GPT_WEB` when users should switch between GPT reasoning and web screenshot citations.
685
703
 
686
704
  ### Features
687
705
 
688
706
  - **Dual citation views** — Toggle between GPT reasoning and web-based citation
689
707
  - **Non-invasive GPT integration** — Wraps `CognitiveInternalgptCoreComponent` via props; no changes to GPT citation code required
690
- - **Image & markdown web citations** — Supports screenshot snapshots (`imageMetadata.signed_url`) or HTML/markdown content
691
- - **Highlight pagination** — Navigate between highlighted anchors in web citation markdown
708
+ - **Screenshot web citations** — Renders `imageMetadata.signed_url` when the API returns a snapshot
709
+ - **Status-driven skeleton UI** — `"pending"` loading skeleton and `"error"` fallback with **Visit Link**
710
+ - **`defaultCitationUrl`** — Immediate visit link while fetch is in progress (before `highlightedUrl` arrives)
711
+ - **Visit link priority** — `highlightedUrl` from API response wins over `defaultCitationUrl` in pending/error states
692
712
  - **Relevance score badge** — Auto-extracted from web citation content (e.g. "decision strength is 85%")
693
- - **Loading skeleton** — Built-in loading state while web citation is being generated
694
713
  - **Expand screenshot button** — Optional full-screen image view (`showExpandImageButton`)
714
+ - **Custom icons** — Override expand and external-link icons via `iconsConfig`
715
+ - **Fixed height mode** — Optional `isFixedHeight` keeps GPT and web panels the same size with contained screenshots
695
716
  - **Style overrides** — Customize layout via the `styles` prop without editing component internals
696
717
 
697
718
  ### Installation / Import
698
719
 
699
720
  ```tsx
700
721
  import GptWebCitation from '@e-llm-studio/citation/GptWebCitation';
722
+
723
+ // Optional utilities and types
724
+ import {
725
+ mapCitationDataToDisplay,
726
+ getWebCitationImageUrl,
727
+ resolveSkeletonVisitUrl,
728
+ type GptWebCitationStatus,
729
+ type IWebCitationApiResponse,
730
+ type IGptWebCitationStyleOverrides,
731
+ type IGptWebCitationImageStyles,
732
+ type IGptWebCitationSkeletonStyles,
733
+ type IGptWebCitationVisitLinkStyles,
734
+ type IGptWebCitationFullScreenStyles,
735
+ CitationType,
736
+ } from '@e-llm-studio/citation';
701
737
  ```
702
738
 
703
739
  ### Usage 1: Basic GPT + Web Citation Toggle
704
740
 
705
741
  ```tsx
706
742
  import { useState } from 'react';
707
- import { ChevronDown, ChevronUp, Maximize2, X } from 'lucide-react';
743
+ import { ChevronDown, ChevronUp, ExternalLink, Maximize2, X } from 'lucide-react';
708
744
  import GptWebCitation from '@e-llm-studio/citation/GptWebCitation';
745
+ import { CitationType, type GptWebCitationStatus } from '@e-llm-studio/citation';
709
746
 
710
747
  const gptCitation = {
711
748
  item: {
@@ -727,31 +764,42 @@ const gptCitation = {
727
764
  previewCallback: () => window.open('/preview/document'),
728
765
  };
729
766
 
767
+ const webCitationIcons = {
768
+ MaximizeIcon: Maximize2,
769
+ ExternalLinkIcon: ExternalLink,
770
+ };
771
+
730
772
  function CitationPanel() {
731
773
  const [showWebCitation, setShowWebCitation] = useState(false);
732
774
  const [webCitationData, setWebCitationData] = useState(undefined);
733
- const [isLoading, setIsLoading] = useState(false);
775
+ const [webCitationStatus, setWebCitationStatus] =
776
+ useState<GptWebCitationStatus>('pending');
734
777
 
735
778
  const handleGenerateWebCitation = async () => {
736
779
  setShowWebCitation(true);
737
- setIsLoading(true);
738
-
739
- const response = await fetch('/api/web-citation/generate');
740
- const data = await response.json();
741
-
742
- setWebCitationData(data);
743
- setIsLoading(false);
780
+ setWebCitationStatus('pending');
781
+
782
+ try {
783
+ const response = await fetch('/api/web-citation/generate');
784
+ const data = await response.json();
785
+ setWebCitationData(data);
786
+ setWebCitationStatus('success');
787
+ } catch {
788
+ setWebCitationStatus('error');
789
+ }
744
790
  };
745
791
 
746
792
  return (
747
793
  <GptWebCitation
748
794
  gptCitation={gptCitation}
749
- isWebCitation={true}
795
+ defaultCitationUrl="https://example.com/article"
796
+ citationType={CitationType.GPT_WEB}
750
797
  webCitationData={webCitationData}
798
+ webCitationStatus={webCitationStatus}
751
799
  showWebCitation={showWebCitation}
752
- isWebCitationLoading={isLoading}
753
800
  onGenerateWebCitation={handleGenerateWebCitation}
754
801
  onToggleCitationView={() => setShowWebCitation((prev) => !prev)}
802
+ iconsConfig={webCitationIcons}
755
803
  />
756
804
  );
757
805
  }
@@ -768,6 +816,8 @@ const webCitationData = {
768
816
  'The decision strength is 85% because:<ol><li>The exact <a href="https://example.com/article">valuation of SpaceX</a> fluctuates between sources.</li></ol>',
769
817
  citationType: 'web',
770
818
  citationUrl: 'https://example.com/article',
819
+ highlightedUrl: 'https://example.com/article#highlight',
820
+ message: 'Citation processed successfully',
771
821
  imageMetadata: {
772
822
  signed_url: 'https://storage.example.com/image_citations/screenshot.png',
773
823
  blob_path: 'image_citations/screenshot.png',
@@ -777,22 +827,48 @@ const webCitationData = {
777
827
 
778
828
  <GptWebCitation
779
829
  gptCitation={gptCitation}
780
- isWebCitation={true}
830
+ defaultCitationUrl="https://example.com/article"
831
+ citationType={CitationType.GPT_WEB}
781
832
  webCitationData={webCitationData}
833
+ webCitationStatus="success"
782
834
  showWebCitation={true}
783
835
  />
784
836
  ```
785
837
 
786
- When `imageMetadata.signed_url` is present, the component renders a screenshot snapshot. Otherwise it falls back to rendering the `content` field as markdown/HTML.
838
+ When `imageMetadata.signed_url` is present and `webCitationStatus` is `"success"`, the component renders a screenshot snapshot. If the image is unavailable or the fetch fails, an error skeleton is shown with a **Visit Link** (using `highlightedUrl` or `defaultCitationUrl`).
839
+
840
+ #### Visit link resolution
841
+
842
+ | UI state | Visit link source |
843
+ | --- | --- |
844
+ | Pending / error skeleton | `highlightedUrl` from `webCitationData` → else `defaultCitationUrl` prop |
845
+ | Screenshot footer (success) | `citationUrl` from `webCitationData` |
846
+
847
+ Use `resolveSkeletonVisitUrl(highlightedUrl, defaultCitationUrl)` from `@e-llm-studio/citation` if you need the same logic outside the component.
787
848
 
788
849
  ### Usage 3: GPT-Only Mode (No Web Citation)
789
850
 
790
- Set `isWebCitation={false}` to render only the GPT citation with no toggle button:
851
+ Set `citationType={CitationType.GPT}` to render only the GPT citation with no toggle button. `defaultCitationUrl` is still required by the prop contract but is unused in GPT-only mode:
791
852
 
792
853
  ```tsx
793
854
  <GptWebCitation
794
855
  gptCitation={gptCitation}
795
- isWebCitation={false}
856
+ defaultCitationUrl="https://example.com/article"
857
+ citationType={CitationType.GPT}
858
+ />
859
+ ```
860
+
861
+ ### Usage 3b: Web-Only Mode (No GPT Citation)
862
+
863
+ Set `citationType={CitationType.WEB}` to render only the web citation panel with no toggle:
864
+
865
+ ```tsx
866
+ <GptWebCitation
867
+ gptCitation={gptCitation}
868
+ defaultCitationUrl="https://example.com/article"
869
+ citationType={CitationType.WEB}
870
+ webCitationData={webCitationData}
871
+ webCitationStatus="success"
796
872
  />
797
873
  ```
798
874
 
@@ -803,8 +879,10 @@ Hide the web citation screenshot expand button:
803
879
  ```tsx
804
880
  <GptWebCitation
805
881
  gptCitation={gptCitation}
806
- isWebCitation={true}
882
+ defaultCitationUrl="https://example.com/article"
883
+ citationType={CitationType.GPT_WEB}
807
884
  webCitationData={webCitationData}
885
+ webCitationStatus="success"
808
886
  showWebCitation={true}
809
887
  showExpandImageButton={false}
810
888
  />
@@ -815,7 +893,8 @@ Hide the GPT citation header maximize/expand icon:
815
893
  ```tsx
816
894
  <GptWebCitation
817
895
  gptCitation={gptCitation}
818
- isWebCitation={true}
896
+ defaultCitationUrl="https://example.com/article"
897
+ citationType={CitationType.GPT_WEB}
819
898
  showGptMaximizeButton={false}
820
899
  />
821
900
  ```
@@ -824,7 +903,7 @@ You can also use `gptCitation.disableMaximize: true` directly on the GPT config.
824
903
 
825
904
  ### Usage 5: Custom Styling via Props (matched heights)
826
905
 
827
- Layout, borders, and heights for **both GPT and web views** can be controlled from the parent without modifying component internals:
906
+ Layout, borders, and heights for **both GPT and web views** can be controlled from the parent without modifying component internals. Prefer **`isFixedHeight`** (Usage 6) when you only need equal panel size + contained screenshots; use `styles` when you need granular control over skeleton, image, visit-link, or full-screen elements:
828
907
 
829
908
  ```tsx
830
909
  const sharedPanelHeight = '520px';
@@ -835,9 +914,15 @@ const sharedContentHeight = '384px';
835
914
  ...gptCitation,
836
915
  bodyHeight: sharedContentHeight,
837
916
  }}
838
- isWebCitation={true}
917
+ defaultCitationUrl="https://example.com/article"
918
+ citationType={CitationType.GPT_WEB}
839
919
  webCitationData={webCitationData}
920
+ webCitationStatus="success"
840
921
  showGptMaximizeButton={true}
922
+ iconsConfig={{
923
+ MaximizeIcon: Maximize2,
924
+ ExternalLinkIcon: ExternalLink,
925
+ }}
841
926
  styles={{
842
927
  container: { maxWidth: 900 },
843
928
  gptCitation: {
@@ -878,33 +963,143 @@ const sharedContentHeight = '384px';
878
963
  | `gptCitation.footerAction` | GPT view | View Web Citation button row in footer |
879
964
  | `gptCitation.toggleButton` | GPT view | View Web Citation button styles |
880
965
  | `webCitation.panel` | Web view | Outer web citation card |
881
- | `webCitation.header` | Web view | Source label + pagination + score badge row |
882
- | `webCitation.content` | Web view | Main content area (markdown, image, skeleton) |
966
+ | `webCitation.header` | Web view | Source label + relevance score badge row |
967
+ | `webCitation.content` | Web view | Screenshot or loading/error skeleton |
883
968
  | `webCitation.footer` | Web view | View GPT Citation + Learned From row |
884
969
  | `webCitation.toggleButton` | Web view | View GPT Citation button styles |
885
970
  | `webCitation.learnedFrom` | Web view | "Learned From …" text styles |
971
+ | `webCitation.visitLink.row` | Image + skeleton | Shared visit link row (merged with scoped overrides below) |
972
+ | `webCitation.visitLink.hint` | Image + skeleton | Shared visit link hint text |
973
+ | `webCitation.visitLink.link` | Image + skeleton | Shared visit link anchor styles |
974
+ | `webCitation.image.wrapper` | Screenshot view | Outer image citation wrapper |
975
+ | `webCitation.image.center` | Screenshot view | Center column (viewport or inline skeleton) |
976
+ | `webCitation.image.viewport` | Screenshot view | Viewport around scroll container |
977
+ | `webCitation.image.scrollContainer` | Screenshot view | Scrollable screenshot container |
978
+ | `webCitation.image.image` | Screenshot view | Screenshot `<img>` element |
979
+ | `webCitation.image.expandButton` | Screenshot view | Full-screen expand button |
980
+ | `webCitation.image.visitLink.*` | Screenshot footer | Image-specific visit link overrides (merged on top of `webCitation.visitLink`) |
981
+ | `webCitation.image.fullScreen.overlay` | Full-screen viewer | Portal overlay backdrop |
982
+ | `webCitation.image.fullScreen.content` | Full-screen viewer | Modal content card |
983
+ | `webCitation.image.fullScreen.closeButton` | Full-screen viewer | Close button |
984
+ | `webCitation.image.fullScreen.imageWrapper` | Full-screen viewer | Scrollable image wrapper |
985
+ | `webCitation.image.fullScreen.image` | Full-screen viewer | Full-screen `<img>` |
986
+ | `webCitation.skeleton.container` | Pending/error | Outer skeleton column |
987
+ | `webCitation.skeleton.frame` | Pending/error | Gray skeleton frame |
988
+ | `webCitation.skeleton.shimmer` | Pending | Shimmer animation overlay |
989
+ | `webCitation.skeleton.pending.content` | Pending | Centered pending content block |
990
+ | `webCitation.skeleton.pending.text` | Pending | Loading message text |
991
+ | `webCitation.skeleton.pending.actionRow` | Pending | Visit link row |
992
+ | `webCitation.skeleton.pending.actionHint` | Pending | "to view details" hint |
993
+ | `webCitation.skeleton.error.content` | Error | Error content block |
994
+ | `webCitation.skeleton.error.title` | Error | "No preview available" title |
995
+ | `webCitation.skeleton.error.message` | Error | Restriction message |
996
+ | `webCitation.skeleton.error.actionGroup` | Error | Action row wrapper |
997
+ | `webCitation.skeleton.error.detailsToggle` | Error | Error details expand button |
998
+ | `webCitation.skeleton.error.detailsMessage` | Error | Expanded error details text |
999
+ | `webCitation.skeleton.error.visitLinkGlow` | Error | Glowing visit link (merged on top of visit link styles) |
1000
+ | `webCitation.skeleton.visitLink.*` | Pending/error | Skeleton-specific visit link overrides (merged on top of `webCitation.visitLink`) |
886
1001
 
887
1002
  Legacy flat keys (`gptCitationWrapper`, `footerAction`, `webCitationButton`) still work for backward compatibility.
888
1003
 
1004
+ #### Example: customize screenshot and pending skeleton
1005
+
1006
+ ```tsx
1007
+ <GptWebCitation
1008
+ gptCitation={gptCitation}
1009
+ defaultCitationUrl="https://example.com/article"
1010
+ citationType={CitationType.GPT_WEB}
1011
+ webCitationData={data}
1012
+ webCitationStatus={status}
1013
+ styles={{
1014
+ webCitation: {
1015
+ visitLink: {
1016
+ link: { backgroundColor: 'rgba(37, 99, 235, 0.08)', borderRadius: 8 },
1017
+ },
1018
+ image: {
1019
+ scrollContainer: { borderRadius: 16, borderColor: '#d1d5db' },
1020
+ image: { objectFit: 'contain', maxHeight: 360 },
1021
+ expandButton: { backgroundColor: '#111827' },
1022
+ },
1023
+ skeleton: {
1024
+ frame: { minHeight: 320, backgroundColor: '#f8fafc' },
1025
+ pending: {
1026
+ text: { fontSize: 14, color: '#374151' },
1027
+ },
1028
+ error: {
1029
+ title: { color: '#dc2626' },
1030
+ visitLinkGlow: { borderColor: '#dc2626' },
1031
+ },
1032
+ },
1033
+ },
1034
+ }}
1035
+ />
1036
+ ```
1037
+
1038
+ ### Usage 6: Fixed height mode (matched GPT + web panels)
1039
+
1040
+ Set `isFixedHeight={true}` when you want GPT and web citation views to share the same panel dimensions. Screenshots use `object-fit: contain` so tall pages stay inside the box without layout shift when toggling views.
1041
+
1042
+ ```tsx
1043
+ <GptWebCitation
1044
+ gptCitation={{
1045
+ ...gptCitation,
1046
+ bodyHeight: '384px', // optional — customizes inner content height
1047
+ }}
1048
+ defaultCitationUrl="https://example.com/article"
1049
+ citationType={CitationType.GPT_WEB}
1050
+ isFixedHeight
1051
+ webCitationData={webCitationData}
1052
+ webCitationStatus="success"
1053
+ showWebCitation={showWebCitation}
1054
+ onToggleCitationView={() => setShowWeb((v) => !v)}
1055
+ />
1056
+ ```
1057
+
1058
+ | Scenario | Panel height |
1059
+ | --- | --- |
1060
+ | `isFixedHeight` + `CitationType.GPT_WEB` (toggle footer present) | `520px` default, or `calc(bodyHeight + 3.25rem)` when `gptCitation.bodyHeight` is set |
1061
+ | `isFixedHeight` + `CitationType.GPT` or `CitationType.WEB` | `520px` default, or `gptCitation.bodyHeight` when set |
1062
+
1063
+ `isFixedHeight` applies flex layout and contained images automatically. For manual per-element styling without fixed dimensions, use `styles` (Usage 5) instead.
1064
+
889
1065
  ### Props
890
1066
 
891
1067
  | Prop | Type | Default | Description |
892
1068
  |------|------|---------|-------------|
893
- | `gptCitation` | `IGptCitationConfig` | **required** | GPT citation config passed to `CognitiveInternalgptCoreComponent` (`item`, `headerTitle`, `iconsConfig`, `DocumentTitle`, `previewCallback`, etc.) |
894
- | `isWebCitation` | `boolean` | `false` | When `true`, enables web citation toggle and web view. When `false`, only GPT citation is shown. |
895
- | `webCitationData` | `IWebCitationApiResponse` | | Web citation API response (content, image snapshot, URL) |
896
- | `showWebCitation` | `boolean` | — | Controls which view is active. Omit for uncontrolled internal state. |
897
- | `onGenerateWebCitation` | `() => void` | | Called when user clicks **View Web Citation** and no cached web data exists yet |
898
- | `isWebCitationLoading` | `boolean` | `false` | Parent-controlled loading state while web citation is being fetched |
1069
+ | `gptCitation` | `IGptCitationConfig` | **required** | GPT citation config passed to `CognitiveInternalgptCoreComponent` |
1070
+ | `defaultCitationUrl` | `string` | **required** | Fallback source URL for **Visit Link** in pending/error skeletons. Used when `webCitationData.highlightedUrl` is not yet available |
1071
+ | `citationType` | `CitationType` | **required** | `GPT` = GPT only, `WEB` = web only, `GPT_WEB` = both views with toggle (default web view when uncontrolled) |
1072
+ | `webCitationData` | `IWebCitationApiResponse` | — | Web citation API response (screenshot metadata, URLs, optional message) |
1073
+ | `webCitationStatus` | `"pending"` \| `"success"` \| `"error"` | inferred | Lifecycle status from parent API call. Inferred from `webCitationData` when omitted |
1074
+ | `showWebCitation` | `boolean` | web for `GPT_WEB` (uncontrolled) | Active view when `citationType` is `GPT_WEB`. Ignored for `GPT` / `WEB` |
1075
+ | `onGenerateWebCitation` | `() => void` | — | Called when the user clicks **View Web Citation** and no cached screenshot exists. Parent owns fetch lifecycle (when to call, deduplication, reset) |
899
1076
  | `onToggleCitationView` | `() => void` | — | Called when user toggles between GPT and web views |
900
- | `showExpandImageButton` | `boolean` | `true` | Show/hide the full-screen expand button on web citation image snapshots |
901
- | `showGptMaximizeButton` | `boolean` | `true` | Show/hide the GPT citation header maximize/expand icon (`gptCitation.disableMaximize: true` when `false`) |
902
- | `topic` | `string` | auto | Override topic label in web citation header (auto-extracted from content if omitted) |
1077
+ | `showExpandImageButton` | `boolean` | `true` | Show/hide full-screen expand on screenshot |
1078
+ | `showGptMaximizeButton` | `boolean` | `true` | Show/hide GPT header maximize icon (`gptCitation.disableMaximize: true` when `false`) |
1079
+ | `iconsConfig` | `IGptWebCitationImageIconsConfig` | | `MaximizeIcon` and `ExternalLinkIcon` overrides for web view |
1080
+ | `topic` | `string` | auto | Override topic label in web header |
903
1081
  | `sourceLabel` | `string` | auto | Override header source label in web view |
904
- | `relevanceScore` | `number` | auto | Override relevance/decision strength score (auto-extracted from content if omitted) |
905
- | `learnedFrom` | `string` | auto | Site name shown in web citation footer (auto-extracted from `citationUrl` if omitted) |
1082
+ | `relevanceScore` | `number` | auto | Override relevance/decision strength badge (%) |
1083
+ | `learnedFrom` | `string` | auto | Site name in web footer (auto-derived from `citationUrl`) |
1084
+ | `sourceModel` | `string` | — | **Deprecated.** Use `sourceLabel` instead |
1085
+ | `isFixedHeight` | `boolean` | `false` | When `true`, GPT and web panels share the same fixed height/width; screenshot uses `object-fit: contain` |
906
1086
  | `styles` | `IGptWebCitationStyleOverrides` | — | Style overrides for GPT and web citation views (see Usage 5) |
907
1087
 
1088
+ When `isFixedHeight` is `true`, both views use the same panel height (`520px` by default, or `gptCitation.bodyHeight` + toggle footer). Pair with `gptCitation.bodyHeight` to customize the content area (e.g. `"384px"`).
1089
+
1090
+ #### `webCitationStatus` inference
1091
+
1092
+ When `webCitationStatus` is omitted, the component derives it in this order:
1093
+
1094
+ | Priority | Condition | Status |
1095
+ | --- | --- | --- |
1096
+ | 1 | Valid screenshot URL in `webCitationData` (`signed_url` or `gs_uri`) | `"success"` (always — image wins over explicit status) |
1097
+ | 2 | Explicit `webCitationStatus` prop | uses prop value |
1098
+ | 3 | `webCitationData` present but no image URL | `"error"` |
1099
+ | 4 | No `webCitationData` | `"pending"` |
1100
+
1101
+ Pass `webCitationStatus="pending"` explicitly while your fetch is in flight (before the image URL is available).
1102
+
908
1103
  ### `IGptCitationConfig` (gptCitation prop)
909
1104
 
910
1105
  | Field | Type | Description |
@@ -913,35 +1108,79 @@ Legacy flat keys (`gptCitationWrapper`, `footerAction`, `webCitationButton`) sti
913
1108
  | `headerTitle` | `string` | Panel header title |
914
1109
  | `index` | `number` | Citation index |
915
1110
  | `iconsConfig` | `object` | Icon components (`ChevronDownIcon`, `ChevronUpIcon`, `MaximizeIcon`, `CloseIcon`) |
916
- | `DocumentTitle` | `string` | Source document label shown in the GPT footer (right side) |
1111
+ | `DocumentTitle` | `string` | Source document label shown in the GPT footer (right side). Hidden when `citationType` is `GPT_WEB` or `WEB` |
917
1112
  | `previewCallback` | `() => void` | Called when the source link is clicked |
918
- | `bodyHeight` | `string` | Optional fixed GPT content body height (use with `styles.webCitation.content` to match web view height) |
1113
+ | `bodyHeight` | `string` | Optional fixed GPT content body height (pair with `styles.webCitation.content`) |
919
1114
  | `disableMaximize` | `boolean` | Disable GPT header fullscreen maximize button (or use `showGptMaximizeButton={false}`) |
920
1115
 
1116
+ ### `IGptWebCitationImageIconsConfig` (iconsConfig prop)
1117
+
1118
+ | Field | Type | Fallback |
1119
+ |-------|------|----------|
1120
+ | `MaximizeIcon` | `ElementType` | `gptCitation.iconsConfig.MaximizeIcon`, then `Maximize2` |
1121
+ | `ExternalLinkIcon` | `ElementType` | `ExternalLink` |
1122
+
1123
+ ### Style override types (`styles` prop)
1124
+
1125
+ Nested under `styles.webCitation`:
1126
+
1127
+ | Type | Keys | Purpose |
1128
+ | --- | --- | --- |
1129
+ | `IGptWebCitationVisitLinkStyles` | `row`, `hint`, `link` | Visit link row shared by image footer and skeletons |
1130
+ | `IGptWebCitationImageStyles` | `wrapper`, `center`, `viewport`, `scrollContainer`, `image`, `expandButton`, `visitLink`, `fullScreen` | Screenshot view + inline loading skeleton while image decodes |
1131
+ | `IGptWebCitationSkeletonStyles` | `container`, `frame`, `shimmer`, `pending.*`, `error.*`, `visitLink` | Pending/error skeleton UI |
1132
+ | `IGptWebCitationFullScreenStyles` | `overlay`, `content`, `closeButton`, `imageWrapper`, `image` | Full-screen screenshot modal |
1133
+
1134
+ `webCitation.visitLink` merges with scoped `image.visitLink` or `skeleton.visitLink` overrides (scoped wins on conflict).
1135
+
921
1136
  ### `IWebCitationApiResponse` (webCitationData prop)
922
1137
 
923
1138
  | Field | Type | Description |
924
1139
  |-------|------|-------------|
925
1140
  | `citationId` | `string` | Unique citation identifier |
926
- | `content` | `string` | HTML/markdown web citation content |
1141
+ | `content` | `string` | HTML/markdown explanation (used for topic/score extraction) |
927
1142
  | `citationType` | `string` | Citation type (e.g. `"web"`) |
928
- | `citationUrl` | `string` | Original source URL |
1143
+ | `citationUrl` | `string` | Original source URL (screenshot footer **Visit Link**) |
1144
+ | `highlightedUrl` | `string` | Highlighted URL from API (preferred for skeleton **Visit Link**) |
1145
+ | `message` | `string` | API status or error message |
929
1146
  | `imageMetadata` | `object` | Image snapshot metadata |
930
- | `imageMetadata.signed_url` | `string` | Signed URL for screenshot image (preferred) |
1147
+ | `imageMetadata.signed_url` | `string` | Signed URL for screenshot (preferred) |
931
1148
  | `imageMetadata.gs_uri` | `string` | GCS URI fallback for image |
932
1149
  | `db` | `object` | Database metadata (`citation_id`, `blob_path`) |
933
1150
 
1151
+ ### Utility helpers
1152
+
1153
+ Exported from `@e-llm-studio/citation`:
1154
+
1155
+ | Function | Purpose |
1156
+ | --- | --- |
1157
+ | `mapCitationDataToDisplay(data)` | Normalizes API response → display fields (`topic`, `highlightedUrl`, `relevanceScore`, etc.) |
1158
+ | `getWebCitationImageUrl(data)` | Resolves screenshot URL from `imageMetadata` |
1159
+ | `resolveSkeletonVisitUrl(highlightedUrl, defaultCitationUrl)` | Visit link for pending/error skeletons |
1160
+ | `extractTopicFromContent(content)` | First anchor text from content |
1161
+ | `extractRelevanceScoreFromContent(content)` | Parses decision strength / confidence % |
1162
+ | `extractLearnedFromUrl(citationUrl)` | Hostname → site name for footer |
1163
+ | `sanitizeExternalUrl(url)` | Safe http(s) URL for links |
1164
+
934
1165
  ### View Behavior
935
1166
 
936
1167
  | State | What renders |
937
1168
  |-------|--------------|
938
- | `isWebCitation={false}` | GPT citation only |
939
- | `isWebCitation={true}`, `showWebCitation={false}` | GPT citation + **View Web Citation** button (left footer) + source link (right footer) |
940
- | `isWebCitation={true}`, `showWebCitation={true}` | Web citation panel with snapshot/markdown, highlight nav, and **View GPT Citation** button |
1169
+ | `CitationType.GPT` | GPT citation only (no toggle) |
1170
+ | `CitationType.WEB` | Web citation only (no toggle) |
1171
+ | `CitationType.GPT_WEB`, `showWebCitation={false}` | GPT citation + **View Web Citation** button |
1172
+ | `CitationType.GPT_WEB`, `showWebCitation={true}`, `webCitationStatus="pending"` | Shimmer skeleton + optional **Visit Link** (`highlightedUrl` → `defaultCitationUrl`) |
1173
+ | `CitationType.GPT_WEB`, `showWebCitation={true}`, `webCitationStatus="success"` | Screenshot (pending skeleton while image loads) + footer **Visit Link** |
1174
+ | `CitationType.GPT_WEB`, `showWebCitation={true}`, `webCitationStatus="error"` | Error skeleton ("No preview available") + inline **Visit Link** |
1175
+ | `isFixedHeight={true}` | GPT and web outer panels share height; screenshot `object-fit: contain`; skeleton fills content area |
1176
+
1177
+ #### Error skeleton
1178
+
1179
+ The error state shows a fixed title ("No preview available"), a restriction message ("This website restricts external previews"), and an inline **Visit Link** when a source URL is available.
941
1180
 
942
1181
  ### Local Test Component
943
1182
 
944
- A test harness is available at `src/features/GptWebCitation/GptWebCitationTest.tsx`. Run the citation dev server with `GptWebCitationTest` mounted in `src/index.tsx` to preview the component interactively.
1183
+ A test harness is available at `src/features/GptWebCitation/GptWebCitationTest.tsx`. Run the citation dev server with `GptWebCitationTest` mounted in `src/index.tsx` to preview the component interactively. The harness uses `sampleWebCitationApiResponse` from `WebCitationSampleResponse.ts`, simulates a 2s fetch delay when **View Web Citation** is clicked, and accepts `isFixedHeight`, `webCitationStatus`, `iconsConfig`, and `styles` props for local experimentation.
945
1184
 
946
1185
  ---
947
1186