solid-ui 2.4.24 → 2.4.25

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 (248) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/index.html +0 -0
  4. package/dist/main.js +50483 -50370
  5. package/dist/main.js.map +1 -1
  6. package/lib/acl/access-controller.d.ts +0 -0
  7. package/lib/acl/access-controller.d.ts.map +0 -0
  8. package/lib/acl/access-controller.js +90 -98
  9. package/lib/acl/access-controller.js.map +1 -1
  10. package/lib/acl/access-groups.d.ts +0 -0
  11. package/lib/acl/access-groups.d.ts.map +0 -0
  12. package/lib/acl/access-groups.js +82 -90
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.d.ts +0 -0
  15. package/lib/acl/acl-control.d.ts.map +0 -0
  16. package/lib/acl/acl-control.js +50 -54
  17. package/lib/acl/acl-control.js.map +1 -1
  18. package/lib/acl/acl.d.ts +3 -3
  19. package/lib/acl/acl.d.ts.map +1 -1
  20. package/lib/acl/acl.js +13 -15
  21. package/lib/acl/acl.js.map +1 -1
  22. package/lib/acl/add-agent-buttons.d.ts +0 -0
  23. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  24. package/lib/acl/add-agent-buttons.js +142 -154
  25. package/lib/acl/add-agent-buttons.js.map +1 -1
  26. package/lib/acl/index.d.ts +0 -0
  27. package/lib/acl/index.d.ts.map +0 -0
  28. package/lib/acl/index.js +0 -0
  29. package/lib/acl/index.js.map +0 -0
  30. package/lib/acl/styles.d.ts +0 -0
  31. package/lib/acl/styles.d.ts.map +0 -0
  32. package/lib/acl/styles.js +0 -0
  33. package/lib/acl/styles.js.map +0 -0
  34. package/lib/acl/types.d.ts +6 -6
  35. package/lib/acl/types.d.ts.map +1 -1
  36. package/lib/acl/types.js +0 -0
  37. package/lib/acl/types.js.map +0 -0
  38. package/lib/chat/bookmarks.js +181 -191
  39. package/lib/chat/bookmarks.js.map +1 -1
  40. package/lib/chat/chatLogic.js +96 -104
  41. package/lib/chat/chatLogic.js.map +1 -1
  42. package/lib/chat/dateFolder.js +232 -224
  43. package/lib/chat/dateFolder.js.map +1 -1
  44. package/lib/chat/infinite.js +634 -658
  45. package/lib/chat/infinite.js.map +1 -1
  46. package/lib/chat/message.js +119 -131
  47. package/lib/chat/message.js.map +1 -1
  48. package/lib/chat/messageTools.js +106 -114
  49. package/lib/chat/messageTools.js.map +1 -1
  50. package/lib/chat/thread.js +16 -18
  51. package/lib/chat/thread.js.map +1 -1
  52. package/lib/create/create.d.ts +0 -0
  53. package/lib/create/create.d.ts.map +0 -0
  54. package/lib/create/create.js +0 -0
  55. package/lib/create/create.js.map +0 -0
  56. package/lib/create/index.d.ts +0 -0
  57. package/lib/create/index.d.ts.map +0 -0
  58. package/lib/create/index.js +0 -0
  59. package/lib/create/index.js.map +0 -0
  60. package/lib/create/types.d.ts +1 -1
  61. package/lib/create/types.d.ts.map +1 -1
  62. package/lib/create/types.js +0 -0
  63. package/lib/create/types.js.map +0 -0
  64. package/lib/debug.d.ts +0 -0
  65. package/lib/debug.d.ts.map +0 -0
  66. package/lib/debug.js +0 -0
  67. package/lib/debug.js.map +0 -0
  68. package/lib/folders.js +0 -0
  69. package/lib/folders.js.map +0 -0
  70. package/lib/footer/index.d.ts +1 -1
  71. package/lib/footer/index.d.ts.map +1 -1
  72. package/lib/footer/index.js +33 -37
  73. package/lib/footer/index.js.map +1 -1
  74. package/lib/footer/styleMap.d.ts +0 -0
  75. package/lib/footer/styleMap.d.ts.map +0 -0
  76. package/lib/footer/styleMap.js +0 -0
  77. package/lib/footer/styleMap.js.map +0 -0
  78. package/lib/header/empty-profile.d.ts +0 -0
  79. package/lib/header/empty-profile.d.ts.map +0 -0
  80. package/lib/header/empty-profile.js +0 -0
  81. package/lib/header/empty-profile.js.map +0 -0
  82. package/lib/header/index.d.ts +4 -4
  83. package/lib/header/index.d.ts.map +1 -1
  84. package/lib/header/index.js +126 -134
  85. package/lib/header/index.js.map +1 -1
  86. package/lib/header/styleMap.d.ts +0 -0
  87. package/lib/header/styleMap.d.ts.map +0 -0
  88. package/lib/header/styleMap.js +0 -0
  89. package/lib/header/styleMap.js.map +0 -0
  90. package/lib/iconBase.d.ts +0 -0
  91. package/lib/iconBase.d.ts.map +0 -0
  92. package/lib/iconBase.js +0 -0
  93. package/lib/iconBase.js.map +0 -0
  94. package/lib/icons/solid_logo.d.ts +0 -0
  95. package/lib/icons/solid_logo.d.ts.map +0 -0
  96. package/lib/icons/solid_logo.js +0 -0
  97. package/lib/icons/solid_logo.js.map +0 -0
  98. package/lib/index.d.ts +0 -0
  99. package/lib/index.d.ts.map +0 -0
  100. package/lib/index.js +0 -0
  101. package/lib/index.js.map +0 -0
  102. package/lib/jss/index.d.ts +0 -0
  103. package/lib/jss/index.d.ts.map +0 -0
  104. package/lib/jss/index.js +0 -0
  105. package/lib/jss/index.js.map +0 -0
  106. package/lib/log.d.ts +0 -0
  107. package/lib/log.d.ts.map +0 -0
  108. package/lib/log.js +0 -0
  109. package/lib/log.js.map +0 -0
  110. package/lib/login/login.d.ts +0 -0
  111. package/lib/login/login.d.ts.map +0 -0
  112. package/lib/login/login.js +470 -470
  113. package/lib/login/login.js.map +1 -1
  114. package/lib/matrix/index.d.ts +0 -0
  115. package/lib/matrix/index.d.ts.map +0 -0
  116. package/lib/matrix/index.js +0 -0
  117. package/lib/matrix/index.js.map +0 -0
  118. package/lib/matrix/matrix.d.ts +0 -0
  119. package/lib/matrix/matrix.d.ts.map +0 -0
  120. package/lib/matrix/matrix.js +0 -0
  121. package/lib/matrix/matrix.js.map +0 -0
  122. package/lib/matrix/types.d.ts +1 -1
  123. package/lib/matrix/types.d.ts.map +1 -1
  124. package/lib/matrix/types.js +0 -0
  125. package/lib/matrix/types.js.map +0 -0
  126. package/lib/media/index.d.ts +0 -0
  127. package/lib/media/index.d.ts.map +0 -0
  128. package/lib/media/index.js +0 -0
  129. package/lib/media/index.js.map +0 -0
  130. package/lib/media/media-capture.d.ts +0 -0
  131. package/lib/media/media-capture.d.ts.map +0 -0
  132. package/lib/media/media-capture.js +8 -10
  133. package/lib/media/media-capture.js.map +1 -1
  134. package/lib/messageArea.js +0 -0
  135. package/lib/messageArea.js.map +0 -0
  136. package/lib/noun_Camera_1618446_000000.js +0 -0
  137. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  138. package/lib/ns.js +0 -0
  139. package/lib/ns.js.map +0 -0
  140. package/lib/pad.d.ts +1 -1
  141. package/lib/pad.d.ts.map +1 -1
  142. package/lib/pad.js +0 -0
  143. package/lib/pad.js.map +0 -0
  144. package/lib/participation.d.ts +1 -1
  145. package/lib/participation.d.ts.map +1 -1
  146. package/lib/participation.js +1 -1
  147. package/lib/participation.js.map +0 -0
  148. package/lib/preferences.js +0 -0
  149. package/lib/preferences.js.map +0 -0
  150. package/lib/signup/config-default.js +0 -0
  151. package/lib/signup/config-default.js.map +0 -0
  152. package/lib/signup/signup.js +0 -0
  153. package/lib/signup/signup.js.map +0 -0
  154. package/lib/stories/decorators.js +0 -0
  155. package/lib/stories/decorators.js.map +0 -0
  156. package/lib/style.js +0 -0
  157. package/lib/style.js.map +0 -0
  158. package/lib/style_multiSelect.js +0 -0
  159. package/lib/style_multiSelect.js.map +0 -0
  160. package/lib/table.js +0 -0
  161. package/lib/table.js.map +0 -0
  162. package/lib/tabs.d.ts +1 -1
  163. package/lib/tabs.d.ts.map +1 -1
  164. package/lib/tabs.js +0 -0
  165. package/lib/tabs.js.map +0 -0
  166. package/lib/typings.d.js +0 -0
  167. package/lib/typings.d.js.map +0 -0
  168. package/lib/utils/headerFooterHelpers.d.ts +1 -1
  169. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  170. package/lib/utils/headerFooterHelpers.js +78 -80
  171. package/lib/utils/headerFooterHelpers.js.map +1 -1
  172. package/lib/utils/index.js +2 -6
  173. package/lib/utils/index.js.map +1 -1
  174. package/lib/utils/label.d.ts +0 -0
  175. package/lib/utils/label.d.ts.map +0 -0
  176. package/lib/utils/label.js +0 -0
  177. package/lib/utils/label.js.map +0 -0
  178. package/lib/versionInfo.d.ts +0 -0
  179. package/lib/versionInfo.d.ts.map +0 -0
  180. package/lib/versionInfo.js +13 -13
  181. package/lib/versionInfo.js.map +1 -1
  182. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  183. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  184. package/lib/widgets/buttons/iconLinks.js +0 -0
  185. package/lib/widgets/buttons/iconLinks.js.map +0 -0
  186. package/lib/widgets/buttons.d.ts +5 -5
  187. package/lib/widgets/buttons.d.ts.map +1 -1
  188. package/lib/widgets/buttons.js +0 -0
  189. package/lib/widgets/buttons.js.map +0 -0
  190. package/lib/widgets/dragAndDrop.js +0 -0
  191. package/lib/widgets/dragAndDrop.js.map +0 -0
  192. package/lib/widgets/error.d.ts +0 -0
  193. package/lib/widgets/error.d.ts.map +0 -0
  194. package/lib/widgets/error.js +0 -0
  195. package/lib/widgets/error.js.map +0 -0
  196. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  197. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  198. package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
  199. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  200. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  201. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  202. package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
  203. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  204. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
  205. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  206. package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
  207. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  208. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  209. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  210. package/lib/widgets/forms/autocomplete/language.js +79 -83
  211. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  212. package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
  213. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  214. package/lib/widgets/forms/autocomplete/publicData.js +263 -281
  215. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  216. package/lib/widgets/forms/basic.d.ts +0 -0
  217. package/lib/widgets/forms/basic.d.ts.map +0 -0
  218. package/lib/widgets/forms/basic.js +0 -0
  219. package/lib/widgets/forms/basic.js.map +0 -0
  220. package/lib/widgets/forms/comment.d.ts +0 -0
  221. package/lib/widgets/forms/comment.d.ts.map +0 -0
  222. package/lib/widgets/forms/comment.js +0 -0
  223. package/lib/widgets/forms/comment.js.map +0 -0
  224. package/lib/widgets/forms/fieldFunction.d.ts +1 -1
  225. package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
  226. package/lib/widgets/forms/fieldFunction.js +1 -3
  227. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  228. package/lib/widgets/forms/fieldParams.d.ts +1 -1
  229. package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
  230. package/lib/widgets/forms/fieldParams.js +0 -0
  231. package/lib/widgets/forms/fieldParams.js.map +0 -0
  232. package/lib/widgets/forms/formStyle.d.ts +0 -0
  233. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  234. package/lib/widgets/forms/formStyle.js +0 -0
  235. package/lib/widgets/forms/formStyle.js.map +0 -0
  236. package/lib/widgets/forms.js +197 -225
  237. package/lib/widgets/forms.js.map +1 -1
  238. package/lib/widgets/index.js +0 -0
  239. package/lib/widgets/index.js.map +0 -0
  240. package/lib/widgets/multiSelect.js +4 -4
  241. package/lib/widgets/multiSelect.js.map +1 -1
  242. package/lib/widgets/peoplePicker.js +0 -0
  243. package/lib/widgets/peoplePicker.js.map +0 -0
  244. package/lib/widgets/widgetHelpers.d.ts +0 -0
  245. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  246. package/lib/widgets/widgetHelpers.js +0 -0
  247. package/lib/widgets/widgetHelpers.js.map +0 -0
  248. package/package.json +34 -31
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","names":["UI","icons","ns","media","pad","style","utils","widgets","thread","dom","kb","subject","messageStore","options","store","doc","WF","$rdf","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","login","ensureLoggedIn","then","fieldValue","oldMsg","now","Date","timestamp","getTime","sym","push","Statement","mostRecentVersion","wf","msgBody","nick","sioc","foaf","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","msg","statementsMatching","_deleteMessage","connectedStatements","deletions","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\nimport * as pad from '../pad'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n /* const sendMessage = function (oldMsg, options) { // alain\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? field.value : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n } */\n\n const appendMsg = function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return msg\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) { // alain test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","names":["UI","icons","ns","media","pad","style","utils","widgets","thread","dom","kb","subject","messageStore","options","store","doc","WF","$rdf","Namespace","DCT","newestFirst","messageBodyStyle","div","createElement","messageTable","me","updater","anchor","text","term","a","uri","setAttribute","addEventListener","openHrefInOutlineMode","textContent","mention","message","pre","appendChild","createTextNode","announce","log","warn","error","newMessageForm","form","lhs","middle","rhs","AJAR_date","sendMessage","field","disabled","appendMsg","value","dateStamp","sts","sendComplete","success","body","errorMessageBlock","bindings","literal","renderMessage","update","sendButton","turnOnInput","creatorAndDate","innerHTML","rows","e","keyCode","altKey","button","iconBase","buttonStyle","context","login","ensureLoggedIn","then","fieldValue","oldMsg","now","Date","timestamp","getTime","sym","push","Statement","mostRecentVersion","wf","msgBody","nick","sioc","foaf","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","msg","statementsMatching","_deleteMessage","connectedStatements","deletions","ok","fresh","content","dateString","tr","done","insertBefore","shortDate","td2","td3","delButton","_event","cancelButton","sureButton","query","Query","v","vs","x","vars","variable","pat","add","dct","doneQuery","refresh"],"sources":["../../src/chat/thread.js"],"sourcesContent":["/**\n * Contains the [[thread]] function\n * @packageDocumentation\n */\n\nimport { icons } from '../iconBase'\nimport { store } from 'solid-logic'\nimport { media } from '../media/index'\nimport * as ns from '../ns'\nimport * as login from '../login/login'\nimport * as pad from '../pad'\nimport * as $rdf from 'rdflib' // pull in first avoid cross-refs\nimport * as style from '../style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, media, pad, style, utils, widgets }\n\n/**\n * HTML component for a chat thread\n */\nexport function thread (dom, kb, subject, messageStore, options) {\n kb = kb || store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = $rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = $rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n /**\n * Form for a new message\n */\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const { message, dateStamp, sts } = appendMsg(field.value)\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n /* const sendMessage = function (oldMsg, options) { // alain\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? field.value : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': store.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n } */\n\n const appendMsg = function (fieldValue, oldMsg = {}, options = '') { // alain\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = $rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = store.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n if (options === 'edit' || options === 'delete') {\n sts.push(\n new $rdf.Statement(mostRecentVersion(oldMsg), DCT('isReplacedBy'), message, messageStore)\n )\n } else {\n sts.push(\n new $rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n }\n // sts.push(new $rdf.Statement(message, ns.dc('title'), store.literal(titlefield.value), messageStore))\n const msgBody = options !== 'delete' ? fieldValue : `message deleted\\nby ${nick(me)}`\n sts.push(\n new $rdf.Statement(\n message,\n ns.sioc('content'),\n store.literal(msgBody),\n messageStore\n )\n )\n sts.push(\n new $rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new $rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n return { message, dateStamp, sts }\n }\n\n function nick (person) {\n const s = store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = store.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n // eslint-disable-next-line space-in-parens\n for (ele = messageTable.firstChild; ele; ) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const mostRecentVersion = function (message) {\n let msg = message\n // const listMsg = []\n while (msg) {\n // listMsg.push(msg)\n msg = store.statementsMatching(message, DCT('isReplacedBy'))\n }\n return msg\n }\n\n const _deleteMessage = async function (message) { // alain: must delete message and all linked with isReplacedBy\n // alain: check that me is not the author and ask for confirmation.\n const deletions = await store.connectedStatements(message, messageStore)\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': store.any(message, ns.foaf('maker')),\n '?date': store.any(message, DCT('created')),\n '?content': store.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) { // alain test for delete or edit depending on me = maker\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n // deleteMessage(message) // alain or sendMessage(message, 'delete' or 'edit') //alain\n if (me.value === store.any(message, ns.foaf('maker')).value) {\n const { sts } = appendMsg() // alain\n updater.update([], sts)\n }\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new $rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = $rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n store.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  import { NamedNode } from 'rdflib';
2
2
  import { PaneDefinition } from 'pane-registry';
3
- export declare type CreateContext = {
3
+ export type CreateContext = {
4
4
  div: HTMLElement;
5
5
  dom: HTMLDocument;
6
6
  folder?: NamedNode;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,oBAAY,aAAa,GAAG;IAC1B,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,EAAE,YAAY,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,EAAE,EAAE,SAAS,CAAA;IACb,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,UAAU,EAAE,WAAW,CAAA;CACxB,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,WAAW,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,YAAY,CAAC;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAA;CACjC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,WAAW,CAAA;IAChB,GAAG,EAAE,YAAY,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,EAAE,EAAE,SAAS,CAAA;IACb,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,UAAU,EAAE,WAAW,CAAA;CACxB,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,KAAK,EAAE,GAAG,CAAA;IACV,MAAM,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,gBAAgB,CAAA;IACzB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,GAAG,EAAE,WAAW,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,YAAY,CAAC;IAClB,aAAa,CAAC,EAAE,gBAAgB,CAAA;CACjC"}
File without changes
File without changes
package/lib/debug.d.ts CHANGED
File without changes
File without changes
package/lib/debug.js CHANGED
File without changes
package/lib/debug.js.map CHANGED
File without changes
package/lib/folders.js CHANGED
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  import { LiveStore, NamedNode } from 'rdflib';
2
- export declare type FooterOptions = {
2
+ export type FooterOptions = {
3
3
  solidProjectUrl?: string;
4
4
  solidProjectName?: string;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAU7C,oBAAY,aAAa,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEH;;;;GAIG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1E;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM/I;AACD;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAyC5K"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/footer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAU7C,MAAM,MAAM,aAAa,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEH;;;;GAIG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1E;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM/I;AACD;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAyC5K"}
@@ -37,28 +37,26 @@ function _initFooter() {
37
37
  _initFooter = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(store, options) {
38
38
  var footer, pod, podOwner;
39
39
  return _regenerator["default"].wrap(function _callee2$(_context2) {
40
- while (1) {
41
- switch (_context2.prev = _context2.next) {
42
- case 0:
43
- footer = document.getElementById('PageFooter');
44
- if (footer) {
45
- _context2.next = 3;
46
- break;
47
- }
48
- return _context2.abrupt("return");
49
- case 3:
50
- pod = (0, _headerFooterHelpers.getPod)();
51
- _context2.next = 6;
52
- return (0, _headerFooterHelpers.getPodOwner)(pod, store);
53
- case 6:
54
- podOwner = _context2.sent;
55
- rebuildFooter(footer, store, pod, podOwner, options)();
56
- _solidLogic.authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options));
57
- _solidLogic.authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options));
58
- case 10:
59
- case "end":
60
- return _context2.stop();
61
- }
40
+ while (1) switch (_context2.prev = _context2.next) {
41
+ case 0:
42
+ footer = document.getElementById('PageFooter');
43
+ if (footer) {
44
+ _context2.next = 3;
45
+ break;
46
+ }
47
+ return _context2.abrupt("return");
48
+ case 3:
49
+ pod = (0, _headerFooterHelpers.getPod)();
50
+ _context2.next = 6;
51
+ return (0, _headerFooterHelpers.getPodOwner)(pod, store);
52
+ case 6:
53
+ podOwner = _context2.sent;
54
+ rebuildFooter(footer, store, pod, podOwner, options)();
55
+ _solidLogic.authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options));
56
+ _solidLogic.authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options));
57
+ case 10:
58
+ case "end":
59
+ return _context2.stop();
62
60
  }
63
61
  }, _callee2);
64
62
  }));
@@ -68,21 +66,19 @@ function rebuildFooter(footer, store, pod, podOwner, options) {
68
66
  return /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
69
67
  var user;
70
68
  return _regenerator["default"].wrap(function _callee$(_context) {
71
- while (1) {
72
- switch (_context.prev = _context.next) {
73
- case 0:
74
- user = _solidLogic.authn.currentUser();
75
- footer.innerHTML = '';
76
- _context.t0 = footer;
77
- _context.next = 5;
78
- return createControllerInfoBlock(store, user, pod, podOwner, options);
79
- case 5:
80
- _context.t1 = _context.sent;
81
- _context.t0.appendChild.call(_context.t0, _context.t1);
82
- case 7:
83
- case "end":
84
- return _context.stop();
85
- }
69
+ while (1) switch (_context.prev = _context.next) {
70
+ case 0:
71
+ user = _solidLogic.authn.currentUser();
72
+ footer.innerHTML = '';
73
+ _context.t0 = footer;
74
+ _context.next = 5;
75
+ return createControllerInfoBlock(store, user, pod, podOwner, options);
76
+ case 5:
77
+ _context.t1 = _context.sent;
78
+ _context.t0.appendChild.call(_context.t0, _context.t1);
79
+ case 7:
80
+ case "end":
81
+ return _context.stop();
86
82
  }
87
83
  }, _callee);
88
84
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","store","options","footer","document","getElementById","pod","getPod","getPodOwner","podOwner","rebuildFooter","authSession","onLogin","onLogout","user","authn","currentUser","innerHTML","createControllerInfoBlock","appendChild","profileLinkContainer","createElement","equals","addStyleClassToElement","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","getName","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"sources":["../../src/footer/index.ts"],"sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { LiveStore, NamedNode } from 'rdflib'\nimport { authn, authSession } from 'solid-logic'\nimport { addStyleClassToElement, getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: LiveStore, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: LiveStore, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = authn.currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: LiveStore, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n addStyleClassToElement(profileLinkContainer, ['footer-pod-info', 'footer'], 'footer')\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_SOLID_PROJECT_URL","DEFAULT_SOLID_PROJECT_NAME","initFooter","store","options","footer","document","getElementById","pod","getPod","getPodOwner","podOwner","rebuildFooter","authSession","onLogin","onLogout","user","authn","currentUser","innerHTML","createControllerInfoBlock","appendChild","profileLinkContainer","createElement","equals","addStyleClassToElement","podLinkPre","innerText","podLink","href","uri","profileLinkPre","profileLink","getName","solidProjectLinkPre","solidProjectLink","solidProjectUrl","solidProjectName","solidProjectLinkPost"],"sources":["../../src/footer/index.ts"],"sourcesContent":["/*\n This file was copied from mashlib/src/global/footer.ts file. It is modified to\n work in solid-ui by adjusting where imported functions are found.\n */\nimport { LiveStore, NamedNode } from 'rdflib'\nimport { authn, authSession } from 'solid-logic'\nimport { addStyleClassToElement, getName, getPod, getPodOwner } from '../utils/headerFooterHelpers'\n\nconst DEFAULT_SOLID_PROJECT_URL = 'https://solidproject.org'\nconst DEFAULT_SOLID_PROJECT_NAME = 'solidproject.org'\n\n/*\n FooterOptions allow for customizing the link and name of the link part of the footer.\n */\nexport type FooterOptions = {\n solidProjectUrl?: string,\n solidProjectName?: string\n }\n\n/**\n * Initialize footer component, the footer object returned depends on whether the user is authenticated.\n * @param store the data store\n * @returns the footer\n */\nexport async function initFooter (store: LiveStore, options?: FooterOptions) {\n const footer = document.getElementById('PageFooter')\n if (!footer) {\n return\n }\n const pod = getPod()\n const podOwner = await getPodOwner(pod, store)\n rebuildFooter(footer, store, pod, podOwner, options)()\n authSession.onLogin(rebuildFooter(footer, store, pod, podOwner, options))\n authSession.onLogout(rebuildFooter(footer, store, pod, podOwner, options))\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function rebuildFooter (footer: HTMLElement, store: LiveStore, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions) {\n return async () => {\n const user = authn.currentUser()\n footer.innerHTML = ''\n footer.appendChild(await createControllerInfoBlock(store, user, pod, podOwner, options))\n }\n}\n/**\n * @ignore exporting this only for the unit test\n */\nexport function createControllerInfoBlock (store: LiveStore, user: NamedNode | null, pod: NamedNode | null, podOwner: NamedNode | null, options?: FooterOptions): HTMLElement {\n const profileLinkContainer = document.createElement('div')\n if (!pod || !podOwner || (user && user.equals(podOwner))) {\n return profileLinkContainer\n }\n\n addStyleClassToElement(profileLinkContainer, ['footer-pod-info', 'footer'], 'footer')\n\n const podLinkPre = document.createElement('span')\n podLinkPre.innerText = \"You're visiting \"\n\n const podLink = document.createElement('a')\n podLink.href = pod.uri\n podLink.innerText = 'the Pod'\n\n const profileLinkPre = document.createElement('span')\n profileLinkPre.innerText = ' controlled by '\n\n const profileLink = document.createElement('a')\n profileLink.href = podOwner.uri\n profileLink.innerText = getName(store, podOwner)\n\n const solidProjectLinkPre = document.createElement('span')\n solidProjectLinkPre.innerText = '. For more info, check out '\n\n const solidProjectLink = document.createElement('a')\n solidProjectLink.href = options && options.solidProjectUrl ? options.solidProjectUrl : DEFAULT_SOLID_PROJECT_URL\n solidProjectLink.innerText = options && options.solidProjectName ? options.solidProjectName : DEFAULT_SOLID_PROJECT_NAME\n\n const solidProjectLinkPost = document.createElement('span')\n solidProjectLinkPost.innerText = '.'\n\n profileLinkContainer.appendChild(podLinkPre)\n profileLinkContainer.appendChild(podLink)\n profileLinkContainer.appendChild(profileLinkPre)\n profileLinkContainer.appendChild(profileLink)\n profileLinkContainer.appendChild(solidProjectLinkPre)\n profileLinkContainer.appendChild(solidProjectLink)\n profileLinkContainer.appendChild(solidProjectLinkPost)\n\n return profileLinkContainer\n}\n"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,15 +1,15 @@
1
1
  import { IndexedFormula, NamedNode } from 'rdflib';
2
- export declare type MenuItemLink = {
2
+ export type MenuItemLink = {
3
3
  label: string;
4
4
  url: string;
5
5
  target?: string;
6
6
  };
7
- export declare type MenuItemButton = {
7
+ export type MenuItemButton = {
8
8
  label: string;
9
9
  onclick: () => void;
10
10
  };
11
- export declare type MenuItems = MenuItemLink | MenuItemButton;
12
- export declare type HeaderOptions = {
11
+ export type MenuItems = MenuItemLink | MenuItemButton;
12
+ export type HeaderOptions = {
13
13
  logo?: string;
14
14
  helpIcon?: string;
15
15
  helpMenuList?: MenuItems[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAelD,oBAAY,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,oBAAY,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,oBAAY,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,oBAAY,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BA8CjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAM7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/header/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAelD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,cAAc,CAAA;AAMrD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAA;CAC3B,CAAA;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,iBAU1G;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,uBAM5I;AACD;;GAEG;AACH,wBAAsB,YAAY,CAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+B3K;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,8BA8CjF;AACD;;GAEG;AACH,wBAAgB,wBAAwB,mBAKvC;AACD;;GAEG;AACH,wBAAgB,oBAAoB,CAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,GAAG,WAAW,CAM7G;AACD;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7F;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7H;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAKnE;AACD;;GAEG;AACH,wBAAgB,aAAa,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAe3F"}