solid-ui 2.4.25 → 2.4.26-068520ea

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.
Files changed (82) hide show
  1. package/dist/main.js +1866 -1158
  2. package/dist/main.js.map +1 -1
  3. package/lib/acl/access-controller.js.map +1 -1
  4. package/lib/acl/access-groups.js.map +1 -1
  5. package/lib/acl/acl-control.js.map +1 -1
  6. package/lib/acl/acl.js.map +1 -1
  7. package/lib/acl/add-agent-buttons.js.map +1 -1
  8. package/lib/acl/index.js.map +1 -1
  9. package/lib/acl/styles.js.map +1 -1
  10. package/lib/chat/bookmarks.js +6 -7
  11. package/lib/chat/bookmarks.js.map +1 -1
  12. package/lib/chat/chatLogic.js +250 -61
  13. package/lib/chat/chatLogic.js.map +1 -1
  14. package/lib/chat/dateFolder.js.map +1 -1
  15. package/lib/chat/infinite.js +604 -426
  16. package/lib/chat/infinite.js.map +1 -1
  17. package/lib/chat/message.js +286 -158
  18. package/lib/chat/message.js.map +1 -1
  19. package/lib/chat/messageTools.js +464 -276
  20. package/lib/chat/messageTools.js.map +1 -1
  21. package/lib/chat/thread.js +166 -144
  22. package/lib/chat/thread.js.map +1 -1
  23. package/lib/create/create.js.map +1 -1
  24. package/lib/create/index.js.map +1 -1
  25. package/lib/debug.js.map +1 -1
  26. package/lib/folders.js.map +1 -1
  27. package/lib/footer/index.js.map +1 -1
  28. package/lib/footer/styleMap.js.map +1 -1
  29. package/lib/header/empty-profile.js.map +1 -1
  30. package/lib/header/index.js.map +1 -1
  31. package/lib/header/styleMap.js.map +1 -1
  32. package/lib/iconBase.js.map +1 -1
  33. package/lib/index.js.map +1 -1
  34. package/lib/jss/index.js.map +1 -1
  35. package/lib/log.js +7 -7
  36. package/lib/log.js.map +1 -1
  37. package/lib/login/login.js.map +1 -1
  38. package/lib/matrix/index.js.map +1 -1
  39. package/lib/matrix/matrix.js.map +1 -1
  40. package/lib/media/index.js.map +1 -1
  41. package/lib/media/media-capture.js.map +1 -1
  42. package/lib/messageArea.js.map +1 -1
  43. package/lib/noun_Camera_1618446_000000.js.map +1 -1
  44. package/lib/ns.js.map +1 -1
  45. package/lib/pad.js.map +1 -1
  46. package/lib/participation.js.map +1 -1
  47. package/lib/preferences.js +4 -0
  48. package/lib/preferences.js.map +1 -1
  49. package/lib/signup/config-default.js.map +1 -1
  50. package/lib/signup/signup.js.map +1 -1
  51. package/lib/stories/decorators.js.map +1 -1
  52. package/lib/style.js.map +1 -1
  53. package/lib/style_multiSelect.js.map +1 -1
  54. package/lib/table.js.map +1 -1
  55. package/lib/tabs.js.map +1 -1
  56. package/lib/utils/headerFooterHelpers.js.map +1 -1
  57. package/lib/utils/index.js.map +1 -1
  58. package/lib/utils/label.js.map +1 -1
  59. package/lib/versionInfo.d.ts +2 -0
  60. package/lib/versionInfo.d.ts.map +1 -1
  61. package/lib/versionInfo.js +17 -15
  62. package/lib/versionInfo.js.map +1 -1
  63. package/lib/widgets/buttons/iconLinks.js.map +1 -1
  64. package/lib/widgets/buttons.js.map +1 -1
  65. package/lib/widgets/dragAndDrop.js.map +1 -1
  66. package/lib/widgets/error.js.map +1 -1
  67. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  68. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  69. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  70. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  71. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  72. package/lib/widgets/forms/basic.js.map +1 -1
  73. package/lib/widgets/forms/comment.js.map +1 -1
  74. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  75. package/lib/widgets/forms/fieldParams.js.map +1 -1
  76. package/lib/widgets/forms/formStyle.js.map +1 -1
  77. package/lib/widgets/forms.js.map +1 -1
  78. package/lib/widgets/index.js.map +1 -1
  79. package/lib/widgets/multiSelect.js.map +1 -1
  80. package/lib/widgets/peoplePicker.js.map +1 -1
  81. package/lib/widgets/widgetHelpers.js.map +1 -1
  82. package/package.json +20 -19
@@ -1 +1 @@
1
- {"version":3,"file":"matrix.js","names":["kb","solidLogicSingleton","store","matrixForQuery","dom","query","vx","vy","vvalue","options","whenDone","matrix","createElement","header","corner","appendChild","setAttribute","lastHeader","columns","rows","setCell","cell","x","y","value","firstChild","removeChild","style","textAlign","cellFunction","textContent","utils","label","old","rowFor","y1","toNT","tr","termType","fetcher","nowOrWhenFetched","uri","split","undefined","ok","_body","_response","i","length","$rdf","fromNT","dataValueNT","ele","nextSibling","yDecreasing","insertBefore","columnNumberFor","x1","xNT","col","xDecreasing","slice","concat","push","row","td","t","j","markOldCells","children","clearOldCells","colsUsed","rowsUsed","set_y","k","set_x","newcolumns","refresh","addCellFromBindings","bindings","toString","colNo"],"sources":["../../src/matrix/matrix.ts"],"sourcesContent":["// Build a 2D matrix of values\n//\n// dom AKA document\n// query a Query object of rdflib.js with a valid pattern\n// vx A variable object, the one to be used for the X variable (horiz)\n// vy A variable object, the one to be used for the Y variable (vertical)\n// vvalue A variable object, the one to be used for the cell value\n// returns A DOM element with the matrix in it, which has a .refresh() function.\n//\n// Options:\n// cellFunction(td, x, y, value) fill the TD element of a single cell\n// xDecreasing set true for x axis to be in decreasing order.\n// yDecreasing set true for y axis to be in decreasing order.\n// set_x array of X values to be define initial rows (order irrelevant)\n// set_y array of Y values to be define initial columns\n//\n// Features:\n// Header row at top (x axis) and left (y-axis) generated automatically.\n// Extra rows and columns are inserted as needed to hold new data points\n// matrix.refresh() will re-run the query and adjust the display\n\nimport * as utils from '../utils'\nimport * as $rdf from 'rdflib'\nimport { MatrixOptions } from './types'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport function matrixForQuery (\n dom: HTMLDocument,\n query: $rdf.Query,\n vx: $rdf.Variable,\n vy: $rdf.Variable,\n vvalue: $rdf.Variable,\n options: MatrixOptions,\n whenDone: () => void\n) {\n // @@ TODO Remove need to cast to any\n const matrix: any = dom.createElement('table')\n const header = dom.createElement('tr')\n const corner = header.appendChild(dom.createElement('td'))\n corner.setAttribute('class', 'MatrixCorner')\n matrix.appendChild(header) // just one for now\n matrix.lastHeader = header // Element before data\n let columns: any[] = [] // Vector\n const rows: any[] = [] // Associative array\n\n const setCell = function (cell, x, y, value) {\n while (cell.firstChild) {\n // Empty any previous\n cell.removeChild(cell.firstChild)\n }\n cell.setAttribute('style', '')\n cell.style.textAlign = 'center'\n\n if (options.cellFunction) {\n options.cellFunction(cell, x, y, value)\n } else {\n cell.textContent = utils.label(value)\n cell.setAttribute('style', 'padding: 0.3em')\n }\n delete cell.old\n }\n\n const rowFor = function (y1) {\n const y = y1.toNT()\n if (rows[y]) return rows[y]\n // @@ TODO Remove need for casting to any\n const tr: any = dom.createElement('tr')\n const header = tr.appendChild(dom.createElement('td'))\n header.setAttribute('style', 'padding: 0.3em;')\n header.textContent = utils.label(y1) // first approximation\n if (y1.termType === 'NamedNode') {\n kb.fetcher!.nowOrWhenFetched(y1.uri.split('#')[0], undefined, function (\n ok,\n _body,\n _response\n ) {\n if (ok) header.textContent = utils.label(y1)\n })\n }\n for (let i = 0; i < columns.length; i++) {\n setCell(\n tr.appendChild(dom.createElement('td')),\n $rdf.fromNT(columns[i]),\n y1,\n null\n )\n }\n tr.dataValueNT = y\n rows[y] = tr\n for (let ele = matrix.lastHeader.nextSibling; ele; ele = ele.nextSibling) {\n // skip header\n if (\n (y > ele.dataValueNT && options && options.yDecreasing) ||\n (y < ele.dataValueNT && !(options && options.yDecreasing))\n ) {\n return matrix.insertBefore(tr, ele) // return the tr\n }\n }\n return matrix.appendChild(tr) // return the tr\n }\n\n const columnNumberFor = function (x1): number {\n const xNT: any = x1.toNT() // xNT is a NT string\n let col: any = null\n // These are data columns (not headings)\n for (let i = 0; i < columns.length; i++) {\n if (columns[i] === xNT) {\n return i\n }\n\n if (\n (xNT > columns[i] && options.xDecreasing) ||\n (xNT < columns[i] && !options.xDecreasing)\n ) {\n columns = columns\n .slice(0, i)\n .concat([xNT])\n .concat(columns.slice(i))\n col = i\n break\n }\n }\n\n if (col === null) {\n col = columns.length\n columns.push(xNT)\n }\n\n // col is the number of the new column, starting from 0\n for (let row = matrix.firstChild; row; row = row.nextSibling) {\n // For every row header or not\n const y = row.dataValueNT\n const td = dom.createElement('td') // Add a new cell\n td.style.textAlign = 'center'\n if (row === matrix.firstChild) {\n td.textContent = utils.label(x1)\n } else {\n setCell(td, x1, $rdf.fromNT(y), null)\n }\n if (col === columns.length - 1) {\n row.appendChild(td)\n } else {\n let t = row.firstChild\n for (let j = 0; j < col + 1; j++) {\n // Skip header col too\n t = t.nextSibling\n }\n row.insertBefore(td, t)\n }\n }\n return col\n }\n\n const markOldCells = function () {\n for (let i = 1; i < matrix.children.length; i++) {\n const row = matrix.children[i]\n for (let j = 1; j < row.children.length; j++) {\n row.children[j].old = true\n }\n }\n }\n\n const clearOldCells = function () {\n let row, cell\n const colsUsed: any[] = []\n const rowsUsed: any[] = []\n\n if (options.set_y) {\n // Knows y values create rows\n for (let k = 0; k < options.set_y.length; k++) {\n rowsUsed[options.set_y[k]] = true\n }\n }\n if (options.set_x) {\n for (let k = 0; k < options.set_x.length; k++) {\n colsUsed[columnNumberFor(options.set_x[k]) + 1] = true\n }\n }\n\n for (let i = 1; i < matrix.children.length; i++) {\n row = matrix.children[i]\n for (let j = 1; j < row.children.length; j++) {\n cell = row.children[j]\n if (cell.old) {\n const y = $rdf.fromNT(row.dataValueNT)\n const x = $rdf.fromNT(columns[j - 1])\n setCell(cell, x, y, null)\n } else {\n rowsUsed[row.dataValueNT] = true\n colsUsed[j] = true\n }\n }\n }\n\n for (let i = 0; i < matrix.children.length; i++) {\n row = matrix.children[i]\n if (i > 0 && !rowsUsed[row.dataValueNT]) {\n delete rows[row.dataValueNT]\n matrix.removeChild(row)\n } else {\n for (let j = row.children.length - 1; j > 0; j--) {\n // backwards\n const cell = row.children[j]\n if (!colsUsed[j]) {\n row.removeChild(cell)\n }\n }\n }\n }\n const newcolumns: any[] = []\n for (let j = 0; j < columns.length; j++) {\n if (colsUsed[j + 1]) {\n newcolumns.push(columns[j])\n }\n }\n columns = newcolumns\n }\n\n matrix.refresh = function () {\n markOldCells()\n kb.query(query, addCellFromBindings, undefined, clearOldCells)\n }\n\n const addCellFromBindings = function (bindings) {\n const x = bindings[vx.toString()]\n const y = bindings[vy.toString()]\n const value = bindings[(vvalue.toString())]\n const row = rowFor(y)\n const colNo = columnNumberFor(x)\n const cell = row.children[colNo + 1] // number of Y axis headings\n setCell(cell, x, y, value)\n }\n\n if (options.set_y) {\n // Knows y values create rows\n for (let k = 0; k < options.set_y.length; k++) {\n rowFor(options.set_y[k])\n }\n }\n if (options.set_x) {\n for (let k = 0; k < options.set_x.length; k++) {\n columnNumberFor(options.set_x[k])\n }\n }\n\n kb.query(query, addCellFromBindings, undefined, whenDone) // Populate the matrix\n return matrix\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"matrix.js","names":["utils","_interopRequireWildcard","require","$rdf","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","kb","solidLogicSingleton","store","matrixForQuery","dom","query","vx","vy","vvalue","options","whenDone","matrix","createElement","header","corner","appendChild","setAttribute","lastHeader","columns","rows","setCell","cell","x","y","value","firstChild","removeChild","style","textAlign","cellFunction","textContent","label","old","rowFor","y1","toNT","tr","termType","fetcher","nowOrWhenFetched","uri","split","undefined","ok","_body","_response","i","length","fromNT","dataValueNT","ele","nextSibling","yDecreasing","insertBefore","columnNumberFor","x1","xNT","col","xDecreasing","slice","concat","push","row","td","t","j","markOldCells","children","clearOldCells","colsUsed","rowsUsed","set_y","k","set_x","newcolumns","refresh","addCellFromBindings","bindings","toString","colNo"],"sources":["../../src/matrix/matrix.ts"],"sourcesContent":["// Build a 2D matrix of values\n//\n// dom AKA document\n// query a Query object of rdflib.js with a valid pattern\n// vx A variable object, the one to be used for the X variable (horiz)\n// vy A variable object, the one to be used for the Y variable (vertical)\n// vvalue A variable object, the one to be used for the cell value\n// returns A DOM element with the matrix in it, which has a .refresh() function.\n//\n// Options:\n// cellFunction(td, x, y, value) fill the TD element of a single cell\n// xDecreasing set true for x axis to be in decreasing order.\n// yDecreasing set true for y axis to be in decreasing order.\n// set_x array of X values to be define initial rows (order irrelevant)\n// set_y array of Y values to be define initial columns\n//\n// Features:\n// Header row at top (x axis) and left (y-axis) generated automatically.\n// Extra rows and columns are inserted as needed to hold new data points\n// matrix.refresh() will re-run the query and adjust the display\n\nimport * as utils from '../utils'\nimport * as $rdf from 'rdflib'\nimport { MatrixOptions } from './types'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport function matrixForQuery (\n dom: HTMLDocument,\n query: $rdf.Query,\n vx: $rdf.Variable,\n vy: $rdf.Variable,\n vvalue: $rdf.Variable,\n options: MatrixOptions,\n whenDone: () => void\n) {\n // @@ TODO Remove need to cast to any\n const matrix: any = dom.createElement('table')\n const header = dom.createElement('tr')\n const corner = header.appendChild(dom.createElement('td'))\n corner.setAttribute('class', 'MatrixCorner')\n matrix.appendChild(header) // just one for now\n matrix.lastHeader = header // Element before data\n let columns: any[] = [] // Vector\n const rows: any[] = [] // Associative array\n\n const setCell = function (cell, x, y, value) {\n while (cell.firstChild) {\n // Empty any previous\n cell.removeChild(cell.firstChild)\n }\n cell.setAttribute('style', '')\n cell.style.textAlign = 'center'\n\n if (options.cellFunction) {\n options.cellFunction(cell, x, y, value)\n } else {\n cell.textContent = utils.label(value)\n cell.setAttribute('style', 'padding: 0.3em')\n }\n delete cell.old\n }\n\n const rowFor = function (y1) {\n const y = y1.toNT()\n if (rows[y]) return rows[y]\n // @@ TODO Remove need for casting to any\n const tr: any = dom.createElement('tr')\n const header = tr.appendChild(dom.createElement('td'))\n header.setAttribute('style', 'padding: 0.3em;')\n header.textContent = utils.label(y1) // first approximation\n if (y1.termType === 'NamedNode') {\n kb.fetcher!.nowOrWhenFetched(y1.uri.split('#')[0], undefined, function (\n ok,\n _body,\n _response\n ) {\n if (ok) header.textContent = utils.label(y1)\n })\n }\n for (let i = 0; i < columns.length; i++) {\n setCell(\n tr.appendChild(dom.createElement('td')),\n $rdf.fromNT(columns[i]),\n y1,\n null\n )\n }\n tr.dataValueNT = y\n rows[y] = tr\n for (let ele = matrix.lastHeader.nextSibling; ele; ele = ele.nextSibling) {\n // skip header\n if (\n (y > ele.dataValueNT && options && options.yDecreasing) ||\n (y < ele.dataValueNT && !(options && options.yDecreasing))\n ) {\n return matrix.insertBefore(tr, ele) // return the tr\n }\n }\n return matrix.appendChild(tr) // return the tr\n }\n\n const columnNumberFor = function (x1): number {\n const xNT: any = x1.toNT() // xNT is a NT string\n let col: any = null\n // These are data columns (not headings)\n for (let i = 0; i < columns.length; i++) {\n if (columns[i] === xNT) {\n return i\n }\n\n if (\n (xNT > columns[i] && options.xDecreasing) ||\n (xNT < columns[i] && !options.xDecreasing)\n ) {\n columns = columns\n .slice(0, i)\n .concat([xNT])\n .concat(columns.slice(i))\n col = i\n break\n }\n }\n\n if (col === null) {\n col = columns.length\n columns.push(xNT)\n }\n\n // col is the number of the new column, starting from 0\n for (let row = matrix.firstChild; row; row = row.nextSibling) {\n // For every row header or not\n const y = row.dataValueNT\n const td = dom.createElement('td') // Add a new cell\n td.style.textAlign = 'center'\n if (row === matrix.firstChild) {\n td.textContent = utils.label(x1)\n } else {\n setCell(td, x1, $rdf.fromNT(y), null)\n }\n if (col === columns.length - 1) {\n row.appendChild(td)\n } else {\n let t = row.firstChild\n for (let j = 0; j < col + 1; j++) {\n // Skip header col too\n t = t.nextSibling\n }\n row.insertBefore(td, t)\n }\n }\n return col\n }\n\n const markOldCells = function () {\n for (let i = 1; i < matrix.children.length; i++) {\n const row = matrix.children[i]\n for (let j = 1; j < row.children.length; j++) {\n row.children[j].old = true\n }\n }\n }\n\n const clearOldCells = function () {\n let row, cell\n const colsUsed: any[] = []\n const rowsUsed: any[] = []\n\n if (options.set_y) {\n // Knows y values create rows\n for (let k = 0; k < options.set_y.length; k++) {\n rowsUsed[options.set_y[k]] = true\n }\n }\n if (options.set_x) {\n for (let k = 0; k < options.set_x.length; k++) {\n colsUsed[columnNumberFor(options.set_x[k]) + 1] = true\n }\n }\n\n for (let i = 1; i < matrix.children.length; i++) {\n row = matrix.children[i]\n for (let j = 1; j < row.children.length; j++) {\n cell = row.children[j]\n if (cell.old) {\n const y = $rdf.fromNT(row.dataValueNT)\n const x = $rdf.fromNT(columns[j - 1])\n setCell(cell, x, y, null)\n } else {\n rowsUsed[row.dataValueNT] = true\n colsUsed[j] = true\n }\n }\n }\n\n for (let i = 0; i < matrix.children.length; i++) {\n row = matrix.children[i]\n if (i > 0 && !rowsUsed[row.dataValueNT]) {\n delete rows[row.dataValueNT]\n matrix.removeChild(row)\n } else {\n for (let j = row.children.length - 1; j > 0; j--) {\n // backwards\n const cell = row.children[j]\n if (!colsUsed[j]) {\n row.removeChild(cell)\n }\n }\n }\n }\n const newcolumns: any[] = []\n for (let j = 0; j < columns.length; j++) {\n if (colsUsed[j + 1]) {\n newcolumns.push(columns[j])\n }\n }\n columns = newcolumns\n }\n\n matrix.refresh = function () {\n markOldCells()\n kb.query(query, addCellFromBindings, undefined, clearOldCells)\n }\n\n const addCellFromBindings = function (bindings) {\n const x = bindings[vx.toString()]\n const y = bindings[vy.toString()]\n const value = bindings[(vvalue.toString())]\n const row = rowFor(y)\n const colNo = columnNumberFor(x)\n const cell = row.children[colNo + 1] // number of Y axis headings\n setCell(cell, x, y, value)\n }\n\n if (options.set_y) {\n // Knows y values create rows\n for (let k = 0; k < options.set_y.length; k++) {\n rowFor(options.set_y[k])\n }\n }\n if (options.set_x) {\n for (let k = 0; k < options.set_x.length; k++) {\n columnNumberFor(options.set_x[k])\n }\n }\n\n kb.query(query, addCellFromBindings, undefined, whenDone) // Populate the matrix\n return matrix\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["media","cameraCaptureControl","cameraButton"],"sources":["../../src/media/index.ts"],"sourcesContent":["import {\n cameraCaptureControl,\n cameraButton\n} from './media-capture'\n\nexport const media = {\n cameraCaptureControl,\n cameraButton\n}\n"],"mappings":";;;;;;AAAA;AAKO,IAAMA,KAAK,GAAG;EACnBC,oBAAoB,EAApBA,kCAAoB;EACpBC,YAAY,EAAZA;AACF,CAAC;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_mediaCapture","require","media","cameraCaptureControl","cameraButton","exports"],"sources":["../../src/media/index.ts"],"sourcesContent":["import {\n cameraCaptureControl,\n cameraButton\n} from './media-capture'\n\nexport const media = {\n cameraCaptureControl,\n cameraButton\n}\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAKO,IAAMC,KAAK,GAAG;EACnBC,oBAAoB,EAApBA,kCAAoB;EACpBC,YAAY,EAAZA;AACF,CAAC;AAAAC,OAAA,CAAAH,KAAA,GAAAA,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-capture.js","names":["cameraIcon","icons","iconBase","retakeIcon","canvasWidth","canvasHeight","controlStyle","contentType","cameraCaptureControl","dom","store","getImageDoc","doneCallback","div","createElement","destination","imageBlob","player","canvas","table","appendChild","mainTR","main","setAttribute","buttons","widgets","cancelButton","addEventListener","_event","stopVideo","retakeButton","button","retake","style","visibility","shutterButton","grabCanvas","sendButton","continueButton","saveBlob","displayPlayer","navigator","mediaDevices","Error","getUserMedia","constraints","then","stream","srcObject","video","removeChild","context","getContext","drawImage","width","height","parentNode","toBlob","blob","msg","type","size","debug","log","reviewImage","getVideoTracks","forEach","track","stop","fetcher","webOperation","uri","data","_resp","err","alert","cameraButton","but","control","restoreButton","imageDoc"],"sources":["../../src/media/media-capture.ts"],"sourcesContent":["/// /////////////////////////////////////////////\n//\n// Media input widget\n//\n//\n// Workflow:\n// The HTML5 functionality (on mobille) is to prompt for either\n// a realtime camera capture , OR a selection from images already ont the device\n// (eg camera roll).\n//\n// The solid alternative is to either take a phtoto\n// or access cemra roll (etc) OR to access solid cloud storage of favorite photo almbums.\n// (Especially latest taken ones)\n//\nimport * as debug from '../debug'\n\n/** @module mediaCapture */\n\nimport { icons } from '../iconBase'\nimport * as widgets from '../widgets'\nimport { IndexedFormula, NamedNode } from 'rdflib'\n\nconst cameraIcon = icons.iconBase + 'noun_Camera_1618446_000000.svg' // Get it from github\nconst retakeIcon = icons.iconBase + 'noun_479395.svg' // Get it from github\n\nconst canvasWidth = '640'\nconst canvasHeight = '480'\n\nconst controlStyle = `border-radius: 0.5em; margin: 0.8em; width: ${canvasWidth}; height:${canvasHeight};`\n// const controlStyle = 'border-radius: 0.5em; margin: 0.8em; width: 320; height:240;'\nconst contentType = 'image/png'\n\n/** A control to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {NamedNode} getImageDoc() - NN of the image file to be created\n * @param {function} doneCallback - Called when a picture has been taken\n */\nexport function cameraCaptureControl (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n) {\n const div = dom.createElement('div')\n let destination, imageBlob, player, canvas\n\n const table = div.appendChild(dom.createElement('table'))\n const mainTR = table.appendChild(dom.createElement('tr'))\n const main = mainTR.appendChild(dom.createElement('td'))\n main.setAttribute('colspan', '4')\n\n const buttons = table.appendChild(dom.createElement('tr'))\n\n buttons\n .appendChild(dom.createElement('td')) // Cancel button\n .appendChild(widgets.cancelButton(dom))\n .addEventListener('click', _event => {\n stopVideo()\n doneCallback(null)\n })\n\n const retakeButton = buttons\n .appendChild(dom.createElement('td')) // Retake button\n .appendChild(widgets.button(dom, retakeIcon, 'Retake'))\n retakeButton.addEventListener('click', _event => {\n retake()\n })\n retakeButton.style.visibility = 'collapse' // Hide for now\n\n const shutterButton = buttons\n .appendChild(dom.createElement('td')) // Trigger capture button\n .appendChild(\n widgets.button(dom, icons.iconBase + 'noun_10636.svg', 'Snap')\n )\n shutterButton.addEventListener('click', grabCanvas)\n shutterButton.style.visibility = 'collapse' // Hide for now\n\n const sendButton = buttons\n .appendChild(dom.createElement('td')) // Confirm and save button\n .appendChild(widgets.continueButton(dom)) // @@ or send icon??\n sendButton.addEventListener('click', _event => {\n saveBlob(imageBlob, destination)\n })\n sendButton.style.visibility = 'collapse' // Hide for now\n\n function displayPlayer () {\n player = main.appendChild(dom.createElement('video'))\n player.setAttribute('controls', '1')\n player.setAttribute('autoplay', '1')\n player.setAttribute('style', controlStyle)\n if (!navigator.mediaDevices) {\n throw new Error('navigator.mediaDevices not available')\n }\n navigator.mediaDevices.getUserMedia(constraints).then(stream => {\n player.srcObject = stream\n shutterButton.style.visibility = 'visible' // Enable\n sendButton.style.visibility = 'collapse'\n retakeButton.style.visibility = 'collapse'\n })\n }\n\n const constraints = {\n video: true\n }\n\n function retake () {\n main.removeChild(canvas)\n displayPlayer() // Make new one as old one is stuck black\n }\n\n function grabCanvas () {\n // Draw the video frame to the canvas.\n canvas = dom.createElement('canvas')\n canvas.setAttribute('width', canvasWidth)\n canvas.setAttribute('height', canvasHeight)\n canvas.setAttribute('style', controlStyle)\n main.appendChild(canvas)\n\n const context = canvas.getContext('2d')\n context.drawImage(player, 0, 0, canvas.width, canvas.height)\n\n player.parentNode.removeChild(player)\n\n canvas.toBlob(blob => {\n const msg = `got blob type ${blob.type} size ${blob.size}`\n debug.log(msg)\n destination = getImageDoc()\n imageBlob = blob // save for review\n reviewImage()\n // alert(msg)\n }, contentType) // toBlob\n }\n\n function reviewImage () {\n sendButton.style.visibility = 'visible'\n retakeButton.style.visibility = 'visible'\n shutterButton.style.visibility = 'collapse' // Hide for now\n }\n\n function stopVideo () {\n if (player && player.srcObject) {\n player.srcObject.getVideoTracks().forEach(track => track.stop())\n }\n }\n function saveBlob (blob, destination) {\n const contentType = blob.type\n // if (!confirm('Save picture to ' + destination + ' ?')) return\n debug.log(\n 'Putting ' + blob.size + ' bytes of ' + contentType + ' to ' + destination\n )\n // @@ TODO Remove casting\n ;(store as any).fetcher\n .webOperation('PUT', destination.uri, {\n data: blob,\n contentType\n })\n .then(\n _resp => {\n debug.log('ok saved ' + destination)\n stopVideo()\n doneCallback(destination)\n },\n err => {\n stopVideo()\n alert(err)\n }\n )\n }\n\n // Attach the video stream to the video element and autoplay.\n displayPlayer()\n return div\n}\n\n/** A button to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {fuunction} getImageDoc - returns NN of the image file to be created\n * @param {function<Node>} doneCallback - called with the image taken\n * @returns {DomElement} - A div element with the buton in it\n *\n * This expacts the buttton to a large control when it is pressed\n */\n\nexport function cameraButton (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n): HTMLElement {\n const div = dom.createElement('div')\n const but = widgets.button(dom, cameraIcon, 'Take picture')\n let control\n async function restoreButton (imageDoc) {\n div.removeChild(control)\n div.appendChild(but)\n doneCallback(imageDoc)\n }\n div.appendChild(but)\n but.addEventListener('click', _event => {\n div.removeChild(but)\n control = cameraCaptureControl(\n dom,\n store,\n getImageDoc,\n restoreButton\n )\n div.appendChild(control)\n })\n return div\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"media-capture.js","names":["debug","_interopRequireWildcard","require","_iconBase","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","cameraIcon","icons","iconBase","retakeIcon","canvasWidth","canvasHeight","controlStyle","concat","contentType","cameraCaptureControl","dom","store","getImageDoc","doneCallback","div","createElement","destination","imageBlob","player","canvas","table","appendChild","mainTR","main","setAttribute","buttons","cancelButton","addEventListener","_event","stopVideo","retakeButton","button","retake","style","visibility","shutterButton","grabCanvas","sendButton","continueButton","saveBlob","displayPlayer","navigator","mediaDevices","Error","getUserMedia","constraints","then","stream","srcObject","video","removeChild","context","getContext","drawImage","width","height","parentNode","toBlob","blob","msg","type","size","log","reviewImage","getVideoTracks","forEach","track","stop","fetcher","webOperation","uri","data","_resp","err","alert","cameraButton","but","control","restoreButton","_x","_restoreButton","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","imageDoc","wrap","_callee$","_context","prev","next"],"sources":["../../src/media/media-capture.ts"],"sourcesContent":["/// /////////////////////////////////////////////\n//\n// Media input widget\n//\n//\n// Workflow:\n// The HTML5 functionality (on mobille) is to prompt for either\n// a realtime camera capture , OR a selection from images already ont the device\n// (eg camera roll).\n//\n// The solid alternative is to either take a phtoto\n// or access cemra roll (etc) OR to access solid cloud storage of favorite photo almbums.\n// (Especially latest taken ones)\n//\nimport * as debug from '../debug'\n\n/** @module mediaCapture */\n\nimport { icons } from '../iconBase'\nimport * as widgets from '../widgets'\nimport { IndexedFormula, NamedNode } from 'rdflib'\n\nconst cameraIcon = icons.iconBase + 'noun_Camera_1618446_000000.svg' // Get it from github\nconst retakeIcon = icons.iconBase + 'noun_479395.svg' // Get it from github\n\nconst canvasWidth = '640'\nconst canvasHeight = '480'\n\nconst controlStyle = `border-radius: 0.5em; margin: 0.8em; width: ${canvasWidth}; height:${canvasHeight};`\n// const controlStyle = 'border-radius: 0.5em; margin: 0.8em; width: 320; height:240;'\nconst contentType = 'image/png'\n\n/** A control to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {NamedNode} getImageDoc() - NN of the image file to be created\n * @param {function} doneCallback - Called when a picture has been taken\n */\nexport function cameraCaptureControl (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n) {\n const div = dom.createElement('div')\n let destination, imageBlob, player, canvas\n\n const table = div.appendChild(dom.createElement('table'))\n const mainTR = table.appendChild(dom.createElement('tr'))\n const main = mainTR.appendChild(dom.createElement('td'))\n main.setAttribute('colspan', '4')\n\n const buttons = table.appendChild(dom.createElement('tr'))\n\n buttons\n .appendChild(dom.createElement('td')) // Cancel button\n .appendChild(widgets.cancelButton(dom))\n .addEventListener('click', _event => {\n stopVideo()\n doneCallback(null)\n })\n\n const retakeButton = buttons\n .appendChild(dom.createElement('td')) // Retake button\n .appendChild(widgets.button(dom, retakeIcon, 'Retake'))\n retakeButton.addEventListener('click', _event => {\n retake()\n })\n retakeButton.style.visibility = 'collapse' // Hide for now\n\n const shutterButton = buttons\n .appendChild(dom.createElement('td')) // Trigger capture button\n .appendChild(\n widgets.button(dom, icons.iconBase + 'noun_10636.svg', 'Snap')\n )\n shutterButton.addEventListener('click', grabCanvas)\n shutterButton.style.visibility = 'collapse' // Hide for now\n\n const sendButton = buttons\n .appendChild(dom.createElement('td')) // Confirm and save button\n .appendChild(widgets.continueButton(dom)) // @@ or send icon??\n sendButton.addEventListener('click', _event => {\n saveBlob(imageBlob, destination)\n })\n sendButton.style.visibility = 'collapse' // Hide for now\n\n function displayPlayer () {\n player = main.appendChild(dom.createElement('video'))\n player.setAttribute('controls', '1')\n player.setAttribute('autoplay', '1')\n player.setAttribute('style', controlStyle)\n if (!navigator.mediaDevices) {\n throw new Error('navigator.mediaDevices not available')\n }\n navigator.mediaDevices.getUserMedia(constraints).then(stream => {\n player.srcObject = stream\n shutterButton.style.visibility = 'visible' // Enable\n sendButton.style.visibility = 'collapse'\n retakeButton.style.visibility = 'collapse'\n })\n }\n\n const constraints = {\n video: true\n }\n\n function retake () {\n main.removeChild(canvas)\n displayPlayer() // Make new one as old one is stuck black\n }\n\n function grabCanvas () {\n // Draw the video frame to the canvas.\n canvas = dom.createElement('canvas')\n canvas.setAttribute('width', canvasWidth)\n canvas.setAttribute('height', canvasHeight)\n canvas.setAttribute('style', controlStyle)\n main.appendChild(canvas)\n\n const context = canvas.getContext('2d')\n context.drawImage(player, 0, 0, canvas.width, canvas.height)\n\n player.parentNode.removeChild(player)\n\n canvas.toBlob(blob => {\n const msg = `got blob type ${blob.type} size ${blob.size}`\n debug.log(msg)\n destination = getImageDoc()\n imageBlob = blob // save for review\n reviewImage()\n // alert(msg)\n }, contentType) // toBlob\n }\n\n function reviewImage () {\n sendButton.style.visibility = 'visible'\n retakeButton.style.visibility = 'visible'\n shutterButton.style.visibility = 'collapse' // Hide for now\n }\n\n function stopVideo () {\n if (player && player.srcObject) {\n player.srcObject.getVideoTracks().forEach(track => track.stop())\n }\n }\n function saveBlob (blob, destination) {\n const contentType = blob.type\n // if (!confirm('Save picture to ' + destination + ' ?')) return\n debug.log(\n 'Putting ' + blob.size + ' bytes of ' + contentType + ' to ' + destination\n )\n // @@ TODO Remove casting\n ;(store as any).fetcher\n .webOperation('PUT', destination.uri, {\n data: blob,\n contentType\n })\n .then(\n _resp => {\n debug.log('ok saved ' + destination)\n stopVideo()\n doneCallback(destination)\n },\n err => {\n stopVideo()\n alert(err)\n }\n )\n }\n\n // Attach the video stream to the video element and autoplay.\n displayPlayer()\n return div\n}\n\n/** A button to capture a picture using camera\n * @param {Docuemnt} dom - The Document object\n * @param {IndexedForumla} store - The quadstore to store data in\n * @param {fuunction} getImageDoc - returns NN of the image file to be created\n * @param {function<Node>} doneCallback - called with the image taken\n * @returns {DomElement} - A div element with the buton in it\n *\n * This expacts the buttton to a large control when it is pressed\n */\n\nexport function cameraButton (\n dom: HTMLDocument,\n store: IndexedFormula,\n getImageDoc: () => NamedNode,\n doneCallback: (imageDoc) => Promise<void>\n): HTMLElement {\n const div = dom.createElement('div')\n const but = widgets.button(dom, cameraIcon, 'Take picture')\n let control\n async function restoreButton (imageDoc) {\n div.removeChild(control)\n div.appendChild(but)\n doneCallback(imageDoc)\n }\n div.appendChild(but)\n but.addEventListener('click', _event => {\n div.removeChild(but)\n control = cameraCaptureControl(\n dom,\n store,\n getImageDoc,\n restoreButton\n )\n div.appendChild(control)\n })\n return div\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messageArea.js","names":["UI","icons","ns","rdf","style","widgets","messageArea","dom","kb","subject","messageStore","options","solidLogicSingleton","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","sts","now","Date","timestamp","getTime","dateStamp","sym","push","Statement","wf","sioc","literal","value","foaf","sendComplete","success","body","errorMessageBlock","bindings","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","login","ensureLoggedIn","then","nick","person","s","any","utils","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","undefined","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","deleteMessage","deletions","statementsMatching","concat","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","msg","dct","doneQuery","refresh"],"sources":["../src/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from './login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from './style'\nimport * as utils from './utils'\nimport * as widgets from './widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":";;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoC;AAAA;AAVpC;AACA;;AAM8B;;AAK9B,IAAMA,EAAE,GAAG;EAAEC,KAAK,EAALA,eAAK;EAAEC,EAAE,EAAFA,EAAE;EAAEC,GAAG,EAAHA,GAAG;EAAEC,KAAK,EAALA,KAAK;EAAEC,OAAO,EAAPA;AAAQ,CAAC;AAEtC,SAASC,WAAW,CAAEC,GAAG,EAAEC,EAAE,EAAEC,OAAO,EAAEC,YAAY,EAAEC,OAAO,EAAE;EACpEH,EAAE,GAAGA,EAAE,IAAII,+BAAmB,CAACC,KAAK;EACpCH,YAAY,GAAGA,YAAY,CAACI,GAAG,EAAE,EAAC;EAClC,IAAMZ,EAAE,GAAGF,EAAE,CAACE,EAAE;EAChB,IAAMa,EAAE,GAAGZ,GAAG,CAACa,SAAS,CAAC,oCAAoC,CAAC;EAC9D,IAAMC,GAAG,GAAGd,GAAG,CAACa,SAAS,CAAC,2BAA2B,CAAC;EAEtDL,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAEvB,IAAMO,WAAW,GAAG,CAAC,CAACP,OAAO,CAACO,WAAW;EAEzC,IAAMC,gBAAgB,GACpB,iIAAiI;EACnI;;EAEA,IAAMC,GAAG,GAAGb,GAAG,CAACc,aAAa,CAAC,KAAK,CAAC;EACpC;EACA,IAAIC,YAAY,EAAC;;EAEjB,IAAIC,EAAE;EAEN,IAAMC,OAAO,GAAGZ,+BAAmB,CAACC,KAAK,CAACW,OAAO;EAEjD,IAAMC,MAAM,GAAG,SAATA,MAAM,CAAaC,IAAI,EAAEC,IAAI,EAAE;IACnC;IACA,IAAMC,CAAC,GAAGrB,GAAG,CAACc,aAAa,CAAC,GAAG,CAAC;IAChC,IAAIM,IAAI,IAAIA,IAAI,CAACE,GAAG,EAAE;MACpBD,CAAC,CAACE,YAAY,CAAC,MAAM,EAAEH,IAAI,CAACE,GAAG,CAAC;MAChCD,CAAC,CAACG,gBAAgB,CAAC,OAAO,EAAE/B,EAAE,CAACK,OAAO,CAAC2B,qBAAqB,EAAE,IAAI,CAAC;MACnEJ,CAAC,CAACE,YAAY,CAAC,OAAO,EAAE,yCAAyC,CAAC,EAAC;IACrE;;IACAF,CAAC,CAACK,WAAW,GAAGP,IAAI;IACpB,OAAOE,CAAC;EACV,CAAC;EAED,IAAMM,OAAO,GAAG,SAASA,OAAO,CAAEC,OAAO,EAAE/B,KAAK,EAAE;IAChD,IAAMgC,GAAG,GAAG7B,GAAG,CAACc,aAAa,CAAC,KAAK,CAAC;IACpCe,GAAG,CAACN,YAAY,CAAC,OAAO,EAAE1B,KAAK,IAAI,aAAa,CAAC;IACjDgB,GAAG,CAACiB,WAAW,CAACD,GAAG,CAAC;IACpBA,GAAG,CAACC,WAAW,CAAC9B,GAAG,CAAC+B,cAAc,CAACH,OAAO,CAAC,CAAC;IAC5C,OAAOC,GAAG;EACZ,CAAC;EAED,IAAMG,QAAQ,GAAG;IACfC,GAAG,EAAE,aAAUL,OAAO,EAAE;MACtBD,OAAO,CAACC,OAAO,EAAE,cAAc,CAAC;IAClC,CAAC;IACDM,IAAI,EAAE,cAAUN,OAAO,EAAE;MACvBD,OAAO,CAACC,OAAO,EAAE,cAAc,CAAC;IAClC,CAAC;IACDO,KAAK,EAAE,eAAUP,OAAO,EAAE;MACxBD,OAAO,CAACC,OAAO,EAAE,cAAc,CAAC;IAClC;EACF,CAAC;;EAED;EACA;EACA,IAAMQ,cAAc,GAAG,SAAjBA,cAAc,GAAe;IACjC,IAAMC,IAAI,GAAGrC,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACpC,IAAMwB,GAAG,GAAGtC,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACnC,IAAMyB,MAAM,GAAGvC,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACtC,IAAM0B,GAAG,GAAGxC,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACnCuB,IAAI,CAACP,WAAW,CAACQ,GAAG,CAAC;IACrBD,IAAI,CAACP,WAAW,CAACS,MAAM,CAAC;IACxBF,IAAI,CAACP,WAAW,CAACU,GAAG,CAAC;IACrBH,IAAI,CAACI,SAAS,GAAG,sBAAsB,EAAC;;IAExC,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAe;MAC9B;MACA;MACAC,KAAK,CAACpB,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC;MAC1CoB,KAAK,CAACC,QAAQ,GAAG,IAAI;MACrB,IAAMC,GAAG,GAAG,EAAE;MACd,IAAMC,GAAG,GAAG,IAAIC,IAAI,EAAE;MACtB,IAAMC,SAAS,GAAG,EAAE,GAAGF,GAAG,CAACG,OAAO,EAAE;MACpC,IAAMC,SAAS,GAAGtD,GAAG,CAACwB,IAAI,CAAC0B,GAAG,CAAC;MAC/B;MACA,IAAMlB,OAAO,GAAG3B,EAAE,CAACkD,GAAG,CAAChD,YAAY,CAACmB,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG0B,SAAS,CAAC;MAElEH,GAAG,CAACO,IAAI,CACN,IAAIxD,GAAG,CAACyD,SAAS,CAACnD,OAAO,EAAEP,EAAE,CAAC2D,EAAE,CAAC,SAAS,CAAC,EAAE1B,OAAO,EAAEzB,YAAY,CAAC,CACpE;MACD0C,GAAG,CAACO,IAAI,CACN,IAAIxD,GAAG,CAACyD,SAAS,CACfzB,OAAO,EACPjC,EAAE,CAAC4D,IAAI,CAAC,SAAS,CAAC,EAClBtD,EAAE,CAACuD,OAAO,CAACb,KAAK,CAACc,KAAK,CAAC,EACvBtD,YAAY,CACb,CACF;MACD0C,GAAG,CAACO,IAAI,CACN,IAAIxD,GAAG,CAACyD,SAAS,CAACzB,OAAO,EAAElB,GAAG,CAAC,SAAS,CAAC,EAAEwC,SAAS,EAAE/C,YAAY,CAAC,CACpE;MACD,IAAIa,EAAE,EAAE;QACN6B,GAAG,CAACO,IAAI,CACN,IAAIxD,GAAG,CAACyD,SAAS,CAACzB,OAAO,EAAEjC,EAAE,CAAC+D,IAAI,CAAC,OAAO,CAAC,EAAE1C,EAAE,EAAEb,YAAY,CAAC,CAC/D;MACH;MAEA,IAAMwD,YAAY,GAAG,SAAfA,YAAY,CAAarC,GAAG,EAAEsC,OAAO,EAAEC,IAAI,EAAE;QACjD,IAAI,CAACD,OAAO,EAAE;UACZvB,IAAI,CAACP,WAAW,CACdrC,EAAE,CAACK,OAAO,CAACgE,iBAAiB,CAAC9D,GAAG,EAAE,yBAAyB,GAAG6D,IAAI,CAAC,CACpE;QACH,CAAC,MAAM;UACL,IAAME,QAAQ,GAAG;YACf,MAAM,EAAEnC,OAAO;YACf,UAAU,EAAE3B,EAAE,CAACuD,OAAO,CAACb,KAAK,CAACc,KAAK,CAAC;YACnC,OAAO,EAAEP,SAAS;YAClB,UAAU,EAAElC;UACd,CAAC;UACDgD,aAAa,CAACD,QAAQ,EAAE,KAAK,CAAC,EAAC;;UAE/BpB,KAAK,CAACc,KAAK,GAAG,EAAE,EAAC;UACjBd,KAAK,CAACpB,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;UAC/BoB,KAAK,CAACC,QAAQ,GAAG,KAAK;QACxB;MACF,CAAC;MACD3B,OAAO,CAACgD,MAAM,CAAC,EAAE,EAAEpB,GAAG,EAAEc,YAAY,CAAC;IACvC,CAAC;IACDtB,IAAI,CAACP,WAAW,CAAC9B,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI6B,KAAK,EAAEuB,UAAU;IACrB,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAe;MAC9BC,cAAc,CAAC9B,GAAG,EAAEtB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC;MAEjC2B,KAAK,GAAG3C,GAAG,CAACc,aAAa,CAAC,UAAU,CAAC;MACrCyB,MAAM,CAAC8B,SAAS,GAAG,EAAE;MACrB9B,MAAM,CAACT,WAAW,CAACa,KAAK,CAAC;MACzBA,KAAK,CAAC2B,IAAI,GAAG,CAAC;MACd;MACA3B,KAAK,CAACpB,YAAY,CAAC,OAAO,EAAEX,gBAAgB,GAAG,yBAAyB,CAAC;MAEzE+B,KAAK,CAACnB,gBAAgB,CACpB,OAAO,EACP,UAAU+C,CAAC,EAAE;QACX;QACA,IAAIA,CAAC,CAACC,OAAO,KAAK,EAAE,EAAE;UACpB,IAAI,CAACD,CAAC,CAACE,MAAM,EAAE;YACb;YACA/B,WAAW,EAAE;UACf;QACF;MACF,CAAC,EACD,KAAK,CACN;MAEDF,GAAG,CAAC6B,SAAS,GAAG,EAAE;MAClBH,UAAU,GAAGzE,EAAE,CAACK,OAAO,CAAC4E,MAAM,CAC5B1E,GAAG,EACHP,EAAE,CAACC,KAAK,CAACiF,QAAQ,GAAG,iBAAiB,EACrC,MAAM,CACP;MACDT,UAAU,CAAC3C,YAAY,CAAC,OAAO,EAAE9B,EAAE,CAACI,KAAK,CAAC+E,WAAW,GAAG,eAAe,CAAC;MACxEV,UAAU,CAAC1C,gBAAgB,CAAC,OAAO,EAAEkB,WAAW,EAAE,KAAK,CAAC;MACxDF,GAAG,CAACV,WAAW,CAACoC,UAAU,CAAC;IAC7B,CAAC;IAED,IAAMW,OAAO,GAAG;MAAEhE,GAAG,EAAE0B,MAAM;MAAEvC,GAAG,EAAHA;IAAI,CAAC;IACpC8E,KAAK,CAACC,cAAc,CAACF,OAAO,CAAC,CAACG,IAAI,CAAC,UAAAH,OAAO,EAAI;MAC5C7D,EAAE,GAAG6D,OAAO,CAAC7D,EAAE;MACfmD,WAAW,EAAE;IACf,CAAC,CAAC;IAEF,OAAO9B,IAAI;EACb,CAAC;EAED,SAAS4C,IAAI,CAAEC,MAAM,EAAE;IACrB,IAAMC,CAAC,GAAG9E,+BAAmB,CAACC,KAAK,CAAC8E,GAAG,CAACF,MAAM,EAAEzF,EAAE,CAACE,EAAE,CAAC+D,IAAI,CAAC,MAAM,CAAC,CAAC;IACnE,IAAIyB,CAAC,EAAE,OAAO,EAAE,GAAGA,CAAC,CAAC1B,KAAK;IAC1B,OAAO,EAAE,GAAG4B,KAAK,CAACC,KAAK,CAACJ,MAAM,CAAC;EACjC;EAEA,SAASd,cAAc,CAAEmB,GAAG,EAAEC,OAAO,EAAEC,IAAI,EAAE7D,OAAO,EAAE;IACpD,IAAM8D,UAAU,GAAGH,GAAG,CAACzD,WAAW,CAACZ,MAAM,CAAC+D,IAAI,CAACO,OAAO,CAAC,EAAEA,OAAO,CAAC,CAAC;IAClE,IAAIA,OAAO,CAAClE,GAAG,EAAE;MACfjB,+BAAmB,CAACC,KAAK,CAACqF,OAAO,CAACC,gBAAgB,CAACJ,OAAO,CAACjF,GAAG,EAAE,EAAEsF,SAAS,EAAE,UAC3EC,GAAG,EACHC,KAAK,EACL;QACAL,UAAU,CAAChE,WAAW,GAAGuD,IAAI,CAACO,OAAO,CAAC;MACxC,CAAC,CAAC;IACJ;IACAD,GAAG,CAACzD,WAAW,CAAC9B,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC,CAAC;IACxCyE,GAAG,CAACzD,WAAW,CAACZ,MAAM,CAACuE,IAAI,EAAE7D,OAAO,CAAC,CAAC;EACxC;;EAEA;;EAEA,SAASoE,YAAY,CAAEC,KAAK,EAAElF,YAAY,EAAE;IAC1C,IAAMmF,SAAS,GAAG,CAAC,CAAC;IACpB,IAAIC,GAAG,EAAEC,IAAI;IACb,KAAKD,GAAG,GAAGpF,YAAY,CAACsF,UAAU,EAAEF,GAAG,EAAEA,GAAG,GAAGA,GAAG,CAACG,WAAW,EAAE;MAC9D,IAAIH,GAAG,CAACI,YAAY,EAAE;QACpBL,SAAS,CAACC,GAAG,CAACI,YAAY,CAACjF,GAAG,CAAC,GAAG,IAAI;MACxC;IACF;IACA,IAAMkF,QAAQ,GAAGvG,EAAE,CAACwG,IAAI,CAACR,KAAK,EAAEtG,EAAE,CAAC2D,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,IAAMoD,MAAM,GAAG,CAAC,CAAC;IACjBF,QAAQ,CAACG,OAAO,CAAC,UAAUC,CAAC,EAAE;MAC5BF,MAAM,CAACE,CAAC,CAACtF,GAAG,CAAC,GAAG,IAAI;MACpB,IAAI,CAAC4E,SAAS,CAACU,CAAC,CAACtF,GAAG,CAAC,EAAE;QACrBuF,UAAU,CAACD,CAAC,CAAC;MACf;IACF,CAAC,CAAC;;IAEF;IACA,KAAKT,GAAG,GAAGpF,YAAY,CAACsF,UAAU,EAAEF,GAAG,GAAI;MACzCC,IAAI,GAAGD,GAAG,CAACG,WAAW;MACtB,IAAIH,GAAG,CAACI,YAAY,IAAI,CAACG,MAAM,CAACP,GAAG,CAACI,YAAY,CAACjF,GAAG,CAAC,EAAE;QACrDP,YAAY,CAAC+F,WAAW,CAACX,GAAG,CAAC;MAC/B;MACAA,GAAG,GAAGC,IAAI;IACZ;EACF;EAEA,IAAMW,aAAa,GAAG,SAAhBA,aAAa,CAAanF,OAAO,EAAE;IACvC,IAAMoF,SAAS,GAAG/G,EAAE,CACjBgH,kBAAkB,CAACrF,OAAO,CAAC,CAC3BsF,MAAM,CAACjH,EAAE,CAACgH,kBAAkB,CAACpB,SAAS,EAAEA,SAAS,EAAEjE,OAAO,CAAC,CAAC;IAC/DX,OAAO,CAACgD,MAAM,CAAC+C,SAAS,EAAE,EAAE,EAAE,UAAU1F,GAAG,EAAE6F,EAAE,EAAEtD,IAAI,EAAE;MACrD,IAAI,CAACsD,EAAE,EAAE;QACPnF,QAAQ,CAACG,KAAK,CAAC,uBAAuB,GAAG0B,IAAI,CAAC;MAChD,CAAC,MAAM;QACLmC,YAAY,CAAC9F,OAAO,EAAEa,YAAY,CAAC;MACrC;IACF,CAAC,CAAC;EACJ,CAAC;EAED,IAAM8F,UAAU,GAAG,SAAbA,UAAU,CAAajF,OAAO,EAAE;IACpC,IAAMmC,QAAQ,GAAG;MACf,MAAM,EAAEnC,OAAO;MACf,UAAU,EAAE3B,EAAE,CAACmF,GAAG,CAACxD,OAAO,EAAEjC,EAAE,CAAC+D,IAAI,CAAC,OAAO,CAAC,CAAC;MAC7C,OAAO,EAAEzD,EAAE,CAACmF,GAAG,CAACxD,OAAO,EAAElB,GAAG,CAAC,SAAS,CAAC,CAAC;MACxC,UAAU,EAAET,EAAE,CAACmF,GAAG,CAACxD,OAAO,EAAEjC,EAAE,CAAC4D,IAAI,CAAC,SAAS,CAAC;IAChD,CAAC;IACDS,aAAa,CAACD,QAAQ,EAAE,IAAI,CAAC,EAAC;EAChC,CAAC;;EAED,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAaD,QAAQ,EAAEqD,KAAK,EAAE;IAC/C,IAAM5B,OAAO,GAAGzB,QAAQ,CAAC,UAAU,CAAC;IACpC,IAAMnC,OAAO,GAAGmC,QAAQ,CAAC,MAAM,CAAC;IAChC,IAAM0B,IAAI,GAAG1B,QAAQ,CAAC,OAAO,CAAC;IAC9B,IAAMsD,OAAO,GAAGtD,QAAQ,CAAC,UAAU,CAAC;IAEpC,IAAMuD,UAAU,GAAG7B,IAAI,CAAChC,KAAK;IAC7B,IAAM8D,EAAE,GAAGvH,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IAClCyG,EAAE,CAAC9E,SAAS,GAAG6E,UAAU;IACzBC,EAAE,CAAChB,YAAY,GAAG3E,OAAO;IAEzB,IAAI4F,IAAI,GAAG,KAAK;IAChB,KAAK,IAAIrB,GAAG,GAAGpF,YAAY,CAACsF,UAAU,GAAIF,GAAG,GAAGA,GAAG,CAACG,WAAW,EAAE;MAC/D,IAAI,CAACH,GAAG,EAAE;QACR;QACA;MACF;MACA,IACGmB,UAAU,GAAGnB,GAAG,CAAC1D,SAAS,IAAI9B,WAAW,IACzC2G,UAAU,GAAGnB,GAAG,CAAC1D,SAAS,IAAI,CAAC9B,WAAY,EAC5C;QACAI,YAAY,CAAC0G,YAAY,CAACF,EAAE,EAAEpB,GAAG,CAAC;QAClCqB,IAAI,GAAG,IAAI;QACX;MACF;IACF;IACA,IAAI,CAACA,IAAI,EAAE;MACTzG,YAAY,CAACe,WAAW,CAACyF,EAAE,CAAC;IAC9B;IAEA,IAAMhC,GAAG,GAAGvF,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACnCyG,EAAE,CAACzF,WAAW,CAACyD,GAAG,CAAC;IACnBnB,cAAc,CAACmB,GAAG,EAAEC,OAAO,EAAE/F,EAAE,CAACK,OAAO,CAAC4H,SAAS,CAACJ,UAAU,CAAC,EAAE1F,OAAO,CAAC;IAEvE,IAAM+F,GAAG,GAAG3H,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACnCyG,EAAE,CAACzF,WAAW,CAAC6F,GAAG,CAAC;IACnB,IAAM9F,GAAG,GAAG7B,GAAG,CAACc,aAAa,CAAC,GAAG,CAAC;IAClCe,GAAG,CAACN,YAAY,CACd,OAAO,EACPX,gBAAgB,IACbwG,KAAK,GAAG,4BAA4B,GAAG,2BAA2B,CAAC,CACvE;IACDO,GAAG,CAAC7F,WAAW,CAACD,GAAG,CAAC;IACpBA,GAAG,CAACH,WAAW,GAAG2F,OAAO,CAAC5D,KAAK;IAE/B,IAAMmE,GAAG,GAAG5H,GAAG,CAACc,aAAa,CAAC,IAAI,CAAC;IACnCyG,EAAE,CAACzF,WAAW,CAAC8F,GAAG,CAAC;IAEnB,IAAMC,SAAS,GAAG7H,GAAG,CAACc,aAAa,CAAC,QAAQ,CAAC;IAC7C8G,GAAG,CAAC9F,WAAW,CAAC+F,SAAS,CAAC;IAC1BA,SAAS,CAACnG,WAAW,GAAG,GAAG;IAE3B6F,EAAE,CAAChG,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,EAAC;IACzCsG,SAAS,CAACtG,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACnDsG,SAAS,CAACtG,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC;IAC9CsG,SAAS,CAACrG,gBAAgB,CACxB,OAAO,EACP,UAAUsG,MAAM,EAAE;MAChBF,GAAG,CAACd,WAAW,CAACe,SAAS,CAAC,EAAC;MAC3B,IAAME,YAAY,GAAG/H,GAAG,CAACc,aAAa,CAAC,QAAQ,CAAC;MAChDiH,YAAY,CAACrG,WAAW,GAAG,QAAQ;MACnCkG,GAAG,CAAC9F,WAAW,CAACiG,YAAY,CAAC,CAACvG,gBAAgB,CAC5C,OAAO,EACP,UAAUsG,MAAM,EAAE;QAChBF,GAAG,CAACd,WAAW,CAACkB,UAAU,CAAC;QAC3BJ,GAAG,CAACd,WAAW,CAACiB,YAAY,CAAC;QAC7BH,GAAG,CAAC9F,WAAW,CAAC+F,SAAS,CAAC;MAC5B,CAAC,EACD,KAAK,CACN;MACD,IAAMG,UAAU,GAAGhI,GAAG,CAACc,aAAa,CAAC,QAAQ,CAAC;MAC9CkH,UAAU,CAACtG,WAAW,GAAG,gBAAgB;MACzCkG,GAAG,CAAC9F,WAAW,CAACkG,UAAU,CAAC,CAACxG,gBAAgB,CAC1C,OAAO,EACP,UAAUsG,MAAM,EAAE;QAChBF,GAAG,CAACd,WAAW,CAACkB,UAAU,CAAC;QAC3BJ,GAAG,CAACd,WAAW,CAACiB,YAAY,CAAC;QAC7BhB,aAAa,CAACnF,OAAO,CAAC;MACxB,CAAC,EACD,KAAK,CACN;IACH,CAAC,EACD,KAAK,CACN;EACH,CAAC;;EAED;;EAEAb,YAAY,GAAGf,GAAG,CAACc,aAAa,CAAC,OAAO,CAAC;EACzCC,YAAY,CAACqG,KAAK,GAAG,KAAK;EAC1BvG,GAAG,CAACiB,WAAW,CAACf,YAAY,CAAC;EAC7BA,YAAY,CAACQ,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,EAAC;;EAEnD,IAAMgG,EAAE,GAAGnF,cAAc,EAAE;EAC3B,IAAIzB,WAAW,EAAE;IACfI,YAAY,CAAC0G,YAAY,CAACF,EAAE,EAAExG,YAAY,CAACsF,UAAU,CAAC,EAAC;EACzD,CAAC,MAAM;IACLtF,YAAY,CAACe,WAAW,CAACyF,EAAE,CAAC,EAAC;EAC/B;;EAEA,IAAIU,KAAK;EACT;EACA,IAAI7H,OAAO,CAAC6H,KAAK,EAAE;IACjBA,KAAK,GAAG7H,OAAO,CAAC6H,KAAK;EACvB,CAAC,MAAM;IACLA,KAAK,GAAG,IAAIrI,GAAG,CAACsI,KAAK,CAAC,UAAU,CAAC;IACjC,IAAMC,CAAC,GAAG,CAAC,CAAC,EAAC;IACb,IAAMC,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;IAChDA,EAAE,CAACzB,OAAO,CAAC,UAAU0B,CAAC,EAAE;MACtBJ,KAAK,CAACK,IAAI,CAAClF,IAAI,CAAE+E,CAAC,CAACE,CAAC,CAAC,GAAGzI,GAAG,CAAC2I,QAAQ,CAACF,CAAC,CAAC,CAAE;IAC3C,CAAC,CAAC;IACFJ,KAAK,CAACO,GAAG,CAACC,GAAG,CAACvI,OAAO,EAAEM,EAAE,CAAC,SAAS,CAAC,EAAE2H,CAAC,CAACO,GAAG,CAAC;IAC5CT,KAAK,CAACO,GAAG,CAACC,GAAG,CAACN,CAAC,CAACO,GAAG,EAAE/I,EAAE,CAACgJ,GAAG,CAAC,SAAS,CAAC,EAAER,CAAC,CAAC1C,IAAI,CAAC;IAC/CwC,KAAK,CAACO,GAAG,CAACC,GAAG,CAACN,CAAC,CAACO,GAAG,EAAE/I,EAAE,CAAC+D,IAAI,CAAC,OAAO,CAAC,EAAEyE,CAAC,CAAC3C,OAAO,CAAC;IACjDyC,KAAK,CAACO,GAAG,CAACC,GAAG,CAACN,CAAC,CAACO,GAAG,EAAE/I,EAAE,CAAC4D,IAAI,CAAC,SAAS,CAAC,EAAE4E,CAAC,CAACd,OAAO,CAAC;EACrD;EACA,SAASuB,SAAS,GAAI;IACpB7H,YAAY,CAACqG,KAAK,GAAG,IAAI,EAAC;EAC5B;;EACAnH,EAAE,CAACgI,KAAK,CAACA,KAAK,EAAEjE,aAAa,EAAE6B,SAAS,EAAE+C,SAAS,CAAC;EACpD/H,GAAG,CAACgI,OAAO,GAAG,YAAY;IACxB7C,YAAY,CAAC9F,OAAO,EAAEa,YAAY,CAAC;EACrC,CAAC;EACD;EACA,OAAOF,GAAG;AACZ"}
1
+ {"version":3,"file":"messageArea.js","names":["_iconBase","require","login","_interopRequireWildcard","_solidLogic","ns","rdf","style","utils","widgets","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UI","icons","messageArea","dom","kb","subject","messageStore","options","solidLogicSingleton","store","doc","WF","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","sts","now","Date","timestamp","getTime","dateStamp","sym","push","Statement","wf","sioc","literal","value","foaf","sendComplete","success","body","errorMessageBlock","bindings","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","ensureLoggedIn","then","nick","person","s","any","label","td1","creator","date","nickAnchor","fetcher","nowOrWhenFetched","undefined","_ok","_body","syncMessages","about","displayed","ele","ele2","firstChild","nextSibling","AJAR_subject","messages","each","stored","forEach","m","addMessage","removeChild","deleteMessage","deletions","statementsMatching","concat","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","msg","dct","doneQuery","refresh"],"sources":["../src/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from './login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from './style'\nimport * as utils from './utils'\nimport * as widgets from './widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"noun_Camera_1618446_000000.js","names":[],"sources":["../src/noun_Camera_1618446_000000.js"],"sourcesContent":["export default 'data:image/svg;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTcyLjkyNiwzNC4zMzNINjIuNDc4bC0yLjUtNS42NjZINDAuMDIybC0yLjUsNS42NjZoLTIuMjc1di0zLjcwN2gtNnYzLjcwN2gtMi4xNzNjLTEuOTMsMC0zLjUsMS41Ny0zLjUsMy41djMwICAgYzAsMS45MywxLjU3LDMuNSwzLjUsMy41aDQ1Ljg1MmMxLjkzLDAsMy41LTEuNTcsMy41LTMuNXYtMzBDNzYuNDI2LDM1LjkwMyw3NC44NTUsMzQuMzMzLDcyLjkyNiwzNC4zMzN6IE03My40MjYsNjcuODMzICAgYzAsMC4yNzUtMC4yMjUsMC41LTAuNSwwLjVIMjcuMDc0Yy0wLjI3NSwwLTAuNS0wLjIyNS0wLjUtMC41di0zMGMwLTAuMjc1LDAuMjI1LTAuNSwwLjUtMC41aDEyLjQwM2wyLjUtNS42NjZoMTYuMDQ1bDIuNSw1LjY2NiAgIGgxMi40MDNjMC4yNzUsMCwwLjUsMC4yMjUsMC41LDAuNVY2Ny44MzN6Ij48L3BhdGg+PHBhdGggZD0iTTUwLDM4Ljc2NmMtNy4yOTgsMC0xMy4yMzQsNS45MzctMTMuMjM0LDEzLjIzNFM0Mi43MDIsNjUuMjM0LDUwLDY1LjIzNFM2My4yMzQsNTkuMjk4LDYzLjIzNCw1MlM1Ny4yOTgsMzguNzY2LDUwLDM4Ljc2NiAgIHogTTUwLDYyLjIzNGMtNS42NDQsMC0xMC4yMzQtNC41OTEtMTAuMjM0LTEwLjIzNFM0NC4zNTYsNDEuNzY2LDUwLDQxLjc2NlM2MC4yMzQsNDYuMzU2LDYwLjIzNCw1MlM1NS42NDQsNjIuMjM0LDUwLDYyLjIzNHoiPjwvcGF0aD48cGF0aCBkPSJNNTAuMDAxLDQzLjI0MmMtNC44MywwLTguNzYsMy45MjktOC43Niw4Ljc1OHMzLjkzLDguNzU4LDguNzYsOC43NThjNC44MjksMCw4Ljc1OC0zLjkyOSw4Ljc1OC04Ljc1OCAgIFM1NC44Myw0My4yNDIsNTAuMDAxLDQzLjI0MnogTTUwLjAwMSw1OS43NThjLTQuMjc4LDAtNy43Ni0zLjQ4LTcuNzYtNy43NThzMy40ODEtNy43NTgsNy43Ni03Ljc1OCAgIGM0LjI3NywwLDcuNzU4LDMuNDgsNy43NTgsNy43NThTNTQuMjc4LDU5Ljc1OCw1MC4wMDEsNTkuNzU4eiI+PC9wYXRoPjwvZz48L3N2Zz4='\n"],"mappings":";;;;;;eAAe,oiDAAoiD;AAAA"}
1
+ {"version":3,"file":"noun_Camera_1618446_000000.js","names":["exports","_default"],"sources":["../src/noun_Camera_1618446_000000.js"],"sourcesContent":["export default 'data:image/svg;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTAwIDEwMCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PGc+PHBhdGggZD0iTTcyLjkyNiwzNC4zMzNINjIuNDc4bC0yLjUtNS42NjZINDAuMDIybC0yLjUsNS42NjZoLTIuMjc1di0zLjcwN2gtNnYzLjcwN2gtMi4xNzNjLTEuOTMsMC0zLjUsMS41Ny0zLjUsMy41djMwICAgYzAsMS45MywxLjU3LDMuNSwzLjUsMy41aDQ1Ljg1MmMxLjkzLDAsMy41LTEuNTcsMy41LTMuNXYtMzBDNzYuNDI2LDM1LjkwMyw3NC44NTUsMzQuMzMzLDcyLjkyNiwzNC4zMzN6IE03My40MjYsNjcuODMzICAgYzAsMC4yNzUtMC4yMjUsMC41LTAuNSwwLjVIMjcuMDc0Yy0wLjI3NSwwLTAuNS0wLjIyNS0wLjUtMC41di0zMGMwLTAuMjc1LDAuMjI1LTAuNSwwLjUtMC41aDEyLjQwM2wyLjUtNS42NjZoMTYuMDQ1bDIuNSw1LjY2NiAgIGgxMi40MDNjMC4yNzUsMCwwLjUsMC4yMjUsMC41LDAuNVY2Ny44MzN6Ij48L3BhdGg+PHBhdGggZD0iTTUwLDM4Ljc2NmMtNy4yOTgsMC0xMy4yMzQsNS45MzctMTMuMjM0LDEzLjIzNFM0Mi43MDIsNjUuMjM0LDUwLDY1LjIzNFM2My4yMzQsNTkuMjk4LDYzLjIzNCw1MlM1Ny4yOTgsMzguNzY2LDUwLDM4Ljc2NiAgIHogTTUwLDYyLjIzNGMtNS42NDQsMC0xMC4yMzQtNC41OTEtMTAuMjM0LTEwLjIzNFM0NC4zNTYsNDEuNzY2LDUwLDQxLjc2NlM2MC4yMzQsNDYuMzU2LDYwLjIzNCw1MlM1NS42NDQsNjIuMjM0LDUwLDYyLjIzNHoiPjwvcGF0aD48cGF0aCBkPSJNNTAuMDAxLDQzLjI0MmMtNC44MywwLTguNzYsMy45MjktOC43Niw4Ljc1OHMzLjkzLDguNzU4LDguNzYsOC43NThjNC44MjksMCw4Ljc1OC0zLjkyOSw4Ljc1OC04Ljc1OCAgIFM1NC44Myw0My4yNDIsNTAuMDAxLDQzLjI0MnogTTUwLjAwMSw1OS43NThjLTQuMjc4LDAtNy43Ni0zLjQ4LTcuNzYtNy43NThzMy40ODEtNy43NTgsNy43Ni03Ljc1OCAgIGM0LjI3NywwLDcuNzU4LDMuNDgsNy43NTgsNy43NThTNTQuMjc4LDU5Ljc1OCw1MC4wMDEsNTkuNzU4eiI+PC9wYXRoPjwvZz48L3N2Zz4='\n"],"mappings":";;;;;;eAAe,oiDAAoiD;AAAAA,OAAA,cAAAC,QAAA"}
package/lib/ns.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ns.js","names":["module","exports","solidNamespace","$rdf"],"sources":["../src/ns.js"],"sourcesContent":["// Namespaces we commonly use and have common prefixes for around Solid\n//\n\nimport solidNamespace from 'solid-namespace' // Delegate to this which takes RDFlib as param.\nimport * as $rdf from 'rdflib'\n\nmodule.exports = solidNamespace($rdf)\n// export * from ns2\n\n// ends\n"],"mappings":";;;;AAGA;AACA;AAA8B;AAAA;AAJ9B;AACA;;AAE6C;;AAG7CA,MAAM,CAACC,OAAO,GAAG,IAAAC,0BAAc,EAACC,IAAI,CAAC;AACrC;;AAEA"}
1
+ {"version":3,"file":"ns.js","names":["_solidNamespace","_interopRequireDefault","require","$rdf","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","module","exports","solidNamespace"],"sources":["../src/ns.js"],"sourcesContent":["// Namespaces we commonly use and have common prefixes for around Solid\n//\n\nimport solidNamespace from 'solid-namespace' // Delegate to this which takes RDFlib as param.\nimport * as $rdf from 'rdflib'\n\nmodule.exports = solidNamespace($rdf)\n// export * from ns2\n\n// ends\n"],"mappings":";;;;AAGA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA8B,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAJ9B;AACA;;AAE6C;;AAG7CW,MAAM,CAACC,OAAO,GAAG,IAAAC,0BAAc,EAAC1B,IAAI,CAAC;AACrC;;AAEA"}