solid-panes 4.5.1 → 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 -85630
  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
@@ -0,0 +1,2 @@
1
+ const e=require("./ontologyData.cjs.js"),t=require("./preferencesFormText.cjs.js");let n=require("solid-ui"),r=require("rdflib");var i={icon:n.icons.iconBase+`noun_Sliders_341315_000000.svg`,name:`basicPreferences`,label:e=>null,render:(i,s)=>{let c=s.dom,l=s.session.store;function u(e,t){e||d.appendChild(n.widgets.errorMessageBlock(c,t,`#fee`))}let d=c.createElement(`div`),f=a(d,c);function p(e,t){e=e.doc(),l.holds(void 0,void 0,void 0,e)||(0,r.parse)(t,l,e.uri,`text/turtle`,null)}let m=l.sym(`urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this`);p(m,t.default),p(l.sym(`urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT`),e.default);async function h(){let e=await n.login.ensureLoadedPreferences({dom:c,div:d});if(!e.preferencesFile){console.log(`Not doing private class preferences as no access to preferences file. `+e.preferencesFileError);return}let t=n.widgets.appendForm(c,f,{},e.me,m,e.preferencesFile,u);t.style.borderStyle=`none`;let r=s.session.paneRegistry.byName(`trustedApplications`);r&&d.appendChild(r.render(null,s)),o(d,l,e.me,c)}return h(),d}};function a(e,t){let n=l(e,t,`User types`),r=n.appendChild(t.createElement(`p`));r.innerText=`Here you can self-assign user types to help the data browser know which views you would like to access.`;let i=n.appendChild(t.createElement(`a`));return i.href=`https://github.com/solidos/userguide/#role`,i.innerText=`Read more`,n.appendChild(t.createElement(`div`))}function o(e,t,r,i){let a=l(e,i,`Delete account`),o=t.each(r,n.ns.space(`storage`),null,r.doc()).map(e=>e.value),c=a.appendChild(i.createElement(`ul`));o.forEach(async e=>{let t=await s(e,i);t&&c.appendChild(i.createElement(`li`)).appendChild(t)})}async function s(e,t){let n=t.createElement(`a`);n.textContent=`Delete your account at ${e}`;let r=await c(e);return typeof r==`string`?(n.href=r,n):null}async function c(e){let t=new URL(e),n=new URL(e);return n.pathname=t.pathname=`/account/delete`,n.hostname=n.hostname.split(`.`).slice(1).join(`.`),(await fetch(n.href,{method:`HEAD`})).ok?n.href:(await fetch(t.href,{method:`HEAD`})).ok?t.href:null}function l(e,t,n){let r=e.appendChild(t.createElement(`div`));r.style.border=`0.3em solid #418d99`,r.style.borderRadius=`0.5em`,r.style.padding=`0.7em`,r.style.marginTop=`0.7em`;let i=r.appendChild(t.createElement(`h3`));return i.innerText=n,r}exports.basicPreferencesPane=i,exports.default=i;
2
+ //# sourceMappingURL=basicPreferences.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicPreferences.cjs.js","names":[],"sources":["../../src/dashboard/basicPreferences.ts"],"sourcesContent":["import { PaneDefinition } from 'pane-registry'\nimport { IndexedFormula, NamedNode, parse, Store } from 'rdflib'\nimport { icons, login, ns, widgets } from 'solid-ui'\nimport ontologyData from './ontologyData.ttl'\nimport preferencesFormText from './preferencesFormText.ttl'\n\nexport const basicPreferencesPane: PaneDefinition = {\n icon: icons.iconBase + 'noun_Sliders_341315_000000.svg',\n name: 'basicPreferences',\n label: _subject => {\n return null\n },\n\n // Render the pane\n // The subject should be the logged in user.\n render: (subject, context) => {\n const dom = context.dom\n // @ts-ignore\n const store = context.session.store as Store\n\n function complainIfBad (ok: Boolean, mess: any) {\n if (ok) return\n container.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'))\n }\n\n const container = dom.createElement('div')\n\n const formArea = setupUserTypesSection(container, dom)\n\n function loadData (doc: NamedNode, turtle: String) {\n doc = doc.doc() // remove # from URI if nec\n if (!store.holds(undefined, undefined, undefined, doc)) {\n // If not loaded already\n ;(parse as any)(turtle, store, doc.uri, 'text/turtle', null) // Load form directly\n }\n }\n\n const preferencesForm = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this'\n )\n loadData(preferencesForm, preferencesFormText)\n\n const ontologyExtra = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT'\n )\n loadData(ontologyExtra, ontologyData)\n\n async function doRender () {\n const renderContext = await login.ensureLoadedPreferences({\n dom,\n div: container\n })\n if (!renderContext.preferencesFile) {\n // Could be CORS\n console.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n renderContext.preferencesFileError\n )\n return\n }\n const appendedForm = widgets.appendForm(\n dom,\n formArea,\n {},\n renderContext.me,\n preferencesForm,\n renderContext.preferencesFile,\n complainIfBad\n )\n appendedForm.style.borderStyle = 'none'\n\n const trustedApplicationsView = context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplicationsView) {\n container.appendChild(trustedApplicationsView.render(null, context))\n }\n\n // @@ TODO Remove need for casting as any and bang (!) syntax\n addDeleteSection(container, store, renderContext.me!, dom)\n }\n\n doRender()\n\n return container\n }\n}\n\nfunction setupUserTypesSection (\n container: Element,\n dom: HTMLDocument\n): Element {\n const formContainer = createSection(container, dom, 'User types')\n\n const description = formContainer.appendChild(dom.createElement('p'))\n description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.'\n\n const userTypesLink = formContainer.appendChild(dom.createElement('a'))\n userTypesLink.href = 'https://github.com/solidos/userguide/#role'\n userTypesLink.innerText = 'Read more'\n\n const formArea = formContainer.appendChild(dom.createElement('div'))\n\n return formArea\n}\n\nexport default basicPreferencesPane\n\n// ends\n\nfunction addDeleteSection (\n container: HTMLElement,\n store: IndexedFormula,\n profile: NamedNode,\n dom: HTMLDocument\n): void {\n const section = createSection(container, dom, 'Delete account')\n\n const podServerNodes = store.each(profile, ns.space('storage'), null, profile.doc())\n const podServers = podServerNodes.map(node => node.value)\n\n const list = section.appendChild(dom.createElement('ul'))\n\n podServers.forEach(async server => {\n const deletionLink = await generateDeletionLink(server, dom)\n if (deletionLink) {\n const listItem = list.appendChild(dom.createElement('li'))\n listItem.appendChild(deletionLink)\n }\n })\n}\n\nasync function generateDeletionLink (\n podServer: string,\n dom: HTMLDocument\n): Promise<HTMLElement | null> {\n const link = dom.createElement('a')\n link.textContent = `Delete your account at ${podServer}`\n const deletionUrl = await getDeletionUrlForServer(podServer)\n if (typeof deletionUrl !== 'string') {\n return null\n }\n link.href = deletionUrl\n return link\n}\n\n/**\n * Hacky way to get the deletion link to a Pod\n *\n * This function infers the deletion link by assuming the URL structure of Node Solid server.\n * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:\n * https://github.com/solidos/data-interoperability-panel/issues/18\n *\n * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for\n * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the\n * deletion URL would be at vincent.dev.inrupt.net/account/delete.\n *\n * @param server Pod server containing the user's account.\n * @returns URL of the page that Node Solid Server would offer to delete the account, or null if\n * the URLs we tried give invalid responses.\n */\nasync function getDeletionUrlForServer (\n server: string\n): Promise<string | null> {\n const singleUserUrl = new URL(server)\n const multiUserUrl = new URL(server)\n multiUserUrl.pathname = singleUserUrl.pathname = '/account/delete'\n\n const hostnameParts = multiUserUrl.hostname.split('.')\n // Remove `vincent.` from `vincent.dev.inrupt.net`, for example:\n multiUserUrl.hostname = hostnameParts.slice(1).join('.')\n\n const multiUserNssResponse = await fetch(multiUserUrl.href, {\n method: 'HEAD'\n })\n if (multiUserNssResponse.ok) {\n return multiUserUrl.href\n }\n\n const singleUserNssResponse = await fetch(singleUserUrl.href, {\n method: 'HEAD'\n })\n if (singleUserNssResponse.ok) {\n return singleUserUrl.href\n }\n return null\n}\n\nfunction createSection (\n container: Element,\n dom: HTMLDocument,\n title: string\n): Element {\n const section = container.appendChild(dom.createElement('div'))\n section.style.border = '0.3em solid #418d99'\n section.style.borderRadius = '0.5em'\n section.style.padding = '0.7em'\n section.style.marginTop = '0.7em'\n\n const titleElement = section.appendChild(dom.createElement('h3'))\n titleElement.innerText = title\n\n return section\n}\n"],"mappings":"iIAMA,IAAa,EAAuC,CAClD,KAAM,EAAA,MAAM,SAAW,iCACvB,KAAM,mBACN,MAAO,GACE,KAKT,QAAS,EAAS,IAAY,CAC5B,IAAM,EAAM,EAAQ,IAEd,EAAQ,EAAQ,QAAQ,MAE9B,SAAS,EAAe,EAAa,EAAW,CAC1C,GACJ,EAAU,YAAY,EAAA,QAAQ,kBAAkB,EAAK,EAAM,MAAM,CAAC,CACpE,CAEA,IAAM,EAAY,EAAI,cAAc,KAAK,EAEnC,EAAW,EAAsB,EAAW,CAAG,EAErD,SAAS,EAAU,EAAgB,EAAgB,CACjD,EAAM,EAAI,IAAI,EACT,EAAM,MAAM,IAAA,GAAW,IAAA,GAAW,IAAA,GAAW,CAAG,IAElD,EAAA,EAAA,MAAA,CAAe,EAAQ,EAAO,EAAI,IAAK,cAAe,IAAI,CAE/D,CAEA,IAAM,EAAkB,EAAM,IAC5B,oDACF,EACA,EAAS,EAAiB,EAAA,OAAmB,EAK7C,EAHsB,EAAM,IAC1B,mDAEO,EAAe,EAAA,OAAY,EAEpC,eAAe,GAAY,CACzB,IAAM,EAAgB,MAAM,EAAA,MAAM,wBAAwB,CACxD,MACA,IAAK,CACP,CAAC,EACD,GAAI,CAAC,EAAc,gBAAiB,CAElC,QAAQ,IACN,yEACA,EAAc,oBAChB,EACA,MACF,CACA,IAAM,EAAe,EAAA,QAAQ,WAC3B,EACA,EACA,CAAC,EACD,EAAc,GACd,EACA,EAAc,gBACd,CACF,EACA,EAAa,MAAM,YAAc,OAEjC,IAAM,EAA0B,EAAQ,QAAQ,aAAa,OAAO,qBAAqB,EACrF,GACF,EAAU,YAAY,EAAwB,OAAO,KAAM,CAAO,CAAC,EAIrE,EAAiB,EAAW,EAAO,EAAc,GAAK,CAAG,CAC3D,CAIA,OAFA,EAAS,EAEF,CACT,CACF,EAEA,SAAS,EACP,EACA,EACS,CACT,IAAM,EAAgB,EAAc,EAAW,EAAK,YAAY,EAE1D,EAAc,EAAc,YAAY,EAAI,cAAc,GAAG,CAAC,EACpE,EAAY,UAAY,0GAExB,IAAM,EAAgB,EAAc,YAAY,EAAI,cAAc,GAAG,CAAC,EAMtE,MALA,GAAc,KAAO,6CACrB,EAAc,UAAY,YAET,EAAc,YAAY,EAAI,cAAc,KAAK,CAE3D,CACT,CAMA,SAAS,EACP,EACA,EACA,EACA,EACM,CACN,IAAM,EAAU,EAAc,EAAW,EAAK,gBAAgB,EAGxD,EADiB,EAAM,KAAK,EAAS,EAAA,GAAG,MAAM,SAAS,EAAG,KAAM,EAAQ,IAAI,CAC/D,CAAA,CAAe,IAAI,GAAQ,EAAK,KAAK,EAElD,EAAO,EAAQ,YAAY,EAAI,cAAc,IAAI,CAAC,EAExD,EAAW,QAAQ,KAAM,IAAU,CACjC,IAAM,EAAe,MAAM,EAAqB,EAAQ,CAAG,EACvD,GAEF,EADsB,YAAY,EAAI,cAAc,IAAI,CACxD,CAAA,CAAS,YAAY,CAAY,CAErC,CAAC,CACH,CAEA,eAAe,EACb,EACA,EAC6B,CAC7B,IAAM,EAAO,EAAI,cAAc,GAAG,EAClC,EAAK,YAAc,0BAA0B,IAC7C,IAAM,EAAc,MAAM,EAAwB,CAAS,EAK3D,OAJI,OAAO,GAAgB,UAG3B,EAAK,KAAO,EACL,GAHE,IAIX,CAiBA,eAAe,EACb,EACwB,CACxB,IAAM,EAAgB,IAAI,IAAI,CAAM,EAC9B,EAAe,IAAI,IAAI,CAAM,EAoBnC,MAnBA,GAAa,SAAW,EAAc,SAAW,kBAIjD,EAAa,SAFS,EAAa,SAAS,MAAM,GAE1B,CAAA,CAAc,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAKnD,MAH+B,MAAM,EAAa,KAAM,CAC1D,OAAQ,MACV,CAAC,EAAA,CACwB,GAChB,EAAa,MAMlB,MAHgC,MAAM,EAAc,KAAM,CAC5D,OAAQ,MACV,CAAC,EAAA,CACyB,GACjB,EAAc,KAEhB,IACT,CAEA,SAAS,EACP,EACA,EACA,EACS,CACT,IAAM,EAAU,EAAU,YAAY,EAAI,cAAc,KAAK,CAAC,EAC9D,EAAQ,MAAM,OAAS,sBACvB,EAAQ,MAAM,aAAe,QAC7B,EAAQ,MAAM,QAAU,QACxB,EAAQ,MAAM,UAAY,QAE1B,IAAM,EAAe,EAAQ,YAAY,EAAI,cAAc,IAAI,CAAC,EAGhE,MAFA,GAAa,UAAY,EAElB,CACT"}
@@ -1,4 +1,4 @@
1
- import { PaneDefinition } from 'pane-registry';
1
+ import { PaneDefinition } from '../../node_modules/pane-registry';
2
2
  export declare const basicPreferencesPane: PaneDefinition;
3
3
  export default basicPreferencesPane;
4
4
  //# sourceMappingURL=basicPreferences.d.ts.map
@@ -0,0 +1,70 @@
1
+ import e from "./ontologyData.esm.js";
2
+ import t from "./preferencesFormText.esm.js";
3
+ import { icons as n, login as r, ns as i, widgets as a } from "solid-ui";
4
+ import { parse as o } from "rdflib";
5
+ //#region src/dashboard/basicPreferences.ts
6
+ var s = {
7
+ icon: n.iconBase + "noun_Sliders_341315_000000.svg",
8
+ name: "basicPreferences",
9
+ label: (e) => null,
10
+ render: (n, i) => {
11
+ let s = i.dom, u = i.session.store;
12
+ function d(e, t) {
13
+ e || f.appendChild(a.errorMessageBlock(s, t, "#fee"));
14
+ }
15
+ let f = s.createElement("div"), p = c(f, s);
16
+ function m(e, t) {
17
+ e = e.doc(), u.holds(void 0, void 0, void 0, e) || o(t, u, e.uri, "text/turtle", null);
18
+ }
19
+ let h = u.sym("urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this");
20
+ m(h, t), m(u.sym("urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT"), e);
21
+ async function g() {
22
+ let e = await r.ensureLoadedPreferences({
23
+ dom: s,
24
+ div: f
25
+ });
26
+ if (!e.preferencesFile) {
27
+ console.log("Not doing private class preferences as no access to preferences file. " + e.preferencesFileError);
28
+ return;
29
+ }
30
+ let t = a.appendForm(s, p, {}, e.me, h, e.preferencesFile, d);
31
+ t.style.borderStyle = "none";
32
+ let n = i.session.paneRegistry.byName("trustedApplications");
33
+ n && f.appendChild(n.render(null, i)), l(f, u, e.me, s);
34
+ }
35
+ return g(), f;
36
+ }
37
+ };
38
+ function c(e, t) {
39
+ let n = f(e, t, "User types"), r = n.appendChild(t.createElement("p"));
40
+ r.innerText = "Here you can self-assign user types to help the data browser know which views you would like to access.";
41
+ let i = n.appendChild(t.createElement("a"));
42
+ return i.href = "https://github.com/solidos/userguide/#role", i.innerText = "Read more", n.appendChild(t.createElement("div"));
43
+ }
44
+ function l(e, t, n, r) {
45
+ let a = f(e, r, "Delete account"), o = t.each(n, i.space("storage"), null, n.doc()).map((e) => e.value), s = a.appendChild(r.createElement("ul"));
46
+ o.forEach(async (e) => {
47
+ let t = await u(e, r);
48
+ t && s.appendChild(r.createElement("li")).appendChild(t);
49
+ });
50
+ }
51
+ async function u(e, t) {
52
+ let n = t.createElement("a");
53
+ n.textContent = `Delete your account at ${e}`;
54
+ let r = await d(e);
55
+ return typeof r == "string" ? (n.href = r, n) : null;
56
+ }
57
+ async function d(e) {
58
+ let t = new URL(e), n = new URL(e);
59
+ return n.pathname = t.pathname = "/account/delete", n.hostname = n.hostname.split(".").slice(1).join("."), (await fetch(n.href, { method: "HEAD" })).ok ? n.href : (await fetch(t.href, { method: "HEAD" })).ok ? t.href : null;
60
+ }
61
+ function f(e, t, n) {
62
+ let r = e.appendChild(t.createElement("div"));
63
+ r.style.border = "0.3em solid #418d99", r.style.borderRadius = "0.5em", r.style.padding = "0.7em", r.style.marginTop = "0.7em";
64
+ let i = r.appendChild(t.createElement("h3"));
65
+ return i.innerText = n, r;
66
+ }
67
+ //#endregion
68
+ export { s as basicPreferencesPane, s as default };
69
+
70
+ //# sourceMappingURL=basicPreferences.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicPreferences.esm.js","names":[],"sources":["../../src/dashboard/basicPreferences.ts"],"sourcesContent":["import { PaneDefinition } from 'pane-registry'\nimport { IndexedFormula, NamedNode, parse, Store } from 'rdflib'\nimport { icons, login, ns, widgets } from 'solid-ui'\nimport ontologyData from './ontologyData.ttl'\nimport preferencesFormText from './preferencesFormText.ttl'\n\nexport const basicPreferencesPane: PaneDefinition = {\n icon: icons.iconBase + 'noun_Sliders_341315_000000.svg',\n name: 'basicPreferences',\n label: _subject => {\n return null\n },\n\n // Render the pane\n // The subject should be the logged in user.\n render: (subject, context) => {\n const dom = context.dom\n // @ts-ignore\n const store = context.session.store as Store\n\n function complainIfBad (ok: Boolean, mess: any) {\n if (ok) return\n container.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'))\n }\n\n const container = dom.createElement('div')\n\n const formArea = setupUserTypesSection(container, dom)\n\n function loadData (doc: NamedNode, turtle: String) {\n doc = doc.doc() // remove # from URI if nec\n if (!store.holds(undefined, undefined, undefined, doc)) {\n // If not loaded already\n ;(parse as any)(turtle, store, doc.uri, 'text/turtle', null) // Load form directly\n }\n }\n\n const preferencesForm = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this'\n )\n loadData(preferencesForm, preferencesFormText)\n\n const ontologyExtra = store.sym(\n 'urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT'\n )\n loadData(ontologyExtra, ontologyData)\n\n async function doRender () {\n const renderContext = await login.ensureLoadedPreferences({\n dom,\n div: container\n })\n if (!renderContext.preferencesFile) {\n // Could be CORS\n console.log(\n 'Not doing private class preferences as no access to preferences file. ' +\n renderContext.preferencesFileError\n )\n return\n }\n const appendedForm = widgets.appendForm(\n dom,\n formArea,\n {},\n renderContext.me,\n preferencesForm,\n renderContext.preferencesFile,\n complainIfBad\n )\n appendedForm.style.borderStyle = 'none'\n\n const trustedApplicationsView = context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplicationsView) {\n container.appendChild(trustedApplicationsView.render(null, context))\n }\n\n // @@ TODO Remove need for casting as any and bang (!) syntax\n addDeleteSection(container, store, renderContext.me!, dom)\n }\n\n doRender()\n\n return container\n }\n}\n\nfunction setupUserTypesSection (\n container: Element,\n dom: HTMLDocument\n): Element {\n const formContainer = createSection(container, dom, 'User types')\n\n const description = formContainer.appendChild(dom.createElement('p'))\n description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.'\n\n const userTypesLink = formContainer.appendChild(dom.createElement('a'))\n userTypesLink.href = 'https://github.com/solidos/userguide/#role'\n userTypesLink.innerText = 'Read more'\n\n const formArea = formContainer.appendChild(dom.createElement('div'))\n\n return formArea\n}\n\nexport default basicPreferencesPane\n\n// ends\n\nfunction addDeleteSection (\n container: HTMLElement,\n store: IndexedFormula,\n profile: NamedNode,\n dom: HTMLDocument\n): void {\n const section = createSection(container, dom, 'Delete account')\n\n const podServerNodes = store.each(profile, ns.space('storage'), null, profile.doc())\n const podServers = podServerNodes.map(node => node.value)\n\n const list = section.appendChild(dom.createElement('ul'))\n\n podServers.forEach(async server => {\n const deletionLink = await generateDeletionLink(server, dom)\n if (deletionLink) {\n const listItem = list.appendChild(dom.createElement('li'))\n listItem.appendChild(deletionLink)\n }\n })\n}\n\nasync function generateDeletionLink (\n podServer: string,\n dom: HTMLDocument\n): Promise<HTMLElement | null> {\n const link = dom.createElement('a')\n link.textContent = `Delete your account at ${podServer}`\n const deletionUrl = await getDeletionUrlForServer(podServer)\n if (typeof deletionUrl !== 'string') {\n return null\n }\n link.href = deletionUrl\n return link\n}\n\n/**\n * Hacky way to get the deletion link to a Pod\n *\n * This function infers the deletion link by assuming the URL structure of Node Solid server.\n * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:\n * https://github.com/solidos/data-interoperability-panel/issues/18\n *\n * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for\n * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the\n * deletion URL would be at vincent.dev.inrupt.net/account/delete.\n *\n * @param server Pod server containing the user's account.\n * @returns URL of the page that Node Solid Server would offer to delete the account, or null if\n * the URLs we tried give invalid responses.\n */\nasync function getDeletionUrlForServer (\n server: string\n): Promise<string | null> {\n const singleUserUrl = new URL(server)\n const multiUserUrl = new URL(server)\n multiUserUrl.pathname = singleUserUrl.pathname = '/account/delete'\n\n const hostnameParts = multiUserUrl.hostname.split('.')\n // Remove `vincent.` from `vincent.dev.inrupt.net`, for example:\n multiUserUrl.hostname = hostnameParts.slice(1).join('.')\n\n const multiUserNssResponse = await fetch(multiUserUrl.href, {\n method: 'HEAD'\n })\n if (multiUserNssResponse.ok) {\n return multiUserUrl.href\n }\n\n const singleUserNssResponse = await fetch(singleUserUrl.href, {\n method: 'HEAD'\n })\n if (singleUserNssResponse.ok) {\n return singleUserUrl.href\n }\n return null\n}\n\nfunction createSection (\n container: Element,\n dom: HTMLDocument,\n title: string\n): Element {\n const section = container.appendChild(dom.createElement('div'))\n section.style.border = '0.3em solid #418d99'\n section.style.borderRadius = '0.5em'\n section.style.padding = '0.7em'\n section.style.marginTop = '0.7em'\n\n const titleElement = section.appendChild(dom.createElement('h3'))\n titleElement.innerText = title\n\n return section\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ require("./homepage.cjs.js");let e=require("solid-ui");require("solid-logic"),e.icons.iconBase+``;
2
+ //# sourceMappingURL=dashboardPane.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardPane.cjs.js","names":[],"sources":["../../src/dashboard/dashboardPane.ts"],"sourcesContent":["import { icons } from 'solid-ui'\nimport { authn, authSession, store } from 'solid-logic'\nimport { Fetcher, NamedNode } from 'rdflib'\nimport { generateHomepage } from './homepage'\nimport { DataBrowserContext, PaneDefinition } from 'pane-registry'\n\nexport const dashboardPane: PaneDefinition = {\n icon: icons.iconBase + 'noun_547570.svg',\n name: 'dashboard',\n label: subject => {\n if (subject.termType === 'NamedNode' && subject.uri === subject.site().uri) {\n return 'Dashboard'\n }\n return null\n },\n render: (subject, context) => {\n console.log('Dashboard Pane Render')\n const dom = context.dom\n const container = dom.createElement('div')\n const runBuildPage = () => {\n container.innerHTML = ''\n buildPage(\n container,\n authn.currentUser() || null,\n context,\n subject\n )\n }\n\n authSession.events.on('login', () => {\n // console.log('On Login')\n runBuildPage()\n })\n authSession.events.on('sessionRestore', () => {\n // console.log('On Session Restore')\n runBuildPage()\n })\n // console.log('Initial Load')\n runBuildPage()\n\n return container\n }\n}\n\nfunction buildPage (\n container: HTMLElement,\n webId: NamedNode | null,\n context: DataBrowserContext,\n subject: NamedNode | null\n) {\n const uri = (new URL(window.location.href)).searchParams.get('uri')\n\n if (uri && webId) {\n return buildDashboard(container, context)\n }\n\n if (!uri && subject) {\n return buildHomePage(container, subject)\n }\n\n if (!uri && !subject && webId) {\n return buildDashboard(container, context)\n }\n\n const fallbackSubject = subject || webId || store.sym(window.location.href)\n return buildHomePage(container, fallbackSubject)\n}\n\nfunction buildDashboard (container: HTMLElement, context: DataBrowserContext) {\n // console.log('build dashboard')\n // @@ TODO get a proper type\n const outliner: any = context.getOutliner(context.dom)\n outliner\n .getDashboard()\n .then((dashboard: HTMLElement) => container.appendChild(dashboard))\n}\n\nfunction buildHomePage (container: HTMLElement, subject: NamedNode) {\n // console.log('build home page')\n const wrapper = document.createElement('div')\n container.appendChild(wrapper)\n const shadow = wrapper.attachShadow({ mode: 'open' })\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = '/common/css/bootstrap.min.css'\n shadow.appendChild(link)\n generateHomepage(subject, store, store.fetcher as Fetcher).then(homepage =>\n shadow.appendChild(homepage)\n )\n}\n\nexport default dashboardPane\n"],"mappings":"8EAOQ,EAAA,MAAM,SAAW"}
@@ -1,4 +1,4 @@
1
- import { PaneDefinition } from 'pane-registry';
1
+ import { PaneDefinition } from '../../node_modules/pane-registry';
2
2
  export declare const dashboardPane: PaneDefinition;
3
3
  export default dashboardPane;
4
4
  //# sourceMappingURL=dashboardPane.d.ts.map
@@ -0,0 +1,7 @@
1
+ import "./homepage.esm.js";
2
+ import { icons as e } from "solid-ui";
3
+ import "solid-logic";
4
+ e.iconBase + "";
5
+ //#endregion
6
+
7
+ //# sourceMappingURL=dashboardPane.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardPane.esm.js","names":[],"sources":["../../src/dashboard/dashboardPane.ts"],"sourcesContent":["import { icons } from 'solid-ui'\nimport { authn, authSession, store } from 'solid-logic'\nimport { Fetcher, NamedNode } from 'rdflib'\nimport { generateHomepage } from './homepage'\nimport { DataBrowserContext, PaneDefinition } from 'pane-registry'\n\nexport const dashboardPane: PaneDefinition = {\n icon: icons.iconBase + 'noun_547570.svg',\n name: 'dashboard',\n label: subject => {\n if (subject.termType === 'NamedNode' && subject.uri === subject.site().uri) {\n return 'Dashboard'\n }\n return null\n },\n render: (subject, context) => {\n console.log('Dashboard Pane Render')\n const dom = context.dom\n const container = dom.createElement('div')\n const runBuildPage = () => {\n container.innerHTML = ''\n buildPage(\n container,\n authn.currentUser() || null,\n context,\n subject\n )\n }\n\n authSession.events.on('login', () => {\n // console.log('On Login')\n runBuildPage()\n })\n authSession.events.on('sessionRestore', () => {\n // console.log('On Session Restore')\n runBuildPage()\n })\n // console.log('Initial Load')\n runBuildPage()\n\n return container\n }\n}\n\nfunction buildPage (\n container: HTMLElement,\n webId: NamedNode | null,\n context: DataBrowserContext,\n subject: NamedNode | null\n) {\n const uri = (new URL(window.location.href)).searchParams.get('uri')\n\n if (uri && webId) {\n return buildDashboard(container, context)\n }\n\n if (!uri && subject) {\n return buildHomePage(container, subject)\n }\n\n if (!uri && !subject && webId) {\n return buildDashboard(container, context)\n }\n\n const fallbackSubject = subject || webId || store.sym(window.location.href)\n return buildHomePage(container, fallbackSubject)\n}\n\nfunction buildDashboard (container: HTMLElement, context: DataBrowserContext) {\n // console.log('build dashboard')\n // @@ TODO get a proper type\n const outliner: any = context.getOutliner(context.dom)\n outliner\n .getDashboard()\n .then((dashboard: HTMLElement) => container.appendChild(dashboard))\n}\n\nfunction buildHomePage (container: HTMLElement, subject: NamedNode) {\n // console.log('build home page')\n const wrapper = document.createElement('div')\n container.appendChild(wrapper)\n const shadow = wrapper.attachShadow({ mode: 'open' })\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = '/common/css/bootstrap.min.css'\n shadow.appendChild(link)\n generateHomepage(subject, store, store.fetcher as Fetcher).then(homepage =>\n shadow.appendChild(homepage)\n )\n}\n\nexport default dashboardPane\n"],"mappings":";;;AAOQ,EAAM,WAAW"}
@@ -0,0 +1,2 @@
1
+ const e=require("../utils/webIdUtils.cjs.js");async function t(t,i,a){let o=await e.loadProfileFromURI(t),s=e.getName(i,o),c=document.createElement(`div`);return c.classList.add(`container`),c.appendChild(r(o.uri,s)),c.appendChild(n(s)),c}function n(e){let t=document.createElement(`section`),n=document.createElement(`h2`);n.innerText=`Data`,t.appendChild(n);let r=document.createElement(`div`);r.classList.add(`list-group`),t.appendChild(r);let i=document.createElement(`a`);return i.classList.add(`list-group-item`),i.href=window.document.location.href+`public/`,i.innerText=`View ${e}'s files`,r.appendChild(i),t}function r(e,t){let n=document.createElement(`a`);n.href=e,n.innerText=t;let r=document.createElement(`span`);r.innerText=`'s Profile`;let i=document.createElement(`h1`);return i.appendChild(n),i.appendChild(r),i}exports.generateHomepage=t;
2
+ //# sourceMappingURL=homepage.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.cjs.js","names":[],"sources":["../../src/dashboard/homepage.ts"],"sourcesContent":["import { Fetcher, IndexedFormula, NamedNode } from 'rdflib'\nimport { loadProfileFromURI, getName } from '../utils/webIdUtils'\n\nexport async function generateHomepage (\n uri: NamedNode,\n store: IndexedFormula,\n fetcher: Fetcher\n): Promise<HTMLElement> {\n const ownersProfile = await loadProfileFromURI(uri)\n const name = getName(store, ownersProfile)\n\n const wrapper = document.createElement('div')\n wrapper.classList.add('container')\n wrapper.appendChild(createTitle(ownersProfile.uri, name))\n wrapper.appendChild(createDataSection(name))\n\n return wrapper\n}\n\nfunction createDataSection (name: string): HTMLElement {\n const dataSection = document.createElement('section')\n\n const title = document.createElement('h2')\n title.innerText = 'Data'\n dataSection.appendChild(title)\n\n const listGroup = document.createElement('div')\n listGroup.classList.add('list-group')\n dataSection.appendChild(listGroup)\n\n const publicDataLink = document.createElement('a')\n publicDataLink.classList.add('list-group-item')\n publicDataLink.href = window.document.location.href + 'public/'\n publicDataLink.innerText = `View ${name}'s files`\n listGroup.appendChild(publicDataLink)\n\n return dataSection\n}\n\nfunction createTitle (uri: string, name: string): HTMLElement {\n const profileLink = document.createElement('a')\n profileLink.href = uri\n profileLink.innerText = name\n\n const profileLinkPost = document.createElement('span')\n profileLinkPost.innerText = '\\'s Profile'\n\n const title = document.createElement('h1')\n title.appendChild(profileLink)\n title.appendChild(profileLinkPost)\n\n return title\n}\n"],"mappings":"8CAGA,eAAsB,EACpB,EACA,EACA,EACsB,CACtB,IAAM,EAAgB,MAAM,EAAA,mBAAmB,CAAG,EAC5C,EAAO,EAAA,QAAQ,EAAO,CAAa,EAEnC,EAAU,SAAS,cAAc,KAAK,EAK5C,OAJA,EAAQ,UAAU,IAAI,WAAW,EACjC,EAAQ,YAAY,EAAY,EAAc,IAAK,CAAI,CAAC,EACxD,EAAQ,YAAY,EAAkB,CAAI,CAAC,EAEpC,CACT,CAEA,SAAS,EAAmB,EAA2B,CACrD,IAAM,EAAc,SAAS,cAAc,SAAS,EAE9C,EAAQ,SAAS,cAAc,IAAI,EACzC,EAAM,UAAY,OAClB,EAAY,YAAY,CAAK,EAE7B,IAAM,EAAY,SAAS,cAAc,KAAK,EAC9C,EAAU,UAAU,IAAI,YAAY,EACpC,EAAY,YAAY,CAAS,EAEjC,IAAM,EAAiB,SAAS,cAAc,GAAG,EAMjD,OALA,EAAe,UAAU,IAAI,iBAAiB,EAC9C,EAAe,KAAO,OAAO,SAAS,SAAS,KAAO,UACtD,EAAe,UAAY,QAAQ,EAAK,UACxC,EAAU,YAAY,CAAc,EAE7B,CACT,CAEA,SAAS,EAAa,EAAa,EAA2B,CAC5D,IAAM,EAAc,SAAS,cAAc,GAAG,EAC9C,EAAY,KAAO,EACnB,EAAY,UAAY,EAExB,IAAM,EAAkB,SAAS,cAAc,MAAM,EACrD,EAAgB,UAAY,aAE5B,IAAM,EAAQ,SAAS,cAAc,IAAI,EAIzC,OAHA,EAAM,YAAY,CAAW,EAC7B,EAAM,YAAY,CAAe,EAE1B,CACT"}
@@ -1,3 +1,3 @@
1
- import { Fetcher, IndexedFormula, NamedNode } from 'rdflib';
1
+ import { Fetcher, IndexedFormula, NamedNode } from '../../node_modules/rdflib';
2
2
  export declare function generateHomepage(uri: NamedNode, store: IndexedFormula, fetcher: Fetcher): Promise<HTMLElement>;
3
3
  //# sourceMappingURL=homepage.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { getName as e, loadProfileFromURI as t } from "../utils/webIdUtils.esm.js";
2
+ //#region src/dashboard/homepage.ts
3
+ async function n(n, a, o) {
4
+ let s = await t(n), c = e(a, s), l = document.createElement("div");
5
+ return l.classList.add("container"), l.appendChild(i(s.uri, c)), l.appendChild(r(c)), l;
6
+ }
7
+ function r(e) {
8
+ let t = document.createElement("section"), n = document.createElement("h2");
9
+ n.innerText = "Data", t.appendChild(n);
10
+ let r = document.createElement("div");
11
+ r.classList.add("list-group"), t.appendChild(r);
12
+ let i = document.createElement("a");
13
+ return i.classList.add("list-group-item"), i.href = window.document.location.href + "public/", i.innerText = `View ${e}'s files`, r.appendChild(i), t;
14
+ }
15
+ function i(e, t) {
16
+ let n = document.createElement("a");
17
+ n.href = e, n.innerText = t;
18
+ let r = document.createElement("span");
19
+ r.innerText = "'s Profile";
20
+ let i = document.createElement("h1");
21
+ return i.appendChild(n), i.appendChild(r), i;
22
+ }
23
+ //#endregion
24
+ export { n as generateHomepage };
25
+
26
+ //# sourceMappingURL=homepage.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.esm.js","names":[],"sources":["../../src/dashboard/homepage.ts"],"sourcesContent":["import { Fetcher, IndexedFormula, NamedNode } from 'rdflib'\nimport { loadProfileFromURI, getName } from '../utils/webIdUtils'\n\nexport async function generateHomepage (\n uri: NamedNode,\n store: IndexedFormula,\n fetcher: Fetcher\n): Promise<HTMLElement> {\n const ownersProfile = await loadProfileFromURI(uri)\n const name = getName(store, ownersProfile)\n\n const wrapper = document.createElement('div')\n wrapper.classList.add('container')\n wrapper.appendChild(createTitle(ownersProfile.uri, name))\n wrapper.appendChild(createDataSection(name))\n\n return wrapper\n}\n\nfunction createDataSection (name: string): HTMLElement {\n const dataSection = document.createElement('section')\n\n const title = document.createElement('h2')\n title.innerText = 'Data'\n dataSection.appendChild(title)\n\n const listGroup = document.createElement('div')\n listGroup.classList.add('list-group')\n dataSection.appendChild(listGroup)\n\n const publicDataLink = document.createElement('a')\n publicDataLink.classList.add('list-group-item')\n publicDataLink.href = window.document.location.href + 'public/'\n publicDataLink.innerText = `View ${name}'s files`\n listGroup.appendChild(publicDataLink)\n\n return dataSection\n}\n\nfunction createTitle (uri: string, name: string): HTMLElement {\n const profileLink = document.createElement('a')\n profileLink.href = uri\n profileLink.innerText = name\n\n const profileLinkPost = document.createElement('span')\n profileLinkPost.innerText = '\\'s Profile'\n\n const title = document.createElement('h1')\n title.appendChild(profileLink)\n title.appendChild(profileLinkPost)\n\n return title\n}\n"],"mappings":";;AAGA,eAAsB,EACpB,GACA,GACA,GACsB;CACtB,IAAM,IAAgB,MAAM,EAAmB,CAAG,GAC5C,IAAO,EAAQ,GAAO,CAAa,GAEnC,IAAU,SAAS,cAAc,KAAK;CAK5C,OAJA,EAAQ,UAAU,IAAI,WAAW,GACjC,EAAQ,YAAY,EAAY,EAAc,KAAK,CAAI,CAAC,GACxD,EAAQ,YAAY,EAAkB,CAAI,CAAC,GAEpC;AACT;AAEA,SAAS,EAAmB,GAA2B;CACrD,IAAM,IAAc,SAAS,cAAc,SAAS,GAE9C,IAAQ,SAAS,cAAc,IAAI;CAEzC,AADA,EAAM,YAAY,QAClB,EAAY,YAAY,CAAK;CAE7B,IAAM,IAAY,SAAS,cAAc,KAAK;CAE9C,AADA,EAAU,UAAU,IAAI,YAAY,GACpC,EAAY,YAAY,CAAS;CAEjC,IAAM,IAAiB,SAAS,cAAc,GAAG;CAMjD,OALA,EAAe,UAAU,IAAI,iBAAiB,GAC9C,EAAe,OAAO,OAAO,SAAS,SAAS,OAAO,WACtD,EAAe,YAAY,QAAQ,EAAK,WACxC,EAAU,YAAY,CAAc,GAE7B;AACT;AAEA,SAAS,EAAa,GAAa,GAA2B;CAC5D,IAAM,IAAc,SAAS,cAAc,GAAG;CAE9C,AADA,EAAY,OAAO,GACnB,EAAY,YAAY;CAExB,IAAM,IAAkB,SAAS,cAAc,MAAM;CACrD,EAAgB,YAAY;CAE5B,IAAM,IAAQ,SAAS,cAAc,IAAI;CAIzC,OAHA,EAAM,YAAY,CAAW,GAC7B,EAAM,YAAY,CAAe,GAE1B;AACT"}
@@ -0,0 +1,37 @@
1
+ var e=`@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
2
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
3
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
4
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
5
+ @prefix schema: <http:/schema.org/>.
6
+ @prefix ui: <http://www.w3.org/ns/ui#>.
7
+ @prefix vcard: <http://www.w3.org/2006/vcard/ns#>.
8
+ @prefix : <#>.
9
+
10
+ solid:User a rdfs:Class;
11
+ rdfs:label "user"@en, "utilisateur"@fr;
12
+ rdfs:comment """Any person who might use a Solid-based system""";
13
+ rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.
14
+
15
+ # Since these options are opt-in, it is a bit strange to have new users opt in
16
+ # That they are new users - also we do not use this class for anything specific
17
+ # yet
18
+ # solid:NewUser a rdfs:Class;
19
+ # rdfs:label "new user"@en;
20
+ # rdfs:comment """A person who might use a Solid-based system who has a low
21
+ # level of familiarity with technical details.""";
22
+ # rdfs:subClassOf solid:User.
23
+
24
+ solid:PowerUser a rdfs:Class;
25
+ rdfs:label "power user"@en;
26
+ rdfs:comment """A person who might use a Solid-based system
27
+ who is prepared to be given a more complex interface in order
28
+ to be provided with more pwerful features.""";
29
+ rdfs:subClassOf solid:User.
30
+
31
+ solid:Developer a rdfs:Class;
32
+ rdfs:label "Developer";
33
+ rdfs:comment """Any person who might use a Solid-based system,
34
+ who has software development skills.""";
35
+ rdfs:subClassOf solid:User.
36
+ `;exports.default=e;
37
+ //# sourceMappingURL=ontologyData.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontologyData.cjs.js","names":[],"sources":["../../src/dashboard/ontologyData.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix schema: <http:/schema.org/>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.\n@prefix : <#>.\n\nsolid:User a rdfs:Class;\n rdfs:label \"user\"@en, \"utilisateur\"@fr;\n rdfs:comment \"\"\"Any person who might use a Solid-based system\"\"\";\n rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.\n\n# Since these options are opt-in, it is a bit strange to have new users opt in\n# That they are new users - also we do not use this class for anything specific\n# yet\n# solid:NewUser a rdfs:Class;\n# rdfs:label \"new user\"@en;\n# rdfs:comment \"\"\"A person who might use a Solid-based system who has a low\n# level of familiarity with technical details.\"\"\";\n# rdfs:subClassOf solid:User.\n\nsolid:PowerUser a rdfs:Class;\n rdfs:label \"power user\"@en;\n rdfs:comment \"\"\"A person who might use a Solid-based system\n who is prepared to be given a more complex interface in order\n to be provided with more pwerful features.\"\"\";\n rdfs:subClassOf solid:User.\n\n solid:Developer a rdfs:Class;\n rdfs:label \"Developer\";\n rdfs:comment \"\"\"Any person who might use a Solid-based system,\n who has software development skills.\"\"\";\n rdfs:subClassOf solid:User.\n"],"mappings":"AAAA,IAAA,EAAe"}
@@ -0,0 +1,6 @@
1
+ //#region src/dashboard/ontologyData.ttl
2
+ var e = "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix schema: <http:/schema.org/>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.\n@prefix : <#>.\n\nsolid:User a rdfs:Class;\n rdfs:label \"user\"@en, \"utilisateur\"@fr;\n rdfs:comment \"\"\"Any person who might use a Solid-based system\"\"\";\n rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.\n\n# Since these options are opt-in, it is a bit strange to have new users opt in\n# That they are new users - also we do not use this class for anything specific\n# yet\n# solid:NewUser a rdfs:Class;\n# rdfs:label \"new user\"@en;\n# rdfs:comment \"\"\"A person who might use a Solid-based system who has a low\n# level of familiarity with technical details.\"\"\";\n# rdfs:subClassOf solid:User.\n\nsolid:PowerUser a rdfs:Class;\n rdfs:label \"power user\"@en;\n rdfs:comment \"\"\"A person who might use a Solid-based system\n who is prepared to be given a more complex interface in order\n to be provided with more pwerful features.\"\"\";\n rdfs:subClassOf solid:User.\n\n solid:Developer a rdfs:Class;\n rdfs:label \"Developer\";\n rdfs:comment \"\"\"Any person who might use a Solid-based system,\n who has software development skills.\"\"\";\n rdfs:subClassOf solid:User.\n";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=ontologyData.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontologyData.esm.js","names":[],"sources":["../../src/dashboard/ontologyData.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix schema: <http:/schema.org/>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix vcard: <http://www.w3.org/2006/vcard/ns#>.\n@prefix : <#>.\n\nsolid:User a rdfs:Class;\n rdfs:label \"user\"@en, \"utilisateur\"@fr;\n rdfs:comment \"\"\"Any person who might use a Solid-based system\"\"\";\n rdfs:subClassOf foaf:Person, schema:Person, vcard:Individual.\n\n# Since these options are opt-in, it is a bit strange to have new users opt in\n# That they are new users - also we do not use this class for anything specific\n# yet\n# solid:NewUser a rdfs:Class;\n# rdfs:label \"new user\"@en;\n# rdfs:comment \"\"\"A person who might use a Solid-based system who has a low\n# level of familiarity with technical details.\"\"\";\n# rdfs:subClassOf solid:User.\n\nsolid:PowerUser a rdfs:Class;\n rdfs:label \"power user\"@en;\n rdfs:comment \"\"\"A person who might use a Solid-based system\n who is prepared to be given a more complex interface in order\n to be provided with more pwerful features.\"\"\";\n rdfs:subClassOf solid:User.\n\n solid:Developer a rdfs:Class;\n rdfs:label \"Developer\";\n rdfs:comment \"\"\"Any person who might use a Solid-based system,\n who has software development skills.\"\"\";\n rdfs:subClassOf solid:User.\n"],"mappings":";AAAA,IAAA,IAAe"}
@@ -0,0 +1,20 @@
1
+ var e=`@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
2
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
3
+ @prefix ui: <http://www.w3.org/ns/ui#>.
4
+ @prefix : <#>.
5
+
6
+ :this <http://purl.org/dc/elements/1.1/title> "Basic preferences" ;
7
+ a ui:Form ;
8
+ ui:part :categorizeUser, :privateComment, :personalInformationHeading;
9
+ ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).
10
+
11
+ :personalInformationHeading a ui:Heading;
12
+ ui:contents "Personal information".
13
+
14
+ :privateComment a ui:Comment;
15
+ ui:contents "This information is private.".
16
+
17
+ :categorizeUser a ui:Classifier;
18
+ ui:label "Level of user"; ui:property rdf:type ; ui:category solid:User.
19
+ `;exports.default=e;
20
+ //# sourceMappingURL=preferencesFormText.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferencesFormText.cjs.js","names":[],"sources":["../../src/dashboard/preferencesFormText.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix : <#>.\n\n:this <http://purl.org/dc/elements/1.1/title> \"Basic preferences\" ;\n a ui:Form ;\n ui:part :categorizeUser, :privateComment, :personalInformationHeading;\n ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).\n\n:personalInformationHeading a ui:Heading;\n ui:contents \"Personal information\".\n\n:privateComment a ui:Comment;\n ui:contents \"This information is private.\".\n\n:categorizeUser a ui:Classifier;\n ui:label \"Level of user\"; ui:property rdf:type ; ui:category solid:User.\n"],"mappings":"AAAA,IAAA,EAAe"}
@@ -0,0 +1,6 @@
1
+ //#region src/dashboard/preferencesFormText.ttl
2
+ var e = "@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix : <#>.\n\n:this <http://purl.org/dc/elements/1.1/title> \"Basic preferences\" ;\n a ui:Form ;\n ui:part :categorizeUser, :privateComment, :personalInformationHeading;\n ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).\n\n:personalInformationHeading a ui:Heading;\n ui:contents \"Personal information\".\n\n:privateComment a ui:Comment;\n ui:contents \"This information is private.\".\n\n:categorizeUser a ui:Classifier;\n ui:label \"Level of user\"; ui:property rdf:type ; ui:category solid:User.\n";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=preferencesFormText.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferencesFormText.esm.js","names":[],"sources":["../../src/dashboard/preferencesFormText.ttl"],"sourcesContent":["@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.\n@prefix solid: <http://www.w3.org/ns/solid/terms#>.\n@prefix ui: <http://www.w3.org/ns/ui#>.\n@prefix : <#>.\n\n:this <http://purl.org/dc/elements/1.1/title> \"Basic preferences\" ;\n a ui:Form ;\n ui:part :categorizeUser, :privateComment, :personalInformationHeading;\n ui:parts ( :personalInformationHeading :privateComment :categorizeUser ).\n\n:personalInformationHeading a ui:Heading;\n ui:contents \"Personal information\".\n\n:privateComment a ui:Comment;\n ui:contents \"This information is private.\".\n\n:categorizeUser a ui:Classifier;\n ui:label \"Level of user\"; ui:property rdf:type ; ui:category solid:User.\n"],"mappings":";AAAA,IAAA,IAAe"}
@@ -1,6 +1,5 @@
1
- import type { DataBrowserContext } from 'pane-registry';
2
- import type { BlankNode, NamedNode, Statement } from 'rdflib';
3
- import './dataContentPane.css';
1
+ import { DataBrowserContext } from '../node_modules/pane-registry';
2
+ import { BlankNode, NamedNode, Statement } from '../node_modules/rdflib';
4
3
  type SubjectTerm = NamedNode | BlankNode;
5
4
  export declare const dataContentPane: {
6
5
  icon: string;
@@ -0,0 +1,2 @@
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.data-content-pane__literal{white-space:pre-wrap}div.data-content-pane{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);margin-top:var(--spacing-base,.5rem);margin-bottom:var(--spacing-base,.5rem)}div.data-content-pane table.data-content-pane__table{border-collapse:separate;border-spacing:0;width:100%}div.data-content-pane table.data-content-pane__table--root{table-layout:auto}div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__row--root>td{vertical-align:top}div.data-content-pane .data-content-pane__subject-cell{flex:none;width:clamp(7rem,12%,10rem);padding-right:.8rem}div.data-content-pane .data-content-pane__details-cell{flex:0 auto;min-width:0}div.data-content-pane .data-content-pane__subject-cell,div.data-content-pane td.data-content-pane__predicate-cell,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell),div.data-content-pane .data-content-pane__subject-cell a,div.data-content-pane td.data-content-pane__predicate-cell a,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell) a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}div.data-content-pane table.data-content-pane__table--property{table-layout:auto;width:auto;max-width:100%}.data-content-pane__nested-formula{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);border-radius:var(--border-radius-md,.5rem)}div.data-content-pane td{padding-left:var(--spacing-xxxs,.2rem);padding-top:var(--spacing-small,.1rem);padding-right:var(--spacing-xxxs,.2rem);vertical-align:top;padding-bottom:.05rem}div.data-content-pane table.data-content-pane__table--property td{padding-top:.3rem;padding-bottom:.3rem}div.data-content-pane tr{margin-bottom:var(--spacing-2xs,.625rem);padding-top:var(--spacing-small,.1rem);padding-bottom:var(--spacing-small,.1rem)}.data-content-pane a,.data-content-pane a:link{color:var(--color-text-link,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:visited{color:var(--color-text-link-visited,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:hover{color:var(--color-text-link-hover,#3b5998);font-weight:700;text-decoration:underline}.data-content-pane a:active{color:var(--color-text-link-active,#888);text-decoration:none}.data-content-pane.embeddedText{white-space:pre-wrap}div.data-content-pane td.data-content-pane__predicate-cell{width:clamp(8.5rem,18vw,12rem);min-width:8.5rem;max-width:12rem;padding-right:var(--spacing-base,.5rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-left:var(--spacing-xxs,.3125rem)}div.data-content-pane td.data-content-pane__predicate-cell a{color:var(--color-text-muted,#444)}.data-content-pane__row--even{background-color:var(--color-background-row-alternate,#f0f0f0)}.data-content-pane__row--odd{background-color:var(--color-background-row-default,white)}.data-content-pane__row--top-aligned{vertical-align:top;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.data-content-pane__nested-table--light{background-color:var(--color-background-row-default,white)}.data-content-pane__nested-table--dark{background-color:var(--color-background-row-alternate,#f0f0f0)}div.data-content-pane[data-layout=mobile] .data-content-pane__row--root{padding-bottom:var(--spacing-xs,.75rem);align-items:flex-start;display:flex}div.data-content-pane[data-layout=mobile] .data-content-pane__subject-cell{box-sizing:border-box;width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);flex:0 0 40%;padding-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;min-width:0;max-width:60%}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody>tr,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tr{margin-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned+.data-content-pane__row--top-aligned{margin-top:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned{margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody{width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td{box-sizing:border-box;width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td.data-content-pane__predicate-cell{width:100%;min-width:0;padding-bottom:.1rem}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}@media (width<=700px){div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__subject-cell{width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);box-sizing:border-box;flex:0 0 40%;padding-bottom:0}div.data-content-pane .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;max-width:60%}div.data-content-pane .data-content-pane__row--top-aligned{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td{box-sizing:border-box;width:100%;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td.data-content-pane__predicate-cell{width:100%;min-width:0;max-width:none;padding-bottom:var(--spacing-small,.1rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();const e=require("./_virtual/_rolldown/runtime.cjs.js");;let t=require("solid-ui");t=e.__toESM(t);let n=require("rdflib");n=e.__toESM(n);let r=require("dompurify");r=e.__toESM(r);var i=t.ns,a={icon:t.icons.originalIconBase+`rdf_flyer.24.gif`,name:`dataContents`,audience:[i.solid(`Developer`)],label:function(e,t){if(`http://www.w3.org/2007/ont/link#ProtocolEvent`in t.session.store.findTypeURIs(e))return null;let n=t.session.store.statementsMatching(void 0,void 0,void 0,e).length;return n===0?null:`Data (`+n+`)`},statementsAsTables:function(e,i,a){let o=i.dom,s=o.createElement(`table`);s.classList.add(`data-content-pane__table`,`data-content-pane__table--root`);let c=i.environment?.layout===`mobile`,l=n.Serializer(i.session.store),u=l.rootSubjects(e),d=u.roots,f=u.subjects,p=u.loopBreakers??{};for(let e in p)console.log(` dataContentPane: loopbreaker:`+e);let m={},h={};function g(e,n=0){let r=o.createElement(`table`);r.classList.add(`data-content-pane__table`,`data-content-pane__table--property`);let i=null,a=f[l.toStr(e)];if(!a)return r.appendChild(o.createTextNode(`...`)),r;a.sort();let s=0,u;for(let e=0;e<a.length;e++){let l=a[e],d=o.createElement(`tr`);if(d.classList.add(`data-content-pane__row--top-aligned`,`data-content-pane__row--property`),l.predicate.uri!==i||c){!c&&i&&s>1&&u?.setAttribute(`rowspan`,``+s),u=o.createElement(`td`),u.setAttribute(`class`,`data-content-pane__predicate-cell`);let e=o.createElement(`a`);e.setAttribute(`href`,l.predicate.uri),e.addEventListener(`click`,t.widgets.openHrefInOutlineMode,!0),e.appendChild(o.createTextNode(t.utils.predicateLabelForXML(l.predicate))),u.appendChild(e),d.appendChild(u),i=l.predicate.uri,s=0}s++;let f=o.createElement(`td`);f.classList.add(`data-content-pane__value-cell`),f.appendChild(_(l.object,n+1)),d.appendChild(f),r.appendChild(d)}return!c&&i&&s>1&&u?.setAttribute(`rowspan`,``+s),r}function _(e,n=0){let a,s;switch(e.termType){case`NamedNode`:return s=o.createElement(`a`),s.setAttribute(`href`,e.uri),s.addEventListener(`click`,t.widgets.openHrefInOutlineMode,!0),s.appendChild(o.createTextNode(t.utils.label(e))),s;case`Literal`:return!e.datatype||!e.datatype.uri?(a=o.createElement(`div`),a.classList.add(`data-content-pane__literal`),a.textContent=e.value,a):e.datatype.uri===`http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral`?(a=o.createElement(`div`),a.classList.add(`embeddedXHTML`),a.innerHTML=r.default.sanitize(e.value),a):o.createTextNode(e.value);case`BlankNode`:{if(e.toNT()in m){h[e.toNT()]=!0;let t=o.createElement(`a`);return t.setAttribute(`href`,`#`+e.toNT().slice(2)),t.setAttribute(`class`,`bnodeRef`),t.textContent=`*`+e.toNT().slice(3),t}m[e.toNT()]=!0;let t=g(e,n);return m[e.toNT()]=t,n%2==1?t.classList.add(`data-content-pane__nested-table--light`):t.classList.add(`data-content-pane__nested-table--dark`),t}case`Collection`:a=o.createElement(`table`),a.setAttribute(`class`,`collectionAsTables`);for(let t=0;t<e.elements.length;t++){let r=o.createElement(`tr`);a.appendChild(r),r.appendChild(_(e.elements[t],n+1))}return a;case`Graph`:return a=i.session.paneRegistry.byName(`dataContents`).statementsAsTables(e.statements,i),a.setAttribute(`class`,`data-content-pane__nested-formula`),a;case`Variable`:return o.createTextNode(`?`+e.uri)}throw Error(`Unhandled node type: `+e.termType)}a&&(d=a.concat(d.filter(function(e){for(let t=0;t<a.length;t++)if(e.sameTerm(a[t]))return!1;return!0})));for(let e=0;e<d.length;e++){let n=o.createElement(`tr`);n.classList.add(e%2==0?`data-content-pane__row--even`:`data-content-pane__row--odd`,`data-content-pane__row--root`),s.appendChild(n);let r=o.createElement(`td`);r.classList.add(`data-content-pane__subject-cell`),n.appendChild(r);let i=o.createElement(`td`);i.classList.add(`data-content-pane__details-cell`),n.appendChild(i);let a=d[e];a.termType===`BlankNode`?r.appendChild(o.createTextNode(t.utils.label(a))):r.appendChild(_(a,0)),i.appendChild(g(a,0))}for(let e in h){let t=m[e];if(t===!0)continue;let n=o.createElement(`a`);n.setAttribute(`id`,e.slice(2)),n.setAttribute(`class`,`bnodeDef`),n.textContent=e.slice(3)+`)`,t.insertBefore(n,t.firstChild)}return s},render:function(e,n){let r=n.dom;function i(e){let t=n.environment??{};e.dataset.layout=t.layout??`desktop`,e.dataset.theme=t.theme??`light`,e.dataset.inputMode=t.inputMode??`pointer`}function a(){let r=n.session.store,i=r.statementsMatching(void 0,void 0,void 0,e),a=[];r.holds(e,void 0,void 0,e)&&a.push(e);let s=r.any(e,t.ns.foaf(`primaryTopic`),void 0,e);s&&(s.termType===`NamedNode`||s.termType===`BlankNode`)&&a.push(s),o.appendChild(n.session.paneRegistry.byName(`dataContents`).statementsAsTables(i,n,a))}let o=r.createElement(`div`);return o.classList.add(`dataContentPane`,`data-content-pane`),i(o),a(),o}};exports.dataContentPane=a;
2
+ //# sourceMappingURL=dataContentPane2.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataContentPane2.cjs.js","names":[],"sources":["../src/dataContentPane.ts"],"sourcesContent":["/* Data content Pane\n **\n ** This pane shows the content of a particular RDF resource\n ** or at least the RDF semantics we attribute to that resource.\n */\n\n// To do: - Only take data from one graph\n// - Only do forwards not backward?\n// - Expand automatically all the way down\n// - original source view? Use ffox view source\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport DOMPurify from 'dompurify'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type {\n BlankNode,\n Formula,\n NamedNode,\n Statement\n} from 'rdflib'\nimport './dataContentPane.css'\n\nconst ns = UI.ns\n\ntype SubjectTerm = NamedNode | BlankNode\ntype ObjectTerm = Statement['object'] | Formula\n\ntype RootSubjectsResult = {\n roots: SubjectTerm[]\n subjects: Record<string, Statement[]>\n loopBreakers?: Record<string, unknown>\n}\n\ntype DataContentPaneLike = {\n statementsAsTables: (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ) => HTMLTableElement\n}\n\nexport const dataContentPane = {\n icon: UI.icons.originalIconBase + 'rdf_flyer.24.gif',\n\n name: 'dataContents',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext) {\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n context.session.store.findTypeURIs(subject)\n ) {\n return null\n }\n const n = context.session.store.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ).length\n if (n === 0) return null\n return 'Data (' + n + ')'\n },\n /*\n shouldGetFocus: function(subject) {\n return store.whether(subject, UI.ns.rdf('type'), UI.ns.link('RDFDocument'))\n },\n*/\n statementsAsTables: function statementsAsTables (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ): HTMLTableElement {\n const myDocument = context.dom\n // const outliner = context.getOutliner(myDocument)\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--root')\n const isMobileLayout = context.environment?.layout === 'mobile'\n const sz = $rdf.Serializer(context.session.store)\n const res = sz.rootSubjects(sts) as RootSubjectsResult\n let roots = res.roots\n const subjects = res.subjects\n const loopBreakers = res.loopBreakers ?? {}\n for (const x in loopBreakers) {\n console.log('\\tdataContentPane: loopbreaker:' + x)\n }\n const doneBnodes: Record<string, true | HTMLTableElement> = {}\n const referencedBnodes: Record<string, true> = {}\n\n function propertyTree (\n subject: SubjectTerm,\n nestingLevel = 0\n ): HTMLTableElement {\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--property')\n let lastPred: string | null = null\n const subjectStatements = subjects[sz.toStr(subject)]\n if (!subjectStatements) {\n rep.appendChild(myDocument.createTextNode('...'))\n return rep\n }\n subjectStatements.sort()\n let same = 0\n let predicateTD: HTMLTableCellElement | undefined\n for (let i = 0; i < subjectStatements.length; i++) {\n const st = subjectStatements[i]\n const tr = myDocument.createElement('tr')\n tr.classList.add('data-content-pane__row--top-aligned', 'data-content-pane__row--property')\n if (st.predicate.uri !== lastPred || isMobileLayout) {\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n predicateTD = myDocument.createElement('td')\n predicateTD.setAttribute('class', 'data-content-pane__predicate-cell')\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('href', st.predicate.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(\n myDocument.createTextNode(\n UI.utils.predicateLabelForXML(st.predicate)\n )\n )\n predicateTD.appendChild(anchor)\n tr.appendChild(predicateTD)\n lastPred = st.predicate.uri\n same = 0\n }\n same++\n const objectTD = myDocument.createElement('td')\n objectTD.classList.add('data-content-pane__value-cell')\n objectTD.appendChild(objectTree(st.object, nestingLevel + 1))\n tr.appendChild(objectTD)\n rep.appendChild(tr)\n }\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n return rep\n }\n\n function objectTree (obj: ObjectTerm, nestingLevel = 0): Node {\n let res: HTMLElement | HTMLTableElement | Text\n let anchor: HTMLAnchorElement\n switch (obj.termType) {\n case 'NamedNode':\n anchor = myDocument.createElement('a')\n anchor.setAttribute('href', obj.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(myDocument.createTextNode(UI.utils.label(obj)))\n return anchor\n\n case 'Literal':\n if (!obj.datatype || !obj.datatype.uri) {\n res = myDocument.createElement('div')\n res.classList.add('data-content-pane__literal')\n res.textContent = obj.value\n return res\n } else if (\n obj.datatype.uri ===\n 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'\n ) {\n res = myDocument.createElement('div')\n res.classList.add('embeddedXHTML')\n res.innerHTML = DOMPurify.sanitize(obj.value)\n return res\n }\n return myDocument.createTextNode(obj.value)\n\n case 'BlankNode': {\n if (obj.toNT() in doneBnodes) {\n referencedBnodes[obj.toNT()] = true\n const referenceAnchor = myDocument.createElement('a')\n referenceAnchor.setAttribute('href', '#' + obj.toNT().slice(2))\n referenceAnchor.setAttribute('class', 'bnodeRef')\n referenceAnchor.textContent = '*' + obj.toNT().slice(3)\n return referenceAnchor\n }\n doneBnodes[obj.toNT()] = true\n const newTable = propertyTree(obj, nestingLevel)\n doneBnodes[obj.toNT()] = newTable\n if (nestingLevel % 2 === 1) {\n newTable.classList.add('data-content-pane__nested-table--light')\n } else {\n newTable.classList.add('data-content-pane__nested-table--dark')\n }\n return newTable\n }\n\n case 'Collection':\n res = myDocument.createElement('table')\n res.setAttribute('class', 'collectionAsTables')\n for (let i = 0; i < obj.elements.length; i++) {\n const tr = myDocument.createElement('tr')\n res.appendChild(tr)\n tr.appendChild(objectTree(obj.elements[i] as ObjectTerm, nestingLevel + 1))\n }\n return res\n\n case 'Graph':\n res = (context.session.paneRegistry\n .byName('dataContents') as DataContentPaneLike)\n .statementsAsTables(obj.statements, context)\n res.setAttribute('class', 'data-content-pane__nested-formula')\n return res\n\n case 'Variable':\n return myDocument.createTextNode('?' + obj.uri)\n }\n throw new Error('Unhandled node type: ' + obj.termType)\n }\n\n if (initialRoots) {\n roots = initialRoots.concat(\n roots.filter(function (x: SubjectTerm) {\n for (let i = 0; i < initialRoots.length; i++) {\n if (x.sameTerm(initialRoots[i])) return false\n }\n return true\n })\n )\n }\n for (let i = 0; i < roots.length; i++) {\n const tr = myDocument.createElement('tr')\n tr.classList.add(\n i % 2 === 0 ? 'data-content-pane__row--even' : 'data-content-pane__row--odd',\n 'data-content-pane__row--root'\n )\n rep.appendChild(tr)\n const subjectTD = myDocument.createElement('td')\n subjectTD.classList.add('data-content-pane__subject-cell')\n tr.appendChild(subjectTD)\n const TDTree = myDocument.createElement('td')\n TDTree.classList.add('data-content-pane__details-cell')\n tr.appendChild(TDTree)\n const root = roots[i]\n if (root.termType === 'BlankNode') {\n subjectTD.appendChild(myDocument.createTextNode(UI.utils.label(root)))\n } else {\n subjectTD.appendChild(objectTree(root, 0))\n }\n TDTree.appendChild(propertyTree(root, 0))\n }\n for (const bNT in referencedBnodes) {\n const table = doneBnodes[bNT]\n if (table === true) continue\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('id', bNT.slice(2))\n anchor.setAttribute('class', 'bnodeDef')\n anchor.textContent = bNT.slice(3) + ')'\n table.insertBefore(anchor, table.firstChild)\n }\n return rep\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n element.dataset.theme = environment.theme ?? 'light'\n element.dataset.inputMode = environment.inputMode ?? 'pointer'\n }\n\n function mainRendering () {\n const kb = context.session.store\n const sts = kb.statementsMatching(undefined, undefined, undefined, subject)\n const initialRoots: SubjectTerm[] = []\n if (kb.holds(subject, undefined, undefined, subject)) {\n initialRoots.push(subject)\n }\n const ps = kb.any(subject, UI.ns.foaf('primaryTopic'), undefined, subject)\n if (ps && (ps.termType === 'NamedNode' || ps.termType === 'BlankNode')) {\n initialRoots.push(ps as SubjectTerm)\n }\n\n div.appendChild(\n context.session.paneRegistry\n .byName('dataContents')\n .statementsAsTables(sts, context, initialRoots)\n )\n }\n\n const div = myDocument.createElement('div')\n div.classList.add('dataContentPane', 'data-content-pane')\n applyEnvironmentAttributes(div)\n\n mainRendering()\n return div\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.data-content-pane__literal{white-space:pre-wrap}div.data-content-pane{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);margin-top:var(--spacing-base,.5rem);margin-bottom:var(--spacing-base,.5rem)}div.data-content-pane table.data-content-pane__table{border-collapse:separate;border-spacing:0;width:100%}div.data-content-pane table.data-content-pane__table--root{table-layout:auto}div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__row--root>td{vertical-align:top}div.data-content-pane .data-content-pane__subject-cell{flex:none;width:clamp(7rem,12%,10rem);padding-right:.8rem}div.data-content-pane .data-content-pane__details-cell{flex:0 auto;min-width:0}div.data-content-pane .data-content-pane__subject-cell,div.data-content-pane td.data-content-pane__predicate-cell,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell),div.data-content-pane .data-content-pane__subject-cell a,div.data-content-pane td.data-content-pane__predicate-cell a,div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell) a{white-space:normal;overflow-wrap:anywhere;word-break:break-word}div.data-content-pane table.data-content-pane__table--property{table-layout:auto;width:auto;max-width:100%}.data-content-pane__nested-formula{border-top:solid 1px var(--color-data-pane-border-top,black);border-left:solid 1px var(--color-data-pane-border-top,black);border-bottom:solid 1px var(--color-data-pane-border-side,#777);border-right:solid 1px var(--color-data-pane-border-side,#777);padding:var(--spacing-base,.5rem);border-radius:var(--border-radius-md,.5rem)}div.data-content-pane td{padding-left:var(--spacing-xxxs,.2rem);padding-top:var(--spacing-small,.1rem);padding-right:var(--spacing-xxxs,.2rem);vertical-align:top;padding-bottom:.05rem}div.data-content-pane table.data-content-pane__table--property td{padding-top:.3rem;padding-bottom:.3rem}div.data-content-pane tr{margin-bottom:var(--spacing-2xs,.625rem);padding-top:var(--spacing-small,.1rem);padding-bottom:var(--spacing-small,.1rem)}.data-content-pane a,.data-content-pane a:link{color:var(--color-text-link,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:visited{color:var(--color-text-link-visited,#3b5998);font-weight:700;text-decoration:none}.data-content-pane a:hover{color:var(--color-text-link-hover,#3b5998);font-weight:700;text-decoration:underline}.data-content-pane a:active{color:var(--color-text-link-active,#888);text-decoration:none}.data-content-pane.embeddedText{white-space:pre-wrap}div.data-content-pane td.data-content-pane__predicate-cell{width:clamp(8.5rem,18vw,12rem);min-width:8.5rem;max-width:12rem;padding-right:var(--spacing-base,.5rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-left:var(--spacing-xxs,.3125rem)}div.data-content-pane td.data-content-pane__predicate-cell a{color:var(--color-text-muted,#444)}.data-content-pane__row--even{background-color:var(--color-background-row-alternate,#f0f0f0)}.data-content-pane__row--odd{background-color:var(--color-background-row-default,white)}.data-content-pane__row--top-aligned{vertical-align:top;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0}.data-content-pane__nested-table--light{background-color:var(--color-background-row-default,white)}.data-content-pane__nested-table--dark{background-color:var(--color-background-row-alternate,#f0f0f0)}div.data-content-pane[data-layout=mobile] .data-content-pane__row--root{padding-bottom:var(--spacing-xs,.75rem);align-items:flex-start;display:flex}div.data-content-pane[data-layout=mobile] .data-content-pane__subject-cell{box-sizing:border-box;width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);flex:0 0 40%;padding-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;min-width:0;max-width:60%}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody>tr,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tr{margin-bottom:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned+.data-content-pane__row--top-aligned{margin-top:0}div.data-content-pane[data-layout=mobile] .data-content-pane__row--top-aligned{margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property,div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property>tbody{width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td{box-sizing:border-box;width:100%;display:block}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td.data-content-pane__predicate-cell{width:100%;min-width:0;padding-bottom:.1rem}div.data-content-pane[data-layout=mobile] table.data-content-pane__table--property td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}@media (width<=700px){div.data-content-pane .data-content-pane__row--root{align-items:flex-start;display:flex}div.data-content-pane .data-content-pane__subject-cell{width:40%;max-width:40%;padding-right:var(--spacing-xs,.75rem);box-sizing:border-box;flex:0 0 40%;padding-bottom:0}div.data-content-pane .data-content-pane__details-cell{box-sizing:border-box;flex:0 0 60%;width:60%;max-width:60%}div.data-content-pane .data-content-pane__row--top-aligned{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td{box-sizing:border-box;width:100%;display:block}div.data-content-pane .data-content-pane__row--top-aligned>td.data-content-pane__predicate-cell{width:100%;min-width:0;max-width:none;padding-bottom:var(--spacing-small,.1rem)}div.data-content-pane .data-content-pane__row--top-aligned>td:not(.data-content-pane__predicate-cell){padding-top:0;padding-left:.85rem}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
2
+ import * as e from "solid-ui";
3
+ import * as t from "rdflib";
4
+ import n from "dompurify";
5
+ //#region src/dataContentPane.ts
6
+ var r = e.ns, i = {
7
+ icon: e.icons.originalIconBase + "rdf_flyer.24.gif",
8
+ name: "dataContents",
9
+ audience: [r.solid("Developer")],
10
+ label: function(e, t) {
11
+ if ("http://www.w3.org/2007/ont/link#ProtocolEvent" in t.session.store.findTypeURIs(e)) return null;
12
+ let n = t.session.store.statementsMatching(void 0, void 0, void 0, e).length;
13
+ return n === 0 ? null : "Data (" + n + ")";
14
+ },
15
+ statementsAsTables: function(r, i, a) {
16
+ let o = i.dom, s = o.createElement("table");
17
+ s.classList.add("data-content-pane__table", "data-content-pane__table--root");
18
+ let c = i.environment?.layout === "mobile", l = t.Serializer(i.session.store), u = l.rootSubjects(r), d = u.roots, f = u.subjects, p = u.loopBreakers ?? {};
19
+ for (let e in p) console.log(" dataContentPane: loopbreaker:" + e);
20
+ let m = {}, h = {};
21
+ function g(t, n = 0) {
22
+ let r = o.createElement("table");
23
+ r.classList.add("data-content-pane__table", "data-content-pane__table--property");
24
+ let i = null, a = f[l.toStr(t)];
25
+ if (!a) return r.appendChild(o.createTextNode("...")), r;
26
+ a.sort();
27
+ let s = 0, u;
28
+ for (let t = 0; t < a.length; t++) {
29
+ let l = a[t], d = o.createElement("tr");
30
+ if (d.classList.add("data-content-pane__row--top-aligned", "data-content-pane__row--property"), l.predicate.uri !== i || c) {
31
+ !c && i && s > 1 && u?.setAttribute("rowspan", "" + s), u = o.createElement("td"), u.setAttribute("class", "data-content-pane__predicate-cell");
32
+ let t = o.createElement("a");
33
+ t.setAttribute("href", l.predicate.uri), t.addEventListener("click", e.widgets.openHrefInOutlineMode, !0), t.appendChild(o.createTextNode(e.utils.predicateLabelForXML(l.predicate))), u.appendChild(t), d.appendChild(u), i = l.predicate.uri, s = 0;
34
+ }
35
+ s++;
36
+ let f = o.createElement("td");
37
+ f.classList.add("data-content-pane__value-cell"), f.appendChild(_(l.object, n + 1)), d.appendChild(f), r.appendChild(d);
38
+ }
39
+ return !c && i && s > 1 && u?.setAttribute("rowspan", "" + s), r;
40
+ }
41
+ function _(t, r = 0) {
42
+ let a, s;
43
+ switch (t.termType) {
44
+ case "NamedNode": return s = o.createElement("a"), s.setAttribute("href", t.uri), s.addEventListener("click", e.widgets.openHrefInOutlineMode, !0), s.appendChild(o.createTextNode(e.utils.label(t))), s;
45
+ case "Literal": return !t.datatype || !t.datatype.uri ? (a = o.createElement("div"), a.classList.add("data-content-pane__literal"), a.textContent = t.value, a) : t.datatype.uri === "http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" ? (a = o.createElement("div"), a.classList.add("embeddedXHTML"), a.innerHTML = n.sanitize(t.value), a) : o.createTextNode(t.value);
46
+ case "BlankNode": {
47
+ if (t.toNT() in m) {
48
+ h[t.toNT()] = !0;
49
+ let e = o.createElement("a");
50
+ return e.setAttribute("href", "#" + t.toNT().slice(2)), e.setAttribute("class", "bnodeRef"), e.textContent = "*" + t.toNT().slice(3), e;
51
+ }
52
+ m[t.toNT()] = !0;
53
+ let e = g(t, r);
54
+ return m[t.toNT()] = e, r % 2 == 1 ? e.classList.add("data-content-pane__nested-table--light") : e.classList.add("data-content-pane__nested-table--dark"), e;
55
+ }
56
+ case "Collection":
57
+ a = o.createElement("table"), a.setAttribute("class", "collectionAsTables");
58
+ for (let e = 0; e < t.elements.length; e++) {
59
+ let n = o.createElement("tr");
60
+ a.appendChild(n), n.appendChild(_(t.elements[e], r + 1));
61
+ }
62
+ return a;
63
+ case "Graph": return a = i.session.paneRegistry.byName("dataContents").statementsAsTables(t.statements, i), a.setAttribute("class", "data-content-pane__nested-formula"), a;
64
+ case "Variable": return o.createTextNode("?" + t.uri);
65
+ }
66
+ throw Error("Unhandled node type: " + t.termType);
67
+ }
68
+ a && (d = a.concat(d.filter(function(e) {
69
+ for (let t = 0; t < a.length; t++) if (e.sameTerm(a[t])) return !1;
70
+ return !0;
71
+ })));
72
+ for (let t = 0; t < d.length; t++) {
73
+ let n = o.createElement("tr");
74
+ n.classList.add(t % 2 == 0 ? "data-content-pane__row--even" : "data-content-pane__row--odd", "data-content-pane__row--root"), s.appendChild(n);
75
+ let r = o.createElement("td");
76
+ r.classList.add("data-content-pane__subject-cell"), n.appendChild(r);
77
+ let i = o.createElement("td");
78
+ i.classList.add("data-content-pane__details-cell"), n.appendChild(i);
79
+ let a = d[t];
80
+ a.termType === "BlankNode" ? r.appendChild(o.createTextNode(e.utils.label(a))) : r.appendChild(_(a, 0)), i.appendChild(g(a, 0));
81
+ }
82
+ for (let e in h) {
83
+ let t = m[e];
84
+ if (t === !0) continue;
85
+ let n = o.createElement("a");
86
+ n.setAttribute("id", e.slice(2)), n.setAttribute("class", "bnodeDef"), n.textContent = e.slice(3) + ")", t.insertBefore(n, t.firstChild);
87
+ }
88
+ return s;
89
+ },
90
+ render: function(t, n) {
91
+ let r = n.dom;
92
+ function i(e) {
93
+ let t = n.environment ?? {};
94
+ e.dataset.layout = t.layout ?? "desktop", e.dataset.theme = t.theme ?? "light", e.dataset.inputMode = t.inputMode ?? "pointer";
95
+ }
96
+ function a() {
97
+ let r = n.session.store, i = r.statementsMatching(void 0, void 0, void 0, t), a = [];
98
+ r.holds(t, void 0, void 0, t) && a.push(t);
99
+ let s = r.any(t, e.ns.foaf("primaryTopic"), void 0, t);
100
+ s && (s.termType === "NamedNode" || s.termType === "BlankNode") && a.push(s), o.appendChild(n.session.paneRegistry.byName("dataContents").statementsAsTables(i, n, a));
101
+ }
102
+ let o = r.createElement("div");
103
+ return o.classList.add("dataContentPane", "data-content-pane"), i(o), a(), o;
104
+ }
105
+ };
106
+ //#endregion
107
+ export { i as dataContentPane };
108
+
109
+ //# sourceMappingURL=dataContentPane2.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataContentPane2.esm.js","names":[],"sources":["../src/dataContentPane.ts"],"sourcesContent":["/* Data content Pane\n **\n ** This pane shows the content of a particular RDF resource\n ** or at least the RDF semantics we attribute to that resource.\n */\n\n// To do: - Only take data from one graph\n// - Only do forwards not backward?\n// - Expand automatically all the way down\n// - original source view? Use ffox view source\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport DOMPurify from 'dompurify'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type {\n BlankNode,\n Formula,\n NamedNode,\n Statement\n} from 'rdflib'\nimport './dataContentPane.css'\n\nconst ns = UI.ns\n\ntype SubjectTerm = NamedNode | BlankNode\ntype ObjectTerm = Statement['object'] | Formula\n\ntype RootSubjectsResult = {\n roots: SubjectTerm[]\n subjects: Record<string, Statement[]>\n loopBreakers?: Record<string, unknown>\n}\n\ntype DataContentPaneLike = {\n statementsAsTables: (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ) => HTMLTableElement\n}\n\nexport const dataContentPane = {\n icon: UI.icons.originalIconBase + 'rdf_flyer.24.gif',\n\n name: 'dataContents',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext) {\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n context.session.store.findTypeURIs(subject)\n ) {\n return null\n }\n const n = context.session.store.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ).length\n if (n === 0) return null\n return 'Data (' + n + ')'\n },\n /*\n shouldGetFocus: function(subject) {\n return store.whether(subject, UI.ns.rdf('type'), UI.ns.link('RDFDocument'))\n },\n*/\n statementsAsTables: function statementsAsTables (\n sts: Statement[],\n context: DataBrowserContext,\n initialRoots?: SubjectTerm[]\n ): HTMLTableElement {\n const myDocument = context.dom\n // const outliner = context.getOutliner(myDocument)\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--root')\n const isMobileLayout = context.environment?.layout === 'mobile'\n const sz = $rdf.Serializer(context.session.store)\n const res = sz.rootSubjects(sts) as RootSubjectsResult\n let roots = res.roots\n const subjects = res.subjects\n const loopBreakers = res.loopBreakers ?? {}\n for (const x in loopBreakers) {\n console.log('\\tdataContentPane: loopbreaker:' + x)\n }\n const doneBnodes: Record<string, true | HTMLTableElement> = {}\n const referencedBnodes: Record<string, true> = {}\n\n function propertyTree (\n subject: SubjectTerm,\n nestingLevel = 0\n ): HTMLTableElement {\n const rep = myDocument.createElement('table')\n rep.classList.add('data-content-pane__table', 'data-content-pane__table--property')\n let lastPred: string | null = null\n const subjectStatements = subjects[sz.toStr(subject)]\n if (!subjectStatements) {\n rep.appendChild(myDocument.createTextNode('...'))\n return rep\n }\n subjectStatements.sort()\n let same = 0\n let predicateTD: HTMLTableCellElement | undefined\n for (let i = 0; i < subjectStatements.length; i++) {\n const st = subjectStatements[i]\n const tr = myDocument.createElement('tr')\n tr.classList.add('data-content-pane__row--top-aligned', 'data-content-pane__row--property')\n if (st.predicate.uri !== lastPred || isMobileLayout) {\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n predicateTD = myDocument.createElement('td')\n predicateTD.setAttribute('class', 'data-content-pane__predicate-cell')\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('href', st.predicate.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(\n myDocument.createTextNode(\n UI.utils.predicateLabelForXML(st.predicate)\n )\n )\n predicateTD.appendChild(anchor)\n tr.appendChild(predicateTD)\n lastPred = st.predicate.uri\n same = 0\n }\n same++\n const objectTD = myDocument.createElement('td')\n objectTD.classList.add('data-content-pane__value-cell')\n objectTD.appendChild(objectTree(st.object, nestingLevel + 1))\n tr.appendChild(objectTD)\n rep.appendChild(tr)\n }\n if (!isMobileLayout && lastPred && same > 1) {\n predicateTD?.setAttribute('rowspan', '' + same)\n }\n return rep\n }\n\n function objectTree (obj: ObjectTerm, nestingLevel = 0): Node {\n let res: HTMLElement | HTMLTableElement | Text\n let anchor: HTMLAnchorElement\n switch (obj.termType) {\n case 'NamedNode':\n anchor = myDocument.createElement('a')\n anchor.setAttribute('href', obj.uri)\n anchor.addEventListener(\n 'click',\n UI.widgets.openHrefInOutlineMode,\n true\n )\n anchor.appendChild(myDocument.createTextNode(UI.utils.label(obj)))\n return anchor\n\n case 'Literal':\n if (!obj.datatype || !obj.datatype.uri) {\n res = myDocument.createElement('div')\n res.classList.add('data-content-pane__literal')\n res.textContent = obj.value\n return res\n } else if (\n obj.datatype.uri ===\n 'http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral'\n ) {\n res = myDocument.createElement('div')\n res.classList.add('embeddedXHTML')\n res.innerHTML = DOMPurify.sanitize(obj.value)\n return res\n }\n return myDocument.createTextNode(obj.value)\n\n case 'BlankNode': {\n if (obj.toNT() in doneBnodes) {\n referencedBnodes[obj.toNT()] = true\n const referenceAnchor = myDocument.createElement('a')\n referenceAnchor.setAttribute('href', '#' + obj.toNT().slice(2))\n referenceAnchor.setAttribute('class', 'bnodeRef')\n referenceAnchor.textContent = '*' + obj.toNT().slice(3)\n return referenceAnchor\n }\n doneBnodes[obj.toNT()] = true\n const newTable = propertyTree(obj, nestingLevel)\n doneBnodes[obj.toNT()] = newTable\n if (nestingLevel % 2 === 1) {\n newTable.classList.add('data-content-pane__nested-table--light')\n } else {\n newTable.classList.add('data-content-pane__nested-table--dark')\n }\n return newTable\n }\n\n case 'Collection':\n res = myDocument.createElement('table')\n res.setAttribute('class', 'collectionAsTables')\n for (let i = 0; i < obj.elements.length; i++) {\n const tr = myDocument.createElement('tr')\n res.appendChild(tr)\n tr.appendChild(objectTree(obj.elements[i] as ObjectTerm, nestingLevel + 1))\n }\n return res\n\n case 'Graph':\n res = (context.session.paneRegistry\n .byName('dataContents') as DataContentPaneLike)\n .statementsAsTables(obj.statements, context)\n res.setAttribute('class', 'data-content-pane__nested-formula')\n return res\n\n case 'Variable':\n return myDocument.createTextNode('?' + obj.uri)\n }\n throw new Error('Unhandled node type: ' + obj.termType)\n }\n\n if (initialRoots) {\n roots = initialRoots.concat(\n roots.filter(function (x: SubjectTerm) {\n for (let i = 0; i < initialRoots.length; i++) {\n if (x.sameTerm(initialRoots[i])) return false\n }\n return true\n })\n )\n }\n for (let i = 0; i < roots.length; i++) {\n const tr = myDocument.createElement('tr')\n tr.classList.add(\n i % 2 === 0 ? 'data-content-pane__row--even' : 'data-content-pane__row--odd',\n 'data-content-pane__row--root'\n )\n rep.appendChild(tr)\n const subjectTD = myDocument.createElement('td')\n subjectTD.classList.add('data-content-pane__subject-cell')\n tr.appendChild(subjectTD)\n const TDTree = myDocument.createElement('td')\n TDTree.classList.add('data-content-pane__details-cell')\n tr.appendChild(TDTree)\n const root = roots[i]\n if (root.termType === 'BlankNode') {\n subjectTD.appendChild(myDocument.createTextNode(UI.utils.label(root)))\n } else {\n subjectTD.appendChild(objectTree(root, 0))\n }\n TDTree.appendChild(propertyTree(root, 0))\n }\n for (const bNT in referencedBnodes) {\n const table = doneBnodes[bNT]\n if (table === true) continue\n const anchor = myDocument.createElement('a')\n anchor.setAttribute('id', bNT.slice(2))\n anchor.setAttribute('class', 'bnodeDef')\n anchor.textContent = bNT.slice(3) + ')'\n table.insertBefore(anchor, table.firstChild)\n }\n return rep\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n element.dataset.theme = environment.theme ?? 'light'\n element.dataset.inputMode = environment.inputMode ?? 'pointer'\n }\n\n function mainRendering () {\n const kb = context.session.store\n const sts = kb.statementsMatching(undefined, undefined, undefined, subject)\n const initialRoots: SubjectTerm[] = []\n if (kb.holds(subject, undefined, undefined, subject)) {\n initialRoots.push(subject)\n }\n const ps = kb.any(subject, UI.ns.foaf('primaryTopic'), undefined, subject)\n if (ps && (ps.termType === 'NamedNode' || ps.termType === 'BlankNode')) {\n initialRoots.push(ps as SubjectTerm)\n }\n\n div.appendChild(\n context.session.paneRegistry\n .byName('dataContents')\n .statementsAsTables(sts, context, initialRoots)\n )\n }\n\n const div = myDocument.createElement('div')\n div.classList.add('dataContentPane', 'data-content-pane')\n applyEnvironmentAttributes(div)\n\n mainRendering()\n return div\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import type { DataBrowserContext } from 'pane-registry';
2
- import type { BlankNode, Literal, NamedNode } from 'rdflib';
3
- import './defaultPane.css';
1
+ import { DataBrowserContext } from '../node_modules/pane-registry';
2
+ import { BlankNode, Literal, NamedNode } from '../node_modules/rdflib';
4
3
  type DefaultPaneSubject = NamedNode | BlankNode | Literal;
5
4
  type DefaultPaneDefinition = {
6
5
  icon: string;
@@ -0,0 +1,2 @@
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.defaultPane .bottom-border{border:.2rem solid #0000;width:100%}.defaultPane .bottom-border-active{cursor:copy;border:.2rem solid;border-color:var(--color-bottom-border-highlight,#ffa600)}.defaultPane{--default-pane-predicate-column:16rem;--default-pane-object-indent:1.75rem}.defaultPane>tr{grid-template-columns:minmax(0, var(--default-pane-predicate-column)) minmax(0, 1fr);align-items:flex-start;display:grid}.defaultPane>tr>td.pred{box-sizing:border-box;grid-column:1;align-items:flex-start;min-width:0;display:flex;padding-left:0!important}.defaultPane>tr>td.pred>.labelTD{flex:auto;min-width:0;margin:0;padding-top:0;padding-bottom:0}.defaultPane>tr>td.pred>.iconTD{flex:none;width:auto;margin:0}.defaultPane>tr>td.obj{box-sizing:border-box;grid-column:2;align-self:start;min-width:0}.defaultPane>tr>td[colspan="2"]{grid-column:1/-1}.defaultPane[data-layout=mobile]>tr{grid-template-columns:minmax(0,1fr)}.defaultPane[data-layout=mobile]>tr>td.pred,.defaultPane[data-layout=mobile]>tr>td.obj{box-sizing:border-box;grid-column:1;width:100%;display:block}.defaultPane[data-layout=mobile]>tr>td.pred{padding-bottom:var(--spacing-small,.1rem)}.defaultPane[data-layout=mobile]>tr>td.obj{padding-left:var(--default-pane-object-indent)!important}@media (width<=700px){.defaultPane>tr{grid-template-columns:minmax(0,1fr)}.defaultPane>tr>td.pred,.defaultPane>tr>td.obj{box-sizing:border-box;grid-column:1;width:100%;display:block}.defaultPane>tr>td.pred{padding-bottom:var(--spacing-small,.1rem)}.defaultPane>tr>td.obj{padding-left:var(--default-pane-object-indent)!important}}`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();const e=require("./_virtual/_rolldown/runtime.cjs.js");;let t=require("solid-ui");t=e.__toESM(t);let n=require("rdflib");n=e.__toESM(n);var r=t.ns,i={icon:t.icons.originalIconBase+`about.png`,name:`default`,audience:[r.solid(`Developer`)],label:function(e){return`about `},render:function(e,r){let i=r.dom;function a(e){let t=r.environment??{};e.dataset.layout=t.layout??`desktop`}let o=function(e,t){return!(r.session.paneRegistry.byName(`internal`).predicates[e.uri]!==void 0||t&&e.uri===`http://www.w3.org/1999/02/22-rdf-syntax-ns#type`)},s=r.getOutliner(i),c=r.session.store;t.log.info(`@defaultPane.render, dom is now `+i.location),e=c.canon(e);let l=i.createElement(`div`);l.setAttribute(`class`,`defaultPane`),a(l);let u=e.termType===`Literal`?[]:c.statementsMatching(e);s.appendPropertyTRs(l,u,!1,o),u=c.statementsMatching(void 0,void 0,e),s.appendPropertyTRs(l,u,!0,o);let d=e.termType===`BlankNode`?c.anyStatementMatching(e):void 0;if(e.termType===`Literal`&&e.value.slice(0,7)===`http://`&&s.appendPropertyTRs(l,[n.st(c.sym(e.value),t.ns.link(`uri`),e)],!0,o),e.termType===`NamedNode`&&c.updater.editable(n.Util.uri.docpart(e.uri),c)||e.termType===`BlankNode`&&d&&d.why&&`uri`in d.why&&typeof d.why.uri==`string`&&c.updater.editable(d.why.uri)){let e=i.createElement(`tr`),n=i.createElement(`td`);n.setAttribute(`colspan`,`2`),n.setAttribute(`notSelectable`,`true`);let r=i.createElement(`img`);r.src=t.icons.originalIconBase+`tango/22-list-add-new.png`,r.addEventListener(`click`,function(e){s.UserInput.addNewPredicateObject(e),e.stopPropagation(),e.preventDefault()}),r.className=`bottom-border-active`,l.appendChild(e).appendChild(n).appendChild(r)}return l}};exports.defaultPane=i;
2
+ //# sourceMappingURL=defaultPane2.cjs.js.map