solid-ui 2.4.22-d939d9d0 → 2.4.22-e594bdfb

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.
@@ -112,8 +112,7 @@ function updatePromise(del, ins) {
112
112
  }); // callback
113
113
 
114
114
  }); // promise
115
- } // export findBookmarkDocument,
116
-
115
+ }
117
116
  /* Bookmarking
118
117
  */
119
118
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/chat/bookmarks.js"],"names":["UI","icons","ns","media","pad","rdf","style","utils","widgets","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","createIfNotExists","doc","Promise","resolve","reject","store","fetcher","load","then","response","debug","log","err","status","webOperation","uri","data","contentType","requested","updatePromise","del","ins","updater","update","ok","errorBody","Error","findBookmarkDocument","userContext","theClass","fileTail","isPublic","instances","length","bookmarkDocument","alert","publicProfile","newBookmarkFile","sym","dir","error","addBookmark","context","target","title","me","authn","currentUser","author","any","foaf","anyValue","sioc","slice","bookmarkDoc","bookmark","newThing","st","dct","Date","msg","toggleBookmark","bookmarkButton","bookmarks","each","confirm","i","connectedStatements","backgroundColor","renderBookmarksButton","setBookmarkButtonColor","bookmarked","buttonStyle","button","iconBase"],"mappings":"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","sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\n/* global alert confirm */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n/** Create a resource if it really does not exist\n * Be absolutely sure something does not exist before creating a new empty file\n * as otherwise existing could be deleted.\n * @param doc {NamedNode} - The resource\n */\nfunction createIfNotExists (doc) {\n return new Promise(function (resolve, reject) {\n store.fetcher.load(doc).then(\n response => {\n debug.log('createIfNotExists doc exists, all good ' + doc)\n // store.fetcher.webOperation('HEAD', doc.uri).then(response => {\n resolve(response)\n },\n err => {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists doc does NOT exist, will create... ' + doc\n )\n\n store.fetcher\n .webOperation('PUT', doc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(\n response => {\n // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n debug.log('createIfNotExists doc created ok ' + doc)\n resolve(response)\n },\n err => {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n reject(err)\n }\n )\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n reject(err)\n }\n }\n )\n })\n}\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n// export findBookmarkDocument,\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n alert('More than one bookmark file! ' + userContext.instances)\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await createIfNotExists(newBookmarkFile)\n } catch (e) {\n alert.error(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n userContext,\n newBookmarkFile,\n theClass,\n true\n ) // public\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n alert('You seem to have no bookmark file and not even a profile file.')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n alert.error(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n alert('Cant delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"file":"bookmarks.js"}
1
+ {"version":3,"sources":["../../src/chat/bookmarks.js"],"names":["UI","icons","ns","media","pad","rdf","style","utils","widgets","$rdf","BOOK","Namespace","BOOKMARK_ICON","label","dom","window","document","createIfNotExists","doc","Promise","resolve","reject","store","fetcher","load","then","response","debug","log","err","status","webOperation","uri","data","contentType","requested","updatePromise","del","ins","updater","update","ok","errorBody","Error","findBookmarkDocument","userContext","theClass","fileTail","isPublic","instances","length","bookmarkDocument","alert","publicProfile","newBookmarkFile","sym","dir","error","addBookmark","context","target","title","me","authn","currentUser","author","any","foaf","anyValue","sioc","slice","bookmarkDoc","bookmark","newThing","st","dct","Date","msg","toggleBookmark","bookmarkButton","bookmarks","each","confirm","i","connectedStatements","backgroundColor","renderBookmarksButton","setBookmarkButtonColor","bookmarked","buttonStyle","button","iconBase"],"mappings":"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","sourcesContent":["/**\n * Functions related to chat and bookmarks\n * @packageDocumentation\n */\n\n/* global alert confirm */\nimport * as debug from '../debug'\nimport { icons } from '../iconBase'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as pad from '../pad'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { store, registerInTypeIndex, authn } from 'solid-logic'\nimport { findAppInstances } from '../login/login'\n\nconst UI = { icons, ns, media, pad, rdf, style, utils, widgets }\nconst $rdf = UI.rdf\n\nconst BOOK = $rdf.Namespace('http://www.w3.org/2002/01/bookmark#')\nconst BOOKMARK_ICON = 'noun_45961.svg'\n\nconst label = utils.label\nconst dom = window.document || null\n\n/** Create a resource if it really does not exist\n * Be absolutely sure something does not exist before creating a new empty file\n * as otherwise existing could be deleted.\n * @param doc {NamedNode} - The resource\n */\nfunction createIfNotExists (doc) {\n return new Promise(function (resolve, reject) {\n store.fetcher.load(doc).then(\n response => {\n debug.log('createIfNotExists doc exists, all good ' + doc)\n // store.fetcher.webOperation('HEAD', doc.uri).then(response => {\n resolve(response)\n },\n err => {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists doc does NOT exist, will create... ' + doc\n )\n\n store.fetcher\n .webOperation('PUT', doc.uri, {\n data: '',\n contentType: 'text/turtle'\n })\n .then(\n response => {\n // fetcher.requested[doc.uri] = 'done' // do not need to read ?? but no headers\n delete store.fetcher.requested[doc.uri] // delete cached 404 error\n debug.log('createIfNotExists doc created ok ' + doc)\n resolve(response)\n },\n err => {\n debug.log('createIfNotExists doc FAILED: ' + doc + ': ' + err)\n reject(err)\n }\n )\n } else {\n debug.log(\n 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err\n )\n reject(err)\n }\n }\n )\n })\n}\n\n// @@@@ use the one in rdflib.js when it is avaiable and delete this\nfunction updatePromise (del, ins) {\n return new Promise(function (resolve, reject) {\n store.updater.update(del, ins, function (uri, ok, errorBody) {\n if (!ok) {\n reject(new Error(errorBody))\n } else {\n resolve()\n }\n }) // callback\n }) // promise\n}\n\n/* Bookmarking\n */\n/** Find a user's bookmarks\n */\nexport async function findBookmarkDocument (userContext) {\n const theClass = BOOK('Bookmark')\n const fileTail = 'bookmarks.ttl'\n const isPublic = true\n\n await findAppInstances(userContext, theClass, isPublic) // public -- only look for public links\n\n if (userContext.instances && userContext.instances.length > 0) {\n userContext.bookmarkDocument = userContext.instances[0]\n if (userContext.instances.length > 1) {\n alert('More than one bookmark file! ' + userContext.instances)\n }\n } else {\n if (userContext.publicProfile) {\n // publicProfile or preferencesFile\n const newBookmarkFile = $rdf.sym(\n userContext.publicProfile.dir().uri + fileTail\n )\n try {\n debug.log('Creating new bookmark file ' + newBookmarkFile)\n await createIfNotExists(newBookmarkFile)\n } catch (e) {\n alert.error(\"Can't make fresh bookmark file:\" + e)\n return userContext\n }\n await registerInTypeIndex(\n userContext,\n newBookmarkFile,\n theClass,\n true\n ) // public\n userContext.bookmarkDocument = newBookmarkFile\n } else {\n alert('You seem to have no bookmark file and not even a profile file.')\n }\n }\n return userContext\n}\n\n/** Add a bookmark\n */\n\nasync function addBookmark (context, target) {\n /* like\n @prefix terms: <http://purl.org/dc/terms/>.\n @prefix bookm: <http://www.w3.org/2002/01/bookmark#>.\n @prefix n0: <http://xmlns.com/foaf/0.1/>.\n <> terms:references <#0.5534145389246576>.\n <#0.5534145389246576>\n a bookm:Bookmark;\n terms:created \"2019-01-26T20:26:44.374Z\"^^XML:dateTime;\n terms:title \"Herons\";\n bookm:recalls wiki:Heron;\n n0:maker c:me.\n */\n let title = ''\n const me = authn.currentUser() // If already logged on\n if (!me) throw new Error('Must be logged on to add Bookmark')\n\n const author = store.any(target, ns.foaf('maker'))\n title =\n label(author) + ': ' + store.anyValue(target, ns.sioc('content')).slice(0, 80) // @@ add chat title too?\n const bookmarkDoc = context.bookmarkDocument\n const bookmark = UI.widgets.newThing(bookmarkDoc, title)\n const ins = [\n $rdf.st(bookmarkDoc, UI.ns.dct('references'), bookmark, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.rdf('type'), BOOK('Bookmark'), bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('created'), new Date(), bookmarkDoc),\n $rdf.st(bookmark, BOOK('recalls'), target, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.foaf('maker'), me, bookmarkDoc),\n $rdf.st(bookmark, UI.ns.dct('title'), title, bookmarkDoc)\n ]\n try {\n await updatePromise([], ins) // 20190118A\n } catch (e) {\n const msg = 'Making bookmark: ' + e\n alert.error(msg)\n return null\n }\n return bookmark\n}\n\nexport async function toggleBookmark (userContext, target, bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarks = store.each(\n null,\n BOOK('recalls'),\n target,\n userContext.bookmarkDocument\n )\n if (bookmarks.length) {\n // delete\n if (!confirm('Delete bookmark on this?' + bookmarks.length)) return\n for (let i = 0; i < bookmarks.length; i++) {\n try {\n await updatePromise(store.connectedStatements(bookmarks[i]), [])\n bookmarkButton.style.backgroundColor = 'white'\n debug.log('Bookmark deleted: ' + bookmarks[i])\n } catch (e) {\n debug.error('Cant delete bookmark:' + e)\n alert('Cant delete bookmark:' + e)\n }\n }\n } else {\n const bookmark = await addBookmark(userContext, target)\n bookmarkButton.style.backgroundColor = 'yellow'\n debug.log('Bookmark added: ' + bookmark)\n }\n}\n\nexport async function renderBookmarksButton (userContext, target) {\n async function setBookmarkButtonColor (bookmarkButton) {\n await store.fetcher.load(userContext.bookmarkDocument)\n const bookmarked = store.any(\n null,\n BOOK('recalls'),\n bookmarkButton.target,\n userContext.bookmarkDocument\n )\n bookmarkButton.style = UI.style.buttonStyle\n if (bookmarked) bookmarkButton.style.backgroundColor = 'yellow'\n }\n\n let bookmarkButton\n if (userContext.bookmarkDocument) {\n bookmarkButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + BOOKMARK_ICON,\n label(BOOK('Bookmark')),\n () => {\n toggleBookmark(userContext, target, bookmarkButton)\n }\n )\n bookmarkButton.target = target\n await setBookmarkButtonColor(bookmarkButton)\n return bookmarkButton\n }\n}\n"],"file":"bookmarks.js"}
package/lib/iconBase.js CHANGED
@@ -23,8 +23,9 @@ var _debug = require("./debug");
23
23
  */
24
24
 
25
25
  /* eslint-disable multiline-ternary */
26
- // Do not export. lways us this module to find the icons, as it varies
27
- var iconsOnGithub = 'https://solidos.github.io/solid-ui/src';
26
+ // Do not export. Always us this module to find the icons, as they vary
27
+ var iconsOnGithub = 'https://solidos.github.io/solid-ui/src'; // changed org 2022-05
28
+
28
29
  var icons = module.scriptURI // Firefox extension
29
30
  ? {
30
31
  iconBase: module.scriptURI.slice(0, module.scriptURI.lastIndexOf('/')) + '/icons/',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/iconBase.ts"],"names":["iconsOnGithub","icons","module","scriptURI","iconBase","slice","lastIndexOf","originalIconBase","$SolidTestEnvironment"],"mappings":";;;;;;;AAgBA;;AAhBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAMA;AACA,IAAMA,aAAa,GAAG,wCAAtB;AAEO,IAAMC,KAAK,GAAIC,MAAD,CAAgBC,SAAhB,CAA0B;AAA1B,EACjB;AACEC,EAAAA,QAAQ,EACLF,MAAD,CAAgBC,SAAhB,CAA0BE,KAA1B,CAAgC,CAAhC,EAAoCH,MAAD,CAAgBC,SAAhB,CAA0BG,WAA1B,CAAsC,GAAtC,CAAnC,IAAiF,SAFrF;AAGEC,EAAAA,gBAAgB,EACbL,MAAD,CAAgBC,SAAhB,CAA0BE,KAA1B,CAAgC,CAAhC,EAAoCH,MAAD,CAAgBC,SAAhB,CAA0BG,WAA1B,CAAsC,GAAtC,CAAnC,IACA;AALJ,CADiB,GAQjB,OAAOE,qBAAP,KAAiC,WAAjC,IAAgDA,qBAAqB,CAACJ,QAAtE,CAA+E;AAA/E,EACE;AACEA,EAAAA,QAAQ,EAAEI,qBAAqB,CAACJ,QADlC;AAEEG,EAAAA,gBAAgB,EAAEC,qBAAqB,CAACD;AAF1C,CADF,GAKE;AACA;AACEH,EAAAA,QAAQ,EAAEJ,aAAa,GAAG,SAF5B;AAGEO,EAAAA,gBAAgB,EAAEP,aAAa,GAAG;AAHpC,CAbC;;AAmBP,gBAAI,mCAAmCC,KAAK,CAACG,QAA7C,E,CAEA;;AACO,IAAMA,QAAQ,GAAGH,KAAK,CAACG,QAAvB;;AACA,IAAMG,gBAAgB,GAAGN,KAAK,CAACM,gBAA/B","sourcesContent":["// Works in FF extension - what about browserify??\n// 2021-04-08 Convert to TS\n\n/* The Firefox case is left for historical record, as we don't currenly\n * have a FF extension for mashlib, but we could. This is sthepoint to\n * hack the place it can find its icons internally\n *\n * The $SolidTestEnvironment is important and is used for\n * example when testing on localhost to specify a place the icons be found\n * in your test set up.\n *\n * You can also use it if you want to just run a mashlib whhich takes its\n * icons seved by other than github.\n */\n/* eslint-disable multiline-ternary */\n\nimport { log } from './debug'\n\ndeclare let $SolidTestEnvironment\n\n// Do not export. lways us this module to find the icons, as it varies\nconst iconsOnGithub = 'https://solidos.github.io/solid-ui/src'\n\nexport const icons = (module as any).scriptURI // Firefox extension\n ? {\n iconBase:\n (module as any).scriptURI.slice(0, (module as any).scriptURI.lastIndexOf('/')) + '/icons/',\n originalIconBase:\n (module as any).scriptURI.slice(0, (module as any).scriptURI.lastIndexOf('/')) +\n '/originalIcons/'\n }\n : typeof $SolidTestEnvironment !== 'undefined' && $SolidTestEnvironment.iconBase // Test environemnt\n ? {\n iconBase: $SolidTestEnvironment.iconBase,\n originalIconBase: $SolidTestEnvironment.originalIconBase\n }\n : {\n // Normal case:\n iconBase: iconsOnGithub + '/icons/',\n originalIconBase: iconsOnGithub + '/originalIcons/'\n }\n\nlog(' icons.iconBase is set to : ' + icons.iconBase)\n\n// allow tests etc named-import this directly from this module\nexport const iconBase = icons.iconBase\nexport const originalIconBase = icons.originalIconBase\n"],"file":"iconBase.js"}
1
+ {"version":3,"sources":["../src/iconBase.ts"],"names":["iconsOnGithub","icons","module","scriptURI","iconBase","slice","lastIndexOf","originalIconBase","$SolidTestEnvironment"],"mappings":";;;;;;;AAgBA;;AAhBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAMA;AACA,IAAMA,aAAa,GAAG,wCAAtB,C,CAA+D;;AAExD,IAAMC,KAAK,GAAIC,MAAD,CAAgBC,SAAhB,CAA0B;AAA1B,EACjB;AACEC,EAAAA,QAAQ,EACLF,MAAD,CAAgBC,SAAhB,CAA0BE,KAA1B,CAAgC,CAAhC,EAAoCH,MAAD,CAAgBC,SAAhB,CAA0BG,WAA1B,CAAsC,GAAtC,CAAnC,IAAiF,SAFrF;AAGEC,EAAAA,gBAAgB,EACbL,MAAD,CAAgBC,SAAhB,CAA0BE,KAA1B,CAAgC,CAAhC,EAAoCH,MAAD,CAAgBC,SAAhB,CAA0BG,WAA1B,CAAsC,GAAtC,CAAnC,IACA;AALJ,CADiB,GAQjB,OAAOE,qBAAP,KAAiC,WAAjC,IAAgDA,qBAAqB,CAACJ,QAAtE,CAA+E;AAA/E,EACE;AACEA,EAAAA,QAAQ,EAAEI,qBAAqB,CAACJ,QADlC;AAEEG,EAAAA,gBAAgB,EAAEC,qBAAqB,CAACD;AAF1C,CADF,GAKE;AACA;AACEH,EAAAA,QAAQ,EAAEJ,aAAa,GAAG,SAF5B;AAGEO,EAAAA,gBAAgB,EAAEP,aAAa,GAAG;AAHpC,CAbC;;AAmBP,gBAAI,mCAAmCC,KAAK,CAACG,QAA7C,E,CAEA;;AACO,IAAMA,QAAQ,GAAGH,KAAK,CAACG,QAAvB;;AACA,IAAMG,gBAAgB,GAAGN,KAAK,CAACM,gBAA/B","sourcesContent":["// Works in FF extension - what about browserify??\n// 2021-04-08 Convert to TS\n\n/* The Firefox case is left for historical record, as we don't currenly\n * have a FF extension for mashlib, but we could. This is sthepoint to\n * hack the place it can find its icons internally\n *\n * The $SolidTestEnvironment is important and is used for\n * example when testing on localhost to specify a place the icons be found\n * in your test set up.\n *\n * You can also use it if you want to just run a mashlib whhich takes its\n * icons seved by other than github.\n */\n/* eslint-disable multiline-ternary */\n\nimport { log } from './debug'\n\ndeclare let $SolidTestEnvironment\n\n// Do not export. Always us this module to find the icons, as they vary\nconst iconsOnGithub = 'https://solidos.github.io/solid-ui/src' // changed org 2022-05\n\nexport const icons = (module as any).scriptURI // Firefox extension\n ? {\n iconBase:\n (module as any).scriptURI.slice(0, (module as any).scriptURI.lastIndexOf('/')) + '/icons/',\n originalIconBase:\n (module as any).scriptURI.slice(0, (module as any).scriptURI.lastIndexOf('/')) +\n '/originalIcons/'\n }\n : typeof $SolidTestEnvironment !== 'undefined' && $SolidTestEnvironment.iconBase // Test environemnt\n ? {\n iconBase: $SolidTestEnvironment.iconBase,\n originalIconBase: $SolidTestEnvironment.originalIconBase\n }\n : {\n // Normal case:\n iconBase: iconsOnGithub + '/icons/',\n originalIconBase: iconsOnGithub + '/originalIcons/'\n }\n\nlog(' icons.iconBase is set to : ' + icons.iconBase)\n\n// allow tests etc named-import this directly from this module\nexport const iconBase = icons.iconBase\nexport const originalIconBase = icons.originalIconBase\n"],"file":"iconBase.js"}
@@ -49,20 +49,24 @@ export declare function ensureLoadedPreferences(context: AuthenticationContext):
49
49
  */
50
50
  export declare function ensureLoadedProfile(context: AuthenticationContext): Promise<AuthenticationContext>;
51
51
  /**
52
- * Returns promise of context with arrays of symbols
53
- *
54
- * 2016-12-11 change to include forClass arc a la
55
- * https://github.com/solid/solid/blob/main/proposals/data-discovery.md
52
+ * Returns promise of context with arrays of symbols
53
+ *
54
+ * leaving the `isPublic` param undefined will bring in community index things, too
55
+ */
56
+ /**
57
+ * @deprecated Since version 2.4.17 Will be deleted in version 3.0. Use solid-logic getAppInstances instead.
56
58
  */
57
59
  export declare function findAppInstances(context: AuthenticationContext, theClass: NamedNode, isPublic?: boolean): Promise<AuthenticationContext>;
60
+ export declare function scopeLabel(context: any, scope: any): string;
58
61
  /**
59
62
  * UI to control registration of instance
60
63
  */
61
64
  export declare function registrationControl(context: AuthenticationContext, instance: any, theClass: any): Promise<AuthenticationContext | void>;
65
+ export declare function renderScopeHeadingRow(context: any, store: any, scope: any): any;
62
66
  /**
63
- * UI to List at all registered things
64
- */
65
- export declare function registrationList(context0: AuthenticationContext, options: {
67
+ * UI to List at all registered things
68
+ */
69
+ export declare function registrationList(context: AuthenticationContext, options: {
66
70
  private?: boolean;
67
71
  public?: boolean;
68
72
  type?: NamedNode;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/login/login.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAa,SAAS,EAAiB,MAAM,QAAQ,CAAA;AAG5D,OAAO,EACL,UAAU,EACV,qBAAqB,EAatB,MAAM,aAAa,CAAA;AASpB;;;;GAIG;AAEH,wBAAgB,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwB9F;AAED;;;;;;;GAOG;AAEH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiEhC;AAED;;;;;;GAMG;AAEH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAqEhC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,KAAA,EACR,QAAQ,KAAA,GACP,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAuFvC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACA,OAAO,CAAC,qBAAqB,CAAC,CA0FhC;AAsGD,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,YAAY,QA0InD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,QAAQ,GAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAW,EACtD,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,WAAW,CAmFb;AAsBD;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAC9D,WAAW,CA0Pb;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAC5D,WAAW,CAmBb;AACD;;;GAGG;AACH,wBAAsB,YAAY,IAAK,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAgB/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAGhC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/login/login.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAa,SAAS,EAAM,MAAM,QAAQ,CAAA;AAGjD,OAAO,EACL,UAAU,EAAE,qBAAqB,EAKlC,MAAM,aAAa,CAAA;AAWpB;;;;GAIG;AAEH,wBAAgB,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwB9F;AAED;;;;;;;GAOG;AAEH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiEhC;AAED;;;;;;GAMG;AAEH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED;;;;IAII;AACJ;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAUhC;AAED,wBAAgB,UAAU,CAAE,OAAO,KAAA,EAAE,KAAK,KAAA,UAIzC;AACD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,KAAA,EACR,QAAQ,KAAA,GACP,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAgEvC;AAED,wBAAgB,qBAAqB,CAAE,OAAO,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA,OAY3D;AACD;;IAEI;AACJ,wBAAsB,gBAAgB,CAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuCjC;AAsGD,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,YAAY,QA0InD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,QAAQ,GAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,IAAW,EACtD,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,WAAW,CAmFb;AAsBD;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAC9D,WAAW,CA0Pb;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAC5D,WAAW,CAmBb;AACD;;;GAGG;AACH,wBAAsB,YAAY,IAAK,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAgB/D;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAC3B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAGhC"}