solid-ui 2.6.1-e5ad2945 → 2.6.1-fceee6b

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 (366) 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/{lib → dist}/chat/keys.d.ts +1 -1
  18. package/{lib → dist}/chat/keys.d.ts.map +1 -1
  19. package/dist/chat/keys.js +148 -0
  20. package/dist/chat/keys.js.map +1 -0
  21. package/dist/chat/signature.js +71 -0
  22. package/dist/chat/signature.js.map +1 -0
  23. package/dist/create/create.js +288 -0
  24. package/dist/create/create.js.map +1 -0
  25. package/dist/create/index.js +8 -0
  26. package/dist/create/index.js.map +1 -0
  27. package/dist/create/types.js +3 -0
  28. package/dist/create/types.js.map +1 -0
  29. package/dist/debug.js +23 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/footer/index.js +72 -0
  32. package/dist/footer/index.js.map +1 -0
  33. package/dist/header/empty-profile.js +14 -0
  34. package/dist/header/empty-profile.js.map +1 -0
  35. package/dist/header/index.js +305 -0
  36. package/dist/header/index.js.map +1 -0
  37. package/dist/iconBase.js +40 -0
  38. package/dist/iconBase.js.map +1 -0
  39. package/dist/icons/solid_logo.js.map +1 -0
  40. package/{lib → dist}/index.d.ts +4 -4
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +170 -0
  43. package/dist/index.js.map +1 -0
  44. package/{lib → dist}/log.js +85 -99
  45. package/dist/log.js.map +1 -0
  46. package/dist/login/login.js +910 -0
  47. package/dist/login/login.js.map +1 -0
  48. package/dist/matrix/index.js +8 -0
  49. package/dist/matrix/index.js.map +1 -0
  50. package/dist/matrix/matrix.js +253 -0
  51. package/dist/matrix/matrix.js.map +1 -0
  52. package/dist/matrix/types.js +3 -0
  53. package/dist/matrix/types.js.map +1 -0
  54. package/dist/media/index.js +9 -0
  55. package/dist/media/index.js.map +1 -0
  56. package/dist/media/media-capture.js +198 -0
  57. package/dist/media/media-capture.js.map +1 -0
  58. package/dist/pad.js +795 -0
  59. package/dist/pad.js.map +1 -0
  60. package/dist/participation.js +228 -0
  61. package/dist/participation.js.map +1 -0
  62. package/dist/solid-ui.esm.js +25549 -0
  63. package/dist/solid-ui.esm.js.map +1 -0
  64. package/dist/solid-ui.esm.min.js +43 -0
  65. package/dist/solid-ui.esm.min.js.map +1 -0
  66. package/dist/solid-ui.js +23493 -68924
  67. package/dist/solid-ui.js.map +1 -1
  68. package/dist/solid-ui.min.js +40 -2
  69. package/dist/solid-ui.min.js.map +1 -1
  70. package/dist/tabs.js +398 -0
  71. package/dist/tabs.js.map +1 -0
  72. package/dist/utils/headerFooterHelpers.js +122 -0
  73. package/dist/utils/headerFooterHelpers.js.map +1 -0
  74. package/{lib → dist}/utils/keyHelpers/accessData.d.ts +3 -3
  75. package/{lib → dist}/utils/keyHelpers/accessData.d.ts.map +1 -1
  76. package/dist/utils/keyHelpers/accessData.js +108 -0
  77. package/dist/utils/keyHelpers/accessData.js.map +1 -0
  78. package/dist/utils/keyHelpers/acl.js +112 -0
  79. package/dist/utils/keyHelpers/acl.js.map +1 -0
  80. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts +1 -1
  81. package/{lib → dist}/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  82. package/dist/utils/keyHelpers/otherHelpers.js +19 -0
  83. package/dist/utils/keyHelpers/otherHelpers.js.map +1 -0
  84. package/dist/utils/label.js +150 -0
  85. package/dist/utils/label.js.map +1 -0
  86. package/dist/versionInfo.js +33 -0
  87. package/dist/versionInfo.js.map +1 -0
  88. package/dist/widgets/buttons/iconLinks.js +49 -0
  89. package/dist/widgets/buttons/iconLinks.js.map +1 -0
  90. package/dist/widgets/buttons.js +1355 -0
  91. package/dist/widgets/buttons.js.map +1 -0
  92. package/dist/widgets/error.js +42 -0
  93. package/dist/widgets/error.js.map +1 -0
  94. package/dist/widgets/forms/autocomplete/autocompleteBar.js +162 -0
  95. package/dist/widgets/forms/autocomplete/autocompleteBar.js.map +1 -0
  96. package/dist/widgets/forms/autocomplete/autocompleteField.js +235 -0
  97. package/dist/widgets/forms/autocomplete/autocompleteField.js.map +1 -0
  98. package/dist/widgets/forms/autocomplete/autocompletePicker.js +296 -0
  99. package/dist/widgets/forms/autocomplete/autocompletePicker.js.map +1 -0
  100. package/dist/widgets/forms/autocomplete/language.js +147 -0
  101. package/dist/widgets/forms/autocomplete/language.js.map +1 -0
  102. package/{lib → dist}/widgets/forms/autocomplete/publicData.d.ts +3 -3
  103. package/dist/widgets/forms/autocomplete/publicData.d.ts.map +1 -0
  104. package/dist/widgets/forms/autocomplete/publicData.js +507 -0
  105. package/dist/widgets/forms/autocomplete/publicData.js.map +1 -0
  106. package/dist/widgets/forms/basic.js +250 -0
  107. package/dist/widgets/forms/basic.js.map +1 -0
  108. package/dist/widgets/forms/comment.js +52 -0
  109. package/dist/widgets/forms/comment.js.map +1 -0
  110. package/dist/widgets/forms/fieldFunction.js +49 -0
  111. package/dist/widgets/forms/fieldFunction.js.map +1 -0
  112. package/dist/widgets/forms/fieldParams.js +95 -0
  113. package/dist/widgets/forms/fieldParams.js.map +1 -0
  114. package/dist/widgets/forms/formStyle.js +43 -0
  115. package/dist/widgets/forms/formStyle.js.map +1 -0
  116. package/{lib → dist}/widgets/widgetHelpers.d.ts.map +1 -1
  117. package/{lib → dist}/widgets/widgetHelpers.js +19 -24
  118. package/dist/widgets/widgetHelpers.js.map +1 -0
  119. package/package.json +44 -47
  120. package/dist/789.solid-ui.min.js +0 -1
  121. package/dist/841.solid-ui.min.js +0 -3
  122. package/dist/841.solid-ui.min.js.LICENSE.txt +0 -58
  123. package/dist/841.solid-ui.min.js.map +0 -1
  124. package/dist/_2b19.solid-ui.js +0 -14
  125. package/dist/_2b19.solid-ui.js.map +0 -1
  126. package/dist/index.html +0 -1
  127. package/dist/solid-ui.min.js.LICENSE.txt +0 -57
  128. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +0 -12247
  129. package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +0 -1
  130. package/lib/acl/access-controller.js +0 -391
  131. package/lib/acl/access-controller.js.map +0 -1
  132. package/lib/acl/access-groups.js +0 -507
  133. package/lib/acl/access-groups.js.map +0 -1
  134. package/lib/acl/acl-control.js +0 -237
  135. package/lib/acl/acl-control.js.map +0 -1
  136. package/lib/acl/acl.js +0 -517
  137. package/lib/acl/acl.js.map +0 -1
  138. package/lib/acl/add-agent-buttons.js +0 -434
  139. package/lib/acl/add-agent-buttons.js.map +0 -1
  140. package/lib/acl/index.js +0 -39
  141. package/lib/acl/index.js.map +0 -1
  142. package/lib/acl/types.js +0 -6
  143. package/lib/acl/types.js.map +0 -1
  144. package/lib/chat/bookmarks.js +0 -303
  145. package/lib/chat/bookmarks.js.map +0 -1
  146. package/lib/chat/chatLogic.js +0 -420
  147. package/lib/chat/chatLogic.js.map +0 -1
  148. package/lib/chat/dateFolder.js +0 -328
  149. package/lib/chat/dateFolder.js.map +0 -1
  150. package/lib/chat/infinite.js +0 -994
  151. package/lib/chat/infinite.js.map +0 -1
  152. package/lib/chat/keys.js +0 -232
  153. package/lib/chat/keys.js.map +0 -1
  154. package/lib/chat/message.js +0 -715
  155. package/lib/chat/message.js.map +0 -1
  156. package/lib/chat/messageTools.js +0 -538
  157. package/lib/chat/messageTools.js.map +0 -1
  158. package/lib/chat/signature.js +0 -109
  159. package/lib/chat/signature.js.map +0 -1
  160. package/lib/chat/thread.js +0 -535
  161. package/lib/chat/thread.js.map +0 -1
  162. package/lib/create/create.js +0 -242
  163. package/lib/create/create.js.map +0 -1
  164. package/lib/create/index.js +0 -11
  165. package/lib/create/index.js.map +0 -1
  166. package/lib/create/types.js +0 -6
  167. package/lib/create/types.js.map +0 -1
  168. package/lib/debug.js +0 -30
  169. package/lib/debug.js.map +0 -1
  170. package/lib/folders.js +0 -132
  171. package/lib/folders.js.map +0 -1
  172. package/lib/footer/index.js +0 -123
  173. package/lib/footer/index.js.map +0 -1
  174. package/lib/header/empty-profile.js +0 -8
  175. package/lib/header/empty-profile.js.map +0 -1
  176. package/lib/header/index.js +0 -375
  177. package/lib/header/index.js.map +0 -1
  178. package/lib/iconBase.js +0 -44
  179. package/lib/iconBase.js.map +0 -1
  180. package/lib/icons/solid_logo.js.map +0 -1
  181. package/lib/index.d.ts.map +0 -1
  182. package/lib/index.js +0 -223
  183. package/lib/index.js.map +0 -1
  184. package/lib/log.js.map +0 -1
  185. package/lib/login/login.js +0 -1241
  186. package/lib/login/login.js.map +0 -1
  187. package/lib/matrix/index.js +0 -11
  188. package/lib/matrix/index.js.map +0 -1
  189. package/lib/matrix/matrix.js +0 -216
  190. package/lib/matrix/matrix.js.map +0 -1
  191. package/lib/matrix/types.js +0 -6
  192. package/lib/matrix/types.js.map +0 -1
  193. package/lib/media/index.js +0 -12
  194. package/lib/media/index.js.map +0 -1
  195. package/lib/media/media-capture.js +0 -194
  196. package/lib/media/media-capture.js.map +0 -1
  197. package/lib/messageArea.js +0 -319
  198. package/lib/messageArea.js.map +0 -1
  199. package/lib/noun_Camera_1618446_000000.js +0 -8
  200. package/lib/noun_Camera_1618446_000000.js.map +0 -1
  201. package/lib/ns.js +0 -17
  202. package/lib/ns.js.map +0 -1
  203. package/lib/pad.js +0 -805
  204. package/lib/pad.js.map +0 -1
  205. package/lib/participation.js +0 -219
  206. package/lib/participation.js.map +0 -1
  207. package/lib/preferences.js +0 -215
  208. package/lib/preferences.js.map +0 -1
  209. package/lib/signup/config-default.js +0 -43
  210. package/lib/signup/config-default.js.map +0 -1
  211. package/lib/signup/signup.js +0 -74
  212. package/lib/signup/signup.js.map +0 -1
  213. package/lib/stories/decorators.js +0 -10
  214. package/lib/stories/decorators.js.map +0 -1
  215. package/lib/style.js +0 -158
  216. package/lib/style.js.map +0 -1
  217. package/lib/styleConstants.js +0 -35
  218. package/lib/styleConstants.js.map +0 -1
  219. package/lib/style_multiSelect.js +0 -62
  220. package/lib/style_multiSelect.js.map +0 -1
  221. package/lib/table.js +0 -1573
  222. package/lib/table.js.map +0 -1
  223. package/lib/tabs.js +0 -448
  224. package/lib/tabs.js.map +0 -1
  225. package/lib/typings.d.js +0 -2
  226. package/lib/typings.d.js.map +0 -1
  227. package/lib/utils/headerFooterHelpers.js +0 -165
  228. package/lib/utils/headerFooterHelpers.js.map +0 -1
  229. package/lib/utils/index.js +0 -527
  230. package/lib/utils/index.js.map +0 -1
  231. package/lib/utils/keyHelpers/accessData.js +0 -131
  232. package/lib/utils/keyHelpers/accessData.js.map +0 -1
  233. package/lib/utils/keyHelpers/acl.js +0 -90
  234. package/lib/utils/keyHelpers/acl.js.map +0 -1
  235. package/lib/utils/keyHelpers/otherHelpers.js +0 -21
  236. package/lib/utils/keyHelpers/otherHelpers.js.map +0 -1
  237. package/lib/utils/label.js +0 -103
  238. package/lib/utils/label.js.map +0 -1
  239. package/lib/versionInfo.d.ts +0 -32
  240. package/lib/versionInfo.d.ts.map +0 -1
  241. package/lib/versionInfo.js +0 -37
  242. package/lib/versionInfo.js.map +0 -1
  243. package/lib/widgets/buttons/iconLinks.js +0 -53
  244. package/lib/widgets/buttons/iconLinks.js.map +0 -1
  245. package/lib/widgets/buttons.js +0 -1306
  246. package/lib/widgets/buttons.js.map +0 -1
  247. package/lib/widgets/dragAndDrop.js +0 -194
  248. package/lib/widgets/dragAndDrop.js.map +0 -1
  249. package/lib/widgets/error.js +0 -46
  250. package/lib/widgets/error.js.map +0 -1
  251. package/lib/widgets/forms/autocomplete/autocompleteBar.js +0 -271
  252. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -1
  253. package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -258
  254. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +0 -1
  255. package/lib/widgets/forms/autocomplete/autocompletePicker.js +0 -436
  256. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +0 -1
  257. package/lib/widgets/forms/autocomplete/language.js +0 -189
  258. package/lib/widgets/forms/autocomplete/language.js.map +0 -1
  259. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -1
  260. package/lib/widgets/forms/autocomplete/publicData.js +0 -636
  261. package/lib/widgets/forms/autocomplete/publicData.js.map +0 -1
  262. package/lib/widgets/forms/basic.js +0 -254
  263. package/lib/widgets/forms/basic.js.map +0 -1
  264. package/lib/widgets/forms/comment.js +0 -54
  265. package/lib/widgets/forms/comment.js.map +0 -1
  266. package/lib/widgets/forms/fieldFunction.js +0 -52
  267. package/lib/widgets/forms/fieldFunction.js.map +0 -1
  268. package/lib/widgets/forms/fieldParams.js +0 -77
  269. package/lib/widgets/forms/fieldParams.js.map +0 -1
  270. package/lib/widgets/forms/formStyle.js +0 -44
  271. package/lib/widgets/forms/formStyle.js.map +0 -1
  272. package/lib/widgets/forms.js +0 -2045
  273. package/lib/widgets/forms.js.map +0 -1
  274. package/lib/widgets/index.js +0 -110
  275. package/lib/widgets/index.js.map +0 -1
  276. package/lib/widgets/multiSelect.js +0 -658
  277. package/lib/widgets/multiSelect.js.map +0 -1
  278. package/lib/widgets/peoplePicker.js +0 -467
  279. package/lib/widgets/peoplePicker.js.map +0 -1
  280. package/lib/widgets/widgetHelpers.js.map +0 -1
  281. /package/{lib → dist}/acl/access-controller.d.ts +0 -0
  282. /package/{lib → dist}/acl/access-controller.d.ts.map +0 -0
  283. /package/{lib → dist}/acl/access-groups.d.ts +0 -0
  284. /package/{lib → dist}/acl/access-groups.d.ts.map +0 -0
  285. /package/{lib → dist}/acl/acl-control.d.ts +0 -0
  286. /package/{lib → dist}/acl/acl-control.d.ts.map +0 -0
  287. /package/{lib → dist}/acl/acl.d.ts +0 -0
  288. /package/{lib → dist}/acl/acl.d.ts.map +0 -0
  289. /package/{lib → dist}/acl/add-agent-buttons.d.ts +0 -0
  290. /package/{lib → dist}/acl/add-agent-buttons.d.ts.map +0 -0
  291. /package/{lib → dist}/acl/index.d.ts +0 -0
  292. /package/{lib → dist}/acl/index.d.ts.map +0 -0
  293. /package/{lib → dist}/acl/types.d.ts +0 -0
  294. /package/{lib → dist}/acl/types.d.ts.map +0 -0
  295. /package/{lib → dist}/chat/signature.d.ts +0 -0
  296. /package/{lib → dist}/chat/signature.d.ts.map +0 -0
  297. /package/{lib → dist}/create/create.d.ts +0 -0
  298. /package/{lib → dist}/create/create.d.ts.map +0 -0
  299. /package/{lib → dist}/create/index.d.ts +0 -0
  300. /package/{lib → dist}/create/index.d.ts.map +0 -0
  301. /package/{lib → dist}/create/types.d.ts +0 -0
  302. /package/{lib → dist}/create/types.d.ts.map +0 -0
  303. /package/{lib → dist}/debug.d.ts +0 -0
  304. /package/{lib → dist}/debug.d.ts.map +0 -0
  305. /package/{lib → dist}/footer/index.d.ts +0 -0
  306. /package/{lib → dist}/footer/index.d.ts.map +0 -0
  307. /package/{lib → dist}/header/empty-profile.d.ts +0 -0
  308. /package/{lib → dist}/header/empty-profile.d.ts.map +0 -0
  309. /package/{lib → dist}/header/index.d.ts +0 -0
  310. /package/{lib → dist}/header/index.d.ts.map +0 -0
  311. /package/{lib → dist}/iconBase.d.ts +0 -0
  312. /package/{lib → dist}/iconBase.d.ts.map +0 -0
  313. /package/{lib → dist}/icons/solid_logo.d.ts +0 -0
  314. /package/{lib → dist}/icons/solid_logo.d.ts.map +0 -0
  315. /package/{lib → dist}/icons/solid_logo.js +0 -0
  316. /package/{lib → dist}/log.d.ts +0 -0
  317. /package/{lib → dist}/log.d.ts.map +0 -0
  318. /package/{lib → dist}/login/login.d.ts +0 -0
  319. /package/{lib → dist}/login/login.d.ts.map +0 -0
  320. /package/{lib → dist}/matrix/index.d.ts +0 -0
  321. /package/{lib → dist}/matrix/index.d.ts.map +0 -0
  322. /package/{lib → dist}/matrix/matrix.d.ts +0 -0
  323. /package/{lib → dist}/matrix/matrix.d.ts.map +0 -0
  324. /package/{lib → dist}/matrix/types.d.ts +0 -0
  325. /package/{lib → dist}/matrix/types.d.ts.map +0 -0
  326. /package/{lib → dist}/media/index.d.ts +0 -0
  327. /package/{lib → dist}/media/index.d.ts.map +0 -0
  328. /package/{lib → dist}/media/media-capture.d.ts +0 -0
  329. /package/{lib → dist}/media/media-capture.d.ts.map +0 -0
  330. /package/{lib → dist}/pad.d.ts +0 -0
  331. /package/{lib → dist}/pad.d.ts.map +0 -0
  332. /package/{lib → dist}/participation.d.ts +0 -0
  333. /package/{lib → dist}/participation.d.ts.map +0 -0
  334. /package/{lib → dist}/tabs.d.ts +0 -0
  335. /package/{lib → dist}/tabs.d.ts.map +0 -0
  336. /package/{lib → dist}/utils/headerFooterHelpers.d.ts +0 -0
  337. /package/{lib → dist}/utils/headerFooterHelpers.d.ts.map +0 -0
  338. /package/{lib → dist}/utils/keyHelpers/acl.d.ts +0 -0
  339. /package/{lib → dist}/utils/keyHelpers/acl.d.ts.map +0 -0
  340. /package/{lib → dist}/utils/label.d.ts +0 -0
  341. /package/{lib → dist}/utils/label.d.ts.map +0 -0
  342. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts +0 -0
  343. /package/{lib → dist}/widgets/buttons/iconLinks.d.ts.map +0 -0
  344. /package/{lib → dist}/widgets/buttons.d.ts +0 -0
  345. /package/{lib → dist}/widgets/buttons.d.ts.map +0 -0
  346. /package/{lib → dist}/widgets/error.d.ts +0 -0
  347. /package/{lib → dist}/widgets/error.d.ts.map +0 -0
  348. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  349. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  350. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  351. /package/{lib → dist}/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  352. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
  353. /package/{lib → dist}/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
  354. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts +0 -0
  355. /package/{lib → dist}/widgets/forms/autocomplete/language.d.ts.map +0 -0
  356. /package/{lib → dist}/widgets/forms/basic.d.ts +0 -0
  357. /package/{lib → dist}/widgets/forms/basic.d.ts.map +0 -0
  358. /package/{lib → dist}/widgets/forms/comment.d.ts +0 -0
  359. /package/{lib → dist}/widgets/forms/comment.d.ts.map +0 -0
  360. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts +0 -0
  361. /package/{lib → dist}/widgets/forms/fieldFunction.d.ts.map +0 -0
  362. /package/{lib → dist}/widgets/forms/fieldParams.d.ts +0 -0
  363. /package/{lib → dist}/widgets/forms/fieldParams.d.ts.map +0 -0
  364. /package/{lib → dist}/widgets/forms/formStyle.d.ts +0 -0
  365. /package/{lib → dist}/widgets/forms/formStyle.d.ts.map +0 -0
  366. /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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"}