solid-panes 5.0.0 → 5.1.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +67 -2
  2. package/dist/RDFXMLPane2.cjs.js.map +1 -1
  3. package/dist/_virtual/~icons/lucide/cake.cjs.js +2 -0
  4. package/dist/_virtual/~icons/lucide/cake.cjs.js.map +1 -0
  5. package/dist/_virtual/~icons/lucide/cake.esm.js +11 -0
  6. package/dist/_virtual/~icons/lucide/cake.esm.js.map +1 -0
  7. package/dist/_virtual/~icons/lucide/camera.cjs.js +2 -0
  8. package/dist/_virtual/~icons/lucide/camera.cjs.js.map +1 -0
  9. package/dist/_virtual/~icons/lucide/camera.esm.js +11 -0
  10. package/dist/_virtual/~icons/lucide/camera.esm.js.map +1 -0
  11. package/dist/_virtual/~icons/lucide/circle-user-round.cjs.js +2 -0
  12. package/dist/_virtual/~icons/lucide/circle-user-round.cjs.js.map +1 -0
  13. package/dist/_virtual/~icons/lucide/circle-user-round.esm.js +11 -0
  14. package/dist/_virtual/~icons/lucide/circle-user-round.esm.js.map +1 -0
  15. package/dist/_virtual/~icons/lucide/mail.cjs.js +2 -0
  16. package/dist/_virtual/~icons/lucide/mail.cjs.js.map +1 -0
  17. package/dist/_virtual/~icons/lucide/mail.esm.js +11 -0
  18. package/dist/_virtual/~icons/lucide/mail.esm.js.map +1 -0
  19. package/dist/_virtual/~icons/lucide/map-pin.cjs.js +2 -0
  20. package/dist/_virtual/~icons/lucide/map-pin.cjs.js.map +1 -0
  21. package/dist/_virtual/~icons/lucide/map-pin.esm.js +11 -0
  22. package/dist/_virtual/~icons/lucide/map-pin.esm.js.map +1 -0
  23. package/dist/_virtual/~icons/lucide/phone.cjs.js +2 -0
  24. package/dist/_virtual/~icons/lucide/phone.cjs.js.map +1 -0
  25. package/dist/_virtual/~icons/lucide/phone.esm.js +11 -0
  26. package/dist/_virtual/~icons/lucide/phone.esm.js.map +1 -0
  27. package/dist/_virtual/~icons/lucide/user-round-plus.cjs.js +2 -0
  28. package/dist/_virtual/~icons/lucide/user-round-plus.cjs.js.map +1 -0
  29. package/dist/_virtual/~icons/lucide/user-round-plus.esm.js +11 -0
  30. package/dist/_virtual/~icons/lucide/user-round-plus.esm.js.map +1 -0
  31. package/dist/_virtual/~icons/lucide/x.cjs.js +2 -0
  32. package/dist/_virtual/~icons/lucide/x.cjs.js.map +1 -0
  33. package/dist/_virtual/~icons/lucide/x.esm.js +11 -0
  34. package/dist/_virtual/~icons/lucide/x.esm.js.map +1 -0
  35. package/dist/audio/audioPane.cjs.js +1 -1
  36. package/dist/audio/audioPane.cjs.js.map +1 -1
  37. package/dist/audio/audioPane.esm.js +1 -5
  38. package/dist/audio/audioPane.esm.js.map +1 -1
  39. package/dist/classInstancePane.cjs.js.map +1 -1
  40. package/dist/components/editor-card/EditorCard.cjs.js +1 -1
  41. package/dist/components/editor-card/EditorCard.cjs.js.map +1 -1
  42. package/dist/components/editor-card/EditorCard.esm.js +4 -7
  43. package/dist/components/editor-card/EditorCard.esm.js.map +1 -1
  44. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +1 -1
  45. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -1
  46. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +2 -2
  47. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +1 -1
  48. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
  49. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +2 -2
  50. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +1 -1
  51. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -1
  52. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +2 -2
  53. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +5 -5
  54. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -1
  55. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -1
  56. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +97 -96
  57. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -1
  58. package/dist/components/header/Header.cjs.js +1 -1
  59. package/dist/components/header/Header.cjs.js.map +1 -1
  60. package/dist/components/header/Header.esm.js +2 -2
  61. package/dist/components/header/Header.styles.cjs.js +1 -1
  62. package/dist/components/header/Header.styles.cjs.js.map +1 -1
  63. package/dist/components/header/Header.styles.esm.js +1 -1
  64. package/dist/components/header/Header.styles.esm.js.map +1 -1
  65. package/dist/components/navbar/Navbar.cjs.js +1 -1
  66. package/dist/components/navbar/Navbar.cjs.js.map +1 -1
  67. package/dist/components/navbar/Navbar.d.ts +2 -0
  68. package/dist/components/navbar/Navbar.d.ts.map +1 -1
  69. package/dist/components/navbar/Navbar.esm.js +2 -2
  70. package/dist/components/navbar/Navbar.esm.js.map +1 -1
  71. package/dist/components/navbar/Navbar.styles.cjs.js +1 -1
  72. package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -1
  73. package/dist/components/navbar/Navbar.styles.esm.js +1 -1
  74. package/dist/components/navbar/Navbar.styles.esm.js.map +1 -1
  75. package/dist/components/profile-heading/ProfileHeading.cjs.js +95 -0
  76. package/dist/components/profile-heading/ProfileHeading.cjs.js.map +1 -0
  77. package/dist/components/profile-heading/ProfileHeading.d.ts +45 -0
  78. package/dist/components/profile-heading/ProfileHeading.d.ts.map +1 -0
  79. package/dist/components/profile-heading/ProfileHeading.esm.js +480 -0
  80. package/dist/components/profile-heading/ProfileHeading.esm.js.map +1 -0
  81. package/dist/components/profile-heading/ProfileHeading.styles.cjs.js +2 -0
  82. package/dist/components/profile-heading/ProfileHeading.styles.cjs.js.map +1 -0
  83. package/dist/components/profile-heading/ProfileHeading.styles.esm.js +7 -0
  84. package/dist/components/profile-heading/ProfileHeading.styles.esm.js.map +1 -0
  85. package/dist/components/profile-heading/editor/index.d.ts +3 -0
  86. package/dist/components/profile-heading/editor/index.d.ts.map +1 -0
  87. package/dist/components/profile-heading/editor/sections/contactInfo/types.d.ts +44 -0
  88. package/dist/components/profile-heading/editor/sections/contactInfo/types.d.ts.map +1 -0
  89. package/dist/components/profile-heading/editor/sections/heading/HeadingEditDialog.cjs.js +297 -0
  90. package/dist/components/profile-heading/editor/sections/heading/HeadingEditDialog.cjs.js.map +1 -0
  91. package/dist/components/profile-heading/editor/sections/heading/HeadingEditDialog.d.ts +5 -0
  92. package/dist/components/profile-heading/editor/sections/heading/HeadingEditDialog.d.ts.map +1 -0
  93. package/dist/components/profile-heading/editor/sections/heading/HeadingEditDialog.esm.js +642 -0
  94. package/dist/components/profile-heading/editor/sections/heading/HeadingEditDialog.esm.js.map +1 -0
  95. package/dist/components/profile-heading/editor/sections/heading/dateHelpers.cjs.js +2 -0
  96. package/dist/components/profile-heading/editor/sections/heading/dateHelpers.cjs.js.map +1 -0
  97. package/dist/components/profile-heading/editor/sections/heading/dateHelpers.d.ts +4 -0
  98. package/dist/components/profile-heading/editor/sections/heading/dateHelpers.d.ts.map +1 -0
  99. package/dist/components/profile-heading/editor/sections/heading/dateHelpers.esm.js +16 -0
  100. package/dist/components/profile-heading/editor/sections/heading/dateHelpers.esm.js.map +1 -0
  101. package/dist/components/profile-heading/editor/sections/heading/imageHelpers.cjs.js +2 -0
  102. package/dist/components/profile-heading/editor/sections/heading/imageHelpers.cjs.js.map +1 -0
  103. package/dist/components/profile-heading/editor/sections/heading/imageHelpers.d.ts +5 -0
  104. package/dist/components/profile-heading/editor/sections/heading/imageHelpers.d.ts.map +1 -0
  105. package/dist/components/profile-heading/editor/sections/heading/imageHelpers.esm.js +76 -0
  106. package/dist/components/profile-heading/editor/sections/heading/imageHelpers.esm.js.map +1 -0
  107. package/dist/components/profile-heading/editor/sections/heading/imagePreview.cjs.js +19 -0
  108. package/dist/components/profile-heading/editor/sections/heading/imagePreview.cjs.js.map +1 -0
  109. package/dist/components/profile-heading/editor/sections/heading/imagePreview.d.ts +2 -0
  110. package/dist/components/profile-heading/editor/sections/heading/imagePreview.d.ts.map +1 -0
  111. package/dist/components/profile-heading/editor/sections/heading/imagePreview.esm.js +28 -0
  112. package/dist/components/profile-heading/editor/sections/heading/imagePreview.esm.js.map +1 -0
  113. package/dist/components/profile-heading/editor/sections/heading/mutations.cjs.js +2 -0
  114. package/dist/components/profile-heading/editor/sections/heading/mutations.cjs.js.map +1 -0
  115. package/dist/components/profile-heading/editor/sections/heading/mutations.d.ts +4 -0
  116. package/dist/components/profile-heading/editor/sections/heading/mutations.d.ts.map +1 -0
  117. package/dist/components/profile-heading/editor/sections/heading/mutations.esm.js +151 -0
  118. package/dist/components/profile-heading/editor/sections/heading/mutations.esm.js.map +1 -0
  119. package/dist/components/profile-heading/editor/sections/heading/types.d.ts +34 -0
  120. package/dist/components/profile-heading/editor/sections/heading/types.d.ts.map +1 -0
  121. package/dist/components/profile-heading/editor/sections/shared/contactTypeUtils.cjs.js +2 -0
  122. package/dist/components/profile-heading/editor/sections/shared/contactTypeUtils.cjs.js.map +1 -0
  123. package/dist/components/profile-heading/editor/sections/shared/contactTypeUtils.d.ts +7 -0
  124. package/dist/components/profile-heading/editor/sections/shared/contactTypeUtils.d.ts.map +1 -0
  125. package/dist/components/profile-heading/editor/sections/shared/contactTypeUtils.esm.js +20 -0
  126. package/dist/components/profile-heading/editor/sections/shared/contactTypeUtils.esm.js.map +1 -0
  127. package/dist/components/profile-heading/editor/sections/shared/idNodeFactory.cjs.js +2 -0
  128. package/dist/components/profile-heading/editor/sections/shared/idNodeFactory.cjs.js.map +1 -0
  129. package/dist/components/profile-heading/editor/sections/shared/idNodeFactory.d.ts +3 -0
  130. package/dist/components/profile-heading/editor/sections/shared/idNodeFactory.d.ts.map +1 -0
  131. package/dist/components/profile-heading/editor/sections/shared/idNodeFactory.esm.js +11 -0
  132. package/dist/components/profile-heading/editor/sections/shared/idNodeFactory.esm.js.map +1 -0
  133. package/dist/components/profile-heading/editor/sections/shared/phoneCountries.cjs.js +2 -0
  134. package/dist/components/profile-heading/editor/sections/shared/phoneCountries.cjs.js.map +1 -0
  135. package/dist/components/profile-heading/editor/sections/shared/phoneCountries.d.ts +20 -0
  136. package/dist/components/profile-heading/editor/sections/shared/phoneCountries.d.ts.map +1 -0
  137. package/dist/components/profile-heading/editor/sections/shared/phoneCountries.esm.js +1291 -0
  138. package/dist/components/profile-heading/editor/sections/shared/phoneCountries.esm.js.map +1 -0
  139. package/dist/components/profile-heading/editor/sections/shared/rdfMutationHelpers.cjs.js +2 -0
  140. package/dist/components/profile-heading/editor/sections/shared/rdfMutationHelpers.cjs.js.map +1 -0
  141. package/dist/components/profile-heading/editor/sections/shared/rdfMutationHelpers.d.ts +45 -0
  142. package/dist/components/profile-heading/editor/sections/shared/rdfMutationHelpers.d.ts.map +1 -0
  143. package/dist/components/profile-heading/editor/sections/shared/rdfMutationHelpers.esm.js +211 -0
  144. package/dist/components/profile-heading/editor/sections/shared/rdfMutationHelpers.esm.js.map +1 -0
  145. package/dist/components/profile-heading/editor/sections/shared/rowState.cjs.js +2 -0
  146. package/dist/components/profile-heading/editor/sections/shared/rowState.cjs.js.map +1 -0
  147. package/dist/components/profile-heading/editor/sections/shared/rowState.d.ts +21 -0
  148. package/dist/components/profile-heading/editor/sections/shared/rowState.d.ts.map +1 -0
  149. package/dist/components/profile-heading/editor/sections/shared/rowState.esm.js +18 -0
  150. package/dist/components/profile-heading/editor/sections/shared/rowState.esm.js.map +1 -0
  151. package/dist/components/profile-heading/editor/sections/shared/sanitizeUtils.cjs.js +2 -0
  152. package/dist/components/profile-heading/editor/sections/shared/sanitizeUtils.cjs.js.map +1 -0
  153. package/dist/components/profile-heading/editor/sections/shared/sanitizeUtils.d.ts +5 -0
  154. package/dist/components/profile-heading/editor/sections/shared/sanitizeUtils.d.ts.map +1 -0
  155. package/dist/components/profile-heading/editor/sections/shared/sanitizeUtils.esm.js +18 -0
  156. package/dist/components/profile-heading/editor/sections/shared/sanitizeUtils.esm.js.map +1 -0
  157. package/dist/components/profile-heading/editor/sections/shared/types.d.ts +31 -0
  158. package/dist/components/profile-heading/editor/sections/shared/types.d.ts.map +1 -0
  159. package/dist/components/profile-heading/editor/textUtils.cjs.js +2 -0
  160. package/dist/components/profile-heading/editor/textUtils.cjs.js.map +1 -0
  161. package/dist/components/profile-heading/editor/textUtils.d.ts +6 -0
  162. package/dist/components/profile-heading/editor/textUtils.d.ts.map +1 -0
  163. package/dist/components/profile-heading/editor/textUtils.esm.js +26 -0
  164. package/dist/components/profile-heading/editor/textUtils.esm.js.map +1 -0
  165. package/dist/components/profile-heading/editor/texts/buttonTexts.d.ts +9 -0
  166. package/dist/components/profile-heading/editor/texts/buttonTexts.d.ts.map +1 -0
  167. package/dist/components/profile-heading/editor/texts/dialogTexts.cjs.js +2 -0
  168. package/dist/components/profile-heading/editor/texts/dialogTexts.cjs.js.map +1 -0
  169. package/dist/components/profile-heading/editor/texts/dialogTexts.d.ts +14 -0
  170. package/dist/components/profile-heading/editor/texts/dialogTexts.d.ts.map +1 -0
  171. package/dist/components/profile-heading/editor/texts/dialogTexts.esm.js +6 -0
  172. package/dist/components/profile-heading/editor/texts/dialogTexts.esm.js.map +1 -0
  173. package/dist/components/profile-heading/editor/texts/messageTexts.cjs.js +2 -0
  174. package/dist/components/profile-heading/editor/texts/messageTexts.cjs.js.map +1 -0
  175. package/dist/components/profile-heading/editor/texts/messageTexts.d.ts +42 -0
  176. package/dist/components/profile-heading/editor/texts/messageTexts.d.ts.map +1 -0
  177. package/dist/components/profile-heading/editor/texts/messageTexts.esm.js +6 -0
  178. package/dist/components/profile-heading/editor/texts/messageTexts.esm.js.map +1 -0
  179. package/dist/components/profile-heading/editor/texts/profileTexts.d.ts +14 -0
  180. package/dist/components/profile-heading/editor/texts/profileTexts.d.ts.map +1 -0
  181. package/dist/components/profile-heading/editor/texts/qrCodeTexts.d.ts +2 -0
  182. package/dist/components/profile-heading/editor/texts/qrCodeTexts.d.ts.map +1 -0
  183. package/dist/components/profile-heading/editor/texts.d.ts +6 -0
  184. package/dist/components/profile-heading/editor/texts.d.ts.map +1 -0
  185. package/dist/components/profile-heading/editor/ui/dialog.d.ts +41 -0
  186. package/dist/components/profile-heading/editor/ui/dialog.d.ts.map +1 -0
  187. package/dist/components/profile-heading/editor/ui/dialog2.cjs.js +17 -0
  188. package/dist/components/profile-heading/editor/ui/dialog2.cjs.js.map +1 -0
  189. package/dist/components/profile-heading/editor/ui/dialog2.esm.js +263 -0
  190. package/dist/components/profile-heading/editor/ui/dialog2.esm.js.map +1 -0
  191. package/dist/components/profile-heading/editor/ui/spinner.cjs.js +5 -0
  192. package/dist/components/profile-heading/editor/ui/spinner.cjs.js.map +1 -0
  193. package/dist/components/profile-heading/editor/ui/spinner.d.ts +3 -0
  194. package/dist/components/profile-heading/editor/ui/spinner.d.ts.map +1 -0
  195. package/dist/components/profile-heading/editor/ui/spinner.esm.js +12 -0
  196. package/dist/components/profile-heading/editor/ui/spinner.esm.js.map +1 -0
  197. package/dist/components/profile-heading/editor/utils/errorDisplay.cjs.js +2 -0
  198. package/dist/components/profile-heading/editor/utils/errorDisplay.cjs.js.map +1 -0
  199. package/dist/components/profile-heading/editor/utils/errorDisplay.d.ts +2 -0
  200. package/dist/components/profile-heading/editor/utils/errorDisplay.d.ts.map +1 -0
  201. package/dist/components/profile-heading/editor/utils/errorDisplay.esm.js +18 -0
  202. package/dist/components/profile-heading/editor/utils/errorDisplay.esm.js.map +1 -0
  203. package/dist/components/profile-heading/friendActions.cjs.js +2 -0
  204. package/dist/components/profile-heading/friendActions.cjs.js.map +1 -0
  205. package/dist/components/profile-heading/friendActions.d.ts +11 -0
  206. package/dist/components/profile-heading/friendActions.d.ts.map +1 -0
  207. package/dist/components/profile-heading/friendActions.esm.js +32 -0
  208. package/dist/components/profile-heading/friendActions.esm.js.map +1 -0
  209. package/dist/components/profile-heading/index.cjs.js +1 -0
  210. package/dist/components/profile-heading/index.d.ts +5 -0
  211. package/dist/components/profile-heading/index.d.ts.map +1 -0
  212. package/dist/components/profile-heading/index.esm.js +1 -0
  213. package/dist/components/profile-heading/profileHeadingData.cjs.js +2 -0
  214. package/dist/components/profile-heading/profileHeadingData.cjs.js.map +1 -0
  215. package/dist/components/profile-heading/profileHeadingData.d.ts +6 -0
  216. package/dist/components/profile-heading/profileHeadingData.d.ts.map +1 -0
  217. package/dist/components/profile-heading/profileHeadingData.esm.js +81 -0
  218. package/dist/components/profile-heading/profileHeadingData.esm.js.map +1 -0
  219. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +1 -1
  220. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
  221. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +2 -2
  222. package/dist/dashboard/basicPreferences.cjs.js.map +1 -1
  223. package/dist/dashboard/dashboardPane.cjs.js.map +1 -1
  224. package/dist/dashboard/homepage.cjs.js.map +1 -1
  225. package/dist/dataContentPane2.cjs.js.map +1 -1
  226. package/dist/defaultPane2.cjs.js.map +1 -1
  227. package/dist/dokieli/dokieliPane.cjs.js.map +1 -1
  228. package/dist/form/pane.cjs.js.map +1 -1
  229. package/dist/home/homePane.cjs.js.map +1 -1
  230. package/dist/humanReadablePane2.cjs.js.map +1 -1
  231. package/dist/icons/folder.cjs.js.map +1 -1
  232. package/dist/icons/friends.cjs.js.map +1 -1
  233. package/dist/icons/person.cjs.js.map +1 -1
  234. package/dist/imagePane2.cjs.js.map +1 -1
  235. package/dist/index.cjs.js +1 -1
  236. package/dist/index.cjs.js.map +1 -1
  237. package/dist/index.d.ts +2 -1
  238. package/dist/index.d.ts.map +1 -1
  239. package/dist/index.esm.js +15 -14
  240. package/dist/index.esm.js.map +1 -1
  241. package/dist/internal/internalPane2.cjs.js +1 -1
  242. package/dist/internal/internalPane2.cjs.js.map +1 -1
  243. package/dist/internal/internalPane2.esm.js +2 -5
  244. package/dist/internal/internalPane2.esm.js.map +1 -1
  245. package/dist/mainPage/header.cjs.js +1 -1
  246. package/dist/mainPage/header.cjs.js.map +1 -1
  247. package/dist/mainPage/header.d.ts +2 -2
  248. package/dist/mainPage/header.d.ts.map +1 -1
  249. package/dist/mainPage/header.esm.js +48 -44
  250. package/dist/mainPage/header.esm.js.map +1 -1
  251. package/dist/mainPage/index.cjs.js +1 -1
  252. package/dist/mainPage/index.cjs.js.map +1 -1
  253. package/dist/mainPage/index.d.ts.map +1 -1
  254. package/dist/mainPage/index.esm.js +27 -21
  255. package/dist/mainPage/index.esm.js.map +1 -1
  256. package/dist/mainPage/navbar.cjs.js +1 -1
  257. package/dist/mainPage/navbar.cjs.js.map +1 -1
  258. package/dist/mainPage/navbar.d.ts +3 -2
  259. package/dist/mainPage/navbar.d.ts.map +1 -1
  260. package/dist/mainPage/navbar.esm.js +77 -42
  261. package/dist/mainPage/navbar.esm.js.map +1 -1
  262. package/dist/mainPage/navigation.cjs.js +2 -0
  263. package/dist/mainPage/navigation.cjs.js.map +1 -0
  264. package/dist/mainPage/navigation.d.ts +6 -0
  265. package/dist/mainPage/navigation.d.ts.map +1 -0
  266. package/dist/mainPage/navigation.esm.js +22 -0
  267. package/dist/mainPage/navigation.esm.js.map +1 -0
  268. package/dist/mainPage/profileHeading.d.ts +5 -0
  269. package/dist/mainPage/profileHeading.d.ts.map +1 -0
  270. package/dist/mainPage/profileHeading2.cjs.js +2 -0
  271. package/dist/mainPage/profileHeading2.cjs.js.map +1 -0
  272. package/dist/mainPage/profileHeading2.esm.js +158 -0
  273. package/dist/mainPage/profileHeading2.esm.js.map +1 -0
  274. package/dist/n3Pane2.cjs.js.map +1 -1
  275. package/dist/navigation/browserEvents.cjs.js +2 -0
  276. package/dist/navigation/browserEvents.cjs.js.map +1 -0
  277. package/dist/navigation/browserEvents.d.ts +15 -0
  278. package/dist/navigation/browserEvents.d.ts.map +1 -0
  279. package/dist/navigation/browserEvents.esm.js +32 -0
  280. package/dist/navigation/browserEvents.esm.js.map +1 -0
  281. package/dist/navigation/chrome.cjs.js +2 -0
  282. package/dist/navigation/chrome.cjs.js.map +1 -0
  283. package/dist/navigation/chrome.d.ts +69 -0
  284. package/dist/navigation/chrome.d.ts.map +1 -0
  285. package/dist/navigation/chrome.esm.js +43 -0
  286. package/dist/navigation/chrome.esm.js.map +1 -0
  287. package/dist/navigation/controller.cjs.js +2 -0
  288. package/dist/navigation/controller.cjs.js.map +1 -0
  289. package/dist/navigation/controller.d.ts +51 -0
  290. package/dist/navigation/controller.d.ts.map +1 -0
  291. package/dist/navigation/controller.esm.js +45 -0
  292. package/dist/navigation/controller.esm.js.map +1 -0
  293. package/dist/navigation/events.cjs.js +2 -0
  294. package/dist/navigation/events.cjs.js.map +1 -0
  295. package/dist/navigation/events.d.ts +17 -0
  296. package/dist/navigation/events.d.ts.map +1 -0
  297. package/dist/navigation/events.esm.js +18 -0
  298. package/dist/navigation/events.esm.js.map +1 -0
  299. package/dist/navigation/navbarVisibility.cjs.js +2 -0
  300. package/dist/navigation/navbarVisibility.cjs.js.map +1 -0
  301. package/dist/navigation/navbarVisibility.d.ts +5 -0
  302. package/dist/navigation/navbarVisibility.d.ts.map +1 -0
  303. package/dist/navigation/navbarVisibility.esm.js +26 -0
  304. package/dist/navigation/navbarVisibility.esm.js.map +1 -0
  305. package/dist/navigation/options.cjs.js +2 -0
  306. package/dist/navigation/options.cjs.js.map +1 -0
  307. package/dist/navigation/options.d.ts +16 -0
  308. package/dist/navigation/options.d.ts.map +1 -0
  309. package/dist/navigation/options.esm.js +8 -0
  310. package/dist/navigation/options.esm.js.map +1 -0
  311. package/dist/navigation/podContext.cjs.js +2 -0
  312. package/dist/navigation/podContext.cjs.js.map +1 -0
  313. package/dist/navigation/podContext.d.ts +21 -0
  314. package/dist/navigation/podContext.d.ts.map +1 -0
  315. package/dist/navigation/podContext.esm.js +62 -0
  316. package/dist/navigation/podContext.esm.js.map +1 -0
  317. package/dist/navigation/state.cjs.js +2 -0
  318. package/dist/navigation/state.cjs.js.map +1 -0
  319. package/dist/navigation/state.d.ts +40 -0
  320. package/dist/navigation/state.d.ts.map +1 -0
  321. package/dist/navigation/state.esm.js +41 -0
  322. package/dist/navigation/state.esm.js.map +1 -0
  323. package/dist/outline/context.cjs.js.map +1 -1
  324. package/dist/outline/manager2.cjs.js +1 -1
  325. package/dist/outline/manager2.cjs.js.map +1 -1
  326. package/dist/outline/manager2.esm.js +387 -353
  327. package/dist/outline/manager2.esm.js.map +1 -1
  328. package/dist/outline/outlineIcons.cjs.js.map +1 -1
  329. package/dist/outline/propertyViews.cjs.js.map +1 -1
  330. package/dist/outline/queryByExample.cjs.js.map +1 -1
  331. package/dist/outline/userInput.cjs.js +1 -1
  332. package/dist/outline/userInput.cjs.js.map +1 -1
  333. package/dist/outline/userInput.esm.js +12 -13
  334. package/dist/outline/userInput.esm.js.map +1 -1
  335. package/dist/outline/viewAsImage.cjs.js.map +1 -1
  336. package/dist/outline/viewAsMbox.cjs.js.map +1 -1
  337. package/dist/pad/padPane2.cjs.js +1 -1
  338. package/dist/pad/padPane2.cjs.js.map +1 -1
  339. package/dist/pad/padPane2.esm.js +2 -6
  340. package/dist/pad/padPane2.esm.js.map +1 -1
  341. package/dist/playlist/playlistPane.cjs.js.map +1 -1
  342. package/dist/registerPanes.cjs.js.map +1 -1
  343. package/dist/schedule/schedulePane2.cjs.js +1 -1
  344. package/dist/schedule/schedulePane2.cjs.js.map +1 -1
  345. package/dist/schedule/schedulePane2.esm.js +1 -5
  346. package/dist/schedule/schedulePane2.esm.js.map +1 -1
  347. package/dist/sharing/sharingPane.cjs.js.map +1 -1
  348. package/dist/slideshow/slideshowPane.cjs.js.map +1 -1
  349. package/dist/social/editProfileDetails.cjs.js +1 -1
  350. package/dist/social/editProfileDetails.cjs.js.map +1 -1
  351. package/dist/social/editProfileDetails.esm.js +0 -2
  352. package/dist/social/editProfileDetails.esm.js.map +1 -1
  353. package/dist/social/icons.cjs.js +4 -4
  354. package/dist/social/icons.cjs.js.map +1 -1
  355. package/dist/social/icons.esm.js +5 -5
  356. package/dist/social/icons.esm.js.map +1 -1
  357. package/dist/social/socialPane.d.ts +0 -1
  358. package/dist/social/socialPane.d.ts.map +1 -1
  359. package/dist/social/socialPane2.cjs.js +3 -3
  360. package/dist/social/socialPane2.cjs.js.map +1 -1
  361. package/dist/social/socialPane2.esm.js +97 -154
  362. package/dist/social/socialPane2.esm.js.map +1 -1
  363. package/dist/social/socialSections.cjs.js +1 -1
  364. package/dist/social/socialSections.cjs.js.map +1 -1
  365. package/dist/social/socialSections.d.ts +2 -1
  366. package/dist/social/socialSections.d.ts.map +1 -1
  367. package/dist/social/socialSections.esm.js +54 -129
  368. package/dist/social/socialSections.esm.js.map +1 -1
  369. package/dist/social/triage.cjs.js.map +1 -1
  370. package/dist/tabbed/tabbedPane.cjs.js.map +1 -1
  371. package/dist/tableViewPane.cjs.js.map +1 -1
  372. package/dist/transaction/pane.cjs.js.map +1 -1
  373. package/dist/transaction/pane.esm.js +1 -1
  374. package/dist/transaction/pane.esm.js.map +1 -1
  375. package/dist/transaction/period.cjs.js.map +1 -1
  376. package/dist/trip/tripPane.cjs.js.map +1 -1
  377. package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +1 -1
  378. package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -1
  379. package/dist/trustedApplications/trustedApplications.view.cjs.js.map +1 -1
  380. package/dist/types.d.ts +3 -0
  381. package/dist/types.d.ts.map +1 -0
  382. package/dist/ui/pane.cjs.js +1 -1
  383. package/dist/ui/pane.cjs.js.map +1 -1
  384. package/dist/ui/pane.esm.js +2 -5
  385. package/dist/ui/pane.esm.js.map +1 -1
  386. package/dist/utils/paneUtils.cjs.js +1 -1
  387. package/dist/utils/paneUtils.cjs.js.map +1 -1
  388. package/dist/utils/paneUtils.esm.js +4 -4
  389. package/dist/utils/paneUtils.esm.js.map +1 -1
  390. package/dist/utils/podUtils.cjs.js.map +1 -1
  391. package/dist/utils/viewerUtils.cjs.js +2 -0
  392. package/dist/utils/viewerUtils.cjs.js.map +1 -0
  393. package/dist/utils/viewerUtils.d.ts +5 -0
  394. package/dist/utils/viewerUtils.d.ts.map +1 -0
  395. package/dist/utils/viewerUtils.esm.js +13 -0
  396. package/dist/utils/viewerUtils.esm.js.map +1 -0
  397. package/dist/utils/webIdUtils.cjs.js +1 -1
  398. package/dist/utils/webIdUtils.cjs.js.map +1 -1
  399. package/dist/utils/webIdUtils.d.ts +1 -0
  400. package/dist/utils/webIdUtils.d.ts.map +1 -1
  401. package/dist/utils/webIdUtils.esm.js +23 -19
  402. package/dist/utils/webIdUtils.esm.js.map +1 -1
  403. package/dist/versionInfo.cjs.js +1 -1
  404. package/dist/versionInfo.cjs.js.map +1 -1
  405. package/dist/versionInfo.esm.js +11 -11
  406. package/dist/versionInfo.esm.js.map +1 -1
  407. package/dist/video/videoPane.cjs.js.map +1 -1
  408. package/package.json +6 -5
@@ -1,72 +1,76 @@
1
+ import { getFolderPanesFromURI as e } from "../utils/paneUtils.esm.js";
2
+ import { getCurrentViewer as t } from "../utils/viewerUtils.esm.js";
1
3
  import "../_virtual/~icons/lucide/user.esm.js";
2
4
  import "../_virtual/~icons/lucide/users.esm.js";
3
5
  import "../_virtual/~icons/lucide/folder-open.esm.js";
4
6
  import "../_virtual/~icons/lucide/layout-dashboard.esm.js";
5
7
  import "../_virtual/~icons/lucide/settings-2.esm.js";
6
8
  import "../components/header/index.esm.js";
7
- import { getFolderPanesFromURI as e, getProfilePaneFromURI as t, getSocialPaneFromURI as n } from "../utils/paneUtils.esm.js";
8
- import { authn as r } from "solid-logic";
9
- import { sym as i } from "rdflib";
10
- import { html as a, render as o } from "lit-html";
9
+ import { html as n, render as r } from "lit-html";
11
10
  //#region src/mainPage/header.ts
12
- async function s(s) {
13
- let c = document.querySelector("solid-panes-header");
14
- if (c) return c;
15
- let l = r.currentUser(), u = document.getElementById("MainContent"), d = document.getElementById("OutlineView"), f = document.createElement("div");
16
- function p() {
17
- let e = document.querySelector("solid-panes-navbar");
18
- e && e.classList.add("navbar--hidden");
19
- }
20
- let m = (l ? await e(l) : []).map((e) => ({
21
- label: a`<icon-lucide-folder-open slot="left-icon"></icon-lucide-folder-open> ${e.label()}`,
11
+ async function i(i) {
12
+ let a = document.querySelector("solid-panes-header");
13
+ if (a) return a;
14
+ let o = await t(), s = o ? await e(o) : [], c = document.getElementById("MainContent"), l = document.createElement("div"), u = s.map((e) => ({
15
+ label: n`<icon-lucide-folder-open slot="left-icon"></icon-lucide-folder-open> ${e.label()}`,
22
16
  async onSelected() {
23
- p(), l && s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
17
+ await t() && await i.show({
18
+ kind: "storage",
19
+ pane: e,
20
+ source: "accountMenu"
21
+ });
24
22
  }
25
- })), h = [
23
+ })), d = [
26
24
  {
27
- label: a`<icon-lucide-user slot="left-icon"></icon-lucide-user> Profile`,
25
+ label: n`<icon-lucide-user slot="left-icon"></icon-lucide-user> Profile`,
28
26
  async onSelected() {
29
- if (p(), l) {
30
- let e = await t(l);
31
- s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
32
- }
27
+ let e = await t();
28
+ e && await i.show({
29
+ kind: "profile",
30
+ subject: e.value,
31
+ source: "accountMenu"
32
+ });
33
33
  }
34
34
  },
35
35
  {
36
- label: a`<icon-lucide-users slot="left-icon"></icon-lucide-users> Friends`,
36
+ label: n`<icon-lucide-users slot="left-icon"></icon-lucide-users> Friends`,
37
37
  async onSelected() {
38
- if (p(), l) {
39
- let e = await n(l);
40
- s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
41
- }
38
+ let e = await t();
39
+ e && await i.show({
40
+ kind: "friends",
41
+ subject: e.value,
42
+ source: "accountMenu"
43
+ });
42
44
  }
43
45
  },
44
- ...m,
46
+ ...u,
45
47
  {
46
- label: a`<icon-lucide-layout-dashboard slot="left-icon"></icon-lucide-layout-dashboard> Dashboard`,
47
- onSelected() {
48
- if (p(), l) {
49
- let e = s.context.session.paneRegistry.byName("home");
50
- e && s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
51
- }
48
+ label: n`<icon-lucide-layout-dashboard slot="left-icon"></icon-lucide-layout-dashboard> Dashboard`,
49
+ async onSelected() {
50
+ await t() && await i.show({
51
+ kind: "app",
52
+ pane: "home",
53
+ source: "accountMenu"
54
+ });
52
55
  }
53
56
  },
54
57
  {
55
- label: a`<icon-lucide-settings-2 slot="left-icon"></icon-lucide-settings-2> Preferences`,
56
- onSelected() {
57
- if (p(), l) {
58
- let e = s.context.session.paneRegistry.byName("basicPreferences");
59
- e && s.GotoSubject(i(window.location.href), !0, e, !0, void 0, d, !1);
60
- }
58
+ label: n`<icon-lucide-settings-2 slot="left-icon"></icon-lucide-settings-2> Preferences`,
59
+ async onSelected() {
60
+ await t() && await i.show({
61
+ kind: "app",
62
+ pane: "basicPreferences",
63
+ source: "accountMenu"
64
+ });
61
65
  }
62
66
  }
63
67
  ];
64
- o(a`<solid-panes-header .menuItems=${h}></solid-panes-header>`, f);
65
- let g = f.firstElementChild;
66
- if (!g) throw Error("Failed to create header");
67
- return u && u.parentNode ? u.parentNode.insertBefore(g, u) : document.body.prepend(g), g;
68
+ r(n`<solid-panes-header .menuItems=${d}></solid-panes-header>`, l);
69
+ let f = l.firstElementChild;
70
+ if (!f) throw Error("Failed to create header");
71
+ return c && c.parentNode ? c.parentNode.insertBefore(f, c) : document.body.prepend(f), f;
68
72
  }
69
73
  //#endregion
70
- export { s as createHeader };
74
+ export { i as createHeader };
71
75
 
72
76
  //# sourceMappingURL=header.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.esm.js","names":["createHeader","existingHeader","me","authn","main","outlineView","tmpContainer","hideNavbar","navbar","storageMenuItems","getFolderPanesFromURI","pane","outliner","sym","menuItems","profilePane","getProfilePaneFromURI","socialPane","getSocialPaneFromURI","header"],"sources":["../../src/mainPage/header.ts"],"sourcesContent":["import { authn } from 'solid-logic'\nimport { html, render } from 'lit-html'\nimport type { AccountMenuItem } from 'solid-ui/components/account'\nimport type { OutlineManager } from '../outline/manager'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '~icons/lucide/layout-dashboard'\nimport '~icons/lucide/settings-2'\nimport '../components/header'\nimport { getProfilePaneFromURI, getSocialPaneFromURI, getFolderPanesFromURI } from '../utils/paneUtils'\nimport { sym } from 'rdflib'\n\nexport async function createHeader (outliner: OutlineManager) {\n const existingHeader = document.querySelector('solid-panes-header')\n\n if (existingHeader) {\n return existingHeader\n }\n\n const me = authn.currentUser()\n\n const main = document.getElementById('MainContent')\n const outlineView = document.getElementById('OutlineView')\n const tmpContainer = document.createElement('div')\n\n function hideNavbar () {\n const navbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n if (navbar) {\n navbar.classList.add('navbar--hidden')\n }\n }\n\n const storagePanes = me ? await getFolderPanesFromURI(me) : []\n const storageMenuItems: AccountMenuItem[] = storagePanes.map(pane => ({\n label: html`<icon-lucide-folder-open slot=\"left-icon\"></icon-lucide-folder-open> ${pane.label()}`,\n async onSelected () {\n hideNavbar()\n if (me) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }))\n const menuItems: AccountMenuItem[] = [\n {\n label: html`<icon-lucide-user slot=\"left-icon\"></icon-lucide-user> Profile`,\n async onSelected () {\n hideNavbar()\n if (me) {\n const profilePane = await getProfilePaneFromURI(me)\n outliner.GotoSubject(sym(window.location.href), true, profilePane, true, undefined, outlineView, false)\n }\n }\n },\n {\n label: html`<icon-lucide-users slot=\"left-icon\"></icon-lucide-users> Friends`,\n async onSelected () {\n hideNavbar()\n if (me) {\n const socialPane = await getSocialPaneFromURI(me)\n outliner.GotoSubject(sym(window.location.href), true, socialPane, true, undefined, outlineView, false)\n }\n }\n },\n ...storageMenuItems,\n {\n label: html`<icon-lucide-layout-dashboard slot=\"left-icon\"></icon-lucide-layout-dashboard> Dashboard`,\n onSelected () {\n hideNavbar()\n if (me) {\n const pane = outliner.context.session.paneRegistry.byName('home')\n if (pane) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }\n },\n {\n label: html`<icon-lucide-settings-2 slot=\"left-icon\"></icon-lucide-settings-2> Preferences`,\n onSelected () {\n hideNavbar()\n if (me) {\n const pane = outliner.context.session.paneRegistry.byName('basicPreferences')\n if (pane) {\n outliner.GotoSubject(sym(window.location.href), true, pane, true, undefined, outlineView, false)\n }\n }\n }\n },\n ]\n\n render(\n html`<solid-panes-header .menuItems=${menuItems}></solid-panes-header>`,\n tmpContainer\n )\n\n const header = tmpContainer.firstElementChild\n\n if (!header) {\n throw new Error('Failed to create header')\n }\n\n // ensure it is in DOM (before MainContent for consistency)\n if (main && main.parentNode) {\n main.parentNode.insertBefore(header, main)\n } else {\n document.body.prepend(header)\n }\n\n return header\n}\n"],"mappings":";;;;;;;;;;;AAcA,eAAsBA,EAAc,GAA0B;CAC5D,IAAMC,IAAiB,SAAS,cAAc,oBAAoB;CAElE,IAAIA,GACF,OAAOA;CAGT,IAAMC,IAAKC,EAAM,YAAY,GAEvBC,IAAO,SAAS,eAAe,aAAa,GAC5CC,IAAc,SAAS,eAAe,aAAa,GACnDC,IAAe,SAAS,cAAc,KAAK;CAEjD,SAASC,IAAc;EACrB,IAAMC,IAAS,SAAS,cAA2B,oBAAoB;EACvE,AAAIA,KACFA,EAAO,UAAU,IAAI,gBAAgB;CAEzC;CAGA,IAAMC,KADeP,IAAK,MAAMQ,EAAsBR,CAAE,IAAI,CAAC,EAAA,CACJ,KAAI,OAAS;EACpE,OAAO,CAAI,wEAAwES,EAAK,MAAM;EAC9F,MAAM,aAAc;GAElB,AADAJ,EAAW,GACPL,KACFU,EAAS,YAAYC,EAAI,OAAO,SAAS,IAAI,GAAG,IAAMF,GAAM,IAAM,KAAA,GAAWN,GAAa,EAAK;EAEnG;CACF,EAAE,GACIS,IAA+B;EACnC;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAElB,IADAP,EAAW,GACPL,GAAI;KACN,IAAMa,IAAc,MAAMC,EAAsBd,CAAE;KAClD,EAAS,YAAYW,EAAI,OAAO,SAAS,IAAI,GAAG,IAAME,GAAa,IAAM,KAAA,GAAWV,GAAa,EAAK;IACxG;GACF;EACF;EACA;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAElB,IADAE,EAAW,GACPL,GAAI;KACN,IAAMe,IAAa,MAAMC,EAAqBhB,CAAE;KAChD,EAAS,YAAYW,EAAI,OAAO,SAAS,IAAI,GAAG,IAAMI,GAAY,IAAM,KAAA,GAAWZ,GAAa,EAAK;IACvG;GACF;EACF;EACA,GAAGI;EACH;GACE,OAAO,CAAI;GACX,aAAc;IAEZ,IADAF,EAAW,GACPL,GAAI;KACN,IAAMS,IAAOC,EAAS,QAAQ,QAAQ,aAAa,OAAO,MAAM;KAChE,AAAID,KACFC,EAAS,YAAYC,EAAI,OAAO,SAAS,IAAI,GAAG,IAAMF,GAAM,IAAM,KAAA,GAAWN,GAAa,EAAK;IAEnG;GACF;EACF;EACA;GACE,OAAO,CAAI;GACX,aAAc;IAEZ,IADAE,EAAW,GACPL,GAAI;KACN,IAAMS,IAAOC,EAAS,QAAQ,QAAQ,aAAa,OAAO,kBAAkB;KAC5E,AAAID,KACFC,EAAS,YAAYC,EAAI,OAAO,SAAS,IAAI,GAAG,IAAMF,GAAM,IAAM,KAAA,GAAWN,GAAa,EAAK;IAEnG;GACF;EACF;CACF;CAEA,EACE,CAAI,kCAAkCS,EAAU,yBAChDR,CACF;CAEA,IAAMa,IAASb,EAAa;CAE5B,IAAI,CAACa,GACH,MAAU,MAAM,yBAAyB;CAU3C,OANIf,KAAQA,EAAK,aACfA,EAAK,WAAW,aAAae,GAAQf,CAAI,IAEzC,SAAS,KAAK,QAAQe,CAAM,GAGvBA;AACT"}
1
+ {"version":3,"file":"header.esm.js","names":["createHeader","existingHeader","viewer","getCurrentViewer","storagePanes","getFolderPanesFromURI","main","tmpContainer","storageMenuItems","pane","navigation","menuItems","currentViewer","header"],"sources":["../../src/mainPage/header.ts"],"sourcesContent":["import { html, render } from 'lit-html'\nimport type { AccountMenuItem } from 'solid-ui/components/account'\nimport type { NavigationController } from '../navigation/controller'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '~icons/lucide/layout-dashboard'\nimport '~icons/lucide/settings-2'\nimport '../components/header'\nimport { getFolderPanesFromURI } from '../utils/paneUtils'\nimport { getCurrentViewer } from '../utils/viewerUtils'\n\nexport async function createHeader (navigation: NavigationController) {\n const existingHeader = document.querySelector('solid-panes-header')\n\n if (existingHeader) {\n return existingHeader\n }\n\n const viewer = await getCurrentViewer()\n const storagePanes = viewer ? await getFolderPanesFromURI(viewer) : []\n const main = document.getElementById('MainContent')\n const tmpContainer = document.createElement('div')\n const storageMenuItems: AccountMenuItem[] = storagePanes.map(pane => ({\n label: html`<icon-lucide-folder-open slot=\"left-icon\"></icon-lucide-folder-open> ${pane.label()}`,\n async onSelected () {\n if (await getCurrentViewer()) {\n await navigation.show({ kind: 'storage', pane, source: 'accountMenu' })\n }\n }\n }))\n const menuItems: AccountMenuItem[] = [\n {\n label: html`<icon-lucide-user slot=\"left-icon\"></icon-lucide-user> Profile`,\n async onSelected () {\n const currentViewer = await getCurrentViewer()\n if (currentViewer) {\n await navigation.show({ kind: 'profile', subject: currentViewer.value, source: 'accountMenu' })\n }\n }\n },\n {\n label: html`<icon-lucide-users slot=\"left-icon\"></icon-lucide-users> Friends`,\n async onSelected () {\n const currentViewer = await getCurrentViewer()\n if (currentViewer) {\n await navigation.show({ kind: 'friends', subject: currentViewer.value, source: 'accountMenu' })\n }\n }\n },\n ...storageMenuItems,\n {\n label: html`<icon-lucide-layout-dashboard slot=\"left-icon\"></icon-lucide-layout-dashboard> Dashboard`,\n async onSelected () {\n if (await getCurrentViewer()) {\n await navigation.show({ kind: 'app', pane: 'home', source: 'accountMenu' })\n }\n }\n },\n {\n label: html`<icon-lucide-settings-2 slot=\"left-icon\"></icon-lucide-settings-2> Preferences`,\n async onSelected () {\n if (await getCurrentViewer()) {\n await navigation.show({ kind: 'app', pane: 'basicPreferences', source: 'accountMenu' })\n }\n }\n },\n ]\n\n render(\n html`<solid-panes-header .menuItems=${menuItems}></solid-panes-header>`,\n tmpContainer\n )\n\n const header = tmpContainer.firstElementChild\n\n if (!header) {\n throw new Error('Failed to create header')\n }\n\n // ensure it is in DOM (before MainContent for consistency)\n if (main && main.parentNode) {\n main.parentNode.insertBefore(header, main)\n } else {\n document.body.prepend(header)\n }\n\n return header\n}\n"],"mappings":";;;;;;;;;;AAaA,eAAsBA,EAAc,GAAkC;CACpE,IAAMC,IAAiB,SAAS,cAAc,oBAAoB;CAElE,IAAIA,GACF,OAAOA;CAGT,IAAMC,IAAS,MAAMC,EAAiB,GAChCC,IAAeF,IAAS,MAAMG,EAAsBH,CAAM,IAAI,CAAC,GAC/DI,IAAO,SAAS,eAAe,aAAa,GAC5CC,IAAe,SAAS,cAAc,KAAK,GAC3CC,IAAsCJ,EAAa,KAAI,OAAS;EACpE,OAAO,CAAI,wEAAwEK,EAAK,MAAM;EAC9F,MAAM,aAAc;GAClB,AAAI,MAAMN,EAAiB,KACzB,MAAMO,EAAW,KAAK;IAAE,MAAM;IAAW;IAAM,QAAQ;GAAc,CAAC;EAE1E;CACF,EAAE,GACIC,IAA+B;EACnC;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAClB,IAAMC,IAAgB,MAAMT,EAAiB;IAC7C,AAAIS,KACF,MAAMF,EAAW,KAAK;KAAE,MAAM;KAAW,SAASE,EAAc;KAAO,QAAQ;IAAc,CAAC;GAElG;EACF;EACA;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAClB,IAAMA,IAAgB,MAAMT,EAAiB;IAC7C,AAAIS,KACF,MAAMF,EAAW,KAAK;KAAE,MAAM;KAAW,SAASE,EAAc;KAAO,QAAQ;IAAc,CAAC;GAElG;EACF;EACA,GAAGJ;EACH;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAClB,AAAI,MAAML,EAAiB,KACzB,MAAMO,EAAW,KAAK;KAAE,MAAM;KAAO,MAAM;KAAQ,QAAQ;IAAc,CAAC;GAE9E;EACF;EACA;GACE,OAAO,CAAI;GACX,MAAM,aAAc;IAClB,AAAI,MAAMP,EAAiB,KACzB,MAAMO,EAAW,KAAK;KAAE,MAAM;KAAO,MAAM;KAAoB,QAAQ;IAAc,CAAC;GAE1F;EACF;CACF;CAEA,EACE,CAAI,kCAAkCC,EAAU,yBAChDJ,CACF;CAEA,IAAMM,IAASN,EAAa;CAE5B,IAAI,CAACM,GACH,MAAU,MAAM,yBAAyB;CAU3C,OANIP,KAAQA,EAAK,aACfA,EAAK,WAAW,aAAaO,GAAQP,CAAI,IAEzC,SAAS,KAAK,QAAQO,CAAM,GAGvBA;AACT"}
@@ -1,2 +1,2 @@
1
- const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("../utils/webIdUtils.cjs.js"),n=require("../utils/paneUtils.cjs.js"),r=require("./header.cjs.js"),i=require("./navbar.cjs.js"),a=require("../index.cjs.js");let o=require("pane-registry");o=e.__toESM(o);var s=`__lastRenderEnvSignature`;function c(e){return e?[e.layout,e.theme,e.inputMode].join(`|`):``}function l(){let e=document.getElementById(`MainContent`);return e||(e=document.createElement(`main`),e.id=`MainContent`,e.setAttribute(`role`,`main`),e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-live`,`polite`),document.body.appendChild(e)),e}async function u(e,u,d){l();let f=a.getOutliner(document,d);f[s]=c(d),u||=window.location.href;let p=typeof u==`string`?e.sym(u):u,m=window.history.state?.paneName,h=(m?o.byName(m):void 0)??(!m&&t.isWebIdUri(p)?await n.getProfilePaneFromURI(p):void 0);f.GotoSubject(p,!0,h,!0,void 0,void 0,!0,!1);let g=await r.createHeader(f),_=await i.createNavbar(f);return Promise.all([g,_])}async function d(e){let t=e?.context?.session?.store,n=e?.context?.session?.paneRegistry,r=window.history.state?.paneName,i=window.history.state?.paneUri,a=i&&(r===`profile`||r===`social`||r===`folder`)?i:window.document.location.href,o=r?n?.byName?.(r):void 0,l=c(e?.context?.environment);l!==(e?.[s]??``)&&t&&typeof e?.GotoSubject==`function`&&(e.GotoSubject(t.sym(a),!0,o,!0,void 0,void 0,!0,!1),e[s]=l)}exports.initMainPage=u,exports.refreshUI=d;
1
+ const e=require("../navigation/state.cjs.js"),t=require("./header.cjs.js"),n=require("./navbar.cjs.js"),r=require("./profileHeading2.cjs.js"),i=require("./navigation.cjs.js"),a=require("../navigation/browserEvents.cjs.js"),o=require("../index.cjs.js");var s=`__lastRenderEnvSignature`;function c(e){return e?[e.layout,e.theme,e.inputMode].join(`|`):``}function l(){let e=document.getElementById(`MainContent`);return e||(e=document.createElement(`main`),e.id=`MainContent`,e.setAttribute(`role`,`main`),e.setAttribute(`tabindex`,`-1`),e.setAttribute(`aria-live`,`polite`),document.body.appendChild(e)),e}async function u(u,d,f){l(),d||=window.location.href;let p=typeof d==`string`?u.sym(d):d;e.clearPaneState(),r.initializeProfileHeading();let m=o.getOutliner(document,f);m[s]=c(f);let h=i.navigationFor(m,u);a.registerBrowserNavigation(h),await h.show({kind:`restore`,subject:p.uri});let g=await t.createHeader(h),_=await n.createNavbar(h);return r.placeProfileHeading(),Promise.all([g,_])}async function d(e){let t=e?.context?.session?.store,n=c(e?.context?.environment);n!==(e?.[s]??``)&&t&&typeof e?.GotoSubject==`function`&&(await i.navigationFor(e,t).show({kind:`restore`}),e[s]=n)}exports.initMainPage=u,exports.refreshUI=d;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["getOutliner","paneRegistry","isWebIdUri","getProfilePaneFromURI","createHeader","createNavbar","require_runtime","require_webIdUtils","require_paneUtils","require_header","require_navbar","require_index","pane_registry","LAST_RENDER_ENV_KEY","renderEnvSignature","env","ensureMainContent","main","initMainPage","outliner","environment","subject","uri","store","historyPaneName","initialPane","header","navbar","refreshUI","paneRegistry","paneName","paneUri","subjectUri","pane","currentSignature"],"sources":["../../src/mainPage/index.ts"],"sourcesContent":["/* Main Page\n **\n ** This code is called in mashlib and renders the header and left side menu of the Databrowser.\n */\n\nimport { LiveStore, NamedNode } from 'rdflib'\nimport type { RenderEnvironment } from 'pane-registry'\nimport * as paneRegistry from 'pane-registry'\nimport { getOutliner, OutlineManager } from '../index'\nimport { createHeader } from './header'\nimport { createNavbar } from './navbar'\nimport { getProfilePaneFromURI } from '../utils/paneUtils'\nimport { isWebIdUri } from '../utils/webIdUtils'\n\n// Symbol used to stash the last render-relevant env snapshot on the outliner\n// so refreshUI can skip a full GotoSubject re-render when nothing changed.\nconst LAST_RENDER_ENV_KEY = '__lastRenderEnvSignature'\n\nfunction renderEnvSignature (env?: RenderEnvironment): string {\n if (!env) return ''\n return [env.layout, env.theme, env.inputMode].join('|')\n}\n\nfunction ensureMainContent () {\n let main = document.getElementById('MainContent') as HTMLElement | null\n if (!main) {\n main = document.createElement('main')\n main.id = 'MainContent'\n main.setAttribute('role', 'main')\n main.setAttribute('tabindex', '-1')\n main.setAttribute('aria-live', 'polite')\n document.body.appendChild(main)\n }\n return main\n}\n\nexport async function initMainPage (\n store: LiveStore,\n uri?: string | NamedNode | null,\n environment?: RenderEnvironment\n) {\n ensureMainContent()\n const outliner = getOutliner(document, environment)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = renderEnvSignature(environment)\n uri = uri || window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const historyPaneName = window.history.state?.paneName\n const historyPane = historyPaneName\n ? paneRegistry.byName(historyPaneName)\n : undefined\n const initialPane = historyPane ??\n (!historyPaneName && isWebIdUri(subject)\n ? await getProfilePaneFromURI(subject)\n : undefined)\n\n outliner.GotoSubject(subject, true, initialPane, true, undefined, undefined, true, false)\n\n const header = await createHeader(outliner)\n const navbar = await createNavbar(outliner)\n return Promise.all([header, navbar])\n}\n\nexport async function refreshUI (outliner: OutlineManager) {\n const store = outliner?.context?.session?.store\n const paneRegistry = outliner?.context?.session?.paneRegistry\n const paneName = window.history.state?.paneName\n const paneUri = window.history.state?.paneUri\n // Panes rendered for a subject other than the page URL (storage/profile/social)\n // must be restored from paneUri, since byName() returns the pane without that subject.\n const usesOwnSubject = paneName === 'profile' || paneName === 'social' || paneName === 'folder'\n const subjectUri = paneUri && usesOwnSubject\n ? paneUri\n : window.document.location.href\n const pane = paneName ? paneRegistry?.byName?.(paneName) : undefined\n\n // Only re-run GotoSubject (full pane re-render) when render-relevant\n // environment fields actually changed since the last render.\n const currentSignature = renderEnvSignature(outliner?.context?.environment)\n const previousSignature = (outliner as any)?.[LAST_RENDER_ENV_KEY] ?? ''\n const envChanged = currentSignature !== previousSignature\n\n if (envChanged && store && typeof outliner?.GotoSubject === 'function') {\n outliner.GotoSubject(store.sym(subjectUri), true, pane, true, undefined, undefined, true, false)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = currentSignature\n }\n}\n"],"mappings":"4QAgBA,IAAMa,EAAsB,2BAE5B,SAASC,EAAoB,EAAiC,CAE5D,OADKC,EACE,CAACA,EAAI,OAAQA,EAAI,MAAOA,EAAI,SAAS,CAAC,CAAC,KAAK,GAAG,EADrC,EAEnB,CAEA,SAASC,GAAqB,CAC5B,IAAIC,EAAO,SAAS,eAAe,aAAa,EAShD,OARKA,IACH,EAAO,SAAS,cAAc,MAAM,EACpC,EAAK,GAAK,cACVA,EAAK,aAAa,OAAQ,MAAM,EAChCA,EAAK,aAAa,WAAY,IAAI,EAClCA,EAAK,aAAa,YAAa,QAAQ,EACvC,SAAS,KAAK,YAAYA,CAAI,GAEzBA,CACT,CAEA,eAAsBC,EACpB,EACA,EACA,EACA,CACAF,EAAkB,EAClB,IAAMG,EAAWnB,EAAAA,YAAY,SAAUoB,CAAW,EACjD,EAAkBP,GAAuBC,EAAmBM,CAAW,EACxE,IAAa,OAAO,SAAS,KAC7B,IAAMC,EAAqB,OAAOC,GAAQ,SAAWC,EAAM,IAAID,CAAG,EAAIA,EAChEE,EAAkB,OAAO,QAAQ,OAAO,SAIxCC,GAHcD,EAChBvB,EAAa,OAAOuB,CAAe,EACnC,IAAA,MAED,CAACA,GAAmBtB,EAAAA,WAAWmB,CAAO,EACnC,MAAMlB,EAAAA,sBAAsBkB,CAAO,EACnC,IAAA,IAENF,EAAS,YAAYE,EAAS,GAAMI,EAAa,GAAM,IAAA,GAAW,IAAA,GAAW,GAAM,EAAK,EAExF,IAAMC,EAAS,MAAMtB,EAAAA,aAAae,CAAQ,EACpCQ,EAAS,MAAMtB,EAAAA,aAAac,CAAQ,EAC1C,OAAO,QAAQ,IAAI,CAACO,EAAQC,CAAM,CAAC,CACrC,CAEA,eAAsBC,EAAW,EAA0B,CACzD,IAAML,EAAQJ,GAAU,SAAS,SAAS,MACpCU,EAAeV,GAAU,SAAS,SAAS,aAC3CW,EAAW,OAAO,QAAQ,OAAO,SACjCC,EAAU,OAAO,QAAQ,OAAO,QAIhCC,EAAaD,IADID,IAAa,WAAaA,IAAa,UAAYA,IAAa,UAEnFC,EACA,OAAO,SAAS,SAAS,KACvBE,EAAOH,EAAWD,GAAc,SAASC,CAAQ,EAAI,IAAA,GAIrDI,EAAmBpB,EAAmBK,GAAU,SAAS,WAAW,EAEvDe,KADQf,IAAmBN,IAAwB,KAGpDU,GAAS,OAAOJ,GAAU,aAAgB,aAC1DA,EAAS,YAAYI,EAAM,IAAIS,CAAU,EAAG,GAAMC,EAAM,GAAM,IAAA,GAAW,IAAA,GAAW,GAAM,EAAK,EAC9F,EAAkBpB,GAAuBqB,EAE9C"}
1
+ {"version":3,"file":"index.cjs.js","names":["getOutliner","navigationFor","createHeader","createNavbar","require_state","require_header","require_navbar","require_profileHeading","require_navigation","require_browserEvents","require_index","LAST_RENDER_ENV_KEY","renderEnvSignature","env","ensureMainContent","main","initMainPage","subject","uri","store","outliner","environment","navigation","header","navbar","refreshUI","currentSignature"],"sources":["../../src/mainPage/index.ts"],"sourcesContent":["/* Main Page\n **\n ** This code is called in mashlib and renders the header and left side menu of the Databrowser.\n */\n\nimport { LiveStore, NamedNode } from 'rdflib'\nimport type { RenderEnvironment } from 'pane-registry'\nimport { getOutliner, OutlineManager } from '../index'\nimport { createHeader } from './header'\nimport { createNavbar } from './navbar'\nimport { navigationFor } from './navigation'\nimport { initializeProfileHeading, placeProfileHeading } from './profileHeading'\nimport { registerBrowserNavigation } from '../navigation/browserEvents'\nimport { clearPaneState } from '../navigation/state'\n\n// Symbol used to stash the last render-relevant env snapshot on the outliner\n// so refreshUI can skip a full GotoSubject re-render when nothing changed.\nconst LAST_RENDER_ENV_KEY = '__lastRenderEnvSignature'\n\nfunction renderEnvSignature (env?: RenderEnvironment): string {\n if (!env) return ''\n return [env.layout, env.theme, env.inputMode].join('|')\n}\n\nfunction ensureMainContent () {\n let main = document.getElementById('MainContent') as HTMLElement | null\n if (!main) {\n main = document.createElement('main')\n main.id = 'MainContent'\n main.setAttribute('role', 'main')\n main.setAttribute('tabindex', '-1')\n main.setAttribute('aria-live', 'polite')\n document.body.appendChild(main)\n }\n return main\n}\n\nexport async function initMainPage (\n store: LiveStore,\n uri?: string | NamedNode | null,\n environment?: RenderEnvironment\n) {\n ensureMainContent()\n uri = uri || window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n // A reload shows what the URL is, whatever the history entry last displayed through the navbar\n // or the account menu: the profile on a profile page, otherwise the resource or container itself.\n // This is also what Enter on the current URL ends in where the Navigation API is missing (see\n // NAVIGATION API FALLBACK in navigation/browserEvents.ts): the browser reloads the page.\n clearPaneState()\n initializeProfileHeading()\n const outliner = getOutliner(document, environment)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = renderEnvSignature(environment)\n const navigation = navigationFor(outliner, store)\n registerBrowserNavigation(navigation)\n await navigation.show({ kind: 'restore', subject: subject.uri })\n\n const header = await createHeader(navigation)\n const navbar = await createNavbar(navigation)\n // The navbar went in at the top of the page; the heading belongs above it\n placeProfileHeading()\n return Promise.all([header, navbar])\n}\n\nexport async function refreshUI (outliner: OutlineManager) {\n const store = outliner?.context?.session?.store\n\n // Only re-run GotoSubject (full pane re-render) when render-relevant\n // environment fields actually changed since the last render.\n const currentSignature = renderEnvSignature(outliner?.context?.environment)\n const previousSignature = (outliner as any)?.[LAST_RENDER_ENV_KEY] ?? ''\n const envChanged = currentSignature !== previousSignature\n\n if (envChanged && store && typeof outliner?.GotoSubject === 'function') {\n // Re-render what the current history entry displays without changing the\n // URL or losing that it came from the account menu.\n await navigationFor(outliner, store).show({ kind: 'restore' })\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = currentSignature\n }\n}\n"],"mappings":"A,4PAiBA,IAAMW,EAAsB,2BAE5B,SAASC,EAAoB,EAAiC,CAE5D,OADKC,EACE,CAACA,EAAI,OAAQA,EAAI,MAAOA,EAAI,SAAS,CAAC,CAAC,KAAK,GAAG,EADrC,EAEnB,CAEA,SAASC,GAAqB,CAC5B,IAAIC,EAAO,SAAS,eAAe,aAAa,EAShD,OARKA,IACH,EAAO,SAAS,cAAc,MAAM,EACpC,EAAK,GAAK,cACVA,EAAK,aAAa,OAAQ,MAAM,EAChCA,EAAK,aAAa,WAAY,IAAI,EAClCA,EAAK,aAAa,YAAa,QAAQ,EACvC,SAAS,KAAK,YAAYA,CAAI,GAEzBA,CACT,CAEA,eAAsBC,EACpB,EACA,EACA,EACA,CACAF,EAAkB,EAClB,IAAa,OAAO,SAAS,KAC7B,IAAMG,EAAqB,OAAOC,GAAQ,SAAWC,EAAM,IAAID,CAAG,EAAIA,EAKtEd,EAAA,eAAe,EACfG,EAAA,yBAAyB,EACzB,IAAMa,EAAWpB,EAAAA,YAAY,SAAUqB,CAAW,EACjD,EAAkBV,GAAuBC,EAAmBS,CAAW,EACxE,IAAMC,EAAarB,EAAAA,cAAcmB,EAAUD,CAAK,EAChDV,EAAA,0BAA0Ba,CAAU,EACpC,MAAMA,EAAW,KAAK,CAAE,KAAM,UAAW,QAASL,EAAQ,GAAI,CAAC,EAE/D,IAAMM,EAAS,MAAMrB,EAAAA,aAAaoB,CAAU,EACtCE,EAAS,MAAMrB,EAAAA,aAAamB,CAAU,EAG5C,OADAf,EAAA,oBAAoB,EACb,QAAQ,IAAI,CAACgB,EAAQC,CAAM,CAAC,CACrC,CAEA,eAAsBC,EAAW,EAA0B,CACzD,IAAMN,EAAQC,GAAU,SAAS,SAAS,MAIpCM,EAAmBd,EAAmBQ,GAAU,SAAS,WAAW,EAEvDM,KADQN,IAAmBT,IAAwB,KAGpDQ,GAAS,OAAOC,GAAU,aAAgB,aAG1D,MAAMnB,EAAAA,cAAcmB,EAAUD,CAAK,CAAC,CAAC,KAAK,CAAE,KAAM,SAAU,CAAC,EAC5D,EAAkBR,GAAuBe,EAE9C,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mainPage/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAe,cAAc,EAAE,MAAM,UAAU,CAAA;AA4BtD,wBAAsB,YAAY,CAChC,KAAK,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,WAAW,CAAC,EAAE,iBAAiB,mCAqBhC;AAED,wBAAsB,SAAS,CAAE,QAAQ,EAAE,cAAc,iBAuBxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mainPage/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAe,cAAc,EAAE,MAAM,UAAU,CAAA;AA8BtD,wBAAsB,YAAY,CAChC,KAAK,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAC/B,WAAW,CAAC,EAAE,iBAAiB,mCAsBhC;AAED,wBAAsB,SAAS,CAAE,QAAQ,EAAE,cAAc,iBAexD"}
@@ -1,36 +1,42 @@
1
- import { isWebIdUri as e } from "../utils/webIdUtils.esm.js";
2
- import { getProfilePaneFromURI as t } from "../utils/paneUtils.esm.js";
3
- import { createHeader as n } from "./header.esm.js";
4
- import { createNavbar as r } from "./navbar.esm.js";
5
- import { getOutliner as i } from "../index.esm.js";
6
- import * as a from "pane-registry";
1
+ import { clearPaneState as e } from "../navigation/state.esm.js";
2
+ import { createHeader as t } from "./header.esm.js";
3
+ import { createNavbar as n } from "./navbar.esm.js";
4
+ import { initializeProfileHeading as r, placeProfileHeading as i } from "./profileHeading2.esm.js";
5
+ import { navigationFor as a } from "./navigation.esm.js";
6
+ import { registerBrowserNavigation as o } from "../navigation/browserEvents.esm.js";
7
+ import { getOutliner as s } from "../index.esm.js";
7
8
  //#region src/mainPage/index.ts
8
- var o = "__lastRenderEnvSignature";
9
- function s(e) {
9
+ var c = "__lastRenderEnvSignature";
10
+ function l(e) {
10
11
  return e ? [
11
12
  e.layout,
12
13
  e.theme,
13
14
  e.inputMode
14
15
  ].join("|") : "";
15
16
  }
16
- function c() {
17
+ function u() {
17
18
  let e = document.getElementById("MainContent");
18
19
  return e || (e = document.createElement("main"), e.id = "MainContent", e.setAttribute("role", "main"), e.setAttribute("tabindex", "-1"), e.setAttribute("aria-live", "polite"), document.body.appendChild(e)), e;
19
20
  }
20
- async function l(l, u, d) {
21
- c();
22
- let f = i(document, d);
23
- f[o] = s(d), u ||= window.location.href;
24
- let p = typeof u == "string" ? l.sym(u) : u, m = window.history.state?.paneName, h = (m ? a.byName(m) : void 0) ?? (!m && e(p) ? await t(p) : void 0);
25
- f.GotoSubject(p, !0, h, !0, void 0, void 0, !0, !1);
26
- let g = await n(f), _ = await r(f);
27
- return Promise.all([g, _]);
21
+ async function d(d, f, p) {
22
+ u(), f ||= window.location.href;
23
+ let m = typeof f == "string" ? d.sym(f) : f;
24
+ e(), r();
25
+ let h = s(document, p);
26
+ h[c] = l(p);
27
+ let g = a(h, d);
28
+ o(g), await g.show({
29
+ kind: "restore",
30
+ subject: m.uri
31
+ });
32
+ let _ = await t(g), v = await n(g);
33
+ return i(), Promise.all([_, v]);
28
34
  }
29
- async function u(e) {
30
- let t = e?.context?.session?.store, n = e?.context?.session?.paneRegistry, r = window.history.state?.paneName, i = window.history.state?.paneUri, a = i && (r === "profile" || r === "social" || r === "folder") ? i : window.document.location.href, c = r ? n?.byName?.(r) : void 0, l = s(e?.context?.environment);
31
- l !== (e?.[o] ?? "") && t && typeof e?.GotoSubject == "function" && (e.GotoSubject(t.sym(a), !0, c, !0, void 0, void 0, !0, !1), e[o] = l);
35
+ async function f(e) {
36
+ let t = e?.context?.session?.store, n = l(e?.context?.environment);
37
+ n !== (e?.[c] ?? "") && t && typeof e?.GotoSubject == "function" && (await a(e, t).show({ kind: "restore" }), e[c] = n);
32
38
  }
33
39
  //#endregion
34
- export { l as initMainPage, u as refreshUI };
40
+ export { d as initMainPage, f as refreshUI };
35
41
 
36
42
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["paneRegistry","LAST_RENDER_ENV_KEY","renderEnvSignature","env","ensureMainContent","main","initMainPage","outliner","getOutliner","environment","subject","uri","store","historyPaneName","initialPane","isWebIdUri","getProfilePaneFromURI","header","createHeader","navbar","createNavbar","refreshUI","paneName","paneUri","subjectUri","pane","currentSignature"],"sources":["../../src/mainPage/index.ts"],"sourcesContent":["/* Main Page\n **\n ** This code is called in mashlib and renders the header and left side menu of the Databrowser.\n */\n\nimport { LiveStore, NamedNode } from 'rdflib'\nimport type { RenderEnvironment } from 'pane-registry'\nimport * as paneRegistry from 'pane-registry'\nimport { getOutliner, OutlineManager } from '../index'\nimport { createHeader } from './header'\nimport { createNavbar } from './navbar'\nimport { getProfilePaneFromURI } from '../utils/paneUtils'\nimport { isWebIdUri } from '../utils/webIdUtils'\n\n// Symbol used to stash the last render-relevant env snapshot on the outliner\n// so refreshUI can skip a full GotoSubject re-render when nothing changed.\nconst LAST_RENDER_ENV_KEY = '__lastRenderEnvSignature'\n\nfunction renderEnvSignature (env?: RenderEnvironment): string {\n if (!env) return ''\n return [env.layout, env.theme, env.inputMode].join('|')\n}\n\nfunction ensureMainContent () {\n let main = document.getElementById('MainContent') as HTMLElement | null\n if (!main) {\n main = document.createElement('main')\n main.id = 'MainContent'\n main.setAttribute('role', 'main')\n main.setAttribute('tabindex', '-1')\n main.setAttribute('aria-live', 'polite')\n document.body.appendChild(main)\n }\n return main\n}\n\nexport async function initMainPage (\n store: LiveStore,\n uri?: string | NamedNode | null,\n environment?: RenderEnvironment\n) {\n ensureMainContent()\n const outliner = getOutliner(document, environment)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = renderEnvSignature(environment)\n uri = uri || window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const historyPaneName = window.history.state?.paneName\n const historyPane = historyPaneName\n ? paneRegistry.byName(historyPaneName)\n : undefined\n const initialPane = historyPane ??\n (!historyPaneName && isWebIdUri(subject)\n ? await getProfilePaneFromURI(subject)\n : undefined)\n\n outliner.GotoSubject(subject, true, initialPane, true, undefined, undefined, true, false)\n\n const header = await createHeader(outliner)\n const navbar = await createNavbar(outliner)\n return Promise.all([header, navbar])\n}\n\nexport async function refreshUI (outliner: OutlineManager) {\n const store = outliner?.context?.session?.store\n const paneRegistry = outliner?.context?.session?.paneRegistry\n const paneName = window.history.state?.paneName\n const paneUri = window.history.state?.paneUri\n // Panes rendered for a subject other than the page URL (storage/profile/social)\n // must be restored from paneUri, since byName() returns the pane without that subject.\n const usesOwnSubject = paneName === 'profile' || paneName === 'social' || paneName === 'folder'\n const subjectUri = paneUri && usesOwnSubject\n ? paneUri\n : window.document.location.href\n const pane = paneName ? paneRegistry?.byName?.(paneName) : undefined\n\n // Only re-run GotoSubject (full pane re-render) when render-relevant\n // environment fields actually changed since the last render.\n const currentSignature = renderEnvSignature(outliner?.context?.environment)\n const previousSignature = (outliner as any)?.[LAST_RENDER_ENV_KEY] ?? ''\n const envChanged = currentSignature !== previousSignature\n\n if (envChanged && store && typeof outliner?.GotoSubject === 'function') {\n outliner.GotoSubject(store.sym(subjectUri), true, pane, true, undefined, undefined, true, false)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = currentSignature\n }\n}\n"],"mappings":";;;;;;;AAgBA,IAAMC,IAAsB;AAE5B,SAASC,EAAoB,GAAiC;CAE5D,OADKC,IACE;EAACA,EAAI;EAAQA,EAAI;EAAOA,EAAI;CAAS,CAAC,CAAC,KAAK,GAAG,IADrC;AAEnB;AAEA,SAASC,IAAqB;CAC5B,IAAIC,IAAO,SAAS,eAAe,aAAa;CAShD,OARKA,MACH,IAAO,SAAS,cAAc,MAAM,GACpC,EAAK,KAAK,eACVA,EAAK,aAAa,QAAQ,MAAM,GAChCA,EAAK,aAAa,YAAY,IAAI,GAClCA,EAAK,aAAa,aAAa,QAAQ,GACvC,SAAS,KAAK,YAAYA,CAAI,IAEzBA;AACT;AAEA,eAAsBC,EACpB,GACA,GACA,GACA;CACA,EAAkB;CAClB,IAAMC,IAAWC,EAAY,UAAUC,CAAW;CAElD,AADC,EAAkBR,KAAuBC,EAAmBO,CAAW,GACxE,MAAa,OAAO,SAAS;CAC7B,IAAMC,IAAqB,OAAOC,KAAQ,WAAWC,EAAM,IAAID,CAAG,IAAIA,GAChEE,IAAkB,OAAO,QAAQ,OAAO,UAIxCC,KAHcD,IAChBb,EAAa,OAAOa,CAAe,IACnC,KAAA,OAED,CAACA,KAAmBE,EAAWL,CAAO,IACnC,MAAMM,EAAsBN,CAAO,IACnC,KAAA;CAEN,EAAS,YAAYA,GAAS,IAAMI,GAAa,IAAM,KAAA,GAAW,KAAA,GAAW,IAAM,EAAK;CAExF,IAAMG,IAAS,MAAMC,EAAaX,CAAQ,GACpCY,IAAS,MAAMC,EAAab,CAAQ;CAC1C,OAAO,QAAQ,IAAI,CAACU,GAAQE,CAAM,CAAC;AACrC;AAEA,eAAsBE,EAAW,GAA0B;CACzD,IAAMT,IAAQL,GAAU,SAAS,SAAS,OACpCP,IAAeO,GAAU,SAAS,SAAS,cAC3Ce,IAAW,OAAO,QAAQ,OAAO,UACjCC,IAAU,OAAO,QAAQ,OAAO,SAIhCC,IAAaD,MADID,MAAa,aAAaA,MAAa,YAAYA,MAAa,YAEnFC,IACA,OAAO,SAAS,SAAS,MACvBE,IAAOH,IAAWtB,GAAc,SAASsB,CAAQ,IAAI,KAAA,GAIrDI,IAAmBxB,EAAmBK,GAAU,SAAS,WAAW;CAI1E,AAFmBmB,OADQnB,IAAmBN,MAAwB,OAGpDW,KAAS,OAAOL,GAAU,eAAgB,eAC1DA,EAAS,YAAYK,EAAM,IAAIY,CAAU,GAAG,IAAMC,GAAM,IAAM,KAAA,GAAW,KAAA,GAAW,IAAM,EAAK,GAC9F,EAAkBxB,KAAuByB;AAE9C"}
1
+ {"version":3,"file":"index.esm.js","names":["LAST_RENDER_ENV_KEY","renderEnvSignature","env","ensureMainContent","main","initMainPage","subject","uri","store","clearPaneState","initializeProfileHeading","outliner","getOutliner","environment","navigation","navigationFor","registerBrowserNavigation","header","createHeader","navbar","createNavbar","placeProfileHeading","refreshUI","currentSignature"],"sources":["../../src/mainPage/index.ts"],"sourcesContent":["/* Main Page\n **\n ** This code is called in mashlib and renders the header and left side menu of the Databrowser.\n */\n\nimport { LiveStore, NamedNode } from 'rdflib'\nimport type { RenderEnvironment } from 'pane-registry'\nimport { getOutliner, OutlineManager } from '../index'\nimport { createHeader } from './header'\nimport { createNavbar } from './navbar'\nimport { navigationFor } from './navigation'\nimport { initializeProfileHeading, placeProfileHeading } from './profileHeading'\nimport { registerBrowserNavigation } from '../navigation/browserEvents'\nimport { clearPaneState } from '../navigation/state'\n\n// Symbol used to stash the last render-relevant env snapshot on the outliner\n// so refreshUI can skip a full GotoSubject re-render when nothing changed.\nconst LAST_RENDER_ENV_KEY = '__lastRenderEnvSignature'\n\nfunction renderEnvSignature (env?: RenderEnvironment): string {\n if (!env) return ''\n return [env.layout, env.theme, env.inputMode].join('|')\n}\n\nfunction ensureMainContent () {\n let main = document.getElementById('MainContent') as HTMLElement | null\n if (!main) {\n main = document.createElement('main')\n main.id = 'MainContent'\n main.setAttribute('role', 'main')\n main.setAttribute('tabindex', '-1')\n main.setAttribute('aria-live', 'polite')\n document.body.appendChild(main)\n }\n return main\n}\n\nexport async function initMainPage (\n store: LiveStore,\n uri?: string | NamedNode | null,\n environment?: RenderEnvironment\n) {\n ensureMainContent()\n uri = uri || window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n // A reload shows what the URL is, whatever the history entry last displayed through the navbar\n // or the account menu: the profile on a profile page, otherwise the resource or container itself.\n // This is also what Enter on the current URL ends in where the Navigation API is missing (see\n // NAVIGATION API FALLBACK in navigation/browserEvents.ts): the browser reloads the page.\n clearPaneState()\n initializeProfileHeading()\n const outliner = getOutliner(document, environment)\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = renderEnvSignature(environment)\n const navigation = navigationFor(outliner, store)\n registerBrowserNavigation(navigation)\n await navigation.show({ kind: 'restore', subject: subject.uri })\n\n const header = await createHeader(navigation)\n const navbar = await createNavbar(navigation)\n // The navbar went in at the top of the page; the heading belongs above it\n placeProfileHeading()\n return Promise.all([header, navbar])\n}\n\nexport async function refreshUI (outliner: OutlineManager) {\n const store = outliner?.context?.session?.store\n\n // Only re-run GotoSubject (full pane re-render) when render-relevant\n // environment fields actually changed since the last render.\n const currentSignature = renderEnvSignature(outliner?.context?.environment)\n const previousSignature = (outliner as any)?.[LAST_RENDER_ENV_KEY] ?? ''\n const envChanged = currentSignature !== previousSignature\n\n if (envChanged && store && typeof outliner?.GotoSubject === 'function') {\n // Re-render what the current history entry displays without changing the\n // URL or losing that it came from the account menu.\n await navigationFor(outliner, store).show({ kind: 'restore' })\n ;(outliner as any)[LAST_RENDER_ENV_KEY] = currentSignature\n }\n}\n"],"mappings":";;;;;;;;AAiBA,IAAMA,IAAsB;AAE5B,SAASC,EAAoB,GAAiC;CAE5D,OADKC,IACE;EAACA,EAAI;EAAQA,EAAI;EAAOA,EAAI;CAAS,CAAC,CAAC,KAAK,GAAG,IADrC;AAEnB;AAEA,SAASC,IAAqB;CAC5B,IAAIC,IAAO,SAAS,eAAe,aAAa;CAShD,OARKA,MACH,IAAO,SAAS,cAAc,MAAM,GACpC,EAAK,KAAK,eACVA,EAAK,aAAa,QAAQ,MAAM,GAChCA,EAAK,aAAa,YAAY,IAAI,GAClCA,EAAK,aAAa,aAAa,QAAQ,GACvC,SAAS,KAAK,YAAYA,CAAI,IAEzBA;AACT;AAEA,eAAsBC,EACpB,GACA,GACA,GACA;CAEA,AADAF,EAAkB,GAClB,MAAa,OAAO,SAAS;CAC7B,IAAMG,IAAqB,OAAOC,KAAQ,WAAWC,EAAM,IAAID,CAAG,IAAIA;CAMtE,AADAE,EAAe,GACfC,EAAyB;CACzB,IAAMC,IAAWC,EAAY,UAAUC,CAAW;CACjD,EAAkBb,KAAuBC,EAAmBY,CAAW;CACxE,IAAMC,IAAaC,EAAcJ,GAAUH,CAAK;CAEhD,AADAQ,EAA0BF,CAAU,GACpC,MAAMA,EAAW,KAAK;EAAE,MAAM;EAAW,SAASR,EAAQ;CAAI,CAAC;CAE/D,IAAMW,IAAS,MAAMC,EAAaJ,CAAU,GACtCK,IAAS,MAAMC,EAAaN,CAAU;CAG5C,OADAO,EAAoB,GACb,QAAQ,IAAI,CAACJ,GAAQE,CAAM,CAAC;AACrC;AAEA,eAAsBG,EAAW,GAA0B;CACzD,IAAMd,IAAQG,GAAU,SAAS,SAAS,OAIpCY,IAAmBtB,EAAmBU,GAAU,SAAS,WAAW;CAI1E,AAFmBY,OADQZ,IAAmBX,MAAwB,OAGpDQ,KAAS,OAAOG,GAAU,eAAgB,eAG1D,MAAMI,EAAcJ,GAAUH,CAAK,CAAC,CAAC,KAAK,EAAE,MAAM,UAAU,CAAC,GAC5D,EAAkBR,KAAuBuB;AAE9C"}
@@ -1,2 +1,2 @@
1
- const e=require("../utils/webIdUtils.cjs.js");require("../_virtual/~icons/lucide/user.cjs.js"),require("../_virtual/~icons/lucide/users.cjs.js"),require("../_virtual/~icons/lucide/folder-open.cjs.js");const t=require("../utils/paneUtils.cjs.js");require("../components/navbar/index.cjs.js");let n=require("solid-logic"),r=require("lit-html");function i(){let e=document.querySelector(`solid-panes-navbar`);e&&e.classList.remove(`navbar--hidden`)}function a(e,t,n=!1){return{label:e,onSelected(){return i(),t()},selected:n}}async function o(n,r,i,o,s){let c=await e.loadProfileFromURI(r),l=o||(e.isWebIdUri(r)?`profile`:void 0),u=[];c&&u.push(a(`Profile`,async()=>{let e=await t.getProfilePaneFromURI(c);n.GotoSubject(r,!0,e,!0,void 0,i)},l===`profile`),a(`Friends`,async()=>{let e=await t.getSocialPaneFromURI(c);n.GotoSubject(r,!0,e,!0,void 0,i)},l===`social`));let d=await t.getFolderPanesFromURI(r);return d.forEach(e=>{u.push(a(e.label(),async()=>{n.GotoSubject(r,!0,e,!0,void 0,i)},l===e.paneName&&(s?s===e.subject.value:d.length===1)))}),u}async function s(e){let t=document.querySelector(`solid-panes-navbar`);if(t)return t.classList.remove(`navbar--hidden`),t;let i=document.getElementById(`OutlineView`),a=document.getElementById(`MainContent`),s=document.createElement(`div`),c=window.location.href,l=typeof c==`string`?n.store.sym(c):c,u=window.history.state?.paneName,d=window.history.state?.paneUri,f=await o(e,l,i,u,d).catch(e=>(console.error(`Failed to build navbar menu items:`,e),[]));function p(e){f=f.map(t=>({...t,selected:t===e}))}function m(e){let{detail:t}=e;p(t),Promise.resolve(t.onSelected?.()).catch(e=>{console.error(`Navbar menu item selection failed:`,e)}),h()}function h(){(0,r.render)(r.html`<solid-panes-navbar .navbarItems=${f} @solid-ui-select=${m}></solid-panes-navbar>`,s)}h();let g=s.firstElementChild;if(!g)throw Error(`Failed to create nav bar`);return a?a.insertBefore(g,a.firstChild):document.body.prepend(g),g}exports.createNavbar=s;
1
+ const e=require("../utils/webIdUtils.cjs.js"),t=require("../navigation/chrome.cjs.js"),n=require("../navigation/podContext.cjs.js"),r=require("../navigation/state.cjs.js"),i=require("../navigation/events.cjs.js"),a=require("../navigation/navbarVisibility.cjs.js");require("../_virtual/~icons/lucide/user.cjs.js"),require("../_virtual/~icons/lucide/users.cjs.js"),require("../_virtual/~icons/lucide/folder-open.cjs.js"),require("../components/navbar/index.cjs.js");let o=require("solid-logic"),s=require("lit-html");function c(){return a.refreshNavbarVisibility(window.location.href,r.readNavigationState().viaAccountMenu)}var l;function u(e,t){l?.(e,t)}function d(e,t,n,r,i=!1){return{label:e,paneName:t,paneUri:n,async onSelected(){return await c(),r()},selected:i}}function f(n,r,i){let a=t.deriveNavbarSelection(i,e.isWebIdUri(o.store.sym(window.location.href))),s=[];if(n.owner){let e=n.owner;s.push(d(`Profile`,`profile`,e,()=>r.show({kind:`profile`,subject:e}),t.isNavbarItemSelected({paneName:`profile`},a,0)),d(`Friends`,`social`,e,()=>r.show({kind:`friends`,subject:e}),t.isNavbarItemSelected({paneName:`social`},a,0)))}return n.storagePanes.forEach(e=>{s.push(d(e.label(),e.paneName,e.subject.value,()=>r.show({kind:`storage`,pane:e}),t.isNavbarItemSelected({paneName:e.paneName,paneUri:e.subject.value},a,n.storagePanes.length)))}),s}async function p(u){let d=document.querySelector(`solid-panes-navbar`);if(d)return await c(),d;let p=document.getElementById(`MainContent`),m=document.createElement(`div`),h=await n.getPodContext(window.location.href),g=f(h,u,r.readNavigationState().view);function _(e){g=g.map(t=>({...t,selected:t===e}))}function v(e){let{detail:t}=e;_(t),Promise.resolve(t.onSelected?.()).catch(e=>{console.error(`Navbar menu item selection failed:`,e)}),y()}function y(){(0,s.render)(s.html`<solid-panes-navbar .navbarItems=${g} @solid-ui-select=${v}></solid-panes-navbar>`,m)}y(),l=(e,n)=>{let r=t.pickNavbarItem(g,e,n);r&&(_(r),y())};let b=m.firstElementChild;if(!b)throw Error(`Failed to create nav bar`);p?p.insertBefore(b,p.firstChild):document.body.prepend(b),await c();let x=0,S=i.onNavigated(({url:r,state:i})=>{if(!b.isConnected)return S();a.refreshNavbarVisibility(r,i.viaAccountMenu).catch(e=>console.error(`Failed to update navbar visibility:`,e));let s=++x;n.getPodContext(r).then(a=>{if(s===x){if(n.isSamePod(h,a)){let n=t.deriveNavbarSelection(i.view,e.isWebIdUri(o.store.sym(r))),a=g.map(e=>({...e,selected:t.isNavbarItemSelected(e,n,h.storagePanes.length)}));a.some((e,t)=>e.selected!==g[t].selected)&&(g=a,y())}else h=a,g=f(a,u,i.view),y()}}).catch(e=>console.error(`Failed to rebuild the navbar for the new pod:`,e))});return b}exports.createNavbar=p,exports.selectNavbarPane=u;
2
2
  //# sourceMappingURL=navbar.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.cjs.js","names":["loadProfileFromURI","isWebIdUri","getProfilePaneFromURI","getSocialPaneFromURI","getFolderPanesFromURI","store","require_webIdUtils","require_paneUtils","solid_logic","lit_html","showNavbar","navbar","createNavItem","onSelected","createNavbarMenuItems","webId","subject","selectedPane","selectedPaneName","menuItems","profilePane","outliner","outlineView","socialPane","storagePanes","pane","selectedPaneUri","createNavbar","existingNavbar","OutlineView","mainContent","tmpContainer","uri","err","setSelectedItem","menuItem","selectedItem","handleSelectionChanged","event","error","renderNavbar"],"sources":["../../src/mainPage/navbar.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport { NamedNode } from 'rdflib'\nimport { getSocialPaneFromURI, getProfilePaneFromURI, getFolderPanesFromURI } from '../utils/paneUtils'\nimport { html, render } from 'lit-html'\nimport type { OutlineManager } from '../outline/manager'\nimport { isWebIdUri, loadProfileFromURI } from '../utils/webIdUtils'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '../components/navbar'\n\nimport type { NavbarMenuItem } from '../components/navbar/Navbar'\n\nfunction showNavbar () {\n const navbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n if (navbar) {\n navbar.classList.remove('navbar--hidden')\n }\n}\n\nfunction createNavItem (\n label: string,\n onSelected: () => void,\n selected = false\n): NavbarMenuItem {\n return {\n label,\n onSelected () {\n showNavbar()\n return onSelected()\n },\n selected\n }\n}\n\nasync function createNavbarMenuItems (\n outliner: OutlineManager,\n subject: NamedNode,\n outlineView: HTMLElement | null,\n selectedPaneName?: string,\n selectedPaneUri?: string\n): Promise<NavbarMenuItem[]> {\n const webId = await loadProfileFromURI(subject)\n const selectedPane = selectedPaneName || (isWebIdUri(subject) ? 'profile' : undefined)\n\n const menuItems: NavbarMenuItem[] = []\n\n if (webId) {\n menuItems.push(\n createNavItem('Profile', async () => {\n const profilePane = await getProfilePaneFromURI(webId)\n outliner.GotoSubject(subject, true, profilePane, true, undefined, outlineView)\n }, selectedPane === 'profile'),\n createNavItem('Friends', async () => {\n const socialPane = await getSocialPaneFromURI(webId)\n outliner.GotoSubject(subject, true, socialPane, true, undefined, outlineView)\n }, selectedPane === 'social')\n )\n }\n\n const storagePanes = await getFolderPanesFromURI(subject)\n storagePanes.forEach(pane => {\n menuItems.push(\n createNavItem(\n pane.label(),\n async () => {\n outliner.GotoSubject(subject, true, pane, true, undefined, outlineView)\n },\n selectedPane === pane.paneName &&\n (selectedPaneUri ? selectedPaneUri === pane.subject.value : storagePanes.length === 1)\n )\n )\n })\n\n return menuItems\n}\n\nexport async function createNavbar (outliner: OutlineManager) {\n const existingNavbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n\n if (existingNavbar) {\n existingNavbar.classList.remove('navbar--hidden')\n return existingNavbar\n }\n\n const OutlineView = document.getElementById('OutlineView')\n const mainContent = document.getElementById('MainContent')\n const tmpContainer = document.createElement('div')\n const uri = window.location.href\n const subject: NamedNode = typeof uri === 'string' ? store.sym(uri) : uri\n const selectedPaneName = window.history.state?.paneName\n const selectedPaneUri = window.history.state?.paneUri\n let menuItems = await createNavbarMenuItems(outliner, subject, OutlineView, selectedPaneName, selectedPaneUri).catch((err) => {\n console.error('Failed to build navbar menu items:', err)\n return []\n })\n\n function setSelectedItem (selectedItem: NavbarMenuItem) {\n menuItems = menuItems.map((menuItem) => ({\n ...menuItem,\n selected: menuItem === selectedItem\n }))\n }\n\n function handleSelectionChanged (event: Event) {\n const { detail: selectedItem } = event as CustomEvent<NavbarMenuItem>\n setSelectedItem(selectedItem)\n\n Promise.resolve(selectedItem.onSelected?.()).catch((error) => {\n console.error('Navbar menu item selection failed:', error)\n })\n\n renderNavbar()\n }\n\n function renderNavbar () {\n render(\n html`<solid-panes-navbar .navbarItems=${menuItems} @solid-ui-select=${handleSelectionChanged}></solid-panes-navbar>`,\n tmpContainer\n )\n }\n\n renderNavbar()\n\n const navbar = tmpContainer.firstElementChild as HTMLElement | null\n\n if (!navbar) {\n throw new Error('Failed to create nav bar')\n }\n\n if (mainContent) {\n mainContent.insertBefore(navbar, mainContent.firstChild)\n } else {\n document.body.prepend(navbar)\n }\n\n return navbar\n}\n"],"mappings":"sVAcA,SAASU,GAAc,CACrB,IAAMC,EAAS,SAAS,cAA2B,oBAAoB,EACnEA,GACFA,EAAO,UAAU,OAAO,gBAAgB,CAE5C,CAEA,SAASC,EACP,EACA,EACA,EAAW,GACK,CAChB,MAAO,CACL,QACA,YAAc,CAEZ,OADAF,EAAW,EACJG,EAAW,CACpB,EACA,UACF,CACF,CAEA,eAAeC,EACb,EACA,EACA,EACA,EACA,EAC2B,CAC3B,IAAMC,EAAQ,MAAMf,EAAAA,mBAAmBgB,CAAO,EACxCC,EAAeC,IAAqBjB,EAAAA,WAAWe,CAAO,EAAI,UAAY,IAAA,IAEtEG,EAA8B,CAAC,EAEjCJ,GACFI,EAAU,KACRP,EAAc,UAAW,SAAY,CACnC,IAAMQ,EAAc,MAAMlB,EAAAA,sBAAsBa,CAAK,EACrDM,EAAS,YAAYL,EAAS,GAAMI,EAAa,GAAM,IAAA,GAAWE,CAAW,CAC/E,EAAGL,IAAiB,SAAS,EAC7BL,EAAc,UAAW,SAAY,CACnC,IAAMW,EAAa,MAAMpB,EAAAA,qBAAqBY,CAAK,EACnDM,EAAS,YAAYL,EAAS,GAAMO,EAAY,GAAM,IAAA,GAAWD,CAAW,CAC9E,EAAGL,IAAiB,QAAQ,CAC9B,EAGF,IAAMO,EAAe,MAAMpB,EAAAA,sBAAsBY,CAAO,EAcxD,OAbAQ,EAAa,QAAQ,GAAQ,CAC3BL,EAAU,KACRP,EACEa,EAAK,MAAM,EACX,SAAY,CACVJ,EAAS,YAAYL,EAAS,GAAMS,EAAM,GAAM,IAAA,GAAWH,CAAW,CACxE,EACAL,IAAiBQ,EAAK,WACnBC,EAAkBA,IAAoBD,EAAK,QAAQ,MAAQD,EAAa,SAAW,EACxF,CACF,CACF,CAAC,EAEML,CACT,CAEA,eAAsBQ,EAAc,EAA0B,CAC5D,IAAMC,EAAiB,SAAS,cAA2B,oBAAoB,EAE/E,GAAIA,EAEF,OADAA,EAAe,UAAU,OAAO,gBAAgB,EACzCA,EAGT,IAAMC,EAAc,SAAS,eAAe,aAAa,EACnDC,EAAc,SAAS,eAAe,aAAa,EACnDC,EAAe,SAAS,cAAc,KAAK,EAC3CC,EAAM,OAAO,SAAS,KACtBhB,EAAqB,OAAOgB,GAAQ,SAAW3B,EAAAA,MAAM,IAAI2B,CAAG,EAAIA,EAChEd,EAAmB,OAAO,QAAQ,OAAO,SACzCQ,EAAkB,OAAO,QAAQ,OAAO,QAC1CP,EAAY,MAAML,EAAsBO,EAAUL,EAASa,EAAaX,EAAkBQ,CAAe,CAAC,CAAC,MAAO,IACpH,QAAQ,MAAM,qCAAsCO,CAAG,EAChD,CAAC,EACT,EAED,SAASC,EAAiB,EAA8B,CACtD,EAAYf,EAAU,IAAK,IAAc,CACvC,GAAGgB,EACH,SAAUA,IAAaC,CACzB,EAAE,CACJ,CAEA,SAASC,EAAwB,EAAc,CAC7C,GAAM,CAAE,OAAQD,GAAiBE,EACjCJ,EAAgBE,CAAY,EAE5B,QAAQ,QAAQA,EAAa,aAAa,CAAC,CAAC,CAAC,MAAO,GAAU,CAC5D,QAAQ,MAAM,qCAAsCG,CAAK,CAC3D,CAAC,EAEDC,EAAa,CACf,CAEA,SAASA,GAAgB,EACvB,EAAA/B,EAAA,OAAA,CACE,EAAA,IAAI,oCAAoCU,EAAU,oBAAoBkB,EAAuB,wBAC7FN,CACF,CACF,CAEAS,EAAa,EAEb,IAAM7B,EAASoB,EAAa,kBAE5B,GAAI,CAACpB,EACH,MAAU,MAAM,0BAA0B,EAS5C,OANImB,EACFA,EAAY,aAAanB,EAAQmB,EAAY,UAAU,EAEvD,SAAS,KAAK,QAAQnB,CAAM,EAGvBA,CACT"}
1
+ {"version":3,"file":"navbar.cjs.js","names":["refreshNavbarVisibility","readNavigationState","deriveNavbarSelection","isWebIdUri","store","isNavbarItemSelected","getPodContext","pickNavbarItem","onNavigated","isSamePod","require_webIdUtils","require_chrome","require_podContext","require_state","require_events","require_navbarVisibility","solid_logic","lit_html","showNavbar","selectPaneInNavbar","selectNavbarPane","paneName","paneUri","createNavItem","onSelected","createNavbarMenuItems","selection","view","menuItems","context","owner","navigation","pane","createNavbar","existingNavbar","mainContent","tmpContainer","podContext","setSelectedItem","menuItem","selectedItem","handleSelectionChanged","event","error","renderNavbar","item","navbar","rebuildRequest","stopListening","url","state","request","next","selectedItems","index"],"sources":["../../src/mainPage/navbar.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport { html, render } from 'lit-html'\nimport type { NavigationController } from '../navigation/controller'\nimport { isWebIdUri } from '../utils/webIdUtils'\nimport { deriveNavbarSelection, isNavbarItemSelected, pickNavbarItem } from '../navigation/chrome'\nimport { onNavigated } from '../navigation/events'\nimport { readNavigationState, type NavigationView } from '../navigation/state'\nimport { getPodContext, isSamePod, type PodContext } from '../navigation/podContext'\nimport { refreshNavbarVisibility } from '../navigation/navbarVisibility'\n\nimport '~icons/lucide/user'\nimport '~icons/lucide/users'\nimport '~icons/lucide/folder-open'\nimport '../components/navbar'\n\nimport type { NavbarMenuItem } from '../components/navbar/Navbar'\n\nfunction showNavbar () {\n return refreshNavbarVisibility(window.location.href, readNavigationState().viaAccountMenu)\n}\n\nlet selectPaneInNavbar: ((paneName: string, paneUri?: string) => void) | undefined\n\nexport function selectNavbarPane (paneName: string, paneUri?: string): void {\n selectPaneInNavbar?.(paneName, paneUri)\n}\n\nfunction createNavItem (\n label: string,\n paneName: string,\n paneUri: string,\n onSelected: () => void,\n selected = false\n): NavbarMenuItem {\n return {\n label,\n paneName,\n paneUri,\n async onSelected () {\n await showNavbar()\n return onSelected()\n },\n selected\n }\n}\n\n// The items offered for the pod the page is in. Choosing one displays that pane while the\n// page URL stays as it is.\nfunction createNavbarMenuItems (\n context: PodContext,\n navigation: NavigationController,\n view: NavigationView\n): NavbarMenuItem[] {\n const selection = deriveNavbarSelection(view, isWebIdUri(store.sym(window.location.href)))\n\n const menuItems: NavbarMenuItem[] = []\n\n if (context.owner) {\n const owner = context.owner\n menuItems.push(\n createNavItem('Profile', 'profile', owner, () => navigation.show({ kind: 'profile', subject: owner }),\n isNavbarItemSelected({ paneName: 'profile' }, selection, 0)),\n createNavItem('Friends', 'social', owner, () => navigation.show({ kind: 'friends', subject: owner }),\n isNavbarItemSelected({ paneName: 'social' }, selection, 0))\n )\n }\n\n context.storagePanes.forEach(pane => {\n menuItems.push(\n createNavItem(\n pane.label(),\n pane.paneName,\n pane.subject.value,\n () => navigation.show({ kind: 'storage', pane }),\n isNavbarItemSelected(\n { paneName: pane.paneName, paneUri: pane.subject.value },\n selection,\n context.storagePanes.length\n )\n )\n )\n })\n\n return menuItems\n}\n\nexport async function createNavbar (navigation: NavigationController) {\n const existingNavbar = document.querySelector<HTMLElement>('solid-panes-navbar')\n\n if (existingNavbar) {\n await showNavbar()\n return existingNavbar\n }\n\n const mainContent = document.getElementById('MainContent')\n const tmpContainer = document.createElement('div')\n let podContext = await getPodContext(window.location.href)\n let menuItems = createNavbarMenuItems(podContext, navigation, readNavigationState().view)\n\n function setSelectedItem (selectedItem: NavbarMenuItem) {\n menuItems = menuItems.map((menuItem) => ({\n ...menuItem,\n selected: menuItem === selectedItem\n }))\n }\n\n function handleSelectionChanged (event: Event) {\n const { detail: selectedItem } = event as CustomEvent<NavbarMenuItem>\n setSelectedItem(selectedItem)\n\n Promise.resolve(selectedItem.onSelected?.()).catch((error) => {\n console.error('Navbar menu item selection failed:', error)\n })\n\n renderNavbar()\n }\n\n function renderNavbar () {\n render(\n html`<solid-panes-navbar .navbarItems=${menuItems} @solid-ui-select=${handleSelectionChanged}></solid-panes-navbar>`,\n tmpContainer\n )\n }\n\n renderNavbar()\n\n selectPaneInNavbar = (paneName, paneUri) => {\n const item = pickNavbarItem(menuItems, paneName, paneUri)\n if (!item) return\n setSelectedItem(item)\n renderNavbar()\n }\n\n const navbar = tmpContainer.firstElementChild as HTMLElement | null\n\n if (!navbar) {\n throw new Error('Failed to create nav bar')\n }\n\n if (mainContent) {\n mainContent.insertBefore(navbar, mainContent.firstChild)\n } else {\n document.body.prepend(navbar)\n }\n\n await showNavbar()\n\n // The items belong to one pod. When a navigation (a link, back or forward) lands in another\n // pod, they would offer the wrong profile and storages, so build them again.\n let rebuildRequest = 0\n const stopListening = onNavigated(({ url, state }) => {\n if (!navbar.isConnected) return stopListening()\n\n refreshNavbarVisibility(url, state.viaAccountMenu)\n .catch(error => console.error('Failed to update navbar visibility:', error))\n\n const request = ++rebuildRequest\n getPodContext(url).then(next => {\n if (request !== rebuildRequest) return\n if (isSamePod(podContext, next)) {\n const selection = deriveNavbarSelection(state.view, isWebIdUri(store.sym(url)))\n const selectedItems = menuItems.map(menuItem => ({\n ...menuItem,\n selected: isNavbarItemSelected(menuItem, selection, podContext.storagePanes.length)\n }))\n if (selectedItems.some((item, index) => item.selected !== menuItems[index].selected)) {\n menuItems = selectedItems\n renderNavbar()\n }\n return\n }\n podContext = next\n menuItems = createNavbarMenuItems(next, navigation, state.view)\n renderNavbar()\n }).catch(error => console.error('Failed to rebuild the navbar for the new pod:', error))\n })\n\n return navbar\n}\n"],"mappings":"A,mgBAiBA,SAASkB,GAAc,CACrB,OAAOlB,EAAAA,wBAAwB,OAAO,SAAS,KAAMC,EAAAA,oBAAoB,CAAC,CAAC,cAAc,CAC3F,CAEA,IAAIkB,EAEJ,SAAgBC,EAAkB,EAAkB,EAAwB,CAC1ED,IAAqBE,EAAUC,CAAO,CACxC,CAEA,SAASC,EACP,EACA,EACA,EACA,EACA,EAAW,GACK,CAChB,MAAO,CACL,QACA,WACA,UACA,MAAM,YAAc,CAElB,OADA,MAAML,EAAW,EACVM,EAAW,CACpB,EACA,UACF,CACF,CAIA,SAASC,EACP,EACA,EACA,EACkB,CAClB,IAAMC,EAAYxB,EAAAA,sBAAsByB,EAAMxB,EAAAA,WAAWC,EAAAA,MAAM,IAAI,OAAO,SAAS,IAAI,CAAC,CAAC,EAEnFwB,EAA8B,CAAC,EAErC,GAAIC,EAAQ,MAAO,CACjB,IAAMC,EAAQD,EAAQ,MACtBD,EAAU,KACRL,EAAc,UAAW,UAAWO,MAAaC,EAAW,KAAK,CAAE,KAAM,UAAW,QAASD,CAAM,CAAC,EAClGzB,EAAAA,qBAAqB,CAAE,SAAU,SAAU,EAAGqB,EAAW,CAAC,CAAC,EAC7DH,EAAc,UAAW,SAAUO,MAAaC,EAAW,KAAK,CAAE,KAAM,UAAW,QAASD,CAAM,CAAC,EACjGzB,EAAAA,qBAAqB,CAAE,SAAU,QAAS,EAAGqB,EAAW,CAAC,CAAC,CAC9D,CACF,CAkBA,OAhBAG,EAAQ,aAAa,QAAQ,GAAQ,CACnCD,EAAU,KACRL,EACES,EAAK,MAAM,EACXA,EAAK,SACLA,EAAK,QAAQ,UACPD,EAAW,KAAK,CAAE,KAAM,UAAW,MAAK,CAAC,EAC/C1B,EAAAA,qBACE,CAAE,SAAU2B,EAAK,SAAU,QAASA,EAAK,QAAQ,KAAM,EACvDN,EACAG,EAAQ,aAAa,MACvB,CACF,CACF,CACF,CAAC,EAEMD,CACT,CAEA,eAAsBK,EAAc,EAAkC,CACpE,IAAMC,EAAiB,SAAS,cAA2B,oBAAoB,EAE/E,GAAIA,EAEF,OADA,MAAMhB,EAAW,EACVgB,EAGT,IAAMC,EAAc,SAAS,eAAe,aAAa,EACnDC,EAAe,SAAS,cAAc,KAAK,EAC7CC,EAAa,MAAM/B,EAAAA,cAAc,OAAO,SAAS,IAAI,EACrDsB,EAAYH,EAAsBY,EAAYN,EAAY9B,EAAAA,oBAAoB,CAAC,CAAC,IAAI,EAExF,SAASqC,EAAiB,EAA8B,CACtD,EAAYV,EAAU,IAAK,IAAc,CACvC,GAAGW,EACH,SAAUA,IAAaC,CACzB,EAAE,CACJ,CAEA,SAASC,EAAwB,EAAc,CAC7C,GAAM,CAAE,OAAQD,GAAiBE,EACjCJ,EAAgBE,CAAY,EAE5B,QAAQ,QAAQA,EAAa,aAAa,CAAC,CAAC,CAAC,MAAO,GAAU,CAC5D,QAAQ,MAAM,qCAAsCG,CAAK,CAC3D,CAAC,EAEDC,EAAa,CACf,CAEA,SAASA,GAAgB,EACvB,EAAA3B,EAAA,OAAA,CACE,EAAA,IAAI,oCAAoCW,EAAU,oBAAoBa,EAAuB,wBAC7FL,CACF,CACF,CAEAQ,EAAa,EAEb,GAAsB,EAAU,IAAY,CAC1C,IAAMC,EAAOtC,EAAAA,eAAeqB,EAAWP,EAAUC,CAAO,EACnDuB,IACLP,EAAgBO,CAAI,EACpBD,EAAa,EACf,EAEA,IAAME,EAASV,EAAa,kBAE5B,GAAI,CAACU,EACH,MAAU,MAAM,0BAA0B,EAGxCX,EACFA,EAAY,aAAaW,EAAQX,EAAY,UAAU,EAEvD,SAAS,KAAK,QAAQW,CAAM,EAG9B,MAAM5B,EAAW,EAIjB,IAAI6B,EAAiB,EACfC,EAAgBxC,EAAAA,aAAa,CAAE,MAAK,WAAY,CACpD,GAAI,CAACsC,EAAO,YAAa,OAAOE,EAAc,EAE9CjC,EAAA,wBAAwBkC,EAAKC,EAAM,cAAc,CAAC,CAC/C,MAAM,GAAS,QAAQ,MAAM,sCAAuCP,CAAK,CAAC,EAE7E,IAAMQ,EAAU,EAAEJ,EAClBnC,EAAA,cAAcqC,CAAG,CAAC,CAAC,KAAK,GAAQ,CAC9B,GAAIE,IAAYJ,EAChB,IAAItC,EAAAA,UAAU4B,EAAYe,CAAI,EAAG,CAC/B,IAAM1B,EAAYxB,EAAAA,sBAAsBgD,EAAM,KAAM/C,EAAAA,WAAWC,EAAAA,MAAM,IAAI6C,CAAG,CAAC,CAAC,EACxEI,EAAgBzB,EAAU,IAAI,IAAa,CAC/C,GAAGW,EACH,SAAUlC,EAAAA,qBAAqBkC,EAAUb,EAAWW,EAAW,aAAa,MAAM,CACpF,EAAE,EACEgB,EAAc,MAAM,EAAM,IAAUR,EAAK,WAAajB,EAAU0B,EAAM,CAAC,QAAQ,IACjF,EAAYD,EACZT,EAAa,EAGjB,KACA,GAAaQ,EACb,EAAY3B,EAAsB2B,EAAMrB,EAAYmB,EAAM,IAAI,EAC9DN,EAAa,CAHb,CAIF,CAAC,CAAC,CAAC,MAAM,GAAS,QAAQ,MAAM,gDAAiDD,CAAK,CAAC,CACzF,CAAC,EAED,OAAOG,CACT,C"}
@@ -1,3 +1,4 @@
1
- import { OutlineManager } from '../outline/manager';
2
- export declare function createNavbar(outliner: OutlineManager): Promise<HTMLElement>;
1
+ import { NavigationController } from '../navigation/controller';
2
+ export declare function selectNavbarPane(paneName: string, paneUri?: string): void;
3
+ export declare function createNavbar(navigation: NavigationController): Promise<HTMLElement>;
3
4
  //# sourceMappingURL=navbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../src/mainPage/navbar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,2BAA2B,CAAA;AAClC,OAAO,sBAAsB,CAAA;AAoE7B,wBAAsB,YAAY,CAAE,QAAQ,EAAE,cAAc,wBA4D3D"}
1
+ {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../src/mainPage/navbar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAQpE,OAAO,oBAAoB,CAAA;AAC3B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,2BAA2B,CAAA;AAClC,OAAO,sBAAsB,CAAA;AAU7B,wBAAgB,gBAAgB,CAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1E;AA6DD,wBAAsB,YAAY,CAAE,UAAU,EAAE,oBAAoB,wBA4FnE"}
@@ -1,66 +1,101 @@
1
- import { isWebIdUri as e, loadProfileFromURI as t } from "../utils/webIdUtils.esm.js";
1
+ import { isWebIdUri as e } from "../utils/webIdUtils.esm.js";
2
+ import { deriveNavbarSelection as t, isNavbarItemSelected as n, pickNavbarItem as r } from "../navigation/chrome.esm.js";
3
+ import { getPodContext as i, isSamePod as a } from "../navigation/podContext.esm.js";
4
+ import { readNavigationState as o } from "../navigation/state.esm.js";
5
+ import { onNavigated as s } from "../navigation/events.esm.js";
6
+ import { refreshNavbarVisibility as c } from "../navigation/navbarVisibility.esm.js";
2
7
  import "../_virtual/~icons/lucide/user.esm.js";
3
8
  import "../_virtual/~icons/lucide/users.esm.js";
4
9
  import "../_virtual/~icons/lucide/folder-open.esm.js";
5
- import { getFolderPanesFromURI as n, getProfilePaneFromURI as r, getSocialPaneFromURI as i } from "../utils/paneUtils.esm.js";
6
10
  import "../components/navbar/index.esm.js";
7
- import { store as a } from "solid-logic";
8
- import { html as o, render as s } from "lit-html";
11
+ import { store as l } from "solid-logic";
12
+ import { html as u, render as d } from "lit-html";
9
13
  //#region src/mainPage/navbar.ts
10
- function c() {
11
- let e = document.querySelector("solid-panes-navbar");
12
- e && e.classList.remove("navbar--hidden");
14
+ function f() {
15
+ return c(window.location.href, o().viaAccountMenu);
13
16
  }
14
- function l(e, t, n = !1) {
17
+ var p;
18
+ function m(e, t) {
19
+ p?.(e, t);
20
+ }
21
+ function h(e, t, n, r, i = !1) {
15
22
  return {
16
23
  label: e,
17
- onSelected() {
18
- return c(), t();
24
+ paneName: t,
25
+ paneUri: n,
26
+ async onSelected() {
27
+ return await f(), r();
19
28
  },
20
- selected: n
29
+ selected: i
21
30
  };
22
31
  }
23
- async function u(a, o, s, c, u) {
24
- let d = await t(o), f = c || (e(o) ? "profile" : void 0), p = [];
25
- d && p.push(l("Profile", async () => {
26
- let e = await r(d);
27
- a.GotoSubject(o, !0, e, !0, void 0, s);
28
- }, f === "profile"), l("Friends", async () => {
29
- let e = await i(d);
30
- a.GotoSubject(o, !0, e, !0, void 0, s);
31
- }, f === "social"));
32
- let m = await n(o);
33
- return m.forEach((e) => {
34
- p.push(l(e.label(), async () => {
35
- a.GotoSubject(o, !0, e, !0, void 0, s);
36
- }, f === e.paneName && (u ? u === e.subject.value : m.length === 1)));
37
- }), p;
32
+ function g(r, i, a) {
33
+ let o = t(a, e(l.sym(window.location.href))), s = [];
34
+ if (r.owner) {
35
+ let e = r.owner;
36
+ s.push(h("Profile", "profile", e, () => i.show({
37
+ kind: "profile",
38
+ subject: e
39
+ }), n({ paneName: "profile" }, o, 0)), h("Friends", "social", e, () => i.show({
40
+ kind: "friends",
41
+ subject: e
42
+ }), n({ paneName: "social" }, o, 0)));
43
+ }
44
+ return r.storagePanes.forEach((e) => {
45
+ s.push(h(e.label(), e.paneName, e.subject.value, () => i.show({
46
+ kind: "storage",
47
+ pane: e
48
+ }), n({
49
+ paneName: e.paneName,
50
+ paneUri: e.subject.value
51
+ }, o, r.storagePanes.length)));
52
+ }), s;
38
53
  }
39
- async function d(e) {
40
- let t = document.querySelector("solid-panes-navbar");
41
- if (t) return t.classList.remove("navbar--hidden"), t;
42
- let n = document.getElementById("OutlineView"), r = document.getElementById("MainContent"), i = document.createElement("div"), c = window.location.href, l = typeof c == "string" ? a.sym(c) : c, d = window.history.state?.paneName, f = window.history.state?.paneUri, p = await u(e, l, n, d, f).catch((e) => (console.error("Failed to build navbar menu items:", e), []));
43
- function m(e) {
44
- p = p.map((t) => ({
54
+ async function _(m) {
55
+ let h = document.querySelector("solid-panes-navbar");
56
+ if (h) return await f(), h;
57
+ let _ = document.getElementById("MainContent"), v = document.createElement("div"), y = await i(window.location.href), b = g(y, m, o().view);
58
+ function x(e) {
59
+ b = b.map((t) => ({
45
60
  ...t,
46
61
  selected: t === e
47
62
  }));
48
63
  }
49
- function h(e) {
64
+ function S(e) {
50
65
  let { detail: t } = e;
51
- m(t), Promise.resolve(t.onSelected?.()).catch((e) => {
66
+ x(t), Promise.resolve(t.onSelected?.()).catch((e) => {
52
67
  console.error("Navbar menu item selection failed:", e);
53
- }), g();
68
+ }), C();
54
69
  }
55
- function g() {
56
- s(o`<solid-panes-navbar .navbarItems=${p} @solid-ui-select=${h}></solid-panes-navbar>`, i);
70
+ function C() {
71
+ d(u`<solid-panes-navbar .navbarItems=${b} @solid-ui-select=${S}></solid-panes-navbar>`, v);
57
72
  }
58
- g();
59
- let _ = i.firstElementChild;
60
- if (!_) throw Error("Failed to create nav bar");
61
- return r ? r.insertBefore(_, r.firstChild) : document.body.prepend(_), _;
73
+ C(), p = (e, t) => {
74
+ let n = r(b, e, t);
75
+ n && (x(n), C());
76
+ };
77
+ let w = v.firstElementChild;
78
+ if (!w) throw Error("Failed to create nav bar");
79
+ _ ? _.insertBefore(w, _.firstChild) : document.body.prepend(w), await f();
80
+ let T = 0, E = s(({ url: r, state: o }) => {
81
+ if (!w.isConnected) return E();
82
+ c(r, o.viaAccountMenu).catch((e) => console.error("Failed to update navbar visibility:", e));
83
+ let s = ++T;
84
+ i(r).then((i) => {
85
+ if (s === T) {
86
+ if (a(y, i)) {
87
+ let i = t(o.view, e(l.sym(r))), a = b.map((e) => ({
88
+ ...e,
89
+ selected: n(e, i, y.storagePanes.length)
90
+ }));
91
+ a.some((e, t) => e.selected !== b[t].selected) && (b = a, C());
92
+ } else y = i, b = g(i, m, o.view), C();
93
+ }
94
+ }).catch((e) => console.error("Failed to rebuild the navbar for the new pod:", e));
95
+ });
96
+ return w;
62
97
  }
63
98
  //#endregion
64
- export { d as createNavbar };
99
+ export { _ as createNavbar, m as selectNavbarPane };
65
100
 
66
101
  //# sourceMappingURL=navbar.esm.js.map