solid-ui 2.4.23 → 2.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +2159 -5039
- package/dist/main.js.map +1 -1
- package/lib/acl/access-controller.js +4 -67
- package/lib/acl/access-controller.js.map +1 -1
- package/lib/acl/access-groups.js +59 -137
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.js +14 -54
- package/lib/acl/acl-control.js.map +1 -1
- package/lib/acl/acl.js +32 -107
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.js +0 -92
- package/lib/acl/add-agent-buttons.js.map +1 -1
- package/lib/acl/index.js +1 -3
- package/lib/acl/index.js.map +1 -1
- package/lib/acl/styles.js +1 -2
- package/lib/acl/styles.js.map +1 -1
- package/lib/chat/bookmarks.js +8 -80
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/chat/chatLogic.js +109 -180
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +6 -91
- package/lib/chat/dateFolder.js.map +1 -1
- package/lib/chat/infinite.js +33 -185
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/message.js +37 -150
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +23 -96
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/thread.js +33 -91
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.js +19 -51
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.js +0 -2
- package/lib/create/index.js.map +1 -1
- package/lib/debug.js +0 -8
- package/lib/debug.js.map +1 -1
- package/lib/folders.js +4 -27
- package/lib/folders.js.map +1 -1
- package/lib/footer/index.js +2 -24
- package/lib/footer/index.js.map +1 -1
- package/lib/footer/styleMap.js.map +1 -1
- package/lib/header/empty-profile.js.map +1 -1
- package/lib/header/index.js +3 -72
- package/lib/header/index.js.map +1 -1
- package/lib/header/styleMap.js +4 -3
- package/lib/header/styleMap.js.map +1 -1
- package/lib/iconBase.js +3 -4
- package/lib/iconBase.js.map +1 -1
- package/lib/index.js +5 -46
- package/lib/index.js.map +1 -1
- package/lib/jss/index.js +3 -9
- package/lib/jss/index.js.map +1 -1
- package/lib/log.js +15 -51
- package/lib/log.js.map +1 -1
- package/lib/login/login.js +74 -303
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.js +0 -2
- package/lib/matrix/index.js.map +1 -1
- package/lib/matrix/matrix.js +7 -55
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/media/index.js +0 -2
- package/lib/media/index.js.map +1 -1
- package/lib/media/media-capture.js +13 -33
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +23 -64
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js.map +1 -1
- package/lib/ns.js +5 -7
- package/lib/ns.js.map +1 -1
- package/lib/pad.js +48 -234
- package/lib/pad.js.map +1 -1
- package/lib/participation.js +10 -65
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +21 -42
- package/lib/preferences.js.map +1 -1
- package/lib/signup/config-default.js +1 -8
- package/lib/signup/config-default.js.map +1 -1
- package/lib/signup/signup.js +6 -13
- package/lib/signup/signup.js.map +1 -1
- package/lib/stories/decorators.js +0 -2
- package/lib/stories/decorators.js.map +1 -1
- package/lib/style.js +8 -5
- package/lib/style.js.map +1 -1
- package/lib/style_multiSelect.js +1 -5
- package/lib/style_multiSelect.js.map +1 -1
- package/lib/table.js +309 -322
- package/lib/table.js.map +1 -1
- package/lib/tabs.js +20 -100
- package/lib/tabs.js.map +1 -1
- package/lib/utils/headerFooterHelpers.js +4 -52
- package/lib/utils/headerFooterHelpers.js.map +1 -1
- package/lib/utils/index.js +41 -135
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/label.js +13 -34
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +4 -4
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.js +0 -8
- package/lib/widgets/buttons/iconLinks.js.map +1 -1
- package/lib/widgets/buttons.js +115 -291
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +12 -41
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.js +3 -9
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +8 -71
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js +13 -65
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +15 -107
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.js +6 -55
- package/lib/widgets/forms/autocomplete/language.js.map +1 -1
- package/lib/widgets/forms/autocomplete/publicData.js +12 -131
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.js +12 -55
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.js +1 -15
- package/lib/widgets/forms/comment.js.map +1 -1
- package/lib/widgets/forms/fieldFunction.js +3 -16
- package/lib/widgets/forms/fieldFunction.js.map +1 -1
- package/lib/widgets/forms/fieldParams.js +0 -12
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.js +1 -14
- package/lib/widgets/forms/formStyle.js.map +1 -1
- package/lib/widgets/forms.js +70 -474
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -21
- package/lib/widgets/index.js.map +1 -1
- package/lib/widgets/multiSelect.js +48 -171
- package/lib/widgets/multiSelect.js.map +1 -1
- package/lib/widgets/peoplePicker.js +20 -90
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.js +2 -9
- package/lib/widgets/widgetHelpers.js.map +1 -1
- package/package.json +28 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peoplePicker.js","names":["kb","solidLogicSingleton","store","PeoplePicker","element","typeIndex","groupPickedCb","options","selectedgroup","onSelectGroup","bind","container","document","createElement","style","maxWidth","minHeight","outline","display","flexDirection","selectedGroup","Group","render","changeGroupButton","textContent","escape","addEventListener","_event","appendChild","findAddressBook","then","book","chooseExistingGroupButton","margin","GroupPicker","createNewGroupButton","createNewGroup","defaultNewGroupName","group","GroupBuilder","errorBody","errorMessageBlock","innerHTML","err","Promise","resolve","reject","fetcher","nowOrWhenFetched","ok","bookRegistration","any","ns","solid","vcard","Error","load","_xhr","indexes","groupIndex","groupContainer","rdf","sym","uri","uuid","v4","slice","name","patchPromises","doc","map","typeStatement","st","nameStatement","includesGroupStatement","toIns","equals","patch","forEach","add","all","debug","log","xhr","responseURL","loadGroups","groups","groupButton","handleClickGroup","each","getWithDefault","value","doneBuildingCb","groupChangedCb","onGroupChanged","changeType","agent","dropContainer","makeDropTarget","uris","groupNameInput","type","event","setGroupName","target","groupNameLabel","match","statement","webIdNode","object","personDiv","Person","handleRemove","copy","doneBuildingButton","webId","namedNode","rdfClass","foaf","holdsStatement","why","toDel","remove","errorMessage","updatePromises","namedGraph","oldNameStatements","newNameStatement","literal","_solidResponse","removeStatements","imgSrc","iconBase","profileImg","src","width","height","nameSpan","flexGrow","removeButton","subject","predicate","defaultValue","url","updater","update","success","dir"],"sources":["../../src/widgets/peoplePicker.js"],"sourcesContent":["/**\n *\n * People Picker Pane\n *\n * This pane offers a mechanism for selecting a set of individuals, groups, or\n * organizations to take some action on.\n *\n * Assumptions\n * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption\n *\n */\nimport escape from 'escape-html'\nimport uuid from 'uuid'\nimport * as rdf from 'rdflib'\nimport * as debug from '../debug'\n\nimport { makeDropTarget } from './dragAndDrop'\nimport { errorMessageBlock } from './error'\nimport { iconBase } from '../iconBase'\nimport * as ns from '../ns'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport class PeoplePicker {\n constructor (element, typeIndex, groupPickedCb, options) { // @@ can't expect typeindex to be passed\n this.options = options || {}\n this.element = element\n this.typeIndex = typeIndex\n this.groupPickedCb = groupPickedCb\n this.selectedgroup = this.options.selectedgroup // current selected group if any\n this.onSelectGroup = this.onSelectGroup.bind(this)\n }\n\n render () {\n const container = document.createElement('div')\n container.style.maxWidth = '350px'\n container.style.minHeight = '200px'\n container.style.outline = '1px solid black'\n container.style.display = 'flex'\n\n if (this.selectedgroup) {\n container.style.flexDirection = 'column'\n const selectedGroup = document.createElement('div')\n new Group(selectedGroup, this.selectedgroup).render()\n const changeGroupButton = document.createElement('button')\n changeGroupButton.textContent = escape('Change group')\n changeGroupButton.addEventListener('click', _event => {\n this.selectedgroup = null\n this.render()\n })\n container.appendChild(selectedGroup)\n container.appendChild(changeGroupButton)\n } else {\n this.findAddressBook(this.typeIndex)\n .then(({ book }) => {\n const chooseExistingGroupButton = document.createElement('button')\n chooseExistingGroupButton.textContent = escape(\n 'Pick an existing group'\n )\n chooseExistingGroupButton.style.margin = 'auto'\n chooseExistingGroupButton.addEventListener('click', _event => {\n new GroupPicker(container, book, this.onSelectGroup).render()\n })\n\n const createNewGroupButton = document.createElement('button')\n createNewGroupButton.textContent = escape('Create a new group')\n createNewGroupButton.style.margin = 'auto'\n createNewGroupButton.addEventListener('click', _event => {\n this.createNewGroup(book, this.options.defaultNewGroupName)\n .then(({ group }) => {\n new GroupBuilder(\n this.element,\n book,\n group,\n this.onSelectGroup\n ).render()\n })\n .catch(errorBody => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Error creating a new group. (${errorBody})`)\n )\n )\n })\n })\n\n container.appendChild(chooseExistingGroupButton)\n container.appendChild(createNewGroupButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could find your groups. (${err})`)\n )\n )\n })\n }\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n\n findAddressBook (typeIndex) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(typeIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const bookRegistration = kb.any(\n null,\n ns.solid('forClass'),\n ns.vcard('AddressBook')\n )\n if (!bookRegistration) {\n return reject(\n new Error(\n 'no address book registered in the solid type index ' + typeIndex\n )\n )\n }\n const book = kb.any(bookRegistration, ns.solid('instance'))\n if (!book) {\n return reject(new Error('incomplete address book registration'))\n }\n kb.fetcher\n .load(book)\n .then(function (_xhr) {\n return resolve({ book })\n })\n .catch(function (err) {\n return reject(new Error('Could not load address book ' + err))\n })\n })\n })\n }\n\n createNewGroup (book, defaultNewGroupName) {\n const { groupIndex, groupContainer } = indexes(book)\n const group = rdf.sym(\n `${groupContainer.uri}${uuid.v4().slice(0, 8)}.ttl#this`\n )\n const name = defaultNewGroupName || 'Untitled Group'\n\n // NOTE that order matters here. Unfortunately this type of update is\n // non-atomic in that solid requires us to send two PATCHes, either of which\n // might fail.\n const patchPromises = [group.doc(), groupIndex].map(doc => {\n const typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc)\n const nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc)\n const includesGroupStatement = rdf.st(\n book,\n ns.vcard('includesGroup'),\n group,\n doc\n )\n const toIns = doc.equals(groupIndex)\n ? [typeStatement, nameStatement, includesGroupStatement]\n : [typeStatement, nameStatement]\n return patch(doc.uri, { toIns }).then(() => {\n toIns.forEach(st => {\n kb.add(st)\n })\n })\n })\n return Promise.all(patchPromises)\n .then(() => ({ group }))\n .catch(err => {\n debug.log('Could not create new group. PATCH failed ' + err)\n throw new Error(\n `Couldn't create new group. PATCH failed for (${\n err.xhr ? err.xhr.responseURL : ''\n } )`\n )\n })\n }\n\n onSelectGroup (group) {\n this.selectedgroup = group\n this.groupPickedCb(group)\n this.render()\n }\n}\n\nexport class GroupPicker {\n constructor (element, book, onSelectGroup) {\n this.element = element\n this.book = book\n this.onSelectGroup = onSelectGroup\n }\n\n render () {\n this.loadGroups()\n .then(groups => {\n // render the groups\n const container = document.createElement('div')\n container.style.display = 'flex'\n container.style.flexDirection = 'column'\n groups.forEach(group => {\n const groupButton = document.createElement('button')\n groupButton.addEventListener('click', this.handleClickGroup(group))\n new Group(groupButton, group).render()\n container.appendChild(groupButton)\n })\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`There was an error loading your groups. (${err})`)\n )\n )\n })\n return this\n }\n\n loadGroups () {\n return new Promise((resolve, reject) => {\n const { groupIndex } = indexes(this.book)\n kb.fetcher.nowOrWhenFetched(groupIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const groups = kb.each(this.book, ns.vcard('includesGroup'))\n return resolve(groups)\n })\n })\n }\n\n handleClickGroup (group) {\n return _event => {\n this.onSelectGroup(group)\n }\n }\n}\n\nexport class Group {\n constructor (element, group) {\n this.element = element\n this.group = group\n }\n\n render () {\n const container = document.createElement('div')\n container.textContent = escape(\n // @@@@@ need to escape??\n getWithDefault(this.group, ns.vcard('fn'), `[${this.group.value}]`)\n )\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nexport class GroupBuilder {\n constructor (element, book, group, doneBuildingCb, groupChangedCb) {\n this.element = element\n this.book = book\n this.group = group\n this.onGroupChanged = (err, changeType, agent) => {\n if (groupChangedCb) {\n groupChangedCb(err, changeType, agent)\n }\n }\n this.groupChangedCb = groupChangedCb\n this.doneBuildingCb = doneBuildingCb\n }\n\n refresh () {\n // TODO: implement\n }\n\n render () {\n const dropContainer = document.createElement('div')\n dropContainer.style.maxWidth = '350px'\n dropContainer.style.minHeight = '200px'\n dropContainer.style.outline = '1px solid black'\n dropContainer.style.display = 'flex'\n dropContainer.style.flexDirection = 'column'\n\n makeDropTarget(dropContainer, uris => {\n uris.forEach(uri => {\n this.add(uri).catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could not add the given WebId. (${err})`)\n )\n )\n })\n })\n })\n\n const groupNameInput = document.createElement('input')\n groupNameInput.type = 'text'\n groupNameInput.value = getWithDefault(\n this.group,\n ns.vcard('fn'),\n 'Untitled Group'\n )\n groupNameInput.addEventListener('change', event => {\n this.setGroupName(event.target.value).catch(err => {\n this.element.appendChild(\n errorMessageBlock(document, `Error changing group name. (${err})`)\n )\n })\n })\n const groupNameLabel = document.createElement('label')\n groupNameLabel.textContent = escape('Group Name:')\n groupNameLabel.appendChild(groupNameInput)\n dropContainer.appendChild(groupNameLabel)\n\n if (kb.any(this.group, ns.vcard('hasMember'))) {\n kb.match(this.group, ns.vcard('hasMember')).forEach(statement => {\n const webIdNode = statement.object\n const personDiv = document.createElement('div')\n new Person(personDiv, webIdNode, this.handleRemove(webIdNode)).render()\n dropContainer.appendChild(personDiv)\n })\n } else {\n const copy = document.createElement('p')\n copy.textContent = escape`\n To add someone to this group, drag and drop their WebID URL onto the box.\n `\n dropContainer.appendChild(copy)\n }\n\n const doneBuildingButton = document.createElement('button')\n doneBuildingButton.textContent = escape('Done')\n doneBuildingButton.addEventListener('click', _event => {\n this.doneBuildingCb(this.group)\n })\n dropContainer.appendChild(doneBuildingButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(dropContainer)\n return this\n }\n\n add (webId) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(webId, (ok, err) => {\n if (!ok) {\n this.onGroupChanged(err)\n return reject(err)\n }\n // make sure it's a valid person, group, or entity (for now just handle\n // webId)\n const webIdNode = rdf.namedNode(webId)\n const rdfClass = kb.any(webIdNode, ns.rdf('type'))\n if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {\n return reject(\n new Error(\n `Only people supported right now. (tried to add something of type ${rdfClass.value})`\n )\n )\n }\n return resolve(webIdNode)\n })\n }).then(webIdNode => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n if (kb.holdsStatement(statement)) {\n return webIdNode\n }\n return patch(this.group.doc().uri, { toIns: [statement] }).then(() => {\n statement.why = this.group.doc()\n kb.add(statement)\n this.onGroupChanged(null, 'added', webIdNode)\n this.render()\n })\n })\n }\n\n handleRemove (webIdNode) {\n return _event => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n return patch(this.group.doc().uri, { toDel: [statement] })\n .then(() => {\n kb.remove(statement)\n this.onGroupChanged(null, 'removed', webIdNode)\n this.render()\n return true\n })\n .catch(err => {\n const name = kb.any(webIdNode, ns.foaf('name'))\n const errorMessage =\n name && name.value\n ? `Could not remove ${name.value}. (${err})`\n : `Could not remove ${webIdNode.value}. (${err})`\n throw new Error(errorMessage)\n })\n }\n }\n\n setGroupName (name) {\n const { groupIndex } = indexes(this.book)\n const updatePromises = [this.group.doc(), groupIndex].map(namedGraph => {\n const oldNameStatements = kb.match(\n this.group,\n ns.vcard('fn'),\n null,\n namedGraph\n )\n const newNameStatement = rdf.st(\n this.group,\n ns.vcard('fn'),\n rdf.literal(name)\n )\n return patch(namedGraph.value, {\n toDel: oldNameStatements,\n toIns: [newNameStatement]\n }).then(_solidResponse => {\n kb.removeStatements(oldNameStatements)\n newNameStatement.why = namedGraph\n kb.add(newNameStatement)\n })\n })\n return Promise.all(updatePromises)\n }\n}\n// @ignore exporting this only for the unit test\n// @@ TODO maybe I should move this down at end, but for\n// now I will leave it where it was\nexport class Person {\n constructor (element, webIdNode, handleRemove) {\n this.webIdNode = webIdNode\n this.element = element\n this.handleRemove = handleRemove\n }\n\n render () {\n const container = document.createElement('div')\n container.style.display = 'flex'\n\n // TODO: take a look at UI.widgets.setName\n const imgSrc = getWithDefault(\n this.webIdNode,\n ns.foaf('img'),\n iconBase + 'noun_15059.svg'\n )\n const profileImg = document.createElement('img')\n profileImg.src = escape(imgSrc)\n profileImg.width = '50'\n profileImg.height = '50'\n profileImg.style.margin = '5px'\n\n // TODO: take a look at UI.widgets.setImage\n const name = getWithDefault(\n this.webIdNode,\n ns.foaf('name'),\n `[${this.webIdNode}]`\n )\n const nameSpan = document.createElement('span')\n nameSpan.innerHTML = escape(name)\n nameSpan.style.flexGrow = '1'\n nameSpan.style.margin = 'auto 0'\n\n const removeButton = document.createElement('button')\n removeButton.textContent = 'Remove'\n removeButton.addEventListener('click', _event =>\n this.handleRemove().catch(err => {\n this.element.appendChild(errorMessageBlock(document, escape(`${err}`)))\n })\n )\n removeButton.style.margin = '5px'\n\n container.appendChild(profileImg)\n container.appendChild(nameSpan)\n container.appendChild(removeButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nfunction getWithDefault (subject, predicate, defaultValue) {\n const object = kb.any(subject, predicate)\n return object ? object.value : defaultValue\n}\n\nfunction patch (url, { toDel, toIns }) {\n return new Promise((resolve, reject) => {\n kb.updater.update(toDel, toIns, (uri, success, errorMessage) => {\n if (!success) {\n return reject(\n new Error(`PATCH failed for resource <${uri}>: ${errorMessage}`)\n )\n }\n resolve()\n })\n })\n // return webClient.patch(url, toDel, toIns)\n // .then(solidResponse => {\n // const status = solidResponse.xhr.status\n // if (status < 200 || status >= 400) {\n // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)\n // err.solidResponse = solidResponse\n // throw err\n // }\n // })\n}\n\nfunction indexes (book) {\n return {\n // bookIndex: book,\n groupIndex: kb.any(book, ns.vcard('groupIndex')),\n groupContainer: kb.sym(book.dir().uri + 'Group/')\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAWA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,EAAE,GAAGC,+BAAA,CAAoBC,KAA/B;;IAEaC,Y;EACX,sBAAaC,OAAb,EAAsBC,SAAtB,EAAiCC,aAAjC,EAAgDC,OAAhD,EAAyD;IAAA;IAAE;IACzD,KAAKA,OAAL,GAAeA,OAAO,IAAI,EAA1B;IACA,KAAKH,OAAL,GAAeA,OAAf;IACA,KAAKC,SAAL,GAAiBA,SAAjB;IACA,KAAKC,aAAL,GAAqBA,aAArB;IACA,KAAKE,aAAL,GAAqB,KAAKD,OAAL,CAAaC,aAAlC,CALuD,CAKP;;IAChD,KAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,CAArB;EACD;;;;WAED,kBAAU;MAAA;;MACR,IAAMC,SAAS,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;MACAF,SAAS,CAACG,KAAV,CAAgBC,QAAhB,GAA2B,OAA3B;MACAJ,SAAS,CAACG,KAAV,CAAgBE,SAAhB,GAA4B,OAA5B;MACAL,SAAS,CAACG,KAAV,CAAgBG,OAAhB,GAA0B,iBAA1B;MACAN,SAAS,CAACG,KAAV,CAAgBI,OAAhB,GAA0B,MAA1B;;MAEA,IAAI,KAAKV,aAAT,EAAwB;QACtBG,SAAS,CAACG,KAAV,CAAgBK,aAAhB,GAAgC,QAAhC;QACA,IAAMC,aAAa,GAAGR,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAtB;QACA,IAAIQ,KAAJ,CAAUD,aAAV,EAAyB,KAAKZ,aAA9B,EAA6Cc,MAA7C;QACA,IAAMC,iBAAiB,GAAGX,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAA1B;QACAU,iBAAiB,CAACC,WAAlB,GAAgC,IAAAC,sBAAA,EAAO,cAAP,CAAhC;QACAF,iBAAiB,CAACG,gBAAlB,CAAmC,OAAnC,EAA4C,UAAAC,MAAM,EAAI;UACpD,KAAI,CAACnB,aAAL,GAAqB,IAArB;;UACA,KAAI,CAACc,MAAL;QACD,CAHD;QAIAX,SAAS,CAACiB,WAAV,CAAsBR,aAAtB;QACAT,SAAS,CAACiB,WAAV,CAAsBL,iBAAtB;MACD,CAZD,MAYO;QACL,KAAKM,eAAL,CAAqB,KAAKxB,SAA1B,EACGyB,IADH,CACQ,gBAAc;UAAA,IAAXC,IAAW,QAAXA,IAAW;UAClB,IAAMC,yBAAyB,GAAGpB,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAAlC;UACAmB,yBAAyB,CAACR,WAA1B,GAAwC,IAAAC,sBAAA,EACtC,wBADsC,CAAxC;UAGAO,yBAAyB,CAAClB,KAA1B,CAAgCmB,MAAhC,GAAyC,MAAzC;UACAD,yBAAyB,CAACN,gBAA1B,CAA2C,OAA3C,EAAoD,UAAAC,MAAM,EAAI;YAC5D,IAAIO,WAAJ,CAAgBvB,SAAhB,EAA2BoB,IAA3B,EAAiC,KAAI,CAACtB,aAAtC,EAAqDa,MAArD;UACD,CAFD;UAIA,IAAMa,oBAAoB,GAAGvB,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAA7B;UACAsB,oBAAoB,CAACX,WAArB,GAAmC,IAAAC,sBAAA,EAAO,oBAAP,CAAnC;UACAU,oBAAoB,CAACrB,KAArB,CAA2BmB,MAA3B,GAAoC,MAApC;UACAE,oBAAoB,CAACT,gBAArB,CAAsC,OAAtC,EAA+C,UAAAC,MAAM,EAAI;YACvD,KAAI,CAACS,cAAL,CAAoBL,IAApB,EAA0B,KAAI,CAACxB,OAAL,CAAa8B,mBAAvC,EACGP,IADH,CACQ,iBAAe;cAAA,IAAZQ,KAAY,SAAZA,KAAY;cACnB,IAAIC,YAAJ,CACE,KAAI,CAACnC,OADP,EAEE2B,IAFF,EAGEO,KAHF,EAIE,KAAI,CAAC7B,aAJP,EAKEa,MALF;YAMD,CARH,WASS,UAAAkB,SAAS,EAAI;cAClB,KAAI,CAACpC,OAAL,CAAawB,WAAb,CACE,IAAAa,wBAAA,EACE7B,QADF,EAEE,IAAAa,sBAAA,yCAAuCe,SAAvC,OAFF,CADF;YAMD,CAhBH;UAiBD,CAlBD;UAoBA7B,SAAS,CAACiB,WAAV,CAAsBI,yBAAtB;UACArB,SAAS,CAACiB,WAAV,CAAsBO,oBAAtB;UAEA,KAAI,CAAC/B,OAAL,CAAasC,SAAb,GAAyB,EAAzB;;UACA,KAAI,CAACtC,OAAL,CAAawB,WAAb,CAAyBjB,SAAzB;QACD,CAvCH,WAwCS,UAAAgC,GAAG,EAAI;UACZ,KAAI,CAACvC,OAAL,CAAawB,WAAb,CACE,IAAAa,wBAAA,EACE7B,QADF,EAEE,IAAAa,sBAAA,qCAAmCkB,GAAnC,OAFF,CADF;QAMD,CA/CH;MAgDD;;MAED,KAAKvC,OAAL,CAAasC,SAAb,GAAyB,EAAzB;MACA,KAAKtC,OAAL,CAAawB,WAAb,CAAyBjB,SAAzB;MACA,OAAO,IAAP;IACD;;;WAED,yBAAiBN,SAAjB,EAA4B;MAC1B,OAAO,IAAIuC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;QACtC9C,EAAE,CAAC+C,OAAH,CAAWC,gBAAX,CAA4B3C,SAA5B,EAAuC,UAAC4C,EAAD,EAAKN,GAAL,EAAa;UAClD,IAAI,CAACM,EAAL,EAAS;YACP,OAAOH,MAAM,CAACH,GAAD,CAAb;UACD;;UACD,IAAMO,gBAAgB,GAAGlD,EAAE,CAACmD,GAAH,CACvB,IADuB,EAEvBC,EAAE,CAACC,KAAH,CAAS,UAAT,CAFuB,EAGvBD,EAAE,CAACE,KAAH,CAAS,aAAT,CAHuB,CAAzB;;UAKA,IAAI,CAACJ,gBAAL,EAAuB;YACrB,OAAOJ,MAAM,CACX,IAAIS,KAAJ,CACE,wDAAwDlD,SAD1D,CADW,CAAb;UAKD;;UACD,IAAM0B,IAAI,GAAG/B,EAAE,CAACmD,GAAH,CAAOD,gBAAP,EAAyBE,EAAE,CAACC,KAAH,CAAS,UAAT,CAAzB,CAAb;;UACA,IAAI,CAACtB,IAAL,EAAW;YACT,OAAOe,MAAM,CAAC,IAAIS,KAAJ,CAAU,sCAAV,CAAD,CAAb;UACD;;UACDvD,EAAE,CAAC+C,OAAH,CACGS,IADH,CACQzB,IADR,EAEGD,IAFH,CAEQ,UAAU2B,IAAV,EAAgB;YACpB,OAAOZ,OAAO,CAAC;cAAEd,IAAI,EAAJA;YAAF,CAAD,CAAd;UACD,CAJH,WAKS,UAAUY,GAAV,EAAe;YACpB,OAAOG,MAAM,CAAC,IAAIS,KAAJ,CAAU,iCAAiCZ,GAA3C,CAAD,CAAb;UACD,CAPH;QAQD,CA5BD;MA6BD,CA9BM,CAAP;IA+BD;;;WAED,wBAAgBZ,IAAhB,EAAsBM,mBAAtB,EAA2C;MACzC,eAAuCqB,OAAO,CAAC3B,IAAD,CAA9C;MAAA,IAAQ4B,UAAR,YAAQA,UAAR;MAAA,IAAoBC,cAApB,YAAoBA,cAApB;;MACA,IAAMtB,KAAK,GAAGuB,GAAG,CAACC,GAAJ,WACTF,cAAc,CAACG,GADN,SACYC,gBAAA,CAAKC,EAAL,GAAUC,KAAV,CAAgB,CAAhB,EAAmB,CAAnB,CADZ,eAAd;MAGA,IAAMC,IAAI,GAAG9B,mBAAmB,IAAI,gBAApC,CALyC,CAOzC;MACA;MACA;;MACA,IAAM+B,aAAa,GAAG,CAAC9B,KAAK,CAAC+B,GAAN,EAAD,EAAcV,UAAd,EAA0BW,GAA1B,CAA8B,UAAAD,GAAG,EAAI;QACzD,IAAME,aAAa,GAAGV,GAAG,CAACW,EAAJ,CAAOlC,KAAP,EAAcc,EAAE,CAACS,GAAH,CAAO,MAAP,CAAd,EAA8BT,EAAE,CAACE,KAAH,CAAS,OAAT,CAA9B,EAAiDe,GAAjD,CAAtB;QACA,IAAMI,aAAa,GAAGZ,GAAG,CAACW,EAAJ,CAAOlC,KAAP,EAAcc,EAAE,CAACE,KAAH,CAAS,IAAT,CAAd,EAA8Ba,IAA9B,EAAoC7B,KAAK,CAAC+B,GAAN,EAApC,EAAiDA,GAAjD,CAAtB;QACA,IAAMK,sBAAsB,GAAGb,GAAG,CAACW,EAAJ,CAC7BzC,IAD6B,EAE7BqB,EAAE,CAACE,KAAH,CAAS,eAAT,CAF6B,EAG7BhB,KAH6B,EAI7B+B,GAJ6B,CAA/B;QAMA,IAAMM,KAAK,GAAGN,GAAG,CAACO,MAAJ,CAAWjB,UAAX,IACV,CAACY,aAAD,EAAgBE,aAAhB,EAA+BC,sBAA/B,CADU,GAEV,CAACH,aAAD,EAAgBE,aAAhB,CAFJ;QAGA,OAAOI,KAAK,CAACR,GAAG,CAACN,GAAL,EAAU;UAAEY,KAAK,EAALA;QAAF,CAAV,CAAL,CAA0B7C,IAA1B,CAA+B,YAAM;UAC1C6C,KAAK,CAACG,OAAN,CAAc,UAAAN,EAAE,EAAI;YAClBxE,EAAE,CAAC+E,GAAH,CAAOP,EAAP;UACD,CAFD;QAGD,CAJM,CAAP;MAKD,CAjBqB,CAAtB;MAkBA,OAAO5B,OAAO,CAACoC,GAAR,CAAYZ,aAAZ,EACJtC,IADI,CACC;QAAA,OAAO;UAAEQ,KAAK,EAALA;QAAF,CAAP;MAAA,CADD,WAEE,UAAAK,GAAG,EAAI;QACZsC,KAAK,CAACC,GAAN,CAAU,+CAA+CvC,GAAzD;QACA,MAAM,IAAIY,KAAJ,yDAEJZ,GAAG,CAACwC,GAAJ,GAAUxC,GAAG,CAACwC,GAAJ,CAAQC,WAAlB,GAAgC,EAF5B,QAAN;MAKD,CATI,CAAP;IAUD;;;WAED,uBAAe9C,KAAf,EAAsB;MACpB,KAAK9B,aAAL,GAAqB8B,KAArB;MACA,KAAKhC,aAAL,CAAmBgC,KAAnB;MACA,KAAKhB,MAAL;IACD;;;;;;;IAGUY,W;EACX,qBAAa9B,OAAb,EAAsB2B,IAAtB,EAA4BtB,aAA5B,EAA2C;IAAA;IACzC,KAAKL,OAAL,GAAeA,OAAf;IACA,KAAK2B,IAAL,GAAYA,IAAZ;IACA,KAAKtB,aAAL,GAAqBA,aAArB;EACD;;;;WAED,kBAAU;MAAA;;MACR,KAAK4E,UAAL,GACGvD,IADH,CACQ,UAAAwD,MAAM,EAAI;QACd;QACA,IAAM3E,SAAS,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;QACAF,SAAS,CAACG,KAAV,CAAgBI,OAAhB,GAA0B,MAA1B;QACAP,SAAS,CAACG,KAAV,CAAgBK,aAAhB,GAAgC,QAAhC;QACAmE,MAAM,CAACR,OAAP,CAAe,UAAAxC,KAAK,EAAI;UACtB,IAAMiD,WAAW,GAAG3E,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAApB;UACA0E,WAAW,CAAC7D,gBAAZ,CAA6B,OAA7B,EAAsC,MAAI,CAAC8D,gBAAL,CAAsBlD,KAAtB,CAAtC;UACA,IAAIjB,KAAJ,CAAUkE,WAAV,EAAuBjD,KAAvB,EAA8BhB,MAA9B;UACAX,SAAS,CAACiB,WAAV,CAAsB2D,WAAtB;QACD,CALD;QAMA,MAAI,CAACnF,OAAL,CAAasC,SAAb,GAAyB,EAAzB;;QACA,MAAI,CAACtC,OAAL,CAAawB,WAAb,CAAyBjB,SAAzB;MACD,CAdH,WAeS,UAAAgC,GAAG,EAAI;QACZ,MAAI,CAACvC,OAAL,CAAawB,WAAb,CACE,IAAAa,wBAAA,EACE7B,QADF,EAEE,IAAAa,sBAAA,qDAAmDkB,GAAnD,OAFF,CADF;MAMD,CAtBH;MAuBA,OAAO,IAAP;IACD;;;WAED,sBAAc;MAAA;;MACZ,OAAO,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;QACtC,gBAAuBY,OAAO,CAAC,MAAI,CAAC3B,IAAN,CAA9B;QAAA,IAAQ4B,UAAR,aAAQA,UAAR;;QACA3D,EAAE,CAAC+C,OAAH,CAAWC,gBAAX,CAA4BW,UAA5B,EAAwC,UAACV,EAAD,EAAKN,GAAL,EAAa;UACnD,IAAI,CAACM,EAAL,EAAS;YACP,OAAOH,MAAM,CAACH,GAAD,CAAb;UACD;;UACD,IAAM2C,MAAM,GAAGtF,EAAE,CAACyF,IAAH,CAAQ,MAAI,CAAC1D,IAAb,EAAmBqB,EAAE,CAACE,KAAH,CAAS,eAAT,CAAnB,CAAf;UACA,OAAOT,OAAO,CAACyC,MAAD,CAAd;QACD,CAND;MAOD,CATM,CAAP;IAUD;;;WAED,0BAAkBhD,KAAlB,EAAyB;MAAA;;MACvB,OAAO,UAAAX,MAAM,EAAI;QACf,MAAI,CAAClB,aAAL,CAAmB6B,KAAnB;MACD,CAFD;IAGD;;;;;;;IAGUjB,K;EACX,eAAajB,OAAb,EAAsBkC,KAAtB,EAA6B;IAAA;IAC3B,KAAKlC,OAAL,GAAeA,OAAf;IACA,KAAKkC,KAAL,GAAaA,KAAb;EACD;;;;WAED,kBAAU;MACR,IAAM3B,SAAS,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;MACAF,SAAS,CAACa,WAAV,GAAwB,IAAAC,sBAAA,GACtB;MACAiE,cAAc,CAAC,KAAKpD,KAAN,EAAac,EAAE,CAACE,KAAH,CAAS,IAAT,CAAb,aAAiC,KAAKhB,KAAL,CAAWqD,KAA5C,OAFQ,CAAxB;MAIA,KAAKvF,OAAL,CAAasC,SAAb,GAAyB,EAAzB;MACA,KAAKtC,OAAL,CAAawB,WAAb,CAAyBjB,SAAzB;MACA,OAAO,IAAP;IACD;;;;;;;IAGU4B,Y;EACX,sBAAanC,OAAb,EAAsB2B,IAAtB,EAA4BO,KAA5B,EAAmCsD,cAAnC,EAAmDC,cAAnD,EAAmE;IAAA;IACjE,KAAKzF,OAAL,GAAeA,OAAf;IACA,KAAK2B,IAAL,GAAYA,IAAZ;IACA,KAAKO,KAAL,GAAaA,KAAb;;IACA,KAAKwD,cAAL,GAAsB,UAACnD,GAAD,EAAMoD,UAAN,EAAkBC,KAAlB,EAA4B;MAChD,IAAIH,cAAJ,EAAoB;QAClBA,cAAc,CAAClD,GAAD,EAAMoD,UAAN,EAAkBC,KAAlB,CAAd;MACD;IACF,CAJD;;IAKA,KAAKH,cAAL,GAAsBA,cAAtB;IACA,KAAKD,cAAL,GAAsBA,cAAtB;EACD;;;;WAED,mBAAW,CACT;IACD;;;WAED,kBAAU;MAAA;;MACR,IAAMK,aAAa,GAAGrF,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAtB;MACAoF,aAAa,CAACnF,KAAd,CAAoBC,QAApB,GAA+B,OAA/B;MACAkF,aAAa,CAACnF,KAAd,CAAoBE,SAApB,GAAgC,OAAhC;MACAiF,aAAa,CAACnF,KAAd,CAAoBG,OAApB,GAA8B,iBAA9B;MACAgF,aAAa,CAACnF,KAAd,CAAoBI,OAApB,GAA8B,MAA9B;MACA+E,aAAa,CAACnF,KAAd,CAAoBK,aAApB,GAAoC,QAApC;MAEA,IAAA+E,2BAAA,EAAeD,aAAf,EAA8B,UAAAE,IAAI,EAAI;QACpCA,IAAI,CAACrB,OAAL,CAAa,UAAAf,GAAG,EAAI;UAClB,MAAI,CAACgB,GAAL,CAAShB,GAAT,WAAoB,UAAApB,GAAG,EAAI;YACzB,MAAI,CAACvC,OAAL,CAAawB,WAAb,CACE,IAAAa,wBAAA,EACE7B,QADF,EAEE,IAAAa,sBAAA,4CAA0CkB,GAA1C,OAFF,CADF;UAMD,CAPD;QAQD,CATD;MAUD,CAXD;MAaA,IAAMyD,cAAc,GAAGxF,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAAvB;MACAuF,cAAc,CAACC,IAAf,GAAsB,MAAtB;MACAD,cAAc,CAACT,KAAf,GAAuBD,cAAc,CACnC,KAAKpD,KAD8B,EAEnCc,EAAE,CAACE,KAAH,CAAS,IAAT,CAFmC,EAGnC,gBAHmC,CAArC;MAKA8C,cAAc,CAAC1E,gBAAf,CAAgC,QAAhC,EAA0C,UAAA4E,KAAK,EAAI;QACjD,MAAI,CAACC,YAAL,CAAkBD,KAAK,CAACE,MAAN,CAAab,KAA/B,WAA4C,UAAAhD,GAAG,EAAI;UACjD,MAAI,CAACvC,OAAL,CAAawB,WAAb,CACE,IAAAa,wBAAA,EAAkB7B,QAAlB,wCAA2D+B,GAA3D,OADF;QAGD,CAJD;MAKD,CAND;MAOA,IAAM8D,cAAc,GAAG7F,QAAQ,CAACC,aAAT,CAAuB,OAAvB,CAAvB;MACA4F,cAAc,CAACjF,WAAf,GAA6B,IAAAC,sBAAA,EAAO,aAAP,CAA7B;MACAgF,cAAc,CAAC7E,WAAf,CAA2BwE,cAA3B;MACAH,aAAa,CAACrE,WAAd,CAA0B6E,cAA1B;;MAEA,IAAIzG,EAAE,CAACmD,GAAH,CAAO,KAAKb,KAAZ,EAAmBc,EAAE,CAACE,KAAH,CAAS,WAAT,CAAnB,CAAJ,EAA+C;QAC7CtD,EAAE,CAAC0G,KAAH,CAAS,KAAKpE,KAAd,EAAqBc,EAAE,CAACE,KAAH,CAAS,WAAT,CAArB,EAA4CwB,OAA5C,CAAoD,UAAA6B,SAAS,EAAI;UAC/D,IAAMC,SAAS,GAAGD,SAAS,CAACE,MAA5B;UACA,IAAMC,SAAS,GAAGlG,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;UACA,IAAIkG,MAAJ,CAAWD,SAAX,EAAsBF,SAAtB,EAAiC,MAAI,CAACI,YAAL,CAAkBJ,SAAlB,CAAjC,EAA+DtF,MAA/D;UACA2E,aAAa,CAACrE,WAAd,CAA0BkF,SAA1B;QACD,CALD;MAMD,CAPD,MAOO;QACL,IAAMG,IAAI,GAAGrG,QAAQ,CAACC,aAAT,CAAuB,GAAvB,CAAb;QACAoG,IAAI,CAACzF,WAAL,OAAmBC,sBAAnB;QAGAwE,aAAa,CAACrE,WAAd,CAA0BqF,IAA1B;MACD;;MAED,IAAMC,kBAAkB,GAAGtG,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAA3B;MACAqG,kBAAkB,CAAC1F,WAAnB,GAAiC,IAAAC,sBAAA,EAAO,MAAP,CAAjC;MACAyF,kBAAkB,CAACxF,gBAAnB,CAAoC,OAApC,EAA6C,UAAAC,MAAM,EAAI;QACrD,MAAI,CAACiE,cAAL,CAAoB,MAAI,CAACtD,KAAzB;MACD,CAFD;MAGA2D,aAAa,CAACrE,WAAd,CAA0BsF,kBAA1B;MAEA,KAAK9G,OAAL,CAAasC,SAAb,GAAyB,EAAzB;MACA,KAAKtC,OAAL,CAAawB,WAAb,CAAyBqE,aAAzB;MACA,OAAO,IAAP;IACD;;;WAED,aAAKkB,KAAL,EAAY;MAAA;;MACV,OAAO,IAAIvE,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;QACtC9C,EAAE,CAAC+C,OAAH,CAAWC,gBAAX,CAA4BmE,KAA5B,EAAmC,UAAClE,EAAD,EAAKN,GAAL,EAAa;UAC9C,IAAI,CAACM,EAAL,EAAS;YACP,MAAI,CAAC6C,cAAL,CAAoBnD,GAApB;;YACA,OAAOG,MAAM,CAACH,GAAD,CAAb;UACD,CAJ6C,CAK9C;UACA;;;UACA,IAAMiE,SAAS,GAAG/C,GAAG,CAACuD,SAAJ,CAAcD,KAAd,CAAlB;UACA,IAAME,QAAQ,GAAGrH,EAAE,CAACmD,GAAH,CAAOyD,SAAP,EAAkBxD,EAAE,CAACS,GAAH,CAAO,MAAP,CAAlB,CAAjB;;UACA,IAAI,CAACwD,QAAD,IAAa,CAACA,QAAQ,CAACzC,MAAT,CAAgBxB,EAAE,CAACkE,IAAH,CAAQ,QAAR,CAAhB,CAAlB,EAAsD;YACpD,OAAOxE,MAAM,CACX,IAAIS,KAAJ,4EACsE8D,QAAQ,CAAC1B,KAD/E,OADW,CAAb;UAKD;;UACD,OAAO9C,OAAO,CAAC+D,SAAD,CAAd;QACD,CAjBD;MAkBD,CAnBM,EAmBJ9E,IAnBI,CAmBC,UAAA8E,SAAS,EAAI;QACnB,IAAMD,SAAS,GAAG9C,GAAG,CAACW,EAAJ,CAAO,MAAI,CAAClC,KAAZ,EAAmBc,EAAE,CAACE,KAAH,CAAS,WAAT,CAAnB,EAA0CsD,SAA1C,CAAlB;;QACA,IAAI5G,EAAE,CAACuH,cAAH,CAAkBZ,SAAlB,CAAJ,EAAkC;UAChC,OAAOC,SAAP;QACD;;QACD,OAAO/B,KAAK,CAAC,MAAI,CAACvC,KAAL,CAAW+B,GAAX,GAAiBN,GAAlB,EAAuB;UAAEY,KAAK,EAAE,CAACgC,SAAD;QAAT,CAAvB,CAAL,CAAoD7E,IAApD,CAAyD,YAAM;UACpE6E,SAAS,CAACa,GAAV,GAAgB,MAAI,CAAClF,KAAL,CAAW+B,GAAX,EAAhB;UACArE,EAAE,CAAC+E,GAAH,CAAO4B,SAAP;;UACA,MAAI,CAACb,cAAL,CAAoB,IAApB,EAA0B,OAA1B,EAAmCc,SAAnC;;UACA,MAAI,CAACtF,MAAL;QACD,CALM,CAAP;MAMD,CA9BM,CAAP;IA+BD;;;WAED,sBAAcsF,SAAd,EAAyB;MAAA;;MACvB,OAAO,UAAAjF,MAAM,EAAI;QACf,IAAMgF,SAAS,GAAG9C,GAAG,CAACW,EAAJ,CAAO,MAAI,CAAClC,KAAZ,EAAmBc,EAAE,CAACE,KAAH,CAAS,WAAT,CAAnB,EAA0CsD,SAA1C,CAAlB;QACA,OAAO/B,KAAK,CAAC,MAAI,CAACvC,KAAL,CAAW+B,GAAX,GAAiBN,GAAlB,EAAuB;UAAE0D,KAAK,EAAE,CAACd,SAAD;QAAT,CAAvB,CAAL,CACJ7E,IADI,CACC,YAAM;UACV9B,EAAE,CAAC0H,MAAH,CAAUf,SAAV;;UACA,MAAI,CAACb,cAAL,CAAoB,IAApB,EAA0B,SAA1B,EAAqCc,SAArC;;UACA,MAAI,CAACtF,MAAL;;UACA,OAAO,IAAP;QACD,CANI,WAOE,UAAAqB,GAAG,EAAI;UACZ,IAAMwB,IAAI,GAAGnE,EAAE,CAACmD,GAAH,CAAOyD,SAAP,EAAkBxD,EAAE,CAACkE,IAAH,CAAQ,MAAR,CAAlB,CAAb;UACA,IAAMK,YAAY,GAChBxD,IAAI,IAAIA,IAAI,CAACwB,KAAb,8BACwBxB,IAAI,CAACwB,KAD7B,gBACwChD,GADxC,oCAEwBiE,SAAS,CAACjB,KAFlC,gBAE6ChD,GAF7C,MADF;UAIA,MAAM,IAAIY,KAAJ,CAAUoE,YAAV,CAAN;QACD,CAdI,CAAP;MAeD,CAjBD;IAkBD;;;WAED,sBAAcxD,IAAd,EAAoB;MAAA;;MAClB,gBAAuBT,OAAO,CAAC,KAAK3B,IAAN,CAA9B;MAAA,IAAQ4B,UAAR,aAAQA,UAAR;;MACA,IAAMiE,cAAc,GAAG,CAAC,KAAKtF,KAAL,CAAW+B,GAAX,EAAD,EAAmBV,UAAnB,EAA+BW,GAA/B,CAAmC,UAAAuD,UAAU,EAAI;QACtE,IAAMC,iBAAiB,GAAG9H,EAAE,CAAC0G,KAAH,CACxB,MAAI,CAACpE,KADmB,EAExBc,EAAE,CAACE,KAAH,CAAS,IAAT,CAFwB,EAGxB,IAHwB,EAIxBuE,UAJwB,CAA1B;QAMA,IAAME,gBAAgB,GAAGlE,GAAG,CAACW,EAAJ,CACvB,MAAI,CAAClC,KADkB,EAEvBc,EAAE,CAACE,KAAH,CAAS,IAAT,CAFuB,EAGvBO,GAAG,CAACmE,OAAJ,CAAY7D,IAAZ,CAHuB,CAAzB;QAKA,OAAOU,KAAK,CAACgD,UAAU,CAAClC,KAAZ,EAAmB;UAC7B8B,KAAK,EAAEK,iBADsB;UAE7BnD,KAAK,EAAE,CAACoD,gBAAD;QAFsB,CAAnB,CAAL,CAGJjG,IAHI,CAGC,UAAAmG,cAAc,EAAI;UACxBjI,EAAE,CAACkI,gBAAH,CAAoBJ,iBAApB;UACAC,gBAAgB,CAACP,GAAjB,GAAuBK,UAAvB;UACA7H,EAAE,CAAC+E,GAAH,CAAOgD,gBAAP;QACD,CAPM,CAAP;MAQD,CApBsB,CAAvB;MAqBA,OAAOnF,OAAO,CAACoC,GAAR,CAAY4C,cAAZ,CAAP;IACD;;;KAEH;AACA;AACA;;;;;IACab,M;EACX,gBAAa3G,OAAb,EAAsBwG,SAAtB,EAAiCI,YAAjC,EAA+C;IAAA;IAC7C,KAAKJ,SAAL,GAAiBA,SAAjB;IACA,KAAKxG,OAAL,GAAeA,OAAf;IACA,KAAK4G,YAAL,GAAoBA,YAApB;EACD;;;;WAED,kBAAU;MAAA;;MACR,IAAMrG,SAAS,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAlB;MACAF,SAAS,CAACG,KAAV,CAAgBI,OAAhB,GAA0B,MAA1B,CAFQ,CAIR;;MACA,IAAMiH,MAAM,GAAGzC,cAAc,CAC3B,KAAKkB,SADsB,EAE3BxD,EAAE,CAACkE,IAAH,CAAQ,KAAR,CAF2B,EAG3Bc,kBAAA,GAAW,gBAHgB,CAA7B;MAKA,IAAMC,UAAU,GAAGzH,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAnB;MACAwH,UAAU,CAACC,GAAX,GAAiB,IAAA7G,sBAAA,EAAO0G,MAAP,CAAjB;MACAE,UAAU,CAACE,KAAX,GAAmB,IAAnB;MACAF,UAAU,CAACG,MAAX,GAAoB,IAApB;MACAH,UAAU,CAACvH,KAAX,CAAiBmB,MAAjB,GAA0B,KAA1B,CAdQ,CAgBR;;MACA,IAAMkC,IAAI,GAAGuB,cAAc,CACzB,KAAKkB,SADoB,EAEzBxD,EAAE,CAACkE,IAAH,CAAQ,MAAR,CAFyB,aAGrB,KAAKV,SAHgB,OAA3B;MAKA,IAAM6B,QAAQ,GAAG7H,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAjB;MACA4H,QAAQ,CAAC/F,SAAT,GAAqB,IAAAjB,sBAAA,EAAO0C,IAAP,CAArB;MACAsE,QAAQ,CAAC3H,KAAT,CAAe4H,QAAf,GAA0B,GAA1B;MACAD,QAAQ,CAAC3H,KAAT,CAAemB,MAAf,GAAwB,QAAxB;MAEA,IAAM0G,YAAY,GAAG/H,QAAQ,CAACC,aAAT,CAAuB,QAAvB,CAArB;MACA8H,YAAY,CAACnH,WAAb,GAA2B,QAA3B;MACAmH,YAAY,CAACjH,gBAAb,CAA8B,OAA9B,EAAuC,UAAAC,MAAM;QAAA,OAC3C,MAAI,CAACqF,YAAL,YAA0B,UAAArE,GAAG,EAAI;UAC/B,MAAI,CAACvC,OAAL,CAAawB,WAAb,CAAyB,IAAAa,wBAAA,EAAkB7B,QAAlB,EAA4B,IAAAa,sBAAA,YAAUkB,GAAV,EAA5B,CAAzB;QACD,CAFD,CAD2C;MAAA,CAA7C;MAKAgG,YAAY,CAAC7H,KAAb,CAAmBmB,MAAnB,GAA4B,KAA5B;MAEAtB,SAAS,CAACiB,WAAV,CAAsByG,UAAtB;MACA1H,SAAS,CAACiB,WAAV,CAAsB6G,QAAtB;MACA9H,SAAS,CAACiB,WAAV,CAAsB+G,YAAtB;MAEA,KAAKvI,OAAL,CAAasC,SAAb,GAAyB,EAAzB;MACA,KAAKtC,OAAL,CAAawB,WAAb,CAAyBjB,SAAzB;MACA,OAAO,IAAP;IACD;;;;;;;AAGH,SAAS+E,cAAT,CAAyBkD,OAAzB,EAAkCC,SAAlC,EAA6CC,YAA7C,EAA2D;EACzD,IAAMjC,MAAM,GAAG7G,EAAE,CAACmD,GAAH,CAAOyF,OAAP,EAAgBC,SAAhB,CAAf;EACA,OAAOhC,MAAM,GAAGA,MAAM,CAAClB,KAAV,GAAkBmD,YAA/B;AACD;;AAED,SAASjE,KAAT,CAAgBkE,GAAhB,SAAuC;EAAA,IAAhBtB,KAAgB,SAAhBA,KAAgB;EAAA,IAAT9C,KAAS,SAATA,KAAS;EACrC,OAAO,IAAI/B,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IACtC9C,EAAE,CAACgJ,OAAH,CAAWC,MAAX,CAAkBxB,KAAlB,EAAyB9C,KAAzB,EAAgC,UAACZ,GAAD,EAAMmF,OAAN,EAAevB,YAAf,EAAgC;MAC9D,IAAI,CAACuB,OAAL,EAAc;QACZ,OAAOpG,MAAM,CACX,IAAIS,KAAJ,sCAAwCQ,GAAxC,gBAAiD4D,YAAjD,EADW,CAAb;MAGD;;MACD9E,OAAO;IACR,CAPD;EAQD,CATM,CAAP,CADqC,CAWrC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD;;AAED,SAASa,OAAT,CAAkB3B,IAAlB,EAAwB;EACtB,OAAO;IACL;IACA4B,UAAU,EAAE3D,EAAE,CAACmD,GAAH,CAAOpB,IAAP,EAAaqB,EAAE,CAACE,KAAH,CAAS,YAAT,CAAb,CAFP;IAGLM,cAAc,EAAE5D,EAAE,CAAC8D,GAAH,CAAO/B,IAAI,CAACoH,GAAL,GAAWpF,GAAX,GAAiB,QAAxB;EAHX,CAAP;AAKD"}
|
|
1
|
+
{"version":3,"file":"peoplePicker.js","names":["kb","solidLogicSingleton","store","PeoplePicker","element","typeIndex","groupPickedCb","options","selectedgroup","onSelectGroup","bind","container","document","createElement","style","maxWidth","minHeight","outline","display","flexDirection","selectedGroup","Group","render","changeGroupButton","textContent","escape","addEventListener","_event","appendChild","findAddressBook","then","book","chooseExistingGroupButton","margin","GroupPicker","createNewGroupButton","createNewGroup","defaultNewGroupName","group","GroupBuilder","errorBody","errorMessageBlock","innerHTML","err","Promise","resolve","reject","fetcher","nowOrWhenFetched","ok","bookRegistration","any","ns","solid","vcard","Error","load","_xhr","indexes","groupIndex","groupContainer","rdf","sym","uri","uuid","v4","slice","name","patchPromises","doc","map","typeStatement","st","nameStatement","includesGroupStatement","toIns","equals","patch","forEach","add","all","debug","log","xhr","responseURL","loadGroups","groups","groupButton","handleClickGroup","each","getWithDefault","value","doneBuildingCb","groupChangedCb","onGroupChanged","changeType","agent","dropContainer","makeDropTarget","uris","groupNameInput","type","event","setGroupName","target","groupNameLabel","match","statement","webIdNode","object","personDiv","Person","handleRemove","copy","doneBuildingButton","webId","namedNode","rdfClass","foaf","holdsStatement","why","toDel","remove","errorMessage","updatePromises","namedGraph","oldNameStatements","newNameStatement","literal","_solidResponse","removeStatements","imgSrc","iconBase","profileImg","src","width","height","nameSpan","flexGrow","removeButton","subject","predicate","defaultValue","url","updater","update","success","dir"],"sources":["../../src/widgets/peoplePicker.js"],"sourcesContent":["/**\n *\n * People Picker Pane\n *\n * This pane offers a mechanism for selecting a set of individuals, groups, or\n * organizations to take some action on.\n *\n * Assumptions\n * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption\n *\n */\nimport escape from 'escape-html'\nimport uuid from 'uuid'\nimport * as rdf from 'rdflib'\nimport * as debug from '../debug'\n\nimport { makeDropTarget } from './dragAndDrop'\nimport { errorMessageBlock } from './error'\nimport { iconBase } from '../iconBase'\nimport * as ns from '../ns'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport class PeoplePicker {\n constructor (element, typeIndex, groupPickedCb, options) { // @@ can't expect typeindex to be passed\n this.options = options || {}\n this.element = element\n this.typeIndex = typeIndex\n this.groupPickedCb = groupPickedCb\n this.selectedgroup = this.options.selectedgroup // current selected group if any\n this.onSelectGroup = this.onSelectGroup.bind(this)\n }\n\n render () {\n const container = document.createElement('div')\n container.style.maxWidth = '350px'\n container.style.minHeight = '200px'\n container.style.outline = '1px solid black'\n container.style.display = 'flex'\n\n if (this.selectedgroup) {\n container.style.flexDirection = 'column'\n const selectedGroup = document.createElement('div')\n new Group(selectedGroup, this.selectedgroup).render()\n const changeGroupButton = document.createElement('button')\n changeGroupButton.textContent = escape('Change group')\n changeGroupButton.addEventListener('click', _event => {\n this.selectedgroup = null\n this.render()\n })\n container.appendChild(selectedGroup)\n container.appendChild(changeGroupButton)\n } else {\n this.findAddressBook(this.typeIndex)\n .then(({ book }) => {\n const chooseExistingGroupButton = document.createElement('button')\n chooseExistingGroupButton.textContent = escape(\n 'Pick an existing group'\n )\n chooseExistingGroupButton.style.margin = 'auto'\n chooseExistingGroupButton.addEventListener('click', _event => {\n new GroupPicker(container, book, this.onSelectGroup).render()\n })\n\n const createNewGroupButton = document.createElement('button')\n createNewGroupButton.textContent = escape('Create a new group')\n createNewGroupButton.style.margin = 'auto'\n createNewGroupButton.addEventListener('click', _event => {\n this.createNewGroup(book, this.options.defaultNewGroupName)\n .then(({ group }) => {\n new GroupBuilder(\n this.element,\n book,\n group,\n this.onSelectGroup\n ).render()\n })\n .catch(errorBody => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Error creating a new group. (${errorBody})`)\n )\n )\n })\n })\n\n container.appendChild(chooseExistingGroupButton)\n container.appendChild(createNewGroupButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could find your groups. (${err})`)\n )\n )\n })\n }\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n\n findAddressBook (typeIndex) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(typeIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const bookRegistration = kb.any(\n null,\n ns.solid('forClass'),\n ns.vcard('AddressBook')\n )\n if (!bookRegistration) {\n return reject(\n new Error(\n 'no address book registered in the solid type index ' + typeIndex\n )\n )\n }\n const book = kb.any(bookRegistration, ns.solid('instance'))\n if (!book) {\n return reject(new Error('incomplete address book registration'))\n }\n kb.fetcher\n .load(book)\n .then(function (_xhr) {\n return resolve({ book })\n })\n .catch(function (err) {\n return reject(new Error('Could not load address book ' + err))\n })\n })\n })\n }\n\n createNewGroup (book, defaultNewGroupName) {\n const { groupIndex, groupContainer } = indexes(book)\n const group = rdf.sym(\n `${groupContainer.uri}${uuid.v4().slice(0, 8)}.ttl#this`\n )\n const name = defaultNewGroupName || 'Untitled Group'\n\n // NOTE that order matters here. Unfortunately this type of update is\n // non-atomic in that solid requires us to send two PATCHes, either of which\n // might fail.\n const patchPromises = [group.doc(), groupIndex].map(doc => {\n const typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc)\n const nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc)\n const includesGroupStatement = rdf.st(\n book,\n ns.vcard('includesGroup'),\n group,\n doc\n )\n const toIns = doc.equals(groupIndex)\n ? [typeStatement, nameStatement, includesGroupStatement]\n : [typeStatement, nameStatement]\n return patch(doc.uri, { toIns }).then(() => {\n toIns.forEach(st => {\n kb.add(st)\n })\n })\n })\n return Promise.all(patchPromises)\n .then(() => ({ group }))\n .catch(err => {\n debug.log('Could not create new group. PATCH failed ' + err)\n throw new Error(\n `Couldn't create new group. PATCH failed for (${\n err.xhr ? err.xhr.responseURL : ''\n } )`\n )\n })\n }\n\n onSelectGroup (group) {\n this.selectedgroup = group\n this.groupPickedCb(group)\n this.render()\n }\n}\n\nexport class GroupPicker {\n constructor (element, book, onSelectGroup) {\n this.element = element\n this.book = book\n this.onSelectGroup = onSelectGroup\n }\n\n render () {\n this.loadGroups()\n .then(groups => {\n // render the groups\n const container = document.createElement('div')\n container.style.display = 'flex'\n container.style.flexDirection = 'column'\n groups.forEach(group => {\n const groupButton = document.createElement('button')\n groupButton.addEventListener('click', this.handleClickGroup(group))\n new Group(groupButton, group).render()\n container.appendChild(groupButton)\n })\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`There was an error loading your groups. (${err})`)\n )\n )\n })\n return this\n }\n\n loadGroups () {\n return new Promise((resolve, reject) => {\n const { groupIndex } = indexes(this.book)\n kb.fetcher.nowOrWhenFetched(groupIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const groups = kb.each(this.book, ns.vcard('includesGroup'))\n return resolve(groups)\n })\n })\n }\n\n handleClickGroup (group) {\n return _event => {\n this.onSelectGroup(group)\n }\n }\n}\n\nexport class Group {\n constructor (element, group) {\n this.element = element\n this.group = group\n }\n\n render () {\n const container = document.createElement('div')\n container.textContent = escape(\n // @@@@@ need to escape??\n getWithDefault(this.group, ns.vcard('fn'), `[${this.group.value}]`)\n )\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nexport class GroupBuilder {\n constructor (element, book, group, doneBuildingCb, groupChangedCb) {\n this.element = element\n this.book = book\n this.group = group\n this.onGroupChanged = (err, changeType, agent) => {\n if (groupChangedCb) {\n groupChangedCb(err, changeType, agent)\n }\n }\n this.groupChangedCb = groupChangedCb\n this.doneBuildingCb = doneBuildingCb\n }\n\n refresh () {\n // TODO: implement\n }\n\n render () {\n const dropContainer = document.createElement('div')\n dropContainer.style.maxWidth = '350px'\n dropContainer.style.minHeight = '200px'\n dropContainer.style.outline = '1px solid black'\n dropContainer.style.display = 'flex'\n dropContainer.style.flexDirection = 'column'\n\n makeDropTarget(dropContainer, uris => {\n uris.forEach(uri => {\n this.add(uri).catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could not add the given WebId. (${err})`)\n )\n )\n })\n })\n })\n\n const groupNameInput = document.createElement('input')\n groupNameInput.type = 'text'\n groupNameInput.value = getWithDefault(\n this.group,\n ns.vcard('fn'),\n 'Untitled Group'\n )\n groupNameInput.addEventListener('change', event => {\n this.setGroupName(event.target.value).catch(err => {\n this.element.appendChild(\n errorMessageBlock(document, `Error changing group name. (${err})`)\n )\n })\n })\n const groupNameLabel = document.createElement('label')\n groupNameLabel.textContent = escape('Group Name:')\n groupNameLabel.appendChild(groupNameInput)\n dropContainer.appendChild(groupNameLabel)\n\n if (kb.any(this.group, ns.vcard('hasMember'))) {\n kb.match(this.group, ns.vcard('hasMember')).forEach(statement => {\n const webIdNode = statement.object\n const personDiv = document.createElement('div')\n new Person(personDiv, webIdNode, this.handleRemove(webIdNode)).render()\n dropContainer.appendChild(personDiv)\n })\n } else {\n const copy = document.createElement('p')\n copy.textContent = escape`\n To add someone to this group, drag and drop their WebID URL onto the box.\n `\n dropContainer.appendChild(copy)\n }\n\n const doneBuildingButton = document.createElement('button')\n doneBuildingButton.textContent = escape('Done')\n doneBuildingButton.addEventListener('click', _event => {\n this.doneBuildingCb(this.group)\n })\n dropContainer.appendChild(doneBuildingButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(dropContainer)\n return this\n }\n\n add (webId) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(webId, (ok, err) => {\n if (!ok) {\n this.onGroupChanged(err)\n return reject(err)\n }\n // make sure it's a valid person, group, or entity (for now just handle\n // webId)\n const webIdNode = rdf.namedNode(webId)\n const rdfClass = kb.any(webIdNode, ns.rdf('type'))\n if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {\n return reject(\n new Error(\n `Only people supported right now. (tried to add something of type ${rdfClass.value})`\n )\n )\n }\n return resolve(webIdNode)\n })\n }).then(webIdNode => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n if (kb.holdsStatement(statement)) {\n return webIdNode\n }\n return patch(this.group.doc().uri, { toIns: [statement] }).then(() => {\n statement.why = this.group.doc()\n kb.add(statement)\n this.onGroupChanged(null, 'added', webIdNode)\n this.render()\n })\n })\n }\n\n handleRemove (webIdNode) {\n return _event => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n return patch(this.group.doc().uri, { toDel: [statement] })\n .then(() => {\n kb.remove(statement)\n this.onGroupChanged(null, 'removed', webIdNode)\n this.render()\n return true\n })\n .catch(err => {\n const name = kb.any(webIdNode, ns.foaf('name'))\n const errorMessage =\n name && name.value\n ? `Could not remove ${name.value}. (${err})`\n : `Could not remove ${webIdNode.value}. (${err})`\n throw new Error(errorMessage)\n })\n }\n }\n\n setGroupName (name) {\n const { groupIndex } = indexes(this.book)\n const updatePromises = [this.group.doc(), groupIndex].map(namedGraph => {\n const oldNameStatements = kb.match(\n this.group,\n ns.vcard('fn'),\n null,\n namedGraph\n )\n const newNameStatement = rdf.st(\n this.group,\n ns.vcard('fn'),\n rdf.literal(name)\n )\n return patch(namedGraph.value, {\n toDel: oldNameStatements,\n toIns: [newNameStatement]\n }).then(_solidResponse => {\n kb.removeStatements(oldNameStatements)\n newNameStatement.why = namedGraph\n kb.add(newNameStatement)\n })\n })\n return Promise.all(updatePromises)\n }\n}\n// @ignore exporting this only for the unit test\n// @@ TODO maybe I should move this down at end, but for\n// now I will leave it where it was\nexport class Person {\n constructor (element, webIdNode, handleRemove) {\n this.webIdNode = webIdNode\n this.element = element\n this.handleRemove = handleRemove\n }\n\n render () {\n const container = document.createElement('div')\n container.style.display = 'flex'\n\n // TODO: take a look at UI.widgets.setName\n const imgSrc = getWithDefault(\n this.webIdNode,\n ns.foaf('img'),\n iconBase + 'noun_15059.svg'\n )\n const profileImg = document.createElement('img')\n profileImg.src = escape(imgSrc)\n profileImg.width = '50'\n profileImg.height = '50'\n profileImg.style.margin = '5px'\n\n // TODO: take a look at UI.widgets.setImage\n const name = getWithDefault(\n this.webIdNode,\n ns.foaf('name'),\n `[${this.webIdNode}]`\n )\n const nameSpan = document.createElement('span')\n nameSpan.innerHTML = escape(name)\n nameSpan.style.flexGrow = '1'\n nameSpan.style.margin = 'auto 0'\n\n const removeButton = document.createElement('button')\n removeButton.textContent = 'Remove'\n removeButton.addEventListener('click', _event =>\n this.handleRemove().catch(err => {\n this.element.appendChild(errorMessageBlock(document, escape(`${err}`)))\n })\n )\n removeButton.style.margin = '5px'\n\n container.appendChild(profileImg)\n container.appendChild(nameSpan)\n container.appendChild(removeButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nfunction getWithDefault (subject, predicate, defaultValue) {\n const object = kb.any(subject, predicate)\n return object ? object.value : defaultValue\n}\n\nfunction patch (url, { toDel, toIns }) {\n return new Promise((resolve, reject) => {\n kb.updater.update(toDel, toIns, (uri, success, errorMessage) => {\n if (!success) {\n return reject(\n new Error(`PATCH failed for resource <${uri}>: ${errorMessage}`)\n )\n }\n resolve()\n })\n })\n // return webClient.patch(url, toDel, toIns)\n // .then(solidResponse => {\n // const status = solidResponse.xhr.status\n // if (status < 200 || status >= 400) {\n // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)\n // err.solidResponse = solidResponse\n // throw err\n // }\n // })\n}\n\nfunction indexes (book) {\n return {\n // bookIndex: book,\n groupIndex: kb.any(book, ns.vcard('groupIndex')),\n groupContainer: kb.sym(book.dir().uri + 'Group/')\n }\n}\n"],"mappings":"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"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.wrapDivInATR = exports.createImageDiv = exports.addClickListenerToElement = void 0;
|
|
7
|
-
|
|
8
7
|
var _style = require("../style");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* Wraps a Div in a TR/RD
|
|
12
10
|
*
|
|
@@ -29,6 +27,7 @@ var wrapDivInATR = function wrapDivInATR(dom, div, obj) {
|
|
|
29
27
|
tr.subject = obj;
|
|
30
28
|
return tr;
|
|
31
29
|
};
|
|
30
|
+
|
|
32
31
|
/**
|
|
33
32
|
* Adds a click listener to a div
|
|
34
33
|
*
|
|
@@ -42,13 +41,11 @@ var wrapDivInATR = function wrapDivInATR(dom, div, obj) {
|
|
|
42
41
|
* @internal exporting this only for unit tests
|
|
43
42
|
*/
|
|
44
43
|
// eslint-disable-next-line complexity
|
|
45
|
-
|
|
46
|
-
|
|
47
44
|
exports.wrapDivInATR = wrapDivInATR;
|
|
48
|
-
|
|
49
45
|
var addClickListenerToElement = function addClickListenerToElement(div, onClickFunction) {
|
|
50
46
|
div.addEventListener('click', onClickFunction);
|
|
51
47
|
};
|
|
48
|
+
|
|
52
49
|
/**
|
|
53
50
|
* Wraps a Div in a TR/RD
|
|
54
51
|
*
|
|
@@ -64,16 +61,12 @@ var addClickListenerToElement = function addClickListenerToElement(div, onClickF
|
|
|
64
61
|
* @internal exporting this only for unit tests
|
|
65
62
|
*/
|
|
66
63
|
// eslint-disable-next-line complexity
|
|
67
|
-
|
|
68
|
-
|
|
69
64
|
exports.addClickListenerToElement = addClickListenerToElement;
|
|
70
|
-
|
|
71
65
|
var createImageDiv = function createImageDiv(dom, div, image) {
|
|
72
66
|
var imageDiv = div.appendChild(dom.createElement('div'));
|
|
73
67
|
imageDiv.setAttribute('style', _style.imageDivStyle);
|
|
74
68
|
imageDiv.appendChild(image);
|
|
75
69
|
image.setAttribute('draggable', 'false'); // Stop the image being dragged instead - just the TR
|
|
76
70
|
};
|
|
77
|
-
|
|
78
71
|
exports.createImageDiv = createImageDiv;
|
|
79
72
|
//# sourceMappingURL=widgetHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetHelpers.js","names":["wrapDivInATR","dom","div","obj","tr","createElement","td","appendChild","subject","addClickListenerToElement","onClickFunction","addEventListener","createImageDiv","image","imageDiv","setAttribute","imageDivStyle"],"sources":["../../src/widgets/widgetHelpers.ts"],"sourcesContent":["import {\n imageDivStyle\n} from '../style'\n\n/**\n * Wraps a Div in a TR/RD\n *\n * Takes a div and wraps it in a TR/TD to be backwards compatible to the\n * table structure of mashlib\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param div the created widget will be appended to this\n * @param obj not sure what this is used for exactly\n *\n * @returns The HTML widget created\n *\n * @internal exporting this only for unit tests\n */\n// eslint-disable-next-line complexity\nexport const wrapDivInATR = (dom: HTMLDocument, div: HTMLDivElement, obj: any) => {\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.appendChild(div)\n ;(tr as any).subject = obj\n return tr\n}\n\n/**\n * Adds a click listener to a div\n *\n * Adds a given function as a click listener on the given div\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param onClickFunction the click function to add to the click listener\n *\n * @returns The HTML widget created\n *\n * @internal exporting this only for unit tests\n */\n// eslint-disable-next-line complexity\nexport const addClickListenerToElement = (div: HTMLDivElement, onClickFunction: () => void) => {\n div.addEventListener('click', onClickFunction)\n}\n\n/**\n * Wraps a Div in a TR/RD\n *\n * Takes a div and wraps it in a TR/TD to be backwards compatible to the\n * table structure of mashlib\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param div the created widget will be appended to this\n * @param obj not sure what this is used for exactly\n *\n * @returns The HTML widget created\n *\n * @internal exporting this only for unit tests\n */\n// eslint-disable-next-line complexity\nexport const createImageDiv = (dom: HTMLDocument, div: HTMLDivElement, image: HTMLImageElement | HTMLObjectElement) => {\n const imageDiv = div.appendChild(dom.createElement('div'))\n\n imageDiv.setAttribute('style', imageDivStyle)\n imageDiv.appendChild(image)\n image.setAttribute('draggable', 'false') // Stop the image being dragged instead - just the TR\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"widgetHelpers.js","names":["wrapDivInATR","dom","div","obj","tr","createElement","td","appendChild","subject","addClickListenerToElement","onClickFunction","addEventListener","createImageDiv","image","imageDiv","setAttribute","imageDivStyle"],"sources":["../../src/widgets/widgetHelpers.ts"],"sourcesContent":["import {\n imageDivStyle\n} from '../style'\n\n/**\n * Wraps a Div in a TR/RD\n *\n * Takes a div and wraps it in a TR/TD to be backwards compatible to the\n * table structure of mashlib\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param div the created widget will be appended to this\n * @param obj not sure what this is used for exactly\n *\n * @returns The HTML widget created\n *\n * @internal exporting this only for unit tests\n */\n// eslint-disable-next-line complexity\nexport const wrapDivInATR = (dom: HTMLDocument, div: HTMLDivElement, obj: any) => {\n const tr = dom.createElement('tr')\n const td = tr.appendChild(dom.createElement('td'))\n td.appendChild(div)\n ;(tr as any).subject = obj\n return tr\n}\n\n/**\n * Adds a click listener to a div\n *\n * Adds a given function as a click listener on the given div\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param onClickFunction the click function to add to the click listener\n *\n * @returns The HTML widget created\n *\n * @internal exporting this only for unit tests\n */\n// eslint-disable-next-line complexity\nexport const addClickListenerToElement = (div: HTMLDivElement, onClickFunction: () => void) => {\n div.addEventListener('click', onClickFunction)\n}\n\n/**\n * Wraps a Div in a TR/RD\n *\n * Takes a div and wraps it in a TR/TD to be backwards compatible to the\n * table structure of mashlib\n *\n * @param dom The HTML Document object aka Document Object Model\n * @param div the created widget will be appended to this\n * @param obj not sure what this is used for exactly\n *\n * @returns The HTML widget created\n *\n * @internal exporting this only for unit tests\n */\n// eslint-disable-next-line complexity\nexport const createImageDiv = (dom: HTMLDocument, div: HTMLDivElement, image: HTMLImageElement | HTMLObjectElement) => {\n const imageDiv = div.appendChild(dom.createElement('div'))\n\n imageDiv.setAttribute('style', imageDivStyle)\n imageDiv.appendChild(image)\n image.setAttribute('draggable', 'false') // Stop the image being dragged instead - just the TR\n}\n"],"mappings":";;;;;;AAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMA,YAAY,GAAG,SAAfA,YAAY,CAAIC,GAAiB,EAAEC,GAAmB,EAAEC,GAAQ,EAAK;EAChF,IAAMC,EAAE,GAAGH,GAAG,CAACI,aAAa,CAAC,IAAI,CAAC;EAClC,IAAMC,EAAE,GAAGF,EAAE,CAACG,WAAW,CAACN,GAAG,CAACI,aAAa,CAAC,IAAI,CAAC,CAAC;EAClDC,EAAE,CAACC,WAAW,CAACL,GAAG,CAAC;EACjBE,EAAE,CAASI,OAAO,GAAGL,GAAG;EAC1B,OAAOC,EAAE;AACX,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACO,IAAMK,yBAAyB,GAAG,SAA5BA,yBAAyB,CAAIP,GAAmB,EAAEQ,eAA2B,EAAK;EAC7FR,GAAG,CAACS,gBAAgB,CAAC,OAAO,EAAED,eAAe,CAAC;AAChD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACO,IAAME,cAAc,GAAG,SAAjBA,cAAc,CAAIX,GAAiB,EAAEC,GAAmB,EAAEW,KAA2C,EAAK;EACrH,IAAMC,QAAQ,GAAGZ,GAAG,CAACK,WAAW,CAACN,GAAG,CAACI,aAAa,CAAC,KAAK,CAAC,CAAC;EAE1DS,QAAQ,CAACC,YAAY,CAAC,OAAO,EAAEC,oBAAa,CAAC;EAC7CF,QAAQ,CAACP,WAAW,CAACM,KAAK,CAAC;EAC3BA,KAAK,CAACE,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,EAAC;AAC3C,CAAC;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-ui",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.24",
|
|
4
4
|
"description": "UI library for writing Solid read-write-web applications",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -55,52 +55,52 @@
|
|
|
55
55
|
"homepage": "https://github.com/solidos/solid-ui",
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"escape-html": "^1.0.3",
|
|
58
|
-
"eslint-plugin-n": "^15.
|
|
58
|
+
"eslint-plugin-n": "^15.5.1",
|
|
59
59
|
"i": "^0.3.7",
|
|
60
60
|
"jss": "^10.9.2",
|
|
61
61
|
"jss-preset-default": "^10.9.2",
|
|
62
62
|
"mime-types": "^2.1.35",
|
|
63
|
-
"npm": "^8.
|
|
64
|
-
"pane-registry": "^2.4.
|
|
65
|
-
"rdflib": "^2.2.
|
|
66
|
-
"solid-logic": "^2.0.
|
|
63
|
+
"npm": "^8.19.3",
|
|
64
|
+
"pane-registry": "^2.4.13",
|
|
65
|
+
"rdflib": "^2.2.21",
|
|
66
|
+
"solid-logic": "^2.0.1",
|
|
67
67
|
"solid-namespace": "^0.5.2",
|
|
68
68
|
"uuid": "^8.3.2"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@babel/cli": "^7.
|
|
72
|
-
"@babel/core": "^7.
|
|
71
|
+
"@babel/cli": "^7.19.3",
|
|
72
|
+
"@babel/core": "^7.20.2",
|
|
73
73
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
74
74
|
"@babel/plugin-proposal-optional-chaining": "^7.18.9",
|
|
75
75
|
"@babel/plugin-transform-async-to-generator": "^7.18.6",
|
|
76
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
77
|
-
"@babel/preset-env": "^7.
|
|
76
|
+
"@babel/plugin-transform-runtime": "^7.19.6",
|
|
77
|
+
"@babel/preset-env": "^7.20.2",
|
|
78
78
|
"@babel/preset-typescript": "^7.18.6",
|
|
79
|
-
"@babel/runtime": "^7.
|
|
80
|
-
"@mdx-js/react": "^2.1.
|
|
81
|
-
"@storybook/addon-actions": "6.5.
|
|
82
|
-
"@storybook/addon-docs": "6.5.
|
|
83
|
-
"@storybook/addon-essentials": "6.5.
|
|
84
|
-
"@storybook/addon-links": "^6.5.
|
|
85
|
-
"@storybook/builder-webpack5": "^6.5.
|
|
86
|
-
"@storybook/html": "^6.5.
|
|
87
|
-
"@storybook/manager-webpack5": "^6.5.
|
|
88
|
-
"@testing-library/dom": "^8.
|
|
79
|
+
"@babel/runtime": "^7.20.1",
|
|
80
|
+
"@mdx-js/react": "^2.1.5",
|
|
81
|
+
"@storybook/addon-actions": "6.5.13",
|
|
82
|
+
"@storybook/addon-docs": "6.5.13",
|
|
83
|
+
"@storybook/addon-essentials": "6.5.13",
|
|
84
|
+
"@storybook/addon-links": "^6.5.13",
|
|
85
|
+
"@storybook/builder-webpack5": "^6.5.13",
|
|
86
|
+
"@storybook/html": "^6.5.13",
|
|
87
|
+
"@storybook/manager-webpack5": "^6.5.13",
|
|
88
|
+
"@testing-library/dom": "^8.19.0",
|
|
89
89
|
"@testing-library/user-event": "^13.5.0",
|
|
90
90
|
"@types/jest": "^27.5.2",
|
|
91
91
|
"@types/jsdom": "^16.2.15",
|
|
92
92
|
"@types/node": "^17.0.45",
|
|
93
|
-
"@types/react": "^17.0.
|
|
94
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
95
|
-
"@typescript-eslint/parser": "^5.
|
|
96
|
-
"babel-loader": "^8.
|
|
97
|
-
"eslint": "^8.
|
|
93
|
+
"@types/react": "^17.0.52",
|
|
94
|
+
"@typescript-eslint/eslint-plugin": "^5.43.0",
|
|
95
|
+
"@typescript-eslint/parser": "^5.43.0",
|
|
96
|
+
"babel-loader": "^8.3.0",
|
|
97
|
+
"eslint": "^8.27.0",
|
|
98
98
|
"eslint-config-standard": "^17.0.0",
|
|
99
99
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
100
100
|
"eslint-plugin-import": "^2.26.0",
|
|
101
101
|
"eslint-plugin-jest": "^26.9.0",
|
|
102
102
|
"eslint-plugin-node": "^11.1.0",
|
|
103
|
-
"eslint-plugin-promise": "^6.
|
|
103
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
104
104
|
"html-webpack-plugin": "^5.5.0",
|
|
105
105
|
"husky": "^7.0.4",
|
|
106
106
|
"jest": "^27.5.1",
|
|
@@ -112,9 +112,9 @@
|
|
|
112
112
|
"react-is": "^17.0.2",
|
|
113
113
|
"test-usehooks-ts": "^3.0.0-beta",
|
|
114
114
|
"ts-jest": "^27.1.5",
|
|
115
|
-
"typedoc": "^0.23.
|
|
115
|
+
"typedoc": "^0.23.21",
|
|
116
116
|
"typescript": "^4.8.2",
|
|
117
|
-
"webpack": "^5.
|
|
117
|
+
"webpack": "^5.75.0",
|
|
118
118
|
"webpack-cli": "^4.10.0"
|
|
119
119
|
},
|
|
120
120
|
"husky": {
|