solid-panes 4.4.2-7 → 4.5.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 (534) hide show
  1. package/README.md +40 -10
  2. package/dist/0314353e28ce6e5539af.svg +9 -0
  3. package/dist/04567ff683933c35c465.png +0 -0
  4. package/dist/10163fd9b5a0e00d63a0.png +0 -0
  5. package/dist/1234dcb2eec2e45f252b.png +0 -0
  6. package/dist/20899934157df4db56cb.png +0 -0
  7. package/dist/33760bf79f097f449da5.png +0 -0
  8. package/dist/4cceba29ab33b1ddd9bb.svg +6 -0
  9. package/dist/578d2b6ed32e7624164e.png +0 -0
  10. package/dist/5f62a5b2b7e99b9640c7.png +0 -0
  11. package/dist/6525766ecd288ec60129.png +0 -0
  12. package/dist/7800be6f6c4b5b0f4f20.png +0 -0
  13. package/dist/7b7538c6f6b317968009.svg +9 -0
  14. package/dist/92d03142abe6efc0b42d.svg +6 -0
  15. package/dist/976473cf5fe24d657d4b.png +0 -0
  16. package/dist/RDFXMLPane.css +70 -0
  17. package/dist/RDFXMLPane.d.ts +3 -2
  18. package/dist/RDFXMLPane.js +100 -0
  19. package/dist/argument/argumentPane.js +60 -0
  20. package/dist/attach/attachPane.js +393 -0
  21. package/dist/audio/audioPane.js +181 -0
  22. package/dist/bda84f59e7216675a208.png +0 -0
  23. package/dist/cd68e8f3990ba8b2139e.png +0 -0
  24. package/dist/classInstancePane.js +91 -0
  25. package/dist/dashboard/basicPreferences.d.ts +1 -1
  26. package/dist/dashboard/basicPreferences.js +147 -0
  27. package/dist/dashboard/dashboardPane.d.ts +1 -1
  28. package/dist/dashboard/dashboardPane.js +73 -0
  29. package/dist/dashboard/homepage.d.ts +1 -1
  30. package/dist/dashboard/homepage.js +42 -0
  31. package/dist/dataContentPane.css +271 -0
  32. package/dist/dataContentPane.d.ts +3 -2
  33. package/dist/dataContentPane.js +226 -0
  34. package/dist/defaultPane.css +97 -0
  35. package/dist/defaultPane.d.ts +3 -2
  36. package/dist/defaultPane.js +81 -0
  37. package/dist/dokieli/dokieliPane.js +74 -0
  38. package/dist/dokieli/{new.cjs.js → new.js} +10 -4
  39. package/dist/e7074a7e2cb69e51cfd3.png +0 -0
  40. package/dist/f3772696fb7ee53c23d8.png +0 -0
  41. package/dist/form/formPane.css +120 -0
  42. package/dist/form/pane.d.ts +2 -1
  43. package/dist/form/pane.js +250 -0
  44. package/dist/home/homePane.d.ts +1 -1
  45. package/dist/home/homePane.js +74 -0
  46. package/dist/humanReadablePane.css +129 -0
  47. package/dist/humanReadablePane.d.ts +3 -2
  48. package/dist/humanReadablePane.js +243 -0
  49. package/dist/icons/clock.svg +7 -0
  50. package/dist/icons/comment.svg +6 -0
  51. package/dist/icons/dashboard.svg +9 -0
  52. package/dist/icons/downArrow.svg +6 -0
  53. package/dist/icons/folder.svg +6 -0
  54. package/dist/icons/friends.svg +9 -0
  55. package/dist/icons/help.svg +8 -0
  56. package/dist/icons/iconHelper.js +23 -0
  57. package/dist/icons/menu.svg +8 -0
  58. package/dist/icons/person.svg +6 -0
  59. package/dist/icons/personInCircle.svg +8 -0
  60. package/dist/icons/sharing.svg +10 -0
  61. package/dist/icons/signOut.svg +8 -0
  62. package/dist/icons/signUp.svg +9 -0
  63. package/dist/icons/star.svg +3 -0
  64. package/dist/imagePane.css +4 -0
  65. package/dist/imagePane.d.ts +3 -2
  66. package/dist/imagePane.js +67 -0
  67. package/dist/index.d.ts +4 -4
  68. package/dist/index.js +123 -0
  69. package/dist/internal/internalPane.css +14 -0
  70. package/dist/internal/internalPane.d.ts +2 -1
  71. package/dist/internal/internalPane.js +183 -0
  72. package/dist/mainPage/footer.d.ts +15 -0
  73. package/dist/mainPage/footer.d.ts.map +1 -0
  74. package/dist/mainPage/footer.js +29 -0
  75. package/dist/mainPage/header.d.ts +15 -1
  76. package/dist/mainPage/header.d.ts.map +1 -1
  77. package/dist/mainPage/header.js +203 -0
  78. package/dist/mainPage/index.d.ts +15 -3
  79. package/dist/mainPage/index.d.ts.map +1 -1
  80. package/dist/mainPage/index.js +78 -0
  81. package/dist/mainPage/menu.css +243 -0
  82. package/dist/mainPage/menu.d.ts +7 -0
  83. package/dist/mainPage/menu.d.ts.map +1 -0
  84. package/dist/mainPage/menu.js +436 -0
  85. package/dist/microblogPane/mbStyle.css +267 -0
  86. package/dist/microblogPane/microblogPane.js +1031 -0
  87. package/dist/n3Pane.css +49 -0
  88. package/dist/n3Pane.d.ts +3 -2
  89. package/dist/n3Pane.js +88 -0
  90. package/dist/outline/context.d.ts +3 -3
  91. package/dist/outline/context.js +21 -0
  92. package/dist/outline/manager.css +78 -0
  93. package/dist/outline/manager.js +2115 -0
  94. package/dist/outline/outlineIcons.js +126 -0
  95. package/dist/outline/propertyViews.js +43 -0
  96. package/dist/outline/queryByExample.js +285 -0
  97. package/dist/outline/userInput.js +1821 -0
  98. package/dist/outline/viewAsImage.js +14 -0
  99. package/dist/outline/viewAsMbox.js +21 -0
  100. package/dist/pad/padPane.css +40 -0
  101. package/dist/pad/padPane.d.ts +2 -1
  102. package/dist/pad/padPane.js +421 -0
  103. package/dist/playlist/playlistPane.js +119 -0
  104. package/dist/profileUtils/ownerProfile.d.ts +5 -0
  105. package/dist/profileUtils/ownerProfile.d.ts.map +1 -0
  106. package/dist/profileUtils/ownerProfile.js +84 -0
  107. package/dist/registerPanes.js +145 -0
  108. package/dist/schedule/schedulePane.css +294 -0
  109. package/dist/schedule/schedulePane.d.ts +4 -2
  110. package/dist/schedule/schedulePane.js +1022 -0
  111. package/dist/sharing/sharingPane.js +48 -0
  112. package/dist/slideshow/slideshowPane.js +79 -0
  113. package/dist/social/editProfileDetails.d.ts +2 -1
  114. package/dist/social/editProfileDetails.js +362 -0
  115. package/dist/social/{icons.esm.js → icons.js} +18 -12
  116. package/dist/social/socialPane.css +1464 -0
  117. package/dist/social/socialPane.d.ts +3 -2
  118. package/dist/social/socialPane.js +651 -0
  119. package/dist/social/socialSections.d.ts +2 -2
  120. package/dist/social/socialSections.js +393 -0
  121. package/dist/social/spinner.js +13 -0
  122. package/dist/social/triage.d.ts +2 -2
  123. package/dist/social/triage.js +79 -0
  124. package/dist/solid-panes.js +84629 -0
  125. package/dist/solid-panes.js.map +1 -0
  126. package/dist/solid-panes.min.js +3933 -0
  127. package/dist/solid-panes.min.js.map +1 -0
  128. package/dist/styles/tabbedtab.css +1066 -0
  129. package/dist/styles/utilities.css +5 -0
  130. package/dist/tabbed/tabbedPane.d.ts +1 -1
  131. package/dist/tabbed/tabbedPane.js +59 -0
  132. package/dist/tableViewPane.js +56 -0
  133. package/dist/transaction/pane.js +477 -0
  134. package/dist/transaction/period.js +323 -0
  135. package/dist/trip/tripPane.js +174 -0
  136. package/dist/trustedApplications/trustedApplications.dom.d.ts +1 -1
  137. package/dist/trustedApplications/trustedApplications.dom.js +145 -0
  138. package/dist/trustedApplications/trustedApplications.utils.d.ts +1 -1
  139. package/dist/trustedApplications/trustedApplications.utils.js +23 -0
  140. package/dist/trustedApplications/trustedApplications.view.d.ts +1 -1
  141. package/dist/trustedApplications/trustedApplications.view.js +55 -0
  142. package/dist/ui/pane.js +146 -0
  143. package/dist/versionInfo.js +41 -0
  144. package/dist/video/videoPane.js +42 -0
  145. package/package.json +66 -51
  146. package/dist/RDFXMLPane2.cjs.js +0 -3
  147. package/dist/RDFXMLPane2.cjs.js.map +0 -1
  148. package/dist/RDFXMLPane2.esm.js +0 -55
  149. package/dist/RDFXMLPane2.esm.js.map +0 -1
  150. package/dist/_virtual/_rolldown/runtime.cjs.js +0 -1
  151. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js +0 -2
  152. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +0 -1
  153. package/dist/_virtual/~icons/lucide/arrow-left.esm.js +0 -11
  154. package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +0 -1
  155. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js +0 -2
  156. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +0 -1
  157. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js +0 -11
  158. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +0 -1
  159. package/dist/_virtual/~icons/lucide/folder-open.cjs.js +0 -2
  160. package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +0 -1
  161. package/dist/_virtual/~icons/lucide/folder-open.esm.js +0 -11
  162. package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +0 -1
  163. package/dist/_virtual/~icons/lucide/globe.cjs.js +0 -2
  164. package/dist/_virtual/~icons/lucide/globe.cjs.js.map +0 -1
  165. package/dist/_virtual/~icons/lucide/globe.esm.js +0 -11
  166. package/dist/_virtual/~icons/lucide/globe.esm.js.map +0 -1
  167. package/dist/_virtual/~icons/lucide/help-circle.cjs.js +0 -2
  168. package/dist/_virtual/~icons/lucide/help-circle.cjs.js.map +0 -1
  169. package/dist/_virtual/~icons/lucide/help-circle.esm.js +0 -11
  170. package/dist/_virtual/~icons/lucide/help-circle.esm.js.map +0 -1
  171. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js +0 -2
  172. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +0 -1
  173. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js +0 -11
  174. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +0 -1
  175. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js +0 -2
  176. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +0 -1
  177. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js +0 -11
  178. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +0 -1
  179. package/dist/_virtual/~icons/lucide/pencil.cjs.js +0 -2
  180. package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +0 -1
  181. package/dist/_virtual/~icons/lucide/pencil.esm.js +0 -11
  182. package/dist/_virtual/~icons/lucide/pencil.esm.js.map +0 -1
  183. package/dist/_virtual/~icons/lucide/settings-2.cjs.js +0 -2
  184. package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +0 -1
  185. package/dist/_virtual/~icons/lucide/settings-2.esm.js +0 -11
  186. package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +0 -1
  187. package/dist/_virtual/~icons/lucide/share-2.cjs.js +0 -2
  188. package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +0 -1
  189. package/dist/_virtual/~icons/lucide/share-2.esm.js +0 -11
  190. package/dist/_virtual/~icons/lucide/share-2.esm.js.map +0 -1
  191. package/dist/_virtual/~icons/lucide/trash-2.cjs.js +0 -2
  192. package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +0 -1
  193. package/dist/_virtual/~icons/lucide/trash-2.esm.js +0 -11
  194. package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +0 -1
  195. package/dist/_virtual/~icons/lucide/user.cjs.js +0 -2
  196. package/dist/_virtual/~icons/lucide/user.cjs.js.map +0 -1
  197. package/dist/_virtual/~icons/lucide/user.esm.js +0 -11
  198. package/dist/_virtual/~icons/lucide/user.esm.js.map +0 -1
  199. package/dist/_virtual/~icons/lucide/users.cjs.js +0 -2
  200. package/dist/_virtual/~icons/lucide/users.cjs.js.map +0 -1
  201. package/dist/_virtual/~icons/lucide/users.esm.js +0 -11
  202. package/dist/_virtual/~icons/lucide/users.esm.js.map +0 -1
  203. package/dist/audio/audioPane.cjs.js +0 -2
  204. package/dist/audio/audioPane.cjs.js.map +0 -1
  205. package/dist/audio/audioPane.esm.js +0 -99
  206. package/dist/audio/audioPane.esm.js.map +0 -1
  207. package/dist/classInstancePane.cjs.js +0 -2
  208. package/dist/classInstancePane.cjs.js.map +0 -1
  209. package/dist/classInstancePane.esm.js +0 -50
  210. package/dist/classInstancePane.esm.js.map +0 -1
  211. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +0 -14
  212. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +0 -1
  213. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +0 -19
  214. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +0 -1
  215. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +0 -292
  216. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +0 -1
  217. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +0 -2
  218. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +0 -1
  219. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +0 -7
  220. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +0 -1
  221. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +0 -22
  222. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +0 -1
  223. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +0 -15
  224. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +0 -1
  225. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +0 -266
  226. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +0 -1
  227. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +0 -2
  228. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +0 -1
  229. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +0 -7
  230. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +0 -1
  231. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +0 -19
  232. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +0 -1
  233. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +0 -19
  234. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +0 -1
  235. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +0 -321
  236. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +0 -1
  237. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +0 -2
  238. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +0 -1
  239. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +0 -7
  240. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +0 -1
  241. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +0 -13
  242. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +0 -1
  243. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +0 -36
  244. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +0 -1
  245. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +0 -468
  246. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +0 -1
  247. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js +0 -2
  248. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +0 -1
  249. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js +0 -7
  250. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +0 -1
  251. package/dist/components/file-explorer-header/helper.cjs.js +0 -2
  252. package/dist/components/file-explorer-header/helper.cjs.js.map +0 -1
  253. package/dist/components/file-explorer-header/helper.d.ts +0 -15
  254. package/dist/components/file-explorer-header/helper.d.ts.map +0 -1
  255. package/dist/components/file-explorer-header/helper.esm.js +0 -64
  256. package/dist/components/file-explorer-header/helper.esm.js.map +0 -1
  257. package/dist/components/file-explorer-header/types.d.ts +0 -2
  258. package/dist/components/file-explorer-header/types.d.ts.map +0 -1
  259. package/dist/components/header/Header.cjs.js +0 -19
  260. package/dist/components/header/Header.cjs.js.map +0 -1
  261. package/dist/components/header/Header.d.ts +0 -8
  262. package/dist/components/header/Header.d.ts.map +0 -1
  263. package/dist/components/header/Header.esm.js +0 -228
  264. package/dist/components/header/Header.esm.js.map +0 -1
  265. package/dist/components/header/Header.styles.cjs.js +0 -2
  266. package/dist/components/header/Header.styles.cjs.js.map +0 -1
  267. package/dist/components/header/Header.styles.esm.js +0 -7
  268. package/dist/components/header/Header.styles.esm.js.map +0 -1
  269. package/dist/components/header/index.cjs.js +0 -1
  270. package/dist/components/header/index.d.ts +0 -4
  271. package/dist/components/header/index.d.ts.map +0 -1
  272. package/dist/components/header/index.esm.js +0 -1
  273. package/dist/components/navbar/Navbar.cjs.js +0 -15
  274. package/dist/components/navbar/Navbar.cjs.js.map +0 -1
  275. package/dist/components/navbar/Navbar.d.ts +0 -14
  276. package/dist/components/navbar/Navbar.d.ts.map +0 -1
  277. package/dist/components/navbar/Navbar.esm.js +0 -232
  278. package/dist/components/navbar/Navbar.esm.js.map +0 -1
  279. package/dist/components/navbar/Navbar.styles.cjs.js +0 -2
  280. package/dist/components/navbar/Navbar.styles.cjs.js.map +0 -1
  281. package/dist/components/navbar/Navbar.styles.esm.js +0 -7
  282. package/dist/components/navbar/Navbar.styles.esm.js.map +0 -1
  283. package/dist/components/navbar/index.cjs.js +0 -1
  284. package/dist/components/navbar/index.d.ts +0 -4
  285. package/dist/components/navbar/index.d.ts.map +0 -1
  286. package/dist/components/navbar/index.esm.js +0 -1
  287. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +0 -16
  288. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +0 -1
  289. package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts +0 -8
  290. package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts.map +0 -1
  291. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +0 -215
  292. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +0 -1
  293. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +0 -18
  294. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +0 -1
  295. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +0 -16
  296. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +0 -1
  297. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +0 -260
  298. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +0 -1
  299. package/dist/dashboard/basicPreferences.cjs.js +0 -2
  300. package/dist/dashboard/basicPreferences.cjs.js.map +0 -1
  301. package/dist/dashboard/basicPreferences.esm.js +0 -70
  302. package/dist/dashboard/basicPreferences.esm.js.map +0 -1
  303. package/dist/dashboard/dashboardPane.cjs.js +0 -2
  304. package/dist/dashboard/dashboardPane.cjs.js.map +0 -1
  305. package/dist/dashboard/dashboardPane.esm.js +0 -7
  306. package/dist/dashboard/dashboardPane.esm.js.map +0 -1
  307. package/dist/dashboard/homepage.cjs.js +0 -2
  308. package/dist/dashboard/homepage.cjs.js.map +0 -1
  309. package/dist/dashboard/homepage.esm.js +0 -26
  310. package/dist/dashboard/homepage.esm.js.map +0 -1
  311. package/dist/dashboard/ontologyData.cjs.js +0 -37
  312. package/dist/dashboard/ontologyData.cjs.js.map +0 -1
  313. package/dist/dashboard/ontologyData.esm.js +0 -6
  314. package/dist/dashboard/ontologyData.esm.js.map +0 -1
  315. package/dist/dashboard/preferencesFormText.cjs.js +0 -20
  316. package/dist/dashboard/preferencesFormText.cjs.js.map +0 -1
  317. package/dist/dashboard/preferencesFormText.esm.js +0 -6
  318. package/dist/dashboard/preferencesFormText.esm.js.map +0 -1
  319. package/dist/dataContentPane2.cjs.js +0 -2
  320. package/dist/dataContentPane2.cjs.js.map +0 -1
  321. package/dist/dataContentPane2.esm.js +0 -109
  322. package/dist/dataContentPane2.esm.js.map +0 -1
  323. package/dist/defaultPane2.cjs.js +0 -2
  324. package/dist/defaultPane2.cjs.js.map +0 -1
  325. package/dist/defaultPane2.esm.js +0 -41
  326. package/dist/defaultPane2.esm.js.map +0 -1
  327. package/dist/dev.d.ts +0 -10
  328. package/dist/dev.d.ts.map +0 -1
  329. package/dist/dokieli/dokieliPane.cjs.js +0 -2
  330. package/dist/dokieli/dokieliPane.cjs.js.map +0 -1
  331. package/dist/dokieli/dokieliPane.esm.js +0 -39
  332. package/dist/dokieli/dokieliPane.esm.js.map +0 -1
  333. package/dist/dokieli/new.cjs.js.map +0 -1
  334. package/dist/dokieli/new.esm.js +0 -6
  335. package/dist/dokieli/new.esm.js.map +0 -1
  336. package/dist/form/pane.cjs.js +0 -4
  337. package/dist/form/pane.cjs.js.map +0 -1
  338. package/dist/form/pane.esm.js +0 -122
  339. package/dist/form/pane.esm.js.map +0 -1
  340. package/dist/home/homePane.cjs.js +0 -2
  341. package/dist/home/homePane.cjs.js.map +0 -1
  342. package/dist/home/homePane.esm.js +0 -35
  343. package/dist/home/homePane.esm.js.map +0 -1
  344. package/dist/humanReadablePane2.cjs.js +0 -2
  345. package/dist/humanReadablePane2.cjs.js.map +0 -1
  346. package/dist/humanReadablePane2.esm.js +0 -123
  347. package/dist/humanReadablePane2.esm.js.map +0 -1
  348. package/dist/icons/folder.cjs.js +0 -2
  349. package/dist/icons/folder.cjs.js.map +0 -1
  350. package/dist/icons/folder.esm.js +0 -6
  351. package/dist/icons/folder.esm.js.map +0 -1
  352. package/dist/icons/friends.cjs.js +0 -2
  353. package/dist/icons/friends.cjs.js.map +0 -1
  354. package/dist/icons/friends.esm.js +0 -6
  355. package/dist/icons/friends.esm.js.map +0 -1
  356. package/dist/icons/person.cjs.js +0 -2
  357. package/dist/icons/person.cjs.js.map +0 -1
  358. package/dist/icons/person.esm.js +0 -6
  359. package/dist/icons/person.esm.js.map +0 -1
  360. package/dist/imagePane2.cjs.js +0 -2
  361. package/dist/imagePane2.cjs.js.map +0 -1
  362. package/dist/imagePane2.esm.js +0 -32
  363. package/dist/imagePane2.esm.js.map +0 -1
  364. package/dist/index.cjs.js +0 -2
  365. package/dist/index.cjs.js.map +0 -1
  366. package/dist/index.esm.js +0 -31
  367. package/dist/index.esm.js.map +0 -1
  368. package/dist/internal/internalPane2.cjs.js +0 -2
  369. package/dist/internal/internalPane2.cjs.js.map +0 -1
  370. package/dist/internal/internalPane2.esm.js +0 -104
  371. package/dist/internal/internalPane2.esm.js.map +0 -1
  372. package/dist/mainPage/header.cjs.js +0 -2
  373. package/dist/mainPage/header.cjs.js.map +0 -1
  374. package/dist/mainPage/header.esm.js +0 -72
  375. package/dist/mainPage/header.esm.js.map +0 -1
  376. package/dist/mainPage/index.cjs.js +0 -2
  377. package/dist/mainPage/index.cjs.js.map +0 -1
  378. package/dist/mainPage/index.esm.js +0 -36
  379. package/dist/mainPage/index.esm.js.map +0 -1
  380. package/dist/mainPage/navbar.cjs.js +0 -2
  381. package/dist/mainPage/navbar.cjs.js.map +0 -1
  382. package/dist/mainPage/navbar.d.ts +0 -3
  383. package/dist/mainPage/navbar.d.ts.map +0 -1
  384. package/dist/mainPage/navbar.esm.js +0 -66
  385. package/dist/mainPage/navbar.esm.js.map +0 -1
  386. package/dist/n3Pane2.cjs.js +0 -3
  387. package/dist/n3Pane2.cjs.js.map +0 -1
  388. package/dist/n3Pane2.esm.js +0 -52
  389. package/dist/n3Pane2.esm.js.map +0 -1
  390. package/dist/outline/context.cjs.js +0 -2
  391. package/dist/outline/context.cjs.js.map +0 -1
  392. package/dist/outline/context.esm.js +0 -18
  393. package/dist/outline/context.esm.js.map +0 -1
  394. package/dist/outline/manager2.cjs.js +0 -2
  395. package/dist/outline/manager2.cjs.js.map +0 -1
  396. package/dist/outline/manager2.esm.js +0 -711
  397. package/dist/outline/manager2.esm.js.map +0 -1
  398. package/dist/outline/outlineIcons.cjs.js +0 -2
  399. package/dist/outline/outlineIcons.cjs.js.map +0 -1
  400. package/dist/outline/outlineIcons.esm.js +0 -10
  401. package/dist/outline/outlineIcons.esm.js.map +0 -1
  402. package/dist/outline/propertyViews.cjs.js +0 -2
  403. package/dist/outline/propertyViews.cjs.js.map +0 -1
  404. package/dist/outline/propertyViews.esm.js +0 -19
  405. package/dist/outline/propertyViews.esm.js.map +0 -1
  406. package/dist/outline/queryByExample.cjs.js +0 -2
  407. package/dist/outline/queryByExample.cjs.js.map +0 -1
  408. package/dist/outline/queryByExample.esm.js +0 -26
  409. package/dist/outline/queryByExample.esm.js.map +0 -1
  410. package/dist/outline/sourcePaneIcon.d.ts +0 -2
  411. package/dist/outline/sourcePaneIcon.d.ts.map +0 -1
  412. package/dist/outline/userInput.cjs.js +0 -61
  413. package/dist/outline/userInput.cjs.js.map +0 -1
  414. package/dist/outline/userInput.esm.js +0 -784
  415. package/dist/outline/userInput.esm.js.map +0 -1
  416. package/dist/outline/viewAsImage.cjs.js +0 -2
  417. package/dist/outline/viewAsImage.cjs.js.map +0 -1
  418. package/dist/outline/viewAsImage.esm.js +0 -10
  419. package/dist/outline/viewAsImage.esm.js.map +0 -1
  420. package/dist/outline/viewAsMbox.cjs.js +0 -2
  421. package/dist/outline/viewAsMbox.cjs.js.map +0 -1
  422. package/dist/outline/viewAsMbox.esm.js +0 -9
  423. package/dist/outline/viewAsMbox.esm.js.map +0 -1
  424. package/dist/pad/padPane2.cjs.js +0 -2
  425. package/dist/pad/padPane2.cjs.js.map +0 -1
  426. package/dist/pad/padPane2.esm.js +0 -173
  427. package/dist/pad/padPane2.esm.js.map +0 -1
  428. package/dist/playlist/playlistPane.cjs.js +0 -2
  429. package/dist/playlist/playlistPane.cjs.js.map +0 -1
  430. package/dist/playlist/playlistPane.esm.js +0 -49
  431. package/dist/playlist/playlistPane.esm.js.map +0 -1
  432. package/dist/registerPanes.cjs.js +0 -2
  433. package/dist/registerPanes.cjs.js.map +0 -1
  434. package/dist/registerPanes.esm.js +0 -46
  435. package/dist/registerPanes.esm.js.map +0 -1
  436. package/dist/schedule/formsForSchedule.cjs.js +0 -117
  437. package/dist/schedule/formsForSchedule.cjs.js.map +0 -1
  438. package/dist/schedule/formsForSchedule.esm.js +0 -6
  439. package/dist/schedule/formsForSchedule.esm.js.map +0 -1
  440. package/dist/schedule/schedulePane2.cjs.js +0 -8
  441. package/dist/schedule/schedulePane2.cjs.js.map +0 -1
  442. package/dist/schedule/schedulePane2.esm.js +0 -385
  443. package/dist/schedule/schedulePane2.esm.js.map +0 -1
  444. package/dist/sharing/sharingPane.cjs.js +0 -2
  445. package/dist/sharing/sharingPane.cjs.js.map +0 -1
  446. package/dist/sharing/sharingPane.esm.js +0 -22
  447. package/dist/sharing/sharingPane.esm.js.map +0 -1
  448. package/dist/slideshow/slideshowPane.cjs.js +0 -2
  449. package/dist/slideshow/slideshowPane.cjs.js.map +0 -1
  450. package/dist/slideshow/slideshowPane.esm.js +0 -46
  451. package/dist/slideshow/slideshowPane.esm.js.map +0 -1
  452. package/dist/social/editProfileDetails.cjs.js +0 -2
  453. package/dist/social/editProfileDetails.cjs.js.map +0 -1
  454. package/dist/social/editProfileDetails.esm.js +0 -12
  455. package/dist/social/editProfileDetails.esm.js.map +0 -1
  456. package/dist/social/icons.cjs.js +0 -82
  457. package/dist/social/icons.cjs.js.map +0 -1
  458. package/dist/social/icons.esm.js.map +0 -1
  459. package/dist/social/socialPane2.cjs.js +0 -6
  460. package/dist/social/socialPane2.cjs.js.map +0 -1
  461. package/dist/social/socialPane2.esm.js +0 -326
  462. package/dist/social/socialPane2.esm.js.map +0 -1
  463. package/dist/social/socialSections.cjs.js +0 -2
  464. package/dist/social/socialSections.cjs.js.map +0 -1
  465. package/dist/social/socialSections.esm.js +0 -222
  466. package/dist/social/socialSections.esm.js.map +0 -1
  467. package/dist/social/spinner.cjs.js +0 -1
  468. package/dist/social/spinner.esm.js +0 -1
  469. package/dist/social/triage.cjs.js +0 -2
  470. package/dist/social/triage.cjs.js.map +0 -1
  471. package/dist/social/triage.esm.js +0 -44
  472. package/dist/social/triage.esm.js.map +0 -1
  473. package/dist/tabbed/tabbedPane.cjs.js +0 -2
  474. package/dist/tabbed/tabbedPane.cjs.js.map +0 -1
  475. package/dist/tabbed/tabbedPane.esm.js +0 -38
  476. package/dist/tabbed/tabbedPane.esm.js.map +0 -1
  477. package/dist/tableViewPane.cjs.js +0 -2
  478. package/dist/tableViewPane.cjs.js.map +0 -1
  479. package/dist/tableViewPane.esm.js +0 -20
  480. package/dist/tableViewPane.esm.js.map +0 -1
  481. package/dist/transaction/pane.cjs.js +0 -8
  482. package/dist/transaction/pane.cjs.js.map +0 -1
  483. package/dist/transaction/pane.esm.js +0 -212
  484. package/dist/transaction/pane.esm.js.map +0 -1
  485. package/dist/transaction/period.cjs.js +0 -4
  486. package/dist/transaction/period.cjs.js.map +0 -1
  487. package/dist/transaction/period.esm.js +0 -126
  488. package/dist/transaction/period.esm.js.map +0 -1
  489. package/dist/trip/tripPane.cjs.js +0 -2
  490. package/dist/trip/tripPane.cjs.js.map +0 -1
  491. package/dist/trip/tripPane.esm.js +0 -85
  492. package/dist/trip/tripPane.esm.js.map +0 -1
  493. package/dist/trustedApplications/trustedApplications.dom.cjs.js +0 -2
  494. package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +0 -1
  495. package/dist/trustedApplications/trustedApplications.dom.esm.js +0 -108
  496. package/dist/trustedApplications/trustedApplications.dom.esm.js.map +0 -1
  497. package/dist/trustedApplications/trustedApplications.utils.cjs.js +0 -2
  498. package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +0 -1
  499. package/dist/trustedApplications/trustedApplications.utils.esm.js +0 -20
  500. package/dist/trustedApplications/trustedApplications.utils.esm.js.map +0 -1
  501. package/dist/trustedApplications/trustedApplications.view.cjs.js +0 -2
  502. package/dist/trustedApplications/trustedApplications.view.cjs.js.map +0 -1
  503. package/dist/trustedApplications/trustedApplications.view.esm.js +0 -41
  504. package/dist/trustedApplications/trustedApplications.view.esm.js.map +0 -1
  505. package/dist/ui/pane.cjs.js +0 -4
  506. package/dist/ui/pane.cjs.js.map +0 -1
  507. package/dist/ui/pane.esm.js +0 -56
  508. package/dist/ui/pane.esm.js.map +0 -1
  509. package/dist/utils/paneUtils.cjs.js +0 -2
  510. package/dist/utils/paneUtils.cjs.js.map +0 -1
  511. package/dist/utils/paneUtils.d.ts +0 -19
  512. package/dist/utils/paneUtils.d.ts.map +0 -1
  513. package/dist/utils/paneUtils.esm.js +0 -52
  514. package/dist/utils/paneUtils.esm.js.map +0 -1
  515. package/dist/utils/podUtils.cjs.js +0 -2
  516. package/dist/utils/podUtils.cjs.js.map +0 -1
  517. package/dist/utils/podUtils.d.ts +0 -4
  518. package/dist/utils/podUtils.d.ts.map +0 -1
  519. package/dist/utils/podUtils.esm.js +0 -46
  520. package/dist/utils/podUtils.esm.js.map +0 -1
  521. package/dist/utils/webIdUtils.cjs.js +0 -2
  522. package/dist/utils/webIdUtils.cjs.js.map +0 -1
  523. package/dist/utils/webIdUtils.d.ts +0 -6
  524. package/dist/utils/webIdUtils.d.ts.map +0 -1
  525. package/dist/utils/webIdUtils.esm.js +0 -48
  526. package/dist/utils/webIdUtils.esm.js.map +0 -1
  527. package/dist/versionInfo.cjs.js +0 -2
  528. package/dist/versionInfo.cjs.js.map +0 -1
  529. package/dist/versionInfo.esm.js +0 -40
  530. package/dist/versionInfo.esm.js.map +0 -1
  531. package/dist/video/videoPane.cjs.js +0 -2
  532. package/dist/video/videoPane.cjs.js.map +0 -1
  533. package/dist/video/videoPane.esm.js +0 -25
  534. package/dist/video/videoPane.esm.js.map +0 -1
@@ -0,0 +1,393 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createAllFriendsSection = createAllFriendsSection;
7
+ exports.createHeaderSection = createHeaderSection;
8
+ exports.createMutualSection = createMutualSection;
9
+ exports.createRequestsSection = createRequestsSection;
10
+ var _profilePane = require("profile-pane");
11
+ var _rdflib = require("rdflib");
12
+ var _solidUi = require("solid-ui");
13
+ var _editProfileDetails = require("./editProfileDetails");
14
+ var _icons = require("./icons");
15
+ function createHeaderSection(context, subject, controls, stats, getProfileData) {
16
+ const dom = context.dom;
17
+ const kb = context.session.store;
18
+ const header = dom.createElement('header');
19
+ header.className = 'social-pane__header';
20
+ let headerControls = controls;
21
+ const renderHeader = function () {
22
+ header.replaceChildren();
23
+ const profileData = getProfileData();
24
+ const headerContent = dom.createElement('div');
25
+ headerContent.className = 'social-pane__header-content';
26
+ const headerActions = dom.createElement('div');
27
+ headerActions.className = 'social-pane__header-actions profile__actions profile__heading-actions';
28
+ if (headerControls.canEdit) {
29
+ // Hidden for now because the social pane header edit control does not match the new design.
30
+ // Revisit later if we decide to restore profile-link editing here.
31
+ } else if (headerControls.viewerMode === 'authenticated' && headerControls.showAddFriendAction) {
32
+ headerActions.classList.add('social-pane__header-actions--friend');
33
+ const addToFriendsButton = (0, _profilePane.createAddMeToYourFriendsButton)(subject, context);
34
+ addToFriendsButton.classList.add('flex-center');
35
+ headerActions.appendChild(addToFriendsButton);
36
+ }
37
+ header.appendChild(headerContent);
38
+ const headerMedia = dom.createElement('div');
39
+ headerMedia.className = 'social-pane__header-media';
40
+ headerContent.appendChild(headerMedia);
41
+ if (profileData) {
42
+ headerMedia.appendChild(createImage(dom, profileData.imageUrl, profileData.name));
43
+ }
44
+ const headerDetails = dom.createElement('div');
45
+ headerDetails.className = 'social-pane__header-details';
46
+ headerContent.appendChild(headerDetails);
47
+ if (headerActions.childNodes.length > 0) {
48
+ headerContent.appendChild(headerActions);
49
+ }
50
+ const headerSummary = dom.createElement('div');
51
+ headerSummary.classList.add('social-pane__header-summary', 'flex-column');
52
+ headerDetails.appendChild(headerSummary);
53
+ const name = profileData?.name || _solidUi.utils.label(subject);
54
+ const h1 = dom.createElement('h1');
55
+ h1.classList.add('social-pane__header-name');
56
+ h1.appendChild(dom.createTextNode(name));
57
+ headerSummary.appendChild(h1);
58
+ const jobAndOrganization = [profileData?.jobTitle, profileData?.organization].filter(Boolean).join(' | ');
59
+ if (jobAndOrganization) {
60
+ const jobLine = dom.createElement('div');
61
+ jobLine.className = 'social-pane__header-job-org';
62
+ jobLine.textContent = jobAndOrganization;
63
+ headerSummary.appendChild(jobLine);
64
+ }
65
+ if (profileData?.location) {
66
+ const locationLine = dom.createElement('div');
67
+ locationLine.className = 'social-pane__header-location';
68
+ const locationIconSpan = dom.createElement('span');
69
+ locationIconSpan.classList.add('social-pane__header-location-icon', 'inline-flex-row');
70
+ locationIconSpan.innerHTML = _icons.locationIcon;
71
+ locationLine.appendChild(locationIconSpan);
72
+ locationLine.appendChild(dom.createTextNode(profileData.location));
73
+ headerSummary.appendChild(locationLine);
74
+ }
75
+ const statsRow = dom.createElement('div');
76
+ statsRow.className = 'social-pane__header-stats';
77
+ const friendCount = dom.createElement('button');
78
+ friendCount.className = 'social-pane__header-stat';
79
+ friendCount.type = 'button';
80
+ const friendCountLabel = dom.createElement('span');
81
+ friendCountLabel.className = 'social-pane__header-stat-label';
82
+ friendCountLabel.textContent = `${stats.friendCount} friend${stats.friendCount === 1 ? '' : 's'}`;
83
+ friendCount.appendChild(friendCountLabel);
84
+ if (stats.onSelectFriends) {
85
+ friendCount.addEventListener('click', stats.onSelectFriends);
86
+ }
87
+ statsRow.appendChild(friendCount);
88
+ if (typeof stats.mutualFriendCount === 'number') {
89
+ const mutualCount = dom.createElement('button');
90
+ mutualCount.className = 'social-pane__header-stat';
91
+ mutualCount.type = 'button';
92
+ const mutualCountLabel = dom.createElement('span');
93
+ mutualCountLabel.className = 'social-pane__header-stat-label';
94
+ mutualCountLabel.textContent = `${stats.mutualFriendCount} mutual friend${stats.mutualFriendCount === 1 ? '' : 's'}`;
95
+ mutualCount.appendChild(mutualCountLabel);
96
+ if (stats.onSelectMutual) {
97
+ mutualCount.addEventListener('click', stats.onSelectMutual);
98
+ }
99
+ statsRow.appendChild(mutualCount);
100
+ }
101
+ headerSummary.appendChild(statsRow);
102
+ (0, _editProfileDetails.appendProfileLinks)(headerMedia, dom, kb, subject);
103
+ };
104
+ header.refreshSocialHeader = function (nextControls) {
105
+ headerControls = nextControls;
106
+ renderHeader();
107
+ };
108
+ renderHeader();
109
+ return header;
110
+ }
111
+ function createImage(dom, src, alt = '') {
112
+ if (src) {
113
+ const img = dom.createElement('img');
114
+ img.className = 'social-pane__header-hero';
115
+ img.src = src;
116
+ img.alt = alt;
117
+ img.width = 180;
118
+ img.height = 180;
119
+ img.loading = 'eager';
120
+ return img;
121
+ }
122
+ const fallback = dom.createElement('div');
123
+ fallback.className = 'social-pane__header-hero-alt flex-center';
124
+ fallback.setAttribute('role', 'img');
125
+ fallback.setAttribute('aria-label', alt);
126
+ fallback.tabIndex = 0;
127
+ const icon = dom.createElement('span');
128
+ icon.classList.add('social-pane__header-hero-icon', 'inline-flex-row');
129
+ icon.innerHTML = _icons.personInCircleIcon;
130
+ fallback.appendChild(icon);
131
+ return fallback;
132
+ }
133
+ function createMutualSection(options) {
134
+ const {
135
+ dom,
136
+ subject,
137
+ familiar,
138
+ me,
139
+ meUri,
140
+ incoming,
141
+ outgoing,
142
+ editable,
143
+ profile,
144
+ knows,
145
+ mutualConnections,
146
+ link,
147
+ text,
148
+ buildCheckboxForm,
149
+ renderSupportingInfo,
150
+ renderNameSuffix
151
+ } = options;
152
+ let refreshMutualFriends = function () {};
153
+ const mutualSection = dom.createElement('section');
154
+ mutualSection.className = 'social-pane__mutual-friends social-primary__panel';
155
+ mutualSection.id = 'social-panel-mutual';
156
+ mutualSection.setAttribute('role', 'tabpanel');
157
+ mutualSection.setAttribute('aria-labelledby', 'social-tab-mutual');
158
+ const mutualContent = mutualSection.appendChild(dom.createElement('div'));
159
+ mutualContent.classList.add('social-main', 'social-main--mutual', 'flex-column');
160
+ const relationshipSummary = dom.createElement('div');
161
+ relationshipSummary.classList.add('social-mutual-summary', 'flex-column');
162
+ mutualContent.appendChild(relationshipSummary);
163
+ const createRelationshipLine = function () {
164
+ const line = relationshipSummary.appendChild(dom.createElement('div'));
165
+ line.classList.add('social-mutual-summary-line');
166
+ return line;
167
+ };
168
+ const youAndThem = function () {
169
+ const line = createRelationshipLine();
170
+ line.appendChild(link(text('You'), meUri));
171
+ line.appendChild(text(' and '));
172
+ line.appendChild(link(text(familiar), subject.uri));
173
+ return line;
174
+ };
175
+ if (!incoming) {
176
+ if (!outgoing) {
177
+ const line = youAndThem();
178
+ line.appendChild(text(' have not said you know each other.'));
179
+ } else {
180
+ const line = createRelationshipLine();
181
+ line.appendChild(link(text('You'), meUri));
182
+ line.appendChild(text(' know '));
183
+ line.appendChild(link(text(familiar), subject.uri));
184
+ line.appendChild(text(' (unconfirmed).'));
185
+ }
186
+ } else if (!outgoing) {
187
+ relationshipSummary.classList.add('social-mutual-summary--confirm');
188
+ const incomingLine = relationshipSummary.appendChild(dom.createElement('div'));
189
+ incomingLine.classList.add('social-mutual-summary-line');
190
+ incomingLine.appendChild(link(text(familiar), subject.uri));
191
+ incomingLine.appendChild(text(' knows '));
192
+ incomingLine.appendChild(link(text('you'), meUri));
193
+ incomingLine.appendChild(text(' (unconfirmed).'));
194
+ } else {
195
+ const line = youAndThem();
196
+ line.appendChild(text(' say you know each other.'));
197
+ }
198
+ const shouldShowCheckboxPreview = Boolean(incoming) && !outgoing;
199
+ if (shouldShowCheckboxPreview) {
200
+ const confirmLabel = dom.createElement('span');
201
+ confirmLabel.className = 'social-mutual-confirm-prompt';
202
+ confirmLabel.appendChild(text('Confirm you know '));
203
+ confirmLabel.appendChild(link(text(familiar), subject.uri));
204
+ const relationshipForm = buildCheckboxForm(confirmLabel, new _rdflib.Statement(me, knows, subject, profile ?? undefined), Boolean(outgoing), {
205
+ disabled: !editable,
206
+ disabledTitle: !editable ? 'Your profile is not editable' : undefined
207
+ });
208
+ relationshipForm.classList.add('social-mutual-checkbox-form');
209
+ mutualContent.appendChild(relationshipForm);
210
+ }
211
+ if (mutualConnections.length) {
212
+ const mutualFriendsTable = mutualContent.appendChild(dom.createElement('table'));
213
+ mutualFriendsTable.className = 'social-main social-friends-list social-friends-grid';
214
+ const createMutualRow = function (target) {
215
+ return _solidUi.widgets.personTR(dom, _solidUi.ns.foaf('knows'), target, {
216
+ renderSupportingInfo,
217
+ renderNameSuffix
218
+ });
219
+ };
220
+ refreshMutualFriends = function () {
221
+ const sortedMutualConnections = [...mutualConnections].sort((left, right) => {
222
+ const leftLabel = _solidUi.utils.label(left) || left.value;
223
+ const rightLabel = _solidUi.utils.label(right) || right.value;
224
+ return leftLabel.localeCompare(rightLabel);
225
+ });
226
+ _solidUi.utils.syncTableToArray(mutualFriendsTable, sortedMutualConnections, createMutualRow, function (row, thing) {
227
+ const replacement = createMutualRow(thing);
228
+ return replacement;
229
+ });
230
+ };
231
+ refreshMutualFriends();
232
+ }
233
+ return {
234
+ section: mutualSection,
235
+ content: mutualContent,
236
+ refreshMutualFriends
237
+ };
238
+ }
239
+ function createAllFriendsSection(options) {
240
+ const {
241
+ dom,
242
+ subject,
243
+ profile,
244
+ editable,
245
+ renderSupportingInfo,
246
+ renderNameSuffix
247
+ } = options;
248
+ const allFriends = dom.createElement('section');
249
+ allFriends.className = 'social-pane__all-friends social-primary__panel';
250
+ allFriends.id = 'social-panel-all-friends';
251
+ allFriends.setAttribute('role', 'tabpanel');
252
+ allFriends.setAttribute('aria-labelledby', 'social-tab-all-friends');
253
+ const mainTable = allFriends.appendChild(dom.createElement('table'));
254
+ mainTable.className = 'social-main';
255
+ const friendsList = _solidUi.widgets.attachmentList(dom, subject, mainTable, {
256
+ doc: profile,
257
+ modify: !!editable,
258
+ predicate: _solidUi.ns.foaf('knows'),
259
+ noun: 'friend',
260
+ // Social pane already owns the async refresh cycle for friend data in
261
+ // socialPane.ts. Leave attachmentList's generic follow-up rerender disabled
262
+ // here or each fetched friend profile will trigger an extra whole-table refresh
263
+ // on top of the pane's own batched updates.
264
+ refreshOnDocumentLoad: false,
265
+ renderSupportingInfo,
266
+ renderNameSuffix
267
+ });
268
+ friendsList.classList.add('social-friends-list');
269
+ friendsList.style.marginTop = '0';
270
+ const friendsListRow = friendsList.querySelector('tr');
271
+ const friendsListPromptCell = friendsListRow?.children?.[0];
272
+ const friendsListRightCell = friendsListRow?.children?.[1];
273
+ const friendsHeaderActions = dom.createElement('div');
274
+ friendsHeaderActions.classList.add('social-friends-header-actions');
275
+ if (friendsListPromptCell instanceof HTMLTableCellElement) {
276
+ friendsListPromptCell.classList.add('social-friends-header-dropzone-cell');
277
+ const friendsHeaderDropzone = dom.createElement('table');
278
+ friendsHeaderDropzone.className = 'social-friends-header-dropzone';
279
+ friendsHeaderDropzone.setAttribute('role', 'presentation');
280
+ const friendsHeaderDropzoneBody = friendsHeaderDropzone.appendChild(dom.createElement('tbody'));
281
+ const friendsHeaderDropzoneRow = friendsHeaderDropzoneBody.appendChild(dom.createElement('tr'));
282
+ friendsHeaderDropzoneRow.appendChild(friendsListPromptCell);
283
+ friendsHeaderActions.appendChild(friendsHeaderDropzone);
284
+ } else if (friendsListPromptCell instanceof HTMLElement) {
285
+ while (friendsListPromptCell.firstChild) {
286
+ friendsHeaderActions.appendChild(friendsListPromptCell.firstChild);
287
+ }
288
+ friendsListPromptCell.remove();
289
+ }
290
+ const friendDropButtons = friendsHeaderActions.querySelectorAll('button');
291
+ if (editable && friendDropButtons.length > 0) {
292
+ friendDropButtons.forEach(button => {
293
+ button.setAttribute('title', 'Drop friend here');
294
+ button.setAttribute('aria-label', 'Drop friend here');
295
+ const buttonImages = button.querySelectorAll('img');
296
+ buttonImages.forEach(image => {
297
+ image.setAttribute('title', 'Drop friend here');
298
+ image.setAttribute('alt', 'Drop friend here');
299
+ });
300
+ });
301
+ const friendsActionsRow = dom.createElement('div');
302
+ friendsActionsRow.className = 'social-friends-header-actions social-friends-header-actions--standalone';
303
+ friendsActionsRow.appendChild(friendsHeaderActions);
304
+ const dropHint = dom.createElement('span');
305
+ dropHint.className = 'social-friends-header-hint';
306
+ dropHint.textContent = 'Drag a WebId on the target to add a friend.';
307
+ friendsActionsRow.appendChild(dropHint);
308
+ allFriends.prepend(friendsActionsRow);
309
+ }
310
+ if (friendsListRightCell instanceof HTMLTableCellElement) {
311
+ friendsListRightCell.colSpan = 2;
312
+ }
313
+ const friendsItemsTable = friendsList.querySelector('td table');
314
+ if (friendsItemsTable instanceof HTMLTableElement) {
315
+ friendsItemsTable.classList.add('social-friends-grid');
316
+ }
317
+ return {
318
+ section: allFriends,
319
+ mainTable,
320
+ friendsList
321
+ };
322
+ }
323
+ function createRequestsSection(options) {
324
+ const {
325
+ dom,
326
+ triage,
327
+ renderSupportingInfo,
328
+ renderNameSuffix
329
+ } = options;
330
+ const requestsSection = dom.createElement('section');
331
+ requestsSection.className = 'social-pane__requests social-primary__panel';
332
+ requestsSection.id = 'social-panel-requests';
333
+ requestsSection.setAttribute('role', 'tabpanel');
334
+ requestsSection.setAttribute('aria-labelledby', 'social-tab-requests');
335
+ const requestsContent = requestsSection.appendChild(dom.createElement('div'));
336
+ requestsContent.classList.add('social-main', 'social-main--requests', 'flex-column');
337
+ const note = requestsContent.appendChild(dom.createElement('p'));
338
+ note.className = 'social-requests__note';
339
+ note.textContent = 'Best effort preview: this view only reflects profile documents that are currently loaded. A dedicated inbox would still be needed for complete request discovery.';
340
+ const createRequestGroup = function (title, description, emptyText) {
341
+ const group = requestsContent.appendChild(dom.createElement('section'));
342
+ group.classList.add('social-requests__group', 'flex-column');
343
+ const header = group.appendChild(dom.createElement('div'));
344
+ header.className = 'social-requests__group-header';
345
+ const heading = header.appendChild(dom.createElement('h2'));
346
+ heading.className = 'social-requests__group-title';
347
+ heading.textContent = title;
348
+ const blurb = header.appendChild(dom.createElement('p'));
349
+ blurb.className = 'social-requests__group-description';
350
+ blurb.textContent = description;
351
+ const empty = group.appendChild(dom.createElement('p'));
352
+ empty.className = 'social-requests__empty';
353
+ empty.textContent = emptyText;
354
+ const table = group.appendChild(dom.createElement('table'));
355
+ table.className = 'social-main social-friends-list social-friends-grid social-requests__table';
356
+ return {
357
+ empty,
358
+ table
359
+ };
360
+ };
361
+ const incomingGroup = createRequestGroup('Incoming requests', 'People who say they know this profile, but have not been confirmed yet.', 'No incoming requests are visible from the currently loaded data.');
362
+ const pendingGroup = createRequestGroup('Awaiting confirmation', 'People this profile knows who have not linked back yet.', 'Nothing is waiting for confirmation right now.');
363
+ const createPersonRow = function (target) {
364
+ return _solidUi.widgets.personTR(dom, _solidUi.ns.foaf('knows'), target, {
365
+ renderSupportingInfo,
366
+ renderNameSuffix
367
+ });
368
+ };
369
+ const sortNodes = function (nodes) {
370
+ return [...nodes].sort((left, right) => {
371
+ const leftLabel = _solidUi.utils.label(left) || left.value;
372
+ const rightLabel = _solidUi.utils.label(right) || right.value;
373
+ return leftLabel.localeCompare(rightLabel);
374
+ });
375
+ };
376
+ const syncRequestGroup = function (group, nodes) {
377
+ const sortedNodes = sortNodes(nodes);
378
+ group.empty.hidden = sortedNodes.length > 0;
379
+ group.table.hidden = sortedNodes.length === 0;
380
+ _solidUi.utils.syncTableToArray(group.table, sortedNodes, createPersonRow, function (_row, thing) {
381
+ return createPersonRow(thing);
382
+ });
383
+ };
384
+ const refreshRequests = function (nextTriage) {
385
+ syncRequestGroup(incomingGroup, nextTriage.requests);
386
+ syncRequestGroup(pendingGroup, nextTriage.unconfirmed);
387
+ };
388
+ refreshRequests(triage);
389
+ return {
390
+ section: requestsSection,
391
+ refreshRequests
392
+ };
393
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSpinner = createSpinner;
7
+ var _litHtml = require("lit-html");
8
+ function createSpinner() {
9
+ return (0, _litHtml.html)`
10
+ <span class="loading-spinner" aria-hidden="true"></span>
11
+ <span class="sr-only">Saving...</span>
12
+ `;
13
+ }
@@ -1,5 +1,5 @@
1
- import { DataBrowserContext } from '../../node_modules/pane-registry';
2
- import { IndexedFormula, NamedNode } from '../../node_modules/rdflib';
1
+ import { DataBrowserContext } from 'pane-registry';
2
+ import { IndexedFormula, NamedNode } from 'rdflib';
3
3
  type FriendshipStore = IndexedFormula & {
4
4
  fetcher?: {
5
5
  load?: (target: NamedNode | string) => Promise<unknown>;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadFriendshipTriage = loadFriendshipTriage;
7
+ exports.triageFriends = triageFriends;
8
+ var _solidUi = require("solid-ui");
9
+ function uniqueNamedNodes(nodes) {
10
+ const seen = new Set();
11
+ const unique = [];
12
+ for (const node of nodes) {
13
+ const key = node?.value;
14
+ if (!key || seen.has(key)) continue;
15
+ seen.add(key);
16
+ unique.push(node);
17
+ }
18
+ return unique;
19
+ }
20
+ function triageFriends(store, subject) {
21
+ const outgoingFriends = uniqueNamedNodes(store.each(subject, _solidUi.ns.foaf('knows')));
22
+ const incomingFriends = uniqueNamedNodes(store.each(undefined, _solidUi.ns.foaf('knows'), subject));
23
+ const confirmed = [];
24
+ const unconfirmed = [];
25
+ const requests = [];
26
+ for (const friend of outgoingFriends) {
27
+ const isConfirmed = incomingFriends.some(incomingFriend => incomingFriend.sameTerm(friend));
28
+ if (isConfirmed) {
29
+ confirmed.push(friend);
30
+ } else {
31
+ unconfirmed.push(friend);
32
+ }
33
+ }
34
+ for (const friend of incomingFriends) {
35
+ const isAlreadyOutgoing = outgoingFriends.some(outgoingFriend => outgoingFriend.sameTerm(friend));
36
+ if (!isAlreadyOutgoing) {
37
+ requests.push(friend);
38
+ }
39
+ }
40
+ return {
41
+ acquaintances: outgoingFriends,
42
+ confirmed,
43
+ unconfirmed,
44
+ requests
45
+ };
46
+ }
47
+ async function loadFriendshipTriage(context, subject) {
48
+ const store = context.session.store;
49
+ const fetcher = store.fetcher;
50
+ if (!fetcher || typeof fetcher.load !== 'function') {
51
+ return triageFriends(store, subject);
52
+ }
53
+ try {
54
+ await fetcher.load(subject.doc());
55
+ } catch {
56
+ // Continue with the store snapshot we already have.
57
+ }
58
+ const initialTriage = triageFriends(store, subject);
59
+ const documentsToLoad = new Map();
60
+ documentsToLoad.set(subject.doc().value, subject.doc());
61
+ for (const friend of [...initialTriage.acquaintances, ...initialTriage.requests]) {
62
+ documentsToLoad.set(friend.doc().value, friend.doc());
63
+ }
64
+ const incomingStatements = store.statementsMatching(undefined, _solidUi.ns.foaf('knows'), subject);
65
+ for (const statement of incomingStatements) {
66
+ const why = statement.why;
67
+ if (why?.value) {
68
+ documentsToLoad.set(why.value, why);
69
+ }
70
+ }
71
+ for (const target of documentsToLoad.values()) {
72
+ try {
73
+ await fetcher.load(target);
74
+ } catch {
75
+ // Keep partial results when one profile document fails to load.
76
+ }
77
+ }
78
+ return triageFriends(store, subject);
79
+ }