solid-ui 2.4.22-e594bdfb → 2.4.22-e64d9de1
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/dist/main.js +8815 -9544
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +0 -1
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.js.map +1 -1
- package/lib/acl/types.js.map +1 -1
- package/lib/chat/bookmarks.js +1 -2
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js.map +1 -1
- package/lib/create/types.js.map +1 -1
- package/lib/debug.js.map +1 -1
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.js.map +1 -1
- package/lib/icons/solid_logo.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/jss/index.js.map +1 -1
- package/lib/log.js.map +1 -1
- package/lib/login/login.d.ts +0 -3
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +55 -51
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.js.map +1 -1
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js.map +1 -1
- package/lib/pad.js.map +1 -1
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js.map +1 -1
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +21 -18
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.d.ts +9 -9
- package/lib/versionInfo.js +14 -14
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +93 -4
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +5 -3
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["dom","window","document","UI","authn","store","ns","rdf","acl","aclControl","create","createTypes","icons","language","log","login","matrix","media","messageArea","infiniteMessageArea","pad","participation","preferences","style","table","tabs","utils","widgets","versionInfo","initHeader","initFooter"],"sources":["../src/index.ts"],"sourcesContent":["/*\nThe MIT License (MIT)\n\nCopyright (c) 2015-2016 Solid\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\nIf you would like to know more about the solid Solid project, please see\nhttps://github.com/solidos/solid\n*/\n'use strict'\n/**\n * Provides a Solid client helper object (which exposes various static modules).\n * @module solidUi.js\n * @main solidUi.js\n */\n\n/**\n * @class SolidUi\n * @static\n */\n\n// REMOVE @ts-ignore as you migrate files to TypeScript\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n// @ts-ignore\nimport * as ns from './ns'\nimport { acl, aclControl } from './acl/index'\nimport { create } from './create/index'\n// @ts-ignore\nimport { icons } from './iconBase'\nimport * as language from './widgets/forms/autocomplete/language'\nimport * as log from './log'\nimport { matrix } from './matrix/index'\nimport { media } from './media/index'\n// @ts-ignore\nimport { messageArea } from './messageArea'\n// @ts-ignore\nimport { infiniteMessageArea } from './chat/infinite'\n// @ts-ignore\nimport * as pad from './pad'\n// @ts-ignore\nimport * as participation from './participation'\n// @ts-ignore\nimport * as preferences from './preferences'\n// @ts-ignore\nimport * as style from './style'\n// @ts-ignore\nimport { renderTableViewPane as table } from './table'\nimport * as tabs from './tabs'\n// @ts-ignore\nimport * as utils from './utils'\nimport * as login from './login/login'\nimport * as widgets from './widgets/index'\nimport { versionInfo } from './versionInfo'\nimport { initHeader } from './header'\nimport { initFooter } from './footer'\nimport * as createTypes from './create/types'\nimport { authn, store } from 'solid-logic'\n\nconst dom = window ? window.document : null // Idea that UI.dom can be adapted in non-browser environments\n\nif (typeof window !== 'undefined') {\n ;(<any>window).UI = {\n authn,\n store,\n ns,\n rdf,\n acl,\n aclControl,\n create,\n createTypes,\n dom,\n icons,\n language,\n log,\n login,\n matrix,\n media,\n messageArea,\n infiniteMessageArea,\n pad,\n participation,\n preferences,\n style,\n table,\n tabs,\n utils,\n widgets,\n versionInfo,\n initHeader,\n initFooter\n } // Simpler access by non-node scripts\n}\n\n// this variables are directly used in the storybook\nexport {\n authn,\n store,\n ns,\n rdf,\n acl,\n aclControl,\n create,\n createTypes,\n dom,\n icons,\n language,\n log,\n login,\n matrix,\n media,\n messageArea,\n infiniteMessageArea,\n pad,\n participation,\n preferences,\n style,\n table,\n tabs,\n utils,\n widgets,\n versionInfo,\n initHeader,\n initFooter\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;AAEA;;;;AACA;;AACA;;AAEA;;AACA;;;;AACA;;;;AACA;;AACA;;AAEA;;AAEA;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AAEA;;AACA;;;;AAEA;;;;AACA;;;;AACA;;;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;;;AAlC8B;AAC9B;AAIA;AAMA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AAUA,IAAMA,GAAG,GAAGC,MAAM,GAAGA,MAAM,CAACC,QAAV,GAAqB,IAAvC,C,CAA4C;;;;AAE5C,IAAI,OAAOD,MAAP,KAAkB,WAAtB,EAAmC;EACjC;EAAOA,MAAN,CAAcE,EAAd,GAAmB;IAClBC,KAAK,EAALA,iBADkB;IAElBC,KAAK,EAALA,iBAFkB;IAGlBC,EAAE,EAAFA,EAHkB;IAIlBC,GAAG,EAAHA,GAJkB;IAKlBC,GAAG,EAAHA,UALkB;IAMlBC,UAAU,EAAVA,iBANkB;IAOlBC,MAAM,EAANA,cAPkB;IAQlBC,WAAW,EAAXA,WARkB;IASlBX,GAAG,EAAHA,GATkB;IAUlBY,KAAK,EAALA,eAVkB;IAWlBC,QAAQ,EAARA,QAXkB;IAYlBC,GAAG,EAAHA,GAZkB;IAalBC,KAAK,EAALA,KAbkB;IAclBC,MAAM,EAANA,cAdkB;IAelBC,KAAK,EAALA,aAfkB;IAgBlBC,WAAW,EAAXA,wBAhBkB;IAiBlBC,mBAAmB,EAAnBA,6BAjBkB;IAkBlBC,GAAG,EAAHA,GAlBkB;IAmBlBC,aAAa,EAAbA,aAnBkB;IAoBlBC,WAAW,EAAXA,WApBkB;IAqBlBC,KAAK,EAALA,KArBkB;IAsBlBC,KAAK,EAALA,0BAtBkB;IAuBlBC,IAAI,EAAJA,IAvBkB;IAwBlBC,KAAK,EAALA,KAxBkB;IAyBlBC,OAAO,EAAPA,OAzBkB;IA0BlBC,WAAW,EAAXA,wBA1BkB;IA2BlBC,UAAU,EAAVA,kBA3BkB;IA4BlBC,UAAU,EAAVA;EA5BkB,CAAnB,CADgC,CA8B/B;AACH,C,CAED"}
|
package/lib/jss/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["stylesheetsMap","Map","getClasses","insertionPoint","styles","stylesheet","getStylesheet","createStyleSheet","attach","cachedStylesheet","get","create","plugins","preset","set"],"sources":["../../src/jss/index.ts"],"sourcesContent":["/**\n * Contains [[getClasses]] and [[getStylesheet]] functions,\n * usable as wrappers around JSS (A CSS authoring tool).\n * See https://cssinjs.org/\n * @packageDocumentation\n */\n\nimport { create, Jss, Styles, StyleSheet } from 'jss'\nimport preset from 'jss-preset-default'\n\nconst stylesheetsMap = new Map<HTMLElement, Jss>()\n\n/**\n * returns a StyleSheet object.\n * See https://cssinjs.org/ for more info about JSS.\n * (despite the name, see https://github.com/solidos/solid-ui/issues/199)\n */\nexport function getClasses (insertionPoint: HTMLElement, styles: Partial<Styles>): StyleSheet {\n const stylesheet = getStylesheet(insertionPoint)\n return stylesheet.createStyleSheet(styles).attach()\n}\n\n/**\n * returns a JSS object.\n * See https://cssinjs.org/ for more info about JSS.\n * (despite the name, see https://github.com/solidos/solid-ui/issues/199)\n */\nexport function getStylesheet (insertionPoint: HTMLElement): Jss {\n const cachedStylesheet = stylesheetsMap.get(insertionPoint)\n if (cachedStylesheet) {\n return cachedStylesheet\n }\n const stylesheet = create({\n insertionPoint,\n plugins: preset().plugins\n })\n stylesheetsMap.set(insertionPoint, stylesheet)\n return stylesheet\n}\n"],"mappings":";;;;;;;;;;AAOA;;AACA;;AARA;AACA;AACA;AACA;AACA;AACA;AAKA,IAAMA,cAAc,GAAG,IAAIC,GAAJ,EAAvB;AAEA;AACA;AACA;AACA;AACA;;AACO,SAASC,UAAT,CAAqBC,cAArB,EAAkDC,MAAlD,EAAuF;EAC5F,IAAMC,UAAU,GAAGC,aAAa,CAACH,cAAD,CAAhC;EACA,OAAOE,UAAU,CAACE,gBAAX,CAA4BH,MAA5B,EAAoCI,MAApC,EAAP;AACD;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASF,aAAT,CAAwBH,cAAxB,EAA0D;EAC/D,IAAMM,gBAAgB,GAAGT,cAAc,CAACU,GAAf,CAAmBP,cAAnB,CAAzB;;EACA,IAAIM,gBAAJ,EAAsB;IACpB,OAAOA,gBAAP;EACD;;EACD,IAAMJ,UAAU,GAAG,IAAAM,WAAA,EAAO;IACxBR,cAAc,EAAdA,cADwB;IAExBS,OAAO,EAAE,IAAAC,4BAAA,IAASD;EAFM,CAAP,CAAnB;EAIAZ,cAAc,CAACc,GAAf,CAAmBX,cAAnB,EAAmCE,UAAnC;EACA,OAAOA,UAAP;AACD"}
|
package/lib/log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"log.js","names":["TERROR","TWARN","TMESG","TSUCCESS","TINFO","TDEBUG","TALL","LogLevel","_level","_ascending","_dom","document","_window","window","log","str","type","typestr","logArea","getElementById","addendum","createElement","setAttribute","now","Date","innerHTML","getHours","getMinutes","getSeconds","escapeForXML","insertBefore","firstChild","appendChild","console","msg","message","warn","debug","info","error","success","alert","clear","setLevel","level","dumpHTML","body","logAscending","logDescending","replace","setInternals"],"sources":["../src/log.ts"],"sourcesContent":["// /////////////////////// Logging\n//\n// bitmask levels\n// const TNONE = 0\n/** @internal */\nconst TERROR = 1\n/** @internal */\nconst TWARN = 2\n/** @internal */\nconst TMESG = 4\n/** @internal */\nconst TSUCCESS = 8\n/** @internal */\nconst TINFO = 16\n/** @internal */\nconst TDEBUG = 32\n/** @internal */\nconst TALL = 63\n\n/** @internal */\nexport enum LogLevel {\n Error = TERROR,\n Warning = TWARN,\n Message = TMESG,\n Success = TSUCCESS,\n Info = TINFO,\n Debug = TDEBUG,\n All = TALL\n}\n\n/** @internal */\nlet _level: number = TERROR + TWARN + TMESG\n/** @internal */\nlet _ascending: boolean = false\n/** @internal */\nlet _dom: HTMLDocument = document // must be able to override for tests\n/** @internal */\nlet _window: Window = window // must be able to override for tests\n\n/** @internal */\nfunction log (str: string, type: number = TMESG, typestr: string = 'mesg') {\n if (!(_level & type)) return // bitmask\n\n if (typeof _dom !== 'undefined') {\n const logArea = _dom.getElementById('status')\n if (!logArea) return\n\n const addendum = _dom.createElement('span')\n addendum.setAttribute('class', typestr)\n const now = new Date()\n addendum.innerHTML = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()} [${typestr}] ${escapeForXML(str)}<br/>`\n if (_ascending) {\n logArea.insertBefore(addendum, logArea.firstChild)\n } else {\n logArea.appendChild(addendum)\n }\n } else if (typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.log(str)\n }\n}\n\n/**\n * Adds a message to the element with id \"status\". The messages are prepended with\n * time and type of message, in this case [mesg].\n */\nexport function msg (message: string) {\n log(message)\n}\n\n/**\n * Adds a warning message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [warn].\n */\nexport function warn (message: string): void {\n log(message, TWARN, 'warn')\n}\n\n/**\n * Adds a debugging message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [dbug].\n */\nexport function debug (message: string): void {\n log(message, TDEBUG, 'dbug')\n}\n\n/**\n * Adds a info message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [info].\n */\nexport function info (message: string): void {\n log(message, TINFO, 'info')\n}\n\n/**\n * Adds a error to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [eror].\n */\nexport function error (message: string): void {\n log(message, TERROR, 'eror')\n}\n\n/**\n * Adds a success message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [good].\n */\nexport function success (message: string): void {\n log(message, TSUCCESS, 'good')\n}\n\n/**\n * Uses the global alert to send an alert. If global alert is not available, it\n * will output the message using the method [[warning]]s.\n */\nexport function alert (message: string): void {\n if (_window && typeof _window.alert !== 'undefined') {\n _window.alert(message)\n } else {\n warn(message)\n }\n}\n\n/**\n * Will clear the content of the element with id \"status\".\n */\nexport function clear (): void {\n const logArea = _dom?.getElementById('status')\n if (!logArea) return\n logArea.innerHTML = ''\n}\n\n/**\n * Lets you configure which types of messages will be shown. The module uses\n * [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)) to filter which\n * types of messages should be shown. E.g. if you only want warning messages\n * to be shown, pass 2 to the function, if you want warning and success to be\n * shown, pass 10 (2+8). By passing the sum of all, 63, you'll show all\n * types of messages.\n *\n * - Error: 1\n * - Warning: 2\n * - Message: 4\n * - Success: 8\n * - Info: 16\n * - Debug: 32\n */\nexport function setLevel (level: number): void {\n _level = TALL\n debug('Log level is now ' + level)\n _level = level\n}\n\n/**\n * Will dump the current HTML using the [[debug]] method.\n */\nexport function dumpHTML (): void {\n if (!_dom) return\n const level = _level\n _level = TALL\n debug(_dom?.body?.innerHTML || '')\n _level = level\n}\n\n/**\n * Will start prepending messages the list of log messages.\n */\nexport function logAscending () {\n _ascending = true\n}\n\n/**\n * Will start appending messages the list of log messages. (This is default\n * behavior.)\n */\nexport function logDescending () {\n _ascending = false\n}\n\n/** @internal */\nexport function escapeForXML (str: string): string {\n // can be replaced with function utils module when migrating\n return str\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n}\n\n/** @internal */\nexport function setInternals (window, document) {\n _window = window\n _dom = document\n}\n"],"mappings":"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"}
|
package/lib/login/login.d.ts
CHANGED
|
@@ -53,9 +53,6 @@ export declare function ensureLoadedProfile(context: AuthenticationContext): Pro
|
|
|
53
53
|
*
|
|
54
54
|
* leaving the `isPublic` param undefined will bring in community index things, too
|
|
55
55
|
*/
|
|
56
|
-
/**
|
|
57
|
-
* @deprecated Since version 2.4.17 Will be deleted in version 3.0. Use solid-logic getAppInstances instead.
|
|
58
|
-
*/
|
|
59
56
|
export declare function findAppInstances(context: AuthenticationContext, theClass: NamedNode, isPublic?: boolean): Promise<AuthenticationContext>;
|
|
60
57
|
export declare function scopeLabel(context: any, scope: any): string;
|
|
61
58
|
/**
|
package/lib/login/login.d.ts.map
CHANGED
|
@@ -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,EAAM,MAAM,QAAQ,CAAA;AAGjD,OAAO,EACL,UAAU,
|
|
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,EACV,qBAAqB,EAYtB,MAAM,aAAa,CAAA;AAwBpB;;;;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,CAuDhC;AAED;;;;;;GAMG;AAEH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED;;;;IAII;AACJ,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAShC;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,QA2InD;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,CAwFb;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"}
|
package/lib/login/login.js
CHANGED
|
@@ -55,6 +55,15 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
55
55
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
56
56
|
|
|
57
57
|
var store = _solidLogic.solidLogicSingleton.store;
|
|
58
|
+
var _solidLogicSingleton$ = _solidLogic.solidLogicSingleton.profile,
|
|
59
|
+
loadPreferences = _solidLogicSingleton$.loadPreferences,
|
|
60
|
+
loadProfile = _solidLogicSingleton$.loadProfile;
|
|
61
|
+
var _solidLogicSingleton$2 = _solidLogic.solidLogicSingleton.typeIndex,
|
|
62
|
+
getScopedAppInstances = _solidLogicSingleton$2.getScopedAppInstances,
|
|
63
|
+
getRegistrations = _solidLogicSingleton$2.getRegistrations,
|
|
64
|
+
loadAllTypeIndexes = _solidLogicSingleton$2.loadAllTypeIndexes,
|
|
65
|
+
getScopedAppsFromIndex = _solidLogicSingleton$2.getScopedAppsFromIndex,
|
|
66
|
+
deleteTypeIndexRegistration = _solidLogicSingleton$2.deleteTypeIndexRegistration;
|
|
58
67
|
/**
|
|
59
68
|
* Resolves with the logged in user's WebID
|
|
60
69
|
*
|
|
@@ -151,7 +160,7 @@ function _ensureLoadedPreferences() {
|
|
|
151
160
|
case 7:
|
|
152
161
|
context = _context4.sent;
|
|
153
162
|
_context4.next = 10;
|
|
154
|
-
return
|
|
163
|
+
return loadPreferences(context.me);
|
|
155
164
|
|
|
156
165
|
case 10:
|
|
157
166
|
preferencesFile = _context4.sent;
|
|
@@ -161,7 +170,7 @@ function _ensureLoadedPreferences() {
|
|
|
161
170
|
}
|
|
162
171
|
|
|
163
172
|
context.preferencesFile = preferencesFile;
|
|
164
|
-
_context4.next =
|
|
173
|
+
_context4.next = 51;
|
|
165
174
|
break;
|
|
166
175
|
|
|
167
176
|
case 15:
|
|
@@ -175,7 +184,7 @@ function _ensureLoadedPreferences() {
|
|
|
175
184
|
|
|
176
185
|
m2 = 'Ooops - you are not authenticated (properly logged in) to for me to read your preference file. Try loggin out and logging in?';
|
|
177
186
|
(0, _log.alert)(m2);
|
|
178
|
-
_context4.next =
|
|
187
|
+
_context4.next = 51;
|
|
179
188
|
break;
|
|
180
189
|
|
|
181
190
|
case 22:
|
|
@@ -190,57 +199,53 @@ function _ensureLoadedPreferences() {
|
|
|
190
199
|
|
|
191
200
|
case 28:
|
|
192
201
|
if (!(_context4.t0 instanceof _solidLogic.SameOriginForbiddenError)) {
|
|
193
|
-
_context4.next =
|
|
202
|
+
_context4.next = 34;
|
|
194
203
|
break;
|
|
195
204
|
}
|
|
196
205
|
|
|
197
206
|
m2 = 'You are not authorized to read your preference file. This may be because you are using an untrusted web app.';
|
|
198
207
|
debug.warn(m2);
|
|
199
|
-
_context4.
|
|
200
|
-
break;
|
|
208
|
+
return _context4.abrupt("return", context);
|
|
201
209
|
|
|
202
|
-
case
|
|
203
|
-
if (!(_context4.t0 instanceof _solidLogic.
|
|
204
|
-
_context4.next =
|
|
210
|
+
case 34:
|
|
211
|
+
if (!(_context4.t0 instanceof _solidLogic.NotEditableError)) {
|
|
212
|
+
_context4.next = 40;
|
|
205
213
|
break;
|
|
206
214
|
}
|
|
207
215
|
|
|
208
|
-
|
|
209
|
-
|
|
216
|
+
m2 = 'You are not authorized to edit your preference file. This may be because you are using an untrusted web app.';
|
|
217
|
+
debug.warn(m2);
|
|
218
|
+
return _context4.abrupt("return", context);
|
|
219
|
+
|
|
220
|
+
case 40:
|
|
221
|
+
if (!(_context4.t0 instanceof _solidLogic.WebOperationError)) {
|
|
222
|
+
_context4.next = 45;
|
|
210
223
|
break;
|
|
211
224
|
}
|
|
212
225
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
_context4.next = 40;
|
|
217
|
-
break;
|
|
218
|
-
|
|
219
|
-
case 39:
|
|
220
|
-
throw new Error("User declined to create a preference file at ".concat(_context4.t0.preferencesFile || '(?)'));
|
|
221
|
-
|
|
222
|
-
case 40:
|
|
223
|
-
_context4.next = 48;
|
|
226
|
+
m2 = 'You are not authorized to edit your preference file. This may be because you are using an untrusted web app.';
|
|
227
|
+
debug.warn(m2);
|
|
228
|
+
_context4.next = 51;
|
|
224
229
|
break;
|
|
225
230
|
|
|
226
|
-
case
|
|
231
|
+
case 45:
|
|
227
232
|
if (!(_context4.t0 instanceof _solidLogic.FetchError)) {
|
|
228
|
-
_context4.next =
|
|
233
|
+
_context4.next = 50;
|
|
229
234
|
break;
|
|
230
235
|
}
|
|
231
236
|
|
|
232
237
|
m2 = "Strange: Error ".concat(_context4.t0.status, " trying to read your preference file.").concat(_context4.t0.message);
|
|
233
238
|
(0, _log.alert)(m2);
|
|
234
|
-
_context4.next =
|
|
239
|
+
_context4.next = 51;
|
|
235
240
|
break;
|
|
236
241
|
|
|
237
|
-
case
|
|
242
|
+
case 50:
|
|
238
243
|
throw new Error("(via loadPrefs) ".concat(_context4.t0));
|
|
239
244
|
|
|
240
|
-
case
|
|
245
|
+
case 51:
|
|
241
246
|
return _context4.abrupt("return", context);
|
|
242
247
|
|
|
243
|
-
case
|
|
248
|
+
case 52:
|
|
244
249
|
case "end":
|
|
245
250
|
return _context4.stop();
|
|
246
251
|
}
|
|
@@ -259,10 +264,6 @@ function ensureLoadedProfile(_x2) {
|
|
|
259
264
|
* leaving the `isPublic` param undefined will bring in community index things, too
|
|
260
265
|
*/
|
|
261
266
|
|
|
262
|
-
/**
|
|
263
|
-
* @deprecated Since version 2.4.17 Will be deleted in version 3.0. Use solid-logic getAppInstances instead.
|
|
264
|
-
*/
|
|
265
|
-
|
|
266
267
|
|
|
267
268
|
function _ensureLoadedProfile() {
|
|
268
269
|
_ensureLoadedProfile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(context) {
|
|
@@ -295,7 +296,7 @@ function _ensureLoadedProfile() {
|
|
|
295
296
|
|
|
296
297
|
case 8:
|
|
297
298
|
_context5.next = 10;
|
|
298
|
-
return
|
|
299
|
+
return loadProfile(logInContext.me);
|
|
299
300
|
|
|
300
301
|
case 10:
|
|
301
302
|
context.publicProfile = _context5.sent;
|
|
@@ -336,25 +337,23 @@ function _findAppInstances() {
|
|
|
336
337
|
while (1) {
|
|
337
338
|
switch (_context6.prev = _context6.next) {
|
|
338
339
|
case 0:
|
|
339
|
-
debug.warn('Calling deprecated function findAppInstances! Use solid-logic getAppInstances instead.');
|
|
340
|
-
|
|
341
340
|
if (!context.me) {
|
|
342
|
-
_context6.next =
|
|
341
|
+
_context6.next = 6;
|
|
343
342
|
break;
|
|
344
343
|
}
|
|
345
344
|
|
|
346
|
-
_context6.next =
|
|
347
|
-
return
|
|
345
|
+
_context6.next = 3;
|
|
346
|
+
return getScopedAppInstances(theClass, context.me);
|
|
348
347
|
|
|
349
|
-
case
|
|
348
|
+
case 3:
|
|
350
349
|
_context6.t0 = _context6.sent;
|
|
351
|
-
_context6.next =
|
|
350
|
+
_context6.next = 7;
|
|
352
351
|
break;
|
|
353
352
|
|
|
354
|
-
case
|
|
353
|
+
case 6:
|
|
355
354
|
_context6.t0 = [];
|
|
356
355
|
|
|
357
|
-
case
|
|
356
|
+
case 7:
|
|
358
357
|
items = _context6.t0;
|
|
359
358
|
|
|
360
359
|
if (isPublic === true) {
|
|
@@ -373,7 +372,7 @@ function _findAppInstances() {
|
|
|
373
372
|
});
|
|
374
373
|
return _context6.abrupt("return", context);
|
|
375
374
|
|
|
376
|
-
case
|
|
375
|
+
case 11:
|
|
377
376
|
case "end":
|
|
378
377
|
return _context6.stop();
|
|
379
378
|
}
|
|
@@ -413,8 +412,7 @@ function _registrationControl() {
|
|
|
413
412
|
};
|
|
414
413
|
|
|
415
414
|
registrationStatements = function _registrationStatemen(index) {
|
|
416
|
-
var registrations =
|
|
417
|
-
|
|
415
|
+
var registrations = getRegistrations(instance, theClass);
|
|
418
416
|
var reg = registrations.length ? registrations[0] : widgets.newThing(index);
|
|
419
417
|
return [(0, _rdflib.st)(reg, ns.solid('instance'), instance, index), (0, _rdflib.st)(reg, ns.solid('forClass'), theClass, index)];
|
|
420
418
|
};
|
|
@@ -447,7 +445,7 @@ function _registrationControl() {
|
|
|
447
445
|
case 12:
|
|
448
446
|
_context7.prev = 12;
|
|
449
447
|
_context7.next = 15;
|
|
450
|
-
return
|
|
448
|
+
return loadAllTypeIndexes(me);
|
|
451
449
|
|
|
452
450
|
case 15:
|
|
453
451
|
scopes = _context7.sent;
|
|
@@ -552,7 +550,7 @@ function _registrationList() {
|
|
|
552
550
|
|
|
553
551
|
case 8:
|
|
554
552
|
_context9.next = 10;
|
|
555
|
-
return
|
|
553
|
+
return loadAllTypeIndexes(context.me);
|
|
556
554
|
|
|
557
555
|
case 10:
|
|
558
556
|
scopes = _context9.sent;
|
|
@@ -579,7 +577,7 @@ function _registrationList() {
|
|
|
579
577
|
headingRow = renderScopeHeadingRow(context, store, scope);
|
|
580
578
|
tbody.appendChild(headingRow);
|
|
581
579
|
_context9.next = 24;
|
|
582
|
-
return
|
|
580
|
+
return getScopedAppsFromIndex(scope, options.type || null);
|
|
583
581
|
|
|
584
582
|
case 24:
|
|
585
583
|
items = _context9.sent;
|
|
@@ -599,7 +597,7 @@ function _registrationList() {
|
|
|
599
597
|
switch (_context8.prev = _context8.next) {
|
|
600
598
|
case 0:
|
|
601
599
|
_context8.next = 2;
|
|
602
|
-
return
|
|
600
|
+
return deleteTypeIndexRegistration(item);
|
|
603
601
|
|
|
604
602
|
case 2:
|
|
605
603
|
tbody.removeChild(row);
|
|
@@ -761,7 +759,7 @@ function renderSignInPopup(dom) {
|
|
|
761
759
|
issuerPopup.setAttribute('style', 'position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: center;');
|
|
762
760
|
dom.body.appendChild(issuerPopup);
|
|
763
761
|
var issuerPopupBox = dom.createElement('div');
|
|
764
|
-
issuerPopupBox.setAttribute('style', "\n background-color: white;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n -moz-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n -o-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n min-width: 400px;\n padding: 10px;\n ");
|
|
762
|
+
issuerPopupBox.setAttribute('style', "\n background-color: white;\n box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n -moz-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n -o-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.2);\n border-radius: 4px;\n min-width: 400px;\n padding: 10px;\n z-index : 10;\n ");
|
|
765
763
|
issuerPopup.appendChild(issuerPopupBox);
|
|
766
764
|
var issuerPopupBoxTopMenu = dom.createElement('div');
|
|
767
765
|
issuerPopupBoxTopMenu.setAttribute('style', "\n border-bottom: 1px solid #DDD;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n ");
|
|
@@ -945,7 +943,13 @@ function loginStatusBox(dom) {
|
|
|
945
943
|
}
|
|
946
944
|
|
|
947
945
|
box.refresh = function () {
|
|
948
|
-
|
|
946
|
+
var sessionInfo = _solidLogic.authSession.info;
|
|
947
|
+
|
|
948
|
+
if (sessionInfo && sessionInfo.webId && sessionInfo.isLoggedIn) {
|
|
949
|
+
me = _solidLogic.solidLogicSingleton.store.sym(sessionInfo.webId);
|
|
950
|
+
} else {
|
|
951
|
+
me = null;
|
|
952
|
+
}
|
|
949
953
|
|
|
950
954
|
if (me && box.me !== me.uri || !me && box.me) {
|
|
951
955
|
widgets.clearElement(box);
|