solid-panes 4.5.0 → 5.0.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 (534) hide show
  1. package/README.md +10 -40
  2. package/dist/RDFXMLPane.d.ts +2 -3
  3. package/dist/RDFXMLPane2.cjs.js +3 -0
  4. package/dist/RDFXMLPane2.cjs.js.map +1 -0
  5. package/dist/RDFXMLPane2.esm.js +55 -0
  6. package/dist/RDFXMLPane2.esm.js.map +1 -0
  7. package/dist/_virtual/_rolldown/runtime.cjs.js +1 -0
  8. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js +2 -0
  9. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -0
  10. package/dist/_virtual/~icons/lucide/arrow-left.esm.js +11 -0
  11. package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -0
  12. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js +2 -0
  13. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -0
  14. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js +11 -0
  15. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -0
  16. package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
  17. package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
  18. package/dist/_virtual/~icons/lucide/folder-open.esm.js +11 -0
  19. package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
  20. package/dist/_virtual/~icons/lucide/globe.cjs.js +2 -0
  21. package/dist/_virtual/~icons/lucide/globe.cjs.js.map +1 -0
  22. package/dist/_virtual/~icons/lucide/globe.esm.js +11 -0
  23. package/dist/_virtual/~icons/lucide/globe.esm.js.map +1 -0
  24. package/dist/_virtual/~icons/lucide/help-circle.cjs.js +2 -0
  25. package/dist/_virtual/~icons/lucide/help-circle.cjs.js.map +1 -0
  26. package/dist/_virtual/~icons/lucide/help-circle.esm.js +11 -0
  27. package/dist/_virtual/~icons/lucide/help-circle.esm.js.map +1 -0
  28. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js +2 -0
  29. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +1 -0
  30. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js +11 -0
  31. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +1 -0
  32. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js +2 -0
  33. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -0
  34. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js +11 -0
  35. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -0
  36. package/dist/_virtual/~icons/lucide/pencil.cjs.js +2 -0
  37. package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -0
  38. package/dist/_virtual/~icons/lucide/pencil.esm.js +11 -0
  39. package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -0
  40. package/dist/_virtual/~icons/lucide/settings-2.cjs.js +2 -0
  41. package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +1 -0
  42. package/dist/_virtual/~icons/lucide/settings-2.esm.js +11 -0
  43. package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +1 -0
  44. package/dist/_virtual/~icons/lucide/share-2.cjs.js +2 -0
  45. package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -0
  46. package/dist/_virtual/~icons/lucide/share-2.esm.js +11 -0
  47. package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -0
  48. package/dist/_virtual/~icons/lucide/trash-2.cjs.js +2 -0
  49. package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +1 -0
  50. package/dist/_virtual/~icons/lucide/trash-2.esm.js +11 -0
  51. package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +1 -0
  52. package/dist/_virtual/~icons/lucide/user.cjs.js +2 -0
  53. package/dist/_virtual/~icons/lucide/user.cjs.js.map +1 -0
  54. package/dist/_virtual/~icons/lucide/user.esm.js +11 -0
  55. package/dist/_virtual/~icons/lucide/user.esm.js.map +1 -0
  56. package/dist/_virtual/~icons/lucide/users.cjs.js +2 -0
  57. package/dist/_virtual/~icons/lucide/users.cjs.js.map +1 -0
  58. package/dist/_virtual/~icons/lucide/users.esm.js +11 -0
  59. package/dist/_virtual/~icons/lucide/users.esm.js.map +1 -0
  60. package/dist/audio/audioPane.cjs.js +2 -0
  61. package/dist/audio/audioPane.cjs.js.map +1 -0
  62. package/dist/audio/audioPane.esm.js +99 -0
  63. package/dist/audio/audioPane.esm.js.map +1 -0
  64. package/dist/classInstancePane.cjs.js +2 -0
  65. package/dist/classInstancePane.cjs.js.map +1 -0
  66. package/dist/classInstancePane.esm.js +50 -0
  67. package/dist/classInstancePane.esm.js.map +1 -0
  68. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +14 -0
  69. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -0
  70. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +19 -0
  71. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -0
  72. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +292 -0
  73. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -0
  74. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +2 -0
  75. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -0
  76. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +7 -0
  77. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -0
  78. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +22 -0
  79. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -0
  80. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +15 -0
  81. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -0
  82. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +266 -0
  83. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -0
  84. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +2 -0
  85. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -0
  86. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +7 -0
  87. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -0
  88. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +19 -0
  89. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -0
  90. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +19 -0
  91. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -0
  92. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +321 -0
  93. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -0
  94. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +2 -0
  95. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -0
  96. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +7 -0
  97. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -0
  98. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +13 -0
  99. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -0
  100. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +36 -0
  101. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -0
  102. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +468 -0
  103. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -0
  104. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js +2 -0
  105. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +1 -0
  106. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js +7 -0
  107. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +1 -0
  108. package/dist/components/file-explorer-header/helper.cjs.js +2 -0
  109. package/dist/components/file-explorer-header/helper.cjs.js.map +1 -0
  110. package/dist/components/file-explorer-header/helper.d.ts +15 -0
  111. package/dist/components/file-explorer-header/helper.d.ts.map +1 -0
  112. package/dist/components/file-explorer-header/helper.esm.js +64 -0
  113. package/dist/components/file-explorer-header/helper.esm.js.map +1 -0
  114. package/dist/components/file-explorer-header/types.d.ts +2 -0
  115. package/dist/components/file-explorer-header/types.d.ts.map +1 -0
  116. package/dist/components/header/Header.cjs.js +19 -0
  117. package/dist/components/header/Header.cjs.js.map +1 -0
  118. package/dist/components/header/Header.d.ts +8 -0
  119. package/dist/components/header/Header.d.ts.map +1 -0
  120. package/dist/components/header/Header.esm.js +228 -0
  121. package/dist/components/header/Header.esm.js.map +1 -0
  122. package/dist/components/header/Header.styles.cjs.js +2 -0
  123. package/dist/components/header/Header.styles.cjs.js.map +1 -0
  124. package/dist/components/header/Header.styles.esm.js +7 -0
  125. package/dist/components/header/Header.styles.esm.js.map +1 -0
  126. package/dist/components/header/index.cjs.js +1 -0
  127. package/dist/components/header/index.d.ts +4 -0
  128. package/dist/components/header/index.d.ts.map +1 -0
  129. package/dist/components/header/index.esm.js +1 -0
  130. package/dist/components/navbar/Navbar.cjs.js +15 -0
  131. package/dist/components/navbar/Navbar.cjs.js.map +1 -0
  132. package/dist/components/navbar/Navbar.d.ts +14 -0
  133. package/dist/components/navbar/Navbar.d.ts.map +1 -0
  134. package/dist/components/navbar/Navbar.esm.js +232 -0
  135. package/dist/components/navbar/Navbar.esm.js.map +1 -0
  136. package/dist/components/navbar/Navbar.styles.cjs.js +2 -0
  137. package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -0
  138. package/dist/components/navbar/Navbar.styles.esm.js +7 -0
  139. package/dist/components/navbar/Navbar.styles.esm.js.map +1 -0
  140. package/dist/components/navbar/index.cjs.js +1 -0
  141. package/dist/components/navbar/index.d.ts +4 -0
  142. package/dist/components/navbar/index.d.ts.map +1 -0
  143. package/dist/components/navbar/index.esm.js +1 -0
  144. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +16 -0
  145. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +1 -0
  146. package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts +8 -0
  147. package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts.map +1 -0
  148. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +215 -0
  149. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +1 -0
  150. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +18 -0
  151. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -0
  152. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +16 -0
  153. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -0
  154. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +260 -0
  155. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -0
  156. package/dist/dashboard/basicPreferences.cjs.js +2 -0
  157. package/dist/dashboard/basicPreferences.cjs.js.map +1 -0
  158. package/dist/dashboard/basicPreferences.d.ts +1 -1
  159. package/dist/dashboard/basicPreferences.esm.js +70 -0
  160. package/dist/dashboard/basicPreferences.esm.js.map +1 -0
  161. package/dist/dashboard/dashboardPane.cjs.js +2 -0
  162. package/dist/dashboard/dashboardPane.cjs.js.map +1 -0
  163. package/dist/dashboard/dashboardPane.d.ts +1 -1
  164. package/dist/dashboard/dashboardPane.esm.js +7 -0
  165. package/dist/dashboard/dashboardPane.esm.js.map +1 -0
  166. package/dist/dashboard/homepage.cjs.js +2 -0
  167. package/dist/dashboard/homepage.cjs.js.map +1 -0
  168. package/dist/dashboard/homepage.d.ts +1 -1
  169. package/dist/dashboard/homepage.esm.js +26 -0
  170. package/dist/dashboard/homepage.esm.js.map +1 -0
  171. package/dist/dashboard/ontologyData.cjs.js +37 -0
  172. package/dist/dashboard/ontologyData.cjs.js.map +1 -0
  173. package/dist/dashboard/ontologyData.esm.js +6 -0
  174. package/dist/dashboard/ontologyData.esm.js.map +1 -0
  175. package/dist/dashboard/preferencesFormText.cjs.js +20 -0
  176. package/dist/dashboard/preferencesFormText.cjs.js.map +1 -0
  177. package/dist/dashboard/preferencesFormText.esm.js +6 -0
  178. package/dist/dashboard/preferencesFormText.esm.js.map +1 -0
  179. package/dist/dataContentPane.d.ts +2 -3
  180. package/dist/dataContentPane2.cjs.js +2 -0
  181. package/dist/dataContentPane2.cjs.js.map +1 -0
  182. package/dist/dataContentPane2.esm.js +109 -0
  183. package/dist/dataContentPane2.esm.js.map +1 -0
  184. package/dist/defaultPane.d.ts +2 -3
  185. package/dist/defaultPane2.cjs.js +2 -0
  186. package/dist/defaultPane2.cjs.js.map +1 -0
  187. package/dist/defaultPane2.esm.js +41 -0
  188. package/dist/defaultPane2.esm.js.map +1 -0
  189. package/dist/dev.d.ts +10 -0
  190. package/dist/dev.d.ts.map +1 -0
  191. package/dist/dokieli/dokieliPane.cjs.js +2 -0
  192. package/dist/dokieli/dokieliPane.cjs.js.map +1 -0
  193. package/dist/dokieli/dokieliPane.esm.js +39 -0
  194. package/dist/dokieli/dokieliPane.esm.js.map +1 -0
  195. package/dist/dokieli/{new.js → new.cjs.js} +4 -10
  196. package/dist/dokieli/new.cjs.js.map +1 -0
  197. package/dist/dokieli/new.esm.js +6 -0
  198. package/dist/dokieli/new.esm.js.map +1 -0
  199. package/dist/form/pane.cjs.js +4 -0
  200. package/dist/form/pane.cjs.js.map +1 -0
  201. package/dist/form/pane.d.ts +1 -2
  202. package/dist/form/pane.esm.js +122 -0
  203. package/dist/form/pane.esm.js.map +1 -0
  204. package/dist/home/homePane.cjs.js +2 -0
  205. package/dist/home/homePane.cjs.js.map +1 -0
  206. package/dist/home/homePane.d.ts +1 -1
  207. package/dist/home/homePane.esm.js +35 -0
  208. package/dist/home/homePane.esm.js.map +1 -0
  209. package/dist/humanReadablePane.d.ts +2 -3
  210. package/dist/humanReadablePane2.cjs.js +2 -0
  211. package/dist/humanReadablePane2.cjs.js.map +1 -0
  212. package/dist/humanReadablePane2.esm.js +123 -0
  213. package/dist/humanReadablePane2.esm.js.map +1 -0
  214. package/dist/icons/folder.cjs.js +2 -0
  215. package/dist/icons/folder.cjs.js.map +1 -0
  216. package/dist/icons/folder.esm.js +6 -0
  217. package/dist/icons/folder.esm.js.map +1 -0
  218. package/dist/icons/friends.cjs.js +2 -0
  219. package/dist/icons/friends.cjs.js.map +1 -0
  220. package/dist/icons/friends.esm.js +6 -0
  221. package/dist/icons/friends.esm.js.map +1 -0
  222. package/dist/icons/person.cjs.js +2 -0
  223. package/dist/icons/person.cjs.js.map +1 -0
  224. package/dist/icons/person.esm.js +6 -0
  225. package/dist/icons/person.esm.js.map +1 -0
  226. package/dist/imagePane.d.ts +2 -3
  227. package/dist/imagePane2.cjs.js +2 -0
  228. package/dist/imagePane2.cjs.js.map +1 -0
  229. package/dist/imagePane2.esm.js +32 -0
  230. package/dist/imagePane2.esm.js.map +1 -0
  231. package/dist/index.cjs.js +2 -0
  232. package/dist/index.cjs.js.map +1 -0
  233. package/dist/index.d.ts +4 -4
  234. package/dist/index.esm.js +31 -0
  235. package/dist/index.esm.js.map +1 -0
  236. package/dist/internal/internalPane.d.ts +1 -2
  237. package/dist/internal/internalPane2.cjs.js +2 -0
  238. package/dist/internal/internalPane2.cjs.js.map +1 -0
  239. package/dist/internal/internalPane2.esm.js +104 -0
  240. package/dist/internal/internalPane2.esm.js.map +1 -0
  241. package/dist/mainPage/header.cjs.js +2 -0
  242. package/dist/mainPage/header.cjs.js.map +1 -0
  243. package/dist/mainPage/header.d.ts +1 -15
  244. package/dist/mainPage/header.d.ts.map +1 -1
  245. package/dist/mainPage/header.esm.js +72 -0
  246. package/dist/mainPage/header.esm.js.map +1 -0
  247. package/dist/mainPage/index.cjs.js +2 -0
  248. package/dist/mainPage/index.cjs.js.map +1 -0
  249. package/dist/mainPage/index.d.ts +3 -15
  250. package/dist/mainPage/index.d.ts.map +1 -1
  251. package/dist/mainPage/index.esm.js +36 -0
  252. package/dist/mainPage/index.esm.js.map +1 -0
  253. package/dist/mainPage/navbar.cjs.js +2 -0
  254. package/dist/mainPage/navbar.cjs.js.map +1 -0
  255. package/dist/mainPage/navbar.d.ts +3 -0
  256. package/dist/mainPage/navbar.d.ts.map +1 -0
  257. package/dist/mainPage/navbar.esm.js +66 -0
  258. package/dist/mainPage/navbar.esm.js.map +1 -0
  259. package/dist/n3Pane.d.ts +2 -3
  260. package/dist/n3Pane2.cjs.js +3 -0
  261. package/dist/n3Pane2.cjs.js.map +1 -0
  262. package/dist/n3Pane2.esm.js +52 -0
  263. package/dist/n3Pane2.esm.js.map +1 -0
  264. package/dist/outline/context.cjs.js +2 -0
  265. package/dist/outline/context.cjs.js.map +1 -0
  266. package/dist/outline/context.d.ts +3 -3
  267. package/dist/outline/context.esm.js +18 -0
  268. package/dist/outline/context.esm.js.map +1 -0
  269. package/dist/outline/manager2.cjs.js +2 -0
  270. package/dist/outline/manager2.cjs.js.map +1 -0
  271. package/dist/outline/manager2.esm.js +711 -0
  272. package/dist/outline/manager2.esm.js.map +1 -0
  273. package/dist/outline/outlineIcons.cjs.js +2 -0
  274. package/dist/outline/outlineIcons.cjs.js.map +1 -0
  275. package/dist/outline/outlineIcons.esm.js +10 -0
  276. package/dist/outline/outlineIcons.esm.js.map +1 -0
  277. package/dist/outline/propertyViews.cjs.js +2 -0
  278. package/dist/outline/propertyViews.cjs.js.map +1 -0
  279. package/dist/outline/propertyViews.esm.js +19 -0
  280. package/dist/outline/propertyViews.esm.js.map +1 -0
  281. package/dist/outline/queryByExample.cjs.js +2 -0
  282. package/dist/outline/queryByExample.cjs.js.map +1 -0
  283. package/dist/outline/queryByExample.esm.js +26 -0
  284. package/dist/outline/queryByExample.esm.js.map +1 -0
  285. package/dist/outline/sourcePaneIcon.d.ts +2 -0
  286. package/dist/outline/sourcePaneIcon.d.ts.map +1 -0
  287. package/dist/outline/userInput.cjs.js +61 -0
  288. package/dist/outline/userInput.cjs.js.map +1 -0
  289. package/dist/outline/userInput.esm.js +784 -0
  290. package/dist/outline/userInput.esm.js.map +1 -0
  291. package/dist/outline/viewAsImage.cjs.js +2 -0
  292. package/dist/outline/viewAsImage.cjs.js.map +1 -0
  293. package/dist/outline/viewAsImage.esm.js +10 -0
  294. package/dist/outline/viewAsImage.esm.js.map +1 -0
  295. package/dist/outline/viewAsMbox.cjs.js +2 -0
  296. package/dist/outline/viewAsMbox.cjs.js.map +1 -0
  297. package/dist/outline/viewAsMbox.esm.js +9 -0
  298. package/dist/outline/viewAsMbox.esm.js.map +1 -0
  299. package/dist/pad/padPane.d.ts +1 -2
  300. package/dist/pad/padPane2.cjs.js +2 -0
  301. package/dist/pad/padPane2.cjs.js.map +1 -0
  302. package/dist/pad/padPane2.esm.js +173 -0
  303. package/dist/pad/padPane2.esm.js.map +1 -0
  304. package/dist/playlist/playlistPane.cjs.js +2 -0
  305. package/dist/playlist/playlistPane.cjs.js.map +1 -0
  306. package/dist/playlist/playlistPane.esm.js +49 -0
  307. package/dist/playlist/playlistPane.esm.js.map +1 -0
  308. package/dist/registerPanes.cjs.js +2 -0
  309. package/dist/registerPanes.cjs.js.map +1 -0
  310. package/dist/registerPanes.esm.js +46 -0
  311. package/dist/registerPanes.esm.js.map +1 -0
  312. package/dist/schedule/formsForSchedule.cjs.js +117 -0
  313. package/dist/schedule/formsForSchedule.cjs.js.map +1 -0
  314. package/dist/schedule/formsForSchedule.esm.js +6 -0
  315. package/dist/schedule/formsForSchedule.esm.js.map +1 -0
  316. package/dist/schedule/schedulePane.d.ts +2 -4
  317. package/dist/schedule/schedulePane2.cjs.js +8 -0
  318. package/dist/schedule/schedulePane2.cjs.js.map +1 -0
  319. package/dist/schedule/schedulePane2.esm.js +385 -0
  320. package/dist/schedule/schedulePane2.esm.js.map +1 -0
  321. package/dist/sharing/sharingPane.cjs.js +2 -0
  322. package/dist/sharing/sharingPane.cjs.js.map +1 -0
  323. package/dist/sharing/sharingPane.esm.js +22 -0
  324. package/dist/sharing/sharingPane.esm.js.map +1 -0
  325. package/dist/slideshow/slideshowPane.cjs.js +2 -0
  326. package/dist/slideshow/slideshowPane.cjs.js.map +1 -0
  327. package/dist/slideshow/slideshowPane.esm.js +46 -0
  328. package/dist/slideshow/slideshowPane.esm.js.map +1 -0
  329. package/dist/social/editProfileDetails.cjs.js +2 -0
  330. package/dist/social/editProfileDetails.cjs.js.map +1 -0
  331. package/dist/social/editProfileDetails.d.ts +1 -2
  332. package/dist/social/editProfileDetails.esm.js +12 -0
  333. package/dist/social/editProfileDetails.esm.js.map +1 -0
  334. package/dist/social/icons.cjs.js +82 -0
  335. package/dist/social/icons.cjs.js.map +1 -0
  336. package/dist/social/{icons.js → icons.esm.js} +12 -18
  337. package/dist/social/icons.esm.js.map +1 -0
  338. package/dist/social/socialPane.d.ts +2 -3
  339. package/dist/social/socialPane2.cjs.js +6 -0
  340. package/dist/social/socialPane2.cjs.js.map +1 -0
  341. package/dist/social/socialPane2.esm.js +326 -0
  342. package/dist/social/socialPane2.esm.js.map +1 -0
  343. package/dist/social/socialSections.cjs.js +2 -0
  344. package/dist/social/socialSections.cjs.js.map +1 -0
  345. package/dist/social/socialSections.d.ts +2 -2
  346. package/dist/social/socialSections.esm.js +222 -0
  347. package/dist/social/socialSections.esm.js.map +1 -0
  348. package/dist/social/spinner.cjs.js +1 -0
  349. package/dist/social/spinner.esm.js +1 -0
  350. package/dist/social/triage.cjs.js +2 -0
  351. package/dist/social/triage.cjs.js.map +1 -0
  352. package/dist/social/triage.d.ts +2 -2
  353. package/dist/social/triage.esm.js +44 -0
  354. package/dist/social/triage.esm.js.map +1 -0
  355. package/dist/tabbed/tabbedPane.cjs.js +2 -0
  356. package/dist/tabbed/tabbedPane.cjs.js.map +1 -0
  357. package/dist/tabbed/tabbedPane.d.ts +1 -1
  358. package/dist/tabbed/tabbedPane.esm.js +38 -0
  359. package/dist/tabbed/tabbedPane.esm.js.map +1 -0
  360. package/dist/tableViewPane.cjs.js +2 -0
  361. package/dist/tableViewPane.cjs.js.map +1 -0
  362. package/dist/tableViewPane.esm.js +20 -0
  363. package/dist/tableViewPane.esm.js.map +1 -0
  364. package/dist/transaction/pane.cjs.js +8 -0
  365. package/dist/transaction/pane.cjs.js.map +1 -0
  366. package/dist/transaction/pane.esm.js +212 -0
  367. package/dist/transaction/pane.esm.js.map +1 -0
  368. package/dist/transaction/period.cjs.js +4 -0
  369. package/dist/transaction/period.cjs.js.map +1 -0
  370. package/dist/transaction/period.esm.js +126 -0
  371. package/dist/transaction/period.esm.js.map +1 -0
  372. package/dist/trip/tripPane.cjs.js +2 -0
  373. package/dist/trip/tripPane.cjs.js.map +1 -0
  374. package/dist/trip/tripPane.esm.js +85 -0
  375. package/dist/trip/tripPane.esm.js.map +1 -0
  376. package/dist/trustedApplications/trustedApplications.dom.cjs.js +2 -0
  377. package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +1 -0
  378. package/dist/trustedApplications/trustedApplications.dom.d.ts +1 -1
  379. package/dist/trustedApplications/trustedApplications.dom.esm.js +108 -0
  380. package/dist/trustedApplications/trustedApplications.dom.esm.js.map +1 -0
  381. package/dist/trustedApplications/trustedApplications.utils.cjs.js +2 -0
  382. package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -0
  383. package/dist/trustedApplications/trustedApplications.utils.d.ts +1 -1
  384. package/dist/trustedApplications/trustedApplications.utils.esm.js +20 -0
  385. package/dist/trustedApplications/trustedApplications.utils.esm.js.map +1 -0
  386. package/dist/trustedApplications/trustedApplications.view.cjs.js +2 -0
  387. package/dist/trustedApplications/trustedApplications.view.cjs.js.map +1 -0
  388. package/dist/trustedApplications/trustedApplications.view.d.ts +1 -1
  389. package/dist/trustedApplications/trustedApplications.view.esm.js +41 -0
  390. package/dist/trustedApplications/trustedApplications.view.esm.js.map +1 -0
  391. package/dist/ui/pane.cjs.js +4 -0
  392. package/dist/ui/pane.cjs.js.map +1 -0
  393. package/dist/ui/pane.esm.js +56 -0
  394. package/dist/ui/pane.esm.js.map +1 -0
  395. package/dist/utils/paneUtils.cjs.js +2 -0
  396. package/dist/utils/paneUtils.cjs.js.map +1 -0
  397. package/dist/utils/paneUtils.d.ts +19 -0
  398. package/dist/utils/paneUtils.d.ts.map +1 -0
  399. package/dist/utils/paneUtils.esm.js +52 -0
  400. package/dist/utils/paneUtils.esm.js.map +1 -0
  401. package/dist/utils/podUtils.cjs.js +2 -0
  402. package/dist/utils/podUtils.cjs.js.map +1 -0
  403. package/dist/utils/podUtils.d.ts +4 -0
  404. package/dist/utils/podUtils.d.ts.map +1 -0
  405. package/dist/utils/podUtils.esm.js +46 -0
  406. package/dist/utils/podUtils.esm.js.map +1 -0
  407. package/dist/utils/webIdUtils.cjs.js +2 -0
  408. package/dist/utils/webIdUtils.cjs.js.map +1 -0
  409. package/dist/utils/webIdUtils.d.ts +6 -0
  410. package/dist/utils/webIdUtils.d.ts.map +1 -0
  411. package/dist/utils/webIdUtils.esm.js +48 -0
  412. package/dist/utils/webIdUtils.esm.js.map +1 -0
  413. package/dist/versionInfo.cjs.js +2 -0
  414. package/dist/versionInfo.cjs.js.map +1 -0
  415. package/dist/versionInfo.esm.js +40 -0
  416. package/dist/versionInfo.esm.js.map +1 -0
  417. package/dist/video/videoPane.cjs.js +2 -0
  418. package/dist/video/videoPane.cjs.js.map +1 -0
  419. package/dist/video/videoPane.esm.js +25 -0
  420. package/dist/video/videoPane.esm.js.map +1 -0
  421. package/package.json +51 -66
  422. package/dist/0314353e28ce6e5539af.svg +0 -9
  423. package/dist/04567ff683933c35c465.png +0 -0
  424. package/dist/10163fd9b5a0e00d63a0.png +0 -0
  425. package/dist/1234dcb2eec2e45f252b.png +0 -0
  426. package/dist/20899934157df4db56cb.png +0 -0
  427. package/dist/33760bf79f097f449da5.png +0 -0
  428. package/dist/4cceba29ab33b1ddd9bb.svg +0 -6
  429. package/dist/578d2b6ed32e7624164e.png +0 -0
  430. package/dist/5f62a5b2b7e99b9640c7.png +0 -0
  431. package/dist/6525766ecd288ec60129.png +0 -0
  432. package/dist/7800be6f6c4b5b0f4f20.png +0 -0
  433. package/dist/7b7538c6f6b317968009.svg +0 -9
  434. package/dist/92d03142abe6efc0b42d.svg +0 -6
  435. package/dist/976473cf5fe24d657d4b.png +0 -0
  436. package/dist/RDFXMLPane.css +0 -70
  437. package/dist/RDFXMLPane.js +0 -100
  438. package/dist/argument/argumentPane.js +0 -60
  439. package/dist/attach/attachPane.js +0 -393
  440. package/dist/audio/audioPane.js +0 -181
  441. package/dist/bda84f59e7216675a208.png +0 -0
  442. package/dist/cd68e8f3990ba8b2139e.png +0 -0
  443. package/dist/classInstancePane.js +0 -91
  444. package/dist/dashboard/basicPreferences.js +0 -147
  445. package/dist/dashboard/dashboardPane.js +0 -73
  446. package/dist/dashboard/homepage.js +0 -42
  447. package/dist/dataContentPane.css +0 -271
  448. package/dist/dataContentPane.js +0 -226
  449. package/dist/defaultPane.css +0 -97
  450. package/dist/defaultPane.js +0 -81
  451. package/dist/dokieli/dokieliPane.js +0 -74
  452. package/dist/e7074a7e2cb69e51cfd3.png +0 -0
  453. package/dist/f3772696fb7ee53c23d8.png +0 -0
  454. package/dist/form/formPane.css +0 -120
  455. package/dist/form/pane.js +0 -250
  456. package/dist/home/homePane.js +0 -74
  457. package/dist/humanReadablePane.css +0 -129
  458. package/dist/humanReadablePane.js +0 -243
  459. package/dist/icons/clock.svg +0 -7
  460. package/dist/icons/comment.svg +0 -6
  461. package/dist/icons/dashboard.svg +0 -9
  462. package/dist/icons/downArrow.svg +0 -6
  463. package/dist/icons/folder.svg +0 -6
  464. package/dist/icons/friends.svg +0 -9
  465. package/dist/icons/help.svg +0 -8
  466. package/dist/icons/iconHelper.js +0 -23
  467. package/dist/icons/menu.svg +0 -8
  468. package/dist/icons/person.svg +0 -6
  469. package/dist/icons/personInCircle.svg +0 -8
  470. package/dist/icons/sharing.svg +0 -10
  471. package/dist/icons/signOut.svg +0 -8
  472. package/dist/icons/signUp.svg +0 -9
  473. package/dist/icons/star.svg +0 -3
  474. package/dist/imagePane.css +0 -4
  475. package/dist/imagePane.js +0 -67
  476. package/dist/index.js +0 -123
  477. package/dist/internal/internalPane.css +0 -14
  478. package/dist/internal/internalPane.js +0 -183
  479. package/dist/mainPage/footer.d.ts +0 -15
  480. package/dist/mainPage/footer.d.ts.map +0 -1
  481. package/dist/mainPage/footer.js +0 -29
  482. package/dist/mainPage/header.js +0 -203
  483. package/dist/mainPage/index.js +0 -78
  484. package/dist/mainPage/menu.css +0 -243
  485. package/dist/mainPage/menu.d.ts +0 -7
  486. package/dist/mainPage/menu.d.ts.map +0 -1
  487. package/dist/mainPage/menu.js +0 -436
  488. package/dist/microblogPane/mbStyle.css +0 -267
  489. package/dist/microblogPane/microblogPane.js +0 -1031
  490. package/dist/n3Pane.css +0 -49
  491. package/dist/n3Pane.js +0 -88
  492. package/dist/outline/context.js +0 -21
  493. package/dist/outline/manager.css +0 -78
  494. package/dist/outline/manager.js +0 -2115
  495. package/dist/outline/outlineIcons.js +0 -126
  496. package/dist/outline/propertyViews.js +0 -43
  497. package/dist/outline/queryByExample.js +0 -285
  498. package/dist/outline/userInput.js +0 -1821
  499. package/dist/outline/viewAsImage.js +0 -14
  500. package/dist/outline/viewAsMbox.js +0 -21
  501. package/dist/pad/padPane.css +0 -40
  502. package/dist/pad/padPane.js +0 -421
  503. package/dist/playlist/playlistPane.js +0 -119
  504. package/dist/profileUtils/ownerProfile.d.ts +0 -5
  505. package/dist/profileUtils/ownerProfile.d.ts.map +0 -1
  506. package/dist/profileUtils/ownerProfile.js +0 -84
  507. package/dist/registerPanes.js +0 -145
  508. package/dist/schedule/schedulePane.css +0 -294
  509. package/dist/schedule/schedulePane.js +0 -1022
  510. package/dist/sharing/sharingPane.js +0 -48
  511. package/dist/slideshow/slideshowPane.js +0 -79
  512. package/dist/social/editProfileDetails.js +0 -362
  513. package/dist/social/socialPane.css +0 -1464
  514. package/dist/social/socialPane.js +0 -651
  515. package/dist/social/socialSections.js +0 -393
  516. package/dist/social/spinner.js +0 -13
  517. package/dist/social/triage.js +0 -79
  518. package/dist/solid-panes.js +0 -84629
  519. package/dist/solid-panes.js.map +0 -1
  520. package/dist/solid-panes.min.js +0 -3933
  521. package/dist/solid-panes.min.js.map +0 -1
  522. package/dist/styles/tabbedtab.css +0 -1066
  523. package/dist/styles/utilities.css +0 -5
  524. package/dist/tabbed/tabbedPane.js +0 -59
  525. package/dist/tableViewPane.js +0 -56
  526. package/dist/transaction/pane.js +0 -477
  527. package/dist/transaction/period.js +0 -323
  528. package/dist/trip/tripPane.js +0 -174
  529. package/dist/trustedApplications/trustedApplications.dom.js +0 -145
  530. package/dist/trustedApplications/trustedApplications.utils.js +0 -23
  531. package/dist/trustedApplications/trustedApplications.view.js +0 -55
  532. package/dist/ui/pane.js +0 -146
  533. package/dist/versionInfo.js +0 -41
  534. package/dist/video/videoPane.js +0 -42
@@ -1,651 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractFriends = extractFriends;
7
- exports.pronounsAsText = pronounsAsText;
8
- exports.selectProfileData = selectProfileData;
9
- exports.socialPane = void 0;
10
- exports.streamFriends = streamFriends;
11
- require("./socialPane.css");
12
- var _solidUi = require("solid-ui");
13
- var _solidLogic = require("solid-logic");
14
- var _icons = require("./icons");
15
- var _socialSections = require("./socialSections");
16
- var _triage = require("./triage");
17
- /* Social Pane
18
- **
19
- ** This outline pane provides social network functions
20
- ** Using for example the FOAF ontology.
21
- ** Goal: A *distributed* version of facebook, advogato, etc etc
22
- ** - Similarly easy user interface, but data storage distributed
23
- ** - Read and write both user-private (address book) and public data clearly
24
- ** -- todo: use common code to get username and load profile and set 'me'
25
- */
26
-
27
- function applyEnvironmentAttributes(element, context) {
28
- const layout = context.environment?.layout ?? 'desktop';
29
- const theme = context.environment?.theme ?? 'light';
30
- const inputMode = context.environment?.inputMode ?? 'pointer';
31
- element.classList.add('social-pane-host');
32
- element.dataset.layout = layout;
33
- element.dataset.theme = theme;
34
- element.dataset.inputMode = inputMode;
35
- }
36
- const socialPane = exports.socialPane = {
37
- icon: _solidUi.icons.originalIconBase + 'foaf/foafTiny.gif',
38
- name: 'social',
39
- label: function (subject, context) {
40
- const kb = context.session.store;
41
- const types = kb.findTypeURIs(subject);
42
- if (types[_solidUi.ns.foaf('Person').uri] || types[_solidUi.ns.vcard('Individual').uri]) {
43
- return 'Friends';
44
- }
45
- return null;
46
- },
47
- global: false,
48
- render: function (s, context) {
49
- const dom = context.dom;
50
- const common = function (x, y) {
51
- // Find common members of two lists
52
- const both = [];
53
- for (let i = 0; i < x.length; i++) {
54
- for (let j = 0; j < y.length; j++) {
55
- if (y[j].sameTerm(x[i])) {
56
- both.push(y[j]);
57
- break;
58
- }
59
- }
60
- }
61
- return both;
62
- };
63
- const uniqueNodes = function (nodes) {
64
- const seen = new Set();
65
- const unique = [];
66
- for (const node of nodes) {
67
- if (!node?.value || seen.has(node.value)) continue;
68
- seen.add(node.value);
69
- unique.push(node);
70
- }
71
- return unique;
72
- };
73
- const link = function (contents, uri) {
74
- if (!uri) return contents;
75
- const a = dom.createElement('a');
76
- a.setAttribute('href', uri);
77
- a.appendChild(contents);
78
- return a;
79
- };
80
- const text = function (str) {
81
- return dom.createTextNode(str);
82
- };
83
- let refreshRelationshipUi = function () {};
84
- const buildCheckboxForm = function (lab, statement, state, options = {}) {
85
- const f = dom.createElement('form');
86
- const label = dom.createElement('label');
87
- const input = dom.createElement('input');
88
- const tx = dom.createElement('span');
89
- tx.className = 'question';
90
- if (typeof lab === 'string') {
91
- tx.textContent = lab;
92
- } else {
93
- tx.appendChild(lab);
94
- }
95
- input.setAttribute('type', 'checkbox');
96
- if (options.disabled) {
97
- input.disabled = true;
98
- if (options.disabledTitle) {
99
- input.title = options.disabledTitle;
100
- input.setAttribute('aria-label', options.disabledTitle);
101
- }
102
- }
103
- label.appendChild(tx);
104
- label.appendChild(input);
105
- f.appendChild(label);
106
- const boxHandler = function (_e) {
107
- if (this.checked) {
108
- try {
109
- outliner.UserInput.sparqler.insert_statement(statement, function (uri, success, errorBody) {
110
- tx.className = 'question';
111
- if (!success) {
112
- _solidUi.log.alert('Error occurs while inserting ' + statement + '\n\n' + errorBody);
113
- input.checked = false; // rollback UI
114
- return;
115
- }
116
- kb.add(statement.subject, statement.predicate, statement.object, statement.why);
117
- refreshRelationshipUi();
118
- });
119
- } catch (e) {
120
- _solidUi.log.error('Data write fails:' + e);
121
- _solidUi.log.alert('Data write fails:' + e);
122
- input.checked = false; // rollback UI
123
- tx.className = 'question';
124
- }
125
- } else {
126
- try {
127
- outliner.UserInput.sparqler.delete_statement(statement, function (uri, success, errorBody) {
128
- tx.className = 'question';
129
- if (!success) {
130
- _solidUi.log.alert('Error occurs while deleting ' + statement + '\n\n' + errorBody);
131
- input.checked = true; // Rollback UI
132
- } else {
133
- kb.removeMany(statement.subject, statement.predicate, statement.object, statement.why);
134
- refreshRelationshipUi();
135
- }
136
- });
137
- } catch (e) {
138
- _solidUi.log.alert('Delete fails:' + e);
139
- input.checked = true; // Rollback UI
140
- // return
141
- }
142
- }
143
- };
144
- input.checked = state;
145
- input.addEventListener('click', boxHandler, false);
146
- return f;
147
- };
148
-
149
- // ////////// Body of render():
150
-
151
- const outliner = context.getOutliner(dom);
152
- const kb = context.session.store;
153
- const socialPane = dom.createElement('div');
154
- socialPane.classList.add('social-pane', 'flex-column', 'gap-xxs');
155
- applyEnvironmentAttributes(socialPane, context);
156
- const foaf = _solidUi.ns.foaf;
157
- const vcard = _solidUi.ns.vcard;
158
- const me = _solidLogic.authn.currentUser();
159
- const meUri = me ? me.uri : null;
160
- const thisIsYou = me && kb.sameThings(me, s);
161
- const knows = foaf('knows');
162
- // var givenName = kb.sym('http://www.w3.org/2000/10/swap/pim/contact#givenName')
163
- const familiar = kb.anyValue(s, foaf('givenname')) || kb.anyValue(s, foaf('firstName')) || kb.anyValue(s, foaf('nick')) || kb.anyValue(s, foaf('name')) || kb.anyValue(s, vcard('fn'));
164
- const friends = kb.each(s, knows);
165
- const uniqueFriends = uniqueNodes(friends);
166
- const myFriends = me ? uniqueNodes(kb.each(me, foaf('knows'))) : [];
167
- const mutualConnections = me && !thisIsYou ? uniqueNodes(common(uniqueFriends, myFriends)).filter(friend => !kb.sameThings(friend, me)) : [];
168
- const mutualFriendCount = me && !thisIsYou ? mutualConnections.length : null;
169
- const viewerMode = getViewerMode(s, me);
170
-
171
- // Do I have a public profile document?
172
- let profile = null; // This could be SPARQL { ?me foaf:primaryTopic [ a foaf:PersonalProfileDocument ] }
173
- let editable = false;
174
- let incoming = false;
175
- let outgoing = false;
176
- const structure = socialPane.appendChild(dom.createElement('div'));
177
- structure.className = 'social-layout';
178
- const primary = structure.appendChild(dom.createElement('div'));
179
- primary.className = 'social-primary';
180
- const tabs = primary.appendChild(dom.createElement('div'));
181
- tabs.classList.add('social-primary__tabs', 'flex-center');
182
- tabs.setAttribute('role', 'tablist');
183
- tabs.setAttribute('aria-label', 'Social sections');
184
- const allFriendsTab = tabs.appendChild(dom.createElement('button'));
185
- allFriendsTab.className = 'social-primary__tab';
186
- allFriendsTab.type = 'button';
187
- allFriendsTab.id = 'social-tab-all-friends';
188
- allFriendsTab.textContent = 'All Friends';
189
- allFriendsTab.setAttribute('role', 'tab');
190
- allFriendsTab.setAttribute('aria-controls', 'social-panel-all-friends');
191
- allFriendsTab.setAttribute('aria-selected', 'true');
192
- allFriendsTab.tabIndex = 0;
193
- const mutualTab = tabs.appendChild(dom.createElement('button'));
194
- mutualTab.className = 'social-primary__tab';
195
- mutualTab.type = 'button';
196
- mutualTab.id = 'social-tab-mutual';
197
- mutualTab.textContent = 'Mutual';
198
- mutualTab.setAttribute('role', 'tab');
199
- mutualTab.setAttribute('aria-controls', 'social-panel-mutual');
200
- mutualTab.setAttribute('aria-selected', 'false');
201
- mutualTab.tabIndex = -1;
202
- if (me) {
203
- // The definition of FOAF personal profile document is ..
204
- const works = kb.each(undefined, foaf('primaryTopic'), me); // having me as primary topic
205
- let message = '';
206
- for (let i = 0; i < works.length; i++) {
207
- if (kb.whether(works[i], _solidUi.ns.rdf('type'), foaf('PersonalProfileDocument'))) {
208
- const doc = works[i];
209
- editable = outliner.UserInput.sparqler.editable(doc.uri, kb);
210
- if (!editable) {
211
- message += 'Your profile <' + _solidUi.utils.escapeForXML(doc.uri) + '> is not remotely editable.';
212
- } else {
213
- profile = doc;
214
- break;
215
- }
216
- }
217
- }
218
-
219
- /*
220
- if (!profile) {
221
- say(
222
- message + '\nI couldn\'t find your editable personal profile document.'
223
- )
224
- } else {
225
- say('Editing your profile ' + profile + '.')
226
- editable = outliner.UserInput.sparqler.editable(profile.uri, kb)
227
- }
228
- */
229
-
230
- if (thisIsYou) {
231
- // This is about me
232
- // pass... @@
233
- } else {
234
- // This is about someone else
235
- // My relationship with this person
236
-
237
- const cme = kb.canon(me);
238
- incoming = kb.whether(s, knows, cme);
239
- outgoing = false;
240
- const outgoingSt = kb.statementsMatching(cme, knows, s);
241
- if (outgoingSt.length) {
242
- outgoing = true;
243
- if (!profile) profile = outgoingSt[0].why;
244
- }
245
- } // About someone else
246
- } // me is defined
247
- // End of you and s
248
-
249
- const shouldShowHeaderAddFriendAction = mode => {
250
- return mode === 'authenticated' && !thisIsYou && !outgoing;
251
- };
252
- const canEditOwnedProfile = viewerMode === 'owner' && editable;
253
- const canManageRelationship = viewerMode === 'authenticated' && !thisIsYou && editable && Boolean(profile);
254
- const canModifyFriendsTab = canEditOwnedProfile;
255
- let headerControls = {
256
- canEdit: canEditOwnedProfile,
257
- viewerMode,
258
- showAddFriendAction: shouldShowHeaderAddFriendAction(viewerMode)
259
- };
260
- const header = (0, _socialSections.createHeaderSection)(context, s, headerControls, {
261
- friendCount: uniqueFriends.length,
262
- mutualFriendCount,
263
- onSelectFriends: function () {
264
- setActivePanel('all-friends');
265
- },
266
- onSelectMutual: typeof mutualFriendCount === 'number' ? function () {
267
- setActivePanel('mutual');
268
- } : undefined
269
- }, function () {
270
- return selectProfileData(context, s);
271
- });
272
- header.classList.add('social-pane__header-section', 'flex-column');
273
- socialPane.prepend(header);
274
-
275
- // div.appendChild(dom.createTextNode(plural(friends.length, 'acquaintance') +'. '))
276
-
277
- // ///////////////////////////////////////////// Main block
278
- //
279
- // Should: Find the intersection and difference sets
280
-
281
- const friendDetailsByUri = new Map();
282
- const hydrateFriendDetailsCache = function (friendNodes) {
283
- const nextCache = new Map();
284
- friendNodes.forEach(friendNode => {
285
- if (!friendNode?.value || friendNode.value === s.value) return;
286
- nextCache.set(friendNode.value, toFriendDetails(kb, friendNode));
287
- });
288
- friendDetailsByUri.clear();
289
- nextCache.forEach((value, key) => {
290
- friendDetailsByUri.set(key, value);
291
- });
292
- };
293
- hydrateFriendDetailsCache(uniqueFriends);
294
- const renderSupportingInfo = function (target, renderDom) {
295
- const friend = friendDetailsByUri.get(target.value) || toFriendDetails(kb, target);
296
- friendDetailsByUri.set(target.value, friend);
297
- const container = renderDom.createElement('div');
298
- const jobAndOrganization = [friend.jobTitle, friend.organization].filter(Boolean).join(' | ');
299
- if (jobAndOrganization) {
300
- const jobLine = container.appendChild(renderDom.createElement('div'));
301
- jobLine.className = 'social-friend-job-org';
302
- jobLine.textContent = jobAndOrganization;
303
- }
304
- if (friend.location) {
305
- const locationLine = container.appendChild(renderDom.createElement('div'));
306
- locationLine.className = 'social-friend-location';
307
- locationLine.innerHTML = `${_icons.locationIcon} ${friend.location}`;
308
- }
309
- if (!container.childNodes.length) return null;
310
- return container;
311
- };
312
- const renderNameSuffix = function (target, renderDom) {
313
- const friend = friendDetailsByUri.get(target.value) || toFriendDetails(kb, target);
314
- friendDetailsByUri.set(target.value, friend);
315
- const pronouns = friend.pronouns;
316
- if (!pronouns) return null;
317
- const suffix = renderDom.createElement('span');
318
- suffix.className = 'social-friend-pronouns';
319
- suffix.textContent = `(${pronouns})`;
320
- return suffix;
321
- };
322
- let mutualSection = me && !thisIsYou ? (0, _socialSections.createMutualSection)({
323
- dom,
324
- subject: s,
325
- familiar,
326
- me,
327
- meUri,
328
- incoming,
329
- outgoing,
330
- editable: canManageRelationship,
331
- profile,
332
- knows,
333
- mutualConnections,
334
- link,
335
- text,
336
- buildCheckboxForm,
337
- renderSupportingInfo,
338
- renderNameSuffix
339
- }) : {
340
- section: dom.createElement('section'),
341
- content: dom.createElement('div'),
342
- refreshMutualFriends: function () {}
343
- };
344
- let mutualFriends = mutualSection.section;
345
- let mutualContent = mutualSection.content;
346
- if (!mutualFriends.className) {
347
- mutualFriends.className = 'social-pane__mutual-friends social-primary__panel';
348
- mutualFriends.id = 'social-panel-mutual';
349
- mutualFriends.setAttribute('role', 'tabpanel');
350
- mutualFriends.setAttribute('aria-labelledby', 'social-tab-mutual');
351
- mutualContent.className = 'social-main social-main--mutual';
352
- mutualFriends.appendChild(mutualContent);
353
- }
354
- primary.appendChild(mutualFriends);
355
- const allFriendsSection = (0, _socialSections.createAllFriendsSection)({
356
- dom,
357
- subject: s,
358
- profile: canModifyFriendsTab ? profile : null,
359
- editable: canModifyFriendsTab,
360
- renderSupportingInfo,
361
- renderNameSuffix
362
- });
363
- const allFriends = allFriendsSection.section;
364
- const friendsList = allFriendsSection.friendsList;
365
- primary.appendChild(allFriends);
366
- let requestsTriage = (0, _triage.triageFriends)(kb, s);
367
- const requestsSection = (0, _socialSections.createRequestsSection)({
368
- dom,
369
- triage: requestsTriage,
370
- renderSupportingInfo,
371
- renderNameSuffix
372
- });
373
- const requestsPanel = requestsSection.section;
374
- primary.appendChild(requestsPanel);
375
- const requestsTab = tabs.appendChild(dom.createElement('button'));
376
- requestsTab.className = 'social-primary__tab';
377
- requestsTab.type = 'button';
378
- requestsTab.id = 'social-tab-requests';
379
- requestsTab.textContent = 'Requests';
380
- requestsTab.setAttribute('role', 'tab');
381
- requestsTab.setAttribute('aria-controls', 'social-panel-requests');
382
- requestsTab.setAttribute('aria-selected', 'false');
383
- requestsTab.tabIndex = -1;
384
- let activePanel = 'all-friends';
385
- let showRequestsTab = viewerMode === 'owner';
386
- const setActivePanel = function (panel) {
387
- activePanel = panel;
388
- const showMutual = panel === 'mutual';
389
- const showAllFriends = panel === 'all-friends';
390
- const showRequests = showRequestsTab && panel === 'requests';
391
- mutualTab.classList.toggle('social-primary__tab--active', showMutual);
392
- mutualTab.setAttribute('aria-selected', String(showMutual));
393
- mutualTab.tabIndex = showMutual ? 0 : -1;
394
- allFriendsTab.classList.toggle('social-primary__tab--active', showAllFriends);
395
- allFriendsTab.setAttribute('aria-selected', String(showAllFriends));
396
- allFriendsTab.tabIndex = showAllFriends ? 0 : -1;
397
- requestsTab.classList.toggle('social-primary__tab--active', showRequests);
398
- requestsTab.setAttribute('aria-selected', String(showRequests));
399
- requestsTab.tabIndex = showRequests ? 0 : -1;
400
- mutualFriends.classList.toggle('social-primary__panel--active', showMutual);
401
- mutualFriends.setAttribute('aria-hidden', String(!showMutual));
402
- allFriends.classList.toggle('social-primary__panel--active', showAllFriends);
403
- allFriends.setAttribute('aria-hidden', String(!showAllFriends));
404
- requestsPanel.classList.toggle('social-primary__panel--active', showRequests);
405
- requestsPanel.setAttribute('aria-hidden', String(!showRequests));
406
- requestsPanel.hidden = !showRequestsTab || !showRequests;
407
- };
408
- const rebuildMutualSection = function () {
409
- if (!me || thisIsYou) return;
410
- const cme = kb.canon(me);
411
- incoming = kb.whether(s, knows, cme);
412
- const outgoingStatements = kb.statementsMatching(cme, knows, s);
413
- outgoing = outgoingStatements.length > 0;
414
- const nextMutualSection = (0, _socialSections.createMutualSection)({
415
- dom,
416
- subject: s,
417
- familiar,
418
- me,
419
- meUri,
420
- incoming,
421
- outgoing,
422
- editable: canManageRelationship,
423
- profile,
424
- knows,
425
- mutualConnections,
426
- link,
427
- text,
428
- buildCheckboxForm,
429
- renderSupportingInfo,
430
- renderNameSuffix
431
- });
432
- mutualFriends.replaceWith(nextMutualSection.section);
433
- mutualSection = nextMutualSection;
434
- mutualFriends = nextMutualSection.section;
435
- mutualContent = nextMutualSection.content;
436
- };
437
- refreshRelationshipUi = function () {
438
- rebuildMutualSection();
439
- headerControls = {
440
- ...headerControls,
441
- showAddFriendAction: shouldShowHeaderAddFriendAction(headerControls.viewerMode)
442
- };
443
- header.refreshSocialHeader?.(headerControls);
444
- requestsTriage = (0, _triage.triageFriends)(kb, s);
445
- requestsSection.refreshRequests(requestsTriage);
446
- setActivePanel(activePanel);
447
- };
448
- setActivePanel('all-friends');
449
- const applyViewerMode = function (mode) {
450
- const showMutualTab = mode === 'authenticated' && !thisIsYou;
451
- showRequestsTab = mode === 'owner';
452
- mutualTab.hidden = !showMutualTab;
453
- requestsTab.hidden = !showRequestsTab;
454
- if (!showRequestsTab && activePanel === 'requests') {
455
- setActivePanel('all-friends');
456
- return;
457
- }
458
- setActivePanel('all-friends');
459
- };
460
- mutualTab.addEventListener('click', function () {
461
- setActivePanel('mutual');
462
- });
463
- allFriendsTab.addEventListener('click', function () {
464
- setActivePanel('all-friends');
465
- });
466
- requestsTab.addEventListener('click', function () {
467
- setActivePanel('requests');
468
- });
469
- const refreshFriendsList = function () {
470
- const refresh = friendsList.refresh;
471
- if (typeof refresh !== 'function') return;
472
- refresh.call(friendsList);
473
- };
474
- const refreshMutualFriends = function () {
475
- mutualSection.refreshMutualFriends();
476
- };
477
- (async () => {
478
- try {
479
- for await (const streamedFriends of streamFriends(context, s)) {
480
- friendDetailsByUri.clear();
481
- streamedFriends.forEach(friend => {
482
- friendDetailsByUri.set(friend.url, friend);
483
- });
484
- refreshFriendsList();
485
- refreshMutualFriends();
486
- }
487
- } catch {
488
- // Keep the initial snapshot if async friend loading fails.
489
- }
490
- })();
491
- (async () => {
492
- try {
493
- requestsTriage = await (0, _triage.loadFriendshipTriage)(context, s);
494
- requestsSection.refreshRequests(requestsTriage);
495
- refreshFriendsList();
496
- refreshMutualFriends();
497
- } catch {
498
- // Keep the initial requests snapshot if additional loading fails.
499
- }
500
- })();
501
-
502
- // Older triage logic is preserved below as a reusable data helper.
503
-
504
- applyViewerMode('anonymous');
505
- _solidLogic.authn.checkUser().then(webId => {
506
- const confirmedViewerMode = getViewerMode(s, webId);
507
- applyViewerMode(confirmedViewerMode);
508
- const confirmedCanEditOwnedProfile = confirmedViewerMode === 'owner' && editable;
509
- headerControls = {
510
- ...headerControls,
511
- canEdit: confirmedCanEditOwnedProfile,
512
- viewerMode: confirmedViewerMode,
513
- showAddFriendAction: shouldShowHeaderAddFriendAction(confirmedViewerMode)
514
- };
515
- header.refreshSocialHeader?.(headerControls);
516
- }).catch(() => {
517
- applyViewerMode('anonymous');
518
- headerControls = {
519
- ...headerControls,
520
- canEdit: false,
521
- viewerMode: 'anonymous',
522
- showAddFriendAction: false
523
- };
524
- header.refreshSocialHeader?.(headerControls);
525
- });
526
- return socialPane;
527
- } // render()
528
- }; //
529
- // ends
530
- // ***************** Social Pane Selectors **********/
531
- /* Should move to another file, but will leave for now */
532
- /* Will create a social pane folder or maybe repo later */
533
-
534
- const FRIEND_BATCH_SIZE = 3;
535
- /* pronounsAsText and formatLocation were copied from HeadingSection selectors */
536
- function pronounsAsText(store, subject) {
537
- let pronouns = store.anyJS(subject, _solidUi.ns.solid('preferredSubjectPronoun')) || '';
538
- if (pronouns) {
539
- const them = store.anyJS(subject, _solidUi.ns.solid('preferredObjectPronoun'));
540
- if (them) {
541
- pronouns += '/' + them;
542
- }
543
- }
544
- return pronouns || '';
545
- }
546
- function formatLocation(countryName, locality) {
547
- return countryName && locality ? `${locality}, ${countryName}` : countryName || locality || null;
548
- }
549
- function toFriendDetails(store, friendNode) {
550
- const name = store.anyValue(friendNode, _solidUi.ns.vcard('fn')) || store.anyValue(friendNode, _solidUi.ns.foaf('name')) || null;
551
- const nickname = store.anyValue(friendNode, _solidUi.ns.vcard('nickname')) || store.anyValue(friendNode, _solidUi.ns.foaf('nick')) || null;
552
- const dateOfBirth = store.anyValue(friendNode, _solidUi.ns.vcard('bday')) || null;
553
- const imageSrc = _solidUi.widgets.findImage(friendNode);
554
- const jobTitle = store.anyValue(friendNode, _solidUi.ns.vcard('role')) || null;
555
- const orgName = store.anyValue(friendNode, _solidUi.ns.vcard('organization-name')) || null;
556
- const primaryAddressEntryNode = store.any(friendNode, _solidUi.ns.vcard('hasAddress'));
557
- const address = primaryAddressEntryNode || null;
558
- const countryName = address != null ? store.anyValue(address, _solidUi.ns.vcard('country-name')) : null;
559
- const locality = address != null ? store.anyValue(address, _solidUi.ns.vcard('locality')) : null;
560
- const location = formatLocation(countryName, locality);
561
- const pronouns = pronounsAsText(store, friendNode);
562
- return {
563
- url: friendNode.value,
564
- imageUrl: imageSrc,
565
- name,
566
- nickname,
567
- jobTitle,
568
- organization: orgName,
569
- birthdate: dateOfBirth,
570
- location,
571
- pronouns,
572
- subjectNode: friendNode
573
- };
574
- }
575
- async function* streamFriends(context, subject, batchSize = FRIEND_BATCH_SIZE) {
576
- const store = context.session.store;
577
- const fetcher = store?.fetcher;
578
- if (fetcher && typeof fetcher.load === 'function') {
579
- try {
580
- await fetcher.load(subject.doc());
581
- } catch {
582
- // Continue with whatever is already in the store.
583
- }
584
- }
585
- const seen = new Set();
586
- const friendNodes = store.each(subject, _solidUi.ns.foaf('knows'), null, subject.doc());
587
- const uniqueFriendNodes = [];
588
- for (const friendNode of friendNodes) {
589
- const key = friendNode?.value;
590
- if (!key || seen.has(key) || subject.value === key) continue;
591
- seen.add(key);
592
- uniqueFriendNodes.push(friendNode);
593
- }
594
- const friends = [];
595
- for (const friendNode of uniqueFriendNodes) {
596
- if (fetcher && typeof fetcher.load === 'function') {
597
- try {
598
- await fetcher.load(friendNode.doc());
599
- } catch {
600
- // Keep partial friend data when one linked document fails to load.
601
- }
602
- }
603
- friends.push(toFriendDetails(store, friendNode));
604
- if (friends.length % batchSize === 0) {
605
- yield [...friends];
606
- }
607
- }
608
- if (friends.length > 0 && friends.length % batchSize !== 0) {
609
- yield [...friends];
610
- }
611
- }
612
- async function extractFriends(context, subject) {
613
- let latestFriends = null;
614
- for await (const friends of streamFriends(context, subject)) {
615
- latestFriends = friends;
616
- }
617
- return latestFriends;
618
- }
619
- function selectProfileData(context, subject) {
620
- const store = context.session.store;
621
- const name = store.anyValue(subject, _solidUi.ns.vcard('fn')) || store.anyValue(subject, _solidUi.ns.foaf('name')) || undefined;
622
- const nickname = store.anyValue(subject, _solidUi.ns.vcard('nickname')) || store.anyValue(subject, _solidUi.ns.foaf('nick')) || undefined;
623
- const dateOfBirth = store.anyValue(subject, _solidUi.ns.vcard('bday')) || undefined;
624
- const imageSrc = _solidUi.widgets.findImage(subject);
625
- const jobTitle = store.anyValue(subject, _solidUi.ns.vcard('role')) || undefined;
626
- const orgName = store.anyValue(subject, _solidUi.ns.vcard('organization-name')) || undefined;
627
- const primaryAddressEntryNode = store.any(subject, _solidUi.ns.vcard('hasAddress'));
628
- const address = primaryAddressEntryNode || null;
629
- const countryName = address != null ? store.anyValue(address, _solidUi.ns.vcard('country-name')) : undefined;
630
- const locality = address != null ? store.anyValue(address, _solidUi.ns.vcard('locality')) : undefined;
631
- const location = formatLocation(countryName, locality);
632
- const pronouns = pronounsAsText(store, subject);
633
- return {
634
- url: subject.value,
635
- imageUrl: imageSrc,
636
- name,
637
- nickname,
638
- jobTitle,
639
- organization: orgName,
640
- birthdate: dateOfBirth,
641
- location,
642
- pronouns
643
- };
644
- }
645
- function getViewerMode(subject, currentUser = _solidLogic.authn.currentUser()) {
646
- const currentUserUri = typeof currentUser === 'string' ? currentUser : typeof currentUser === 'object' && currentUser !== null ? currentUser.value || currentUser.uri || null : null;
647
- let mode = 'anonymous';
648
- if (currentUserUri === subject.value) mode = 'owner';
649
- if (currentUserUri && currentUserUri !== subject.value) mode = 'authenticated';
650
- return mode;
651
- }