solid-ui 2.4.29 → 2.4.30
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/LICENSE.md +0 -0
- package/README.md +0 -0
- package/dist/670.solid-ui.min.js +0 -0
- package/dist/805.solid-ui.min.js +1 -1
- package/dist/805.solid-ui.min.js.LICENSE.txt +0 -0
- package/dist/805.solid-ui.min.js.map +1 -1
- package/dist/_2b19.solid-ui.js +0 -0
- package/dist/_2b19.solid-ui.js.map +1 -1
- package/dist/index.html +0 -0
- package/dist/solid-ui.js +3369 -1854
- 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 -0
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js +191 -80
- package/dist/vendors-node_modules_jsonld_lib_jsonld_js.solid-ui.js.map +1 -1
- package/lib/acl/access-controller.d.ts +0 -0
- package/lib/acl/access-controller.d.ts.map +0 -0
- package/lib/acl/access-controller.js +0 -0
- package/lib/acl/access-controller.js.map +0 -0
- package/lib/acl/access-groups.d.ts +0 -0
- package/lib/acl/access-groups.d.ts.map +0 -0
- package/lib/acl/access-groups.js +0 -2
- package/lib/acl/access-groups.js.map +1 -1
- package/lib/acl/acl-control.d.ts +0 -0
- package/lib/acl/acl-control.d.ts.map +0 -0
- package/lib/acl/acl-control.js +0 -0
- package/lib/acl/acl-control.js.map +0 -0
- package/lib/acl/acl.d.ts +0 -0
- package/lib/acl/acl.d.ts.map +0 -0
- package/lib/acl/acl.js +0 -2
- package/lib/acl/acl.js.map +1 -1
- package/lib/acl/add-agent-buttons.d.ts +0 -0
- package/lib/acl/add-agent-buttons.d.ts.map +0 -0
- package/lib/acl/add-agent-buttons.js +0 -0
- package/lib/acl/add-agent-buttons.js.map +0 -0
- package/lib/acl/index.d.ts +0 -0
- package/lib/acl/index.d.ts.map +0 -0
- package/lib/acl/index.js +0 -0
- package/lib/acl/index.js.map +0 -0
- package/lib/acl/types.d.ts +0 -0
- package/lib/acl/types.d.ts.map +0 -0
- package/lib/acl/types.js +0 -0
- package/lib/acl/types.js.map +0 -0
- package/lib/chat/bookmarks.js +0 -0
- package/lib/chat/bookmarks.js.map +0 -0
- package/lib/chat/chatLogic.js +6 -4
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/chat/dateFolder.js +0 -0
- package/lib/chat/dateFolder.js.map +0 -0
- package/lib/chat/infinite.js +0 -5
- package/lib/chat/infinite.js.map +1 -1
- package/lib/chat/keys.d.ts +0 -0
- package/lib/chat/keys.d.ts.map +0 -0
- package/lib/chat/keys.js +0 -0
- package/lib/chat/keys.js.map +0 -0
- package/lib/chat/message.js +3 -7
- package/lib/chat/message.js.map +1 -1
- package/lib/chat/messageTools.js +1 -0
- package/lib/chat/messageTools.js.map +1 -1
- package/lib/chat/signature.d.ts +0 -0
- package/lib/chat/signature.d.ts.map +0 -0
- package/lib/chat/signature.js +0 -0
- package/lib/chat/signature.js.map +0 -0
- package/lib/chat/thread.js +0 -4
- package/lib/chat/thread.js.map +1 -1
- package/lib/create/create.d.ts +0 -0
- package/lib/create/create.d.ts.map +0 -0
- package/lib/create/create.js +0 -2
- package/lib/create/create.js.map +1 -1
- package/lib/create/index.d.ts +0 -0
- package/lib/create/index.d.ts.map +0 -0
- package/lib/create/index.js +0 -0
- package/lib/create/index.js.map +0 -0
- package/lib/create/types.d.ts +0 -0
- package/lib/create/types.d.ts.map +0 -0
- package/lib/create/types.js +0 -0
- package/lib/create/types.js.map +0 -0
- package/lib/debug.d.ts +0 -0
- package/lib/debug.d.ts.map +0 -0
- package/lib/debug.js +0 -0
- package/lib/debug.js.map +0 -0
- package/lib/folders.js +0 -0
- package/lib/folders.js.map +0 -0
- package/lib/footer/index.d.ts +0 -0
- package/lib/footer/index.d.ts.map +0 -0
- package/lib/footer/index.js +0 -0
- package/lib/footer/index.js.map +0 -0
- package/lib/header/empty-profile.d.ts +0 -0
- package/lib/header/empty-profile.d.ts.map +0 -0
- package/lib/header/empty-profile.js +0 -0
- package/lib/header/empty-profile.js.map +0 -0
- package/lib/header/index.d.ts +0 -0
- package/lib/header/index.d.ts.map +0 -0
- package/lib/header/index.js +0 -0
- package/lib/header/index.js.map +0 -0
- package/lib/iconBase.d.ts +0 -0
- package/lib/iconBase.d.ts.map +0 -0
- package/lib/iconBase.js +0 -0
- package/lib/iconBase.js.map +0 -0
- package/lib/icons/solid_logo.d.ts +0 -0
- package/lib/icons/solid_logo.d.ts.map +0 -0
- package/lib/icons/solid_logo.js +0 -0
- package/lib/icons/solid_logo.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/log.d.ts +0 -0
- package/lib/log.d.ts.map +0 -0
- package/lib/log.js +0 -0
- package/lib/log.js.map +0 -0
- package/lib/login/login.d.ts +0 -0
- package/lib/login/login.d.ts.map +0 -0
- package/lib/login/login.js +23 -24
- package/lib/login/login.js.map +1 -1
- package/lib/matrix/index.d.ts +0 -0
- package/lib/matrix/index.d.ts.map +0 -0
- package/lib/matrix/index.js +0 -0
- package/lib/matrix/index.js.map +0 -0
- package/lib/matrix/matrix.d.ts +0 -0
- package/lib/matrix/matrix.d.ts.map +0 -0
- package/lib/matrix/matrix.js +0 -2
- package/lib/matrix/matrix.js.map +1 -1
- package/lib/matrix/types.d.ts +0 -0
- package/lib/matrix/types.d.ts.map +0 -0
- package/lib/matrix/types.js +0 -0
- package/lib/matrix/types.js.map +0 -0
- package/lib/media/index.d.ts +0 -0
- package/lib/media/index.d.ts.map +0 -0
- package/lib/media/index.js +0 -0
- package/lib/media/index.js.map +0 -0
- package/lib/media/media-capture.d.ts +0 -0
- package/lib/media/media-capture.d.ts.map +0 -0
- package/lib/media/media-capture.js +0 -3
- package/lib/media/media-capture.js.map +1 -1
- package/lib/messageArea.js +0 -4
- package/lib/messageArea.js.map +1 -1
- package/lib/noun_Camera_1618446_000000.js +0 -0
- package/lib/noun_Camera_1618446_000000.js.map +0 -0
- package/lib/ns.js +0 -0
- package/lib/ns.js.map +0 -0
- package/lib/pad.d.ts +0 -0
- package/lib/pad.d.ts.map +0 -0
- package/lib/pad.js +3 -6
- package/lib/pad.js.map +1 -1
- package/lib/participation.d.ts +0 -0
- package/lib/participation.d.ts.map +0 -0
- package/lib/participation.js +1 -4
- package/lib/participation.js.map +1 -1
- package/lib/preferences.js +0 -0
- package/lib/preferences.js.map +0 -0
- package/lib/signup/config-default.js +0 -0
- package/lib/signup/config-default.js.map +0 -0
- package/lib/signup/signup.js +0 -0
- package/lib/signup/signup.js.map +0 -0
- package/lib/stories/decorators.js +0 -0
- package/lib/stories/decorators.js.map +0 -0
- package/lib/style.js +0 -0
- package/lib/style.js.map +0 -0
- package/lib/style_multiSelect.js +0 -0
- package/lib/style_multiSelect.js.map +0 -0
- package/lib/table.js +0 -4
- package/lib/table.js.map +1 -1
- package/lib/tabs.d.ts +0 -0
- package/lib/tabs.d.ts.map +0 -0
- package/lib/tabs.js +0 -2
- package/lib/tabs.js.map +1 -1
- package/lib/typings.d.js +0 -0
- package/lib/typings.d.js.map +0 -0
- package/lib/utils/headerFooterHelpers.d.ts +0 -0
- package/lib/utils/headerFooterHelpers.d.ts.map +0 -0
- package/lib/utils/headerFooterHelpers.js +0 -0
- package/lib/utils/headerFooterHelpers.js.map +0 -0
- package/lib/utils/index.js +0 -7
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +0 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +0 -0
- package/lib/utils/keyHelpers/accessData.js +0 -0
- package/lib/utils/keyHelpers/accessData.js.map +0 -0
- package/lib/utils/keyHelpers/acl.d.ts +0 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +0 -0
- package/lib/utils/keyHelpers/acl.js +0 -0
- package/lib/utils/keyHelpers/acl.js.map +0 -0
- package/lib/utils/label.d.ts +0 -0
- package/lib/utils/label.d.ts.map +0 -0
- package/lib/utils/label.js +0 -0
- package/lib/utils/label.js.map +0 -0
- package/lib/versionInfo.d.ts +0 -0
- package/lib/versionInfo.d.ts.map +0 -0
- package/lib/versionInfo.js +14 -14
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/buttons/iconLinks.d.ts +0 -0
- package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
- package/lib/widgets/buttons/iconLinks.js +0 -0
- package/lib/widgets/buttons/iconLinks.js.map +0 -0
- package/lib/widgets/buttons.d.ts +0 -0
- package/lib/widgets/buttons.d.ts.map +0 -0
- package/lib/widgets/buttons.js +2 -10
- package/lib/widgets/buttons.js.map +1 -1
- package/lib/widgets/dragAndDrop.js +0 -1
- package/lib/widgets/dragAndDrop.js.map +1 -1
- package/lib/widgets/error.d.ts +0 -0
- package/lib/widgets/error.d.ts.map +0 -0
- package/lib/widgets/error.js +0 -0
- package/lib/widgets/error.js.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteBar.js +5 -5
- package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompleteField.js +0 -1
- package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/autocompletePicker.js +4 -7
- package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
- package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/language.js +0 -0
- package/lib/widgets/forms/autocomplete/language.js.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts +0 -0
- package/lib/widgets/forms/autocomplete/publicData.d.ts.map +0 -0
- package/lib/widgets/forms/autocomplete/publicData.js +0 -3
- package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
- package/lib/widgets/forms/basic.d.ts +0 -0
- package/lib/widgets/forms/basic.d.ts.map +0 -0
- package/lib/widgets/forms/basic.js +0 -1
- package/lib/widgets/forms/basic.js.map +1 -1
- package/lib/widgets/forms/comment.d.ts +0 -0
- package/lib/widgets/forms/comment.d.ts.map +0 -0
- package/lib/widgets/forms/comment.js +0 -0
- package/lib/widgets/forms/comment.js.map +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts +0 -0
- package/lib/widgets/forms/fieldFunction.d.ts.map +0 -0
- package/lib/widgets/forms/fieldFunction.js +0 -0
- package/lib/widgets/forms/fieldFunction.js.map +0 -0
- package/lib/widgets/forms/fieldParams.d.ts +0 -0
- package/lib/widgets/forms/fieldParams.d.ts.map +0 -0
- package/lib/widgets/forms/fieldParams.js +14 -14
- package/lib/widgets/forms/fieldParams.js.map +1 -1
- package/lib/widgets/forms/formStyle.d.ts +0 -0
- package/lib/widgets/forms/formStyle.d.ts.map +0 -0
- package/lib/widgets/forms/formStyle.js +0 -0
- package/lib/widgets/forms/formStyle.js.map +0 -0
- package/lib/widgets/forms.js +3 -22
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/index.js +0 -0
- package/lib/widgets/index.js.map +0 -0
- package/lib/widgets/multiSelect.js +0 -0
- package/lib/widgets/multiSelect.js.map +0 -0
- package/lib/widgets/peoplePicker.js +0 -1
- package/lib/widgets/peoplePicker.js.map +1 -1
- package/lib/widgets/widgetHelpers.d.ts +0 -0
- package/lib/widgets/widgetHelpers.d.ts.map +0 -0
- package/lib/widgets/widgetHelpers.js +0 -0
- package/lib/widgets/widgetHelpers.js.map +0 -0
- package/package.json +18 -18
package/lib/widgets/index.js
CHANGED
|
File without changes
|
package/lib/widgets/index.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peoplePicker.js","names":["_escapeHtml","_interopRequireDefault","require","_uuid","rdf","_interopRequireWildcard","debug","_dragAndDrop","_error","_iconBase","ns","_solidLogic","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","kb","solidLogicSingleton","store","PeoplePicker","exports","element","typeIndex","groupPickedCb","options","_classCallCheck2","selectedgroup","onSelectGroup","bind","_createClass2","key","value","render","_this","container","document","createElement","style","maxWidth","minHeight","outline","display","flexDirection","selectedGroup","Group","changeGroupButton","textContent","escape","addEventListener","_event","appendChild","findAddressBook","then","_ref","book","chooseExistingGroupButton","margin","GroupPicker","createNewGroupButton","createNewGroup","defaultNewGroupName","_ref2","group","GroupBuilder","errorBody","errorMessageBlock","concat","innerHTML","err","Promise","resolve","reject","fetcher","nowOrWhenFetched","ok","bookRegistration","any","solid","vcard","Error","load","_xhr","_indexes","indexes","groupIndex","groupContainer","sym","uri","uuid","v4","slice","name","patchPromises","doc","map","typeStatement","st","nameStatement","includesGroupStatement","toIns","equals","patch","forEach","add","all","log","xhr","responseURL","_this2","loadGroups","groups","groupButton","handleClickGroup","_this3","_indexes2","each","_this4","getWithDefault","doneBuildingCb","groupChangedCb","onGroupChanged","changeType","agent","refresh","_this5","dropContainer","makeDropTarget","uris","groupNameInput","type","event","setGroupName","target","groupNameLabel","match","statement","webIdNode","object","personDiv","Person","handleRemove","copy","_taggedTemplateLiteral2","doneBuildingButton","webId","_this6","namedNode","rdfClass","foaf","holdsStatement","why","_this7","toDel","remove","errorMessage","_this8","_indexes3","updatePromises","namedGraph","oldNameStatements","newNameStatement","literal","_solidResponse","removeStatements","_this9","imgSrc","iconBase","profileImg","src","width","height","nameSpan","flexGrow","removeButton","subject","predicate","defaultValue","url","_ref3","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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"}
|
|
1
|
+
{"version":3,"file":"peoplePicker.js","names":["_escapeHtml","_interopRequireDefault","require","_uuid","rdf","_interopRequireWildcard","debug","_dragAndDrop","_error","_iconBase","ns","_solidLogic","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","kb","solidLogicSingleton","store","PeoplePicker","exports","element","typeIndex","groupPickedCb","options","_classCallCheck2","selectedgroup","onSelectGroup","bind","_createClass2","key","value","render","_this","container","document","createElement","style","maxWidth","minHeight","outline","display","flexDirection","selectedGroup","Group","changeGroupButton","textContent","escape","addEventListener","_event","appendChild","findAddressBook","then","_ref","book","chooseExistingGroupButton","margin","GroupPicker","createNewGroupButton","createNewGroup","defaultNewGroupName","_ref2","group","GroupBuilder","errorBody","errorMessageBlock","concat","innerHTML","err","Promise","resolve","reject","fetcher","nowOrWhenFetched","ok","bookRegistration","any","solid","vcard","Error","load","_xhr","_indexes","indexes","groupIndex","groupContainer","sym","uri","uuid","v4","slice","name","patchPromises","doc","map","typeStatement","st","nameStatement","includesGroupStatement","toIns","equals","patch","forEach","add","all","log","xhr","responseURL","_this2","loadGroups","groups","groupButton","handleClickGroup","_this3","_indexes2","each","_this4","getWithDefault","doneBuildingCb","groupChangedCb","onGroupChanged","changeType","agent","refresh","_this5","dropContainer","makeDropTarget","uris","groupNameInput","type","event","setGroupName","target","groupNameLabel","match","statement","webIdNode","object","personDiv","Person","handleRemove","copy","_taggedTemplateLiteral2","doneBuildingButton","webId","_this6","namedNode","rdfClass","foaf","holdsStatement","why","_this7","toDel","remove","errorMessage","_this8","_indexes3","updatePromises","namedGraph","oldNameStatements","newNameStatement","literal","_solidResponse","removeStatements","_this9","imgSrc","iconBase","profileImg","src","width","height","nameSpan","flexGrow","removeButton","subject","predicate","defaultValue","url","_ref3","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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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-ui",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.30",
|
|
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",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"test:debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --watch",
|
|
26
26
|
"test": "npm run build-version && npm run lint && npm run jest",
|
|
27
27
|
"doc": "typedoc --out ./Documentation/api/ ./src/ --excludeInternal",
|
|
28
|
-
"prepublishOnly": "npm test && npm run build && npm run doc",
|
|
29
|
-
"postpublish": "git push origin main --follow-tags",
|
|
28
|
+
"ignore:prepublishOnly": "npm test && npm run build && npm run doc",
|
|
29
|
+
"ignore:postpublish": "git push origin main --follow-tags",
|
|
30
30
|
"storybook": "start-storybook -p 6006",
|
|
31
31
|
"build-storybook": "build-storybook --output-dir ./examples/storybook"
|
|
32
32
|
},
|
|
@@ -62,22 +62,22 @@
|
|
|
62
62
|
"i": "^0.3.7",
|
|
63
63
|
"mime-types": "^2.1.35",
|
|
64
64
|
"npm": "^8.19.4",
|
|
65
|
-
"pane-registry": "^2.4.
|
|
66
|
-
"rdflib": "^2.2.
|
|
67
|
-
"solid-logic": "^3.0.
|
|
65
|
+
"pane-registry": "^2.4.24",
|
|
66
|
+
"rdflib": "^2.2.33",
|
|
67
|
+
"solid-logic": "^3.0.5",
|
|
68
68
|
"solid-namespace": "^0.5.3",
|
|
69
69
|
"uuid": "^8.3.2"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@babel/cli": "^7.23.
|
|
73
|
-
"@babel/core": "^7.23.
|
|
72
|
+
"@babel/cli": "^7.23.4",
|
|
73
|
+
"@babel/core": "^7.23.5",
|
|
74
74
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
75
75
|
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
|
76
|
-
"@babel/plugin-transform-async-to-generator": "^7.
|
|
77
|
-
"@babel/plugin-transform-runtime": "^7.23.
|
|
78
|
-
"@babel/preset-env": "^7.23.
|
|
79
|
-
"@babel/preset-typescript": "^7.23.
|
|
80
|
-
"@babel/runtime": "^7.23.
|
|
76
|
+
"@babel/plugin-transform-async-to-generator": "^7.23.3",
|
|
77
|
+
"@babel/plugin-transform-runtime": "^7.23.4",
|
|
78
|
+
"@babel/preset-env": "^7.23.5",
|
|
79
|
+
"@babel/preset-typescript": "^7.23.3",
|
|
80
|
+
"@babel/runtime": "^7.23.5",
|
|
81
81
|
"@mdx-js/react": "^2.3.0",
|
|
82
82
|
"@storybook/addon-actions": "6.5.16",
|
|
83
83
|
"@storybook/addon-docs": "6.5.16",
|
|
@@ -90,13 +90,13 @@
|
|
|
90
90
|
"@testing-library/user-event": "^13.5.0",
|
|
91
91
|
"@types/jest": "^27.5.2",
|
|
92
92
|
"@types/jsdom": "^16.2.15",
|
|
93
|
-
"@types/node": "^18.18.
|
|
94
|
-
"@types/react": "^17.0.
|
|
93
|
+
"@types/node": "^18.18.14",
|
|
94
|
+
"@types/react": "^17.0.71",
|
|
95
95
|
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
96
96
|
"@typescript-eslint/parser": "^5.62.0",
|
|
97
97
|
"babel-loader": "^8.3.0",
|
|
98
98
|
"crypto": "^1.0.1",
|
|
99
|
-
"eslint": "^8.
|
|
99
|
+
"eslint": "^8.54.0",
|
|
100
100
|
"eslint-config-standard": "^17.1.0",
|
|
101
101
|
"eslint-import-resolver-typescript": "^2.7.1",
|
|
102
102
|
"eslint-plugin-import": "^2.29.0",
|
|
@@ -110,12 +110,12 @@
|
|
|
110
110
|
"jest": "^27.5.1",
|
|
111
111
|
"jsdom": "^19.0.0",
|
|
112
112
|
"lint-staged": "^12.5.0",
|
|
113
|
-
"nock": "^13.
|
|
113
|
+
"nock": "^13.4.0",
|
|
114
114
|
"react": "^17.0.2",
|
|
115
115
|
"react-dom": "^17.0.2",
|
|
116
116
|
"react-is": "^17.0.2",
|
|
117
117
|
"ts-jest": "^27.1.5",
|
|
118
|
-
"typedoc": "^0.25.
|
|
118
|
+
"typedoc": "^0.25.4",
|
|
119
119
|
"typescript": "^4.9.5",
|
|
120
120
|
"webpack": "^5.89.0",
|
|
121
121
|
"webpack-cli": "^4.10.0"
|