solid-ui 2.6.0 → 2.6.1-05fb7cc

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 (365) hide show
  1. package/LICENSE.md +3 -1
  2. package/README.md +84 -25
  3. package/dist/acl/access-controller.js +293 -0
  4. package/dist/acl/access-controller.js.map +1 -0
  5. package/dist/acl/access-groups.js +372 -0
  6. package/dist/acl/access-groups.js.map +1 -0
  7. package/dist/acl/acl-control.js +217 -0
  8. package/dist/acl/acl-control.js.map +1 -0
  9. package/dist/acl/acl.js +550 -0
  10. package/dist/acl/acl.js.map +1 -0
  11. package/dist/acl/add-agent-buttons.js +260 -0
  12. package/dist/acl/add-agent-buttons.js.map +1 -0
  13. package/dist/acl/index.js +35 -0
  14. package/dist/acl/index.js.map +1 -0
  15. package/dist/acl/types.js +7 -0
  16. package/dist/acl/types.js.map +1 -0
  17. package/dist/chat/keys.js +148 -0
  18. package/dist/chat/keys.js.map +1 -0
  19. package/dist/chat/signature.js +71 -0
  20. package/dist/chat/signature.js.map +1 -0
  21. package/dist/create/create.js +288 -0
  22. package/dist/create/create.js.map +1 -0
  23. package/dist/create/index.js +8 -0
  24. package/dist/create/index.js.map +1 -0
  25. package/dist/create/types.js +3 -0
  26. package/dist/create/types.js.map +1 -0
  27. package/dist/debug.js +23 -0
  28. package/dist/debug.js.map +1 -0
  29. package/dist/footer/index.js +72 -0
  30. package/dist/footer/index.js.map +1 -0
  31. package/dist/header/empty-profile.js +14 -0
  32. package/dist/header/empty-profile.js.map +1 -0
  33. package/dist/header/index.js +305 -0
  34. package/dist/header/index.js.map +1 -0
  35. package/dist/iconBase.js +40 -0
  36. package/dist/iconBase.js.map +1 -0
  37. package/dist/icons/solid_logo.js.map +1 -0
  38. package/{lib → dist}/index.d.ts +4 -4
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +170 -0
  41. package/dist/index.js.map +1 -0
  42. package/{lib → dist}/log.js +85 -99
  43. package/dist/log.js.map +1 -0
  44. package/dist/login/login.js +910 -0
  45. package/dist/login/login.js.map +1 -0
  46. package/dist/matrix/index.js +8 -0
  47. package/dist/matrix/index.js.map +1 -0
  48. package/dist/matrix/matrix.js +253 -0
  49. package/dist/matrix/matrix.js.map +1 -0
  50. package/dist/matrix/types.js +3 -0
  51. package/dist/matrix/types.js.map +1 -0
  52. package/dist/media/index.js +9 -0
  53. package/dist/media/index.js.map +1 -0
  54. package/dist/media/media-capture.js +198 -0
  55. package/dist/media/media-capture.js.map +1 -0
  56. package/dist/pad.js +795 -0
  57. package/dist/pad.js.map +1 -0
  58. package/dist/participation.js +228 -0
  59. package/dist/participation.js.map +1 -0
  60. package/dist/solid-ui.esm.js +25549 -0
  61. package/dist/solid-ui.esm.js.map +1 -0
  62. package/dist/solid-ui.esm.min.js +43 -0
  63. package/dist/solid-ui.esm.min.js.map +1 -0
  64. package/dist/solid-ui.js +23399 -70837
  65. package/dist/solid-ui.js.map +1 -1
  66. package/dist/solid-ui.min.js +40 -2
  67. package/dist/solid-ui.min.js.map +1 -1
  68. package/dist/tabs.js +398 -0
  69. package/dist/tabs.js.map +1 -0
  70. package/dist/utils/headerFooterHelpers.js +122 -0
  71. package/dist/utils/headerFooterHelpers.js.map +1 -0
  72. package/dist/utils/keyHelpers/accessData.js +108 -0
  73. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  74. package/dist/utils/keyHelpers/acl.js +112 -0
  75. package/dist/utils/keyHelpers/acl.js.map +1 -0
  76. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  77. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  78. package/dist/utils/label.js +150 -0
  79. package/dist/utils/label.js.map +1 -0
  80. package/dist/versionInfo.js +33 -0
  81. package/dist/versionInfo.js.map +1 -0
  82. package/dist/widgets/buttons/iconLinks.js +49 -0
  83. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  84. package/dist/widgets/buttons.js +1355 -0
  85. package/dist/widgets/buttons.js.map +1 -0
  86. package/dist/widgets/error.js +42 -0
  87. package/dist/widgets/error.js.map +1 -0
  88. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  89. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  90. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  91. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  92. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  93. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/language.js +147 -0
  95. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  97. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  98. package/dist/widgets/forms/basic.js +250 -0
  99. package/dist/widgets/forms/basic.js.map +1 -0
  100. package/dist/widgets/forms/comment.js +52 -0
  101. package/dist/widgets/forms/comment.js.map +1 -0
  102. package/dist/widgets/forms/fieldFunction.js +49 -0
  103. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  104. package/dist/widgets/forms/fieldParams.js +95 -0
  105. package/dist/widgets/forms/fieldParams.js.map +1 -0
  106. package/dist/widgets/forms/formStyle.js +43 -0
  107. package/dist/widgets/forms/formStyle.js.map +1 -0
  108. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  109. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  110. package/dist/widgets/widgetHelpers.js.map +1 -0
  111. package/package.json +44 -47
  112. package/dist/789.solid-ui.min.js +0 -1
  113. package/dist/841.solid-ui.min.js +0 -3
  114. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  115. package/dist/841.solid-ui.min.js.map +0 -1
  116. package/dist/_2b19.solid-ui.js +0 -14
  117. package/dist/_2b19.solid-ui.js.map +0 -1
  118. package/dist/index.html +0 -1
  119. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  120. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  121. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  122. package/lib/acl/access-controller.js +0 -391
  123. package/lib/acl/access-controller.js.map +0 -1
  124. package/lib/acl/access-groups.js +0 -507
  125. package/lib/acl/access-groups.js.map +0 -1
  126. package/lib/acl/acl-control.js +0 -237
  127. package/lib/acl/acl-control.js.map +0 -1
  128. package/lib/acl/acl.js +0 -517
  129. package/lib/acl/acl.js.map +0 -1
  130. package/lib/acl/add-agent-buttons.js +0 -434
  131. package/lib/acl/add-agent-buttons.js.map +0 -1
  132. package/lib/acl/index.js +0 -39
  133. package/lib/acl/index.js.map +0 -1
  134. package/lib/acl/types.js +0 -6
  135. package/lib/acl/types.js.map +0 -1
  136. package/lib/chat/bookmarks.js +0 -303
  137. package/lib/chat/bookmarks.js.map +0 -1
  138. package/lib/chat/chatLogic.js +0 -420
  139. package/lib/chat/chatLogic.js.map +0 -1
  140. package/lib/chat/dateFolder.js +0 -328
  141. package/lib/chat/dateFolder.js.map +0 -1
  142. package/lib/chat/infinite.js +0 -994
  143. package/lib/chat/infinite.js.map +0 -1
  144. package/lib/chat/keys.js +0 -232
  145. package/lib/chat/keys.js.map +0 -1
  146. package/lib/chat/message.js +0 -715
  147. package/lib/chat/message.js.map +0 -1
  148. package/lib/chat/messageTools.js +0 -538
  149. package/lib/chat/messageTools.js.map +0 -1
  150. package/lib/chat/signature.js +0 -109
  151. package/lib/chat/signature.js.map +0 -1
  152. package/lib/chat/thread.js +0 -535
  153. package/lib/chat/thread.js.map +0 -1
  154. package/lib/create/create.js +0 -242
  155. package/lib/create/create.js.map +0 -1
  156. package/lib/create/index.js +0 -11
  157. package/lib/create/index.js.map +0 -1
  158. package/lib/create/types.js +0 -6
  159. package/lib/create/types.js.map +0 -1
  160. package/lib/debug.js +0 -30
  161. package/lib/debug.js.map +0 -1
  162. package/lib/folders.js +0 -132
  163. package/lib/folders.js.map +0 -1
  164. package/lib/footer/index.js +0 -123
  165. package/lib/footer/index.js.map +0 -1
  166. package/lib/header/empty-profile.js +0 -8
  167. package/lib/header/empty-profile.js.map +0 -1
  168. package/lib/header/index.js +0 -375
  169. package/lib/header/index.js.map +0 -1
  170. package/lib/iconBase.js +0 -44
  171. package/lib/iconBase.js.map +0 -1
  172. package/lib/icons/solid_logo.js.map +0 -1
  173. package/lib/index.d.ts.map +0 -1
  174. package/lib/index.js +0 -223
  175. package/lib/index.js.map +0 -1
  176. package/lib/log.js.map +0 -1
  177. package/lib/login/login.js +0 -1241
  178. package/lib/login/login.js.map +0 -1
  179. package/lib/matrix/index.js +0 -11
  180. package/lib/matrix/index.js.map +0 -1
  181. package/lib/matrix/matrix.js +0 -216
  182. package/lib/matrix/matrix.js.map +0 -1
  183. package/lib/matrix/types.js +0 -6
  184. package/lib/matrix/types.js.map +0 -1
  185. package/lib/media/index.js +0 -12
  186. package/lib/media/index.js.map +0 -1
  187. package/lib/media/media-capture.js +0 -194
  188. package/lib/media/media-capture.js.map +0 -1
  189. package/lib/messageArea.js +0 -319
  190. package/lib/messageArea.js.map +0 -1
  191. package/lib/noun_Camera_1618446_000000.js +0 -8
  192. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  193. package/lib/ns.js +0 -17
  194. package/lib/ns.js.map +0 -1
  195. package/lib/pad.js +0 -805
  196. package/lib/pad.js.map +0 -1
  197. package/lib/participation.js +0 -219
  198. package/lib/participation.js.map +0 -1
  199. package/lib/preferences.js +0 -215
  200. package/lib/preferences.js.map +0 -1
  201. package/lib/signup/config-default.js +0 -43
  202. package/lib/signup/config-default.js.map +0 -1
  203. package/lib/signup/signup.js +0 -74
  204. package/lib/signup/signup.js.map +0 -1
  205. package/lib/stories/decorators.js +0 -10
  206. package/lib/stories/decorators.js.map +0 -1
  207. package/lib/style.js +0 -158
  208. package/lib/style.js.map +0 -1
  209. package/lib/styleConstants.js +0 -35
  210. package/lib/styleConstants.js.map +0 -1
  211. package/lib/style_multiSelect.js +0 -62
  212. package/lib/style_multiSelect.js.map +0 -1
  213. package/lib/table.js +0 -1573
  214. package/lib/table.js.map +0 -1
  215. package/lib/tabs.js +0 -448
  216. package/lib/tabs.js.map +0 -1
  217. package/lib/typings.d.js +0 -2
  218. package/lib/typings.d.js.map +0 -1
  219. package/lib/utils/headerFooterHelpers.js +0 -165
  220. package/lib/utils/headerFooterHelpers.js.map +0 -1
  221. package/lib/utils/index.js +0 -527
  222. package/lib/utils/index.js.map +0 -1
  223. package/lib/utils/keyHelpers/accessData.js +0 -131
  224. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  225. package/lib/utils/keyHelpers/acl.js +0 -90
  226. package/lib/utils/keyHelpers/acl.js.map +0 -1
  227. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  228. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  229. package/lib/utils/label.js +0 -103
  230. package/lib/utils/label.js.map +0 -1
  231. package/lib/versionInfo.d.ts +0 -34
  232. package/lib/versionInfo.d.ts.map +0 -1
  233. package/lib/versionInfo.js +0 -39
  234. package/lib/versionInfo.js.map +0 -1
  235. package/lib/widgets/buttons/iconLinks.js +0 -53
  236. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  237. package/lib/widgets/buttons.js +0 -1306
  238. package/lib/widgets/buttons.js.map +0 -1
  239. package/lib/widgets/dragAndDrop.js +0 -194
  240. package/lib/widgets/dragAndDrop.js.map +0 -1
  241. package/lib/widgets/error.js +0 -46
  242. package/lib/widgets/error.js.map +0 -1
  243. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  244. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  245. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  246. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  247. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  248. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  249. package/lib/widgets/forms/autocomplete/language.js +0 -189
  250. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  252. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  253. package/lib/widgets/forms/basic.js +0 -254
  254. package/lib/widgets/forms/basic.js.map +0 -1
  255. package/lib/widgets/forms/comment.js +0 -54
  256. package/lib/widgets/forms/comment.js.map +0 -1
  257. package/lib/widgets/forms/fieldFunction.js +0 -52
  258. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  259. package/lib/widgets/forms/fieldParams.js +0 -77
  260. package/lib/widgets/forms/fieldParams.js.map +0 -1
  261. package/lib/widgets/forms/formStyle.js +0 -44
  262. package/lib/widgets/forms/formStyle.js.map +0 -1
  263. package/lib/widgets/forms.js +0 -2045
  264. package/lib/widgets/forms.js.map +0 -1
  265. package/lib/widgets/index.js +0 -110
  266. package/lib/widgets/index.js.map +0 -1
  267. package/lib/widgets/multiSelect.js +0 -658
  268. package/lib/widgets/multiSelect.js.map +0 -1
  269. package/lib/widgets/peoplePicker.js +0 -467
  270. package/lib/widgets/peoplePicker.js.map +0 -1
  271. package/lib/widgets/widgetHelpers.js.map +0 -1
  272. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  273. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  274. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  275. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  276. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  277. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  278. /package/{lib → dist}/acl/acl.d.ts +0 -0
  279. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  280. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  281. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  282. /package/{lib → dist}/acl/index.d.ts +0 -0
  283. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  284. /package/{lib → dist}/acl/types.d.ts +0 -0
  285. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  286. /package/{lib → dist}/chat/keys.d.ts +0 -0
  287. /package/{lib → dist}/chat/keys.d.ts.map +0 -0
  288. /package/{lib → dist}/chat/signature.d.ts +0 -0
  289. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  290. /package/{lib → dist}/create/create.d.ts +0 -0
  291. /package/{lib → dist}/create/create.d.ts.map +0 -0
  292. /package/{lib → dist}/create/index.d.ts +0 -0
  293. /package/{lib → dist}/create/index.d.ts.map +0 -0
  294. /package/{lib → dist}/create/types.d.ts +0 -0
  295. /package/{lib → dist}/create/types.d.ts.map +0 -0
  296. /package/{lib → dist}/debug.d.ts +0 -0
  297. /package/{lib → dist}/debug.d.ts.map +0 -0
  298. /package/{lib → dist}/footer/index.d.ts +0 -0
  299. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  300. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  301. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  302. /package/{lib → dist}/header/index.d.ts +0 -0
  303. /package/{lib → dist}/header/index.d.ts.map +0 -0
  304. /package/{lib → dist}/iconBase.d.ts +0 -0
  305. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  306. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  307. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  308. /package/{lib → dist}/icons/solid_logo.js +0 -0
  309. /package/{lib → dist}/log.d.ts +0 -0
  310. /package/{lib → dist}/log.d.ts.map +0 -0
  311. /package/{lib → dist}/login/login.d.ts +0 -0
  312. /package/{lib → dist}/login/login.d.ts.map +0 -0
  313. /package/{lib → dist}/matrix/index.d.ts +0 -0
  314. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  315. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  316. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  317. /package/{lib → dist}/matrix/types.d.ts +0 -0
  318. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  319. /package/{lib → dist}/media/index.d.ts +0 -0
  320. /package/{lib → dist}/media/index.d.ts.map +0 -0
  321. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  322. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  323. /package/{lib → dist}/pad.d.ts +0 -0
  324. /package/{lib → dist}/pad.d.ts.map +0 -0
  325. /package/{lib → dist}/participation.d.ts +0 -0
  326. /package/{lib → dist}/participation.d.ts.map +0 -0
  327. /package/{lib → dist}/tabs.d.ts +0 -0
  328. /package/{lib → dist}/tabs.d.ts.map +0 -0
  329. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  330. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  331. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts +0 -0
  332. /package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +0 -0
  333. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  334. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  335. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +0 -0
  336. /package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +0 -0
  337. /package/{lib → dist}/utils/label.d.ts +0 -0
  338. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  339. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  340. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  341. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  342. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  343. /package/{lib → dist}/widgets/error.d.ts +0 -0
  344. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  345. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  346. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  347. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
  355. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  357. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  359. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  363. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  365. /package/{lib → dist}/widgets/widgetHelpers.d.ts +0 -0
package/LICENSE.md CHANGED
@@ -1,4 +1,6 @@
1
- Copyright 2019 - present
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Solid
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
6
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
package/README.md CHANGED
@@ -8,8 +8,8 @@ These are HTML5 widgets which connect to a solid store. Building blocks for soli
8
8
  Vanilla JS. Includes large widgets like chat, table, matrix, form fields, and small widgets.
9
9
 
10
10
  See [Solid-Ui Storybook](http://solidos.github.io/solid-ui/examples/storybook/) for SolidUI widgets.
11
- See [Solid-UI API](https://solidos.github.io/solid-ui/Documentation/api/) for SolidUI functions.
12
- See [Forms introduction](./Documentation/FormsReadme.md) for UI vocabulary implementation.
11
+ See [Solid-UI API](https://solidos.github.io/solid-ui/docs/api/) for SolidUI functions.
12
+ See [Forms introduction](./docs/FormsReadme.md) for UI vocabulary implementation.
13
13
 
14
14
  Table of content:
15
15
  - Getting started(#getting-started)
@@ -21,38 +21,89 @@ Table of content:
21
21
  Contributions of bug fixes and new functionality, documentation, and tests are
22
22
  always appreciated.
23
23
 
24
- ### In npm-based projects
25
- When including solid-ui in an npm-based project, you can use it with:
24
+ ## Install via npm
25
+
26
+ ```sh
27
+ npm install solid-ui
28
+ ```
26
29
 
27
30
  ```js
28
- import { ns, rdf, acl, aclControl, create, dom, icons, log, matrix, media,
29
- messageArea, infiniteMessageArea, pad, preferences, style, table, tabs, utils, widgets, versionInfo
30
- } from 'solid-ui'
31
+ import * as UI from 'solid-ui'
32
+ ```
31
33
 
34
+ ## Use directly in a browser
35
+
36
+ All bundels, DO NOT bundle rdflin and solid-logic. These need to be provided separately.
37
+
38
+ ## Files
39
+ - For browser UMD, without rdflib, solid-logic: `dist/solid-ui.js` (global `window.UI`)
40
+ - For browser ESM, without rdflib, solid-logic: `dist/solid-ui.esm.js` (import as module)
41
+ - UMD bundles come in chunked files
42
+ - both version also containe minified versions.
43
+
44
+
45
+ ### UMD bundle (global variable)
46
+
47
+ ```html
48
+ <!-- Load dependencies first -->
49
+ <script src="https://unpkg.com/rdflib/dist/rdflib.min.js"></script>
50
+ <!-- or -->
51
+ <!-- script src="https://cdn.jsdelivr.net/npm/rdflib/dist/rdflib.min.js"></script -->
52
+ <script src="https://unpkg.com/solid-logic/dist/solid-logic.min.js"></script>
53
+ <!-- Load solid-ui UMD bundle -->
54
+ <script src="https://unpkg.com/solid-ui/dist/solid-ui.min.js"></script>
55
+ <!-- or -->
56
+ <!-- script src="https://cdn.jsdelivr.net/npm/solid-ui/dist/solid-ui.min.js"></script -->
57
+ <!-- or -->
58
+ <!-- script src="dist/solid-ui.js"></script -->
59
+ <script>
60
+ // Access via global variable
61
+ const logic = window.SolidLogic;
62
+ const UI = window.UI;
63
+ // Create a button
64
+ const solidLogo = 'https://solidproject.org/assets/img/solid-emblem.svg'
65
+ const myButton = UI.widgets.button(document, solidLogo, 'test', () => window.alert('clicked!'))
66
+ UI.widgets.clearElement(document.body)
67
+ document.body.appendChild(myButton)
68
+ </script>
32
69
  ```
33
- ### Directly in a webpage
34
- Clone this repo, and in the repo root run:
35
70
 
36
- * `npm install`
37
- * `npm run build`
38
71
 
39
- This will generate a `dist/` folder containing, among other artifacts, `dist/main.js`.
40
- Now run `npx serve` and go to http://localhost:3000/Documentation/ with your browser to see some examples.
72
+ ### ESM bundle (import as module)
41
73
 
42
- While viewing one of those examples, you can open the web console in your browser and for instance
43
- try how you can create a button:
44
- ```js
45
- const solidLogo = 'https://solidproject.org/assets/img/solid-emblem.svg'
46
- const myButton = UI.widgets.button(document, solidLogo, 'test', () => window.alert('clicked!'))
47
- UI.widgets.clearElement(document.body)
48
- document.body.appendChild(myButton)
74
+ ```html
75
+ <script type="module">
76
+ import * as $rdf from 'https://esm.sh/rdflib'
77
+ import { store } from 'https://esm.sh/solid-logic'
78
+ import { widgets } from 'https://esm.sh/solid-ui'
79
+
80
+ // Example usage
81
+ // someFunction(...)
82
+ </script>
49
83
  ```
50
84
 
51
- Or a chat widget:
52
- ```js
53
- const chatChannel = 'https://example-user.inrupt.net/public/example-chat/index.ttl#this'
54
- const chat = UI.infiniteMessageArea(document, store, UI.rdf.namedNode(chatChannel))
55
- document.body.appendChild(chat)
85
+ or
86
+
87
+ ### ESM bundle with import map (bare specifiers)
88
+
89
+ ```html
90
+ <script type="importmap">
91
+ {
92
+ "imports": {
93
+ "rdflib": "https://esm.sh/rdflib",
94
+ "solid-logic": "https://esm.sh/solid-logic",
95
+ "solid-ui": "https://esm.sh/solid-ui"
96
+ }
97
+ }
98
+ </script>
99
+ <script type="module">
100
+ import * as $rdf from 'rdflib'
101
+ import { store } from 'https://esm.sh/solid-logic'
102
+ import { widgets } from 'solid-ui'
103
+
104
+ // Example usage
105
+ // someFunction(...)
106
+ </script>
56
107
  ```
57
108
 
58
109
  ### Development new components
@@ -70,6 +121,14 @@ When you want to test the component within a solid-pane, you can use the [develo
70
121
 
71
122
  ## Adding Tests
72
123
 
124
+ One can run extisting tests with:
125
+ ```
126
+ npm run test
127
+ ```
128
+ or with coverage
129
+ ```
130
+ npm run test-coverage
131
+ ```
73
132
  The following document gives guidance on how to add and perform testing in solid-ui.
74
133
  [Testing in solid-ui](https://github.com/SolidOS/solid-ui/blob/18070a02fa8159a2b83d9503ee400f8e046bf1f6/test/unit/README.md)
75
134
 
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ /**
3
+ * Contains the [[AccessController]] class
4
+ * @packageDocumentation
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.AccessController = void 0;
41
+ const acl_1 = require("./acl");
42
+ const rdflib_1 = require("rdflib");
43
+ const access_groups_1 = require("./access-groups");
44
+ const acl_control_1 = require("./acl-control");
45
+ const utils = __importStar(require("../utils"));
46
+ const debug = __importStar(require("../debug"));
47
+ const style_1 = require("../style");
48
+ /**
49
+ * Rendered HTML component used in the databrowser's Sharing pane.
50
+ */
51
+ class AccessController {
52
+ subject;
53
+ noun;
54
+ context;
55
+ statusElement;
56
+ targetIsProtected;
57
+ targetDoc;
58
+ targetACLDoc;
59
+ defaultHolder;
60
+ defaultACLDoc;
61
+ prospectiveDefaultHolder;
62
+ store;
63
+ dom;
64
+ mainCombo;
65
+ defaultsCombo;
66
+ isContainer;
67
+ defaultsDiffer;
68
+ rootElement;
69
+ isUsingDefaults;
70
+ constructor(subject, noun, context, statusElement, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, store, dom) {
71
+ this.subject = subject;
72
+ this.noun = noun;
73
+ this.context = context;
74
+ this.statusElement = statusElement;
75
+ this.targetIsProtected = targetIsProtected;
76
+ this.targetDoc = targetDoc;
77
+ this.targetACLDoc = targetACLDoc;
78
+ this.defaultHolder = defaultHolder;
79
+ this.defaultACLDoc = defaultACLDoc;
80
+ this.prospectiveDefaultHolder = prospectiveDefaultHolder;
81
+ this.store = store;
82
+ this.dom = dom;
83
+ this.rootElement = dom.createElement('div');
84
+ this.rootElement.setAttribute('style', style_1.style.aclGroupContent);
85
+ this.isContainer = targetDoc.uri.slice(-1) === '/'; // Give default for all directories
86
+ if (defaultHolder && defaultACLDoc) {
87
+ this.isUsingDefaults = true;
88
+ const aclDefaultStore = (0, acl_1.adoptACLDefault)(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc);
89
+ this.mainCombo = new access_groups_1.AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer });
90
+ this.defaultsCombo = null;
91
+ this.defaultsDiffer = false;
92
+ }
93
+ else {
94
+ this.isUsingDefaults = false;
95
+ this.mainCombo = new access_groups_1.AccessGroups(targetDoc, targetACLDoc, this, store);
96
+ this.defaultsCombo = new access_groups_1.AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer });
97
+ this.defaultsDiffer = !(0, acl_1.sameACL)(this.mainCombo.aclMap, this.defaultsCombo.aclMap);
98
+ }
99
+ }
100
+ get isEditable() {
101
+ return !this.isUsingDefaults;
102
+ }
103
+ render() {
104
+ this.rootElement.innerHTML = '';
105
+ if (this.isUsingDefaults) {
106
+ this.renderStatus(`The sharing for this ${this.noun} is the default for folder `);
107
+ if (this.defaultHolder) {
108
+ const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'));
109
+ defaultHolderLink.href = this.defaultHolder.uri;
110
+ defaultHolderLink.innerText = (0, acl_control_1.shortNameForFolder)(this.defaultHolder);
111
+ }
112
+ }
113
+ else if (!this.defaultsDiffer && this.isContainer) {
114
+ this.renderStatus('This is also the default for things in this folder.');
115
+ }
116
+ else {
117
+ this.renderStatus('');
118
+ }
119
+ this.rootElement.appendChild(this.mainCombo.render());
120
+ if (this.defaultsCombo && this.defaultsDiffer) {
121
+ this.rootElement.appendChild(this.renderRemoveDefaultsController());
122
+ this.rootElement.appendChild(this.defaultsCombo.render());
123
+ }
124
+ else if (this.isEditable && this.isContainer) {
125
+ this.rootElement.appendChild(this.renderAddDefaultsController());
126
+ }
127
+ if (!this.targetIsProtected && this.isUsingDefaults) {
128
+ this.rootElement.appendChild(this.renderAddAclsController());
129
+ }
130
+ else if (!this.targetIsProtected) {
131
+ this.rootElement.appendChild(this.renderRemoveAclsController());
132
+ }
133
+ return this.rootElement;
134
+ }
135
+ renderRemoveAclsController() {
136
+ const useDefaultButton = this.dom.createElement('button');
137
+ useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`;
138
+ useDefaultButton.setAttribute('style', style_1.style.bigButton);
139
+ useDefaultButton.addEventListener('click', () => this.removeAcls()
140
+ .then(() => this.render())
141
+ .catch(error => this.renderStatus(error)));
142
+ return useDefaultButton;
143
+ }
144
+ renderAddAclsController() {
145
+ const addAclButton = this.dom.createElement('button');
146
+ addAclButton.innerText = `Set specific sharing for this ${this.noun}`;
147
+ addAclButton.setAttribute('style', style_1.style.bigButton);
148
+ addAclButton.addEventListener('click', () => this.addAcls()
149
+ .then(() => this.render())
150
+ .catch(error => this.renderStatus(error)));
151
+ return addAclButton;
152
+ }
153
+ renderAddDefaultsController() {
154
+ const containerElement = this.dom.createElement('div');
155
+ containerElement.setAttribute('style', style_1.style.defaultsController);
156
+ const noticeElement = containerElement.appendChild(this.dom.createElement('div'));
157
+ noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.';
158
+ noticeElement.setAttribute('style', style_1.style.defaultsControllerNotice);
159
+ const button = containerElement.appendChild(this.dom.createElement('button'));
160
+ button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder';
161
+ button.setAttribute('style', style_1.style.bigButton);
162
+ button.addEventListener('click', () => this.addDefaults()
163
+ .then(() => this.render()));
164
+ return containerElement;
165
+ }
166
+ renderRemoveDefaultsController() {
167
+ const containerElement = this.dom.createElement('div');
168
+ containerElement.setAttribute('style', style_1.style.defaultsController);
169
+ const noticeElement = containerElement.appendChild(this.dom.createElement('div'));
170
+ noticeElement.innerText = 'Access to things within this folder:';
171
+ noticeElement.setAttribute('style', style_1.style.defaultsControllerNotice);
172
+ const button = containerElement.appendChild(this.dom.createElement('button'));
173
+ button.innerText = 'Set default for folder contents to just track the sharing for the folder';
174
+ button.setAttribute('style', style_1.style.bigButton);
175
+ button.addEventListener('click', () => this.removeDefaults()
176
+ .then(() => this.render())
177
+ .catch(error => this.renderStatus(error)));
178
+ return containerElement;
179
+ }
180
+ renderTemporaryStatus(message) {
181
+ // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87
182
+ this.statusElement.setAttribute('style', style_1.style.aclControlBoxStatusRevealed);
183
+ this.statusElement.innerText = message;
184
+ this.statusElement.setAttribute('style', style_1.style.temporaryStatusInit);
185
+ setTimeout(() => {
186
+ this.statusElement.setAttribute('style', style_1.style.temporaryStatusEnd);
187
+ });
188
+ setTimeout(() => {
189
+ this.statusElement.innerText = '';
190
+ }, 5000);
191
+ }
192
+ renderStatus(message) {
193
+ // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87
194
+ if (!message) {
195
+ this.statusElement.setAttribute('style', style_1.style.aclControlBoxStatusRevealed);
196
+ }
197
+ this.statusElement.innerText = message;
198
+ }
199
+ async addAcls() {
200
+ if (!this.defaultHolder || !this.defaultACLDoc) {
201
+ const message = 'Unable to find defaults to copy';
202
+ debug.error(message);
203
+ return Promise.reject(message);
204
+ }
205
+ const aclGraph = (0, acl_1.adoptACLDefault)(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc);
206
+ aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc));
207
+ try {
208
+ await this.store.fetcher.putBack(this.targetACLDoc);
209
+ this.isUsingDefaults = false;
210
+ return Promise.resolve();
211
+ }
212
+ catch (error) {
213
+ const message = ` Error writing back access control file! ${error}`;
214
+ debug.error(message);
215
+ return Promise.reject(message);
216
+ }
217
+ }
218
+ async addDefaults() {
219
+ this.defaultsCombo = new access_groups_1.AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true });
220
+ this.defaultsDiffer = true;
221
+ }
222
+ async removeAcls() {
223
+ try {
224
+ await this.store.fetcher.delete(this.targetACLDoc.uri, {});
225
+ this.isUsingDefaults = true;
226
+ try {
227
+ this.prospectiveDefaultHolder = await (0, acl_1.getProspectiveHolder)(this.targetDoc.uri);
228
+ }
229
+ catch (error) {
230
+ // No need to show this error in status, but good to warn about it in console
231
+ debug.warn(error);
232
+ }
233
+ }
234
+ catch (error) {
235
+ const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`;
236
+ debug.error(message);
237
+ return Promise.reject(message);
238
+ }
239
+ }
240
+ async removeDefaults() {
241
+ const fallbackCombo = this.defaultsCombo;
242
+ try {
243
+ this.defaultsCombo = null;
244
+ this.defaultsDiffer = false;
245
+ await this.save();
246
+ }
247
+ catch (error) {
248
+ this.defaultsCombo = fallbackCombo;
249
+ this.defaultsDiffer = true;
250
+ debug.error(error);
251
+ return Promise.reject(error);
252
+ }
253
+ }
254
+ save() {
255
+ // build graph
256
+ const newAClGraph = (0, rdflib_1.graph)();
257
+ if (!this.isContainer) {
258
+ (0, acl_1.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true);
259
+ }
260
+ else if (this.defaultsCombo && this.defaultsDiffer) {
261
+ // Pair of controls
262
+ (0, acl_1.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true);
263
+ (0, acl_1.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true);
264
+ }
265
+ else {
266
+ // Linked controls
267
+ (0, acl_1.makeACLGraphbyCombo)(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true);
268
+ }
269
+ // add authenticated fetcher
270
+ newAClGraph.fetcher = (0, rdflib_1.fetcher)(newAClGraph, { fetch: this.store.fetcher._fetch });
271
+ const updater = newAClGraph.updater || new rdflib_1.UpdateManager(newAClGraph);
272
+ // save ACL resource
273
+ return new Promise((resolve, reject) => {
274
+ updater.put(this.targetACLDoc, newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc), 'text/turtle', (uri, ok, message) => {
275
+ if (!ok) {
276
+ return reject(new Error(`ACL file save failed: ${message}`));
277
+ }
278
+ this.store.fetcher.unload(this.targetACLDoc);
279
+ this.store.add(newAClGraph.statements);
280
+ this.store.fetcher.requested[this.targetACLDoc.uri] = 'done'; // missing: save headers
281
+ this.mainCombo.store = this.store;
282
+ if (this.defaultsCombo) {
283
+ this.defaultsCombo.store = this.store;
284
+ }
285
+ this.defaultsDiffer = !!this.defaultsCombo && !(0, acl_1.sameACL)(this.mainCombo.aclMap, this.defaultsCombo.aclMap);
286
+ debug.log('ACL modification: success!');
287
+ resolve();
288
+ });
289
+ });
290
+ }
291
+ }
292
+ exports.AccessController = AccessController;
293
+ //# sourceMappingURL=access-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-controller.js","sourceRoot":"","sources":["../../src/acl/access-controller.ts"],"names":[],"mappings":"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"}