@semiont/cli 0.5.5 → 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 +34040 -23198
  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-C54EWgTc.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-myF3ozNf.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-WUjhuEFR.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-DGddEk2F.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-ClOO6d4L.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-vxSCIznX.js.map → page-BXLfU1Yt.js.map} +1 -1
  94. package/dist/frontend/dist/assets/{page-DWTT4pP82.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-A0bP7R9_.js.map → page-ByC3SzfF.js.map} +1 -1
  100. package/dist/frontend/dist/assets/{page-Crea7MLa.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-3_orURnj.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-D9VjQ4Ci.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-Db8QDovL.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-BXDwcCLI.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-DGGXDS8h.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-V3GB89Xa.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-D3vt40lt.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-CoU19X7P.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-CcetIVef.js → routing-B8sg1WUP.js} +2 -2
  127. package/dist/frontend/dist/assets/{routing-CcetIVef.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-Dqgz2rV4.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-Vt05bBY7.js +0 -2
  150. package/dist/frontend/dist/assets/CookiePreferences-Vt05bBY7.js.map +0 -1
  151. package/dist/frontend/dist/assets/KeyboardShortcutsContext-CK7NFEft.js +0 -2
  152. package/dist/frontend/dist/assets/KeyboardShortcutsContext-CK7NFEft.js.map +0 -1
  153. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CN3C3S55-DZ2osbg-.js +0 -2
  154. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CN3C3S55-DZ2osbg-.js.map +0 -1
  155. package/dist/frontend/dist/assets/ToolbarPanels-wzZqAqCQ.js +0 -2
  156. package/dist/frontend/dist/assets/ToolbarPanels-wzZqAqCQ.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-C54EWgTc.js +0 -2
  162. package/dist/frontend/dist/assets/client-D5yyxFbt.js +0 -2
  163. package/dist/frontend/dist/assets/client-D5yyxFbt.js.map +0 -1
  164. package/dist/frontend/dist/assets/client-DgzjF497.js +0 -2
  165. package/dist/frontend/dist/assets/client-DgzjF497.js.map +0 -1
  166. package/dist/frontend/dist/assets/client-myF3ozNf.js +0 -2
  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-DojEUBpq.js +0 -141
  172. package/dist/frontend/dist/assets/index-DojEUBpq.js.map +0 -1
  173. package/dist/frontend/dist/assets/layout-CpxxVgZl.js +0 -2
  174. package/dist/frontend/dist/assets/layout-CpxxVgZl.js.map +0 -1
  175. package/dist/frontend/dist/assets/layout-DGddEk2F.js +0 -2
  176. package/dist/frontend/dist/assets/layout-WUjhuEFR.js +0 -2
  177. package/dist/frontend/dist/assets/layout-osn4jTJF.js +0 -2
  178. package/dist/frontend/dist/assets/layout-osn4jTJF.js.map +0 -1
  179. package/dist/frontend/dist/assets/not-found-CXjr3aHk.js +0 -2
  180. package/dist/frontend/dist/assets/not-found-CXjr3aHk.js.map +0 -1
  181. package/dist/frontend/dist/assets/page-3_orURnj.js +0 -2
  182. package/dist/frontend/dist/assets/page-A0bP7R9_.js +0 -2
  183. package/dist/frontend/dist/assets/page-BXDwcCLI.js +0 -2
  184. package/dist/frontend/dist/assets/page-CR97hIaP.js +0 -2
  185. package/dist/frontend/dist/assets/page-CR97hIaP.js.map +0 -1
  186. package/dist/frontend/dist/assets/page-ClOO6d4L.js +0 -2
  187. package/dist/frontend/dist/assets/page-CoU19X7P.js +0 -2
  188. package/dist/frontend/dist/assets/page-Crea7MLa.js.map +0 -1
  189. package/dist/frontend/dist/assets/page-D3vt40lt.js +0 -2
  190. package/dist/frontend/dist/assets/page-D74-p81B.js +0 -8
  191. package/dist/frontend/dist/assets/page-D74-p81B.js.map +0 -1
  192. package/dist/frontend/dist/assets/page-D9VjQ4Ci.js +0 -2
  193. package/dist/frontend/dist/assets/page-DAaiG0_S.js +0 -2
  194. package/dist/frontend/dist/assets/page-DAaiG0_S.js.map +0 -1
  195. package/dist/frontend/dist/assets/page-DGGXDS8h.js +0 -2
  196. package/dist/frontend/dist/assets/page-DWTT4pP82.js.map +0 -1
  197. package/dist/frontend/dist/assets/page-Db8QDovL.js +0 -2
  198. package/dist/frontend/dist/assets/page-V3GB89Xa.js +0 -2
  199. package/dist/frontend/dist/assets/page-pid5J2JR.js +0 -2
  200. package/dist/frontend/dist/assets/page-pid5J2JR.js.map +0 -1
  201. package/dist/frontend/dist/assets/page-vxSCIznX.js +0 -2
  202. package/dist/frontend/dist/assets/page-yaV9evoV.js +0 -2
  203. package/dist/frontend/dist/assets/page-yaV9evoV.js.map +0 -1
  204. package/dist/frontend/dist/assets/routing-Dqgz2rV4.js +0 -2
  205. package/dist/frontend/dist/assets/web-DAgGdiC_.js +0 -2
  206. package/dist/frontend/dist/assets/web-DAgGdiC_.js.map +0 -1
  207. /package/dist/frontend/dist/assets/{rolldown-runtime-jpDsebLB.js → rolldown-runtime-Bh1tDfsg.js} +0 -0
@@ -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{M as i,Pt as a,X as o,Z as s,et as c,f as l,nt as u,ot as d,q as f,s as p,u as m,v as h}from"./index-DojEUBpq.js";import{t as g}from"./KeyboardShortcutsContext-CK7NFEft.js";import{t as _}from"./CookiePreferences-Vt05bBY7.js";import{n as v,t as y}from"./ToolbarPanels-wzZqAqCQ.js";import{n as b,t as x}from"./ChevronLeftIcon-QLs1eT1j.js";import{t as S}from"./XMarkIcon-CddZGiiz.js";import{i as C,r as w,t as T}from"./routing-Dqgz2rV4.js";import{n as E,t as D}from"./routing-CcetIVef.js";var O=e(t()),k=r(),A=({className:e})=>(0,k.jsx)(`span`,{className:e,style:{fontSize:`1.25rem`,lineHeight:`1`},children:`🔭`});function j({href:e,to:t,...n}){return(0,k.jsx)(T,{to:e??``,...n})}function M({isCollapsed:e,toggleCollapsed:t,navigationMenu:r}){let{t:i}=n(),a=(e,t)=>i(`Sidebar.${e}`,t),o=w(),c=C(),l=d(),u=s(l.openResources$)??[],m=l.removeOpenResource.bind(l),h=l.reorderOpenResources.bind(l),g=[{name:a(`discover`),href:`/know/discover`,icon:A,description:a(`searchAndBrowse`)},{name:a(`compose`),href:`/know/compose`,icon:v,description:a(`composeNewResource`)}];return f({"shell:sidebar-toggle":(0,O.useCallback)(()=>{t()},[t]),"tabs:close":(0,O.useCallback)(({resourceId:e})=>{m(e),o===`/know/resource/${e}`&&c.push(`/know/discover`)},[m,o,c]),"tabs:reorder":(0,O.useCallback)(({oldIndex:e,newIndex:t})=>{h(e,t)},[h])}),(0,k.jsx)(`div`,{className:`flex flex-col h-full`,children:(0,k.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,k.jsx)(p,{fixedItems:g,resources:u,isCollapsed:e,currentPath:o,LinkComponent:j,onNavigate:e=>{c.push(e)},getResourceHref:e=>`/know/resource/${e}`,className:`knowledge-navigation`,translations:{title:a(`title`)},icons:{chevronLeft:x,bars:b,close:S},navigationMenu:r})})})}function N(){let{t:e}=n(),t=(t,n)=>e(`Navigation.${t}`,n),{t:r}=n(),i=(e,t)=>r(`Home.${e}`,t),a=s(s(d().activeSession$)?.user$);return(0,k.jsx)(l,{Link:D,routes:E,t,tHome:i,brandingLink:`/`,collapsible:!0,storageKey:`knowledgeNavCollapsed`,isAuthenticated:!!a,isAdmin:a?.isAdmin??!1,isModerator:a?.isModerator??!1,children:(e,t,n)=>(0,k.jsx)(M,{isCollapsed:e,toggleCollapsed:t,navigationMenu:n})})}function P(){return null}function F(){let{t:e}=n(),t=t=>e(`DiscoverEmptyState.${t}`),r=d(),i=s(r.kbs$)??[],a=s(r.activeSession$)?.kb??null,o=a?r.getKbSessionStatus(a.id):null;return i.length===0?(0,k.jsxs)(`div`,{style:{textAlign:`center`,maxWidth:`28rem`},children:[(0,k.jsx)(`h2`,{style:{fontSize:`1.1rem`,fontWeight:600,marginBottom:`0.5rem`},children:t(`noKnowledgeBases`)}),(0,k.jsx)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5,marginBottom:`0.75rem`},children:t(`noKnowledgeBasesHint`)}),(0,k.jsxs)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5},children:[(0,k.jsx)(`a`,{href:`https://github.com/The-AI-Alliance/semiont`,target:`_blank`,rel:`noopener noreferrer`,style:{color:`var(--semiont-color-primary-500)`},children:t(`findKnowledgeBases`)}),` · `,(0,k.jsx)(`a`,{href:`https://github.com/The-AI-Alliance/semiont-template-kb`,target:`_blank`,rel:`noopener noreferrer`,style:{color:`var(--semiont-color-primary-500)`},children:t(`createNew`)})]})]}):o===`authenticated`?null:(0,k.jsxs)(`div`,{style:{textAlign:`center`,maxWidth:`24rem`},children:[(0,k.jsx)(`h2`,{style:{fontSize:`1.1rem`,fontWeight:600,marginBottom:`0.5rem`},children:a?.label??``}),(0,k.jsxs)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5},children:[t(o===`expired`?`sessionExpired`:`signedOut`),` `,t(`signInHint`)]})]})}function I({t:e,keyboardContext:t}){let n=s(c().activePanel$)??null,{theme:r}=u(),{showLineNumbers:a}=o();return(0,k.jsxs)(`div`,{className:`h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden`,children:[(0,k.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,k.jsx)(`main`,{className:`flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden`,children:(0,k.jsx)(`div`,{className:`w-full mx-auto flex-1 flex flex-col h-full overflow-hidden items-center justify-center`,children:(0,k.jsx)(F,{})})}),(0,k.jsx)(y,{activePanel:n,showLineNumbers:a,theme:r}),(0,k.jsx)(i,{activePanel:n,context:`simple`})]}),(0,k.jsx)(m,{Link:D,routes:E,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:_,showPolicyLinks:!(`__TAURI_INTERNALS__`in window),...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]})}function L(){let{t:e}=n(),t=(0,O.useContext)(g),r=d(),i=s(r.activeKbId$),o=s(r.activeSession$),c=s(r.sessionActivating$),l=s(o?.token$),u=o?.kb??null;return i!=null&&o==null&&c?(0,k.jsx)(`div`,{className:`h-screen flex items-center justify-center`,children:(0,k.jsxs)(`div`,{className:`text-center`,children:[(0,k.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4`}),(0,k.jsx)(`p`,{className:`text-gray-600 dark:text-gray-400`,children:`Loading...`})]})}):!u||!l?(0,k.jsx)(I,{t:(t,n)=>e(t,n),keyboardContext:t}):(0,k.jsxs)(h,{children:[(0,k.jsx)(P,{}),(0,k.jsxs)(`div`,{className:`h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden`,children:[(0,k.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,k.jsx)(N,{}),(0,k.jsx)(`main`,{className:`flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden`,children:(0,k.jsx)(`div`,{className:`w-full mx-auto flex-1 flex flex-col h-full overflow-hidden`,children:(0,k.jsx)(a,{})})})]}),(0,k.jsx)(m,{Link:D,routes:E,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:_,showPolicyLinks:!(`__TAURI_INTERNALS__`in window),...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]})]})}function R(){return(0,k.jsx)(L,{})}export{R as default};
2
- //# sourceMappingURL=layout-CpxxVgZl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-CpxxVgZl.js","names":[],"sources":["../../src/components/knowledge/KnowledgeNavigation.tsx","../../src/components/knowledge/KnowledgeSidebarWrapper.tsx","../../src/app/[locale]/know/layout.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from '@/i18n/routing';\nimport { usePathname, useRouter } from '@/i18n/routing';\nimport { PlusIcon, ChevronLeftIcon, Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline';\nimport {\n useSemiont,\n useObservable,\n useEventSubscriptions,\n CollapsibleResourceNavigation,\n type NavigationItem,\n} from '@semiont/react-ui';\nimport type { OpenResource } from '@semiont/sdk';\n// Custom telescope icon component\nconst TelescopeIcon = ({ className }: { className?: string }) => (\n <span className={className} style={{ fontSize: '1.25rem', lineHeight: '1' }}>🔭</span>\n);\n\ninterface KnowledgeNavigationProps {\n isCollapsed: boolean;\n toggleCollapsed: () => void;\n navigationMenu?: (onClose: () => void) => React.ReactNode;\n}\n\n// Adapter: CollapsibleResourceNavigation passes href, but our Link uses `to`\nfunction HrefLink({ href, to: _to, ...props }: React.ComponentProps<typeof Link> & { href?: string }) {\n return <Link to={(href ?? '') as string} {...props} />;\n}\n\nexport function KnowledgeNavigation({ isCollapsed, toggleCollapsed, navigationMenu }: KnowledgeNavigationProps) {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Sidebar.${k}`, p as any) as string;\n const pathname = usePathname();\n const router = useRouter();\n const semiont = useSemiont();\n const openResources = useObservable(semiont.openResources$) ?? [];\n const removeResource = semiont.removeOpenResource.bind(semiont);\n const reorderResources = semiont.reorderOpenResources.bind(semiont);\n\n const fixedNavigation: NavigationItem[] = [\n {\n name: t('discover'),\n href: '/know/discover',\n icon: TelescopeIcon,\n description: t('searchAndBrowse')\n },\n {\n name: t('compose'),\n href: '/know/compose',\n icon: PlusIcon,\n description: t('composeNewResource')\n }\n ];\n\n // Handle sidebar toggle events\n const handleSidebarToggle = useCallback(() => {\n toggleCollapsed();\n }, [toggleCollapsed]);\n\n // Handle resource close events\n const handleResourceClose = useCallback(({ resourceId }: { resourceId: string }) => {\n removeResource(resourceId);\n\n // If we're closing the currently viewed document, navigate to Discover\n if (pathname === `/know/resource/${resourceId}`) {\n router.push('/know/discover');\n }\n }, [removeResource, pathname, router]);\n\n // Handle resource reorder events\n const handleResourceReorder = useCallback(({ oldIndex, newIndex }: { oldIndex: number; newIndex: number }) => {\n reorderResources(oldIndex, newIndex);\n }, [reorderResources]);\n\n // Subscribe to navigation events\n useEventSubscriptions({\n 'shell:sidebar-toggle': handleSidebarToggle,\n 'tabs:close': handleResourceClose,\n 'tabs:reorder': handleResourceReorder,\n });\n\n // Handle navigation\n const handleNavigate = (path: string) => {\n router.push(path);\n };\n\n // Build resource href\n const getResourceHref = (resourceId: string) => {\n return `/know/resource/${resourceId}`;\n };\n\n return (\n <div className=\"flex flex-col h-full\">\n <div className=\"flex-1 min-h-0 overflow-y-auto\">\n <CollapsibleResourceNavigation\n fixedItems={fixedNavigation}\n resources={openResources as OpenResource[]}\n isCollapsed={isCollapsed}\n currentPath={pathname}\n LinkComponent={HrefLink as any}\n onNavigate={handleNavigate}\n getResourceHref={getResourceHref}\n className=\"knowledge-navigation\"\n translations={{\n title: t('title')\n }}\n icons={{\n chevronLeft: ChevronLeftIcon,\n bars: Bars3Icon,\n close: XMarkIcon\n }}\n navigationMenu={navigationMenu}\n />\n </div>\n </div>\n );\n}","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { LeftSidebar, useSemiont, useObservable } from '@semiont/react-ui';\nimport { KnowledgeNavigation } from './KnowledgeNavigation';\nimport { Link, routes } from '@/lib/routing';\n\nexport function KnowledgeSidebarWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const session = useObservable(useSemiont().activeSession$);\n const user = useObservable(session?.user$);\n const isAuthenticated = !!user;\n const isAdmin = user?.isAdmin ?? false;\n const isModerator = user?.isModerator ?? false;\n\n return (\n <LeftSidebar\n Link={Link}\n routes={routes}\n t={t}\n tHome={tHome}\n brandingLink=\"/\"\n collapsible={true}\n storageKey=\"knowledgeNavCollapsed\"\n isAuthenticated={isAuthenticated}\n isAdmin={isAdmin}\n isModerator={isModerator}\n >\n {(isCollapsed, toggleCollapsed, navigationMenu) => (\n <KnowledgeNavigation\n isCollapsed={isCollapsed}\n toggleCollapsed={toggleCollapsed}\n navigationMenu={navigationMenu}\n />\n )}\n </LeftSidebar>\n );\n}\n","import { useContext } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { KnowledgeSidebarWrapper } from '@/components/knowledge/KnowledgeSidebarWrapper';\nimport {\n Footer,\n ResourceAnnotationsProvider,\n Toolbar,\n useSemiont,\n useShellStateUnit,\n useObservable,\n useTheme,\n useLineNumbers,\n} from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link, routes } from '@/lib/routing';\n\nfunction GlobalEventsConnector() {\n return null;\n}\n\n/**\n * Empty state for the main content area when no KB is connected or authenticated.\n * Shows contextual guidance based on whether any KBs exist.\n */\nfunction DiscoverEmptyState() {\n const { t: _t } = useTranslation();\n const t = (k: string) => _t(`DiscoverEmptyState.${k}`) as string;\n const semiont = useSemiont();\n const knowledgeBases = useObservable(semiont.kbs$) ?? [];\n const activeKnowledgeBase = useObservable(semiont.activeSession$)?.kb ?? null;\n const status = activeKnowledgeBase\n ? semiont.getKbSessionStatus(activeKnowledgeBase.id)\n : null;\n\n if (knowledgeBases.length === 0) {\n return (\n <div style={{ textAlign: 'center', maxWidth: '28rem' }}>\n <h2 style={{ fontSize: '1.1rem', fontWeight: 600, marginBottom: '0.5rem' }}>{t('noKnowledgeBases')}</h2>\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5, marginBottom: '0.75rem' }}>\n {t('noKnowledgeBasesHint')}\n </p>\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5 }}>\n <a href=\"https://github.com/The-AI-Alliance/semiont\" target=\"_blank\" rel=\"noopener noreferrer\" style={{ color: 'var(--semiont-color-primary-500)' }}>{t('findKnowledgeBases')}</a>\n {' · '}\n <a href=\"https://github.com/The-AI-Alliance/semiont-template-kb\" target=\"_blank\" rel=\"noopener noreferrer\" style={{ color: 'var(--semiont-color-primary-500)' }}>{t('createNew')}</a>\n </p>\n </div>\n );\n }\n\n if (status === 'authenticated') {\n return null;\n }\n\n return (\n <div style={{ textAlign: 'center', maxWidth: '24rem' }}>\n <h2 style={{ fontSize: '1.1rem', fontWeight: 600, marginBottom: '0.5rem' }}>\n {activeKnowledgeBase?.label ?? ''}\n </h2>\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5 }}>\n {status === 'expired' ? t('sessionExpired') : t('signedOut')}\n {' '}{t('signInHint')}\n </p>\n </div>\n );\n}\n\nfunction UnauthenticatedKnowledgeLayout({ t, keyboardContext }: { t: (key: string, params?: Record<string, unknown>) => string; keyboardContext: { openKeyboardHelp?: () => void } | null }) {\n const browseStateUnit = useShellStateUnit();\n const activePanel = useObservable(browseStateUnit.activePanel$) ?? null;\n const { theme } = useTheme();\n const { showLineNumbers } = useLineNumbers();\n\n return (\n <div className=\"h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden\">\n <div className=\"flex flex-1 overflow-hidden\">\n <main className=\"flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden\">\n <div className=\"w-full mx-auto flex-1 flex flex-col h-full overflow-hidden items-center justify-center\">\n <DiscoverEmptyState />\n </div>\n </main>\n <ToolbarPanels\n activePanel={activePanel}\n showLineNumbers={showLineNumbers}\n theme={theme}\n />\n <Toolbar activePanel={activePanel} context=\"simple\" />\n </div>\n <Footer\n Link={Link}\n routes={routes}\n t={(key: string, params?: Record<string, unknown>) => t(`Footer.${key}`, params as any) as string}\n CookiePreferences={CookiePreferences}\n showPolicyLinks={!('__TAURI_INTERNALS__' in window)}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n />\n </div>\n );\n}\n\nfunction KnowledgeLayoutBody() {\n const { t } = useTranslation();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n const semiont = useSemiont();\n const activeKbId = useObservable(semiont.activeKbId$);\n const session = useObservable(semiont.activeSession$);\n const sessionActivating = useObservable(semiont.sessionActivating$);\n const token = useObservable(session?.token$);\n const activeKnowledgeBase = session?.kb ?? null;\n // \"Loading\" = a session construction is actively in flight. Without\n // the `sessionActivating` guard we'd sit on the spinner forever after\n // any `signOut`, which also leaves `activeKbId` set but `session`\n // null.\n const isLoading = activeKbId != null && session == null && sessionActivating;\n\n if (isLoading) {\n return (\n <div className=\"h-screen flex items-center justify-center\">\n <div className=\"text-center\">\n <div className=\"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4\"></div>\n <p className=\"text-gray-600 dark:text-gray-400\">Loading...</p>\n </div>\n </div>\n );\n }\n\n if (!activeKnowledgeBase || !token) {\n return (\n <UnauthenticatedKnowledgeLayout t={(key: string, params?: Record<string, unknown>) => t(key, params as any) as string} keyboardContext={keyboardContext} />\n );\n }\n\n return (\n <ResourceAnnotationsProvider>\n <GlobalEventsConnector />\n <div className=\"h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden\">\n <div className=\"flex flex-1 overflow-hidden\">\n <KnowledgeSidebarWrapper />\n <main className=\"flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden\">\n <div className=\"w-full mx-auto flex-1 flex flex-col h-full overflow-hidden\">\n <Outlet />\n </div>\n </main>\n </div>\n <Footer\n Link={Link}\n routes={routes}\n t={(key: string, params?: Record<string, unknown>) => t(`Footer.${key}`, params as any) as string}\n CookiePreferences={CookiePreferences}\n showPolicyLinks={!('__TAURI_INTERNALS__' in window)}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n />\n </div>\n </ResourceAnnotationsProvider>\n );\n}\n\nexport default function KnowledgeLayout() {\n // AuthShell is mounted by the parent ProtectedLayout in App.tsx so it\n // survives navigation between know/, admin/, and moderate/ sections.\n return <KnowledgeLayoutBody />;\n}\n"],"mappings":"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"}
@@ -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{D as i,Pt as a,Z as o,f as s,ot as c,q as l,u}from"./index-DojEUBpq.js";import{t as d}from"./KeyboardShortcutsContext-CK7NFEft.js";import{n as f,t as p}from"./CookiePreferences-Vt05bBY7.js";import{t as m}from"./ArrowsRightLeftIcon-eQUXtsyS.js";import{n as h,t as g}from"./ChevronLeftIcon-QLs1eT1j.js";import{t as _}from"./CommandLineIcon-BEeeWFhQ.js";import{i as v,r as y,t as b}from"./routing-Dqgz2rV4.js";import{n as x,t as S}from"./routing-CcetIVef.js";var C=e(t());function w({title:e,titleId:t,...n},r){return C.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?C.createElement(`title`,{id:t},e):null,C.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z`}))}var T=C.forwardRef(w),E=r();function D({href:e,to:t,...n}){return(0,E.jsx)(b,{to:e??``,...n})}function O({isCollapsed:e,toggleCollapsed:t,navigationMenu:r}){let{t:a}=n(),o=(e,t)=>a(`Administration.${e}`,t),{t:s}=n(),c=(e,t)=>s(`Sidebar.${e}`,t),u=y();l({"shell:sidebar-toggle":(0,C.useCallback)(()=>{t()},[t])});let d=[{name:o(`users`),href:`/admin/users`,icon:T,description:o(`usersDescription`)},{name:o(`oauthSettings`),href:`/admin/security`,icon:f,description:o(`oauthSettingsDescription`)},{name:o(`exchange`),href:`/admin/exchange`,icon:m,description:o(`exchangeDescription`)},{name:o(`devops`),href:`/admin/devops`,icon:_,description:o(`devopsDescription`)}];return(0,E.jsx)(i,{title:o(`title`),items:d,currentPath:u,LinkComponent:D,...r&&{dropdownContent:r},isCollapsed:e,icons:{chevronLeft:g,bars:h},collapseSidebarLabel:c(`collapseSidebar`),expandSidebarLabel:c(`expandSidebar`)})}function k(){let{t:e}=n(),t=(0,C.useContext)(d),r=o(c().activeSession$),i=o(r?.user$),l=r?.kb??null,f=v();return l?(0,E.jsxs)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 flex flex-col`,children:[(0,E.jsxs)(`div`,{className:`flex flex-1`,children:[(0,E.jsx)(s,{Link:S,routes:x,t:t=>e(`Navigation.${t}`),tHome:t=>e(`Home.${t}`),brandingLink:`/`,collapsible:!0,storageKey:`admin-sidebar-collapsed`,isAuthenticated:!!i,isAdmin:i?.isAdmin??!1,isModerator:i?.isModerator??!1,children:(e,t,n)=>(0,E.jsx)(O,{isCollapsed:e,toggleCollapsed:t,navigationMenu:n})}),(0,E.jsx)(`main`,{className:`flex-1 p-6 flex flex-col`,children:(0,E.jsx)(`div`,{className:`max-w-7xl mx-auto flex-1 flex flex-col w-full`,children:(0,E.jsx)(a,{})})})]}),(0,E.jsx)(u,{Link:S,routes:x,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:p,...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]}):(f.push(`/know`),null)}function A(){return(0,E.jsx)(k,{})}export{A as default};
2
- //# sourceMappingURL=layout-DGddEk2F.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{D as i,Pt as a,Z as o,f as s,ot as c,q as l,u}from"./index-DojEUBpq.js";import{t as d}from"./KeyboardShortcutsContext-CK7NFEft.js";import{t as f}from"./CookiePreferences-Vt05bBY7.js";import{t as p}from"./ArrowsRightLeftIcon-eQUXtsyS.js";import{n as m,t as h}from"./ChevronLeftIcon-QLs1eT1j.js";import{i as g,r as _,t as v}from"./routing-Dqgz2rV4.js";import{n as y,t as b}from"./routing-CcetIVef.js";var x=e(t());function S({title:e,titleId:t,...n},r){return x.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?x.createElement(`title`,{id:t},e):null,x.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25`}))}var C=x.forwardRef(S);function w({title:e,titleId:t,...n},r){return x.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?x.createElement(`title`,{id:t},e):null,x.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z`}))}var T=x.forwardRef(w);function E({title:e,titleId:t,...n},r){return x.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?x.createElement(`title`,{id:t},e):null,x.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 0 0 5.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 0 0 9.568 3Z`}),x.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 6h.008v.008H6V6Z`}))}var D=x.forwardRef(E),O=r();function k({href:e,to:t,...n}){return(0,O.jsx)(v,{to:e??``,...n})}function A({isCollapsed:e,toggleCollapsed:t,navigationMenu:r}){let{t:a}=n(),o=(e,t)=>a(`Moderation.${e}`,t),{t:s}=n(),c=(e,t)=>s(`Sidebar.${e}`,t),u=_();l({"shell:sidebar-toggle":(0,x.useCallback)(()=>{t()},[t])});let d=[{name:o(`recentResources`),href:`/moderate/recent`,icon:T,description:o(`recentResourcesDescription`)},{name:o(`entityTags`),href:`/moderate/entity-tags`,icon:D,description:o(`entityTagsDescription`)},{name:o(`tagSchemas`),href:`/moderate/tag-schemas`,icon:C,description:o(`tagSchemasDescription`)},{name:o(`linkedData`),href:`/moderate/linked-data`,icon:p,description:o(`linkedDataDescription`)}];return(0,O.jsx)(i,{title:o(`title`),items:d,currentPath:u,LinkComponent:k,...r&&{dropdownContent:r},isCollapsed:e,icons:{chevronLeft:h,bars:m},collapseSidebarLabel:c(`collapseSidebar`),expandSidebarLabel:c(`expandSidebar`)})}function j(){let{t:e}=n(),t=(0,x.useContext)(d),r=o(c().activeSession$),i=o(r?.user$),l=r?.kb??null,p=g();return l?(0,O.jsxs)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 flex flex-col`,children:[(0,O.jsxs)(`div`,{className:`flex flex-1`,children:[(0,O.jsx)(s,{Link:b,routes:y,t:t=>e(`Navigation.${t}`),tHome:t=>e(`Home.${t}`),brandingLink:`/`,collapsible:!0,storageKey:`moderation-sidebar-collapsed`,isAuthenticated:!!i,isAdmin:i?.isAdmin??!1,isModerator:i?.isModerator??!1,children:(e,t,n)=>(0,O.jsx)(A,{isCollapsed:e,toggleCollapsed:t,navigationMenu:n})}),(0,O.jsx)(`main`,{className:`flex-1 p-6 flex flex-col`,children:(0,O.jsx)(`div`,{className:`max-w-7xl mx-auto flex-1 flex flex-col w-full`,children:(0,O.jsx)(a,{})})})]}),(0,O.jsx)(u,{Link:b,routes:y,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:f,...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]}):(p.push(`/know`),null)}function M(){return(0,O.jsx)(j,{})}export{M as default};
2
- //# sourceMappingURL=layout-WUjhuEFR.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{O as i,Pt as a,at as o,it as s,j as c,m as l,q as u,rt as d}from"./index-DojEUBpq.js";import{a as f,c as p,l as m,n as h,o as g,u as _}from"./KeyboardShortcutsContext-CK7NFEft.js";import{i as v}from"./routing-Dqgz2rV4.js";var y=e(t());function b({title:e,titleId:t,...n},r){return y.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?y.createElement(`title`,{id:t},e):null,y.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`m19.5 8.25-7.5 7.5-7.5-7.5`}))}var x=y.forwardRef(b);function S({title:e,titleId:t,...n},r){return y.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?y.createElement(`title`,{id:t},e):null,y.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`m4.5 15.75 7.5-7.5 7.5 7.5`}))}var C=y.forwardRef(S);function w(){let e=v();return u({"nav:external":(0,y.useCallback)(({url:t,cancelFallback:n})=>{n(),e.push(t)},[e]),"nav:push":(0,y.useCallback)(({path:t})=>{e.push(t)},[e])}),null}function T(e,t){let n=e.match(/\{(\w+),\s*plural,\s*/);if(!n)return e;let r=t[n[1]];if(r===void 0)return e;let i=n[0].length+n.index,a=1,o=i;for(let t=i;t<e.length;t++)if(e[t]===`{`)a++;else if(e[t]===`}`&&(a--,a===0)){o=t;break}let s=e.substring(i,o),c={},l=/(?:=(\d+)|(\w+))\s*\{([^}]+)\}/g,u;for(;(u=l.exec(s))!==null;){let[,e,t,n]=u,r=e===void 0?t:`=${e}`;c[r]=n}let d=c[`=${r}`];if(d!==void 0){let t=d.replace(/#/g,String(r));return e.substring(0,n.index)+t+e.substring(o+1)}let f=c.other;if(f!==void 0){let t=f.replace(/#/g,String(r));return e.substring(0,n.index)+t+e.substring(o+1)}return e}function E(e,t){let n=T(e,t);return Object.entries(t).forEach(([e,t])=>{n=n.replace(RegExp(`\\{\\{${e}\\}\\}`,`g`),String(t))}),n}function D(){let{i18n:e}=n();return(0,y.useMemo)(()=>({t:(t,n,r)=>{let i=e.getResourceBundle(e.language,`translation`)?.[t]?.[n];return i?r&&typeof i==`string`?E(i,r):i:`${t}.${n}`}}),[e,e.language])}var O=r();function k({children:e}){return(0,O.jsx)(o,{translationManager:D(),children:(0,O.jsx)(d,{children:(0,O.jsx)(s,{children:(0,O.jsx)(l,{children:(0,O.jsx)(h,{children:(0,O.jsxs)(c,{children:[(0,O.jsx)(w,{}),e]})})})})})})}function A({className:e=``}){let{t}=n(),r=(e,n)=>t(`CookieBanner.${e}`,n),[i,a]=(0,y.useState)(!1),[o,s]=(0,y.useState)(!1),[c,l]=(0,y.useState)(!1),[u,d]=(0,y.useState)(`GENERAL`),[h,v]=(0,y.useState)({necessary:!0,analytics:!1,marketing:!1,preferences:!1});(0,y.useEffect)(()=>{(async()=>{if(m()){a(!0);try{let[e,t]=await Promise.all([g(),f()]);d(e?`GDPR`:t?`CCPA`:`GENERAL`)}catch(e){console.error(`Failed to detect region:`,e),d(`GENERAL`)}}})()},[]);let b=async()=>{l(!0);try{await Promise.resolve(p({necessary:!0,analytics:!0,marketing:!0,preferences:!0})),a(!1)}catch(e){console.error(`Failed to save cookie consent:`,e)}finally{l(!1)}},S=async()=>{l(!0);try{await Promise.resolve(p({necessary:!0,analytics:!1,marketing:!1,preferences:!1})),a(!1)}catch(e){console.error(`Failed to save cookie consent:`,e)}finally{l(!1)}},w=async()=>{l(!0);try{await Promise.resolve(p(h)),a(!1)}catch(e){console.error(`Failed to save cookie consent:`,e)}finally{l(!1)}},T=e=>{e!==`necessary`&&v(t=>({...t,[e]:!t[e]}))},E=()=>{switch(u){case`GDPR`:return{title:r(`gdprTitle`),description:r(`gdprDescription`),learnMore:r(`gdprLearnMore`)};case`CCPA`:return{title:r(`ccpaTitle`),description:r(`ccpaDescription`),learnMore:r(`ccpaLearnMore`)};default:return{title:r(`generalTitle`),description:r(`generalDescription`),learnMore:r(`generalLearnMore`)}}};if(!i)return null;let D=E();return(0,O.jsx)(`div`,{className:e,style:{position:`fixed`,bottom:0,left:0,right:0,zIndex:50,backgroundColor:`var(--semiont-bg-primary)`,borderTop:`1px solid var(--semiont-border-primary)`,boxShadow:`var(--semiont-shadow-lg)`},children:(0,O.jsx)(`div`,{style:{maxWidth:`80rem`,margin:`0 auto`,padding:`1rem 1.5rem`},children:(0,O.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`1rem`},children:[(0,O.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`1.5rem`,flexWrap:`wrap`},children:[(0,O.jsxs)(`div`,{style:{flex:1,minWidth:`300px`},children:[(0,O.jsx)(`h3`,{style:{fontSize:`1.125rem`,fontWeight:600,color:`var(--semiont-text-primary)`,marginBottom:`0.5rem`},children:D.title}),(0,O.jsx)(`p`,{style:{fontSize:`var(--semiont-text-sm, 0.875rem)`,color:`var(--semiont-text-secondary)`,marginBottom:`0.25rem`},children:D.description}),(0,O.jsx)(`p`,{style:{fontSize:`var(--semiont-text-xs, 0.75rem)`,color:`var(--semiont-text-tertiary)`},children:D.learnMore})]}),(0,O.jsxs)(`div`,{style:{display:`flex`,gap:`0.75rem`,alignItems:`center`,flexWrap:`wrap`},children:[(0,O.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),className:`semiont-button--secondary`,style:{display:`flex`,alignItems:`center`,gap:`0.25rem`},children:[r(`customize`),o?(0,O.jsx)(C,{style:{width:`1rem`,height:`1rem`}}):(0,O.jsx)(x,{style:{width:`1rem`,height:`1rem`}})]}),u!==`GDPR`&&(0,O.jsx)(`button`,{type:`button`,onClick:S,disabled:c,className:`semiont-button--secondary`,children:r(c?`saving`:`rejectAll`)}),(0,O.jsx)(`button`,{type:`button`,onClick:b,disabled:c,className:`semiont-button--primary`,children:r(c?`saving`:`acceptAll`)})]})]}),o&&(0,O.jsx)(`div`,{style:{borderTop:`1px solid var(--semiont-border-primary)`,paddingTop:`1rem`},children:(0,O.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`1rem`},children:[(0,O.jsx)(`h4`,{style:{fontSize:`1rem`,fontWeight:500,color:`var(--semiont-text-primary)`},children:r(`cookiePreferences`)}),(0,O.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`0.75rem`},children:_.map(e=>(0,O.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-start`,gap:`0.75rem`},children:[(0,O.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,height:`1.25rem`},children:(0,O.jsx)(`input`,{id:`cookie-${e.id}`,type:`checkbox`,checked:h[e.id]||!1,onChange:()=>T(e.id),disabled:e.required||c,style:{accentColor:`var(--semiont-color-primary-600, #2563eb)`}})}),(0,O.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,O.jsxs)(`label`,{htmlFor:`cookie-${e.id}`,style:{fontSize:`var(--semiont-text-sm, 0.875rem)`,fontWeight:500,color:`var(--semiont-text-primary)`,cursor:`pointer`},children:[e.name,e.required&&(0,O.jsx)(`span`,{style:{fontSize:`var(--semiont-text-xs, 0.75rem)`,color:`var(--semiont-text-tertiary)`,marginLeft:`0.25rem`},children:r(`required`)})]}),(0,O.jsx)(`p`,{style:{fontSize:`var(--semiont-text-xs, 0.75rem)`,color:`var(--semiont-text-secondary)`,marginTop:`0.25rem`},children:e.description}),(0,O.jsxs)(`details`,{style:{marginTop:`0.25rem`},children:[(0,O.jsx)(`summary`,{style:{fontSize:`var(--semiont-text-xs, 0.75rem)`,color:`var(--semiont-color-primary-600, #2563eb)`,cursor:`pointer`},children:r(`viewCookies`)}),(0,O.jsx)(`div`,{style:{marginTop:`0.25rem`,fontSize:`var(--semiont-text-xs, 0.75rem)`,color:`var(--semiont-text-tertiary)`},children:e.cookies.join(`, `)})]})]})]},e.id))}),(0,O.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:`0.75rem`,paddingTop:`1rem`},children:[(0,O.jsx)(`button`,{type:`button`,onClick:()=>s(!1),className:`semiont-button--secondary`,children:r(`cancel`)}),(0,O.jsx)(`button`,{type:`button`,onClick:w,disabled:c,className:`semiont-button--primary`,children:r(c?`saving`:`savePreferences`)})]})]})})]})})})}function j(){return(0,O.jsxs)(k,{children:[(0,O.jsx)(i,{}),(0,O.jsx)(a,{}),(0,O.jsx)(A,{})]})}export{j as default};
2
- //# sourceMappingURL=layout-osn4jTJF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-osn4jTJF.js","names":["ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ChevronDownIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ChevronUpIcon.js","../../src/components/knowledge/NavigationHandler.tsx","../../src/hooks/useMergedTranslationManager.ts","../../src/app/providers.tsx","../../src/components/CookieBanner.tsx","../../src/app/[locale]/layout.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ChevronDownIcon({\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: \"m19.5 8.25-7.5 7.5-7.5-7.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronUpIcon({\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 15.75 7.5-7.5 7.5 7.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronUpIcon);\nexport default ForwardRef;","import { useCallback } from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { useEventSubscriptions } from '@semiont/react-ui';\n\n/**\n * NavigationHandler - Connects NavigationEventBus to Next.js router\n *\n * This component subscribes to navigation events from @semiont/react-ui\n * components and handles them using Next.js client-side routing.\n *\n * Benefits:\n * - Client-side navigation (no page reload)\n * - Preserves React state\n * - Faster navigation\n * - Better UX\n *\n * Must be mounted in app layout to handle all navigation requests.\n */\nexport function NavigationHandler() {\n const router = useRouter();\n\n // Handle external navigation events\n const handleExternalNavigate = useCallback(({ url, cancelFallback }: { url: string; resourceId?: string; cancelFallback: () => void }) => {\n cancelFallback(); // Prevent window.location fallback since we're handling with client-side routing\n router.push(url);\n }, [router]);\n\n // Handle router push events\n const handleRouterPush = useCallback(({ path }: { path: string; reason?: string }) => {\n router.push(path);\n }, [router]);\n\n useEventSubscriptions({\n 'nav:external': handleExternalNavigate,\n 'nav:push': handleRouterPush,\n });\n\n // This component only manages navigation, doesn't render anything\n return null;\n}\n","import { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport type { TranslationManager } from '@semiont/react-ui';\n\ntype Messages = Record<string, Record<string, string>>;\n\n/**\n * Process ICU MessageFormat plural syntax.\n * Supports: `{count, plural, =0 {text} =1 {text} other {text}}` with `#` as\n * the count placeholder inside each branch.\n *\n * Mirrors the reference implementation in\n * `packages/react-ui/src/contexts/TranslationContext.tsx`. Kept in sync\n * deliberately — diverging the two managers is what produced the\n * literal-plural-format render bug in the Tags panel.\n */\nexport function processPluralFormat(text: string, params: Record<string, unknown>): string {\n const pluralMatch = text.match(/\\{(\\w+),\\s*plural,\\s*/);\n if (!pluralMatch) return text;\n\n const paramName = pluralMatch[1]!;\n const count = params[paramName];\n if (count === undefined) return text;\n\n // Find the matching closing brace by counting nested pairs.\n const startPos = pluralMatch[0].length + pluralMatch.index!;\n let braceCount = 1;\n let endPos = startPos;\n for (let i = startPos; i < text.length; i++) {\n if (text[i] === '{') braceCount++;\n else if (text[i] === '}') {\n braceCount--;\n if (braceCount === 0) { endPos = i; break; }\n }\n }\n\n const pluralCases = text.substring(startPos, endPos);\n const cases: Record<string, string> = {};\n const caseRegex = /(?:=(\\d+)|(\\w+))\\s*\\{([^}]+)\\}/g;\n let caseMatch;\n while ((caseMatch = caseRegex.exec(pluralCases)) !== null) {\n const [, exactNumber, keyword, textContent] = caseMatch;\n const key = exactNumber !== undefined ? `=${exactNumber}` : keyword!;\n cases[key] = textContent!;\n }\n\n const exactMatch = cases[`=${count}`];\n if (exactMatch !== undefined) {\n const replaced = exactMatch.replace(/#/g, String(count));\n return text.substring(0, pluralMatch.index!) + replaced + text.substring(endPos + 1);\n }\n const otherCase = cases['other'];\n if (otherCase !== undefined) {\n const replaced = otherCase.replace(/#/g, String(count));\n return text.substring(0, pluralMatch.index!) + replaced + text.substring(endPos + 1);\n }\n return text;\n}\n\n/**\n * Run a translation string through the standard interpolation pipeline:\n * plural format first (since it may consume more of the string), then\n * `{{paramKey}}` parameter substitution. Exported for unit testing.\n */\nexport function interpolateTranslation(\n translation: string,\n params: Record<string, unknown>,\n): string {\n let result = processPluralFormat(translation, params);\n Object.entries(params).forEach(([paramKey, paramValue]) => {\n result = result.replace(new RegExp(`\\\\{\\\\{${paramKey}\\\\}\\\\}`, 'g'), String(paramValue));\n });\n return result;\n}\n\n/**\n * Translation Manager for Frontend\n *\n * Wraps react-i18next. The messages JSON (loaded by i18next-http-backend) has\n * the same flat namespace structure: { \"Namespace\": { \"key\": \"value\" } }.\n * TranslationManager.t(namespace, key) maps directly to this structure.\n *\n * Interpolation supports two syntaxes, in this precedence order:\n *\n * 1. ICU MessageFormat plural — `{count, plural, =0 {…} =1 {…} other {…}}`\n * — used for count-sensitive strings like \"1 category selected\" /\n * \"3 categories selected\".\n * 2. Double-brace parameter substitution — `{{paramKey}}` — used for\n * everything else (`{{mode}}`, `{{delay}}`, etc.).\n *\n * The two managers (this one and the reference in\n * `@semiont/react-ui/contexts/TranslationContext`) implement the same\n * interpolation contract; keep them aligned when changing either.\n */\nexport function useMergedTranslationManager(): TranslationManager {\n const { i18n } = useTranslation();\n\n return useMemo(() => {\n return {\n t: (namespace: string, key: string, params?: Record<string, unknown>): string => {\n const messages = i18n.getResourceBundle(i18n.language, 'translation') as Messages | undefined;\n const translation = messages?.[namespace]?.[key];\n\n if (!translation) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Translation not found: ${namespace}.${key} (locale: ${i18n.language})`);\n }\n return `${namespace}.${key}`;\n }\n\n if (params && typeof translation === 'string') {\n return interpolateTranslation(translation, params);\n }\n\n return translation;\n },\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [i18n, i18n.language]);\n}\n","import React from 'react';\nimport {\n ToastProvider,\n LiveRegionProvider,\n TranslationProvider,\n ThemeProvider,\n SemiontProvider,\n} from '@semiont/react-ui';\nimport { KeyboardShortcutsProvider } from '@/contexts/KeyboardShortcutsContext';\nimport { NavigationHandler } from '@/components/knowledge/NavigationHandler';\nimport { useMergedTranslationManager } from '@/hooks/useMergedTranslationManager';\n\n/**\n * Root Provider Composition for Semiont Frontend.\n *\n * Wires up GLOBAL contexts that every page needs.\n *\n * The module-scoped `SemiontBrowser` singleton (KB list, active KB,\n * per-KB SemiontSession) is made available via `<SemiontProvider>` at\n * the app root — mounting it here is cheap because the singleton itself\n * survives every React re-render and route change.\n *\n * Auth-dependent UI (ProtectedErrorBoundary, SessionExpiredModal,\n * PermissionDeniedModal) is bundled in `AuthShell` and mounted only in\n * protected layouts (know/, admin/, moderate/, auth/welcome/). Pre-app\n * routes (landing, OAuth flow) intentionally do NOT mount AuthShell —\n * they have no session UI.\n *\n * The `SemiontClient` is owned by the per-KB `SemiontSession`, which\n * `SemiontBrowser` constructs on demand. Components read\n * `useObservable(useSemiont().activeSession$)?.client`.\n *\n * The event bus lives inside the client (owned by `SemiontSession`).\n * Components emit via `session?.emit(...)` and subscribe via\n * `useEventSubscription[s]`.\n *\n * Provider order — outer to inner:\n * 1. TranslationProvider — i18n\n * 2. SemiontProvider — SemiontBrowser singleton\n * 3. ToastProvider — toast notifications\n * 4. LiveRegionProvider — a11y live region\n * 5. KeyboardShortcutsProvider — keyboard shortcuts\n * 6. ThemeProvider — theme\n * + NavigationHandler\n */\nexport function Providers({ children }: { children: React.ReactNode }) {\n const translationManager = useMergedTranslationManager();\n\n return (\n <TranslationProvider translationManager={translationManager}>\n <SemiontProvider>\n <ToastProvider>\n <LiveRegionProvider>\n <KeyboardShortcutsProvider>\n <ThemeProvider>\n <NavigationHandler />\n {children}\n </ThemeProvider>\n </KeyboardShortcutsProvider>\n </LiveRegionProvider>\n </ToastProvider>\n </SemiontProvider>\n </TranslationProvider>\n );\n}\n","\"use client\";\n\nimport React, { useState, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n getCookieConsent,\n setCookieConsent,\n shouldShowBanner,\n COOKIE_CATEGORIES,\n CookieConsent,\n isCCPAApplicable,\n isGDPRApplicable,\n type CookieCategory\n} from '@/lib/cookies';\nimport { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline';\n\ninterface CookieBannerProps {\n className?: string;\n}\n\nexport function CookieBanner({ className = '' }: CookieBannerProps) {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`CookieBanner.${k}`, p as any) as string;\n const [isVisible, setIsVisible] = useState(false);\n const [showDetails, setShowDetails] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [region, setRegion] = useState<'GDPR' | 'CCPA' | 'GENERAL'>('GENERAL');\n const [consent, setConsent] = useState<Partial<CookieConsent>>({\n necessary: true,\n analytics: false,\n marketing: false,\n preferences: false\n });\n\n useEffect(() => {\n const checkVisibility = async () => {\n if (shouldShowBanner()) {\n setIsVisible(true);\n\n try {\n // Determine applicable regulation\n const [isGDPR, isCCPA] = await Promise.all([\n isGDPRApplicable(),\n isCCPAApplicable()\n ]);\n\n if (isGDPR) {\n setRegion('GDPR');\n } else if (isCCPA) {\n setRegion('CCPA');\n } else {\n setRegion('GENERAL');\n }\n } catch (error) {\n // If region detection fails, default to GENERAL\n console.error('Failed to detect region:', error);\n setRegion('GENERAL');\n }\n }\n };\n\n checkVisibility();\n }, []);\n\n const handleAcceptAll = async () => {\n setIsLoading(true);\n\n try {\n const fullConsent = {\n necessary: true,\n analytics: true,\n marketing: true,\n preferences: true\n };\n\n await Promise.resolve(setCookieConsent(fullConsent));\n setIsVisible(false);\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleRejectAll = async () => {\n setIsLoading(true);\n\n try {\n const minimalConsent = {\n necessary: true,\n analytics: false,\n marketing: false,\n preferences: false\n };\n\n await Promise.resolve(setCookieConsent(minimalConsent));\n setIsVisible(false);\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleSavePreferences = async () => {\n setIsLoading(true);\n\n try {\n await Promise.resolve(setCookieConsent(consent));\n setIsVisible(false);\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleCategoryToggle = (categoryId: keyof Omit<CookieConsent, 'timestamp' | 'version'>) => {\n if (categoryId === 'necessary') return; // Can't toggle necessary cookies\n\n setConsent(prev => ({\n ...prev,\n [categoryId]: !prev[categoryId]\n }));\n };\n\n const getBannerText = () => {\n switch (region) {\n case 'GDPR':\n return {\n title: t('gdprTitle'),\n description: t('gdprDescription'),\n learnMore: t('gdprLearnMore')\n };\n case 'CCPA':\n return {\n title: t('ccpaTitle'),\n description: t('ccpaDescription'),\n learnMore: t('ccpaLearnMore')\n };\n default:\n return {\n title: t('generalTitle'),\n description: t('generalDescription'),\n learnMore: t('generalLearnMore')\n };\n }\n };\n\n if (!isVisible) return null;\n\n const bannerText = getBannerText();\n\n return (\n <div\n className={className}\n style={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 50,\n backgroundColor: 'var(--semiont-bg-primary)',\n borderTop: '1px solid var(--semiont-border-primary)',\n boxShadow: 'var(--semiont-shadow-lg)',\n }}\n >\n <div style={{ maxWidth: '80rem', margin: '0 auto', padding: '1rem 1.5rem' }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n {/* Main banner content */}\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: '1.5rem', flexWrap: 'wrap' }}>\n <div style={{ flex: 1, minWidth: '300px' }}>\n <h3 style={{\n fontSize: '1.125rem',\n fontWeight: 600,\n color: 'var(--semiont-text-primary)',\n marginBottom: '0.5rem',\n }}>\n {bannerText.title}\n </h3>\n <p style={{\n fontSize: 'var(--semiont-text-sm, 0.875rem)',\n color: 'var(--semiont-text-secondary)',\n marginBottom: '0.25rem',\n }}>\n {bannerText.description}\n </p>\n <p style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-tertiary)',\n }}>\n {bannerText.learnMore}\n </p>\n </div>\n\n {/* Action buttons */}\n <div style={{ display: 'flex', gap: '0.75rem', alignItems: 'center', flexWrap: 'wrap' }}>\n <button\n type=\"button\"\n onClick={() => setShowDetails(!showDetails)}\n className=\"semiont-button--secondary\"\n style={{ display: 'flex', alignItems: 'center', gap: '0.25rem' }}\n >\n {t('customize')}\n {showDetails ? (\n <ChevronUpIcon style={{ width: '1rem', height: '1rem' }} />\n ) : (\n <ChevronDownIcon style={{ width: '1rem', height: '1rem' }} />\n )}\n </button>\n\n {region !== 'GDPR' && (\n <button\n type=\"button\"\n onClick={handleRejectAll}\n disabled={isLoading}\n className=\"semiont-button--secondary\"\n >\n {isLoading ? t('saving') : t('rejectAll')}\n </button>\n )}\n\n <button\n type=\"button\"\n onClick={handleAcceptAll}\n disabled={isLoading}\n className=\"semiont-button--primary\"\n >\n {isLoading ? t('saving') : t('acceptAll')}\n </button>\n </div>\n </div>\n\n {/* Detailed preferences */}\n {showDetails && (\n <div style={{\n borderTop: '1px solid var(--semiont-border-primary)',\n paddingTop: '1rem',\n }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n <h4 style={{\n fontSize: '1rem',\n fontWeight: 500,\n color: 'var(--semiont-text-primary)',\n }}>\n {t('cookiePreferences')}\n </h4>\n\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.75rem' }}>\n {COOKIE_CATEGORIES.map((category: CookieCategory) => (\n <div key={category.id} style={{ display: 'flex', alignItems: 'flex-start', gap: '0.75rem' }}>\n <div style={{ display: 'flex', alignItems: 'center', height: '1.25rem' }}>\n <input\n id={`cookie-${category.id}`}\n type=\"checkbox\"\n checked={consent[category.id] || false}\n onChange={() => handleCategoryToggle(category.id)}\n disabled={category.required || isLoading}\n style={{ accentColor: 'var(--semiont-color-primary-600, #2563eb)' }}\n />\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <label\n htmlFor={`cookie-${category.id}`}\n style={{\n fontSize: 'var(--semiont-text-sm, 0.875rem)',\n fontWeight: 500,\n color: 'var(--semiont-text-primary)',\n cursor: 'pointer',\n }}\n >\n {category.name}\n {category.required && (\n <span style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-tertiary)',\n marginLeft: '0.25rem',\n }}>\n {t('required')}\n </span>\n )}\n </label>\n <p style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-secondary)',\n marginTop: '0.25rem',\n }}>\n {category.description}\n </p>\n <details style={{ marginTop: '0.25rem' }}>\n <summary style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-color-primary-600, #2563eb)',\n cursor: 'pointer',\n }}>\n {t('viewCookies')}\n </summary>\n <div style={{\n marginTop: '0.25rem',\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-tertiary)',\n }}>\n {category.cookies.join(', ')}\n </div>\n </details>\n </div>\n </div>\n ))}\n </div>\n\n <div style={{\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '0.75rem',\n paddingTop: '1rem',\n }}>\n <button\n type=\"button\"\n onClick={() => setShowDetails(false)}\n className=\"semiont-button--secondary\"\n >\n {t('cancel')}\n </button>\n <button\n type=\"button\"\n onClick={handleSavePreferences}\n disabled={isLoading}\n className=\"semiont-button--primary\"\n >\n {isLoading ? t('saving') : t('savePreferences')}\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CookieBanner;\n","import { Outlet } from 'react-router-dom';\nimport { Providers } from '../providers';\nimport { CookieBanner } from '@/components/CookieBanner';\nimport { SkipLinks } from '@semiont/react-ui';\n\n/**\n * Locale Layout — root layout for all /:locale/* routes.\n *\n * Mounts only auth-independent providers. Auth-dependent providers\n * (KnowledgeBaseProvider, AuthProvider, SessionProvider, modals)\n * are mounted via AuthShell in protected layouts (know/, admin/,\n * moderate/, auth/welcome/).\n */\nexport default function LocaleLayout() {\n return (\n <Providers>\n <SkipLinks />\n <Outlet />\n <CookieBanner />\n </Providers>\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import"./rolldown-runtime-jpDsebLB.js";import{i as e,n as t}from"./i18n-B53Yefbh.js";import{t as n}from"./vendor-0HjOURbh.js";import{n as r,t as i}from"./routing-Dqgz2rV4.js";e();var a=n();function o(){let{t:e}=t(),n=(t,n)=>e(`NotFound.${t}`,n),o=r();return(0,a.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-gray-50 dark:bg-gray-900`,children:(0,a.jsxs)(`div`,{className:`text-center px-4`,children:[(0,a.jsx)(`h1`,{className:`text-6xl font-bold text-gray-900 dark:text-white mb-4`,children:n(`title`)}),(0,a.jsx)(`h2`,{className:`text-2xl font-semibold text-gray-700 dark:text-gray-300 mb-4`,children:n(`heading`)}),(0,a.jsx)(`p`,{className:`text-gray-600 dark:text-gray-400 mb-8`,children:n(`message`)}),(0,a.jsx)(i,{to:`/${o}`,className:`inline-block px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors`,children:n(`goHome`)})]})})}export{o as default};
2
- //# sourceMappingURL=not-found-CXjr3aHk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"not-found-CXjr3aHk.js","names":[],"sources":["../../src/app/[locale]/not-found.tsx"],"sourcesContent":["import React from 'react';\nimport { Link } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\nimport { useLocale } from '@/i18n/routing';\n\nexport default function NotFound() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`NotFound.${k}`, p as any) as string;\n const locale = useLocale();\n\n return (\n <div className=\"flex min-h-screen items-center justify-center bg-gray-50 dark:bg-gray-900\">\n <div className=\"text-center px-4\">\n <h1 className=\"text-6xl font-bold text-gray-900 dark:text-white mb-4\">{t('title')}</h1>\n <h2 className=\"text-2xl font-semibold text-gray-700 dark:text-gray-300 mb-4\">\n {t('heading')}\n </h2>\n <p className=\"text-gray-600 dark:text-gray-400 mb-8\">\n {t('message')}\n </p>\n <Link\n to={`/${locale}`}\n className=\"inline-block px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors\"\n >\n {t('goHome')}\n </Link>\n </div>\n </div>\n );\n}\n"],"mappings":"6LAKA,SAAwB,GAAW,CACjC,GAAM,CAAE,EAAG,GAAO,GAAgB,CAC5B,GAAK,EAAW,IAAgC,EAAG,YAAY,IAAK,EAAS,CAC7E,EAAS,GAAW,CAE1B,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,UAAU,sFACb,EAAA,EAAA,MAAC,MAAD,CAAK,UAAU,4BAAf,EACE,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,iEAAyD,EAAE,QAAQ,CAAM,CAAA,EACvF,EAAA,EAAA,KAAC,KAAD,CAAI,UAAU,wEACX,EAAE,UAAU,CACV,CAAA,EACL,EAAA,EAAA,KAAC,IAAD,CAAG,UAAU,iDACV,EAAE,UAAU,CACX,CAAA,EACJ,EAAA,EAAA,KAAC,EAAD,CACE,GAAI,IAAI,IACR,UAAU,wGAET,EAAE,SAAS,CACP,CAAA,CACH,GACF,CAAA"}
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t}from"./i18n-B53Yefbh.js";import{t as n}from"./vendor-0HjOURbh.js";import{At as r,Lt as i,S as a,V as o,Z as s,ot as c,tt as l,x as u}from"./index-DojEUBpq.js";import{t as d}from"./ToolbarPanels-wzZqAqCQ.js";import{n as f}from"./routing-Dqgz2rV4.js";import{n as p,t as m}from"./routing-CcetIVef.js";var h=e(t()),g=n();function _(){let e=r(i()?.id);return(0,g.jsx)(v,{rId:e},e)}function v({rId:e}){let t=f(),n=s(c().activeSession$),i=s(n?.streamState$)??`initial`,_=n?.kb??null,v=n?.client,y=l(()=>o(v,e)),b=s(y.resource$),x=s(y.isLoading$)??!0;(0,h.useEffect)(()=>{!x&&!b&&console.error(`[Document] Resource ${e} not found`)},[x,e,b]);let S=(0,h.useCallback)(async()=>{y.invalidate()},[y]);if(x||!b)return(0,g.jsx)(u,{});let C=b;return(0,g.jsx)(a,{resource:C,rUri:r(C[`@id`]),locale:t,Link:m,routes:p,ToolbarPanels:d,refetchDocument:S,streamStatus:i,knowledgeBaseName:_?.label})}export{_ as default};
2
- //# sourceMappingURL=page-3_orURnj.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{A as i,M as a,X as o,Z as s,et as c,nt as l,ot as u,q as d}from"./index-DojEUBpq.js";import{t as f}from"./ToolbarPanels-wzZqAqCQ.js";var p=e(t()),m=r();function h(){let{t:e}=n(),t=(t,n)=>e(`ModerateTagSchemas.${t}`,n),r=s(c().activePanel$)??null,{theme:h,setTheme:g}=l(),{showLineNumbers:_,toggleLineNumbers:v}=o();d({"settings:theme-changed":(0,p.useCallback)(({theme:e})=>{g(e)},[g]),"settings:line-numbers-toggled":(0,p.useCallback)(()=>{v()},[v])});let y=s(u().activeSession$),b=s((0,p.useMemo)(()=>y?.client.browse.tagSchemas()??null,[y]));return(0,m.jsx)(i,{schemas:b??[],isLoading:b===void 0,theme:h,showLineNumbers:_,activePanel:r,translations:{pageTitle:t(`pageTitle`),pageDescription:t(`pageDescription`),categories:t(`categories`),loading:t(`loading`)},ToolbarPanels:f,Toolbar:a})}export{h as default};
2
- //# sourceMappingURL=page-A0bP7R9_.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{E as i,Rt as a,h as o}from"./index-DojEUBpq.js";import{t as s}from"./KeyboardShortcutsContext-CK7NFEft.js";import{t as c}from"./CookiePreferences-Vt05bBY7.js";import{i as l,t as u}from"./routing-Dqgz2rV4.js";import{n as d,t as f}from"./routing-CcetIVef.js";var p=e(t()),m=r();function h(){let{t:e}=n(),t=(t,n)=>e(`AuthSignUp.${t}`,n),r=(t,n)=>e(`Footer.${t}`,n),h=(t,n)=>e(`Navigation.${t}`,n),g=(t,n)=>e(`Home.${t}`,n),[_]=a(),v=l(),y=(0,p.useContext)(s),b=_.get(`callbackUrl`)??`/auth/welcome`,x=async()=>{v.push(`/auth/connect?callbackUrl=${encodeURIComponent(b)}`)},S={pageTitle:t(`pageTitle`),signUpPrompt:t(`signUpPrompt`),signUpWithGoogle:t(`signUpWithGoogle`),creatingAccount:t(`creatingAccount`),approvedDomainsInfo:t(`approvedDomainsInfo`),termsAgreement:t(`termsAgreement`),alreadyHaveAccount:t(`alreadyHaveAccount`),tagline:g(`tagline`),backToHome:t(`backToHome`)};return(0,m.jsx)(o,{Link:f,routes:d,t:r,tNav:h,tHome:g,CookiePreferences:c,...y?.openKeyboardHelp&&{onOpenKeyboardHelp:y.openKeyboardHelp},className:`semiont-page-layout--auth`,showAuthLinks:!1,children:(0,m.jsx)(i,{onSignUp:x,Link:u,translations:S})})}function g(){return(0,m.jsx)(h,{})}export{g as default};
2
- //# sourceMappingURL=page-BXDwcCLI.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{M as i,X as a,Z as o,et as s,k as c,nt as l,ot as u,q as d,t as f}from"./index-DojEUBpq.js";import{t as p}from"./ToolbarPanels-wzZqAqCQ.js";import{t as m}from"./CommandLineIcon-BEeeWFhQ.js";var h=e(t());function g({title:e,titleId:t,...n},r){return h.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?h.createElement(`title`,{id:t},e):null,h.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z`}))}var _=h.forwardRef(g);function v({title:e,titleId:t,...n},r){return h.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?h.createElement(`title`,{id:t},e):null,h.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z`}))}var y=h.forwardRef(v),b=r();function x(){let e=!!o(o(u().activeSession$)?.user$);return(0,b.jsx)(c,{isFullyAuthenticated:e,isAuthenticated:e,hasValidBackendToken:e})}function S(){let{t:e}=n(),t=(t,n)=>e(`AdminDevOps.${t}`,n),r=o(s().activePanel$)??null,{theme:c,setTheme:u}=l(),{showLineNumbers:g,toggleLineNumbers:v}=a();return d({"settings:theme-changed":(0,h.useCallback)(({theme:e})=>{u(e)},[u]),"settings:line-numbers-toggled":(0,h.useCallback)(()=>{v()},[v])}),(0,b.jsx)(f,{suggestedFeatures:[{title:t(`systemMonitoring`),description:t(`systemMonitoringDescription`),icon:_,available:t(`systemMonitoringCLI`)},{title:t(`serviceManagement`),description:t(`serviceManagementDescription`),icon:y,available:t(`serviceManagementCLI`)},{title:t(`deploymentControl`),description:t(`deploymentControlDescription`),icon:m,available:t(`deploymentControlCLI`)}],theme:c,showLineNumbers:g,activePanel:r,translations:{title:t(`title`),subtitle:t(`subtitle`),systemStatus:t(`systemStatus`),cliOperations:t(`cliOperations`),cliOperationsDescription:t(`cliOperationsDescription`),cliTitle:t(`cliTitle`),cliDescription:t(`cliDescription`)},StatusDisplay:x,ToolbarPanels:p,Toolbar:i})}export{S as default};
2
- //# sourceMappingURL=page-CR97hIaP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-CR97hIaP.js","names":["ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ChartBarIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ServerIcon.js","../../src/app/[locale]/admin/devops/page.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ChartBarIcon({\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: \"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChartBarIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ServerIcon({\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: \"M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ServerIcon);\nexport default ForwardRef;","/**\n * DevOps Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (translations, hooks)\n * and delegates rendering to the pure React AdminDevOpsPage component.\n */\n\nimport { useTranslation } from 'react-i18next';\nimport { useEffect, useCallback } from 'react';\nimport {\n ChartBarIcon,\n ServerIcon,\n CommandLineIcon\n} from '@heroicons/react/24/outline';\nimport { StatusDisplay, Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, useShellStateUnit, useObservable, useLineNumbers, useEventSubscriptions, useSemiont } from '@semiont/react-ui';\nimport { AdminDevOpsPage } from '@semiont/react-ui';\n\n// Wrapper component that provides auth props to StatusDisplay.\n// The three booleans collapse to the same value (is the user authenticated?)\n// now that token and user are both session-owned.\nfunction StatusDisplayWithAuth() {\n const session = useObservable(useSemiont().activeSession$);\n const user = useObservable(session?.user$);\n const authed = !!user;\n return (\n <StatusDisplay\n isFullyAuthenticated={authed}\n isAuthenticated={authed}\n hasValidBackendToken={authed}\n />\n );\n}\n\nexport default function DevOpsPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminDevOps.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const browseStateUnit = useShellStateUnit();\n const activePanel = useObservable(browseStateUnit.activePanel$) ?? null;\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n // Handle theme change events\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n // Handle line numbers toggle events\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 suggestedFeatures = [\n {\n title: t('systemMonitoring'),\n description: t('systemMonitoringDescription'),\n icon: ChartBarIcon,\n available: t('systemMonitoringCLI')\n },\n {\n title: t('serviceManagement'),\n description: t('serviceManagementDescription'),\n icon: ServerIcon,\n available: t('serviceManagementCLI')\n },\n {\n title: t('deploymentControl'),\n description: t('deploymentControlDescription'),\n icon: CommandLineIcon,\n available: t('deploymentControlCLI')\n },\n ];\n\n return (\n <AdminDevOpsPage\n suggestedFeatures={suggestedFeatures}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n systemStatus: t('systemStatus'),\n cliOperations: t('cliOperations'),\n cliOperationsDescription: t('cliOperationsDescription'),\n cliTitle: t('cliTitle'),\n cliDescription: t('cliDescription'),\n }}\n StatusDisplay={StatusDisplayWithAuth}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"uVACA,SAAS,EAAa,CACpB,QACA,UACA,GAAG,GACF,EAAQ,CACT,OAAoB,EAAM,cAAc,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAK,EACL,kBAAmB,EACpB,CAAE,EAAM,CAAE,EAAqB,EAAM,cAAc,QAAS,CAC3D,GAAI,EACL,CAAE,EAAM,CAAG,KAAmB,EAAM,cAAc,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,mcACJ,CAAC,CAAC,CAEL,IAAMA,EAA2B,EAAM,WAAW,EAAa,CCvB/D,SAAS,EAAW,CAClB,QACA,UACA,GAAG,GACF,EAAQ,CACT,OAAoB,EAAM,cAAc,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAK,EACL,kBAAmB,EACpB,CAAE,EAAM,CAAE,EAAqB,EAAM,cAAc,QAAS,CAC3D,GAAI,EACL,CAAE,EAAM,CAAG,KAAmB,EAAM,cAAc,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,4SACJ,CAAC,CAAC,CAEL,IAAM,EAA2B,EAAM,WAAW,EAAW,OCF7D,SAAS,GAAwB,CAG/B,IAAM,EAAS,CAAC,CADH,EADG,EAAc,GAAY,CAAC,eAChB,EAAS,MACnB,CACjB,OACE,EAAA,EAAA,KAAC,EAAD,CACE,qBAAsB,EACtB,gBAAiB,EACjB,qBAAsB,EACtB,CAAA,CAIN,SAAwB,GAAa,CACnC,GAAM,CAAE,EAAG,GAAO,GAAgB,CAC5B,GAAK,EAAW,IAAgC,EAAG,eAAe,IAAK,EAAS,CAIhF,EAAc,EADI,GACU,CAAgB,aAAa,EAAI,KAC7D,CAAE,QAAO,YAAa,GAAU,CAChC,CAAE,kBAAiB,qBAAsB,GAAgB,CAsC/D,OA1BA,EAAsB,CACpB,0BAAA,EAAA,EAAA,cAVsC,CAAE,WAAoD,CAC5F,EAAS,EAAM,EACd,CAAC,EAAS,CAQe,CAC1B,iCAAA,EAAA,EAAA,iBANiD,CACjD,GAAmB,EAClB,CAAC,EAAkB,CAIa,CAClC,CAAC,EAwBA,EAAA,EAAA,KAAC,EAAD,CACqB,kBAAA,CAtBrB,CACE,MAAO,EAAE,mBAAmB,CAC5B,YAAa,EAAE,8BAA8B,CAC7C,KAAM,EACN,UAAW,EAAE,sBAAsB,CACpC,CACD,CACE,MAAO,EAAE,oBAAoB,CAC7B,YAAa,EAAE,+BAA+B,CAC9C,KAAM,EACN,UAAW,EAAE,uBAAuB,CACrC,CACD,CACE,MAAO,EAAE,oBAAoB,CAC7B,YAAa,EAAE,+BAA+B,CAC9C,KAAM,EACN,UAAW,EAAE,uBAAuB,CACrC,CAKoB,CACZ,QACU,kBACJ,cACb,aAAc,CACZ,MAAO,EAAE,QAAQ,CACjB,SAAU,EAAE,WAAW,CACvB,aAAc,EAAE,eAAe,CAC/B,cAAe,EAAE,gBAAgB,CACjC,yBAA0B,EAAE,2BAA2B,CACvD,SAAU,EAAE,WAAW,CACvB,eAAgB,EAAE,iBAAiB,CACpC,CACD,cAAe,EACA,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{Rt as i,a,h as o}from"./index-DojEUBpq.js";import{t as s}from"./KeyboardShortcutsContext-CK7NFEft.js";import{t as c}from"./CookiePreferences-Vt05bBY7.js";import{t as l}from"./routing-Dqgz2rV4.js";import{n as u,t as d}from"./routing-CcetIVef.js";var f=e(t()),p=r();function m(){let{t:e}=n(),t=(t,n)=>e(`AuthError.${t}`,n),r=(t,n)=>e(`Footer.${t}`,n),m=(t,n)=>e(`Navigation.${t}`,n),h=(t,n)=>e(`Home.${t}`,n),[g]=i(),_=(0,f.useContext)(s),v=g.get(`error`)??null,y={pageTitle:t(`pageTitle`),tryAgain:t(`tryAgain`),errorConfiguration:t(`errorConfiguration`),errorAccessDenied:t(`errorAccessDenied`),errorVerification:t(`errorVerification`),errorGeneric:t(`errorGeneric`)};return(0,p.jsx)(o,{Link:d,routes:u,t:r,tNav:m,tHome:h,CookiePreferences:c,..._?.openKeyboardHelp&&{onOpenKeyboardHelp:_.openKeyboardHelp},className:`bg-gray-50 dark:bg-gray-900`,children:(0,p.jsx)(a,{errorType:v,Link:l,translations:y})})}export{m as default};
2
- //# sourceMappingURL=page-ClOO6d4L.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{M as i,X as a,Z as o,et as s,g as c,nt as l,q as u}from"./index-DojEUBpq.js";import{t as d}from"./ToolbarPanels-wzZqAqCQ.js";var f=e(t()),p=r();function m(){let{t:e}=n(),t=(t,n)=>e(`ModerateRecent.${t}`,n),r=o(s().activePanel$)??null,{theme:m,setTheme:h}=l(),{showLineNumbers:g,toggleLineNumbers:_}=a();return u({"settings:theme-changed":(0,f.useCallback)(({theme:e})=>{h(e)},[h]),"settings:line-numbers-toggled":(0,f.useCallback)(()=>{_()},[_])}),(0,p.jsx)(c,{hasDocuments:!1,isLoading:!1,theme:m,showLineNumbers:g,activePanel:r,translations:{pageTitle:t(`pageTitle`),pageDescription:t(`pageDescription`),sectionTitle:t(`sectionTitle`),sectionDescription:t(`sectionDescription`),noDocuments:t(`noDocuments`),activityWillAppear:t(`activityWillAppear`),loading:t(`loading`)},ToolbarPanels:d,Toolbar:i})}export{m as default};
2
- //# sourceMappingURL=page-CoU19X7P.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-Crea7MLa.js","names":[],"sources":["../../src/app/[locale]/privacy/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PageLayout } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\n\nexport default function PrivacyPolicyPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Privacy.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">{t('pageTitle')}</h1>\n </header>\n\n <article className=\"semiont-static-article\">\n <section>\n <h2>{t('introTitle')}</h2>\n {t('intro').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </section>\n\n <section>\n <h2>{t('infoCollectTitle')}</h2>\n\n <h3>{t('personalInfoTitle')}</h3>\n <ul>\n {t('personalInfo').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('autoCollectTitle')}</h3>\n <ul>\n {t('autoCollect').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('howWeUseTitle')}</h2>\n <ul>\n {t('howWeUse').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('cookiePolicyTitle')}</h2>\n <p>\n {t('cookiePolicyIntro')}\n </p>\n\n <h3>{t('cookieCategoriesTitle')}</h3>\n\n <div className=\"semiont-static-cookie-grid\">\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('necessaryCookiesTitle')}</h4>\n {t('necessaryCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('analyticsCookiesTitle')}</h4>\n {t('analyticsCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('marketingCookiesTitle')}</h4>\n {t('marketingCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('preferenceCookiesTitle')}</h4>\n {t('preferenceCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n </div>\n </section>\n\n <section>\n <h2>{t('yourRightsTitle')}</h2>\n\n <h3>{t('gdprRightsTitle')}</h3>\n <ul>\n {t('gdprRights').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('ccpaRightsTitle')}</h3>\n <ul>\n {t('ccpaRights').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('dataSecurityTitle')}</h2>\n {t('dataSecurity').split('\\n\\n').map((block, i) => {\n if (i === 0) {\n return (\n <p key={i}>\n {block}\n </p>\n );\n }\n return (\n <ul key={i}>\n {block.split('\\n').map((item, j) => (\n <li key={j}>{item}</li>\n ))}\n </ul>\n );\n })}\n </section>\n\n <section>\n <h2>{t('dataRetentionTitle')}</h2>\n <p>\n {t('dataRetention')}\n </p>\n </section>\n\n <section>\n <h2>{t('internationalTransfersTitle')}</h2>\n <p>\n {t('internationalTransfers')}\n </p>\n </section>\n\n <section>\n <h2>{t('contactTitle')}</h2>\n <p>\n {t('contactIntro')}\n </p>\n <div className=\"semiont-static-info-box\">\n <p>\n <strong>{t('contactEmail')}</strong> privacy@semiont.com<br />\n <strong>{t('contactAddress')}</strong> [Your Company Address]\n </p>\n </div>\n </section>\n\n <section>\n <h2>{t('updatesTitle')}</h2>\n <p>\n {t('updates')}\n </p>\n <footer className=\"semiont-static-footer\">\n <p>\n <strong>{t('lastUpdated', { date: new Date().toLocaleDateString() })}</strong>\n </p>\n </footer>\n </section>\n </article>\n </div>\n </div>\n </PageLayout>\n );\n}"],"mappings":"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"}
@@ -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}from"./routing-Dqgz2rV4.js";var a=e(t()),o=r();function s(){let{t:e}=n(),t=(t,n)=>e(`Sidebar.${t}`,n),r=i(),[s,c]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{let e=localStorage.getItem(`lastViewedDocumentId`);e?r.replace(`/know/resource/${e}`):r.replace(`/know/discover`),c(!1)},[r]),s?(0,o.jsx)(`div`,{className:`flex items-center justify-center py-20`,children:(0,o.jsx)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:t(`loading`)})}):(0,o.jsx)(`div`,{className:`flex items-center justify-center py-20`,children:(0,o.jsx)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:t(`redirecting`)})})}export{s as default};
2
- //# sourceMappingURL=page-D3vt40lt.js.map
@@ -1,8 +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{P as i,h as a}from"./index-DojEUBpq.js";import{t as o}from"./KeyboardShortcutsContext-CK7NFEft.js";import{t as s}from"./CookiePreferences-Vt05bBY7.js";import{t as c}from"./routing-Dqgz2rV4.js";import{n as l,t as u}from"./routing-CcetIVef.js";var d=e(t()),f=r();function p(){let{t:e}=n(),t=(t,n)=>e(`About.${t}`,n),{t:r}=n(),p=(e,t)=>r(`Footer.${e}`,t),{t:m}=n(),h=(e,t)=>m(`Navigation.${e}`,t),{t:g}=n(),_=(e,t)=>g(`Home.${e}`,t),v=(0,d.useContext)(o);return(0,f.jsx)(a,{Link:u,routes:l,t:p,tNav:h,tHome:_,showAuthLinks:!1,CookiePreferences:s,...v?.openKeyboardHelp&&{onOpenKeyboardHelp:v.openKeyboardHelp},className:`semiont-static-page`,children:(0,f.jsx)(`div`,{className:`semiont-static-container`,children:(0,f.jsxs)(`div`,{className:`semiont-static-content`,children:[(0,f.jsxs)(`header`,{className:`semiont-static-header`,children:[(0,f.jsx)(`h1`,{className:`semiont-static-title`,children:t(`pageTitle`)}),(0,f.jsx)(`p`,{className:`semiont-static-subtitle`,children:t(`tagline`)})]}),(0,f.jsxs)(`div`,{className:`semiont-static-action-buttons`,children:[(0,f.jsx)(c,{to:`/auth/signup`,className:i.primary.base,children:t(`signUp`)}),(0,f.jsx)(c,{to:`/auth/connect?callbackUrl=/know`,className:i.primary.base,children:t(`signIn`)})]}),(0,f.jsxs)(`article`,{className:`semiont-static-article`,children:[(0,f.jsxs)(`section`,{children:[(0,f.jsx)(`h2`,{children:t(`missionTitle`)}),(0,f.jsx)(`p`,{children:t(`mission`)})]}),(0,f.jsxs)(`section`,{children:[(0,f.jsx)(`h2`,{children:t(`coreFeaturesTitle`)}),(0,f.jsxs)(`div`,{className:`semiont-static-feature-grid`,children:[(0,f.jsxs)(`div`,{className:`semiont-static-feature-card`,children:[(0,f.jsx)(`span`,{className:`semiont-static-feature-icon`,children:`📊`}),(0,f.jsx)(`h3`,{children:t(`semanticContentTitle`)}),(0,f.jsx)(`p`,{className:`semiont-static-feature-subtitle`,children:t(`semanticContentSubtitle`)}),t(`semanticContent`).split(`
2
-
3
- `).map((e,t)=>(0,f.jsx)(`p`,{children:e},t)),(0,f.jsx)(`span`,{className:`semiont-static-badge semiont-static-badge-planned`,children:t(`planned`)})]}),(0,f.jsxs)(`div`,{className:`semiont-static-feature-card`,children:[(0,f.jsx)(`span`,{className:`semiont-static-feature-icon`,children:`🤝`}),(0,f.jsx)(`h3`,{children:t(`collaborationTitle`)}),(0,f.jsx)(`p`,{className:`semiont-static-feature-subtitle`,children:t(`collaborationSubtitle`)}),t(`collaboration`).split(`
4
-
5
- `).map((e,t)=>(0,f.jsx)(`p`,{children:e},t)),(0,f.jsx)(`span`,{className:`semiont-static-badge semiont-static-badge-planned`,children:t(`planned`)})]}),(0,f.jsxs)(`div`,{className:`semiont-static-feature-card`,children:[(0,f.jsx)(`span`,{className:`semiont-static-feature-icon`,children:`🔐`}),(0,f.jsx)(`h3`,{children:t(`rbacTitle`)}),(0,f.jsx)(`p`,{className:`semiont-static-feature-subtitle`,children:t(`rbacSubtitle`)}),t(`rbac`).split(`
6
-
7
- `).map((e,t)=>(0,f.jsx)(`p`,{children:e},t)),(0,f.jsx)(`span`,{className:`semiont-static-badge semiont-static-badge-planned`,children:t(`planned`)})]})]})]}),(0,f.jsxs)(`section`,{className:`semiont-static-highlight`,children:[(0,f.jsx)(`h2`,{children:t(`openSourceTitle`)}),(0,f.jsx)(`p`,{children:t(`openSource`)}),(0,f.jsx)(`div`,{className:`semiont-static-action-buttons`,children:(0,f.jsx)(`a`,{href:`https://github.com/The-AI-Alliance/semiont`,target:`_blank`,rel:`noopener noreferrer`,className:i.secondary.base,children:t(`viewOnGitHub`)})})]}),(0,f.jsxs)(`section`,{children:[(0,f.jsx)(`h2`,{children:t(`futureVisionTitle`)}),(0,f.jsx)(`p`,{children:t(`futureVision`)})]})]})]})})})}export{p as default};
8
- //# sourceMappingURL=page-D74-p81B.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-D74-p81B.js","names":[],"sources":["../../src/app/[locale]/about/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PageLayout, buttonStyles } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\nimport { Link } from '@/i18n/routing';\n\nexport default function AboutPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`About.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n showAuthLinks={false}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n {/* Header */}\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">\n {t('pageTitle')}\n </h1>\n <p className=\"semiont-static-subtitle\">\n {t('tagline')}\n </p>\n </header>\n\n {/* Action Buttons */}\n <div className=\"semiont-static-action-buttons\">\n <Link\n to=\"/auth/signup\"\n className={buttonStyles.primary.base}\n >\n {t('signUp')}\n </Link>\n <Link\n to=\"/auth/connect?callbackUrl=/know\"\n className={buttonStyles.primary.base}\n >\n {t('signIn')}\n </Link>\n </div>\n\n <article className=\"semiont-static-article\">\n {/* Mission Section */}\n <section>\n <h2>{t('missionTitle')}</h2>\n <p>\n {t('mission')}\n </p>\n </section>\n\n {/* Features Section */}\n <section>\n <h2>{t('coreFeaturesTitle')}</h2>\n\n <div className=\"semiont-static-feature-grid\">\n {/* Semantic Content */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">📊</span>\n <h3>{t('semanticContentTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('semanticContentSubtitle')}\n </p>\n {t('semanticContent').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n\n {/* Real-time Collaboration */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">🤝</span>\n <h3>{t('collaborationTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('collaborationSubtitle')}\n </p>\n {t('collaboration').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n\n {/* Advanced RBAC */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">🔐</span>\n <h3>{t('rbacTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('rbacSubtitle')}\n </p>\n {t('rbac').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n </div>\n </section>\n\n {/* Open Source Section */}\n <section className=\"semiont-static-highlight\">\n <h2>{t('openSourceTitle')}</h2>\n <p>\n {t('openSource')}\n </p>\n <div className=\"semiont-static-action-buttons\">\n <a\n href=\"https://github.com/The-AI-Alliance/semiont\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={buttonStyles.secondary.base}\n >\n {t('viewOnGitHub')}\n </a>\n </div>\n </section>\n\n {/* Future Vision */}\n <section>\n <h2>{t('futureVisionTitle')}</h2>\n <p>\n {t('futureVision')}\n </p>\n </section>\n </article>\n </div>\n </div>\n </PageLayout>\n );\n}"],"mappings":"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"}
@@ -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{M as i,X as a,Z as o,et as s,l as c,nt as l,ot as u,q as d,tt as f,z as p}from"./index-DojEUBpq.js";import{t as m}from"./ToolbarPanels-wzZqAqCQ.js";var h=e(t()),g=r();function _(){let{t:e}=n(),t=(t,n)=>e(`ModerateEntityTags.${t}`,n),r=o(u().activeSession$)?.client,_=s(),v=f(()=>p(r,_)),y=o(v.browse.activePanel$)??null,b=o(v.entityTypes$)??[],x=o(v.isLoading$)??!0,S=o(v.newTag$)??``,C=o(v.error$)??``,w=o(v.isAdding$)??!1,{theme:T,setTheme:E}=l(),{showLineNumbers:D,toggleLineNumbers:O}=a();return d({"settings:theme-changed":(0,h.useCallback)(({theme:e})=>E(e),[E]),"settings:line-numbers-toggled":(0,h.useCallback)(()=>O(),[O])}),x?(0,g.jsx)(`div`,{className:`flex items-center justify-center py-20`,children:(0,g.jsx)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:t(`loading`)})}):(0,g.jsx)(c,{entityTypes:b,isLoading:x,error:C,newTag:S,onNewTagChange:v.setNewTag,onAddTag:v.addTag,isAddingTag:w,theme:T,showLineNumbers:D,activePanel:y,translations:{pageTitle:t(`pageTitle`),pageDescription:t(`pageDescription`),sectionTitle:t(`sectionTitle`),sectionDescription:t(`sectionDescription`),inputPlaceholder:t(`inputPlaceholder`),addTag:t(`addTag`),adding:t(`adding`)},ToolbarPanels:m,Toolbar:i})}export{_ as default};
2
- //# sourceMappingURL=page-D9VjQ4Ci.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{J as i,L as a,M as o,Rt as s,X as c,Z as l,c as u,et as d,nt as f,ot as p,q as m,st as h,tt as g,y as _}from"./index-DojEUBpq.js";import{t as v}from"./ToolbarPanels-wzZqAqCQ.js";import{i as y,n as b}from"./routing-Dqgz2rV4.js";var x=e(t()),S=r();function C(){let{t:e}=n(),t=(t,n)=>e(`Compose.${t}`,n),r=b(),C=y(),[w]=s(),T=p(),E=l(T.activeKbId$),D=l(T.activeSession$),O=l(D?.user$),k=l(D?.token$),A=!!O,j=E!=null&&D==null,{showError:M,showSuccess:N}=h(),P=D?.client;(0,x.useEffect)(()=>{j||A||C.push(`/`)},[j,A,C]);let F=d(),I=w?.get(`annotationUri`)?`gather-context:${w.get(`annotationUri`)}`:null,L=I&&typeof sessionStorage<`u`?sessionStorage.getItem(I)??void 0:void 0;I&&L&&typeof sessionStorage<`u`&&sessionStorage.removeItem(I);let R=g(()=>a(P,F,{mode:w?.get(`mode`)??void 0,token:w?.get(`token`)??void 0,annotationUri:w?.get(`annotationUri`)??void 0,sourceDocumentId:w?.get(`sourceDocumentId`)??void 0,name:w?.get(`name`)??void 0,entityTypes:w?.get(`entityTypes`)??void 0,storedContext:L},k??void 0)),z=l(R.browse.activePanel$)??null,B=l(R.mode$)??`new`,V=l(R.loading$)??!0,H=l(R.cloneData$)??null,U=l(R.referenceData$)??null,W=l(R.gatheredContext$)??null,G=l(R.entityTypes$)??[],K=l(R.uploadProgress$)??null,{theme:q,setTheme:J,resolvedTheme:Y}=f(),{showLineNumbers:X,toggleLineNumbers:Z}=c(),{hoverDelayMs:Q}=i();return m({"settings:theme-changed":({theme:e})=>J(e),"settings:line-numbers-toggled":()=>Z()}),j||V?(0,S.jsx)(u,{message:j?`Checking authentication...`:`Loading cloned resource...`}):A?(0,S.jsx)(_,{mode:B,cloneData:H,referenceData:U,gatheredContext:W,availableEntityTypes:G,initialLocale:r,theme:Y,showLineNumbers:X,hoverDelayMs:Q,activePanel:z,onSaveResource:async e=>{try{let t=await R.save(e);e.mode===`reference`&&e.annotationUri&&N(`Reference successfully linked to the new resource`),C.push(`/know/resource/${encodeURIComponent(t)}`)}catch(e){throw M(e instanceof Error?e.message:`Failed to save resource. Please try again.`),e}},onCancel:()=>C.push(`/know/discover`),uploadProgress:K,translations:{title:t(`title`),titleEditClone:t(`titleEditClone`),titleCompleteReference:t(`titleCompleteReference`),subtitleClone:t(`subtitleClone`),subtitleReference:t(`subtitleReference`),linkedNoticePrefix:t(`linkedNoticePrefix`),resourceName:t(`resourceName`),resourceNamePlaceholder:t(`resourceNamePlaceholder`),entityTypes:t(`entityTypes`),language:t(`language`),contentSource:t(`contentSource`),uploadFile:t(`uploadFile`),uploadFileDescription:t(`uploadFileDescription`),writeContent:t(`writeContent`),writeContentDescription:t(`writeContentDescription`),dropFileOrClick:t(`dropFileOrClick`),supportedFormats:t(`supportedFormats`),mediaType:t(`mediaType`),autoDetected:t(`autoDetected`),format:t(`format`),content:t(`content`),resourceContent:t(`resourceContent`),encoding:t(`encoding`),archiveOriginal:t(`archiveOriginal`),cancel:t(`cancel`),saving:t(`saving`),creating:t(`creating`),creatingAndLinking:t(`creatingAndLinking`),saveClonedResource:t(`saveClonedResource`),createAndLinkResource:t(`createAndLinkResource`),createResource:t(`createResource`)},ToolbarPanels:v,Toolbar:o}):null}function w(){let{t:e}=n();return(0,S.jsx)(x.Suspense,{fallback:(0,S.jsx)(u,{message:((t,n)=>e(`Compose.${t}`,n))(`loading`)}),children:(0,S.jsx)(C,{})})}export{w as default};
2
- //# sourceMappingURL=page-DAaiG0_S.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-DAaiG0_S.js","names":[],"sources":["../../src/app/[locale]/know/compose/page.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, Suspense } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useLocale } from '@/i18n/routing';\nimport { useRouter } from '@/i18n/routing';\nimport { useSearchParams } from 'react-router-dom';\nimport {\n useSemiont,\n useToast,\n useTheme,\n useShellStateUnit,\n useObservable,\n useLineNumbers,\n useHoverDelay,\n useEventSubscriptions,\n useStateUnit,\n Toolbar,\n ComposeLoadingState,\n ResourceComposePage,\n} from '@semiont/react-ui';\nimport type { SaveResourceParams as UISaveResourceParams } from '@semiont/react-ui';\nimport { createComposePageStateUnit } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\n\nfunction ComposeResourceContent() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Compose.${k}`, p as any) as string;\n const locale = useLocale();\n const router = useRouter();\n const [searchParams] = useSearchParams();\n const semiont = useSemiont();\n const activeKbId = useObservable(semiont.activeKbId$);\n const session = useObservable(semiont.activeSession$);\n const user = useObservable(session?.user$);\n const authToken = useObservable(session?.token$);\n const isAuthenticated = !!user;\n // \"Loading\" = a KB is selected but the session hasn't finished constructing\n // yet, so we don't know if auth succeeded.\n const authLoading = activeKbId != null && session == null;\n const { showError, showSuccess } = useToast();\n const client = session?.client;\n\n useEffect(() => {\n if (authLoading) return;\n if (!isAuthenticated) router.push('/');\n }, [authLoading, isAuthenticated, router]);\n\n const browseStateUnit = useShellStateUnit();\n\n const contextKey = searchParams?.get('annotationUri')\n ? `gather-context:${searchParams.get('annotationUri')}`\n : null;\n const storedContext = contextKey && typeof sessionStorage !== 'undefined'\n ? sessionStorage.getItem(contextKey) ?? undefined\n : undefined;\n if (contextKey && storedContext && typeof sessionStorage !== 'undefined') {\n sessionStorage.removeItem(contextKey);\n }\n\n const stateUnit = useStateUnit(() => createComposePageStateUnit(client!, browseStateUnit, {\n mode: searchParams?.get('mode') ?? undefined,\n token: searchParams?.get('token') ?? undefined,\n annotationUri: searchParams?.get('annotationUri') ?? undefined,\n sourceDocumentId: searchParams?.get('sourceDocumentId') ?? undefined,\n name: searchParams?.get('name') ?? undefined,\n entityTypes: searchParams?.get('entityTypes') ?? undefined,\n storedContext,\n }, authToken ?? undefined));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const pageMode = useObservable(stateUnit.mode$) ?? 'new';\n const isLoading = useObservable(stateUnit.loading$) ?? true;\n const cloneData = useObservable(stateUnit.cloneData$) ?? null;\n const referenceData = useObservable(stateUnit.referenceData$) ?? null;\n const gatheredContext = useObservable(stateUnit.gatheredContext$) ?? null;\n const availableEntityTypes = useObservable(stateUnit.entityTypes$) ?? [];\n const uploadProgress = useObservable(stateUnit.uploadProgress$) ?? null;\n\n const { theme, setTheme, resolvedTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n const { hoverDelayMs } = useHoverDelay();\n\n useEventSubscriptions({\n 'settings:theme-changed': ({ theme }: { theme: 'light' | 'dark' | 'system' }) => setTheme(theme),\n 'settings:line-numbers-toggled': () => toggleLineNumbers(),\n });\n\n const handleSaveResource = async (params: UISaveResourceParams) => {\n try {\n const newResourceId = await stateUnit.save(params);\n if (params.mode === 'reference' && params.annotationUri) {\n showSuccess('Reference successfully linked to the new resource');\n }\n router.push(`/know/resource/${encodeURIComponent(newResourceId)}`);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to save resource. Please try again.';\n showError(errorMessage);\n throw error;\n }\n };\n\n if (authLoading || isLoading) {\n return <ComposeLoadingState message={authLoading ? 'Checking authentication...' : 'Loading cloned resource...'} />;\n }\n\n if (!isAuthenticated) return null;\n\n return (\n <ResourceComposePage\n mode={pageMode}\n cloneData={cloneData}\n referenceData={referenceData}\n gatheredContext={gatheredContext}\n availableEntityTypes={availableEntityTypes}\n initialLocale={locale}\n theme={resolvedTheme}\n showLineNumbers={showLineNumbers}\n hoverDelayMs={hoverDelayMs}\n activePanel={activePanel}\n onSaveResource={handleSaveResource}\n onCancel={() => router.push('/know/discover')}\n uploadProgress={uploadProgress}\n translations={{\n title: t('title'),\n titleEditClone: t('titleEditClone'),\n titleCompleteReference: t('titleCompleteReference'),\n subtitleClone: t('subtitleClone'),\n subtitleReference: t('subtitleReference'),\n linkedNoticePrefix: t('linkedNoticePrefix'),\n resourceName: t('resourceName'),\n resourceNamePlaceholder: t('resourceNamePlaceholder'),\n entityTypes: t('entityTypes'),\n language: t('language'),\n contentSource: t('contentSource'),\n uploadFile: t('uploadFile'),\n uploadFileDescription: t('uploadFileDescription'),\n writeContent: t('writeContent'),\n writeContentDescription: t('writeContentDescription'),\n dropFileOrClick: t('dropFileOrClick'),\n supportedFormats: t('supportedFormats'),\n mediaType: t('mediaType'),\n autoDetected: t('autoDetected'),\n format: t('format'),\n content: t('content'),\n resourceContent: t('resourceContent'),\n encoding: t('encoding'),\n archiveOriginal: t('archiveOriginal'),\n cancel: t('cancel'),\n saving: t('saving'),\n creating: t('creating'),\n creatingAndLinking: t('creatingAndLinking'),\n saveClonedResource: t('saveClonedResource'),\n createAndLinkResource: t('createAndLinkResource'),\n createResource: t('createResource'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n\nexport default function ComposeResourcePage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Compose.${k}`, p as any) as string;\n\n return (\n <Suspense fallback={<ComposeLoadingState message={t('loading')} />}>\n <ComposeResourceContent />\n </Suspense>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./vendor-0HjOURbh.js";import{Nt as t}from"./index-DojEUBpq.js";import{n}from"./routing-Dqgz2rV4.js";var r=e();function i(){return(0,r.jsx)(t,{to:`/${n()}/admin/users`,replace:!0})}export{i as default};
2
- //# sourceMappingURL=page-DGGXDS8h.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-DWTT4pP82.js","names":[],"sources":["../../src/app/[locale]/terms/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { Link } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\nimport { useLocale } from '@/i18n/routing';\nimport { PageLayout } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\n\nexport default function TermsOfService() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Terms.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const locale = useLocale();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">\n {t('pageTitle')}\n </h1>\n <p className=\"semiont-static-subtitle\">\n {t('pageSubtitle')}\n </p>\n </header>\n\n <article className=\"semiont-static-article\">\n <h2>{t('aupTitle')}</h2>\n\n <p>\n {t('aup')}\n </p>\n\n <h3>{t('prohibitedTitle')}</h3>\n <p>{t('prohibitedIntro')}</p>\n <ul>\n {t('prohibited').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('aiAllianceTitle')}</h3>\n <p>\n {t('aiAllianceIntro')}{' '}\n <a\n href=\"https://ai-alliance.cdn.prismic.io/ai-alliance/Zl-MG5m069VX1dgH_AIAllianceCodeofConduct.pdf\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"semiont-static-link\"\n >\n {t('aiAllianceLink')}\n </a>\n {t('aiAllianceIncludes')}\n </p>\n <ul>\n {t('aiAlliance').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('responsibilitiesTitle')}</h3>\n <p>{t('responsibilitiesIntro')}</p>\n <ul>\n {t('responsibilities').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('moderationTitle')}</h3>\n <p>\n {t('moderation')}\n </p>\n\n <h3>{t('privacyTitle')}</h3>\n <p>\n {t('privacy').split(t('privacyLink'))[0]}\n <Link to={`/${locale}/privacy`} className=\"semiont-static-link\">\n {t('privacyLink')}\n </Link>\n {t('privacy').split(t('privacyLink'))[1]}\n </p>\n\n <h3>{t('ipTitle')}</h3>\n <p>\n {t('ip')}\n </p>\n\n <h3>{t('liabilityTitle')}</h3>\n <p>\n {t('liability')}\n </p>\n\n <h3>{t('changesTitle')}</h3>\n <p>\n {t('changes')}\n </p>\n\n <h3>{t('contactTitle')}</h3>\n <p>\n {t('contact')}\n </p>\n\n <footer className=\"semiont-static-footer\">\n <p>\n {t('lastUpdated', { date: new Date().toLocaleDateString() })}\n </p>\n </footer>\n </article>\n\n </div>\n </div>\n </PageLayout>\n );\n}"],"mappings":"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"}
@@ -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}from"./routing-Dqgz2rV4.js";var a=e(t()),o=r();function s(){let{t:e}=n(),t=(t,n)=>e(`Moderation.${t}`,n),r=i();return(0,a.useEffect)(()=>{r.replace(`/moderate/recent`)},[r]),(0,o.jsx)(`div`,{className:`flex items-center justify-center py-20`,children:(0,o.jsx)(`p`,{className:`text-gray-600 dark:text-gray-300`,children:t(`redirecting`)})})}export{s as default};
2
- //# sourceMappingURL=page-Db8QDovL.js.map
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-jpDsebLB.js";import{i as t}from"./i18n-B53Yefbh.js";import{i as n}from"./routing-Dqgz2rV4.js";var r=e(t());function i(){let e=n();return(0,r.useEffect)(()=>{e.replace(`/know/discover`)},[e]),null}export{i as default};
2
- //# sourceMappingURL=page-V3GB89Xa.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{N as i,U as a,Z as o,h as s,ot as c,st as l,tt as u}from"./index-DojEUBpq.js";import{i as d,t as f}from"./routing-Dqgz2rV4.js";var p=e(t()),m=r();function h(){let{t:e}=n(),t=(t,n)=>e(`AuthWelcome.${t}`,n),r=c(),h=o(r.activeKbId$),g=o(r.activeSession$),_=o(g?.user$)??null,v=g?.kb??null,y=!!_,b=h!=null&&g==null,x=e=>{r.signOut(e)},S=d(),[C,w]=(0,p.useState)(!1),T=l(),E=g?.client,D=u(()=>a(E)),O=o(D.userData$),k=o(D.isProcessing$)??!1;(0,p.useEffect)(()=>{if(!b){if(!y){S.push(`/auth/connect`);return}if(O?.termsAcceptedAt){S.push(`/`);return}}},[b,y,S,O]);let A=async e=>{if(!e){v&&x(v.id),S.push(`/`);return}try{await D.acceptTerms(),w(!0),setTimeout(()=>{S.push(`/`)},1e3)}catch(e){console.error(`Terms acceptance error:`,e),T.showError(t(`errorAcceptingTerms`))}},j=b?`loading`:C?`accepted`:`form`,M=_?.name?.split(` `)[0]??``;return(0,m.jsx)(i,{userName:M,termsAcceptedAt:O?.termsAcceptedAt??null,isNewUser:!O?.termsAcceptedAt,status:j,isProcessing:k,onAccept:()=>A(!0),onDecline:()=>A(!1),translations:{loading:t(`loading`),welcomeTitle:t(`welcomeTitle`),thanksForAccepting:t(`thanksForAccepting`),welcomeUser:t(`welcomeUser`,{firstName:M}),reviewTermsPrompt:t(`reviewTermsPrompt`),termsSummaryTitle:t(`termsSummaryTitle`),termsSummaryIntro:t(`termsSummaryIntro`),acceptableUseTitle:t(`acceptableUseTitle`),acceptableUseResponsible:t(`acceptableUseResponsible`),acceptableUseRespect:t(`acceptableUseRespect`),acceptableUseConduct:t(`acceptableUseConduct`),prohibitedContentTitle:t(`prohibitedContentTitle`),prohibitedContentIntro:t(`prohibitedContentIntro`),prohibitedIllegal:t(`prohibitedIllegal`),prohibitedAdult:t(`prohibitedAdult`),prohibitedHate:t(`prohibitedHate`),prohibitedViolence:t(`prohibitedViolence`),prohibitedMisinformation:t(`prohibitedMisinformation`),prohibitedPrivacy:t(`prohibitedPrivacy`),prohibitedCopyright:t(`prohibitedCopyright`),prohibitedMalware:t(`prohibitedMalware`),prohibitedSpam:t(`prohibitedSpam`),conductTitle:t(`conductTitle`),conductDescription:t(`conductDescription`),conductLink:t(`conductLink`),conductPromotion:t(`conductPromotion`),responsibilitiesTitle:t(`responsibilitiesTitle`),responsibilitiesSecure:t(`responsibilitiesSecure`),responsibilitiesReport:t(`responsibilitiesReport`),responsibilitiesAccurate:t(`responsibilitiesAccurate`),responsibilitiesComply:t(`responsibilitiesComply`),violationsWarning:t(`violationsWarning`),readFullTerms:t(`readFullTerms`),termsOfService:t(`termsOfService`),and:t(`and`),privacyPolicy:t(`privacyPolicy`),declineAndSignOut:t(`declineAndSignOut`),acceptAndContinue:t(`acceptAndContinue`),processing:t(`processing`),legallyBound:t(`legallyBound`)},PageLayout:s,Link:f})}export{h as default};
2
- //# sourceMappingURL=page-pid5J2JR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-pid5J2JR.js","names":[],"sources":["../../src/app/[locale]/auth/welcome/page.tsx"],"sourcesContent":["/**\n * Welcome Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (routing, auth, API calls)\n * and delegates rendering to the pure React WelcomePage component.\n */\n\nimport React, { useState, useEffect } from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from '@/i18n/routing';\nimport { PageLayout, useToast, useSemiont, useObservable } from '@semiont/react-ui';\nimport { WelcomePage } from '@semiont/react-ui';\nimport { createWelcomeStateUnit } from '@semiont/react-ui';\nimport { useStateUnit } from '@semiont/react-ui';\n\nexport default function Welcome() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AuthWelcome.${k}`, p as any) as string;\n const semiont = useSemiont();\n const activeKbId = useObservable(semiont.activeKbId$);\n const session = useObservable(semiont.activeSession$);\n const user = useObservable(session?.user$) ?? null;\n const activeKnowledgeBase = session?.kb ?? null;\n const isAuthenticated = !!user;\n // \"Loading\" = KB is selected but session not yet constructed.\n const isLoading = activeKbId != null && session == null;\n const signOut = (id: string) => { void semiont.signOut(id); };\n const router = useRouter();\n const [termsAccepted, setTermsAccepted] = useState(false);\n const toast = useToast();\n\n const client = session?.client;\n const stateUnit = useStateUnit(() => createWelcomeStateUnit(client!));\n\n const userData = useObservable(stateUnit.userData$);\n const isProcessing = useObservable(stateUnit.isProcessing$) ?? false;\n\n // Redirect if not authenticated or if terms already accepted\n useEffect(() => {\n if (isLoading) return;\n if (!isAuthenticated) {\n router.push('/auth/connect');\n return;\n }\n\n if (userData?.termsAcceptedAt) {\n router.push('/');\n return;\n }\n }, [isLoading, isAuthenticated, router, userData]);\n\n const handleTermsAcceptance = async (accepted: boolean) => {\n if (!accepted) {\n if (activeKnowledgeBase) {\n signOut(activeKnowledgeBase.id);\n }\n router.push('/');\n return;\n }\n\n try {\n await stateUnit.acceptTerms();\n setTermsAccepted(true);\n\n setTimeout(() => {\n router.push('/');\n }, 1000);\n } catch (error) {\n console.error('Terms acceptance error:', error);\n toast.showError(t('errorAcceptingTerms'));\n }\n };\n\n const pageStatus = isLoading ? 'loading' : termsAccepted ? 'accepted' : 'form';\n const firstName = user?.name?.split(' ')[0] ?? '';\n\n return (\n <WelcomePage\n userName={firstName}\n termsAcceptedAt={userData?.termsAcceptedAt ?? null}\n isNewUser={!userData?.termsAcceptedAt}\n status={pageStatus}\n isProcessing={isProcessing}\n onAccept={() => handleTermsAcceptance(true)}\n onDecline={() => handleTermsAcceptance(false)}\n translations={{\n loading: t('loading'),\n welcomeTitle: t('welcomeTitle'),\n thanksForAccepting: t('thanksForAccepting'),\n welcomeUser: t('welcomeUser', { firstName }),\n reviewTermsPrompt: t('reviewTermsPrompt'),\n termsSummaryTitle: t('termsSummaryTitle'),\n termsSummaryIntro: t('termsSummaryIntro'),\n acceptableUseTitle: t('acceptableUseTitle'),\n acceptableUseResponsible: t('acceptableUseResponsible'),\n acceptableUseRespect: t('acceptableUseRespect'),\n acceptableUseConduct: t('acceptableUseConduct'),\n prohibitedContentTitle: t('prohibitedContentTitle'),\n prohibitedContentIntro: t('prohibitedContentIntro'),\n prohibitedIllegal: t('prohibitedIllegal'),\n prohibitedAdult: t('prohibitedAdult'),\n prohibitedHate: t('prohibitedHate'),\n prohibitedViolence: t('prohibitedViolence'),\n prohibitedMisinformation: t('prohibitedMisinformation'),\n prohibitedPrivacy: t('prohibitedPrivacy'),\n prohibitedCopyright: t('prohibitedCopyright'),\n prohibitedMalware: t('prohibitedMalware'),\n prohibitedSpam: t('prohibitedSpam'),\n conductTitle: t('conductTitle'),\n conductDescription: t('conductDescription'),\n conductLink: t('conductLink'),\n conductPromotion: t('conductPromotion'),\n responsibilitiesTitle: t('responsibilitiesTitle'),\n responsibilitiesSecure: t('responsibilitiesSecure'),\n responsibilitiesReport: t('responsibilitiesReport'),\n responsibilitiesAccurate: t('responsibilitiesAccurate'),\n responsibilitiesComply: t('responsibilitiesComply'),\n violationsWarning: t('violationsWarning'),\n readFullTerms: t('readFullTerms'),\n termsOfService: t('termsOfService'),\n and: t('and'),\n privacyPolicy: t('privacyPolicy'),\n declineAndSignOut: t('declineAndSignOut'),\n acceptAndContinue: t('acceptAndContinue'),\n processing: t('processing'),\n legallyBound: t('legallyBound'),\n }}\n PageLayout={PageLayout}\n Link={Link}\n />\n );\n}\n"],"mappings":"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"}
@@ -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{P as i,w as a}from"./index-DojEUBpq.js";import{i as o}from"./routing-Dqgz2rV4.js";var s=e(t()),c=r(),l=5e3;function u(){let{t:e}=n(),t=t=>e(`Home.${t}`),r=o(),u=(0,s.useRef)(null),d=()=>{u.current&&clearTimeout(u.current),r.push(`/know/discover`)};return(0,s.useEffect)(()=>(u.current=setTimeout(d,l),()=>{u.current&&clearTimeout(u.current)}),[]),(0,c.jsxs)(`main`,{role:`main`,style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,minHeight:`100vh`,gap:`2rem`},children:[(0,c.jsx)(a,{t,size:`xl`,animated:!0}),(0,c.jsx)(`button`,{onClick:d,className:i.primary.base,children:t(`begin`)})]})}export{u as default};
2
- //# sourceMappingURL=page-vxSCIznX.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{R as i,X as a,Z as o,b as s,et as c,nt as l,ot as u,q as d,tt as f}from"./index-DojEUBpq.js";import{t as p}from"./ToolbarPanels-wzZqAqCQ.js";import{i as m}from"./routing-Dqgz2rV4.js";var h=e(t()),g=r();function _(){let{t:e}=n(),t=(t,n)=>e(`Discover.${t}`,n),r=m(),_=o(u().activeSession$)?.client,v=c(),y=f(()=>i(_,v)),b=o(y.browse.activePanel$)??null,x=o(y.recentResources$)??[],S=o(y.entityTypes$)??[],C=o(y.isLoadingRecent$)??!0,w=o(y.search.query$)??``,T=o(y.search.state$),E=T?.results??[],D=T?.isSearching??!1,{theme:O,setTheme:k,resolvedTheme:A}=l(),{showLineNumbers:j,toggleLineNumbers:M}=a();return d({"settings:theme-changed":(0,h.useCallback)(({theme:e})=>k(e),[k]),"settings:line-numbers-toggled":(0,h.useCallback)(()=>M(),[M])}),(0,g.jsx)(s,{recentDocuments:x,searchDocuments:E,entityTypes:S,isLoadingRecent:C,isSearching:D,searchQuery:w,onSearchQueryChange:y.search.setQuery,theme:A,showLineNumbers:j,activePanel:b,onNavigateToResource:e=>r.push(`/know/resource/${encodeURIComponent(e)}`),onNavigateToCompose:()=>r.push(`/know/compose`),translations:{title:t(`title`),subtitle:t(`subtitle`),searchPlaceholder:t(`searchPlaceholder`),searchButton:t(`searchButton`),searching:t(`searching`),filterByEntityType:t(`filterByEntityType`),all:t(`all`),recentResources:t(`recentResources`),searchResults:e=>t(`searchResults`,{count:e}),documentsTaggedWith:e=>t(`documentsTaggedWith`,{entityType:e}),noResultsFound:e=>t(`noResultsFound`,{query:e}),noResourcesAvailable:t(`noResourcesAvailable`),composeFirstResource:t(`composeFirstResource`),archived:t(`archived`),created:t(`created`),loadingKnowledgeBase:t(`loadingKnowledgeBase`)},ToolbarPanels:p})}export{_ as default};
2
- //# sourceMappingURL=page-yaV9evoV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-yaV9evoV.js","names":[],"sources":["../../src/app/[locale]/know/discover/page.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\nimport {\n useTheme,\n useLineNumbers,\n useEventSubscriptions,\n useObservable,\n useSemiont,\n useStateUnit,\n ResourceDiscoveryPage,\n} from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useShellStateUnit } from '@semiont/react-ui';\nimport { createDiscoverStateUnit } from '@semiont/react-ui';\nexport default function DiscoverPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Discover.${k}`, p as any) as string;\n const router = useRouter();\n const semiont = useObservable(useSemiont().activeSession$)?.client;\n\n const browseStateUnit = useShellStateUnit();\n const stateUnit = useStateUnit(() => createDiscoverStateUnit(semiont!, browseStateUnit));\n\n const activePanel = useObservable(stateUnit.browse.activePanel$) ?? null;\n const recentDocuments = useObservable(stateUnit.recentResources$) ?? [];\n const entityTypes = useObservable(stateUnit.entityTypes$) ?? [];\n const isLoadingRecent = useObservable(stateUnit.isLoadingRecent$) ?? true;\n const searchQuery = useObservable(stateUnit.search.query$) ?? '';\n const searchState = useObservable(stateUnit.search.state$);\n const searchDocuments = searchState?.results ?? [];\n const isSearching = searchState?.isSearching ?? false;\n\n const { theme, setTheme, resolvedTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n useEventSubscriptions({\n 'settings:theme-changed': useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => setTheme(theme), [setTheme]),\n 'settings:line-numbers-toggled': useCallback(() => toggleLineNumbers(), [toggleLineNumbers]),\n });\n\n return (\n <ResourceDiscoveryPage\n recentDocuments={recentDocuments}\n searchDocuments={searchDocuments}\n entityTypes={entityTypes}\n isLoadingRecent={isLoadingRecent}\n isSearching={isSearching}\n searchQuery={searchQuery}\n onSearchQueryChange={stateUnit.search.setQuery}\n theme={resolvedTheme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n onNavigateToResource={(resourceId) => router.push(`/know/resource/${encodeURIComponent(resourceId)}`)}\n onNavigateToCompose={() => router.push('/know/compose')}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n searchPlaceholder: t('searchPlaceholder'),\n searchButton: t('searchButton'),\n searching: t('searching'),\n filterByEntityType: t('filterByEntityType'),\n all: t('all'),\n recentResources: t('recentResources'),\n searchResults: (count: number) => t('searchResults', { count }),\n documentsTaggedWith: (entityType: string) => t('documentsTaggedWith', { entityType }),\n noResultsFound: (query: string) => t('noResultsFound', { query }),\n noResourcesAvailable: t('noResourcesAvailable'),\n composeFirstResource: t('composeFirstResource'),\n archived: t('archived'),\n created: t('created'),\n loadingKnowledgeBase: t('loadingKnowledgeBase'),\n }}\n ToolbarPanels={ToolbarPanels}\n />\n );\n}\n"],"mappings":"sVAiBA,SAAwB,GAAe,CACrC,GAAM,CAAE,EAAG,GAAO,GAAgB,CAC5B,GAAK,EAAW,IAAgC,EAAG,YAAY,IAAK,EAAS,CAC7E,EAAS,GAAW,CACpB,EAAU,EAAc,GAAY,CAAC,eAAe,EAAE,OAEtD,EAAkB,GAAmB,CACrC,EAAY,MAAmB,EAAwB,EAAU,EAAgB,CAAC,CAElF,EAAc,EAAc,EAAU,OAAO,aAAa,EAAI,KAC9D,EAAkB,EAAc,EAAU,iBAAiB,EAAI,EAAE,CACjE,EAAc,EAAc,EAAU,aAAa,EAAI,EAAE,CACzD,EAAkB,EAAc,EAAU,iBAAiB,EAAI,GAC/D,EAAc,EAAc,EAAU,OAAO,OAAO,EAAI,GACxD,EAAc,EAAc,EAAU,OAAO,OAAO,CACpD,EAAkB,GAAa,SAAW,EAAE,CAC5C,EAAc,GAAa,aAAe,GAE1C,CAAE,QAAO,WAAU,iBAAkB,GAAU,CAC/C,CAAE,kBAAiB,qBAAsB,GAAgB,CAO/D,OALA,EAAsB,CACpB,0BAAA,EAAA,EAAA,cAAuC,CAAE,WAAoD,EAAS,EAAM,CAAE,CAAC,EAAS,CAAC,CACzH,iCAAA,EAAA,EAAA,iBAAmD,GAAmB,CAAE,CAAC,EAAkB,CAAC,CAC7F,CAAC,EAGA,EAAA,EAAA,KAAC,EAAD,CACmB,kBACA,kBACJ,cACI,kBACJ,cACA,cACb,oBAAqB,EAAU,OAAO,SACtC,MAAO,EACU,kBACJ,cACb,qBAAuB,GAAe,EAAO,KAAK,kBAAkB,mBAAmB,EAAW,GAAG,CACrG,wBAA2B,EAAO,KAAK,gBAAgB,CACvD,aAAc,CACZ,MAAO,EAAE,QAAQ,CACjB,SAAU,EAAE,WAAW,CACvB,kBAAmB,EAAE,oBAAoB,CACzC,aAAc,EAAE,eAAe,CAC/B,UAAW,EAAE,YAAY,CACzB,mBAAoB,EAAE,qBAAqB,CAC3C,IAAK,EAAE,MAAM,CACb,gBAAiB,EAAE,kBAAkB,CACrC,cAAgB,GAAkB,EAAE,gBAAiB,CAAE,QAAO,CAAC,CAC/D,oBAAsB,GAAuB,EAAE,sBAAuB,CAAE,aAAY,CAAC,CACrF,eAAiB,GAAkB,EAAE,iBAAkB,CAAE,QAAO,CAAC,CACjE,qBAAsB,EAAE,uBAAuB,CAC/C,qBAAsB,EAAE,uBAAuB,CAC/C,SAAU,EAAE,WAAW,CACvB,QAAS,EAAE,UAAU,CACrB,qBAAsB,EAAE,uBAAuB,CAChD,CACc,gBACf,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{Ft as i,It as a,Lt as o,Mt as s,jt as c}from"./index-DojEUBpq.js";var l=e(t()),u=r(),d=l.forwardRef(function({to:e,...t},r){let{i18n:i}=n(),a=o(),c=i.language||a.locale||`en`;return(0,u.jsx)(s,{ref:r,to:typeof e==`string`?`/${c}${e.startsWith(`/`)?e:`/${e}`}`:e,...t})});function f(){let e=a(),{i18n:t}=n(),r=o();function i(e,n){return`/${n||t.language||r.locale||`en`}${e.startsWith(`/`)?e:`/${e}`}`}return{push(t,n){e(i(t,n?.locale))},replace(t,n){e(i(t,n?.locale),{replace:!0})},back(){e(-1)},forward(){e(1)},refresh(){window.location.reload()},prefetch(e){}}}function p(){let{pathname:e}=i(),t=e.match(/^\/[a-z]{2}(\/.*)?$/);return t?t[1]??`/`:e}function m(){let e=o(),{i18n:t}=n(),r=e.locale;return r&&c(r)?r:t.language||`en`}export{f as i,m as n,p as r,d as t};
2
- //# sourceMappingURL=routing-Dqgz2rV4.js.map