@xwiki/cristal-electron-renderer 1.5.0 → 1.6.1

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 (267) hide show
  1. package/package.json +18 -16
  2. package/dist/AttachmentPreview-CIOMG1_u.js +0 -2
  3. package/dist/AttachmentPreview-CIOMG1_u.js.map +0 -1
  4. package/dist/AttachmentPreview-DNQ6Ebkw.css +0 -1
  5. package/dist/AuthServiceBanner-BArubXdu.css +0 -1
  6. package/dist/AuthServiceBanner-GEdSAYEm.js +0 -2
  7. package/dist/AuthServiceBanner-GEdSAYEm.js.map +0 -1
  8. package/dist/DeletePage-CLcDso4C.js +0 -2
  9. package/dist/DeletePage-CLcDso4C.js.map +0 -1
  10. package/dist/FloatingComposerController-KlxX35Kg-Cuq2B2Tu.js +0 -2
  11. package/dist/FloatingComposerController-KlxX35Kg-Cuq2B2Tu.js.map +0 -1
  12. package/dist/GitHubLoginMenu-BNybTTq9.js +0 -2
  13. package/dist/GitHubLoginMenu-BNybTTq9.js.map +0 -1
  14. package/dist/LoggedInMenu-C73cJ53z.js +0 -2
  15. package/dist/LoggedInMenu-C73cJ53z.js.map +0 -1
  16. package/dist/LoginMenu-CssV8KKA.js +0 -2
  17. package/dist/LoginMenu-CssV8KKA.js.map +0 -1
  18. package/dist/MovePage-BHS998Jm.css +0 -1
  19. package/dist/MovePage-DLHXylYc.js +0 -2
  20. package/dist/MovePage-DLHXylYc.js.map +0 -1
  21. package/dist/NextcloudLoginMenu-CfBoPILQ.js +0 -2
  22. package/dist/NextcloudLoginMenu-CfBoPILQ.js.map +0 -1
  23. package/dist/NextcloudLoginMenu-DGCgMCya.css +0 -1
  24. package/dist/RenamePage-C3mjame-.js +0 -2
  25. package/dist/RenamePage-C3mjame-.js.map +0 -1
  26. package/dist/SettingsConfigurations-B9GWI5mw.css +0 -1
  27. package/dist/SettingsConfigurations-C9USPgZ5.js +0 -2
  28. package/dist/SettingsConfigurations-C9USPgZ5.js.map +0 -1
  29. package/dist/c-config-menu-BGV5XXU8.css +0 -1
  30. package/dist/c-config-menu-GJ2n1TMZ.js +0 -2
  31. package/dist/c-config-menu-GJ2n1TMZ.js.map +0 -1
  32. package/dist/c-edit-blocknote-B6mEty1W.css +0 -1
  33. package/dist/c-edit-blocknote-BDXBHJ_D.js +0 -173
  34. package/dist/c-edit-blocknote-BDXBHJ_D.js.map +0 -1
  35. package/dist/chunk.24ZZSBUF-BmQPh48m.js +0 -89
  36. package/dist/chunk.24ZZSBUF-BmQPh48m.js.map +0 -1
  37. package/dist/chunk.36O46B5H-Cv2poSyf.js +0 -64
  38. package/dist/chunk.36O46B5H-Cv2poSyf.js.map +0 -1
  39. package/dist/chunk.3LWOA5DF-D8Va5Pmw.js +0 -77
  40. package/dist/chunk.3LWOA5DF-D8Va5Pmw.js.map +0 -1
  41. package/dist/chunk.3RPBFEDE-DI7eSlIl.js +0 -2
  42. package/dist/chunk.3RPBFEDE-DI7eSlIl.js.map +0 -1
  43. package/dist/chunk.4TUIT776-BvlNwMXD.js +0 -18
  44. package/dist/chunk.4TUIT776-BvlNwMXD.js.map +0 -1
  45. package/dist/chunk.6CTB5ZDJ-9Su7bEUQ.js +0 -2
  46. package/dist/chunk.6CTB5ZDJ-9Su7bEUQ.js.map +0 -1
  47. package/dist/chunk.7E4JTYWU-Ci99jpyG.js +0 -75
  48. package/dist/chunk.7E4JTYWU-Ci99jpyG.js.map +0 -1
  49. package/dist/chunk.AJ3ENQ5C-zot94vv9.js +0 -2
  50. package/dist/chunk.AJ3ENQ5C-zot94vv9.js.map +0 -1
  51. package/dist/chunk.B4BZKR24-B0iVuGLD.js +0 -2
  52. package/dist/chunk.B4BZKR24-B0iVuGLD.js.map +0 -1
  53. package/dist/chunk.D5YQDJ7X-_UyNui_V.js +0 -2
  54. package/dist/chunk.D5YQDJ7X-_UyNui_V.js.map +0 -1
  55. package/dist/chunk.DFHYNK3F-bS0lNIuO.js +0 -86
  56. package/dist/chunk.DFHYNK3F-bS0lNIuO.js.map +0 -1
  57. package/dist/chunk.GMYPQTFK-BT1AAYXJ.js +0 -2
  58. package/dist/chunk.GMYPQTFK-BT1AAYXJ.js.map +0 -1
  59. package/dist/chunk.J5ZM7LIC-n6gjp3-L.js +0 -244
  60. package/dist/chunk.J5ZM7LIC-n6gjp3-L.js.map +0 -1
  61. package/dist/chunk.JCXLDPQF-BOaK9AtU.js +0 -622
  62. package/dist/chunk.JCXLDPQF-BOaK9AtU.js.map +0 -1
  63. package/dist/chunk.JHOXTQXA-CWkZ1weQ.js +0 -24
  64. package/dist/chunk.JHOXTQXA-CWkZ1weQ.js.map +0 -1
  65. package/dist/chunk.JQBT7BOV-CMuspUnt.js +0 -3378
  66. package/dist/chunk.JQBT7BOV-CMuspUnt.js.map +0 -1
  67. package/dist/chunk.JXOKFADN-D3ZKW4nG.js +0 -785
  68. package/dist/chunk.JXOKFADN-D3ZKW4nG.js.map +0 -1
  69. package/dist/chunk.KPLQLAWP-DUYDfZ7-.js +0 -163
  70. package/dist/chunk.KPLQLAWP-DUYDfZ7-.js.map +0 -1
  71. package/dist/chunk.LD4M4QGE-cX1_6HT7.js +0 -2
  72. package/dist/chunk.LD4M4QGE-cX1_6HT7.js.map +0 -1
  73. package/dist/chunk.NYIIDP5N-AHr3eTN0.js +0 -2
  74. package/dist/chunk.NYIIDP5N-AHr3eTN0.js.map +0 -1
  75. package/dist/chunk.R45OWEVP-WMyXo-Fn.js +0 -181
  76. package/dist/chunk.R45OWEVP-WMyXo-Fn.js.map +0 -1
  77. package/dist/chunk.RWUUFNUL-BJhNq5wM.js +0 -2
  78. package/dist/chunk.RWUUFNUL-BJhNq5wM.js.map +0 -1
  79. package/dist/chunk.RY756JLP-BUknFjxa.js +0 -22
  80. package/dist/chunk.RY756JLP-BUknFjxa.js.map +0 -1
  81. package/dist/chunk.SI4ACBFK-BB831ml8.js +0 -58
  82. package/dist/chunk.SI4ACBFK-BB831ml8.js.map +0 -1
  83. package/dist/chunk.TRHSUYII-DFnBKJNh.js +0 -140
  84. package/dist/chunk.TRHSUYII-DFnBKJNh.js.map +0 -1
  85. package/dist/chunk.XA43ZQPC-maNlqVLX.js +0 -395
  86. package/dist/chunk.XA43ZQPC-maNlqVLX.js.map +0 -1
  87. package/dist/chunk.XSFJLY2D-ldEKWtxN.js +0 -178
  88. package/dist/chunk.XSFJLY2D-ldEKWtxN.js.map +0 -1
  89. package/dist/chunk.YHLNUJ7P-BGNuPG1R.js +0 -109
  90. package/dist/chunk.YHLNUJ7P-BGNuPG1R.js.map +0 -1
  91. package/dist/chunk.ZGGPD2XJ-DD1S3h7C.js +0 -2
  92. package/dist/chunk.ZGGPD2XJ-DD1S3h7C.js.map +0 -1
  93. package/dist/chunk.ZH2AND3P-CzagA8cz.js +0 -288
  94. package/dist/chunk.ZH2AND3P-CzagA8cz.js.map +0 -1
  95. package/dist/class-map-DmaCJs8c.js +0 -2
  96. package/dist/class-map-DmaCJs8c.js.map +0 -1
  97. package/dist/filesystem-internal-link-serializer-D_jo1Aww.js +0 -2
  98. package/dist/filesystem-internal-link-serializer-D_jo1Aww.js.map +0 -1
  99. package/dist/floating-ui.dom-AjS1hz1P.js +0 -2
  100. package/dist/floating-ui.dom-AjS1hz1P.js.map +0 -1
  101. package/dist/github-CTLFo_VH.js +0 -3
  102. package/dist/github-CTLFo_VH.js.map +0 -1
  103. package/dist/github-internal-link-serializer-CcT9sA8-.js +0 -2
  104. package/dist/github-internal-link-serializer-CcT9sA8-.js.map +0 -1
  105. package/dist/if-defined-O-hFrvt0.js +0 -2
  106. package/dist/if-defined-O-hFrvt0.js.map +0 -1
  107. package/dist/index-BQdFAtKy.css +0 -1
  108. package/dist/index-CCWBEKc7.js +0 -258
  109. package/dist/index-CCWBEKc7.js.map +0 -1
  110. package/dist/index-DWPjg9z3.js +0 -2
  111. package/dist/index-DWPjg9z3.js.map +0 -1
  112. package/dist/index-x-rRBFyA.js +0 -3
  113. package/dist/index-x-rRBFyA.js.map +0 -1
  114. package/dist/index.html +0 -13
  115. package/dist/live-z5w0O4st.js +0 -2
  116. package/dist/live-z5w0O4st.js.map +0 -1
  117. package/dist/module-RjUF93sV.js +0 -717
  118. package/dist/module-RjUF93sV.js.map +0 -1
  119. package/dist/native-48B9X9Wg.js +0 -2
  120. package/dist/native-48B9X9Wg.js.map +0 -1
  121. package/dist/nextcloud-CYt9DN65.js +0 -31
  122. package/dist/nextcloud-CYt9DN65.js.map +0 -1
  123. package/dist/nextcloud-internal-link-serializer-CUyXgW04.js +0 -7
  124. package/dist/nextcloud-internal-link-serializer-CUyXgW04.js.map +0 -1
  125. package/dist/offline-Diq5U-E3.js +0 -4
  126. package/dist/offline-Diq5U-E3.js.map +0 -1
  127. package/dist/query-x48B6FB_.js +0 -2
  128. package/dist/query-x48B6FB_.js.map +0 -1
  129. package/dist/shoelace-KCScRbrk.js +0 -3
  130. package/dist/shoelace-KCScRbrk.js.map +0 -1
  131. package/dist/static-Dm20cmTz.js +0 -3
  132. package/dist/static-Dm20cmTz.js.map +0 -1
  133. package/dist/staticBuild-BOgweg16.js +0 -2
  134. package/dist/staticBuild-BOgweg16.js.map +0 -1
  135. package/dist/translations-D5nOIu3x.js +0 -2
  136. package/dist/translations-D5nOIu3x.js.map +0 -1
  137. package/dist/translations-Ds9OkLNv.js +0 -2
  138. package/dist/translations-Ds9OkLNv.js.map +0 -1
  139. package/dist/vuetify-CnK2Qji3.js +0 -21
  140. package/dist/vuetify-CnK2Qji3.js.map +0 -1
  141. package/dist/vuetify-yTaAqVoQ.css +0 -1
  142. package/dist/worker-8k1RWHy1.js +0 -202
  143. package/dist/worker-8k1RWHy1.js.map +0 -1
  144. package/dist/x-alert-8XhM2R9T.js +0 -2
  145. package/dist/x-alert-8XhM2R9T.js.map +0 -1
  146. package/dist/x-alert-BhErtBtU.css +0 -1
  147. package/dist/x-alert-DfYpLdml.css +0 -1
  148. package/dist/x-alert-SyNcMWYD.js +0 -2
  149. package/dist/x-alert-SyNcMWYD.js.map +0 -1
  150. package/dist/x-avatar-2efH4gNX.css +0 -1
  151. package/dist/x-avatar-D7rAcJG4.js +0 -2
  152. package/dist/x-avatar-D7rAcJG4.js.map +0 -1
  153. package/dist/x-avatar-DOwl-V_M.js +0 -2
  154. package/dist/x-avatar-DOwl-V_M.js.map +0 -1
  155. package/dist/x-breadcrumb-BMSNlvvi.css +0 -1
  156. package/dist/x-breadcrumb-Dm5qM-E4.js +0 -2
  157. package/dist/x-breadcrumb-Dm5qM-E4.js.map +0 -1
  158. package/dist/x-breadcrumb-QPITko8O.js +0 -2
  159. package/dist/x-breadcrumb-QPITko8O.js.map +0 -1
  160. package/dist/x-btn-DPGq6Sd-.css +0 -1
  161. package/dist/x-btn-Djv28wbf.js +0 -2
  162. package/dist/x-btn-Djv28wbf.js.map +0 -1
  163. package/dist/x-btn-IM3rnGCu.js +0 -2
  164. package/dist/x-btn-IM3rnGCu.js.map +0 -1
  165. package/dist/x-btn.vue_vue_type_script_setup_true_lang-BfELgZ-g.js +0 -2
  166. package/dist/x-btn.vue_vue_type_script_setup_true_lang-BfELgZ-g.js.map +0 -1
  167. package/dist/x-card-BVIatBG7.js +0 -2
  168. package/dist/x-card-BVIatBG7.js.map +0 -1
  169. package/dist/x-card-GR2LwNNz.js +0 -2
  170. package/dist/x-card-GR2LwNNz.js.map +0 -1
  171. package/dist/x-checkbox-BoqoQxdA.css +0 -1
  172. package/dist/x-checkbox-CvXj01Ni.js +0 -2
  173. package/dist/x-checkbox-CvXj01Ni.js.map +0 -1
  174. package/dist/x-checkbox-Dwtf4j8T.js +0 -2
  175. package/dist/x-checkbox-Dwtf4j8T.js.map +0 -1
  176. package/dist/x-col-CkqsL6R6.js +0 -2
  177. package/dist/x-col-CkqsL6R6.js.map +0 -1
  178. package/dist/x-container-G8-ySp-b.js +0 -2
  179. package/dist/x-container-G8-ySp-b.js.map +0 -1
  180. package/dist/x-dialog-Bk9LE0HR.css +0 -1
  181. package/dist/x-dialog-De-sv7Mm.js +0 -2
  182. package/dist/x-dialog-De-sv7Mm.js.map +0 -1
  183. package/dist/x-dialog-DxfbQB-Y.js +0 -2
  184. package/dist/x-dialog-DxfbQB-Y.js.map +0 -1
  185. package/dist/x-dialog-VzzVz38L.css +0 -1
  186. package/dist/x-divider-2VUJwNX0.js +0 -2
  187. package/dist/x-divider-2VUJwNX0.js.map +0 -1
  188. package/dist/x-divider-BCHM_vRn.js +0 -2
  189. package/dist/x-divider-BCHM_vRn.js.map +0 -1
  190. package/dist/x-dropdown-CVsz59DB.js +0 -2
  191. package/dist/x-dropdown-CVsz59DB.js.map +0 -1
  192. package/dist/x-dropdown-CsPhxqwI.js +0 -2
  193. package/dist/x-dropdown-CsPhxqwI.js.map +0 -1
  194. package/dist/x-dropdown-CxWpPIwn.css +0 -1
  195. package/dist/x-dropdown-GNs7ILlc.css +0 -1
  196. package/dist/x-file-input-BSstA5LD.css +0 -1
  197. package/dist/x-file-input-CINFUmR_.js +0 -2
  198. package/dist/x-file-input-CINFUmR_.js.map +0 -1
  199. package/dist/x-file-input-DioKYTRp.js +0 -2
  200. package/dist/x-file-input-DioKYTRp.js.map +0 -1
  201. package/dist/x-form-CK24VrXN.css +0 -1
  202. package/dist/x-form-CsGPlCcU.js +0 -2
  203. package/dist/x-form-CsGPlCcU.js.map +0 -1
  204. package/dist/x-form-DGUS5Veh.css +0 -1
  205. package/dist/x-form-OLhYS7Pe.js +0 -2
  206. package/dist/x-form-OLhYS7Pe.js.map +0 -1
  207. package/dist/x-img-CDa7fXz7.js +0 -2
  208. package/dist/x-img-CDa7fXz7.js.map +0 -1
  209. package/dist/x-img-D0T62Q-K.js +0 -2
  210. package/dist/x-img-D0T62Q-K.js.map +0 -1
  211. package/dist/x-load-BlPeW_ej.css +0 -1
  212. package/dist/x-load-BsACA7Yh.css +0 -1
  213. package/dist/x-load-CxmsPAk1.js +0 -2
  214. package/dist/x-load-CxmsPAk1.js.map +0 -1
  215. package/dist/x-load-DHKEgXWu.js +0 -2
  216. package/dist/x-load-DHKEgXWu.js.map +0 -1
  217. package/dist/x-menu-BWEqzbov.js +0 -2
  218. package/dist/x-menu-BWEqzbov.js.map +0 -1
  219. package/dist/x-menu-BmuGyRjl.css +0 -1
  220. package/dist/x-menu-BvFt6ZQC.js +0 -2
  221. package/dist/x-menu-BvFt6ZQC.js.map +0 -1
  222. package/dist/x-menu-item-DWjQwgJO.js +0 -2
  223. package/dist/x-menu-item-DWjQwgJO.js.map +0 -1
  224. package/dist/x-menu-item-DtD2NUGa.js +0 -2
  225. package/dist/x-menu-item-DtD2NUGa.js.map +0 -1
  226. package/dist/x-menu-label-8wvYr7d2.js +0 -2
  227. package/dist/x-menu-label-8wvYr7d2.js.map +0 -1
  228. package/dist/x-menu-label-DhRAj-fk.css +0 -1
  229. package/dist/x-menu-label-dVGBH64z.js +0 -2
  230. package/dist/x-menu-label-dVGBH64z.js.map +0 -1
  231. package/dist/x-row-CkqsL6R6.js +0 -2
  232. package/dist/x-row-CkqsL6R6.js.map +0 -1
  233. package/dist/x-search-BW5n0R02.js +0 -2
  234. package/dist/x-search-BW5n0R02.js.map +0 -1
  235. package/dist/x-search-DdfuJ8m0.js +0 -2
  236. package/dist/x-search-DdfuJ8m0.js.map +0 -1
  237. package/dist/x-select-ByfZfFMe.js +0 -2
  238. package/dist/x-select-ByfZfFMe.js.map +0 -1
  239. package/dist/x-select-R4a_-Bdz.js +0 -2
  240. package/dist/x-select-R4a_-Bdz.js.map +0 -1
  241. package/dist/x-tab-ClYE3cii.js +0 -2
  242. package/dist/x-tab-ClYE3cii.js.map +0 -1
  243. package/dist/x-tab-DaNeuiT_.js +0 -2
  244. package/dist/x-tab-DaNeuiT_.js.map +0 -1
  245. package/dist/x-tab-group-BXepgVbd.js +0 -2
  246. package/dist/x-tab-group-BXepgVbd.js.map +0 -1
  247. package/dist/x-tab-group-CNwwWr7e.js +0 -2
  248. package/dist/x-tab-group-CNwwWr7e.js.map +0 -1
  249. package/dist/x-tab-panel-BvMrfGru.js +0 -2
  250. package/dist/x-tab-panel-BvMrfGru.js.map +0 -1
  251. package/dist/x-tab-panel-D7cMQTqi.js +0 -2
  252. package/dist/x-tab-panel-D7cMQTqi.js.map +0 -1
  253. package/dist/x-text-field-DFHPCvyd.js +0 -2
  254. package/dist/x-text-field-DFHPCvyd.js.map +0 -1
  255. package/dist/x-text-field-Dgt67jOY.js +0 -2
  256. package/dist/x-text-field-Dgt67jOY.js.map +0 -1
  257. package/dist/x-tree-D0WG-8EM.css +0 -1
  258. package/dist/x-tree-DyXSXOLh.js +0 -2
  259. package/dist/x-tree-DyXSXOLh.js.map +0 -1
  260. package/dist/x-tree-OLo4IKf9.css +0 -1
  261. package/dist/x-tree-xjxifOp4.js +0 -2
  262. package/dist/x-tree-xjxifOp4.js.map +0 -1
  263. package/dist/xwiki-DMzRUTcj.js +0 -4
  264. package/dist/xwiki-DMzRUTcj.js.map +0 -1
  265. package/dist/xwiki-internal-link-serializer-Cd8xorru-tUzhWt61.js +0 -2
  266. package/dist/xwiki-internal-link-serializer-Cd8xorru-tUzhWt61.js.map +0 -1
  267. package/dist/xwiki-logo-color-DZ9bdNW4.svg +0 -18
@@ -1 +0,0 @@
1
- {"version":3,"mappings":"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","names":["GitHubLoginMenuUIExtension","authenticationManager","__vitePreload","__vite_default__","__decorateClass","injectable","__decorateParam","ComponentInit$6","container","GitHubPageHierarchyResolver","logger","cristalApp","page","includeHomePage","hierarchy","getPageHierarchyFromPath","ComponentInit$5","name","GitHubPageRevisionManager","alertsService","authenticationManagerProvider","pageData","revisions","currentId","authorization","headers","historyRequestUrl","jsonResponse","commit","error","ComponentInit$4","PageRevisionManagerName","GitHubModelReferenceParser","reference","options","segments","EntityType","AttachmentReference","DocumentReference","SpaceReference","GitHubModelReferenceSerializer","type","SPACE","ATTACHMENT","DOCUMENT","WIKI","spaces","ComponentInit$3","GitHubRemoteURLParser","urlStr","baseURL","baseRestURL","documentReferenceName","file","GitHubRemoteURLSerializer","attachmentReference","ComponentInit$2","GitHubNavigationTreeSource","remoteURLParserProvider","modelReferenceSerializerProvider","id","navigationTree","input","treeNode","parse","currentPageData","it","n","names","_includeTerminal","includeRootNode","getParentNodesIdFromPath","ComponentInit$1","NavigationTreeSourceName","ComponentInit","context","component","GitHubInternalLinkSerializer","bindAndLoad","load","GitHubAuthenticationUIComponentInit","GitHubPageHierarchyComponentInit","GitHubNavigationTreeComponentInit","GitHubPageHistoryComponentInit","ModelReferenceGitHubComponentInit","ModelRemoteURLGitHubComponentInit","UniASTMarkdownGitHubComponentInit"],"ignoreList":[],"sources":["../../../core/authentication/authentication-github-ui/src/GitHubLoginMenuUIExtension.ts","../../../core/authentication/authentication-github-ui/src/index.ts","../../../core/hierarchy/hierarchy-github/src/components/componentsInit.ts","../../../core/history/history-github/src/components/componentsInit.ts","../../../core/history/history-github/src/index.ts","../../../core/model/model-reference/model-reference-github/src/gitHubModelReferenceParser.ts","../../../core/model/model-reference/model-reference-github/src/gitHubModelReferenceSerializer.ts","../../../core/model/model-reference/model-reference-github/src/componentInit.ts","../../../core/model/model-remote-url/model-remote-url-github/src/gitHubRemoteURLParser.ts","../../../core/model/model-remote-url/model-remote-url-github/src/gitHubRemoteURLSerializer.ts","../../../core/model/model-remote-url/model-remote-url-github/src/componentInit.ts","../../../core/navigation-tree/navigation-tree-github/src/components/componentsInit.ts","../../../core/uniast/uniast-markdown-github/src/index.ts","../../../lib/src/default/github.ts"],"sourcesContent":["/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { inject, injectable } from \"inversify\";\nimport type { UIExtension } from \"@xwiki/cristal-uiextension-api\";\nimport type {\n AuthenticationManager,\n AuthenticationManagerProvider,\n} from \"@xwiki/platform-authentication-api\";\nimport type { Component } from \"vue\";\n\n/**\n * Login {@link UIExtension} for the GitHub backend.\n *\n * @since 0.15\n * @beta\n */\n@injectable()\nexport class GitHubLoginMenuUIExtension implements UIExtension {\n id = \"sidebar.actions.githubLoginMenu\";\n uixpName = \"sidebar.actions\";\n order = 2100;\n parameters = {};\n\n constructor(\n @inject(\"AuthenticationManagerProvider\")\n private authenticationManager: AuthenticationManagerProvider,\n ) {}\n\n async component(): Promise<Component> {\n return (await import(\"./vue/GitHubLoginMenu.vue\")).default;\n }\n\n async enabled(): Promise<boolean> {\n const authenticationManager: AuthenticationManager =\n this.authenticationManager.get()!;\n const authenticated: boolean =\n await authenticationManager?.isAuthenticated();\n return !authenticated;\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { GitHubLoginMenuUIExtension } from \"./GitHubLoginMenuUIExtension\";\nimport { Container } from \"inversify\";\nimport type { UIExtension } from \"@xwiki/cristal-uiextension-api\";\n\n/**\n * @beta\n */\nexport class ComponentInit {\n constructor(container: Container) {\n container\n .bind<UIExtension>(\"UIExtension\")\n .to(GitHubLoginMenuUIExtension)\n .inSingletonScope();\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { getPageHierarchyFromPath } from \"@xwiki/cristal-hierarchy-default\";\nimport { name } from \"@xwiki/platform-hierarchy-api\";\nimport { Container, inject, injectable } from \"inversify\";\nimport type { CristalApp, Logger } from \"@xwiki/platform-api\";\nimport type {\n PageHierarchyItem,\n PageHierarchyResolver,\n} from \"@xwiki/platform-hierarchy-api\";\nimport type {\n DocumentReference,\n SpaceReference,\n} from \"@xwiki/platform-model-api\";\n\n/**\n * Implementation of PageHierarchyResolver for the GitHub backend.\n *\n * @since 0.9\n * @beta\n **/\n@injectable()\nclass GitHubPageHierarchyResolver implements PageHierarchyResolver {\n private cristalApp: CristalApp;\n public logger: Logger;\n\n constructor(\n @inject(\"Logger\") logger: Logger,\n @inject(\"CristalApp\") cristalApp: CristalApp,\n ) {\n this.logger = logger;\n this.logger.setModule(\"storage.components.FileSystemPageHierarchyResolver\");\n this.cristalApp = cristalApp;\n }\n\n async getPageHierarchy(\n page: DocumentReference | SpaceReference,\n includeHomePage: boolean = true,\n ): Promise<Array<PageHierarchyItem>> {\n const hierarchy: Array<PageHierarchyItem> = includeHomePage\n ? [\n {\n label: \"Home\",\n pageId: this.cristalApp.getWikiConfig().homePage,\n url: this.cristalApp.getRouter().resolve({\n name: \"view\",\n params: { page: this.cristalApp.getWikiConfig().homePage },\n }).href,\n },\n ]\n : [];\n if (page != null) {\n hierarchy.push(\n ...(await getPageHierarchyFromPath(page, this.cristalApp)),\n );\n }\n return hierarchy;\n }\n}\n\n/**\n * @beta\n */\nexport class ComponentInit {\n constructor(container: Container) {\n container\n .bind<PageHierarchyResolver>(name)\n .to(GitHubPageHierarchyResolver)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { inject, injectable } from \"inversify\";\nimport type { AlertsService } from \"@xwiki/cristal-alerts-api\";\nimport type {\n PageRevision,\n PageRevisionManager,\n} from \"@xwiki/cristal-history-api\";\nimport type { CristalApp, Logger, PageData } from \"@xwiki/platform-api\";\nimport type { AuthenticationManagerProvider } from \"@xwiki/platform-authentication-api\";\n\n/**\n * Implementation of PageRevisionManager for the GitHub backend.\n *\n * @since 0.12\n * @beta\n **/\n@injectable()\nclass GitHubPageRevisionManager implements PageRevisionManager {\n constructor(\n @inject(\"CristalApp\") private readonly cristalApp: CristalApp,\n @inject(\"Logger\") private readonly logger: Logger,\n @inject(\"AlertsService\")\n private readonly alertsService: AlertsService,\n @inject(\"AuthenticationManagerProvider\")\n private readonly authenticationManagerProvider: AuthenticationManagerProvider,\n ) {\n this.logger.setModule(\"history-github.GitHubPageRevisionManager\");\n }\n\n // TODO: reduce the number of statements in the following method and reactivate the disabled eslint rule.\n // eslint-disable-next-line max-statements\n async getRevisions(pageData: PageData): Promise<Array<PageRevision>> {\n const revisions: Array<PageRevision> = [];\n if (pageData) {\n const currentId = pageData.id;\n\n const authorization = await this.authenticationManagerProvider\n .get()\n ?.getAuthorizationHeader();\n const headers: { Accept: string; Authorization?: string } = {\n Accept: \"application/vnd.github+json\",\n };\n if (authorization) {\n headers.Authorization = authorization;\n }\n\n const historyRequestUrl = new URL(\n `${this.cristalApp.getWikiConfig().baseRestURL}/commits`,\n );\n historyRequestUrl.search = new URLSearchParams([\n [\"path\", `${currentId}.md`],\n ]).toString();\n\n try {\n const response = await fetch(historyRequestUrl, {\n headers: headers,\n });\n const jsonResponse: Array<{\n sha: string;\n commit: { author: { name: string; date: string }; message: string };\n author: { avatar_url: string; html_url: string };\n }> = await response.json();\n for (const commit of jsonResponse) {\n revisions.push({\n version: commit.sha.slice(0, 7),\n date: new Date(commit.commit.author.date),\n user: {\n profile: commit.author.html_url,\n name: commit.commit.author.name,\n },\n comment: commit.commit.message,\n url: this.cristalApp.getRouter().resolve({\n name: \"view\",\n params: {\n page: currentId,\n revision: commit.sha.slice(0, 7),\n },\n }).href,\n });\n }\n } catch (error) {\n this.logger.error(error);\n this.alertsService.error(\n `Could not load page history for ${pageData.name}.`,\n );\n }\n }\n return revisions;\n }\n}\n\nexport { GitHubPageRevisionManager };\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { GitHubPageRevisionManager } from \"./components/componentsInit\";\nimport { name as PageRevisionManagerName } from \"@xwiki/cristal-history-api\";\nimport type { PageRevisionManager } from \"@xwiki/cristal-history-api\";\nimport type { Container } from \"inversify\";\n\n/**\n * @beta\n */\nclass ComponentInit {\n constructor(container: Container) {\n container\n .bind<PageRevisionManager>(PageRevisionManagerName)\n .to(GitHubPageRevisionManager)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n }\n}\n\nexport { ComponentInit };\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport {\n AttachmentReference,\n DocumentReference,\n EntityType,\n SpaceReference,\n} from \"@xwiki/platform-model-api\";\nimport { injectable } from \"inversify\";\nimport type { EntityReference } from \"@xwiki/platform-model-api\";\nimport type {\n ModelReferenceParser,\n ModelReferenceParserOptions,\n} from \"@xwiki/platform-model-reference-api\";\n\n@injectable()\nexport class GitHubModelReferenceParser implements ModelReferenceParser {\n parse(\n reference: string,\n options?: ModelReferenceParserOptions,\n ): EntityReference {\n if (/^https?:\\/\\//.test(reference)) {\n throw new Error(`[${reference}] is not a valid entity reference`);\n }\n let segments = reference.split(\"/\");\n if (segments[0] == \"\") {\n segments = segments.slice(1);\n }\n if (options?.type === EntityType.ATTACHMENT) {\n return new AttachmentReference(\n segments[segments.length - 1],\n this.buildDocumentReference(segments.slice(0, segments.length - 2)),\n );\n } else {\n return this.buildDocumentReference(segments);\n }\n }\n\n async parseAsync(\n reference: string,\n options?: ModelReferenceParserOptions,\n ): Promise<EntityReference> {\n return this.parse(reference, options);\n }\n\n private buildDocumentReference(segments: string[]) {\n return new DocumentReference(\n segments[segments.length - 1],\n new SpaceReference(undefined, ...segments.slice(0, segments.length - 1)),\n );\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { EntityType } from \"@xwiki/platform-model-api\";\nimport { injectable } from \"inversify\";\nimport type { EntityReference } from \"@xwiki/platform-model-api\";\nimport type { ModelReferenceSerializer } from \"@xwiki/platform-model-reference-api\";\n\n@injectable()\nexport class GitHubModelReferenceSerializer implements ModelReferenceSerializer {\n // TODO: reduce the number of statements in the following method and reactivate the disabled eslint rule.\n // eslint-disable-next-line max-statements\n serialize(reference?: EntityReference): string | undefined {\n if (!reference) {\n return undefined;\n }\n const type = reference.type;\n const { SPACE, ATTACHMENT, DOCUMENT, WIKI } = EntityType;\n switch (type) {\n case WIKI:\n throw new Error(\"Wiki currently not supported from GitHub\");\n case SPACE: {\n return reference.names.join(\"/\");\n }\n case DOCUMENT: {\n const spaces = this.serialize(reference.space);\n const name = reference.name;\n if (spaces === undefined || spaces == \"\") {\n return name;\n } else {\n return `${spaces}/${name}`;\n }\n }\n case ATTACHMENT: {\n return this.serialize(reference.document) + \"/\" + reference.name;\n }\n default:\n throw new Error(`Unknown reference type [${type}]`);\n }\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { GitHubModelReferenceParser } from \"./gitHubModelReferenceParser\";\nimport { GitHubModelReferenceSerializer } from \"./gitHubModelReferenceSerializer\";\nimport type {\n ModelReferenceParser,\n ModelReferenceSerializer,\n} from \"@xwiki/platform-model-reference-api\";\nimport type { Container } from \"inversify\";\n\n/**\n * @beta\n */\nexport class ComponentInit {\n constructor(container: Container) {\n container\n .bind<ModelReferenceParser>(\"ModelReferenceParser\")\n .to(GitHubModelReferenceParser)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n container\n .bind<ModelReferenceSerializer>(\"ModelReferenceSerializer\")\n .to(GitHubModelReferenceSerializer)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport {\n AttachmentReference,\n DocumentReference,\n EntityType,\n SpaceReference,\n} from \"@xwiki/platform-model-api\";\nimport { inject, injectable } from \"inversify\";\nimport type { CristalApp } from \"@xwiki/platform-api\";\nimport type { EntityReference } from \"@xwiki/platform-model-api\";\nimport type { RemoteURLParser } from \"@xwiki/platform-model-remote-url-api\";\n\n@injectable()\nclass GitHubRemoteURLParser implements RemoteURLParser {\n constructor(@inject(\"CristalApp\") private readonly cristalApp: CristalApp) {}\n\n parse(urlStr: string, type?: EntityType): EntityReference | undefined {\n const baseURL = this.getWikiConfig().baseURL;\n const baseRestURL = this.getWikiConfig().baseRestURL;\n\n if (urlStr.includes(\"://\") && urlStr.startsWith(baseRestURL)) {\n return this.parseSpaceOrPage(urlStr, baseRestURL, type);\n } else if (urlStr.includes(\"://\") && urlStr.startsWith(baseURL)) {\n return this.parseAttachment(urlStr, baseURL);\n } else {\n return undefined;\n }\n }\n\n private parseAttachment(urlStr: string, baseURL: string) {\n const segments = this.computeSegments(urlStr.replace(`${baseURL}/`, \"\"));\n\n if (\n segments.length >= 3 &&\n segments[segments.length - 2] == \"attachments\"\n ) {\n return new AttachmentReference(\n decodeURIComponent(segments[segments.length - 1].split(\"?\")[0]),\n this.buildDocumentReference(\n segments[segments.length - 3].slice(1), // remove the starting dot\n segments.splice(0, segments.length - 3),\n ),\n );\n } else {\n return undefined;\n }\n }\n\n private parseSpaceOrPage(\n urlStr: string,\n baseRestURL: string,\n type:\n | EntityType\n | undefined\n | EntityType.WIKI\n | EntityType.SPACE\n | EntityType.ATTACHMENT,\n ) {\n const segments = this.computeSegments(\n urlStr.replace(`${baseRestURL}/contents/`, \"\").replace(/\\?.*/, \"\"),\n );\n\n if (type === EntityType.DOCUMENT || type === undefined) {\n return this.buildDocumentReference(\n segments[segments.length - 1],\n segments.splice(0, segments.length - 1),\n );\n } else if (type == EntityType.SPACE) {\n return new SpaceReference(undefined, ...segments);\n } else {\n return undefined;\n }\n }\n\n private computeSegments(urlStr: string) {\n let segments = decodeURIComponent(urlStr).split(\"/\");\n if (segments[0] === \"\" || segments[0] === \".\") {\n segments = segments.slice(1);\n }\n\n if (segments[segments.length - 1] === \"\") {\n segments = segments.slice(0, segments.length - 1);\n }\n return segments;\n }\n\n private buildDocumentReference(\n documentReferenceName: string,\n spaces: string[],\n ) {\n return new DocumentReference(\n decodeURIComponent(this.removeExtension(documentReferenceName)),\n spaces.length > 0\n ? new SpaceReference(undefined, ...spaces.map(decodeURIComponent))\n : undefined,\n );\n }\n\n private getWikiConfig() {\n return this.cristalApp.getWikiConfig();\n }\n\n private removeExtension(file: string): string {\n if (!file.includes(\".\")) {\n return file;\n }\n return file.slice(0, file.lastIndexOf(\".\"));\n }\n}\n\nexport { GitHubRemoteURLParser };\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { AttachmentReference, EntityType } from \"@xwiki/platform-model-api\";\nimport { inject, injectable } from \"inversify\";\nimport type { CristalApp } from \"@xwiki/platform-api\";\nimport type { EntityReference } from \"@xwiki/platform-model-api\";\nimport type { RemoteURLSerializer } from \"@xwiki/platform-model-remote-url-api\";\n\n@injectable()\nclass GitHubRemoteURLSerializer implements RemoteURLSerializer {\n constructor(@inject(\"CristalApp\") private readonly cristalApp: CristalApp) {}\n\n serialize(reference?: EntityReference): string | undefined {\n if (!reference) {\n return undefined;\n }\n switch (reference.type) {\n case EntityType.WIKI:\n throw new Error(\"Not implemented\");\n case EntityType.SPACE: {\n const spaces = reference.names.join(\"/\");\n return `${this.getBaseRestURL()}/contents${spaces}`;\n }\n case EntityType.DOCUMENT: {\n const spaces = reference.space?.names.join(\"/\");\n return `${this.getBaseRestURL()}/contents${spaces}/${reference.name}`;\n }\n case EntityType.ATTACHMENT: {\n return this.serializeAttachmentReference(reference);\n }\n }\n }\n\n private serializeAttachmentReference(\n attachmentReference: AttachmentReference,\n ) {\n const segments = [\n ...(attachmentReference.document.space?.names ?? []),\n \".\" + attachmentReference.document.name,\n \"attachments\",\n attachmentReference.name,\n ]\n .map(encodeURIComponent)\n .join(\"/\");\n return `${this.getBaseURL()}/${segments}`;\n }\n\n private getBaseURL() {\n return this.cristalApp.getWikiConfig().baseURL;\n }\n\n private getBaseRestURL() {\n return this.cristalApp.getWikiConfig().baseRestURL;\n }\n}\n\nexport { GitHubRemoteURLSerializer };\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { GitHubRemoteURLParser } from \"./gitHubRemoteURLParser\";\nimport { GitHubRemoteURLSerializer } from \"./gitHubRemoteURLSerializer\";\nimport { Container } from \"inversify\";\nimport type {\n RemoteURLParser,\n RemoteURLSerializer,\n} from \"@xwiki/platform-model-remote-url-api\";\n\n/**\n * @beta\n */\nexport class ComponentInit {\n constructor(container: Container) {\n container\n .bind<RemoteURLParser>(\"RemoteURLParser\")\n .to(GitHubRemoteURLParser)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n container\n .bind<RemoteURLSerializer>(\"RemoteURLSerializer\")\n .to(GitHubRemoteURLSerializer)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { getParentNodesIdFromPath } from \"@xwiki/cristal-navigation-tree-default\";\nimport { EntityType, SpaceReference } from \"@xwiki/platform-model-api\";\nimport { name as NavigationTreeSourceName } from \"@xwiki/platform-navigation-tree-api\";\nimport { Container, inject, injectable } from \"inversify\";\nimport type { CristalApp, Logger } from \"@xwiki/platform-api\";\nimport type { AuthenticationManagerProvider } from \"@xwiki/platform-authentication-api\";\nimport type { DocumentReference } from \"@xwiki/platform-model-api\";\nimport type { ModelReferenceSerializerProvider } from \"@xwiki/platform-model-reference-api\";\nimport type { RemoteURLParserProvider } from \"@xwiki/platform-model-remote-url-api\";\nimport type {\n NavigationTreeNode,\n NavigationTreeSource,\n} from \"@xwiki/platform-navigation-tree-api\";\n\n/**\n * Implementation of NavigationTreeSource for the GitHub backend.\n *\n * @since 0.10\n * @beta\n **/\n@injectable()\nclass GitHubNavigationTreeSource implements NavigationTreeSource {\n constructor(\n @inject(\"Logger\") private readonly logger: Logger,\n @inject(\"CristalApp\") private readonly cristalApp: CristalApp,\n @inject(\"AuthenticationManagerProvider\")\n private readonly authenticationManagerProvider: AuthenticationManagerProvider,\n @inject(\"RemoteURLParserProvider\")\n private readonly remoteURLParserProvider: RemoteURLParserProvider,\n @inject(\"ModelReferenceSerializerProvider\")\n private readonly modelReferenceSerializerProvider: ModelReferenceSerializerProvider,\n ) {\n this.logger = logger;\n this.logger.setModule(\n \"navigation-tree-github.components.GitHubNavigationTreeSource\",\n );\n this.cristalApp = cristalApp;\n }\n\n // TODO: reduce the number of statements in the following method and reactivate the disabled eslint rule.\n // eslint-disable-next-line max-statements\n async getChildNodes(id?: string): Promise<Array<NavigationTreeNode>> {\n const currentId = id ? id : \"\";\n const navigationTree: Array<NavigationTreeNode> = [];\n\n const authorization = await this.authenticationManagerProvider\n .get()\n ?.getAuthorizationHeader();\n const headers: { Accept: string; Authorization?: string } = {\n Accept: \"application/vnd.github.raw+json\",\n };\n if (authorization) {\n headers.Authorization = authorization;\n }\n\n try {\n const input = this.cristalApp\n .getWikiConfig()\n .storage.getPageRestURL(currentId, \"\");\n const response = await fetch(input, {\n headers: headers,\n });\n const jsonResponse = await response.json();\n navigationTree.push(\n ...(\n await Promise.all(\n jsonResponse.map(\n async (treeNode: {\n name: string;\n path: string;\n type: string;\n git_url: string;\n url: string;\n }): Promise<NavigationTreeNode | undefined> => {\n const parse = this.remoteURLParserProvider\n .get()!\n .parse(\n treeNode.url,\n treeNode.type === \"dir\"\n ? EntityType.SPACE\n : EntityType.DOCUMENT,\n );\n if (parse?.type === EntityType.DOCUMENT) {\n const modelReferenceSerializer =\n this.modelReferenceSerializerProvider.get()!;\n const page = modelReferenceSerializer.serialize(parse);\n if (!page) {\n throw new Error(\n `Could not serialize page [${treeNode.path}]`,\n );\n }\n const currentPageData = await this.cristalApp.getPage(page);\n return {\n id: page,\n label: this.computeLabel(currentPageData, parse, treeNode),\n location: new SpaceReference(\n parse.space?.wiki,\n ...(parse.space?.names ?? []),\n parse.name,\n ),\n url: this.cristalApp.getRouter().resolve({\n name: \"view\",\n params: {\n page,\n },\n }).href,\n has_children: jsonResponse.some(\n (it: { path: string; type: string }) =>\n it.path === page && it.type == \"dir\",\n ),\n is_terminal: false,\n };\n }\n },\n ),\n )\n ).filter((n: NavigationTreeNode) => n !== undefined),\n );\n } catch (error) {\n this.logger.error(error);\n this.logger.debug(\"Could not load navigation tree.\");\n }\n return navigationTree;\n }\n\n /**\n * @param names - a list of objects with a name property\n * @returns the first element that is not undefined with a name that is not undefined or the empty string\n */\n private computeLabel(\n ...names: (\n | {\n name: string | undefined;\n }\n | undefined\n )[]\n ): string {\n return (\n names\n .filter((it) => it?.name !== undefined && it.name !== \"\")\n .map((it) => it!.name)[0] ?? \"\"\n );\n }\n\n getParentNodesId(\n page: DocumentReference,\n _includeTerminal?: boolean,\n includeRootNode?: boolean,\n ): Array<string> {\n // GitHub implementation does not handle terminal pages.\n return getParentNodesIdFromPath(page, includeRootNode);\n }\n}\n\n/**\n * @beta\n */\nexport class ComponentInit {\n constructor(container: Container) {\n container\n .bind<NavigationTreeSource>(NavigationTreeSourceName)\n .to(GitHubNavigationTreeSource)\n .inSingletonScope()\n .whenNamed(\"GitHub\");\n }\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\nimport type { InternalLinksSerializer } from \"@xwiki/platform-uniast-markdown\";\nimport type { Container, Factory, Newable, ResolutionContext } from \"inversify\";\n\n/**\n * @beta\n * @since 18.2.0RC1\n */\nexport class ComponentInit {\n constructor(container: Container) {\n const name = '\"GitHub\"';\n container\n .bind<Factory<Promise<InternalLinksSerializer>>>(\n \"Factory<InternalLinksSerializer>\",\n )\n .toFactory((context) => {\n return async () => {\n const component = (await import(\"./github-internal-link-serializer\"))\n .GitHubInternalLinkSerializer;\n return bindAndLoad(container, name, component, context);\n };\n })\n .whenNamed(name);\n }\n}\n\n/**\n * Register the component in the container on demand.\n *\n * @param container - the container\n * @param name - the name of the component interface\n * @param component - the actual component to register\n * @param context - the context\n */\nfunction bindAndLoad<T extends InternalLinksSerializer>(\n container: Container,\n name: string,\n component: Newable<T>,\n context: ResolutionContext,\n) {\n if (!container.isBound(\"InternalLinksSerializer\", { name: name })) {\n container\n .bind<InternalLinksSerializer>(\"InternalLinksSerializer\")\n .to(component)\n .whenNamed(name);\n }\n return context.get<InternalLinksSerializer>(\"InternalLinksSerializer\", {\n name: name,\n });\n}\n","/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\n\nimport { ComponentInit as GitHubAuthenticationUIComponentInit } from \"@xwiki/cristal-authentication-github-ui\";\nimport { ComponentInit as GitHubPageHierarchyComponentInit } from \"@xwiki/cristal-hierarchy-github\";\nimport { ComponentInit as GitHubPageHistoryComponentInit } from \"@xwiki/cristal-history-github\";\nimport { ComponentInit as ModelReferenceGitHubComponentInit } from \"@xwiki/cristal-model-reference-github\";\nimport { ComponentInit as ModelRemoteURLGitHubComponentInit } from \"@xwiki/cristal-model-remote-url-github\";\nimport { ComponentInit as GitHubNavigationTreeComponentInit } from \"@xwiki/cristal-navigation-tree-github\";\nimport { ComponentInit as UniASTMarkdownGitHubComponentInit } from \"@xwiki/cristal-uniast-markdown-github\";\nimport type { Container } from \"inversify\";\n\nexport function load(container: Container) {\n new GitHubAuthenticationUIComponentInit(container);\n new GitHubPageHierarchyComponentInit(container);\n new GitHubNavigationTreeComponentInit(container);\n new GitHubPageHistoryComponentInit(container);\n new ModelReferenceGitHubComponentInit(container);\n new ModelRemoteURLGitHubComponentInit(container);\n new UniASTMarkdownGitHubComponentInit(container);\n}\n"],"file":"github-CTLFo_VH.js"}
@@ -1,2 +0,0 @@
1
- import{ah as o,a9 as p,ad as m}from"./index-CCWBEKc7.js";var l=Object.getOwnPropertyDescriptor,u=(e,r,n,t)=>{for(var c=t>1?void 0:t?l(r,n):r,a=e.length-1,s;a>=0;a--)(s=e[a])&&(c=s(c)||c);return c},f=(e,r)=>(n,t)=>r(n,t,e);let i=class{constructor(e){this.documentService=e}async serialize(e,r,n){const t=await n.convertInlineContents(e),c=this.computeRef(r);return`[${t}](${c})`}async serializeImage(e,r){const n=this.computeRef(e);return`![${r??""}](${n})`}computeRef(e){if(e.parsedReference){const r=this.documentService.getCurrentDocumentReference().value;let n=e.parsedReference;const t=n.type===o.ATTACHMENT;if(t)n=n.document;else if(n.type!==o.DOCUMENT)throw new Error(`Unexpected type ${n.type} for link serialization`);const c=[...r.space&&r.space.names.length>0?r.space.names.map(()=>".."):["."]].join("/"),a=(t?".":"")+n.name,s=[...n.space?.names??[],a].map(encodeURI).join("/");return t?`${c}/${s}/attachments/${encodeURI(e.parsedReference.name)}`.replace(/^\.\//,""):`${c}/${s}.md`.replace(/^\.\//,"")}else return e.rawReference}};i=u([p(),f(0,m("DocumentService"))],i);export{i as GitHubInternalLinkSerializer};
2
- //# sourceMappingURL=github-internal-link-serializer-CcT9sA8-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-internal-link-serializer-CcT9sA8-.js","sources":["../../../core/uniast/uniast-markdown-github/src/github-internal-link-serializer.ts"],"sourcesContent":["/**\n * See the LICENSE file distributed with this work for additional\n * information regarding copyright ownership.\n *\n * This is free software; you can redistribute it and/or modify it\n * under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation; either version 2.1 of\n * the License, or (at your option) any later version.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this software; if not, write to the Free\n * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA, or see the FSF site: http://www.fsf.org.\n */\nimport { AttachmentReference, EntityType } from \"@xwiki/platform-model-api\";\nimport { inject, injectable } from \"inversify\";\nimport type { DocumentService } from \"@xwiki/platform-document-api\";\nimport type { EntityReference } from \"@xwiki/platform-model-api\";\nimport type { Link, LinkTarget } from \"@xwiki/platform-uniast-api\";\nimport type {\n InternalLinksSerializer,\n UniAstToMarkdownConverter,\n} from \"@xwiki/platform-uniast-markdown\";\n\n/**\n * @since 1.2.0RC1\n */\n@injectable()\nexport class GitHubInternalLinkSerializer implements InternalLinksSerializer {\n constructor(\n @inject(\"DocumentService\")\n private readonly documentService: DocumentService,\n ) {}\n\n async serialize(\n content: Link[\"content\"],\n target: Extract<LinkTarget, { type: \"internal\" }>,\n uniAstToMarkdownConverter: UniAstToMarkdownConverter,\n ): Promise<string> {\n const label =\n await uniAstToMarkdownConverter.convertInlineContents(content);\n\n const ref = this.computeRef(target);\n return `[${label}](${ref})`;\n }\n\n async serializeImage(\n target: Extract<LinkTarget, { type: \"internal\" }>,\n alt?: string,\n ): Promise<string> {\n const ref = this.computeRef(target);\n return `![${alt ?? \"\"}](${ref})`;\n }\n\n // eslint-disable-next-line max-statements\n private computeRef(\n target: Extract<\n {\n type: \"internal\";\n rawReference: string;\n parsedReference: EntityReference | null;\n },\n { type: \"internal\" }\n >,\n ) {\n if (target.parsedReference) {\n const currentDocumentReference =\n this.documentService.getCurrentDocumentReference().value!;\n let parsedReference = target.parsedReference;\n const isAttachment = parsedReference.type === EntityType.ATTACHMENT;\n if (isAttachment) {\n parsedReference = (parsedReference as AttachmentReference).document;\n } else if (parsedReference.type !== EntityType.DOCUMENT) {\n throw new Error(\n `Unexpected type ${parsedReference.type} for link serialization`,\n );\n }\n\n const down = [\n ...(currentDocumentReference.space &&\n currentDocumentReference.space.names.length > 0\n ? currentDocumentReference.space.names.map(() => \"..\")\n : [\".\"]),\n ].join(\"/\");\n\n const name = (isAttachment ? \".\" : \"\") + parsedReference.name;\n const up = [...(parsedReference.space?.names ?? []), name]\n .map(encodeURI)\n .join(\"/\");\n if (!isAttachment) {\n return `${down}/${up}.md`.replace(/^\\.\\//, \"\");\n } else {\n return `${down}/${up}/attachments/${encodeURI((target.parsedReference as AttachmentReference).name)}`.replace(\n /^\\.\\//,\n \"\",\n );\n }\n } else {\n return target.rawReference;\n }\n }\n}\n"],"names":["GitHubInternalLinkSerializer","documentService","content","target","uniAstToMarkdownConverter","label","ref","alt","currentDocumentReference","parsedReference","isAttachment","EntityType","down","name","up","__decorateClass","injectable","__decorateParam"],"mappings":"8NAiCO,IAAMA,EAAN,KAAsE,CAC3E,YAEmBC,EACjB,CADiB,KAAA,gBAAAA,CAChB,CAEH,MAAM,UACJC,EACAC,EACAC,EACiB,CACjB,MAAMC,EACJ,MAAMD,EAA0B,sBAAsBF,CAAO,EAEzDI,EAAM,KAAK,WAAWH,CAAM,EAClC,MAAO,IAAIE,CAAK,KAAKC,CAAG,GAC1B,CAEA,MAAM,eACJH,EACAI,EACiB,CACjB,MAAMD,EAAM,KAAK,WAAWH,CAAM,EAClC,MAAO,KAAKI,GAAO,EAAE,KAAKD,CAAG,GAC/B,CAGQ,WACNH,EAQA,CACA,GAAIA,EAAO,gBAAiB,CAC1B,MAAMK,EACJ,KAAK,gBAAgB,4BAAA,EAA8B,MACrD,IAAIC,EAAkBN,EAAO,gBAC7B,MAAMO,EAAeD,EAAgB,OAASE,EAAW,WACzD,GAAID,EACFD,EAAmBA,EAAwC,iBAClDA,EAAgB,OAASE,EAAW,SAC7C,MAAM,IAAI,MACR,mBAAmBF,EAAgB,IAAI,yBAAA,EAI3C,MAAMG,EAAO,CACX,GAAIJ,EAAyB,OAC7BA,EAAyB,MAAM,MAAM,OAAS,EAC1CA,EAAyB,MAAM,MAAM,IAAI,IAAM,IAAI,EACnD,CAAC,GAAG,CAAA,EACR,KAAK,GAAG,EAEJK,GAAQH,EAAe,IAAM,IAAMD,EAAgB,KACnDK,EAAK,CAAC,GAAIL,EAAgB,OAAO,OAAS,CAAA,EAAKI,CAAI,EACtD,IAAI,SAAS,EACb,KAAK,GAAG,EACX,OAAKH,EAGI,GAAGE,CAAI,IAAIE,CAAE,gBAAgB,UAAWX,EAAO,gBAAwC,IAAI,CAAC,GAAG,QACpG,QACA,EAAA,EAJK,GAAGS,CAAI,IAAIE,CAAE,MAAM,QAAQ,QAAS,EAAE,CAOjD,KACE,QAAOX,EAAO,YAElB,CACF,EAzEaH,EAANe,EAAA,CADNC,EAAA,EAGIC,MAAO,iBAAiB,CAAA,CAAA,EAFhBjB,CAAA"}
@@ -1,2 +0,0 @@
1
- import{A as r}from"./chunk.4TUIT776-BvlNwMXD.js";const m=o=>o??r;export{m as o};
2
- //# sourceMappingURL=if-defined-O-hFrvt0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"if-defined-O-hFrvt0.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/if-defined.js"],"sourcesContent":["import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n"],"names":["o","t"],"mappings":"iDAKQ,MAACA,EAAE,GAAG,GAAGC","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- .content[data-v-84c1cf93]{display:grid;gap:var(--cr-spacing-small);scrollbar-gutter:stable;height:100%;padding:0 var(--cr-spacing-2x-large);overflow:auto}.doc-title[data-v-84c1cf93]{font-size:var(--cr-font-size-2x-large);font-weight:var(--cr-font-weight-bold)}.doc-content[data-v-84c1cf93]{max-width:var(--cr-sizes-max-page-width);width:100%;justify-self:center}@container xwCristal (max-width: 600px){.content[data-v-84c1cf93]{padding-left:0 var(--cr-spacing-x-small)}}.wiki-name[data-v-94dcc024]{font-weight:var(--cr-font-weight-bold)}.url[data-v-94dcc024]{font-weight:var(--cr-font-weight-semi-bold);color:var(--cr-color-neutral-500);font-size:var(--cr-font-size-small);overflow-wrap:break-word;line-height:var(--cr-font-size-small);width:100%}.ds-name[data-v-94dcc024]{font-size:var(--cr-font-size-small)}.current-ds[data-v-94dcc024]{font-size:var(--cr-font-size-small);text-align:center}p[data-v-94dcc024]{padding:0;margin:0}.grid-container[data-v-94dcc024]{display:grid;grid-template-columns:1fr;align-items:center}.grid-container[data-v-94dcc024]>*{display:grid;gap:var(--cr-spacing-x-small);align-items:center;justify-content:center;grid-template-columns:1fr max-content max-content 150px;border-bottom:1px solid #ddd;padding:var(--cr-spacing-x-small) var(--cr-spacing-2x-small)}.grid-container[data-v-94dcc024]>*:last-child{border-bottom:0}.wrapper[data-v-aa158281]{width:400px;z-index:var(--cr-z-index-toast);position:fixed;top:var(--cr-spacing-x-large);right:var(--cr-spacing-2x-large);display:grid;gap:var(--cr-spacing-x-small)}@container xwCristal (max-width: 600px){.wrapper[data-v-aa158281]{width:90%;left:5%;top:auto;bottom:var(--cr-spacing-x-large)}}.tab-group[data-v-b9138df0]{width:100%}.info-action[data-v-2be5ec75]{display:flex;background-color:var(--cr-color-neutral-100);border-radius:var(--cr-border-radius-medium);padding:var(--cr-spacing-x-small) var(--cr-spacing-x-small);font-size:var(--cr-font-size-medium);flex-flow:row;gap:var(--cr-spacing-2x-small);align-items:center}.info-action .cr-icon[data-v-2be5ec75]{line-height:1.3rem}.counter[data-v-2be5ec75]{background-color:var(--cr-color-primary-600);font-weight:var(--cr-font-weight-semibold);font-size:var(--cr-font-size-x-small);line-height:var(--cr-font-size-2x-small);border-radius:99px;color:#fff;flex-shrink:1;flex-grow:0;display:block;padding:var(--cr-spacing-2x-small) var(--cr-spacing-x-small)}.actions[data-v-8512c120]{display:flex;flex-wrap:wrap;flex-flow:row;align-items:center;gap:var(--cr-spacing-2x-small)}.content-loading[data-v-5bc4bdf8]{display:flex;flex-flow:column;height:100vh;align-items:center;justify-content:center}[data-v-5bc4bdf8] blockquote{background-color:var(--cr-color-neutral-50);color:var(--cr-color-neutral-600);font-size:var(--cr-font-size-large);border-inline-start:2px solid var(--cr-color-neutral-200);padding-inline-start:var(--cr-spacing-large);margin:0}[data-v-5bc4bdf8] .doc-title{grid-area:doc-title;align-self:center;display:flex;border:none;font-size:var(--cr-font-size-2x-large);font-weight:var(--cr-font-weight-bold);flex-flow:column;justify-self:center;outline:none;margin:0;max-width:var(--cr-sizes-max-page-width);width:100%;line-height:var(--cr-font-size-2x-large);padding-block-start:var(--cr-spacing-small)}@container xwCristal (max-width: 600px){.content[data-v-5bc4bdf8]{padding-left:0 var(--cr-spacing-x-small)}}[data-v-5bc4bdf8] .box .code,[data-v-5bc4bdf8] .doc-content.editor pre{font-family:var(--cr-font-mono);background:var(--cr-color-neutral-100);border-radius:var(--cr-border-radius-medium);padding:var(--cr-spacing-small)}.content[data-v-5bc4bdf8]{padding:0 var(--cr-spacing-2x-large);overflow:auto}.content[data-v-5bc4bdf8]{display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--cr-spacing-small);scrollbar-gutter:stable;height:100%}.content-loading svg[data-v-5bc4bdf8]{width:64px;height:64px}.content-loading h3[data-v-5bc4bdf8]{padding:0;margin:0;color:var(--cr-color-neutral-500)}.new-page[data-v-5bc4bdf8]{display:block}.doc-header[data-v-5bc4bdf8]{top:0;background:#fff;z-index:1}.doc-header .doc-header-inner[data-v-5bc4bdf8]{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--cr-spacing-x-small);grid-auto-flow:row;grid-template-areas:"doc-title" "info-wrapper" "alerts";margin:0 auto}.doc-header .doc-header-inner .info-wrapper[data-v-5bc4bdf8]{grid-area:info-wrapper;display:flex;flex-flow:wrap;gap:var(--cr-spacing-small)}.doc-header .doc-header-inner .info-wrapper .doc-author[data-v-5bc4bdf8]{grid-area:doc-author;margin-inline-end:auto;font-size:var(--cr-font-size-small);color:var(--cr-color-neutral-600);align-self:center}.doc-header .doc-header-inner .info-wrapper .doc-author .avatar[data-v-5bc4bdf8]{--size: 24px}.doc-header .doc-header-inner .info-wrapper .doc-info[data-v-5bc4bdf8]{grid-area:info-user;display:flex;flex-flow:row;flex-wrap:wrap;align-items:center;gap:var(--cr-spacing-small);color:var(--cr-color-neutral-500);font-size:var(--cr-font-size-small);justify-content:space-between}.doc-header .doc-header-inner .info-wrapper .doc-info-actions[data-v-5bc4bdf8]{display:flex;flex-wrap:wrap;flex-flow:row;align-items:center;gap:var(--cr-spacing-2x-small);justify-self:end}.doc-header .doc-header-alerts[data-v-5bc4bdf8]:not(:empty){margin-top:var(--cr-spacing-x-small)}.page-header[data-v-5bc4bdf8]{min-height:var(--cr-sizes-main-sidebar-header-min-height);margin:var(--cr-spacing-small) 0;display:flex;flex-wrap:wrap;gap:var(--cr-spacing-medium);align-items:center;flex-flow:row}.doc-info-extra.floating[data-v-5bc4bdf8]{position:sticky;bottom:0;background:#fff;box-shadow:var(--cr-shadow-small)}.doc-header-inner[data-v-5bc4bdf8]{padding:0}[data-v-5bc4bdf8] .wikiexternallink{font-style:italic;position:relative;display:inline-flex}[data-v-5bc4bdf8] .wikiexternallink a:after,[data-v-5bc4bdf8] a.wikiexternallink:after{content:"";display:inline-block;font-family:bootstrap-icons;font-style:normal;font-weight:700;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;font-size:.7rem;text-decoration:none;margin-left:4px}.doc-content[data-v-0d45a4a9]{padding:0}.doc-content img{max-width:100%;height:auto}.doc-page-actions[data-v-0d45a4a9]{display:flex;flex-wrap:wrap;flex-flow:row;align-items:center;gap:var(--cr-spacing-2x-small)}main[data-v-fb94c989]{display:grid;grid-template-rows:auto 1fr}#new-page-button[data-v-79306281]{cursor:pointer}#new-page-content[data-v-79306281]{min-width:600px}.grid[data-v-79306281]{display:grid;gap:.5rem;grid-auto-columns:1fr;grid-template-columns:1fr}.alerts-wrapper[data-v-79306281]{display:flex}.alerts[data-v-79306281]{flex-grow:1;width:0}input[type=submit][data-v-79306281]{display:none}.c-sidebar-panel[data-v-0aa7e2bc],.sidebar-content[data-v-0aa7e2bc]{display:flex;flex-flow:column;gap:var(--cr-spacing-x-small)}.header[data-v-0aa7e2bc]{display:flex;flex-flow:row}.title[data-v-0aa7e2bc]{color:var(--cr-color-neutral-500);font-size:var(--cr-font-size-small);font-weight:var(--cr-font-weight-semibold);margin-right:auto}.panel-container[data-v-07a54ccf]{display:flex;flex-flow:column;height:100%;gap:var(--cr-spacing-x-small);overflow-y:auto;scrollbar-gutter:stable;overflow-x:hidden;border-bottom:1px solid var(--cr-color-neutral-200)}.search[data-v-07a54ccf]{padding:0}.sidebar-header[data-v-07a54ccf]{min-height:var(--cr-sizes-main-sidebar-header-min-height);display:flex;flex-wrap:wrap;flex-flow:row;align-items:center;gap:var(--cr-spacing-x-small)}.avatar[data-v-07a54ccf]{--size: 2rem}.logo[data-v-07a54ccf]{margin-right:auto}.resize-handle[data-v-07a54ccf]{width:16px;border-right:2px solid transparent;position:absolute;right:0;top:0;bottom:0;transition:border-color var(--cr-transition-medium) ease}.resize-handle[data-v-07a54ccf]:hover{cursor:col-resize;border-right:2px solid var(--cr-color-neutral-300)}body{margin:0}*{box-sizing:border-box}.xw-cristal{container:xwCristal;container-type:size;overflow:hidden;position:relative;height:100%;font:var(--cr-base-font-size) var(--cr-font-sans);font-weight:var(--cr-font-weight-normal);line-height:var(--cr-line-height-normal);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.xw-cristal,.xw-cristal>div{height:100%}[data-v-a95334ca] .doc-content,[data-v-a95334ca] .doc-header-inner,[data-v-a95334ca] .doc-info-extra{max-width:var(--cr-sizes-max-page-width);width:100%;justify-self:center}[data-v-a95334ca] .doc-header{position:sticky;top:0}.wrapper[data-v-a95334ca]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-column-gap:0;grid-row-gap:0;grid-template-areas:"main-sidebar wiki-header" "main-sidebar main-content" "main-sidebar wiki-footer";height:100%}.wrapper[data-v-a95334ca]:has(.secondary-sidebar){grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:"main-sidebar wiki-header secondary-sidebar" "main-sidebar main-content secondary-sidebar" "main-sidebar wiki-footer secondary-sidebar"}main[data-v-a95334ca]{grid-area:main-content;overflow:hidden}[data-v-a95334ca] .main-sidebar{grid-area:main-sidebar;width:var(--cr-sizes-main-sidebar-width);min-width:var(--cr-sizes-main-sidebar-min-width);max-width:100%;position:relative;background-color:var(--cr-color-neutral-50);display:flex;flex-flow:column;gap:var(--cr-spacing-small);padding:var(--cr-spacing-small);overflow:hidden;border-right:1px solid var(--cr-color-neutral-200);box-shadow:var(--cr-shadow-large);transition:var(--cr-transition-medium) translate ease-in-out;z-index:3}[data-v-a95334ca] .close-sidebar,[data-v-a95334ca] .pin-sidebar{display:none}[data-v-a95334ca] .open-sidebar:hover,[data-v-a95334ca] .close-sidebar:hover,[data-v-a95334ca] .pin-sidebar:hover,[data-v-a95334ca] .hide-sidebar:hover{cursor:pointer}[data-v-a95334ca] .wrapper .sidebar-collapse-controls{display:none}[data-v-a95334ca] .wrapper.sidebar-is-collapsed #sidebar:not(.is-visible){display:none}[data-v-a95334ca] .wrapper.sidebar-is-collapsed main{left:var(--cr-sizes-collapsed-main-sidebar-width)}[data-v-a95334ca] .wrapper.sidebar-is-collapsed{grid-template-columns:var(--cr-sizes-collapsed-main-sidebar-width) 1fr}[data-v-a95334ca] .wrapper.sidebar-is-collapsed .main-sidebar{position:absolute;top:0;bottom:0}[data-v-a95334ca] .wrapper.sidebar-is-collapsed:has(.is-visible) .collapsed-main-sidebar{display:none}[data-v-a95334ca] .wrapper.sidebar-is-collapsed .sidebar-collapse-controls{display:flex;flex-flow:row;justify-content:space-between;z-index:2}[data-v-a95334ca] .wrapper.sidebar-is-collapsed .sidebar-collapse-controls span{font-size:1rem;height:1rem;line-height:1rem;display:block;padding:0;margin:0}[data-v-a95334ca] .wrapper.sidebar-is-collapsed .hide-sidebar{display:none}[data-v-a95334ca] .wrapper.sidebar-is-collapsed .pin-sidebar,[data-v-a95334ca] .wrapper.sidebar-is-collapsed .close-sidebar{display:block}[data-v-a95334ca] .collapsed-main-sidebar{display:none;width:var(--cr-sizes-collapsed-main-sidebar-width);padding:var(--cr-spacing-small);text-align:center;z-index:1;grid-area:main-sidebar}[data-v-a95334ca] .wrapper.sidebar-is-collapsed .collapsed-main-sidebar{display:block}[data-v-a95334ca] .content a{text-decoration:underline;text-underline-offset:4px;font-weight:var(--cr-font-weight-semibold);text-decoration-color:var(--cr-color-neutral-300);color:var(--cr-base-link-color)}[data-v-a95334ca] .content a:visited{text-decoration-color:var(--cr-color-neutral-300);color:var(--cr-base-visited-link-color)}[data-v-a95334ca] .content a:hover{text-decoration-color:var(--cr-color-neutral-500)}[data-v-a95334ca] table{border-collapse:collapse;overflow-x:auto;font-size:var(--cr-font-size-small);line-height:var(--cr-line-height-dense)}[data-v-a95334ca] table th,[data-v-a95334ca] table td{text-align:start}[data-v-a95334ca] table th{background-color:var(--cr-color-neutral-100);padding:var(--cr-spacing-x-small);font-weight:var(--cr-font-weight-semibold)}[data-v-a95334ca] table th:first-child{border-top-left-radius:var(--cr-border-radius-large)}[data-v-a95334ca] table th:last-child{border-top-right-radius:var(--cr-border-radius-large)}[data-v-a95334ca] table td{padding:var(--cr-spacing-small) var(--cr-spacing-x-small)}[data-v-a95334ca] table tbody tr{border-bottom:1px solid var(--cr-color-neutral-200)}[data-v-a95334ca] table tbody tr:last-child{border-bottom:0}[data-v-a95334ca] table tbody tr .mobile-column-name{display:none}@container xwCristal (max-width: 600px){[data-v-a95334ca] .wrapper.sidebar-is-collapsed:has(.main-sidebar.is-visible):before{content:" ";background-color:var(--cr-overlay-background-color);position:fixed;width:unset;inset:0;z-index:3}.main-sidebar[data-v-a95334ca]{width:80%}main[data-v-a95334ca]{left:var(--cr-sizes-collapsed-main-sidebar-width)}[data-v-a95334ca] .wrapper .sidebar-collapse-controls .pin-sidebar,[data-v-a95334ca] .wrapper.sidebar-is-collapsed .sidebar-collapse-controls .pin-sidebar,.resize-handle[data-v-a95334ca]{display:none}[data-v-a95334ca] table.mobile-transform thead th{display:none}[data-v-a95334ca] table.mobile-transform tbody{display:grid;gap:8px}[data-v-a95334ca] table.mobile-transform tbody tr{display:grid;border:1px solid var(--cr-color-neutral-200);border-radius:var(--cr-border-radius-medium)}[data-v-a95334ca] table.mobile-transform tbody tr td span.mobile-column-name{display:block;font-weight:var(--cr-font-weight-bold)}}html,body{width:100%;height:100%}.v-card-text .str-no-attachment[data-v-50d4bdc7]{padding:0 var(--cr-spacing-medium)}table[data-v-50d4bdc7]{margin:0 var(--cr-spacing-medium)}.attachments[data-v-ac195446]{display:flex;flex-flow:column;gap:16px}p[data-v-2ba59097]{font-size:var(--cr-font-size-medium)}table[data-v-2ba59097]{border-collapse:collapse}table tr[data-v-2ba59097]:hover{background-color:var(--cr-color-neutral-200)}table td[data-v-2ba59097]{vertical-align:top;padding:var(--cr-spacing-small)}table td[data-v-2ba59097]:first-child{border-radius:var(--cr-border-radius-medium) 0 0 var(--cr-border-radius-medium)}table td[data-v-2ba59097]:last-child{border-radius:0 var(--cr-border-radius-medium) var(--cr-border-radius-medium) 0}table .history-revision-cell[data-v-2ba59097]{text-align:center}table .history-revision[data-v-2ba59097]{background-color:var(--cr-color-neutral-300);border-radius:var(--cr-border-radius-pill);padding:var(--cr-spacing-2x-small);font-size:var(--cr-font-size-x-small)}