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
@@ -1,237 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.ACLControlBox5 = ACLControlBox5;
9
- exports.handleDrop = handleDrop;
10
- exports.preventBrowserDropEvents = preventBrowserDropEvents;
11
- exports.preventDrag = preventDrag;
12
- exports.setGlobalWindow = setGlobalWindow;
13
- exports.shortNameForFolder = shortNameForFolder;
14
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
- var ns = _interopRequireWildcard(require("../ns"));
17
- var utils = _interopRequireWildcard(require("../utils"));
18
- var _acl = require("./acl");
19
- var _accessController = require("./access-controller");
20
- var style = _interopRequireWildcard(require("../style"));
21
- var _debug = require("../debug");
22
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
23
- /**
24
- * Functions for rendering the ACL User Interface.
25
- * See https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md#view
26
- * for a screenshot.
27
- * @packageDocumentation
28
- */
29
-
30
- var global = window;
31
- var preventBrowserDropEventsDone = Symbol('prevent double triggering of drop event');
32
-
33
- /**
34
- * See https://coshx.com/preventing-drag-and-drop-disasters-with-a-chrome-userscript
35
- * Without this dropping anything onto a browser page will cause chrome etc to jump to diff page
36
- * throwing away all the user's work.
37
- *
38
- * In apps which may use drag and drop, this utility takes care of the fact
39
- * by default in a browser, an uncaught user drop into a browser window
40
- * causes the browser to lose all its work in that window and navigate to another page
41
- *
42
- * @param document The DOM
43
- * @returns void
44
- */
45
- function preventBrowserDropEvents(document) {
46
- (0, _debug.log)('preventBrowserDropEvents called.');
47
- if (typeof global !== 'undefined') {
48
- if (global[preventBrowserDropEventsDone]) return;
49
- global[preventBrowserDropEventsDone] = true;
50
- }
51
- document.addEventListener('drop', handleDrop, false);
52
- document.addEventListener('dragenter', preventDrag, false);
53
- document.addEventListener('dragover', preventDrag, false);
54
- }
55
-
56
- /** @internal */
57
- function preventDrag(e) {
58
- e.stopPropagation();
59
- e.preventDefault();
60
- }
61
-
62
- /** @internal */
63
- function handleDrop(e) {
64
- if (e.dataTransfer.files.length > 0) {
65
- if (!global.confirm('Are you sure you want to drop this file here? (Cancel opens it in a new tab)')) {
66
- e.stopPropagation();
67
- e.preventDefault();
68
- (0, _debug.log)('@@@@ document-level DROP suppressed: ' + e.dataTransfer.dropEffect);
69
- }
70
- }
71
- }
72
-
73
- /**
74
- * Get a folder's own filename in the directory tree. Also works for
75
- * domain names; the URL protocol ('https://') acts as the tree root
76
- * with short name '/' (see also test/unit/acl/acl-control.test.ts).
77
- *
78
- * ```typescript
79
- * shortNameForFolder($rdf.namedNode('http://example.com/some/folder/'))
80
- * // 'folder'
81
- *
82
- * shortNameForFolder($rdf.namedNode('http://example.com/some/folder'))
83
- * // 'folder'
84
- *
85
- * shortNameForFolder($rdf.namedNode('http://example.com/'))
86
- * // 'example.com'
87
- *
88
- * shortNameForFolder($rdf.namedNode('http://example.com'))
89
- * // 'example.com'
90
- *
91
- * shortNameForFolder($rdf.namedNode('http://'))
92
- * // '/'
93
- * ```
94
- *
95
- * It also works with relative URLs:
96
- * ```typescript
97
- * shortNameForFolder($rdf.namedNode('../folder/'))
98
- * // 'folder'
99
- * ```
100
- *
101
- * @param x RDF Node for the folder URL
102
- * @returns Short name for the folder
103
- */
104
- function shortNameForFolder(x) {
105
- var str = x.uri;
106
-
107
- // Strip the trailing slash
108
- if (str.slice(-1) === '/') {
109
- str = str.slice(0, -1);
110
- }
111
-
112
- // Remove the path if present, keeping only the part
113
- // after the last slash.
114
- var slash = str.lastIndexOf('/');
115
- if (slash >= 0) {
116
- str = str.slice(slash + 1);
117
- }
118
- // Return the folder's filename, or '/' if nothing found
119
- // (but see https://github.com/solidos/solid-ui/issues/196
120
- // regarding whether this happens at the domain root or
121
- // not)
122
- return str || '/';
123
- }
124
-
125
- /**
126
- * A wrapper that retrieves ACL data and uses it
127
- * to render an [[AccessController]] component.
128
- * Presumably the '5' is a version number of some sort,
129
- * but all we know is it was already called ACLControlBox5
130
- * when it was introduced into solid-ui in
131
- * https://github.com/solidos/solid-ui/commit/948b874bd93e7bf5160e6e224821b888f07d15f3#diff-4192a29f38a0ababd563b36b47eba5bbR54
132
- */
133
- function ACLControlBox5(subject, context, noun, kb) {
134
- var dom = context.dom;
135
- var doc = subject.doc(); // The ACL is actually to the doc describing the thing
136
-
137
- var container = dom.createElement('div');
138
- container.setAttribute('style', style.aclControlBoxContainer);
139
- var header = container.appendChild(dom.createElement('h1'));
140
- header.textContent = "Sharing for ".concat(noun, " ").concat(utils.label(subject));
141
- header.setAttribute('style', style.aclControlBoxHeader);
142
- var status = container.appendChild(dom.createElement('div'));
143
- status.setAttribute('style', style.aclControlBoxStatus);
144
- try {
145
- loadController(doc, kb, subject, noun, context, dom, status).then(function (controller) {
146
- return container.appendChild(controller.render());
147
- });
148
- } catch (error) {
149
- status.innerText = error;
150
- }
151
- return container;
152
- }
153
- function loadController(_x, _x2, _x3, _x4, _x5, _x6, _x7) {
154
- return _loadController.apply(this, arguments);
155
- }
156
- function _loadController() {
157
- _loadController = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(doc, kb, subject, noun, context, dom, status) {
158
- return _regenerator["default"].wrap(function (_context2) {
159
- while (1) switch (_context2.prev = _context2.next) {
160
- case 0:
161
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
162
- return (0, _acl.getACLorDefault)(doc, /*#__PURE__*/function () {
163
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(ok, isDirectACL, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc) {
164
- var targetDirectory, targetIsProtected, prospectiveDefaultHolder, getController, _t;
165
- return _regenerator["default"].wrap(function (_context) {
166
- while (1) switch (_context.prev = _context.next) {
167
- case 0:
168
- getController = function _getController(prospectiveDefaultHolder) {
169
- return new _accessController.AccessController(subject, noun, context, status, targetIsProtected, targetDoc, targetACLDoc, defaultHolder, defaultACLDoc, prospectiveDefaultHolder, kb, dom);
170
- };
171
- if (ok) {
172
- _context.next = 1;
173
- break;
174
- }
175
- return _context.abrupt("return", reject(new Error("Error reading ".concat(isDirectACL ? '' : ' default ', "ACL. status ").concat(targetDoc, ": ").concat(targetACLDoc))));
176
- case 1:
177
- targetDirectory = getDirectory(targetDoc);
178
- targetIsProtected = isStorage(targetDoc, targetACLDoc, kb) || hasProtectedAcl(targetDoc);
179
- if (!(!targetIsProtected && targetDirectory)) {
180
- _context.next = 5;
181
- break;
182
- }
183
- _context.prev = 2;
184
- _context.next = 3;
185
- return (0, _acl.getProspectiveHolder)(targetDirectory);
186
- case 3:
187
- prospectiveDefaultHolder = _context.sent;
188
- return _context.abrupt("return", resolve(getController(prospectiveDefaultHolder)));
189
- case 4:
190
- _context.prev = 4;
191
- _t = _context["catch"](2);
192
- // No need to show this error in status, but good to warn about it in console
193
- (0, _debug.warn)(_t);
194
- case 5:
195
- return _context.abrupt("return", resolve(getController()));
196
- case 6:
197
- case "end":
198
- return _context.stop();
199
- }
200
- }, _callee, null, [[2, 4]]);
201
- }));
202
- return function (_x8, _x9, _x0, _x1, _x10, _x11) {
203
- return _ref.apply(this, arguments);
204
- };
205
- }());
206
- }));
207
- case 1:
208
- case "end":
209
- return _context2.stop();
210
- }
211
- }, _callee2);
212
- }));
213
- return _loadController.apply(this, arguments);
214
- }
215
- function getDirectory(doc) {
216
- var str = doc.uri.split('#')[0];
217
- var p = str.slice(0, -1).lastIndexOf('/');
218
- var q = str.indexOf('//');
219
- return q >= 0 && p < q + 2 || p < 0 ? null : str.slice(0, p + 1);
220
- }
221
- function isStorage(doc, aclDoc, store) {
222
- // @@ TODO: The methods used for targetIsStorage are HACKs - it should not be relied upon, and work is
223
- // @@ underway to standardize a behavior that does not rely upon this hack
224
- // @@ hopefully fixed as part of https://github.com/solidos/data-interoperability-panel/issues/10
225
- return store.holds(doc, ns.rdf('type'), ns.space('Storage'), aclDoc);
226
- }
227
- function hasProtectedAcl(targetDoc) {
228
- // @@ TODO: This is hacky way of knowing whether or not a certain ACL file can be removed
229
- // Hopefully we'll find a better, standardized solution to this - https://github.com/solidos/specification/issues/37
230
- return targetDoc.uri === targetDoc.site().uri;
231
- }
232
-
233
- /** @internal */
234
- function setGlobalWindow(window) {
235
- global = window;
236
- }
237
- //# sourceMappingURL=acl-control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acl-control.js","names":["ns","_interopRequireWildcard","require","utils","_acl","_accessController","style","_debug","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","global","window","preventBrowserDropEventsDone","Symbol","preventBrowserDropEvents","document","log","addEventListener","handleDrop","preventDrag","stopPropagation","preventDefault","dataTransfer","files","length","confirm","dropEffect","shortNameForFolder","x","str","uri","slice","slash","lastIndexOf","ACLControlBox5","subject","context","noun","kb","dom","doc","container","createElement","setAttribute","aclControlBoxContainer","header","appendChild","textContent","concat","label","aclControlBoxHeader","status","aclControlBoxStatus","loadController","then","controller","render","error","innerText","_x","_x2","_x3","_x4","_x5","_x6","_x7","_loadController","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","wrap","_context2","prev","next","abrupt","Promise","resolve","reject","getACLorDefault","_ref","_callee","ok","isDirectACL","targetDoc","targetACLDoc","defaultHolder","defaultACLDoc","targetDirectory","targetIsProtected","prospectiveDefaultHolder","getController","_t","_context","_getController","AccessController","Error","getDirectory","isStorage","hasProtectedAcl","getProspectiveHolder","sent","warn","stop","_x8","_x9","_x0","_x1","_x10","_x11","split","p","q","indexOf","aclDoc","store","holds","rdf","space","site","setGlobalWindow"],"sources":["../../src/acl/acl-control.ts"],"sourcesContent":["/**\n * Functions for rendering the ACL User Interface.\n * See https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md#view\n * for a screenshot.\n * @packageDocumentation\n */\n\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport { getACLorDefault, getProspectiveHolder } from './acl'\nimport { Store, NamedNode } from 'rdflib'\nimport { DataBrowserContext } from 'pane-registry'\nimport { AccessController } from './access-controller'\nimport * as style from '../style'\nimport { log, warn } from '../debug'\n\nlet global: Window = window\nconst preventBrowserDropEventsDone = Symbol('prevent double triggering of drop event')\n\n/**\n * See https://coshx.com/preventing-drag-and-drop-disasters-with-a-chrome-userscript\n * Without this dropping anything onto a browser page will cause chrome etc to jump to diff page\n * throwing away all the user's work.\n *\n * In apps which may use drag and drop, this utility takes care of the fact\n * by default in a browser, an uncaught user drop into a browser window\n * causes the browser to lose all its work in that window and navigate to another page\n *\n * @param document The DOM\n * @returns void\n */\nexport function preventBrowserDropEvents (document: HTMLDocument): void {\n log('preventBrowserDropEvents called.')\n if (typeof global !== 'undefined') {\n if (global[preventBrowserDropEventsDone]) return\n global[preventBrowserDropEventsDone] = true\n }\n\n document.addEventListener('drop', handleDrop, false)\n document.addEventListener('dragenter', preventDrag, false)\n document.addEventListener('dragover', preventDrag, false)\n}\n\n/** @internal */\nexport function preventDrag (e) {\n e.stopPropagation()\n e.preventDefault()\n}\n\n/** @internal */\nexport function handleDrop (e) {\n if (e.dataTransfer.files.length > 0) {\n if (\n !global.confirm('Are you sure you want to drop this file here? (Cancel opens it in a new tab)')\n ) {\n e.stopPropagation()\n e.preventDefault()\n log('@@@@ document-level DROP suppressed: ' + e.dataTransfer.dropEffect\n )\n }\n }\n}\n\n/**\n * Get a folder's own filename in the directory tree. Also works for\n * domain names; the URL protocol ('https://') acts as the tree root\n * with short name '/' (see also test/unit/acl/acl-control.test.ts).\n *\n * ```typescript\n * shortNameForFolder($rdf.namedNode('http://example.com/some/folder/'))\n * // 'folder'\n *\n * shortNameForFolder($rdf.namedNode('http://example.com/some/folder'))\n * // 'folder'\n *\n * shortNameForFolder($rdf.namedNode('http://example.com/'))\n * // 'example.com'\n *\n * shortNameForFolder($rdf.namedNode('http://example.com'))\n * // 'example.com'\n *\n * shortNameForFolder($rdf.namedNode('http://'))\n * // '/'\n * ```\n *\n * It also works with relative URLs:\n * ```typescript\n * shortNameForFolder($rdf.namedNode('../folder/'))\n * // 'folder'\n * ```\n *\n * @param x RDF Node for the folder URL\n * @returns Short name for the folder\n */\nexport function shortNameForFolder (x: NamedNode): string {\n let str = x.uri\n\n // Strip the trailing slash\n if (str.slice(-1) === '/') {\n str = str.slice(0, -1)\n }\n\n // Remove the path if present, keeping only the part\n // after the last slash.\n const slash = str.lastIndexOf('/')\n if (slash >= 0) {\n str = str.slice(slash + 1)\n }\n // Return the folder's filename, or '/' if nothing found\n // (but see https://github.com/solidos/solid-ui/issues/196\n // regarding whether this happens at the domain root or\n // not)\n return str || '/'\n}\n\n/**\n * A wrapper that retrieves ACL data and uses it\n * to render an [[AccessController]] component.\n * Presumably the '5' is a version number of some sort,\n * but all we know is it was already called ACLControlBox5\n * when it was introduced into solid-ui in\n * https://github.com/solidos/solid-ui/commit/948b874bd93e7bf5160e6e224821b888f07d15f3#diff-4192a29f38a0ababd563b36b47eba5bbR54\n */\nexport function ACLControlBox5 (\n subject: NamedNode,\n context: DataBrowserContext,\n noun: string,\n kb: Store\n): HTMLElement {\n const dom = context.dom\n const doc = subject.doc() // The ACL is actually to the doc describing the thing\n\n const container = dom.createElement('div')\n container.setAttribute('style', style.aclControlBoxContainer)\n\n const header = container.appendChild(dom.createElement('h1'))\n header.textContent = `Sharing for ${noun} ${utils.label(subject)}`\n header.setAttribute('style', style.aclControlBoxHeader)\n\n const status = container.appendChild(dom.createElement('div'))\n status.setAttribute('style', style.aclControlBoxStatus)\n\n try {\n loadController(doc, kb, subject, noun, context, dom, status)\n .then(controller => container.appendChild(controller.render()))\n } catch (error) {\n status.innerText = error\n }\n\n return container\n}\n\nasync function loadController (\n doc: NamedNode,\n kb: Store,\n subject: NamedNode,\n noun: string,\n context: DataBrowserContext,\n dom: HTMLDocument,\n status: HTMLElement\n): Promise<AccessController> {\n return new Promise((resolve, reject) => getACLorDefault(doc, async (\n ok,\n isDirectACL,\n targetDoc,\n targetACLDoc,\n defaultHolder,\n defaultACLDoc\n ) => {\n if (!ok) {\n return reject(new Error(`Error reading ${isDirectACL ? '' : ' default '}ACL. status ${targetDoc}: ${targetACLDoc}`))\n }\n const targetDirectory = getDirectory(targetDoc as NamedNode)\n const targetIsProtected = isStorage(targetDoc as NamedNode, targetACLDoc as NamedNode, kb) || hasProtectedAcl(targetDoc as NamedNode)\n if (!targetIsProtected && targetDirectory) {\n try {\n const prospectiveDefaultHolder = await getProspectiveHolder(targetDirectory)\n return resolve(getController(prospectiveDefaultHolder))\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n warn(error)\n }\n }\n return resolve(getController())\n\n function getController (prospectiveDefaultHolder?: NamedNode) {\n return new AccessController(subject, noun, context, status, targetIsProtected, targetDoc as NamedNode, targetACLDoc as NamedNode, defaultHolder as NamedNode,\n defaultACLDoc as NamedNode, prospectiveDefaultHolder, kb, dom as HTMLDocument)\n }\n }))\n}\n\nfunction getDirectory (doc: NamedNode): string | null {\n const str = doc.uri.split('#')[0]\n const p = str.slice(0, -1).lastIndexOf('/')\n const q = str.indexOf('//')\n return (q >= 0 && p < q + 2) || p < 0 ? null : str.slice(0, p + 1)\n}\n\nfunction isStorage (doc: NamedNode, aclDoc: NamedNode, store: Store): boolean {\n // @@ TODO: The methods used for targetIsStorage are HACKs - it should not be relied upon, and work is\n // @@ underway to standardize a behavior that does not rely upon this hack\n // @@ hopefully fixed as part of https://github.com/solidos/data-interoperability-panel/issues/10\n return store.holds(doc, ns.rdf('type'), ns.space('Storage'), aclDoc)\n}\n\nfunction hasProtectedAcl (targetDoc: NamedNode): boolean {\n // @@ TODO: This is hacky way of knowing whether or not a certain ACL file can be removed\n // Hopefully we'll find a better, standardized solution to this - https://github.com/solidos/specification/issues/37\n return targetDoc.uri === targetDoc.site().uri\n}\n\n/** @internal */\nexport function setGlobalWindow (window: Window) {\n global = window\n}\n"],"mappings":"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","ignoreList":[]}