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 +1 @@
1
- {"version":3,"file":"AccessControlModal.cjs.js","names":["customElement","DialogComponent","html","property","state","label","debug","Authenticated","Public","analyzeContainerAccessScope","filterAuthorizationsByContainerScope","solidLogicSingleton","sym","styles","createAccessGrantDrafts","getAccessGrantIds","getAccessGrantViewModels","getAuthenticatedAccessRole","getAuthorizationSubjectLabel","getChangedAccessGrants","getPublicAccessRole","getSharedAuthorization","accessPrincipalOptionsProvider","resolveAccessTarget","applyAccessChanges","buildAccessChanges","isDefined","value","undefined","_classDecs","_AccessControlModal","_AccessControlModal2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_ref","_subjectUriDecs","attribute","_accessGrantsDecs","_principalInputValueDecs","_addAccessRoleValueDecs","_authenticatedAccessRoleValueDecs","_publicAccessRoleValueDecs","_submittingDecs","_pendingAccessGrantsDecs","_accessGrantDraftsDecs","_errorsDecs","_successfulChangesRefreshedDecs","_accessContextDecs","_accessContextLoadingDecs","_accessContextErrorDecs","_advancedSharingOpenDecs","_containerScopeDecs","_containerScopeAnalysisDecs","_protectedTargetDecs","_AccessControlModal3","AccessControlModal","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_subjectUri","_init_accessGrants","_init_principalInputValue","_init_addAccessRoleValue","_init_authenticatedAccessRoleValue","_init_publicAccessRoleValue","_init_submitting","_init_pendingAccessGrants","_init_accessGrantDrafts","_init_errors","_init_successfulChangesRefreshed","_init_accessContext","_init_accessContextLoading","_init_accessContextError","_init_advancedSharingOpen","_init_containerScope","_init_containerScopeAnalysis","_init_protectedTarget","_defineProperty","_classPrivateFieldGet","subjectUri","v","_classPrivateFieldSet","accessGrants","principalInputValue","addAccessRoleValue","authenticatedAccessRoleValue","publicAccessRoleValue","submitting","pendingAccessGrants","accessGrantDrafts","errors","successfulChangesRefreshed","accessContext","accessContextLoading","accessContextError","advancedSharingOpen","containerScope","containerScopeAnalysis","protectedTarget","disconnectedCallback","accessGrantLabelRequestVersion","accessContextRequestVersion","inputError","find","error","action","message","saveErrors","filter","setInputError","item","clearInputError","willUpdate","changedProperties","has","scopedAccessGrants","getScopedAccessGrants","updated","loadAccessContext","catch","refreshAccessGrantLabels","refreshContainerScopeAnalysis","isContainer","primaryScope","refreshScopedAccessGrantDrafts","requestVersion","sourceAccessGrants","scope","getSelectedContainerScope","grants","length","labels","Promise","all","map","authorization","agentGroup","groupUri","store","fetcher","load","doc","labelsById","Map","id","index","draft","subjectLabel","get","getDialogTitle","subject","trim","Boolean","URL","pathname","endsWith","accessContextSubjectUri","acl","findEffectiveAcl","inherited","authorizations","isProtectedResource","Error","ensureAccessContext","isConnected","canMutate","retryAccessContext","renderSharingInformation","isCustomSharing","inheritedContainer","effectiveContainer","inheritedContainerLabel","defaultContainer","onResetToDefault","renderSharingState","renderAdvancedSharing","hasMixedContainerPolicy","mixed","renderAccessContextState","renderMixedContainerWarning","selectContainerScope","checked","closeAdvancedSharing","render","dialogTitle","onSubmit","onPrincipalInput","onPrincipalSelect","onAddAccessRoleInput","onPendingGrantRemoved","onAccessGrantRoleInput","onAuthenticatedAccessRoleInput","onPublicAccessRoleInput","onCancelClick","hasUnsavedChanges","onSaveClick","e","preventDefault","commitPrincipalFromInputSafely","committed","saveAccessChanges","close","resetToDefault","directAccessGrants","findAccessGrants","targetUri","changedAccessGrants","generalAccessChanges","getGeneralAccessChanges","accessChanges","event","detail","queuePendingPrincipal","targetKind","currentAuthenticatedRole","currentPublicRole","authenticatedChange","role","publicChange","grant","_","pendingIndex","commitPrincipalFromInput","rawValue","inputSnapshot","principal","preferredLabel","snapshot","result","createPendingAccessGrant","merged","dedupePendingAccessGrants","normalizedPrincipal","resolvedTarget","subjectType","subjectValue","draftGrants","grantsBySubject","draftGrant","set","values","c","_initClass","_applyDecs","_Class","_identity","default","customElement","property","state","DialogComponent","createAccessGrantDrafts","getAuthenticatedAccessRole","getPublicAccessRole","error","analyzeContainerAccessScope","solidLogicSingleton","sym","getAuthorizationSubjectLabel","getSharedAuthorization","getAccessGrantIds","label","filterAuthorizationsByContainerScope","accessPrincipalOptionsProvider","getAccessGrantViewModels","getChangedAccessGrants","buildAccessChanges","applyAccessChanges","Authenticated","Public","resolveAccessTarget","styles","require_label","require_debug","require_decorators","require_DialogComponent","require_AccessControlModal_styles","require_accessGrantDrafts","require_accessTargetResolver","require_applyAccessChanges","require_buildAccessChanges","rdflib","solid_logic","lit","lit_decorators_js","_Class","_AccessControlModal3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_initProto","_initClass","_classDecs","_subjectUriDecs","_init_subjectUri","_accessGrantsDecs","_init_accessGrants","_principalInputValueDecs","_init_principalInputValue","_addAccessRoleValueDecs","_init_addAccessRoleValue","_authenticatedAccessRoleValueDecs","_init_authenticatedAccessRoleValue","_publicAccessRoleValueDecs","_init_publicAccessRoleValue","_submittingDecs","_init_submitting","_pendingAccessGrantsDecs","_init_pendingAccessGrants","_accessGrantDraftsDecs","_init_accessGrantDrafts","_errorsDecs","_init_errors","_successfulChangesRefreshedDecs","_init_successfulChangesRefreshed","_accessContextDecs","_init_accessContext","_accessContextLoadingDecs","_init_accessContextLoading","_accessContextErrorDecs","_init_accessContextError","_advancedSharingOpenDecs","_init_advancedSharingOpen","_containerScopeDecs","_init_containerScope","_containerScopeAnalysisDecs","_init_containerScopeAnalysis","_protectedTargetDecs","_init_protectedTarget","_AccessControlModal2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","isDefined","value","_AccessControlModal","args","error","item","changedProperties","scopedAccessGrants","error$2","error$3","requestVersion","sourceAccessGrants","subjectUri","scope","grants","labels","authorization","groupUri","labelsById","id","index","draft","subject","subjectLabel","accessContext","error$6","isCustomSharing","inheritedContainer","inheritedContainerLabel","defaultContainer","checked","dialogTitle","directAccessGrants","error$1","changedAccessGrants","generalAccessChanges","accessChanges","saveErrors","error$5","event","accessGrants","currentAuthenticatedRole","currentPublicRole","grant","pendingIndex","rawValue","inputSnapshot","error$4","snapshot","result","principal","role","preferredLabel","targetKind","merged","normalizedPrincipal","resolvedTarget","grantsBySubject","draftGrant","draftGrants"],"sources":["../../../src/components/access-control-modal/AccessControlModal.ts"],"sourcesContent":["import { customElement, DialogComponent } from '@/lib/components'\nimport { html } from 'lit'\nimport type { PropertyValues } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { label } from '@/utils/label'\nimport * as debug from '@/lib/debug'\nimport { Authenticated, Public, analyzeContainerAccessScope, filterAuthorizationsByContainerScope, solidLogicSingleton, type ACLContext, type AccessRole, type Authorization, type ContainerAccessScope, type ContainerAccessScopeResult } from 'solid-logic'\nimport { sym } from 'rdflib'\n\nimport '~icons/lucide/circle-x'\nimport '~icons/lucide/folder'\nimport '~icons/lucide/folder-open'\nimport '~icons/lucide/x'\nimport '@/components/dialog'\nimport '@/components/dialog-content'\nimport '@/components/dialog-footer'\nimport '@/components/button'\nimport '@/components/combobox'\nimport '@/components/combobox-option'\nimport './AccessControlSharedAccess'\nimport './AccessControlGeneralAccess'\nimport './AccessControlErrors'\n\nimport styles from './AccessControlModal.styles.css'\nimport type { AccessChange, AccessControlError, AccessGrantDraft, AccessGrantRoleChangedEvent, AccessSaveError, AccessSaveScope, InputAccessControlError, PendingAccessGrant, PendingGrantRemovedEvent, RoleChangedEvent, TargetInputEvent, TargetSelectedEvent } from './types'\nimport { createAccessGrantDrafts, getAccessGrantIds, getAccessGrantViewModels, getAuthenticatedAccessRole, getAuthorizationSubjectLabel, getChangedAccessGrants, getPublicAccessRole, getSharedAuthorization } from './accessGrantDrafts'\nimport { accessPrincipalOptionsProvider, resolveAccessTarget } from './accessTargetResolver'\nimport { applyAccessChanges } from './applyAccessChanges'\nimport { buildAccessChanges } from './buildAccessChanges'\n\nfunction isDefined<T> (value: T | undefined | null): value is T {\n return value !== undefined && value !== null\n}\n\ntype PendingAccessGrantCreationResult =\n | { grant: PendingAccessGrant }\n | { error: InputAccessControlError }\n\n@customElement('solid-ui-access-control-modal')\nexport default class AccessControlModal extends DialogComponent<void> {\n static styles = styles\n\n @property({ attribute: false })\n accessor subjectUri: string | undefined = undefined\n\n @property({ attribute: false })\n accessor accessGrants: Authorization[] | undefined = undefined\n\n @state()\n private accessor principalInputValue: string = ''\n\n @state()\n private accessor addAccessRoleValue: AccessRole = 'Viewer'\n\n @state()\n private accessor authenticatedAccessRoleValue: AccessRole = 'No Access'\n\n @state()\n private accessor publicAccessRoleValue: AccessRole = 'No Access'\n\n @state()\n private accessor submitting: boolean = false\n\n @state()\n private accessor pendingAccessGrants: PendingAccessGrant[] = []\n\n @state()\n private accessor accessGrantDrafts: AccessGrantDraft[] = []\n\n @state()\n private accessor errors: AccessControlError[] = []\n\n @state()\n private accessor successfulChangesRefreshed = true\n\n @state()\n private accessor accessContext: ACLContext | undefined\n\n @state()\n private accessor accessContextLoading = false\n\n @state()\n private accessor accessContextError = ''\n\n // Intentionally has no opener this release: scope selectors and reset are deferred.\n @state()\n private accessor advancedSharingOpen = false\n\n @state()\n private accessor containerScope: ContainerAccessScope = 'folder+contents'\n\n @state()\n private accessor containerScopeAnalysis: ContainerAccessScopeResult | undefined\n\n @state()\n private accessor protectedTarget = false\n\n private accessGrantLabelRequestVersion = 0\n private accessContextRequestVersion = 0\n private accessContextSubjectUri: string | undefined\n\n disconnectedCallback (): void {\n this.accessGrantLabelRequestVersion++\n this.accessContextRequestVersion++\n this.errors = []\n super.disconnectedCallback()\n }\n\n private get inputError (): string {\n return this.errors.find(error => error.action === 'input')?.message ?? ''\n }\n\n private get saveErrors (): AccessSaveError[] {\n return this.errors.filter((error): error is AccessSaveError => error.action !== 'input')\n }\n\n private setInputError (error: InputAccessControlError) {\n this.errors = [\n ...this.errors.filter(item => item.action !== 'input'),\n error\n ]\n }\n\n private clearInputError () {\n this.errors = this.errors.filter(error => error.action !== 'input')\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('accessGrants')) {\n const scopedAccessGrants = this.getScopedAccessGrants()\n this.accessGrantDrafts = createAccessGrantDrafts(scopedAccessGrants)\n this.authenticatedAccessRoleValue = getAuthenticatedAccessRole(scopedAccessGrants)\n this.publicAccessRoleValue = getPublicAccessRole(scopedAccessGrants)\n }\n }\n\n protected updated (changedProperties: PropertyValues<this>) {\n super.updated(changedProperties)\n\n if (changedProperties.has('subjectUri')) {\n this.loadAccessContext().catch(error => {\n debug.error('Failed to load access control context', error)\n })\n }\n\n if (changedProperties.has('accessGrants')) {\n this.refreshAccessGrantLabels().catch((error: unknown) => {\n debug.error('Failed to refresh access grant labels', error)\n })\n }\n\n if (changedProperties.has('accessContext' as keyof AccessControlModal) && !changedProperties.has('subjectUri')) {\n this.refreshContainerScopeAnalysis()\n }\n }\n\n private refreshContainerScopeAnalysis () {\n if (this.isContainer() && this.accessContext) {\n this.containerScopeAnalysis = analyzeContainerAccessScope(this.accessContext)\n this.containerScope = this.containerScopeAnalysis.primaryScope\n this.refreshScopedAccessGrantDrafts()\n } else {\n this.containerScopeAnalysis = undefined\n }\n }\n\n private async refreshAccessGrantLabels () {\n const requestVersion = ++this.accessGrantLabelRequestVersion\n const sourceAccessGrants = this.accessGrants\n const subjectUri = this.subjectUri\n const scope = this.getSelectedContainerScope()\n const grants = this.getScopedAccessGrants(scope)\n if (!grants.length) {\n this.accessGrantDrafts = []\n return\n }\n\n const labels = await Promise.all(grants.map(async authorization => {\n await Promise.all(authorization.agentGroup.map(async groupUri => {\n try {\n await solidLogicSingleton.store.fetcher.load(sym(groupUri).doc())\n } catch {\n // Keep the fallback label if the group document cannot be loaded.\n }\n }))\n\n return getAuthorizationSubjectLabel(getSharedAuthorization(authorization))\n }))\n\n if (\n requestVersion === this.accessGrantLabelRequestVersion &&\n this.accessGrants === sourceAccessGrants &&\n this.subjectUri === subjectUri &&\n this.getSelectedContainerScope() === scope\n ) {\n const labelsById = new Map(getAccessGrantIds(grants).map((id, index) => [id, labels[index]]))\n this.accessGrantDrafts = this.accessGrantDrafts.map(draft => ({\n ...draft,\n subjectLabel: labelsById.get(draft.id) ?? draft.subjectLabel\n }))\n }\n }\n\n private getDialogTitle (): string {\n const subject = this.subjectUri ? sym(this.subjectUri) : undefined\n const subjectLabel = subject ? label(subject).trim() : ''\n\n if (!subjectLabel || subjectLabel === 'this resource') {\n return 'Manage Access of \"this resource\"'\n }\n return `Manage Access of \"${subjectLabel}\"`\n }\n\n private isContainer (): boolean {\n return Boolean(this.subjectUri && new URL(this.subjectUri).pathname.endsWith('/'))\n }\n\n private async loadAccessContext (): Promise<void> {\n const requestVersion = ++this.accessContextRequestVersion\n const subjectUri = this.subjectUri\n this.accessContext = undefined\n this.accessContextSubjectUri = undefined\n this.accessContextError = ''\n this.accessContextLoading = Boolean(subjectUri)\n\n if (!subjectUri) {\n this.accessContextLoading = false\n return\n }\n\n try {\n const accessContext = await solidLogicSingleton.acl.findEffectiveAcl(subjectUri)\n if (requestVersion !== this.accessContextRequestVersion || this.subjectUri !== subjectUri) {\n return\n }\n\n this.accessContext = accessContext\n this.accessContextSubjectUri = subjectUri\n if (this.accessContext?.inherited && !(this.accessGrants?.length)) {\n // findAccessGrants only reports ACLs attached directly to the resource.\n // Inherited permissions are the effective grants users need to review.\n this.accessGrants = this.accessContext.authorizations\n }\n this.refreshContainerScopeAnalysis()\n this.protectedTarget = solidLogicSingleton.acl.isProtectedResource(subjectUri)\n if (this.protectedTarget) {\n this.refreshScopedAccessGrantDrafts()\n }\n } catch (error) {\n if (requestVersion !== this.accessContextRequestVersion || this.subjectUri !== subjectUri) {\n return\n }\n\n this.accessContextError = error instanceof Error && error.message.trim()\n ? error.message\n : 'Unable to load access settings for this resource.'\n debug.error('Failed to load access control context', error)\n } finally {\n if (requestVersion === this.accessContextRequestVersion && this.subjectUri === subjectUri) {\n this.accessContextLoading = false\n }\n }\n }\n\n private async ensureAccessContext (): Promise<boolean> {\n if (!this.subjectUri) {\n return false\n }\n\n // Direct method calls are used by consumers and unit tests before the\n // element is connected; the rendered controls are always guarded below.\n if (!this.isConnected) {\n return true\n }\n\n if (this.accessContextSubjectUri === this.subjectUri && this.accessContext && !this.accessContextError) {\n return true\n }\n\n await this.loadAccessContext()\n return this.accessContextSubjectUri === this.subjectUri && Boolean(this.accessContext) && !this.accessContextError\n }\n\n private canMutate (): boolean {\n if (!this.isConnected) {\n return true\n }\n\n if (!this.subjectUri) {\n return true\n }\n\n return Boolean(\n this.subjectUri &&\n this.accessContextSubjectUri === this.subjectUri &&\n this.accessContext &&\n !this.accessContextLoading &&\n !this.accessContextError\n )\n }\n\n private async retryAccessContext () {\n await this.loadAccessContext()\n }\n\n private renderSharingInformation () {\n if (!this.accessContext) {\n return html``\n }\n\n const isCustomSharing = !this.accessContext.inherited\n const inheritedContainer = this.accessContext?.effectiveContainer\n const inheritedContainerLabel = inheritedContainer\n ? label(sym(inheritedContainer)).trim()\n : ''\n const defaultContainer = inheritedContainerLabel && inheritedContainerLabel !== inheritedContainer\n ? html`<strong>${inheritedContainerLabel}</strong> (${inheritedContainer})`\n : html`<strong>${inheritedContainer ?? 'the parent container'}</strong>`\n return html`\n <div class=\"access-control-sharing-state-panel\">\n ${isCustomSharing\n ? html`\n <div class=\"access-control-sharing-state-custom-row\">\n <p>This resource has its own sharing settings.</p>\n ${!this.protectedTarget\n ? html`\n <solid-ui-button\n type=\"button\"\n variant=\"tertiary\"\n aria-label=\"Reset custom sharing to default\"\n @click=${this.onResetToDefault}\n >\n Reset to default\n </solid-ui-button>\n `\n : html``}\n </div>\n `\n : inheritedContainer\n ? html`<p>This resource inherits sharing settings from ${defaultContainer}.</p>`\n : html`<p>This resource inherits sharing settings, but no inherited default is available.</p>`}\n ${this.protectedTarget\n ? html`<p class=\"access-control-sharing-state-protected-message\">This is a protected storage resource. Its primary access-control settings cannot be reset here.</p>`\n : html``}\n </div>\n `\n }\n\n private renderSharingState () {\n if (!this.accessContext || !this.advancedSharingOpen) {\n return html``\n }\n\n return html`\n <section\n class=\"access-control-sharing-state\"\n aria-labelledby=\"access-control-advanced-sharing-heading\"\n >\n ${this.renderSharingInformation()}\n ${this.renderAdvancedSharing()}\n </section>\n `\n }\n\n private getSelectedContainerScope (): ContainerAccessScope {\n return this.containerScope\n }\n\n private hasMixedContainerPolicy (): boolean {\n return this.isContainer() && this.containerScopeAnalysis?.mixed === true\n }\n\n private renderAccessContextState () {\n if (this.accessContextLoading) {\n return html`<p role=\"status\">Loading access settings...</p>`\n }\n\n if (this.accessContextError) {\n return html`\n <solid-ui-error-state\n title=\"Could not load access settings\"\n message=${this.accessContextError}\n >\n <solid-ui-button type=\"button\" variant=\"secondary\" @click=${this.retryAccessContext}>\n Retry\n </solid-ui-button>\n </solid-ui-error-state>\n `\n }\n\n if (!this.accessContext) {\n return html`<p role=\"status\">Access settings are not ready yet.</p>`\n }\n\n return html``\n }\n\n private renderMixedContainerWarning () {\n if (!this.hasMixedContainerPolicy()) {\n return html``\n }\n\n return html`\n <div class=\"access-control-mixed-policy-warning\" role=\"alert\">\n <strong>This container has different access settings for the folder and its contents.</strong>\n <span>Changing this mixed policy is an advanced feature. You can still change access for the folder or its contents separately below.</span>\n </div>\n `\n }\n\n private getScopedAccessGrants (scope = this.getSelectedContainerScope()): Authorization[] {\n const grants = this.accessGrants ?? []\n if (!this.isContainer() || !this.subjectUri || this.protectedTarget) {\n return grants\n }\n return filterAuthorizationsByContainerScope(this.subjectUri, grants, scope, this.accessContext?.inherited ?? false)\n }\n\n private refreshScopedAccessGrantDrafts () {\n const scopedAccessGrants = this.getScopedAccessGrants()\n this.accessGrantDrafts = createAccessGrantDrafts(scopedAccessGrants)\n this.authenticatedAccessRoleValue = getAuthenticatedAccessRole(scopedAccessGrants)\n this.publicAccessRoleValue = getPublicAccessRole(scopedAccessGrants)\n }\n\n private selectContainerScope (scope: 'folder+contents' | 'contents' | 'folder') {\n this.containerScope = scope\n this.refreshScopedAccessGrantDrafts()\n }\n\n private renderAdvancedSharing () {\n if (!this.advancedSharingOpen) return html``\n\n return html`\n <section\n id=\"access-control-advanced-sharing\"\n class=\"access-control-advanced-sharing\"\n role=\"group\"\n aria-labelledby=\"access-control-advanced-sharing-heading\"\n aria-describedby=\"access-control-advanced-sharing-description\"\n >\n <h2 id=\"access-control-advanced-sharing-heading\">Advanced sharing</h2>\n <p id=\"access-control-advanced-sharing-description\">\n <span class=\"access-control-advanced-sharing-description-line\">Use this option when the folder and its contents have different access requirements.</span>\n <span class=\"access-control-advanced-sharing-description-line\">Choose which access settings to edit.</span>\n <span class=\"access-control-advanced-sharing-description-line\">Save Changes applies your current edits only to that scope.</span>\n </p>\n ${this.isContainer()\n ? html`\n <button\n type=\"button\"\n class=\"access-control-same-access-toggle\"\n role=\"switch\"\n aria-checked=${this.containerScope === 'folder+contents' ? 'true' : 'false'}\n @click=${() => {\n const checked = this.containerScope !== 'folder+contents'\n this.selectContainerScope(checked\n ? 'folder+contents'\n : this.containerScope === 'contents' ? 'contents' : 'folder')\n }}\n >\n <span class=\"access-control-switch-track\" aria-hidden=\"true\">\n <span class=\"access-control-switch-thumb\"></span>\n </span>\n <span>Use the same access for this folder and its contents</span>\n </button>\n <div class=\"access-control-advanced-sharing-options\">\n <solid-ui-button\n type=\"button\"\n variant=${this.containerScope === 'folder' ? 'primary' : 'secondary'}\n aria-pressed=${this.containerScope === 'folder' ? 'true' : 'false'}\n @click=${() => { this.selectContainerScope('folder') }}\n >\n Folder Only\n </solid-ui-button>\n <solid-ui-button\n type=\"button\"\n variant=${this.containerScope === 'contents' ? 'primary' : 'secondary'}\n aria-pressed=${this.containerScope === 'contents' ? 'true' : 'false'}\n @click=${() => { this.selectContainerScope('contents') }}\n >\n Contents Only\n </solid-ui-button>\n </div>\n `\n : html``}\n <div class=\"access-control-advanced-sharing-actions\">\n <solid-ui-button\n type=\"button\"\n variant=\"ghost\"\n aria-label=\"Close advanced sharing\"\n title=\"Close advanced sharing\"\n @click=${this.closeAdvancedSharing}\n >\n <icon-lucide-x slot=\"icon\" aria-hidden=\"true\"></icon-lucide-x>\n <span class=\"sr-only\">Close</span>\n </solid-ui-button>\n </div>\n </section>\n `\n }\n\n protected render () {\n const dialogTitle = this.getDialogTitle()\n\n return html`\n <solid-ui-dialog title=${dialogTitle}>\n <form @submit=${this.onSubmit}>\n <solid-ui-dialog-content>\n ${this.renderAccessContextState()}\n ${this.renderMixedContainerWarning()}\n <solid-ui-access-control-add-access\n .disabled=${!this.canMutate() || this.hasMixedContainerPolicy()}\n .principalInputValue=${this.principalInputValue}\n .addAccessRoleValue=${this.addAccessRoleValue}\n .pendingAccessGrants=${this.pendingAccessGrants}\n .inputError=${this.inputError}\n .asyncOptionsProvider=${accessPrincipalOptionsProvider}\n @target-input=${this.onPrincipalInput}\n @target-selected=${this.onPrincipalSelect}\n @role-changed=${this.onAddAccessRoleInput}\n @pending-grant-removed=${this.onPendingGrantRemoved}\n ></solid-ui-access-control-add-access>\n <solid-ui-access-control-shared-access\n .disabled=${!this.canMutate() || this.hasMixedContainerPolicy()}\n .accessGrantViewModels=${getAccessGrantViewModels(this.accessGrantDrafts)}\n @access-grant-role-changed=${this.onAccessGrantRoleInput}\n ></solid-ui-access-control-shared-access>\n <solid-ui-access-control-general-access\n .disabled=${!this.canMutate() || this.hasMixedContainerPolicy()}\n .subjectUri=${this.subjectUri}\n .authenticatedAccessRoleValue=${this.authenticatedAccessRoleValue}\n .publicAccessRoleValue=${this.publicAccessRoleValue}\n @authenticated-role-changed=${this.onAuthenticatedAccessRoleInput}\n @public-role-changed=${this.onPublicAccessRoleInput}\n ></solid-ui-access-control-general-access>\n <solid-ui-access-control-errors\n .errors=${this.saveErrors}\n .successfulChangesRefreshed=${this.successfulChangesRefreshed}\n @close=${this.onCancelClick}\n ></solid-ui-access-control-errors>\n ${this.renderSharingState()}\n </solid-ui-dialog-content>\n\n <solid-ui-dialog-footer>\n <div class=\"access-control-footer-actions\">\n <solid-ui-button\n variant=\"secondary\"\n @click=${this.onCancelClick}\n >\n Cancel\n </solid-ui-button>\n <solid-ui-button\n ?disabled=${!this.canMutate() || !this.hasUnsavedChanges() || this.submitting || this.saveErrors.length > 0 || this.hasMixedContainerPolicy()}\n ?loading=${this.submitting}\n type=\"button\"\n @click=${this.onSaveClick}\n >\n Save Changes\n </solid-ui-button>\n </div>\n </solid-ui-dialog-footer>\n </form>\n </solid-ui-dialog>\n `\n }\n\n private async onSubmit (e: Event) {\n e.preventDefault()\n\n if (this.submitting || this.hasMixedContainerPolicy()) {\n return\n }\n\n if (this.isConnected && !await this.ensureAccessContext()) {\n return\n }\n\n await this.commitPrincipalFromInputSafely()\n }\n\n private async onSaveClick () {\n if (this.submitting || this.hasMixedContainerPolicy()) {\n return\n }\n\n if (this.isConnected && !await this.ensureAccessContext()) {\n return\n }\n\n if (this.principalInputValue.trim()) {\n const committed = await this.commitPrincipalFromInputSafely()\n\n if (!committed) {\n return\n }\n }\n\n const scope = this.isContainer() && !this.protectedTarget\n ? this.getSelectedContainerScope()\n : 'file'\n await this.saveAccessChanges(scope === 'folder' ? 'container' : scope)\n }\n\n private onCancelClick () {\n this.close()\n }\n\n private closeAdvancedSharing () {\n this.advancedSharingOpen = false\n }\n\n private async onResetToDefault () {\n if (!this.subjectUri || !this.canMutate() || !this.accessContext || this.accessContext.inherited || this.submitting || this.hasMixedContainerPolicy()) return\n\n this.submitting = true\n this.errors = this.errors.filter(error => error.action === 'input')\n try {\n await solidLogicSingleton.acl.resetToDefault(this.subjectUri)\n await this.loadAccessContext()\n const directAccessGrants = await solidLogicSingleton.acl.findAccessGrants(this.subjectUri)\n this.accessGrants = this.accessContext?.inherited\n ? this.accessContext.authorizations\n : directAccessGrants\n } catch (error) {\n this.errors = [...this.errors, {\n action: 'reset',\n targetUri: this.subjectUri,\n label: 'Custom sharing',\n message: error instanceof Error ? error.message : 'Unable to reset sharing.'\n }]\n debug.error('Failed to reset access control', error)\n } finally {\n this.submitting = false\n }\n }\n\n private async saveAccessChanges (scope: AccessSaveScope = 'file') {\n if (this.submitting || !this.canMutate() || this.hasMixedContainerPolicy()) {\n return\n }\n\n const changedAccessGrants = getChangedAccessGrants(this.accessGrantDrafts)\n const generalAccessChanges = this.getGeneralAccessChanges()\n\n if (!this.pendingAccessGrants.length && !changedAccessGrants.length && !generalAccessChanges.length) {\n return\n }\n\n if (!this.subjectUri) {\n return\n }\n\n this.submitting = true\n this.errors = this.errors.filter(error => error.action === 'input')\n this.successfulChangesRefreshed = true\n\n try {\n const accessChanges = buildAccessChanges({\n pendingAccessGrants: this.pendingAccessGrants,\n generalAccessChanges,\n changedAccessGrants\n })\n\n const saveErrors = await applyAccessChanges(this.subjectUri, accessChanges, {\n containerScope: scope\n })\n if (saveErrors.length) {\n this.errors = [...this.errors, ...saveErrors]\n this.principalInputValue = ''\n this.pendingAccessGrants = []\n\n try {\n this.accessGrants = await solidLogicSingleton.acl.findAccessGrants(this.subjectUri)\n } catch (error) {\n this.successfulChangesRefreshed = false\n this.errors = [\n ...this.errors,\n {\n action: 'save',\n targetUri: this.subjectUri,\n label: 'Shared with list',\n message: error instanceof Error\n ? error.message\n : 'Unable to refresh the access list.'\n }\n ]\n debug.error('Failed to refresh access grants after save errors', error)\n }\n\n debug.error('Failed to save some access changes', saveErrors)\n return\n }\n\n this.principalInputValue = ''\n this.pendingAccessGrants = []\n this.close()\n } catch (error) {\n this.errors = [\n ...this.errors,\n {\n action: 'save',\n targetUri: this.subjectUri ?? '',\n label: 'Access changes',\n message: error instanceof Error\n ? error.message\n : 'Unexpected error while saving access changes.'\n }\n ]\n } finally {\n this.submitting = false\n }\n }\n\n private onPrincipalInput (event: TargetInputEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.principalInputValue = event.detail.value\n this.clearInputError()\n }\n\n private onPrincipalSelect (event: TargetSelectedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.queuePendingPrincipal(event.detail.value, this.addAccessRoleValue, event.detail.label, undefined, event.detail.targetKind)\n }\n\n private getGeneralAccessChanges (): AccessChange[] {\n if (!this.subjectUri) {\n return []\n }\n\n const accessGrants = this.getScopedAccessGrants()\n const currentAuthenticatedRole = getAuthenticatedAccessRole(accessGrants)\n const currentPublicRole = getPublicAccessRole(accessGrants)\n\n const authenticatedChange = this.authenticatedAccessRoleValue === currentAuthenticatedRole\n ? undefined\n : {\n subject: Authenticated,\n role: this.authenticatedAccessRoleValue,\n label: 'Authenticated users'\n }\n\n const publicChange = this.publicAccessRoleValue === currentPublicRole\n ? undefined\n : {\n subject: Public,\n role: this.publicAccessRoleValue,\n label: 'Public'\n }\n\n return [authenticatedChange, publicChange].filter(isDefined)\n }\n\n private onAddAccessRoleInput (event: RoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.addAccessRoleValue = event.detail.role\n this.pendingAccessGrants = this.pendingAccessGrants.map(grant => ({\n ...grant,\n role: event.detail.role\n }))\n }\n\n private onAuthenticatedAccessRoleInput (event: RoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.authenticatedAccessRoleValue = event.detail.role\n }\n\n private onPublicAccessRoleInput (event: RoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.publicAccessRoleValue = event.detail.role\n }\n\n private onAccessGrantRoleInput (event: AccessGrantRoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.accessGrantDrafts = this.accessGrantDrafts.map(draft =>\n draft.id === event.detail.id\n ? { ...draft, role: event.detail.role }\n : draft\n )\n }\n\n private onPendingGrantRemoved (event: PendingGrantRemovedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.pendingAccessGrants = this.pendingAccessGrants.filter((_, pendingIndex) => pendingIndex !== event.detail.index)\n }\n\n private hasUnsavedChanges (): boolean {\n return Boolean(\n this.pendingAccessGrants.length ||\n this.principalInputValue.trim() ||\n getChangedAccessGrants(this.accessGrantDrafts).length ||\n this.getGeneralAccessChanges().length\n )\n }\n\n private async commitPrincipalFromInput (): Promise<boolean> {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) {\n return false\n }\n\n const rawValue = this.principalInputValue.trim()\n if (!rawValue) {\n return false\n }\n\n return this.queuePendingPrincipal(rawValue, this.addAccessRoleValue, undefined, rawValue)\n }\n\n private async commitPrincipalFromInputSafely (): Promise<boolean> {\n const inputSnapshot = this.principalInputValue.trim()\n\n try {\n return await this.commitPrincipalFromInput()\n } catch (error) {\n if (this.principalInputValue.trim() !== inputSnapshot) {\n debug.error('Ignored stale access-target validation error', error)\n return false\n }\n\n this.setInputError({\n action: 'input',\n label: 'Access target',\n targetUri: this.principalInputValue.trim(),\n message: 'We could not verify this access target. Check the value and try again.'\n })\n debug.error('Failed to commit pending access grants', error)\n return false\n }\n }\n\n private async queuePendingPrincipal (\n principal: string,\n role: AccessRole = this.addAccessRoleValue,\n preferredLabel?: string,\n inputSnapshot?: string,\n targetKind?: 'origin' | 'trustedApp'\n ): Promise<boolean> {\n const snapshot = inputSnapshot ?? this.principalInputValue.trim()\n const result = await this.createPendingAccessGrant(principal, role, preferredLabel, targetKind)\n\n if ('error' in result) {\n if (this.principalInputValue.trim() === snapshot) {\n this.setInputError(result.error)\n }\n debug.error('Failed to add access grant:', result.error.message)\n return false\n }\n\n const merged = [...this.pendingAccessGrants, result.grant]\n this.pendingAccessGrants = this.dedupePendingAccessGrants(merged)\n\n if (this.principalInputValue.trim() === snapshot) {\n this.clearInputError()\n this.principalInputValue = ''\n }\n\n return true\n }\n\n private async createPendingAccessGrant (\n principal: string,\n role: AccessRole = this.addAccessRoleValue,\n preferredLabel?: string,\n targetKind?: 'origin' | 'trustedApp'\n ): Promise<PendingAccessGrantCreationResult> {\n try {\n const normalizedPrincipal = principal.trim()\n const resolvedTarget = await resolveAccessTarget(normalizedPrincipal, preferredLabel)\n if (!resolvedTarget) {\n return {\n error: {\n action: 'input',\n label: 'Access target',\n targetUri: normalizedPrincipal,\n message: 'Could not verify this access target'\n }\n }\n }\n\n return {\n grant: {\n subjectType: resolvedTarget.subjectType,\n subjectValue: resolvedTarget.subjectValue,\n role,\n label: resolvedTarget.label,\n targetKind: targetKind ?? resolvedTarget.targetKind\n }\n }\n } catch (error) {\n return {\n error: {\n action: 'input',\n label: 'Access target',\n targetUri: principal,\n message: error instanceof Error && error.message.trim()\n ? error.message\n : 'Could not verify this access target'\n }\n }\n }\n }\n\n private dedupePendingAccessGrants (draftGrants: PendingAccessGrant[]): PendingAccessGrant[] {\n const grantsBySubject = new Map<string, PendingAccessGrant>()\n for (const draftGrant of draftGrants) {\n grantsBySubject.set(`${draftGrant.subjectType}:${draftGrant.subjectValue}`, draftGrant)\n }\n return [...grantsBySubject.values()]\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AccessControlModal.cjs.js","names":["customElement","DialogComponent","html","property","state","label","debug","Authenticated","Public","analyzeContainerAccessScope","filterAuthorizationsByContainerScope","solidLogicSingleton","sym","styles","createAccessGrantDrafts","getAccessGrantIds","getAccessGrantViewModels","getAuthenticatedAccessRole","getAuthorizationSubjectLabel","getChangedAccessGrants","getPublicAccessRole","getSharedAuthorization","accessPrincipalOptionsProvider","resolveAccessTarget","applyAccessChanges","buildAccessChanges","isDefined","value","undefined","_classDecs","_AccessControlModal","_AccessControlModal2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_ref","_subjectUriDecs","attribute","_accessGrantsDecs","_principalInputValueDecs","_addAccessRoleValueDecs","_authenticatedAccessRoleValueDecs","_publicAccessRoleValueDecs","_submittingDecs","_pendingAccessGrantsDecs","_accessGrantDraftsDecs","_errorsDecs","_successfulChangesRefreshedDecs","_accessContextDecs","_accessContextLoadingDecs","_accessContextErrorDecs","_advancedSharingOpenDecs","_containerScopeDecs","_containerScopeAnalysisDecs","_protectedTargetDecs","_AccessControlModal3","AccessControlModal","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_subjectUri","_init_accessGrants","_init_principalInputValue","_init_addAccessRoleValue","_init_authenticatedAccessRoleValue","_init_publicAccessRoleValue","_init_submitting","_init_pendingAccessGrants","_init_accessGrantDrafts","_init_errors","_init_successfulChangesRefreshed","_init_accessContext","_init_accessContextLoading","_init_accessContextError","_init_advancedSharingOpen","_init_containerScope","_init_containerScopeAnalysis","_init_protectedTarget","_defineProperty","_classPrivateFieldGet","subjectUri","v","_classPrivateFieldSet","accessGrants","principalInputValue","addAccessRoleValue","authenticatedAccessRoleValue","publicAccessRoleValue","submitting","pendingAccessGrants","accessGrantDrafts","errors","successfulChangesRefreshed","accessContext","accessContextLoading","accessContextError","advancedSharingOpen","containerScope","containerScopeAnalysis","protectedTarget","disconnectedCallback","accessGrantLabelRequestVersion","accessContextRequestVersion","inputError","find","error","action","message","saveErrors","filter","setInputError","item","clearInputError","willUpdate","changedProperties","has","scopedAccessGrants","getScopedAccessGrants","updated","loadAccessContext","catch","refreshAccessGrantLabels","refreshContainerScopeAnalysis","isContainer","primaryScope","refreshScopedAccessGrantDrafts","requestVersion","sourceAccessGrants","scope","getSelectedContainerScope","grants","length","labels","Promise","all","map","authorization","agentGroup","groupUri","store","fetcher","load","doc","labelsById","Map","id","index","draft","subjectLabel","get","getDialogTitle","subject","trim","Boolean","URL","pathname","endsWith","accessContextSubjectUri","acl","findEffectiveAcl","inherited","authorizations","isProtectedResource","Error","ensureAccessContext","isConnected","canMutate","retryAccessContext","renderSharingInformation","isCustomSharing","inheritedContainer","effectiveContainer","inheritedContainerLabel","defaultContainer","onResetToDefault","renderSharingState","renderAdvancedSharing","hasMixedContainerPolicy","mixed","renderAccessContextState","renderMixedContainerWarning","selectContainerScope","checked","closeAdvancedSharing","render","dialogTitle","onSubmit","onPrincipalInput","onPrincipalSelect","onAddAccessRoleInput","onPendingGrantRemoved","onAccessGrantRoleInput","onAuthenticatedAccessRoleInput","onPublicAccessRoleInput","onCancelClick","hasUnsavedChanges","onSaveClick","e","preventDefault","commitPrincipalFromInputSafely","committed","saveAccessChanges","close","resetToDefault","directAccessGrants","findAccessGrants","targetUri","changedAccessGrants","generalAccessChanges","getGeneralAccessChanges","accessChanges","event","detail","queuePendingPrincipal","targetKind","currentAuthenticatedRole","currentPublicRole","authenticatedChange","role","publicChange","grant","_","pendingIndex","commitPrincipalFromInput","rawValue","inputSnapshot","principal","preferredLabel","snapshot","result","createPendingAccessGrant","merged","dedupePendingAccessGrants","normalizedPrincipal","resolvedTarget","subjectType","subjectValue","draftGrants","grantsBySubject","draftGrant","set","values","c","_initClass","_applyDecs","_Class","_identity","default","customElement","property","state","DialogComponent","createAccessGrantDrafts","getAuthenticatedAccessRole","getPublicAccessRole","error","analyzeContainerAccessScope","solidLogicSingleton","sym","getAuthorizationSubjectLabel","getSharedAuthorization","getAccessGrantIds","label","filterAuthorizationsByContainerScope","accessPrincipalOptionsProvider","getAccessGrantViewModels","getChangedAccessGrants","buildAccessChanges","applyAccessChanges","Authenticated","Public","resolveAccessTarget","styles","require_label","require_decorators","require_DialogComponent","require_debug","require_AccessControlModal_styles","require_accessGrantDrafts","require_accessTargetResolver","require_applyAccessChanges","require_buildAccessChanges","rdflib","solid_logic","lit","lit_decorators_js","_Class","_AccessControlModal3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_initProto","_initClass","_classDecs","_subjectUriDecs","_init_subjectUri","_accessGrantsDecs","_init_accessGrants","_principalInputValueDecs","_init_principalInputValue","_addAccessRoleValueDecs","_init_addAccessRoleValue","_authenticatedAccessRoleValueDecs","_init_authenticatedAccessRoleValue","_publicAccessRoleValueDecs","_init_publicAccessRoleValue","_submittingDecs","_init_submitting","_pendingAccessGrantsDecs","_init_pendingAccessGrants","_accessGrantDraftsDecs","_init_accessGrantDrafts","_errorsDecs","_init_errors","_successfulChangesRefreshedDecs","_init_successfulChangesRefreshed","_accessContextDecs","_init_accessContext","_accessContextLoadingDecs","_init_accessContextLoading","_accessContextErrorDecs","_init_accessContextError","_advancedSharingOpenDecs","_init_advancedSharingOpen","_containerScopeDecs","_init_containerScope","_containerScopeAnalysisDecs","_init_containerScopeAnalysis","_protectedTargetDecs","_init_protectedTarget","_AccessControlModal2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","isDefined","value","_AccessControlModal","args","error","item","changedProperties","scopedAccessGrants","error$2","error$3","requestVersion","sourceAccessGrants","subjectUri","scope","grants","labels","authorization","groupUri","labelsById","id","index","draft","subject","subjectLabel","accessContext","error$6","isCustomSharing","inheritedContainer","inheritedContainerLabel","defaultContainer","checked","dialogTitle","directAccessGrants","error$1","changedAccessGrants","generalAccessChanges","accessChanges","saveErrors","error$5","event","accessGrants","currentAuthenticatedRole","currentPublicRole","grant","pendingIndex","rawValue","inputSnapshot","error$4","snapshot","result","principal","role","preferredLabel","targetKind","merged","normalizedPrincipal","resolvedTarget","grantsBySubject","draftGrant","draftGrants"],"sources":["../../../src/components/access-control-modal/AccessControlModal.ts"],"sourcesContent":["import { customElement, DialogComponent } from '@/lib/components'\nimport { html } from 'lit'\nimport type { PropertyValues } from 'lit'\nimport { property, state } from 'lit/decorators.js'\nimport { label } from '@/utils/label'\nimport * as debug from '@/lib/debug'\nimport { Authenticated, Public, analyzeContainerAccessScope, filterAuthorizationsByContainerScope, solidLogicSingleton, type ACLContext, type AccessRole, type Authorization, type ContainerAccessScope, type ContainerAccessScopeResult } from 'solid-logic'\nimport { sym } from 'rdflib'\n\nimport '~icons/lucide/circle-x'\nimport '~icons/lucide/folder'\nimport '~icons/lucide/folder-open'\nimport '~icons/lucide/x'\nimport '@/components/dialog'\nimport '@/components/dialog-content'\nimport '@/components/dialog-footer'\nimport '@/components/button'\nimport '@/components/combobox'\nimport '@/components/combobox-option'\nimport './AccessControlSharedAccess'\nimport './AccessControlGeneralAccess'\nimport './AccessControlErrors'\n\nimport styles from './AccessControlModal.styles.css'\nimport type { AccessChange, AccessControlError, AccessGrantDraft, AccessGrantRoleChangedEvent, AccessSaveError, AccessSaveScope, InputAccessControlError, PendingAccessGrant, PendingGrantRemovedEvent, RoleChangedEvent, TargetInputEvent, TargetSelectedEvent } from './types'\nimport { createAccessGrantDrafts, getAccessGrantIds, getAccessGrantViewModels, getAuthenticatedAccessRole, getAuthorizationSubjectLabel, getChangedAccessGrants, getPublicAccessRole, getSharedAuthorization } from './accessGrantDrafts'\nimport { accessPrincipalOptionsProvider, resolveAccessTarget } from './accessTargetResolver'\nimport { applyAccessChanges } from './applyAccessChanges'\nimport { buildAccessChanges } from './buildAccessChanges'\n\nfunction isDefined<T> (value: T | undefined | null): value is T {\n return value !== undefined && value !== null\n}\n\ntype PendingAccessGrantCreationResult =\n | { grant: PendingAccessGrant }\n | { error: InputAccessControlError }\n\n@customElement('solid-ui-access-control-modal')\nexport default class AccessControlModal extends DialogComponent<void> {\n static styles = styles\n\n @property({ attribute: false })\n accessor subjectUri: string | undefined = undefined\n\n @property({ attribute: false })\n accessor accessGrants: Authorization[] | undefined = undefined\n\n @state()\n private accessor principalInputValue: string = ''\n\n @state()\n private accessor addAccessRoleValue: AccessRole = 'Viewer'\n\n @state()\n private accessor authenticatedAccessRoleValue: AccessRole = 'No Access'\n\n @state()\n private accessor publicAccessRoleValue: AccessRole = 'No Access'\n\n @state()\n private accessor submitting: boolean = false\n\n @state()\n private accessor pendingAccessGrants: PendingAccessGrant[] = []\n\n @state()\n private accessor accessGrantDrafts: AccessGrantDraft[] = []\n\n @state()\n private accessor errors: AccessControlError[] = []\n\n @state()\n private accessor successfulChangesRefreshed = true\n\n @state()\n private accessor accessContext: ACLContext | undefined\n\n @state()\n private accessor accessContextLoading = false\n\n @state()\n private accessor accessContextError = ''\n\n // Intentionally has no opener this release: scope selectors and reset are deferred.\n @state()\n private accessor advancedSharingOpen = false\n\n @state()\n private accessor containerScope: ContainerAccessScope = 'folder+contents'\n\n @state()\n private accessor containerScopeAnalysis: ContainerAccessScopeResult | undefined\n\n @state()\n private accessor protectedTarget = false\n\n private accessGrantLabelRequestVersion = 0\n private accessContextRequestVersion = 0\n private accessContextSubjectUri: string | undefined\n\n disconnectedCallback (): void {\n this.accessGrantLabelRequestVersion++\n this.accessContextRequestVersion++\n this.errors = []\n super.disconnectedCallback()\n }\n\n private get inputError (): string {\n return this.errors.find(error => error.action === 'input')?.message ?? ''\n }\n\n private get saveErrors (): AccessSaveError[] {\n return this.errors.filter((error): error is AccessSaveError => error.action !== 'input')\n }\n\n private setInputError (error: InputAccessControlError) {\n this.errors = [\n ...this.errors.filter(item => item.action !== 'input'),\n error\n ]\n }\n\n private clearInputError () {\n this.errors = this.errors.filter(error => error.action !== 'input')\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('accessGrants')) {\n const scopedAccessGrants = this.getScopedAccessGrants()\n this.accessGrantDrafts = createAccessGrantDrafts(scopedAccessGrants)\n this.authenticatedAccessRoleValue = getAuthenticatedAccessRole(scopedAccessGrants)\n this.publicAccessRoleValue = getPublicAccessRole(scopedAccessGrants)\n }\n }\n\n protected updated (changedProperties: PropertyValues<this>) {\n super.updated(changedProperties)\n\n if (changedProperties.has('subjectUri')) {\n this.loadAccessContext().catch(error => {\n debug.error('Failed to load access control context', error)\n })\n }\n\n if (changedProperties.has('accessGrants')) {\n this.refreshAccessGrantLabels().catch((error: unknown) => {\n debug.error('Failed to refresh access grant labels', error)\n })\n }\n\n if (changedProperties.has('accessContext' as keyof AccessControlModal) && !changedProperties.has('subjectUri')) {\n this.refreshContainerScopeAnalysis()\n }\n }\n\n private refreshContainerScopeAnalysis () {\n if (this.isContainer() && this.accessContext) {\n this.containerScopeAnalysis = analyzeContainerAccessScope(this.accessContext)\n this.containerScope = this.containerScopeAnalysis.primaryScope\n this.refreshScopedAccessGrantDrafts()\n } else {\n this.containerScopeAnalysis = undefined\n }\n }\n\n private async refreshAccessGrantLabels () {\n const requestVersion = ++this.accessGrantLabelRequestVersion\n const sourceAccessGrants = this.accessGrants\n const subjectUri = this.subjectUri\n const scope = this.getSelectedContainerScope()\n const grants = this.getScopedAccessGrants(scope)\n if (!grants.length) {\n this.accessGrantDrafts = []\n return\n }\n\n const labels = await Promise.all(grants.map(async authorization => {\n await Promise.all(authorization.agentGroup.map(async groupUri => {\n try {\n await solidLogicSingleton.store.fetcher.load(sym(groupUri).doc())\n } catch {\n // Keep the fallback label if the group document cannot be loaded.\n }\n }))\n\n return getAuthorizationSubjectLabel(getSharedAuthorization(authorization))\n }))\n\n if (\n requestVersion === this.accessGrantLabelRequestVersion &&\n this.accessGrants === sourceAccessGrants &&\n this.subjectUri === subjectUri &&\n this.getSelectedContainerScope() === scope\n ) {\n const labelsById = new Map(getAccessGrantIds(grants).map((id, index) => [id, labels[index]]))\n this.accessGrantDrafts = this.accessGrantDrafts.map(draft => ({\n ...draft,\n subjectLabel: labelsById.get(draft.id) ?? draft.subjectLabel\n }))\n }\n }\n\n private getDialogTitle (): string {\n const subject = this.subjectUri ? sym(this.subjectUri) : undefined\n const subjectLabel = subject ? label(subject).trim() : ''\n\n if (!subjectLabel || subjectLabel === 'this resource') {\n return 'Manage Access of \"this resource\"'\n }\n return `Manage Access of \"${subjectLabel}\"`\n }\n\n private isContainer (): boolean {\n return Boolean(this.subjectUri && new URL(this.subjectUri).pathname.endsWith('/'))\n }\n\n private async loadAccessContext (): Promise<void> {\n const requestVersion = ++this.accessContextRequestVersion\n const subjectUri = this.subjectUri\n this.accessContext = undefined\n this.accessContextSubjectUri = undefined\n this.accessContextError = ''\n this.accessContextLoading = Boolean(subjectUri)\n\n if (!subjectUri) {\n this.accessContextLoading = false\n return\n }\n\n try {\n const accessContext = await solidLogicSingleton.acl.findEffectiveAcl(subjectUri)\n if (requestVersion !== this.accessContextRequestVersion || this.subjectUri !== subjectUri) {\n return\n }\n\n this.accessContext = accessContext\n this.accessContextSubjectUri = subjectUri\n if (this.accessContext?.inherited && !(this.accessGrants?.length)) {\n // findAccessGrants only reports ACLs attached directly to the resource.\n // Inherited permissions are the effective grants users need to review.\n this.accessGrants = this.accessContext.authorizations\n }\n this.refreshContainerScopeAnalysis()\n this.protectedTarget = solidLogicSingleton.acl.isProtectedResource(subjectUri)\n if (this.protectedTarget) {\n this.refreshScopedAccessGrantDrafts()\n }\n } catch (error) {\n if (requestVersion !== this.accessContextRequestVersion || this.subjectUri !== subjectUri) {\n return\n }\n\n this.accessContextError = error instanceof Error && error.message.trim()\n ? error.message\n : 'Unable to load access settings for this resource.'\n debug.error('Failed to load access control context', error)\n } finally {\n if (requestVersion === this.accessContextRequestVersion && this.subjectUri === subjectUri) {\n this.accessContextLoading = false\n }\n }\n }\n\n private async ensureAccessContext (): Promise<boolean> {\n if (!this.subjectUri) {\n return false\n }\n\n // Direct method calls are used by consumers and unit tests before the\n // element is connected; the rendered controls are always guarded below.\n if (!this.isConnected) {\n return true\n }\n\n if (this.accessContextSubjectUri === this.subjectUri && this.accessContext && !this.accessContextError) {\n return true\n }\n\n await this.loadAccessContext()\n return this.accessContextSubjectUri === this.subjectUri && Boolean(this.accessContext) && !this.accessContextError\n }\n\n private canMutate (): boolean {\n if (!this.isConnected) {\n return true\n }\n\n if (!this.subjectUri) {\n return true\n }\n\n return Boolean(\n this.subjectUri &&\n this.accessContextSubjectUri === this.subjectUri &&\n this.accessContext &&\n !this.accessContextLoading &&\n !this.accessContextError\n )\n }\n\n private async retryAccessContext () {\n await this.loadAccessContext()\n }\n\n private renderSharingInformation () {\n if (!this.accessContext) {\n return html``\n }\n\n const isCustomSharing = !this.accessContext.inherited\n const inheritedContainer = this.accessContext?.effectiveContainer\n const inheritedContainerLabel = inheritedContainer\n ? label(sym(inheritedContainer)).trim()\n : ''\n const defaultContainer = inheritedContainerLabel && inheritedContainerLabel !== inheritedContainer\n ? html`<strong>${inheritedContainerLabel}</strong> (${inheritedContainer})`\n : html`<strong>${inheritedContainer ?? 'the parent container'}</strong>`\n return html`\n <div class=\"access-control-sharing-state-panel\">\n ${isCustomSharing\n ? html`\n <div class=\"access-control-sharing-state-custom-row\">\n <p>This resource has its own sharing settings.</p>\n ${!this.protectedTarget\n ? html`\n <solid-ui-button\n type=\"button\"\n variant=\"tertiary\"\n aria-label=\"Reset custom sharing to default\"\n @click=${this.onResetToDefault}\n >\n Reset to default\n </solid-ui-button>\n `\n : html``}\n </div>\n `\n : inheritedContainer\n ? html`<p>This resource inherits sharing settings from ${defaultContainer}.</p>`\n : html`<p>This resource inherits sharing settings, but no inherited default is available.</p>`}\n ${this.protectedTarget\n ? html`<p class=\"access-control-sharing-state-protected-message\">This is a protected storage resource. Its primary access-control settings cannot be reset here.</p>`\n : html``}\n </div>\n `\n }\n\n private renderSharingState () {\n if (!this.accessContext || !this.advancedSharingOpen) {\n return html``\n }\n\n return html`\n <section\n class=\"access-control-sharing-state\"\n aria-labelledby=\"access-control-advanced-sharing-heading\"\n >\n ${this.renderSharingInformation()}\n ${this.renderAdvancedSharing()}\n </section>\n `\n }\n\n private getSelectedContainerScope (): ContainerAccessScope {\n return this.containerScope\n }\n\n private hasMixedContainerPolicy (): boolean {\n return this.isContainer() && this.containerScopeAnalysis?.mixed === true\n }\n\n private renderAccessContextState () {\n if (this.accessContextLoading) {\n return html`<p role=\"status\">Loading access settings...</p>`\n }\n\n if (this.accessContextError) {\n return html`\n <solid-ui-error-state\n title=\"Could not load access settings\"\n message=${this.accessContextError}\n >\n <solid-ui-button type=\"button\" variant=\"secondary\" @click=${this.retryAccessContext}>\n Retry\n </solid-ui-button>\n </solid-ui-error-state>\n `\n }\n\n if (!this.accessContext) {\n return html`<p role=\"status\">Access settings are not ready yet.</p>`\n }\n\n return html``\n }\n\n private renderMixedContainerWarning () {\n if (!this.hasMixedContainerPolicy()) {\n return html``\n }\n\n return html`\n <div class=\"access-control-mixed-policy-warning\" role=\"alert\">\n <strong>This container has different access settings for the folder and its contents.</strong>\n <span>Changing this mixed policy is an advanced feature. You can still change access for the folder or its contents separately below.</span>\n </div>\n `\n }\n\n private getScopedAccessGrants (scope = this.getSelectedContainerScope()): Authorization[] {\n const grants = this.accessGrants ?? []\n if (!this.isContainer() || !this.subjectUri || this.protectedTarget) {\n return grants\n }\n return filterAuthorizationsByContainerScope(this.subjectUri, grants, scope, this.accessContext?.inherited ?? false)\n }\n\n private refreshScopedAccessGrantDrafts () {\n const scopedAccessGrants = this.getScopedAccessGrants()\n this.accessGrantDrafts = createAccessGrantDrafts(scopedAccessGrants)\n this.authenticatedAccessRoleValue = getAuthenticatedAccessRole(scopedAccessGrants)\n this.publicAccessRoleValue = getPublicAccessRole(scopedAccessGrants)\n }\n\n private selectContainerScope (scope: 'folder+contents' | 'contents' | 'folder') {\n this.containerScope = scope\n this.refreshScopedAccessGrantDrafts()\n }\n\n private renderAdvancedSharing () {\n if (!this.advancedSharingOpen) return html``\n\n return html`\n <section\n id=\"access-control-advanced-sharing\"\n class=\"access-control-advanced-sharing\"\n role=\"group\"\n aria-labelledby=\"access-control-advanced-sharing-heading\"\n aria-describedby=\"access-control-advanced-sharing-description\"\n >\n <h2 id=\"access-control-advanced-sharing-heading\">Advanced sharing</h2>\n <p id=\"access-control-advanced-sharing-description\">\n <span class=\"access-control-advanced-sharing-description-line\">Use this option when the folder and its contents have different access requirements.</span>\n <span class=\"access-control-advanced-sharing-description-line\">Choose which access settings to edit.</span>\n <span class=\"access-control-advanced-sharing-description-line\">Save Changes applies your current edits only to that scope.</span>\n </p>\n ${this.isContainer()\n ? html`\n <button\n type=\"button\"\n class=\"access-control-same-access-toggle\"\n role=\"switch\"\n aria-checked=${this.containerScope === 'folder+contents' ? 'true' : 'false'}\n @click=${() => {\n const checked = this.containerScope !== 'folder+contents'\n this.selectContainerScope(checked\n ? 'folder+contents'\n : this.containerScope === 'contents' ? 'contents' : 'folder')\n }}\n >\n <span class=\"access-control-switch-track\" aria-hidden=\"true\">\n <span class=\"access-control-switch-thumb\"></span>\n </span>\n <span>Use the same access for this folder and its contents</span>\n </button>\n <div class=\"access-control-advanced-sharing-options\">\n <solid-ui-button\n type=\"button\"\n variant=${this.containerScope === 'folder' ? 'primary' : 'secondary'}\n aria-pressed=${this.containerScope === 'folder' ? 'true' : 'false'}\n @click=${() => { this.selectContainerScope('folder') }}\n >\n Folder Only\n </solid-ui-button>\n <solid-ui-button\n type=\"button\"\n variant=${this.containerScope === 'contents' ? 'primary' : 'secondary'}\n aria-pressed=${this.containerScope === 'contents' ? 'true' : 'false'}\n @click=${() => { this.selectContainerScope('contents') }}\n >\n Contents Only\n </solid-ui-button>\n </div>\n `\n : html``}\n <div class=\"access-control-advanced-sharing-actions\">\n <solid-ui-button\n type=\"button\"\n variant=\"ghost\"\n aria-label=\"Close advanced sharing\"\n title=\"Close advanced sharing\"\n @click=${this.closeAdvancedSharing}\n >\n <icon-lucide-x slot=\"icon\" aria-hidden=\"true\"></icon-lucide-x>\n <span class=\"sr-only\">Close</span>\n </solid-ui-button>\n </div>\n </section>\n `\n }\n\n protected render () {\n const dialogTitle = this.getDialogTitle()\n\n return html`\n <solid-ui-dialog title=${dialogTitle}>\n <form @submit=${this.onSubmit}>\n <solid-ui-dialog-content>\n ${this.renderAccessContextState()}\n ${this.renderMixedContainerWarning()}\n <solid-ui-access-control-add-access\n .disabled=${!this.canMutate() || this.hasMixedContainerPolicy()}\n .principalInputValue=${this.principalInputValue}\n .addAccessRoleValue=${this.addAccessRoleValue}\n .pendingAccessGrants=${this.pendingAccessGrants}\n .inputError=${this.inputError}\n .asyncOptionsProvider=${accessPrincipalOptionsProvider}\n @target-input=${this.onPrincipalInput}\n @target-selected=${this.onPrincipalSelect}\n @role-changed=${this.onAddAccessRoleInput}\n @pending-grant-removed=${this.onPendingGrantRemoved}\n ></solid-ui-access-control-add-access>\n <solid-ui-access-control-shared-access\n .disabled=${!this.canMutate() || this.hasMixedContainerPolicy()}\n .accessGrantViewModels=${getAccessGrantViewModels(this.accessGrantDrafts)}\n @access-grant-role-changed=${this.onAccessGrantRoleInput}\n ></solid-ui-access-control-shared-access>\n <solid-ui-access-control-general-access\n .disabled=${!this.canMutate() || this.hasMixedContainerPolicy()}\n .subjectUri=${this.subjectUri}\n .authenticatedAccessRoleValue=${this.authenticatedAccessRoleValue}\n .publicAccessRoleValue=${this.publicAccessRoleValue}\n @authenticated-role-changed=${this.onAuthenticatedAccessRoleInput}\n @public-role-changed=${this.onPublicAccessRoleInput}\n ></solid-ui-access-control-general-access>\n <solid-ui-access-control-errors\n .errors=${this.saveErrors}\n .successfulChangesRefreshed=${this.successfulChangesRefreshed}\n @close=${this.onCancelClick}\n ></solid-ui-access-control-errors>\n ${this.renderSharingState()}\n </solid-ui-dialog-content>\n\n <solid-ui-dialog-footer>\n <div class=\"access-control-footer-actions\">\n <solid-ui-button\n variant=\"secondary\"\n @click=${this.onCancelClick}\n >\n Cancel\n </solid-ui-button>\n <solid-ui-button\n ?disabled=${!this.canMutate() || !this.hasUnsavedChanges() || this.submitting || this.saveErrors.length > 0 || this.hasMixedContainerPolicy()}\n ?loading=${this.submitting}\n type=\"button\"\n @click=${this.onSaveClick}\n >\n Save Changes\n </solid-ui-button>\n </div>\n </solid-ui-dialog-footer>\n </form>\n </solid-ui-dialog>\n `\n }\n\n private async onSubmit (e: Event) {\n e.preventDefault()\n\n if (this.submitting || this.hasMixedContainerPolicy()) {\n return\n }\n\n if (this.isConnected && !await this.ensureAccessContext()) {\n return\n }\n\n await this.commitPrincipalFromInputSafely()\n }\n\n private async onSaveClick () {\n if (this.submitting || this.hasMixedContainerPolicy()) {\n return\n }\n\n if (this.isConnected && !await this.ensureAccessContext()) {\n return\n }\n\n if (this.principalInputValue.trim()) {\n const committed = await this.commitPrincipalFromInputSafely()\n\n if (!committed) {\n return\n }\n }\n\n const scope = this.isContainer() && !this.protectedTarget\n ? this.getSelectedContainerScope()\n : 'file'\n await this.saveAccessChanges(scope === 'folder' ? 'container' : scope)\n }\n\n private onCancelClick () {\n this.close()\n }\n\n private closeAdvancedSharing () {\n this.advancedSharingOpen = false\n }\n\n private async onResetToDefault () {\n if (!this.subjectUri || !this.canMutate() || !this.accessContext || this.accessContext.inherited || this.submitting || this.hasMixedContainerPolicy()) return\n\n this.submitting = true\n this.errors = this.errors.filter(error => error.action === 'input')\n try {\n await solidLogicSingleton.acl.resetToDefault(this.subjectUri)\n await this.loadAccessContext()\n const directAccessGrants = await solidLogicSingleton.acl.findAccessGrants(this.subjectUri)\n this.accessGrants = this.accessContext?.inherited\n ? this.accessContext.authorizations\n : directAccessGrants\n } catch (error) {\n this.errors = [...this.errors, {\n action: 'reset',\n targetUri: this.subjectUri,\n label: 'Custom sharing',\n message: error instanceof Error ? error.message : 'Unable to reset sharing.'\n }]\n debug.error('Failed to reset access control', error)\n } finally {\n this.submitting = false\n }\n }\n\n private async saveAccessChanges (scope: AccessSaveScope = 'file') {\n if (this.submitting || !this.canMutate() || this.hasMixedContainerPolicy()) {\n return\n }\n\n const changedAccessGrants = getChangedAccessGrants(this.accessGrantDrafts)\n const generalAccessChanges = this.getGeneralAccessChanges()\n\n if (!this.pendingAccessGrants.length && !changedAccessGrants.length && !generalAccessChanges.length) {\n return\n }\n\n if (!this.subjectUri) {\n return\n }\n\n this.submitting = true\n this.errors = this.errors.filter(error => error.action === 'input')\n this.successfulChangesRefreshed = true\n\n try {\n const accessChanges = buildAccessChanges({\n pendingAccessGrants: this.pendingAccessGrants,\n generalAccessChanges,\n changedAccessGrants\n })\n\n const saveErrors = await applyAccessChanges(this.subjectUri, accessChanges, {\n containerScope: scope\n })\n if (saveErrors.length) {\n this.errors = [...this.errors, ...saveErrors]\n this.principalInputValue = ''\n this.pendingAccessGrants = []\n\n try {\n this.accessGrants = await solidLogicSingleton.acl.findAccessGrants(this.subjectUri)\n } catch (error) {\n this.successfulChangesRefreshed = false\n this.errors = [\n ...this.errors,\n {\n action: 'save',\n targetUri: this.subjectUri,\n label: 'Shared with list',\n message: error instanceof Error\n ? error.message\n : 'Unable to refresh the access list.'\n }\n ]\n debug.error('Failed to refresh access grants after save errors', error)\n }\n\n debug.error('Failed to save some access changes', saveErrors)\n return\n }\n\n this.principalInputValue = ''\n this.pendingAccessGrants = []\n this.close()\n } catch (error) {\n this.errors = [\n ...this.errors,\n {\n action: 'save',\n targetUri: this.subjectUri ?? '',\n label: 'Access changes',\n message: error instanceof Error\n ? error.message\n : 'Unexpected error while saving access changes.'\n }\n ]\n } finally {\n this.submitting = false\n }\n }\n\n private onPrincipalInput (event: TargetInputEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.principalInputValue = event.detail.value\n this.clearInputError()\n }\n\n private onPrincipalSelect (event: TargetSelectedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.queuePendingPrincipal(event.detail.value, this.addAccessRoleValue, event.detail.label, undefined, event.detail.targetKind)\n }\n\n private getGeneralAccessChanges (): AccessChange[] {\n if (!this.subjectUri) {\n return []\n }\n\n const accessGrants = this.getScopedAccessGrants()\n const currentAuthenticatedRole = getAuthenticatedAccessRole(accessGrants)\n const currentPublicRole = getPublicAccessRole(accessGrants)\n\n const authenticatedChange = this.authenticatedAccessRoleValue === currentAuthenticatedRole\n ? undefined\n : {\n subject: Authenticated,\n role: this.authenticatedAccessRoleValue,\n label: 'Authenticated users'\n }\n\n const publicChange = this.publicAccessRoleValue === currentPublicRole\n ? undefined\n : {\n subject: Public,\n role: this.publicAccessRoleValue,\n label: 'Public'\n }\n\n return [authenticatedChange, publicChange].filter(isDefined)\n }\n\n private onAddAccessRoleInput (event: RoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.addAccessRoleValue = event.detail.role\n this.pendingAccessGrants = this.pendingAccessGrants.map(grant => ({\n ...grant,\n role: event.detail.role\n }))\n }\n\n private onAuthenticatedAccessRoleInput (event: RoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.authenticatedAccessRoleValue = event.detail.role\n }\n\n private onPublicAccessRoleInput (event: RoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.publicAccessRoleValue = event.detail.role\n }\n\n private onAccessGrantRoleInput (event: AccessGrantRoleChangedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.accessGrantDrafts = this.accessGrantDrafts.map(draft =>\n draft.id === event.detail.id\n ? { ...draft, role: event.detail.role }\n : draft\n )\n }\n\n private onPendingGrantRemoved (event: PendingGrantRemovedEvent) {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) return\n this.pendingAccessGrants = this.pendingAccessGrants.filter((_, pendingIndex) => pendingIndex !== event.detail.index)\n }\n\n private hasUnsavedChanges (): boolean {\n return Boolean(\n this.pendingAccessGrants.length ||\n this.principalInputValue.trim() ||\n getChangedAccessGrants(this.accessGrantDrafts).length ||\n this.getGeneralAccessChanges().length\n )\n }\n\n private async commitPrincipalFromInput (): Promise<boolean> {\n if (!this.canMutate() || this.hasMixedContainerPolicy()) {\n return false\n }\n\n const rawValue = this.principalInputValue.trim()\n if (!rawValue) {\n return false\n }\n\n return this.queuePendingPrincipal(rawValue, this.addAccessRoleValue, undefined, rawValue)\n }\n\n private async commitPrincipalFromInputSafely (): Promise<boolean> {\n const inputSnapshot = this.principalInputValue.trim()\n\n try {\n return await this.commitPrincipalFromInput()\n } catch (error) {\n if (this.principalInputValue.trim() !== inputSnapshot) {\n debug.error('Ignored stale access-target validation error', error)\n return false\n }\n\n this.setInputError({\n action: 'input',\n label: 'Access target',\n targetUri: this.principalInputValue.trim(),\n message: 'We could not verify this access target. Check the value and try again.'\n })\n debug.error('Failed to commit pending access grants', error)\n return false\n }\n }\n\n private async queuePendingPrincipal (\n principal: string,\n role: AccessRole = this.addAccessRoleValue,\n preferredLabel?: string,\n inputSnapshot?: string,\n targetKind?: 'origin' | 'trustedApp'\n ): Promise<boolean> {\n const snapshot = inputSnapshot ?? this.principalInputValue.trim()\n const result = await this.createPendingAccessGrant(principal, role, preferredLabel, targetKind)\n\n if ('error' in result) {\n if (this.principalInputValue.trim() === snapshot) {\n this.setInputError(result.error)\n }\n debug.error('Failed to add access grant:', result.error.message)\n return false\n }\n\n const merged = [...this.pendingAccessGrants, result.grant]\n this.pendingAccessGrants = this.dedupePendingAccessGrants(merged)\n\n if (this.principalInputValue.trim() === snapshot) {\n this.clearInputError()\n this.principalInputValue = ''\n }\n\n return true\n }\n\n private async createPendingAccessGrant (\n principal: string,\n role: AccessRole = this.addAccessRoleValue,\n preferredLabel?: string,\n targetKind?: 'origin' | 'trustedApp'\n ): Promise<PendingAccessGrantCreationResult> {\n try {\n const normalizedPrincipal = principal.trim()\n const resolvedTarget = await resolveAccessTarget(normalizedPrincipal, preferredLabel)\n if (!resolvedTarget) {\n return {\n error: {\n action: 'input',\n label: 'Access target',\n targetUri: normalizedPrincipal,\n message: 'Could not verify this access target'\n }\n }\n }\n\n return {\n grant: {\n subjectType: resolvedTarget.subjectType,\n subjectValue: resolvedTarget.subjectValue,\n role,\n label: resolvedTarget.label,\n targetKind: targetKind ?? resolvedTarget.targetKind\n }\n }\n } catch (error) {\n return {\n error: {\n action: 'input',\n label: 'Access target',\n targetUri: principal,\n message: error instanceof Error && error.message.trim()\n ? error.message\n : 'Could not verify this access target'\n }\n }\n }\n }\n\n private dedupePendingAccessGrants (draftGrants: PendingAccessGrant[]): PendingAccessGrant[] {\n const grantsBySubject = new Map<string, PendingAccessGrant>()\n for (const draftGrant of draftGrants) {\n grantsBySubject.set(`${draftGrant.subjectType}:${draftGrant.subjectValue}`, draftGrant)\n }\n return [...grantsBySubject.values()]\n }\n}\n"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import { label as e } from "../../utils/label.esm.js";
2
- import { error as t } from "../../lib/debug.esm.js";
3
- import { customElement as n } from "../../lib/components/decorators.esm.js";
4
- import r from "../../lib/components/dialog-component/DialogComponent.esm.js";
5
1
  import "../../lib/components/index.esm.js";
2
+ import { label as e } from "../../utils/label.esm.js";
3
+ import { customElement as t } from "../../lib/components/decorators.esm.js";
4
+ import n from "../../lib/components/dialog-component/DialogComponent.esm.js";
5
+ import { error as r } from "../../lib/debug.esm.js";
6
+ import "../../_virtual/~icons/lucide/circle-x.esm.js";
7
+ import "../../_virtual/~icons/lucide/folder.esm.js";
8
+ import "../../_virtual/~icons/lucide/folder-open.esm.js";
6
9
  import "../../_virtual/~icons/lucide/x.esm.js";
7
- import "../button/index.esm.js";
8
10
  import "../dialog/index.esm.js";
9
11
  import "../dialog-content/index.esm.js";
10
12
  import "../dialog-footer/index.esm.js";
13
+ import "../button/index.esm.js";
11
14
  import "../combobox/index.esm.js";
12
15
  import "../combobox-option/index.esm.js";
13
- import "../../_virtual/~icons/lucide/circle-x.esm.js";
14
- import "../../_virtual/~icons/lucide/folder.esm.js";
15
- import "../../_virtual/~icons/lucide/folder-open.esm.js";
16
16
  import "./AccessControlSharedAccess.esm.js";
17
17
  import "./AccessControlGeneralAccess.esm.js";
18
18
  import "./AccessControlErrors.esm.js";
@@ -201,9 +201,9 @@ function Ge(e) {
201
201
  function Ke(e) {
202
202
  return e != null;
203
203
  }
204
- ne = [n("solid-ui-access-control-modal")];
204
+ ne = [t("solid-ui-access-control-modal")];
205
205
  var $;
206
- new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A = /*#__PURE__*/ new WeakMap(), j = /*#__PURE__*/ new WeakMap(), M = /*#__PURE__*/ new WeakMap(), N = /*#__PURE__*/ new WeakMap(), P = /*#__PURE__*/ new WeakMap(), F = /*#__PURE__*/ new WeakMap(), I = /*#__PURE__*/ new WeakMap(), L = /*#__PURE__*/ new WeakMap(), R = /*#__PURE__*/ new WeakMap(), z = /*#__PURE__*/ new WeakMap(), B = /*#__PURE__*/ new WeakMap(), V = /*#__PURE__*/ new WeakMap(), H = /*#__PURE__*/ new WeakMap(), U = /*#__PURE__*/ new WeakMap(), W = /*#__PURE__*/ new WeakMap(), G = /*#__PURE__*/ new WeakMap(), Le = (re = w({ attribute: !1 }), ae = w({ attribute: !1 }), K = T(), se = T(), le = T(), de = T(), pe = T(), he = T(), _e = T(), ye = T(), xe = T(), Ce = T(), Te = T(), De = T(), ke = T(), je = T(), Ne = T(), Fe = T(), "subjectUri"), D = class extends r {
206
+ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A = /*#__PURE__*/ new WeakMap(), j = /*#__PURE__*/ new WeakMap(), M = /*#__PURE__*/ new WeakMap(), N = /*#__PURE__*/ new WeakMap(), P = /*#__PURE__*/ new WeakMap(), F = /*#__PURE__*/ new WeakMap(), I = /*#__PURE__*/ new WeakMap(), L = /*#__PURE__*/ new WeakMap(), R = /*#__PURE__*/ new WeakMap(), z = /*#__PURE__*/ new WeakMap(), B = /*#__PURE__*/ new WeakMap(), V = /*#__PURE__*/ new WeakMap(), H = /*#__PURE__*/ new WeakMap(), U = /*#__PURE__*/ new WeakMap(), W = /*#__PURE__*/ new WeakMap(), G = /*#__PURE__*/ new WeakMap(), Le = (re = w({ attribute: !1 }), ae = w({ attribute: !1 }), K = T(), se = T(), le = T(), de = T(), pe = T(), he = T(), _e = T(), ye = T(), xe = T(), Ce = T(), Te = T(), De = T(), ke = T(), je = T(), Ne = T(), Fe = T(), "subjectUri"), D = class extends n {
207
207
  constructor(...e) {
208
208
  super(...e), Y(this, O, (ee(this), ie(this, void 0))), Y(this, k, oe(this, void 0)), Y(this, A, q(this, "")), Y(this, j, ce(this, "Viewer")), Y(this, M, ue(this, "No Access")), Y(this, N, fe(this, "No Access")), Y(this, P, me(this, !1)), Y(this, F, ge(this, [])), Y(this, I, ve(this, [])), Y(this, L, be(this, [])), Y(this, R, Se(this, !0)), Y(this, z, we(this)), Y(this, B, Ee(this, !1)), Y(this, V, Oe(this, "")), Y(this, H, Ae(this, !1)), Y(this, U, Me(this, "folder+contents")), Y(this, W, Pe(this)), Y(this, G, J(this, !1)), Q(this, "accessGrantLabelRequestVersion", 0), Q(this, "accessContextRequestVersion", 0), Q(this, "accessContextSubjectUri", void 0);
209
209
  }
@@ -338,9 +338,9 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
338
338
  }
339
339
  updated(e) {
340
340
  super.updated(e), e.has("subjectUri") && this.loadAccessContext().catch((e) => {
341
- t("Failed to load access control context", e);
341
+ r("Failed to load access control context", e);
342
342
  }), e.has("accessGrants") && this.refreshAccessGrantLabels().catch((e) => {
343
- t("Failed to refresh access grant labels", e);
343
+ r("Failed to refresh access grant labels", e);
344
344
  }), e.has("accessContext") && !e.has("subjectUri") && this.refreshContainerScopeAnalysis();
345
345
  }
346
346
  refreshContainerScopeAnalysis() {
@@ -373,17 +373,17 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
373
373
  return !!(this.subjectUri && new URL(this.subjectUri).pathname.endsWith("/"));
374
374
  }
375
375
  async loadAccessContext() {
376
- let e = ++this.accessContextRequestVersion, n = this.subjectUri;
377
- if (this.accessContext = void 0, this.accessContextSubjectUri = void 0, this.accessContextError = "", this.accessContextLoading = !!n, !n) this.accessContextLoading = !1;
376
+ let e = ++this.accessContextRequestVersion, t = this.subjectUri;
377
+ if (this.accessContext = void 0, this.accessContextSubjectUri = void 0, this.accessContextError = "", this.accessContextLoading = !!t, !t) this.accessContextLoading = !1;
378
378
  else try {
379
- let t = await S.acl.findEffectiveAcl(n);
380
- if (e !== this.accessContextRequestVersion || this.subjectUri !== n) return;
381
- this.accessContext = t, this.accessContextSubjectUri = n, this.accessContext?.inherited && !this.accessGrants?.length && (this.accessGrants = this.accessContext.authorizations), this.refreshContainerScopeAnalysis(), this.protectedTarget = S.acl.isProtectedResource(n), this.protectedTarget && this.refreshScopedAccessGrantDrafts();
382
- } catch (r) {
383
- if (e !== this.accessContextRequestVersion || this.subjectUri !== n) return;
384
- this.accessContextError = r instanceof Error && r.message.trim() ? r.message : "Unable to load access settings for this resource.", t("Failed to load access control context", r);
379
+ let n = await S.acl.findEffectiveAcl(t);
380
+ if (e !== this.accessContextRequestVersion || this.subjectUri !== t) return;
381
+ this.accessContext = n, this.accessContextSubjectUri = t, this.accessContext?.inherited && !this.accessGrants?.length && (this.accessGrants = this.accessContext.authorizations), this.refreshContainerScopeAnalysis(), this.protectedTarget = S.acl.isProtectedResource(t), this.protectedTarget && this.refreshScopedAccessGrantDrafts();
382
+ } catch (n) {
383
+ if (e !== this.accessContextRequestVersion || this.subjectUri !== t) return;
384
+ this.accessContextError = n instanceof Error && n.message.trim() ? n.message : "Unable to load access settings for this resource.", r("Failed to load access control context", n);
385
385
  } finally {
386
- e === this.accessContextRequestVersion && this.subjectUri === n && (this.accessContextLoading = !1);
386
+ e === this.accessContextRequestVersion && this.subjectUri === t && (this.accessContextLoading = !1);
387
387
  }
388
388
  }
389
389
  async ensureAccessContext() {
@@ -600,7 +600,7 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
600
600
  `;
601
601
  }
602
602
  async onSubmit(e) {
603
- e.preventDefault(), this.submitting || this.hasMixedContainerPolicy() || this.isConnected && !await this.ensureAccessContext() || await this.commitPrincipalFromInputSafely();
603
+ e.preventDefault(), this.submitting || this.hasMixedContainerPolicy() || (!this.isConnected || await this.ensureAccessContext()) && await this.commitPrincipalFromInputSafely();
604
604
  }
605
605
  async onSaveClick() {
606
606
  if (this.submitting || this.hasMixedContainerPolicy() || this.isConnected && !await this.ensureAccessContext() || this.principalInputValue.trim() && !await this.commitPrincipalFromInputSafely()) return;
@@ -626,7 +626,7 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
626
626
  targetUri: this.subjectUri,
627
627
  label: "Custom sharing",
628
628
  message: e instanceof Error ? e.message : "Unable to reset sharing."
629
- }], t("Failed to reset access control", e);
629
+ }], r("Failed to reset access control", e);
630
630
  } finally {
631
631
  this.submitting = !1;
632
632
  }
@@ -634,14 +634,14 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
634
634
  }
635
635
  async saveAccessChanges(e = "file") {
636
636
  if (this.submitting || !this.canMutate() || this.hasMixedContainerPolicy()) return;
637
- let n = u(this.accessGrantDrafts), r = this.getGeneralAccessChanges();
638
- if ((this.pendingAccessGrants.length || n.length || r.length) && this.subjectUri) {
637
+ let t = u(this.accessGrantDrafts), n = this.getGeneralAccessChanges();
638
+ if ((this.pendingAccessGrants.length || t.length || n.length) && this.subjectUri) {
639
639
  this.submitting = !0, this.errors = this.errors.filter((e) => e.action === "input"), this.successfulChangesRefreshed = !0;
640
640
  try {
641
641
  let i = g({
642
642
  pendingAccessGrants: this.pendingAccessGrants,
643
- generalAccessChanges: r,
644
- changedAccessGrants: n
643
+ generalAccessChanges: n,
644
+ changedAccessGrants: t
645
645
  }), a = await h(this.subjectUri, i, { containerScope: e });
646
646
  if (a.length) {
647
647
  this.errors = [...this.errors, ...a], this.principalInputValue = "", this.pendingAccessGrants = [];
@@ -653,9 +653,9 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
653
653
  targetUri: this.subjectUri,
654
654
  label: "Shared with list",
655
655
  message: e instanceof Error ? e.message : "Unable to refresh the access list."
656
- }], t("Failed to refresh access grants after save errors", e);
656
+ }], r("Failed to refresh access grants after save errors", e);
657
657
  }
658
- t("Failed to save some access changes", a);
658
+ r("Failed to save some access changes", a);
659
659
  return;
660
660
  }
661
661
  this.principalInputValue = "", this.pendingAccessGrants = [], this.close();
@@ -723,18 +723,18 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
723
723
  let e = this.principalInputValue.trim();
724
724
  try {
725
725
  return await this.commitPrincipalFromInput();
726
- } catch (n) {
726
+ } catch (t) {
727
727
  return this.principalInputValue.trim() === e ? (this.setInputError({
728
728
  action: "input",
729
729
  label: "Access target",
730
730
  targetUri: this.principalInputValue.trim(),
731
731
  message: "We could not verify this access target. Check the value and try again."
732
- }), t("Failed to commit pending access grants", n), !1) : (t("Ignored stale access-target validation error", n), !1);
732
+ }), r("Failed to commit pending access grants", t), !1) : (r("Ignored stale access-target validation error", t), !1);
733
733
  }
734
734
  }
735
- async queuePendingPrincipal(e, n = this.addAccessRoleValue, r, i, a) {
736
- let o = i ?? this.principalInputValue.trim(), s = await this.createPendingAccessGrant(e, n, r, a);
737
- if ("error" in s) return this.principalInputValue.trim() === o && this.setInputError(s.error), t("Failed to add access grant:", s.error.message), !1;
735
+ async queuePendingPrincipal(e, t = this.addAccessRoleValue, n, i, a) {
736
+ let o = i ?? this.principalInputValue.trim(), s = await this.createPendingAccessGrant(e, t, n, a);
737
+ if ("error" in s) return this.principalInputValue.trim() === o && this.setInputError(s.error), r("Failed to add access grant:", s.error.message), !1;
738
738
  let c = [...this.pendingAccessGrants, s.grant];
739
739
  return this.pendingAccessGrants = this.dedupePendingAccessGrants(c), this.principalInputValue.trim() === o && (this.clearInputError(), this.principalInputValue = ""), !0;
740
740
  }
@@ -858,7 +858,7 @@ new (Ie = (O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A =
858
858
  1,
859
859
  "protectedTarget"
860
860
  ]
861
- ], ne, 0, void 0, r), D), E = class extends Ge {
861
+ ], ne, 0, void 0, n), D), E = class extends Ge {
862
862
  constructor() {
863
863
  super($), Q(this, "styles", i), te();
864
864
  }