solid-panes 4.5.0 → 5.0.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/README.md +10 -40
  2. package/dist/RDFXMLPane.d.ts +2 -3
  3. package/dist/RDFXMLPane2.cjs.js +3 -0
  4. package/dist/RDFXMLPane2.cjs.js.map +1 -0
  5. package/dist/RDFXMLPane2.esm.js +55 -0
  6. package/dist/RDFXMLPane2.esm.js.map +1 -0
  7. package/dist/_virtual/_rolldown/runtime.cjs.js +1 -0
  8. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js +2 -0
  9. package/dist/_virtual/~icons/lucide/arrow-left.cjs.js.map +1 -0
  10. package/dist/_virtual/~icons/lucide/arrow-left.esm.js +11 -0
  11. package/dist/_virtual/~icons/lucide/arrow-left.esm.js.map +1 -0
  12. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js +2 -0
  13. package/dist/_virtual/~icons/lucide/ellipsis-vertical.cjs.js.map +1 -0
  14. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js +11 -0
  15. package/dist/_virtual/~icons/lucide/ellipsis-vertical.esm.js.map +1 -0
  16. package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
  17. package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
  18. package/dist/_virtual/~icons/lucide/folder-open.esm.js +11 -0
  19. package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
  20. package/dist/_virtual/~icons/lucide/globe.cjs.js +2 -0
  21. package/dist/_virtual/~icons/lucide/globe.cjs.js.map +1 -0
  22. package/dist/_virtual/~icons/lucide/globe.esm.js +11 -0
  23. package/dist/_virtual/~icons/lucide/globe.esm.js.map +1 -0
  24. package/dist/_virtual/~icons/lucide/help-circle.cjs.js +2 -0
  25. package/dist/_virtual/~icons/lucide/help-circle.cjs.js.map +1 -0
  26. package/dist/_virtual/~icons/lucide/help-circle.esm.js +11 -0
  27. package/dist/_virtual/~icons/lucide/help-circle.esm.js.map +1 -0
  28. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js +2 -0
  29. package/dist/_virtual/~icons/lucide/layout-dashboard.cjs.js.map +1 -0
  30. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js +11 -0
  31. package/dist/_virtual/~icons/lucide/layout-dashboard.esm.js.map +1 -0
  32. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js +2 -0
  33. package/dist/_virtual/~icons/lucide/lock-keyhole.cjs.js.map +1 -0
  34. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js +11 -0
  35. package/dist/_virtual/~icons/lucide/lock-keyhole.esm.js.map +1 -0
  36. package/dist/_virtual/~icons/lucide/pencil.cjs.js +2 -0
  37. package/dist/_virtual/~icons/lucide/pencil.cjs.js.map +1 -0
  38. package/dist/_virtual/~icons/lucide/pencil.esm.js +11 -0
  39. package/dist/_virtual/~icons/lucide/pencil.esm.js.map +1 -0
  40. package/dist/_virtual/~icons/lucide/settings-2.cjs.js +2 -0
  41. package/dist/_virtual/~icons/lucide/settings-2.cjs.js.map +1 -0
  42. package/dist/_virtual/~icons/lucide/settings-2.esm.js +11 -0
  43. package/dist/_virtual/~icons/lucide/settings-2.esm.js.map +1 -0
  44. package/dist/_virtual/~icons/lucide/share-2.cjs.js +2 -0
  45. package/dist/_virtual/~icons/lucide/share-2.cjs.js.map +1 -0
  46. package/dist/_virtual/~icons/lucide/share-2.esm.js +11 -0
  47. package/dist/_virtual/~icons/lucide/share-2.esm.js.map +1 -0
  48. package/dist/_virtual/~icons/lucide/trash-2.cjs.js +2 -0
  49. package/dist/_virtual/~icons/lucide/trash-2.cjs.js.map +1 -0
  50. package/dist/_virtual/~icons/lucide/trash-2.esm.js +11 -0
  51. package/dist/_virtual/~icons/lucide/trash-2.esm.js.map +1 -0
  52. package/dist/_virtual/~icons/lucide/user.cjs.js +2 -0
  53. package/dist/_virtual/~icons/lucide/user.cjs.js.map +1 -0
  54. package/dist/_virtual/~icons/lucide/user.esm.js +11 -0
  55. package/dist/_virtual/~icons/lucide/user.esm.js.map +1 -0
  56. package/dist/_virtual/~icons/lucide/users.cjs.js +2 -0
  57. package/dist/_virtual/~icons/lucide/users.cjs.js.map +1 -0
  58. package/dist/_virtual/~icons/lucide/users.esm.js +11 -0
  59. package/dist/_virtual/~icons/lucide/users.esm.js.map +1 -0
  60. package/dist/audio/audioPane.cjs.js +2 -0
  61. package/dist/audio/audioPane.cjs.js.map +1 -0
  62. package/dist/audio/audioPane.esm.js +99 -0
  63. package/dist/audio/audioPane.esm.js.map +1 -0
  64. package/dist/classInstancePane.cjs.js +2 -0
  65. package/dist/classInstancePane.cjs.js.map +1 -0
  66. package/dist/classInstancePane.esm.js +50 -0
  67. package/dist/classInstancePane.esm.js.map +1 -0
  68. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +14 -0
  69. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -0
  70. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts +19 -0
  71. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -0
  72. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +292 -0
  73. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -0
  74. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js +2 -0
  75. package/dist/components/file-explorer-header/FileExplorerHeader.styles.cjs.js.map +1 -0
  76. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js +7 -0
  77. package/dist/components/file-explorer-header/FileExplorerHeader.styles.esm.js.map +1 -0
  78. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +22 -0
  79. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -0
  80. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts +15 -0
  81. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -0
  82. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +266 -0
  83. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -0
  84. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js +2 -0
  85. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.cjs.js.map +1 -0
  86. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js +7 -0
  87. package/dist/components/file-explorer-header/FileExplorerHeaderControls.styles.esm.js.map +1 -0
  88. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +19 -0
  89. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -0
  90. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts +19 -0
  91. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -0
  92. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +321 -0
  93. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -0
  94. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js +2 -0
  95. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.cjs.js.map +1 -0
  96. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js +7 -0
  97. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.styles.esm.js.map +1 -0
  98. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js +13 -0
  99. package/dist/components/file-explorer-header/FileExplorerProvider.cjs.js.map +1 -0
  100. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts +36 -0
  101. package/dist/components/file-explorer-header/FileExplorerProvider.d.ts.map +1 -0
  102. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js +468 -0
  103. package/dist/components/file-explorer-header/FileExplorerProvider.esm.js.map +1 -0
  104. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js +2 -0
  105. package/dist/components/file-explorer-header/FileExplorerProvider.styles.cjs.js.map +1 -0
  106. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js +7 -0
  107. package/dist/components/file-explorer-header/FileExplorerProvider.styles.esm.js.map +1 -0
  108. package/dist/components/file-explorer-header/helper.cjs.js +2 -0
  109. package/dist/components/file-explorer-header/helper.cjs.js.map +1 -0
  110. package/dist/components/file-explorer-header/helper.d.ts +15 -0
  111. package/dist/components/file-explorer-header/helper.d.ts.map +1 -0
  112. package/dist/components/file-explorer-header/helper.esm.js +64 -0
  113. package/dist/components/file-explorer-header/helper.esm.js.map +1 -0
  114. package/dist/components/file-explorer-header/types.d.ts +2 -0
  115. package/dist/components/file-explorer-header/types.d.ts.map +1 -0
  116. package/dist/components/header/Header.cjs.js +19 -0
  117. package/dist/components/header/Header.cjs.js.map +1 -0
  118. package/dist/components/header/Header.d.ts +8 -0
  119. package/dist/components/header/Header.d.ts.map +1 -0
  120. package/dist/components/header/Header.esm.js +228 -0
  121. package/dist/components/header/Header.esm.js.map +1 -0
  122. package/dist/components/header/Header.styles.cjs.js +2 -0
  123. package/dist/components/header/Header.styles.cjs.js.map +1 -0
  124. package/dist/components/header/Header.styles.esm.js +7 -0
  125. package/dist/components/header/Header.styles.esm.js.map +1 -0
  126. package/dist/components/header/index.cjs.js +1 -0
  127. package/dist/components/header/index.d.ts +4 -0
  128. package/dist/components/header/index.d.ts.map +1 -0
  129. package/dist/components/header/index.esm.js +1 -0
  130. package/dist/components/navbar/Navbar.cjs.js +15 -0
  131. package/dist/components/navbar/Navbar.cjs.js.map +1 -0
  132. package/dist/components/navbar/Navbar.d.ts +14 -0
  133. package/dist/components/navbar/Navbar.d.ts.map +1 -0
  134. package/dist/components/navbar/Navbar.esm.js +232 -0
  135. package/dist/components/navbar/Navbar.esm.js.map +1 -0
  136. package/dist/components/navbar/Navbar.styles.cjs.js +2 -0
  137. package/dist/components/navbar/Navbar.styles.cjs.js.map +1 -0
  138. package/dist/components/navbar/Navbar.styles.esm.js +7 -0
  139. package/dist/components/navbar/Navbar.styles.esm.js.map +1 -0
  140. package/dist/components/navbar/index.cjs.js +1 -0
  141. package/dist/components/navbar/index.d.ts +4 -0
  142. package/dist/components/navbar/index.d.ts.map +1 -0
  143. package/dist/components/navbar/index.esm.js +1 -0
  144. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js +16 -0
  145. package/dist/components/resource-actions-menu/DeleteResourceDialog.cjs.js.map +1 -0
  146. package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts +8 -0
  147. package/dist/components/resource-actions-menu/DeleteResourceDialog.d.ts.map +1 -0
  148. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js +215 -0
  149. package/dist/components/resource-actions-menu/DeleteResourceDialog.esm.js.map +1 -0
  150. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +18 -0
  151. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -0
  152. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts +16 -0
  153. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -0
  154. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +260 -0
  155. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -0
  156. package/dist/dashboard/basicPreferences.cjs.js +2 -0
  157. package/dist/dashboard/basicPreferences.cjs.js.map +1 -0
  158. package/dist/dashboard/basicPreferences.d.ts +1 -1
  159. package/dist/dashboard/basicPreferences.esm.js +70 -0
  160. package/dist/dashboard/basicPreferences.esm.js.map +1 -0
  161. package/dist/dashboard/dashboardPane.cjs.js +2 -0
  162. package/dist/dashboard/dashboardPane.cjs.js.map +1 -0
  163. package/dist/dashboard/dashboardPane.d.ts +1 -1
  164. package/dist/dashboard/dashboardPane.esm.js +7 -0
  165. package/dist/dashboard/dashboardPane.esm.js.map +1 -0
  166. package/dist/dashboard/homepage.cjs.js +2 -0
  167. package/dist/dashboard/homepage.cjs.js.map +1 -0
  168. package/dist/dashboard/homepage.d.ts +1 -1
  169. package/dist/dashboard/homepage.esm.js +26 -0
  170. package/dist/dashboard/homepage.esm.js.map +1 -0
  171. package/dist/dashboard/ontologyData.cjs.js +37 -0
  172. package/dist/dashboard/ontologyData.cjs.js.map +1 -0
  173. package/dist/dashboard/ontologyData.esm.js +6 -0
  174. package/dist/dashboard/ontologyData.esm.js.map +1 -0
  175. package/dist/dashboard/preferencesFormText.cjs.js +20 -0
  176. package/dist/dashboard/preferencesFormText.cjs.js.map +1 -0
  177. package/dist/dashboard/preferencesFormText.esm.js +6 -0
  178. package/dist/dashboard/preferencesFormText.esm.js.map +1 -0
  179. package/dist/dataContentPane.d.ts +2 -3
  180. package/dist/dataContentPane2.cjs.js +2 -0
  181. package/dist/dataContentPane2.cjs.js.map +1 -0
  182. package/dist/dataContentPane2.esm.js +109 -0
  183. package/dist/dataContentPane2.esm.js.map +1 -0
  184. package/dist/defaultPane.d.ts +2 -3
  185. package/dist/defaultPane2.cjs.js +2 -0
  186. package/dist/defaultPane2.cjs.js.map +1 -0
  187. package/dist/defaultPane2.esm.js +41 -0
  188. package/dist/defaultPane2.esm.js.map +1 -0
  189. package/dist/dev.d.ts +10 -0
  190. package/dist/dev.d.ts.map +1 -0
  191. package/dist/dokieli/dokieliPane.cjs.js +2 -0
  192. package/dist/dokieli/dokieliPane.cjs.js.map +1 -0
  193. package/dist/dokieli/dokieliPane.esm.js +39 -0
  194. package/dist/dokieli/dokieliPane.esm.js.map +1 -0
  195. package/dist/dokieli/{new.js → new.cjs.js} +4 -10
  196. package/dist/dokieli/new.cjs.js.map +1 -0
  197. package/dist/dokieli/new.esm.js +6 -0
  198. package/dist/dokieli/new.esm.js.map +1 -0
  199. package/dist/form/pane.cjs.js +4 -0
  200. package/dist/form/pane.cjs.js.map +1 -0
  201. package/dist/form/pane.d.ts +1 -2
  202. package/dist/form/pane.esm.js +122 -0
  203. package/dist/form/pane.esm.js.map +1 -0
  204. package/dist/home/homePane.cjs.js +2 -0
  205. package/dist/home/homePane.cjs.js.map +1 -0
  206. package/dist/home/homePane.d.ts +1 -1
  207. package/dist/home/homePane.esm.js +35 -0
  208. package/dist/home/homePane.esm.js.map +1 -0
  209. package/dist/humanReadablePane.d.ts +2 -3
  210. package/dist/humanReadablePane2.cjs.js +2 -0
  211. package/dist/humanReadablePane2.cjs.js.map +1 -0
  212. package/dist/humanReadablePane2.esm.js +123 -0
  213. package/dist/humanReadablePane2.esm.js.map +1 -0
  214. package/dist/icons/folder.cjs.js +2 -0
  215. package/dist/icons/folder.cjs.js.map +1 -0
  216. package/dist/icons/folder.esm.js +6 -0
  217. package/dist/icons/folder.esm.js.map +1 -0
  218. package/dist/icons/friends.cjs.js +2 -0
  219. package/dist/icons/friends.cjs.js.map +1 -0
  220. package/dist/icons/friends.esm.js +6 -0
  221. package/dist/icons/friends.esm.js.map +1 -0
  222. package/dist/icons/person.cjs.js +2 -0
  223. package/dist/icons/person.cjs.js.map +1 -0
  224. package/dist/icons/person.esm.js +6 -0
  225. package/dist/icons/person.esm.js.map +1 -0
  226. package/dist/imagePane.d.ts +2 -3
  227. package/dist/imagePane2.cjs.js +2 -0
  228. package/dist/imagePane2.cjs.js.map +1 -0
  229. package/dist/imagePane2.esm.js +32 -0
  230. package/dist/imagePane2.esm.js.map +1 -0
  231. package/dist/index.cjs.js +2 -0
  232. package/dist/index.cjs.js.map +1 -0
  233. package/dist/index.d.ts +4 -4
  234. package/dist/index.esm.js +31 -0
  235. package/dist/index.esm.js.map +1 -0
  236. package/dist/internal/internalPane.d.ts +1 -2
  237. package/dist/internal/internalPane2.cjs.js +2 -0
  238. package/dist/internal/internalPane2.cjs.js.map +1 -0
  239. package/dist/internal/internalPane2.esm.js +104 -0
  240. package/dist/internal/internalPane2.esm.js.map +1 -0
  241. package/dist/mainPage/header.cjs.js +2 -0
  242. package/dist/mainPage/header.cjs.js.map +1 -0
  243. package/dist/mainPage/header.d.ts +1 -15
  244. package/dist/mainPage/header.d.ts.map +1 -1
  245. package/dist/mainPage/header.esm.js +72 -0
  246. package/dist/mainPage/header.esm.js.map +1 -0
  247. package/dist/mainPage/index.cjs.js +2 -0
  248. package/dist/mainPage/index.cjs.js.map +1 -0
  249. package/dist/mainPage/index.d.ts +3 -15
  250. package/dist/mainPage/index.d.ts.map +1 -1
  251. package/dist/mainPage/index.esm.js +36 -0
  252. package/dist/mainPage/index.esm.js.map +1 -0
  253. package/dist/mainPage/navbar.cjs.js +2 -0
  254. package/dist/mainPage/navbar.cjs.js.map +1 -0
  255. package/dist/mainPage/navbar.d.ts +3 -0
  256. package/dist/mainPage/navbar.d.ts.map +1 -0
  257. package/dist/mainPage/navbar.esm.js +66 -0
  258. package/dist/mainPage/navbar.esm.js.map +1 -0
  259. package/dist/n3Pane.d.ts +2 -3
  260. package/dist/n3Pane2.cjs.js +3 -0
  261. package/dist/n3Pane2.cjs.js.map +1 -0
  262. package/dist/n3Pane2.esm.js +52 -0
  263. package/dist/n3Pane2.esm.js.map +1 -0
  264. package/dist/outline/context.cjs.js +2 -0
  265. package/dist/outline/context.cjs.js.map +1 -0
  266. package/dist/outline/context.d.ts +3 -3
  267. package/dist/outline/context.esm.js +18 -0
  268. package/dist/outline/context.esm.js.map +1 -0
  269. package/dist/outline/manager2.cjs.js +2 -0
  270. package/dist/outline/manager2.cjs.js.map +1 -0
  271. package/dist/outline/manager2.esm.js +711 -0
  272. package/dist/outline/manager2.esm.js.map +1 -0
  273. package/dist/outline/outlineIcons.cjs.js +2 -0
  274. package/dist/outline/outlineIcons.cjs.js.map +1 -0
  275. package/dist/outline/outlineIcons.esm.js +10 -0
  276. package/dist/outline/outlineIcons.esm.js.map +1 -0
  277. package/dist/outline/propertyViews.cjs.js +2 -0
  278. package/dist/outline/propertyViews.cjs.js.map +1 -0
  279. package/dist/outline/propertyViews.esm.js +19 -0
  280. package/dist/outline/propertyViews.esm.js.map +1 -0
  281. package/dist/outline/queryByExample.cjs.js +2 -0
  282. package/dist/outline/queryByExample.cjs.js.map +1 -0
  283. package/dist/outline/queryByExample.esm.js +26 -0
  284. package/dist/outline/queryByExample.esm.js.map +1 -0
  285. package/dist/outline/sourcePaneIcon.d.ts +2 -0
  286. package/dist/outline/sourcePaneIcon.d.ts.map +1 -0
  287. package/dist/outline/userInput.cjs.js +61 -0
  288. package/dist/outline/userInput.cjs.js.map +1 -0
  289. package/dist/outline/userInput.esm.js +784 -0
  290. package/dist/outline/userInput.esm.js.map +1 -0
  291. package/dist/outline/viewAsImage.cjs.js +2 -0
  292. package/dist/outline/viewAsImage.cjs.js.map +1 -0
  293. package/dist/outline/viewAsImage.esm.js +10 -0
  294. package/dist/outline/viewAsImage.esm.js.map +1 -0
  295. package/dist/outline/viewAsMbox.cjs.js +2 -0
  296. package/dist/outline/viewAsMbox.cjs.js.map +1 -0
  297. package/dist/outline/viewAsMbox.esm.js +9 -0
  298. package/dist/outline/viewAsMbox.esm.js.map +1 -0
  299. package/dist/pad/padPane.d.ts +1 -2
  300. package/dist/pad/padPane2.cjs.js +2 -0
  301. package/dist/pad/padPane2.cjs.js.map +1 -0
  302. package/dist/pad/padPane2.esm.js +173 -0
  303. package/dist/pad/padPane2.esm.js.map +1 -0
  304. package/dist/playlist/playlistPane.cjs.js +2 -0
  305. package/dist/playlist/playlistPane.cjs.js.map +1 -0
  306. package/dist/playlist/playlistPane.esm.js +49 -0
  307. package/dist/playlist/playlistPane.esm.js.map +1 -0
  308. package/dist/registerPanes.cjs.js +2 -0
  309. package/dist/registerPanes.cjs.js.map +1 -0
  310. package/dist/registerPanes.esm.js +46 -0
  311. package/dist/registerPanes.esm.js.map +1 -0
  312. package/dist/schedule/formsForSchedule.cjs.js +117 -0
  313. package/dist/schedule/formsForSchedule.cjs.js.map +1 -0
  314. package/dist/schedule/formsForSchedule.esm.js +6 -0
  315. package/dist/schedule/formsForSchedule.esm.js.map +1 -0
  316. package/dist/schedule/schedulePane.d.ts +2 -4
  317. package/dist/schedule/schedulePane2.cjs.js +8 -0
  318. package/dist/schedule/schedulePane2.cjs.js.map +1 -0
  319. package/dist/schedule/schedulePane2.esm.js +385 -0
  320. package/dist/schedule/schedulePane2.esm.js.map +1 -0
  321. package/dist/sharing/sharingPane.cjs.js +2 -0
  322. package/dist/sharing/sharingPane.cjs.js.map +1 -0
  323. package/dist/sharing/sharingPane.esm.js +22 -0
  324. package/dist/sharing/sharingPane.esm.js.map +1 -0
  325. package/dist/slideshow/slideshowPane.cjs.js +2 -0
  326. package/dist/slideshow/slideshowPane.cjs.js.map +1 -0
  327. package/dist/slideshow/slideshowPane.esm.js +46 -0
  328. package/dist/slideshow/slideshowPane.esm.js.map +1 -0
  329. package/dist/social/editProfileDetails.cjs.js +2 -0
  330. package/dist/social/editProfileDetails.cjs.js.map +1 -0
  331. package/dist/social/editProfileDetails.d.ts +1 -2
  332. package/dist/social/editProfileDetails.esm.js +12 -0
  333. package/dist/social/editProfileDetails.esm.js.map +1 -0
  334. package/dist/social/icons.cjs.js +82 -0
  335. package/dist/social/icons.cjs.js.map +1 -0
  336. package/dist/social/{icons.js → icons.esm.js} +12 -18
  337. package/dist/social/icons.esm.js.map +1 -0
  338. package/dist/social/socialPane.d.ts +2 -3
  339. package/dist/social/socialPane2.cjs.js +6 -0
  340. package/dist/social/socialPane2.cjs.js.map +1 -0
  341. package/dist/social/socialPane2.esm.js +326 -0
  342. package/dist/social/socialPane2.esm.js.map +1 -0
  343. package/dist/social/socialSections.cjs.js +2 -0
  344. package/dist/social/socialSections.cjs.js.map +1 -0
  345. package/dist/social/socialSections.d.ts +2 -2
  346. package/dist/social/socialSections.esm.js +222 -0
  347. package/dist/social/socialSections.esm.js.map +1 -0
  348. package/dist/social/spinner.cjs.js +1 -0
  349. package/dist/social/spinner.esm.js +1 -0
  350. package/dist/social/triage.cjs.js +2 -0
  351. package/dist/social/triage.cjs.js.map +1 -0
  352. package/dist/social/triage.d.ts +2 -2
  353. package/dist/social/triage.esm.js +44 -0
  354. package/dist/social/triage.esm.js.map +1 -0
  355. package/dist/tabbed/tabbedPane.cjs.js +2 -0
  356. package/dist/tabbed/tabbedPane.cjs.js.map +1 -0
  357. package/dist/tabbed/tabbedPane.d.ts +1 -1
  358. package/dist/tabbed/tabbedPane.esm.js +38 -0
  359. package/dist/tabbed/tabbedPane.esm.js.map +1 -0
  360. package/dist/tableViewPane.cjs.js +2 -0
  361. package/dist/tableViewPane.cjs.js.map +1 -0
  362. package/dist/tableViewPane.esm.js +20 -0
  363. package/dist/tableViewPane.esm.js.map +1 -0
  364. package/dist/transaction/pane.cjs.js +8 -0
  365. package/dist/transaction/pane.cjs.js.map +1 -0
  366. package/dist/transaction/pane.esm.js +212 -0
  367. package/dist/transaction/pane.esm.js.map +1 -0
  368. package/dist/transaction/period.cjs.js +4 -0
  369. package/dist/transaction/period.cjs.js.map +1 -0
  370. package/dist/transaction/period.esm.js +126 -0
  371. package/dist/transaction/period.esm.js.map +1 -0
  372. package/dist/trip/tripPane.cjs.js +2 -0
  373. package/dist/trip/tripPane.cjs.js.map +1 -0
  374. package/dist/trip/tripPane.esm.js +85 -0
  375. package/dist/trip/tripPane.esm.js.map +1 -0
  376. package/dist/trustedApplications/trustedApplications.dom.cjs.js +2 -0
  377. package/dist/trustedApplications/trustedApplications.dom.cjs.js.map +1 -0
  378. package/dist/trustedApplications/trustedApplications.dom.d.ts +1 -1
  379. package/dist/trustedApplications/trustedApplications.dom.esm.js +108 -0
  380. package/dist/trustedApplications/trustedApplications.dom.esm.js.map +1 -0
  381. package/dist/trustedApplications/trustedApplications.utils.cjs.js +2 -0
  382. package/dist/trustedApplications/trustedApplications.utils.cjs.js.map +1 -0
  383. package/dist/trustedApplications/trustedApplications.utils.d.ts +1 -1
  384. package/dist/trustedApplications/trustedApplications.utils.esm.js +20 -0
  385. package/dist/trustedApplications/trustedApplications.utils.esm.js.map +1 -0
  386. package/dist/trustedApplications/trustedApplications.view.cjs.js +2 -0
  387. package/dist/trustedApplications/trustedApplications.view.cjs.js.map +1 -0
  388. package/dist/trustedApplications/trustedApplications.view.d.ts +1 -1
  389. package/dist/trustedApplications/trustedApplications.view.esm.js +41 -0
  390. package/dist/trustedApplications/trustedApplications.view.esm.js.map +1 -0
  391. package/dist/ui/pane.cjs.js +4 -0
  392. package/dist/ui/pane.cjs.js.map +1 -0
  393. package/dist/ui/pane.esm.js +56 -0
  394. package/dist/ui/pane.esm.js.map +1 -0
  395. package/dist/utils/paneUtils.cjs.js +2 -0
  396. package/dist/utils/paneUtils.cjs.js.map +1 -0
  397. package/dist/utils/paneUtils.d.ts +19 -0
  398. package/dist/utils/paneUtils.d.ts.map +1 -0
  399. package/dist/utils/paneUtils.esm.js +52 -0
  400. package/dist/utils/paneUtils.esm.js.map +1 -0
  401. package/dist/utils/podUtils.cjs.js +2 -0
  402. package/dist/utils/podUtils.cjs.js.map +1 -0
  403. package/dist/utils/podUtils.d.ts +4 -0
  404. package/dist/utils/podUtils.d.ts.map +1 -0
  405. package/dist/utils/podUtils.esm.js +46 -0
  406. package/dist/utils/podUtils.esm.js.map +1 -0
  407. package/dist/utils/webIdUtils.cjs.js +2 -0
  408. package/dist/utils/webIdUtils.cjs.js.map +1 -0
  409. package/dist/utils/webIdUtils.d.ts +6 -0
  410. package/dist/utils/webIdUtils.d.ts.map +1 -0
  411. package/dist/utils/webIdUtils.esm.js +48 -0
  412. package/dist/utils/webIdUtils.esm.js.map +1 -0
  413. package/dist/versionInfo.cjs.js +2 -0
  414. package/dist/versionInfo.cjs.js.map +1 -0
  415. package/dist/versionInfo.esm.js +40 -0
  416. package/dist/versionInfo.esm.js.map +1 -0
  417. package/dist/video/videoPane.cjs.js +2 -0
  418. package/dist/video/videoPane.cjs.js.map +1 -0
  419. package/dist/video/videoPane.esm.js +25 -0
  420. package/dist/video/videoPane.esm.js.map +1 -0
  421. package/package.json +51 -66
  422. package/dist/0314353e28ce6e5539af.svg +0 -9
  423. package/dist/04567ff683933c35c465.png +0 -0
  424. package/dist/10163fd9b5a0e00d63a0.png +0 -0
  425. package/dist/1234dcb2eec2e45f252b.png +0 -0
  426. package/dist/20899934157df4db56cb.png +0 -0
  427. package/dist/33760bf79f097f449da5.png +0 -0
  428. package/dist/4cceba29ab33b1ddd9bb.svg +0 -6
  429. package/dist/578d2b6ed32e7624164e.png +0 -0
  430. package/dist/5f62a5b2b7e99b9640c7.png +0 -0
  431. package/dist/6525766ecd288ec60129.png +0 -0
  432. package/dist/7800be6f6c4b5b0f4f20.png +0 -0
  433. package/dist/7b7538c6f6b317968009.svg +0 -9
  434. package/dist/92d03142abe6efc0b42d.svg +0 -6
  435. package/dist/976473cf5fe24d657d4b.png +0 -0
  436. package/dist/RDFXMLPane.css +0 -70
  437. package/dist/RDFXMLPane.js +0 -100
  438. package/dist/argument/argumentPane.js +0 -60
  439. package/dist/attach/attachPane.js +0 -393
  440. package/dist/audio/audioPane.js +0 -181
  441. package/dist/bda84f59e7216675a208.png +0 -0
  442. package/dist/cd68e8f3990ba8b2139e.png +0 -0
  443. package/dist/classInstancePane.js +0 -91
  444. package/dist/dashboard/basicPreferences.js +0 -147
  445. package/dist/dashboard/dashboardPane.js +0 -73
  446. package/dist/dashboard/homepage.js +0 -42
  447. package/dist/dataContentPane.css +0 -271
  448. package/dist/dataContentPane.js +0 -226
  449. package/dist/defaultPane.css +0 -97
  450. package/dist/defaultPane.js +0 -81
  451. package/dist/dokieli/dokieliPane.js +0 -74
  452. package/dist/e7074a7e2cb69e51cfd3.png +0 -0
  453. package/dist/f3772696fb7ee53c23d8.png +0 -0
  454. package/dist/form/formPane.css +0 -120
  455. package/dist/form/pane.js +0 -250
  456. package/dist/home/homePane.js +0 -74
  457. package/dist/humanReadablePane.css +0 -129
  458. package/dist/humanReadablePane.js +0 -243
  459. package/dist/icons/clock.svg +0 -7
  460. package/dist/icons/comment.svg +0 -6
  461. package/dist/icons/dashboard.svg +0 -9
  462. package/dist/icons/downArrow.svg +0 -6
  463. package/dist/icons/folder.svg +0 -6
  464. package/dist/icons/friends.svg +0 -9
  465. package/dist/icons/help.svg +0 -8
  466. package/dist/icons/iconHelper.js +0 -23
  467. package/dist/icons/menu.svg +0 -8
  468. package/dist/icons/person.svg +0 -6
  469. package/dist/icons/personInCircle.svg +0 -8
  470. package/dist/icons/sharing.svg +0 -10
  471. package/dist/icons/signOut.svg +0 -8
  472. package/dist/icons/signUp.svg +0 -9
  473. package/dist/icons/star.svg +0 -3
  474. package/dist/imagePane.css +0 -4
  475. package/dist/imagePane.js +0 -67
  476. package/dist/index.js +0 -123
  477. package/dist/internal/internalPane.css +0 -14
  478. package/dist/internal/internalPane.js +0 -183
  479. package/dist/mainPage/footer.d.ts +0 -15
  480. package/dist/mainPage/footer.d.ts.map +0 -1
  481. package/dist/mainPage/footer.js +0 -29
  482. package/dist/mainPage/header.js +0 -203
  483. package/dist/mainPage/index.js +0 -78
  484. package/dist/mainPage/menu.css +0 -243
  485. package/dist/mainPage/menu.d.ts +0 -7
  486. package/dist/mainPage/menu.d.ts.map +0 -1
  487. package/dist/mainPage/menu.js +0 -436
  488. package/dist/microblogPane/mbStyle.css +0 -267
  489. package/dist/microblogPane/microblogPane.js +0 -1031
  490. package/dist/n3Pane.css +0 -49
  491. package/dist/n3Pane.js +0 -88
  492. package/dist/outline/context.js +0 -21
  493. package/dist/outline/manager.css +0 -78
  494. package/dist/outline/manager.js +0 -2115
  495. package/dist/outline/outlineIcons.js +0 -126
  496. package/dist/outline/propertyViews.js +0 -43
  497. package/dist/outline/queryByExample.js +0 -285
  498. package/dist/outline/userInput.js +0 -1821
  499. package/dist/outline/viewAsImage.js +0 -14
  500. package/dist/outline/viewAsMbox.js +0 -21
  501. package/dist/pad/padPane.css +0 -40
  502. package/dist/pad/padPane.js +0 -421
  503. package/dist/playlist/playlistPane.js +0 -119
  504. package/dist/profileUtils/ownerProfile.d.ts +0 -5
  505. package/dist/profileUtils/ownerProfile.d.ts.map +0 -1
  506. package/dist/profileUtils/ownerProfile.js +0 -84
  507. package/dist/registerPanes.js +0 -145
  508. package/dist/schedule/schedulePane.css +0 -294
  509. package/dist/schedule/schedulePane.js +0 -1022
  510. package/dist/sharing/sharingPane.js +0 -48
  511. package/dist/slideshow/slideshowPane.js +0 -79
  512. package/dist/social/editProfileDetails.js +0 -362
  513. package/dist/social/socialPane.css +0 -1464
  514. package/dist/social/socialPane.js +0 -651
  515. package/dist/social/socialSections.js +0 -393
  516. package/dist/social/spinner.js +0 -13
  517. package/dist/social/triage.js +0 -79
  518. package/dist/solid-panes.js +0 -84629
  519. package/dist/solid-panes.js.map +0 -1
  520. package/dist/solid-panes.min.js +0 -3933
  521. package/dist/solid-panes.min.js.map +0 -1
  522. package/dist/styles/tabbedtab.css +0 -1066
  523. package/dist/styles/utilities.css +0 -5
  524. package/dist/tabbed/tabbedPane.js +0 -59
  525. package/dist/tableViewPane.js +0 -56
  526. package/dist/transaction/pane.js +0 -477
  527. package/dist/transaction/period.js +0 -323
  528. package/dist/trip/tripPane.js +0 -174
  529. package/dist/trustedApplications/trustedApplications.dom.js +0 -145
  530. package/dist/trustedApplications/trustedApplications.utils.js +0 -23
  531. package/dist/trustedApplications/trustedApplications.view.js +0 -55
  532. package/dist/ui/pane.js +0 -146
  533. package/dist/versionInfo.js +0 -41
  534. package/dist/video/videoPane.js +0 -42
package/README.md CHANGED
@@ -50,19 +50,20 @@ Volunteers are always welcome!
50
50
  - [Conventions](./Documentation/conventions.md)
51
51
 
52
52
  ## Development
53
- To get started, make sure you have Node.js installed (for instance
54
- through https://github.com/nvm-sh/nvm), and:
55
- 1. run
53
+
54
+ To get started, make sure you have Node.js installed (for instance through [nvm](https://github.com/nvm-sh/nvm)), then:
55
+
56
+ 1. Clone, install, and start the dev server:
57
+
56
58
  ```sh
57
59
  git clone https://github.com/solidos/solid-panes
58
60
  cd solid-panes
59
61
  npm install
60
- npm run start
62
+ npm start
61
63
  ```
62
- 2. a browser window should automatically open at http://localhost:9000, if for some reason it doesn't go ahead and manually navigate there.
63
- 3. Once you arrive at the Solid Pane Tester page, the `profile-pane` will be loaded by default. Proceed to edit `solid-panes/dev/loader.ts` and, at line 5, you should see `import Pane from 'profile-pane'`. Simply change `'profile-pane'` to your preferred pane/directory containing the pane of choice; for example, you could choose `'source-pane'` and bam, it will load that pane. For those who are new, you can go to the `solid-panes/src` directory and manually navigate through each individual folder. In most folders, you simply look for any file that has `pane` in the title. Copy and paste the `pane.js` file of your choice into the `solid-panes/dev/pane` folder, or you can import directly from the `src` directory. For example, importing from `'../src/dokieli/dokieliPane'` will work just fine. Each time you save `solid-panes/dev/loader.ts` while importing a different pane, your browser at `http://localhost:9000/` should automatically refresh. It's a good idea to keep the developer console open in your web browser to ensure panes are loading and rendering properly.
64
+ 2. Open http://localhost:5173 in your browser. You should see the pane development sandbox.
64
65
 
65
- 4. Another tip: to ensure you arrive at the proper destination, look at lines 48–53 in `solid-panes/dev/loader.ts`. You should see an event listener that is ready for a string. `renderPane('https://solidos.solidcommunity.net/Team/SolidOs%20team%20chat/index.ttl#this')` will be the default. Depending on the `pane.js` that you chose in the earlier import statements, the `renderPane` function determines the way you will see DOMContent inside of that particular pane. If you have created an `index.html` in your provider pod storage area, you could use `'https://yoursolidname.solidcommunity.net/profile/index.html'` inside of the `renderPane()` function parameters. You can edit the string manually in `solid-panes/dev/loader.ts`, or you can go to your developer console and type `renderPane('https://yoursolidname.solidcommunity.net/profile/index.html')` — just point to a part of your account that is congruent to the pane that you wish to import! :)
66
+ 3. You can change the `subject` in the sandbox to determine which pane gets rendered. For example, the default subject loads the `profile-pane`.
66
67
 
67
68
  ## Contributing panes
68
69
  When you created a pane, you can either add it as an npm dependency
@@ -80,8 +81,8 @@ pane. Any other pane which wants to deal with contacts can just use the pane wit
80
81
 
81
82
 
82
83
  ## Generative AI usage
83
- The SolidOS team is using GitHub Copilot integrated in Visual Studio Code.
84
- We have added comments in the code to make it explicit which parts are 100% written by AI.
84
+ The SolidOS team is using GitHub Copilot integrated in Visual Studio Code.
85
+ We have added comments in the code to make it explicit which parts are 100% written by AI.
85
86
 
86
87
  ### Prompt usage hitory:
87
88
  * Model Claude Opus 4.6: Initially solid-panes is loaded into an HTML shell form mashlib that looks like ... Also, an iFrame is rendered inside the `<div class="TabulatorOutline" id="DummyUUID">` for “isolated pane rendering”. Analyze the solid-panes code for what it uses from this HTML and suggest a new HTML structure which is mobile and accessibility friendly. Let's go ahead and make changes in this code as suggested to accommodate the new databrowser HTML.
@@ -90,35 +91,4 @@ We have added comments in the code to make it explicit which parts are 100% writ
90
91
 
91
92
  * Raptor mini: Update the code to use the new solid-ui-header component. Keep in mind the log in and sign up are wired in specific ways.
92
93
 
93
- * Auto: change the menu to fill up the menu items like in the code: async function getMenuItems (outliner: any) {
94
- const items = await outliner.getDashboardItems()
95
- return items.map((element) => {
96
- return {
97
- label: element.label,
98
- onclick: () => openDashboardPane(outliner, element.tabName || element.paneName)
99
- }
100
- })
101
- }
102
-
103
- * Auto: each #sym:MenuItem has an icon which i want displayed on the left side of each menu item when rendered
104
-
105
- * Auto: don't add each menu item in a button looking border. Simply list them.
106
- Upon hover apply background color e6dcff and selected or active to be background color: cbb9ff
107
-
108
- * Raptor mini: the menu dissapears when on mobile. That is great.
109
- I want the menu to have a tiny button on the bottom margin left with an arrow to the left or right for expanding the menu or for making it small. This is only for web. When we make it small it folds and only displays the icons of teh menu items, when it is expanded it should also add the labels to the menu items.
110
-
111
- * Raptor mini: i want to imporve the left side menu on mobile. When the menu is visible it should be higher, the top part should be on top of the header, folding out and in with the rest of the menu. It should have an x close button and it should say menu. The locor of that top line of the header should be the color of the header 332746
112
-
113
- * Raptor mini: the menu, on desktop, has a button to fold in or out. I want the same behavior to occur also when i simply click the folded in menu: it should expend. Not just when i click the dedicated button
114
-
115
- * Raprot mini: instead of this code (index.ts of footer), I want to make use of a new footer web component with the readme: # solid-ui-footer component
116
-
117
- * Raptor mini: The footer created should actually be part of the left side menu only. Should be displayed inside it and should collaps and expand as the menu.
118
-
119
- * Raptor mini: the footer should completely dissapear when menu folded up.
120
-
121
- * Raptor mini: Please always keep the footer at the bottom of the menu
122
-
123
94
  * GPT-5.4 Model: Add a compatibility shim in the form pane for mixed `ui:Group` plus field typing.
124
-
@@ -1,6 +1,5 @@
1
- import type { DataBrowserContext } from 'pane-registry';
2
- import type { NamedNode } from 'rdflib';
3
- import './RDFXMLPane.css';
1
+ import { DataBrowserContext } from '../node_modules/pane-registry';
2
+ import { NamedNode } from '../node_modules/rdflib';
4
3
  type RDFXMLPaneDefinition = {
5
4
  icon: string;
6
5
  name: string;
@@ -0,0 +1,3 @@
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.rdfxml-pane{border-top:solid 2px var(--color-data-pane-border-top,black);border-left:solid 2px var(--color-data-pane-border-top,black);border-bottom:solid 2px var(--color-data-pane-border-side,#777);border-right:solid 2px var(--color-data-pane-border-side,#777);width:100%;min-width:0;color:var(--color-text-brown,#440);box-sizing:border-box;padding:1rem}.rdfxml-pane__source{box-sizing:border-box;white-space:pre;min-width:0;max-width:100%;margin:0;font-family:monospace;font-size:120%;overflow-x:auto}.rdfxml-pane__line{grid-template-columns:var(--rdfxml-indent,0) minmax(0, 1fr);align-items:start;min-width:0;display:grid}.rdfxml-pane__line-indent{width:var(--rdfxml-indent,0);display:block}.rdfxml-pane__line-content{white-space:pre}.rdfxml-pane[data-layout=mobile] .rdfxml-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.rdfxml-pane[data-layout=mobile] .rdfxml-pane__line{grid-template-columns:var(--rdfxml-indent,0) minmax(0, 1fr)}.rdfxml-pane[data-layout=mobile] .rdfxml-pane__line-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0}@media (width<=576px){.rdfxml-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.rdfxml-pane__line{grid-template-columns:var(--rdfxml-indent,0) minmax(0, 1fr)}.rdfxml-pane__line-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0}}`)),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;function i(e){if(e.trim().length===0)return 0;let t=0;for(let n of e){if(n===` `){t+=1;continue}if(n===` `){t+=2;continue}break}return Math.max(t,2)}function a(e){return e.replace(/^[ \t]+/,``)}var o={icon:t.icons.originalIconBase+`22-text-xml4.png`,name:`RDFXML`,audience:[r.solid(`Developer`)],label:function(e,t){let n=t.session.store;if(`http://www.w3.org/2007/ont/link#ProtocolEvent`in n.findTypeURIs(e))return null;let r=n.statementsMatching(void 0,void 0,void 0,e).length;return r===0?null:`As RDF/XML (`+r+`)`},render:function(e,t){let r=t.dom,o=t.session.store;function s(e){let n=t.environment??{};e.dataset.layout=n.layout??`desktop`}let c=r.createElement(`div`);c.setAttribute(`class`,`rdfxml-pane`),s(c);let l=o.statementsMatching(void 0,void 0,void 0,e),u=n.Serializer(o);u.suggestNamespaces(o.namespaces),u.setBase(e.uri);let d=u.statementsToXML(l),f=r.createElement(`div`);return f.classList.add(`rdfxml-pane__source`),d.split(`
2
+ `).forEach(e=>{let t=r.createElement(`div`),n=r.createElement(`span`),o=r.createElement(`span`),s=i(e);t.classList.add(`rdfxml-pane__line`),t.style.setProperty(`--rdfxml-indent`,`${s}ch`),n.classList.add(`rdfxml-pane__line-indent`),n.setAttribute(`aria-hidden`,`true`),o.classList.add(`rdfxml-pane__line-content`),o.textContent=e.length>0?a(e):` `,t.appendChild(n),t.appendChild(o),f.appendChild(t)}),c.appendChild(f),c}};exports.RDFXMLPane=o;
3
+ //# sourceMappingURL=RDFXMLPane2.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RDFXMLPane2.cjs.js","names":[],"sources":["../src/RDFXMLPane.ts"],"sourcesContent":["/* RDF/XML 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 ** in generated N3 syntax.\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type { NamedNode, Statement } from 'rdflib'\nimport './RDFXMLPane.css'\n\nconst ns = UI.ns\n\ntype RDFXMLPaneDefinition = {\n icon: string\n name: string\n audience: NamedNode[]\n label: (subject: NamedNode, context: DataBrowserContext) => string | null\n render: (subject: NamedNode, context: DataBrowserContext) => HTMLDivElement\n}\n\nfunction leadingIndentWidth (line: string): number {\n if (line.trim().length === 0) {\n return 0\n }\n\n let width = 0\n for (const character of line) {\n if (character === ' ') {\n width += 1\n continue\n }\n if (character === '\\t') {\n width += 2\n continue\n }\n break\n }\n return Math.max(width, 2)\n}\n\nfunction trimLeadingIndent (line: string): string {\n return line.replace(/^[ \\t]+/, '')\n}\n\nexport const RDFXMLPane: RDFXMLPaneDefinition = {\n icon: UI.icons.originalIconBase + '22-text-xml4.png',\n\n name: 'RDFXML',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext): string | null {\n const store = context.session.store\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n store.findTypeURIs(subject)\n ) {\n return null\n }\n\n const n = store.statementsMatching(undefined, undefined, undefined, subject)\n .length\n if (n === 0) return null\n return 'As RDF/XML (' + n + ')'\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n const kb = context.session.store\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n }\n\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'rdfxml-pane')\n applyEnvironmentAttributes(div)\n // Because of smushing etc, this will not be a copy of the original source\n // We could instead either fetch and re-parse the source,\n // or we could keep all the pre-smushed triples.\n const sts = kb.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ) as Statement[] // @@ slow with current store!\n /*\n var kludge = kb.formula([]) // No features\n for (var i=0; i< sts.length; i++) {\n s = sts[i]\n kludge.add(s.subject, s.predicate, s.object)\n }\n */\n const sz = $rdf.Serializer(kb)\n sz.suggestNamespaces(kb.namespaces)\n sz.setBase(subject.uri)\n const str = sz.statementsToXML(sts)\n const source = myDocument.createElement('div')\n source.classList.add('rdfxml-pane__source')\n\n str.split('\\n').forEach(line => {\n const lineElement = myDocument.createElement('div')\n const indentElement = myDocument.createElement('span')\n const contentElement = myDocument.createElement('span')\n const indentWidth = leadingIndentWidth(line)\n\n lineElement.classList.add('rdfxml-pane__line')\n lineElement.style.setProperty('--rdfxml-indent', `${indentWidth}ch`)\n\n indentElement.classList.add('rdfxml-pane__line-indent')\n indentElement.setAttribute('aria-hidden', 'true')\n\n contentElement.classList.add('rdfxml-pane__line-content')\n contentElement.textContent = line.length > 0 ? trimLeadingIndent(line) : ' '\n\n lineElement.appendChild(indentElement)\n lineElement.appendChild(contentElement)\n source.appendChild(lineElement)\n })\n\n div.appendChild(source)\n return div\n }\n}\n\n// ends\n"],"mappings":"sKAaA,IAAM,EAAK,EAAG,GAUd,SAAS,EAAoB,EAAsB,CACjD,GAAI,EAAK,KAAK,CAAC,CAAC,SAAW,EACzB,MAAO,GAGT,IAAI,EAAQ,EACZ,IAAK,IAAM,KAAa,EAAM,CAC5B,GAAI,IAAc,IAAK,CACrB,GAAS,EACT,QACF,CACA,GAAI,IAAc,IAAM,CACtB,GAAS,EACT,QACF,CACA,KACF,CACA,OAAO,KAAK,IAAI,EAAO,CAAC,CAC1B,CAEA,SAAS,EAAmB,EAAsB,CAChD,OAAO,EAAK,QAAQ,UAAW,EAAE,CACnC,CAEA,IAAa,EAAmC,CAC9C,KAAM,EAAG,MAAM,iBAAmB,mBAElC,KAAM,SAEN,SAAU,CAAC,EAAG,MAAM,WAAW,CAAC,EAEhC,MAAO,SAAU,EAAoB,EAA4C,CAC/E,IAAM,EAAQ,EAAQ,QAAQ,MAC9B,GACE,kDACA,EAAM,aAAa,CAAO,EAE1B,OAAO,KAGT,IAAM,EAAI,EAAM,mBAAmB,IAAA,GAAW,IAAA,GAAW,IAAA,GAAW,CAAO,CAAC,CACzE,OAEH,OADI,IAAM,EAAU,KACb,eAAiB,EAAI,GAC9B,EAEA,OAAQ,SACN,EACA,EACgB,CAChB,IAAM,EAAa,EAAQ,IACrB,EAAK,EAAQ,QAAQ,MAE3B,SAAS,EAA4B,EAA+B,CAClE,IAAM,EAAe,EAAQ,aAAe,CAAC,EAC7C,EAAQ,QAAQ,OAAS,EAAY,QAAU,SACjD,CAEA,IAAM,EAAM,EAAW,cAAc,KAAK,EAC1C,EAAI,aAAa,QAAS,aAAa,EACvC,EAA2B,CAAG,EAI9B,IAAM,EAAM,EAAG,mBACb,IAAA,GACA,IAAA,GACA,IAAA,GACA,CACF,EAQM,EAAK,EAAK,WAAW,CAAE,EAC7B,EAAG,kBAAkB,EAAG,UAAU,EAClC,EAAG,QAAQ,EAAQ,GAAG,EACtB,IAAM,EAAM,EAAG,gBAAgB,CAAG,EAC5B,EAAS,EAAW,cAAc,KAAK,EAwB7C,OAvBA,EAAO,UAAU,IAAI,qBAAqB,EAE1C,EAAI,MAAM;CAAI,CAAC,CAAC,QAAQ,GAAQ,CAC9B,IAAM,EAAc,EAAW,cAAc,KAAK,EAC5C,EAAgB,EAAW,cAAc,MAAM,EAC/C,EAAiB,EAAW,cAAc,MAAM,EAChD,EAAc,EAAmB,CAAI,EAE3C,EAAY,UAAU,IAAI,mBAAmB,EAC7C,EAAY,MAAM,YAAY,kBAAmB,GAAG,EAAY,GAAG,EAEnE,EAAc,UAAU,IAAI,0BAA0B,EACtD,EAAc,aAAa,cAAe,MAAM,EAEhD,EAAe,UAAU,IAAI,2BAA2B,EACxD,EAAe,YAAc,EAAK,OAAS,EAAI,EAAkB,CAAI,EAAI,IAEzE,EAAY,YAAY,CAAa,EACrC,EAAY,YAAY,CAAc,EACtC,EAAO,YAAY,CAAW,CAChC,CAAC,EAED,EAAI,YAAY,CAAM,EACf,CACT,CACF"}
@@ -0,0 +1,55 @@
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.rdfxml-pane{border-top:solid 2px var(--color-data-pane-border-top,black);border-left:solid 2px var(--color-data-pane-border-top,black);border-bottom:solid 2px var(--color-data-pane-border-side,#777);border-right:solid 2px var(--color-data-pane-border-side,#777);width:100%;min-width:0;color:var(--color-text-brown,#440);box-sizing:border-box;padding:1rem}.rdfxml-pane__source{box-sizing:border-box;white-space:pre;min-width:0;max-width:100%;margin:0;font-family:monospace;font-size:120%;overflow-x:auto}.rdfxml-pane__line{grid-template-columns:var(--rdfxml-indent,0) minmax(0, 1fr);align-items:start;min-width:0;display:grid}.rdfxml-pane__line-indent{width:var(--rdfxml-indent,0);display:block}.rdfxml-pane__line-content{white-space:pre}.rdfxml-pane[data-layout=mobile] .rdfxml-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.rdfxml-pane[data-layout=mobile] .rdfxml-pane__line{grid-template-columns:var(--rdfxml-indent,0) minmax(0, 1fr)}.rdfxml-pane[data-layout=mobile] .rdfxml-pane__line-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0}@media (width<=576px){.rdfxml-pane__source{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.rdfxml-pane__line{grid-template-columns:var(--rdfxml-indent,0) minmax(0, 1fr)}.rdfxml-pane__line-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0}}`)),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
+ //#region src/RDFXMLPane.ts
5
+ var n = e.ns;
6
+ function r(e) {
7
+ if (e.trim().length === 0) return 0;
8
+ let t = 0;
9
+ for (let n of e) {
10
+ if (n === " ") {
11
+ t += 1;
12
+ continue;
13
+ }
14
+ if (n === " ") {
15
+ t += 2;
16
+ continue;
17
+ }
18
+ break;
19
+ }
20
+ return Math.max(t, 2);
21
+ }
22
+ function i(e) {
23
+ return e.replace(/^[ \t]+/, "");
24
+ }
25
+ var a = {
26
+ icon: e.icons.originalIconBase + "22-text-xml4.png",
27
+ name: "RDFXML",
28
+ audience: [n.solid("Developer")],
29
+ label: function(e, t) {
30
+ let n = t.session.store;
31
+ if ("http://www.w3.org/2007/ont/link#ProtocolEvent" in n.findTypeURIs(e)) return null;
32
+ let r = n.statementsMatching(void 0, void 0, void 0, e).length;
33
+ return r === 0 ? null : "As RDF/XML (" + r + ")";
34
+ },
35
+ render: function(e, n) {
36
+ let a = n.dom, o = n.session.store;
37
+ function s(e) {
38
+ let t = n.environment ?? {};
39
+ e.dataset.layout = t.layout ?? "desktop";
40
+ }
41
+ let c = a.createElement("div");
42
+ c.setAttribute("class", "rdfxml-pane"), s(c);
43
+ let l = o.statementsMatching(void 0, void 0, void 0, e), u = t.Serializer(o);
44
+ u.suggestNamespaces(o.namespaces), u.setBase(e.uri);
45
+ let d = u.statementsToXML(l), f = a.createElement("div");
46
+ return f.classList.add("rdfxml-pane__source"), d.split("\n").forEach((e) => {
47
+ let t = a.createElement("div"), n = a.createElement("span"), o = a.createElement("span"), s = r(e);
48
+ t.classList.add("rdfxml-pane__line"), t.style.setProperty("--rdfxml-indent", `${s}ch`), n.classList.add("rdfxml-pane__line-indent"), n.setAttribute("aria-hidden", "true"), o.classList.add("rdfxml-pane__line-content"), o.textContent = e.length > 0 ? i(e) : " ", t.appendChild(n), t.appendChild(o), f.appendChild(t);
49
+ }), c.appendChild(f), c;
50
+ }
51
+ };
52
+ //#endregion
53
+ export { a as RDFXMLPane };
54
+
55
+ //# sourceMappingURL=RDFXMLPane2.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RDFXMLPane2.esm.js","names":[],"sources":["../src/RDFXMLPane.ts"],"sourcesContent":["/* RDF/XML 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 ** in generated N3 syntax.\n */\n\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nimport type { DataBrowserContext, RenderEnvironment } from 'pane-registry'\nimport type { NamedNode, Statement } from 'rdflib'\nimport './RDFXMLPane.css'\n\nconst ns = UI.ns\n\ntype RDFXMLPaneDefinition = {\n icon: string\n name: string\n audience: NamedNode[]\n label: (subject: NamedNode, context: DataBrowserContext) => string | null\n render: (subject: NamedNode, context: DataBrowserContext) => HTMLDivElement\n}\n\nfunction leadingIndentWidth (line: string): number {\n if (line.trim().length === 0) {\n return 0\n }\n\n let width = 0\n for (const character of line) {\n if (character === ' ') {\n width += 1\n continue\n }\n if (character === '\\t') {\n width += 2\n continue\n }\n break\n }\n return Math.max(width, 2)\n}\n\nfunction trimLeadingIndent (line: string): string {\n return line.replace(/^[ \\t]+/, '')\n}\n\nexport const RDFXMLPane: RDFXMLPaneDefinition = {\n icon: UI.icons.originalIconBase + '22-text-xml4.png',\n\n name: 'RDFXML',\n\n audience: [ns.solid('Developer')],\n\n label: function (subject: NamedNode, context: DataBrowserContext): string | null {\n const store = context.session.store\n if (\n 'http://www.w3.org/2007/ont/link#ProtocolEvent' in\n store.findTypeURIs(subject)\n ) {\n return null\n }\n\n const n = store.statementsMatching(undefined, undefined, undefined, subject)\n .length\n if (n === 0) return null\n return 'As RDF/XML (' + n + ')'\n },\n\n render: function (\n subject: NamedNode,\n context: DataBrowserContext\n ): HTMLDivElement {\n const myDocument = context.dom\n const kb = context.session.store\n\n function applyEnvironmentAttributes (element: HTMLDivElement): void {\n const environment = (context.environment ?? {}) as Partial<RenderEnvironment>\n element.dataset.layout = environment.layout ?? 'desktop'\n }\n\n const div = myDocument.createElement('div')\n div.setAttribute('class', 'rdfxml-pane')\n applyEnvironmentAttributes(div)\n // Because of smushing etc, this will not be a copy of the original source\n // We could instead either fetch and re-parse the source,\n // or we could keep all the pre-smushed triples.\n const sts = kb.statementsMatching(\n undefined,\n undefined,\n undefined,\n subject\n ) as Statement[] // @@ slow with current store!\n /*\n var kludge = kb.formula([]) // No features\n for (var i=0; i< sts.length; i++) {\n s = sts[i]\n kludge.add(s.subject, s.predicate, s.object)\n }\n */\n const sz = $rdf.Serializer(kb)\n sz.suggestNamespaces(kb.namespaces)\n sz.setBase(subject.uri)\n const str = sz.statementsToXML(sts)\n const source = myDocument.createElement('div')\n source.classList.add('rdfxml-pane__source')\n\n str.split('\\n').forEach(line => {\n const lineElement = myDocument.createElement('div')\n const indentElement = myDocument.createElement('span')\n const contentElement = myDocument.createElement('span')\n const indentWidth = leadingIndentWidth(line)\n\n lineElement.classList.add('rdfxml-pane__line')\n lineElement.style.setProperty('--rdfxml-indent', `${indentWidth}ch`)\n\n indentElement.classList.add('rdfxml-pane__line-indent')\n indentElement.setAttribute('aria-hidden', 'true')\n\n contentElement.classList.add('rdfxml-pane__line-content')\n contentElement.textContent = line.length > 0 ? trimLeadingIndent(line) : ' '\n\n lineElement.appendChild(indentElement)\n lineElement.appendChild(contentElement)\n source.appendChild(lineElement)\n })\n\n div.appendChild(source)\n return div\n }\n}\n\n// ends\n"],"mappings":";;;;AAaA,IAAM,IAAK,EAAG;AAUd,SAAS,EAAoB,GAAsB;CACjD,IAAI,EAAK,KAAK,CAAC,CAAC,WAAW,GACzB,OAAO;CAGT,IAAI,IAAQ;CACZ,KAAK,IAAM,KAAa,GAAM;EAC5B,IAAI,MAAc,KAAK;GACrB,KAAS;GACT;EACF;EACA,IAAI,MAAc,KAAM;GACtB,KAAS;GACT;EACF;EACA;CACF;CACA,OAAO,KAAK,IAAI,GAAO,CAAC;AAC1B;AAEA,SAAS,EAAmB,GAAsB;CAChD,OAAO,EAAK,QAAQ,WAAW,EAAE;AACnC;AAEA,IAAa,IAAmC;CAC9C,MAAM,EAAG,MAAM,mBAAmB;CAElC,MAAM;CAEN,UAAU,CAAC,EAAG,MAAM,WAAW,CAAC;CAEhC,OAAO,SAAU,GAAoB,GAA4C;EAC/E,IAAM,IAAQ,EAAQ,QAAQ;EAC9B,IACE,mDACA,EAAM,aAAa,CAAO,GAE1B,OAAO;EAGT,IAAM,IAAI,EAAM,mBAAmB,KAAA,GAAW,KAAA,GAAW,KAAA,GAAW,CAAO,CAAC,CACzE;EAEH,OADI,MAAM,IAAU,OACb,iBAAiB,IAAI;CAC9B;CAEA,QAAQ,SACN,GACA,GACgB;EAChB,IAAM,IAAa,EAAQ,KACrB,IAAK,EAAQ,QAAQ;EAE3B,SAAS,EAA4B,GAA+B;GAClE,IAAM,IAAe,EAAQ,eAAe,CAAC;GAC7C,EAAQ,QAAQ,SAAS,EAAY,UAAU;EACjD;EAEA,IAAM,IAAM,EAAW,cAAc,KAAK;EAE1C,AADA,EAAI,aAAa,SAAS,aAAa,GACvC,EAA2B,CAAG;EAI9B,IAAM,IAAM,EAAG,mBACb,KAAA,GACA,KAAA,GACA,KAAA,GACA,CACF,GAQM,IAAK,EAAK,WAAW,CAAE;EAE7B,AADA,EAAG,kBAAkB,EAAG,UAAU,GAClC,EAAG,QAAQ,EAAQ,GAAG;EACtB,IAAM,IAAM,EAAG,gBAAgB,CAAG,GAC5B,IAAS,EAAW,cAAc,KAAK;EAwB7C,OAvBA,EAAO,UAAU,IAAI,qBAAqB,GAE1C,EAAI,MAAM,IAAI,CAAC,CAAC,SAAQ,MAAQ;GAC9B,IAAM,IAAc,EAAW,cAAc,KAAK,GAC5C,IAAgB,EAAW,cAAc,MAAM,GAC/C,IAAiB,EAAW,cAAc,MAAM,GAChD,IAAc,EAAmB,CAAI;GAa3C,AAXA,EAAY,UAAU,IAAI,mBAAmB,GAC7C,EAAY,MAAM,YAAY,mBAAmB,GAAG,EAAY,GAAG,GAEnE,EAAc,UAAU,IAAI,0BAA0B,GACtD,EAAc,aAAa,eAAe,MAAM,GAEhD,EAAe,UAAU,IAAI,2BAA2B,GACxD,EAAe,cAAc,EAAK,SAAS,IAAI,EAAkB,CAAI,IAAI,KAEzE,EAAY,YAAY,CAAa,GACrC,EAAY,YAAY,CAAc,GACtC,EAAO,YAAY,CAAW;EAChC,CAAC,GAED,EAAI,YAAY,CAAM,GACf;CACT;AACF"}
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));exports.__toESM=s;
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m12 19l-7-7l7-7m7 7H5"/></svg>`}};customElements.get(`icon-lucide-arrow-left`)||customElements.define(`icon-lucide-arrow-left`,e),exports.default=e;
2
+ //# sourceMappingURL=arrow-left.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-left.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/arrow-left
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"/></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-arrow-left") || customElements.define("icon-lucide-arrow-left", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=arrow-left.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow-left.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></g></svg>`}};customElements.get(`icon-lucide-ellipsis-vertical`)||customElements.define(`icon-lucide-ellipsis-vertical`,e),exports.default=e;
2
+ //# sourceMappingURL=ellipsis-vertical.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipsis-vertical.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/ellipsis-vertical
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"1\"/><circle cx=\"12\" cy=\"5\" r=\"1\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-ellipsis-vertical") || customElements.define("icon-lucide-ellipsis-vertical", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=ellipsis-vertical.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipsis-vertical.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"/></svg>`}};customElements.get(`icon-lucide-folder-open`)||customElements.define(`icon-lucide-folder-open`,e),exports.default=e;
2
+ //# sourceMappingURL=folder-open.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-open.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/folder-open
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 14l1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\"/></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-folder-open") || customElements.define("icon-lucide-folder-open", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=folder-open.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-open.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20"/></g></svg>`}};customElements.get(`icon-lucide-globe`)||customElements.define(`icon-lucide-globe`,e),exports.default=e;
2
+ //# sourceMappingURL=globe.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globe.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/globe
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-globe") || customElements.define("icon-lucide-globe", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=globe.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globe.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01"/></g></svg>`}};customElements.get(`icon-lucide-help-circle`)||customElements.define(`icon-lucide-help-circle`,e),exports.default=e;
2
+ //# sourceMappingURL=help-circle.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-circle.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/help-circle
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-help-circle") || customElements.define("icon-lucide-help-circle", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=help-circle.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-circle.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="7" height="9" x="3" y="3" rx="1"/><rect width="7" height="5" x="14" y="3" rx="1"/><rect width="7" height="9" x="14" y="12" rx="1"/><rect width="7" height="5" x="3" y="16" rx="1"/></g></svg>`}};customElements.get(`icon-lucide-layout-dashboard`)||customElements.define(`icon-lucide-layout-dashboard`,e),exports.default=e;
2
+ //# sourceMappingURL=layout-dashboard.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-dashboard.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/layout-dashboard
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><rect width=\"7\" height=\"9\" x=\"3\" y=\"3\" rx=\"1\"/><rect width=\"7\" height=\"5\" x=\"14\" y=\"3\" rx=\"1\"/><rect width=\"7\" height=\"9\" x=\"14\" y=\"12\" rx=\"1\"/><rect width=\"7\" height=\"5\" x=\"3\" y=\"16\" rx=\"1\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-layout-dashboard") || customElements.define("icon-lucide-layout-dashboard", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=layout-dashboard.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-dashboard.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="16" r="1"/><rect width="18" height="12" x="3" y="10" rx="2"/><path d="M7 10V7a5 5 0 0 1 10 0v3"/></g></svg>`}};customElements.get(`icon-lucide-lock-keyhole`)||customElements.define(`icon-lucide-lock-keyhole`,e),exports.default=e;
2
+ //# sourceMappingURL=lock-keyhole.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-keyhole.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/lock-keyhole
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><circle cx=\"12\" cy=\"16\" r=\"1\"/><rect width=\"18\" height=\"12\" x=\"3\" y=\"10\" rx=\"2\"/><path d=\"M7 10V7a5 5 0 0 1 10 0v3\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-lock-keyhole") || customElements.define("icon-lucide-lock-keyhole", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=lock-keyhole.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-keyhole.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4"/></svg>`}};customElements.get(`icon-lucide-pencil`)||customElements.define(`icon-lucide-pencil`,e),exports.default=e;
2
+ //# sourceMappingURL=pencil.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pencil.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/pencil
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497zM15 5l4 4\"/></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-pencil") || customElements.define("icon-lucide-pencil", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=pencil.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pencil.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M14 17H5M19 7h-9"/><circle cx="17" cy="17" r="3"/><circle cx="7" cy="7" r="3"/></g></svg>`}};customElements.get(`icon-lucide-settings-2`)||customElements.define(`icon-lucide-settings-2`,e),exports.default=e;
2
+ //# sourceMappingURL=settings-2.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-2.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/settings-2
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M14 17H5M19 7h-9\"/><circle cx=\"17\" cy=\"17\" r=\"3\"/><circle cx=\"7\" cy=\"7\" r=\"3\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-settings-2") || customElements.define("icon-lucide-settings-2", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=settings-2.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-2.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><path d="m8.59 13.51l6.83 3.98m-.01-10.98l-6.82 3.98"/></g></svg>`}};customElements.get(`icon-lucide-share-2`)||customElements.define(`icon-lucide-share-2`,e),exports.default=e;
2
+ //# sourceMappingURL=share-2.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-2.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/share-2
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><circle cx=\"18\" cy=\"5\" r=\"3\"/><circle cx=\"6\" cy=\"12\" r=\"3\"/><circle cx=\"18\" cy=\"19\" r=\"3\"/><path d=\"m8.59 13.51l6.83 3.98m-.01-10.98l-6.82 3.98\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-share-2") || customElements.define("icon-lucide-share-2", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=share-2.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-2.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg>`}};customElements.get(`icon-lucide-trash-2`)||customElements.define(`icon-lucide-trash-2`,e),exports.default=e;
2
+ //# sourceMappingURL=trash-2.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trash-2.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/trash-2
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10 11v6m4-6v6m5-11v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"/></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-trash-2") || customElements.define("icon-lucide-trash-2", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=trash-2.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trash-2.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></g></svg>`}};customElements.get(`icon-lucide-user`)||customElements.define(`icon-lucide-user`,e),exports.default=e;
2
+ //# sourceMappingURL=user.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/user
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-user") || customElements.define("icon-lucide-user", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=user.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87"/><circle cx="9" cy="7" r="4"/></g></svg>`}};customElements.get(`icon-lucide-users`)||customElements.define(`icon-lucide-users`,e),exports.default=e;
2
+ //# sourceMappingURL=users.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.cjs.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ //#region ~icons/lucide/users
2
+ var e = class extends HTMLElement {
3
+ constructor() {
4
+ super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/></g></svg>";
5
+ }
6
+ };
7
+ customElements.get("icon-lucide-users") || customElements.define("icon-lucide-users", e);
8
+ //#endregion
9
+ export { e as default };
10
+
11
+ //# sourceMappingURL=users.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.esm.js","names":[],"sources":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ 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.iconBase+`noun_534313.svg`,name:`audio`,label:function(e,t){let r=t.session.store.findTypeURIs(e),i=n.Util.mediaTypeClass(`audio/*`).uri.split(`*`)[0];for(let e in r)if(e.startsWith(i))return`Play audio`;return null},render:function(e,t){let n=t.session.store,i=t.dom,a={autoplay:!1,chain:!0,chainAlbums:!0,loop:!1},o=function(e){let t=e.lastIndexOf(`.`);return t<0||t<e.lastIndexOf(`/`)?e:e.slice(0,t)},s=function(e){let t=n.any(void 0,r.ldp(`contains`),e);if(!t)return!1;let i=n.each(t,r.ldp(`contains`));if(i.length<2)return!1;let a=e.uri;for(let e=0;e<i.length;e++){let t=i[e].uri;if(a.length>t.length&&a.startsWith(o(t))||a.endsWith(`.m4a`)&&t.endsWith(`.mp3`)&&o(a)===o(t))return!0}return!1},c=function(e){let t=e.uri.split(`/`).slice(-3),n=function(e){try{return decodeURIComponent(e)}catch{return e}};h.textContent=n(t[0]),g.textContent=n(t[1]),_.textContent=n(o(t[2]))},l=function(e,t){return new Promise(function(i){if(t||=0,!a.chain)return i(null);let o=n.any(void 0,r.ldp(`contains`),e)||e.dir();if(!o)return i(null);n.fetcher.load(o).then(function(s){let c=n.each(o,r.ldp(`contains`)),u;c.sort();for(let s=0;s<c.length;s++)if(e.uri===c[s].uri){if(u=(s+1)%c.length,u===0){if(a.chainAlbums){if(t===1||!a.chainAlbums)return i(null);l(o,t+1).then(function(e){e&&n.fetcher.load(e).then(function(t){let a=n.each(e,r.ldp(`contains`));return a.length===0?i(null):(a.sort(),console.log(`New Album: `+e),i(a[0]))})})}else return a.loop?i(c[u]):i(null)}else return i(c[u])}})})},u=function(e){let t=n.sym(e.target.getAttribute(`src`));if(!a.chain)return;let r=function(t){let n=t;l(n).then(function(t){if(!t){console.log(`No successor to `+n);return}s(t)?(console.log(`Ignoring redundant `+t),r(t)):(console.log(`Moving on to `+t),c(t),v.appendChild(d(t,!0)),v.removeChild(e.target))})};r(t)},d=function(e,t){let r=i.createElement(`audio`);return r.setAttribute(`controls`,`yes`),n.fetcher._fetch(e.uri).then(function(e){return e.blob()}).then(function(e){let t=URL.createObjectURL(e);r.setAttribute(`src`,t)}),t&&r.setAttribute(`autoplay`,`autoplay`),r.addEventListener(`ended`,u,!1),r},f=i.createElement(`div`),p=f.appendChild(i.createElement(`table`)),m=`padding: 0.3em; color:white; background-color: black;`,h=p.appendChild(i.createElement(`tr`));h.style.cssText=m;let g=p.appendChild(i.createElement(`tr`));g.style.cssText=m;let _=p.appendChild(i.createElement(`tr`));_.style.cssText=m;let v=p.appendChild(i.createElement(`tr`));return c(e),v.appendChild(d(e,a.autoplay)),!n.holds(void 0,r.ldp(`contains`),e)&&e.dir()&&n.fetcher.load(e.dir()),f}};exports.default=i;
2
+ //# sourceMappingURL=audioPane.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioPane.cjs.js","names":["UI","$rdf"],"sources":["../../src/audio/audioPane.js"],"sourcesContent":["/* Single audio play Pane\n **\n */\nimport * as UI from 'solid-ui'\nimport * as $rdf from 'rdflib'\nconst ns = UI.ns\n\nexport default {\n icon: UI.icons.iconBase + 'noun_534313.svg',\n\n name: 'audio',\n\n // Does the subject deserve an audio play pane?\n label: function (subject, context) {\n const kb = context.session.store\n const typeURIs = kb.findTypeURIs(subject)\n\n const prefix = $rdf.Util.mediaTypeClass('audio/*').uri.split('*')[0]\n for (const t in typeURIs) {\n if (t.startsWith(prefix)) return 'Play audio'\n }\n return null\n },\n\n render: function (subject, context) {\n const kb = context.session.store\n const dom = context.dom\n const options = {\n autoplay: false,\n chain: true,\n chainAlbums: true,\n loop: false\n }\n\n const removeExtension = function (str) {\n const dot = str.lastIndexOf('.')\n if (dot < 0) return str // if any\n const slash = str.lastIndexOf('/')\n if (dot < slash) return str\n return str.slice(0, dot)\n }\n\n // True if there is another file like song.mp3 when this is \"song 1.mp3\"\n // or this is song.m4a\n //\n const looksRedundant = function (x) {\n const folder = kb.any(undefined, ns.ldp('contains'), x)\n if (!folder) return false\n const contents = kb.each(folder, ns.ldp('contains'))\n if (contents.length < 2) return false\n const thisName = x.uri\n for (let k = 0; k < contents.length; k++) {\n const otherName = contents[k].uri\n if (\n thisName.length > otherName.length &&\n thisName.startsWith(removeExtension(otherName))\n ) {\n return true\n }\n if (\n thisName.endsWith('.m4a') &&\n otherName.endsWith('.mp3') &&\n removeExtension(thisName) === removeExtension(otherName)\n ) {\n return true\n }\n }\n return false\n }\n\n // Alternative methods could include:\n // Accesing metadata in the audio contol, or paring the audio file\n const guessNames = function (x) {\n const a = x.uri.split('/').slice(-3) // Hope artist, album, track\n const decode = function (str) {\n try {\n return decodeURIComponent(str)\n } catch (e) {\n return str\n }\n }\n artistRow.textContent = decode(a[0])\n albumRow.textContent = decode(a[1])\n trackRow.textContent = decode(removeExtension(a[2]))\n }\n\n const moveOn = function (current, level) {\n return new Promise(function (resolve) {\n level = level || 0\n if (!options.chain) return resolve(null)\n // Ideally navigate graph else cheat with URI munging:\n const folder =\n kb.any(undefined, ns.ldp('contains'), current) || current.dir()\n if (!folder) return resolve(null)\n kb.fetcher.load(folder).then(function (_xhr) {\n const contents = kb.each(folder, ns.ldp('contains')) // @@ load if not loaded\n // if (contents.length < 2) return resolve(null) NO might move on from 1-track album\n let j\n contents.sort() // sort by URI which hopefully will get tracks in order\n for (let i = 0; i < contents.length; i++) {\n if (current.uri === contents[i].uri) {\n j = (i + 1) % contents.length\n if (j === 0) {\n if (!options.chainAlbums) {\n if (options.loop) {\n return resolve(contents[j])\n }\n return resolve(null) // No more music needed\n } else {\n // chain albums\n if (level === 1 || !options.chainAlbums) return resolve(null) // limit of navigating treee\n moveOn(folder, level + 1).then(function (folder2) {\n if (folder2) {\n kb.fetcher.load(folder2).then(function (_xhr) {\n const contents = kb.each(folder2, ns.ldp('contains'))\n if (contents.length === 0) return resolve(null)\n contents.sort()\n console.log('New Album: ' + folder2)\n return resolve(contents[0]) // Start off new album\n })\n }\n })\n }\n } else {\n return resolve(contents[j])\n }\n }\n } // for\n })\n })\n }\n const endedListener = function (event) {\n const current = kb.sym(event.target.getAttribute('src'))\n if (!options.chain) return\n const tryNext = function (cur) {\n const current = cur\n moveOn(current).then(function (next) {\n if (!next) {\n console.log('No successor to ' + current)\n return\n }\n if (!looksRedundant(next)) {\n console.log('Moving on to ' + next)\n guessNames(next)\n controlRow.appendChild(audioControl(next, true)) // Force autoplay\n controlRow.removeChild(event.target)\n } else {\n console.log('Ignoring redundant ' + next)\n tryNext(next)\n }\n })\n }\n tryNext(current)\n }\n\n const audioControl = function (song, autoplay) {\n const audio = dom.createElement('audio')\n audio.setAttribute('controls', 'yes')\n // get audio with authenticated fetch\n kb.fetcher._fetch(song.uri)\n .then(function (response) {\n return response.blob()\n })\n .then(function (myBlob) {\n const objectURL = URL.createObjectURL(myBlob)\n audio.setAttribute('src', objectURL) // w640 h480 //\n })\n\n if (autoplay) {\n audio.setAttribute('autoplay', 'autoplay') // Make this a personal preference\n }\n audio.addEventListener('ended', endedListener, false)\n return audio\n }\n\n const div = dom.createElement('div')\n const table = div.appendChild(dom.createElement('table'))\n const labelStyle = 'padding: 0.3em; color:white; background-color: black;'\n const artistRow = table.appendChild(dom.createElement('tr'))\n artistRow.style.cssText = labelStyle\n const albumRow = table.appendChild(dom.createElement('tr'))\n albumRow.style.cssText = labelStyle\n const trackRow = table.appendChild(dom.createElement('tr'))\n trackRow.style.cssText = labelStyle\n const controlRow = table.appendChild(dom.createElement('tr'))\n guessNames(subject)\n controlRow.appendChild(audioControl(subject, options.autoplay))\n\n if (!kb.holds(undefined, ns.ldp('contains'), subject) && subject.dir()) {\n kb.fetcher.load(subject.dir()) // Prefetch enclosing @@ or playlist\n }\n\n return div\n }\n}\n\n// ends\n"],"mappings":"wIAKA,IAAM,EAAKA,EAAG,GAEd,EAAe,CACb,KAAMA,EAAG,MAAM,SAAW,kBAE1B,KAAM,QAGN,MAAO,SAAU,EAAS,EAAS,CAEjC,IAAM,EADK,EAAQ,QAAQ,MACP,aAAa,CAAO,EAElC,EAASC,EAAK,KAAK,eAAe,SAAS,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,GAClE,IAAK,IAAM,KAAK,EACd,GAAI,EAAE,WAAW,CAAM,EAAG,MAAO,aAEnC,OAAO,IACT,EAEA,OAAQ,SAAU,EAAS,EAAS,CAClC,IAAM,EAAK,EAAQ,QAAQ,MACrB,EAAM,EAAQ,IACd,EAAU,CACd,SAAU,GACV,MAAO,GACP,YAAa,GACb,KAAM,EACR,EAEM,EAAkB,SAAU,EAAK,CACrC,IAAM,EAAM,EAAI,YAAY,GAAG,EAI/B,OAHI,EAAM,GAEN,EADU,EAAI,YAAY,GAChB,EAAU,EACjB,EAAI,MAAM,EAAG,CAAG,CACzB,EAKM,EAAiB,SAAU,EAAG,CAClC,IAAM,EAAS,EAAG,IAAI,IAAA,GAAW,EAAG,IAAI,UAAU,EAAG,CAAC,EACtD,GAAI,CAAC,EAAQ,MAAO,GACpB,IAAM,EAAW,EAAG,KAAK,EAAQ,EAAG,IAAI,UAAU,CAAC,EACnD,GAAI,EAAS,OAAS,EAAG,MAAO,GAChC,IAAM,EAAW,EAAE,IACnB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CACxC,IAAM,EAAY,EAAS,EAAE,CAAC,IAO9B,GALE,EAAS,OAAS,EAAU,QAC5B,EAAS,WAAW,EAAgB,CAAS,CAAC,GAK9C,EAAS,SAAS,MAAM,GACxB,EAAU,SAAS,MAAM,GACzB,EAAgB,CAAQ,IAAM,EAAgB,CAAS,EAEvD,MAAO,EAEX,CACA,MAAO,EACT,EAIM,EAAa,SAAU,EAAG,CAC9B,IAAM,EAAI,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,EAC7B,EAAS,SAAU,EAAK,CAC5B,GAAI,CACF,OAAO,mBAAmB,CAAG,CAC/B,MAAY,CACV,OAAO,CACT,CACF,EACA,EAAU,YAAc,EAAO,EAAE,EAAE,EACnC,EAAS,YAAc,EAAO,EAAE,EAAE,EAClC,EAAS,YAAc,EAAO,EAAgB,EAAE,EAAE,CAAC,CACrD,EAEM,EAAS,SAAU,EAAS,EAAO,CACvC,OAAO,IAAI,QAAQ,SAAU,EAAS,CAEpC,GADA,IAAiB,EACb,CAAC,EAAQ,MAAO,OAAO,EAAQ,IAAI,EAEvC,IAAM,EACJ,EAAG,IAAI,IAAA,GAAW,EAAG,IAAI,UAAU,EAAG,CAAO,GAAK,EAAQ,IAAI,EAChE,GAAI,CAAC,EAAQ,OAAO,EAAQ,IAAI,EAChC,EAAG,QAAQ,KAAK,CAAM,CAAC,CAAC,KAAK,SAAU,EAAM,CAC3C,IAAM,EAAW,EAAG,KAAK,EAAQ,EAAG,IAAI,UAAU,CAAC,EAE/C,EACJ,EAAS,KAAK,EACd,IAAK,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,GAAI,EAAQ,MAAQ,EAAS,EAAE,CAAC,IAAK,CAEnC,GADA,GAAK,EAAI,GAAK,EAAS,OACnB,IAAM,EAAG,CACX,GAAK,EAAQ,YAKN,CAEL,GAAI,IAAU,GAAK,CAAC,EAAQ,YAAa,OAAO,EAAQ,IAAI,EAC5D,EAAO,EAAQ,EAAQ,CAAC,CAAC,CAAC,KAAK,SAAU,EAAS,CAC5C,GACF,EAAG,QAAQ,KAAK,CAAO,CAAC,CAAC,KAAK,SAAU,EAAM,CAC5C,IAAM,EAAW,EAAG,KAAK,EAAS,EAAG,IAAI,UAAU,CAAC,EAIpD,OAHI,EAAS,SAAW,EAAU,EAAQ,IAAI,GAC9C,EAAS,KAAK,EACd,QAAQ,IAAI,cAAgB,CAAO,EAC5B,EAAQ,EAAS,EAAE,EAC5B,CAAC,CAEL,CAAC,CACH,MAfE,OAHI,EAAQ,KACH,EAAQ,EAAS,EAAE,EAErB,EAAQ,IAAI,CAgBvB,MACE,OAAO,EAAQ,EAAS,EAAE,CAE9B,CAEJ,CAAC,CACH,CAAC,CACH,EACM,EAAgB,SAAU,EAAO,CACrC,IAAM,EAAU,EAAG,IAAI,EAAM,OAAO,aAAa,KAAK,CAAC,EACvD,GAAI,CAAC,EAAQ,MAAO,OACpB,IAAM,EAAU,SAAU,EAAK,CAC7B,IAAM,EAAU,EAChB,EAAO,CAAO,CAAC,CAAC,KAAK,SAAU,EAAM,CACnC,GAAI,CAAC,EAAM,CACT,QAAQ,IAAI,mBAAqB,CAAO,EACxC,MACF,CACK,EAAe,CAAI,GAMtB,QAAQ,IAAI,sBAAwB,CAAI,EACxC,EAAQ,CAAI,IANZ,QAAQ,IAAI,gBAAkB,CAAI,EAClC,EAAW,CAAI,EACf,EAAW,YAAY,EAAa,EAAM,EAAI,CAAC,EAC/C,EAAW,YAAY,EAAM,MAAM,EAKvC,CAAC,CACH,EACA,EAAQ,CAAO,CACjB,EAEM,EAAe,SAAU,EAAM,EAAU,CAC7C,IAAM,EAAQ,EAAI,cAAc,OAAO,EAgBvC,OAfA,EAAM,aAAa,WAAY,KAAK,EAEpC,EAAG,QAAQ,OAAO,EAAK,GAAG,CAAC,CACxB,KAAK,SAAU,EAAU,CACxB,OAAO,EAAS,KAAK,CACvB,CAAC,CAAC,CACD,KAAK,SAAU,EAAQ,CACtB,IAAM,EAAY,IAAI,gBAAgB,CAAM,EAC5C,EAAM,aAAa,MAAO,CAAS,CACrC,CAAC,EAEC,GACF,EAAM,aAAa,WAAY,UAAU,EAE3C,EAAM,iBAAiB,QAAS,EAAe,EAAK,EAC7C,CACT,EAEM,EAAM,EAAI,cAAc,KAAK,EAC7B,EAAQ,EAAI,YAAY,EAAI,cAAc,OAAO,CAAC,EAClD,EAAa,wDACb,EAAY,EAAM,YAAY,EAAI,cAAc,IAAI,CAAC,EAC3D,EAAU,MAAM,QAAU,EAC1B,IAAM,EAAW,EAAM,YAAY,EAAI,cAAc,IAAI,CAAC,EAC1D,EAAS,MAAM,QAAU,EACzB,IAAM,EAAW,EAAM,YAAY,EAAI,cAAc,IAAI,CAAC,EAC1D,EAAS,MAAM,QAAU,EACzB,IAAM,EAAa,EAAM,YAAY,EAAI,cAAc,IAAI,CAAC,EAQ5D,OAPA,EAAW,CAAO,EAClB,EAAW,YAAY,EAAa,EAAS,EAAQ,QAAQ,CAAC,EAE1D,CAAC,EAAG,MAAM,IAAA,GAAW,EAAG,IAAI,UAAU,EAAG,CAAO,GAAK,EAAQ,IAAI,GACnE,EAAG,QAAQ,KAAK,EAAQ,IAAI,CAAC,EAGxB,CACT,CACF"}