solid-panes 4.2.5-test.2 → 4.2.5-test.4

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.
package/README.md CHANGED
@@ -78,11 +78,3 @@ contacts (A VCARD Address Book, Group, Individual, Organization) can be handled
78
78
  pane. Any other pane which wants to deal with contacts can just use the pane within its own user interface.
79
79
 
80
80
  ![Mapping many classes on the L to panes on the R](https://solidos.github.io/solid-panes/doc/images/panes-for-classes.svg)
81
-
82
-
83
- ## Generative AI usage
84
- The SolidOS team is using GitHub Copilot integrated in Visual Studio Code.
85
- We have added comments in the code to make it explicit which parts are 100% written by AI.
86
-
87
- ### Prompt usage hitory:
88
- * Model Claude Opus 4.6: Initially solid-panes is loaded into a HTML shell form mashlib that looks like ... Also, an iFrame is rendered inside the <div class="TabulatorOutline" id="DummyUUID"> for “isolated pane rendering”. Analize the solid-panes code for what it uses from this HTML and suggest a new HTML structure which is mobile and accessibility friendly. Lets go ahead and make chnages in this code as suggested to accommodate the new databwroser HTML.
@@ -1 +1 @@
1
- {"version":3,"file":"basicPreferences.d.ts","sourceRoot":"","sources":["../../src/dashboard/basicPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAM9C,eAAO,MAAM,oBAAoB,EAAE,cA8ElC,CAAA;AAoBD,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"basicPreferences.d.ts","sourceRoot":"","sources":["../../src/dashboard/basicPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAM9C,eAAO,MAAM,oBAAoB,EAAE,cA6ElC,CAAA;AAoBD,eAAe,oBAAoB,CAAA"}
@@ -20,7 +20,6 @@ const basicPreferencesPane = exports.basicPreferencesPane = {
20
20
  // The subject should be the logged in user.
21
21
  render: (subject, context) => {
22
22
  const dom = context.dom;
23
- // @ts-ignore
24
23
  const store = context.session.store;
25
24
  function complainIfBad(ok, mess) {
26
25
  if (ok) return;
@@ -1 +1 @@
1
- {"version":3,"file":"internalPane.d.ts","sourceRoot":"","sources":["../../src/internal/internalPane.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,QAAA,MAAM,IAAI,EAAE,cAyOX,CAAA;AAiBD,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"internalPane.d.ts","sourceRoot":"","sources":["../../src/internal/internalPane.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,QAAA,MAAM,IAAI,EAAE,cAwOX,CAAA;AAiBD,eAAe,IAAI,CAAA"}
@@ -21,7 +21,6 @@ const pane = {
21
21
  },
22
22
  render: function (subject, context) {
23
23
  const dom = context.dom;
24
- // @ts-ignore
25
24
  const store = context.session.store;
26
25
  const canonizedSubject = store.canon(subject);
27
26
  const types = store.findTypeURIs(canonizedSubject);
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/outline/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,wBAAgB,aAAa,CAC3B,GAAG,EAAE,YAAY,EACjB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,GAChB,kBAAkB,CAYpB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/outline/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,wBAAgB,aAAa,CAC3B,GAAG,EAAE,YAAY,EACjB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,UAAU,GAChB,kBAAkB,CAUpB"}
@@ -11,9 +11,7 @@ function createContext(dom, paneRegistry, store, logic) {
11
11
  getOutliner: _index.getOutliner,
12
12
  session: {
13
13
  paneRegistry,
14
- // @ts-ignore
15
14
  store,
16
- // @ts-ignore
17
15
  logic
18
16
  }
19
17
  };
@@ -400,10 +400,10 @@ function _default(context) {
400
400
  async function showDashboard(options = {}) {
401
401
  const dashboardContainer = getDashboardContainer();
402
402
  const outlineContainer = getOutlineContainer();
403
- // reuse dashboard if children already inserted
403
+ // reuse dashboard if already children already is inserted
404
404
  if (dashboardContainer.childNodes.length > 0 && options.pane) {
405
- outlineContainer.setAttribute('hidden', '');
406
- dashboardContainer.removeAttribute('hidden');
405
+ outlineContainer.style.display = 'none';
406
+ dashboardContainer.style.display = 'inherit';
407
407
  const tab = dashboardContainer.querySelector(`[data-global-pane-name="${options.pane}"]`);
408
408
  if (tab) {
409
409
  tab.click();
@@ -422,40 +422,37 @@ function _default(context) {
422
422
  _solidLogic.authSession.events.on('logout', closeDashboard);
423
423
 
424
424
  // finally - switch to showing dashboard
425
- outlineContainer.setAttribute('hidden', '');
426
- dashboardContainer.removeAttribute('hidden');
425
+ outlineContainer.style.display = 'none';
427
426
  dashboardContainer.appendChild(dashboard);
428
427
  const tab = dashboardContainer.querySelector(`[data-global-pane-name="${options.pane}"]`);
429
428
  if (tab) {
430
429
  tab.click();
431
430
  }
432
431
  function closeDashboard() {
433
- dashboardContainer.setAttribute('hidden', '');
434
- outlineContainer.removeAttribute('hidden');
432
+ dashboardContainer.style.display = 'none';
433
+ outlineContainer.style.display = 'inherit';
435
434
  }
436
435
  }
437
436
  this.showDashboard = showDashboard;
438
437
  function getDashboardContainer() {
439
- return getOrCreateContainer('GlobalDashboard', 'Dashboard');
438
+ return getOrCreateContainer('GlobalDashboard');
440
439
  }
441
440
  function getOutlineContainer() {
442
- return getOrCreateContainer('OutlineView', 'Resource browser');
441
+ return getOrCreateContainer('outline');
443
442
  }
444
443
 
445
444
  /**
446
- * Get element with id or create a new section on the fly with that id
445
+ * Get element with id or create a new on the fly with that id
447
446
  *
448
447
  * @param {string} id The ID of the element you want to get or create
449
- * @param {string} [ariaLabel] Optional aria-label for accessibility
450
448
  * @returns {HTMLElement}
451
449
  */
452
- function getOrCreateContainer(id, ariaLabel) {
450
+ function getOrCreateContainer(id) {
453
451
  return document.getElementById(id) || (() => {
454
- const container = document.createElement('section');
455
- container.id = id;
456
- if (ariaLabel) container.setAttribute('aria-label', ariaLabel);
452
+ const dashboardContainer = document.createElement('div');
453
+ dashboardContainer.id = id;
457
454
  const mainContainer = document.querySelector('[role="main"]') || document.body;
458
- return mainContainer.appendChild(container);
455
+ return mainContainer.appendChild(dashboardContainer);
459
456
  })();
460
457
  }
461
458
  async function loadContainerRepresentation(subject) {
@@ -499,9 +496,7 @@ function _default(context) {
499
496
  const paneShownStyle = 'width: 24px; border-radius: 0.5em; border-top: solid #222 1px; border-left: solid #222 0.1em; border-bottom: solid #eee 0.1em; border-right: solid #eee 0.1em; margin-left: 1em; padding: 3px; background-color: #ffd;';
500
497
  const paneHiddenStyle = 'width: 24px; border-radius: 0.5em; margin-left: 1em; padding: 3px';
501
498
  const paneIconTray = td.appendChild(dom.createElement('nav'));
502
- paneIconTray.setAttribute('role', 'toolbar');
503
- paneIconTray.setAttribute('aria-label', 'Pane views');
504
- paneIconTray.classList.add('paneIconTray');
499
+ paneIconTray.style = 'display:flex; justify-content: flex-start; align-items: center;';
505
500
  const relevantPanes = options.hideList ? [] : await getRelevantPanes(subject, context);
506
501
  tr.firstPane = requiredPane || getPane(relevantPanes, subject);
507
502
  const paneNumber = relevantPanes.indexOf(tr.firstPane);
@@ -1309,7 +1304,7 @@ function _default(context) {
1309
1304
  outline.GotoSubject(object, true);
1310
1305
  /* //deal with this later
1311
1306
  deselectAll();
1312
- var newTr=dom.getElementById('OutlineView').lastChild;
1307
+ var newTr=dom.getElementById('outline').lastChild;
1313
1308
  setSelected(newTr.firstChild.firstChild.childNodes[1].lastChild,true);
1314
1309
  function setSelectedAfterward(uri){
1315
1310
  deselectAll();
@@ -1883,7 +1878,7 @@ function _default(context) {
1883
1878
  @param table -- option -- a table element in which to put the outline.
1884
1879
  */
1885
1880
  this.GotoSubject = function (subject, expand, pane, solo, referrer, table) {
1886
- table = table || dom.getElementById('OutlineView'); // if does not exist just add one? nowhere to out it
1881
+ table = table || dom.getElementById('outline'); // if does not exist just add one? nowhere to out it
1887
1882
  if (solo) {
1888
1883
  UI.utils.emptyNode(table);
1889
1884
  table.style.width = '100%';
@@ -1069,12 +1069,9 @@ function UserInput(outline) {
1069
1069
  }
1070
1070
  }, false);
1071
1071
  window.addEventListener('mousedown', UserInput.Mousedown, false);
1072
- const outlineView = document.getElementById('OutlineView');
1073
- if (outlineView) {
1074
- outlineView.oncontextmenu = function () {
1075
- return false;
1076
- };
1077
- }
1072
+ document.getElementById('outline').oncontextmenu = function () {
1073
+ return false;
1074
+ };
1078
1075
  if (e.button === 2) {
1079
1076
  // right click
1080
1077
  UserInput.switchMode();
@@ -1 +1 @@
1
- {"version":3,"file":"padPane.d.ts","sourceRoot":"","sources":["../../src/pad/padPane.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAK9C,QAAA,MAAM,OAAO,EAAE,cAsiBd,CAAA;AAGD,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"padPane.d.ts","sourceRoot":"","sources":["../../src/pad/padPane.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAK9C,QAAA,MAAM,OAAO,EAAE,cAmiBd,CAAA;AAGD,eAAe,OAAO,CAAA"}
@@ -18,7 +18,6 @@ const paneDef = {
18
18
  audience: [_solidUi.ns.solid('PowerUser')],
19
19
  // Does the subject deserve an pad pane?
20
20
  label: function (subject, context) {
21
- // @ts-ignore
22
21
  const t = context.session.store.findTypeURIs(subject);
23
22
  if (t['http://www.w3.org/ns/pim/pad#Notepad']) {
24
23
  return 'pad';
@@ -27,7 +26,6 @@ const paneDef = {
27
26
  },
28
27
  mintClass: _solidUi.ns.pad('Notepad'),
29
28
  mintNew: function (context, newPaneOptions) {
30
- // @ts-ignore
31
29
  const store = context.session.store;
32
30
  const updater = store.updater;
33
31
  if (newPaneOptions.me && !newPaneOptions.me.uri) {
@@ -67,7 +65,6 @@ const paneDef = {
67
65
  // @@ TODO Set better type for paneOptions
68
66
  render: function (subject, context, paneOptions) {
69
67
  const dom = context.dom;
70
- // @ts-ignore
71
68
  const store = context.session.store;
72
69
  // Utility functions
73
70
  const complainIfBad = function (ok, message) {