solid-panes 3.7.3-61993d3f → 3.7.3-80127fe7

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 (379) hide show
  1. package/dist/RDFXMLPane.js +58 -0
  2. package/dist/RDFXMLPane.js.map +1 -0
  3. package/{lib → dist}/argument/argumentPane.js +14 -15
  4. package/dist/argument/argumentPane.js.map +1 -0
  5. package/{lib → dist}/attach/attachPane.js +83 -93
  6. package/dist/attach/attachPane.js.map +1 -0
  7. package/{lib → dist}/audio/audioPane.js +49 -50
  8. package/dist/audio/audioPane.js.map +1 -0
  9. package/{lib → dist}/classInstancePane.js +23 -24
  10. package/dist/classInstancePane.js.map +1 -0
  11. package/dist/dashboard/basicPreferences.js +147 -0
  12. package/dist/dashboard/basicPreferences.js.map +1 -0
  13. package/{lib → dist}/dashboard/dashboardPane.js +17 -21
  14. package/dist/dashboard/dashboardPane.js.map +1 -0
  15. package/dist/dashboard/homepage.js +54 -0
  16. package/dist/dashboard/homepage.js.map +1 -0
  17. package/{lib → dist}/dataContentPane.js +63 -63
  18. package/dist/dataContentPane.js.map +1 -0
  19. package/{lib → dist}/defaultPane.js +14 -15
  20. package/dist/defaultPane.js.map +1 -0
  21. package/{lib → dist}/dokieli/dokieliPane.js +49 -53
  22. package/dist/dokieli/dokieliPane.js.map +1 -0
  23. package/{src → dist}/dokieli/new.js +9 -3
  24. package/dist/dokieli/new.js.map +1 -0
  25. package/{lib → dist}/form/pane.js +44 -45
  26. package/dist/form/pane.js.map +1 -0
  27. package/{lib → dist}/home/homePane.d.ts.map +1 -1
  28. package/dist/home/homePane.js +73 -0
  29. package/dist/home/homePane.js.map +1 -0
  30. package/dist/humanReadablePane.js +135 -0
  31. package/dist/humanReadablePane.js.map +1 -0
  32. package/dist/imagePane.js +70 -0
  33. package/dist/imagePane.js.map +1 -0
  34. package/{lib → dist}/index.js +17 -20
  35. package/dist/index.js.map +1 -0
  36. package/{lib → dist}/internal/internalPane.js +41 -41
  37. package/dist/internal/internalPane.js.map +1 -0
  38. package/{lib → dist}/mainPage/footer.js +2 -2
  39. package/{lib → dist}/mainPage/footer.js.map +1 -1
  40. package/dist/mainPage/header.js +85 -0
  41. package/dist/mainPage/header.js.map +1 -0
  42. package/{lib → dist}/mainPage/index.d.ts.map +1 -1
  43. package/dist/mainPage/index.js +25 -0
  44. package/dist/mainPage/index.js.map +1 -0
  45. package/{lib → dist}/microblogPane/microblogPane.js +261 -262
  46. package/dist/microblogPane/microblogPane.js.map +1 -0
  47. package/dist/n3Pane.js +56 -0
  48. package/dist/n3Pane.js.map +1 -0
  49. package/{lib → dist}/outline/context.js +4 -4
  50. package/{lib → dist}/outline/context.js.map +1 -1
  51. package/dist/outline/manager.js +1997 -0
  52. package/dist/outline/manager.js.map +1 -0
  53. package/{lib → dist}/outline/outlineIcons.js +2 -3
  54. package/dist/outline/outlineIcons.js.map +1 -0
  55. package/{lib → dist}/outline/propertyViews.js +4 -4
  56. package/dist/outline/propertyViews.js.map +1 -0
  57. package/{lib → dist}/outline/queryByExample.js +30 -31
  58. package/dist/outline/queryByExample.js.map +1 -0
  59. package/{lib → dist}/outline/userInput.js +262 -260
  60. package/dist/outline/userInput.js.map +1 -0
  61. package/dist/outline/viewAsImage.js +15 -0
  62. package/dist/outline/viewAsImage.js.map +1 -0
  63. package/dist/outline/viewAsMbox.js +22 -0
  64. package/dist/outline/viewAsMbox.js.map +1 -0
  65. package/{lib → dist}/pad/padPane.js +90 -96
  66. package/dist/pad/padPane.js.map +1 -0
  67. package/{lib → dist}/playlist/playlistPane.js +36 -37
  68. package/dist/playlist/playlistPane.js.map +1 -0
  69. package/{lib → dist}/registerPanes.js +29 -29
  70. package/dist/registerPanes.js.map +1 -0
  71. package/{lib → dist}/schedule/schedulePane.js +171 -178
  72. package/dist/schedule/schedulePane.js.map +1 -0
  73. package/{lib → dist}/sharing/sharingPane.js +12 -12
  74. package/dist/sharing/sharingPane.js.map +1 -0
  75. package/dist/slideshow/slideshowPane.js +80 -0
  76. package/dist/slideshow/slideshowPane.js.map +1 -0
  77. package/{lib → dist}/socialPane.js +141 -142
  78. package/dist/socialPane.js.map +1 -0
  79. package/dist/tabbed/tabbedPane.js +58 -0
  80. package/dist/tabbed/tabbedPane.js.map +1 -0
  81. package/{lib → dist}/tableViewPane.js +8 -9
  82. package/dist/tableViewPane.js.map +1 -0
  83. package/{lib → dist}/transaction/pane.js +117 -118
  84. package/dist/transaction/pane.js.map +1 -0
  85. package/{lib → dist}/transaction/period.js +82 -83
  86. package/dist/transaction/period.js.map +1 -0
  87. package/{lib → dist}/trip/tripPane.js +47 -48
  88. package/dist/trip/tripPane.js.map +1 -0
  89. package/dist/trustedApplications/trustedApplications.dom.js +146 -0
  90. package/dist/trustedApplications/trustedApplications.dom.js.map +1 -0
  91. package/dist/trustedApplications/trustedApplications.utils.js +24 -0
  92. package/dist/trustedApplications/trustedApplications.utils.js.map +1 -0
  93. package/dist/trustedApplications/trustedApplications.view.js +56 -0
  94. package/dist/trustedApplications/trustedApplications.view.js.map +1 -0
  95. package/{lib → dist}/ui/pane.js +30 -31
  96. package/dist/ui/pane.js.map +1 -0
  97. package/dist/versionInfo.js +37 -0
  98. package/dist/versionInfo.js.map +1 -0
  99. package/dist/video/videoPane.js +43 -0
  100. package/dist/video/videoPane.js.map +1 -0
  101. package/package.json +38 -25
  102. package/Documentation/VisualLanguage.html +0 -538
  103. package/Documentation/conventions.md +0 -333
  104. package/coverage/clover.xml +0 -152
  105. package/coverage/coverage-final.json +0 -6
  106. package/coverage/lcov-report/base.css +0 -224
  107. package/coverage/lcov-report/block-navigation.js +0 -87
  108. package/coverage/lcov-report/favicon.png +0 -0
  109. package/coverage/lcov-report/index.html +0 -131
  110. package/coverage/lcov-report/outline/index.html +0 -161
  111. package/coverage/lcov-report/outline/outlineIcons.js.html +0 -565
  112. package/coverage/lcov-report/outline/propertyViews.ts.html +0 -196
  113. package/coverage/lcov-report/outline/viewAsImage.ts.html +0 -121
  114. package/coverage/lcov-report/outline/viewAsMbox.ts.html +0 -127
  115. package/coverage/lcov-report/prettify.css +0 -1
  116. package/coverage/lcov-report/prettify.js +0 -2
  117. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  118. package/coverage/lcov-report/sorter.js +0 -210
  119. package/coverage/lcov-report/trustedApplications/index.html +0 -116
  120. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +0 -238
  121. package/coverage/lcov.info +0 -204
  122. package/dev/index.html +0 -28
  123. package/dev/loader.ts +0 -91
  124. package/dev/pane/index.ts +0 -10
  125. package/doc/images/panes-for-classes.epgz +0 -0
  126. package/doc/images/panes-for-classes.svg +0 -609
  127. package/eslint.config.mjs +0 -34
  128. package/jest.config.js +0 -27
  129. package/jest.setup.ts +0 -4
  130. package/lib/RDFXMLPane.js +0 -59
  131. package/lib/RDFXMLPane.js.map +0 -1
  132. package/lib/argument/argumentPane.js.map +0 -1
  133. package/lib/attach/attachPane.js.map +0 -1
  134. package/lib/audio/audioPane.js.map +0 -1
  135. package/lib/classInstancePane.js.map +0 -1
  136. package/lib/dashboard/basicPreferences.js +0 -229
  137. package/lib/dashboard/basicPreferences.js.map +0 -1
  138. package/lib/dashboard/dashboardPane.js.map +0 -1
  139. package/lib/dashboard/homepage.js +0 -86
  140. package/lib/dashboard/homepage.js.map +0 -1
  141. package/lib/dataContentPane.js.map +0 -1
  142. package/lib/defaultPane.js.map +0 -1
  143. package/lib/dokieli/dokieliPane.js.map +0 -1
  144. package/lib/dokieli/new.js +0 -9
  145. package/lib/dokieli/new.js.map +0 -1
  146. package/lib/form/pane.js.map +0 -1
  147. package/lib/global.d.js +0 -2
  148. package/lib/global.d.js.map +0 -1
  149. package/lib/home/homePane.js +0 -91
  150. package/lib/home/homePane.js.map +0 -1
  151. package/lib/humanReadablePane.js +0 -138
  152. package/lib/humanReadablePane.js.map +0 -1
  153. package/lib/imagePane.js +0 -71
  154. package/lib/imagePane.js.map +0 -1
  155. package/lib/index.js.map +0 -1
  156. package/lib/internal/internalPane.js.map +0 -1
  157. package/lib/mainPage/header.js +0 -152
  158. package/lib/mainPage/header.js.map +0 -1
  159. package/lib/mainPage/index.js +0 -42
  160. package/lib/mainPage/index.js.map +0 -1
  161. package/lib/microblogPane/microblogPane.js.map +0 -1
  162. package/lib/n3Pane.js +0 -57
  163. package/lib/n3Pane.js.map +0 -1
  164. package/lib/outline/manager.js +0 -2264
  165. package/lib/outline/manager.js.map +0 -1
  166. package/lib/outline/manager.test.d.ts +0 -2
  167. package/lib/outline/manager.test.d.ts.map +0 -1
  168. package/lib/outline/manager.test.js +0 -210
  169. package/lib/outline/manager.test.js.map +0 -1
  170. package/lib/outline/outlineIcons.js.map +0 -1
  171. package/lib/outline/propertyViews.js.map +0 -1
  172. package/lib/outline/propertyViews.test.d.ts +0 -2
  173. package/lib/outline/propertyViews.test.d.ts.map +0 -1
  174. package/lib/outline/propertyViews.test.js +0 -27
  175. package/lib/outline/propertyViews.test.js.map +0 -1
  176. package/lib/outline/queryByExample.js.map +0 -1
  177. package/lib/outline/userInput.js.map +0 -1
  178. package/lib/outline/viewAsImage.js +0 -17
  179. package/lib/outline/viewAsImage.js.map +0 -1
  180. package/lib/outline/viewAsMbox.js +0 -23
  181. package/lib/outline/viewAsMbox.js.map +0 -1
  182. package/lib/pad/padPane.js.map +0 -1
  183. package/lib/playlist/playlistPane.js.map +0 -1
  184. package/lib/registerPanes.js.map +0 -1
  185. package/lib/schedule/formsForSchedule.js +0 -8
  186. package/lib/schedule/formsForSchedule.js.map +0 -1
  187. package/lib/schedule/schedulePane.js.map +0 -1
  188. package/lib/sharing/sharingPane.js.map +0 -1
  189. package/lib/slideshow/slideshowPane.js +0 -84
  190. package/lib/slideshow/slideshowPane.js.map +0 -1
  191. package/lib/socialPane.js.map +0 -1
  192. package/lib/tabbed/tabbedPane.js +0 -72
  193. package/lib/tabbed/tabbedPane.js.map +0 -1
  194. package/lib/tableViewPane.js.map +0 -1
  195. package/lib/test-import-export/common.js +0 -12
  196. package/lib/test-import-export/common.js.map +0 -1
  197. package/lib/test-import-export/edit-importer.js +0 -25
  198. package/lib/test-import-export/edit-importer.js.map +0 -1
  199. package/lib/test-import-export/testImportExport.js +0 -2
  200. package/lib/test-import-export/testImportExport.js.map +0 -1
  201. package/lib/transaction/pane.js.map +0 -1
  202. package/lib/transaction/period.js.map +0 -1
  203. package/lib/trip/tripPane.js.map +0 -1
  204. package/lib/trustedApplications/trustedApplications.dom.js +0 -177
  205. package/lib/trustedApplications/trustedApplications.dom.js.map +0 -1
  206. package/lib/trustedApplications/trustedApplications.test.d.ts +0 -2
  207. package/lib/trustedApplications/trustedApplications.test.d.ts.map +0 -1
  208. package/lib/trustedApplications/trustedApplications.test.js +0 -64
  209. package/lib/trustedApplications/trustedApplications.test.js.map +0 -1
  210. package/lib/trustedApplications/trustedApplications.utils.js +0 -34
  211. package/lib/trustedApplications/trustedApplications.utils.js.map +0 -1
  212. package/lib/trustedApplications/trustedApplications.view.js +0 -87
  213. package/lib/trustedApplications/trustedApplications.view.js.map +0 -1
  214. package/lib/types.d.ts +0 -30
  215. package/lib/types.d.ts.map +0 -1
  216. package/lib/types.js +0 -6
  217. package/lib/types.js.map +0 -1
  218. package/lib/ui/pane.js.map +0 -1
  219. package/lib/versionInfo.d.ts +0 -32
  220. package/lib/versionInfo.d.ts.map +0 -1
  221. package/lib/versionInfo.js +0 -37
  222. package/lib/versionInfo.js.map +0 -1
  223. package/lib/video/videoPane.js +0 -44
  224. package/lib/video/videoPane.js.map +0 -1
  225. package/src/RDFXMLPane.js +0 -60
  226. package/src/argument/argumentPane.js +0 -65
  227. package/src/argument/argument_icon_v04.jpg +0 -0
  228. package/src/argument/icon_argument.png +0 -0
  229. package/src/argument/transparentyingyang.png +0 -0
  230. package/src/attach/attachPane.js +0 -508
  231. package/src/attach/tbl-paperclip-128.png +0 -0
  232. package/src/attach/tbl-paperclip-22.png +0 -0
  233. package/src/attach/tbl-paperclip-22a.png +0 -0
  234. package/src/audio/audioPane.js +0 -197
  235. package/src/chatPreferencesForm.ttl +0 -12
  236. package/src/classInstancePane.js +0 -110
  237. package/src/dashboard/basicPreferences.ts +0 -201
  238. package/src/dashboard/dashboardPane.ts +0 -83
  239. package/src/dashboard/homepage.ts +0 -72
  240. package/src/dashboard/languages/codes.html +0 -8611
  241. package/src/dashboard/languages/codes.xml +0 -3563
  242. package/src/dashboard/languages/codes2.txt +0 -170
  243. package/src/dashboard/languages/foo +0 -70
  244. package/src/dashboard/languages/foo.ttl +0 -0
  245. package/src/dashboard/languages/get-language-names.sh +0 -12
  246. package/src/dashboard/ontologyData.ttl +0 -35
  247. package/src/dashboard/preferencesFormText.ttl +0 -18
  248. package/src/dataContentPane.js +0 -290
  249. package/src/defaultPane.js +0 -102
  250. package/src/dokieli/Makefile +0 -6
  251. package/src/dokieli/dokieliPane.js +0 -190
  252. package/src/dokieli/new.html +0 -30
  253. package/src/form/form-22.png +0 -0
  254. package/src/form/form-b-22.png +0 -0
  255. package/src/form/form.graffle +0 -0
  256. package/src/form/form.png +0 -0
  257. package/src/form/pane.js +0 -217
  258. package/src/form/psuedocode-notes.txt +0 -57
  259. package/src/global.d.ts +0 -4
  260. package/src/home/homePane.ts +0 -72
  261. package/src/humanReadablePane.js +0 -150
  262. package/src/imagePane.js +0 -75
  263. package/src/index.ts +0 -71
  264. package/src/internal/internalPane.ts +0 -263
  265. package/src/mainPage/footer.ts +0 -19
  266. package/src/mainPage/header.ts +0 -79
  267. package/src/mainPage/index.ts +0 -20
  268. package/src/meeting/Makefile +0 -3
  269. package/src/meeting/test/meeting1/Actions/actions.ttl +0 -14
  270. package/src/meeting/test/meeting1/Actions/config.ttl +0 -16
  271. package/src/meeting/test/meeting1/Actions/state.ttl +0 -30
  272. package/src/meeting/test/meeting1/Schedule/details.ttl +0 -34
  273. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +0 -20
  274. package/src/meeting/test/meeting1/Schedule/forms.ttl +0 -75
  275. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +0 -20
  276. package/src/meeting/test/meeting1/Schedule/index.html +0 -72
  277. package/src/meeting/test/meeting1/Schedule/index.html.acl +0 -20
  278. package/src/meeting/test/meeting1/Schedule/results.ttl +0 -15
  279. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +0 -20
  280. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +0 -23
  281. package/src/meeting/test/meeting1/chat/chat.ttl +0 -1
  282. package/src/meeting/test/meeting1/details.ttl +0 -35
  283. package/src/meeting/test/meeting1/pad/pad.ttl +0 -16
  284. package/src/microblogPane/mbStyle.css +0 -267
  285. package/src/microblogPane/microblogPane.js +0 -1412
  286. package/src/n3Pane.js +0 -56
  287. package/src/outline/context.ts +0 -21
  288. package/src/outline/manager.js +0 -2384
  289. package/src/outline/manager.test.ts +0 -189
  290. package/src/outline/outlineIcons.js +0 -160
  291. package/src/outline/propertyViews.test.ts +0 -36
  292. package/src/outline/propertyViews.ts +0 -37
  293. package/src/outline/queryByExample.js +0 -296
  294. package/src/outline/userInput.js +0 -2373
  295. package/src/outline/viewAsImage.ts +0 -12
  296. package/src/outline/viewAsMbox.ts +0 -14
  297. package/src/pad/images/ColourOff.ai +2 -872
  298. package/src/pad/images/ColourOff.png +0 -0
  299. package/src/pad/images/ColourOn.ai +1 -935
  300. package/src/pad/images/ColourOn.png +0 -0
  301. package/src/pad/padPane.ts +0 -559
  302. package/src/playlist/playlistPane.js +0 -161
  303. package/src/registerPanes.js +0 -147
  304. package/src/schedule/Makefile +0 -6
  305. package/src/schedule/formsForSchedule.js +0 -117
  306. package/src/schedule/formsForSchedule.ttl +0 -115
  307. package/src/schedule/schedulePane.js +0 -1201
  308. package/src/sharing/sharingPane.ts +0 -49
  309. package/src/slideshow/slideshowPane.js +0 -80
  310. package/src/socialPane.js +0 -523
  311. package/src/style/tabbedtab.css +0 -1347
  312. package/src/tabbed/tabbedPane.ts +0 -60
  313. package/src/tableViewPane.js +0 -51
  314. package/src/test-import-export/common.js +0 -6
  315. package/src/test-import-export/edit-importer.js +0 -20
  316. package/src/test-import-export/testImportExport.js +0 -0
  317. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  318. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  319. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  320. package/src/transaction/pane.js +0 -629
  321. package/src/transaction/period.js +0 -374
  322. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  323. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  324. package/src/trip/tripPane.js +0 -176
  325. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +0 -176
  326. package/src/trustedApplications/trustedApplications.dom.ts +0 -276
  327. package/src/trustedApplications/trustedApplications.test.ts +0 -82
  328. package/src/trustedApplications/trustedApplications.utils.ts +0 -51
  329. package/src/trustedApplications/trustedApplications.view.ts +0 -80
  330. package/src/types.ts +0 -34
  331. package/src/ui/22-builder.png +0 -0
  332. package/src/ui/builder.graffle +0 -0
  333. package/src/ui/builder.png +0 -0
  334. package/src/ui/builder2.png +0 -0
  335. package/src/ui/pane.js +0 -226
  336. package/src/versionInfo.ts +0 -30
  337. package/src/video/videoPane.js +0 -44
  338. package/timestamp.sh +0 -13
  339. package/travis/bumpversion.js +0 -29
  340. package/tsconfig.json +0 -78
  341. package/typings/raw-loader.d.ts +0 -4
  342. package/typings/solid-namespace/index.d.ts +0 -9
  343. package/webpack.config.js +0 -41
  344. /package/{lib → dist}/dashboard/basicPreferences.d.ts +0 -0
  345. /package/{lib → dist}/dashboard/basicPreferences.d.ts.map +0 -0
  346. /package/{lib → dist}/dashboard/dashboardPane.d.ts +0 -0
  347. /package/{lib → dist}/dashboard/dashboardPane.d.ts.map +0 -0
  348. /package/{lib → dist}/dashboard/homepage.d.ts +0 -0
  349. /package/{lib → dist}/dashboard/homepage.d.ts.map +0 -0
  350. /package/{lib → dist}/home/homePane.d.ts +0 -0
  351. /package/{lib → dist}/index.d.ts +0 -0
  352. /package/{lib → dist}/index.d.ts.map +0 -0
  353. /package/{lib → dist}/internal/internalPane.d.ts +0 -0
  354. /package/{lib → dist}/internal/internalPane.d.ts.map +0 -0
  355. /package/{lib → dist}/mainPage/footer.d.ts +0 -0
  356. /package/{lib → dist}/mainPage/footer.d.ts.map +0 -0
  357. /package/{lib → dist}/mainPage/header.d.ts +0 -0
  358. /package/{lib → dist}/mainPage/header.d.ts.map +0 -0
  359. /package/{lib → dist}/mainPage/index.d.ts +0 -0
  360. /package/{lib → dist}/outline/context.d.ts +0 -0
  361. /package/{lib → dist}/outline/context.d.ts.map +0 -0
  362. /package/{lib → dist}/outline/propertyViews.d.ts +0 -0
  363. /package/{lib → dist}/outline/propertyViews.d.ts.map +0 -0
  364. /package/{lib → dist}/outline/viewAsImage.d.ts +0 -0
  365. /package/{lib → dist}/outline/viewAsImage.d.ts.map +0 -0
  366. /package/{lib → dist}/outline/viewAsMbox.d.ts +0 -0
  367. /package/{lib → dist}/outline/viewAsMbox.d.ts.map +0 -0
  368. /package/{lib → dist}/pad/padPane.d.ts +0 -0
  369. /package/{lib → dist}/pad/padPane.d.ts.map +0 -0
  370. /package/{lib → dist}/sharing/sharingPane.d.ts +0 -0
  371. /package/{lib → dist}/sharing/sharingPane.d.ts.map +0 -0
  372. /package/{lib → dist}/tabbed/tabbedPane.d.ts +0 -0
  373. /package/{lib → dist}/tabbed/tabbedPane.d.ts.map +0 -0
  374. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  375. /package/{lib → dist}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  376. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  377. /package/{lib → dist}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  378. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts +0 -0
  379. /package/{lib → dist}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
@@ -1,176 +0,0 @@
1
- // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
-
3
- exports[`getStatementsToAdd should return all required statements to add the given permissions for a given origin 1`] = `
4
- [
5
- Statement {
6
- "graph": NamedNode {
7
- "classOrder": 5,
8
- "termType": "NamedNode",
9
- "value": "https://profile.example",
10
- },
11
- "object": BlankNode {
12
- "classOrder": 6,
13
- "isBlank": 1,
14
- "isVar": 1,
15
- "termType": "BlankNode",
16
- "value": "bn_mock_app_id",
17
- },
18
- "predicate": NamedNode {
19
- "classOrder": 5,
20
- "termType": "NamedNode",
21
- "value": "http://www.w3.org/ns/auth/acl#trustedApp",
22
- },
23
- "subject": NamedNode {
24
- "classOrder": 5,
25
- "termType": "NamedNode",
26
- "value": "https://profile.example#me",
27
- },
28
- },
29
- Statement {
30
- "graph": NamedNode {
31
- "classOrder": 5,
32
- "termType": "NamedNode",
33
- "value": "https://profile.example",
34
- },
35
- "object": NamedNode {
36
- "classOrder": 5,
37
- "termType": "NamedNode",
38
- "value": "https://origin.example",
39
- },
40
- "predicate": NamedNode {
41
- "classOrder": 5,
42
- "termType": "NamedNode",
43
- "value": "http://www.w3.org/ns/auth/acl#origin",
44
- },
45
- "subject": BlankNode {
46
- "classOrder": 6,
47
- "isBlank": 1,
48
- "isVar": 1,
49
- "termType": "BlankNode",
50
- "value": "bn_mock_app_id",
51
- },
52
- },
53
- Statement {
54
- "graph": NamedNode {
55
- "classOrder": 5,
56
- "termType": "NamedNode",
57
- "value": "https://profile.example",
58
- },
59
- "object": NamedNode {
60
- "classOrder": 5,
61
- "termType": "NamedNode",
62
- "value": "http://www.w3.org/ns/auth/acl#Read",
63
- },
64
- "predicate": NamedNode {
65
- "classOrder": 5,
66
- "termType": "NamedNode",
67
- "value": "http://www.w3.org/ns/auth/acl#mode",
68
- },
69
- "subject": BlankNode {
70
- "classOrder": 6,
71
- "isBlank": 1,
72
- "isVar": 1,
73
- "termType": "BlankNode",
74
- "value": "bn_mock_app_id",
75
- },
76
- },
77
- Statement {
78
- "graph": NamedNode {
79
- "classOrder": 5,
80
- "termType": "NamedNode",
81
- "value": "https://profile.example",
82
- },
83
- "object": NamedNode {
84
- "classOrder": 5,
85
- "termType": "NamedNode",
86
- "value": "http://www.w3.org/ns/auth/acl#Write",
87
- },
88
- "predicate": NamedNode {
89
- "classOrder": 5,
90
- "termType": "NamedNode",
91
- "value": "http://www.w3.org/ns/auth/acl#mode",
92
- },
93
- "subject": BlankNode {
94
- "classOrder": 6,
95
- "isBlank": 1,
96
- "isVar": 1,
97
- "termType": "BlankNode",
98
- "value": "bn_mock_app_id",
99
- },
100
- },
101
- ]
102
- `;
103
-
104
- exports[`getStatementsToDelete should return all statements for the given origin 1`] = `
105
- [
106
- Statement {
107
- "graph": DefaultGraph {
108
- "classOrder": undefined,
109
- "termType": "DefaultGraph",
110
- "uri": "chrome:theSession",
111
- "value": "",
112
- },
113
- "object": NamedNode {
114
- "classOrder": 5,
115
- "termType": "NamedNode",
116
- "value": "https://app.example",
117
- },
118
- "predicate": NamedNode {
119
- "classOrder": 5,
120
- "termType": "NamedNode",
121
- "value": "http://www.w3.org/ns/auth/acl#trustedApp",
122
- },
123
- "subject": NamedNode {
124
- "classOrder": 5,
125
- "termType": "NamedNode",
126
- "value": "https://profile.example#me",
127
- },
128
- },
129
- Statement {
130
- "graph": DefaultGraph {
131
- "classOrder": undefined,
132
- "termType": "DefaultGraph",
133
- "uri": "chrome:theSession",
134
- "value": "",
135
- },
136
- "object": NamedNode {
137
- "classOrder": 5,
138
- "termType": "NamedNode",
139
- "value": "https://origin.example",
140
- },
141
- "predicate": NamedNode {
142
- "classOrder": 5,
143
- "termType": "NamedNode",
144
- "value": "http://www.w3.org/ns/auth/acl#origin",
145
- },
146
- "subject": NamedNode {
147
- "classOrder": 5,
148
- "termType": "NamedNode",
149
- "value": "https://app.example",
150
- },
151
- },
152
- Statement {
153
- "graph": DefaultGraph {
154
- "classOrder": undefined,
155
- "termType": "DefaultGraph",
156
- "uri": "chrome:theSession",
157
- "value": "",
158
- },
159
- "object": NamedNode {
160
- "classOrder": 5,
161
- "termType": "NamedNode",
162
- "value": "http://www.w3.org/ns/auth/acl#Read",
163
- },
164
- "predicate": NamedNode {
165
- "classOrder": 5,
166
- "termType": "NamedNode",
167
- "value": "http://www.w3.org/ns/auth/acl#mode",
168
- },
169
- "subject": NamedNode {
170
- "classOrder": 5,
171
- "termType": "NamedNode",
172
- "value": "https://app.example",
173
- },
174
- },
175
- ]
176
- `;
@@ -1,276 +0,0 @@
1
- import { NamedNode, Statement, sym } from 'rdflib'
2
- import { ns } from 'solid-ui'
3
- import { store } from 'solid-logic'
4
- import { generateRandomString, getStatementsToAdd, getStatementsToDelete } from './trustedApplications.utils'
5
-
6
- interface FormElements {
7
- modes: HTMLInputElement[]
8
- // This appears to be used to store either a node from the store,
9
- // or a reference to the input (checkbox) element for a particular mode.
10
- // These typings were created post-hoc, so I'm not sure if that was intentional.
11
- // Thus, this union type should be considered as descriptive rather than prescriptive.
12
- origin: undefined | NamedNode | HTMLInputElement
13
- }
14
-
15
- export function createApplicationTable (subject: NamedNode) {
16
- const applicationsTable = createElement('table', {
17
- class: 'results'
18
- })
19
-
20
- // creating headers
21
- const header = createContainer('tr', [
22
- createText('th', 'Application URL'),
23
- createText('th', 'Access modes'),
24
- createText('th', 'Actions')
25
- ])
26
- applicationsTable.appendChild(header);
27
-
28
- // creating rows
29
- (store.each(subject, ns.acl('trustedApp'), undefined, undefined) as unknown as Statement[])
30
- .flatMap(app => store
31
- .each(app as any, ns.acl('origin'), undefined, undefined)
32
- .map(origin => ({
33
- appModes: store.each(app as any, ns.acl('mode'), undefined, undefined) as NamedNode[],
34
- origin: origin as NamedNode
35
- })))
36
- .sort((a: any, b: any) => (a.origin.value < b.origin.value ? -1 : 1))
37
- .forEach(
38
- ({ appModes, origin }: { appModes: NamedNode[]; origin: NamedNode }) =>
39
- applicationsTable.appendChild(
40
- createApplicationEntry(subject, origin, appModes, updateTable)
41
- )
42
- )
43
-
44
- // adding a row for new applications
45
- applicationsTable.appendChild(
46
- createApplicationEntry(subject, null, [ns.acl('Read')], updateTable)
47
- )
48
-
49
- return applicationsTable
50
-
51
- function updateTable () {
52
- applicationsTable.parentElement!.replaceChild(
53
- createApplicationTable(subject),
54
- applicationsTable
55
- )
56
- }
57
- }
58
-
59
- function createApplicationEntry (
60
- subject: NamedNode,
61
- origin: NamedNode | null,
62
- appModes: NamedNode[],
63
- updateTable: () => void
64
- ): HTMLTableRowElement {
65
- const trustedApplicationState = {
66
- origin,
67
- appModes,
68
- formElements: {
69
- modes: [],
70
- origin: undefined
71
- } as FormElements
72
- }
73
- return createContainer('tr', [
74
- createContainer('td', [
75
- createContainer(
76
- 'form',
77
- [
78
- createElement(
79
- 'input',
80
- {
81
- class: 'textinput',
82
- placeholder: 'Write new URL here',
83
- value: origin ? origin.value : ''
84
- },
85
- {},
86
- element => {
87
- trustedApplicationState.formElements.origin = element
88
- }
89
- )
90
- ],
91
- {},
92
- {
93
- submit: addOrEditApplication
94
- }
95
- )
96
- ]),
97
- createContainer('td', [
98
- createContainer(
99
- 'form',
100
- createModesInput(trustedApplicationState),
101
- {},
102
- {
103
- submit: addOrEditApplication
104
- }
105
- )
106
- ]),
107
- createContainer('td', [
108
- createContainer(
109
- 'form',
110
- origin
111
- ? [
112
- createText('button', 'Update', {
113
- class: 'controlButton',
114
- style: 'background: LightGreen;'
115
- }),
116
- createText(
117
- 'button',
118
- 'Delete',
119
- {
120
- class: 'controlButton',
121
- style: 'background: LightCoral;'
122
- },
123
- {
124
- click: removeApplication
125
- }
126
- )
127
- ]
128
- : [
129
- createText('button', 'Add', {
130
- class: 'controlButton',
131
- style: 'background: LightGreen;'
132
- })
133
- ],
134
- {},
135
- {
136
- submit: addOrEditApplication
137
- }
138
- )
139
- ])
140
- ])
141
-
142
- function addOrEditApplication (event: Event) {
143
- event.preventDefault()
144
- let origin
145
- try {
146
- origin = sym(trustedApplicationState.formElements.origin!.value)
147
- } catch (err) {
148
- return alert('Please provide an application URL you want to trust')
149
- }
150
-
151
- const modes = trustedApplicationState.formElements.modes
152
- .filter(checkbox => checkbox.checked)
153
- .map(checkbox => checkbox.value)
154
-
155
- const deletions = getStatementsToDelete(
156
- trustedApplicationState.origin || origin,
157
- subject,
158
- store,
159
- ns
160
- )
161
- const additions = getStatementsToAdd(
162
- origin,
163
- generateRandomString(),
164
- modes,
165
- subject,
166
- ns
167
- )
168
- if (!store.updater) {
169
- throw new Error('Store has no updater')
170
- }
171
- store.updater.update(deletions, additions, handleUpdateResponse)
172
- }
173
-
174
- function removeApplication (event: Event) {
175
- event.preventDefault()
176
- let origin
177
- try {
178
- origin = sym(trustedApplicationState.formElements.origin!.value)
179
- } catch (err) {
180
- return alert(
181
- 'Please provide an application URL you want to remove trust from'
182
- )
183
- }
184
-
185
- const deletions = getStatementsToDelete(origin, subject, store, ns)
186
- if (!store.updater) {
187
- throw new Error('Store has no updater')
188
- }
189
- store.updater.update(deletions, [], handleUpdateResponse)
190
- }
191
-
192
- function handleUpdateResponse (uri: any, success: boolean, errorBody: any) {
193
- if (success) {
194
- return updateTable()
195
- }
196
- console.error(uri, errorBody)
197
- }
198
- }
199
-
200
- function createElement<K extends keyof globalThis.HTMLElementTagNameMap> (
201
- elementName: K,
202
- attributes: { [name: string]: string } = {},
203
- eventListeners: { [eventName: string]: globalThis.EventListener } = {},
204
- // eslint-disable-next-line no-unused-vars
205
- onCreated: null | ((createdElement: globalThis.HTMLElementTagNameMap[K]) => void) = null
206
- ) {
207
- const element = document.createElement(elementName)
208
- if (onCreated) {
209
- onCreated(element)
210
- }
211
- Object.keys(attributes).forEach(attName => {
212
- element.setAttribute(attName, attributes[attName])
213
- })
214
- Object.keys(eventListeners).forEach(eventName => {
215
- element.addEventListener(eventName, eventListeners[eventName])
216
- })
217
- return element
218
- }
219
-
220
- export function createContainer<K extends keyof globalThis.HTMLElementTagNameMap> (
221
- elementName: K,
222
- children: HTMLElement[],
223
- attributes = {},
224
- eventListeners = {},
225
- onCreated = null
226
- ) {
227
- const element = createElement(
228
- elementName,
229
- attributes,
230
- eventListeners,
231
- onCreated
232
- )
233
- children.forEach(child => element.appendChild(child))
234
- return element
235
- }
236
-
237
- export function createText<K extends keyof globalThis.HTMLElementTagNameMap> (
238
- elementName: K,
239
- textContent: string | null,
240
- attributes = {},
241
- eventListeners = {},
242
- onCreated = null
243
- ) {
244
- const element = createElement(
245
- elementName,
246
- attributes,
247
- eventListeners,
248
- onCreated
249
- )
250
- element.textContent = textContent
251
- return element
252
- }
253
-
254
- function createModesInput ({ appModes, formElements }: {
255
- appModes: NamedNode[]
256
- formElements: FormElements
257
- }) {
258
- return ['Read', 'Write', 'Append', 'Control'].map(mode => {
259
- const isChecked = appModes.some(
260
- appMode => appMode.value === ns.acl(mode).value
261
- )
262
- return createContainer('label', [
263
- createElement(
264
- 'input',
265
- {
266
- type: 'checkbox',
267
- ...(isChecked ? { checked: '' } : {}),
268
- value: ns.acl(mode).uri
269
- },
270
- {},
271
- element => formElements.modes.push(element)
272
- ),
273
- createText('span', mode)
274
- ])
275
- })
276
- }
@@ -1,82 +0,0 @@
1
- /* eslint-env jest */
2
- import { TextEncoder, TextDecoder } from 'util'
3
- global.TextEncoder = TextEncoder as any
4
- global.TextDecoder = TextDecoder as any
5
-
6
- import * as $rdf from 'rdflib'
7
- import solidNamespace from 'solid-namespace'
8
- import { generateRandomString, getStatementsToDelete, getStatementsToAdd } from './trustedApplications.utils'
9
-
10
- const ns = solidNamespace($rdf)
11
-
12
- describe('generateRandomString', () => {
13
- it('generates a random string five characters long', () => {
14
- expect(generateRandomString().length).toBe(5)
15
- })
16
- })
17
-
18
- describe('getStatementsToDelete', () => {
19
- it('should return an empty array when there are no statements', () => {
20
- const mockStore = $rdf.graph()
21
- const mockOrigin = $rdf.sym('https://origin.example')
22
- const mockProfile = $rdf.sym('https://profile.example#me')
23
- expect(
24
- getStatementsToDelete(mockOrigin, mockProfile, mockStore, ns)
25
- ).toEqual([])
26
- })
27
-
28
- it('should return all statements for the given origin', () => {
29
- const mockStore = $rdf.graph()
30
- const mockApplication = $rdf.sym('https://app.example')
31
- const mockOrigin = $rdf.sym('https://origin.example')
32
- const mockProfile = $rdf.sym('https://profile.example#me')
33
- mockStore.add(mockApplication, ns.acl('origin'), mockOrigin)
34
- mockStore.add(mockApplication, ns.acl('mode'), ns.acl('Read'))
35
- mockStore.add(mockProfile, ns.acl('trustedApp'), mockApplication)
36
- const statementsToDelete = getStatementsToDelete(
37
- mockOrigin,
38
- mockProfile,
39
- mockStore,
40
- ns
41
- )
42
- expect(statementsToDelete.length).toBe(3)
43
- expect(statementsToDelete).toMatchSnapshot()
44
- })
45
-
46
- it('should not return statements for a different origin', () => {
47
- const mockStore = $rdf.graph()
48
- const mockApplication = $rdf.sym('https://app.example')
49
- const mockOrigin = $rdf.sym('https://origin.example')
50
- const mockProfile = $rdf.sym('https://profile.example#me')
51
- mockStore.add(mockApplication, ns.acl('origin'), mockOrigin)
52
- mockStore.add(mockApplication, ns.acl('mode'), ns.acl('Read'))
53
- mockStore.add(mockProfile, ns.acl('trustedApp'), mockApplication)
54
-
55
- const statementsToDelete = getStatementsToDelete(
56
- $rdf.lit('A different origin'), // @@ TODO Remove casting
57
- mockProfile,
58
- mockStore,
59
- ns
60
- )
61
- expect(statementsToDelete.length).toBe(0)
62
- expect(statementsToDelete).toEqual([])
63
- })
64
- })
65
-
66
- describe('getStatementsToAdd', () => {
67
- it('should return all required statements to add the given permissions for a given origin', () => {
68
- const mockOrigin = $rdf.sym('https://origin.example')
69
- const mockProfile = $rdf.sym('https://profile.example#me')
70
- const modes = [ns.acl('Read').value, ns.acl('Write').value]
71
-
72
- const statementsToAdd = getStatementsToAdd(
73
- mockOrigin,
74
- 'mock_app_id',
75
- modes,
76
- mockProfile,
77
- ns
78
- )
79
- expect(statementsToAdd.length).toBe(4)
80
- expect(statementsToAdd).toMatchSnapshot()
81
- })
82
- })
@@ -1,51 +0,0 @@
1
- import { BlankNode, IndexedFormula, NamedNode, st, Literal, sym, Statement } from 'rdflib'
2
- import { Namespaces } from 'solid-namespace'
3
-
4
- export function getStatementsToDelete (
5
- origin: NamedNode | Literal,
6
- person: NamedNode,
7
- kb: IndexedFormula,
8
- ns: Namespaces
9
- ): any {
10
- const applicationStatements = kb.statementsMatching(
11
- null,
12
- ns.acl('origin'),
13
- origin
14
- )
15
- const statementsToDelete = applicationStatements.reduce(
16
- (memo, st) => {
17
- return memo
18
- .concat(
19
- kb.statementsMatching(
20
- person,
21
- ns.acl('trustedApp'),
22
- st.subject as NamedNode
23
- )
24
- )
25
- .concat(kb.statementsMatching(st.subject))
26
- },
27
- [] as Array<Statement>
28
- )
29
- return statementsToDelete
30
- }
31
-
32
- export function getStatementsToAdd (
33
- origin: NamedNode,
34
- nodeName: string,
35
- modes: string[],
36
- person: NamedNode,
37
- ns: Namespaces
38
- ): any {
39
- const application = new BlankNode(`bn_${nodeName}`) // NamedNode(`${person.doc().uri}#${nodeName}`)
40
- return [
41
- st(person, ns.acl('trustedApp'), application, person.doc()),
42
- st(application, ns.acl('origin'), origin, person.doc()),
43
- ...modes
44
- .map(mode => sym(mode))
45
- .map(mode => st(application, ns.acl('mode'), mode, person.doc()))
46
- ]
47
- }
48
-
49
- export function generateRandomString () {
50
- return Math.random().toString(36).substr(2, 5)
51
- }
@@ -1,80 +0,0 @@
1
- import { PaneDefinition } from 'pane-registry'
2
- import { NamedNode } from 'rdflib'
3
- import { icons, login, widgets } from 'solid-ui'
4
- import { store } from 'solid-logic'
5
- import { createApplicationTable, createContainer, createText } from './trustedApplications.dom'
6
-
7
- const thisColor = '#418d99'
8
-
9
- const trustedApplicationView: PaneDefinition = {
10
- global: true,
11
- icon: `${icons.iconBase}noun_15177.svg`,
12
- name: 'trustedApplications',
13
- label: () => null,
14
- render: (subject, context) => {
15
- const dom = context.dom
16
- const div = dom.createElement('div')
17
- div.classList.add('trusted-applications-pane')
18
- div.setAttribute(
19
- 'style',
20
- 'border: 0.3em solid ' +
21
- thisColor +
22
- '; border-radius: 0.5em; padding: 0.7em; margin-top:0.7em;'
23
- )
24
- const table = div.appendChild(dom.createElement('table'))
25
- const main = table.appendChild(dom.createElement('tr'))
26
- const bottom = table.appendChild(dom.createElement('tr'))
27
- const statusArea = bottom.appendChild(dom.createElement('div'))
28
- statusArea.setAttribute('style', 'padding: 0.7em;')
29
- render(dom, main, statusArea).catch(err => statusArea.appendChild(widgets.errorMessageBlock(dom, err)))
30
- return div
31
- }
32
- }
33
-
34
- async function render (dom, main, statusArea): Promise<void> {
35
- const authContext = await login.ensureLoadedProfile({ dom: dom, div: main, statusArea: statusArea, me: null })
36
- const subject = authContext.me as NamedNode
37
-
38
- const profile = subject.doc()
39
- if (!store.updater) {
40
- throw new Error('Store has no updater')
41
- }
42
- const editable = store.updater.editable(profile.uri, store)
43
-
44
- main.appendChild(createText('h3', 'Manage your trusted applications'))
45
-
46
- if (!editable) {
47
- main.appendChild(
48
- widgets.errorMessageBlock(dom, `Your profile ${subject.doc().uri} is not editable, so we cannot do much here.`)
49
- )
50
- return
51
- }
52
-
53
- main.appendChild(createText('p', 'Here you can manage the applications you trust.'))
54
-
55
- const applicationsTable = createApplicationTable(subject)
56
- main.appendChild(applicationsTable)
57
-
58
- main.appendChild(createText('h4', 'Notes'))
59
- main.appendChild(
60
- createContainer('ol', [
61
- main.appendChild(
62
- createText(
63
- 'li',
64
- 'Trusted applications will get access to all resources that you have access to.'
65
- )
66
- ),
67
- main.appendChild(
68
- createText('li', 'You can limit which modes they have by default.')
69
- ),
70
- main.appendChild(
71
- createText('li', 'They will not gain more access than you have.')
72
- )
73
- ])
74
- )
75
- main.appendChild(
76
- createText('p', 'Application URLs must be valid URL. Examples are http://localhost:3000, https://trusted.app, and https://sub.trusted.app.')
77
- )
78
- }
79
-
80
- export default trustedApplicationView
package/src/types.ts DELETED
@@ -1,34 +0,0 @@
1
- interface SolidAuthorization {
2
-
3
- access_token: string
4
-
5
- client_id: string
6
-
7
- id_token: string
8
- }
9
-
10
- interface SolidClaim {
11
-
12
- at_hash: string
13
- aud: string
14
- azp: string
15
- cnf: {
16
- jwk: string
17
- }
18
- exp: number
19
- iat: number
20
- iss: string
21
- jti: string
22
- nonce: string
23
- sub: string
24
- }
25
-
26
- export interface SolidSession {
27
- authorization: SolidAuthorization
28
- credentialType: string
29
- idClaims: SolidClaim
30
- idp: string
31
- issuer: string
32
- sessionKey: string
33
- webId: string
34
- }
Binary file
Binary file
Binary file