@semiont/cli 0.5.4 → 0.5.6

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 (207) hide show
  1. package/dist/cli.mjs +34053 -23196
  2. package/dist/dashboard/dashboard.css +1 -1
  3. package/dist/dashboard/dashboard.css.map +2 -2
  4. package/dist/dashboard/dashboard.js +1 -1
  5. package/dist/dashboard/dashboard.js.map +1 -1
  6. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-eQUXtsyS.js → ArrowsRightLeftIcon-C7eE1lVN.js} +2 -2
  7. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-eQUXtsyS.js.map → ArrowsRightLeftIcon-C7eE1lVN.js.map} +1 -1
  8. package/dist/frontend/dist/assets/{ChevronLeftIcon-QLs1eT1j.js → ChevronLeftIcon-BItMAxjy.js} +2 -2
  9. package/dist/frontend/dist/assets/{ChevronLeftIcon-QLs1eT1j.js.map → ChevronLeftIcon-BItMAxjy.js.map} +1 -1
  10. package/dist/frontend/dist/assets/{CommandLineIcon-BEeeWFhQ.js → CommandLineIcon-BxjxKXBi.js} +2 -2
  11. package/dist/frontend/dist/assets/{CommandLineIcon-BEeeWFhQ.js.map → CommandLineIcon-BxjxKXBi.js.map} +1 -1
  12. package/dist/frontend/dist/assets/CookiePreferences-D8IJVuy6.js +2 -0
  13. package/dist/frontend/dist/assets/CookiePreferences-D8IJVuy6.js.map +1 -0
  14. package/dist/frontend/dist/assets/KeyboardShortcutsContext-CK1G6PDA.js +2 -0
  15. package/dist/frontend/dist/assets/KeyboardShortcutsContext-CK1G6PDA.js.map +1 -0
  16. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-NIMALXNZ-DSgLF5FC.js +2 -0
  17. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-NIMALXNZ-DSgLF5FC.js.map +1 -0
  18. package/dist/frontend/dist/assets/ToolbarPanels-NRWKiMDt.js +2 -0
  19. package/dist/frontend/dist/assets/ToolbarPanels-NRWKiMDt.js.map +1 -0
  20. package/dist/frontend/dist/assets/{XMarkIcon-CddZGiiz.js → XMarkIcon-D1vU4NLc.js} +2 -2
  21. package/dist/frontend/dist/assets/{XMarkIcon-CddZGiiz.js.map → XMarkIcon-D1vU4NLc.js.map} +1 -1
  22. package/dist/frontend/dist/assets/{ar-U2EXWUMQ-Ds9Pt3_I.js → ar-U2EXWUMQ-DLzNfNaf.js} +1 -1
  23. package/dist/frontend/dist/assets/{ar-U2EXWUMQ-Ds9Pt3_I.js.map → ar-U2EXWUMQ-DLzNfNaf.js.map} +1 -1
  24. package/dist/frontend/dist/assets/{bn-DRJGV772-BUYrNEk8.js → bn-DRJGV772-DCr9yExq.js} +1 -1
  25. package/dist/frontend/dist/assets/{bn-DRJGV772-BUYrNEk8.js.map → bn-DRJGV772-DCr9yExq.js.map} +1 -1
  26. package/dist/frontend/dist/assets/client-BO0_JrNY.js +2 -0
  27. package/dist/frontend/dist/assets/{client-DvALJ3DL.js.map → client-BO0_JrNY.js.map} +1 -1
  28. package/dist/frontend/dist/assets/client-CAT3EReo.js +2 -0
  29. package/dist/frontend/dist/assets/{client-DxlEW_QJ.js.map → client-CAT3EReo.js.map} +1 -1
  30. package/dist/frontend/dist/assets/client-Dy6LkcEO.js +2 -0
  31. package/dist/frontend/dist/assets/client-Dy6LkcEO.js.map +1 -0
  32. package/dist/frontend/dist/assets/client-U9wADwaz.js +2 -0
  33. package/dist/frontend/dist/assets/client-U9wADwaz.js.map +1 -0
  34. package/dist/frontend/dist/assets/{cs-PTWDM23V-DfbMzFEw.js → cs-PTWDM23V-B-bd38Gd.js} +1 -1
  35. package/dist/frontend/dist/assets/{cs-PTWDM23V-DfbMzFEw.js.map → cs-PTWDM23V-B-bd38Gd.js.map} +1 -1
  36. package/dist/frontend/dist/assets/{da-KSNIKYSS-BMtq201F.js → da-KSNIKYSS-PYsa_WK_.js} +1 -1
  37. package/dist/frontend/dist/assets/{da-KSNIKYSS-BMtq201F.js.map → da-KSNIKYSS-PYsa_WK_.js.map} +1 -1
  38. package/dist/frontend/dist/assets/{de-F2XBEWFY-ChjoYEH0.js → de-F2XBEWFY-nteWWMw7.js} +1 -1
  39. package/dist/frontend/dist/assets/{de-F2XBEWFY-ChjoYEH0.js.map → de-F2XBEWFY-nteWWMw7.js.map} +1 -1
  40. package/dist/frontend/dist/assets/{el-DLD2GWAP-ClFunpNV.js → el-DLD2GWAP-BsnAib-u.js} +1 -1
  41. package/dist/frontend/dist/assets/{el-DLD2GWAP-ClFunpNV.js.map → el-DLD2GWAP-BsnAib-u.js.map} +1 -1
  42. package/dist/frontend/dist/assets/en-L45VK7BS-CYlxuSdI.js +1 -0
  43. package/dist/frontend/dist/assets/{es-WLPYWGB5-C53vYarX.js → es-WLPYWGB5-CJcYln9_.js} +1 -1
  44. package/dist/frontend/dist/assets/{es-WLPYWGB5-C53vYarX.js.map → es-WLPYWGB5-CJcYln9_.js.map} +1 -1
  45. package/dist/frontend/dist/assets/{fa-BAXHSDZG-DJia4XF_.js → fa-BAXHSDZG-CrevfoWS.js} +1 -1
  46. package/dist/frontend/dist/assets/{fa-BAXHSDZG-DJia4XF_.js.map → fa-BAXHSDZG-CrevfoWS.js.map} +1 -1
  47. package/dist/frontend/dist/assets/{fi-FCHSYVOT-D2etzjyC.js → fi-FCHSYVOT-CDPbzSNL.js} +1 -1
  48. package/dist/frontend/dist/assets/{fi-FCHSYVOT-D2etzjyC.js.map → fi-FCHSYVOT-CDPbzSNL.js.map} +1 -1
  49. package/dist/frontend/dist/assets/{fr-3UERBSL6-Bi8o9u26.js → fr-3UERBSL6-DQW-5XX3.js} +1 -1
  50. package/dist/frontend/dist/assets/{fr-3UERBSL6-Bi8o9u26.js.map → fr-3UERBSL6-DQW-5XX3.js.map} +1 -1
  51. package/dist/frontend/dist/assets/{he-F6F3FV2K-CwGkucCK.js → he-F6F3FV2K-Dx6fB_nt.js} +1 -1
  52. package/dist/frontend/dist/assets/{he-F6F3FV2K-CwGkucCK.js.map → he-F6F3FV2K-Dx6fB_nt.js.map} +1 -1
  53. package/dist/frontend/dist/assets/{hi-4BK6IK7Q-fsSpyO-Z.js → hi-4BK6IK7Q-DFKESnIA.js} +1 -1
  54. package/dist/frontend/dist/assets/{hi-4BK6IK7Q-fsSpyO-Z.js.map → hi-4BK6IK7Q-DFKESnIA.js.map} +1 -1
  55. package/dist/frontend/dist/assets/i18n-X0oNIUcF.js +2 -0
  56. package/dist/frontend/dist/assets/i18n-X0oNIUcF.js.map +1 -0
  57. package/dist/frontend/dist/assets/{id-7ECCWP3J-MhvUbYNG.js → id-7ECCWP3J-DW6nWlLy.js} +1 -1
  58. package/dist/frontend/dist/assets/{id-7ECCWP3J-MhvUbYNG.js.map → id-7ECCWP3J-DW6nWlLy.js.map} +1 -1
  59. package/dist/frontend/dist/assets/index-4ZdXX6QX.js +141 -0
  60. package/dist/frontend/dist/assets/index-4ZdXX6QX.js.map +1 -0
  61. package/dist/frontend/dist/assets/index-D8uACGGo.css +1 -0
  62. package/dist/frontend/dist/assets/{it-234Z6XK6-n-8MkFtz.js → it-234Z6XK6-Bk6UsHAr.js} +1 -1
  63. package/dist/frontend/dist/assets/{it-234Z6XK6-n-8MkFtz.js.map → it-234Z6XK6-Bk6UsHAr.js.map} +1 -1
  64. package/dist/frontend/dist/assets/{ja-PJWQI4OQ-CbrcVSYZ.js → ja-PJWQI4OQ-DriKTV93.js} +1 -1
  65. package/dist/frontend/dist/assets/{ja-PJWQI4OQ-CbrcVSYZ.js.map → ja-PJWQI4OQ-DriKTV93.js.map} +1 -1
  66. package/dist/frontend/dist/assets/{ko-APUEW2RS-CLubHAbf.js → ko-APUEW2RS-Dtb4rfsd.js} +1 -1
  67. package/dist/frontend/dist/assets/{ko-APUEW2RS-CLubHAbf.js.map → ko-APUEW2RS-Dtb4rfsd.js.map} +1 -1
  68. package/dist/frontend/dist/assets/layout-CULnxUJ3.js +2 -0
  69. package/dist/frontend/dist/assets/{layout-e6QyrD0Y.js.map → layout-CULnxUJ3.js.map} +1 -1
  70. package/dist/frontend/dist/assets/layout-CvFPeLpC.js +2 -0
  71. package/dist/frontend/dist/assets/layout-CvFPeLpC.js.map +1 -0
  72. package/dist/frontend/dist/assets/layout-Dc6P9OQi.js +2 -0
  73. package/dist/frontend/dist/assets/{layout-BhnmJA6O.js.map → layout-Dc6P9OQi.js.map} +1 -1
  74. package/dist/frontend/dist/assets/layout-jEsUSQuF.js +2 -0
  75. package/dist/frontend/dist/assets/layout-jEsUSQuF.js.map +1 -0
  76. package/dist/frontend/dist/assets/{ms-PJBZWZWD-Bu45eJYe.js → ms-PJBZWZWD-DO0k7uWp.js} +1 -1
  77. package/dist/frontend/dist/assets/{ms-PJBZWZWD-Bu45eJYe.js.map → ms-PJBZWZWD-DO0k7uWp.js.map} +1 -1
  78. package/dist/frontend/dist/assets/{nl-L4C3ZBCU-bLU3oN_N.js → nl-L4C3ZBCU-CJP-Eqv_.js} +1 -1
  79. package/dist/frontend/dist/assets/{nl-L4C3ZBCU-bLU3oN_N.js.map → nl-L4C3ZBCU-CJP-Eqv_.js.map} +1 -1
  80. package/dist/frontend/dist/assets/{no-QE5N5KNG-BCG75Nm1.js → no-QE5N5KNG-bwKXK3U3.js} +1 -1
  81. package/dist/frontend/dist/assets/{no-QE5N5KNG-BCG75Nm1.js.map → no-QE5N5KNG-bwKXK3U3.js.map} +1 -1
  82. package/dist/frontend/dist/assets/not-found-s74NFmqb.js +2 -0
  83. package/dist/frontend/dist/assets/not-found-s74NFmqb.js.map +1 -0
  84. package/dist/frontend/dist/assets/page-6nYrYD6e.js +2 -0
  85. package/dist/frontend/dist/assets/page-6nYrYD6e.js.map +1 -0
  86. package/dist/frontend/dist/assets/page-B7FPl-yZ.js +2 -0
  87. package/dist/frontend/dist/assets/{page-C5gTlI4M.js.map → page-B7FPl-yZ.js.map} +1 -1
  88. package/dist/frontend/dist/assets/page-BDMoqEKR.js +2 -0
  89. package/dist/frontend/dist/assets/page-BDMoqEKR.js.map +1 -0
  90. package/dist/frontend/dist/assets/page-BFFn9Is-.js +2 -0
  91. package/dist/frontend/dist/assets/page-BFFn9Is-.js.map +1 -0
  92. package/dist/frontend/dist/assets/page-BXLfU1Yt.js +2 -0
  93. package/dist/frontend/dist/assets/{page-D6oe9LkY.js.map → page-BXLfU1Yt.js.map} +1 -1
  94. package/dist/frontend/dist/assets/{page-A6_MoyUb2.js → page-BwSljb_b2.js} +2 -2
  95. package/dist/frontend/dist/assets/page-BwSljb_b2.js.map +1 -0
  96. package/dist/frontend/dist/assets/page-BxKo1QmK.js +2 -0
  97. package/dist/frontend/dist/assets/page-BxKo1QmK.js.map +1 -0
  98. package/dist/frontend/dist/assets/page-ByC3SzfF.js +2 -0
  99. package/dist/frontend/dist/assets/{page-CXhfUrZM.js.map → page-ByC3SzfF.js.map} +1 -1
  100. package/dist/frontend/dist/assets/{page-CXVPWK3i.js → page-CIqeAC82.js} +2 -2
  101. package/dist/frontend/dist/assets/page-CIqeAC82.js.map +1 -0
  102. package/dist/frontend/dist/assets/page-CQJ6mG0Q.js +2 -0
  103. package/dist/frontend/dist/assets/{page-DVCVvH_S.js.map → page-CQJ6mG0Q.js.map} +1 -1
  104. package/dist/frontend/dist/assets/page-CwwGdzWc.js +8 -0
  105. package/dist/frontend/dist/assets/page-CwwGdzWc.js.map +1 -0
  106. package/dist/frontend/dist/assets/page-D2bs8Qye.js +2 -0
  107. package/dist/frontend/dist/assets/{page-CkHE2rPM.js.map → page-D2bs8Qye.js.map} +1 -1
  108. package/dist/frontend/dist/assets/page-DEnKQojs.js +2 -0
  109. package/dist/frontend/dist/assets/{page-D1veR3Kp.js.map → page-DEnKQojs.js.map} +1 -1
  110. package/dist/frontend/dist/assets/page-DHe0RTHk.js +2 -0
  111. package/dist/frontend/dist/assets/{page-BrSlkHj9.js.map → page-DHe0RTHk.js.map} +1 -1
  112. package/dist/frontend/dist/assets/page-DIlYsvOT.js +2 -0
  113. package/dist/frontend/dist/assets/{page-BOhOKDMk.js.map → page-DIlYsvOT.js.map} +1 -1
  114. package/dist/frontend/dist/assets/page-DrOU7JkL.js +2 -0
  115. package/dist/frontend/dist/assets/{page-DbwiMF1N.js.map → page-DrOU7JkL.js.map} +1 -1
  116. package/dist/frontend/dist/assets/page-Vfo8w1RS.js +2 -0
  117. package/dist/frontend/dist/assets/{page-7cCGgkUd.js.map → page-Vfo8w1RS.js.map} +1 -1
  118. package/dist/frontend/dist/assets/page-dVggAE3y.js +2 -0
  119. package/dist/frontend/dist/assets/{page-8sXDEos5.js.map → page-dVggAE3y.js.map} +1 -1
  120. package/dist/frontend/dist/assets/{pl-5Q2D23PD-DgP2517z.js → pl-5Q2D23PD-zmHOkhlb.js} +1 -1
  121. package/dist/frontend/dist/assets/{pl-5Q2D23PD-DgP2517z.js.map → pl-5Q2D23PD-zmHOkhlb.js.map} +1 -1
  122. package/dist/frontend/dist/assets/{pt-AIGUOIOC-CN21pR38.js → pt-AIGUOIOC-q0F8hEMQ.js} +1 -1
  123. package/dist/frontend/dist/assets/{pt-AIGUOIOC-CN21pR38.js.map → pt-AIGUOIOC-q0F8hEMQ.js.map} +1 -1
  124. package/dist/frontend/dist/assets/{ro-T56CSHTY-mCdsn9QL.js → ro-T56CSHTY-B5UVxb8p.js} +1 -1
  125. package/dist/frontend/dist/assets/{ro-T56CSHTY-mCdsn9QL.js.map → ro-T56CSHTY-B5UVxb8p.js.map} +1 -1
  126. package/dist/frontend/dist/assets/{routing-DW1ehi64.js → routing-B8sg1WUP.js} +2 -2
  127. package/dist/frontend/dist/assets/{routing-DW1ehi64.js.map → routing-B8sg1WUP.js.map} +1 -1
  128. package/dist/frontend/dist/assets/routing-CfZBmnyE.js +2 -0
  129. package/dist/frontend/dist/assets/{routing-Bcj1FhkC.js.map → routing-CfZBmnyE.js.map} +1 -1
  130. package/dist/frontend/dist/assets/{sv-L4TJQ2UH-Cj1jmTXz.js → sv-L4TJQ2UH-BP84WWpf.js} +1 -1
  131. package/dist/frontend/dist/assets/{sv-L4TJQ2UH-Cj1jmTXz.js.map → sv-L4TJQ2UH-BP84WWpf.js.map} +1 -1
  132. package/dist/frontend/dist/assets/{th-6O7Y6O2Q-Db0HgJLY.js → th-6O7Y6O2Q-DkoryWDb.js} +1 -1
  133. package/dist/frontend/dist/assets/{th-6O7Y6O2Q-Db0HgJLY.js.map → th-6O7Y6O2Q-DkoryWDb.js.map} +1 -1
  134. package/dist/frontend/dist/assets/{tr-D4CQCSNO-B0u3f4nL.js → tr-D4CQCSNO-DT8ORhAV.js} +1 -1
  135. package/dist/frontend/dist/assets/{tr-D4CQCSNO-B0u3f4nL.js.map → tr-D4CQCSNO-DT8ORhAV.js.map} +1 -1
  136. package/dist/frontend/dist/assets/{uk-2HMQG6ND-Dx2FfvV4.js → uk-2HMQG6ND-ItxxukFO.js} +1 -1
  137. package/dist/frontend/dist/assets/{uk-2HMQG6ND-Dx2FfvV4.js.map → uk-2HMQG6ND-ItxxukFO.js.map} +1 -1
  138. package/dist/frontend/dist/assets/{vendor-0HjOURbh.js → vendor-Bd-5Ya9C.js} +5 -5
  139. package/dist/frontend/dist/assets/{vendor-0HjOURbh.js.map → vendor-Bd-5Ya9C.js.map} +1 -1
  140. package/dist/frontend/dist/assets/{vi-XVJ4RUEJ-CeoZ1h3m.js → vi-XVJ4RUEJ-D1cjj8yP.js} +1 -1
  141. package/dist/frontend/dist/assets/{vi-XVJ4RUEJ-CeoZ1h3m.js.map → vi-XVJ4RUEJ-D1cjj8yP.js.map} +1 -1
  142. package/dist/frontend/dist/assets/web-BxhHxuus.js +2 -0
  143. package/dist/frontend/dist/assets/web-BxhHxuus.js.map +1 -0
  144. package/dist/frontend/dist/assets/{zh-K2KDPGHK-BriluvPe.js → zh-K2KDPGHK-j1v7CkF4.js} +1 -1
  145. package/dist/frontend/dist/assets/{zh-K2KDPGHK-BriluvPe.js.map → zh-K2KDPGHK-j1v7CkF4.js.map} +1 -1
  146. package/dist/frontend/dist/index.html +5 -7
  147. package/dist/frontend/package.json +1 -1
  148. package/package.json +34 -33
  149. package/dist/frontend/dist/assets/CookiePreferences-CMgprW9V.js +0 -2
  150. package/dist/frontend/dist/assets/CookiePreferences-CMgprW9V.js.map +0 -1
  151. package/dist/frontend/dist/assets/KeyboardShortcutsContext-BRLeqQUj.js +0 -2
  152. package/dist/frontend/dist/assets/KeyboardShortcutsContext-BRLeqQUj.js.map +0 -1
  153. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CN3C3S55-DsCya3j0.js +0 -2
  154. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CN3C3S55-DsCya3j0.js.map +0 -1
  155. package/dist/frontend/dist/assets/ToolbarPanels-CRGQDX-L.js +0 -2
  156. package/dist/frontend/dist/assets/ToolbarPanels-CRGQDX-L.js.map +0 -1
  157. package/dist/frontend/dist/assets/chunk-GERSK2DY-D2Q8aVeK.js +0 -2
  158. package/dist/frontend/dist/assets/chunk-GERSK2DY-D2Q8aVeK.js.map +0 -1
  159. package/dist/frontend/dist/assets/chunk-K6BJDL2I-CcwOtHVB.js +0 -2
  160. package/dist/frontend/dist/assets/chunk-K6BJDL2I-CcwOtHVB.js.map +0 -1
  161. package/dist/frontend/dist/assets/client-DkMJxPA7.js +0 -2
  162. package/dist/frontend/dist/assets/client-DkMJxPA7.js.map +0 -1
  163. package/dist/frontend/dist/assets/client-DvALJ3DL.js +0 -2
  164. package/dist/frontend/dist/assets/client-DxlEW_QJ.js +0 -2
  165. package/dist/frontend/dist/assets/client-uEoQ8iJO.js +0 -2
  166. package/dist/frontend/dist/assets/client-uEoQ8iJO.js.map +0 -1
  167. package/dist/frontend/dist/assets/en-L45VK7BS-C9ArL-E1.js +0 -1
  168. package/dist/frontend/dist/assets/i18n-B53Yefbh.js +0 -2
  169. package/dist/frontend/dist/assets/i18n-B53Yefbh.js.map +0 -1
  170. package/dist/frontend/dist/assets/index-95t-6XJg.css +0 -1
  171. package/dist/frontend/dist/assets/index-DjtRDlfn.js +0 -141
  172. package/dist/frontend/dist/assets/index-DjtRDlfn.js.map +0 -1
  173. package/dist/frontend/dist/assets/layout-BhnmJA6O.js +0 -2
  174. package/dist/frontend/dist/assets/layout-DolG9tOf.js +0 -2
  175. package/dist/frontend/dist/assets/layout-DolG9tOf.js.map +0 -1
  176. package/dist/frontend/dist/assets/layout-e6QyrD0Y.js +0 -2
  177. package/dist/frontend/dist/assets/layout-xDEqzpvE.js +0 -2
  178. package/dist/frontend/dist/assets/layout-xDEqzpvE.js.map +0 -1
  179. package/dist/frontend/dist/assets/not-found-4iuCkpA7.js +0 -2
  180. package/dist/frontend/dist/assets/not-found-4iuCkpA7.js.map +0 -1
  181. package/dist/frontend/dist/assets/page-6YupxiP8.js +0 -8
  182. package/dist/frontend/dist/assets/page-6YupxiP8.js.map +0 -1
  183. package/dist/frontend/dist/assets/page-7cCGgkUd.js +0 -2
  184. package/dist/frontend/dist/assets/page-8sXDEos5.js +0 -2
  185. package/dist/frontend/dist/assets/page-A6_MoyUb2.js.map +0 -1
  186. package/dist/frontend/dist/assets/page-B9EYfbrY.js +0 -2
  187. package/dist/frontend/dist/assets/page-B9EYfbrY.js.map +0 -1
  188. package/dist/frontend/dist/assets/page-BOhOKDMk.js +0 -2
  189. package/dist/frontend/dist/assets/page-BioSV21A.js +0 -2
  190. package/dist/frontend/dist/assets/page-BioSV21A.js.map +0 -1
  191. package/dist/frontend/dist/assets/page-Bl8sZu8k.js +0 -2
  192. package/dist/frontend/dist/assets/page-Bl8sZu8k.js.map +0 -1
  193. package/dist/frontend/dist/assets/page-BrSlkHj9.js +0 -2
  194. package/dist/frontend/dist/assets/page-C5gTlI4M.js +0 -2
  195. package/dist/frontend/dist/assets/page-CXVPWK3i.js.map +0 -1
  196. package/dist/frontend/dist/assets/page-CXhfUrZM.js +0 -2
  197. package/dist/frontend/dist/assets/page-CkHE2rPM.js +0 -2
  198. package/dist/frontend/dist/assets/page-D0bYoQZI.js +0 -2
  199. package/dist/frontend/dist/assets/page-D0bYoQZI.js.map +0 -1
  200. package/dist/frontend/dist/assets/page-D1veR3Kp.js +0 -2
  201. package/dist/frontend/dist/assets/page-D6oe9LkY.js +0 -2
  202. package/dist/frontend/dist/assets/page-DVCVvH_S.js +0 -2
  203. package/dist/frontend/dist/assets/page-DbwiMF1N.js +0 -2
  204. package/dist/frontend/dist/assets/routing-Bcj1FhkC.js +0 -2
  205. package/dist/frontend/dist/assets/web-Dr6mdA1A.js +0 -2
  206. package/dist/frontend/dist/assets/web-Dr6mdA1A.js.map +0 -1
  207. /package/dist/frontend/dist/assets/{rolldown-runtime-jpDsebLB.js → rolldown-runtime-Bh1tDfsg.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolbarPanels-CRGQDX-L.js","names":["ForwardRef","ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ArrowRightStartOnRectangleIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/CheckIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/PlusIcon.js","../../src/components/UserPanel.tsx","../../src/components/KnowledgeBasePanel.tsx","../../src/components/toolbar/ToolbarPanels.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ArrowRightStartOnRectangleIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ArrowRightStartOnRectangleIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction CheckIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m4.5 12.75 6 6 9-13.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(CheckIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction PlusIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 4.5v15m7.5-7.5h-15\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(PlusIcon);\nexport default ForwardRef;","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n sanitizeImageURL,\n useSessionExpiry,\n formatTime,\n useSemiont,\n useObservable,\n createSessionStateUnit,\n useStateUnit,\n} from '@semiont/react-ui';\nimport { useRouter } from '@/i18n/routing';\n\n// Fallback avatar when image fails to load or is invalid\nconst FALLBACK_AVATAR = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iMTYiIGZpbGw9IiM2QjcyODAiLz4KPHBhdGggZD0iTTE2IDE2QzE4LjIwOTEgMTYgMjAgMTQuMjA5MSAyMCAxMkMyMCA5Ljc5MDg2IDE4LjIwOTEgOCAxNiA4QzEzLjc5MDkgOCAxMiA5Ljc5MDg2IDEyIDEyQzEyIDE0LjIwOTEgMTMuNzkwOSAxNiAxNiAxNloiIGZpbGw9IiNFNUU3RUIiLz4KPHBhdGggZD0iTTI0IDI1QzI0IDIxLjY4NjMgMjAuNDE4MyAxOSAxNiAxOUMxMS41ODE3IDE5IDggMjEuNjg2MyA4IDI1IiBzdHJva2U9IiNFNUU3RUIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPg==';\n\nexport function UserPanel() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`UserPanel.${k}`, p as any) as string;\n const semiont = useSemiont();\n const session = useObservable(semiont.activeSession$);\n const user = useObservable(session?.user$) ?? null;\n const activeKnowledgeBase = session?.kb ?? null;\n const displayName = user?.name ?? user?.email?.split('@')[0] ?? 'User';\n const avatarUrl = user?.image ?? null;\n const userDomain = user?.domain || user?.email?.split('@')[1];\n const isAdmin = user?.isAdmin ?? false;\n const isModerator = user?.isModerator ?? false;\n const apiClient = session?.client;\n const sessionStateUnit = useStateUnit(() => createSessionStateUnit(apiClient!));\n const router = useRouter();\n const [imageError, setImageError] = useState(false);\n const { timeRemaining } = useSessionExpiry();\n const sessionTimeFormatted = formatTime(timeRemaining) ?? 'Unknown';\n\n // Sanitize and validate the profile image URL\n const profileImageUrl = (() => {\n if (!avatarUrl || imageError) {\n return FALLBACK_AVATAR;\n }\n\n const sanitized = sanitizeImageURL(avatarUrl);\n if (!sanitized) {\n console.warn('Invalid profile image URL detected, using fallback');\n return FALLBACK_AVATAR;\n }\n\n return sanitized;\n })();\n\n const handleSignOut = async () => {\n await sessionStateUnit.logout();\n if (activeKnowledgeBase) {\n await semiont.signOut(activeKnowledgeBase.id);\n }\n router.push('/');\n };\n\n return (\n <div className=\"semiont-user-panel\">\n <h3 className=\"semiont-user-panel__title\">\n {t('account')}\n </h3>\n\n {activeKnowledgeBase && (\n <div style={{ padding: '0 0.75rem 0.5rem', fontSize: '0.8rem', color: 'var(--semiont-color-neutral-400)' }}>\n {activeKnowledgeBase.label}\n </div>\n )}\n\n <div className=\"space-y-4\">\n {/* User Profile */}\n <div className=\"flex items-center gap-3\">\n <img\n src={profileImageUrl}\n alt={t('profileAlt', { name: displayName || t('user') })}\n width={48}\n height={48}\n className=\"w-12 h-12 rounded-full object-cover\"\n onError={() => setImageError(true)}\n />\n <div className=\"flex-1 min-w-0\">\n <div className=\"semiont-panel-text\">\n {displayName || t('user')}\n </div>\n {userDomain && (\n <div className=\"semiont-panel-text-secondary\">\n @{userDomain}\n </div>\n )}\n </div>\n </div>\n\n {/* Session Info */}\n <div>\n <label className=\"semiont-panel-label\">\n {t('session')}\n </label>\n <div className=\"semiont-session-box\">\n <div className=\"semiont-panel-hint\">\n {t('expiresIn', { time: sessionTimeFormatted })}\n </div>\n </div>\n </div>\n\n {/* Privileges */}\n {(isAdmin || isModerator) && (\n <div>\n <label className=\"semiont-panel-label\">\n {t('privileges')}\n </label>\n <div className=\"space-y-1\">\n {isAdmin && (\n <div className=\"semiont-privilege-badge semiont-privilege-badge--admin\">\n <span className=\"semiont-privilege-text\">\n {t('administrator')}\n </span>\n </div>\n )}\n {isModerator && (\n <div className=\"semiont-privilege-badge semiont-privilege-badge--moderator\">\n <span className=\"semiont-privilege-text\">\n {t('moderator')}\n </span>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Sign Out Button */}\n <div className=\"semiont-panel-divider\">\n <button\n onClick={handleSignOut}\n className=\"semiont-signout-button\"\n >\n {t('signOut')}\n </button>\n </div>\n </div>\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CheckIcon, PlusIcon, ArrowRightStartOnRectangleIcon, XMarkIcon, TrashIcon } from '@heroicons/react/24/outline';\nimport { SemiontClient, defaultProtocol, isValidHostname, type KnowledgeBase, type KbSessionStatus } from '@semiont/sdk';\nimport { HttpContentTransport, HttpTransport } from '@semiont/api-client';\nimport { baseUrl } from '@semiont/core';\nimport {\n useSemiont,\n useObservable,\n} from '@semiont/react-ui';\n\ntype T = (key: string, params?: Record<string, unknown>) => string;\n\nconst STATUS_COLORS: Record<KbSessionStatus, string> = {\n authenticated: 'var(--semiont-color-success-500, #22c55e)',\n expired: 'var(--semiont-color-warning-500, #eab308)',\n 'signed-out': 'var(--semiont-color-neutral-400, #9ca3af)',\n unreachable: 'var(--semiont-color-error-500, #ef4444)',\n};\n\nconst STATUS_KEYS: Record<KbSessionStatus, string> = {\n authenticated: 'statusConnected',\n expired: 'statusExpired',\n 'signed-out': 'statusSignedOut',\n unreachable: 'statusUnreachable',\n};\n\nfunction StatusDot({ status, t }: { status: KbSessionStatus; t: T }) {\n return (\n <span\n title={t(STATUS_KEYS[status])}\n style={{\n width: '0.5rem',\n height: '0.5rem',\n borderRadius: '50%',\n backgroundColor: STATUS_COLORS[status],\n flexShrink: 0,\n }}\n />\n );\n}\n\nfunction LoginForm({ t, onSubmit, onCancel, error, isSubmitting, autoFocus, pulsing, initialHost = 'localhost', initialPort = 4000, initialEmail = 'admin@example.com' }: {\n t: T;\n onSubmit: (host: string, port: number, protocol: 'http' | 'https', email: string, password: string) => Promise<void>;\n onCancel: () => void;\n error: string | null;\n isSubmitting: boolean;\n autoFocus?: boolean;\n pulsing?: boolean;\n initialHost?: string;\n initialPort?: number;\n initialEmail?: string;\n}) {\n const [host, setHost] = useState(initialHost);\n const [port, setPort] = useState(String(initialPort));\n const [protocol, setProtocol] = useState<'http' | 'https'>(defaultProtocol(initialHost));\n const [email, setEmail] = useState(initialEmail);\n const [password, setPassword] = useState('');\n\n const handleHostChange = (newHost: string) => {\n setHost(newHost);\n setProtocol(defaultProtocol(newHost));\n };\n\n return (\n <div\n className={pulsing ? 'semiont-panel__login-form--pulsing' : ''}\n style={{\n margin: '0.5rem',\n padding: '0.75rem',\n border: '1px solid var(--semiont-color-neutral-200, #e5e7eb)',\n borderRadius: 'var(--semiont-panel-border-radius, 0.5rem)',\n background: 'var(--semiont-bg-secondary, transparent)',\n }}\n >\n <h3 style={{ fontSize: '0.8rem', fontWeight: 600, marginBottom: '0.5rem' }}>{t('connectTitle')}</h3>\n <form onSubmit={(e) => { e.preventDefault(); if (isValidHostname(host)) onSubmit(host, parseInt(port, 10) || 4000, protocol, email, password); }} style={{ display: 'flex', flexDirection: 'column', gap: '0.5rem' }}>\n <select value={protocol} onChange={e => setProtocol(e.target.value as 'http' | 'https')} className=\"semiont-input\">\n <option value=\"http\">HTTP</option>\n <option value=\"https\">HTTPS</option>\n </select>\n <input type=\"text\" value={host} onChange={e => handleHostChange(e.target.value)} placeholder=\"Host\" className=\"semiont-input\" autoFocus={autoFocus} />\n <input type=\"number\" value={port} onChange={e => setPort(e.target.value)} placeholder=\"Port\" className=\"semiont-input\" />\n {host && !isValidHostname(host) && (\n <div style={{ color: 'var(--semiont-color-error-500, #ef4444)', fontSize: '0.75rem' }}>{t('invalidHost')}</div>\n )}\n <input type=\"email\" value={email} onChange={e => setEmail(e.target.value)} placeholder=\"Email\" className=\"semiont-input\" />\n <input type=\"password\" value={password} onChange={e => setPassword(e.target.value)} placeholder=\"Password\" className=\"semiont-input\" />\n {error && <div style={{ color: 'var(--semiont-color-error-500, #ef4444)', fontSize: '0.75rem' }}>{error}</div>}\n <div style={{ display: 'flex', gap: '0.5rem' }}>\n <button type=\"submit\" className=\"semiont-button semiont-button--primary\" style={{ flex: 1 }} disabled={isSubmitting || !isValidHostname(host)}>\n {isSubmitting ? t('connecting') : t('connect')}\n </button>\n <button type=\"button\" className=\"semiont-button\" onClick={onCancel}>\n <XMarkIcon style={{ width: '1rem', height: '1rem' }} />\n </button>\n </div>\n </form>\n </div>\n );\n}\n\nfunction ReauthForm({ t, kb, onSubmit, onCancel, error, isSubmitting }: {\n t: T;\n kb: KnowledgeBase;\n onSubmit: (password: string) => Promise<void>;\n onCancel: () => void;\n error: string | null;\n isSubmitting: boolean;\n}) {\n const [password, setPassword] = useState('');\n\n return (\n <form onSubmit={(e) => { e.preventDefault(); onSubmit(password); }} style={{ padding: '0.5rem 0.75rem', display: 'flex', flexDirection: 'column', gap: '0.375rem' }}>\n <div style={{ fontSize: '0.75rem', color: 'var(--semiont-color-neutral-400)' }}>{kb.email}</div>\n <input type=\"password\" value={password} onChange={e => setPassword(e.target.value)} placeholder=\"Password\" className=\"semiont-input\" style={{ fontSize: '0.8rem' }} autoFocus />\n {error && <div style={{ color: 'var(--semiont-color-error-500, #ef4444)', fontSize: '0.75rem' }}>{error}</div>}\n <div style={{ display: 'flex', gap: '0.375rem' }}>\n <button type=\"submit\" className=\"semiont-button semiont-button--primary\" style={{ flex: 1, fontSize: '0.8rem' }} disabled={isSubmitting}>\n {isSubmitting ? t('signingIn') : t('signIn')}\n </button>\n <button type=\"button\" className=\"semiont-button\" onClick={onCancel} style={{ fontSize: '0.8rem' }}>\n {t('cancel')}\n </button>\n </div>\n </form>\n );\n}\n\nasync function authenticateWithBackend(host: string, port: number, protocol: 'http' | 'https', emailStr: string, password: string): Promise<{ token: string; refreshToken: string; label: string; gitBranch?: string }> {\n const origin = `${protocol}://${host}:${port}`;\n const transport = new HttpTransport({ baseUrl: baseUrl(origin) });\n const client = new SemiontClient(transport, new HttpContentTransport(transport), transport);\n\n const authResult = await client.auth!.password(emailStr, password);\n const token = (authResult as any).token ?? (authResult as any).accessToken;\n const refreshToken = (authResult as any).refreshToken;\n if (!token) throw new Error('No access token received');\n if (!refreshToken) throw new Error('No refresh token received');\n\n let label = `${host}:${port}`;\n let gitBranch: string | undefined;\n try {\n const status = await client.admin!.status();\n if ((status as any).projectName) label = (status as any).projectName;\n if ((status as any).gitBranch) gitBranch = (status as any).gitBranch;\n } catch { /* use default label */ }\n\n return { token, refreshToken, label, ...(gitBranch ? { gitBranch } : {}) };\n}\n\nexport function KnowledgeBasePanel() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`KnowledgeBasePanel.${k}`, p as any) as string;\n const semiont = useSemiont();\n const knowledgeBases = useObservable(semiont.kbs$) ?? [];\n const activeKnowledgeBase = useObservable(semiont.activeSession$)?.kb ?? null;\n const setActiveKnowledgeBase = (id: string) => { void semiont.setActiveKb(id); };\n const addKnowledgeBase = semiont.addKb.bind(semiont);\n const removeKnowledgeBase = semiont.removeKb.bind(semiont);\n const updateKnowledgeBase = semiont.updateKb.bind(semiont);\n const signIn = (id: string, access: string, refresh: string) => { void semiont.signIn(id, access, refresh); };\n const signOut = (id: string) => { void semiont.signOut(id); };\n const [showAddForm, setShowAddForm] = useState(false);\n const [addError, setAddError] = useState<string | null>(null);\n const [addSubmitting, setAddSubmitting] = useState(false);\n const [reauthKbId, setReauthKbId] = useState<string | null>(null);\n const [reauthError, setReauthError] = useState<string | null>(null);\n const [reauthSubmitting, setReauthSubmitting] = useState(false);\n const [confirmRemoveKbId, setConfirmRemoveKbId] = useState<string | null>(null);\n const [, setTick] = useState(0);\n\n useEffect(() => {\n if (knowledgeBases.length === 0) setShowAddForm(true);\n }, [knowledgeBases.length]);\n\n useEffect(() => {\n const interval = setInterval(() => setTick(t => t + 1), 30_000);\n return () => clearInterval(interval);\n }, []);\n\n const openAddForm = () => {\n setShowAddForm(true);\n setReauthKbId(null);\n setAddError(null);\n };\n\n const handleAdd = async (host: string, port: number, protocol: 'http' | 'https', email: string, password: string) => {\n setAddError(null);\n setAddSubmitting(true);\n const existing = knowledgeBases.find(\n kb => kb.endpoint.kind === 'http' && kb.endpoint.host === host && kb.endpoint.port === port,\n );\n if (existing) {\n try {\n const { token, refreshToken, gitBranch } = await authenticateWithBackend(host, port, protocol, email, password);\n updateKnowledgeBase(existing.id, { ...(gitBranch ? { gitBranch } : {}) });\n signIn(existing.id, token, refreshToken);\n setShowAddForm(false);\n } catch (err) {\n setAddError(err instanceof Error ? err.message : String(err));\n } finally {\n setAddSubmitting(false);\n }\n return;\n }\n try {\n const { token, refreshToken, label, gitBranch } = await authenticateWithBackend(host, port, protocol, email, password);\n addKnowledgeBase(\n {\n label,\n email,\n endpoint: { kind: 'http', host, port, protocol },\n ...(gitBranch ? { gitBranch } : {}),\n },\n token,\n refreshToken,\n );\n setShowAddForm(false);\n } catch (err) {\n setAddError(err instanceof Error ? err.message : String(err));\n } finally {\n setAddSubmitting(false);\n }\n };\n\n const handleReauth = async (kbId: string, password: string) => {\n const kb = knowledgeBases.find(k => k.id === kbId);\n if (!kb) return;\n setReauthError(null);\n setReauthSubmitting(true);\n if (kb.endpoint.kind !== 'http') {\n setReauthError(`Re-auth is HTTP-only; KB endpoint kind \"${kb.endpoint.kind}\" is not supported here.`);\n setReauthSubmitting(false);\n return;\n }\n try {\n const { token, refreshToken, label, gitBranch } = await authenticateWithBackend(\n kb.endpoint.host, kb.endpoint.port, kb.endpoint.protocol, kb.email, password,\n );\n updateKnowledgeBase(kbId, { label, ...(gitBranch ? { gitBranch } : {}) });\n signIn(kbId, token, refreshToken);\n setReauthKbId(null);\n } catch (err) {\n setReauthError(err instanceof Error ? err.message : String(err));\n } finally {\n setReauthSubmitting(false);\n }\n };\n\n const handleKbClick = (kb: KnowledgeBase) => {\n const status = semiont.getKbSessionStatus(kb.id);\n if (status === 'authenticated') {\n setActiveKnowledgeBase(kb.id);\n } else {\n setReauthKbId(kb.id);\n setShowAddForm(false);\n setReauthError(null);\n }\n };\n\n return (\n <div className=\"semiont-panel\">\n <div className=\"semiont-panel-header\">\n <h2 className=\"semiont-panel-header__title\">\n <span className=\"semiont-panel-header__text\">{t('title')}</span>\n <span className=\"semiont-panel-header__count\">({knowledgeBases.length})</span>\n </h2>\n </div>\n <div className=\"semiont-panel__content\">\n <div className=\"semiont-panel__list\">\n {knowledgeBases.map((kb: KnowledgeBase) => {\n const status = semiont.getKbSessionStatus(kb.id);\n const isActive = kb.id === activeKnowledgeBase?.id;\n const isReauthing = reauthKbId === kb.id;\n\n return (\n <div key={kb.id}>\n <div\n className={`semiont-panel-item semiont-panel-item--clickable${isActive ? ' semiont-panel-item--selected' : ''}`}\n style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', cursor: 'pointer', padding: '0.5rem 0.75rem' }}\n onClick={() => handleKbClick(kb)}\n >\n <div style={{ display: 'flex', alignItems: 'center', gap: '0.5rem' }}>\n <StatusDot status={status} t={t} />\n <span className=\"semiont-panel-text\" style={{ flex: 1, fontWeight: 500 }}>{kb.label}</span>\n {isActive && (\n <CheckIcon style={{ width: '1rem', height: '1rem', color: 'var(--semiont-color-primary-500)', flexShrink: 0 }} />\n )}\n {status === 'authenticated' && (\n <button\n onClick={(e) => { e.stopPropagation(); signOut(kb.id); }}\n title={t('signOut')}\n style={{ background: 'none', border: 'none', cursor: 'pointer', padding: '0.125rem', color: 'var(--semiont-color-neutral-400)' }}\n >\n <ArrowRightStartOnRectangleIcon style={{ width: '0.875rem', height: '0.875rem' }} />\n </button>\n )}\n <button\n onClick={(e) => { e.stopPropagation(); setConfirmRemoveKbId(kb.id); }}\n title={t('remove')}\n style={{ background: 'none', border: 'none', cursor: 'pointer', padding: '0.125rem', color: 'var(--semiont-color-neutral-400)' }}\n >\n <TrashIcon style={{ width: '0.875rem', height: '0.875rem' }} />\n </button>\n </div>\n <span className=\"semiont-panel-text-secondary\" style={{ fontSize: '0.7rem', paddingLeft: '1rem' }}>\n {kb.endpoint.kind === 'http'\n ? `${kb.endpoint.host}:${kb.endpoint.port}`\n : `local:${kb.endpoint.kbId}`}\n {kb.gitBranch ? ` · ${kb.gitBranch}` : ''}\n </span>\n </div>\n {confirmRemoveKbId === kb.id && (\n <div style={{\n padding: '0.5rem 0.75rem',\n fontSize: '0.8rem',\n display: 'flex',\n alignItems: 'center',\n gap: '0.5rem',\n background: 'var(--semiont-bg-secondary, #f9fafb)',\n borderBottom: '1px solid var(--semiont-color-neutral-200, #e5e7eb)',\n }}>\n <span style={{ flex: 1, color: 'var(--semiont-color-neutral-500)' }}>{t('removeConfirm', { label: kb.label })}</span>\n <button\n onClick={() => { removeKnowledgeBase(kb.id); setConfirmRemoveKbId(null); }}\n className=\"semiont-button\"\n style={{ fontSize: '0.75rem', padding: '0.2rem 0.5rem', color: 'var(--semiont-color-error-500, #ef4444)' }}\n >\n {t('remove')}\n </button>\n <button\n onClick={() => setConfirmRemoveKbId(null)}\n className=\"semiont-button\"\n style={{ fontSize: '0.75rem', padding: '0.2rem 0.5rem' }}\n >\n {t('cancel')}\n </button>\n </div>\n )}\n {isReauthing && (\n <ReauthForm\n t={t}\n kb={kb}\n onSubmit={(password) => handleReauth(kb.id, password)}\n onCancel={() => setReauthKbId(null)}\n error={reauthError}\n isSubmitting={reauthSubmitting}\n />\n )}\n </div>\n );\n })}\n </div>\n\n {showAddForm && (\n <LoginForm\n t={t}\n onSubmit={handleAdd}\n onCancel={() => setShowAddForm(false)}\n error={addError}\n isSubmitting={addSubmitting}\n autoFocus={knowledgeBases.length === 0}\n pulsing={knowledgeBases.length === 0}\n />\n )}\n </div>\n\n {!showAddForm && (\n <div className=\"semiont-panel-footer\">\n <button\n onClick={openAddForm}\n className=\"semiont-panel-item semiont-panel-item--clickable\"\n style={{ width: '100%', display: 'flex', alignItems: 'center', gap: '0.5rem', color: 'var(--semiont-color-primary-600)' }}\n >\n <PlusIcon style={{ width: '1rem', height: '1rem', flexShrink: 0 }} />\n <span className=\"semiont-panel-text\" style={{ color: 'inherit' }}>{t('addKnowledgeBase')}</span>\n </button>\n </div>\n )}\n </div>\n );\n}\n","import React, { useTransition, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n SettingsPanel,\n ResizeHandle,\n usePanelWidth,\n useEventSubscriptions,\n useSemiont,\n useObservable,\n useHoverDelay,\n} from '@semiont/react-ui';\nimport { UserPanel } from '../UserPanel';\nimport { KnowledgeBasePanel } from '../KnowledgeBasePanel';\nimport { useLocale } from '@/i18n/routing';\nimport { usePathname, useRouter } from '@/i18n/routing';\nimport { COMMON_PANELS } from '@semiont/react-ui';\nimport type { ToolbarPanelType } from '@semiont/react-ui';\n\ninterface ToolbarPanelsProps {\n activePanel: ToolbarPanelType | null;\n /** Theme setting */\n theme: 'light' | 'dark' | 'system';\n /** Line numbers setting */\n showLineNumbers: boolean;\n /** Custom panel content for context-specific panels */\n children?: React.ReactNode;\n}\n\n/**\n * Renders the toolbar panel container with common panels (user, settings)\n * and any context-specific panels passed as children.\n *\n * Settings changes are handled via GlobalSettingsEventBus - no callbacks needed.\n *\n * @example\n * // Simple context (compose, discover, moderate, admin pages)\n * <ToolbarPanels\n * activePanel={activePanel}\n * theme={theme}\n * showLineNumbers={showLineNumbers}\n * />\n *\n * @example\n * // Document context with custom panels\n * <ToolbarPanels\n * activePanel={activePanel}\n * theme={theme}\n * showLineNumbers={showLineNumbers}\n * >\n * {activePanel === 'annotations' && <UnifiedAnnotationsPanel ... />}\n * {activePanel === 'history' && <AnnotationHistory ... />}\n * {activePanel === 'info' && <ResourceInfoPanel ... />}\n * {activePanel === 'collaboration' && <CollaborationPanel ... />}\n * {activePanel === 'jsonld' && <JsonLdPanel ... />}\n * </ToolbarPanels>\n */\nexport function ToolbarPanels({\n activePanel,\n theme,\n showLineNumbers,\n children\n}: ToolbarPanelsProps) {\n // Source hover-delay from the shared hook so every page that mounts\n // ToolbarPanels gets the live value without prop-drilling. Previously\n // each page passed `hoverDelayMs` through as a prop; pages that forgot\n // (Discover, Admin, Moderation) rendered the Settings panel with\n // `undefined`, which surfaced as `{undefined}ms delay` after the\n // translation interpolation ran.\n const { hoverDelayMs } = useHoverDelay();\n const { t: _t } = useTranslation();\n const session = useObservable(useSemiont().activeSession$);\n const user = useObservable(session?.user$);\n const isAuthenticated = !!user;\n const locale = useLocale();\n const router = useRouter();\n const pathname = usePathname();\n const [isPending, startTransition] = useTransition();\n\n // Panel width management with localStorage persistence\n const { width, setWidth, minWidth, maxWidth } = usePanelWidth();\n\n // Handle locale change events\n const handleLocaleChanged = useCallback(({ locale: newLocale }: { locale: string }) => {\n if (!pathname) return;\n\n startTransition(() => {\n // The router from @/i18n/routing is locale-aware and will handle the locale prefix\n router.replace(pathname, { locale: newLocale });\n });\n }, [pathname, router, startTransition]);\n\n // Subscribe to locale change events\n useEventSubscriptions({\n 'settings:locale-changed': handleLocaleChanged,\n });\n\n // Don't render container if no panel is active\n if (!activePanel) {\n return null;\n }\n\n // In simple context (no children), only user and settings panels are valid.\n // If a resource-specific panel is still active from a previous route, hide the container.\n if (!children && !COMMON_PANELS.includes(activePanel)) {\n return null;\n }\n\n return (\n <div className=\"semiont-toolbar-panels\" style={{ width: `${width}px`, position: 'relative' }}>\n {/* Resize handle on left edge */}\n <ResizeHandle\n onResize={setWidth}\n minWidth={minWidth}\n maxWidth={maxWidth}\n position=\"left\"\n ariaLabel=\"Resize right panel\"\n />\n\n {/* Custom context-specific panels */}\n <div className=\"semiont-toolbar-panels__content\">\n {children}\n\n {/* Knowledge Base Panel - common to all contexts */}\n {activePanel === 'knowledge-base' && (\n <KnowledgeBasePanel />\n )}\n\n {/* User Panel - requires authentication */}\n {activePanel === 'user' && (\n isAuthenticated ? (\n <UserPanel />\n ) : (\n <div className=\"semiont-panel\">\n <div className=\"semiont-panel-header\">\n <h2 className=\"semiont-panel-header__title\">\n <span className=\"semiont-panel-header__text\">{_t('UserPanel.account')}</span>\n </h2>\n </div>\n <div className=\"semiont-panel__content\" style={{ padding: '1rem', textAlign: 'center' }}>\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5 }}>\n {_t('AccountPanel.notAuthenticated')}\n </p>\n </div>\n </div>\n )\n )}\n\n {/* Settings Panel - common to all contexts */}\n {activePanel === 'settings' && (\n <SettingsPanel\n showLineNumbers={showLineNumbers}\n theme={theme}\n hoverDelayMs={hoverDelayMs}\n locale={locale}\n isPendingLocaleChange={isPending}\n />\n )}\n </div>\n </div>\n );\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var e={annotations:`Annotations`,history:`History`,resourceInfo:`Resource Info`,collaboration:`Collaboration`,userAccount:`User Account`,settings:`Settings`,knowledgeBase:`Knowledge Base`},t={title:`Resource Info`,locale:`Locale`,notSpecified:`Not specified`,entityTypeTags:`Entity Type Tags`,representation:`Representation`,mediaType:`Media Type`,byteSize:`Size`,storageUri:`Storage`,clone:`Clone`,cloneDescription:`Generate a shareable clone link for this resource`,archive:`Archive`,archiveDescription:`Move this resource to archived status`,unarchive:`Unarchive`,unarchiveDescription:`Restore this resource to active status`,provenance:`Provenance`,createdAt:`Created`,modifiedAt:`Modified`,attributedTo:`Attributed to`,derivedFrom:`Derived from`},n={title:`Collaboration`,connectionStatus:`Connection Status`,live:`Live`,disconnected:`Disconnected`,events:`{{count}} events`,lastSync:`Last sync:`,noActivity:`No activity yet`,justNow:`Just now`,secondsAgo:`{{count}} seconds ago`,minuteAgo:`1 minute ago`,minutesAgo:`{{count}} minutes ago`,hourAgo:`1 hour ago`,hoursAgo:`{{count}} hours ago`,realtimeActive:`Real-time updates are active`,reconnecting:`Reconnecting to server...`,sharing:`Sharing`,collaborationComingSoon:`Collaboration features coming soon`},r={history:`History`,loading:`Loading...`,user:`User`,viewOriginal:`View original`,viewAnnotation:`View annotation: {{content}}`,resourceCreated:`Created Resource`,resourceCloned:`Cloned`,resourceArchived:`Archived`,resourceUnarchived:`Unarchived`,highlightAdded:`Highlight Added`,highlightRemoved:`Highlight Removed`,referenceCreated:`Reference Created`,referenceResolved:`Reference Resolved`,referenceDeleted:`Reference Deleted`,entitytagAdded:`Tag Added`,entitytagRemoved:`Tag Removed`,assessmentAdded:`Assessment Added`,assessmentRemoved:`Assessment Removed`,annotationAdded:`Annotation Added`,annotationRemoved:`Annotation Removed`,annotationBodyUpdated:`Annotation Updated`,jobEvent:`Job Event`,embeddingComputed:`Embedding Computed`,justNow:`just now`,minutesAgo:`{{count}}m ago`,hoursAgo:`{{count}}h ago`,daysAgo:`{{count}}d ago`},i={title:`Comments`,noComments:`No comments yet. Select text and click Comment to add one.`,commentPlaceholder:`Type your comment here...`,save:`Save`,cancel:`Cancel`,edit:`Edit`,annotateComments:`Annotate Comments`,instructions:`Instructions`,optional:`(optional)`,instructionsPlaceholder:`e.g., Focus on technical terminology...`,annotate:`Annotate`,annotating:`Annotating...`,toneLabel:`Tone`,toneOptional:`(optional)`,toneScholarly:`Scholarly`,toneExplanatory:`Explanatory`,toneConversational:`Conversational`,toneTechnical:`Technical`,densityLabel:`Density`,densitySparse:`Sparse`,densityDense:`Dense`,fragmentSelected:`Fragment selected`,imageRegionSelected:`Image region selected`,closeProgress:`Close`},a={title:`Highlights`,noHighlights:`No highlights yet. Use AI annotation to find important passages.`,annotateHighlights:`Annotate Highlights`,instructions:`Instructions`,optional:`(optional)`,instructionsPlaceholder:`e.g., Focus on key technical concepts...`,annotate:`Annotate`,annotating:`Annotating...`,cancel:`Cancel`,densityLabel:`Density`,densitySparse:`Sparse`,densityDense:`Dense`,closeProgress:`Close`},o={title:`Assessments`,noAssessments:`No assessments yet. Use AI annotation to evaluate passages.`,assessmentPlaceholder:`Type your assessment here...`,save:`Save`,cancel:`Cancel`,annotateAssessments:`Annotate Assessments`,instructions:`Instructions`,optional:`(optional)`,instructionsPlaceholder:`e.g., Evaluate claims for accuracy and evidence...`,annotate:`Annotate`,annotating:`Annotating...`,toneLabel:`Tone`,toneOptional:`(optional)`,toneAnalytical:`Analytical`,toneCritical:`Critical`,toneBalanced:`Balanced`,toneConstructive:`Constructive`,densityLabel:`Density`,densitySparse:`Sparse`,densityDense:`Dense`,fragmentSelected:`Fragment selected`,imageRegionSelected:`Image region selected`,closeProgress:`Close`},s={title:`Tags`,noTags:`No tags yet. Use AI annotation to identify structural roles.`,noSchemas:"No tag schemas registered for this knowledge base. A KB administrator must register at least one structural-analysis schema (e.g. via the `register-tag-schemas` skill) before tagging can be used.",annotateTags:`Annotate Tags`,selectSchema:`Select Framework`,selectCategories:`Select Categories`,annotate:`Annotate`,annotating:`Annotating...`,cancel:`Cancel`,selectAll:`Select All`,deselectAll:`Deselect All`,categoriesSelected:`{count, plural, =0 {No categories selected} =1 {1 category selected} other {# categories selected}}`,createTagForSelection:`Create Tag for Selection`,selectCategory:`Select Category`,chooseCategory:`Choose a category...`,fragmentSelected:`Fragment selected`,imageRegionSelected:`Image region selected`},c={title:`Annotations`,statistics:`Statistics`,highlight:`Highlights`,reference:`References`,assessment:`Assessments`,comment:`Comments`,tag:`Tags`},l={title:`Statistics`,highlights:`Highlights`,comments:`Comments`,assessments:`Assessments`,tags:`Tags`,references:`References`,stub:`Stub`,resolved:`Resolved`,entityTypes:`Entity Types`},u={title:`References`,noReferences:`No references yet. Select text to create references to other resources.`,outgoingReferences:`Outgoing References`,incomingReferences:`Incoming References`,noIncomingReferences:`No incoming references`,stub:`Stub reference (not linked)`,resolved:`Resolved reference (linked)`,open:`Open`,unlink:`Unlink`,resolve:`Resolve Reference`,cancel:`Cancel`,createReference:`Create Reference`,entityTypesOptional:`Entity Types (Optional)`,fragmentSelected:`Fragment selected`,imageRegionSelected:`Image region selected`,annotateReferences:`Annotate References`,selectEntityTypes:`Entity types:`,select:`Select`,deselect:`Deselect`,noEntityTypes:`No entity types available`,typesSelected:`{count, plural, =1 {1 type selected} other {# types selected}}`,annotate:`Annotate`,annotating:`Annotating...`,includeDescriptiveReferences:`Include descriptive references`,descriptiveReferencesTooltip:`Also find phrases like 'the CEO', 'the tech giant', 'the physicist' (in addition to names)`,annotationProgressTitle:`Annotating Entity References`,cancelAnnotation:`Cancel annotation`,found:`{{count}} found`,complete:`Annotation complete!`,failed:`Annotation failed`,current:`Current: {{entityType}}`,closeProgress:`Close`,loading:`loading...`,loadingEllipsis:`Loading...`,untitledResource:`Untitled Resource`,noText:`No text`},d={title:`Keyboard Shortcuts`,closeDialog:`Close dialog`,or:`or`,navigationTitle:`Navigation`,navOpenSearch:`Open global search`,navOpenSearchAlt:`Open global search (alternative)`,navCreateResource:`Create new resource`,navCloseOverlays:`Close all overlays (double press)`,navShowHelp:`Show keyboard shortcuts help`,sidebarTitle:`Knowledge Sidebar`,sidebarCollapse:`Collapse sidebar`,sidebarExpand:`Expand sidebar`,sidebarPickup:`Pick up resource tab (when focused)`,sidebarMove:`Move resource tab (when dragging)`,sidebarDrop:`Drop resource tab (when dragging)`,sidebarCancel:`Cancel drag operation`,annotationsTitle:`Resource Annotations`,annotHighlight:`Create highlight from annotation (direct)`,annotReference:`Open reference popup for annotation`,annotDelete:`Delete focused annotation`,annotNavigate:`Navigate through annotations`,annotNavigateBack:`Navigate annotations backward`,listsTitle:`Lists & Grids`,listsFilterNav:`Navigate entity type filters`,listsGridNav:`Navigate resource grid`,listsJumpFirst:`Jump to first item`,listsJumpLast:`Jump to last item`,searchModalTitle:`In Search Modal`,searchNav:`Navigate search results`,searchSelect:`Select result`,searchClose:`Close search`,modalTitle:`Modal Controls`,modalClose:`Close active modal`,modalNavForward:`Navigate forward through buttons`,modalNavBackward:`Navigate backward through buttons`,modalActivate:`Activate focused button`,accessibilityTitle:`Accessibility`,a11ySkipLinks:`Navigate to skip links (when at page start)`,a11yFollowLink:`Follow skip link`,macNote:`Using Mac keyboard shortcuts. ⌘ is the Command key.`,windowsNote:`Using Windows/Linux keyboard shortcuts. Ctrl is the Control key.`,footerHint:`Press {{key}} anytime to show this help`,close:`Close`},f={modeGroup:`Mode`,browse:`Browse`,annotate:`Annotate`,selectionGroup:`Motivation`,clickGroup:`Click`,shapeGroup:`Shape`,none:`None`,linking:`Reference`,highlighting:`Highlight`,assessing:`Assess`,commenting:`Comment`,tagging:`Tag`,detail:`Detail`,follow:`Follow`,deleting:`Delete`,jsonld:`JSON-LD`,rectangle:`Rectangle`,circle:`Circle`,polygon:`Polygon`},p={title:`Navigation`,collapseSidebar:`Collapse sidebar`,expandSidebar:`Expand sidebar`,dragToReorder:`Drag to reorder`,dragToReorderDoc:`Drag to reorder {{name}}`,closeResource:`Close resource`,dragInstructions:`To reorder resources: Use Tab to navigate to a resource. Press Alt+Up arrow to move up or Alt+Down arrow to move down. For drag and drop: Press space bar to pick up the item. Use arrow keys to move it. Press space bar again to drop.`},m={deleteConfirmationTitle:`Delete Annotation`,deleteConfirmationMessage:`Are you sure you want to delete this annotation? This action cannot be undone.`,deleteConfirmationCancel:`Cancel`,deleteConfirmationDelete:`Delete`},h={title:`Settings`,lineNumbers:`Line Numbers`,lineNumbersVisible:`Visible`,lineNumbersHidden:`Hidden`,theme:`Theme`,themeLight:`Light`,themeDark:`Dark`,themeSystem:`System`,themeSystemActive:`System ({{mode}})`,themeModeActive:`Using {{mode}} mode`,language:`Language`,languageHint:`Change language in the main navigation`,languageChanging:`Changing language...`,hoverDelay:`Hover Delay`,hoverDelayFast:`Fast`,hoverDelaySlow:`Slow`,hoverDelayDescription:`{{delay}}ms delay before hover effects appear`},g={},_={gatherTitle:`Gathered Context`,configureGenerationTitle:`Configure Generation`,configureSearchTitle:`Configure Search`,searchResultsTitle:`Search Results`,sourceContextLabel:`Annotation context in resource`,connectionsLabel:`Peer Annotations`,citedByLabel:`Resource Cited By`,userHintLabel:`Hint`,userHintPlaceholder:`Describe what this annotation refers to...`,loadingContext:`Gathering context...`,failedContext:`Failed to gather context`,cancel:`Cancel`,generate:`Generate`,compose:`Compose`,resolutionStrategyLabel:`Resolution Strategy`,back:`Back`,link:`Link`,score:`Score`,noResults:`No results found`,resourceTitle:`Resource Title`,resourceTitlePlaceholder:`Enter resource title...`,additionalInstructions:`Additional Instructions`,additionalInstructionsPlaceholder:`Enter additional instructions...`,language:`Language`,languageHelp:`Language for generated content`,creativity:`Creativity`,creativityFocused:`Focused`,creativityCreative:`Creative`,maxLength:`Max Length`,maxLengthHelp:`Maximum number of tokens`,maxResults:`Max Results`,semanticScoring:`Semantic Scoring`,semanticScoringHelp:`Use AI to score results by semantic relevance`,searching:`Searching...`,search:`Search`},v={Toolbar:e,ResourceInfoPanel:t,CollaborationPanel:n,AnnotationHistory:r,CommentsPanel:i,HighlightPanel:a,AssessmentPanel:o,TaggingPanel:s,UnifiedAnnotationsPanel:c,StatisticsPanel:l,ReferencesPanel:u,KeyboardShortcuts:d,AnnotateToolbar:f,CollapsibleResourceNavigation:p,ResourceViewer:m,Settings:h,AnnotateView:g,ReferenceWizard:_};export{e as _,n as a,a as c,u as d,t as f,s as g,l as h,o as i,d as l,h as m,g as n,p as o,m as p,r,i as s,f as t,_ as u,c as v,v as y};
2
- //# sourceMappingURL=chunk-GERSK2DY-D2Q8aVeK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-GERSK2DY-D2Q8aVeK.js","names":[],"sources":["../../../../packages/react-ui/dist/chunk-GERSK2DY.js"],"sourcesContent":["'use client';\n\n// translations/en.json\nvar Toolbar = {\n annotations: \"Annotations\",\n history: \"History\",\n resourceInfo: \"Resource Info\",\n collaboration: \"Collaboration\",\n userAccount: \"User Account\",\n settings: \"Settings\",\n knowledgeBase: \"Knowledge Base\"\n};\nvar ResourceInfoPanel = {\n title: \"Resource Info\",\n locale: \"Locale\",\n notSpecified: \"Not specified\",\n entityTypeTags: \"Entity Type Tags\",\n representation: \"Representation\",\n mediaType: \"Media Type\",\n byteSize: \"Size\",\n storageUri: \"Storage\",\n clone: \"Clone\",\n cloneDescription: \"Generate a shareable clone link for this resource\",\n archive: \"Archive\",\n archiveDescription: \"Move this resource to archived status\",\n unarchive: \"Unarchive\",\n unarchiveDescription: \"Restore this resource to active status\",\n provenance: \"Provenance\",\n createdAt: \"Created\",\n modifiedAt: \"Modified\",\n attributedTo: \"Attributed to\",\n derivedFrom: \"Derived from\"\n};\nvar CollaborationPanel = {\n title: \"Collaboration\",\n connectionStatus: \"Connection Status\",\n live: \"Live\",\n disconnected: \"Disconnected\",\n events: \"{{count}} events\",\n lastSync: \"Last sync:\",\n noActivity: \"No activity yet\",\n justNow: \"Just now\",\n secondsAgo: \"{{count}} seconds ago\",\n minuteAgo: \"1 minute ago\",\n minutesAgo: \"{{count}} minutes ago\",\n hourAgo: \"1 hour ago\",\n hoursAgo: \"{{count}} hours ago\",\n realtimeActive: \"Real-time updates are active\",\n reconnecting: \"Reconnecting to server...\",\n sharing: \"Sharing\",\n collaborationComingSoon: \"Collaboration features coming soon\"\n};\nvar AnnotationHistory = {\n history: \"History\",\n loading: \"Loading...\",\n user: \"User\",\n viewOriginal: \"View original\",\n viewAnnotation: \"View annotation: {{content}}\",\n resourceCreated: \"Created Resource\",\n resourceCloned: \"Cloned\",\n resourceArchived: \"Archived\",\n resourceUnarchived: \"Unarchived\",\n highlightAdded: \"Highlight Added\",\n highlightRemoved: \"Highlight Removed\",\n referenceCreated: \"Reference Created\",\n referenceResolved: \"Reference Resolved\",\n referenceDeleted: \"Reference Deleted\",\n entitytagAdded: \"Tag Added\",\n entitytagRemoved: \"Tag Removed\",\n assessmentAdded: \"Assessment Added\",\n assessmentRemoved: \"Assessment Removed\",\n annotationAdded: \"Annotation Added\",\n annotationRemoved: \"Annotation Removed\",\n annotationBodyUpdated: \"Annotation Updated\",\n jobEvent: \"Job Event\",\n embeddingComputed: \"Embedding Computed\",\n justNow: \"just now\",\n minutesAgo: \"{{count}}m ago\",\n hoursAgo: \"{{count}}h ago\",\n daysAgo: \"{{count}}d ago\"\n};\nvar CommentsPanel = {\n title: \"Comments\",\n noComments: \"No comments yet. Select text and click Comment to add one.\",\n commentPlaceholder: \"Type your comment here...\",\n save: \"Save\",\n cancel: \"Cancel\",\n edit: \"Edit\",\n annotateComments: \"Annotate Comments\",\n instructions: \"Instructions\",\n optional: \"(optional)\",\n instructionsPlaceholder: \"e.g., Focus on technical terminology...\",\n annotate: \"Annotate\",\n annotating: \"Annotating...\",\n toneLabel: \"Tone\",\n toneOptional: \"(optional)\",\n toneScholarly: \"Scholarly\",\n toneExplanatory: \"Explanatory\",\n toneConversational: \"Conversational\",\n toneTechnical: \"Technical\",\n densityLabel: \"Density\",\n densitySparse: \"Sparse\",\n densityDense: \"Dense\",\n fragmentSelected: \"Fragment selected\",\n imageRegionSelected: \"Image region selected\",\n closeProgress: \"Close\"\n};\nvar HighlightPanel = {\n title: \"Highlights\",\n noHighlights: \"No highlights yet. Use AI annotation to find important passages.\",\n annotateHighlights: \"Annotate Highlights\",\n instructions: \"Instructions\",\n optional: \"(optional)\",\n instructionsPlaceholder: \"e.g., Focus on key technical concepts...\",\n annotate: \"Annotate\",\n annotating: \"Annotating...\",\n cancel: \"Cancel\",\n densityLabel: \"Density\",\n densitySparse: \"Sparse\",\n densityDense: \"Dense\",\n closeProgress: \"Close\"\n};\nvar AssessmentPanel = {\n title: \"Assessments\",\n noAssessments: \"No assessments yet. Use AI annotation to evaluate passages.\",\n assessmentPlaceholder: \"Type your assessment here...\",\n save: \"Save\",\n cancel: \"Cancel\",\n annotateAssessments: \"Annotate Assessments\",\n instructions: \"Instructions\",\n optional: \"(optional)\",\n instructionsPlaceholder: \"e.g., Evaluate claims for accuracy and evidence...\",\n annotate: \"Annotate\",\n annotating: \"Annotating...\",\n toneLabel: \"Tone\",\n toneOptional: \"(optional)\",\n toneAnalytical: \"Analytical\",\n toneCritical: \"Critical\",\n toneBalanced: \"Balanced\",\n toneConstructive: \"Constructive\",\n densityLabel: \"Density\",\n densitySparse: \"Sparse\",\n densityDense: \"Dense\",\n fragmentSelected: \"Fragment selected\",\n imageRegionSelected: \"Image region selected\",\n closeProgress: \"Close\"\n};\nvar TaggingPanel = {\n title: \"Tags\",\n noTags: \"No tags yet. Use AI annotation to identify structural roles.\",\n noSchemas: \"No tag schemas registered for this knowledge base. A KB administrator must register at least one structural-analysis schema (e.g. via the `register-tag-schemas` skill) before tagging can be used.\",\n annotateTags: \"Annotate Tags\",\n selectSchema: \"Select Framework\",\n selectCategories: \"Select Categories\",\n annotate: \"Annotate\",\n annotating: \"Annotating...\",\n cancel: \"Cancel\",\n selectAll: \"Select All\",\n deselectAll: \"Deselect All\",\n categoriesSelected: \"{count, plural, =0 {No categories selected} =1 {1 category selected} other {# categories selected}}\",\n createTagForSelection: \"Create Tag for Selection\",\n selectCategory: \"Select Category\",\n chooseCategory: \"Choose a category...\",\n fragmentSelected: \"Fragment selected\",\n imageRegionSelected: \"Image region selected\"\n};\nvar UnifiedAnnotationsPanel = {\n title: \"Annotations\",\n statistics: \"Statistics\",\n highlight: \"Highlights\",\n reference: \"References\",\n assessment: \"Assessments\",\n comment: \"Comments\",\n tag: \"Tags\"\n};\nvar StatisticsPanel = {\n title: \"Statistics\",\n highlights: \"Highlights\",\n comments: \"Comments\",\n assessments: \"Assessments\",\n tags: \"Tags\",\n references: \"References\",\n stub: \"Stub\",\n resolved: \"Resolved\",\n entityTypes: \"Entity Types\"\n};\nvar ReferencesPanel = {\n title: \"References\",\n noReferences: \"No references yet. Select text to create references to other resources.\",\n outgoingReferences: \"Outgoing References\",\n incomingReferences: \"Incoming References\",\n noIncomingReferences: \"No incoming references\",\n stub: \"Stub reference (not linked)\",\n resolved: \"Resolved reference (linked)\",\n open: \"Open\",\n unlink: \"Unlink\",\n resolve: \"Resolve Reference\",\n cancel: \"Cancel\",\n createReference: \"Create Reference\",\n entityTypesOptional: \"Entity Types (Optional)\",\n fragmentSelected: \"Fragment selected\",\n imageRegionSelected: \"Image region selected\",\n annotateReferences: \"Annotate References\",\n selectEntityTypes: \"Entity types:\",\n select: \"Select\",\n deselect: \"Deselect\",\n noEntityTypes: \"No entity types available\",\n typesSelected: \"{count, plural, =1 {1 type selected} other {# types selected}}\",\n annotate: \"Annotate\",\n annotating: \"Annotating...\",\n includeDescriptiveReferences: \"Include descriptive references\",\n descriptiveReferencesTooltip: \"Also find phrases like 'the CEO', 'the tech giant', 'the physicist' (in addition to names)\",\n annotationProgressTitle: \"Annotating Entity References\",\n cancelAnnotation: \"Cancel annotation\",\n found: \"{{count}} found\",\n complete: \"Annotation complete!\",\n failed: \"Annotation failed\",\n current: \"Current: {{entityType}}\",\n closeProgress: \"Close\",\n loading: \"loading...\",\n loadingEllipsis: \"Loading...\",\n untitledResource: \"Untitled Resource\",\n noText: \"No text\"\n};\nvar KeyboardShortcuts = {\n title: \"Keyboard Shortcuts\",\n closeDialog: \"Close dialog\",\n or: \"or\",\n navigationTitle: \"Navigation\",\n navOpenSearch: \"Open global search\",\n navOpenSearchAlt: \"Open global search (alternative)\",\n navCreateResource: \"Create new resource\",\n navCloseOverlays: \"Close all overlays (double press)\",\n navShowHelp: \"Show keyboard shortcuts help\",\n sidebarTitle: \"Knowledge Sidebar\",\n sidebarCollapse: \"Collapse sidebar\",\n sidebarExpand: \"Expand sidebar\",\n sidebarPickup: \"Pick up resource tab (when focused)\",\n sidebarMove: \"Move resource tab (when dragging)\",\n sidebarDrop: \"Drop resource tab (when dragging)\",\n sidebarCancel: \"Cancel drag operation\",\n annotationsTitle: \"Resource Annotations\",\n annotHighlight: \"Create highlight from annotation (direct)\",\n annotReference: \"Open reference popup for annotation\",\n annotDelete: \"Delete focused annotation\",\n annotNavigate: \"Navigate through annotations\",\n annotNavigateBack: \"Navigate annotations backward\",\n listsTitle: \"Lists & Grids\",\n listsFilterNav: \"Navigate entity type filters\",\n listsGridNav: \"Navigate resource grid\",\n listsJumpFirst: \"Jump to first item\",\n listsJumpLast: \"Jump to last item\",\n searchModalTitle: \"In Search Modal\",\n searchNav: \"Navigate search results\",\n searchSelect: \"Select result\",\n searchClose: \"Close search\",\n modalTitle: \"Modal Controls\",\n modalClose: \"Close active modal\",\n modalNavForward: \"Navigate forward through buttons\",\n modalNavBackward: \"Navigate backward through buttons\",\n modalActivate: \"Activate focused button\",\n accessibilityTitle: \"Accessibility\",\n a11ySkipLinks: \"Navigate to skip links (when at page start)\",\n a11yFollowLink: \"Follow skip link\",\n macNote: \"Using Mac keyboard shortcuts. \\u2318 is the Command key.\",\n windowsNote: \"Using Windows/Linux keyboard shortcuts. Ctrl is the Control key.\",\n footerHint: \"Press {{key}} anytime to show this help\",\n close: \"Close\"\n};\nvar AnnotateToolbar = {\n modeGroup: \"Mode\",\n browse: \"Browse\",\n annotate: \"Annotate\",\n selectionGroup: \"Motivation\",\n clickGroup: \"Click\",\n shapeGroup: \"Shape\",\n none: \"None\",\n linking: \"Reference\",\n highlighting: \"Highlight\",\n assessing: \"Assess\",\n commenting: \"Comment\",\n tagging: \"Tag\",\n detail: \"Detail\",\n follow: \"Follow\",\n deleting: \"Delete\",\n jsonld: \"JSON-LD\",\n rectangle: \"Rectangle\",\n circle: \"Circle\",\n polygon: \"Polygon\"\n};\nvar CollapsibleResourceNavigation = {\n title: \"Navigation\",\n collapseSidebar: \"Collapse sidebar\",\n expandSidebar: \"Expand sidebar\",\n dragToReorder: \"Drag to reorder\",\n dragToReorderDoc: \"Drag to reorder {{name}}\",\n closeResource: \"Close resource\",\n dragInstructions: \"To reorder resources: Use Tab to navigate to a resource. Press Alt+Up arrow to move up or Alt+Down arrow to move down. For drag and drop: Press space bar to pick up the item. Use arrow keys to move it. Press space bar again to drop.\"\n};\nvar ResourceViewer = {\n deleteConfirmationTitle: \"Delete Annotation\",\n deleteConfirmationMessage: \"Are you sure you want to delete this annotation? This action cannot be undone.\",\n deleteConfirmationCancel: \"Cancel\",\n deleteConfirmationDelete: \"Delete\"\n};\nvar Settings = {\n title: \"Settings\",\n lineNumbers: \"Line Numbers\",\n lineNumbersVisible: \"Visible\",\n lineNumbersHidden: \"Hidden\",\n theme: \"Theme\",\n themeLight: \"Light\",\n themeDark: \"Dark\",\n themeSystem: \"System\",\n themeSystemActive: \"System ({{mode}})\",\n themeModeActive: \"Using {{mode}} mode\",\n language: \"Language\",\n languageHint: \"Change language in the main navigation\",\n languageChanging: \"Changing language...\",\n hoverDelay: \"Hover Delay\",\n hoverDelayFast: \"Fast\",\n hoverDelaySlow: \"Slow\",\n hoverDelayDescription: \"{{delay}}ms delay before hover effects appear\"\n};\nvar AnnotateView = {};\nvar ReferenceWizard = {\n gatherTitle: \"Gathered Context\",\n configureGenerationTitle: \"Configure Generation\",\n configureSearchTitle: \"Configure Search\",\n searchResultsTitle: \"Search Results\",\n sourceContextLabel: \"Annotation context in resource\",\n connectionsLabel: \"Peer Annotations\",\n citedByLabel: \"Resource Cited By\",\n userHintLabel: \"Hint\",\n userHintPlaceholder: \"Describe what this annotation refers to...\",\n loadingContext: \"Gathering context...\",\n failedContext: \"Failed to gather context\",\n cancel: \"Cancel\",\n generate: \"Generate\",\n compose: \"Compose\",\n resolutionStrategyLabel: \"Resolution Strategy\",\n back: \"Back\",\n link: \"Link\",\n score: \"Score\",\n noResults: \"No results found\",\n resourceTitle: \"Resource Title\",\n resourceTitlePlaceholder: \"Enter resource title...\",\n additionalInstructions: \"Additional Instructions\",\n additionalInstructionsPlaceholder: \"Enter additional instructions...\",\n language: \"Language\",\n languageHelp: \"Language for generated content\",\n creativity: \"Creativity\",\n creativityFocused: \"Focused\",\n creativityCreative: \"Creative\",\n maxLength: \"Max Length\",\n maxLengthHelp: \"Maximum number of tokens\",\n maxResults: \"Max Results\",\n semanticScoring: \"Semantic Scoring\",\n semanticScoringHelp: \"Use AI to score results by semantic relevance\",\n searching: \"Searching...\",\n search: \"Search\"\n};\nvar en_default = {\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ReferenceWizard\n};\n\nexport {\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ReferenceWizard,\n en_default\n};\n//# sourceMappingURL=chunk-GERSK2DY.js.map"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=e=>t=>{var n=e[t];if(n)return n();throw Error(`Module not found in bundle: `+t)},s=(e,t)=>function(){return t||(0,e[r(e)[0]])((t={exports:{}}).exports,t),t.exports},c=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(let c of r(i))!a.call(e,c)&&c!==o&&t(e,c,{get:()=>i[c],enumerable:!(s=n(i,c))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));export{u as i,c as n,o as r,s as t};
2
- //# sourceMappingURL=chunk-K6BJDL2I-CcwOtHVB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-K6BJDL2I-CcwOtHVB.js","names":[],"sources":["../../../../packages/react-ui/dist/chunk-K6BJDL2I.js"],"sourcesContent":["'use client';\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __glob = (map) => (path) => {\n var fn = map[path];\n if (fn) return fn();\n throw new Error(\"Module not found in bundle: \" + path);\n};\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\nexport {\n __glob,\n __commonJS,\n __export,\n __toESM\n};\n//# sourceMappingURL=chunk-K6BJDL2I.js.map"],"mappings":"AACA,IAAI,EAAW,OAAO,OAClB,EAAY,OAAO,eACnB,EAAmB,OAAO,yBAC1B,EAAoB,OAAO,oBAC3B,EAAe,OAAO,eACtB,EAAe,OAAO,UAAU,eAChC,EAAU,GAAS,GAAS,CAC9B,IAAI,EAAK,EAAI,GACb,GAAI,EAAI,OAAO,GAAI,CACnB,MAAU,MAAM,+BAAiC,EAAK,EAEpD,GAAc,EAAI,IAAQ,UAAqB,CACjD,OAAO,IAAQ,EAAG,EAAG,EAAkB,EAAG,CAAC,MAAM,EAAM,CAAE,QAAS,EAAE,CAAE,EAAE,QAAS,EAAI,CAAE,EAAI,SAEzF,GAAY,EAAQ,IAAQ,CAC9B,IAAK,IAAI,KAAQ,EACf,EAAU,EAAQ,EAAM,CAAE,IAAK,EAAI,GAAO,WAAY,GAAM,CAAC,EAE7D,GAAe,EAAI,EAAM,EAAQ,IAAS,CAC5C,GAAI,GAAQ,OAAO,GAAS,UAAY,OAAO,GAAS,eACjD,IAAI,KAAO,EAAkB,EAAK,CACjC,CAAC,EAAa,KAAK,EAAI,EAAI,EAAI,IAAQ,GACzC,EAAU,EAAI,EAAK,CAAE,QAAW,EAAK,GAAM,WAAY,EAAE,EAAO,EAAiB,EAAM,EAAI,GAAK,EAAK,WAAY,CAAC,CAExH,OAAO,GAEL,GAAW,EAAK,EAAY,KAAY,EAAS,GAAO,KAAqC,EAAE,CAAhC,EAAS,EAAa,EAAI,CAAC,CAAO,EAKnG,GAAc,CAAC,GAAO,CAAC,EAAI,WAAa,EAAU,EAAQ,UAAW,CAAE,MAAO,EAAK,WAAY,GAAM,CAAC,CAAG,EACzG,EACD"}
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{F as i,M as a,X as o,Z as s,et as c,nt as l,ot as u,q as d,r as f,tt as p}from"./index-DjtRDlfn.js";import{t as m}from"./ToolbarPanels-CRGQDX-L.js";var h=e(t()),g=r();function _(){let{t:e}=n(),t=(t,n)=>e(`AdminSecurity.${t}`,n),r=s(u().activeSession$)?.client,_=c(),v=p(()=>i(r,_)),y=s(v.browse.activePanel$)??null,b=s(v.providers$)??[],x=s(v.allowedDomains$)??[],S=s(v.isLoading$)??!0,{theme:C,setTheme:w}=l(),{showLineNumbers:T,toggleLineNumbers:E}=o();return d({"settings:theme-changed":(0,h.useCallback)(({theme:e})=>{w(e)},[w]),"settings:line-numbers-toggled":(0,h.useCallback)(()=>{E()},[E])}),(0,g.jsx)(f,{providers:b,allowedDomains:x,isLoading:S,theme:C,showLineNumbers:T,activePanel:y,translations:{title:t(`title`),subtitle:t(`subtitle`),oauthProviders:t(`oauthProviders`),oauthProvidersDescription:t(`oauthProvidersDescription`),clientId:t(`clientId`),configured:t(`configured`),noProvidersConfigured:t(`noProvidersConfigured`),allowedDomains:t(`allowedDomains`),allowedDomainsDescription:t(`allowedDomainsDescription`),noDomainsConfigured:t(`noDomainsConfigured`),configManagementTitle:t(`configManagementTitle`),configManagementDescription:t(`configManagementDescription`),configLocalDev:t(`configLocalDev`),configCloudDeploy:t(`configCloudDeploy`),configCloudDeployCommand:t(`configCloudDeployCommand`),configCloudDeployEnd:t(`configCloudDeployEnd`),configAWS:t(`configAWS`)},ToolbarPanels:m,Toolbar:a})}export{_ as default};
2
- //# sourceMappingURL=client-DkMJxPA7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-DkMJxPA7.js","names":[],"sources":["../../src/app/[locale]/admin/security/client.tsx"],"sourcesContent":["/**\n * Admin Security Client - Thin Next.js wrapper\n *\n * This component handles Next.js-specific concerns (translations, API calls, hooks)\n * and delegates rendering to the pure React AdminSecurityPage component.\n */\n\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Toolbar, useSemiont } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminSecurityPage } from '@semiont/react-ui';\nimport type { OAuthProvider } from '@semiont/react-ui';\nimport { createAdminSecurityStateUnit } from '@semiont/react-ui';\nimport { useStateUnit } from '@semiont/react-ui';\n\nexport default function AdminSecurity() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminSecurity.${k}`, p as any) as string;\n\n const semiont = useObservable(useSemiont().activeSession$)?.client;\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createAdminSecurityStateUnit(semiont!, browseStateUnit));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const providers = useObservable(stateUnit.providers$) ?? [];\n const allowedDomains = useObservable(stateUnit.allowedDomains$) ?? [];\n const isLoading = useObservable(stateUnit.isLoading$) ?? true;\n\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n return (\n <AdminSecurityPage\n providers={providers as OAuthProvider[]}\n allowedDomains={allowedDomains}\n isLoading={isLoading}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n oauthProviders: t('oauthProviders'),\n oauthProvidersDescription: t('oauthProvidersDescription'),\n clientId: t('clientId'),\n configured: t('configured'),\n noProvidersConfigured: t('noProvidersConfigured'),\n allowedDomains: t('allowedDomains'),\n allowedDomainsDescription: t('allowedDomainsDescription'),\n noDomainsConfigured: t('noDomainsConfigured'),\n configManagementTitle: t('configManagementTitle'),\n configManagementDescription: t('configManagementDescription'),\n configLocalDev: t('configLocalDev'),\n configCloudDeploy: t('configCloudDeploy'),\n configCloudDeployCommand: t('configCloudDeployCommand'),\n configCloudDeployEnd: t('configCloudDeployEnd'),\n configAWS: t('configAWS'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"mappings":"mTAiBA,SAAwB,GAAgB,CACtC,GAAM,CAAE,EAAG,GAAO,GAAgB,CAC5B,GAAK,EAAW,IAAgC,EAAG,iBAAiB,IAAK,EAAS,CAElF,EAAU,EAAc,GAAY,CAAC,eAAe,EAAE,OACtD,EAAkB,GAAmB,CACrC,EAAY,MAAmB,EAA6B,EAAU,EAAgB,CAAC,CAEvF,EAAc,EAAc,EAAU,OAAO,aAAa,EAAI,KAC9D,EAAY,EAAc,EAAU,WAAW,EAAI,EAAE,CACrD,EAAiB,EAAc,EAAU,gBAAgB,EAAI,EAAE,CAC/D,EAAY,EAAc,EAAU,WAAW,EAAI,GAEnD,CAAE,QAAO,YAAa,GAAU,CAChC,CAAE,kBAAiB,qBAAsB,GAAgB,CAe/D,OALA,EAAsB,CACpB,0BAAA,EAAA,EAAA,cATsC,CAAE,WAAoD,CAC5F,EAAS,EAAM,EACd,CAAC,EAAS,CAOe,CAC1B,iCAAA,EAAA,EAAA,iBANiD,CACjD,GAAmB,EAClB,CAAC,EAAkB,CAIa,CAClC,CAAC,EAGA,EAAA,EAAA,KAAC,EAAD,CACa,YACK,iBACL,YACJ,QACU,kBACJ,cACb,aAAc,CACZ,MAAO,EAAE,QAAQ,CACjB,SAAU,EAAE,WAAW,CACvB,eAAgB,EAAE,iBAAiB,CACnC,0BAA2B,EAAE,4BAA4B,CACzD,SAAU,EAAE,WAAW,CACvB,WAAY,EAAE,aAAa,CAC3B,sBAAuB,EAAE,wBAAwB,CACjD,eAAgB,EAAE,iBAAiB,CACnC,0BAA2B,EAAE,4BAA4B,CACzD,oBAAqB,EAAE,sBAAsB,CAC7C,sBAAuB,EAAE,wBAAwB,CACjD,4BAA6B,EAAE,8BAA8B,CAC7D,eAAgB,EAAE,iBAAiB,CACnC,kBAAmB,EAAE,oBAAoB,CACzC,yBAA0B,EAAE,2BAA2B,CACvD,qBAAsB,EAAE,uBAAuB,CAC/C,UAAW,EAAE,YAAY,CAC1B,CACc,gBACN,UACT,CAAA"}
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{B as i,M as a,X as o,Z as s,et as c,n as l,nt as u,ot as d,q as f,tt as p}from"./index-DjtRDlfn.js";import{t as m}from"./ToolbarPanels-CRGQDX-L.js";var h=e(t()),g=r();function _(){let{t:e}=n(),t=(t,n)=>e(`AdminExchange.${t}`,n),r=s(d().activeSession$)?.client,_=c(),v=p(()=>i(_,()=>r.admin.backup(),e=>r.admin.restore(e))),y=s(v.browse.activePanel$)??null,b=s(v.selectedFile$)??null,x=s(v.preview$)??null,S=s(v.isExporting$)??!1,C=s(v.isImporting$)??!1,w=s(v.importPhase$)??null,T=s(v.importMessage$),E=s(v.importResult$),{theme:D,setTheme:O}=u(),{showLineNumbers:k,toggleLineNumbers:A}=o();f({"settings:theme-changed":(0,h.useCallback)(({theme:e})=>O(e),[O]),"settings:line-numbers-toggled":(0,h.useCallback)(()=>A(),[A])});let j=(0,h.useCallback)(async()=>{let{blob:e,filename:t}=await v.doExport(),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)},[v]),M=(0,h.useCallback)(async()=>{await v.doImport()},[v]);return(0,g.jsx)(l,{onExport:j,isExporting:S,onFileSelected:v.selectFile,onImport:M,onCancelImport:v.cancelImport,selectedFile:b,preview:x,isImporting:C,importPhase:w,importMessage:T,importResult:E,theme:D,showLineNumbers:k,activePanel:y,translations:{title:t(`title`),subtitle:t(`subtitle`),export:{title:t(`exportTitle`),description:t(`exportDescription`),exportButton:t(`exportButton`),exporting:t(`exporting`)},import:{title:t(`importTitle`),description:t(`importDescription`),dropzoneLabel:t(`dropzoneLabel`),dropzoneActive:t(`dropzoneActive`),detectedFormat:t(`detectedFormat`),statsPreview:t(`statsPreview`),importButton:t(`importButton`),importing:t(`importing`),importConfirmTitle:t(`importConfirmTitle`),importConfirmMessage:t(`importConfirmMessage`),confirmImport:t(`confirmImport`),cancelImport:t(`cancelImport`)},progress:{phaseStarted:t(`phaseStarted`),phaseEntityTypes:t(`phaseEntityTypes`),phaseResources:t(`phaseResources`),phaseAnnotations:t(`phaseAnnotations`),phaseComplete:t(`phaseComplete`),phaseError:t(`phaseError`),hashChainValid:t(`hashChainValid`),hashChainInvalid:t(`hashChainInvalid`),streams:t(`streams`),events:t(`events`),blobs:t(`blobs`)}},ToolbarPanels:m,Toolbar:a})}export{_ as default};
2
- //# sourceMappingURL=client-DvALJ3DL.js.map
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{B as i,M as a,X as o,Z as s,et as c,nt as l,ot as u,p as d,q as f,tt as p}from"./index-DjtRDlfn.js";import{t as m}from"./ToolbarPanels-CRGQDX-L.js";var h=e(t()),g=r();function _(){let{t:e}=n(),t=(t,n)=>e(`ModerationLinkedData.${t}`,n),r=s(u().activeSession$)?.client,_=c(),v=p(()=>i(_,e=>r.admin.exportKnowledgeBase(e),e=>r.admin.importKnowledgeBase(e))),y=s(v.browse.activePanel$)??null,b=s(v.selectedFile$)??null,x=s(v.preview$)??null,S=s(v.isExporting$)??!1,C=s(v.isImporting$)??!1,w=s(v.importPhase$)??null,T=s(v.importMessage$),E=s(v.importResult$),{theme:D,setTheme:O}=l(),{showLineNumbers:k,toggleLineNumbers:A}=o();f({"settings:theme-changed":(0,h.useCallback)(({theme:e})=>O(e),[O]),"settings:line-numbers-toggled":(0,h.useCallback)(()=>A(),[A])});let j=(0,h.useCallback)(async()=>{let{blob:e,filename:t}=await v.doExport(),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)},[v]),M=(0,h.useCallback)(async()=>{await v.doImport()},[v]);return(0,g.jsx)(d,{onExport:j,isExporting:S,onFileSelected:v.selectFile,onImport:M,onCancelImport:v.cancelImport,selectedFile:b,preview:x,isImporting:C,importPhase:w,importMessage:T,importResult:E,theme:D,showLineNumbers:k,activePanel:y,translations:{title:t(`title`),subtitle:t(`subtitle`),export:{title:t(`exportTitle`),description:t(`exportDescription`),exportButton:t(`exportButton`),exporting:t(`exporting`)},import:{title:t(`importTitle`),description:t(`importDescription`),dropzoneLabel:t(`dropzoneLabel`),dropzoneActive:t(`dropzoneActive`),detectedFormat:t(`detectedFormat`),statsPreview:t(`statsPreview`),importButton:t(`importButton`),importing:t(`importing`),importConfirmTitle:t(`importConfirmTitle`),importConfirmMessage:t(`importConfirmMessage`),confirmImport:t(`confirmImport`),cancelImport:t(`cancelImport`)},progress:{phaseStarted:t(`phaseStarted`),phaseEntityTypes:t(`phaseEntityTypes`),phaseResources:t(`phaseResources`),phaseAnnotations:t(`phaseAnnotations`),phaseComplete:t(`phaseComplete`),phaseError:t(`phaseError`),hashChainValid:t(`hashChainValid`),hashChainInvalid:t(`hashChainInvalid`),streams:t(`streams`),events:t(`events`),blobs:t(`blobs`)}},ToolbarPanels:m,Toolbar:a})}export{_ as default};
2
- //# sourceMappingURL=client-DxlEW_QJ.js.map
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t,n}from"./i18n-B53Yefbh.js";import{t as r}from"./vendor-0HjOURbh.js";import{I as i,M as a,P as o,X as s,Z as c,et as l,i as u,nt as d,ot as f,q as p,tt as m}from"./index-DjtRDlfn.js";import{t as h}from"./ToolbarPanels-CRGQDX-L.js";var g=e(t()),_=r();function v(){let{t:e}=n(),t=(t,n)=>e(`AdminUsers.${t}`,n),r=c(f().activeSession$)?.client,v=l(),y=m(()=>i(r,v)),b=c(y.browse.activePanel$)??null,x=c(y.users$)??[],S=c(y.stats$)??null,C=c(y.usersLoading$)??!0,w=c(y.statsLoading$)??!0,{theme:T,setTheme:E}=d(),{showLineNumbers:D,toggleLineNumbers:O}=s();return p({"settings:theme-changed":(0,g.useCallback)(({theme:e})=>{E(e)},[E]),"settings:line-numbers-toggled":(0,g.useCallback)(()=>{O()},[O])}),(0,_.jsx)(u,{users:x,userStats:S,isLoadingUsers:C,isLoadingStats:w,onUpdateUser:(0,g.useCallback)(async(e,t)=>{try{await y.updateUser(e,t)}catch(e){console.error(`Failed to update user:`,e)}},[y]),onDeleteUser:(0,g.useCallback)(async e=>{console.warn(`Delete user not implemented:`,e),alert(`Delete user functionality is not currently available`)},[]),onAddUser:(0,g.useCallback)(()=>{console.log(`Add user clicked`)},[]),onExportUsers:(0,g.useCallback)(()=>{console.log(`Export users clicked`)},[]),theme:T,showLineNumbers:D,activePanel:b,translations:{title:t(`title`),subtitle:t(`subtitle`),addUser:t(`addUser`),totalUsers:t(`totalUsers`),activeUsers:t(`activeUsers`),administrators:t(`administrators`),recentUsers:t(`recentUsers`),searchUsers:t(`searchUsers`),searchPlaceholder:t(`searchPlaceholder`),role:t(`role`),allRoles:t(`allRoles`),admin:t(`admin`),user:t(`user`),status:t(`status`),allStatus:t(`allStatus`),active:t(`active`),inactive:t(`inactive`),exportUsers:t(`exportUsers`),loadingUsers:t(`loadingUsers`),userColumn:t(`userColumn`),domainColumn:t(`domainColumn`),roleColumn:t(`roleColumn`),statusColumn:t(`statusColumn`),lastLoginColumn:t(`lastLoginColumn`),joinedColumn:t(`joinedColumn`),actionsColumn:t(`actionsColumn`),noUsersFound:t(`noUsersFound`),noUsersFoundDescription:t(`noUsersFoundDescription`),noName:t(`noName`),never:t(`never`),removeAdmin:t(`removeAdmin`),makeAdmin:t(`makeAdmin`),deactivateUser:t(`deactivateUser`),activateUser:t(`activateUser`),deleteUser:t(`deleteUser`)},ToolbarPanels:h,Toolbar:a,buttonStyles:o})}export{v as default};
2
- //# sourceMappingURL=client-uEoQ8iJO.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-uEoQ8iJO.js","names":[],"sources":["../../src/app/[locale]/admin/users/client.tsx"],"sourcesContent":["/**\n * Admin Users Client - Thin Next.js wrapper\n *\n * This component handles Next.js-specific concerns (translations, API calls, hooks)\n * and delegates rendering to the pure React AdminUsersPage component.\n */\n\nimport React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { buttonStyles, Toolbar, useSemiont } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { AdminUsersPage } from '@semiont/react-ui';\nimport type { AdminUser, AdminUserStats } from '@semiont/react-ui';\nimport { createAdminUsersStateUnit } from '@semiont/react-ui';\nimport { useStateUnit } from '@semiont/react-ui';\n\nexport default function AdminUsers() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminUsers.${k}`, p as any) as string;\n\n const semiont = useObservable(useSemiont().activeSession$)?.client;\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createAdminUsersStateUnit(semiont!, browseStateUnit));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const users = useObservable(stateUnit.users$) ?? [];\n const userStats = useObservable(stateUnit.stats$) ?? null;\n const usersLoading = useObservable(stateUnit.usersLoading$) ?? true;\n const statsLoading = useObservable(stateUnit.statsLoading$) ?? true;\n\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n const handleUpdateUser = useCallback(async (id: string, data: { isAdmin?: boolean; isActive?: boolean }) => {\n try {\n await stateUnit.updateUser(id, data);\n } catch (error) {\n console.error('Failed to update user:', error);\n }\n }, [stateUnit]);\n\n const handleDeleteUser = useCallback(async (id: string) => {\n console.warn('Delete user not implemented:', id);\n alert('Delete user functionality is not currently available');\n }, []);\n\n const handleAddUser = useCallback(() => {\n console.log('Add user clicked');\n }, []);\n\n const handleExportUsers = useCallback(() => {\n console.log('Export users clicked');\n }, []);\n\n return (\n <AdminUsersPage\n users={users as AdminUser[]}\n userStats={userStats as AdminUserStats | null}\n isLoadingUsers={usersLoading}\n isLoadingStats={statsLoading}\n onUpdateUser={handleUpdateUser}\n onDeleteUser={handleDeleteUser}\n onAddUser={handleAddUser}\n onExportUsers={handleExportUsers}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n addUser: t('addUser'),\n totalUsers: t('totalUsers'),\n activeUsers: t('activeUsers'),\n administrators: t('administrators'),\n recentUsers: t('recentUsers'),\n searchUsers: t('searchUsers'),\n searchPlaceholder: t('searchPlaceholder'),\n role: t('role'),\n allRoles: t('allRoles'),\n admin: t('admin'),\n user: t('user'),\n status: t('status'),\n allStatus: t('allStatus'),\n active: t('active'),\n inactive: t('inactive'),\n exportUsers: t('exportUsers'),\n loadingUsers: t('loadingUsers'),\n userColumn: t('userColumn'),\n domainColumn: t('domainColumn'),\n roleColumn: t('roleColumn'),\n statusColumn: t('statusColumn'),\n lastLoginColumn: t('lastLoginColumn'),\n joinedColumn: t('joinedColumn'),\n actionsColumn: t('actionsColumn'),\n noUsersFound: t('noUsersFound'),\n noUsersFoundDescription: t('noUsersFoundDescription'),\n noName: t('noName'),\n never: t('never'),\n removeAdmin: t('removeAdmin'),\n makeAdmin: t('makeAdmin'),\n deactivateUser: t('deactivateUser'),\n activateUser: t('activateUser'),\n deleteUser: t('deleteUser'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n buttonStyles={buttonStyles}\n />\n );\n}\n"],"mappings":"0TAiBA,SAAwB,GAAa,CACnC,GAAM,CAAE,EAAG,GAAO,GAAgB,CAC5B,GAAK,EAAW,IAAgC,EAAG,cAAc,IAAK,EAAS,CAE/E,EAAU,EAAc,GAAY,CAAC,eAAe,EAAE,OACtD,EAAkB,GAAmB,CACrC,EAAY,MAAmB,EAA0B,EAAU,EAAgB,CAAC,CAEpF,EAAc,EAAc,EAAU,OAAO,aAAa,EAAI,KAC9D,EAAQ,EAAc,EAAU,OAAO,EAAI,EAAE,CAC7C,EAAY,EAAc,EAAU,OAAO,EAAI,KAC/C,EAAe,EAAc,EAAU,cAAc,EAAI,GACzD,EAAe,EAAc,EAAU,cAAc,EAAI,GAEzD,CAAE,QAAO,YAAa,GAAU,CAChC,CAAE,kBAAiB,qBAAsB,GAAgB,CAoC/D,OA1BA,EAAsB,CACpB,0BAAA,EAAA,EAAA,cATsC,CAAE,WAAoD,CAC5F,EAAS,EAAM,EACd,CAAC,EAAS,CAOe,CAC1B,iCAAA,EAAA,EAAA,iBANiD,CACjD,GAAmB,EAClB,CAAC,EAAkB,CAIa,CAClC,CAAC,EAwBA,EAAA,EAAA,KAAC,EAAD,CACS,QACI,YACX,eAAgB,EAChB,eAAgB,EAChB,cAAA,EAAA,EAAA,aA3BiC,MAAO,EAAY,IAAoD,CAC1G,GAAI,CACF,MAAM,EAAU,WAAW,EAAI,EAAK,OAC7B,EAAO,CACd,QAAQ,MAAM,yBAA0B,EAAM,GAE/C,CAAC,EAAU,CAqBI,CACd,cAAA,EAAA,EAAA,aApBiC,KAAO,IAAe,CACzD,QAAQ,KAAK,+BAAgC,EAAG,CAChD,MAAM,uDAAuD,EAC5D,EAAE,CAiBa,CACd,WAAA,EAAA,EAAA,iBAhBoC,CACtC,QAAQ,IAAI,mBAAmB,EAC9B,EAAE,CAcU,CACX,eAAA,EAAA,EAAA,iBAbwC,CAC1C,QAAQ,IAAI,uBAAuB,EAClC,EAAE,CAWc,CACR,QACU,kBACJ,cACb,aAAc,CACZ,MAAO,EAAE,QAAQ,CACjB,SAAU,EAAE,WAAW,CACvB,QAAS,EAAE,UAAU,CACrB,WAAY,EAAE,aAAa,CAC3B,YAAa,EAAE,cAAc,CAC7B,eAAgB,EAAE,iBAAiB,CACnC,YAAa,EAAE,cAAc,CAC7B,YAAa,EAAE,cAAc,CAC7B,kBAAmB,EAAE,oBAAoB,CACzC,KAAM,EAAE,OAAO,CACf,SAAU,EAAE,WAAW,CACvB,MAAO,EAAE,QAAQ,CACjB,KAAM,EAAE,OAAO,CACf,OAAQ,EAAE,SAAS,CACnB,UAAW,EAAE,YAAY,CACzB,OAAQ,EAAE,SAAS,CACnB,SAAU,EAAE,WAAW,CACvB,YAAa,EAAE,cAAc,CAC7B,aAAc,EAAE,eAAe,CAC/B,WAAY,EAAE,aAAa,CAC3B,aAAc,EAAE,eAAe,CAC/B,WAAY,EAAE,aAAa,CAC3B,aAAc,EAAE,eAAe,CAC/B,gBAAiB,EAAE,kBAAkB,CACrC,aAAc,EAAE,eAAe,CAC/B,cAAe,EAAE,gBAAgB,CACjC,aAAc,EAAE,eAAe,CAC/B,wBAAyB,EAAE,0BAA0B,CACrD,OAAQ,EAAE,SAAS,CACnB,MAAO,EAAE,QAAQ,CACjB,YAAa,EAAE,cAAc,CAC7B,UAAW,EAAE,YAAY,CACzB,eAAgB,EAAE,iBAAiB,CACnC,aAAc,EAAE,eAAe,CAC/B,WAAY,EAAE,aAAa,CAC5B,CACc,gBACN,UACK,eACd,CAAA"}
@@ -1 +0,0 @@
1
- import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g,v as _,y as v}from"./chunk-GERSK2DY-D2Q8aVeK.js";export{h as AnnotateToolbar,u as AnnotateView,p as AnnotationHistory,s as AssessmentPanel,t as CollaborationPanel,d as CollapsibleResourceNavigation,m as CommentsPanel,n as HighlightPanel,c as KeyboardShortcuts,g as ReferenceWizard,r as ReferencesPanel,i as ResourceInfoPanel,f as ResourceViewer,l as Settings,o as StatisticsPanel,a as TaggingPanel,e as Toolbar,_ as UnifiedAnnotationsPanel,v as default};
@@ -1,2 +0,0 @@
1
- import{n as e,t}from"./rolldown-runtime-jpDsebLB.js";var n=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),r=t(((e,t)=>{t.exports=n()})),i=e(r()),a=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);f(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},o={},s=(e,t,n,r)=>{f(n)&&o[n]||(f(n)&&(o[n]=new Date),a(e,t,n,r))},c=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},l=(e,t,n)=>{e.loadNamespaces(t,c(e,n))},u=(e,t,n,r)=>{if(f(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return l(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,c(e,r))},d=(e,t,n={})=>!t.languages||!t.languages.length?(s(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),f=e=>typeof e==`string`,p=e=>typeof e==`object`&&!!e,m=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,h={"&amp;":`&`,"&#38;":`&`,"&lt;":`<`,"&#60;":`<`,"&gt;":`>`,"&#62;":`>`,"&apos;":`'`,"&#39;":`'`,"&quot;":`"`,"&#34;":`"`,"&nbsp;":` `,"&#160;":` `,"&copy;":`©`,"&#169;":`©`,"&reg;":`®`,"&#174;":`®`,"&hellip;":`…`,"&#8230;":`…`,"&#x2F;":`/`,"&#47;":`/`},g=e=>h[e],_={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:e=>e.replace(m,g)},v=(e={})=>{_={..._,...e}},y=()=>_,b,x=e=>{b=e},S=()=>b,C={type:`3rdParty`,init(e){v(e.options.react),x(e)}},w=(0,i.createContext)(),T=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},E=(e,t)=>{let n=(0,i.useRef)();return(0,i.useEffect)(()=>{n.current=t?n.current:e},[e,t]),n.current},D=(e,t,n,r)=>e.getFixedT(t,n,r),O=(e,t,n,r)=>(0,i.useCallback)(D(e,t,n,r),[e,t,n,r]),k=(e,t={})=>{let{i18n:n}=t,{i18n:r,defaultNS:a}=(0,i.useContext)(w)||{},o=n||r||S();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new T),!o){s(o,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next`);let e=(e,t)=>f(t)?t:p(t)&&f(t.defaultValue)?t.defaultValue:Array.isArray(e)?e[e.length-1]:e,t=[e,{},!1];return t.t=e,t.i18n={},t.ready=!1,t}o.options.react?.wait&&s(o,`DEPRECATED_OPTION`,`useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.`);let c={...y(),...o.options.react,...t},{useSuspense:m,keyPrefix:h}=c,g=e||a||o.options?.defaultNS;g=f(g)?[g]:g||[`translation`],o.reportNamespaces.addUsedNamespaces?.(g);let _=(o.isInitialized||o.initializedStoreOnce)&&g.every(e=>d(e,o,c)),v=O(o,t.lng||null,c.nsMode===`fallback`?g:g[0],h),b=()=>v,x=()=>D(o,t.lng||null,c.nsMode===`fallback`?g:g[0],h),[C,k]=(0,i.useState)(b),A=g.join();t.lng&&(A=`${t.lng}${A}`);let j=E(A),M=(0,i.useRef)(!0);(0,i.useEffect)(()=>{let{bindI18n:e,bindI18nStore:n}=c;M.current=!0,!_&&!m&&(t.lng?u(o,t.lng,g,()=>{M.current&&k(x)}):l(o,g,()=>{M.current&&k(x)})),_&&j&&j!==A&&M.current&&k(x);let r=()=>{M.current&&k(x)};return e&&o?.on(e,r),n&&o?.store.on(n,r),()=>{M.current=!1,o&&e&&e?.split(` `).forEach(e=>o.off(e,r)),n&&o&&n.split(` `).forEach(e=>o.store.off(e,r))}},[o,A]),(0,i.useEffect)(()=>{M.current&&_&&k(b)},[o,h,_]);let N=[C,o,_];if(N.t=C,N.i18n=o,N.ready=_,_||!_&&!m)return N;throw new Promise(e=>{t.lng?u(o,t.lng,g,()=>e()):l(o,g,()=>e())})},A=e=>typeof e==`string`,j=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},M=e=>e==null?``:``+e,N=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},P=/###/g,F=e=>e&&e.indexOf(`###`)>-1?e.replace(P,`.`):e,I=e=>!e||A(e),L=(e,t,n)=>{let r=A(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(I(e))return{};let t=F(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return I(e)?{}:{obj:e,k:F(r[i])}},R=(e,t,n)=>{let{obj:r,k:i}=L(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=L(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=L(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},ee=(e,t,n,r)=>{let{obj:i,k:a}=L(e,t,Object);i[a]=i[a]||[],i[a].push(n)},z=(e,t)=>{let{obj:n,k:r}=L(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},te=(e,t,n)=>{let r=z(e,n);return r===void 0?z(t,n):r},B=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?A(e[r])||e[r]instanceof String||A(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):B(e[r],t[r],n):e[r]=t[r]);return e},V=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),ne={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`,"/":`&#x2F;`},re=e=>A(e)?e.replace(/[&<>"'\/]/g,e=>ne[e]):e,ie=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},ae=[` `,`,`,`?`,`!`,`;`],oe=new ie(20),se=(e,t,n)=>{t||=``,n||=``;let r=ae.filter(e=>t.indexOf(e)<0&&n.indexOf(e)<0);if(r.length===0)return!0;let i=oe.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},H=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:`.`;if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e<r.length;){if(!i||typeof i!=`object`)return;let t,a=``;for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],t!==void 0){if([`string`,`number`,`boolean`].indexOf(typeof t)>-1&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},U=e=>e?.replace(`_`,`-`),ce={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},W=new class e{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||`i18next:`,this.logger=e||ce,this.options=t,this.debug=t.debug}log(){var e=[...arguments];return this.forward(e,`log`,``,!0)}warn(){var e=[...arguments];return this.forward(e,`warn`,``,!0)}error(){var e=[...arguments];return this.forward(e,`error`,``)}deprecate(){var e=[...arguments];return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(A(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},G=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){var t=[...arguments].slice(1);this.observers[e]&&Array.from(this.observers[e].entries()).forEach(e=>{let[n,r]=e;for(let e=0;e<r;e++)n(...t)}),this.observers[`*`]&&Array.from(this.observers[`*`].entries()).forEach(n=>{let[r,i]=n;for(let n=0;n<i;n++)r.apply(r,[e,...t])})}},K=class extends G{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:[`translation`],defaultNS:`translation`};super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.indexOf(`.`)>-1?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):A(n)&&i?o.push(...n.split(i)):o.push(n)));let s=z(this.data,o);return!s&&!t&&!n&&e.indexOf(`.`)>-1&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!A(n)?s:H(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(`.`)>-1&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),R(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(let r in n)(A(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},o=[e,t];e.indexOf(`.`)>-1&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=z(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?B(s,n,i):s={...s,...n},R(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},q={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},J={},Y=e=>!A(e)&&typeof e!=`boolean`&&typeof e!=`number`,le=class e extends G{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),N([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=W.create(`translator`)}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};return e==null?!1:this.resolve(e,t)?.res!==void 0}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!se(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:A(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:A(i)?[i]:i}}translate(t,n,r){if(typeof n!=`object`&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n==`object`&&(n={...n}),n||={},t==null)return``;Array.isArray(t)||(t=[String(t)]);let i=n.returnDetails===void 0?this.options.returnDetails:n.returnDetails,a=n.keySeparator===void 0?this.options.keySeparator:n.keySeparator,{key:o,namespaces:s}=this.extractFromKey(t[t.length-1],n),c=s[s.length-1],l=n.lng||this.language,u=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l?.toLowerCase()===`cimode`){if(u){let e=n.nsSeparator||this.options.nsSeparator;return i?{res:`${c}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:`${c}${e}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:c,usedParams:this.getUsedParamsDetails(n)}:o}let d=this.resolve(t,n),f=d?.res,p=d?.usedKey||o,m=d?.exactUsedKey||o,h=[`[object Number]`,`[object Function]`,`[object RegExp]`],g=n.joinArrays===void 0?this.options.joinArrays:n.joinArrays,_=!this.i18nFormat||this.i18nFormat.handleAsObject,v=n.count!==void 0&&!A(n.count),y=e.hasDefaultValue(n),b=v?this.pluralResolver.getSuffix(l,n.count,n):``,x=n.ordinal&&v?this.pluralResolver.getSuffix(l,n.count,{ordinal:!1}):``,S=v&&!n.ordinal&&n.count===0,C=S&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${b}`]||n[`defaultValue${x}`]||n.defaultValue,w=f;_&&!f&&y&&(w=C);let T=Y(w),E=Object.prototype.toString.apply(w);if(_&&w&&T&&h.indexOf(E)<0&&!(A(g)&&Array.isArray(w))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,w,{...n,ns:s}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(d.res=e,d.usedParams=this.getUsedParamsDetails(n),d):e}if(a){let e=Array.isArray(w),t=e?[]:{},r=e?m:p;for(let e in w)if(Object.prototype.hasOwnProperty.call(w,e)){let i=`${r}${a}${e}`;y&&!f?t[e]=this.translate(i,{...n,defaultValue:Y(C)?C[e]:void 0,joinArrays:!1,ns:s}):t[e]=this.translate(i,{...n,joinArrays:!1,ns:s}),t[e]===i&&(t[e]=w[e])}f=t}}else if(_&&A(g)&&Array.isArray(f))f=f.join(g),f&&=this.extendTranslation(f,t,n,r);else{let e=!1,i=!1;!this.isValidLookup(f)&&y&&(e=!0,f=C),this.isValidLookup(f)||(i=!0,f=o);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&i?void 0:f,u=y&&C!==f&&this.options.updateMissing;if(i||e||u){if(this.logger.log(u?`updateKey`:`missingKey`,l,c,o,u?C:f),a){let e=this.resolve(o,{...n,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else this.options.saveMissingTo===`all`?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let i=y&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,c,t,i,u,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,c,t,i,u,n),this.emit(`missingKey`,e,c,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);S&&n[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],o+t,n[`defaultValue${t}`]||C)})}):r(e,o,C))}f=this.extendTranslation(f,t,n,d,r),i&&f===o&&this.options.appendNamespaceToMissingKey&&(f=`${c}:${o}`),(i||e)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${c}:${o}`:o,e?f:void 0))}return i?(d.res=f,d.usedParams=this.getUsedParamsDetails(n),d):f}extendTranslation(e,t,n,r,i){var a=this;if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let o=A(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),s;if(o){let t=e.match(this.interpolator.nestingRegexp);s=t&&t.length}let c=n.replace&&!A(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),e=this.interpolator.interpolate(e,c,n.lng||this.language||r.usedLng,n),o){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;s<r&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,function(){var e=[...arguments];return i?.[0]===e[0]&&!n.context?(a.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):a.translate(...e,t)},n)),n.interpolation&&this.interpolator.reset()}let o=n.postProcess||this.options.postProcess,s=A(o)?[o]:o;return e!=null&&s?.length&&n.applyPostProcessor!==!1&&(e=q.handle(s,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n,r,i,a,o;return A(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!A(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(A(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!J[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(J[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(c+e),t.ordinal&&e.indexOf(i)===0&&o.push(c+e.replace(i,this.options.pluralSeparator)),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator}${t.context}`;o.push(r),u&&(o.push(r+e),t.ordinal&&e.indexOf(i)===0&&o.push(r+e.replace(i,this.options.pluralSeparator)),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!A(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.substring(0,12)===`defaultValue`&&e[t]!==void 0)return!0;return!1}},ue=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=W.create(`languageUtils`)}getScriptPartFromCode(e){if(e=U(e),!e||e.indexOf(`-`)<0)return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=U(e),!e||e.indexOf(`-`)<0)return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(A(e)&&e.indexOf(`-`)>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(e.indexOf(`-`)<0&&n.indexOf(`-`)<0)&&(e.indexOf(`-`)>0&&n.indexOf(`-`)<0&&e.substring(0,e.indexOf(`-`))===n||e.indexOf(n)===0&&n.length>1))return e})}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),A(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return A(e)&&(e.indexOf(`-`)>-1||e.indexOf(`_`)>-1)?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):A(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))}),r}},de={zero:0,one:1,two:2,few:3,many:4,other:5},fe={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},pe=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=W.create(`pluralResolver`),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=U(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(!Intl)return this.logger.error(`No Intl support, please use an Intl polyfill!`),fe;if(!e.match(/-|_/))return fe;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>de[e]-de[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},me=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`.`,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=te(e,t,n);return!a&&i&&A(n)&&(a=H(e,n,r),a===void 0&&(a=H(t,n,r))),a},X=e=>e.replace(/\$/g,`$$$$`),he=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=W.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?re:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?V(i):a||`{{`,this.suffix=o?V(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u||`-`,this.unescapeSuffix=this.unescapePrefix?``:l||``,this.nestingPrefix=d?V(d):f||V(`$t(`),this.nestingSuffix=p?V(p):m||V(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_===void 0?!1:_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(e.indexOf(this.formatSeparator)<0){let i=me(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(me(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>X(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?X(this.escape(e)):X(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=A(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else !A(a)&&!this.useRawValueToEscape&&(a=M(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),u?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(e.indexOf(n)<0)return e;let r=e.split(RegExp(`${n}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||s.length%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!A(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){let e=r[1].split(this.formatSeparator).map(e=>e.trim());r[1]=e.shift(),s=e,c=!0}if(i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!A(i))return i;A(i)||(i=M(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),c&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},ge=e=>{let t=e.toLowerCase().trim(),n={};if(e.indexOf(`(`)>-1){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);t===`currency`&&i.indexOf(`:`)<0?n.currency||=i.trim():t===`relativetime`&&i.indexOf(`:`)<0?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},Z=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(U(r),i),t[o]=s),s(n)}},_e=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=W.create(`formatter`),this.options=e,this.formats={number:Z((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:Z((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:Z((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:Z((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:Z((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})},this.init(e)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||`,`}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Z(t)}format(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&i[0].indexOf(`)`)<0&&i.find(e=>e.indexOf(`)`)>-1)){let e=i.findIndex(e=>e.indexOf(`)`)>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=ge(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},ve=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},ye=class extends G{constructor(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=W.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{ee(n.loaded,[i],a),ve(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();A(e)&&(e=this.languageUtils.toResolveHierarchy(e)),A(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:``,n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},be=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,simplifyPluralSuffix:!0,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),A(e[1])&&(t.defaultValue=e[1]),A(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0}}),xe=e=>(A(e.ns)&&(e.ns=[e.ns]),A(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),A(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.(`cimode`)<0&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),typeof e.initImmediate==`boolean`&&(e.initAsync=e.initImmediate),e),Q=()=>{},Se=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},Ce=class e extends G{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=xe(e),this.services={},this.logger=W,this.modules={external:[]},Se(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t==`function`&&(n=t,t={}),t.defaultNS==null&&t.ns&&(A(t.ns)?t.defaultNS=t.ns:t.ns.indexOf(`translation`)<0&&(t.defaultNS=t.ns[0]));let r=be();this.options={...r,...this.options,...xe(t)},this.options.interpolation={...r.interpolation,...this.options.interpolation},t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);let i=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?W.init(i(this.modules.logger),this.options):W.init(null,this.options);let t;t=this.modules.formatter?this.modules.formatter:_e;let n=new ue(this.options);this.store=new K(this.options.resources,this.options);let a=this.services;a.logger=W,a.resourceStore=this.store,a.languageUtils=n,a.pluralResolver=new pe(n,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),t&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(a.formatter=i(t),a.formatter.init(a,this.options),this.options.interpolation.format=a.formatter.format.bind(a.formatter)),a.interpolator=new he(this.options),a.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},a.backendConnector=new ye(i(this.modules.backend),a.resourceStore,a,this.options),a.backendConnector.on(`*`,function(t){var n=[...arguments].slice(1);e.emit(t,...n)}),this.modules.languageDetector&&(a.languageDetector=i(this.modules.languageDetector),a.languageDetector.init&&a.languageDetector.init(a,this.options.detection,this.options)),this.modules.i18nFormat&&(a.i18nFormat=i(this.modules.i18nFormat),a.i18nFormat.init&&a.i18nFormat.init(this)),this.translator=new le(this.services,this.options),this.translator.on(`*`,function(t){var n=[...arguments].slice(1);e.emit(t,...n)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,n||=Q,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(t=>{this[t]=function(){return e.store[t](...arguments)}}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(t=>{this[t]=function(){return e.store[t](...arguments),e}});let a=j(),o=()=>{let e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),a.resolve(t),n(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),a}loadResources(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Q,n=A(e)?e:this.language;if(typeof e==`function`&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return t();let e=[],r=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&e.indexOf(t)<0&&e.push(t)})};n?r(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>r(e)),this.options.preload?.forEach?.(e=>r(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,n){let r=j();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=Q,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&q.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&!([`cimode`,`dev`].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!([`cimode`,`dev`].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var n=this;this.isLanguageChangingTo=e;let r=j();this.emit(`languageChanging`,e);let i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,a)=>{a?(i(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,r.resolve(function(){return n.t(...arguments)}),t&&t(e,function(){return n.t(...arguments)})},o=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=A(t)?t:this.services.languageUtils.getBestMatchFromCodes(t);n&&(this.language||i(n),this.translator.language||this.translator.changeLanguage(n),this.services.languageDetector?.cacheUserLanguage?.(n)),this.loadResources(n,e=>{a(e,n)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?o(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e),r}getFixedT(e,t,n){var r=this;let i=function(e,t){let a;if(typeof t!=`object`){var o=[...arguments].slice(2);a=r.options.overloadTranslationOptionHandler([e,t].concat(o))}else a={...t};a.lng=a.lng||i.lng,a.lngs=a.lngs||i.lngs,a.ns=a.ns||i.ns,a.keyPrefix!==``&&(a.keyPrefix=a.keyPrefix||n||i.keyPrefix);let s=r.options.keySeparator||`.`,c;return c=a.keyPrefix&&Array.isArray(e)?e.map(e=>`${a.keyPrefix}${s}${e}`):a.keyPrefix?`${a.keyPrefix}${s}${e}`:e,r.t(c,a)};return A(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}t(){var e=[...arguments];return this.translator?.translate(...e)}exists(){var e=[...arguments];return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=j();return this.options.ns?(A(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=j();A(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>r.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new ue(be());return t.indexOf(n.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(){return new e(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Q,r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);return(t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new K(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),{})),{}),i),a.services.resourceStore=a.store),a.translator=new le(a.services,i),a.translator.on(`*`,function(e){var t=[...arguments].slice(1);a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}},$=Ce.createInstance();$.createInstance=Ce.createInstance,$.createInstance,$.dir,$.init,$.loadResources,$.reloadResources,$.use,$.changeLanguage,$.getFixedT,$.t,$.exists,$.setDefaultNamespace,$.hasLoadedNamespace,$.loadNamespaces,$.loadLanguages;export{r as i,k as n,C as r,$ as t};
2
- //# sourceMappingURL=i18n-B53Yefbh.js.map