@recogito/metaphor-annotation-plugin 0.0.0-stage → 0.0.11-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/README.md +102 -2
  2. package/dist/extensions/GoToMetaphorAnnotationView.d.ts +3 -0
  3. package/dist/extensions/GoToMetaphorAnnotationView.d.ts.map +1 -0
  4. package/dist/extensions/GoToMetaphorAnnotationView.js +14 -0
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +37 -0
  8. package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.css +22 -0
  9. package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.d.ts +10 -0
  10. package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.d.ts.map +1 -0
  11. package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.js +136 -0
  12. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts +9 -0
  13. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts.map +1 -0
  14. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/AnnotationPanel.js +12 -0
  15. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ImageListCard.d.ts +11 -0
  16. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ImageListCard.d.ts.map +1 -0
  17. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ImageListCard.js +37 -0
  18. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts +2 -0
  19. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts.map +1 -0
  20. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ListTab.js +70 -0
  21. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/index.d.ts +2 -0
  22. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/index.d.ts.map +1 -0
  23. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/index.js +1 -0
  24. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedArrowAnnotation.d.ts +8 -0
  25. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedArrowAnnotation.d.ts.map +1 -0
  26. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedArrowAnnotation.js +20 -0
  27. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedImageAnnotation.d.ts +9 -0
  28. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedImageAnnotation.d.ts.map +1 -0
  29. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedImageAnnotation.js +25 -0
  30. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts +6 -0
  31. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts.map +1 -0
  32. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.js +16 -0
  33. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts +2 -0
  34. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts.map +1 -0
  35. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/index.js +1 -0
  36. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts +2 -0
  37. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts.map +1 -0
  38. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.js +10 -0
  39. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts +2 -0
  40. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts.map +1 -0
  41. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/index.js +1 -0
  42. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/index.d.ts +2 -0
  43. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/index.d.ts.map +1 -0
  44. package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/index.js +1 -0
  45. package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/ArrowToolbar.d.ts +3 -0
  46. package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/ArrowToolbar.d.ts.map +1 -0
  47. package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/ArrowToolbar.js +27 -0
  48. package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/index.d.ts +2 -0
  49. package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/index.d.ts.map +1 -0
  50. package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/index.js +1 -0
  51. package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/FilterAdapter.d.ts +9 -0
  52. package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/FilterAdapter.d.ts.map +1 -0
  53. package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/FilterAdapter.js +23 -0
  54. package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/index.d.ts +2 -0
  55. package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/index.d.ts.map +1 -0
  56. package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/index.js +1 -0
  57. package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/HoverTooltip.d.ts +11 -0
  58. package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/HoverTooltip.d.ts.map +1 -0
  59. package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/HoverTooltip.js +16 -0
  60. package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/index.d.ts +2 -0
  61. package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/index.d.ts.map +1 -0
  62. package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/index.js +1 -0
  63. package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/ImageArrows.d.ts +13 -0
  64. package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/ImageArrows.d.ts.map +1 -0
  65. package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/ImageArrows.js +42 -0
  66. package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/index.d.ts +2 -0
  67. package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/index.d.ts.map +1 -0
  68. package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/index.js +1 -0
  69. package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/ImageUndoStack.d.ts +7 -0
  70. package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/ImageUndoStack.d.ts.map +1 -0
  71. package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/ImageUndoStack.js +22 -0
  72. package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/index.d.ts +2 -0
  73. package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/index.d.ts.map +1 -0
  74. package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/index.js +1 -0
  75. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Contents.d.ts +14 -0
  76. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Contents.d.ts.map +1 -0
  77. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Contents.js +36 -0
  78. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Info.d.ts +9 -0
  79. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Info.d.ts.map +1 -0
  80. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Info.js +35 -0
  81. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.css +96 -0
  82. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.d.ts +18 -0
  83. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.d.ts.map +1 -0
  84. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.js +33 -0
  85. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/index.d.ts +2 -0
  86. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/index.d.ts.map +1 -0
  87. package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/index.js +1 -0
  88. package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/ShapeToolbar.d.ts +9 -0
  89. package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/ShapeToolbar.d.ts.map +1 -0
  90. package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/ShapeToolbar.js +20 -0
  91. package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/index.d.ts +2 -0
  92. package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/index.d.ts.map +1 -0
  93. package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/index.js +1 -0
  94. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/ImageMoreTools.d.ts +11 -0
  95. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/ImageMoreTools.d.ts.map +1 -0
  96. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/ImageMoreTools.js +15 -0
  97. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.css +105 -0
  98. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.d.ts +22 -0
  99. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.d.ts.map +1 -0
  100. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.js +61 -0
  101. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/index.d.ts +3 -0
  102. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/index.d.ts.map +1 -0
  103. package/dist/pages/_components/ImageMetaphorView/components/Toolbar/index.js +2 -0
  104. package/dist/pages/_components/ImageMetaphorView/components/image-panel.css +347 -0
  105. package/dist/pages/_components/ImageMetaphorView/components/shared/AddProperty.d.ts +6 -0
  106. package/dist/pages/_components/ImageMetaphorView/components/shared/AddProperty.d.ts.map +1 -0
  107. package/dist/pages/_components/ImageMetaphorView/components/shared/AddProperty.js +21 -0
  108. package/dist/pages/_components/ImageMetaphorView/components/shared/RelationPreview.d.ts +12 -0
  109. package/dist/pages/_components/ImageMetaphorView/components/shared/RelationPreview.d.ts.map +1 -0
  110. package/dist/pages/_components/ImageMetaphorView/components/shared/RelationPreview.js +34 -0
  111. package/dist/pages/_components/ImageMetaphorView/components/shared/SetCategory.d.ts +8 -0
  112. package/dist/pages/_components/ImageMetaphorView/components/shared/SetCategory.d.ts.map +1 -0
  113. package/dist/pages/_components/ImageMetaphorView/components/shared/SetCategory.js +20 -0
  114. package/dist/pages/_components/ImageMetaphorView/components/shared/colors.d.ts +2 -0
  115. package/dist/pages/_components/ImageMetaphorView/components/shared/colors.d.ts.map +1 -0
  116. package/dist/pages/_components/ImageMetaphorView/components/shared/colors.js +17 -0
  117. package/dist/pages/_components/ImageMetaphorView/components/shared/index.d.ts +6 -0
  118. package/dist/pages/_components/ImageMetaphorView/components/shared/index.d.ts.map +1 -0
  119. package/dist/pages/_components/ImageMetaphorView/components/shared/index.js +5 -0
  120. package/dist/pages/_components/ImageMetaphorView/components/shared/useRelations.d.ts +8 -0
  121. package/dist/pages/_components/ImageMetaphorView/components/shared/useRelations.d.ts.map +1 -0
  122. package/dist/pages/_components/ImageMetaphorView/components/shared/useRelations.js +13 -0
  123. package/dist/pages/_components/ImageMetaphorView/hooks/index.d.ts +2 -0
  124. package/dist/pages/_components/ImageMetaphorView/hooks/index.d.ts.map +1 -0
  125. package/dist/pages/_components/ImageMetaphorView/hooks/index.js +1 -0
  126. package/dist/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.d.ts +17 -0
  127. package/dist/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.d.ts.map +1 -0
  128. package/dist/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.js +43 -0
  129. package/dist/pages/_components/ImageMetaphorView/index.d.ts +2 -0
  130. package/dist/pages/_components/ImageMetaphorView/index.d.ts.map +1 -0
  131. package/dist/pages/_components/ImageMetaphorView/index.js +1 -0
  132. package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.css +2055 -0
  133. package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.d.ts +10 -0
  134. package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.d.ts.map +1 -0
  135. package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.js +41 -0
  136. package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.d.ts +14 -0
  137. package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.d.ts.map +1 -0
  138. package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.js +35 -0
  139. package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.d.ts +2 -0
  140. package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.d.ts.map +1 -0
  141. package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.js +1 -0
  142. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.css +67 -0
  143. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts +10 -0
  144. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts.map +1 -0
  145. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.js +15 -0
  146. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.d.ts +13 -0
  147. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.d.ts.map +1 -0
  148. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.js +32 -0
  149. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.css +230 -0
  150. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts +7 -0
  151. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts.map +1 -0
  152. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.js +100 -0
  153. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.d.ts +2 -0
  154. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.d.ts.map +1 -0
  155. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.js +1 -0
  156. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.css +449 -0
  157. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts +10 -0
  158. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts.map +1 -0
  159. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.js +81 -0
  160. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/LinkedWordItem.d.ts +11 -0
  161. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/LinkedWordItem.d.ts.map +1 -0
  162. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/LinkedWordItem.js +11 -0
  163. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorLinkedWords.d.ts +9 -0
  164. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorLinkedWords.d.ts.map +1 -0
  165. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorLinkedWords.js +45 -0
  166. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorPreview.d.ts +8 -0
  167. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorPreview.d.ts.map +1 -0
  168. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorPreview.js +27 -0
  169. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorTags.d.ts +10 -0
  170. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorTags.d.ts.map +1 -0
  171. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorTags.js +39 -0
  172. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/SpanTools.d.ts +8 -0
  173. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/SpanTools.d.ts.map +1 -0
  174. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/SpanTools.js +9 -0
  175. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/Tag.d.ts +7 -0
  176. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/Tag.d.ts.map +1 -0
  177. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/Tag.js +7 -0
  178. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/TypeSelector.d.ts +9 -0
  179. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/TypeSelector.d.ts.map +1 -0
  180. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/TypeSelector.js +8 -0
  181. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordTags.d.ts +10 -0
  182. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordTags.d.ts.map +1 -0
  183. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordTags.js +32 -0
  184. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordUplink.d.ts +7 -0
  185. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordUplink.d.ts.map +1 -0
  186. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordUplink.js +17 -0
  187. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts +2 -0
  188. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts.map +1 -0
  189. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/index.js +1 -0
  190. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.css +157 -0
  191. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts +2 -0
  192. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts.map +1 -0
  193. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.js +12 -0
  194. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/components/AnnotationStyle.d.ts +2 -0
  195. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/components/AnnotationStyle.d.ts.map +1 -0
  196. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/components/AnnotationStyle.js +19 -0
  197. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts +2 -0
  198. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts.map +1 -0
  199. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/index.js +1 -0
  200. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/index.d.ts +2 -0
  201. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/index.d.ts.map +1 -0
  202. package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/index.js +1 -0
  203. package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/ColorCodingState.d.ts +31 -0
  204. package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/ColorCodingState.d.ts.map +1 -0
  205. package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/ColorCodingState.js +64 -0
  206. package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/index.d.ts +2 -0
  207. package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/index.d.ts.map +1 -0
  208. package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/index.js +1 -0
  209. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.css +189 -0
  210. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.d.ts +7 -0
  211. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.d.ts.map +1 -0
  212. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.js +24 -0
  213. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateChoice.d.ts +8 -0
  214. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateChoice.d.ts.map +1 -0
  215. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateChoice.js +26 -0
  216. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateSelected.d.ts +7 -0
  217. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateSelected.d.ts.map +1 -0
  218. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateSelected.js +71 -0
  219. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/index.d.ts +2 -0
  220. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/index.d.ts.map +1 -0
  221. package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/index.js +1 -0
  222. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/Info.d.ts +8 -0
  223. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/Info.d.ts.map +1 -0
  224. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/Info.js +41 -0
  225. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/getTeiMetadata.d.ts +9 -0
  226. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/getTeiMetadata.d.ts.map +1 -0
  227. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/getTeiMetadata.js +33 -0
  228. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/index.d.ts +2 -0
  229. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/index.d.ts.map +1 -0
  230. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/index.js +1 -0
  231. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.css +159 -0
  232. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.d.ts +9 -0
  233. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.d.ts.map +1 -0
  234. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.js +47 -0
  235. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/Toc.d.ts +6 -0
  236. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/Toc.d.ts.map +1 -0
  237. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/Toc.js +15 -0
  238. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/TocLevel.d.ts +7 -0
  239. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/TocLevel.d.ts.map +1 -0
  240. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/TocLevel.js +13 -0
  241. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/buildTableOfContents.d.ts +12 -0
  242. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/buildTableOfContents.d.ts.map +1 -0
  243. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/buildTableOfContents.js +97 -0
  244. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/index.d.ts +2 -0
  245. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/index.d.ts.map +1 -0
  246. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/index.js +1 -0
  247. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/index.d.ts +2 -0
  248. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/index.d.ts.map +1 -0
  249. package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/index.js +1 -0
  250. package/dist/pages/_components/TeiMetaphorView/hooks/index.d.ts +6 -0
  251. package/dist/pages/_components/TeiMetaphorView/hooks/index.d.ts.map +1 -0
  252. package/dist/pages/_components/TeiMetaphorView/hooks/index.js +5 -0
  253. package/dist/pages/_components/TeiMetaphorView/hooks/useAnnotationsStyle.d.ts +3 -0
  254. package/dist/pages/_components/TeiMetaphorView/hooks/useAnnotationsStyle.d.ts.map +1 -0
  255. package/dist/pages/_components/TeiMetaphorView/hooks/useAnnotationsStyle.js +138 -0
  256. package/dist/pages/_components/TeiMetaphorView/hooks/useIntersectingAnnotations.d.ts +5 -0
  257. package/dist/pages/_components/TeiMetaphorView/hooks/useIntersectingAnnotations.d.ts.map +1 -0
  258. package/dist/pages/_components/TeiMetaphorView/hooks/useIntersectingAnnotations.js +35 -0
  259. package/dist/pages/_components/TeiMetaphorView/hooks/useLinkedMetaphors.d.ts +5 -0
  260. package/dist/pages/_components/TeiMetaphorView/hooks/useLinkedMetaphors.d.ts.map +1 -0
  261. package/dist/pages/_components/TeiMetaphorView/hooks/useLinkedMetaphors.js +14 -0
  262. package/dist/pages/_components/TeiMetaphorView/hooks/useMrwOptions.d.ts +6 -0
  263. package/dist/pages/_components/TeiMetaphorView/hooks/useMrwOptions.d.ts.map +1 -0
  264. package/dist/pages/_components/TeiMetaphorView/hooks/useMrwOptions.js +24 -0
  265. package/dist/pages/_components/TeiMetaphorView/hooks/useSuggestAnnotationType.d.ts +2 -0
  266. package/dist/pages/_components/TeiMetaphorView/hooks/useSuggestAnnotationType.d.ts.map +1 -0
  267. package/dist/pages/_components/TeiMetaphorView/hooks/useSuggestAnnotationType.js +35 -0
  268. package/dist/pages/_components/TeiMetaphorView/hooks/useTagVocabulary.d.ts +3 -0
  269. package/dist/pages/_components/TeiMetaphorView/hooks/useTagVocabulary.d.ts.map +1 -0
  270. package/dist/pages/_components/TeiMetaphorView/hooks/useTagVocabulary.js +46 -0
  271. package/dist/pages/_components/TeiMetaphorView/index.d.ts +2 -0
  272. package/dist/pages/_components/TeiMetaphorView/index.d.ts.map +1 -0
  273. package/dist/pages/_components/TeiMetaphorView/index.js +1 -0
  274. package/dist/pages/_components/TeiMetaphorView/utils.d.ts +15 -0
  275. package/dist/pages/_components/TeiMetaphorView/utils.d.ts.map +1 -0
  276. package/dist/pages/_components/TeiMetaphorView/utils.js +146 -0
  277. package/dist/pages/_components/shared/components/Accordion/Accordion.css +55 -0
  278. package/dist/pages/_components/shared/components/Accordion/Accordion.d.ts +6 -0
  279. package/dist/pages/_components/shared/components/Accordion/Accordion.d.ts.map +1 -0
  280. package/dist/pages/_components/shared/components/Accordion/Accordion.js +7 -0
  281. package/dist/pages/_components/shared/components/Accordion/index.d.ts +2 -0
  282. package/dist/pages/_components/shared/components/Accordion/index.d.ts.map +1 -0
  283. package/dist/pages/_components/shared/components/Accordion/index.js +1 -0
  284. package/dist/pages/_components/shared/components/AccountActions/AccountActions.css +49 -0
  285. package/dist/pages/_components/shared/components/AccountActions/AccountActions.d.ts +2 -0
  286. package/dist/pages/_components/shared/components/AccountActions/AccountActions.d.ts.map +1 -0
  287. package/dist/pages/_components/shared/components/AccountActions/AccountActions.js +33 -0
  288. package/dist/pages/_components/shared/components/AccountActions/index.d.ts +2 -0
  289. package/dist/pages/_components/shared/components/AccountActions/index.d.ts.map +1 -0
  290. package/dist/pages/_components/shared/components/AccountActions/index.js +1 -0
  291. package/dist/pages/_components/shared/components/Conversation/Comment.d.ts +6 -0
  292. package/dist/pages/_components/shared/components/Conversation/Comment.d.ts.map +1 -0
  293. package/dist/pages/_components/shared/components/Conversation/Comment.js +12 -0
  294. package/dist/pages/_components/shared/components/Conversation/Conversation.css +93 -0
  295. package/dist/pages/_components/shared/components/Conversation/Conversation.d.ts +8 -0
  296. package/dist/pages/_components/shared/components/Conversation/Conversation.d.ts.map +1 -0
  297. package/dist/pages/_components/shared/components/Conversation/Conversation.js +55 -0
  298. package/dist/pages/_components/shared/components/Conversation/index.d.ts +2 -0
  299. package/dist/pages/_components/shared/components/Conversation/index.d.ts.map +1 -0
  300. package/dist/pages/_components/shared/components/Conversation/index.js +1 -0
  301. package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.css +218 -0
  302. package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.d.ts +23 -0
  303. package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.d.ts.map +1 -0
  304. package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.js +13 -0
  305. package/dist/pages/_components/shared/components/EditorToolbar/PrivacySelector.d.ts +8 -0
  306. package/dist/pages/_components/shared/components/EditorToolbar/PrivacySelector.d.ts.map +1 -0
  307. package/dist/pages/_components/shared/components/EditorToolbar/PrivacySelector.js +9 -0
  308. package/dist/pages/_components/shared/components/EditorToolbar/UndoRedo.d.ts +2 -0
  309. package/dist/pages/_components/shared/components/EditorToolbar/UndoRedo.d.ts.map +1 -0
  310. package/dist/pages/_components/shared/components/EditorToolbar/UndoRedo.js +42 -0
  311. package/dist/pages/_components/shared/components/EditorToolbar/index.d.ts +3 -0
  312. package/dist/pages/_components/shared/components/EditorToolbar/index.d.ts.map +1 -0
  313. package/dist/pages/_components/shared/components/EditorToolbar/index.js +2 -0
  314. package/dist/pages/_components/shared/components/Filters/Filters.d.ts +6 -0
  315. package/dist/pages/_components/shared/components/Filters/Filters.d.ts.map +1 -0
  316. package/dist/pages/_components/shared/components/Filters/Filters.js +61 -0
  317. package/dist/pages/_components/shared/components/Filters/VisibilityFilter.d.ts +2 -0
  318. package/dist/pages/_components/shared/components/Filters/VisibilityFilter.d.ts.map +1 -0
  319. package/dist/pages/_components/shared/components/Filters/VisibilityFilter.js +23 -0
  320. package/dist/pages/_components/shared/components/Filters/index.d.ts +3 -0
  321. package/dist/pages/_components/shared/components/Filters/index.d.ts.map +1 -0
  322. package/dist/pages/_components/shared/components/Filters/index.js +2 -0
  323. package/dist/pages/_components/shared/components/HideAllState/HideAllState.d.ts +12 -0
  324. package/dist/pages/_components/shared/components/HideAllState/HideAllState.d.ts.map +1 -0
  325. package/dist/pages/_components/shared/components/HideAllState/HideAllState.js +9 -0
  326. package/dist/pages/_components/shared/components/HideAllState/index.d.ts +2 -0
  327. package/dist/pages/_components/shared/components/HideAllState/index.d.ts.map +1 -0
  328. package/dist/pages/_components/shared/components/HideAllState/index.js +1 -0
  329. package/dist/pages/_components/shared/components/Metadata/MetadataList.d.ts +10 -0
  330. package/dist/pages/_components/shared/components/Metadata/MetadataList.d.ts.map +1 -0
  331. package/dist/pages/_components/shared/components/Metadata/MetadataList.js +11 -0
  332. package/dist/pages/_components/shared/components/Metadata/index.d.ts +3 -0
  333. package/dist/pages/_components/shared/components/Metadata/index.d.ts.map +1 -0
  334. package/dist/pages/_components/shared/components/Metadata/index.js +2 -0
  335. package/dist/pages/_components/shared/components/Metadata/sanitize.d.ts +3 -0
  336. package/dist/pages/_components/shared/components/Metadata/sanitize.d.ts.map +1 -0
  337. package/dist/pages/_components/shared/components/Metadata/sanitize.js +53 -0
  338. package/dist/pages/_components/shared/components/StorageAdapter.d.ts +8 -0
  339. package/dist/pages/_components/shared/components/StorageAdapter.d.ts.map +1 -0
  340. package/dist/pages/_components/shared/components/StorageAdapter.js +12 -0
  341. package/dist/pages/_components/shared/components/SupabaseStorageAdapter.d.ts +23 -0
  342. package/dist/pages/_components/shared/components/SupabaseStorageAdapter.d.ts.map +1 -0
  343. package/dist/pages/_components/shared/components/SupabaseStorageAdapter.js +46 -0
  344. package/dist/pages/_components/shared/components/Tabs/Tabs.css +90 -0
  345. package/dist/pages/_components/shared/components/Tabs/Tabs.d.ts +6 -0
  346. package/dist/pages/_components/shared/components/Tabs/Tabs.d.ts.map +1 -0
  347. package/dist/pages/_components/shared/components/Tabs/Tabs.js +6 -0
  348. package/dist/pages/_components/shared/components/Tabs/index.d.ts +2 -0
  349. package/dist/pages/_components/shared/components/Tabs/index.d.ts.map +1 -0
  350. package/dist/pages/_components/shared/components/Tabs/index.js +1 -0
  351. package/dist/pages/_components/shared/components/index.d.ts +9 -0
  352. package/dist/pages/_components/shared/components/index.d.ts.map +1 -0
  353. package/dist/pages/_components/shared/components/index.js +8 -0
  354. package/dist/pages/_components/shared/hooks/index.d.ts +2 -0
  355. package/dist/pages/_components/shared/hooks/index.d.ts.map +1 -0
  356. package/dist/pages/_components/shared/hooks/index.js +1 -0
  357. package/dist/pages/_components/shared/hooks/useDocument.d.ts +3 -0
  358. package/dist/pages/_components/shared/hooks/useDocument.d.ts.map +1 -0
  359. package/dist/pages/_components/shared/hooks/useDocument.js +14 -0
  360. package/dist/pages/_components/shared/hooks/useDocumentLayers.d.ts +6 -0
  361. package/dist/pages/_components/shared/hooks/useDocumentLayers.d.ts.map +1 -0
  362. package/dist/pages/_components/shared/hooks/useDocumentLayers.js +18 -0
  363. package/dist/pages/_components/shared/hooks/useLayerPolicies.d.ts +3 -0
  364. package/dist/pages/_components/shared/hooks/useLayerPolicies.d.ts.map +1 -0
  365. package/dist/pages/_components/shared/hooks/useLayerPolicies.js +16 -0
  366. package/dist/pages/_components/shared/hooks/useSelectAction.d.ts +18 -0
  367. package/dist/pages/_components/shared/hooks/useSelectAction.d.ts.map +1 -0
  368. package/dist/pages/_components/shared/hooks/useSelectAction.js +26 -0
  369. package/dist/pages/_components/shared/hooks/useStoredFileDocument.d.ts +5 -0
  370. package/dist/pages/_components/shared/hooks/useStoredFileDocument.d.ts.map +1 -0
  371. package/dist/pages/_components/shared/hooks/useStoredFileDocument.js +22 -0
  372. package/dist/pages/_components/shared/i18n.d.ts +4 -0
  373. package/dist/pages/_components/shared/i18n.d.ts.map +1 -0
  374. package/dist/pages/_components/shared/i18n.js +31 -0
  375. package/dist/pages/_components/shared/supabase.d.ts +7 -0
  376. package/dist/pages/_components/shared/supabase.d.ts.map +1 -0
  377. package/dist/pages/_components/shared/supabase.js +7 -0
  378. package/dist/pages/_components/shared/types.d.ts +16 -0
  379. package/dist/pages/_components/shared/types.d.ts.map +1 -0
  380. package/dist/pages/_components/shared/types.js +1 -0
  381. package/dist/pages/metaphor-annotation-view.astro +122 -0
  382. package/package.json +69 -4
@@ -0,0 +1,10 @@
1
+ import { type Context, type Document, type Project } from '@recogito/studio-sdk';
2
+ interface TeiMetaphorViewProps {
3
+ channelId: string;
4
+ context: Context;
5
+ document: Document;
6
+ project: Project;
7
+ }
8
+ export declare const TeiMetaphorView: (props: TeiMetaphorViewProps) => import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=TeiMetaphorView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeiMetaphorView.d.ts","sourceRoot":"","sources":["../../../../src/pages/_components/TeiMetaphorView/TeiMetaphorView.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,OAAO,EACb,MAAM,sBAAsB,CAAC;AAU9B,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAiH1D,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Annotorious } from '@annotorious/react';
3
+ import { useRef, useState } from 'react';
4
+ import { I18nextProvider } from 'react-i18next';
5
+ import { useStoredFileDocument } from '../shared/hooks/useStoredFileDocument';
6
+ import { AnnotatableTEI } from './components/AnnotatableTEI';
7
+ import { MetadataPanel } from './components/MetadataPanel';
8
+ import { useDocumentLayers } from '../shared/hooks/useDocumentLayers';
9
+ import { HideAllState, StorageAdapter } from '../shared/components';
10
+ import { useLayerPolicies } from '../shared/hooks/useLayerPolicies';
11
+ import { EditorToolbar } from '../shared/components/EditorToolbar';
12
+ import clientI18next from '../shared/i18n';
13
+ import { ColorCodingState } from './components/ColorCodingState';
14
+ import { AnnotationPanel, } from './components/AnnotationPanel';
15
+ import { AuthorColorProvider, FilterState, SelectionURLState, Spinner, UndoStack, } from '@recogito/studio-sdk/components';
16
+ export const TeiMetaphorView = (props) => {
17
+ const { context, document, project } = props;
18
+ const { layers, activeLayer } = useDocumentLayers(document.id, context.id);
19
+ const { content } = useStoredFileDocument(document.id);
20
+ const [metadataOpen, setMetadataOpen] = useState(true);
21
+ const metadataOpenButtonRef = useRef(null);
22
+ const [present, setPresent] = useState([]);
23
+ const [privacy, setPrivacy] = useState('public');
24
+ const onMetadataOpenChange = (open) => {
25
+ setMetadataOpen(open);
26
+ if (!open) {
27
+ metadataOpenButtonRef.current?.focus();
28
+ }
29
+ };
30
+ const [annotationTab, setAnnotationTab] = useState();
31
+ const annotationsOpenButtonRef = useRef(null);
32
+ const onAnnotationsOpenChange = (open) => {
33
+ setAnnotationTab(open ? 'list' : undefined);
34
+ if (!open) {
35
+ annotationsOpenButtonRef.current?.focus();
36
+ }
37
+ };
38
+ const policies = useLayerPolicies(activeLayer?.id);
39
+ const isLocked = Boolean(project.is_locked);
40
+ return (_jsx(I18nextProvider, { i18n: clientI18next, children: document.content_type !== 'text/xml' ? (_jsx("div", { className: 'view-unsupported', children: clientI18next.t('This document type is not supported in this view.') })) : document && content && activeLayer ? (_jsx(AuthorColorProvider, { children: _jsx(Annotorious, { children: _jsx(FilterState, { children: _jsx(ColorCodingState, { children: _jsx(HideAllState, { children: _jsxs("div", { id: 'metaphor-tei-root', children: [_jsx(MetadataPanel, { document: document, onOpenChange: onMetadataOpenChange, open: metadataOpen }), _jsxs("div", { id: 'main', children: [_jsx(EditorToolbar, { annotationsOpen: !!annotationTab, annotationsOpenButtonRef: annotationsOpenButtonRef, context: context, document: document, metadataOpen: metadataOpen, metadataOpenButtonRef: metadataOpenButtonRef, onAnnotationsOpenChange: onAnnotationsOpenChange, onMetadataOpenChange: onMetadataOpenChange, present: present, project: project, privacy: privacy, onChangePrivacy: setPrivacy }), _jsx(AnnotatableTEI, { document: document, content: content, isLocked: isLocked, activeLayerId: activeLayer.id, policies: policies, onFocusAnnotationPanel: setAnnotationTab }), _jsx(UndoStack, { undoEmpty: true }), _jsx(SelectionURLState, { backButton: true }), layers.length > 0 && (_jsx(StorageAdapter, { activeLayer: activeLayer, channelId: props.channelId, layers: layers, onPresence: setPresent, privacyMode: privacy === 'private' }))] }), _jsx(AnnotationPanel, { isLocked: isLocked, onStateChange: setAnnotationTab, projectId: project.id, tab: annotationTab })] }) }) }) }) }) })) : (_jsx("div", { className: 'spinner-container', children: _jsx(Spinner, { className: 'spinner', size: 32 }) })) }));
41
+ };
@@ -0,0 +1,14 @@
1
+ import type { Document, Policies } from '@recogito/studio-sdk';
2
+ import type { AnnotationPanelTab } from '../AnnotationPanel';
3
+ import '@recogito/text-annotator-plugin-inline-markers/style.css';
4
+ interface AnnotatableTEIProps {
5
+ content: string;
6
+ document: Document;
7
+ isLocked: boolean;
8
+ activeLayerId: string;
9
+ policies?: Policies;
10
+ onFocusAnnotationPanel(tab: AnnotationPanelTab): void;
11
+ }
12
+ export declare const AnnotatableTEI: (props: AnnotatableTEIProps) => import("react").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=AnnotatableTEI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotatableTEI.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAO/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,0DAA0D,CAAC;AAElE,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,QAAQ,EAAE,OAAO,CAAC;IAElB,aAAa,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,sBAAsB,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,gCAiDxD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from 'react';
3
+ import { useAnnotator } from '@annotorious/react';
4
+ import { CETEIcean, TEIAnnotator, } from '@recogito/react-text-annotator';
5
+ import { useAnnotationsStyle, useSuggestAnnotationType } from '../../hooks';
6
+ import { useFilter } from '@recogito/studio-sdk/components';
7
+ import { useHideAll } from '../../../shared/components';
8
+ import { useSelectAction } from '../../../shared/hooks/useSelectAction';
9
+ import { InlineMarkersPlugin } from '@recogito/text-annotator-plugin-inline-markers/react';
10
+ import { InlineToolbar } from '../InlineToolbar';
11
+ import '@recogito/text-annotator-plugin-inline-markers/style.css';
12
+ export const AnnotatableTEI = (props) => {
13
+ const style = useAnnotationsStyle(props.activeLayerId);
14
+ const { filter } = useFilter();
15
+ const { hideAll } = useHideAll();
16
+ // auto-assign a suggested type to each new annotation
17
+ useSuggestAnnotationType();
18
+ const anno = useAnnotator();
19
+ const annoRef = useRef(anno);
20
+ annoRef.current = anno;
21
+ // Creators and layer admins can edit, everyone else can only select
22
+ const selectAction = useSelectAction({
23
+ isLocked: props.isLocked,
24
+ activeLayerId: props.activeLayerId,
25
+ policies: props.policies,
26
+ getUser: () => annoRef.current?.getUser(),
27
+ });
28
+ // Set imperatively: <TEIAnnotator> only reads userSelectAction once, on
29
+ // creation. Re-setting also re-evaluates the current selection (e.g.
30
+ // once the policies have loaded).
31
+ useEffect(() => {
32
+ anno?.setUserSelectAction(selectAction);
33
+ }, [anno, selectAction]);
34
+ return (_jsx("main", { children: _jsxs(TEIAnnotator, { annotatingEnabled: !props.isLocked, filter: filter, hideAnnotations: hideAll, style: style, selectionMode: 'all', mergeHighlights: { horizontalTolerance: 24 }, children: [_jsx(InlineMarkersPlugin, {}), _jsx(CETEIcean, { tei: props.content }), _jsx(InlineToolbar, { onOpenListSidebar: () => props.onFocusAnnotationPanel('list'), onOpenSelectedSidebar: () => props.onFocusAnnotationPanel('selected') })] }) }));
35
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./AnnotatableTEI";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./AnnotatableTEI";
@@ -0,0 +1,67 @@
1
+ /* AnnotationPanel */
2
+ .annotation-panel {
3
+ background-color: white;
4
+ border-left: 1px solid var(--gray-200);
5
+ transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6
+ height: 100%;
7
+ display: flex;
8
+ flex-direction: column;
9
+ flex-shrink: 0;
10
+ }
11
+
12
+ .annotation-panel.open {
13
+ width: 320px;
14
+ }
15
+
16
+ .annotation-panel.closed {
17
+ width: 0;
18
+ border-left: none;
19
+ }
20
+
21
+ .annotation-panel-content {
22
+ width: 320px;
23
+ display: flex;
24
+ flex-direction: column;
25
+ flex-grow: 1;
26
+ overflow: hidden;
27
+ }
28
+
29
+ .annotation-panel-header {
30
+ background-color: white;
31
+ display: flex;
32
+ flex-flow: row nowrap;
33
+ align-items: center;
34
+ justify-content: space-between;
35
+ gap: 1rem;
36
+ padding: 0 1rem;
37
+ height: 4.25rem;
38
+ flex-shrink: 0;
39
+ border-bottom: 1px solid var(--gray-200);
40
+ }
41
+
42
+ .annotation-panel-title {
43
+ font-family: Poppins, sans-serif;
44
+ font-weight: 600;
45
+ margin: 0;
46
+ font-size: 16px;
47
+ }
48
+
49
+ .annotation-panel-tabs-root {
50
+ display: flex;
51
+ flex-direction: column;
52
+ flex-grow: 1;
53
+ min-height: 0;
54
+ }
55
+
56
+ .annotation-panel-tab-content[data-state='active'] {
57
+ display: flex;
58
+ flex-direction: column;
59
+ flex-grow: 1;
60
+ min-height: 0;
61
+ overflow-y: auto;
62
+ overflow-x: hidden;
63
+ }
64
+
65
+ .annotation-panel-tab-content[data-state='inactive'] {
66
+ display: none !important;
67
+ }
@@ -0,0 +1,10 @@
1
+ export type AnnotationPanelTab = 'selected' | 'list' | 'settings';
2
+ interface AnnotationPanelProps {
3
+ isLocked: boolean;
4
+ projectId: string;
5
+ tab?: AnnotationPanelTab;
6
+ onStateChange(tab?: AnnotationPanelTab): void;
7
+ }
8
+ export declare const AnnotationPanel: (props: AnnotationPanelProps) => import("react").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=AnnotationPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotationPanel.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.tsx"],"names":[],"mappings":"AAmBA,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAElE,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;IAElB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAEzB,aAAa,CAAC,GAAG,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCA4E1D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { XIcon, CursorIcon, ChatsIcon, SlidersHorizontalIcon, } from '@phosphor-icons/react';
3
+ import { Button } from '@recogito/studio-sdk/components';
4
+ import { SelectedTab } from './SelectedTab';
5
+ import { ListTab } from './ListTab';
6
+ import { SettingsTab } from './SettingsTab';
7
+ import { Tabs, TabsList, TabsTrigger, TabsContent, } from '../../../shared/components';
8
+ import { useTranslation } from 'react-i18next';
9
+ import { useTagVocabulary, useMrwOptions } from '../../hooks';
10
+ export const AnnotationPanel = (props) => {
11
+ const { t } = useTranslation();
12
+ const tagVocabulary = useTagVocabulary(props.projectId);
13
+ const mrwOptions = useMrwOptions();
14
+ return (_jsx("div", { className: `annotation-panel ${props.tab ? 'open' : 'closed'}`, inert: !props.tab, children: _jsxs("div", { className: 'annotation-panel-content', children: [_jsxs("div", { className: 'annotation-panel-header', children: [_jsx("h3", { className: 'annotation-panel-title', children: t('Annotations') }), _jsx(Button, { className: 'unstyled toolbar-btn icon-only', onClick: () => props.onStateChange(undefined), "aria-label": t('Close sidebar'), children: _jsx(XIcon, { weight: 'bold', "aria-hidden": 'true' }) })] }), _jsxs(Tabs, { value: props.tab || 'selected', onValueChange: (val) => props.onStateChange(val), className: 'annotation-panel-tabs-root', children: [_jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: 'selected', children: [_jsx(CursorIcon, { weight: 'bold', "aria-hidden": 'true' }), _jsx("span", { className: 'tab-label', children: t('Selected') })] }), _jsxs(TabsTrigger, { value: 'list', children: [_jsx(ChatsIcon, { weight: 'bold', "aria-hidden": 'true' }), _jsx("span", { className: 'tab-label', children: t('List') })] }), _jsxs(TabsTrigger, { value: 'settings', children: [_jsx(SlidersHorizontalIcon, { weight: 'bold', "aria-hidden": 'true' }), _jsx("span", { className: 'tab-label', children: t('Settings') })] })] }), _jsx(TabsContent, { value: 'selected', className: 'annotation-panel-tab-content', children: _jsx(SelectedTab, { isLocked: props.isLocked, tagVocabulary: tagVocabulary, mrwOptions: mrwOptions }) }), _jsx(TabsContent, { value: 'list', className: 'annotation-panel-tab-content list-tab-container', children: _jsx(ListTab, { onStateChange: props.onStateChange }) }), _jsx(TabsContent, { value: 'settings', className: 'annotation-panel-tab-content', children: _jsx(SettingsTab, {}) })] })] }) }));
15
+ };
@@ -0,0 +1,13 @@
1
+ import { type SupabaseAnnotation } from '@recogito/annotorious-supabase';
2
+ interface ListCardProps {
3
+ annotation: SupabaseAnnotation;
4
+ linked: SupabaseAnnotation[];
5
+ selected: boolean;
6
+ emphasize: boolean;
7
+ deemphasize: boolean;
8
+ onToggleSelect: () => void;
9
+ onOpenComments: () => void;
10
+ }
11
+ export declare const ListCard: (props: ListCardProps) => import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=ListCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListCard.d.ts","sourceRoot":"","sources":["../../../../../../../src/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAWxC,UAAU,aAAa;IACrB,UAAU,EAAE,kBAAkB,CAAC;IAE/B,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE7B,QAAQ,EAAE,OAAO,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,WAAW,EAAE,OAAO,CAAC;IAErB,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,gCAiI5C,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { Visibility, } from '@recogito/annotorious-supabase';
5
+ import { ChatTeardropTextIcon, LockIcon } from '@phosphor-icons/react';
6
+ import { Avatar } from '@recogito/studio-sdk/components';
7
+ import { getTags } from '@recogito/studio-sdk';
8
+ import { getAnnotationType, interleaveLinkedAnnotations, timeAgo, } from '../../../utils';
9
+ export const ListCard = (props) => {
10
+ const { t, i18n } = useTranslation();
11
+ const { annotation, linked, selected, emphasize, deemphasize, onToggleSelect, onOpenComments, } = props;
12
+ const type = getAnnotationType(annotation);
13
+ const creator = annotation.target.creator;
14
+ const creatorName = creator?.name || t('Unknown User');
15
+ const timestamp = timeAgo(annotation.target.created || new Date(), i18n.language);
16
+ const tags = useMemo(() => getTags(annotation), [annotation.bodies]);
17
+ const isPrivate = annotation.visibility === Visibility.PRIVATE;
18
+ const commentCount = useMemo(() => annotation.bodies.filter((b) => b.purpose === 'commenting' || b.purpose === 'replying').length, [annotation.bodies]);
19
+ const renderQuote = () => {
20
+ const tokens = interleaveLinkedAnnotations(annotation, linked);
21
+ return (_jsx("div", { className: 'list-card-quote-text', children: tokens.map(({ value, type }, idx) => (_jsx("span", { className: type === 'word' ? 'highlight-word' : '', children: value }, idx))) }));
22
+ };
23
+ const cardClass = [
24
+ 'list-card',
25
+ type === 'mrw' ? 'is-mrw' : '',
26
+ emphasize ? 'is-emphasized' : '',
27
+ deemphasize ? 'is-deemphasized' : '',
28
+ ]
29
+ .filter(Boolean)
30
+ .join(' ');
31
+ return (_jsxs("div", { className: cardClass, children: [_jsx("button", { type: 'button', className: 'unstyled list-card-select', "aria-pressed": selected, "aria-label": t('Select Annotation'), onClick: onToggleSelect }), _jsxs("div", { className: 'list-card-content', children: [tags.length > 0 && (_jsx("div", { className: 'list-card-tags', children: tags.map((tag, idx) => (_jsxs("div", { className: 'list-card-tag', children: [_jsx("div", { className: 'list-card-tag-dot' }), _jsx("span", { children: tag.label })] }, `${tag.id || tag.label}-${idx}`))) })), _jsx("div", { className: 'list-card-quote-box', children: renderQuote() }), _jsxs("div", { className: 'list-card-footer', children: [_jsxs("div", { className: 'list-card-meta', children: [_jsx(Avatar, { id: creator?.id || 'unknown', name: creatorName, avatar: creator?.avatar, size: 'sm' }), _jsx("span", { className: 'list-card-author', children: creatorName }), _jsxs("span", { className: 'list-card-date', children: ["\u00B7 ", timestamp] })] }), _jsxs("div", { className: 'list-card-footer-actions', children: [commentCount > 0 && (_jsxs("button", { type: 'button', className: 'unstyled list-card-comments', "aria-label": t('Comments'), onClick: onOpenComments, children: [_jsx(ChatTeardropTextIcon, { size: 14, weight: 'bold', "aria-hidden": 'true' }), _jsx("span", { children: commentCount })] })), isPrivate && (_jsx("span", { className: 'list-card-private', "aria-label": t('Private'), title: t('Private'), children: _jsx(LockIcon, { size: 14, weight: 'bold' }) }))] })] })] })] }));
32
+ };
@@ -0,0 +1,230 @@
1
+ .list-tab-container {
2
+ padding: 8px;
3
+ }
4
+
5
+ .list-header {
6
+ display: flex;
7
+ justify-content: space-between;
8
+ align-items: center;
9
+ color: var(--font-light, #6b7280);
10
+ margin-bottom: 12px;
11
+ }
12
+
13
+ .list-header-group {
14
+ display: flex;
15
+ align-items: center;
16
+ gap: 8px;
17
+ }
18
+
19
+ button.list-select-trigger {
20
+ display: flex;
21
+ align-items: center;
22
+ gap: 4px;
23
+ font-size: 12px;
24
+ padding: 2px 8px;
25
+ cursor: pointer;
26
+ color: var(--font-light, #6b7280);
27
+ transition: color 0.15s ease;
28
+ }
29
+
30
+ button.list-select-trigger:hover {
31
+ color: var(--font-dark, #111827);
32
+ }
33
+
34
+ .list-select-content {
35
+ background-color: white;
36
+ border-radius: 6px;
37
+ box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
38
+ padding: 4px;
39
+ font-size: 12px;
40
+ border: 1px solid var(--gray-200, #e5e7eb);
41
+ z-index: 50;
42
+ }
43
+
44
+ .list-select-item {
45
+ display: flex;
46
+ align-items: center;
47
+ padding: 6px 24px 6px 8px;
48
+ position: relative;
49
+ border-radius: 4px;
50
+ cursor: default;
51
+ outline: none;
52
+ color: var(--font-dark, #111827);
53
+ }
54
+
55
+ .list-select-item:hover,
56
+ .list-select-item[data-highlighted] {
57
+ background-color: var(--gray-100, #f3f4f6);
58
+ }
59
+
60
+ .list-select-indicator {
61
+ position: absolute;
62
+ right: 6px;
63
+ display: flex;
64
+ align-items: center;
65
+ }
66
+
67
+ .list-search-icon {
68
+ margin-right: 2px;
69
+ }
70
+
71
+ .list-cards-wrapper {
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 16px;
75
+ }
76
+
77
+ .list-card {
78
+ position: relative;
79
+ padding: 2px;
80
+ border-radius: 8px;
81
+ background-color: white;
82
+ border: 1px solid var(--gray-200, #e5e7eb);
83
+ transition: all 0.2s ease;
84
+ }
85
+
86
+ .list-card:hover {
87
+ border-color: var(--gray-300, #d1d5db);
88
+ }
89
+
90
+ .list-card-select {
91
+ position: absolute;
92
+ inset: 0;
93
+ z-index: 1;
94
+ width: 100%;
95
+ height: auto;
96
+ border-radius: inherit;
97
+ background-color: transparent;
98
+ transition: background-color 0.15s ease;
99
+ }
100
+
101
+ .list-card .list-card-select:not(:disabled):hover {
102
+ background-color: rgba(0, 0, 0, 0.06);
103
+ box-shadow: none;
104
+ }
105
+
106
+ .list-card-select:focus-visible {
107
+ outline: 2px solid var(--bright-blue, #2563eb);
108
+ outline-offset: -2px;
109
+ }
110
+
111
+ .list-card.is-mrw {
112
+ background-color: rgba(22, 163, 74, 0.15);
113
+ border-color: rgba(22, 163, 74, 0.3);
114
+ }
115
+
116
+ .list-card.is-emphasized {
117
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.35);
118
+ border-color: transparent;
119
+ }
120
+
121
+ .list-card.is-deemphasized {
122
+ opacity: 0.5;
123
+ }
124
+
125
+ .list-card-content {
126
+ padding: 8px;
127
+ display: flex;
128
+ flex-direction: column;
129
+ gap: 12px;
130
+ }
131
+
132
+ .list-card-tags {
133
+ display: flex;
134
+ flex-wrap: wrap;
135
+ gap: 8px;
136
+ font-size: 11px;
137
+ color: var(--font-light, #6b7280);
138
+ font-weight: 300;
139
+ padding: 2px;
140
+ }
141
+
142
+ .list-card-tag {
143
+ display: flex;
144
+ align-items: center;
145
+ gap: 4px;
146
+ }
147
+
148
+ .list-card-tag-dot {
149
+ width: 8px;
150
+ height: 8px;
151
+ border-radius: 50%;
152
+ background-color: var(--purple-500, #a855f7);
153
+ }
154
+
155
+ .list-card-quote-box {
156
+ font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
157
+ font-style: italic;
158
+ font-weight: 300;
159
+ padding: 10px;
160
+ background-color: var(--gray-100, #f3f4f6);
161
+ border-radius: 6px;
162
+ line-height: 1.625;
163
+ }
164
+
165
+ .list-card-quote-text {
166
+ font-size: 14px;
167
+ color: var(--font-dark, #111827);
168
+ }
169
+
170
+ .highlight-word {
171
+ background-color: var(--pink-200, #fbcfe8);
172
+ padding: 2px 4px;
173
+ border-radius: 4px;
174
+ }
175
+
176
+ .list-card-footer {
177
+ position: relative;
178
+ padding: 2px;
179
+ display: flex;
180
+ justify-content: space-between;
181
+ align-items: flex-end;
182
+ }
183
+
184
+ .list-card-meta {
185
+ display: flex;
186
+ align-items: center;
187
+ gap: 6px;
188
+ font-size: 12px;
189
+ }
190
+
191
+ .list-card-author {
192
+ font-weight: 500;
193
+ color: var(--font-dark, #111827);
194
+ }
195
+
196
+ .list-card-date {
197
+ color: var(--font-light, #6b7280);
198
+ }
199
+
200
+ .list-card-footer-actions {
201
+ position: absolute;
202
+ bottom: -2px;
203
+ right: 2px;
204
+ z-index: 2;
205
+ display: flex;
206
+ align-items: center;
207
+ gap: 10px;
208
+ }
209
+
210
+ .list-card-comments {
211
+ display: flex;
212
+ align-items: center;
213
+ gap: 4px;
214
+ font-size: 12px;
215
+ font-weight: 500;
216
+ color: var(--font-light, #6b7280);
217
+ cursor: pointer;
218
+ transition: color 0.15s ease;
219
+ }
220
+
221
+ .list-card-footer-actions .list-card-comments:not(:disabled):hover {
222
+ color: var(--bright-blue, #2563eb);
223
+ box-shadow: none;
224
+ }
225
+
226
+ .list-card-private {
227
+ display: flex;
228
+ align-items: center;
229
+ color: var(--font-light, #6b7280);
230
+ }
@@ -0,0 +1,7 @@
1
+ import { AnnotationPanelTab } from '../AnnotationPanel';
2
+ interface ListTabProps {
3
+ onStateChange(tab: AnnotationPanelTab): void;
4
+ }
5
+ export declare const ListTab: (props: ListTabProps) => import("react").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=ListTab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListTab.d.ts","sourceRoot":"","sources":["../../../../../../../src/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,UAAU,YAAY;IACpB,aAAa,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,OAAO,GAAI,OAAO,YAAY,gCAgP1C,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { useAnnotations, useSelection, useViewportState, useAnnotator, } from '@annotorious/react';
5
+ import * as Select from '@radix-ui/react-select';
6
+ import * as Tooltip from '@radix-ui/react-tooltip';
7
+ import { CaretDownIcon, CheckIcon, SortAscendingIcon, SortDescendingIcon, } from '@phosphor-icons/react';
8
+ import { getAnnotationType, sortAnnotationsByCharPosition, } from '../../../utils';
9
+ import { useFilter } from '@recogito/studio-sdk/components';
10
+ import { ListCard } from './ListCard';
11
+ export const ListTab = (props) => {
12
+ const { t } = useTranslation();
13
+ const [sortBy, setSortBy] = useState('natural');
14
+ const [sortDirection, setSortDirection] = useState('asc');
15
+ const [viewportFilter, setViewportFilter] = useState('all');
16
+ const anno = useAnnotator();
17
+ const allAnnotations = useAnnotations(250);
18
+ const visibleAnnotations = useViewportState(250);
19
+ const { selected } = useSelection();
20
+ const hasSelection = selected.length > 0;
21
+ const isSelected = (annotation) => selected.some((t) => t.annotation.id === annotation.id);
22
+ const { filter } = useFilter();
23
+ // Toggle which array we process based on the dropdown, then apply
24
+ // the same filter that controls highlight visibility
25
+ const unfiltered = viewportFilter === 'viewport' ? visibleAnnotations : allAnnotations;
26
+ const activeAnnotations = filter ? unfiltered.filter(filter) : unfiltered;
27
+ const grouped = useMemo(() => {
28
+ const metaphors = activeAnnotations.filter((a) => getAnnotationType(a) === 'metaphor');
29
+ const words = activeAnnotations.filter((a) => getAnnotationType(a) === 'mrw');
30
+ const linkedWordIds = new Set(metaphors.reduce((ids, metaphor) => {
31
+ const linkedIds = metaphor.bodies
32
+ .filter((b) => b.purpose === 'linking' && b.value)
33
+ .map((b) => b.value);
34
+ return [...ids, ...linkedIds];
35
+ }, []));
36
+ let rootAnnotations = [
37
+ ...metaphors,
38
+ ...words.filter((a) => !linkedWordIds.has(a.id)),
39
+ ];
40
+ // sort
41
+ if (sortBy === 'natural') {
42
+ rootAnnotations = sortAnnotationsByCharPosition(rootAnnotations);
43
+ }
44
+ else if (sortBy === 'created') {
45
+ rootAnnotations.sort((a, b) => {
46
+ const dateA = a.target.created?.getTime() || 0;
47
+ const dateB = b.target.created?.getTime() || 0;
48
+ return dateA - dateB;
49
+ });
50
+ }
51
+ else if (sortBy === 'updated') {
52
+ // find the most recent date between the target creation and all bodies (comments/replies)
53
+ const getLatestDate = (a) => {
54
+ const dates = [
55
+ a.target.created?.getTime() || 0,
56
+ ...a.bodies.map((b) => b.created?.getTime() || 0),
57
+ ];
58
+ return Math.max(...dates);
59
+ };
60
+ rootAnnotations.sort((a, b) => getLatestDate(a) - getLatestDate(b));
61
+ }
62
+ // sort direction
63
+ if (sortDirection === 'desc') {
64
+ rootAnnotations.reverse();
65
+ }
66
+ const getLinkedAnnotations = (annotation) => {
67
+ const linkedIds = annotation.bodies
68
+ .filter((b) => b.purpose === 'linking' && b.value)
69
+ .map((b) => b.value);
70
+ return linkedIds
71
+ .map((id) => activeAnnotations.find((a) => a.id === id))
72
+ .filter(Boolean);
73
+ };
74
+ return rootAnnotations.map((root) => [root, getLinkedAnnotations(root)]);
75
+ }, [activeAnnotations, sortBy, sortDirection]);
76
+ const handleToggleSelect = (annotation) => {
77
+ if (!anno)
78
+ return;
79
+ if (isSelected(annotation)) {
80
+ anno.state.selection.clear();
81
+ }
82
+ else {
83
+ anno.state.selection.setSelected(annotation.id);
84
+ }
85
+ };
86
+ const handleOpenComments = (annotationId) => {
87
+ if (anno) {
88
+ anno.state.selection.setSelected(annotationId);
89
+ props.onStateChange('selected');
90
+ setTimeout(() => {
91
+ window.dispatchEvent(new CustomEvent('request-focus-conversation', {
92
+ detail: annotationId,
93
+ }));
94
+ }, 150);
95
+ }
96
+ };
97
+ return (_jsxs(_Fragment, { children: [_jsxs("header", { className: 'list-header', children: [_jsxs("div", { className: 'list-header-group', children: [_jsx(Tooltip.Provider, { children: _jsxs(Tooltip.Root, { children: [_jsx(Tooltip.Trigger, { asChild: true, children: _jsx("button", { className: 'unstyled toolbar-btn icon-only', "aria-label": t('Toggle sort direction'), onClick: () => setSortDirection((prev) => prev === 'asc' ? 'desc' : 'asc'), children: sortDirection === 'asc' ? (_jsx(SortAscendingIcon, {})) : (_jsx(SortDescendingIcon, {})) }) }), _jsx(Tooltip.Portal, { children: _jsxs(Tooltip.Content, { side: 'top', className: 'tooltip-content', children: [sortDirection === 'asc'
98
+ ? t('Sort descending')
99
+ : t('Sort ascending'), _jsx(Tooltip.Arrow, { className: 'tooltip-arrow' })] }) })] }) }), _jsxs(Select.Root, { value: sortBy, onValueChange: (v) => setSortBy(v), children: [_jsxs(Select.Trigger, { className: 'unstyled list-select-trigger', children: [_jsx(Select.Value, {}), _jsx(Select.Icon, { children: _jsx(CaretDownIcon, { size: 12 }) })] }), _jsx(Select.Portal, { children: _jsx(Select.Content, { className: 'list-select-content', position: 'popper', sideOffset: 4, children: _jsxs(Select.Viewport, { children: [_jsxs(Select.Item, { value: 'natural', className: 'list-select-item', children: [_jsx(Select.ItemText, { children: t('Text order') }), _jsx(Select.ItemIndicator, { className: 'list-select-indicator', children: _jsx(CheckIcon, { size: 14 }) })] }), _jsxs(Select.Item, { value: 'created', className: 'list-select-item', children: [_jsx(Select.ItemText, { children: t('Created') }), _jsx(Select.ItemIndicator, { className: 'list-select-indicator', children: _jsx(CheckIcon, { size: 14 }) })] }), _jsxs(Select.Item, { value: 'updated', className: 'list-select-item', children: [_jsx(Select.ItemText, { children: t('Updated') }), _jsx(Select.ItemIndicator, { className: 'list-select-indicator', children: _jsx(CheckIcon, { size: 14 }) })] })] }) }) })] })] }), _jsx("div", { className: 'list-header-group', children: _jsxs(Select.Root, { value: viewportFilter, onValueChange: (v) => setViewportFilter(v), children: [_jsxs(Select.Trigger, { className: 'unstyled list-select-trigger', children: [_jsx(Select.Value, {}), _jsx(Select.Icon, { children: _jsx(CaretDownIcon, { size: 12 }) })] }), _jsx(Select.Portal, { children: _jsx(Select.Content, { className: 'list-select-content', position: 'popper', sideOffset: 4, children: _jsxs(Select.Viewport, { children: [_jsxs(Select.Item, { value: 'all', className: 'list-select-item', children: [_jsx(Select.ItemText, { children: t('Show all') }), _jsx(Select.ItemIndicator, { className: 'list-select-indicator', children: _jsx(CheckIcon, { size: 14 }) })] }), _jsxs(Select.Item, { value: 'viewport', className: 'list-select-item', children: [_jsx(Select.ItemText, { children: t('Current viewport') }), _jsx(Select.ItemIndicator, { className: 'list-select-indicator', children: _jsx(CheckIcon, { size: 14 }) })] })] }) }) })] }) })] }), _jsx("div", { className: 'list-cards-wrapper', children: grouped.map(([root, linked]) => (_jsx(ListCard, { annotation: root, linked: linked, selected: isSelected(root), emphasize: hasSelection && isSelected(root), deemphasize: hasSelection && !isSelected(root), onToggleSelect: () => handleToggleSelect(root), onOpenComments: () => handleOpenComments(root.id) }, root.id))) })] }));
100
+ };
@@ -0,0 +1,2 @@
1
+ export * from './ListTab';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}