solid-panes 4.4.0 → 4.4.1-test.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 (75) hide show
  1. package/README.md +4 -2
  2. package/dist/RDFXMLPane.css +70 -0
  3. package/dist/RDFXMLPane.d.ts +13 -0
  4. package/dist/RDFXMLPane.d.ts.map +1 -0
  5. package/dist/RDFXMLPane.js +46 -5
  6. package/dist/dataContentPane.css +271 -0
  7. package/dist/dataContentPane.d.ts +14 -0
  8. package/dist/dataContentPane.d.ts.map +1 -0
  9. package/dist/dataContentPane.js +68 -101
  10. package/dist/defaultPane.css +97 -0
  11. package/dist/defaultPane.d.ts +14 -0
  12. package/dist/defaultPane.d.ts.map +1 -0
  13. package/dist/defaultPane.js +9 -2
  14. package/dist/form/formPane.css +120 -0
  15. package/dist/form/pane.d.ts +4 -0
  16. package/dist/form/pane.d.ts.map +1 -0
  17. package/dist/form/pane.js +120 -54
  18. package/dist/humanReadablePane.css +129 -0
  19. package/dist/humanReadablePane.d.ts +13 -0
  20. package/dist/humanReadablePane.d.ts.map +1 -0
  21. package/dist/humanReadablePane.js +29 -18
  22. package/dist/icons/signUp.svg +9 -0
  23. package/dist/imagePane.css +4 -0
  24. package/dist/imagePane.d.ts +12 -0
  25. package/dist/imagePane.d.ts.map +1 -0
  26. package/dist/imagePane.js +19 -21
  27. package/dist/internal/internalPane.css +14 -0
  28. package/dist/internal/internalPane.d.ts +1 -0
  29. package/dist/internal/internalPane.d.ts.map +1 -1
  30. package/dist/internal/internalPane.js +5 -6
  31. package/dist/mainPage/header.js +2 -2
  32. package/dist/mainPage/index.d.ts +2 -1
  33. package/dist/mainPage/index.d.ts.map +1 -1
  34. package/dist/mainPage/index.js +23 -0
  35. package/dist/mainPage/menu.d.ts.map +1 -1
  36. package/dist/mainPage/menu.js +29 -2
  37. package/dist/n3Pane.css +49 -0
  38. package/dist/n3Pane.d.ts +13 -0
  39. package/dist/n3Pane.d.ts.map +1 -0
  40. package/dist/n3Pane.js +36 -5
  41. package/dist/outline/manager.js +20 -1
  42. package/dist/pad/padPane.css +6 -2
  43. package/dist/pad/padPane.js +1 -1
  44. package/dist/registerPanes.js +8 -8
  45. package/dist/schedule/schedulePane.css +294 -0
  46. package/dist/schedule/schedulePane.d.ts +23 -0
  47. package/dist/schedule/schedulePane.d.ts.map +1 -0
  48. package/dist/schedule/schedulePane.js +161 -61
  49. package/dist/social/editProfileDetails.d.ts +3 -3
  50. package/dist/social/editProfileDetails.d.ts.map +1 -1
  51. package/dist/social/editProfileDetails.js +222 -127
  52. package/dist/social/icons.d.ts +2 -0
  53. package/dist/social/icons.d.ts.map +1 -1
  54. package/dist/social/icons.js +39 -4
  55. package/dist/social/socialPane.css +838 -178
  56. package/dist/social/socialPane.d.ts.map +1 -1
  57. package/dist/social/socialPane.js +136 -43
  58. package/dist/social/socialSections.d.ts +11 -0
  59. package/dist/social/socialSections.d.ts.map +1 -1
  60. package/dist/social/socialSections.js +138 -62
  61. package/dist/social/spinner.d.ts +3 -0
  62. package/dist/social/spinner.d.ts.map +1 -0
  63. package/dist/social/spinner.js +13 -0
  64. package/dist/social/triage.d.ts +17 -0
  65. package/dist/social/triage.d.ts.map +1 -0
  66. package/dist/social/triage.js +79 -0
  67. package/dist/solid-panes.js +25772 -9576
  68. package/dist/solid-panes.js.map +1 -1
  69. package/dist/solid-panes.min.js +2583 -927
  70. package/dist/solid-panes.min.js.map +1 -1
  71. package/dist/{style → styles}/tabbedtab.css +0 -157
  72. package/dist/styles/utilities.css +5 -0
  73. package/dist/versionInfo.js +13 -13
  74. package/package.json +27 -26
  75. package/dist/icons/signup.png +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"socialPane.d.ts","sourceRoot":"","sources":["../../src/social/socialPane.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAa,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAYlD,eAAO,MAAM,UAAU;;;;;;CAggBtB,CAAA;AAQD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,WAAW,EAAE,SAAS,CAAA;CACvB;AAGD,wBAAgB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAS5E;AAiDD,wBAAwB,aAAa,CACnC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,SAAS,EAClB,SAAS,SAAoB,GAC5B,cAAc,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CA4C7C;AAED,wBAAsB,cAAc,CAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAQtH;AAED,wBAAgB,iBAAiB,CAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAuCzG;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"socialPane.d.ts","sourceRoot":"","sources":["../../src/social/socialPane.ts"],"names":[],"mappings":"AAUA,OAAO,kBAAkB,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAa,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AA4BlD,eAAO,MAAM,UAAU;;;;;;CAkmBtB,CAAA;AAQD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,WAAW,EAAE,SAAS,CAAA;CACvB;AAGD,wBAAgB,cAAc,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,CAS5E;AAiDD,wBAAwB,aAAa,CACnC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,SAAS,EAClB,SAAS,SAAoB,GAC5B,cAAc,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CA4C7C;AAED,wBAAsB,cAAc,CAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAQtH;AAED,wBAAgB,iBAAiB,CAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,IAAI,CAuCzG;AAED,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
@@ -13,6 +13,7 @@ var _solidUi = require("solid-ui");
13
13
  var _solidLogic = require("solid-logic");
14
14
  var _icons = require("./icons");
15
15
  var _socialSections = require("./socialSections");
16
+ var _triage = require("./triage");
16
17
  /* Social Pane
17
18
  **
18
19
  ** This outline pane provides social network functions
@@ -23,6 +24,15 @@ var _socialSections = require("./socialSections");
23
24
  ** -- todo: use common code to get username and load profile and set 'me'
24
25
  */
25
26
 
27
+ function applyEnvironmentAttributes(element, context) {
28
+ const layout = context.environment?.layout ?? 'desktop';
29
+ const theme = context.environment?.theme ?? 'light';
30
+ const inputMode = context.environment?.inputMode ?? 'pointer';
31
+ element.classList.add('social-pane-host');
32
+ element.dataset.layout = layout;
33
+ element.dataset.theme = theme;
34
+ element.dataset.inputMode = inputMode;
35
+ }
26
36
  const socialPane = exports.socialPane = {
27
37
  icon: _solidUi.icons.originalIconBase + 'foaf/foafTiny.gif',
28
38
  name: 'social',
@@ -70,6 +80,7 @@ const socialPane = exports.socialPane = {
70
80
  const text = function (str) {
71
81
  return dom.createTextNode(str);
72
82
  };
83
+ let refreshRelationshipUi = function () {};
73
84
  const buildCheckboxForm = function (lab, statement, state, options = {}) {
74
85
  const f = dom.createElement('form');
75
86
  const label = dom.createElement('label');
@@ -103,6 +114,7 @@ const socialPane = exports.socialPane = {
103
114
  return;
104
115
  }
105
116
  kb.add(statement.subject, statement.predicate, statement.object, statement.why);
117
+ refreshRelationshipUi();
106
118
  });
107
119
  } catch (e) {
108
120
  _solidUi.log.error('Data write fails:' + e);
@@ -119,6 +131,7 @@ const socialPane = exports.socialPane = {
119
131
  input.checked = true; // Rollback UI
120
132
  } else {
121
133
  kb.removeMany(statement.subject, statement.predicate, statement.object, statement.why);
134
+ refreshRelationshipUi();
122
135
  }
123
136
  });
124
137
  } catch (e) {
@@ -138,7 +151,8 @@ const socialPane = exports.socialPane = {
138
151
  const outliner = context.getOutliner(dom);
139
152
  const kb = context.session.store;
140
153
  const socialPane = dom.createElement('div');
141
- socialPane.classList.add('social-pane', 'flex-column', 'gap-xxs', 'p-lg');
154
+ socialPane.classList.add('social-pane', 'flex-column', 'gap-xxs');
155
+ applyEnvironmentAttributes(socialPane, context);
142
156
  const foaf = _solidUi.ns.foaf;
143
157
  const vcard = _solidUi.ns.vcard;
144
158
  const me = _solidLogic.authn.currentUser();
@@ -232,9 +246,16 @@ const socialPane = exports.socialPane = {
232
246
  } // me is defined
233
247
  // End of you and s
234
248
 
249
+ const shouldShowHeaderAddFriendAction = mode => {
250
+ return mode === 'authenticated' && !thisIsYou && !outgoing;
251
+ };
252
+ const canEditOwnedProfile = viewerMode === 'owner' && editable;
253
+ const canManageRelationship = viewerMode === 'authenticated' && !thisIsYou && editable && Boolean(profile);
254
+ const canModifyFriendsTab = canEditOwnedProfile;
235
255
  let headerControls = {
236
- canEdit: viewerMode === 'owner',
237
- viewerMode
256
+ canEdit: canEditOwnedProfile,
257
+ viewerMode,
258
+ showAddFriendAction: shouldShowHeaderAddFriendAction(viewerMode)
238
259
  };
239
260
  const header = (0, _socialSections.createHeaderSection)(context, s, headerControls, {
240
261
  friendCount: uniqueFriends.length,
@@ -271,8 +292,8 @@ const socialPane = exports.socialPane = {
271
292
  };
272
293
  hydrateFriendDetailsCache(uniqueFriends);
273
294
  const renderSupportingInfo = function (target, renderDom) {
274
- const friend = friendDetailsByUri.get(target.value);
275
- if (!friend) return null;
295
+ const friend = friendDetailsByUri.get(target.value) || toFriendDetails(kb, target);
296
+ friendDetailsByUri.set(target.value, friend);
276
297
  const container = renderDom.createElement('div');
277
298
  const jobAndOrganization = [friend.jobTitle, friend.organization].filter(Boolean).join(' | ');
278
299
  if (jobAndOrganization) {
@@ -289,15 +310,16 @@ const socialPane = exports.socialPane = {
289
310
  return container;
290
311
  };
291
312
  const renderNameSuffix = function (target, renderDom) {
292
- const pronouns = friendDetailsByUri.get(target.value)?.pronouns;
313
+ const friend = friendDetailsByUri.get(target.value) || toFriendDetails(kb, target);
314
+ friendDetailsByUri.set(target.value, friend);
315
+ const pronouns = friend.pronouns;
293
316
  if (!pronouns) return null;
294
317
  const suffix = renderDom.createElement('span');
295
318
  suffix.className = 'social-friend-pronouns';
296
319
  suffix.textContent = `(${pronouns})`;
297
320
  return suffix;
298
321
  };
299
- const sEditable = outliner.UserInput.sparqler.editable(s.uri, kb);
300
- const mutualSection = me && !thisIsYou ? (0, _socialSections.createMutualSection)({
322
+ let mutualSection = me && !thisIsYou ? (0, _socialSections.createMutualSection)({
301
323
  dom,
302
324
  subject: s,
303
325
  familiar,
@@ -305,7 +327,7 @@ const socialPane = exports.socialPane = {
305
327
  meUri,
306
328
  incoming,
307
329
  outgoing,
308
- editable: !!sEditable,
330
+ editable: canManageRelationship,
309
331
  profile,
310
332
  knows,
311
333
  mutualConnections,
@@ -319,13 +341,8 @@ const socialPane = exports.socialPane = {
319
341
  content: dom.createElement('div'),
320
342
  refreshMutualFriends: function () {}
321
343
  };
322
- const mutualFriends = mutualSection.section;
323
- const mutualContent = mutualSection.content;
324
- if (me && !thisIsYou) {
325
- mutualFriends.setAttribute('style', 'display: none');
326
- } else {
327
- mutualFriends.setAttribute('style', 'display: block');
328
- }
344
+ let mutualFriends = mutualSection.section;
345
+ let mutualContent = mutualSection.content;
329
346
  if (!mutualFriends.className) {
330
347
  mutualFriends.className = 'social-pane__mutual-friends social-primary__panel';
331
348
  mutualFriends.id = 'social-panel-mutual';
@@ -338,31 +355,106 @@ const socialPane = exports.socialPane = {
338
355
  const allFriendsSection = (0, _socialSections.createAllFriendsSection)({
339
356
  dom,
340
357
  subject: s,
341
- profile,
342
- editable: !!sEditable,
358
+ profile: canModifyFriendsTab ? profile : null,
359
+ editable: canModifyFriendsTab,
343
360
  renderSupportingInfo,
344
361
  renderNameSuffix
345
362
  });
346
363
  const allFriends = allFriendsSection.section;
347
364
  const friendsList = allFriendsSection.friendsList;
348
365
  primary.appendChild(allFriends);
366
+ let requestsTriage = (0, _triage.triageFriends)(kb, s);
367
+ const requestsSection = (0, _socialSections.createRequestsSection)({
368
+ dom,
369
+ triage: requestsTriage,
370
+ renderSupportingInfo,
371
+ renderNameSuffix
372
+ });
373
+ const requestsPanel = requestsSection.section;
374
+ primary.appendChild(requestsPanel);
375
+ const requestsTab = tabs.appendChild(dom.createElement('button'));
376
+ requestsTab.className = 'social-primary__tab';
377
+ requestsTab.type = 'button';
378
+ requestsTab.id = 'social-tab-requests';
379
+ requestsTab.textContent = 'Requests';
380
+ requestsTab.setAttribute('role', 'tab');
381
+ requestsTab.setAttribute('aria-controls', 'social-panel-requests');
382
+ requestsTab.setAttribute('aria-selected', 'false');
383
+ requestsTab.tabIndex = -1;
384
+ let activePanel = 'all-friends';
385
+ let showRequestsTab = viewerMode === 'owner';
349
386
  const setActivePanel = function (panel) {
387
+ activePanel = panel;
350
388
  const showMutual = panel === 'mutual';
389
+ const showAllFriends = panel === 'all-friends';
390
+ const showRequests = showRequestsTab && panel === 'requests';
351
391
  mutualTab.classList.toggle('social-primary__tab--active', showMutual);
352
392
  mutualTab.setAttribute('aria-selected', String(showMutual));
353
393
  mutualTab.tabIndex = showMutual ? 0 : -1;
354
- allFriendsTab.classList.toggle('social-primary__tab--active', !showMutual);
355
- allFriendsTab.setAttribute('aria-selected', String(!showMutual));
356
- allFriendsTab.tabIndex = showMutual ? -1 : 0;
394
+ allFriendsTab.classList.toggle('social-primary__tab--active', showAllFriends);
395
+ allFriendsTab.setAttribute('aria-selected', String(showAllFriends));
396
+ allFriendsTab.tabIndex = showAllFriends ? 0 : -1;
397
+ requestsTab.classList.toggle('social-primary__tab--active', showRequests);
398
+ requestsTab.setAttribute('aria-selected', String(showRequests));
399
+ requestsTab.tabIndex = showRequests ? 0 : -1;
357
400
  mutualFriends.classList.toggle('social-primary__panel--active', showMutual);
358
401
  mutualFriends.setAttribute('aria-hidden', String(!showMutual));
359
- allFriends.classList.toggle('social-primary__panel--active', !showMutual);
360
- allFriends.setAttribute('aria-hidden', String(showMutual));
402
+ allFriends.classList.toggle('social-primary__panel--active', showAllFriends);
403
+ allFriends.setAttribute('aria-hidden', String(!showAllFriends));
404
+ requestsPanel.classList.toggle('social-primary__panel--active', showRequests);
405
+ requestsPanel.setAttribute('aria-hidden', String(!showRequests));
406
+ requestsPanel.hidden = !showRequestsTab || !showRequests;
407
+ };
408
+ const rebuildMutualSection = function () {
409
+ if (!me || thisIsYou) return;
410
+ const cme = kb.canon(me);
411
+ incoming = kb.whether(s, knows, cme);
412
+ const outgoingStatements = kb.statementsMatching(cme, knows, s);
413
+ outgoing = outgoingStatements.length > 0;
414
+ const nextMutualSection = (0, _socialSections.createMutualSection)({
415
+ dom,
416
+ subject: s,
417
+ familiar,
418
+ me,
419
+ meUri,
420
+ incoming,
421
+ outgoing,
422
+ editable: canManageRelationship,
423
+ profile,
424
+ knows,
425
+ mutualConnections,
426
+ link,
427
+ text,
428
+ buildCheckboxForm,
429
+ renderSupportingInfo,
430
+ renderNameSuffix
431
+ });
432
+ mutualFriends.replaceWith(nextMutualSection.section);
433
+ mutualSection = nextMutualSection;
434
+ mutualFriends = nextMutualSection.section;
435
+ mutualContent = nextMutualSection.content;
436
+ };
437
+ refreshRelationshipUi = function () {
438
+ rebuildMutualSection();
439
+ headerControls = {
440
+ ...headerControls,
441
+ showAddFriendAction: shouldShowHeaderAddFriendAction(headerControls.viewerMode)
442
+ };
443
+ header.refreshSocialHeader?.(headerControls);
444
+ requestsTriage = (0, _triage.triageFriends)(kb, s);
445
+ requestsSection.refreshRequests(requestsTriage);
446
+ setActivePanel(activePanel);
361
447
  };
362
448
  setActivePanel('all-friends');
363
449
  const applyViewerMode = function (mode) {
364
- const showMutualTab = mode === 'authenticated';
450
+ const showMutualTab = mode === 'authenticated' && !thisIsYou;
451
+ showRequestsTab = mode === 'owner';
365
452
  mutualTab.hidden = !showMutualTab;
453
+ requestsTab.hidden = !showRequestsTab;
454
+ if (!showRequestsTab && activePanel === 'requests') {
455
+ setActivePanel('all-friends');
456
+ return;
457
+ }
366
458
  setActivePanel('all-friends');
367
459
  };
368
460
  mutualTab.addEventListener('click', function () {
@@ -371,6 +463,9 @@ const socialPane = exports.socialPane = {
371
463
  allFriendsTab.addEventListener('click', function () {
372
464
  setActivePanel('all-friends');
373
465
  });
466
+ requestsTab.addEventListener('click', function () {
467
+ setActivePanel('requests');
468
+ });
374
469
  const refreshFriendsList = function () {
375
470
  const refresh = friendsList.refresh;
376
471
  if (typeof refresh !== 'function') return;
@@ -393,32 +488,29 @@ const socialPane = exports.socialPane = {
393
488
  // Keep the initial snapshot if async friend loading fails.
394
489
  }
395
490
  })();
491
+ (async () => {
492
+ try {
493
+ requestsTriage = await (0, _triage.loadFriendshipTriage)(context, s);
494
+ requestsSection.refreshRequests(requestsTriage);
495
+ refreshFriendsList();
496
+ refreshMutualFriends();
497
+ } catch {
498
+ // Keep the initial requests snapshot if additional loading fails.
499
+ }
500
+ })();
396
501
 
397
- /* if ($rdf.keepThisCodeForLaterButDisableFerossConstantConditionPolice) {
398
- triageFriends(s)
399
- } */
400
- // //////////////////////////////////// Basic info on left
502
+ // Older triage logic is preserved below as a reusable data helper.
401
503
 
402
- const preds2 = [_solidUi.ns.foaf('openid'), _solidUi.ns.foaf('nick')];
403
- for (let i2 = 0; i2 < preds2.length; i2++) {
404
- const pred = preds2[i2];
405
- const sts2 = kb.statementsMatching(s, pred);
406
- if (sts2.length === 0) {
407
- // if (editable) say("No home page set. Use the blue + icon at the bottom of the main view to add information.")
408
- } else {
409
- outliner.appendPropertyTRs(mutualContent, sts2, false, function (_pred) {
410
- return true;
411
- });
412
- }
413
- }
414
504
  applyViewerMode('anonymous');
415
505
  _solidLogic.authn.checkUser().then(webId => {
416
506
  const confirmedViewerMode = getViewerMode(s, webId);
417
507
  applyViewerMode(confirmedViewerMode);
508
+ const confirmedCanEditOwnedProfile = confirmedViewerMode === 'owner' && editable;
418
509
  headerControls = {
419
510
  ...headerControls,
420
- canEdit: confirmedViewerMode === 'owner',
421
- viewerMode: confirmedViewerMode
511
+ canEdit: confirmedCanEditOwnedProfile,
512
+ viewerMode: confirmedViewerMode,
513
+ showAddFriendAction: shouldShowHeaderAddFriendAction(confirmedViewerMode)
422
514
  };
423
515
  header.refreshSocialHeader?.(headerControls);
424
516
  }).catch(() => {
@@ -426,7 +518,8 @@ const socialPane = exports.socialPane = {
426
518
  headerControls = {
427
519
  ...headerControls,
428
520
  canEdit: false,
429
- viewerMode: 'anonymous'
521
+ viewerMode: 'anonymous',
522
+ showAddFriendAction: false
430
523
  };
431
524
  header.refreshSocialHeader?.(headerControls);
432
525
  });
@@ -1,9 +1,11 @@
1
1
  import { DataBrowserContext } from 'pane-registry';
2
2
  import { Statement, NamedNode } from 'rdflib';
3
+ import { FriendshipTriage } from './triage';
3
4
  export type ViewerMode = 'owner' | 'authenticated' | 'anonymous';
4
5
  export type HeaderControls = {
5
6
  canEdit: boolean;
6
7
  viewerMode: ViewerMode;
8
+ showAddFriendAction?: boolean;
7
9
  };
8
10
  export type SocialHeaderElement = HTMLElement & {
9
11
  refreshSocialHeader?: (controls: HeaderControls) => void;
@@ -63,4 +65,13 @@ export declare function createAllFriendsSection(options: {
63
65
  mainTable: HTMLTableElement;
64
66
  friendsList: HTMLElement;
65
67
  };
68
+ export declare function createRequestsSection(options: {
69
+ dom: HTMLDocument;
70
+ triage: FriendshipTriage;
71
+ renderSupportingInfo: (target: NamedNode, renderDom: HTMLDocument) => HTMLElement | null;
72
+ renderNameSuffix: (target: NamedNode, renderDom: HTMLDocument) => HTMLElement | null;
73
+ }): {
74
+ section: HTMLElement;
75
+ refreshRequests: (triage: FriendshipTriage) => void;
76
+ };
66
77
  //# sourceMappingURL=socialSections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socialSections.d.ts","sourceRoot":"","sources":["../../src/social/socialSections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socialSections.d.ts","sourceRoot":"","sources":["../../src/social/socialSections.ts"],"names":[],"mappings":"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"}