@semiont/react-ui 0.5.2 → 0.5.3

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 (130) hide show
  1. package/dist/{ar-3W37O3R3.mjs → ar-UUMMNQKF.mjs} +2 -17
  2. package/dist/ar-UUMMNQKF.mjs.map +1 -0
  3. package/dist/{bn-JZTJLMVE.mjs → bn-AL5BJSR3.mjs} +2 -17
  4. package/dist/bn-AL5BJSR3.mjs.map +1 -0
  5. package/dist/{chunk-7VWNZ5YX.mjs → chunk-EBBL3VJI.mjs} +31 -31
  6. package/dist/{chunk-NOD3NCXE.mjs → chunk-OJSRLEER.mjs} +2 -17
  7. package/dist/chunk-OJSRLEER.mjs.map +1 -0
  8. package/dist/{cs-XYHH7HNE.mjs → cs-UMINALSU.mjs} +2 -17
  9. package/dist/cs-UMINALSU.mjs.map +1 -0
  10. package/dist/{da-MZKIECVT.mjs → da-FKUX6CDL.mjs} +2 -17
  11. package/dist/da-FKUX6CDL.mjs.map +1 -0
  12. package/dist/{de-AYXTMRQW.mjs → de-XSJ3E25S.mjs} +2 -17
  13. package/dist/de-XSJ3E25S.mjs.map +1 -0
  14. package/dist/{el-A6CVQWAW.mjs → el-UJXNRCBP.mjs} +2 -17
  15. package/dist/el-UJXNRCBP.mjs.map +1 -0
  16. package/dist/{en-YPQQBI4T.mjs → en-J5DHKLQ5.mjs} +2 -2
  17. package/dist/{es-M2HXLJGT.mjs → es-VURP62BU.mjs} +2 -17
  18. package/dist/es-VURP62BU.mjs.map +1 -0
  19. package/dist/{fa-V6JZJDYP.mjs → fa-TIT5ZPZY.mjs} +2 -17
  20. package/dist/fa-TIT5ZPZY.mjs.map +1 -0
  21. package/dist/{fi-ONDTZ5H7.mjs → fi-F7VTGT4H.mjs} +2 -17
  22. package/dist/fi-F7VTGT4H.mjs.map +1 -0
  23. package/dist/{fr-PAPV4H4G.mjs → fr-2ZR26VF7.mjs} +2 -17
  24. package/dist/fr-2ZR26VF7.mjs.map +1 -0
  25. package/dist/{he-F6VTLJLW.mjs → he-BXP2KYVZ.mjs} +2 -17
  26. package/dist/he-BXP2KYVZ.mjs.map +1 -0
  27. package/dist/{hi-CFUAV4BF.mjs → hi-PSWTP3NC.mjs} +2 -17
  28. package/dist/hi-PSWTP3NC.mjs.map +1 -0
  29. package/dist/{id-NBKLCCI7.mjs → id-HO6TXGTO.mjs} +2 -17
  30. package/dist/id-HO6TXGTO.mjs.map +1 -0
  31. package/dist/index.d.mts +1 -3
  32. package/dist/index.mjs +114 -261
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/{it-SLSOWVVU.mjs → it-AGTDMBL3.mjs} +2 -17
  35. package/dist/it-AGTDMBL3.mjs.map +1 -0
  36. package/dist/{ja-L5IG4ECE.mjs → ja-TTGOVF5K.mjs} +2 -17
  37. package/dist/ja-TTGOVF5K.mjs.map +1 -0
  38. package/dist/{ko-QYMTULKK.mjs → ko-FF77IQ7N.mjs} +2 -17
  39. package/dist/ko-FF77IQ7N.mjs.map +1 -0
  40. package/dist/{ms-5DGSFKM2.mjs → ms-UPQWWIL4.mjs} +2 -17
  41. package/dist/ms-UPQWWIL4.mjs.map +1 -0
  42. package/dist/{nl-VZPCGONO.mjs → nl-W75HEPFL.mjs} +2 -17
  43. package/dist/nl-W75HEPFL.mjs.map +1 -0
  44. package/dist/{no-MF6F352I.mjs → no-R4W7W7ZU.mjs} +2 -17
  45. package/dist/no-R4W7W7ZU.mjs.map +1 -0
  46. package/dist/{pl-WIK72JUO.mjs → pl-GQC2ELWO.mjs} +2 -17
  47. package/dist/pl-GQC2ELWO.mjs.map +1 -0
  48. package/dist/{pt-RRP5ZF6A.mjs → pt-YGVT62RU.mjs} +2 -17
  49. package/dist/pt-YGVT62RU.mjs.map +1 -0
  50. package/dist/{ro-XHQLC3T7.mjs → ro-TST6XS6X.mjs} +2 -17
  51. package/dist/ro-TST6XS6X.mjs.map +1 -0
  52. package/dist/{sv-EWULDN6E.mjs → sv-TQLF6HV7.mjs} +2 -17
  53. package/dist/sv-TQLF6HV7.mjs.map +1 -0
  54. package/dist/test-utils.mjs +2 -2
  55. package/dist/{th-TGOBHFG4.mjs → th-HJUIETVR.mjs} +2 -17
  56. package/dist/th-HJUIETVR.mjs.map +1 -0
  57. package/dist/{tr-LMMPBMV7.mjs → tr-CW3C46TW.mjs} +2 -17
  58. package/dist/tr-CW3C46TW.mjs.map +1 -0
  59. package/dist/{uk-IPGRRJY6.mjs → uk-WTHZQB2U.mjs} +2 -17
  60. package/dist/uk-WTHZQB2U.mjs.map +1 -0
  61. package/dist/{vi-Q676OJQS.mjs → vi-PHWHJLKP.mjs} +2 -17
  62. package/dist/vi-PHWHJLKP.mjs.map +1 -0
  63. package/dist/{zh-F3MTWQDX.mjs → zh-MO3FCUD6.mjs} +2 -17
  64. package/dist/zh-MO3FCUD6.mjs.map +1 -0
  65. package/package.json +1 -1
  66. package/src/components/resource/panels/TagEntry.tsx +13 -2
  67. package/src/components/resource/panels/TaggingPanel.tsx +83 -41
  68. package/src/components/resource/panels/__tests__/TagEntry.test.tsx +26 -19
  69. package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +128 -38
  70. package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +3 -3
  71. package/translations/ar.json +1 -16
  72. package/translations/bn.json +1 -16
  73. package/translations/cs.json +1 -16
  74. package/translations/da.json +1 -16
  75. package/translations/de.json +1 -16
  76. package/translations/el.json +1 -16
  77. package/translations/en.json +1 -16
  78. package/translations/es.json +1 -16
  79. package/translations/fa.json +1 -16
  80. package/translations/fi.json +1 -16
  81. package/translations/fr.json +1 -16
  82. package/translations/he.json +1 -16
  83. package/translations/hi.json +1 -16
  84. package/translations/id.json +1 -16
  85. package/translations/it.json +1 -16
  86. package/translations/ja.json +1 -16
  87. package/translations/ko.json +1 -16
  88. package/translations/ms.json +1 -16
  89. package/translations/nl.json +1 -16
  90. package/translations/no.json +1 -16
  91. package/translations/pl.json +1 -16
  92. package/translations/pt.json +1 -16
  93. package/translations/ro.json +1 -16
  94. package/translations/sv.json +1 -16
  95. package/translations/th.json +1 -16
  96. package/translations/tr.json +1 -16
  97. package/translations/uk.json +1 -16
  98. package/translations/vi.json +1 -16
  99. package/translations/zh.json +1 -16
  100. package/dist/ar-3W37O3R3.mjs.map +0 -1
  101. package/dist/bn-JZTJLMVE.mjs.map +0 -1
  102. package/dist/chunk-NOD3NCXE.mjs.map +0 -1
  103. package/dist/cs-XYHH7HNE.mjs.map +0 -1
  104. package/dist/da-MZKIECVT.mjs.map +0 -1
  105. package/dist/de-AYXTMRQW.mjs.map +0 -1
  106. package/dist/el-A6CVQWAW.mjs.map +0 -1
  107. package/dist/es-M2HXLJGT.mjs.map +0 -1
  108. package/dist/fa-V6JZJDYP.mjs.map +0 -1
  109. package/dist/fi-ONDTZ5H7.mjs.map +0 -1
  110. package/dist/fr-PAPV4H4G.mjs.map +0 -1
  111. package/dist/he-F6VTLJLW.mjs.map +0 -1
  112. package/dist/hi-CFUAV4BF.mjs.map +0 -1
  113. package/dist/id-NBKLCCI7.mjs.map +0 -1
  114. package/dist/it-SLSOWVVU.mjs.map +0 -1
  115. package/dist/ja-L5IG4ECE.mjs.map +0 -1
  116. package/dist/ko-QYMTULKK.mjs.map +0 -1
  117. package/dist/ms-5DGSFKM2.mjs.map +0 -1
  118. package/dist/nl-VZPCGONO.mjs.map +0 -1
  119. package/dist/no-MF6F352I.mjs.map +0 -1
  120. package/dist/pl-WIK72JUO.mjs.map +0 -1
  121. package/dist/pt-RRP5ZF6A.mjs.map +0 -1
  122. package/dist/ro-XHQLC3T7.mjs.map +0 -1
  123. package/dist/sv-EWULDN6E.mjs.map +0 -1
  124. package/dist/th-TGOBHFG4.mjs.map +0 -1
  125. package/dist/tr-LMMPBMV7.mjs.map +0 -1
  126. package/dist/uk-IPGRRJY6.mjs.map +0 -1
  127. package/dist/vi-Q676OJQS.mjs.map +0 -1
  128. package/dist/zh-F3MTWQDX.mjs.map +0 -1
  129. /package/dist/{chunk-7VWNZ5YX.mjs.map → chunk-EBBL3VJI.mjs.map} +0 -0
  130. /package/dist/{en-YPQQBI4T.mjs.map → en-J5DHKLQ5.mjs.map} +0 -0
package/dist/index.mjs CHANGED
@@ -124,8 +124,8 @@ import {
124
124
  useSemiont,
125
125
  useToast,
126
126
  useTranslations
127
- } from "./chunk-7VWNZ5YX.mjs";
128
- import "./chunk-NOD3NCXE.mjs";
127
+ } from "./chunk-EBBL3VJI.mjs";
128
+ import "./chunk-OJSRLEER.mjs";
129
129
  import {
130
130
  __commonJS,
131
131
  __export,
@@ -17709,212 +17709,6 @@ function supportsDetection(mediaType) {
17709
17709
  return baseType.startsWith("text/");
17710
17710
  }
17711
17711
 
17712
- // ../ontology/dist/index.js
17713
- var TAG_SCHEMAS = {
17714
- "legal-irac": {
17715
- id: "legal-irac",
17716
- name: "Legal Analysis (IRAC)",
17717
- description: "Issue, Rule, Application, Conclusion framework for legal reasoning",
17718
- domain: "legal",
17719
- tags: [
17720
- {
17721
- name: "Issue",
17722
- description: "The legal question or problem to be resolved",
17723
- examples: [
17724
- "What is the central legal question?",
17725
- "What must the court decide?",
17726
- "What is the dispute about?"
17727
- ]
17728
- },
17729
- {
17730
- name: "Rule",
17731
- description: "The relevant law, statute, or legal principle",
17732
- examples: [
17733
- "What law applies?",
17734
- "What is the legal standard?",
17735
- "What statute governs this case?"
17736
- ]
17737
- },
17738
- {
17739
- name: "Application",
17740
- description: "How the rule applies to the specific facts",
17741
- examples: [
17742
- "How does the law apply to these facts?",
17743
- "Analysis of the case",
17744
- "How do the facts satisfy the legal standard?"
17745
- ]
17746
- },
17747
- {
17748
- name: "Conclusion",
17749
- description: "The resolution or outcome based on the analysis",
17750
- examples: [
17751
- "What is the court's decision?",
17752
- "What is the final judgment?",
17753
- "What is the holding?"
17754
- ]
17755
- }
17756
- ]
17757
- },
17758
- "scientific-imrad": {
17759
- id: "scientific-imrad",
17760
- name: "Scientific Paper (IMRAD)",
17761
- description: "Introduction, Methods, Results, Discussion structure for research papers",
17762
- domain: "scientific",
17763
- tags: [
17764
- {
17765
- name: "Introduction",
17766
- description: "Background, context, and research question",
17767
- examples: [
17768
- "What is the research question?",
17769
- "Why is this important?",
17770
- "What is the hypothesis?"
17771
- ]
17772
- },
17773
- {
17774
- name: "Methods",
17775
- description: "Experimental design and procedures",
17776
- examples: [
17777
- "How was the study conducted?",
17778
- "What methods were used?",
17779
- "What was the experimental design?"
17780
- ]
17781
- },
17782
- {
17783
- name: "Results",
17784
- description: "Findings and observations",
17785
- examples: [
17786
- "What did the study find?",
17787
- "What are the data?",
17788
- "What were the observations?"
17789
- ]
17790
- },
17791
- {
17792
- name: "Discussion",
17793
- description: "Interpretation and implications of results",
17794
- examples: [
17795
- "What do the results mean?",
17796
- "What are the implications?",
17797
- "How do these findings relate to prior work?"
17798
- ]
17799
- }
17800
- ]
17801
- },
17802
- "argument-toulmin": {
17803
- id: "argument-toulmin",
17804
- name: "Argument Structure (Toulmin)",
17805
- description: "Claim, Evidence, Warrant, Counterargument, Rebuttal framework for argumentation",
17806
- domain: "general",
17807
- tags: [
17808
- {
17809
- name: "Claim",
17810
- description: "The main assertion or thesis",
17811
- examples: [
17812
- "What is being argued?",
17813
- "What is the main point?",
17814
- "What position is being taken?"
17815
- ]
17816
- },
17817
- {
17818
- name: "Evidence",
17819
- description: "Data or facts supporting the claim",
17820
- examples: [
17821
- "What supports this claim?",
17822
- "What are the facts?",
17823
- "What data is provided?"
17824
- ]
17825
- },
17826
- {
17827
- name: "Warrant",
17828
- description: "Reasoning connecting evidence to claim",
17829
- examples: [
17830
- "Why does this evidence support the claim?",
17831
- "What is the logic?",
17832
- "How does this reasoning work?"
17833
- ]
17834
- },
17835
- {
17836
- name: "Counterargument",
17837
- description: "Opposing viewpoints or objections",
17838
- examples: [
17839
- "What are the objections?",
17840
- "What do critics say?",
17841
- "What are alternative views?"
17842
- ]
17843
- },
17844
- {
17845
- name: "Rebuttal",
17846
- description: "Response to counterarguments",
17847
- examples: [
17848
- "How is the objection addressed?",
17849
- "Why is the counterargument wrong?",
17850
- "How is the criticism answered?"
17851
- ]
17852
- }
17853
- ]
17854
- }
17855
- };
17856
- function getTagSchema(schemaId) {
17857
- return TAG_SCHEMAS[schemaId] || null;
17858
- }
17859
- function getAllTagSchemas() {
17860
- return Object.values(TAG_SCHEMAS);
17861
- }
17862
- function getTagSchemasByDomain(domain2) {
17863
- return Object.values(TAG_SCHEMAS).filter((schema) => schema.domain === domain2);
17864
- }
17865
- function isValidCategory(schemaId, categoryName) {
17866
- const schema = getTagSchema(schemaId);
17867
- if (!schema) return false;
17868
- return schema.tags.some((tag) => tag.name === categoryName);
17869
- }
17870
- function getSchemaCategory(schemaId, categoryName) {
17871
- const schema = getTagSchema(schemaId);
17872
- if (!schema) return null;
17873
- return schema.tags.find((tag) => tag.name === categoryName) || null;
17874
- }
17875
- function getEntityTypes(annotation) {
17876
- if (Array.isArray(annotation.body)) {
17877
- const entityTags = [];
17878
- for (const item of annotation.body) {
17879
- if (typeof item === "object" && item !== null && "type" in item && "value" in item && "purpose" in item) {
17880
- const itemType = item.type;
17881
- const itemValue = item.value;
17882
- const itemPurpose = item.purpose;
17883
- if (itemType === "TextualBody" && itemPurpose === "tagging" && typeof itemValue === "string" && itemValue.length > 0) {
17884
- entityTags.push(itemValue);
17885
- }
17886
- }
17887
- }
17888
- return entityTags;
17889
- }
17890
- return [];
17891
- }
17892
- function isTag2(annotation) {
17893
- return annotation.motivation === "tagging";
17894
- }
17895
- function getTagCategory(annotation) {
17896
- if (!isTag2(annotation)) return void 0;
17897
- const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];
17898
- const taggingBody = bodies.find(
17899
- (b8) => b8 !== null && typeof b8 === "object" && "purpose" in b8 && b8.purpose === "tagging"
17900
- );
17901
- if (taggingBody && "value" in taggingBody) {
17902
- return taggingBody.value;
17903
- }
17904
- return void 0;
17905
- }
17906
- function getTagSchemaId(annotation) {
17907
- if (!isTag2(annotation)) return void 0;
17908
- const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];
17909
- const classifyingBody = bodies.find(
17910
- (b8) => b8 !== null && typeof b8 === "object" && "purpose" in b8 && b8.purpose === "classifying"
17911
- );
17912
- if (classifyingBody && "value" in classifyingBody) {
17913
- return classifyingBody.value;
17914
- }
17915
- return void 0;
17916
- }
17917
-
17918
17712
  // src/lib/validation.ts
17919
17713
  import { isValidEmail } from "@semiont/core";
17920
17714
  var ImageURLSchema = {
@@ -26357,7 +26151,7 @@ import { isReference as isReference3 } from "@semiont/core";
26357
26151
  import { createHoverHandlers } from "@semiont/sdk";
26358
26152
 
26359
26153
  // src/lib/codemirror-logic.ts
26360
- import { isHighlight as isHighlight2, isReference as isReference2, isResolvedReference as isResolvedReference2, isComment as isComment2, isAssessment, isTag as isTag3, getBodySource as getBodySource3 } from "@semiont/core";
26154
+ import { isHighlight as isHighlight2, isReference as isReference2, isResolvedReference as isResolvedReference2, isComment as isComment2, isAssessment, isTag as isTag2, getBodySource as getBodySource3 } from "@semiont/core";
26361
26155
  function convertSegmentPositions(segments, content4) {
26362
26156
  if (!content4.includes("\r\n")) {
26363
26157
  return segments;
@@ -26388,7 +26182,7 @@ function getAnnotationTooltip(annotation) {
26388
26182
  const isCommentAnn = isComment2(annotation);
26389
26183
  const isHighlightAnn = isHighlight2(annotation);
26390
26184
  const isAssessmentAnn = isAssessment(annotation);
26391
- const isTagAnn = isTag3(annotation);
26185
+ const isTagAnn = isTag2(annotation);
26392
26186
  const isReferenceAnn = isReference2(annotation);
26393
26187
  const isResolvedRef = isResolvedReference2(annotation);
26394
26188
  if (isCommentAnn) {
@@ -26413,7 +26207,7 @@ function getAnnotationDecorationMeta(annotation, isNew) {
26413
26207
  const isReferenceAnn = isReference2(annotation);
26414
26208
  const isCommentAnn = isComment2(annotation);
26415
26209
  const isAssessmentAnn = isAssessment(annotation);
26416
- const isTagAnn = isTag3(annotation);
26210
+ const isTagAnn = isTag2(annotation);
26417
26211
  let annotationType = "highlight";
26418
26212
  if (isCommentAnn) annotationType = "comment";
26419
26213
  else if (isReferenceAnn) annotationType = "reference";
@@ -29625,7 +29419,7 @@ function PopupContainer({ children, position: position3, onClose, isOpen, wide =
29625
29419
 
29626
29420
  // src/components/image-annotation/AnnotationOverlay.tsx
29627
29421
  import { useMemo as useMemo3 } from "react";
29628
- import { getSvgSelector, isHighlight as isHighlight3, isReference as isReference4, isAssessment as isAssessment2, isComment as isComment3, isTag as isTag4, isBodyResolved, isResolvedReference as isResolvedReference3 } from "@semiont/core";
29422
+ import { getSvgSelector, isHighlight as isHighlight3, isReference as isReference4, isAssessment as isAssessment2, isComment as isComment3, isTag as isTag3, isBodyResolved, isResolvedReference as isResolvedReference3 } from "@semiont/core";
29629
29423
  import { createHoverHandlers as createHoverHandlers2 } from "@semiont/sdk";
29630
29424
  import { parseSvgSelector } from "@semiont/core";
29631
29425
  import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
@@ -29638,7 +29432,7 @@ function getAnnotationColor(annotation) {
29638
29432
  return { stroke: "rgb(239, 68, 68)", fill: "rgba(239, 68, 68, 0.2)" };
29639
29433
  } else if (isComment3(annotation)) {
29640
29434
  return { stroke: "rgb(255, 255, 255)", fill: "rgba(255, 255, 255, 0.2)" };
29641
- } else if (isTag4(annotation)) {
29435
+ } else if (isTag3(annotation)) {
29642
29436
  return { stroke: "rgb(234, 88, 12)", fill: "rgba(234, 88, 12, 0.2)" };
29643
29437
  }
29644
29438
  return { stroke: "rgb(156, 163, 175)", fill: "rgba(156, 163, 175, 0.2)" };
@@ -29650,7 +29444,7 @@ function getAnnotationTooltip2(annotation) {
29650
29444
  return "Highlight";
29651
29445
  } else if (isAssessment2(annotation)) {
29652
29446
  return "Assessment";
29653
- } else if (isTag4(annotation)) {
29447
+ } else if (isTag3(annotation)) {
29654
29448
  return "Tag";
29655
29449
  } else if (isResolvedReference3(annotation)) {
29656
29450
  return "Resolved Reference";
@@ -45974,7 +45768,7 @@ var BrowseView = memo(function BrowseView2({
45974
45768
 
45975
45769
  // src/components/resource/ResourceViewer.tsx
45976
45770
  import { useState as useState18, useEffect as useEffect25, useCallback as useCallback16, useRef as useRef17, useMemo as useMemo5 } from "react";
45977
- import { getExactText as getExactText3, getTargetSelector as getTargetSelector4, isHighlight as isHighlight4, isAssessment as isAssessment3, isReference as isReference5, isComment as isComment4, isTag as isTag5, getBodySource as getBodySource4 } from "@semiont/core";
45771
+ import { getExactText as getExactText3, getTargetSelector as getTargetSelector4, isHighlight as isHighlight4, isAssessment as isAssessment3, isReference as isReference5, isComment as isComment4, isTag as isTag4, getBodySource as getBodySource4 } from "@semiont/core";
45978
45772
  import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
45979
45773
  function ResourceViewer({
45980
45774
  resource,
@@ -46112,7 +45906,7 @@ function ResourceViewer({
46112
45906
  return;
46113
45907
  }
46114
45908
  }
46115
- const isSimpleAnnotation = isHighlight4(annotation) || isAssessment3(annotation) || isComment4(annotation) || isReference5(annotation) || isTag5(annotation);
45909
+ const isSimpleAnnotation = isHighlight4(annotation) || isAssessment3(annotation) || isComment4(annotation) || isReference5(annotation) || isTag4(annotation);
46116
45910
  if (selectedClick === "follow" && isReference5(annotation)) {
46117
45911
  const bodySource = getBodySource4(annotation.body);
46118
45912
  if (bodySource) {
@@ -47414,6 +47208,52 @@ function JsonLdPanel({ resource: semiontResource }) {
47414
47208
  // src/components/resource/panels/ReferenceEntry.tsx
47415
47209
  import { resourceId } from "@semiont/core";
47416
47210
  import { getAnnotationExactText as getAnnotationExactText4, isBodyResolved as isBodyResolved2, getBodySource as getBodySource5, getFragmentSelector, getSvgSelector as getSvgSelector2, getTargetSelector as getTargetSelector8 } from "@semiont/core";
47211
+
47212
+ // ../ontology/dist/index.js
47213
+ function getEntityTypes(annotation) {
47214
+ if (Array.isArray(annotation.body)) {
47215
+ const entityTags = [];
47216
+ for (const item of annotation.body) {
47217
+ if (typeof item === "object" && item !== null && "type" in item && "value" in item && "purpose" in item) {
47218
+ const itemType = item.type;
47219
+ const itemValue = item.value;
47220
+ const itemPurpose = item.purpose;
47221
+ if (itemType === "TextualBody" && itemPurpose === "tagging" && typeof itemValue === "string" && itemValue.length > 0) {
47222
+ entityTags.push(itemValue);
47223
+ }
47224
+ }
47225
+ }
47226
+ return entityTags;
47227
+ }
47228
+ return [];
47229
+ }
47230
+ function isTag5(annotation) {
47231
+ return annotation.motivation === "tagging";
47232
+ }
47233
+ function getTagCategory(annotation) {
47234
+ if (!isTag5(annotation)) return void 0;
47235
+ const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];
47236
+ const taggingBody = bodies.find(
47237
+ (b8) => b8 !== null && typeof b8 === "object" && "purpose" in b8 && b8.purpose === "tagging"
47238
+ );
47239
+ if (taggingBody && "value" in taggingBody) {
47240
+ return taggingBody.value;
47241
+ }
47242
+ return void 0;
47243
+ }
47244
+ function getTagSchemaId(annotation) {
47245
+ if (!isTag5(annotation)) return void 0;
47246
+ const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];
47247
+ const classifyingBody = bodies.find(
47248
+ (b8) => b8 !== null && typeof b8 === "object" && "purpose" in b8 && b8.purpose === "classifying"
47249
+ );
47250
+ if (classifyingBody && "value" in classifyingBody) {
47251
+ return classifyingBody.value;
47252
+ }
47253
+ return void 0;
47254
+ }
47255
+
47256
+ // src/components/resource/panels/ReferenceEntry.tsx
47417
47257
  import { jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
47418
47258
  function ReferenceEntry({
47419
47259
  reference,
@@ -48117,6 +47957,7 @@ function StatisticsPanel({
48117
47957
  }
48118
47958
 
48119
47959
  // src/components/resource/panels/TagEntry.tsx
47960
+ import { useMemo as useMemo10 } from "react";
48120
47961
  import { getAnnotationExactText as getAnnotationExactText5 } from "@semiont/core";
48121
47962
  import { jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime";
48122
47963
  function TagEntry({
@@ -48130,7 +47971,12 @@ function TagEntry({
48130
47971
  const selectedText = getAnnotationExactText5(tag);
48131
47972
  const category = getTagCategory(tag);
48132
47973
  const schemaId = getTagSchemaId(tag);
48133
- const schema = schemaId ? getTagSchema(schemaId) : null;
47974
+ const tagSchemas$ = useMemo10(
47975
+ () => session?.client.browse.tagSchemas() ?? null,
47976
+ [session]
47977
+ );
47978
+ const schemas = useObservable(tagSchemas$);
47979
+ const schema = schemaId && schemas ? schemas.find((s11) => s11.id === schemaId) ?? null : null;
48134
47980
  return /* @__PURE__ */ jsxs35(
48135
47981
  "div",
48136
47982
  {
@@ -48163,7 +48009,7 @@ function TagEntry({
48163
48009
  }
48164
48010
 
48165
48011
  // src/components/resource/panels/TaggingPanel.tsx
48166
- import { useState as useState25, useEffect as useEffect33, useRef as useRef24, useCallback as useCallback22, useMemo as useMemo10 } from "react";
48012
+ import { useState as useState25, useEffect as useEffect33, useRef as useRef24, useCallback as useCallback22, useMemo as useMemo11 } from "react";
48167
48013
  import { getTextPositionSelector as getTextPositionSelector7, getTargetSelector as getTargetSelector10 } from "@semiont/core";
48168
48014
  import { Fragment as Fragment8, jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime";
48169
48015
  function getSelectorDisplayText4(selector) {
@@ -48193,8 +48039,20 @@ function TaggingPanel({
48193
48039
  }) {
48194
48040
  const t12 = useTranslations("TaggingPanel");
48195
48041
  const session = useObservable(useSemiont().activeSession$);
48196
- const [selectedSchemaId, setSelectedSchemaId] = useState25("legal-irac");
48042
+ const tagSchemas$ = useMemo11(
48043
+ () => session?.client.browse.tagSchemas() ?? null,
48044
+ [session]
48045
+ );
48046
+ const schemasObserved = useObservable(tagSchemas$);
48047
+ const schemas = schemasObserved ?? [];
48048
+ const noSchemasRegistered = schemasObserved !== void 0 && schemasObserved.length === 0;
48049
+ const [selectedSchemaId, setSelectedSchemaId] = useState25("");
48197
48050
  const [selectedCategories, setSelectedCategories] = useState25(/* @__PURE__ */ new Set());
48051
+ useEffect33(() => {
48052
+ if (!selectedSchemaId && schemas.length > 0) {
48053
+ setSelectedSchemaId(schemas[0].id);
48054
+ }
48055
+ }, [schemas, selectedSchemaId]);
48198
48056
  const [focusedAnnotationId, setFocusedAnnotationId] = useState25(null);
48199
48057
  const containerRef = useRef24(null);
48200
48058
  const [isAssistExpanded, setIsDetectExpanded] = useState25(() => {
@@ -48214,7 +48072,7 @@ function TaggingPanel({
48214
48072
  "browse:click": handleAnnotationClick2
48215
48073
  });
48216
48074
  const entryRefs = useRef24(/* @__PURE__ */ new Map());
48217
- const sortedAnnotations = useMemo10(() => {
48075
+ const sortedAnnotations = useMemo11(() => {
48218
48076
  return [...annotations].sort((a15, b8) => {
48219
48077
  const aSelector = getTextPositionSelector7(getTargetSelector10(a15.target));
48220
48078
  const bSelector = getTextPositionSelector7(getTargetSelector10(b8.target));
@@ -48260,7 +48118,6 @@ function TaggingPanel({
48260
48118
  container.scrollTo({ top: scrollTo, behavior: "smooth" });
48261
48119
  }
48262
48120
  }, [hoveredAnnotationId]);
48263
- const schemas = getAllTagSchemas();
48264
48121
  const selectedSchema = schemas.find((s11) => s11.id === selectedSchemaId);
48265
48122
  const handleSchemaChange = (schemaId) => {
48266
48123
  setSelectedSchemaId(schemaId);
@@ -48318,7 +48175,8 @@ function TaggingPanel({
48318
48175
  }
48319
48176
  return t12("fragmentSelected");
48320
48177
  })() }) }),
48321
- /* @__PURE__ */ jsxs36("div", { className: "semiont-form-field", children: [
48178
+ noSchemasRegistered && /* @__PURE__ */ jsx43("p", { className: "semiont-form__help", "data-type": "tag-no-schemas", children: t12("noSchemas") }),
48179
+ !noSchemasRegistered && /* @__PURE__ */ jsxs36("div", { className: "semiont-form-field", children: [
48322
48180
  /* @__PURE__ */ jsx43("label", { className: "semiont-form-field__label", children: t12("selectSchema") }),
48323
48181
  /* @__PURE__ */ jsx43(
48324
48182
  "select",
@@ -48326,7 +48184,7 @@ function TaggingPanel({
48326
48184
  value: selectedSchemaId,
48327
48185
  onChange: (e6) => handleSchemaChange(e6.target.value),
48328
48186
  className: "semiont-select",
48329
- children: schemas.map((schema) => /* @__PURE__ */ jsx43("option", { value: schema.id, children: t12(`schema${schema.id === "legal-irac" ? "Legal" : schema.id === "scientific-imrad" ? "Scientific" : "Argument"}`) }, schema.id))
48187
+ children: schemas.map((schema) => /* @__PURE__ */ jsx43("option", { value: schema.id, children: schema.name }, schema.id))
48330
48188
  }
48331
48189
  )
48332
48190
  ] }),
@@ -48390,7 +48248,8 @@ function TaggingPanel({
48390
48248
  ),
48391
48249
  isAssistExpanded && /* @__PURE__ */ jsxs36("div", { className: "semiont-assist-widget", "data-assisting": isAssisting && progress ? "true" : "false", "data-type": "tag", children: [
48392
48250
  !isAssisting && !progress && /* @__PURE__ */ jsxs36(Fragment8, { children: [
48393
- /* @__PURE__ */ jsxs36("div", { className: "semiont-form-field", children: [
48251
+ noSchemasRegistered && /* @__PURE__ */ jsx43("p", { className: "semiont-form__help", "data-type": "tag-no-schemas", children: t12("noSchemas") }),
48252
+ !noSchemasRegistered && /* @__PURE__ */ jsxs36("div", { className: "semiont-form-field", children: [
48394
48253
  /* @__PURE__ */ jsx43("label", { className: "semiont-form-field__label", children: t12("selectSchema") }),
48395
48254
  /* @__PURE__ */ jsx43(
48396
48255
  "select",
@@ -48398,7 +48257,7 @@ function TaggingPanel({
48398
48257
  value: selectedSchemaId,
48399
48258
  onChange: (e6) => handleSchemaChange(e6.target.value),
48400
48259
  className: "semiont-select",
48401
- children: schemas.map((schema) => /* @__PURE__ */ jsx43("option", { value: schema.id, children: t12(`schema${schema.id === "legal-irac" ? "Legal" : schema.id === "scientific-imrad" ? "Scientific" : "Argument"}`) }, schema.id))
48260
+ children: schemas.map((schema) => /* @__PURE__ */ jsx43("option", { value: schema.id, children: schema.name }, schema.id))
48402
48261
  }
48403
48262
  ),
48404
48263
  selectedSchema && /* @__PURE__ */ jsx43("p", { className: "semiont-form__help", children: selectedSchema.description })
@@ -48445,7 +48304,7 @@ function TaggingPanel({
48445
48304
  className: "semiont-form__checkbox-label",
48446
48305
  style: { display: "flex", flexDirection: "column", gap: "0.25rem" },
48447
48306
  children: [
48448
- /* @__PURE__ */ jsx43("span", { style: { fontWeight: 500 }, children: t12(`category${category.name.replace(/\s+/g, "")}`) }),
48307
+ /* @__PURE__ */ jsx43("span", { style: { fontWeight: 500 }, children: category.name }),
48449
48308
  /* @__PURE__ */ jsx43("span", { style: { fontSize: "var(--semiont-text-xs)", color: "var(--semiont-text-secondary)" }, children: category.description })
48450
48309
  ]
48451
48310
  }
@@ -48980,16 +48839,16 @@ function SimpleNavigation({
48980
48839
  import { useCallback as useCallback29, useState as useState32, useRef as useRef31, useEffect as useEffect41 } from "react";
48981
48840
 
48982
48841
  // ../../node_modules/@dnd-kit/core/dist/core.esm.js
48983
- import React18, { createContext as createContext5, useContext as useContext5, useEffect as useEffect38, useState as useState30, useCallback as useCallback26, useMemo as useMemo12, useRef as useRef28, memo as memo2, useReducer, cloneElement, forwardRef } from "react";
48842
+ import React18, { createContext as createContext5, useContext as useContext5, useEffect as useEffect38, useState as useState30, useCallback as useCallback26, useMemo as useMemo13, useRef as useRef28, memo as memo2, useReducer, cloneElement, forwardRef } from "react";
48984
48843
  import { createPortal, unstable_batchedUpdates } from "react-dom";
48985
48844
 
48986
48845
  // ../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js
48987
- import { useMemo as useMemo11, useLayoutEffect, useEffect as useEffect37, useRef as useRef27, useCallback as useCallback24 } from "react";
48846
+ import { useMemo as useMemo12, useLayoutEffect, useEffect as useEffect37, useRef as useRef27, useCallback as useCallback24 } from "react";
48988
48847
  function useCombinedRefs() {
48989
48848
  for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
48990
48849
  refs[_key] = arguments[_key];
48991
48850
  }
48992
- return useMemo11(
48851
+ return useMemo12(
48993
48852
  () => (node2) => {
48994
48853
  refs.forEach((ref) => ref(node2));
48995
48854
  },
@@ -49092,7 +48951,7 @@ function useLatestValue(value, dependencies) {
49092
48951
  }
49093
48952
  function useLazyMemo(callback, dependencies) {
49094
48953
  const valueRef = useRef27();
49095
- return useMemo11(
48954
+ return useMemo12(
49096
48955
  () => {
49097
48956
  const newValue = callback(valueRef.current);
49098
48957
  valueRef.current = newValue;
@@ -49126,7 +48985,7 @@ function usePrevious(value) {
49126
48985
  }
49127
48986
  var ids = {};
49128
48987
  function useUniqueId(prefix, value) {
49129
- return useMemo11(() => {
48988
+ return useMemo12(() => {
49130
48989
  if (value) {
49131
48990
  return value;
49132
48991
  }
@@ -49398,7 +49257,7 @@ function Accessibility(_ref) {
49398
49257
  useEffect38(() => {
49399
49258
  setMounted(true);
49400
49259
  }, []);
49401
- useDndMonitor(useMemo12(() => ({
49260
+ useDndMonitor(useMemo13(() => ({
49402
49261
  onDragStart(_ref2) {
49403
49262
  let {
49404
49263
  active
@@ -49476,7 +49335,7 @@ var Action;
49476
49335
  function noop() {
49477
49336
  }
49478
49337
  function useSensor(sensor, options) {
49479
- return useMemo12(
49338
+ return useMemo13(
49480
49339
  () => ({
49481
49340
  sensor,
49482
49341
  options: options != null ? options : {}
@@ -49489,7 +49348,7 @@ function useSensors() {
49489
49348
  for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {
49490
49349
  sensors[_key] = arguments[_key];
49491
49350
  }
49492
- return useMemo12(
49351
+ return useMemo13(
49493
49352
  () => [...sensors].filter((sensor) => sensor != null),
49494
49353
  // eslint-disable-next-line react-hooks/exhaustive-deps
49495
49354
  [...sensors]
@@ -50739,7 +50598,7 @@ function useAutoScroller(_ref) {
50739
50598
  x: 0,
50740
50599
  y: 0
50741
50600
  });
50742
- const rect = useMemo12(() => {
50601
+ const rect = useMemo13(() => {
50743
50602
  switch (activator) {
50744
50603
  case AutoScrollActivator.Pointer:
50745
50604
  return pointerCoordinates ? {
@@ -50762,7 +50621,7 @@ function useAutoScroller(_ref) {
50762
50621
  const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;
50763
50622
  scrollContainer.scrollBy(scrollLeft, scrollTop);
50764
50623
  }, []);
50765
- const sortedScrollableAncestors = useMemo12(() => order2 === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order2, scrollableAncestors]);
50624
+ const sortedScrollableAncestors = useMemo13(() => order2 === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order2, scrollableAncestors]);
50766
50625
  useEffect38(
50767
50626
  () => {
50768
50627
  if (!enabled || !scrollableAncestors.length || !rect) {
@@ -50876,7 +50735,7 @@ function useCachedNode(draggableNodes, id2) {
50876
50735
  }, [node2, id2]);
50877
50736
  }
50878
50737
  function useCombineActivators(sensors, getSyntheticHandler) {
50879
- return useMemo12(() => sensors.reduce((accumulator, sensor) => {
50738
+ return useMemo13(() => sensors.reduce((accumulator, sensor) => {
50880
50739
  const {
50881
50740
  sensor: Sensor
50882
50741
  } = sensor;
@@ -51024,7 +50883,7 @@ function useMutationObserver(_ref) {
51024
50883
  disabled
51025
50884
  } = _ref;
51026
50885
  const handleMutations = useEvent(callback);
51027
- const mutationObserver = useMemo12(() => {
50886
+ const mutationObserver = useMemo13(() => {
51028
50887
  if (disabled || typeof window === "undefined" || typeof window.MutationObserver === "undefined") {
51029
50888
  return void 0;
51030
50889
  }
@@ -51044,7 +50903,7 @@ function useResizeObserver(_ref) {
51044
50903
  disabled
51045
50904
  } = _ref;
51046
50905
  const handleResize = useEvent(callback);
51047
- const resizeObserver = useMemo12(
50906
+ const resizeObserver = useMemo13(
51048
50907
  () => {
51049
50908
  if (disabled || typeof window === "undefined" || typeof window.ResizeObserver === "undefined") {
51050
50909
  return void 0;
@@ -51186,7 +51045,7 @@ function useScrollOffsets(elements) {
51186
51045
  });
51187
51046
  }
51188
51047
  }, [handleScroll, elements]);
51189
- return useMemo12(() => {
51048
+ return useMemo13(() => {
51190
51049
  if (elements.length) {
51191
51050
  return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);
51192
51051
  }
@@ -51245,7 +51104,7 @@ function useSensorSetup(sensors) {
51245
51104
  );
51246
51105
  }
51247
51106
  function useSyntheticListeners(listeners, id2) {
51248
- return useMemo12(() => {
51107
+ return useMemo13(() => {
51249
51108
  return listeners.reduce((acc, _ref) => {
51250
51109
  let {
51251
51110
  eventName,
@@ -51259,7 +51118,7 @@ function useSyntheticListeners(listeners, id2) {
51259
51118
  }, [listeners, id2]);
51260
51119
  }
51261
51120
  function useWindowRect(element2) {
51262
- return useMemo12(() => element2 ? getWindowClientRect(element2) : null, [element2]);
51121
+ return useMemo13(() => element2 ? getWindowClientRect(element2) : null, [element2]);
51263
51122
  }
51264
51123
  var defaultValue$2 = [];
51265
51124
  function useRects(elements, measure) {
@@ -51331,7 +51190,7 @@ function useDragOverlayMeasuring(_ref) {
51331
51190
  setRect(node2 ? measure(node2) : null);
51332
51191
  }, [measure, resizeObserver]);
51333
51192
  const [nodeRef, setRef] = useNodeRef(handleNodeChange);
51334
- return useMemo12(() => ({
51193
+ return useMemo13(() => ({
51335
51194
  nodeRef,
51336
51195
  rect,
51337
51196
  setRef
@@ -51608,7 +51467,7 @@ function applyModifiers(modifiers2, _ref) {
51608
51467
  }, transform) : transform;
51609
51468
  }
51610
51469
  function useMeasuringConfiguration(config) {
51611
- return useMemo12(
51470
+ return useMemo13(
51612
51471
  () => ({
51613
51472
  draggable: {
51614
51473
  ...defaultMeasuringConfiguration.draggable,
@@ -51719,7 +51578,7 @@ var DndContext = /* @__PURE__ */ memo2(function DndContext2(_ref) {
51719
51578
  initial: null,
51720
51579
  translated: null
51721
51580
  });
51722
- const active = useMemo12(() => {
51581
+ const active = useMemo13(() => {
51723
51582
  var _node$data;
51724
51583
  return activeId != null ? {
51725
51584
  id: activeId,
@@ -51733,7 +51592,7 @@ var DndContext = /* @__PURE__ */ memo2(function DndContext2(_ref) {
51733
51592
  const [activatorEvent, setActivatorEvent] = useState30(null);
51734
51593
  const latestProps = useLatestValue(props, Object.values(props));
51735
51594
  const draggableDescribedById = useUniqueId("DndDescribedBy", id2);
51736
- const enabledDroppableContainers = useMemo12(() => droppableContainers.getEnabled(), [droppableContainers]);
51595
+ const enabledDroppableContainers = useMemo13(() => droppableContainers.getEnabled(), [droppableContainers]);
51737
51596
  const measuringConfiguration = useMeasuringConfiguration(measuring);
51738
51597
  const {
51739
51598
  droppableRects,
@@ -51745,7 +51604,7 @@ var DndContext = /* @__PURE__ */ memo2(function DndContext2(_ref) {
51745
51604
  config: measuringConfiguration.droppable
51746
51605
  });
51747
51606
  const activeNode = useCachedNode(draggableNodes, activeId);
51748
- const activationCoordinates = useMemo12(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);
51607
+ const activationCoordinates = useMemo13(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);
51749
51608
  const autoScrollOptions = getAutoScrollerOptions();
51750
51609
  const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);
51751
51610
  useLayoutShiftScrollCompensation({
@@ -52116,7 +51975,7 @@ var DndContext = /* @__PURE__ */ memo2(function DndContext2(_ref) {
52116
51975
  scrollableAncestors,
52117
51976
  scrollableAncestorRects
52118
51977
  });
52119
- const publicContext = useMemo12(() => {
51978
+ const publicContext = useMemo13(() => {
52120
51979
  const context = {
52121
51980
  active,
52122
51981
  activeNode,
@@ -52138,7 +51997,7 @@ var DndContext = /* @__PURE__ */ memo2(function DndContext2(_ref) {
52138
51997
  };
52139
51998
  return context;
52140
51999
  }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect2]);
52141
- const internalContext = useMemo12(() => {
52000
+ const internalContext = useMemo13(() => {
52142
52001
  const context = {
52143
52002
  activatorEvent,
52144
52003
  activators,
@@ -52233,7 +52092,7 @@ function useDraggable(_ref) {
52233
52092
  // eslint-disable-next-line react-hooks/exhaustive-deps
52234
52093
  [draggableNodes, id2]
52235
52094
  );
52236
- const memoizedAttributes = useMemo12(() => ({
52095
+ const memoizedAttributes = useMemo13(() => ({
52237
52096
  role,
52238
52097
  tabIndex,
52239
52098
  "aria-disabled": disabled,
@@ -52378,7 +52237,7 @@ function useDroppable(_ref) {
52378
52237
  }
52379
52238
 
52380
52239
  // ../../node_modules/@dnd-kit/sortable/dist/sortable.esm.js
52381
- import React19, { useMemo as useMemo13, useRef as useRef29, useEffect as useEffect39, useState as useState31, useContext as useContext6 } from "react";
52240
+ import React19, { useMemo as useMemo14, useRef as useRef29, useEffect as useEffect39, useState as useState31, useContext as useContext6 } from "react";
52382
52241
  function arrayMove(array, from, to) {
52383
52242
  const newArray = array.slice();
52384
52243
  newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);
@@ -52532,7 +52391,7 @@ function SortableContext(_ref) {
52532
52391
  } = useDndContext();
52533
52392
  const containerId = useUniqueId(ID_PREFIX2, id2);
52534
52393
  const useDragOverlay = Boolean(dragOverlay.rect !== null);
52535
- const items = useMemo13(() => userDefinedItems.map((item) => typeof item === "object" && "id" in item ? item.id : item), [userDefinedItems]);
52394
+ const items = useMemo14(() => userDefinedItems.map((item) => typeof item === "object" && "id" in item ? item.id : item), [userDefinedItems]);
52536
52395
  const isDragging = active != null;
52537
52396
  const activeIndex = active ? items.indexOf(active.id) : -1;
52538
52397
  const overIndex = over ? items.indexOf(over.id) : -1;
@@ -52548,7 +52407,7 @@ function SortableContext(_ref) {
52548
52407
  useEffect39(() => {
52549
52408
  previousItemsRef.current = items;
52550
52409
  }, [items]);
52551
- const contextValue = useMemo13(
52410
+ const contextValue = useMemo14(
52552
52411
  () => ({
52553
52412
  activeIndex,
52554
52413
  containerId,
@@ -52675,7 +52534,7 @@ function useSortable(_ref) {
52675
52534
  } = useContext6(Context2);
52676
52535
  const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);
52677
52536
  const index2 = items.indexOf(id2);
52678
- const data2 = useMemo13(() => ({
52537
+ const data2 = useMemo14(() => ({
52679
52538
  sortable: {
52680
52539
  containerId,
52681
52540
  index: index2,
@@ -52683,7 +52542,7 @@ function useSortable(_ref) {
52683
52542
  },
52684
52543
  ...customData
52685
52544
  }), [containerId, customData, index2, items]);
52686
- const itemsAfterCurrentSortable = useMemo13(() => items.slice(items.indexOf(id2)), [items, id2]);
52545
+ const itemsAfterCurrentSortable = useMemo14(() => items.slice(items.indexOf(id2)), [items, id2]);
52687
52546
  const {
52688
52547
  rect,
52689
52548
  node: node2,
@@ -59304,7 +59163,6 @@ export {
59304
59163
  StatisticsPanel,
59305
59164
  StatusDisplay,
59306
59165
  SvgDrawingCanvas,
59307
- TAG_SCHEMAS,
59308
59166
  TagEntry,
59309
59167
  TagSchemasPage,
59310
59168
  TaggingPanel,
@@ -59346,18 +59204,13 @@ export {
59346
59204
  faviconPaths,
59347
59205
  formatTime,
59348
59206
  generateCSSVariables,
59349
- getAllTagSchemas,
59350
59207
  getResourceIcon,
59351
59208
  getSelectedShapeForSelectorType,
59352
59209
  getSelectorType,
59353
59210
  getShortcutDisplay,
59354
59211
  getSupportedShapes,
59355
- getSchemaCategory as getTagCategory,
59356
- getTagSchema,
59357
- getTagSchemasByDomain,
59358
59212
  hideWidgetPreview,
59359
59213
  isShapeSupported,
59360
- isValidCategory,
59361
59214
  jsonLightHighlightStyle,
59362
59215
  jsonLightTheme,
59363
59216
  resolveAnnotationRanges,