solid-panes 3.7.2-38e0315e → 3.7.2-5f43b270

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 (354) hide show
  1. package/Documentation/VisualLanguage.html +538 -0
  2. package/Documentation/conventions.md +333 -0
  3. package/coverage/clover.xml +152 -0
  4. package/coverage/coverage-final.json +6 -0
  5. package/coverage/lcov-report/base.css +224 -0
  6. package/coverage/lcov-report/block-navigation.js +87 -0
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/index.html +131 -0
  9. package/coverage/lcov-report/outline/index.html +161 -0
  10. package/coverage/lcov-report/outline/outlineIcons.js.html +565 -0
  11. package/coverage/lcov-report/outline/propertyViews.ts.html +196 -0
  12. package/coverage/lcov-report/outline/viewAsImage.ts.html +121 -0
  13. package/coverage/lcov-report/outline/viewAsMbox.ts.html +127 -0
  14. package/coverage/lcov-report/prettify.css +1 -0
  15. package/coverage/lcov-report/prettify.js +2 -0
  16. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  17. package/coverage/lcov-report/sorter.js +210 -0
  18. package/coverage/lcov-report/trustedApplications/index.html +116 -0
  19. package/coverage/lcov-report/trustedApplications/trustedApplications.utils.ts.html +238 -0
  20. package/coverage/lcov.info +204 -0
  21. package/dev/index.html +28 -0
  22. package/dev/loader.ts +91 -0
  23. package/dev/pane/index.ts +10 -0
  24. package/doc/images/panes-for-classes.epgz +0 -0
  25. package/doc/images/panes-for-classes.svg +609 -0
  26. package/eslint.config.mjs +34 -0
  27. package/jest.config.js +27 -0
  28. package/jest.setup.ts +4 -0
  29. package/lib/RDFXMLPane.js +59 -0
  30. package/lib/RDFXMLPane.js.map +1 -0
  31. package/lib/argument/argumentPane.js +62 -0
  32. package/lib/argument/argumentPane.js.map +1 -0
  33. package/lib/attach/attachPane.js +404 -0
  34. package/lib/attach/attachPane.js.map +1 -0
  35. package/lib/audio/audioPane.js +183 -0
  36. package/lib/audio/audioPane.js.map +1 -0
  37. package/lib/classInstancePane.js +93 -0
  38. package/lib/classInstancePane.js.map +1 -0
  39. package/lib/dashboard/basicPreferences.js +229 -0
  40. package/lib/dashboard/basicPreferences.js.map +1 -0
  41. package/lib/dashboard/dashboardPane.js +73 -0
  42. package/lib/dashboard/dashboardPane.js.map +1 -0
  43. package/lib/dashboard/homepage.js +86 -0
  44. package/lib/dashboard/homepage.js.map +1 -0
  45. package/lib/dataContentPane.js +259 -0
  46. package/lib/dataContentPane.js.map +1 -0
  47. package/lib/defaultPane.js +76 -0
  48. package/lib/defaultPane.js.map +1 -0
  49. package/lib/dokieli/dokieliPane.js +173 -0
  50. package/lib/dokieli/dokieliPane.js.map +1 -0
  51. package/lib/dokieli/new.js +9 -0
  52. package/lib/dokieli/new.js.map +1 -0
  53. package/lib/form/pane.js +186 -0
  54. package/lib/form/pane.js.map +1 -0
  55. package/lib/global.d.js +2 -0
  56. package/lib/global.d.js.map +1 -0
  57. package/lib/home/homePane.js +91 -0
  58. package/lib/home/homePane.js.map +1 -0
  59. package/lib/humanReadablePane.js +138 -0
  60. package/lib/humanReadablePane.js.map +1 -0
  61. package/lib/imagePane.js +71 -0
  62. package/lib/imagePane.js.map +1 -0
  63. package/lib/index.js +112 -0
  64. package/lib/index.js.map +1 -0
  65. package/lib/internal/internalPane.js +184 -0
  66. package/lib/internal/internalPane.js.map +1 -0
  67. package/lib/mainPage/footer.js +22 -0
  68. package/lib/mainPage/footer.js.map +1 -0
  69. package/lib/mainPage/header.js +152 -0
  70. package/lib/mainPage/header.js.map +1 -0
  71. package/{dist → lib}/mainPage/index.d.ts.map +1 -1
  72. package/lib/mainPage/index.js +42 -0
  73. package/lib/mainPage/index.js.map +1 -0
  74. package/lib/microblogPane/microblogPane.js +1032 -0
  75. package/lib/microblogPane/microblogPane.js.map +1 -0
  76. package/lib/n3Pane.js +57 -0
  77. package/lib/n3Pane.js.map +1 -0
  78. package/lib/outline/context.js +19 -0
  79. package/lib/outline/context.js.map +1 -0
  80. package/lib/outline/manager.js +2264 -0
  81. package/lib/outline/manager.js.map +1 -0
  82. package/lib/outline/manager.test.d.ts +2 -0
  83. package/lib/outline/manager.test.d.ts.map +1 -0
  84. package/lib/outline/manager.test.js +210 -0
  85. package/lib/outline/manager.test.js.map +1 -0
  86. package/lib/outline/outlineIcons.js +128 -0
  87. package/lib/outline/outlineIcons.js.map +1 -0
  88. package/lib/outline/propertyViews.js +44 -0
  89. package/lib/outline/propertyViews.js.map +1 -0
  90. package/lib/outline/propertyViews.test.d.ts +2 -0
  91. package/lib/outline/propertyViews.test.d.ts.map +1 -0
  92. package/lib/outline/propertyViews.test.js +27 -0
  93. package/lib/outline/propertyViews.test.js.map +1 -0
  94. package/lib/outline/queryByExample.js +286 -0
  95. package/lib/outline/queryByExample.js.map +1 -0
  96. package/lib/outline/userInput.js +1817 -0
  97. package/lib/outline/userInput.js.map +1 -0
  98. package/lib/outline/viewAsImage.js +17 -0
  99. package/lib/outline/viewAsImage.js.map +1 -0
  100. package/{dist → lib}/outline/viewAsMbox.js +14 -4
  101. package/lib/outline/viewAsMbox.js.map +1 -0
  102. package/lib/pad/padPane.js +417 -0
  103. package/lib/pad/padPane.js.map +1 -0
  104. package/lib/playlist/playlistPane.js +125 -0
  105. package/lib/playlist/playlistPane.js.map +1 -0
  106. package/lib/registerPanes.js +146 -0
  107. package/lib/registerPanes.js.map +1 -0
  108. package/lib/schedule/formsForSchedule.js +8 -0
  109. package/lib/schedule/formsForSchedule.js.map +1 -0
  110. package/lib/schedule/schedulePane.js +895 -0
  111. package/lib/schedule/schedulePane.js.map +1 -0
  112. package/lib/sharing/sharingPane.js +49 -0
  113. package/lib/sharing/sharingPane.js.map +1 -0
  114. package/lib/slideshow/slideshowPane.js +84 -0
  115. package/lib/slideshow/slideshowPane.js.map +1 -0
  116. package/lib/socialPane.js +431 -0
  117. package/lib/socialPane.js.map +1 -0
  118. package/lib/tabbed/tabbedPane.js +72 -0
  119. package/lib/tabbed/tabbedPane.js.map +1 -0
  120. package/lib/tableViewPane.js +58 -0
  121. package/lib/tableViewPane.js.map +1 -0
  122. package/lib/test-import-export/common.js +12 -0
  123. package/lib/test-import-export/common.js.map +1 -0
  124. package/lib/test-import-export/edit-importer.js +25 -0
  125. package/lib/test-import-export/edit-importer.js.map +1 -0
  126. package/lib/test-import-export/testImportExport.js +2 -0
  127. package/lib/test-import-export/testImportExport.js.map +1 -0
  128. package/lib/transaction/pane.js +479 -0
  129. package/lib/transaction/pane.js.map +1 -0
  130. package/lib/transaction/period.js +325 -0
  131. package/lib/transaction/period.js.map +1 -0
  132. package/lib/trip/tripPane.js +176 -0
  133. package/lib/trip/tripPane.js.map +1 -0
  134. package/lib/trustedApplications/trustedApplications.dom.js +177 -0
  135. package/lib/trustedApplications/trustedApplications.dom.js.map +1 -0
  136. package/lib/trustedApplications/trustedApplications.test.d.ts +2 -0
  137. package/lib/trustedApplications/trustedApplications.test.d.ts.map +1 -0
  138. package/lib/trustedApplications/trustedApplications.test.js +64 -0
  139. package/lib/trustedApplications/trustedApplications.test.js.map +1 -0
  140. package/lib/trustedApplications/trustedApplications.utils.js +34 -0
  141. package/lib/trustedApplications/trustedApplications.utils.js.map +1 -0
  142. package/lib/trustedApplications/trustedApplications.view.js +87 -0
  143. package/lib/trustedApplications/trustedApplications.view.js.map +1 -0
  144. package/lib/types.js +6 -0
  145. package/lib/types.js.map +1 -0
  146. package/lib/ui/pane.js +148 -0
  147. package/lib/ui/pane.js.map +1 -0
  148. package/lib/versionInfo.d.ts +32 -0
  149. package/lib/versionInfo.d.ts.map +1 -0
  150. package/lib/versionInfo.js +37 -0
  151. package/lib/versionInfo.js.map +1 -0
  152. package/lib/video/videoPane.js +44 -0
  153. package/lib/video/videoPane.js.map +1 -0
  154. package/package.json +14 -25
  155. package/src/RDFXMLPane.js +60 -0
  156. package/src/argument/argumentPane.js +65 -0
  157. package/src/argument/argument_icon_v04.jpg +0 -0
  158. package/src/argument/icon_argument.png +0 -0
  159. package/src/argument/transparentyingyang.png +0 -0
  160. package/src/attach/attachPane.js +508 -0
  161. package/src/attach/tbl-paperclip-128.png +0 -0
  162. package/src/attach/tbl-paperclip-22.png +0 -0
  163. package/src/attach/tbl-paperclip-22a.png +0 -0
  164. package/src/audio/audioPane.js +197 -0
  165. package/src/chatPreferencesForm.ttl +12 -0
  166. package/src/classInstancePane.js +110 -0
  167. package/src/dashboard/basicPreferences.ts +201 -0
  168. package/src/dashboard/dashboardPane.ts +83 -0
  169. package/src/dashboard/homepage.ts +72 -0
  170. package/src/dashboard/languages/codes.html +8611 -0
  171. package/src/dashboard/languages/codes.xml +3563 -0
  172. package/src/dashboard/languages/codes2.txt +170 -0
  173. package/src/dashboard/languages/foo +70 -0
  174. package/src/dashboard/languages/foo.ttl +0 -0
  175. package/src/dashboard/languages/get-language-names.sh +12 -0
  176. package/src/dashboard/ontologyData.ttl +35 -0
  177. package/src/dashboard/preferencesFormText.ttl +18 -0
  178. package/src/dataContentPane.js +290 -0
  179. package/src/defaultPane.js +102 -0
  180. package/src/dokieli/Makefile +6 -0
  181. package/src/dokieli/dokieliPane.js +190 -0
  182. package/src/dokieli/new.html +30 -0
  183. package/src/dokieli/new.js +22 -0
  184. package/src/form/form-22.png +0 -0
  185. package/src/form/form-b-22.png +0 -0
  186. package/src/form/form.graffle +0 -0
  187. package/src/form/form.png +0 -0
  188. package/src/form/pane.js +217 -0
  189. package/src/form/psuedocode-notes.txt +57 -0
  190. package/src/global.d.ts +4 -0
  191. package/src/home/homePane.ts +72 -0
  192. package/src/humanReadablePane.js +150 -0
  193. package/src/imagePane.js +75 -0
  194. package/src/index.ts +71 -0
  195. package/src/internal/internalPane.ts +263 -0
  196. package/src/mainPage/footer.ts +19 -0
  197. package/src/mainPage/header.ts +79 -0
  198. package/src/mainPage/index.ts +20 -0
  199. package/src/meeting/Makefile +3 -0
  200. package/src/meeting/test/meeting1/Actions/actions.ttl +14 -0
  201. package/src/meeting/test/meeting1/Actions/config.ttl +16 -0
  202. package/src/meeting/test/meeting1/Actions/state.ttl +30 -0
  203. package/src/meeting/test/meeting1/Schedule/details.ttl +34 -0
  204. package/src/meeting/test/meeting1/Schedule/details.ttl.acl +20 -0
  205. package/src/meeting/test/meeting1/Schedule/forms.ttl +75 -0
  206. package/src/meeting/test/meeting1/Schedule/forms.ttl.acl +20 -0
  207. package/src/meeting/test/meeting1/Schedule/index.html +72 -0
  208. package/src/meeting/test/meeting1/Schedule/index.html.acl +20 -0
  209. package/src/meeting/test/meeting1/Schedule/results.ttl +15 -0
  210. package/src/meeting/test/meeting1/Schedule/results.ttl.acl +20 -0
  211. package/src/meeting/test/meeting1/SharedNotes/pad.ttl +23 -0
  212. package/src/meeting/test/meeting1/chat/chat.ttl +1 -0
  213. package/src/meeting/test/meeting1/details.ttl +35 -0
  214. package/src/meeting/test/meeting1/pad/pad.ttl +16 -0
  215. package/src/microblogPane/mbStyle.css +267 -0
  216. package/src/microblogPane/microblogPane.js +1412 -0
  217. package/src/n3Pane.js +56 -0
  218. package/src/outline/context.ts +21 -0
  219. package/src/outline/manager.js +2384 -0
  220. package/src/outline/manager.test.ts +189 -0
  221. package/src/outline/outlineIcons.js +160 -0
  222. package/src/outline/propertyViews.test.ts +36 -0
  223. package/src/outline/propertyViews.ts +37 -0
  224. package/src/outline/queryByExample.js +296 -0
  225. package/src/outline/userInput.js +2373 -0
  226. package/src/outline/viewAsImage.ts +12 -0
  227. package/src/outline/viewAsMbox.ts +14 -0
  228. package/src/pad/images/ColourOff.ai +873 -1
  229. package/src/pad/images/ColourOff.png +0 -0
  230. package/src/pad/images/ColourOn.ai +934 -2
  231. package/src/pad/images/ColourOn.png +0 -0
  232. package/src/pad/padPane.ts +559 -0
  233. package/src/playlist/playlistPane.js +161 -0
  234. package/src/registerPanes.js +147 -0
  235. package/src/schedule/Makefile +6 -0
  236. package/src/schedule/formsForSchedule.js +117 -0
  237. package/src/schedule/formsForSchedule.ttl +115 -0
  238. package/src/schedule/schedulePane.js +1201 -0
  239. package/src/sharing/sharingPane.ts +49 -0
  240. package/src/slideshow/slideshowPane.js +80 -0
  241. package/src/socialPane.js +523 -0
  242. package/src/style/tabbedtab.css +1347 -0
  243. package/src/tabbed/tabbedPane.ts +60 -0
  244. package/src/tableViewPane.js +51 -0
  245. package/src/test-import-export/common.js +6 -0
  246. package/src/test-import-export/edit-importer.js +20 -0
  247. package/src/test-import-export/testImportExport.js +0 -0
  248. package/src/transaction/068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  249. package/src/transaction/075988-3d-transparent-glass-icon-business-currency-british-pound-sc35.png +0 -0
  250. package/src/transaction/22-pixel-068010-3d-transparent-glass-icon-alphanumeric-dollar-sign.png +0 -0
  251. package/src/transaction/pane.js +629 -0
  252. package/src/transaction/period.js +374 -0
  253. package/src/transaction/thumbs_075987-3d-transparent-glass-icon-business-creditcard2.png +0 -0
  254. package/src/transaction/thumbs_075989-3d-transparent-glass-icon-business-currency-cent-sc35.png +0 -0
  255. package/src/trip/tripPane.js +176 -0
  256. package/src/trustedApplications/__snapshots__/trustedApplications.test.ts.snap +176 -0
  257. package/src/trustedApplications/trustedApplications.dom.ts +276 -0
  258. package/src/trustedApplications/trustedApplications.test.ts +82 -0
  259. package/src/trustedApplications/trustedApplications.utils.ts +51 -0
  260. package/src/trustedApplications/trustedApplications.view.ts +80 -0
  261. package/src/types.ts +34 -0
  262. package/src/ui/22-builder.png +0 -0
  263. package/src/ui/builder.graffle +0 -0
  264. package/src/ui/builder.png +0 -0
  265. package/src/ui/builder2.png +0 -0
  266. package/src/ui/pane.js +226 -0
  267. package/src/versionInfo.ts +30 -0
  268. package/src/video/videoPane.js +44 -0
  269. package/timestamp.sh +13 -0
  270. package/travis/bumpversion.js +29 -0
  271. package/tsconfig.json +78 -0
  272. package/typings/raw-loader.d.ts +4 -0
  273. package/typings/solid-namespace/index.d.ts +9 -0
  274. package/webpack.config.js +41 -0
  275. package/dist/dashboard/basicPreferences.js +0 -155
  276. package/dist/dashboard/basicPreferences.js.map +0 -1
  277. package/dist/dashboard/dashboardPane.js +0 -63
  278. package/dist/dashboard/dashboardPane.js.map +0 -1
  279. package/dist/dashboard/homepage.js +0 -63
  280. package/dist/dashboard/homepage.js.map +0 -1
  281. package/dist/home/homePane.js +0 -68
  282. package/dist/home/homePane.js.map +0 -1
  283. package/dist/index.js +0 -48
  284. package/dist/index.js.map +0 -1
  285. package/dist/internal/internalPane.js +0 -195
  286. package/dist/internal/internalPane.js.map +0 -1
  287. package/dist/mainPage/footer.js +0 -16
  288. package/dist/mainPage/footer.js.map +0 -1
  289. package/dist/mainPage/header.js +0 -84
  290. package/dist/mainPage/header.js.map +0 -1
  291. package/dist/mainPage/index.js +0 -30
  292. package/dist/mainPage/index.js.map +0 -1
  293. package/dist/outline/context.js +0 -13
  294. package/dist/outline/context.js.map +0 -1
  295. package/dist/outline/propertyViews.js +0 -33
  296. package/dist/outline/propertyViews.js.map +0 -1
  297. package/dist/outline/viewAsImage.js +0 -7
  298. package/dist/outline/viewAsImage.js.map +0 -1
  299. package/dist/outline/viewAsMbox.js.map +0 -1
  300. package/dist/pad/padPane.js +0 -420
  301. package/dist/pad/padPane.js.map +0 -1
  302. package/dist/sharing/sharingPane.js +0 -45
  303. package/dist/sharing/sharingPane.js.map +0 -1
  304. package/dist/tabbed/tabbedPane.js +0 -55
  305. package/dist/tabbed/tabbedPane.js.map +0 -1
  306. package/dist/trustedApplications/trustedApplications.dom.js +0 -158
  307. package/dist/trustedApplications/trustedApplications.dom.js.map +0 -1
  308. package/dist/trustedApplications/trustedApplications.utils.js +0 -24
  309. package/dist/trustedApplications/trustedApplications.utils.js.map +0 -1
  310. package/dist/trustedApplications/trustedApplications.view.js +0 -62
  311. package/dist/trustedApplications/trustedApplications.view.js.map +0 -1
  312. package/dist/types.js +0 -2
  313. package/dist/types.js.map +0 -1
  314. package/dist/versionInfo.js +0 -31
  315. package/dist/versionInfo.js.map +0 -1
  316. /package/{dist → lib}/dashboard/basicPreferences.d.ts +0 -0
  317. /package/{dist → lib}/dashboard/basicPreferences.d.ts.map +0 -0
  318. /package/{dist → lib}/dashboard/dashboardPane.d.ts +0 -0
  319. /package/{dist → lib}/dashboard/dashboardPane.d.ts.map +0 -0
  320. /package/{dist → lib}/dashboard/homepage.d.ts +0 -0
  321. /package/{dist → lib}/dashboard/homepage.d.ts.map +0 -0
  322. /package/{dist → lib}/home/homePane.d.ts +0 -0
  323. /package/{dist → lib}/home/homePane.d.ts.map +0 -0
  324. /package/{dist → lib}/index.d.ts +0 -0
  325. /package/{dist → lib}/index.d.ts.map +0 -0
  326. /package/{dist → lib}/internal/internalPane.d.ts +0 -0
  327. /package/{dist → lib}/internal/internalPane.d.ts.map +0 -0
  328. /package/{dist → lib}/mainPage/footer.d.ts +0 -0
  329. /package/{dist → lib}/mainPage/footer.d.ts.map +0 -0
  330. /package/{dist → lib}/mainPage/header.d.ts +0 -0
  331. /package/{dist → lib}/mainPage/header.d.ts.map +0 -0
  332. /package/{dist → lib}/mainPage/index.d.ts +0 -0
  333. /package/{dist → lib}/outline/context.d.ts +0 -0
  334. /package/{dist → lib}/outline/context.d.ts.map +0 -0
  335. /package/{dist → lib}/outline/propertyViews.d.ts +0 -0
  336. /package/{dist → lib}/outline/propertyViews.d.ts.map +0 -0
  337. /package/{dist → lib}/outline/viewAsImage.d.ts +0 -0
  338. /package/{dist → lib}/outline/viewAsImage.d.ts.map +0 -0
  339. /package/{dist → lib}/outline/viewAsMbox.d.ts +0 -0
  340. /package/{dist → lib}/outline/viewAsMbox.d.ts.map +0 -0
  341. /package/{dist → lib}/pad/padPane.d.ts +0 -0
  342. /package/{dist → lib}/pad/padPane.d.ts.map +0 -0
  343. /package/{dist → lib}/sharing/sharingPane.d.ts +0 -0
  344. /package/{dist → lib}/sharing/sharingPane.d.ts.map +0 -0
  345. /package/{dist → lib}/tabbed/tabbedPane.d.ts +0 -0
  346. /package/{dist → lib}/tabbed/tabbedPane.d.ts.map +0 -0
  347. /package/{dist → lib}/trustedApplications/trustedApplications.dom.d.ts +0 -0
  348. /package/{dist → lib}/trustedApplications/trustedApplications.dom.d.ts.map +0 -0
  349. /package/{dist → lib}/trustedApplications/trustedApplications.utils.d.ts +0 -0
  350. /package/{dist → lib}/trustedApplications/trustedApplications.utils.d.ts.map +0 -0
  351. /package/{dist → lib}/trustedApplications/trustedApplications.view.d.ts +0 -0
  352. /package/{dist → lib}/trustedApplications/trustedApplications.view.d.ts.map +0 -0
  353. /package/{dist → lib}/types.d.ts +0 -0
  354. /package/{dist → lib}/types.d.ts.map +0 -0
Binary file
package/src/ui/pane.js ADDED
@@ -0,0 +1,226 @@
1
+ /* Form building/editing Pane
2
+ **
3
+ */
4
+
5
+ import * as UI from 'solid-ui'
6
+ import * as $rdf from 'rdflib'
7
+ const ns = UI.ns
8
+
9
+ export default {
10
+ // noun_170702.svg' builder noun_122196.svg form
11
+ icon: UI.icons.iconBase + 'noun_170702.svg',
12
+
13
+ name: 'ui',
14
+
15
+ audience: [ns.solid('PowerUser')],
16
+
17
+ // Does the subject deserve this pane?
18
+ label: function (subject, context) {
19
+ const ns = UI.ns
20
+ const kb = context.session.store
21
+ const t = kb.findTypeURIs(subject)
22
+ if (t[ns.rdfs('Class').uri]) return 'creation forms'
23
+ // if (t[ns.rdf('Property').uri]) return "user interface";
24
+ if (t[ns.ui('Form').uri]) return 'edit form'
25
+
26
+ return null // No under other circumstances (while testing at least!)
27
+ },
28
+
29
+ render: function (subject, context) {
30
+ const dom = context.dom
31
+ const kb = context.session.store
32
+ const ns = UI.ns
33
+
34
+ const box = dom.createElement('div')
35
+ box.setAttribute('class', 'formPane') // Share styles
36
+ const label = UI.utils.label(subject)
37
+
38
+ const mention = function complain (message, style) {
39
+ const pre = dom.createElement('p')
40
+ pre.setAttribute('style', style || 'color: grey; background-color: white')
41
+ box.appendChild(pre).textContent = message
42
+ return pre
43
+ }
44
+
45
+ const complain = function complain (message, style) {
46
+ mention(message, 'style', style || 'color: grey; background-color: #fdd')
47
+ }
48
+
49
+ const complainIfBad = function (ok, body) {
50
+ if (ok) {
51
+ // setModifiedDate(store, kb, store);
52
+ // rerender(box); // Deleted forms at the moment
53
+ } else complain('Sorry, failed to save your change:\n' + body)
54
+ }
55
+
56
+ // //////////////////////////////////////////////////////////////////////////////
57
+
58
+ const t = kb.findTypeURIs(subject)
59
+
60
+ let store = null
61
+ let docuri
62
+ if (subject.uri) {
63
+ docuri = $rdf.Util.uri.docpart(subject.uri)
64
+ if (subject.uri !== docuri && kb.updater.editable(docuri)) {
65
+ store = kb.sym($rdf.Util.uri.docpart(subject.uri))
66
+ } // an editable ontology with hash
67
+ }
68
+ if (!store) store = kb.any(kb.sym(docuri), ns.link('annotationStore'))
69
+ if (!store) store = UI.widgets.defaultAnnotationStore(subject)
70
+
71
+ if (!store) {
72
+ store = kb.sym(
73
+ 'https://formsregistry.solid.community/public/formRegistry/'
74
+ ) // fallback
75
+ }
76
+ // if (!store) store = kb.sym('http://tabulator.org/wiki/ontologyAnnotation/common') // fallback
77
+
78
+ // A fallback which gives a different store page for each ontology would be good @@
79
+
80
+ let pred
81
+ if (t[ns.rdfs('Class').uri]) {
82
+ // Stuff we can do before we load the store
83
+ }
84
+
85
+ const wait = mention('(Loading data from: ' + store + ')')
86
+
87
+ kb.fetcher.nowOrWhenFetched(store.uri, subject, function (ok, body) {
88
+ if (!ok) {
89
+ complain('Cannot load store ' + store + ' :' + body)
90
+ return
91
+ }
92
+ box.removeChild(wait)
93
+
94
+ // Render a Class -- the forms associated with it
95
+
96
+ if (t[ns.rdfs('Class').uri]) {
97
+ // For each creation form, allow one to create a new object with it, and also to edit the form.
98
+ const displayFormsForRelation = function displayFormsForRelation (
99
+ pred,
100
+ allowCreation
101
+ ) {
102
+ const sts = kb.statementsMatching(subject, pred)
103
+ const outliner = context.getOutliner(dom)
104
+ if (sts.length) {
105
+ for (let i = 0; i < sts.length; i++) {
106
+ outliner.appendPropertyTRs(box, [sts[i]])
107
+ const form = sts[i].object
108
+ const cell = dom.createElement('td')
109
+ box.lastChild.appendChild(cell)
110
+ if (allowCreation) {
111
+ cell.appendChild(
112
+ UI.widgets.newButton(
113
+ dom,
114
+ kb,
115
+ null,
116
+ null,
117
+ subject,
118
+ form,
119
+ store,
120
+ function (ok, body) {
121
+ if (ok) {
122
+ // dom.outlineManager.GotoSubject(newThing@@, true, undefined, true, undefined);
123
+ // rerender(box); // Deleted forms at the moment
124
+ } else {
125
+ complain('Sorry, failed to save your change:\n' + body)
126
+ }
127
+ }
128
+ )
129
+ )
130
+ }
131
+ let formdef = kb.statementsMatching(form, ns.rdf('type'))
132
+ if (!formdef.length) formdef = kb.statementsMatching(form)
133
+ if (!formdef.length) complain('No data about form')
134
+ else {
135
+ UI.widgets.editFormButton(
136
+ dom,
137
+ box,
138
+ form,
139
+ formdef[0].why,
140
+ complainIfBad
141
+ )
142
+ }
143
+ }
144
+ box.appendChild(dom.createElement('hr'))
145
+ } else {
146
+ mention(
147
+ 'There are currently no known forms to make a ' + label + '.'
148
+ )
149
+ }
150
+ }
151
+
152
+ pred = ns.ui('creationForm')
153
+ box.appendChild(dom.createElement('h2')).textContent = UI.utils.label(
154
+ pred
155
+ )
156
+ mention(
157
+ 'Creation forms allow you to add information about a new thing,' +
158
+ ' in this case a new ' +
159
+ label +
160
+ '.'
161
+ )
162
+ displayFormsForRelation(pred, true)
163
+ box.appendChild(dom.createElement('hr'))
164
+ mention('You can make a new creation form:')
165
+ box.appendChild(
166
+ UI.widgets.newButton(
167
+ dom,
168
+ kb,
169
+ subject,
170
+ pred,
171
+ ns.ui('Form'),
172
+ null,
173
+ store,
174
+ complainIfBad
175
+ )
176
+ )
177
+
178
+ box.appendChild(dom.createElement('hr'))
179
+
180
+ pred = ns.ui('annotationForm')
181
+ box.appendChild(dom.createElement('h2')).textContent = UI.utils.label(
182
+ pred
183
+ )
184
+ mention(
185
+ 'Annotaion forms allow you to add extra information about a ,' +
186
+ label +
187
+ ' we already know about.'
188
+ )
189
+ displayFormsForRelation(pred, false)
190
+ box.appendChild(dom.createElement('hr'))
191
+ mention('You can make a new annotation form:')
192
+ box.appendChild(
193
+ UI.widgets.newButton(
194
+ dom,
195
+ kb,
196
+ subject,
197
+ pred,
198
+ ns.ui('Form'),
199
+ null,
200
+ store,
201
+ complainIfBad
202
+ )
203
+ )
204
+
205
+ mention('(Storing new forms in: ' + store + ')')
206
+
207
+ // Render a Form
208
+ } else if (t[ns.ui('Form').uri]) {
209
+ UI.widgets.appendForm(
210
+ dom,
211
+ box,
212
+ kb,
213
+ subject,
214
+ ns.ui('FormForm'),
215
+ store,
216
+ complainIfBad
217
+ )
218
+ } else {
219
+ complain('ui/pane internal error -- Eh?')
220
+ }
221
+ }) // end: when store loded
222
+
223
+ return box
224
+ }
225
+ }
226
+ // ends
@@ -0,0 +1,30 @@
1
+ export default {
2
+ buildTime: "2025-09-18T12:07:49Z",
3
+ commit: "5f43b270310233c802c8574d002ca2fba2decd13",
4
+ npmInfo: {
5
+ "'solid-panes'": "'3.7.2',",
6
+ "npm": "'10.8.2',",
7
+ "node": "'20.19.5',",
8
+ "acorn": "'8.15.0',",
9
+ "ada": "'2.9.2',",
10
+ "ares": "'1.34.5',",
11
+ "brotli": "'1.1.0',",
12
+ "cjs_module_lexer": "'2.1.0',",
13
+ "cldr": "'47.0',",
14
+ "icu": "'77.1',",
15
+ "llhttp": "'9.3.0',",
16
+ "modules": "'115',",
17
+ "napi": "'9',",
18
+ "nghttp2": "'1.61.0',",
19
+ "openssl": "'3.0.16',",
20
+ "simdutf": "'6.4.2',",
21
+ "tz": "'2025b',",
22
+ "undici": "'6.21.2',",
23
+ "unicode": "'16.0',",
24
+ "uv": "'1.46.0',",
25
+ "uvwasi": "'0.0.21',",
26
+ "v8": "'11.3.244.8-node.30',",
27
+ "zlib": "'1.3.1-470d3a2'",
28
+ "}": "}",
29
+ }
30
+ };
@@ -0,0 +1,44 @@
1
+ /* Single video play Pane
2
+ **
3
+ */
4
+ import * as UI from 'solid-ui'
5
+ import * as $rdf from 'rdflib'
6
+
7
+ export default {
8
+ icon: UI.icons.iconBase + 'noun_1619.svg',
9
+
10
+ name: 'video',
11
+
12
+ // Does the subject deserve an slideshow pane?
13
+ label: function (subject, context) {
14
+ const kb = context.session.store
15
+ const typeURIs = kb.findTypeURIs(subject)
16
+ const prefix = $rdf.Util.mediaTypeClass('video/*').uri.split('*')[0]
17
+ for (const t in typeURIs) {
18
+ if (t.startsWith(prefix)) return 'Play video'
19
+ }
20
+
21
+ return null
22
+ },
23
+
24
+ render: function (subject, context) {
25
+ const kb = context.session.store
26
+ const dom = context.dom
27
+ const div = dom.createElement('div')
28
+ const video = div.appendChild(dom.createElement('video'))
29
+ video.setAttribute('controls', 'yes')
30
+ // get video with authenticated fetch
31
+ kb.fetcher._fetch(subject.uri)
32
+ .then(function(response) {
33
+ return response.blob()
34
+ })
35
+ .then(function(myBlob) {
36
+ const objectURL = URL.createObjectURL(myBlob)
37
+ video.setAttribute('src', objectURL) // w640 h480 //
38
+ })
39
+
40
+ video.setAttribute('width', '100%')
41
+ return div
42
+ }
43
+ }
44
+ // ends
package/timestamp.sh ADDED
@@ -0,0 +1,13 @@
1
+ #!/bin/bash
2
+
3
+ echo "export default {"
4
+ date -u '+buildTime: "%Y-%m-%dT%H:%M:%SZ",'
5
+ git log | grep commit | head -1 | sed -e 's/ /: "/' | sed -e 's/$/",/'
6
+ echo " npmInfo: {"
7
+ npm version | sed 's/\x1b\[[0-9;:]*[mG]//g' | grep -v '^{' | while read line; do
8
+ key=$(echo "$line" | cut -d ':' -f 1 | tr -d ' ')
9
+ value=$(echo "$line" | cut -d ':' -f 2- | tr -d ' ')
10
+ echo " \"${key}\": \"${value}\","
11
+ done
12
+ echo " }"
13
+ echo "};"
@@ -0,0 +1,29 @@
1
+ /**
2
+ * npm does not allow you to publish a package with the same version multiple times.
3
+ * Thus, to publish prerelease versions tagged to the branch they're built from,
4
+ * we need to generate unique version numbers that are also higher than versions already published.
5
+ * To achieve this, we append `build<build_number>` to the version number.
6
+ * The actual release version can eventually be published without the suffix.
7
+ */
8
+
9
+ if (
10
+ !process.env.TRAVIS_BUILD_NUMBER ||
11
+ process.env.TRAVIS_BUILD_NUMBER.length === 0
12
+ ) {
13
+ console.error(
14
+ 'Could not read the build number to bump the package version - aborting publish.'
15
+ )
16
+ process.exit(1)
17
+ }
18
+
19
+ const fs = require('fs')
20
+ const path = require('path')
21
+
22
+ const packageJson = require('../package.json')
23
+ packageJson.version = `${packageJson.version}build${
24
+ process.env.TRAVIS_BUILD_NUMBER
25
+ }`
26
+ fs.writeFileSync(
27
+ path.resolve(__dirname, '../package.json'),
28
+ JSON.stringify(packageJson)
29
+ )
package/tsconfig.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ // See https://stackoverflow.com/questions/54139158/cannot-find-name-describe-do-you-need-to-install-type-definitions-for-a-test
3
+
4
+ "compilerOptions": {
5
+ /* Basic Options */
6
+ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */,
7
+ "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
8
+ "lib": [
9
+ "dom",
10
+ "es2015",
11
+ "es2019"
12
+ ] /* Specify library files to be included in the compilation. */,
13
+ // "allowJs": true, /* Allow javascript files to be compiled. */
14
+ // "checkJs": true, /* Report errors in .js files. */
15
+ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
16
+ "declaration": true /* Generates corresponding '.d.ts' file. */,
17
+ "skipLibCheck": true,
18
+ "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */,
19
+ "sourceMap": true /* Generates corresponding '.map' file. */,
20
+ // "outFile": "./", /* Concatenate and emit output to single file. */
21
+ "outDir": "lib" /* Redirect output structure to the directory. */,
22
+ // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
23
+ // "composite": true, /* Enable project compilation */
24
+ // "incremental": true, /* Enable incremental compilation */
25
+ // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
26
+ // "removeComments": true, /* Do not emit comments to output. */
27
+ // "noEmit": true, /* Do not emit outputs. */
28
+ // "importHelpers": true, /* Import emit helpers from 'tslib'. */
29
+ // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
30
+ // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
31
+
32
+ /* Strict Type-Checking Options */
33
+ "strict": false /* Enable all strict type-checking options. */,
34
+ "noImplicitAny": false /* Raise error on expressions and declarations with an implied 'any' type. */,
35
+ "strictNullChecks": true /* Enable strict null checks. */,
36
+ "strictFunctionTypes": true /* Enable strict checking of function types. */,
37
+ "strictBindCallApply": true /* Enable strict 'bind', 'call', and 'apply' methods on functions. */,
38
+ "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */,
39
+ "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */,
40
+ "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */,
41
+
42
+ /* Additional Checks */
43
+ // "noUnusedLocals": true, /* Report errors on unused locals. */
44
+ // "noUnusedParameters": true, /* Report errors on unused parameters. */
45
+ // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
46
+ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
47
+
48
+ /* Module Resolution Options */
49
+ // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
50
+ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
51
+ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
52
+ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
53
+ "typeRoots": [
54
+ "node_modules/@types",
55
+ "node_modules/@testing-library",
56
+ "./typings"
57
+ ] /* List of folders to include type definitions from. */,
58
+ // "types": [], /* Type declaration files to be included in compilation. */
59
+
60
+ "types": ["node", "jsdom", "jest", "jest-dom"], /* https://medium.com/heybooster/debugging-typescript-jest-dom-matchers-in-vue-js-6962dab4d4cc */
61
+
62
+ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
63
+ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
64
+ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
65
+
66
+ /* Source Map Options */
67
+ // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
68
+ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
69
+ // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
70
+ // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
71
+
72
+ /* Experimental Options */
73
+ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
74
+ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
75
+ },
76
+ "include": ["src/**/*"],
77
+ "exclude": ["node_modules"] // was , "**/*.test.ts"
78
+ }
@@ -0,0 +1,4 @@
1
+ declare module '*.ttl' {
2
+ const content: string
3
+ export default content
4
+ }
@@ -0,0 +1,9 @@
1
+ declare module 'solid-namespace' {
2
+ import { NamedNode } from 'rdflib'
3
+
4
+ type RDFLibSubset = { namedNode: (value: string) => NamedNode }
5
+ type toNamedNode = (label: string) => NamedNode
6
+ export type Namespaces = { [alias: string]: toNamedNode }
7
+
8
+ export default function vocab (rdf: RDFLibSubset): Namespaces
9
+ }
@@ -0,0 +1,41 @@
1
+ const HtmlWebpackPlugin = require('html-webpack-plugin')
2
+ const NodePolyfillPlugin = require("node-polyfill-webpack-plugin")
3
+
4
+ module.exports = [{
5
+ mode: 'development',
6
+ entry: './dev/loader.ts',
7
+ plugins: [
8
+ new HtmlWebpackPlugin({ template: './dev/index.html' }),
9
+ new NodePolyfillPlugin()
10
+ ],
11
+ resolve: {
12
+ extensions: ['.mjs', '.js', '.ts'],
13
+ fallback: { "path": false }
14
+ },
15
+ module: {
16
+ rules: [
17
+ {
18
+ test: /\.(mjs|js|ts)$/,
19
+ exclude: /(node_modules|bower_components)/,
20
+ use: {
21
+ loader: 'babel-loader'
22
+ }
23
+ }
24
+ ]
25
+ },
26
+ externals: {
27
+ fs: 'null',
28
+ 'node-fetch': 'fetch',
29
+ 'isomorphic-fetch': 'fetch',
30
+ xmldom: 'window',
31
+ 'text-encoding': 'TextEncoder',
32
+ 'whatwg-url': 'window',
33
+ '@trust/webcrypto': 'crypto'
34
+ },
35
+ devServer: {
36
+ static: './dist',
37
+ compress: true,
38
+ port: 9000
39
+ },
40
+ devtool: 'source-map'
41
+ }]
@@ -1,155 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { parse } from 'rdflib';
11
- import { icons, login, ns, widgets } from 'solid-ui';
12
- import ontologyData from './ontologyData.ttl';
13
- import preferencesFormText from './preferencesFormText.ttl';
14
- export const basicPreferencesPane = {
15
- icon: icons.iconBase + 'noun_Sliders_341315_000000.svg',
16
- name: 'basicPreferences',
17
- label: _subject => {
18
- return null;
19
- },
20
- // Render the pane
21
- // The subject should be the logged in user.
22
- render: (subject, context) => {
23
- const dom = context.dom;
24
- const store = context.session.store;
25
- function complainIfBad(ok, mess) {
26
- if (ok)
27
- return;
28
- container.appendChild(widgets.errorMessageBlock(dom, mess, '#fee'));
29
- }
30
- const container = dom.createElement('div');
31
- const formArea = setupUserTypesSection(container, dom);
32
- function loadData(doc, turtle) {
33
- doc = doc.doc(); // remove # from URI if nec
34
- if (!store.holds(undefined, undefined, undefined, doc)) {
35
- // If not loaded already
36
- ;
37
- parse(turtle, store, doc.uri, 'text/turtle', null); // Load form directly
38
- }
39
- }
40
- const preferencesForm = store.sym('urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597#this');
41
- loadData(preferencesForm, preferencesFormText);
42
- const ontologyExtra = store.sym('urn:uuid:93774ba1-d3b6-41f2-85b6-4ae27ffd2597-ONT');
43
- loadData(ontologyExtra, ontologyData);
44
- function doRender() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const renderContext = yield login.ensureLoadedPreferences({
47
- dom,
48
- div: container
49
- });
50
- if (!renderContext.preferencesFile) {
51
- // Could be CORS
52
- console.log('Not doing private class preferences as no access to preferences file. ' +
53
- renderContext.preferencesFileError);
54
- return;
55
- }
56
- const appendedForm = widgets.appendForm(dom, formArea, {}, renderContext.me, preferencesForm, renderContext.preferencesFile, complainIfBad);
57
- appendedForm.style.borderStyle = 'none';
58
- const trustedApplicationsView = context.session.paneRegistry.byName('trustedApplications');
59
- if (trustedApplicationsView) {
60
- container.appendChild(trustedApplicationsView.render(null, context));
61
- }
62
- // @@ TODO Remove need for casting as any and bang (!) syntax
63
- addDeleteSection(container, store, renderContext.me, dom);
64
- });
65
- }
66
- doRender();
67
- return container;
68
- }
69
- };
70
- function setupUserTypesSection(container, dom) {
71
- const formContainer = createSection(container, dom, 'User types');
72
- const description = formContainer.appendChild(dom.createElement('p'));
73
- description.innerText = 'Here you can self-assign user types to help the data browser know which views you would like to access.';
74
- const userTypesLink = formContainer.appendChild(dom.createElement('a'));
75
- userTypesLink.href = 'https://github.com/solidos/userguide/#role';
76
- userTypesLink.innerText = 'Read more';
77
- const formArea = formContainer.appendChild(dom.createElement('div'));
78
- return formArea;
79
- }
80
- export default basicPreferencesPane;
81
- // ends
82
- function addDeleteSection(container, store, profile, dom) {
83
- const section = createSection(container, dom, 'Delete account');
84
- const podServerNodes = store.each(profile, ns.space('storage'), null, profile.doc());
85
- const podServers = podServerNodes.map(node => node.value);
86
- const list = section.appendChild(dom.createElement('ul'));
87
- podServers.forEach((server) => __awaiter(this, void 0, void 0, function* () {
88
- const deletionLink = yield generateDeletionLink(server, dom);
89
- if (deletionLink) {
90
- const listItem = list.appendChild(dom.createElement('li'));
91
- listItem.appendChild(deletionLink);
92
- }
93
- }));
94
- }
95
- function generateDeletionLink(podServer, dom) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- const link = dom.createElement('a');
98
- link.textContent = `Delete your account at ${podServer}`;
99
- const deletionUrl = yield getDeletionUrlForServer(podServer);
100
- if (typeof deletionUrl !== 'string') {
101
- return null;
102
- }
103
- link.href = deletionUrl;
104
- return link;
105
- });
106
- }
107
- /**
108
- * Hacky way to get the deletion link to a Pod
109
- *
110
- * This function infers the deletion link by assuming the URL structure of Node Solid server.
111
- * In the future, Solid will hopefully provide a standardised way of discovering the deletion link:
112
- * https://github.com/solidos/data-interoperability-panel/issues/18
113
- *
114
- * If NSS is in multi-user mode (the case on inrupt.net and solid.community), the deletion URL for
115
- * vincent.dev.inrupt.net would be at dev.inrupt.net/account/delete. In single-user mode, the
116
- * deletion URL would be at vincent.dev.inrupt.net/account/delete.
117
- *
118
- * @param server Pod server containing the user's account.
119
- * @returns URL of the page that Node Solid Server would offer to delete the account, or null if
120
- * the URLs we tried give invalid responses.
121
- */
122
- function getDeletionUrlForServer(server) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- const singleUserUrl = new URL(server);
125
- const multiUserUrl = new URL(server);
126
- multiUserUrl.pathname = singleUserUrl.pathname = '/account/delete';
127
- const hostnameParts = multiUserUrl.hostname.split('.');
128
- // Remove `vincent.` from `vincent.dev.inrupt.net`, for example:
129
- multiUserUrl.hostname = hostnameParts.slice(1).join('.');
130
- const multiUserNssResponse = yield fetch(multiUserUrl.href, {
131
- method: 'HEAD'
132
- });
133
- if (multiUserNssResponse.ok) {
134
- return multiUserUrl.href;
135
- }
136
- const singleUserNssResponse = yield fetch(singleUserUrl.href, {
137
- method: 'HEAD'
138
- });
139
- if (singleUserNssResponse.ok) {
140
- return singleUserUrl.href;
141
- }
142
- return null;
143
- });
144
- }
145
- function createSection(container, dom, title) {
146
- const section = container.appendChild(dom.createElement('div'));
147
- section.style.border = '0.3em solid #418d99';
148
- section.style.borderRadius = '0.5em';
149
- section.style.padding = '0.7em';
150
- section.style.marginTop = '0.7em';
151
- const titleElement = section.appendChild(dom.createElement('h3'));
152
- titleElement.innerText = title;
153
- return section;
154
- }
155
- //# sourceMappingURL=basicPreferences.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"basicPreferences.js","sourceRoot":"","sources":["../../src/dashboard/basicPreferences.ts"],"names":[],"mappings":"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"}