solid-ui 5.0.2-3 → 5.0.2-5

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 (374) hide show
  1. package/dist/acl/access-controller.cjs.js +1 -1
  2. package/dist/acl/access-controller.cjs.js.map +1 -1
  3. package/dist/acl/access-controller.esm.js +37 -37
  4. package/dist/acl/access-groups.cjs.js +2 -2
  5. package/dist/acl/access-groups.cjs.js.map +1 -1
  6. package/dist/acl/access-groups.esm.js +78 -78
  7. package/dist/acl/acl-control.cjs.js +1 -1
  8. package/dist/acl/acl-control.cjs.js.map +1 -1
  9. package/dist/acl/acl-control.esm.js +19 -19
  10. package/dist/acl/add-agent-buttons.cjs.js +1 -1
  11. package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
  12. package/dist/acl/add-agent-buttons.esm.js +51 -51
  13. package/dist/chat/bookmarks.cjs.js +1 -1
  14. package/dist/chat/bookmarks.cjs.js.map +1 -1
  15. package/dist/chat/bookmarks.esm.js +44 -44
  16. package/dist/chat/bookmarks.esm.js.map +1 -1
  17. package/dist/chat/chatLogic.cjs.js +2 -2
  18. package/dist/chat/chatLogic.cjs.js.map +1 -1
  19. package/dist/chat/chatLogic.esm.js +54 -54
  20. package/dist/chat/dateFolder.cjs.js +1 -1
  21. package/dist/chat/dateFolder.cjs.js.map +1 -1
  22. package/dist/chat/dateFolder.esm.js +30 -30
  23. package/dist/chat/infinite.cjs.js +1 -1
  24. package/dist/chat/infinite.cjs.js.map +1 -1
  25. package/dist/chat/infinite.esm.js +49 -49
  26. package/dist/chat/keys.cjs.js +2 -2
  27. package/dist/chat/keys.cjs.js.map +1 -1
  28. package/dist/chat/keys.esm.js +17 -17
  29. package/dist/chat/message.cjs.js +4 -4
  30. package/dist/chat/message.cjs.js.map +1 -1
  31. package/dist/chat/message.esm.js +114 -114
  32. package/dist/chat/message.esm.js.map +1 -1
  33. package/dist/chat/messageTools.cjs.js +1 -1
  34. package/dist/chat/messageTools.cjs.js.map +1 -1
  35. package/dist/chat/messageTools.esm.js +51 -51
  36. package/dist/chunks/{DialogProvider-dagk2fHm.js → DialogProvider-CdesAsw-.js} +5 -6
  37. package/dist/chunks/{DialogProvider-dagk2fHm.js.map → DialogProvider-CdesAsw-.js.map} +1 -1
  38. package/dist/chunks/{ResourceActionsMenu-o-8kWx8z.js → ResourceActionsMenu-Bx7YWY3E.js} +31 -32
  39. package/dist/chunks/{ResourceActionsMenu-o-8kWx8z.js.map → ResourceActionsMenu-Bx7YWY3E.js.map} +1 -1
  40. package/dist/chunks/{access-control-modal-CWH98HX3.js → access-control-modal-B1mFFIyz.js} +169 -170
  41. package/dist/chunks/{access-control-modal-CWH98HX3.js.map → access-control-modal-B1mFFIyz.js.map} +1 -1
  42. package/dist/chunks/{account-Cocvv0H3.js → account-DWmMJre6.js} +16 -17
  43. package/dist/chunks/{account-Cocvv0H3.js.map → account-DWmMJre6.js.map} +1 -1
  44. package/dist/chunks/{auth-Df5uYksz.js → auth-EK-iYNYZ.js} +42 -43
  45. package/dist/chunks/{auth-Df5uYksz.js.map → auth-EK-iYNYZ.js.map} +1 -1
  46. package/dist/chunks/{avatar-DeotTinS.js → avatar-BBgvMlqv.js} +8 -9
  47. package/dist/chunks/{avatar-DeotTinS.js.map → avatar-BBgvMlqv.js.map} +1 -1
  48. package/dist/chunks/{button-Dy1aFjqG.js → button-D6qO2idW.js} +10 -11
  49. package/dist/chunks/{button-Dy1aFjqG.js.map → button-D6qO2idW.js.map} +1 -1
  50. package/dist/chunks/{chunk.UEBQI7VV-9M5gO7Ew.js → chunk.UEBQI7VV-lcP-fpUk.js} +12 -9
  51. package/dist/chunks/chunk.UEBQI7VV-lcP-fpUk.js.map +1 -0
  52. package/dist/chunks/{combobox-BL0-8wef.js → combobox-DS6byaf1.js} +18 -19
  53. package/dist/chunks/{combobox-BL0-8wef.js.map → combobox-DS6byaf1.js.map} +1 -1
  54. package/dist/chunks/{combobox-option-DjlmXt1O.js → combobox-option-DOtGuKel.js} +7 -8
  55. package/dist/chunks/{combobox-option-DjlmXt1O.js.map → combobox-option-DOtGuKel.js.map} +1 -1
  56. package/dist/chunks/{components-LxiwG5ae.js → components-C8c2Ucm5.js} +201 -190
  57. package/dist/chunks/components-C8c2Ucm5.js.map +1 -0
  58. package/dist/chunks/{context-By_u12WA.js → context-BDrfQ9bN.js} +2 -2
  59. package/dist/chunks/{context-By_u12WA.js.map → context-BDrfQ9bN.js.map} +1 -1
  60. package/dist/chunks/{dialog-CrmftB9c.js → dialog-CgYK767T.js} +15 -16
  61. package/dist/chunks/{dialog-CrmftB9c.js.map → dialog-CgYK767T.js.map} +1 -1
  62. package/dist/chunks/{dialog-content-Cw3xqJ45.js → dialog-content-DjwRH1ci.js} +5 -6
  63. package/dist/chunks/{dialog-content-Cw3xqJ45.js.map → dialog-content-DjwRH1ci.js.map} +1 -1
  64. package/dist/chunks/{dialog-footer-sFQf-2zD.js → dialog-footer-GQWi8lfB.js} +5 -6
  65. package/dist/chunks/{dialog-footer-sFQf-2zD.js.map → dialog-footer-GQWi8lfB.js.map} +1 -1
  66. package/dist/chunks/{dialog-header-xIWIqfZK.js → dialog-header-c3qOMQfb.js} +5 -6
  67. package/dist/chunks/{dialog-header-xIWIqfZK.js.map → dialog-header-c3qOMQfb.js.map} +1 -1
  68. package/dist/chunks/{dialogs-B3tHtjMf.js → dialogs-BmtLjMzg.js} +2 -2
  69. package/dist/chunks/{dialogs-B3tHtjMf.js.map → dialogs-BmtLjMzg.js.map} +1 -1
  70. package/dist/chunks/{dialogs-root-Lh2u-3Cs.js → dialogs-root-BNF3_SA8.js} +8 -9
  71. package/dist/chunks/{dialogs-root-Lh2u-3Cs.js.map → dialogs-root-BNF3_SA8.js.map} +1 -1
  72. package/dist/chunks/{error-state-DnsXVj1z.js → error-state-jV9dlFX2.js} +10 -11
  73. package/dist/chunks/{error-state-DnsXVj1z.js.map → error-state-jV9dlFX2.js.map} +1 -1
  74. package/dist/chunks/{file-explorer-header-B6-Q0i6V.js → file-explorer-header-Djp_eFuT.js} +33 -34
  75. package/dist/chunks/file-explorer-header-Djp_eFuT.js.map +1 -0
  76. package/dist/chunks/{file-explorer-provider-B3gUBkHg.js → file-explorer-provider-DpjC7uds.js} +8 -9
  77. package/dist/chunks/{file-explorer-provider-B3gUBkHg.js.map → file-explorer-provider-DpjC7uds.js.map} +1 -1
  78. package/dist/chunks/{guard-C39y81In.js → guard-SxVT1xr4.js} +8 -9
  79. package/dist/chunks/{guard-C39y81In.js.map → guard-SxVT1xr4.js.map} +1 -1
  80. package/dist/chunks/{index.esm-C9oV3H3X.js → index.esm-BQrkxchZ.js} +2 -2
  81. package/dist/chunks/{index.esm-C9oV3H3X.js.map → index.esm-BQrkxchZ.js.map} +1 -1
  82. package/dist/chunks/{input-Bi6ZBZQw.js → input-Bz3l514j.js} +11 -12
  83. package/dist/chunks/{input-Bi6ZBZQw.js.map → input-Bz3l514j.js.map} +1 -1
  84. package/dist/chunks/{jsonld-D-TE94B0.js → jsonld-C6IOQ1Tg.js} +2 -2
  85. package/dist/chunks/{jsonld-D-TE94B0.js.map → jsonld-C6IOQ1Tg.js.map} +1 -1
  86. package/dist/chunks/{login-button-fo0P8vym.js → login-button-Dd0rwZJk.js} +9 -10
  87. package/dist/chunks/{login-button-fo0P8vym.js.map → login-button-Dd0rwZJk.js.map} +1 -1
  88. package/dist/chunks/{logout-button-CF2YFgID.js → logout-button-Da34Lrnq.js} +9 -10
  89. package/dist/chunks/{logout-button-CF2YFgID.js.map → logout-button-Da34Lrnq.js.map} +1 -1
  90. package/dist/chunks/{menu-RumUciM-.js → menu-BNJU654v.js} +48 -50
  91. package/dist/chunks/{menu-RumUciM-.js.map → menu-BNJU654v.js.map} +1 -1
  92. package/dist/chunks/{menu-item-CVAZyipz.js → menu-item-nfPpH4dN.js} +10 -11
  93. package/dist/chunks/{menu-item-CVAZyipz.js.map → menu-item-nfPpH4dN.js.map} +1 -1
  94. package/dist/chunks/{photo-capture-CAfo7y6-.js → photo-capture-hJaJm4TM.js} +20 -21
  95. package/dist/chunks/photo-capture-hJaJm4TM.js.map +1 -0
  96. package/dist/chunks/{photo-capture-modal-DWmDE_Ws.js → photo-capture-modal-BsHv6wmh.js} +28 -29
  97. package/dist/chunks/{photo-capture-modal-DWmDE_Ws.js.map → photo-capture-modal-BsHv6wmh.js.map} +1 -1
  98. package/dist/chunks/{provide-B5NeVMM_.js → provide-z9U64q4m.js} +2 -2
  99. package/dist/chunks/{provide-B5NeVMM_.js.map → provide-z9U64q4m.js.map} +1 -1
  100. package/dist/chunks/{provider-BbT2duMy.js → provider-B3FoP2qW.js} +12 -13
  101. package/dist/chunks/{provider-BbT2duMy.js.map → provider-B3FoP2qW.js.map} +1 -1
  102. package/dist/chunks/{rdf-form-CH9bDx98.js → rdf-form-BkKDmFPD.js} +30 -31
  103. package/dist/chunks/{rdf-form-CH9bDx98.js.map → rdf-form-BkKDmFPD.js.map} +1 -1
  104. package/dist/chunks/{rdf-input-C_V0pIS5.js → rdf-input-BPePtqfS.js} +62 -63
  105. package/dist/chunks/{rdf-input-C_V0pIS5.js.map → rdf-input-BPePtqfS.js.map} +1 -1
  106. package/dist/chunks/{select-y1Z6fwmh.js → select-ClPkDkGl.js} +9 -10
  107. package/dist/chunks/{select-y1Z6fwmh.js.map → select-ClPkDkGl.js.map} +1 -1
  108. package/dist/chunks/{select-option-U4ALXL20.js → select-option-DQan7rcB.js} +7 -8
  109. package/dist/chunks/{select-option-U4ALXL20.js.map → select-option-DQan7rcB.js.map} +1 -1
  110. package/dist/chunks/{signup-button-DicFpAjD.js → signup-button-DOInssOu.js} +9 -10
  111. package/dist/chunks/{signup-button-DicFpAjD.js.map → signup-button-DOInssOu.js.map} +1 -1
  112. package/dist/chunks/{solid-emblem-CeCXTpve.js → solid-emblem-DwLdkGuO.js} +7 -8
  113. package/dist/chunks/{solid-emblem-CeCXTpve.js.map → solid-emblem-DwLdkGuO.js.map} +1 -1
  114. package/dist/chunks/{solidLogicSingleton.esm-BXyHD7mn.js → solidLogicSingleton.esm-Bvt7E7Vl.js} +50 -29
  115. package/dist/chunks/solidLogicSingleton.esm-Bvt7E7Vl.js.map +1 -0
  116. package/dist/chunks/{src-Bhtor0ZC.js → src-akaVfkuf.js} +2739 -2719
  117. package/dist/chunks/src-akaVfkuf.js.map +1 -0
  118. package/dist/chunks/{style-CXaw5EYi.js → style-Dlw9-wPn.js} +3 -3
  119. package/dist/chunks/{style-CXaw5EYi.js.map → style-Dlw9-wPn.js.map} +1 -1
  120. package/dist/chunks/{widgets-BBEQu0CS.js → widgets-B1hBVhRL.js} +309 -309
  121. package/dist/chunks/widgets-B1hBVhRL.js.map +1 -0
  122. package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js +1 -1
  123. package/dist/components/access-control-modal/AccessControlAddAccess.esm.js +5 -5
  124. package/dist/components/access-control-modal/AccessControlAddAccess.esm.js.map +1 -1
  125. package/dist/components/access-control-modal/AccessControlErrors.esm.js.map +1 -1
  126. package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js +2 -2
  127. package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js.map +1 -1
  128. package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js +12 -12
  129. package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js.map +1 -1
  130. package/dist/components/access-control-modal/AccessControlModal.cjs.js +2 -2
  131. package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
  132. package/dist/components/access-control-modal/AccessControlModal.esm.js +35 -35
  133. package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
  134. package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js +1 -1
  135. package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js +2 -2
  136. package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js.map +1 -1
  137. package/dist/components/access-control-modal/accessTargetResolver.cjs.js +1 -1
  138. package/dist/components/access-control-modal/accessTargetResolver.cjs.js.map +1 -1
  139. package/dist/components/access-control-modal/accessTargetResolver.esm.js +21 -21
  140. package/dist/components/access-control-modal.js +1 -1
  141. package/dist/components/account/Account.cjs.js +1 -1
  142. package/dist/components/account/Account.esm.js +3 -3
  143. package/dist/components/account/Account.esm.js.map +1 -1
  144. package/dist/components/account.js +1 -1
  145. package/dist/components/all.cjs.js +1 -1
  146. package/dist/components/all.esm.js +16 -16
  147. package/dist/components/avatar.js +1 -1
  148. package/dist/components/button/Button.esm.js.map +1 -1
  149. package/dist/components/button.js +1 -1
  150. package/dist/components/combobox/Combobox.cjs.js +1 -1
  151. package/dist/components/combobox/Combobox.esm.js +1 -1
  152. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  153. package/dist/components/combobox-option/ComboboxOption.esm.js.map +1 -1
  154. package/dist/components/combobox-option.js +1 -1
  155. package/dist/components/combobox.js +1 -1
  156. package/dist/components/dialog/Dialog.cjs.js +2 -2
  157. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  158. package/dist/components/dialog/Dialog.esm.js +9 -9
  159. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  160. package/dist/components/dialog-content.js +1 -1
  161. package/dist/components/dialog-footer.js +1 -1
  162. package/dist/components/dialog-header.js +1 -1
  163. package/dist/components/dialog-provider/DialogProvider.cjs.js +1 -1
  164. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  165. package/dist/components/dialog-provider/DialogProvider.esm.js +6 -6
  166. package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -1
  167. package/dist/components/dialog-provider.js +1 -1
  168. package/dist/components/dialog.js +1 -1
  169. package/dist/components/dialogs-root/DialogsRoot.cjs.js +2 -2
  170. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  171. package/dist/components/dialogs-root/DialogsRoot.esm.js +7 -7
  172. package/dist/components/dialogs-root/DialogsRoot.esm.js.map +1 -1
  173. package/dist/components/dialogs-root.js +1 -1
  174. package/dist/components/error-state/ErrorState.cjs.js +1 -1
  175. package/dist/components/error-state/ErrorState.esm.js +1 -1
  176. package/dist/components/error-state/ErrorState.esm.js.map +1 -1
  177. package/dist/components/error-state.js +1 -1
  178. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js +2 -2
  179. package/dist/components/file-explorer-header/FileExplorerHeader.cjs.js.map +1 -1
  180. package/dist/components/file-explorer-header/FileExplorerHeader.d.ts.map +1 -1
  181. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js +20 -19
  182. package/dist/components/file-explorer-header/FileExplorerHeader.esm.js.map +1 -1
  183. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +6 -6
  184. package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
  185. package/dist/components/file-explorer-header/FileExplorerHeaderControls.d.ts.map +1 -1
  186. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +25 -24
  187. package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js.map +1 -1
  188. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +7 -7
  189. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js.map +1 -1
  190. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.d.ts.map +1 -1
  191. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +28 -27
  192. package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js.map +1 -1
  193. package/dist/components/file-explorer-header.js +1 -1
  194. package/dist/components/file-explorer-provider/FileExplorerProvider.cjs.js +1 -1
  195. package/dist/components/file-explorer-provider/FileExplorerProvider.cjs.js.map +1 -1
  196. package/dist/components/file-explorer-provider/FileExplorerProvider.d.ts +1 -1
  197. package/dist/components/file-explorer-provider/FileExplorerProvider.d.ts.map +1 -1
  198. package/dist/components/file-explorer-provider/FileExplorerProvider.esm.js +8 -7
  199. package/dist/components/file-explorer-provider/FileExplorerProvider.esm.js.map +1 -1
  200. package/dist/components/file-explorer-provider.js +1 -1
  201. package/dist/components/guard.js +1 -1
  202. package/dist/components/input/Input.esm.js.map +1 -1
  203. package/dist/components/input.js +1 -1
  204. package/dist/components/login-button/LoginButton.cjs.js +1 -1
  205. package/dist/components/login-button/LoginButton.esm.js +1 -1
  206. package/dist/components/login-button.js +1 -1
  207. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  208. package/dist/components/login-modal/LoginModal.esm.js +2 -2
  209. package/dist/components/login-modal/LoginModal.esm.js.map +1 -1
  210. package/dist/components/login-modal.js +1 -1
  211. package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
  212. package/dist/components/logout-button/LogoutButton.esm.js +1 -1
  213. package/dist/components/logout-button.js +1 -1
  214. package/dist/components/menu/Menu.cjs.js +1 -1
  215. package/dist/components/menu/Menu.cjs.js.map +1 -1
  216. package/dist/components/menu/Menu.esm.js +1 -1
  217. package/dist/components/menu/Menu.esm.js.map +1 -1
  218. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  219. package/dist/components/menu-item.js +1 -1
  220. package/dist/components/menu.js +1 -1
  221. package/dist/components/photo-capture/PhotoCapture.esm.js.map +1 -1
  222. package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js.map +1 -1
  223. package/dist/components/photo-capture-modal.js +1 -1
  224. package/dist/components/photo-capture.js +1 -1
  225. package/dist/components/provider/Provider.esm.js.map +1 -1
  226. package/dist/components/provider.js +1 -1
  227. package/dist/components/rdf-form/RDFForm.cjs.js +3 -3
  228. package/dist/components/rdf-form/RDFForm.cjs.js.map +1 -1
  229. package/dist/components/rdf-form/RDFForm.esm.js +13 -13
  230. package/dist/components/rdf-form/RDFForm.esm.js.map +1 -1
  231. package/dist/components/rdf-form.js +1 -1
  232. package/dist/components/rdf-input/RDFInput.cjs.js +2 -2
  233. package/dist/components/rdf-input/RDFInput.cjs.js.map +1 -1
  234. package/dist/components/rdf-input/RDFInput.esm.js +4 -4
  235. package/dist/components/rdf-input/RDFInput.esm.js.map +1 -1
  236. package/dist/components/rdf-input.js +1 -1
  237. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +8 -8
  238. package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
  239. package/dist/components/resource-actions-menu/ResourceActionsMenu.d.ts.map +1 -1
  240. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +18 -17
  241. package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js.map +1 -1
  242. package/dist/components/resource-actions-menu.js +1 -1
  243. package/dist/components/select/Select.cjs.js +1 -1
  244. package/dist/components/select/Select.cjs.js.map +1 -1
  245. package/dist/components/select/Select.esm.js +1 -1
  246. package/dist/components/select/Select.esm.js.map +1 -1
  247. package/dist/components/select-option/SelectOption.esm.js.map +1 -1
  248. package/dist/components/select-option.js +1 -1
  249. package/dist/components/select.js +1 -1
  250. package/dist/components/signup-button/SignupButton.cjs.js +1 -1
  251. package/dist/components/signup-button/SignupButton.esm.js +1 -1
  252. package/dist/components/signup-button.js +1 -1
  253. package/dist/components/solid-emblem.js +1 -1
  254. package/dist/components.js +30 -30
  255. package/dist/create/create.cjs.js +1 -1
  256. package/dist/create/create.cjs.js.map +1 -1
  257. package/dist/create/create.esm.js +23 -23
  258. package/dist/header/index.cjs.js +1 -1
  259. package/dist/header/index.cjs.js.map +1 -1
  260. package/dist/header/index.esm.js +53 -53
  261. package/dist/index.cjs.js +1 -1
  262. package/dist/index.cjs.js.map +1 -1
  263. package/dist/index.esm.js +24 -24
  264. package/dist/index.esm.js.map +1 -1
  265. package/dist/index.js +11 -12
  266. package/dist/lib/auth/SolidAuth.cjs.js +1 -1
  267. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  268. package/dist/lib/auth/SolidAuth.esm.js +8 -8
  269. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  270. package/dist/lib/code-editor/CodeEditor.cjs.js +1 -1
  271. package/dist/lib/code-editor/CodeEditor.cjs.js.map +1 -1
  272. package/dist/lib/code-editor/CodeEditor.d.ts.map +1 -1
  273. package/dist/lib/code-editor/CodeEditor.esm.js +34 -30
  274. package/dist/lib/code-editor/CodeEditor.esm.js.map +1 -1
  275. package/dist/lib/components/dialog-component/DialogComponent.cjs.js +1 -1
  276. package/dist/lib/components/dialog-component/DialogComponent.cjs.js.map +1 -1
  277. package/dist/lib/components/dialog-component/DialogComponent.esm.js +4 -4
  278. package/dist/lib/components/index.cjs.js +1 -1
  279. package/dist/lib/components/index.esm.js +3 -3
  280. package/dist/lib/dialogs/helpers.cjs.js +1 -1
  281. package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
  282. package/dist/lib/dialogs/helpers.esm.js +4 -4
  283. package/dist/lib/file-explorer/index.cjs.js +1 -1
  284. package/dist/lib/file-explorer/index.esm.js +3 -3
  285. package/dist/lib/file-explorer/relevant-panes.cjs.js +1 -1
  286. package/dist/lib/file-explorer/relevant-panes.cjs.js.map +1 -1
  287. package/dist/lib/file-explorer/relevant-panes.d.ts +7 -0
  288. package/dist/lib/file-explorer/relevant-panes.d.ts.map +1 -1
  289. package/dist/lib/file-explorer/relevant-panes.esm.js +11 -2
  290. package/dist/lib/file-explorer/relevant-panes.esm.js.map +1 -1
  291. package/dist/lib/messageArea.cjs.js +1 -1
  292. package/dist/lib/messageArea.cjs.js.map +1 -1
  293. package/dist/lib/messageArea.esm.js +27 -27
  294. package/dist/lib/pad.cjs.js +1 -1
  295. package/dist/lib/pad.cjs.js.map +1 -1
  296. package/dist/lib/pad.esm.js +15 -15
  297. package/dist/lib/participation.cjs.js +1 -1
  298. package/dist/lib/participation.cjs.js.map +1 -1
  299. package/dist/lib/participation.esm.js +59 -59
  300. package/dist/lib/preferences.cjs.js +1 -1
  301. package/dist/lib/preferences.cjs.js.map +1 -1
  302. package/dist/lib/preferences.esm.js +28 -28
  303. package/dist/lib/table.cjs.js +3 -3
  304. package/dist/lib/table.cjs.js.map +1 -1
  305. package/dist/lib/table.esm.js +123 -123
  306. package/dist/lib/table.esm.js.map +1 -1
  307. package/dist/lib/tabs.cjs.js +1 -1
  308. package/dist/lib/tabs.cjs.js.map +1 -1
  309. package/dist/lib/tabs.esm.js +16 -16
  310. package/dist/loader.js +11 -12
  311. package/dist/login/login.cjs.js +6 -6
  312. package/dist/login/login.cjs.js.map +1 -1
  313. package/dist/login/login.esm.js +142 -142
  314. package/dist/media/media-capture.cjs.js +1 -1
  315. package/dist/media/media-capture.cjs.js.map +1 -1
  316. package/dist/media/media-capture.esm.js +6 -6
  317. package/dist/solid-ui.js +32 -32
  318. package/dist/solid-ui.min.js +32 -32
  319. package/dist/solid-ui.min.js.map +1 -1
  320. package/dist/utils/index.cjs.js +1 -1
  321. package/dist/utils/index.cjs.js.map +1 -1
  322. package/dist/utils/index.esm.js +4 -4
  323. package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
  324. package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
  325. package/dist/utils/keyHelpers/accessData.esm.js +15 -15
  326. package/dist/utils/label.cjs.js +1 -1
  327. package/dist/utils/label.cjs.js.map +1 -1
  328. package/dist/utils/label.esm.js +4 -4
  329. package/dist/widgets/buttons.cjs.js +12 -12
  330. package/dist/widgets/buttons.cjs.js.map +1 -1
  331. package/dist/widgets/buttons.esm.js +179 -179
  332. package/dist/widgets/error.cjs.js +1 -1
  333. package/dist/widgets/error.cjs.js.map +1 -1
  334. package/dist/widgets/error.esm.js +5 -5
  335. package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js +1 -1
  336. package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js.map +1 -1
  337. package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js +17 -17
  338. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js +1 -1
  339. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
  340. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js +23 -23
  341. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js +1 -1
  342. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  343. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js +26 -26
  344. package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
  345. package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
  346. package/dist/widgets/forms/autocomplete/language.esm.js +9 -9
  347. package/dist/widgets/forms/autocomplete/publicData.cjs.js +5 -5
  348. package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
  349. package/dist/widgets/forms/autocomplete/publicData.esm.js +67 -67
  350. package/dist/widgets/forms/basic.cjs.js +1 -1
  351. package/dist/widgets/forms/basic.cjs.js.map +1 -1
  352. package/dist/widgets/forms/basic.esm.js +11 -11
  353. package/dist/widgets/forms.cjs.js +4 -4
  354. package/dist/widgets/forms.cjs.js.map +1 -1
  355. package/dist/widgets/forms.esm.js +561 -561
  356. package/dist/widgets/forms.esm.js.map +1 -1
  357. package/dist/widgets/index.cjs.js +1 -1
  358. package/dist/widgets/index.cjs.js.map +1 -1
  359. package/dist/widgets/index.esm.js +82 -82
  360. package/dist/widgets/peoplePicker.cjs.js +2 -2
  361. package/dist/widgets/peoplePicker.cjs.js.map +1 -1
  362. package/dist/widgets/peoplePicker.esm.js +82 -82
  363. package/package.json +3 -3
  364. package/dist/chunks/chunk.UEBQI7VV-9M5gO7Ew.js.map +0 -1
  365. package/dist/chunks/components-LxiwG5ae.js.map +0 -1
  366. package/dist/chunks/custom-element-BW8Ua4c7.js +0 -9
  367. package/dist/chunks/custom-element-BW8Ua4c7.js.map +0 -1
  368. package/dist/chunks/decorators-V-B013l9.js +0 -12
  369. package/dist/chunks/decorators-V-B013l9.js.map +0 -1
  370. package/dist/chunks/file-explorer-header-B6-Q0i6V.js.map +0 -1
  371. package/dist/chunks/photo-capture-CAfo7y6-.js.map +0 -1
  372. package/dist/chunks/solidLogicSingleton.esm-BXyHD7mn.js.map +0 -1
  373. package/dist/chunks/src-Bhtor0ZC.js.map +0 -1
  374. package/dist/chunks/widgets-BBEQu0CS.js.map +0 -1
@@ -1,2 +1,2 @@
1
- const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./dragAndDrop.cjs.js"),n=require("./error.cjs.js"),r=require("./peoplePicker.cjs.js"),i=require("./buttons/iconLinks.cjs.js"),a=require("./buttons.cjs.js"),o=require("./forms/fieldParams.cjs.js"),s=require("./forms/fieldFunction.cjs.js"),c=require("./forms/basic.cjs.js"),l=require("./forms/autocomplete/publicData.cjs.js"),u=require("./forms/autocomplete/autocompletePicker.cjs.js"),d=require("./forms/autocomplete/autocompleteBar.cjs.js"),f=require("./forms.cjs.js");var p=e.__exportAll({Group:()=>r.Group,GroupBuilder:()=>r.GroupBuilder,GroupPicker:()=>r.GroupPicker,PeoplePicker:()=>r.PeoplePicker,Person:()=>r.Person,addStyleSheet:()=>a.addStyleSheet,allClassURIs:()=>a.allClassURIs,appendForm:()=>f.appendForm,askName:()=>a.askName,attachmentList:()=>a.attachmentList,basicField:()=>c.basicField,buildCheckboxForm:()=>f.buildCheckboxForm,button:()=>a.button,cancelButton:()=>a.cancelButton,clearElement:()=>a.clearElement,complain:()=>a.complain,continueButton:()=>a.continueButton,createLinkDiv:()=>a.createLinkDiv,createLinkForURI:()=>i.createLinkForURI,createNameDiv:()=>a.createNameDiv,defaultAnnotationStore:()=>a.defaultAnnotationStore,deleteButtonWithCheck:()=>a.deleteButtonWithCheck,editFormButton:()=>f.editFormButton,errorMessageBlock:()=>n.errorMessageBlock,extractLogURI:()=>a.extractLogURI,faviconOrDefault:()=>a.faviconOrDefault,field:()=>s.field,fieldFunction:()=>s.fieldFunction,fieldLabel:()=>c.fieldLabel,fieldParams:()=>o.fieldParams,fieldStore:()=>c.fieldStore,fileUploadButtonDiv:()=>a.fileUploadButtonDiv,findClosest:()=>f.findClosest,findImage:()=>a.findImage,findImageFromURI:()=>a.findImageFromURI,formatDateTime:()=>a.formatDateTime,formsFor:()=>f.formsFor,iconForClass:()=>a.iconForClass,imagesOf:()=>a.imagesOf,index:()=>a.index,isAudio:()=>a.isAudio,isImage:()=>a.isImage,isVideo:()=>a.isVideo,linkButton:()=>a.linkButton,linkIcon:()=>i.linkIcon,makeDescription:()=>f.makeDescription,makeDraggable:()=>t.makeDraggable,makeDropTarget:()=>t.makeDropTarget,makeSelectForCategory:()=>f.makeSelectForCategory,makeSelectForChoice:()=>f.makeSelectForChoice,makeSelectForClassifierOptions:()=>f.makeSelectForClassifierOptions,makeSelectForNestedCategory:()=>f.makeSelectForNestedCategory,makeSelectForOptions:()=>f.makeSelectForOptions,mostSpecificClassURI:()=>s.mostSpecificClassURI,newButton:()=>f.newButton,newThing:()=>f.newThing,openHrefInOutlineMode:()=>a.openHrefInOutlineMode,personTR:()=>a.personTR,promptForNew:()=>f.promptForNew,propertiesForClass:()=>f.propertiesForClass,propertyTriage:()=>a.propertyTriage,publicData:()=>l.publicData_exports,refreshTree:()=>a.refreshTree,removeButton:()=>a.removeButton,renderAsDiv:()=>a.renderAsDiv,renderAsRow:()=>a.renderAsRow,renderAutoComplete:()=>u.renderAutoComplete,renderAutocompleteControl:()=>d.renderAutocompleteControl,renderNameValuePair:()=>c.renderNameValuePair,selectorPanel:()=>a.selectorPanel,selectorPanelRefresh:()=>a.selectorPanelRefresh,setImage:()=>a.setImage,setName:()=>a.setName,setVisible:()=>u.setVisible,shortDate:()=>a.shortDate,shortTime:()=>a.shortTime,sortByLabel:()=>f.sortByLabel,sortBySequence:()=>f.sortBySequence,timestamp:()=>a.timestamp,uploadFiles:()=>t.uploadFiles});exports.Group=r.Group,exports.GroupBuilder=r.GroupBuilder,exports.GroupPicker=r.GroupPicker,exports.PeoplePicker=r.PeoplePicker,exports.Person=r.Person,exports.addStyleSheet=a.addStyleSheet,exports.allClassURIs=a.allClassURIs,exports.appendForm=f.appendForm,exports.askName=a.askName,exports.attachmentList=a.attachmentList,exports.basicField=c.basicField,exports.buildCheckboxForm=f.buildCheckboxForm,exports.button=a.button,exports.cancelButton=a.cancelButton,exports.clearElement=a.clearElement,exports.complain=a.complain,exports.continueButton=a.continueButton,exports.createLinkDiv=a.createLinkDiv,exports.createLinkForURI=i.createLinkForURI,exports.createNameDiv=a.createNameDiv,exports.defaultAnnotationStore=a.defaultAnnotationStore,exports.deleteButtonWithCheck=a.deleteButtonWithCheck,exports.editFormButton=f.editFormButton,exports.errorMessageBlock=n.errorMessageBlock,exports.extractLogURI=a.extractLogURI,exports.faviconOrDefault=a.faviconOrDefault,exports.field=s.field,exports.fieldFunction=s.fieldFunction,exports.fieldLabel=c.fieldLabel,exports.fieldParams=o.fieldParams,exports.fieldStore=c.fieldStore,exports.fileUploadButtonDiv=a.fileUploadButtonDiv,exports.findClosest=f.findClosest,exports.findImage=a.findImage,exports.findImageFromURI=a.findImageFromURI,exports.formatDateTime=a.formatDateTime,exports.formsFor=f.formsFor,exports.iconForClass=a.iconForClass,exports.imagesOf=a.imagesOf,Object.defineProperty(exports,"index",{enumerable:!0,get:function(){return a.index}}),exports.isAudio=a.isAudio,exports.isImage=a.isImage,exports.isVideo=a.isVideo,exports.linkButton=a.linkButton,exports.linkIcon=i.linkIcon,exports.makeDescription=f.makeDescription,exports.makeDraggable=t.makeDraggable,exports.makeDropTarget=t.makeDropTarget,exports.makeSelectForCategory=f.makeSelectForCategory,exports.makeSelectForChoice=f.makeSelectForChoice,exports.makeSelectForClassifierOptions=f.makeSelectForClassifierOptions,exports.makeSelectForNestedCategory=f.makeSelectForNestedCategory,exports.makeSelectForOptions=f.makeSelectForOptions,exports.mostSpecificClassURI=s.mostSpecificClassURI,exports.newButton=f.newButton,exports.newThing=f.newThing,exports.openHrefInOutlineMode=a.openHrefInOutlineMode,exports.personTR=a.personTR,exports.promptForNew=f.promptForNew,exports.propertiesForClass=f.propertiesForClass,exports.propertyTriage=a.propertyTriage,Object.defineProperty(exports,"publicData",{enumerable:!0,get:function(){return l.publicData_exports}}),exports.refreshTree=a.refreshTree,exports.removeButton=a.removeButton,exports.renderAsDiv=a.renderAsDiv,exports.renderAsRow=a.renderAsRow,exports.renderAutoComplete=u.renderAutoComplete,exports.renderAutocompleteControl=d.renderAutocompleteControl,exports.renderNameValuePair=c.renderNameValuePair,exports.selectorPanel=a.selectorPanel,exports.selectorPanelRefresh=a.selectorPanelRefresh,exports.setImage=a.setImage,exports.setName=a.setName,exports.setVisible=u.setVisible,exports.shortDate=a.shortDate,exports.shortTime=a.shortTime,exports.sortByLabel=f.sortByLabel,exports.sortBySequence=f.sortBySequence,exports.timestamp=a.timestamp,exports.uploadFiles=t.uploadFiles,Object.defineProperty(exports,"widgets_exports",{enumerable:!0,get:function(){return p}});
1
+ const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./peoplePicker.cjs.js"),n=require("./dragAndDrop.cjs.js"),r=require("./buttons.cjs.js"),i=require("./buttons/iconLinks.cjs.js"),a=require("./error.cjs.js"),o=require("./forms/fieldParams.cjs.js"),s=require("./forms/fieldFunction.cjs.js"),c=require("./forms/basic.cjs.js"),l=require("./forms.cjs.js"),u=require("./forms/autocomplete/autocompleteBar.cjs.js"),d=require("./forms/autocomplete/autocompletePicker.cjs.js"),f=require("./forms/autocomplete/publicData.cjs.js");var p=e.__exportAll({Group:()=>t.Group,GroupBuilder:()=>t.GroupBuilder,GroupPicker:()=>t.GroupPicker,PeoplePicker:()=>t.PeoplePicker,Person:()=>t.Person,addStyleSheet:()=>r.addStyleSheet,allClassURIs:()=>r.allClassURIs,appendForm:()=>l.appendForm,askName:()=>r.askName,attachmentList:()=>r.attachmentList,basicField:()=>c.basicField,buildCheckboxForm:()=>l.buildCheckboxForm,button:()=>r.button,cancelButton:()=>r.cancelButton,clearElement:()=>r.clearElement,complain:()=>r.complain,continueButton:()=>r.continueButton,createLinkDiv:()=>r.createLinkDiv,createLinkForURI:()=>i.createLinkForURI,createNameDiv:()=>r.createNameDiv,defaultAnnotationStore:()=>r.defaultAnnotationStore,deleteButtonWithCheck:()=>r.deleteButtonWithCheck,editFormButton:()=>l.editFormButton,errorMessageBlock:()=>a.errorMessageBlock,extractLogURI:()=>r.extractLogURI,faviconOrDefault:()=>r.faviconOrDefault,field:()=>s.field,fieldFunction:()=>s.fieldFunction,fieldLabel:()=>c.fieldLabel,fieldParams:()=>o.fieldParams,fieldStore:()=>c.fieldStore,fileUploadButtonDiv:()=>r.fileUploadButtonDiv,findClosest:()=>l.findClosest,findImage:()=>r.findImage,findImageFromURI:()=>r.findImageFromURI,formatDateTime:()=>r.formatDateTime,formsFor:()=>l.formsFor,iconForClass:()=>r.iconForClass,imagesOf:()=>r.imagesOf,index:()=>r.index,isAudio:()=>r.isAudio,isImage:()=>r.isImage,isVideo:()=>r.isVideo,linkButton:()=>r.linkButton,linkIcon:()=>i.linkIcon,makeDescription:()=>l.makeDescription,makeDraggable:()=>n.makeDraggable,makeDropTarget:()=>n.makeDropTarget,makeSelectForCategory:()=>l.makeSelectForCategory,makeSelectForChoice:()=>l.makeSelectForChoice,makeSelectForClassifierOptions:()=>l.makeSelectForClassifierOptions,makeSelectForNestedCategory:()=>l.makeSelectForNestedCategory,makeSelectForOptions:()=>l.makeSelectForOptions,mostSpecificClassURI:()=>s.mostSpecificClassURI,newButton:()=>l.newButton,newThing:()=>l.newThing,openHrefInOutlineMode:()=>r.openHrefInOutlineMode,personTR:()=>r.personTR,promptForNew:()=>l.promptForNew,propertiesForClass:()=>l.propertiesForClass,propertyTriage:()=>r.propertyTriage,publicData:()=>f.publicData_exports,refreshTree:()=>r.refreshTree,removeButton:()=>r.removeButton,renderAsDiv:()=>r.renderAsDiv,renderAsRow:()=>r.renderAsRow,renderAutoComplete:()=>d.renderAutoComplete,renderAutocompleteControl:()=>u.renderAutocompleteControl,renderNameValuePair:()=>c.renderNameValuePair,selectorPanel:()=>r.selectorPanel,selectorPanelRefresh:()=>r.selectorPanelRefresh,setImage:()=>r.setImage,setName:()=>r.setName,setVisible:()=>d.setVisible,shortDate:()=>r.shortDate,shortTime:()=>r.shortTime,sortByLabel:()=>l.sortByLabel,sortBySequence:()=>l.sortBySequence,timestamp:()=>r.timestamp,uploadFiles:()=>n.uploadFiles});exports.Group=t.Group,exports.GroupBuilder=t.GroupBuilder,exports.GroupPicker=t.GroupPicker,exports.PeoplePicker=t.PeoplePicker,exports.Person=t.Person,exports.addStyleSheet=r.addStyleSheet,exports.allClassURIs=r.allClassURIs,exports.appendForm=l.appendForm,exports.askName=r.askName,exports.attachmentList=r.attachmentList,exports.basicField=c.basicField,exports.buildCheckboxForm=l.buildCheckboxForm,exports.button=r.button,exports.cancelButton=r.cancelButton,exports.clearElement=r.clearElement,exports.complain=r.complain,exports.continueButton=r.continueButton,exports.createLinkDiv=r.createLinkDiv,exports.createLinkForURI=i.createLinkForURI,exports.createNameDiv=r.createNameDiv,exports.defaultAnnotationStore=r.defaultAnnotationStore,exports.deleteButtonWithCheck=r.deleteButtonWithCheck,exports.editFormButton=l.editFormButton,exports.errorMessageBlock=a.errorMessageBlock,exports.extractLogURI=r.extractLogURI,exports.faviconOrDefault=r.faviconOrDefault,exports.field=s.field,exports.fieldFunction=s.fieldFunction,exports.fieldLabel=c.fieldLabel,exports.fieldParams=o.fieldParams,exports.fieldStore=c.fieldStore,exports.fileUploadButtonDiv=r.fileUploadButtonDiv,exports.findClosest=l.findClosest,exports.findImage=r.findImage,exports.findImageFromURI=r.findImageFromURI,exports.formatDateTime=r.formatDateTime,exports.formsFor=l.formsFor,exports.iconForClass=r.iconForClass,exports.imagesOf=r.imagesOf,Object.defineProperty(exports,"index",{enumerable:!0,get:function(){return r.index}}),exports.isAudio=r.isAudio,exports.isImage=r.isImage,exports.isVideo=r.isVideo,exports.linkButton=r.linkButton,exports.linkIcon=i.linkIcon,exports.makeDescription=l.makeDescription,exports.makeDraggable=n.makeDraggable,exports.makeDropTarget=n.makeDropTarget,exports.makeSelectForCategory=l.makeSelectForCategory,exports.makeSelectForChoice=l.makeSelectForChoice,exports.makeSelectForClassifierOptions=l.makeSelectForClassifierOptions,exports.makeSelectForNestedCategory=l.makeSelectForNestedCategory,exports.makeSelectForOptions=l.makeSelectForOptions,exports.mostSpecificClassURI=s.mostSpecificClassURI,exports.newButton=l.newButton,exports.newThing=l.newThing,exports.openHrefInOutlineMode=r.openHrefInOutlineMode,exports.personTR=r.personTR,exports.promptForNew=l.promptForNew,exports.propertiesForClass=l.propertiesForClass,exports.propertyTriage=r.propertyTriage,Object.defineProperty(exports,"publicData",{enumerable:!0,get:function(){return f.publicData_exports}}),exports.refreshTree=r.refreshTree,exports.removeButton=r.removeButton,exports.renderAsDiv=r.renderAsDiv,exports.renderAsRow=r.renderAsRow,exports.renderAutoComplete=d.renderAutoComplete,exports.renderAutocompleteControl=u.renderAutocompleteControl,exports.renderNameValuePair=c.renderNameValuePair,exports.selectorPanel=r.selectorPanel,exports.selectorPanelRefresh=r.selectorPanelRefresh,exports.setImage=r.setImage,exports.setName=r.setName,exports.setVisible=d.setVisible,exports.shortDate=r.shortDate,exports.shortTime=r.shortTime,exports.sortByLabel=l.sortByLabel,exports.sortBySequence=l.sortBySequence,exports.timestamp=r.timestamp,exports.uploadFiles=n.uploadFiles,Object.defineProperty(exports,"widgets_exports",{enumerable:!0,get:function(){return p}});
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["require_runtime","require_dragAndDrop","require_error","require_peoplePicker","require_iconLinks","require_buttons","require_fieldParams","require_fieldFunction","require_basic","require_publicData","require_autocompletePicker","require_autocompleteBar","require_forms","widgets_exports"],"sources":["../../src/widgets/index.js"],"sourcesContent":["/**\n * General purpose utility functions used in the panes\n * oshani@csail.mit.edu\n *\n * Includes form-oriented widgets timbl@w3.org\n *\n * sign-in sign-up widgets are in signin.js\n *\n * Note... For pointers to posssible text-editing code, see\n * http://stackoverflow.com/questions/6756407/what-contenteditable-editors\n */\n\n// Each widget should ideally live in its own file. In order to break up this\n// monolithic widget index over time, we should add new widgets to the\n// 'lib/widgets/' directory, and re-export them by merging the module namespaces:\n//\n// (In order to avoid name collisions, it is safely assumed that modules don't\n// export widgets with the same name)\n\nexport * from './peoplePicker'\nexport * from './dragAndDrop'\nexport * from './buttons'\nexport * from './buttons/iconLinks'\nexport * from './error'\nexport * from './forms'\n\nexport * from './forms/autocomplete/autocompleteBar'\nexport * from './forms/autocomplete/autocompletePicker'\n\nexport * as publicData from './forms/autocomplete/publicData'\n\n/*\nimport * as peoplePicker from './peoplePicker'\nimport * as dragAndDrop from './dragAndDrop'\nimport * as buttons from './buttons'\nimport * as error from './error'\nimport { forms } from './forms'\n\nconst widgets = Object.assign(\n {},\n buttons,\n peoplePicker,\n dragAndDrop,\n error,\n forms\n)\n\n// export default widgets .. Policy is not to use exports default\nmodule.export = widgets // @@ Apparently no way to do this (yet?) in esm\nconsole.log('widgets exported:', widgets)\n*/\n// ends\n"],"mappings":""}
1
+ {"version":3,"file":"index.cjs.js","names":["require_runtime","require_peoplePicker","require_dragAndDrop","require_buttons","require_iconLinks","require_error","require_fieldParams","require_fieldFunction","require_basic","require_forms","require_autocompleteBar","require_autocompletePicker","require_publicData","widgets_exports"],"sources":["../../src/widgets/index.js"],"sourcesContent":["/**\n * General purpose utility functions used in the panes\n * oshani@csail.mit.edu\n *\n * Includes form-oriented widgets timbl@w3.org\n *\n * sign-in sign-up widgets are in signin.js\n *\n * Note... For pointers to posssible text-editing code, see\n * http://stackoverflow.com/questions/6756407/what-contenteditable-editors\n */\n\n// Each widget should ideally live in its own file. In order to break up this\n// monolithic widget index over time, we should add new widgets to the\n// 'lib/widgets/' directory, and re-export them by merging the module namespaces:\n//\n// (In order to avoid name collisions, it is safely assumed that modules don't\n// export widgets with the same name)\n\nexport * from './peoplePicker'\nexport * from './dragAndDrop'\nexport * from './buttons'\nexport * from './buttons/iconLinks'\nexport * from './error'\nexport * from './forms'\n\nexport * from './forms/autocomplete/autocompleteBar'\nexport * from './forms/autocomplete/autocompletePicker'\n\nexport * as publicData from './forms/autocomplete/publicData'\n\n/*\nimport * as peoplePicker from './peoplePicker'\nimport * as dragAndDrop from './dragAndDrop'\nimport * as buttons from './buttons'\nimport * as error from './error'\nimport { forms } from './forms'\n\nconst widgets = Object.assign(\n {},\n buttons,\n peoplePicker,\n dragAndDrop,\n error,\n forms\n)\n\n// export default widgets .. Policy is not to use exports default\nmodule.export = widgets // @@ Apparently no way to do this (yet?) in esm\nconsole.log('widgets exported:', widgets)\n*/\n// ends\n"],"mappings":""}
@@ -1,99 +1,99 @@
1
1
  import { __exportAll as ee } from "../_virtual/_rolldown/runtime.esm.js";
2
- import { makeDraggable as e, makeDropTarget as t, uploadFiles as n } from "./dragAndDrop.esm.js";
3
- import { errorMessageBlock as r } from "./error.esm.js";
4
- import { Group as i, GroupBuilder as a, GroupPicker as o, PeoplePicker as s, Person as c } from "./peoplePicker.esm.js";
5
- import { createLinkForURI as l, linkIcon as u } from "./buttons/iconLinks.esm.js";
6
- import { addStyleSheet as d, allClassURIs as f, askName as p, attachmentList as m, button as h, cancelButton as g, clearElement as _, complain as v, continueButton as y, createLinkDiv as b, createNameDiv as x, defaultAnnotationStore as S, deleteButtonWithCheck as C, extractLogURI as w, faviconOrDefault as T, fileUploadButtonDiv as E, findImage as D, findImageFromURI as O, formatDateTime as k, iconForClass as A, imagesOf as j, index as M, isAudio as N, isImage as P, isVideo as F, linkButton as I, openHrefInOutlineMode as L, personTR as R, propertyTriage as z, refreshTree as B, removeButton as V, renderAsDiv as H, renderAsRow as U, selectorPanel as te, selectorPanelRefresh as W, setImage as G, setName as K, shortDate as q, shortTime as J, timestamp as Y } from "./buttons.esm.js";
2
+ import { Group as e, GroupBuilder as t, GroupPicker as n, PeoplePicker as r, Person as i } from "./peoplePicker.esm.js";
3
+ import { makeDraggable as a, makeDropTarget as o, uploadFiles as s } from "./dragAndDrop.esm.js";
4
+ import { addStyleSheet as c, allClassURIs as l, askName as u, attachmentList as d, button as f, cancelButton as p, clearElement as m, complain as h, continueButton as g, createLinkDiv as _, createNameDiv as v, defaultAnnotationStore as y, deleteButtonWithCheck as b, extractLogURI as x, faviconOrDefault as S, fileUploadButtonDiv as C, findImage as w, findImageFromURI as T, formatDateTime as E, iconForClass as D, imagesOf as O, index as k, isAudio as A, isImage as j, isVideo as M, linkButton as N, openHrefInOutlineMode as P, personTR as F, propertyTriage as I, refreshTree as L, removeButton as R, renderAsDiv as z, renderAsRow as B, selectorPanel as V, selectorPanelRefresh as H, setImage as U, setName as te, shortDate as W, shortTime as G, timestamp as K } from "./buttons.esm.js";
5
+ import { createLinkForURI as q, linkIcon as J } from "./buttons/iconLinks.esm.js";
6
+ import { errorMessageBlock as Y } from "./error.esm.js";
7
7
  import { fieldParams as X } from "./forms/fieldParams.esm.js";
8
8
  import { field as Z, fieldFunction as Q, mostSpecificClassURI as $ } from "./forms/fieldFunction.esm.js";
9
9
  import { basicField as ne, fieldLabel as re, fieldStore as ie, renderNameValuePair as ae } from "./forms/basic.esm.js";
10
- import { publicData_exports as oe } from "./forms/autocomplete/publicData.esm.js";
11
- import { renderAutoComplete as se, setVisible as ce } from "./forms/autocomplete/autocompletePicker.esm.js";
12
- import { renderAutocompleteControl as le } from "./forms/autocomplete/autocompleteBar.esm.js";
13
- import { appendForm as ue, buildCheckboxForm as de, editFormButton as fe, findClosest as pe, formsFor as me, makeDescription as he, makeSelectForCategory as ge, makeSelectForChoice as _e, makeSelectForClassifierOptions as ve, makeSelectForNestedCategory as ye, makeSelectForOptions as be, newButton as xe, newThing as Se, promptForNew as Ce, propertiesForClass as we, sortByLabel as Te, sortBySequence as Ee } from "./forms.esm.js";
10
+ import { appendForm as oe, buildCheckboxForm as se, editFormButton as ce, findClosest as le, formsFor as ue, makeDescription as de, makeSelectForCategory as fe, makeSelectForChoice as pe, makeSelectForClassifierOptions as me, makeSelectForNestedCategory as he, makeSelectForOptions as ge, newButton as _e, newThing as ve, promptForNew as ye, propertiesForClass as be, sortByLabel as xe, sortBySequence as Se } from "./forms.esm.js";
11
+ import { renderAutocompleteControl as Ce } from "./forms/autocomplete/autocompleteBar.esm.js";
12
+ import { renderAutoComplete as we, setVisible as Te } from "./forms/autocomplete/autocompletePicker.esm.js";
13
+ import { publicData_exports as Ee } from "./forms/autocomplete/publicData.esm.js";
14
14
  // src/widgets/index.js
15
15
  var De = /* @__PURE__ */ ee({
16
- Group: () => i,
17
- GroupBuilder: () => a,
18
- GroupPicker: () => o,
19
- PeoplePicker: () => s,
20
- Person: () => c,
21
- addStyleSheet: () => d,
22
- allClassURIs: () => f,
23
- appendForm: () => ue,
24
- askName: () => p,
25
- attachmentList: () => m,
16
+ Group: () => e,
17
+ GroupBuilder: () => t,
18
+ GroupPicker: () => n,
19
+ PeoplePicker: () => r,
20
+ Person: () => i,
21
+ addStyleSheet: () => c,
22
+ allClassURIs: () => l,
23
+ appendForm: () => oe,
24
+ askName: () => u,
25
+ attachmentList: () => d,
26
26
  basicField: () => ne,
27
- buildCheckboxForm: () => de,
28
- button: () => h,
29
- cancelButton: () => g,
30
- clearElement: () => _,
31
- complain: () => v,
32
- continueButton: () => y,
33
- createLinkDiv: () => b,
34
- createLinkForURI: () => l,
35
- createNameDiv: () => x,
36
- defaultAnnotationStore: () => S,
37
- deleteButtonWithCheck: () => C,
38
- editFormButton: () => fe,
39
- errorMessageBlock: () => r,
40
- extractLogURI: () => w,
41
- faviconOrDefault: () => T,
27
+ buildCheckboxForm: () => se,
28
+ button: () => f,
29
+ cancelButton: () => p,
30
+ clearElement: () => m,
31
+ complain: () => h,
32
+ continueButton: () => g,
33
+ createLinkDiv: () => _,
34
+ createLinkForURI: () => q,
35
+ createNameDiv: () => v,
36
+ defaultAnnotationStore: () => y,
37
+ deleteButtonWithCheck: () => b,
38
+ editFormButton: () => ce,
39
+ errorMessageBlock: () => Y,
40
+ extractLogURI: () => x,
41
+ faviconOrDefault: () => S,
42
42
  field: () => Z,
43
43
  fieldFunction: () => Q,
44
44
  fieldLabel: () => re,
45
45
  fieldParams: () => X,
46
46
  fieldStore: () => ie,
47
- fileUploadButtonDiv: () => E,
48
- findClosest: () => pe,
49
- findImage: () => D,
50
- findImageFromURI: () => O,
51
- formatDateTime: () => k,
52
- formsFor: () => me,
53
- iconForClass: () => A,
54
- imagesOf: () => j,
55
- index: () => M,
56
- isAudio: () => N,
57
- isImage: () => P,
58
- isVideo: () => F,
59
- linkButton: () => I,
60
- linkIcon: () => u,
61
- makeDescription: () => he,
62
- makeDraggable: () => e,
63
- makeDropTarget: () => t,
64
- makeSelectForCategory: () => ge,
65
- makeSelectForChoice: () => _e,
66
- makeSelectForClassifierOptions: () => ve,
67
- makeSelectForNestedCategory: () => ye,
68
- makeSelectForOptions: () => be,
47
+ fileUploadButtonDiv: () => C,
48
+ findClosest: () => le,
49
+ findImage: () => w,
50
+ findImageFromURI: () => T,
51
+ formatDateTime: () => E,
52
+ formsFor: () => ue,
53
+ iconForClass: () => D,
54
+ imagesOf: () => O,
55
+ index: () => k,
56
+ isAudio: () => A,
57
+ isImage: () => j,
58
+ isVideo: () => M,
59
+ linkButton: () => N,
60
+ linkIcon: () => J,
61
+ makeDescription: () => de,
62
+ makeDraggable: () => a,
63
+ makeDropTarget: () => o,
64
+ makeSelectForCategory: () => fe,
65
+ makeSelectForChoice: () => pe,
66
+ makeSelectForClassifierOptions: () => me,
67
+ makeSelectForNestedCategory: () => he,
68
+ makeSelectForOptions: () => ge,
69
69
  mostSpecificClassURI: () => $,
70
- newButton: () => xe,
71
- newThing: () => Se,
72
- openHrefInOutlineMode: () => L,
73
- personTR: () => R,
74
- promptForNew: () => Ce,
75
- propertiesForClass: () => we,
76
- propertyTriage: () => z,
77
- publicData: () => oe,
78
- refreshTree: () => B,
79
- removeButton: () => V,
80
- renderAsDiv: () => H,
81
- renderAsRow: () => U,
82
- renderAutoComplete: () => se,
83
- renderAutocompleteControl: () => le,
70
+ newButton: () => _e,
71
+ newThing: () => ve,
72
+ openHrefInOutlineMode: () => P,
73
+ personTR: () => F,
74
+ promptForNew: () => ye,
75
+ propertiesForClass: () => be,
76
+ propertyTriage: () => I,
77
+ publicData: () => Ee,
78
+ refreshTree: () => L,
79
+ removeButton: () => R,
80
+ renderAsDiv: () => z,
81
+ renderAsRow: () => B,
82
+ renderAutoComplete: () => we,
83
+ renderAutocompleteControl: () => Ce,
84
84
  renderNameValuePair: () => ae,
85
- selectorPanel: () => te,
86
- selectorPanelRefresh: () => W,
87
- setImage: () => G,
88
- setName: () => K,
89
- setVisible: () => ce,
90
- shortDate: () => q,
91
- shortTime: () => J,
92
- sortByLabel: () => Te,
93
- sortBySequence: () => Ee,
94
- timestamp: () => Y,
95
- uploadFiles: () => n
85
+ selectorPanel: () => V,
86
+ selectorPanelRefresh: () => H,
87
+ setImage: () => U,
88
+ setName: () => te,
89
+ setVisible: () => Te,
90
+ shortDate: () => W,
91
+ shortTime: () => G,
92
+ sortByLabel: () => xe,
93
+ sortBySequence: () => Se,
94
+ timestamp: () => K,
95
+ uploadFiles: () => s
96
96
  });
97
- export { i as Group, a as GroupBuilder, o as GroupPicker, s as PeoplePicker, c as Person, d as addStyleSheet, f as allClassURIs, ue as appendForm, p as askName, m as attachmentList, ne as basicField, de as buildCheckboxForm, h as button, g as cancelButton, _ as clearElement, v as complain, y as continueButton, b as createLinkDiv, l as createLinkForURI, x as createNameDiv, S as defaultAnnotationStore, C as deleteButtonWithCheck, fe as editFormButton, r as errorMessageBlock, w as extractLogURI, T as faviconOrDefault, Z as field, Q as fieldFunction, re as fieldLabel, X as fieldParams, ie as fieldStore, E as fileUploadButtonDiv, pe as findClosest, D as findImage, O as findImageFromURI, k as formatDateTime, me as formsFor, A as iconForClass, j as imagesOf, M as index, N as isAudio, P as isImage, F as isVideo, I as linkButton, u as linkIcon, he as makeDescription, e as makeDraggable, t as makeDropTarget, ge as makeSelectForCategory, _e as makeSelectForChoice, ve as makeSelectForClassifierOptions, ye as makeSelectForNestedCategory, be as makeSelectForOptions, $ as mostSpecificClassURI, xe as newButton, Se as newThing, L as openHrefInOutlineMode, R as personTR, Ce as promptForNew, we as propertiesForClass, z as propertyTriage, oe as publicData, B as refreshTree, V as removeButton, H as renderAsDiv, U as renderAsRow, se as renderAutoComplete, le as renderAutocompleteControl, ae as renderNameValuePair, te as selectorPanel, W as selectorPanelRefresh, G as setImage, K as setName, ce as setVisible, q as shortDate, J as shortTime, Te as sortByLabel, Ee as sortBySequence, Y as timestamp, n as uploadFiles, De as widgets_exports };
97
+ export { e as Group, t as GroupBuilder, n as GroupPicker, r as PeoplePicker, i as Person, c as addStyleSheet, l as allClassURIs, oe as appendForm, u as askName, d as attachmentList, ne as basicField, se as buildCheckboxForm, f as button, p as cancelButton, m as clearElement, h as complain, g as continueButton, _ as createLinkDiv, q as createLinkForURI, v as createNameDiv, y as defaultAnnotationStore, b as deleteButtonWithCheck, ce as editFormButton, Y as errorMessageBlock, x as extractLogURI, S as faviconOrDefault, Z as field, Q as fieldFunction, re as fieldLabel, X as fieldParams, ie as fieldStore, C as fileUploadButtonDiv, le as findClosest, w as findImage, T as findImageFromURI, E as formatDateTime, ue as formsFor, D as iconForClass, O as imagesOf, k as index, A as isAudio, j as isImage, M as isVideo, N as linkButton, J as linkIcon, de as makeDescription, a as makeDraggable, o as makeDropTarget, fe as makeSelectForCategory, pe as makeSelectForChoice, me as makeSelectForClassifierOptions, he as makeSelectForNestedCategory, ge as makeSelectForOptions, $ as mostSpecificClassURI, _e as newButton, ve as newThing, P as openHrefInOutlineMode, F as personTR, ye as promptForNew, be as propertiesForClass, I as propertyTriage, Ee as publicData, L as refreshTree, R as removeButton, z as renderAsDiv, B as renderAsRow, we as renderAutoComplete, Ce as renderAutocompleteControl, ae as renderNameValuePair, V as selectorPanel, H as selectorPanelRefresh, U as setImage, te as setName, Te as setVisible, W as shortDate, G as shortTime, xe as sortByLabel, Se as sortBySequence, K as timestamp, s as uploadFiles, De as widgets_exports };
98
98
 
99
99
  //# sourceMappingURL=index.esm.js.map
@@ -1,4 +1,4 @@
1
- const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("../lib/ns.cjs.js"),n=require("../lib/debug.cjs.js"),r=require("./dragAndDrop.cjs.js"),i=require("./error.cjs.js"),a=require("../lib/iconBase.cjs.js");let o=require("rdflib");o=e.__toESM(o);let s=require("solid-logic"),c=require("escape-html");c=e.__toESM(c);let l=require("uuid");var u=s.solidLogicSingleton.store,d=class{constructor(e,t,n,r){this.options=r||{},this.element=e,this.typeIndex=t,this.groupPickedCb=n,this.selectedgroup=this.options.selectedgroup,this.onSelectGroup=this.onSelectGroup.bind(this)}render(){let e=document.createElement(`div`);if(e.style.maxWidth=`350px`,e.style.minHeight=`200px`,e.style.outline=`1px solid black`,e.style.display=`flex`,this.selectedgroup){e.style.flexDirection=`column`;let t=document.createElement(`div`);new p(t,this.selectedgroup).render();let n=document.createElement(`button`);n.textContent=(0,c.default)(`Change group`),n.addEventListener(`click`,e=>{this.selectedgroup=null,this.render()}),e.appendChild(t),e.appendChild(n)}else this.findAddressBook(this.typeIndex).then(({book:t})=>{let n=document.createElement(`button`);n.textContent=(0,c.default)(`Pick an existing group`),n.style.margin=`auto`,n.addEventListener(`click`,n=>{new f(e,t,this.onSelectGroup).render()});let r=document.createElement(`button`);r.textContent=(0,c.default)(`Create a new group`),r.style.margin=`auto`,r.addEventListener(`click`,e=>{this.createNewGroup(t,this.options.defaultNewGroupName).then(({group:e})=>{new m(this.element,t,e,this.onSelectGroup).render()}).catch(e=>{this.element.appendChild(i.errorMessageBlock(document,(0,c.default)(`Error creating a new group. (${e})`)))})}),e.appendChild(n),e.appendChild(r),this.element.innerHTML=``,this.element.appendChild(e)}).catch(e=>{this.element.appendChild(i.errorMessageBlock(document,(0,c.default)(`Could find your groups. (${e})`)))});return this.element.innerHTML=``,this.element.appendChild(e),this}findAddressBook(e){return new Promise((n,r)=>{u.fetcher.nowOrWhenFetched(e,(i,a)=>{if(!i)return r(a);let o=u.any(null,t.default.solid(`forClass`),t.default.vcard(`AddressBook`));if(!o)return r(Error(`no address book registered in the solid type index `+e));let s=u.any(o,t.default.solid(`instance`));if(!s)return r(Error(`incomplete address book registration`));u.fetcher.load(s).then(function(e){return n({book:s})}).catch(function(e){return r(Error(`Could not load address book `+e))})})})}createNewGroup(e,r){let{groupIndex:i,groupContainer:a}=v(e),s=o.sym(`${a.uri}${(0,l.v4)().slice(0,8)}.ttl#this`),c=r||`Untitled Group`,d=[s.doc(),i].map(n=>{let r=o.st(s,t.default.rdf(`type`),t.default.vcard(`Group`),n),a=o.st(s,t.default.vcard(`fn`),c,s.doc(),n),l=o.st(e,t.default.vcard(`includesGroup`),s,n),d=n.equals(i)?[r,a,l]:[r,a];return _(n.uri,{toIns:d}).then(()=>{d.forEach(e=>{u.add(e)})})});return Promise.all(d).then(()=>({group:s})).catch(e=>{throw n.log(`Could not create new group. PATCH failed `+e),Error(`Couldn't create new group. PATCH failed for (${e.xhr?e.xhr.responseURL:``} )`)})}onSelectGroup(e){this.selectedgroup=e,this.groupPickedCb(e),this.render()}},f=class{constructor(e,t,n){this.element=e,this.book=t,this.onSelectGroup=n}render(){return this.loadGroups().then(e=>{let t=document.createElement(`div`);t.style.display=`flex`,t.style.flexDirection=`column`,e.forEach(e=>{let n=document.createElement(`button`);n.addEventListener(`click`,this.handleClickGroup(e)),new p(n,e).render(),t.appendChild(n)}),this.element.innerHTML=``,this.element.appendChild(t)}).catch(e=>{this.element.appendChild(i.errorMessageBlock(document,(0,c.default)(`There was an error loading your groups. (${e})`)))}),this}loadGroups(){return new Promise((e,n)=>{let{groupIndex:r}=v(this.book);u.fetcher.nowOrWhenFetched(r,(r,i)=>r?e(u.each(this.book,t.default.vcard(`includesGroup`))):n(i))})}handleClickGroup(e){return t=>{this.onSelectGroup(e)}}},p=class{constructor(e,t){this.element=e,this.group=t}render(){let e=document.createElement(`div`);return e.textContent=(0,c.default)(g(this.group,t.default.vcard(`fn`),`[${this.group.value}]`)),this.element.innerHTML=``,this.element.appendChild(e),this}},m=class{constructor(e,t,n,r,i){this.element=e,this.book=t,this.group=n,this.onGroupChanged=(e,t,n)=>{i&&i(e,t,n)},this.groupChangedCb=i,this.doneBuildingCb=r}refresh(){}render(){let e=document.createElement(`div`);e.style.maxWidth=`350px`,e.style.minHeight=`200px`,e.style.outline=`1px solid black`,e.style.display=`flex`,e.style.flexDirection=`column`,r.makeDropTarget(e,e=>{e.forEach(e=>{this.add(e).catch(e=>{this.element.appendChild(i.errorMessageBlock(document,(0,c.default)(`Could not add the given WebId. (${e})`)))})})});let n=document.createElement(`input`);n.type=`text`,n.value=g(this.group,t.default.vcard(`fn`),`Untitled Group`),n.addEventListener(`change`,e=>{this.setGroupName(e.target.value).catch(e=>{this.element.appendChild(i.errorMessageBlock(document,`Error changing group name. (${e})`))})});let a=document.createElement(`label`);if(a.textContent=(0,c.default)(`Group Name:`),a.appendChild(n),e.appendChild(a),u.any(this.group,t.default.vcard(`hasMember`)))u.match(this.group,t.default.vcard(`hasMember`)).forEach(t=>{let n=t.object,r=document.createElement(`div`);new h(r,n,this.handleRemove(n)).render(),e.appendChild(r)});else{let t=document.createElement(`p`);t.textContent=c.default`
1
+ const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("../lib/debug.cjs.js"),n=require("./dragAndDrop.cjs.js"),r=require("./error.cjs.js"),i=require("../lib/iconBase.cjs.js"),a=require("../lib/ns.cjs.js");let o=require("rdflib");o=e.__toESM(o);let s=require("solid-logic"),c=require("escape-html");c=e.__toESM(c);let l=require("uuid");var u=s.solidLogicSingleton.store,d=class{constructor(e,t,n,r){this.options=r||{},this.element=e,this.typeIndex=t,this.groupPickedCb=n,this.selectedgroup=this.options.selectedgroup,this.onSelectGroup=this.onSelectGroup.bind(this)}render(){let e=document.createElement(`div`);if(e.style.maxWidth=`350px`,e.style.minHeight=`200px`,e.style.outline=`1px solid black`,e.style.display=`flex`,this.selectedgroup){e.style.flexDirection=`column`;let t=document.createElement(`div`);new p(t,this.selectedgroup).render();let n=document.createElement(`button`);n.textContent=(0,c.default)(`Change group`),n.addEventListener(`click`,e=>{this.selectedgroup=null,this.render()}),e.appendChild(t),e.appendChild(n)}else this.findAddressBook(this.typeIndex).then(({book:t})=>{let n=document.createElement(`button`);n.textContent=(0,c.default)(`Pick an existing group`),n.style.margin=`auto`,n.addEventListener(`click`,n=>{new f(e,t,this.onSelectGroup).render()});let i=document.createElement(`button`);i.textContent=(0,c.default)(`Create a new group`),i.style.margin=`auto`,i.addEventListener(`click`,e=>{this.createNewGroup(t,this.options.defaultNewGroupName).then(({group:e})=>{new m(this.element,t,e,this.onSelectGroup).render()}).catch(e=>{this.element.appendChild(r.errorMessageBlock(document,(0,c.default)(`Error creating a new group. (${e})`)))})}),e.appendChild(n),e.appendChild(i),this.element.innerHTML=``,this.element.appendChild(e)}).catch(e=>{this.element.appendChild(r.errorMessageBlock(document,(0,c.default)(`Could find your groups. (${e})`)))});return this.element.innerHTML=``,this.element.appendChild(e),this}findAddressBook(e){return new Promise((t,n)=>{u.fetcher.nowOrWhenFetched(e,(r,i)=>{if(!r)return n(i);let o=u.any(null,a.default.solid(`forClass`),a.default.vcard(`AddressBook`));if(!o)return n(Error(`no address book registered in the solid type index `+e));let s=u.any(o,a.default.solid(`instance`));if(!s)return n(Error(`incomplete address book registration`));u.fetcher.load(s).then(function(e){return t({book:s})}).catch(function(e){return n(Error(`Could not load address book `+e))})})})}createNewGroup(e,n){let{groupIndex:r,groupContainer:i}=v(e),s=o.sym(`${i.uri}${(0,l.v4)().slice(0,8)}.ttl#this`),c=n||`Untitled Group`,d=[s.doc(),r].map(t=>{let n=o.st(s,a.default.rdf(`type`),a.default.vcard(`Group`),t),i=o.st(s,a.default.vcard(`fn`),c,s.doc(),t),l=o.st(e,a.default.vcard(`includesGroup`),s,t),d=t.equals(r)?[n,i,l]:[n,i];return _(t.uri,{toIns:d}).then(()=>{d.forEach(e=>{u.add(e)})})});return Promise.all(d).then(()=>({group:s})).catch(e=>{throw t.log(`Could not create new group. PATCH failed `+e),Error(`Couldn't create new group. PATCH failed for (${e.xhr?e.xhr.responseURL:``} )`)})}onSelectGroup(e){this.selectedgroup=e,this.groupPickedCb(e),this.render()}},f=class{constructor(e,t,n){this.element=e,this.book=t,this.onSelectGroup=n}render(){return this.loadGroups().then(e=>{let t=document.createElement(`div`);t.style.display=`flex`,t.style.flexDirection=`column`,e.forEach(e=>{let n=document.createElement(`button`);n.addEventListener(`click`,this.handleClickGroup(e)),new p(n,e).render(),t.appendChild(n)}),this.element.innerHTML=``,this.element.appendChild(t)}).catch(e=>{this.element.appendChild(r.errorMessageBlock(document,(0,c.default)(`There was an error loading your groups. (${e})`)))}),this}loadGroups(){return new Promise((e,t)=>{let{groupIndex:n}=v(this.book);u.fetcher.nowOrWhenFetched(n,(n,r)=>n?e(u.each(this.book,a.default.vcard(`includesGroup`))):t(r))})}handleClickGroup(e){return t=>{this.onSelectGroup(e)}}},p=class{constructor(e,t){this.element=e,this.group=t}render(){let e=document.createElement(`div`);return e.textContent=(0,c.default)(g(this.group,a.default.vcard(`fn`),`[${this.group.value}]`)),this.element.innerHTML=``,this.element.appendChild(e),this}},m=class{constructor(e,t,n,r,i){this.element=e,this.book=t,this.group=n,this.onGroupChanged=(e,t,n)=>{i&&i(e,t,n)},this.groupChangedCb=i,this.doneBuildingCb=r}refresh(){}render(){let e=document.createElement(`div`);e.style.maxWidth=`350px`,e.style.minHeight=`200px`,e.style.outline=`1px solid black`,e.style.display=`flex`,e.style.flexDirection=`column`,n.makeDropTarget(e,e=>{e.forEach(e=>{this.add(e).catch(e=>{this.element.appendChild(r.errorMessageBlock(document,(0,c.default)(`Could not add the given WebId. (${e})`)))})})});let t=document.createElement(`input`);t.type=`text`,t.value=g(this.group,a.default.vcard(`fn`),`Untitled Group`),t.addEventListener(`change`,e=>{this.setGroupName(e.target.value).catch(e=>{this.element.appendChild(r.errorMessageBlock(document,`Error changing group name. (${e})`))})});let i=document.createElement(`label`);if(i.textContent=(0,c.default)(`Group Name:`),i.appendChild(t),e.appendChild(i),u.any(this.group,a.default.vcard(`hasMember`)))u.match(this.group,a.default.vcard(`hasMember`)).forEach(t=>{let n=t.object,r=document.createElement(`div`);new h(r,n,this.handleRemove(n)).render(),e.appendChild(r)});else{let t=document.createElement(`p`);t.textContent=c.default`
2
2
  To add someone to this group, drag and drop their WebID URL onto the box.
3
- `,e.appendChild(t)}let o=document.createElement(`button`);return o.textContent=(0,c.default)(`Done`),o.addEventListener(`click`,e=>{this.doneBuildingCb(this.group)}),e.appendChild(o),this.element.innerHTML=``,this.element.appendChild(e),this}add(e){return new Promise((n,r)=>{u.fetcher.nowOrWhenFetched(e,(i,a)=>{if(!i)return this.onGroupChanged(a),r(a);let s=o.namedNode(e),c=u.any(s,t.default.rdf(`type`));return!c||!c.equals(t.default.foaf(`Person`))?r(Error(`Only people supported right now. (tried to add something of type ${c.value})`)):n(s)})}).then(e=>{let n=o.st(this.group,t.default.vcard(`hasMember`),e);return u.holdsStatement(n)?e:_(this.group.doc().uri,{toIns:[n]}).then(()=>{n.why=this.group.doc(),u.add(n),this.onGroupChanged(null,`added`,e),this.render()})})}handleRemove(e){return n=>{let r=o.st(this.group,t.default.vcard(`hasMember`),e);return _(this.group.doc().uri,{toDel:[r]}).then(()=>(u.remove(r),this.onGroupChanged(null,`removed`,e),this.render(),!0)).catch(n=>{let r=u.any(e,t.default.foaf(`name`)),i=r&&r.value?`Could not remove ${r.value}. (${n})`:`Could not remove ${e.value}. (${n})`;throw Error(i)})}}setGroupName(e){let{groupIndex:n}=v(this.book),r=[this.group.doc(),n].map(n=>{let r=u.match(this.group,t.default.vcard(`fn`),null,n),i=o.st(this.group,t.default.vcard(`fn`),o.literal(e));return _(n.value,{toDel:r,toIns:[i]}).then(e=>{u.removeStatements(r),i.why=n,u.add(i)})});return Promise.all(r)}},h=class{constructor(e,t,n){this.webIdNode=t,this.element=e,this.handleRemove=n}render(){let e=document.createElement(`div`);e.style.display=`flex`;let n=g(this.webIdNode,t.default.foaf(`img`),a.iconBase+`noun_15059.svg`),r=document.createElement(`img`);r.src=(0,c.default)(n),r.width=`50`,r.height=`50`,r.style.margin=`5px`;let o=g(this.webIdNode,t.default.foaf(`name`),`[${this.webIdNode}]`),s=document.createElement(`span`);s.innerHTML=(0,c.default)(o),s.style.flexGrow=`1`,s.style.margin=`auto 0`;let l=document.createElement(`button`);return l.textContent=`Remove`,l.addEventListener(`click`,e=>this.handleRemove().catch(e=>{this.element.appendChild(i.errorMessageBlock(document,(0,c.default)(`${e}`)))})),l.style.margin=`5px`,e.appendChild(r),e.appendChild(s),e.appendChild(l),this.element.innerHTML=``,this.element.appendChild(e),this}};function g(e,t,n){let r=u.any(e,t);return r?r.value:n}function _(e,{toDel:t,toIns:n}){return new Promise((e,r)=>{u.updater.update(t,n,(t,n,i)=>{if(!n)return r(Error(`PATCH failed for resource <${t}>: ${i}`));e()})})}function v(e){return{groupIndex:u.any(e,t.default.vcard(`groupIndex`)),groupContainer:u.sym(e.dir().uri+`Group/`)}}exports.Group=p,exports.GroupBuilder=m,exports.GroupPicker=f,exports.PeoplePicker=d,exports.Person=h;
3
+ `,e.appendChild(t)}let o=document.createElement(`button`);return o.textContent=(0,c.default)(`Done`),o.addEventListener(`click`,e=>{this.doneBuildingCb(this.group)}),e.appendChild(o),this.element.innerHTML=``,this.element.appendChild(e),this}add(e){return new Promise((t,n)=>{u.fetcher.nowOrWhenFetched(e,(r,i)=>{if(!r)return this.onGroupChanged(i),n(i);let s=o.namedNode(e),c=u.any(s,a.default.rdf(`type`));return!c||!c.equals(a.default.foaf(`Person`))?n(Error(`Only people supported right now. (tried to add something of type ${c.value})`)):t(s)})}).then(e=>{let t=o.st(this.group,a.default.vcard(`hasMember`),e);return u.holdsStatement(t)?e:_(this.group.doc().uri,{toIns:[t]}).then(()=>{t.why=this.group.doc(),u.add(t),this.onGroupChanged(null,`added`,e),this.render()})})}handleRemove(e){return t=>{let n=o.st(this.group,a.default.vcard(`hasMember`),e);return _(this.group.doc().uri,{toDel:[n]}).then(()=>(u.remove(n),this.onGroupChanged(null,`removed`,e),this.render(),!0)).catch(t=>{let n=u.any(e,a.default.foaf(`name`)),r=n&&n.value?`Could not remove ${n.value}. (${t})`:`Could not remove ${e.value}. (${t})`;throw Error(r)})}}setGroupName(e){let{groupIndex:t}=v(this.book),n=[this.group.doc(),t].map(t=>{let n=u.match(this.group,a.default.vcard(`fn`),null,t),r=o.st(this.group,a.default.vcard(`fn`),o.literal(e));return _(t.value,{toDel:n,toIns:[r]}).then(e=>{u.removeStatements(n),r.why=t,u.add(r)})});return Promise.all(n)}},h=class{constructor(e,t,n){this.webIdNode=t,this.element=e,this.handleRemove=n}render(){let e=document.createElement(`div`);e.style.display=`flex`;let t=g(this.webIdNode,a.default.foaf(`img`),i.iconBase+`noun_15059.svg`),n=document.createElement(`img`);n.src=(0,c.default)(t),n.width=`50`,n.height=`50`,n.style.margin=`5px`;let o=g(this.webIdNode,a.default.foaf(`name`),`[${this.webIdNode}]`),s=document.createElement(`span`);s.innerHTML=(0,c.default)(o),s.style.flexGrow=`1`,s.style.margin=`auto 0`;let l=document.createElement(`button`);return l.textContent=`Remove`,l.addEventListener(`click`,e=>this.handleRemove().catch(e=>{this.element.appendChild(r.errorMessageBlock(document,(0,c.default)(`${e}`)))})),l.style.margin=`5px`,e.appendChild(n),e.appendChild(s),e.appendChild(l),this.element.innerHTML=``,this.element.appendChild(e),this}};function g(e,t,n){let r=u.any(e,t);return r?r.value:n}function _(e,{toDel:t,toIns:n}){return new Promise((e,r)=>{u.updater.update(t,n,(t,n,i)=>{if(!n)return r(Error(`PATCH failed for resource <${t}>: ${i}`));e()})})}function v(e){return{groupIndex:u.any(e,a.default.vcard(`groupIndex`)),groupContainer:u.sym(e.dir().uri+`Group/`)}}exports.Group=p,exports.GroupBuilder=m,exports.GroupPicker=f,exports.PeoplePicker=d,exports.Person=h;
4
4
  //# sourceMappingURL=peoplePicker.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peoplePicker.cjs.js","names":["solidLogicSingleton","escape","errorMessageBlock","ns","rdf","uuidv4","iconBase","require_runtime","require_ns","require_debug","require_dragAndDrop","require_error","require_iconBase","rdflib","solid_logic","escape_html","uuid","kb","PeoplePicker","options","element","typeIndex","groupPickedCb","container","selectedGroup","Group","changeGroupButton","chooseExistingGroupButton","GroupPicker","book","createNewGroupButton","GroupBuilder","group","errorBody","err","ok","reject","bookRegistration","resolve","errr","indexes","groupContainer","name","defaultNewGroupName","patchPromises","groupIndex","typeStatement","doc","nameStatement","includesGroupStatement","toIns","patch","st","onSelectGroup","groups","groupButton","getWithDefault","groupChangedCb","changeType","agent","doneBuildingCb","dropContainer","uris","uri","groupNameInput","event","groupNameLabel","webIdNode","statement","personDiv","Person","copy","doneBuildingButton","webId","rdfClass","errorMessage","updatePromises","oldNameStatements","namedGraph","newNameStatement","handleRemove","imgSrc","profileImg","nameSpan","removeButton","object","subject","predicate","defaultValue","toDel","success"],"sources":["../../src/widgets/peoplePicker.js"],"sourcesContent":["/**\n *\n * People Picker Pane\n *\n * This pane offers a mechanism for selecting a set of individuals, groups, or\n * organizations to take some action on.\n *\n * Assumptions\n * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption\n *\n */\nimport escape from 'escape-html'\nimport { v4 as uuidv4 } from 'uuid'\nimport * as rdf from 'rdflib'\nimport * as debug from '../lib/debug'\n\nimport { makeDropTarget } from './dragAndDrop'\nimport { errorMessageBlock } from './error'\nimport { iconBase } from '../lib/iconBase'\nimport ns from '../lib/ns'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport class PeoplePicker {\n constructor (element, typeIndex, groupPickedCb, options) { // @@ can't expect typeindex to be passed\n this.options = options || {}\n this.element = element\n this.typeIndex = typeIndex\n this.groupPickedCb = groupPickedCb\n this.selectedgroup = this.options.selectedgroup // current selected group if any\n this.onSelectGroup = this.onSelectGroup.bind(this)\n }\n\n render () {\n const container = document.createElement('div')\n container.style.maxWidth = '350px'\n container.style.minHeight = '200px'\n container.style.outline = '1px solid black'\n container.style.display = 'flex'\n\n if (this.selectedgroup) {\n container.style.flexDirection = 'column'\n const selectedGroup = document.createElement('div')\n new Group(selectedGroup, this.selectedgroup).render()\n const changeGroupButton = document.createElement('button')\n changeGroupButton.textContent = escape('Change group')\n changeGroupButton.addEventListener('click', _event => {\n this.selectedgroup = null\n this.render()\n })\n container.appendChild(selectedGroup)\n container.appendChild(changeGroupButton)\n } else {\n this.findAddressBook(this.typeIndex)\n .then(({ book }) => {\n const chooseExistingGroupButton = document.createElement('button')\n chooseExistingGroupButton.textContent = escape(\n 'Pick an existing group'\n )\n chooseExistingGroupButton.style.margin = 'auto'\n chooseExistingGroupButton.addEventListener('click', _event => {\n new GroupPicker(container, book, this.onSelectGroup).render()\n })\n\n const createNewGroupButton = document.createElement('button')\n createNewGroupButton.textContent = escape('Create a new group')\n createNewGroupButton.style.margin = 'auto'\n createNewGroupButton.addEventListener('click', _event => {\n this.createNewGroup(book, this.options.defaultNewGroupName)\n .then(({ group }) => {\n new GroupBuilder(\n this.element,\n book,\n group,\n this.onSelectGroup\n ).render()\n })\n .catch(errorBody => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Error creating a new group. (${errorBody})`)\n )\n )\n })\n })\n\n container.appendChild(chooseExistingGroupButton)\n container.appendChild(createNewGroupButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could find your groups. (${err})`)\n )\n )\n })\n }\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n\n findAddressBook (typeIndex) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(typeIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const bookRegistration = kb.any(\n null,\n ns.solid('forClass'),\n ns.vcard('AddressBook')\n )\n if (!bookRegistration) {\n return reject(\n new Error(\n 'no address book registered in the solid type index ' + typeIndex\n )\n )\n }\n const book = kb.any(bookRegistration, ns.solid('instance'))\n if (!book) {\n return reject(new Error('incomplete address book registration'))\n }\n kb.fetcher\n .load(book)\n .then(function (_xhr) {\n return resolve({ book })\n })\n .catch(function (errr) {\n return reject(new Error('Could not load address book ' + errr))\n })\n })\n })\n }\n\n createNewGroup (book, defaultNewGroupName) {\n const { groupIndex, groupContainer } = indexes(book)\n const group = rdf.sym(\n `${groupContainer.uri}${uuidv4().slice(0, 8)}.ttl#this`\n )\n const name = defaultNewGroupName || 'Untitled Group'\n\n // NOTE that order matters here. Unfortunately this type of update is\n // non-atomic in that solid requires us to send two PATCHes, either of which\n // might fail.\n const patchPromises = [group.doc(), groupIndex].map(doc => {\n const typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc)\n const nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc)\n const includesGroupStatement = rdf.st(\n book,\n ns.vcard('includesGroup'),\n group,\n doc\n )\n const toIns = doc.equals(groupIndex)\n ? [typeStatement, nameStatement, includesGroupStatement]\n : [typeStatement, nameStatement]\n return patch(doc.uri, { toIns }).then(() => {\n toIns.forEach(st => {\n kb.add(st)\n })\n })\n })\n return Promise.all(patchPromises)\n .then(() => ({ group }))\n .catch(err => {\n debug.log('Could not create new group. PATCH failed ' + err)\n throw new Error(\n `Couldn't create new group. PATCH failed for (${\n err.xhr ? err.xhr.responseURL : ''\n } )`\n )\n })\n }\n\n onSelectGroup (group) {\n this.selectedgroup = group\n this.groupPickedCb(group)\n this.render()\n }\n}\n\nexport class GroupPicker {\n constructor (element, book, onSelectGroup) {\n this.element = element\n this.book = book\n this.onSelectGroup = onSelectGroup\n }\n\n render () {\n this.loadGroups()\n .then(groups => {\n // render the groups\n const container = document.createElement('div')\n container.style.display = 'flex'\n container.style.flexDirection = 'column'\n groups.forEach(group => {\n const groupButton = document.createElement('button')\n groupButton.addEventListener('click', this.handleClickGroup(group))\n new Group(groupButton, group).render()\n container.appendChild(groupButton)\n })\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`There was an error loading your groups. (${err})`)\n )\n )\n })\n return this\n }\n\n loadGroups () {\n return new Promise((resolve, reject) => {\n const { groupIndex } = indexes(this.book)\n kb.fetcher.nowOrWhenFetched(groupIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const groups = kb.each(this.book, ns.vcard('includesGroup'))\n return resolve(groups)\n })\n })\n }\n\n handleClickGroup (group) {\n return _event => {\n this.onSelectGroup(group)\n }\n }\n}\n\nexport class Group {\n constructor (element, group) {\n this.element = element\n this.group = group\n }\n\n render () {\n const container = document.createElement('div')\n container.textContent = escape(\n // @@@@@ need to escape??\n getWithDefault(this.group, ns.vcard('fn'), `[${this.group.value}]`)\n )\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nexport class GroupBuilder {\n constructor (element, book, group, doneBuildingCb, groupChangedCb) {\n this.element = element\n this.book = book\n this.group = group\n this.onGroupChanged = (err, changeType, agent) => {\n if (groupChangedCb) {\n groupChangedCb(err, changeType, agent)\n }\n }\n this.groupChangedCb = groupChangedCb\n this.doneBuildingCb = doneBuildingCb\n }\n\n refresh () {\n // TODO: implement\n }\n\n render () {\n const dropContainer = document.createElement('div')\n dropContainer.style.maxWidth = '350px'\n dropContainer.style.minHeight = '200px'\n dropContainer.style.outline = '1px solid black'\n dropContainer.style.display = 'flex'\n dropContainer.style.flexDirection = 'column'\n\n makeDropTarget(dropContainer, uris => {\n uris.forEach(uri => {\n this.add(uri).catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could not add the given WebId. (${err})`)\n )\n )\n })\n })\n })\n\n const groupNameInput = document.createElement('input')\n groupNameInput.type = 'text'\n groupNameInput.value = getWithDefault(\n this.group,\n ns.vcard('fn'),\n 'Untitled Group'\n )\n groupNameInput.addEventListener('change', event => {\n this.setGroupName(event.target.value).catch(err => {\n this.element.appendChild(\n errorMessageBlock(document, `Error changing group name. (${err})`)\n )\n })\n })\n const groupNameLabel = document.createElement('label')\n groupNameLabel.textContent = escape('Group Name:')\n groupNameLabel.appendChild(groupNameInput)\n dropContainer.appendChild(groupNameLabel)\n\n if (kb.any(this.group, ns.vcard('hasMember'))) {\n kb.match(this.group, ns.vcard('hasMember')).forEach(statement => {\n const webIdNode = statement.object\n const personDiv = document.createElement('div')\n new Person(personDiv, webIdNode, this.handleRemove(webIdNode)).render()\n dropContainer.appendChild(personDiv)\n })\n } else {\n const copy = document.createElement('p')\n copy.textContent = escape`\n To add someone to this group, drag and drop their WebID URL onto the box.\n `\n dropContainer.appendChild(copy)\n }\n\n const doneBuildingButton = document.createElement('button')\n doneBuildingButton.textContent = escape('Done')\n doneBuildingButton.addEventListener('click', _event => {\n this.doneBuildingCb(this.group)\n })\n dropContainer.appendChild(doneBuildingButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(dropContainer)\n return this\n }\n\n add (webId) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(webId, (ok, err) => {\n if (!ok) {\n this.onGroupChanged(err)\n return reject(err)\n }\n // make sure it's a valid person, group, or entity (for now just handle\n // webId)\n const webIdNode = rdf.namedNode(webId)\n const rdfClass = kb.any(webIdNode, ns.rdf('type'))\n if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {\n return reject(\n new Error(\n `Only people supported right now. (tried to add something of type ${rdfClass.value})`\n )\n )\n }\n return resolve(webIdNode)\n })\n }).then(webIdNode => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n if (kb.holdsStatement(statement)) {\n return webIdNode\n }\n return patch(this.group.doc().uri, { toIns: [statement] }).then(() => {\n statement.why = this.group.doc()\n kb.add(statement)\n this.onGroupChanged(null, 'added', webIdNode)\n this.render()\n })\n })\n }\n\n handleRemove (webIdNode) {\n return _event => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n return patch(this.group.doc().uri, { toDel: [statement] })\n .then(() => {\n kb.remove(statement)\n this.onGroupChanged(null, 'removed', webIdNode)\n this.render()\n return true\n })\n .catch(err => {\n const name = kb.any(webIdNode, ns.foaf('name'))\n const errorMessage =\n name && name.value\n ? `Could not remove ${name.value}. (${err})`\n : `Could not remove ${webIdNode.value}. (${err})`\n throw new Error(errorMessage)\n })\n }\n }\n\n setGroupName (name) {\n const { groupIndex } = indexes(this.book)\n const updatePromises = [this.group.doc(), groupIndex].map(namedGraph => {\n const oldNameStatements = kb.match(\n this.group,\n ns.vcard('fn'),\n null,\n namedGraph\n )\n const newNameStatement = rdf.st(\n this.group,\n ns.vcard('fn'),\n rdf.literal(name)\n )\n return patch(namedGraph.value, {\n toDel: oldNameStatements,\n toIns: [newNameStatement]\n }).then(_solidResponse => {\n kb.removeStatements(oldNameStatements)\n newNameStatement.why = namedGraph\n kb.add(newNameStatement)\n })\n })\n return Promise.all(updatePromises)\n }\n}\n// @ignore exporting this only for the unit test\n// @@ TODO maybe I should move this down at end, but for\n// now I will leave it where it was\nexport class Person {\n constructor (element, webIdNode, handleRemove) {\n this.webIdNode = webIdNode\n this.element = element\n this.handleRemove = handleRemove\n }\n\n render () {\n const container = document.createElement('div')\n container.style.display = 'flex'\n\n // TODO: take a look at UI.widgets.setName\n const imgSrc = getWithDefault(\n this.webIdNode,\n ns.foaf('img'),\n iconBase + 'noun_15059.svg'\n )\n const profileImg = document.createElement('img')\n profileImg.src = escape(imgSrc)\n profileImg.width = '50'\n profileImg.height = '50'\n profileImg.style.margin = '5px'\n\n // TODO: take a look at UI.widgets.setImage\n const name = getWithDefault(\n this.webIdNode,\n ns.foaf('name'),\n `[${this.webIdNode}]`\n )\n const nameSpan = document.createElement('span')\n nameSpan.innerHTML = escape(name)\n nameSpan.style.flexGrow = '1'\n nameSpan.style.margin = 'auto 0'\n\n const removeButton = document.createElement('button')\n removeButton.textContent = 'Remove'\n removeButton.addEventListener('click', _event =>\n this.handleRemove().catch(err => {\n this.element.appendChild(errorMessageBlock(document, escape(`${err}`)))\n })\n )\n removeButton.style.margin = '5px'\n\n container.appendChild(profileImg)\n container.appendChild(nameSpan)\n container.appendChild(removeButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nfunction getWithDefault (subject, predicate, defaultValue) {\n const object = kb.any(subject, predicate)\n return object ? object.value : defaultValue\n}\n\nfunction patch (url, { toDel, toIns }) {\n return new Promise((resolve, reject) => {\n kb.updater.update(toDel, toIns, (uri, success, errorMessage) => {\n if (!success) {\n return reject(\n new Error(`PATCH failed for resource <${uri}>: ${errorMessage}`)\n )\n }\n resolve()\n })\n })\n // return webClient.patch(url, toDel, toIns)\n // .then(solidResponse => {\n // const status = solidResponse.xhr.status\n // if (status < 200 || status >= 400) {\n // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)\n // err.solidResponse = solidResponse\n // throw err\n // }\n // })\n}\n\nfunction indexes (book) {\n return {\n // bookIndex: book,\n groupIndex: kb.any(book, ns.vcard('groupIndex')),\n groupContainer: kb.sym(book.dir().uri + 'Group/')\n }\n}\n"],"mappings":"A,2VAsBA,IAAMiB,EAAKjB,EAAAA,oBAAoB,MAElBkB,EAAb,KAA0B,CACxB,YAAa,EAAS,EAAW,EAAe,EAAS,CACvD,KAAK,QAAUC,GAAW,CAAC,EAC3B,KAAK,QAAUC,EACf,KAAK,UAAYC,EACjB,KAAK,cAAgBC,EACrB,KAAK,cAAgB,KAAK,QAAQ,cAClC,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,CACnD,CAEA,QAAU,CACR,IAAMC,EAAY,SAAS,cAAc,KAAK,EAM9C,GALA,EAAU,MAAM,SAAW,QAC3B,EAAU,MAAM,UAAY,QAC5B,EAAU,MAAM,QAAU,kBAC1B,EAAU,MAAM,QAAU,OAEtB,KAAK,cAAe,CACtB,EAAU,MAAM,cAAgB,SAChC,IAAMC,EAAgB,SAAS,cAAc,KAAK,EAClD,IAAIC,EAAMD,EAAe,KAAK,aAAa,CAAC,CAAC,OAAO,EACpD,IAAME,EAAoB,SAAS,cAAc,QAAQ,EACzD,EAAkB,aAAA,EAAczB,EAAAA,QAAAA,CAAO,cAAc,EACrDyB,EAAkB,iBAAiB,QAAS,GAAU,CACpD,KAAK,cAAgB,KACrB,KAAK,OAAO,CACd,CAAC,EACDH,EAAU,YAAYC,CAAa,EACnCD,EAAU,YAAYG,CAAiB,CACzC,MACE,KAAK,gBAAgB,KAAK,SAAS,CAAC,CACjC,MAAM,CAAE,UAAW,CAClB,IAAMC,EAA4B,SAAS,cAAc,QAAQ,EACjE,EAA0B,aAAA,EAAc1B,EAAAA,QAAAA,CACtC,wBACF,EACA,EAA0B,MAAM,OAAS,OACzC0B,EAA0B,iBAAiB,QAAS,GAAU,CAC5D,IAAIC,EAAYL,EAAWM,EAAM,KAAK,aAAa,CAAC,CAAC,OAAO,CAC9D,CAAC,EAED,IAAMC,EAAuB,SAAS,cAAc,QAAQ,EAC5D,EAAqB,aAAA,EAAc7B,EAAAA,QAAAA,CAAO,oBAAoB,EAC9D,EAAqB,MAAM,OAAS,OACpC6B,EAAqB,iBAAiB,QAAS,GAAU,CACvD,KAAK,eAAeD,EAAM,KAAK,QAAQ,mBAAmB,CAAC,CACxD,MAAM,CAAE,WAAY,CACnB,IAAIE,EACF,KAAK,QACLF,EACAG,EACA,KAAK,aACP,CAAC,CAAC,OAAO,CACX,CAAC,CAAC,CACD,MAAM,GAAa,CAClB,KAAK,QAAQ,YACX9B,EAAAA,kBACE,UAAA,EACAD,EAAAA,QAAAA,CAAO,gCAAgCgC,EAAU,EAAE,CACrD,CACF,CACF,CAAC,CACL,CAAC,EAEDV,EAAU,YAAYI,CAAyB,EAC/CJ,EAAU,YAAYO,CAAoB,EAE1C,KAAK,QAAQ,UAAY,GACzB,KAAK,QAAQ,YAAYP,CAAS,CACpC,CAAC,CAAC,CACD,MAAM,GAAO,CACZ,KAAK,QAAQ,YACXrB,EAAAA,kBACE,UAAA,EACAD,EAAAA,QAAAA,CAAO,4BAA4BiC,EAAI,EAAE,CAC3C,CACF,CACF,CAAC,EAKL,MAFA,MAAK,QAAQ,UAAY,GACzB,KAAK,QAAQ,YAAYX,CAAS,EAC3B,IACT,CAEA,gBAAiB,EAAW,CAC1B,OAAO,IAAI,SAAS,EAAS,IAAW,CACtCN,EAAG,QAAQ,iBAAiBI,GAAY,EAAI,IAAQ,CAClD,GAAI,CAACc,EACH,OAAOC,EAAOF,CAAG,EAEnB,IAAMG,EAAmBpB,EAAG,IAC1B,KACAd,EAAAA,QAAG,MAAM,UAAU,EACnBA,EAAAA,QAAG,MAAM,aAAa,CACxB,EACA,GAAI,CAACkC,EACH,OAAOD,EACD,MACF,sDAAwDf,CAC1D,CACF,EAEF,IAAMQ,EAAOZ,EAAG,IAAIoB,EAAkBlC,EAAAA,QAAG,MAAM,UAAU,CAAC,EAC1D,GAAI,CAAC0B,EACH,OAAOO,EAAW,MAAM,sCAAsC,CAAC,EAEjEnB,EAAG,QACA,KAAKY,CAAI,CAAC,CACV,KAAK,SAAU,EAAM,CACpB,OAAOS,EAAQ,CAAE,MAAK,CAAC,CACzB,CAAC,CAAC,CACD,MAAM,SAAU,EAAM,CACrB,OAAOF,EAAW,MAAM,+BAAiCG,CAAI,CAAC,CAChE,CAAC,CACL,CAAC,CACH,CAAC,CACH,CAEA,eAAgB,EAAM,EAAqB,CACzC,GAAM,CAAE,aAAY,kBAAmBC,EAAQX,CAAI,EAC7CG,EAAQ5B,EAAI,IAChB,GAAGqC,EAAe,OAAA,EAAMpC,EAAAA,GAAAA,CAAO,CAAC,CAAC,MAAM,EAAG,CAAC,EAAE,UAC/C,EACMqC,EAAOC,GAAuB,iBAK9BC,EAAgB,CAACZ,EAAM,IAAI,EAAGa,CAAU,CAAC,CAAC,IAAI,GAAO,CACzD,IAAMC,EAAgB1C,EAAI,GAAG4B,EAAO7B,EAAAA,QAAG,IAAI,MAAM,EAAGA,EAAAA,QAAG,MAAM,OAAO,EAAG4C,CAAG,EACpEC,EAAgB5C,EAAI,GAAG4B,EAAO7B,EAAAA,QAAG,MAAM,IAAI,EAAGuC,EAAMV,EAAM,IAAI,EAAGe,CAAG,EACpEE,EAAyB7C,EAAI,GACjCyB,EACA1B,EAAAA,QAAG,MAAM,eAAe,EACxB6B,EACAe,CACF,EACMG,EAAQH,EAAI,OAAOF,CAAU,EAC/B,CAACC,EAAeE,EAAeC,CAAsB,EACrD,CAACH,EAAeE,CAAa,EACjC,OAAOG,EAAMJ,EAAI,IAAK,CAAE,OAAM,CAAC,CAAC,CAAC,SAAW,CAC1CG,EAAM,QAAQ,GAAM,CAClBjC,EAAG,IAAImC,CAAE,CACX,CAAC,CACH,CAAC,CACH,CAAC,EACD,OAAO,QAAQ,IAAIR,CAAa,CAAC,CAC9B,UAAY,CAAE,OAAM,EAAE,CAAC,CACvB,MAAM,GAAO,CAEZ,MADAnC,EAAA,IAAU,6CAA+CyB,CAAG,EAClD,MACR,iDACAA,EAAI,IAAMA,EAAI,IAAI,YAAc,GAC/B,GACH,CACF,CAAC,CACL,CAEA,cAAe,EAAO,CACpB,KAAK,cAAgBF,EACrB,KAAK,cAAcA,CAAK,EACxB,KAAK,OAAO,CACd,CACF,EAEaJ,EAAb,KAAyB,CACvB,YAAa,EAAS,EAAM,EAAe,CACzC,KAAK,QAAUR,EACf,KAAK,KAAOS,EACZ,KAAK,cAAgBwB,CACvB,CAEA,QAAU,CAwBR,OAvBA,KAAK,WAAW,CAAC,CACd,KAAK,GAAU,CAEd,IAAM9B,EAAY,SAAS,cAAc,KAAK,EAC9C,EAAU,MAAM,QAAU,OAC1B,EAAU,MAAM,cAAgB,SAChC+B,EAAO,QAAQ,GAAS,CACtB,IAAMC,EAAc,SAAS,cAAc,QAAQ,EACnDA,EAAY,iBAAiB,QAAS,KAAK,iBAAiBvB,CAAK,CAAC,EAClE,IAAIP,EAAM8B,EAAavB,CAAK,CAAC,CAAC,OAAO,EACrCT,EAAU,YAAYgC,CAAW,CACnC,CAAC,EACD,KAAK,QAAQ,UAAY,GACzB,KAAK,QAAQ,YAAYhC,CAAS,CACpC,CAAC,CAAC,CACD,MAAM,GAAO,CACZ,KAAK,QAAQ,YACXrB,EAAAA,kBACE,UAAA,EACAD,EAAAA,QAAAA,CAAO,4CAA4CiC,EAAI,EAAE,CAC3D,CACF,CACF,CAAC,EACI,IACT,CAEA,YAAc,CACZ,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC,GAAM,CAAE,cAAeM,EAAQ,KAAK,IAAI,EACxCvB,EAAG,QAAQ,iBAAiB4B,GAAa,EAAI,IACtCV,EAIEG,EADQrB,EAAG,KAAK,KAAK,KAAMd,EAAAA,QAAG,MAAM,eAAe,CACtC,CAAC,EAHZiC,EAAOF,CAAG,CAIpB,CACH,CAAC,CACH,CAEA,iBAAkB,EAAO,CACvB,MAAO,IAAU,CACf,KAAK,cAAcF,CAAK,CAC1B,CACF,CACF,EAEaP,EAAb,KAAmB,CACjB,YAAa,EAAS,EAAO,CAC3B,KAAK,QAAUL,EACf,KAAK,MAAQY,CACf,CAEA,QAAU,CACR,IAAMT,EAAY,SAAS,cAAc,KAAK,EAO9C,MANA,GAAU,aAAA,EAActB,EAAAA,QAAAA,CAEtBuD,EAAe,KAAK,MAAOrD,EAAAA,QAAG,MAAM,IAAI,EAAG,IAAI,KAAK,MAAM,MAAM,EAAE,CACpE,EACA,KAAK,QAAQ,UAAY,GACzB,KAAK,QAAQ,YAAYoB,CAAS,EAC3B,IACT,CACF,EAEaQ,EAAb,KAA0B,CACxB,YAAa,EAAS,EAAM,EAAO,EAAgB,EAAgB,CACjE,KAAK,QAAUX,EACf,KAAK,KAAOS,EACZ,KAAK,MAAQG,EACb,KAAK,gBAAkB,EAAK,EAAY,IAAU,CAC5CyB,GACFA,EAAevB,EAAKwB,EAAYC,CAAK,CAEzC,EACA,KAAK,eAAiBF,EACtB,KAAK,eAAiBG,CACxB,CAEA,SAAW,CAEX,CAEA,QAAU,CACR,IAAMC,EAAgB,SAAS,cAAc,KAAK,EAClD,EAAc,MAAM,SAAW,QAC/B,EAAc,MAAM,UAAY,QAChC,EAAc,MAAM,QAAU,kBAC9B,EAAc,MAAM,QAAU,OAC9B,EAAc,MAAM,cAAgB,SAEpCnD,EAAA,eAAemD,EAAe,GAAQ,CACpCC,EAAK,QAAQ,GAAO,CAClB,KAAK,IAAIC,CAAG,CAAC,CAAC,MAAM,GAAO,CACzB,KAAK,QAAQ,YACX7D,EAAAA,kBACE,UAAA,EACAD,EAAAA,QAAAA,CAAO,mCAAmCiC,EAAI,EAAE,CAClD,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC,EAED,IAAM8B,EAAiB,SAAS,cAAc,OAAO,EACrD,EAAe,KAAO,OACtB,EAAe,MAAQR,EACrB,KAAK,MACLrD,EAAAA,QAAG,MAAM,IAAI,EACb,gBACF,EACA6D,EAAe,iBAAiB,SAAU,GAAS,CACjD,KAAK,aAAaC,EAAM,OAAO,KAAK,CAAC,CAAC,MAAM,GAAO,CACjD,KAAK,QAAQ,YACX/D,EAAAA,kBAAkB,SAAU,+BAA+BgC,EAAI,EAAE,CACnE,CACF,CAAC,CACH,CAAC,EACD,IAAMgC,EAAiB,SAAS,cAAc,OAAO,EAKrD,GAJA,EAAe,aAAA,EAAcjE,EAAAA,QAAAA,CAAO,aAAa,EACjDiE,EAAe,YAAYF,CAAc,EACzCH,EAAc,YAAYK,CAAc,EAEpCjD,EAAG,IAAI,KAAK,MAAOd,EAAAA,QAAG,MAAM,WAAW,CAAC,EAC1Cc,EAAG,MAAM,KAAK,MAAOd,EAAAA,QAAG,MAAM,WAAW,CAAC,CAAC,CAAC,QAAQ,GAAa,CAC/D,IAAMgE,EAAYC,EAAU,OACtBC,EAAY,SAAS,cAAc,KAAK,EAC9C,IAAIC,EAAOD,EAAWF,EAAW,KAAK,aAAaA,CAAS,CAAC,CAAC,CAAC,OAAO,EACtEN,EAAc,YAAYQ,CAAS,CACrC,CAAC,MACI,CACL,IAAME,EAAO,SAAS,cAAc,GAAG,EACvC,EAAK,YAAc,EAAA,OAAM;;QAGzBV,EAAc,YAAYU,CAAI,CAChC,CAEA,IAAMC,EAAqB,SAAS,cAAc,QAAQ,EAS1D,MARA,GAAmB,aAAA,EAAcvE,EAAAA,QAAAA,CAAO,MAAM,EAC9CuE,EAAmB,iBAAiB,QAAS,GAAU,CACrD,KAAK,eAAe,KAAK,KAAK,CAChC,CAAC,EACDX,EAAc,YAAYW,CAAkB,EAE5C,KAAK,QAAQ,UAAY,GACzB,KAAK,QAAQ,YAAYX,CAAa,EAC/B,IACT,CAEA,IAAK,EAAO,CACV,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC5C,EAAG,QAAQ,iBAAiBwD,GAAQ,EAAI,IAAQ,CAC9C,GAAI,CAACtC,EAEH,OADA,KAAK,eAAeD,CAAG,EAChBE,EAAOF,CAAG,EAInB,IAAMiC,EAAY/D,EAAI,UAAUqE,CAAK,EAC/BC,EAAWzD,EAAG,IAAIkD,EAAWhE,EAAAA,QAAG,IAAI,MAAM,CAAC,EAQjD,MAPI,CAACuE,GAAY,CAACA,EAAS,OAAOvE,EAAAA,QAAG,KAAK,QAAQ,CAAC,EAC1CiC,EACD,MACF,oEAAoEsC,EAAS,MAAM,EACrF,CACF,EAEKpC,EAAQ6B,CAAS,CAC1B,CAAC,CACH,CAAC,CAAC,CAAC,KAAK,GAAa,CACnB,IAAMC,EAAYhE,EAAI,GAAG,KAAK,MAAOD,EAAAA,QAAG,MAAM,WAAW,EAAGgE,CAAS,EAIrE,OAHIlD,EAAG,eAAemD,CAAS,EACtBD,EAEFhB,EAAM,KAAK,MAAM,IAAI,CAAC,CAAC,IAAK,CAAE,MAAO,CAACiB,CAAS,CAAE,CAAC,CAAC,CAAC,SAAW,CACpE,EAAU,IAAM,KAAK,MAAM,IAAI,EAC/BnD,EAAG,IAAImD,CAAS,EAChB,KAAK,eAAe,KAAM,QAASD,CAAS,EAC5C,KAAK,OAAO,CACd,CAAC,CACH,CAAC,CACH,CAEA,aAAc,EAAW,CACvB,MAAO,IAAU,CACf,IAAMC,EAAYhE,EAAI,GAAG,KAAK,MAAOD,EAAAA,QAAG,MAAM,WAAW,EAAGgE,CAAS,EACrE,OAAOhB,EAAM,KAAK,MAAM,IAAI,CAAC,CAAC,IAAK,CAAE,MAAO,CAACiB,CAAS,CAAE,CAAC,CAAC,CACvD,UACCnD,EAAG,OAAOmD,CAAS,EACnB,KAAK,eAAe,KAAM,UAAWD,CAAS,EAC9C,KAAK,OAAO,EACL,GACR,CAAC,CACD,MAAM,GAAO,CACZ,IAAMzB,EAAOzB,EAAG,IAAIkD,EAAWhE,EAAAA,QAAG,KAAK,MAAM,CAAC,EACxCwE,EACJjC,GAAQA,EAAK,MACT,oBAAoBA,EAAK,MAAM,KAAKR,EAAI,GACxC,oBAAoBiC,EAAU,MAAM,KAAKjC,EAAI,GACnD,MAAU,MAAMyC,CAAY,CAC9B,CAAC,CACL,CACF,CAEA,aAAc,EAAM,CAClB,GAAM,CAAE,cAAenC,EAAQ,KAAK,IAAI,EAClCoC,EAAiB,CAAC,KAAK,MAAM,IAAI,EAAG/B,CAAU,CAAC,CAAC,IAAI,GAAc,CACtE,IAAMgC,EAAoB5D,EAAG,MAC3B,KAAK,MACLd,EAAAA,QAAG,MAAM,IAAI,EACb,KACA2E,CACF,EACMC,EAAmB3E,EAAI,GAC3B,KAAK,MACLD,EAAAA,QAAG,MAAM,IAAI,EACbC,EAAI,QAAQsC,CAAI,CAClB,EACA,OAAOS,EAAM2B,EAAW,MAAO,CAC7B,MAAOD,EACP,MAAO,CAACE,CAAgB,CAC1B,CAAC,CAAC,CAAC,KAAK,GAAkB,CACxB9D,EAAG,iBAAiB4D,CAAiB,EACrC,EAAiB,IAAMC,EACvB7D,EAAG,IAAI8D,CAAgB,CACzB,CAAC,CACH,CAAC,EACD,OAAO,QAAQ,IAAIH,CAAc,CACnC,CACF,EAIaN,EAAb,KAAoB,CAClB,YAAa,EAAS,EAAW,EAAc,CAC7C,KAAK,UAAYH,EACjB,KAAK,QAAU/C,EACf,KAAK,aAAe4D,CACtB,CAEA,QAAU,CACR,IAAMzD,EAAY,SAAS,cAAc,KAAK,EAC9C,EAAU,MAAM,QAAU,OAG1B,IAAM0D,EAASzB,EACb,KAAK,UACLrD,EAAAA,QAAG,KAAK,KAAK,EACbG,EAAAA,SAAW,gBACb,EACM4E,EAAa,SAAS,cAAc,KAAK,EAC/C,EAAW,KAAA,EAAMjF,EAAAA,QAAAA,CAAOgF,CAAM,EAC9B,EAAW,MAAQ,KACnB,EAAW,OAAS,KACpB,EAAW,MAAM,OAAS,MAG1B,IAAMvC,EAAOc,EACX,KAAK,UACLrD,EAAAA,QAAG,KAAK,MAAM,EACd,IAAI,KAAK,UAAU,EACrB,EACMgF,EAAW,SAAS,cAAc,MAAM,EAC9C,EAAS,WAAA,EAAYlF,EAAAA,QAAAA,CAAOyC,CAAI,EAChC,EAAS,MAAM,SAAW,IAC1B,EAAS,MAAM,OAAS,SAExB,IAAM0C,EAAe,SAAS,cAAc,QAAQ,EAepD,MAdA,GAAa,YAAc,SAC3BA,EAAa,iBAAiB,QAAS,GACrC,KAAK,aAAa,CAAC,CAAC,MAAM,GAAO,CAC/B,KAAK,QAAQ,YAAYlF,EAAAA,kBAAkB,UAAA,EAAUD,EAAAA,QAAAA,CAAO,GAAGiC,GAAK,CAAC,CAAC,CACxE,CAAC,CACH,EACA,EAAa,MAAM,OAAS,MAE5BX,EAAU,YAAY2D,CAAU,EAChC3D,EAAU,YAAY4D,CAAQ,EAC9B5D,EAAU,YAAY6D,CAAY,EAElC,KAAK,QAAQ,UAAY,GACzB,KAAK,QAAQ,YAAY7D,CAAS,EAC3B,IACT,CACF,EAEA,SAASiC,EAAgB,EAAS,EAAW,EAAc,CACzD,IAAM6B,EAASpE,EAAG,IAAIqE,EAASC,CAAS,EACxC,OAAOF,EAASA,EAAO,MAAQG,CACjC,CAEA,SAASrC,EAAO,EAAK,CAAE,QAAO,SAAS,CACrC,OAAO,IAAI,SAAS,EAAS,IAAW,CACtClC,EAAG,QAAQ,OAAOwE,EAAOvC,GAAQ,EAAK,EAAS,IAAiB,CAC9D,GAAI,CAACwC,EACH,OAAOtD,EACD,MAAM,8BAA8B2B,EAAI,KAAKY,GAAc,CACjE,EAEFrC,EAAQ,CACV,CAAC,CACH,CAAC,CAUH,CAEA,SAASE,EAAS,EAAM,CACtB,MAAO,CAEL,WAAYvB,EAAG,IAAIY,EAAM1B,EAAAA,QAAG,MAAM,YAAY,CAAC,EAC/C,eAAgBc,EAAG,IAAIY,EAAK,IAAI,CAAC,CAAC,IAAM,QAAQ,CAClD,CACF,C"}
1
+ {"version":3,"file":"peoplePicker.cjs.js","names":["solidLogicSingleton","escape","errorMessageBlock","ns","rdf","uuidv4","iconBase","require_runtime","require_debug","require_dragAndDrop","require_error","require_iconBase","require_ns","rdflib","solid_logic","escape_html","uuid","kb","PeoplePicker","options","element","typeIndex","groupPickedCb","container","selectedGroup","Group","changeGroupButton","chooseExistingGroupButton","GroupPicker","book","createNewGroupButton","GroupBuilder","group","errorBody","err","ok","reject","bookRegistration","resolve","errr","indexes","groupContainer","name","defaultNewGroupName","patchPromises","groupIndex","typeStatement","doc","nameStatement","includesGroupStatement","toIns","patch","st","onSelectGroup","groups","groupButton","getWithDefault","groupChangedCb","changeType","agent","doneBuildingCb","dropContainer","uris","uri","groupNameInput","event","groupNameLabel","webIdNode","statement","personDiv","Person","copy","doneBuildingButton","webId","rdfClass","errorMessage","updatePromises","oldNameStatements","namedGraph","newNameStatement","handleRemove","imgSrc","profileImg","nameSpan","removeButton","object","subject","predicate","defaultValue","toDel","success"],"sources":["../../src/widgets/peoplePicker.js"],"sourcesContent":["/**\n *\n * People Picker Pane\n *\n * This pane offers a mechanism for selecting a set of individuals, groups, or\n * organizations to take some action on.\n *\n * Assumptions\n * - Assumes that the user has a type index entry for vcard:AddressBook. @@ bad assuption\n *\n */\nimport escape from 'escape-html'\nimport { v4 as uuidv4 } from 'uuid'\nimport * as rdf from 'rdflib'\nimport * as debug from '../lib/debug'\n\nimport { makeDropTarget } from './dragAndDrop'\nimport { errorMessageBlock } from './error'\nimport { iconBase } from '../lib/iconBase'\nimport ns from '../lib/ns'\nimport { solidLogicSingleton } from 'solid-logic'\n\nconst kb = solidLogicSingleton.store\n\nexport class PeoplePicker {\n constructor (element, typeIndex, groupPickedCb, options) { // @@ can't expect typeindex to be passed\n this.options = options || {}\n this.element = element\n this.typeIndex = typeIndex\n this.groupPickedCb = groupPickedCb\n this.selectedgroup = this.options.selectedgroup // current selected group if any\n this.onSelectGroup = this.onSelectGroup.bind(this)\n }\n\n render () {\n const container = document.createElement('div')\n container.style.maxWidth = '350px'\n container.style.minHeight = '200px'\n container.style.outline = '1px solid black'\n container.style.display = 'flex'\n\n if (this.selectedgroup) {\n container.style.flexDirection = 'column'\n const selectedGroup = document.createElement('div')\n new Group(selectedGroup, this.selectedgroup).render()\n const changeGroupButton = document.createElement('button')\n changeGroupButton.textContent = escape('Change group')\n changeGroupButton.addEventListener('click', _event => {\n this.selectedgroup = null\n this.render()\n })\n container.appendChild(selectedGroup)\n container.appendChild(changeGroupButton)\n } else {\n this.findAddressBook(this.typeIndex)\n .then(({ book }) => {\n const chooseExistingGroupButton = document.createElement('button')\n chooseExistingGroupButton.textContent = escape(\n 'Pick an existing group'\n )\n chooseExistingGroupButton.style.margin = 'auto'\n chooseExistingGroupButton.addEventListener('click', _event => {\n new GroupPicker(container, book, this.onSelectGroup).render()\n })\n\n const createNewGroupButton = document.createElement('button')\n createNewGroupButton.textContent = escape('Create a new group')\n createNewGroupButton.style.margin = 'auto'\n createNewGroupButton.addEventListener('click', _event => {\n this.createNewGroup(book, this.options.defaultNewGroupName)\n .then(({ group }) => {\n new GroupBuilder(\n this.element,\n book,\n group,\n this.onSelectGroup\n ).render()\n })\n .catch(errorBody => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Error creating a new group. (${errorBody})`)\n )\n )\n })\n })\n\n container.appendChild(chooseExistingGroupButton)\n container.appendChild(createNewGroupButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could find your groups. (${err})`)\n )\n )\n })\n }\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n\n findAddressBook (typeIndex) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(typeIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const bookRegistration = kb.any(\n null,\n ns.solid('forClass'),\n ns.vcard('AddressBook')\n )\n if (!bookRegistration) {\n return reject(\n new Error(\n 'no address book registered in the solid type index ' + typeIndex\n )\n )\n }\n const book = kb.any(bookRegistration, ns.solid('instance'))\n if (!book) {\n return reject(new Error('incomplete address book registration'))\n }\n kb.fetcher\n .load(book)\n .then(function (_xhr) {\n return resolve({ book })\n })\n .catch(function (errr) {\n return reject(new Error('Could not load address book ' + errr))\n })\n })\n })\n }\n\n createNewGroup (book, defaultNewGroupName) {\n const { groupIndex, groupContainer } = indexes(book)\n const group = rdf.sym(\n `${groupContainer.uri}${uuidv4().slice(0, 8)}.ttl#this`\n )\n const name = defaultNewGroupName || 'Untitled Group'\n\n // NOTE that order matters here. Unfortunately this type of update is\n // non-atomic in that solid requires us to send two PATCHes, either of which\n // might fail.\n const patchPromises = [group.doc(), groupIndex].map(doc => {\n const typeStatement = rdf.st(group, ns.rdf('type'), ns.vcard('Group'), doc)\n const nameStatement = rdf.st(group, ns.vcard('fn'), name, group.doc(), doc)\n const includesGroupStatement = rdf.st(\n book,\n ns.vcard('includesGroup'),\n group,\n doc\n )\n const toIns = doc.equals(groupIndex)\n ? [typeStatement, nameStatement, includesGroupStatement]\n : [typeStatement, nameStatement]\n return patch(doc.uri, { toIns }).then(() => {\n toIns.forEach(st => {\n kb.add(st)\n })\n })\n })\n return Promise.all(patchPromises)\n .then(() => ({ group }))\n .catch(err => {\n debug.log('Could not create new group. PATCH failed ' + err)\n throw new Error(\n `Couldn't create new group. PATCH failed for (${\n err.xhr ? err.xhr.responseURL : ''\n } )`\n )\n })\n }\n\n onSelectGroup (group) {\n this.selectedgroup = group\n this.groupPickedCb(group)\n this.render()\n }\n}\n\nexport class GroupPicker {\n constructor (element, book, onSelectGroup) {\n this.element = element\n this.book = book\n this.onSelectGroup = onSelectGroup\n }\n\n render () {\n this.loadGroups()\n .then(groups => {\n // render the groups\n const container = document.createElement('div')\n container.style.display = 'flex'\n container.style.flexDirection = 'column'\n groups.forEach(group => {\n const groupButton = document.createElement('button')\n groupButton.addEventListener('click', this.handleClickGroup(group))\n new Group(groupButton, group).render()\n container.appendChild(groupButton)\n })\n this.element.innerHTML = ''\n this.element.appendChild(container)\n })\n .catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`There was an error loading your groups. (${err})`)\n )\n )\n })\n return this\n }\n\n loadGroups () {\n return new Promise((resolve, reject) => {\n const { groupIndex } = indexes(this.book)\n kb.fetcher.nowOrWhenFetched(groupIndex, (ok, err) => {\n if (!ok) {\n return reject(err)\n }\n const groups = kb.each(this.book, ns.vcard('includesGroup'))\n return resolve(groups)\n })\n })\n }\n\n handleClickGroup (group) {\n return _event => {\n this.onSelectGroup(group)\n }\n }\n}\n\nexport class Group {\n constructor (element, group) {\n this.element = element\n this.group = group\n }\n\n render () {\n const container = document.createElement('div')\n container.textContent = escape(\n // @@@@@ need to escape??\n getWithDefault(this.group, ns.vcard('fn'), `[${this.group.value}]`)\n )\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nexport class GroupBuilder {\n constructor (element, book, group, doneBuildingCb, groupChangedCb) {\n this.element = element\n this.book = book\n this.group = group\n this.onGroupChanged = (err, changeType, agent) => {\n if (groupChangedCb) {\n groupChangedCb(err, changeType, agent)\n }\n }\n this.groupChangedCb = groupChangedCb\n this.doneBuildingCb = doneBuildingCb\n }\n\n refresh () {\n // TODO: implement\n }\n\n render () {\n const dropContainer = document.createElement('div')\n dropContainer.style.maxWidth = '350px'\n dropContainer.style.minHeight = '200px'\n dropContainer.style.outline = '1px solid black'\n dropContainer.style.display = 'flex'\n dropContainer.style.flexDirection = 'column'\n\n makeDropTarget(dropContainer, uris => {\n uris.forEach(uri => {\n this.add(uri).catch(err => {\n this.element.appendChild(\n errorMessageBlock(\n document,\n escape(`Could not add the given WebId. (${err})`)\n )\n )\n })\n })\n })\n\n const groupNameInput = document.createElement('input')\n groupNameInput.type = 'text'\n groupNameInput.value = getWithDefault(\n this.group,\n ns.vcard('fn'),\n 'Untitled Group'\n )\n groupNameInput.addEventListener('change', event => {\n this.setGroupName(event.target.value).catch(err => {\n this.element.appendChild(\n errorMessageBlock(document, `Error changing group name. (${err})`)\n )\n })\n })\n const groupNameLabel = document.createElement('label')\n groupNameLabel.textContent = escape('Group Name:')\n groupNameLabel.appendChild(groupNameInput)\n dropContainer.appendChild(groupNameLabel)\n\n if (kb.any(this.group, ns.vcard('hasMember'))) {\n kb.match(this.group, ns.vcard('hasMember')).forEach(statement => {\n const webIdNode = statement.object\n const personDiv = document.createElement('div')\n new Person(personDiv, webIdNode, this.handleRemove(webIdNode)).render()\n dropContainer.appendChild(personDiv)\n })\n } else {\n const copy = document.createElement('p')\n copy.textContent = escape`\n To add someone to this group, drag and drop their WebID URL onto the box.\n `\n dropContainer.appendChild(copy)\n }\n\n const doneBuildingButton = document.createElement('button')\n doneBuildingButton.textContent = escape('Done')\n doneBuildingButton.addEventListener('click', _event => {\n this.doneBuildingCb(this.group)\n })\n dropContainer.appendChild(doneBuildingButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(dropContainer)\n return this\n }\n\n add (webId) {\n return new Promise((resolve, reject) => {\n kb.fetcher.nowOrWhenFetched(webId, (ok, err) => {\n if (!ok) {\n this.onGroupChanged(err)\n return reject(err)\n }\n // make sure it's a valid person, group, or entity (for now just handle\n // webId)\n const webIdNode = rdf.namedNode(webId)\n const rdfClass = kb.any(webIdNode, ns.rdf('type'))\n if (!rdfClass || !rdfClass.equals(ns.foaf('Person'))) {\n return reject(\n new Error(\n `Only people supported right now. (tried to add something of type ${rdfClass.value})`\n )\n )\n }\n return resolve(webIdNode)\n })\n }).then(webIdNode => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n if (kb.holdsStatement(statement)) {\n return webIdNode\n }\n return patch(this.group.doc().uri, { toIns: [statement] }).then(() => {\n statement.why = this.group.doc()\n kb.add(statement)\n this.onGroupChanged(null, 'added', webIdNode)\n this.render()\n })\n })\n }\n\n handleRemove (webIdNode) {\n return _event => {\n const statement = rdf.st(this.group, ns.vcard('hasMember'), webIdNode)\n return patch(this.group.doc().uri, { toDel: [statement] })\n .then(() => {\n kb.remove(statement)\n this.onGroupChanged(null, 'removed', webIdNode)\n this.render()\n return true\n })\n .catch(err => {\n const name = kb.any(webIdNode, ns.foaf('name'))\n const errorMessage =\n name && name.value\n ? `Could not remove ${name.value}. (${err})`\n : `Could not remove ${webIdNode.value}. (${err})`\n throw new Error(errorMessage)\n })\n }\n }\n\n setGroupName (name) {\n const { groupIndex } = indexes(this.book)\n const updatePromises = [this.group.doc(), groupIndex].map(namedGraph => {\n const oldNameStatements = kb.match(\n this.group,\n ns.vcard('fn'),\n null,\n namedGraph\n )\n const newNameStatement = rdf.st(\n this.group,\n ns.vcard('fn'),\n rdf.literal(name)\n )\n return patch(namedGraph.value, {\n toDel: oldNameStatements,\n toIns: [newNameStatement]\n }).then(_solidResponse => {\n kb.removeStatements(oldNameStatements)\n newNameStatement.why = namedGraph\n kb.add(newNameStatement)\n })\n })\n return Promise.all(updatePromises)\n }\n}\n// @ignore exporting this only for the unit test\n// @@ TODO maybe I should move this down at end, but for\n// now I will leave it where it was\nexport class Person {\n constructor (element, webIdNode, handleRemove) {\n this.webIdNode = webIdNode\n this.element = element\n this.handleRemove = handleRemove\n }\n\n render () {\n const container = document.createElement('div')\n container.style.display = 'flex'\n\n // TODO: take a look at UI.widgets.setName\n const imgSrc = getWithDefault(\n this.webIdNode,\n ns.foaf('img'),\n iconBase + 'noun_15059.svg'\n )\n const profileImg = document.createElement('img')\n profileImg.src = escape(imgSrc)\n profileImg.width = '50'\n profileImg.height = '50'\n profileImg.style.margin = '5px'\n\n // TODO: take a look at UI.widgets.setImage\n const name = getWithDefault(\n this.webIdNode,\n ns.foaf('name'),\n `[${this.webIdNode}]`\n )\n const nameSpan = document.createElement('span')\n nameSpan.innerHTML = escape(name)\n nameSpan.style.flexGrow = '1'\n nameSpan.style.margin = 'auto 0'\n\n const removeButton = document.createElement('button')\n removeButton.textContent = 'Remove'\n removeButton.addEventListener('click', _event =>\n this.handleRemove().catch(err => {\n this.element.appendChild(errorMessageBlock(document, escape(`${err}`)))\n })\n )\n removeButton.style.margin = '5px'\n\n container.appendChild(profileImg)\n container.appendChild(nameSpan)\n container.appendChild(removeButton)\n\n this.element.innerHTML = ''\n this.element.appendChild(container)\n return this\n }\n}\n\nfunction getWithDefault (subject, predicate, defaultValue) {\n const object = kb.any(subject, predicate)\n return object ? object.value : defaultValue\n}\n\nfunction patch (url, { toDel, toIns }) {\n return new Promise((resolve, reject) => {\n kb.updater.update(toDel, toIns, (uri, success, errorMessage) => {\n if (!success) {\n return reject(\n new Error(`PATCH failed for resource <${uri}>: ${errorMessage}`)\n )\n }\n resolve()\n })\n })\n // return webClient.patch(url, toDel, toIns)\n // .then(solidResponse => {\n // const status = solidResponse.xhr.status\n // if (status < 200 || status >= 400) {\n // const err = new Error(`PATCH failed for resource <${solidResponse.url}>`)\n // err.solidResponse = solidResponse\n // throw err\n // }\n // })\n}\n\nfunction indexes (book) {\n return {\n // bookIndex: book,\n groupIndex: kb.any(book, ns.vcard('groupIndex')),\n groupContainer: kb.sym(book.dir().uri + 'Group/')\n }\n}\n"],"mappings":"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"}