solid-ui 2.4.27-29eab3ca → 2.4.27-2ebac088
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/solid-ui.js +2235 -6634
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.LICENSE.txt +0 -8
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/acl/access-controller.d.ts +2 -3
- package/lib/acl/access-controller.d.ts.map +1 -1
- package/lib/acl/access-controller.js +17 -15
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.d.ts.map +1 -1
- package/lib/acl/access-groups.js +78 -8
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts.map +1 -1
- package/lib/acl/acl-control.js +10 -11
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.d.ts +1 -1
- package/lib/acl/acl.js +1 -1
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts.map +1 -1
- package/lib/acl/add-agent-buttons.js +4 -3
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/chat/bookmarks.js +6 -7
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +250 -61
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/infinite.js +604 -426
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +286 -158
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +464 -276
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +166 -144
- package/lib/chat/thread.js.map +1 -1
- package/lib/footer/index.d.ts.map +1 -1
- package/lib/footer/index.js +5 -1
- package/lib/footer/index.js.map +1 -1
- package/lib/header/index.d.ts.map +1 -1
- package/lib/header/index.js +41 -20
- package/lib/header/index.js.map +1 -1
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +39 -37
- package/lib/login/login.js.map +1 -1
- package/lib/preferences.js +4 -0
- package/lib/preferences.js.map +1 -1
- package/lib/style.js +60 -2
- package/lib/style.js.map +1 -1
- package/lib/utils/headerFooterHelpers.d.ts +0 -4
- package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
- package/lib/utils/headerFooterHelpers.js +0 -27
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/versionInfo.js +5 -5
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons.d.ts.map +1 -1
- package/lib/widgets/buttons.js +43 -49
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/forms.js +8 -4
- package/lib/widgets/forms.js.map +1 -1
- package/package.json +3 -4
- package/lib/acl/styles.d.ts +0 -90
- package/lib/acl/styles.d.ts.map +0 -1
- package/lib/acl/styles.js +0 -98
- package/lib/acl/styles.js.map +0 -1
- package/lib/footer/styleMap.d.ts +0 -8
- package/lib/footer/styleMap.d.ts.map +0 -1
- package/lib/footer/styleMap.js +0 -15
- package/lib/footer/styleMap.js.map +0 -1
- package/lib/header/styleMap.d.ts +0 -117
- package/lib/header/styleMap.d.ts.map +0 -1
- package/lib/header/styleMap.js +0 -139
- package/lib/header/styleMap.js.map +0 -1
- package/lib/jss/index.d.ts +0 -20
- package/lib/jss/index.d.ts.map +0 -1
- package/lib/jss/index.js +0 -47
- package/lib/jss/index.js.map +0 -1
package/lib/chat/thread.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","_appendMsg","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","ensureLoggedIn","then","fieldValue","oldMsg","arguments","length","undefined","now","Date","timestamp","getTime","sym","push","Statement","mostRecentVersion","wf","msgBody","concat","nick","sioc","foaf","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","deletions","wrap","_callee$","_context","prev","next","connectedStatements","sent","ok","stop","_x","apply","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","_appendMsg2","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\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'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n /* const sendMessage = function (oldMsg, options) { // alain\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? field.value : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n } */\n\n const appendMsg = function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return msg\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) { // alain test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread.js","names":["_iconBase","require","_solidLogic","_index","ns","_interopRequireWildcard","login","pad","$rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","media","thread","dom","kb","subject","messageStore","options","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_yield$appendMsg","dateStamp","sts","sendComplete","wrap","_callee$","_context","prev","next","field","disabled","appendMsg","value","sent","success","body","errorMessageBlock","bindings","literal","renderMessage","update","stop","apply","arguments","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","_ref2","_callee2","e","_callee2$","_context2","keyCode","altKey","_x","button","iconBase","buttonStyle","context","ensureLoggedIn","then","_ref3","fieldValue","oldMsg","length","undefined","_callee3","now","timestamp","msgBody","_callee3$","_context3","Date","getTime","sym","t0","t1","Statement","mostRecentVersion","t2","t3","t4","t5","t6","push","wf","concat","nick","sioc","foaf","abrupt","_x2","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","msg","statementsMatching","_deleteMessage","_ref4","_callee4","deletions","_callee4$","_context4","connectedStatements","ok","_x3","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","_ref5","_callee5","_yield$appendMsg2","_callee5$","_context5","_x4","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\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'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = async function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = await appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n async function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n await sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n const appendMsg = async function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(await mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return msg\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n async function (_event) { // alain test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = await appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAW7C,MAAM,MAAM,aAAa,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEH;;;;GAIG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1E;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM/I;AACD;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAyC5K"}
|
package/lib/footer/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -10,7 +11,10 @@ exports.rebuildFooter = rebuildFooter;
|
|
|
10
11
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
13
|
var _solidLogic = require("solid-logic");
|
|
14
|
+
var style = _interopRequireWildcard(require("../style"));
|
|
13
15
|
var _headerFooterHelpers = require("../utils/headerFooterHelpers");
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
18
|
/*
|
|
15
19
|
This file was copied from mashlib/src/global/footer.ts file. It is modified to
|
|
16
20
|
work in solid-ui by adjusting where imported functions are found.
|
|
@@ -91,7 +95,7 @@ function createControllerInfoBlock(store, user, pod, podOwner, options) {
|
|
|
91
95
|
if (!pod || !podOwner || user && user.equals(podOwner)) {
|
|
92
96
|
return profileLinkContainer;
|
|
93
97
|
}
|
|
94
|
-
|
|
98
|
+
profileLinkContainer.setAttribute('style', style.footer);
|
|
95
99
|
var podLinkPre = document.createElement('span');
|
|
96
100
|
podLinkPre.innerText = "You're visiting ";
|
|
97
101
|
var podLink = document.createElement('a');
|
package/lib/footer/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_solidLogic","require","_headerFooterHelpers","DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","_x","_x2","_initFooter","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","options","footer","pod","podOwner","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","getPodOwner","sent","rebuildFooter","authSession","onLogin","onLogout","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createControllerInfoBlock","t1","appendChild","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_solidLogic","require","style","_interopRequireWildcard","_headerFooterHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","_x","_x2","_initFooter","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","options","footer","pod","podOwner","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","getPodOwner","sent","rebuildFooter","authSession","onLogin","onLogout","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createControllerInfoBlock","t1","appendChild","profileLinkContainer","createElement","equals","setAttribute","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","getName","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"sources":["../../src/footer/index.ts"],"sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { LiveStore, NamedNode } from 'rdflib'\nimport { authn, authSession } from 'solid-logic'\nimport * as style from '../style'\nimport { getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: LiveStore, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: LiveStore, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = authn.currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: LiveStore, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n profileLinkContainer.setAttribute('style', style.footer)\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAgBlD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BAkDjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAY7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAa7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAyD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}
|
package/lib/header/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var _index = require("../index");
|
|
|
21
21
|
var _solidLogic = require("solid-logic");
|
|
22
22
|
var _login = require("../login/login");
|
|
23
23
|
var widgets = _interopRequireWildcard(require("../widgets"));
|
|
24
|
+
var style = _interopRequireWildcard(require("../style"));
|
|
24
25
|
var _emptyProfile = require("./empty-profile");
|
|
25
26
|
var _headerFooterHelpers = require("../utils/headerFooterHelpers");
|
|
26
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -114,12 +115,12 @@ function _createBanner() {
|
|
|
114
115
|
case 0:
|
|
115
116
|
podLink = document.createElement('a');
|
|
116
117
|
podLink.href = pod.uri;
|
|
117
|
-
(
|
|
118
|
+
podLink.setAttribute('style', style.headerBannerLink);
|
|
118
119
|
image = document.createElement('img');
|
|
119
120
|
if (options) {
|
|
120
121
|
image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL;
|
|
121
122
|
}
|
|
122
|
-
(
|
|
123
|
+
image.setAttribute('style', style.headerBannerIcon);
|
|
123
124
|
podLink.appendChild(image);
|
|
124
125
|
if (!user) {
|
|
125
126
|
_context3.next = 13;
|
|
@@ -136,10 +137,10 @@ function _createBanner() {
|
|
|
136
137
|
case 14:
|
|
137
138
|
userMenu = _context3.t0;
|
|
138
139
|
banner = document.createElement('div');
|
|
139
|
-
(
|
|
140
|
+
banner.setAttribute('style', style.headerBanner);
|
|
140
141
|
banner.appendChild(podLink);
|
|
141
142
|
leftSideOfHeader = document.createElement('div');
|
|
142
|
-
(
|
|
143
|
+
leftSideOfHeader.setAttribute('style', style.headerBannerRightMenu);
|
|
143
144
|
leftSideOfHeader.appendChild(userMenu);
|
|
144
145
|
if (options && options.helpMenuList) {
|
|
145
146
|
helpMenu = createHelpMenu(options, options.helpMenuList);
|
|
@@ -158,7 +159,7 @@ function _createBanner() {
|
|
|
158
159
|
function createHelpMenu(options, helpMenuItems) {
|
|
159
160
|
if (!helpMenuItems) return;
|
|
160
161
|
var helpMenuList = document.createElement('ul');
|
|
161
|
-
(
|
|
162
|
+
helpMenuList.setAttribute('style', style.headerUserMenuList);
|
|
162
163
|
helpMenuItems.forEach(function (menuItem) {
|
|
163
164
|
var menuItemType = menuItem.url ? 'url' : 'onclick';
|
|
164
165
|
if (menuItemType === 'url') {
|
|
@@ -168,19 +169,19 @@ function createHelpMenu(options, helpMenuItems) {
|
|
|
168
169
|
}
|
|
169
170
|
});
|
|
170
171
|
var helpMenu = document.createElement('nav');
|
|
171
|
-
(
|
|
172
|
+
helpMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
172
173
|
helpMenu.setAttribute('aria-hidden', 'true');
|
|
174
|
+
helpMenu.setAttribute('id', 'helperNav');
|
|
173
175
|
helpMenu.appendChild(helpMenuList);
|
|
174
176
|
var helpMenuContainer = document.createElement('div');
|
|
175
|
-
(
|
|
176
|
-
(0, _headerFooterHelpers.addStyleClassToElement)(helpMenuContainer, ['header-user-menu']);
|
|
177
|
+
helpMenuContainer.setAttribute('style', style.headerBannerUserMenu);
|
|
177
178
|
helpMenuContainer.appendChild(helpMenu);
|
|
178
179
|
var helpMenuTrigger = document.createElement('button');
|
|
179
|
-
(
|
|
180
|
+
helpMenuTrigger.setAttribute('style', style.headerUserMenuTrigger);
|
|
180
181
|
helpMenuTrigger.type = 'button';
|
|
181
182
|
var helpMenuIcon = document.createElement('img');
|
|
182
183
|
helpMenuIcon.src = options && options.helpIcon ? options.helpIcon : _index.icons.iconBase + DEFAULT_HELP_MENU_ICON;
|
|
183
|
-
(
|
|
184
|
+
helpMenuIcon.setAttribute('style', style.headerUserMenuTriggerImg);
|
|
184
185
|
helpMenuContainer.appendChild(helpMenuTrigger);
|
|
185
186
|
helpMenuTrigger.appendChild(helpMenuIcon);
|
|
186
187
|
var throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
|
|
@@ -193,11 +194,15 @@ function createHelpMenu(options, helpMenuItems) {
|
|
|
193
194
|
helpMenuContainer.addEventListener('mouseover', function (event) {
|
|
194
195
|
clearTimeout(timer);
|
|
195
196
|
throttledMenuToggle(event);
|
|
197
|
+
var nav = document.getElementById('helperNav');
|
|
198
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenu);
|
|
196
199
|
});
|
|
197
200
|
helpMenuContainer.addEventListener('mouseout', function (event) {
|
|
198
201
|
timer = setTimeout(function () {
|
|
199
202
|
return throttledMenuToggle(event);
|
|
200
203
|
}, 200);
|
|
204
|
+
var nav = document.getElementById('helperNav');
|
|
205
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
201
206
|
});
|
|
202
207
|
return helpMenuContainer;
|
|
203
208
|
}
|
|
@@ -206,7 +211,7 @@ function createHelpMenu(options, helpMenuItems) {
|
|
|
206
211
|
*/
|
|
207
212
|
function createLoginSignUpButtons() {
|
|
208
213
|
var profileLoginButtonPre = document.createElement('div');
|
|
209
|
-
(
|
|
214
|
+
profileLoginButtonPre.setAttribute('style', style.headerBannerLogin);
|
|
210
215
|
profileLoginButtonPre.appendChild((0, _login.loginStatusBox)(document, null, {}));
|
|
211
216
|
return profileLoginButtonPre;
|
|
212
217
|
}
|
|
@@ -215,7 +220,13 @@ function createLoginSignUpButtons() {
|
|
|
215
220
|
*/
|
|
216
221
|
function createUserMenuButton(label, onClick) {
|
|
217
222
|
var button = document.createElement('button');
|
|
218
|
-
(
|
|
223
|
+
button.setAttribute('style', style.headerUserMenuButton);
|
|
224
|
+
button.onmouseover = function () {
|
|
225
|
+
button.setAttribute('style', style.headerUserMenuButtonHover);
|
|
226
|
+
};
|
|
227
|
+
button.onmouseout = function () {
|
|
228
|
+
button.setAttribute('style', style.headerUserMenuButton);
|
|
229
|
+
};
|
|
219
230
|
button.addEventListener('click', onClick);
|
|
220
231
|
button.innerText = label;
|
|
221
232
|
return button;
|
|
@@ -225,7 +236,13 @@ function createUserMenuButton(label, onClick) {
|
|
|
225
236
|
*/
|
|
226
237
|
function createUserMenuLink(label, href, target) {
|
|
227
238
|
var link = document.createElement('a');
|
|
228
|
-
(
|
|
239
|
+
link.setAttribute('style', style.headerUserMenuLink);
|
|
240
|
+
link.onmouseover = function () {
|
|
241
|
+
link.setAttribute('style', style.headerUserMenuLinkHover);
|
|
242
|
+
};
|
|
243
|
+
link.onmouseout = function () {
|
|
244
|
+
link.setAttribute('style', style.headerUserMenuLink);
|
|
245
|
+
};
|
|
229
246
|
link.href = href;
|
|
230
247
|
link.innerText = label;
|
|
231
248
|
if (target) link.target = target;
|
|
@@ -256,7 +273,7 @@ function _createUserMenu() {
|
|
|
256
273
|
return fetcher.load(user);
|
|
257
274
|
case 4:
|
|
258
275
|
loggedInMenuList = document.createElement('ul');
|
|
259
|
-
(
|
|
276
|
+
loggedInMenuList.setAttribute('style', style.headerUserMenuList);
|
|
260
277
|
if (userMenuList) {
|
|
261
278
|
userMenuList.forEach(function (menuItem) {
|
|
262
279
|
var menuItemType = menuItem.url ? 'url' : 'onclick';
|
|
@@ -268,11 +285,12 @@ function _createUserMenu() {
|
|
|
268
285
|
});
|
|
269
286
|
}
|
|
270
287
|
loggedInMenu = document.createElement('nav');
|
|
271
|
-
(
|
|
288
|
+
loggedInMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
272
289
|
loggedInMenu.setAttribute('aria-hidden', 'true');
|
|
290
|
+
loggedInMenu.setAttribute('id', 'loggedInNav');
|
|
273
291
|
loggedInMenu.appendChild(loggedInMenuList);
|
|
274
292
|
loggedInMenuTrigger = document.createElement('button');
|
|
275
|
-
(
|
|
293
|
+
loggedInMenuTrigger.setAttribute('style', style.headerUserMenuTrigger);
|
|
276
294
|
loggedInMenuTrigger.type = 'button';
|
|
277
295
|
profileImg = getProfileImg(store, user);
|
|
278
296
|
if (typeof profileImg === 'string') {
|
|
@@ -281,8 +299,7 @@ function _createUserMenu() {
|
|
|
281
299
|
loggedInMenuTrigger.appendChild(profileImg);
|
|
282
300
|
}
|
|
283
301
|
loggedInMenuContainer = document.createElement('div');
|
|
284
|
-
(
|
|
285
|
-
(0, _headerFooterHelpers.addStyleClassToElement)(loggedInMenuContainer, ['header-user-menu']);
|
|
302
|
+
loggedInMenuContainer.setAttribute('style', style.headerBannerUserMenuNotDisplayed);
|
|
286
303
|
loggedInMenuContainer.appendChild(loggedInMenuTrigger);
|
|
287
304
|
loggedInMenuContainer.appendChild(loggedInMenu);
|
|
288
305
|
throttledMenuToggle = (0, _headerFooterHelpers.throttle)(function (event) {
|
|
@@ -295,11 +312,15 @@ function _createUserMenu() {
|
|
|
295
312
|
loggedInMenuContainer.addEventListener('mouseover', function (event) {
|
|
296
313
|
clearTimeout(timer);
|
|
297
314
|
throttledMenuToggle(event);
|
|
315
|
+
var nav = document.getElementById('loggedInNav');
|
|
316
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenu);
|
|
298
317
|
});
|
|
299
318
|
loggedInMenuContainer.addEventListener('mouseout', function (event) {
|
|
300
319
|
timer = setTimeout(function () {
|
|
301
320
|
return throttledMenuToggle(event);
|
|
302
321
|
}, 200);
|
|
322
|
+
var nav = document.getElementById('loggedInNav');
|
|
323
|
+
nav === null || nav === void 0 ? void 0 : nav.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
|
|
303
324
|
});
|
|
304
325
|
return _context4.abrupt("return", loggedInMenuContainer);
|
|
305
326
|
case 27:
|
|
@@ -312,7 +333,7 @@ function _createUserMenu() {
|
|
|
312
333
|
}
|
|
313
334
|
function createUserMenuItem(child) {
|
|
314
335
|
var menuProfileItem = document.createElement('li');
|
|
315
|
-
(
|
|
336
|
+
menuProfileItem.setAttribute('style', style.headerUserMenuListItem);
|
|
316
337
|
menuProfileItem.appendChild(child);
|
|
317
338
|
return menuProfileItem;
|
|
318
339
|
}
|
|
@@ -330,7 +351,7 @@ function getProfileImg(store, user) {
|
|
|
330
351
|
return _emptyProfile.emptyProfile;
|
|
331
352
|
}
|
|
332
353
|
var profileImage = document.createElement('div');
|
|
333
|
-
(
|
|
354
|
+
profileImage.setAttribute('style', style.headerUserMenuPhoto);
|
|
334
355
|
profileImage.style.backgroundImage = "url(".concat(profileUrl, ")");
|
|
335
356
|
return profileImage;
|
|
336
357
|
}
|
package/lib/header/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_index","require","_solidLogic","_login","widgets","_interopRequireWildcard","_emptyProfile","_headerFooterHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_HELP_MENU_ICON","icons","iconBase","DEFAUL_SOLID_ICON_URL","initHeader","_x","_x2","_x3","_initHeader","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","userMenuList","options","header","pod","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","rebuildHeader","authSession","onLogout","onLogin","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createBanner","t1","sent","appendChild","_x4","_x5","_x6","_x7","_x8","_createBanner","_callee3","podLink","image","userMenu","banner","leftSideOfHeader","helpMenu","_callee3$","_context3","createElement","href","uri","addStyleClassToElement","src","logo","createUserMenu","createLoginSignUpButtons","helpMenuList","createHelpMenu","helpMenuItems","forEach","menuItem","menuItemType","url","createUserMenuItem","createUserMenuLink","label","target","createUserMenuButton","onclick","setAttribute","helpMenuContainer","helpMenuTrigger","type","helpMenuIcon","helpIcon","throttledMenuToggle","throttle","event","toggleMenu","addEventListener","timer","setTimeout","clearTimeout","profileLoginButtonPre","loginStatusBox","onClick","button","innerText","link","_x9","_x10","_x11","_createUserMenu","_callee4","fetcher","loggedInMenuList","loggedInMenu","loggedInMenuTrigger","profileImg","loggedInMenuContainer","_callee4$","_context4","load","getProfileImg","child","menuProfileItem","profileUrl","findImage","emptyProfile","_unused","profileImage","style","backgroundImage","concat","trigger","menu","isExpanded","getAttribute","expand","close","toString"],"sources":["../../src/header/index.ts"],"sourcesContent":["/* global EventListenerOrEventListenerObject */\n/*\n This file was copied from mashlib/src/global/header.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { icons } from '../index'\nimport { authn, authSession } from 'solid-logic'\nimport { loginStatusBox } from '../login/login'\n// import { loginStatusBox, authSession, currentUser } from '../authn/authn'\nimport * as widgets from '../widgets'\nimport { emptyProfile } from './empty-profile'\nimport { addStyleClassToElement, getPod, throttle } from '../utils/headerFooterHelpers'\n\n/**\n * menu icons\n*/\nconst DEFAULT_HELP_MENU_ICON = icons.iconBase + 'noun_help.svg'\nconst DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\n\nexport type MenuItemLink = {\n label: string,\n url: string,\n target?: string\n}\n\nexport type MenuItemButton = {\n label: string,\n onclick: () => void\n}\n\nexport type MenuItems = MenuItemLink | MenuItemButton\n\n/*\n HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default\n is solid. Menulist will always show a link to logout and to the users profile.\n */\nexport type HeaderOptions = {\n logo?: string,\n helpIcon?: string,\n helpMenuList?: MenuItems[]\n}\n\n/**\n * Initialize header component, the header object returned depends on whether the user is authenticated.\n * @param store the data store\n * @param userMenuList a list of menu items when the user is logged in\n * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.\n * @returns a header for an authenticated user with menu items given or a login screen\n */\nexport async function initHeader (store: IndexedFormula, userMenuList: MenuItems[], options?: HeaderOptions) {\n const header = document.getElementById('PageHeader')\n if (!header) {\n return\n }\n\n const pod = getPod()\n rebuildHeader(header, store, pod, userMenuList, options)()\n authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options))\n authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildHeader (header: HTMLElement, store: IndexedFormula, pod: NamedNode, userMenuList: MenuItems[], options?: HeaderOptions) {\n return async () => {\n const user = authn.currentUser()\n header.innerHTML = ''\n header.appendChild(await createBanner(store, pod, user, userMenuList, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createBanner (store: IndexedFormula, pod: NamedNode, user: NamedNode | null, userMenuList: MenuItems[], options?: HeaderOptions): Promise<HTMLElement> {\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n addStyleClassToElement(podLink, ['header-banner__link'])\n const image = document.createElement('img')\n if (options) {\n image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL\n }\n addStyleClassToElement(image, ['header-banner__icon'])\n podLink.appendChild(image)\n\n const userMenu = user\n ? await createUserMenu(store, user, userMenuList)\n : createLoginSignUpButtons()\n\n const banner = document.createElement('div')\n addStyleClassToElement(banner, ['header-banner'])\n banner.appendChild(podLink)\n\n const leftSideOfHeader = document.createElement('div')\n addStyleClassToElement(leftSideOfHeader, ['header-banner__right-menu'])\n leftSideOfHeader.appendChild(userMenu)\n\n if (options && options.helpMenuList) {\n const helpMenu = createHelpMenu(options, options.helpMenuList)\n leftSideOfHeader.appendChild(helpMenu as HTMLDivElement)\n }\n\n banner.appendChild(leftSideOfHeader)\n\n return banner\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createHelpMenu (options: HeaderOptions, helpMenuItems: MenuItems[]) {\n if (!helpMenuItems) return\n const helpMenuList = document.createElement('ul')\n addStyleClassToElement(helpMenuList, ['header-user-menu__list'])\n helpMenuItems.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n\n const helpMenu = document.createElement('nav')\n\n addStyleClassToElement(helpMenu, ['header-user-menu__navigation-menu'])\n helpMenu.setAttribute('aria-hidden', 'true')\n helpMenu.appendChild(helpMenuList)\n\n const helpMenuContainer = document.createElement('div')\n addStyleClassToElement(helpMenuContainer, ['header-banner__user-menu'])\n addStyleClassToElement(helpMenuContainer, ['header-user-menu'])\n helpMenuContainer.appendChild(helpMenu)\n\n const helpMenuTrigger = document.createElement('button')\n addStyleClassToElement(helpMenuTrigger, ['header-user-menu__trigger'])\n helpMenuTrigger.type = 'button'\n\n const helpMenuIcon = document.createElement('img')\n helpMenuIcon.src = (options && options.helpIcon) ? options.helpIcon : icons.iconBase + DEFAULT_HELP_MENU_ICON\n addStyleClassToElement(helpMenuIcon, ['header-banner__help-icon'])\n helpMenuContainer.appendChild(helpMenuTrigger)\n helpMenuTrigger.appendChild(helpMenuIcon)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, helpMenuTrigger, helpMenu), 50)\n helpMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n helpMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n })\n helpMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n })\n\n return helpMenuContainer\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createLoginSignUpButtons () {\n const profileLoginButtonPre = document.createElement('div')\n addStyleClassToElement(profileLoginButtonPre, ['header-banner__login'])\n profileLoginButtonPre.appendChild(loginStatusBox(document, null, {}))\n return profileLoginButtonPre\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuButton (label: string, onClick: EventListenerOrEventListenerObject): HTMLElement {\n const button = document.createElement('button')\n addStyleClassToElement(button, ['header-user-menu__button'])\n button.addEventListener('click', onClick)\n button.innerText = label\n return button\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuLink (label: string, href: string, target?: string): HTMLElement {\n const link = document.createElement('a')\n addStyleClassToElement(link, ['header-user-menu__link'])\n link.href = href\n link.innerText = label\n if (target) link.target = target\n return link\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createUserMenu (store: IndexedFormula, user: NamedNode, userMenuList: MenuItems[]): Promise<HTMLElement> {\n const fetcher = (<any>store).fetcher\n if (fetcher) {\n // Making sure that Profile is loaded before building menu\n await fetcher.load(user)\n }\n\n const loggedInMenuList = document.createElement('ul')\n addStyleClassToElement(loggedInMenuList, ['header-user-menu__list'])\n if (userMenuList) {\n userMenuList.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n }\n const loggedInMenu = document.createElement('nav')\n\n addStyleClassToElement(loggedInMenu, ['header-user-menu__navigation-menu'])\n loggedInMenu.setAttribute('aria-hidden', 'true')\n loggedInMenu.appendChild(loggedInMenuList)\n\n const loggedInMenuTrigger = document.createElement('button')\n addStyleClassToElement(loggedInMenuTrigger, ['header-user-menu__trigger'])\n loggedInMenuTrigger.type = 'button'\n const profileImg = getProfileImg(store, user)\n if (typeof profileImg === 'string') {\n loggedInMenuTrigger.innerHTML = profileImg\n } else {\n loggedInMenuTrigger.appendChild(profileImg)\n }\n\n const loggedInMenuContainer = document.createElement('div')\n addStyleClassToElement(loggedInMenuContainer, ['header-banner__user-menu'])\n addStyleClassToElement(loggedInMenuContainer, ['header-user-menu'])\n loggedInMenuContainer.appendChild(loggedInMenuTrigger)\n loggedInMenuContainer.appendChild(loggedInMenu)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, loggedInMenuTrigger, loggedInMenu), 50)\n loggedInMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n loggedInMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n })\n loggedInMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n })\n\n return loggedInMenuContainer\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuItem (child: HTMLElement): HTMLElement {\n const menuProfileItem = document.createElement('li')\n addStyleClassToElement(menuProfileItem, ['header-user-menu__list-item'])\n menuProfileItem.appendChild(child)\n return menuProfileItem\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function getProfileImg (store: IndexedFormula, user: NamedNode): string | HTMLElement {\n let profileUrl = null\n try {\n profileUrl = widgets.findImage(user)\n if (!profileUrl) {\n return emptyProfile\n }\n } catch {\n return emptyProfile\n }\n\n const profileImage = document.createElement('div')\n addStyleClassToElement(profileImage, ['header-user-menu__photo'])\n profileImage.style.backgroundImage = `url(${profileUrl})`\n return profileImage\n}\n\n/**\n * @internal\n */\nfunction toggleMenu (event: Event, trigger: HTMLButtonElement, menu: HTMLElement): void {\n const isExpanded = trigger.getAttribute('aria-expanded') === 'true'\n const expand = event.type === 'mouseover'\n const close = event.type === 'mouseout'\n if ((isExpanded && expand) || (!isExpanded && close)) {\n return\n }\n trigger.setAttribute('aria-expanded', (!isExpanded).toString())\n menu.setAttribute('aria-hidden', isExpanded.toString())\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AAAuF,SAAAO,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAZvF;AACA;AACA;AACA;AACA;;AAKA;;AAKA;AACA;AACA;AACA,IAAMW,sBAAsB,GAAGC,YAAK,CAACC,QAAQ,GAAG,eAAe;AAC/D,IAAMC,qBAAqB,GAAG,sDAAsD;AAyBpF;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAOsBC,UAAUA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAWhC;AACA;AACA;AAFA,SAAAF,YAAA;EAAAA,WAAA,OAAAG,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAXO,SAAAC,SAA2BC,KAAqB,EAAEC,YAAyB,EAAEC,OAAuB;IAAA,IAAAC,MAAA,EAAAC,GAAA;IAAA,OAAAP,YAAA,YAAAQ,IAAA,UAAAC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAC,IAAA,GAAAD,SAAA,CAAAE,IAAA;QAAA;UACnGN,MAAM,GAAGO,QAAQ,CAACC,cAAc,CAAC,YAAY,CAAC;UAAA,IAC/CR,MAAM;YAAAI,SAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,SAAA,CAAAK,MAAA;QAAA;UAILR,GAAG,GAAG,IAAAS,2BAAM,GAAE;UACpBC,aAAa,CAACX,MAAM,EAAEH,KAAK,EAAEI,GAAG,EAAEH,YAAY,EAAEC,OAAO,CAAC,EAAE;UAC1Da,uBAAW,CAACC,QAAQ,CAACF,aAAa,CAACX,MAAM,EAAEH,KAAK,EAAEI,GAAG,EAAEH,YAAY,EAAEC,OAAO,CAAC,CAAC;UAC9Ea,uBAAW,CAACE,OAAO,CAACH,aAAa,CAACX,MAAM,EAAEH,KAAK,EAAEI,GAAG,EAAEH,YAAY,EAAEC,OAAO,CAAC,CAAC;QAAA;QAAA;UAAA,OAAAK,SAAA,CAAAW,IAAA;MAAA;IAAA,GAAAnB,QAAA;EAAA,CAC9E;EAAA,OAAAN,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAIM,SAASmB,aAAaA,CAAEX,MAAmB,EAAEH,KAAqB,EAAEI,GAAc,EAAEH,YAAyB,EAAEC,OAAuB,EAAE;EAC7I,wBAAAN,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAAO,SAAAqB,QAAA;IAAA,IAAAC,IAAA;IAAA,OAAAvB,YAAA,YAAAQ,IAAA,UAAAgB,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAd,IAAA,GAAAc,QAAA,CAAAb,IAAA;QAAA;UACCW,IAAI,GAAGG,iBAAK,CAACC,WAAW,EAAE;UAChCrB,MAAM,CAACsB,SAAS,GAAG,EAAE;UAAAH,QAAA,CAAAI,EAAA,GACrBvB,MAAM;UAAAmB,QAAA,CAAAb,IAAA;UAAA,OAAmBkB,YAAY,CAAC3B,KAAK,EAAEI,GAAG,EAAEgB,IAAI,EAAEnB,YAAY,EAAEC,OAAO,CAAC;QAAA;UAAAoB,QAAA,CAAAM,EAAA,GAAAN,QAAA,CAAAO,IAAA;UAAAP,QAAA,CAAAI,EAAA,CAAvEI,WAAW,CAAAhD,IAAA,CAAAwC,QAAA,CAAAI,EAAA,EAAAJ,QAAA,CAAAM,EAAA;QAAA;QAAA;UAAA,OAAAN,QAAA,CAAAJ,IAAA;MAAA;IAAA,GAAAC,OAAA;EAAA,CACnB;AACH;AACA;AACA;AACA;AAFA,SAGsBQ,YAAYA,CAAAI,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAA1C,KAAA,OAAAC,SAAA;AAAA;AAgClC;AACA;AACA;AAFA,SAAAyC,cAAA;EAAAA,aAAA,OAAAxC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAhCO,SAAAuC,SAA6BrC,KAAqB,EAAEI,GAAc,EAAEgB,IAAsB,EAAEnB,YAAyB,EAAEC,OAAuB;IAAA,IAAAoC,OAAA,EAAAC,KAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,gBAAA,EAAAC,QAAA;IAAA,OAAA9C,YAAA,YAAAQ,IAAA,UAAAuC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAArC,IAAA,GAAAqC,SAAA,CAAApC,IAAA;QAAA;UAC7I6B,OAAO,GAAG5B,QAAQ,CAACoC,aAAa,CAAC,GAAG,CAAC;UAC3CR,OAAO,CAACS,IAAI,GAAG3C,GAAG,CAAC4C,GAAG;UACtB,IAAAC,2CAAsB,EAACX,OAAO,EAAE,CAAC,qBAAqB,CAAC,CAAC;UAClDC,KAAK,GAAG7B,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAC3C,IAAI5C,OAAO,EAAE;YACXqC,KAAK,CAACW,GAAG,GAAGhD,OAAO,CAACiD,IAAI,GAAGjD,OAAO,CAACiD,IAAI,GAAG/D,qBAAqB;UACjE;UACA,IAAA6D,2CAAsB,EAACV,KAAK,EAAE,CAAC,qBAAqB,CAAC,CAAC;UACtDD,OAAO,CAACR,WAAW,CAACS,KAAK,CAAC;UAAA,KAETnB,IAAI;YAAAyB,SAAA,CAAApC,IAAA;YAAA;UAAA;UAAAoC,SAAA,CAAApC,IAAA;UAAA,OACX2C,cAAc,CAACpD,KAAK,EAAEoB,IAAI,EAAEnB,YAAY,CAAC;QAAA;UAAA4C,SAAA,CAAAnB,EAAA,GAAAmB,SAAA,CAAAhB,IAAA;UAAAgB,SAAA,CAAApC,IAAA;UAAA;QAAA;UAAAoC,SAAA,CAAAnB,EAAA,GAC/C2B,wBAAwB,EAAE;QAAA;UAFxBb,QAAQ,GAAAK,SAAA,CAAAnB,EAAA;UAIRe,MAAM,GAAG/B,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAC5C,IAAAG,2CAAsB,EAACR,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC;UACjDA,MAAM,CAACX,WAAW,CAACQ,OAAO,CAAC;UAErBI,gBAAgB,GAAGhC,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UACtD,IAAAG,2CAAsB,EAACP,gBAAgB,EAAE,CAAC,2BAA2B,CAAC,CAAC;UACvEA,gBAAgB,CAACZ,WAAW,CAACU,QAAQ,CAAC;UAEtC,IAAItC,OAAO,IAAIA,OAAO,CAACoD,YAAY,EAAE;YAC7BX,QAAQ,GAAGY,cAAc,CAACrD,OAAO,EAAEA,OAAO,CAACoD,YAAY,CAAC;YAC9DZ,gBAAgB,CAACZ,WAAW,CAACa,QAAQ,CAAmB;UAC1D;UAEAF,MAAM,CAACX,WAAW,CAACY,gBAAgB,CAAC;UAAA,OAAAG,SAAA,CAAAjC,MAAA,WAE7B6B,MAAM;QAAA;QAAA;UAAA,OAAAI,SAAA,CAAA3B,IAAA;MAAA;IAAA,GAAAmB,QAAA;EAAA,CACd;EAAA,OAAAD,aAAA,CAAA1C,KAAA,OAAAC,SAAA;AAAA;AAIM,SAAS4D,cAAcA,CAAErD,OAAsB,EAAEsD,aAA0B,EAAE;EAClF,IAAI,CAACA,aAAa,EAAE;EACpB,IAAMF,YAAY,GAAG5C,QAAQ,CAACoC,aAAa,CAAC,IAAI,CAAC;EACjD,IAAAG,2CAAsB,EAACK,YAAY,EAAE,CAAC,wBAAwB,CAAC,CAAC;EAChEE,aAAa,CAACC,OAAO,CAAC,UAAUC,QAAQ,EAAE;IACxC,IAAMC,YAAoB,GAAID,QAAQ,CAAkBE,GAAG,GAAG,KAAK,GAAG,SAAS;IAC/E,IAAID,YAAY,KAAK,KAAK,EAAE;MAC1BL,YAAY,CAACxB,WAAW,CAAC+B,kBAAkB,CAACC,kBAAkB,CAACJ,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAkBE,GAAG,EAAGF,QAAQ,CAAkBM,MAAM,CAAC,CAAC,CAAC;IACrJ,CAAC,MAAM;MACLV,YAAY,CAACxB,WAAW,CAAC+B,kBAAkB,CAACI,oBAAoB,CAACP,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAoBQ,OAAO,CAAC,CAAC,CAAC;IAC1H;EACF,CAAC,CAAC;EAEF,IAAMvB,QAAQ,GAAGjC,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAE9C,IAAAG,2CAAsB,EAACN,QAAQ,EAAE,CAAC,mCAAmC,CAAC,CAAC;EACvEA,QAAQ,CAACwB,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;EAC5CxB,QAAQ,CAACb,WAAW,CAACwB,YAAY,CAAC;EAElC,IAAMc,iBAAiB,GAAG1D,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EACvD,IAAAG,2CAAsB,EAACmB,iBAAiB,EAAE,CAAC,0BAA0B,CAAC,CAAC;EACvE,IAAAnB,2CAAsB,EAACmB,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,CAAC;EAC/DA,iBAAiB,CAACtC,WAAW,CAACa,QAAQ,CAAC;EAEvC,IAAM0B,eAAe,GAAG3D,QAAQ,CAACoC,aAAa,CAAC,QAAQ,CAAC;EACxD,IAAAG,2CAAsB,EAACoB,eAAe,EAAE,CAAC,2BAA2B,CAAC,CAAC;EACtEA,eAAe,CAACC,IAAI,GAAG,QAAQ;EAE/B,IAAMC,YAAY,GAAG7D,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAClDyB,YAAY,CAACrB,GAAG,GAAIhD,OAAO,IAAIA,OAAO,CAACsE,QAAQ,GAAItE,OAAO,CAACsE,QAAQ,GAAGtF,YAAK,CAACC,QAAQ,GAAGF,sBAAsB;EAC7G,IAAAgE,2CAAsB,EAACsB,YAAY,EAAE,CAAC,0BAA0B,CAAC,CAAC;EAClEH,iBAAiB,CAACtC,WAAW,CAACuC,eAAe,CAAC;EAC9CA,eAAe,CAACvC,WAAW,CAACyC,YAAY,CAAC;EAEzC,IAAME,mBAAmB,GAAG,IAAAC,6BAAQ,EAAC,UAACC,KAAY;IAAA,OAAKC,UAAU,CAACD,KAAK,EAAEN,eAAe,EAAE1B,QAAQ,CAAC;EAAA,GAAE,EAAE,CAAC;EACxG0B,eAAe,CAACQ,gBAAgB,CAAC,OAAO,EAAEJ,mBAAmB,CAAC;EAC9D,IAAIK,KAAK,GAAGC,UAAU,CAAC;IAAA,OAAM,IAAI;EAAA,GAAE,CAAC,CAAC;EACrCX,iBAAiB,CAACS,gBAAgB,CAAC,WAAW,EAAE,UAAAF,KAAK,EAAI;IACvDK,YAAY,CAACF,KAAK,CAAC;IACnBL,mBAAmB,CAACE,KAAK,CAAC;EAC5B,CAAC,CAAC;EACFP,iBAAiB,CAACS,gBAAgB,CAAC,UAAU,EAAE,UAAAF,KAAK,EAAI;IACtDG,KAAK,GAAGC,UAAU,CAAC;MAAA,OAAMN,mBAAmB,CAACE,KAAK,CAAC;IAAA,GAAE,GAAG,CAAC;EAC3D,CAAC,CAAC;EAEF,OAAOP,iBAAiB;AAC1B;AACA;AACA;AACA;AACO,SAASf,wBAAwBA,CAAA,EAAI;EAC1C,IAAM4B,qBAAqB,GAAGvE,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAC3D,IAAAG,2CAAsB,EAACgC,qBAAqB,EAAE,CAAC,sBAAsB,CAAC,CAAC;EACvEA,qBAAqB,CAACnD,WAAW,CAAC,IAAAoD,qBAAc,EAACxE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;EACrE,OAAOuE,qBAAqB;AAC9B;AACA;AACA;AACA;AACO,SAAShB,oBAAoBA,CAAEF,KAAa,EAAEoB,OAA2C,EAAe;EAC7G,IAAMC,MAAM,GAAG1E,QAAQ,CAACoC,aAAa,CAAC,QAAQ,CAAC;EAC/C,IAAAG,2CAAsB,EAACmC,MAAM,EAAE,CAAC,0BAA0B,CAAC,CAAC;EAC5DA,MAAM,CAACP,gBAAgB,CAAC,OAAO,EAAEM,OAAO,CAAC;EACzCC,MAAM,CAACC,SAAS,GAAGtB,KAAK;EACxB,OAAOqB,MAAM;AACf;AACA;AACA;AACA;AACO,SAAStB,kBAAkBA,CAAEC,KAAa,EAAEhB,IAAY,EAAEiB,MAAe,EAAe;EAC7F,IAAMsB,IAAI,GAAG5E,QAAQ,CAACoC,aAAa,CAAC,GAAG,CAAC;EACxC,IAAAG,2CAAsB,EAACqC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC;EACxDA,IAAI,CAACvC,IAAI,GAAGA,IAAI;EAChBuC,IAAI,CAACD,SAAS,GAAGtB,KAAK;EACtB,IAAIC,MAAM,EAAEsB,IAAI,CAACtB,MAAM,GAAGA,MAAM;EAChC,OAAOsB,IAAI;AACb;;AAEA;AACA;AACA;AAFA,SAGsBlC,cAAcA,CAAAmC,GAAA,EAAAC,IAAA,EAAAC,IAAA;EAAA,OAAAC,eAAA,CAAAhG,KAAA,OAAAC,SAAA;AAAA;AAuDpC;AACA;AACA;AAFA,SAAA+F,gBAAA;EAAAA,eAAA,OAAA9F,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAvDO,SAAA6F,SAA+B3F,KAAqB,EAAEoB,IAAe,EAAEnB,YAAyB;IAAA,IAAA2F,OAAA,EAAAC,gBAAA,EAAAC,YAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,qBAAA,EAAAxB,mBAAA,EAAAK,KAAA;IAAA,OAAAjF,YAAA,YAAAQ,IAAA,UAAA6F,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA3F,IAAA,GAAA2F,SAAA,CAAA1F,IAAA;QAAA;UAC/FmF,OAAO,GAAS5F,KAAK,CAAE4F,OAAO;UAAA,KAChCA,OAAO;YAAAO,SAAA,CAAA1F,IAAA;YAAA;UAAA;UAAA0F,SAAA,CAAA1F,IAAA;UAAA,OAEHmF,OAAO,CAACQ,IAAI,CAAChF,IAAI,CAAC;QAAA;UAGpByE,gBAAgB,GAAGnF,QAAQ,CAACoC,aAAa,CAAC,IAAI,CAAC;UACrD,IAAAG,2CAAsB,EAAC4C,gBAAgB,EAAE,CAAC,wBAAwB,CAAC,CAAC;UACpE,IAAI5F,YAAY,EAAE;YAChBA,YAAY,CAACwD,OAAO,CAAC,UAAUC,QAAQ,EAAE;cACvC,IAAMC,YAAoB,GAAID,QAAQ,CAAkBE,GAAG,GAAG,KAAK,GAAG,SAAS;cAC/E,IAAID,YAAY,KAAK,KAAK,EAAE;gBAC1BkC,gBAAgB,CAAC/D,WAAW,CAAC+B,kBAAkB,CAACC,kBAAkB,CAACJ,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAkBE,GAAG,EAAGF,QAAQ,CAAkBM,MAAM,CAAC,CAAC,CAAC;cACzJ,CAAC,MAAM;gBACL6B,gBAAgB,CAAC/D,WAAW,CAAC+B,kBAAkB,CAACI,oBAAoB,CAACP,QAAQ,CAACK,KAAK,EAAGL,QAAQ,CAAoBQ,OAAO,CAAC,CAAC,CAAC;cAC9H;YACF,CAAC,CAAC;UACJ;UACM4B,YAAY,GAAGpF,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAElD,IAAAG,2CAAsB,EAAC6C,YAAY,EAAE,CAAC,mCAAmC,CAAC,CAAC;UAC3EA,YAAY,CAAC3B,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;UAChD2B,YAAY,CAAChE,WAAW,CAAC+D,gBAAgB,CAAC;UAEpCE,mBAAmB,GAAGrF,QAAQ,CAACoC,aAAa,CAAC,QAAQ,CAAC;UAC5D,IAAAG,2CAAsB,EAAC8C,mBAAmB,EAAE,CAAC,2BAA2B,CAAC,CAAC;UAC1EA,mBAAmB,CAACzB,IAAI,GAAG,QAAQ;UAC7B0B,UAAU,GAAGK,aAAa,CAACrG,KAAK,EAAEoB,IAAI,CAAC;UAC7C,IAAI,OAAO4E,UAAU,KAAK,QAAQ,EAAE;YAClCD,mBAAmB,CAACtE,SAAS,GAAGuE,UAAU;UAC5C,CAAC,MAAM;YACLD,mBAAmB,CAACjE,WAAW,CAACkE,UAAU,CAAC;UAC7C;UAEMC,qBAAqB,GAAGvF,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;UAC3D,IAAAG,2CAAsB,EAACgD,qBAAqB,EAAE,CAAC,0BAA0B,CAAC,CAAC;UAC3E,IAAAhD,2CAAsB,EAACgD,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,CAAC;UACnEA,qBAAqB,CAACnE,WAAW,CAACiE,mBAAmB,CAAC;UACtDE,qBAAqB,CAACnE,WAAW,CAACgE,YAAY,CAAC;UAEzCrB,mBAAmB,GAAG,IAAAC,6BAAQ,EAAC,UAACC,KAAY;YAAA,OAAKC,UAAU,CAACD,KAAK,EAAEoB,mBAAmB,EAAED,YAAY,CAAC;UAAA,GAAE,EAAE,CAAC;UAChHC,mBAAmB,CAAClB,gBAAgB,CAAC,OAAO,EAAEJ,mBAAmB,CAAC;UAC9DK,KAAK,GAAGC,UAAU,CAAC;YAAA,OAAM,IAAI;UAAA,GAAE,CAAC,CAAC;UACrCkB,qBAAqB,CAACpB,gBAAgB,CAAC,WAAW,EAAE,UAAAF,KAAK,EAAI;YAC3DK,YAAY,CAACF,KAAK,CAAC;YACnBL,mBAAmB,CAACE,KAAK,CAAC;UAC5B,CAAC,CAAC;UACFsB,qBAAqB,CAACpB,gBAAgB,CAAC,UAAU,EAAE,UAAAF,KAAK,EAAI;YAC1DG,KAAK,GAAGC,UAAU,CAAC;cAAA,OAAMN,mBAAmB,CAACE,KAAK,CAAC;YAAA,GAAE,GAAG,CAAC;UAC3D,CAAC,CAAC;UAAA,OAAAwB,SAAA,CAAAvF,MAAA,WAEKqF,qBAAqB;QAAA;QAAA;UAAA,OAAAE,SAAA,CAAAjF,IAAA;MAAA;IAAA,GAAAyE,QAAA;EAAA,CAC7B;EAAA,OAAAD,eAAA,CAAAhG,KAAA,OAAAC,SAAA;AAAA;AAKM,SAASkE,kBAAkBA,CAAEyC,KAAkB,EAAe;EACnE,IAAMC,eAAe,GAAG7F,QAAQ,CAACoC,aAAa,CAAC,IAAI,CAAC;EACpD,IAAAG,2CAAsB,EAACsD,eAAe,EAAE,CAAC,6BAA6B,CAAC,CAAC;EACxEA,eAAe,CAACzE,WAAW,CAACwE,KAAK,CAAC;EAClC,OAAOC,eAAe;AACxB;AACA;AACA;AACA;AACO,SAASF,aAAaA,CAAErG,KAAqB,EAAEoB,IAAe,EAAwB;EAC3F,IAAIoF,UAAU,GAAG,IAAI;EACrB,IAAI;IACFA,UAAU,GAAGjJ,OAAO,CAACkJ,SAAS,CAACrF,IAAI,CAAC;IACpC,IAAI,CAACoF,UAAU,EAAE;MACf,OAAOE,0BAAY;IACrB;EACF,CAAC,CAAC,OAAAC,OAAA,EAAM;IACN,OAAOD,0BAAY;EACrB;EAEA,IAAME,YAAY,GAAGlG,QAAQ,CAACoC,aAAa,CAAC,KAAK,CAAC;EAClD,IAAAG,2CAAsB,EAAC2D,YAAY,EAAE,CAAC,yBAAyB,CAAC,CAAC;EACjEA,YAAY,CAACC,KAAK,CAACC,eAAe,UAAAC,MAAA,CAAUP,UAAU,MAAG;EACzD,OAAOI,YAAY;AACrB;;AAEA;AACA;AACA;AACA,SAAShC,UAAUA,CAAED,KAAY,EAAEqC,OAA0B,EAAEC,IAAiB,EAAQ;EACtF,IAAMC,UAAU,GAAGF,OAAO,CAACG,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;EACnE,IAAMC,MAAM,GAAGzC,KAAK,CAACL,IAAI,KAAK,WAAW;EACzC,IAAM+C,KAAK,GAAG1C,KAAK,CAACL,IAAI,KAAK,UAAU;EACvC,IAAK4C,UAAU,IAAIE,MAAM,IAAM,CAACF,UAAU,IAAIG,KAAM,EAAE;IACpD;EACF;EACAL,OAAO,CAAC7C,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC+C,UAAU,EAAEI,QAAQ,EAAE,CAAC;EAC/DL,IAAI,CAAC9C,YAAY,CAAC,aAAa,EAAE+C,UAAU,CAACI,QAAQ,EAAE,CAAC;AACzD"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_index","require","_solidLogic","_login","widgets","_interopRequireWildcard","style","_emptyProfile","_headerFooterHelpers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_HELP_MENU_ICON","icons","iconBase","DEFAUL_SOLID_ICON_URL","initHeader","_x","_x2","_x3","_initHeader","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","store","userMenuList","options","header","pod","wrap","_callee2$","_context2","prev","next","document","getElementById","abrupt","getPod","rebuildHeader","authSession","onLogout","onLogin","stop","_callee","user","_callee$","_context","authn","currentUser","innerHTML","t0","createBanner","t1","sent","appendChild","_x4","_x5","_x6","_x7","_x8","_createBanner","_callee3","podLink","image","userMenu","banner","leftSideOfHeader","helpMenu","_callee3$","_context3","createElement","href","uri","setAttribute","headerBannerLink","src","logo","headerBannerIcon","createUserMenu","createLoginSignUpButtons","headerBanner","headerBannerRightMenu","helpMenuList","createHelpMenu","helpMenuItems","headerUserMenuList","forEach","menuItem","menuItemType","url","createUserMenuItem","createUserMenuLink","label","target","createUserMenuButton","onclick","headerUserMenuNavigationMenuNotDisplayed","helpMenuContainer","headerBannerUserMenu","helpMenuTrigger","headerUserMenuTrigger","type","helpMenuIcon","helpIcon","headerUserMenuTriggerImg","throttledMenuToggle","throttle","event","toggleMenu","addEventListener","timer","setTimeout","clearTimeout","nav","headerUserMenuNavigationMenu","profileLoginButtonPre","headerBannerLogin","loginStatusBox","onClick","button","headerUserMenuButton","onmouseover","headerUserMenuButtonHover","onmouseout","innerText","link","headerUserMenuLink","headerUserMenuLinkHover","_x9","_x10","_x11","_createUserMenu","_callee4","fetcher","loggedInMenuList","loggedInMenu","loggedInMenuTrigger","profileImg","loggedInMenuContainer","_callee4$","_context4","load","getProfileImg","headerBannerUserMenuNotDisplayed","child","menuProfileItem","headerUserMenuListItem","profileUrl","findImage","emptyProfile","_unused","profileImage","headerUserMenuPhoto","backgroundImage","concat","trigger","menu","isExpanded","getAttribute","expand","close","toString"],"sources":["../../src/header/index.ts"],"sourcesContent":["/* global EventListenerOrEventListenerObject */\n/*\n This file was copied from mashlib/src/global/header.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { IndexedFormula, NamedNode } from 'rdflib'\nimport { icons } from '../index'\nimport { authn, authSession } from 'solid-logic'\nimport { loginStatusBox } from '../login/login'\n// import { loginStatusBox, authSession, currentUser } from '../authn/authn'\nimport * as widgets from '../widgets'\nimport * as style from '../style'\nimport { emptyProfile } from './empty-profile'\nimport { getPod, throttle } from '../utils/headerFooterHelpers'\n\n/**\n * menu icons\n*/\nconst DEFAULT_HELP_MENU_ICON = icons.iconBase + 'noun_help.svg'\nconst DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\n\nexport type MenuItemLink = {\n label: string,\n url: string,\n target?: string\n}\n\nexport type MenuItemButton = {\n label: string,\n onclick: () => void\n}\n\nexport type MenuItems = MenuItemLink | MenuItemButton\n\n/*\n HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default\n is solid. Menulist will always show a link to logout and to the users profile.\n */\nexport type HeaderOptions = {\n logo?: string,\n helpIcon?: string,\n helpMenuList?: MenuItems[]\n}\n\n/**\n * Initialize header component, the header object returned depends on whether the user is authenticated.\n * @param store the data store\n * @param userMenuList a list of menu items when the user is logged in\n * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.\n * @returns a header for an authenticated user with menu items given or a login screen\n */\nexport async function initHeader (store: IndexedFormula, userMenuList: MenuItems[], options?: HeaderOptions) {\n const header = document.getElementById('PageHeader')\n if (!header) {\n return\n }\n\n const pod = getPod()\n rebuildHeader(header, store, pod, userMenuList, options)()\n authSession.onLogout(rebuildHeader(header, store, pod, userMenuList, options))\n authSession.onLogin(rebuildHeader(header, store, pod, userMenuList, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildHeader (header: HTMLElement, store: IndexedFormula, pod: NamedNode, userMenuList: MenuItems[], options?: HeaderOptions) {\n return async () => {\n const user = authn.currentUser()\n header.innerHTML = ''\n header.appendChild(await createBanner(store, pod, user, userMenuList, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createBanner (store: IndexedFormula, pod: NamedNode, user: NamedNode | null, userMenuList: MenuItems[], options?: HeaderOptions): Promise<HTMLElement> {\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.setAttribute('style', style.headerBannerLink)\n const image = document.createElement('img')\n if (options) {\n image.src = options.logo ? options.logo : DEFAUL_SOLID_ICON_URL\n }\n image.setAttribute('style', style.headerBannerIcon)\n podLink.appendChild(image)\n\n const userMenu = user\n ? await createUserMenu(store, user, userMenuList)\n : createLoginSignUpButtons()\n\n const banner = document.createElement('div')\n banner.setAttribute('style', style.headerBanner)\n banner.appendChild(podLink)\n\n const leftSideOfHeader = document.createElement('div')\n leftSideOfHeader.setAttribute('style', style.headerBannerRightMenu)\n leftSideOfHeader.appendChild(userMenu)\n\n if (options && options.helpMenuList) {\n const helpMenu = createHelpMenu(options, options.helpMenuList)\n leftSideOfHeader.appendChild(helpMenu as HTMLDivElement)\n }\n\n banner.appendChild(leftSideOfHeader)\n\n return banner\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createHelpMenu (options: HeaderOptions, helpMenuItems: MenuItems[]) {\n if (!helpMenuItems) return\n const helpMenuList = document.createElement('ul')\n helpMenuList.setAttribute('style', style.headerUserMenuList)\n helpMenuItems.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n helpMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n\n const helpMenu = document.createElement('nav')\n\n helpMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\n helpMenu.setAttribute('aria-hidden', 'true')\n helpMenu.setAttribute('id', 'helperNav')\n helpMenu.appendChild(helpMenuList)\n\n const helpMenuContainer = document.createElement('div')\n helpMenuContainer.setAttribute('style', style.headerBannerUserMenu)\n helpMenuContainer.appendChild(helpMenu)\n\n const helpMenuTrigger = document.createElement('button')\n helpMenuTrigger.setAttribute('style', style.headerUserMenuTrigger)\n helpMenuTrigger.type = 'button'\n\n const helpMenuIcon = document.createElement('img')\n helpMenuIcon.src = (options && options.helpIcon) ? options.helpIcon : icons.iconBase + DEFAULT_HELP_MENU_ICON\n helpMenuIcon.setAttribute('style', style.headerUserMenuTriggerImg)\n helpMenuContainer.appendChild(helpMenuTrigger)\n helpMenuTrigger.appendChild(helpMenuIcon)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, helpMenuTrigger, helpMenu), 50)\n helpMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n helpMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n const nav = document.getElementById('helperNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenu)\n })\n helpMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n const nav = document.getElementById('helperNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\n })\n\n return helpMenuContainer\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createLoginSignUpButtons () {\n const profileLoginButtonPre = document.createElement('div')\n profileLoginButtonPre.setAttribute('style', style.headerBannerLogin)\n profileLoginButtonPre.appendChild(loginStatusBox(document, null, {}))\n return profileLoginButtonPre\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuButton (label: string, onClick: EventListenerOrEventListenerObject): HTMLElement {\n const button = document.createElement('button')\n button.setAttribute('style', style.headerUserMenuButton)\n button.onmouseover = function () {\n button.setAttribute('style', style.headerUserMenuButtonHover)\n }\n button.onmouseout = function () {\n button.setAttribute('style', style.headerUserMenuButton)\n }\n button.addEventListener('click', onClick)\n button.innerText = label\n return button\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuLink (label: string, href: string, target?: string): HTMLElement {\n const link = document.createElement('a')\n link.setAttribute('style', style.headerUserMenuLink)\n link.onmouseover = function () {\n link.setAttribute('style', style.headerUserMenuLinkHover)\n }\n link.onmouseout = function () {\n link.setAttribute('style', style.headerUserMenuLink)\n }\n link.href = href\n link.innerText = label\n if (target) link.target = target\n return link\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport async function createUserMenu (store: IndexedFormula, user: NamedNode, userMenuList: MenuItems[]): Promise<HTMLElement> {\n const fetcher = (<any>store).fetcher\n if (fetcher) {\n // Making sure that Profile is loaded before building menu\n await fetcher.load(user)\n }\n\n const loggedInMenuList = document.createElement('ul')\n loggedInMenuList.setAttribute('style', style.headerUserMenuList)\n if (userMenuList) {\n userMenuList.forEach(function (menuItem) {\n const menuItemType: string = (menuItem as MenuItemLink).url ? 'url' : 'onclick'\n if (menuItemType === 'url') {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuLink(menuItem.label, (menuItem as MenuItemLink).url, (menuItem as MenuItemLink).target)))\n } else {\n loggedInMenuList.appendChild(createUserMenuItem(createUserMenuButton(menuItem.label, (menuItem as MenuItemButton).onclick)))\n }\n })\n }\n const loggedInMenu = document.createElement('nav')\n\n loggedInMenu.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\n loggedInMenu.setAttribute('aria-hidden', 'true')\n loggedInMenu.setAttribute('id', 'loggedInNav')\n loggedInMenu.appendChild(loggedInMenuList)\n\n const loggedInMenuTrigger = document.createElement('button')\n loggedInMenuTrigger.setAttribute('style', style.headerUserMenuTrigger)\n loggedInMenuTrigger.type = 'button'\n const profileImg = getProfileImg(store, user)\n if (typeof profileImg === 'string') {\n loggedInMenuTrigger.innerHTML = profileImg\n } else {\n loggedInMenuTrigger.appendChild(profileImg)\n }\n\n const loggedInMenuContainer = document.createElement('div')\n loggedInMenuContainer.setAttribute('style', style.headerBannerUserMenuNotDisplayed)\n loggedInMenuContainer.appendChild(loggedInMenuTrigger)\n loggedInMenuContainer.appendChild(loggedInMenu)\n\n const throttledMenuToggle = throttle((event: Event) => toggleMenu(event, loggedInMenuTrigger, loggedInMenu), 50)\n loggedInMenuTrigger.addEventListener('click', throttledMenuToggle)\n let timer = setTimeout(() => null, 0)\n loggedInMenuContainer.addEventListener('mouseover', event => {\n clearTimeout(timer)\n throttledMenuToggle(event)\n const nav = document.getElementById('loggedInNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenu)\n })\n loggedInMenuContainer.addEventListener('mouseout', event => {\n timer = setTimeout(() => throttledMenuToggle(event), 200)\n const nav = document.getElementById('loggedInNav')\n nav?.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed)\n })\n\n return loggedInMenuContainer\n}\n\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createUserMenuItem (child: HTMLElement): HTMLElement {\n const menuProfileItem = document.createElement('li')\n menuProfileItem.setAttribute('style', style.headerUserMenuListItem)\n menuProfileItem.appendChild(child)\n return menuProfileItem\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function getProfileImg (store: IndexedFormula, user: NamedNode): string | HTMLElement {\n let profileUrl = null\n try {\n profileUrl = widgets.findImage(user)\n if (!profileUrl) {\n return emptyProfile\n }\n } catch {\n return emptyProfile\n }\n\n const profileImage = document.createElement('div')\n profileImage.setAttribute('style', style.headerUserMenuPhoto)\n profileImage.style.backgroundImage = `url(${profileUrl})`\n return profileImage\n}\n\n/**\n * @internal\n */\nfunction toggleMenu (event: Event, trigger: HTMLButtonElement, menu: HTMLElement): void {\n const isExpanded = trigger.getAttribute('aria-expanded') === 'true'\n const expand = event.type === 'mouseover'\n const close = event.type === 'mouseout'\n if ((isExpanded && expand) || (!isExpanded && close)) {\n return\n }\n trigger.setAttribute('aria-expanded', (!isExpanded).toString())\n menu.setAttribute('aria-hidden', isExpanded.toString())\n}\n"],"mappings":"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"}
|