solid-ui 2.5.1 → 2.6.0

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 (143) hide show
  1. package/README.md +4 -0
  2. package/dist/841.solid-ui.min.js +1 -1
  3. package/dist/841.solid-ui.min.js.map +1 -1
  4. package/dist/_2b19.solid-ui.js.map +1 -1
  5. package/dist/solid-ui.js +42754 -45728
  6. package/dist/solid-ui.js.map +1 -1
  7. package/dist/solid-ui.min.js +1 -1
  8. package/dist/solid-ui.min.js.LICENSE.txt +1 -5
  9. package/dist/solid-ui.min.js.map +1 -1
  10. package/lib/acl/access-controller.js +48 -49
  11. package/lib/acl/access-controller.js.map +1 -1
  12. package/lib/acl/access-groups.js +40 -40
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.js +18 -19
  15. package/lib/acl/acl-control.js.map +1 -1
  16. package/lib/acl/acl.js +4 -5
  17. package/lib/acl/acl.js.map +1 -1
  18. package/lib/acl/add-agent-buttons.js +51 -52
  19. package/lib/acl/add-agent-buttons.js.map +1 -1
  20. package/lib/chat/bookmarks.js +76 -77
  21. package/lib/chat/bookmarks.js.map +1 -1
  22. package/lib/chat/chatLogic.js +74 -75
  23. package/lib/chat/chatLogic.js.map +1 -1
  24. package/lib/chat/dateFolder.js +66 -67
  25. package/lib/chat/dateFolder.js.map +1 -1
  26. package/lib/chat/infinite.js +218 -220
  27. package/lib/chat/infinite.js.map +1 -1
  28. package/lib/chat/keys.js +62 -63
  29. package/lib/chat/keys.js.map +1 -1
  30. package/lib/chat/message.js +98 -100
  31. package/lib/chat/message.js.map +1 -1
  32. package/lib/chat/messageTools.js +99 -100
  33. package/lib/chat/messageTools.js.map +1 -1
  34. package/lib/chat/signature.d.ts.map +1 -1
  35. package/lib/chat/signature.js +0 -1
  36. package/lib/chat/signature.js.map +1 -1
  37. package/lib/chat/thread.js +57 -61
  38. package/lib/chat/thread.js.map +1 -1
  39. package/lib/create/create.js +1 -2
  40. package/lib/create/create.js.map +1 -1
  41. package/lib/folders.js +1 -4
  42. package/lib/folders.js.map +1 -1
  43. package/lib/footer/index.d.ts.map +1 -1
  44. package/lib/footer/index.js +14 -16
  45. package/lib/footer/index.js.map +1 -1
  46. package/lib/header/index.js +34 -36
  47. package/lib/header/index.js.map +1 -1
  48. package/lib/iconBase.d.ts.map +1 -1
  49. package/lib/iconBase.js +0 -1
  50. package/lib/iconBase.js.map +1 -1
  51. package/lib/index.d.ts +1 -1
  52. package/lib/index.d.ts.map +1 -1
  53. package/lib/index.js +5 -5
  54. package/lib/index.js.map +1 -1
  55. package/lib/log.d.ts +7 -7
  56. package/lib/log.d.ts.map +1 -1
  57. package/lib/log.js +2 -2
  58. package/lib/log.js.map +1 -1
  59. package/lib/login/login.js +217 -222
  60. package/lib/login/login.js.map +1 -1
  61. package/lib/matrix/matrix.js +1 -2
  62. package/lib/matrix/matrix.js.map +1 -1
  63. package/lib/matrix/types.js.map +1 -1
  64. package/lib/media/media-capture.js +3 -4
  65. package/lib/media/media-capture.js.map +1 -1
  66. package/lib/messageArea.js +1 -4
  67. package/lib/messageArea.js.map +1 -1
  68. package/lib/ns.js +1 -2
  69. package/lib/ns.js.map +1 -1
  70. package/lib/pad.js +1 -2
  71. package/lib/pad.js.map +1 -1
  72. package/lib/participation.js +1 -2
  73. package/lib/participation.js.map +1 -1
  74. package/lib/preferences.js +1 -2
  75. package/lib/preferences.js.map +1 -1
  76. package/lib/table.js +1 -2
  77. package/lib/table.js.map +1 -1
  78. package/lib/tabs.d.ts.map +1 -1
  79. package/lib/tabs.js +1 -2
  80. package/lib/tabs.js.map +1 -1
  81. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  82. package/lib/utils/headerFooterHelpers.js +36 -36
  83. package/lib/utils/headerFooterHelpers.js.map +1 -1
  84. package/lib/utils/index.js +1 -2
  85. package/lib/utils/index.js.map +1 -1
  86. package/lib/utils/keyHelpers/accessData.d.ts.map +1 -1
  87. package/lib/utils/keyHelpers/accessData.js +33 -34
  88. package/lib/utils/keyHelpers/accessData.js.map +1 -1
  89. package/lib/utils/keyHelpers/acl.d.ts.map +1 -1
  90. package/lib/utils/keyHelpers/acl.js +21 -22
  91. package/lib/utils/keyHelpers/acl.js.map +1 -1
  92. package/lib/utils/keyHelpers/otherHelpers.d.ts.map +1 -1
  93. package/lib/utils/keyHelpers/otherHelpers.js +1 -2
  94. package/lib/utils/keyHelpers/otherHelpers.js.map +1 -1
  95. package/lib/utils/label.js +1 -2
  96. package/lib/utils/label.js.map +1 -1
  97. package/lib/versionInfo.d.ts +4 -3
  98. package/lib/versionInfo.d.ts.map +1 -1
  99. package/lib/versionInfo.js +30 -30
  100. package/lib/versionInfo.js.map +1 -1
  101. package/lib/widgets/buttons/iconLinks.d.ts.map +1 -1
  102. package/lib/widgets/buttons/iconLinks.js +2 -2
  103. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  104. package/lib/widgets/buttons.d.ts +1 -1
  105. package/lib/widgets/buttons.d.ts.map +1 -1
  106. package/lib/widgets/buttons.js +1 -3
  107. package/lib/widgets/buttons.js.map +1 -1
  108. package/lib/widgets/dragAndDrop.js +1 -2
  109. package/lib/widgets/dragAndDrop.js.map +1 -1
  110. package/lib/widgets/error.js +1 -2
  111. package/lib/widgets/error.js.map +1 -1
  112. package/lib/widgets/forms/autocomplete/autocompleteBar.js +47 -48
  113. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  114. package/lib/widgets/forms/autocomplete/autocompleteField.js +38 -39
  115. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  116. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  117. package/lib/widgets/forms/autocomplete/autocompletePicker.js +44 -45
  118. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  119. package/lib/widgets/forms/autocomplete/language.js +23 -24
  120. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  121. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  122. package/lib/widgets/forms/autocomplete/publicData.js +91 -93
  123. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  124. package/lib/widgets/forms/basic.js +2 -3
  125. package/lib/widgets/forms/basic.js.map +1 -1
  126. package/lib/widgets/forms/comment.js +1 -2
  127. package/lib/widgets/forms/comment.js.map +1 -1
  128. package/lib/widgets/forms/fieldParams.js +1 -2
  129. package/lib/widgets/forms/fieldParams.js.map +1 -1
  130. package/lib/widgets/forms/formStyle.js +1 -2
  131. package/lib/widgets/forms/formStyle.js.map +1 -1
  132. package/lib/widgets/forms.js +79 -80
  133. package/lib/widgets/forms.js.map +1 -1
  134. package/lib/widgets/index.js +1 -2
  135. package/lib/widgets/index.js.map +1 -1
  136. package/lib/widgets/multiSelect.js +1 -2
  137. package/lib/widgets/multiSelect.js.map +1 -1
  138. package/lib/widgets/peoplePicker.js +1 -2
  139. package/lib/widgets/peoplePicker.js.map +1 -1
  140. package/lib/widgets/widgetHelpers.d.ts.map +1 -1
  141. package/lib/widgets/widgetHelpers.js +3 -3
  142. package/lib/widgets/widgetHelpers.js.map +1 -1
  143. package/package.json +57 -57
@@ -18,8 +18,7 @@ var ns = _interopRequireWildcard(require("../ns"));
18
18
  var utils = _interopRequireWildcard(require("../utils"));
19
19
  var widgets = _interopRequireWildcard(require("../widgets"));
20
20
  var style = _interopRequireWildcard(require("../style"));
21
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
21
+ 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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
23
22
  /**
24
23
  * Contains the [[AddAgentButtons]] class
25
24
  * @packageDocumentation
@@ -197,42 +196,42 @@ var AddAgentButtons = exports.AddAgentButtons = /*#__PURE__*/function () {
197
196
  key: "renderAppsTable",
198
197
  value: function () {
199
198
  var _renderAppsTable = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(eventContext) {
200
- var _this10 = this;
199
+ var _this0 = this;
201
200
  var trustedApps, trustedOrigins;
202
- return _regenerator["default"].wrap(function _callee$(_context) {
201
+ return _regenerator["default"].wrap(function (_context) {
203
202
  while (1) switch (_context.prev = _context.next) {
204
203
  case 0:
205
- _context.next = 2;
204
+ _context.next = 1;
206
205
  return (0, _login.ensureLoadedProfile)(eventContext);
207
- case 2:
206
+ case 1:
208
207
  trustedApps = this.groupList.store.each(eventContext.me, ns.acl('trustedApp')); // @@ TODO fix as
209
208
  trustedOrigins = trustedApps.flatMap(function (app) {
210
- return _this10.groupList.store.each(app, ns.acl('origin'));
209
+ return _this0.groupList.store.each(app, ns.acl('origin'));
211
210
  }); // @@ TODO fix as
212
211
  this.barElement.appendChild(this.groupList.controller.dom.createElement('p')).textContent = "You have ".concat(trustedOrigins.length, " selected web apps.");
213
212
  return _context.abrupt("return", new Promise(function (resolve, reject) {
214
- var appsTable = _this10.barElement.appendChild(_this10.groupList.controller.dom.createElement('table'));
213
+ var appsTable = _this0.barElement.appendChild(_this0.groupList.controller.dom.createElement('table'));
215
214
  appsTable.setAttribute('style', style.trustedAppAddApplicationsTable);
216
215
  trustedApps.forEach(function (app) {
217
- var origin = _this10.groupList.store.any(app, ns.acl('origin')); // @@ TODO fix as
216
+ var origin = _this0.groupList.store.any(app, ns.acl('origin')); // @@ TODO fix as
218
217
  if (!origin) {
219
218
  reject(new Error("Unable to pick app: ".concat(app.value)));
220
219
  }
221
- var thingTR = widgets.personTR(_this10.groupList.controller.dom, ns.acl('origin'), origin, {});
222
- var innerTable = _this10.groupList.controller.dom.createElement('table');
223
- var innerRow = innerTable.appendChild(_this10.groupList.controller.dom.createElement('tr'));
224
- var innerLeftColumn = innerRow.appendChild(_this10.groupList.controller.dom.createElement('td'));
220
+ var thingTR = widgets.personTR(_this0.groupList.controller.dom, ns.acl('origin'), origin, {});
221
+ var innerTable = _this0.groupList.controller.dom.createElement('table');
222
+ var innerRow = innerTable.appendChild(_this0.groupList.controller.dom.createElement('tr'));
223
+ var innerLeftColumn = innerRow.appendChild(_this0.groupList.controller.dom.createElement('td'));
225
224
  innerLeftColumn.appendChild(thingTR);
226
- var innerMiddleColumn = innerRow.appendChild(_this10.groupList.controller.dom.createElement('td'));
227
- innerMiddleColumn.textContent = "Give access to ".concat(_this10.groupList.controller.noun, " ").concat(utils.label(_this10.groupList.controller.subject), "?");
228
- var innerRightColumn = innerRow.appendChild(_this10.groupList.controller.dom.createElement('td'));
229
- innerRightColumn.appendChild(widgets.continueButton(_this10.groupList.controller.dom, function () {
225
+ var innerMiddleColumn = innerRow.appendChild(_this0.groupList.controller.dom.createElement('td'));
226
+ innerMiddleColumn.textContent = "Give access to ".concat(_this0.groupList.controller.noun, " ").concat(utils.label(_this0.groupList.controller.subject), "?");
227
+ var innerRightColumn = innerRow.appendChild(_this0.groupList.controller.dom.createElement('td'));
228
+ innerRightColumn.appendChild(widgets.continueButton(_this0.groupList.controller.dom, function () {
230
229
  return resolve(origin.value);
231
230
  }));
232
231
  appsTable.appendChild(innerTable);
233
232
  });
234
233
  }));
235
- case 6:
234
+ case 2:
236
235
  case "end":
237
236
  return _context.stop();
238
237
  }
@@ -254,30 +253,30 @@ var AddAgentButtons = exports.AddAgentButtons = /*#__PURE__*/function () {
254
253
  value: function () {
255
254
  var _addPerson = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(name) {
256
255
  var domainNameRegexp;
257
- return _regenerator["default"].wrap(function _callee2$(_context2) {
256
+ return _regenerator["default"].wrap(function (_context2) {
258
257
  while (1) switch (_context2.prev = _context2.next) {
259
258
  case 0:
260
259
  if (name) {
261
- _context2.next = 2;
260
+ _context2.next = 1;
262
261
  break;
263
262
  }
264
263
  return _context2.abrupt("return", this.toggleBar());
265
- case 2:
264
+ case 1:
266
265
  // user cancelled
267
266
  domainNameRegexp = /^https?:/i;
268
267
  if (name.match(domainNameRegexp)) {
269
- _context2.next = 5;
268
+ _context2.next = 2;
270
269
  break;
271
270
  }
272
271
  return _context2.abrupt("return", Promise.reject(new Error('Not a http URI')));
273
- case 5:
272
+ case 2:
274
273
  // @@ check it actually is a person and has an owner who agrees they own it
275
274
  debug.log("Adding to ACL person: ".concat(name));
276
- _context2.next = 8;
275
+ _context2.next = 3;
277
276
  return this.groupList.addNewURI(name);
278
- case 8:
277
+ case 3:
279
278
  this.toggleBar();
280
- case 9:
279
+ case 4:
281
280
  case "end":
282
281
  return _context2.stop();
283
282
  }
@@ -293,30 +292,30 @@ var AddAgentButtons = exports.AddAgentButtons = /*#__PURE__*/function () {
293
292
  value: function () {
294
293
  var _addGroup = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
295
294
  var domainNameRegexp;
296
- return _regenerator["default"].wrap(function _callee3$(_context3) {
295
+ return _regenerator["default"].wrap(function (_context3) {
297
296
  while (1) switch (_context3.prev = _context3.next) {
298
297
  case 0:
299
298
  if (name) {
300
- _context3.next = 2;
299
+ _context3.next = 1;
301
300
  break;
302
301
  }
303
302
  return _context3.abrupt("return", this.toggleBar());
304
- case 2:
303
+ case 1:
305
304
  // user cancelled
306
305
  domainNameRegexp = /^https?:/i;
307
306
  if (name.match(domainNameRegexp)) {
308
- _context3.next = 5;
307
+ _context3.next = 2;
309
308
  break;
310
309
  }
311
310
  return _context3.abrupt("return", Promise.reject(new Error('Not a http URI')));
312
- case 5:
311
+ case 2:
313
312
  // @@ check it actually is a group and has an owner who agrees they own it
314
313
  debug.log('Adding to ACL group: ' + name);
315
- _context3.next = 8;
314
+ _context3.next = 3;
316
315
  return this.groupList.addNewURI(name);
317
- case 8:
316
+ case 3:
318
317
  this.toggleBar();
319
- case 9:
318
+ case 4:
320
319
  case "end":
321
320
  return _context3.stop();
322
321
  }
@@ -331,14 +330,14 @@ var AddAgentButtons = exports.AddAgentButtons = /*#__PURE__*/function () {
331
330
  key: "addAgent",
332
331
  value: function () {
333
332
  var _addAgent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(agentUri) {
334
- return _regenerator["default"].wrap(function _callee4$(_context4) {
333
+ return _regenerator["default"].wrap(function (_context4) {
335
334
  while (1) switch (_context4.prev = _context4.next) {
336
335
  case 0:
337
- _context4.next = 2;
336
+ _context4.next = 1;
338
337
  return this.groupList.addNewURI(agentUri);
339
- case 2:
338
+ case 1:
340
339
  this.toggleBar();
341
- case 3:
340
+ case 2:
342
341
  case "end":
343
342
  return _context4.stop();
344
343
  }
@@ -354,30 +353,30 @@ var AddAgentButtons = exports.AddAgentButtons = /*#__PURE__*/function () {
354
353
  value: function () {
355
354
  var _addBot = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(name) {
356
355
  var domainNameRegexp;
357
- return _regenerator["default"].wrap(function _callee5$(_context5) {
356
+ return _regenerator["default"].wrap(function (_context5) {
358
357
  while (1) switch (_context5.prev = _context5.next) {
359
358
  case 0:
360
359
  if (name) {
361
- _context5.next = 2;
360
+ _context5.next = 1;
362
361
  break;
363
362
  }
364
363
  return _context5.abrupt("return", this.toggleBar());
365
- case 2:
364
+ case 1:
366
365
  // user cancelled
367
366
  domainNameRegexp = /^https?:/i;
368
367
  if (name.match(domainNameRegexp)) {
369
- _context5.next = 5;
368
+ _context5.next = 2;
370
369
  break;
371
370
  }
372
371
  return _context5.abrupt("return", Promise.reject(new Error('Not a http URI')));
373
- case 5:
372
+ case 2:
374
373
  // @@ check it actually is a bot and has an owner who agrees they own it
375
374
  debug.log('Adding to ACL bot: ' + name);
376
- _context5.next = 8;
375
+ _context5.next = 3;
377
376
  return this.groupList.addNewURI(name);
378
- case 8:
377
+ case 3:
379
378
  this.toggleBar();
380
- case 9:
379
+ case 4:
381
380
  case "end":
382
381
  return _context5.stop();
383
382
  }
@@ -393,28 +392,28 @@ var AddAgentButtons = exports.AddAgentButtons = /*#__PURE__*/function () {
393
392
  value: function () {
394
393
  var _getOriginFromName = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(name) {
395
394
  var domainNameRegexp, origin;
396
- return _regenerator["default"].wrap(function _callee6$(_context6) {
395
+ return _regenerator["default"].wrap(function (_context6) {
397
396
  while (1) switch (_context6.prev = _context6.next) {
398
397
  case 0:
399
398
  if (name) {
400
- _context6.next = 2;
399
+ _context6.next = 1;
401
400
  break;
402
401
  }
403
402
  return _context6.abrupt("return", Promise.resolve());
404
- case 2:
403
+ case 1:
405
404
  // user cancelled
406
405
  domainNameRegexp = /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i; // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html
407
406
  if (name.match(domainNameRegexp)) {
408
- _context6.next = 5;
407
+ _context6.next = 2;
409
408
  break;
410
409
  }
411
410
  return _context6.abrupt("return", Promise.reject(new Error('Not a domain name')));
412
- case 5:
411
+ case 2:
413
412
  origin = 'https://' + name;
414
413
  debug.log('Adding to ACL origin: ' + origin);
415
414
  this.toggleBar();
416
415
  return _context6.abrupt("return", origin);
417
- case 9:
416
+ case 3:
418
417
  case "end":
419
418
  return _context6.stop();
420
419
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-agent-buttons.js","names":["debug","_interopRequireWildcard","require","_iconBase","_login","ns","utils","widgets","style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","AddAgentButtons","exports","groupList","_classCallCheck2","_defineProperty2","rootElement","controller","dom","createElement","barElement","_createClass2","key","value","render","innerHTML","appendChild","renderAddButton","_this","button","concat","icons","iconBase","toggleBar","renderBar","isExpanded","renderPersonButton","renderGroupButton","renderPublicButton","renderAuthenticatedAgentButton","renderBotButton","renderAppsButton","renderSimplifiedBar","_this2","Array","from","children","filter","element","forEach","removeChild","_this3","iconForClass","event","target","renderNameForm","vcard","then","name","addPerson","renderCleanup","error","renderStatus","_this4","addGroup","type","noun","askName","store","_this5","addAgent","foaf","uri","renderTemporaryStatus","_this6","acl","_this7","schema","addBot","_this8","eventContext","div","existingApps","renderAppsTable","renderAppsView","newApp","getOriginFromName","Promise","race","origin","addNewURI","_this9","trustedApplications","context","session","paneRegistry","byName","trustedApplicationsElement","setAttribute","trustedAppController","cancelButton","trustedAppCancelButton","insertBefore","firstChild","_renderAppsTable","_asyncToGenerator2","_regenerator","mark","_callee","_this10","trustedApps","trustedOrigins","wrap","_callee$","_context","prev","next","ensureLoadedProfile","each","me","flatMap","app","textContent","length","abrupt","resolve","reject","appsTable","trustedAppAddApplicationsTable","any","Error","thingTR","personTR","innerTable","innerRow","innerLeftColumn","innerMiddleColumn","label","subject","innerRightColumn","continueButton","stop","_x","apply","arguments","_addPerson","_callee2","domainNameRegexp","_callee2$","_context2","match","log","_x2","_addGroup","_callee3","_callee3$","_context3","_x3","_addAgent","_callee4","agentUri","_callee4$","_context4","_x4","_addBot","_callee5","_callee5$","_context5","_x5","_getOriginFromName","_callee6","_callee6$","_context6","_x6"],"sources":["../../src/acl/add-agent-buttons.ts"],"sourcesContent":["/**\n * Contains the [[AddAgentButtons]] class\n * @packageDocumentation\n */\n\nimport { NamedNode, Store } from 'rdflib'\nimport { AuthenticationContext } from 'solid-logic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { ensureLoadedProfile } from '../login/login'\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport * as style from '../style'\nimport { AccessGroups } from './access-groups'\n\n/**\n * Renders the Sharing pane's \"+\" button and the menus behind it,\n * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md#add\n */\nexport class AddAgentButtons {\n private readonly rootElement: HTMLElement\n private readonly barElement: HTMLElement\n private isExpanded: boolean = false\n\n constructor (private groupList: AccessGroups) {\n this.rootElement = groupList.controller.dom.createElement('div')\n this.barElement = groupList.controller.dom.createElement('div')\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.rootElement.appendChild(this.renderAddButton())\n this.rootElement.appendChild(this.barElement)\n return this.rootElement\n }\n\n private renderAddButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_34653_green.svg`,\n 'Add ...',\n () => {\n this.toggleBar()\n this.renderBar()\n }\n )\n }\n\n private renderBar (): void {\n this.barElement.innerHTML = ''\n if (!this.isExpanded) {\n return\n }\n this.barElement.appendChild(this.renderPersonButton())\n this.barElement.appendChild(this.renderGroupButton())\n this.barElement.appendChild(this.renderPublicButton())\n this.barElement.appendChild(this.renderAuthenticatedAgentButton())\n this.barElement.appendChild(this.renderBotButton())\n this.barElement.appendChild(this.renderAppsButton())\n }\n\n private renderSimplifiedBar (button: EventTarget | null) {\n Array.from(this.barElement.children)\n .filter(element => element !== button)\n .forEach(element => this.barElement.removeChild(element))\n }\n\n private renderPersonButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Individual'],\n 'Add Person',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Individual'), 'person')\n .then(name => this.addPerson(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderGroupButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Group'],\n 'Add Group',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Group'), 'group')\n .then(name => this.addGroup(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderNameForm (type: NamedNode, noun: string): Promise<string | undefined> {\n return widgets.askName(\n this.groupList.controller.dom,\n this.groupList.store,\n this.barElement,\n ns.vcard('URI'),\n type,\n noun\n )\n }\n\n private renderPublicButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['foaf:Agent'],\n 'Add Everyone',\n () => this.addAgent(ns.foaf('Agent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding the general public to those who can read. Drag the globe to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderAuthenticatedAgentButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_99101.svg`,\n 'Anyone logged In',\n () => this.addAgent(ns.acl('AuthenticatedAgent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding anyone logged in to those who can read. Drag the ID icon to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderBotButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + 'noun_Robot_849764.svg',\n 'A Software Agent (bot)',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.schema('Application'), 'bot')\n .then(name => this.addBot(name))\n .then(() => this.renderCleanup())\n })\n }\n\n private renderAppsButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_15177.svg`,\n 'A Web App (origin)',\n event => {\n this.renderSimplifiedBar(event.target)\n const eventContext = {\n div: this.barElement,\n dom: this.groupList.controller.dom\n }\n const existingApps = this.renderAppsTable(eventContext)\n .catch(error => this.groupList.controller.renderStatus(error))\n this.renderAppsView()\n const newApp = this.renderNameForm(ns.schema('WebApplication'), 'webapp domain')\n .then(name => this.getOriginFromName(name))\n Promise.race([\n existingApps,\n newApp\n ])\n .then(origin => {\n if (origin) {\n this.groupList.addNewURI(origin)\n }\n })\n .then(() => this.renderCleanup())\n }\n )\n }\n\n private renderAppsView (): void {\n const trustedApplications = this.groupList.controller.context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplications) {\n const trustedApplicationsElement = trustedApplications.render(null, this.groupList.controller.context)\n trustedApplicationsElement.setAttribute('style', style.trustedAppController)\n\n const cancelButton = widgets.cancelButton(this.groupList.controller.dom, () => this.renderCleanup())\n cancelButton.setAttribute('style', style.trustedAppCancelButton)\n trustedApplicationsElement.insertBefore(cancelButton, trustedApplicationsElement.firstChild)\n\n this.barElement.appendChild(trustedApplicationsElement)\n }\n }\n\n private async renderAppsTable (eventContext: AuthenticationContext): Promise<string> {\n await ensureLoadedProfile(eventContext)\n const trustedApps = (this.groupList.store as Store).each(eventContext.me, ns.acl('trustedApp')) as Array<NamedNode> // @@ TODO fix as\n const trustedOrigins = trustedApps.flatMap(app => (this.groupList.store as Store).each(app, ns.acl('origin'))) // @@ TODO fix as\n\n this.barElement.appendChild(this.groupList.controller.dom.createElement('p')).textContent = `You have ${trustedOrigins.length} selected web apps.`\n return new Promise((resolve, reject) => {\n const appsTable = this.barElement.appendChild(this.groupList.controller.dom.createElement('table'))\n appsTable.setAttribute('style', style.trustedAppAddApplicationsTable)\n trustedApps.forEach(app => {\n const origin = (this.groupList.store as Store).any(app, ns.acl('origin')) // @@ TODO fix as\n if (!origin) {\n reject(new Error(`Unable to pick app: ${app.value}`))\n }\n const thingTR = widgets.personTR(this.groupList.controller.dom, ns.acl('origin'), origin, {})\n const innerTable = this.groupList.controller.dom.createElement('table')\n const innerRow = innerTable.appendChild(this.groupList.controller.dom.createElement('tr'))\n\n const innerLeftColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerLeftColumn.appendChild(thingTR)\n\n const innerMiddleColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerMiddleColumn.textContent = `Give access to ${this.groupList.controller.noun} ${utils.label(this.groupList.controller.subject)}?`\n\n const innerRightColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerRightColumn.appendChild(widgets.continueButton(this.groupList.controller.dom, () => resolve(origin!.value)))\n\n appsTable.appendChild(innerTable)\n })\n })\n }\n\n private renderCleanup (): void {\n this.renderBar()\n this.groupList.render()\n }\n\n private async addPerson (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a person and has an owner who agrees they own it\n debug.log(`Adding to ACL person: ${name}`)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addGroup (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a group and has an owner who agrees they own it\n debug.log('Adding to ACL group: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addAgent (agentUri: string): Promise<void> {\n await this.groupList.addNewURI(agentUri)\n this.toggleBar()\n }\n\n private async addBot (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a bot and has an owner who agrees they own it\n debug.log('Adding to ACL bot: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async getOriginFromName (name?: string): Promise<string | void> {\n if (!name) return Promise.resolve() // user cancelled\n const domainNameRegexp = /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i\n // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a domain name'))\n }\n const origin = 'https://' + name\n debug.log('Adding to ACL origin: ' + origin)\n this.toggleBar()\n return origin\n }\n\n private toggleBar (): void {\n this.isExpanded = !this.isExpanded\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"add-agent-buttons.js","names":["debug","_interopRequireWildcard","require","_iconBase","_login","ns","utils","widgets","style","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AddAgentButtons","exports","groupList","_classCallCheck2","_defineProperty2","rootElement","controller","dom","createElement","barElement","_createClass2","key","value","render","innerHTML","appendChild","renderAddButton","_this","button","concat","icons","iconBase","toggleBar","renderBar","isExpanded","renderPersonButton","renderGroupButton","renderPublicButton","renderAuthenticatedAgentButton","renderBotButton","renderAppsButton","renderSimplifiedBar","_this2","Array","from","children","filter","element","forEach","removeChild","_this3","iconForClass","event","target","renderNameForm","vcard","then","name","addPerson","renderCleanup","error","renderStatus","_this4","addGroup","type","noun","askName","store","_this5","addAgent","foaf","uri","renderTemporaryStatus","_this6","acl","_this7","schema","addBot","_this8","eventContext","div","existingApps","renderAppsTable","renderAppsView","newApp","getOriginFromName","Promise","race","origin","addNewURI","_this9","trustedApplications","context","session","paneRegistry","byName","trustedApplicationsElement","setAttribute","trustedAppController","cancelButton","trustedAppCancelButton","insertBefore","firstChild","_renderAppsTable","_asyncToGenerator2","_regenerator","mark","_callee","_this0","trustedApps","trustedOrigins","wrap","_context","prev","next","ensureLoadedProfile","each","me","flatMap","app","textContent","length","abrupt","resolve","reject","appsTable","trustedAppAddApplicationsTable","any","Error","thingTR","personTR","innerTable","innerRow","innerLeftColumn","innerMiddleColumn","label","subject","innerRightColumn","continueButton","stop","_x","apply","arguments","_addPerson","_callee2","domainNameRegexp","_context2","match","log","_x2","_addGroup","_callee3","_context3","_x3","_addAgent","_callee4","agentUri","_context4","_x4","_addBot","_callee5","_context5","_x5","_getOriginFromName","_callee6","_context6","_x6"],"sources":["../../src/acl/add-agent-buttons.ts"],"sourcesContent":["/**\n * Contains the [[AddAgentButtons]] class\n * @packageDocumentation\n */\n\nimport { NamedNode, Store } from 'rdflib'\nimport { AuthenticationContext } from 'solid-logic'\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { ensureLoadedProfile } from '../login/login'\nimport * as ns from '../ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport * as style from '../style'\nimport { AccessGroups } from './access-groups'\n\n/**\n * Renders the Sharing pane's \"+\" button and the menus behind it,\n * see https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md#add\n */\nexport class AddAgentButtons {\n private readonly rootElement: HTMLElement\n private readonly barElement: HTMLElement\n private isExpanded: boolean = false\n\n constructor (private groupList: AccessGroups) {\n this.rootElement = groupList.controller.dom.createElement('div')\n this.barElement = groupList.controller.dom.createElement('div')\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.rootElement.appendChild(this.renderAddButton())\n this.rootElement.appendChild(this.barElement)\n return this.rootElement\n }\n\n private renderAddButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_34653_green.svg`,\n 'Add ...',\n () => {\n this.toggleBar()\n this.renderBar()\n }\n )\n }\n\n private renderBar (): void {\n this.barElement.innerHTML = ''\n if (!this.isExpanded) {\n return\n }\n this.barElement.appendChild(this.renderPersonButton())\n this.barElement.appendChild(this.renderGroupButton())\n this.barElement.appendChild(this.renderPublicButton())\n this.barElement.appendChild(this.renderAuthenticatedAgentButton())\n this.barElement.appendChild(this.renderBotButton())\n this.barElement.appendChild(this.renderAppsButton())\n }\n\n private renderSimplifiedBar (button: EventTarget | null) {\n Array.from(this.barElement.children)\n .filter(element => element !== button)\n .forEach(element => this.barElement.removeChild(element))\n }\n\n private renderPersonButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Individual'],\n 'Add Person',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Individual'), 'person')\n .then(name => this.addPerson(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderGroupButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['vcard:Group'],\n 'Add Group',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.vcard('Group'), 'group')\n .then(name => this.addGroup(name))\n .then(() => this.renderCleanup())\n .catch(error => this.groupList.controller.renderStatus(error))\n }\n )\n }\n\n private renderNameForm (type: NamedNode, noun: string): Promise<string | undefined> {\n return widgets.askName(\n this.groupList.controller.dom,\n this.groupList.store,\n this.barElement,\n ns.vcard('URI'),\n type,\n noun\n )\n }\n\n private renderPublicButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + widgets.iconForClass['foaf:Agent'],\n 'Add Everyone',\n () => this.addAgent(ns.foaf('Agent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding the general public to those who can read. Drag the globe to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderAuthenticatedAgentButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_99101.svg`,\n 'Anyone logged In',\n () => this.addAgent(ns.acl('AuthenticatedAgent').uri)\n .then(() => this.groupList.controller.renderTemporaryStatus('Adding anyone logged in to those who can read. Drag the ID icon to a different level to give them more access.'))\n .then(() => this.renderCleanup()))\n }\n\n private renderBotButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n icons.iconBase + 'noun_Robot_849764.svg',\n 'A Software Agent (bot)',\n event => {\n this.renderSimplifiedBar(event.target)\n this.renderNameForm(ns.schema('Application'), 'bot')\n .then(name => this.addBot(name))\n .then(() => this.renderCleanup())\n })\n }\n\n private renderAppsButton (): HTMLElement {\n return widgets.button(\n this.groupList.controller.dom,\n `${icons.iconBase}noun_15177.svg`,\n 'A Web App (origin)',\n event => {\n this.renderSimplifiedBar(event.target)\n const eventContext = {\n div: this.barElement,\n dom: this.groupList.controller.dom\n }\n const existingApps = this.renderAppsTable(eventContext)\n .catch(error => this.groupList.controller.renderStatus(error))\n this.renderAppsView()\n const newApp = this.renderNameForm(ns.schema('WebApplication'), 'webapp domain')\n .then(name => this.getOriginFromName(name))\n Promise.race([\n existingApps,\n newApp\n ])\n .then(origin => {\n if (origin) {\n this.groupList.addNewURI(origin)\n }\n })\n .then(() => this.renderCleanup())\n }\n )\n }\n\n private renderAppsView (): void {\n const trustedApplications = this.groupList.controller.context.session.paneRegistry.byName('trustedApplications')\n if (trustedApplications) {\n const trustedApplicationsElement = trustedApplications.render(null, this.groupList.controller.context)\n trustedApplicationsElement.setAttribute('style', style.trustedAppController)\n\n const cancelButton = widgets.cancelButton(this.groupList.controller.dom, () => this.renderCleanup())\n cancelButton.setAttribute('style', style.trustedAppCancelButton)\n trustedApplicationsElement.insertBefore(cancelButton, trustedApplicationsElement.firstChild)\n\n this.barElement.appendChild(trustedApplicationsElement)\n }\n }\n\n private async renderAppsTable (eventContext: AuthenticationContext): Promise<string> {\n await ensureLoadedProfile(eventContext)\n const trustedApps = (this.groupList.store as Store).each(eventContext.me, ns.acl('trustedApp')) as Array<NamedNode> // @@ TODO fix as\n const trustedOrigins = trustedApps.flatMap(app => (this.groupList.store as Store).each(app, ns.acl('origin'))) // @@ TODO fix as\n\n this.barElement.appendChild(this.groupList.controller.dom.createElement('p')).textContent = `You have ${trustedOrigins.length} selected web apps.`\n return new Promise((resolve, reject) => {\n const appsTable = this.barElement.appendChild(this.groupList.controller.dom.createElement('table'))\n appsTable.setAttribute('style', style.trustedAppAddApplicationsTable)\n trustedApps.forEach(app => {\n const origin = (this.groupList.store as Store).any(app, ns.acl('origin')) // @@ TODO fix as\n if (!origin) {\n reject(new Error(`Unable to pick app: ${app.value}`))\n }\n const thingTR = widgets.personTR(this.groupList.controller.dom, ns.acl('origin'), origin, {})\n const innerTable = this.groupList.controller.dom.createElement('table')\n const innerRow = innerTable.appendChild(this.groupList.controller.dom.createElement('tr'))\n\n const innerLeftColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerLeftColumn.appendChild(thingTR)\n\n const innerMiddleColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerMiddleColumn.textContent = `Give access to ${this.groupList.controller.noun} ${utils.label(this.groupList.controller.subject)}?`\n\n const innerRightColumn = innerRow.appendChild(this.groupList.controller.dom.createElement('td'))\n innerRightColumn.appendChild(widgets.continueButton(this.groupList.controller.dom, () => resolve(origin!.value)))\n\n appsTable.appendChild(innerTable)\n })\n })\n }\n\n private renderCleanup (): void {\n this.renderBar()\n this.groupList.render()\n }\n\n private async addPerson (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a person and has an owner who agrees they own it\n debug.log(`Adding to ACL person: ${name}`)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addGroup (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a group and has an owner who agrees they own it\n debug.log('Adding to ACL group: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async addAgent (agentUri: string): Promise<void> {\n await this.groupList.addNewURI(agentUri)\n this.toggleBar()\n }\n\n private async addBot (name?: string): Promise<void> {\n if (!name) return this.toggleBar() // user cancelled\n const domainNameRegexp = /^https?:/i\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a http URI'))\n }\n // @@ check it actually is a bot and has an owner who agrees they own it\n debug.log('Adding to ACL bot: ' + name)\n await this.groupList.addNewURI(name)\n this.toggleBar()\n }\n\n private async getOriginFromName (name?: string): Promise<string | void> {\n if (!name) return Promise.resolve() // user cancelled\n const domainNameRegexp = /^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$/i\n // https://www.oreilly.com/library/view/regular-expressions-cookbook/9781449327453/ch08s15.html\n if (!name.match(domainNameRegexp)) {\n // @@ enforce in user input live like a form element\n return Promise.reject(new Error('Not a domain name'))\n }\n const origin = 'https://' + name\n debug.log('Adding to ACL origin: ' + origin)\n this.toggleBar()\n return origin\n }\n\n private toggleBar (): void {\n this.isExpanded = !this.isExpanded\n }\n}\n"],"mappings":"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","ignoreList":[]}