solid-ui 5.0.2-0 → 5.0.2-1

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 (390) hide show
  1. package/dist/_virtual/_rolldown/runtime.esm.js +1 -2
  2. package/dist/_virtual/~icons/app/solid-emblem.esm.js +1 -2
  3. package/dist/_virtual/~icons/lucide/book-user.esm.js +1 -2
  4. package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -2
  5. package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -2
  6. package/dist/_virtual/~icons/lucide/circle-x.esm.js +1 -2
  7. package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
  8. package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
  9. package/dist/_virtual/~icons/lucide/folder-open.esm.js +10 -0
  10. package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
  11. package/dist/_virtual/~icons/lucide/folder.cjs.js +2 -0
  12. package/dist/_virtual/~icons/lucide/folder.cjs.js.map +1 -0
  13. package/dist/_virtual/~icons/lucide/folder.esm.js +10 -0
  14. package/dist/_virtual/~icons/lucide/folder.esm.js.map +1 -0
  15. package/dist/_virtual/~icons/lucide/globe.esm.js +1 -2
  16. package/dist/_virtual/~icons/lucide/link.esm.js +1 -2
  17. package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -2
  18. package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -2
  19. package/dist/_virtual/~icons/lucide/square-arrow-out-up-right.esm.js +1 -2
  20. package/dist/_virtual/~icons/lucide/triangle-alert.esm.js +1 -2
  21. package/dist/_virtual/~icons/lucide/user-round.esm.js +1 -2
  22. package/dist/_virtual/~icons/lucide/user.esm.js +1 -2
  23. package/dist/_virtual/~icons/lucide/users.esm.js +1 -2
  24. package/dist/_virtual/~icons/lucide/x.esm.js +1 -2
  25. package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -2
  26. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js +1 -2
  27. package/dist/acl/access-controller.esm.js +1 -2
  28. package/dist/acl/access-groups.esm.js +1 -2
  29. package/dist/acl/acl-control.esm.js +1 -2
  30. package/dist/acl/acl.esm.js +1 -2
  31. package/dist/acl/add-agent-buttons.esm.js +1 -2
  32. package/dist/acl/index.esm.js +1 -2
  33. package/dist/chat/bookmarks.esm.js +1 -2
  34. package/dist/chat/chatLogic.esm.js +1 -2
  35. package/dist/chat/dateFolder.esm.js +1 -2
  36. package/dist/chat/infinite.cjs.js +1 -1
  37. package/dist/chat/infinite.cjs.js.map +1 -1
  38. package/dist/chat/infinite.esm.js +2 -3
  39. package/dist/chat/infinite.esm.js.map +1 -1
  40. package/dist/chat/keys.esm.js +1 -2
  41. package/dist/chat/message.esm.js +1 -2
  42. package/dist/chat/messageTools.esm.js +1 -2
  43. package/dist/chat/signature.esm.js +0 -1
  44. package/dist/chunks/{DialogProvider-B7oVYKJO.js → DialogProvider-C89v7x0r.js} +5 -8
  45. package/dist/chunks/{DialogProvider-B7oVYKJO.js.map → DialogProvider-C89v7x0r.js.map} +1 -1
  46. package/dist/chunks/{access-control-modal-eOv2-U27.js → access-control-modal-Dcg6-f4V.js} +924 -540
  47. package/dist/chunks/access-control-modal-Dcg6-f4V.js.map +1 -0
  48. package/dist/chunks/{account-DpmYJEd-.js → account-D6JK-n7u.js} +16 -21
  49. package/dist/chunks/{account-DpmYJEd-.js.map → account-D6JK-n7u.js.map} +1 -1
  50. package/dist/chunks/{auth-Hp8M6TQf.js → auth-B_abPDvH.js} +28 -31
  51. package/dist/chunks/auth-B_abPDvH.js.map +1 -0
  52. package/dist/chunks/{avatar-D5rcw6gN.js → avatar-BR3COVSQ.js} +6 -9
  53. package/dist/chunks/{avatar-D5rcw6gN.js.map → avatar-BR3COVSQ.js.map} +1 -1
  54. package/dist/chunks/{button-lol95DqR.js → button-D6qO2idW.js} +5 -8
  55. package/dist/chunks/{button-lol95DqR.js.map → button-D6qO2idW.js.map} +1 -1
  56. package/dist/chunks/{chevron-down-ujxRg3MD.js → chevron-down-CqUEolao.js} +2 -3
  57. package/dist/chunks/chevron-down-CqUEolao.js.map +1 -0
  58. package/dist/chunks/{chunk.UEBQI7VV-OBPERnuy.js → chunk.UEBQI7VV-lcP-fpUk.js} +14 -23
  59. package/dist/chunks/{chunk.UEBQI7VV-OBPERnuy.js.map → chunk.UEBQI7VV-lcP-fpUk.js.map} +1 -1
  60. package/dist/chunks/{combobox-Dmv-TZtI.js → combobox-fSTp9qoT.js} +11 -15
  61. package/dist/chunks/combobox-fSTp9qoT.js.map +1 -0
  62. package/dist/chunks/{combobox-option-B-Hksiq2.js → combobox-option-DOtGuKel.js} +4 -6
  63. package/dist/chunks/{combobox-option-B-Hksiq2.js.map → combobox-option-DOtGuKel.js.map} +1 -1
  64. package/dist/chunks/{components-Bdqizu8x.js → components-C8c2Ucm5.js} +17 -33
  65. package/dist/chunks/{components-Bdqizu8x.js.map → components-C8c2Ucm5.js.map} +1 -1
  66. package/dist/chunks/{dialog-DYgcCurb.js → dialog-CgYK767T.js} +8 -10
  67. package/dist/chunks/{dialog-DYgcCurb.js.map → dialog-CgYK767T.js.map} +1 -1
  68. package/dist/chunks/{dialog-content-jx08y2Oa.js → dialog-content-DjwRH1ci.js} +4 -6
  69. package/dist/chunks/{dialog-content-jx08y2Oa.js.map → dialog-content-DjwRH1ci.js.map} +1 -1
  70. package/dist/chunks/{dialog-footer-Bhl8k1PX.js → dialog-footer-GQWi8lfB.js} +4 -6
  71. package/dist/chunks/{dialog-footer-Bhl8k1PX.js.map → dialog-footer-GQWi8lfB.js.map} +1 -1
  72. package/dist/chunks/{dialog-header-Dn6PQzFB.js → dialog-header-c3qOMQfb.js} +4 -6
  73. package/dist/chunks/{dialog-header-Dn6PQzFB.js.map → dialog-header-c3qOMQfb.js.map} +1 -1
  74. package/dist/chunks/{dialogs-B6TfxrPt.js → dialogs-BmtLjMzg.js} +5 -7
  75. package/dist/chunks/{dialogs-B6TfxrPt.js.map → dialogs-BmtLjMzg.js.map} +1 -1
  76. package/dist/chunks/{dialogs-root-Qiucjj9u.js → dialogs-root-BcQo2XMF.js} +6 -8
  77. package/dist/chunks/{dialogs-root-Qiucjj9u.js.map → dialogs-root-BcQo2XMF.js.map} +1 -1
  78. package/dist/chunks/{error-state-DK1x-kNd.js → error-state-BD4_Wrkz.js} +6 -8
  79. package/dist/chunks/{error-state-DK1x-kNd.js.map → error-state-BD4_Wrkz.js.map} +1 -1
  80. package/dist/chunks/{guard-FbhNrJGh.js → guard-bTeM7wd7.js} +5 -7
  81. package/dist/chunks/{guard-FbhNrJGh.js.map → guard-bTeM7wd7.js.map} +1 -1
  82. package/dist/chunks/{index.esm-N8NHgFUj.js → index.esm-CECfD0e9.js} +3256 -3083
  83. package/dist/chunks/index.esm-CECfD0e9.js.map +1 -0
  84. package/dist/chunks/{input-lpqx_k53.js → input-Bz3l514j.js} +5 -7
  85. package/dist/chunks/{input-lpqx_k53.js.map → input-Bz3l514j.js.map} +1 -1
  86. package/dist/chunks/{jsonld-Djw57WRt.js → jsonld-CnfzCyCn.js} +4 -5
  87. package/dist/chunks/{jsonld-Djw57WRt.js.map → jsonld-CnfzCyCn.js.map} +1 -1
  88. package/dist/chunks/{login-button-DCq4Gi3_.js → login-button-Div4ZT4J.js} +6 -8
  89. package/dist/chunks/{login-button-DCq4Gi3_.js.map → login-button-Div4ZT4J.js.map} +1 -1
  90. package/dist/chunks/{logout-button-D3dJrsV4.js → logout-button-D3lqlnCX.js} +6 -8
  91. package/dist/chunks/{logout-button-D3dJrsV4.js.map → logout-button-D3lqlnCX.js.map} +1 -1
  92. package/dist/chunks/{menu-RJklqKQE.js → menu-D0k2fkiE.js} +22 -39
  93. package/dist/chunks/{menu-RJklqKQE.js.map → menu-D0k2fkiE.js.map} +1 -1
  94. package/dist/chunks/{menu-item-C2e0qj-v.js → menu-item-nfPpH4dN.js} +5 -7
  95. package/dist/chunks/{menu-item-C2e0qj-v.js.map → menu-item-nfPpH4dN.js.map} +1 -1
  96. package/dist/chunks/{photo-capture-DEMQNmzb.js → photo-capture-hJaJm4TM.js} +6 -8
  97. package/dist/chunks/{photo-capture-DEMQNmzb.js.map → photo-capture-hJaJm4TM.js.map} +1 -1
  98. package/dist/chunks/{photo-capture-modal-C7oESDQq.js → photo-capture-modal-BsHv6wmh.js} +9 -11
  99. package/dist/chunks/{photo-capture-modal-C7oESDQq.js.map → photo-capture-modal-BsHv6wmh.js.map} +1 -1
  100. package/dist/chunks/{provider-D9UgRI4G.js → provider-Dcd1NPYx.js} +7 -9
  101. package/dist/chunks/{provider-D9UgRI4G.js.map → provider-Dcd1NPYx.js.map} +1 -1
  102. package/dist/chunks/{query-BYu9q8lA.js → query-DjAOg-tk.js} +3 -5
  103. package/dist/chunks/{query-BYu9q8lA.js.map → query-DjAOg-tk.js.map} +1 -1
  104. package/dist/chunks/{rdf-form-BLgKdXP2.js → rdf-form-CmPnHKR-.js} +23 -25
  105. package/dist/chunks/{rdf-form-BLgKdXP2.js.map → rdf-form-CmPnHKR-.js.map} +1 -1
  106. package/dist/chunks/{rdf-input-DWnDpkXy.js → rdf-input-3AgoeCkJ.js} +48 -51
  107. package/dist/chunks/{rdf-input-DWnDpkXy.js.map → rdf-input-3AgoeCkJ.js.map} +1 -1
  108. package/dist/chunks/{select-CnkJMo_K.js → select-ClPkDkGl.js} +7 -10
  109. package/dist/chunks/{select-CnkJMo_K.js.map → select-ClPkDkGl.js.map} +1 -1
  110. package/dist/chunks/{select-option-B9HSZiTp.js → select-option-DQan7rcB.js} +4 -6
  111. package/dist/chunks/{select-option-B9HSZiTp.js.map → select-option-DQan7rcB.js.map} +1 -1
  112. package/dist/chunks/{show-dialog-eEW5yRBv.js → show-dialog-DAmFslrf.js} +2 -3
  113. package/dist/chunks/{show-dialog-eEW5yRBv.js.map → show-dialog-DAmFslrf.js.map} +1 -1
  114. package/dist/chunks/{signup-button-BQ4AWem2.js → signup-button-2fAoS0Nv.js} +6 -8
  115. package/dist/chunks/{signup-button-BQ4AWem2.js.map → signup-button-2fAoS0Nv.js.map} +1 -1
  116. package/dist/chunks/{solid-emblem-DNjQSX1z.js → solid-emblem-DwLdkGuO.js} +5 -8
  117. package/dist/chunks/{solid-emblem-DNjQSX1z.js.map → solid-emblem-DwLdkGuO.js.map} +1 -1
  118. package/dist/chunks/{src-DQMZZG1B.js → src-Dx7k_VIe.js} +2732 -2782
  119. package/dist/chunks/src-Dx7k_VIe.js.map +1 -0
  120. package/dist/chunks/{style-ChFDDB1c.js → style-w0Fl0xnd.js} +25 -29
  121. package/dist/chunks/{style-ChFDDB1c.js.map → style-w0Fl0xnd.js.map} +1 -1
  122. package/dist/chunks/{widgets-CVLwnfkU.js → widgets-BWpm5CPx.js} +694 -715
  123. package/dist/chunks/widgets-BWpm5CPx.js.map +1 -0
  124. package/dist/chunks/{x-BRRkraZN.js → x-D1JUUSOS.js} +2 -3
  125. package/dist/chunks/x-D1JUUSOS.js.map +1 -0
  126. package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js +11 -5
  127. package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js.map +1 -1
  128. package/dist/components/access-control-modal/AccessControlAddAccess.d.ts +1 -0
  129. package/dist/components/access-control-modal/AccessControlAddAccess.d.ts.map +1 -1
  130. package/dist/components/access-control-modal/AccessControlAddAccess.esm.js +75 -57
  131. package/dist/components/access-control-modal/AccessControlAddAccess.esm.js.map +1 -1
  132. package/dist/components/access-control-modal/AccessControlAddAccess.styles.cjs.js +1 -1
  133. package/dist/components/access-control-modal/AccessControlAddAccess.styles.cjs.js.map +1 -1
  134. package/dist/components/access-control-modal/AccessControlAddAccess.styles.esm.js +2 -3
  135. package/dist/components/access-control-modal/AccessControlAddAccess.styles.esm.js.map +1 -1
  136. package/dist/components/access-control-modal/AccessControlErrors.cjs.js +3 -2
  137. package/dist/components/access-control-modal/AccessControlErrors.cjs.js.map +1 -1
  138. package/dist/components/access-control-modal/AccessControlErrors.d.ts +1 -0
  139. package/dist/components/access-control-modal/AccessControlErrors.d.ts.map +1 -1
  140. package/dist/components/access-control-modal/AccessControlErrors.esm.js +6 -3
  141. package/dist/components/access-control-modal/AccessControlErrors.esm.js.map +1 -1
  142. package/dist/components/access-control-modal/AccessControlErrors.styles.esm.js +1 -2
  143. package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js +5 -3
  144. package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js.map +1 -1
  145. package/dist/components/access-control-modal/AccessControlGeneralAccess.d.ts +1 -0
  146. package/dist/components/access-control-modal/AccessControlGeneralAccess.d.ts.map +1 -1
  147. package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js +57 -45
  148. package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js.map +1 -1
  149. package/dist/components/access-control-modal/AccessControlGeneralAccess.styles.esm.js +1 -2
  150. package/dist/components/access-control-modal/AccessControlModal.cjs.js +112 -6
  151. package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
  152. package/dist/components/access-control-modal/AccessControlModal.d.ts +27 -0
  153. package/dist/components/access-control-modal/AccessControlModal.d.ts.map +1 -1
  154. package/dist/components/access-control-modal/AccessControlModal.esm.js +411 -127
  155. package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
  156. package/dist/components/access-control-modal/AccessControlModal.styles.cjs.js +1 -1
  157. package/dist/components/access-control-modal/AccessControlModal.styles.cjs.js.map +1 -1
  158. package/dist/components/access-control-modal/AccessControlModal.styles.esm.js +2 -3
  159. package/dist/components/access-control-modal/AccessControlModal.styles.esm.js.map +1 -1
  160. package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js +6 -5
  161. package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js.map +1 -1
  162. package/dist/components/access-control-modal/AccessControlSharedAccess.d.ts +1 -0
  163. package/dist/components/access-control-modal/AccessControlSharedAccess.d.ts.map +1 -1
  164. package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js +71 -55
  165. package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js.map +1 -1
  166. package/dist/components/access-control-modal/AccessControlSharedAccess.styles.esm.js +1 -2
  167. package/dist/components/access-control-modal/accessGrantDrafts.cjs.js +1 -1
  168. package/dist/components/access-control-modal/accessGrantDrafts.cjs.js.map +1 -1
  169. package/dist/components/access-control-modal/accessGrantDrafts.d.ts.map +1 -1
  170. package/dist/components/access-control-modal/accessGrantDrafts.esm.js +6 -7
  171. package/dist/components/access-control-modal/accessGrantDrafts.esm.js.map +1 -1
  172. package/dist/components/access-control-modal/accessTargetResolver.cjs.js +1 -1
  173. package/dist/components/access-control-modal/accessTargetResolver.cjs.js.map +1 -1
  174. package/dist/components/access-control-modal/accessTargetResolver.d.ts +1 -0
  175. package/dist/components/access-control-modal/accessTargetResolver.d.ts.map +1 -1
  176. package/dist/components/access-control-modal/accessTargetResolver.esm.js +92 -46
  177. package/dist/components/access-control-modal/accessTargetResolver.esm.js.map +1 -1
  178. package/dist/components/access-control-modal/applyAccessChanges.cjs.js +1 -1
  179. package/dist/components/access-control-modal/applyAccessChanges.cjs.js.map +1 -1
  180. package/dist/components/access-control-modal/applyAccessChanges.d.ts +4 -2
  181. package/dist/components/access-control-modal/applyAccessChanges.d.ts.map +1 -1
  182. package/dist/components/access-control-modal/applyAccessChanges.esm.js +23 -15
  183. package/dist/components/access-control-modal/applyAccessChanges.esm.js.map +1 -1
  184. package/dist/components/access-control-modal/buildAccessChanges.esm.js +1 -2
  185. package/dist/components/access-control-modal/helpers.esm.js +1 -2
  186. package/dist/components/access-control-modal/index.esm.js +1 -2
  187. package/dist/components/access-control-modal/types.d.ts +6 -1
  188. package/dist/components/access-control-modal/types.d.ts.map +1 -1
  189. package/dist/components/access-control-modal.js +1 -1
  190. package/dist/components/account/Account.esm.js +1 -2
  191. package/dist/components/account/Account.styles.esm.js +1 -2
  192. package/dist/components/account/index.esm.js +1 -2
  193. package/dist/components/account.js +1 -1
  194. package/dist/components/avatar/Avatar.esm.js +1 -2
  195. package/dist/components/avatar/Avatar.styles.esm.js +1 -2
  196. package/dist/components/avatar/index.esm.js +1 -2
  197. package/dist/components/avatar.js +1 -1
  198. package/dist/components/button/Button.esm.js +1 -2
  199. package/dist/components/button/Button.styles.esm.js +1 -2
  200. package/dist/components/button/index.esm.js +1 -2
  201. package/dist/components/button.js +1 -1
  202. package/dist/components/combobox/Combobox.cjs.js +1 -0
  203. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  204. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  205. package/dist/components/combobox/Combobox.esm.js +2 -2
  206. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  207. package/dist/components/combobox/Combobox.styles.esm.js +1 -2
  208. package/dist/components/combobox/index.esm.js +1 -2
  209. package/dist/components/combobox-option/ComboboxOption.esm.js +1 -2
  210. package/dist/components/combobox-option/index.esm.js +1 -2
  211. package/dist/components/combobox-option.js +1 -1
  212. package/dist/components/combobox.js +1 -1
  213. package/dist/components/dialog/Dialog.esm.js +1 -2
  214. package/dist/components/dialog/Dialog.styles.esm.js +1 -2
  215. package/dist/components/dialog/index.esm.js +1 -2
  216. package/dist/components/dialog-content/DialogContent.esm.js +1 -2
  217. package/dist/components/dialog-content/DialogContent.styles.esm.js +1 -2
  218. package/dist/components/dialog-content/index.esm.js +1 -2
  219. package/dist/components/dialog-content.js +1 -1
  220. package/dist/components/dialog-footer/DialogFooter.esm.js +1 -2
  221. package/dist/components/dialog-footer/DialogFooter.styles.esm.js +1 -2
  222. package/dist/components/dialog-footer/index.esm.js +1 -2
  223. package/dist/components/dialog-footer.js +1 -1
  224. package/dist/components/dialog-header/DialogHeader.esm.js +1 -2
  225. package/dist/components/dialog-header/DialogHeader.styles.esm.js +1 -2
  226. package/dist/components/dialog-header/index.esm.js +1 -2
  227. package/dist/components/dialog-header.js +1 -1
  228. package/dist/components/dialog-provider/DialogProvider.esm.js +1 -2
  229. package/dist/components/dialog-provider/index.esm.js +1 -2
  230. package/dist/components/dialog-provider.js +2 -3
  231. package/dist/components/dialog.js +1 -1
  232. package/dist/components/dialogs-root/DialogsRoot.esm.js +1 -2
  233. package/dist/components/dialogs-root/index.esm.js +1 -2
  234. package/dist/components/dialogs-root.js +1 -1
  235. package/dist/components/error-state/ErrorState.esm.js +1 -2
  236. package/dist/components/error-state/ErrorState.styles.esm.js +1 -2
  237. package/dist/components/error-state.js +1 -1
  238. package/dist/components/guard/Guard.esm.js +1 -2
  239. package/dist/components/guard/index.esm.js +1 -2
  240. package/dist/components/guard.js +1 -1
  241. package/dist/components/input/Input.esm.js +1 -2
  242. package/dist/components/input/Input.styles.esm.js +1 -2
  243. package/dist/components/input/index.esm.js +1 -2
  244. package/dist/components/input.js +1 -1
  245. package/dist/components/login-button/LoginButton.esm.js +1 -2
  246. package/dist/components/login-button/index.esm.js +1 -2
  247. package/dist/components/login-button.js +1 -1
  248. package/dist/components/login-modal/LoginModal.esm.js +1 -2
  249. package/dist/components/login-modal/LoginModal.styles.esm.js +1 -2
  250. package/dist/components/login-modal/index.esm.js +1 -2
  251. package/dist/components/login-modal.js +1 -1
  252. package/dist/components/logout-button/LogoutButton.esm.js +1 -2
  253. package/dist/components/logout-button/index.esm.js +1 -2
  254. package/dist/components/logout-button.js +1 -1
  255. package/dist/components/menu/Menu.esm.js +1 -2
  256. package/dist/components/menu/Menu.styles.esm.js +1 -2
  257. package/dist/components/menu/index.esm.js +1 -2
  258. package/dist/components/menu-item/MenuItem.esm.js +1 -2
  259. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -2
  260. package/dist/components/menu-item/index.esm.js +1 -2
  261. package/dist/components/menu-item.js +1 -1
  262. package/dist/components/menu.js +1 -1
  263. package/dist/components/photo-capture/PhotoCapture.esm.js +1 -2
  264. package/dist/components/photo-capture/index.esm.js +1 -2
  265. package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js +1 -1
  266. package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js.map +1 -1
  267. package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js +2 -3
  268. package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js.map +1 -1
  269. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.esm.js +1 -2
  270. package/dist/components/photo-capture-modal/index.esm.js +1 -2
  271. package/dist/components/photo-capture-modal.js +1 -1
  272. package/dist/components/photo-capture.js +1 -1
  273. package/dist/components/provider/Provider.esm.js +1 -2
  274. package/dist/components/provider/index.esm.js +1 -2
  275. package/dist/components/provider.js +1 -1
  276. package/dist/components/rdf-form/RDFForm.esm.js +1 -2
  277. package/dist/components/rdf-form/index.esm.js +1 -2
  278. package/dist/components/rdf-form.js +1 -1
  279. package/dist/components/rdf-input/RDFInput.esm.js +1 -2
  280. package/dist/components/rdf-input/index.esm.js +1 -2
  281. package/dist/components/rdf-input.js +1 -1
  282. package/dist/components/select/Select.esm.js +1 -2
  283. package/dist/components/select/Select.styles.esm.js +1 -2
  284. package/dist/components/select/index.esm.js +1 -2
  285. package/dist/components/select-option/SelectOption.esm.js +1 -2
  286. package/dist/components/select-option/index.esm.js +1 -2
  287. package/dist/components/select-option.js +1 -1
  288. package/dist/components/select.js +1 -1
  289. package/dist/components/signup-button/SignupButton.esm.js +1 -2
  290. package/dist/components/signup-button/index.esm.js +1 -2
  291. package/dist/components/signup-button.js +1 -1
  292. package/dist/components/solid-emblem/SolidEmblem.esm.js +1 -2
  293. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +1 -2
  294. package/dist/components/solid-emblem/index.esm.js +1 -2
  295. package/dist/components/solid-emblem.js +1 -1
  296. package/dist/components.js +28 -28
  297. package/dist/create/create.esm.js +1 -2
  298. package/dist/create/index.esm.js +1 -2
  299. package/dist/create/types.esm.js +1 -2
  300. package/dist/footer/index.esm.js +1 -2
  301. package/dist/header/empty-profile.esm.js +1 -2
  302. package/dist/header/index.esm.js +1 -2
  303. package/dist/index.esm.js +1 -2
  304. package/dist/index.js +8 -8
  305. package/dist/lib/auth/Account.esm.js +1 -2
  306. package/dist/lib/auth/NoopAuth.esm.js +1 -2
  307. package/dist/lib/auth/SolidAuth.esm.js +1 -2
  308. package/dist/lib/auth/context.esm.js +1 -2
  309. package/dist/lib/code-editor/CodeEditor.esm.js +1 -2
  310. package/dist/lib/components/decorators.esm.js +1 -2
  311. package/dist/lib/components/dialog-component/DialogComponent.esm.js +1 -2
  312. package/dist/lib/components/form-control-component/FormControlComponent.esm.js +1 -2
  313. package/dist/lib/components/ids.esm.js +1 -2
  314. package/dist/lib/components/traits/DialogTrait.esm.js +1 -2
  315. package/dist/lib/components/traits/FormControlTrait.esm.js +1 -2
  316. package/dist/lib/components/web-component/WebComponent.esm.js +1 -2
  317. package/dist/lib/components/web-component/WebComponent.styles.esm.js +1 -2
  318. package/dist/lib/debug.esm.js +1 -2
  319. package/dist/lib/dialogs/Dialog.esm.js +1 -2
  320. package/dist/lib/dialogs/context.esm.js +1 -2
  321. package/dist/lib/dialogs/events/close-dialog.esm.js +1 -2
  322. package/dist/lib/dialogs/events/show-dialog.esm.js +1 -2
  323. package/dist/lib/dialogs/helpers.esm.js +1 -2
  324. package/dist/lib/file-explorer/context.esm.js +1 -2
  325. package/dist/lib/forms/fieldParams.esm.js +1 -2
  326. package/dist/lib/forms/rdfFormsHelper.esm.js +1 -2
  327. package/dist/lib/forms/store/NoopStore.esm.js +1 -2
  328. package/dist/lib/forms/store/StoreContext.esm.js +1 -2
  329. package/dist/lib/iconBase.esm.js +1 -2
  330. package/dist/lib/log.esm.js +1 -2
  331. package/dist/lib/messageArea.esm.js +1 -2
  332. package/dist/lib/newperson.esm.js +1 -2
  333. package/dist/lib/ns.esm.js +1 -2
  334. package/dist/lib/pad.esm.js +1 -2
  335. package/dist/lib/participation.esm.js +1 -2
  336. package/dist/lib/preferences.esm.js +1 -2
  337. package/dist/lib/style.esm.js +1 -2
  338. package/dist/lib/styleConstants.esm.js +1 -2
  339. package/dist/lib/style_multiSelect.esm.js +1 -2
  340. package/dist/lib/table.esm.js +1 -2
  341. package/dist/lib/tabs.esm.js +1 -2
  342. package/dist/lib/timing.esm.js +1 -2
  343. package/dist/lib/values.esm.js +1 -2
  344. package/dist/loader.js +8 -8
  345. package/dist/login/login.esm.js +1 -2
  346. package/dist/matrix/index.esm.js +1 -2
  347. package/dist/matrix/matrix.esm.js +1 -2
  348. package/dist/media/index.esm.js +1 -2
  349. package/dist/media/media-capture.esm.js +1 -2
  350. package/dist/signup/config-default.esm.js +1 -2
  351. package/dist/signup/signup.esm.js +1 -2
  352. package/dist/solid-ui.js +243 -126
  353. package/dist/solid-ui.min.js +243 -126
  354. package/dist/solid-ui.min.js.map +1 -1
  355. package/dist/utils/headerFooterHelpers.esm.js +1 -2
  356. package/dist/utils/index.esm.js +1 -2
  357. package/dist/utils/keyHelpers/accessData.esm.js +1 -2
  358. package/dist/utils/keyHelpers/acl.esm.js +1 -2
  359. package/dist/utils/keyHelpers/otherHelpers.esm.js +1 -2
  360. package/dist/utils/label.esm.js +1 -2
  361. package/dist/widgets/buttons/iconLinks.esm.js +1 -2
  362. package/dist/widgets/buttons.esm.js +1 -2
  363. package/dist/widgets/dragAndDrop.esm.js +1 -2
  364. package/dist/widgets/error.esm.js +1 -2
  365. package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js +1 -2
  366. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js +1 -2
  367. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js +1 -1
  368. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  369. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js +2 -3
  370. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
  371. package/dist/widgets/forms/autocomplete/language.esm.js +1 -2
  372. package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -2
  373. package/dist/widgets/forms/basic.esm.js +1 -2
  374. package/dist/widgets/forms/fieldFunction.esm.js +1 -2
  375. package/dist/widgets/forms/fieldParams.esm.js +1 -2
  376. package/dist/widgets/forms/formStyle.esm.js +1 -2
  377. package/dist/widgets/forms.esm.js +1 -2
  378. package/dist/widgets/index.esm.js +1 -2
  379. package/dist/widgets/multiSelect.esm.js +1 -2
  380. package/dist/widgets/peoplePicker.esm.js +1 -2
  381. package/dist/widgets/widgetHelpers.esm.js +1 -2
  382. package/package.json +2 -2
  383. package/dist/chunks/access-control-modal-eOv2-U27.js.map +0 -1
  384. package/dist/chunks/auth-Hp8M6TQf.js.map +0 -1
  385. package/dist/chunks/chevron-down-ujxRg3MD.js.map +0 -1
  386. package/dist/chunks/combobox-Dmv-TZtI.js.map +0 -1
  387. package/dist/chunks/index.esm-N8NHgFUj.js.map +0 -1
  388. package/dist/chunks/src-DQMZZG1B.js.map +0 -1
  389. package/dist/chunks/widgets-CVLwnfkU.js.map +0 -1
  390. package/dist/chunks/x-BRRkraZN.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"accessTargetResolver.d.ts","sourceRoot":"","sources":["../../../src/components/access-control-modal/accessTargetResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,4BAA4B,EAA2B,MAAM,uBAAuB,CAAA;AAGtI,OAAO,EAAkD,KAAK,wBAAwB,EAAuB,MAAM,aAAa,CAAA;AAIhI,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,wBAAwB,CAAA;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AA2BD,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAgB3C;AAqDD,eAAO,MAAM,8BAA8B,EAAE,4BAqCzC,CAAA"}
1
+ {"version":3,"file":"accessTargetResolver.d.ts","sourceRoot":"","sources":["../../../src/components/access-control-modal/accessTargetResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,4BAA4B,EAA2B,MAAM,uBAAuB,CAAA;AAGtI,OAAO,EAAkD,KAAK,wBAAwB,EAAuB,MAAM,aAAa,CAAA;AAIhI,OAAO,qBAAqB,CAAA;AAG5B,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,wBAAwB,CAAA;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAA;CACrC,CAAA;AAqCD,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAiB3C;AAiFD,eAAO,MAAM,8BAA8B,EAAE,4BAmDzC,CAAA"}
@@ -1,88 +1,128 @@
1
- import { label as e } from "../../utils/label.esm.js";
2
- import { defineAsyncComboboxOptionsProvider as t } from "../combobox/Combobox.esm.js";
1
+ import e from "../../lib/ns.esm.js";
2
+ import { label as t } from "../../utils/label.esm.js";
3
+ import { defineAsyncComboboxOptionsProvider as n } from "../combobox/Combobox.esm.js";
3
4
  import "../combobox/index.esm.js";
4
- import { dedupeByKey as n, dedupeComboboxOptions as r, isAbsoluteHttpUri as i, isOriginUrl as a, normalizeOriginInput as o } from "./helpers.esm.js";
5
- import { directoryEntryOptionTemplate as s } from "./AccessControlAddAccess.esm.js";
6
- import { sym as c } from "rdflib";
7
- import { DEFAULT_DIRECTORY_SOURCES as l, solidLogicSingleton as u } from "solid-logic";
8
- //#region src/components/access-control-modal/accessTargetResolver.ts
9
- async function d(e) {
10
- let t = o(e);
5
+ import "../../_virtual/~icons/lucide/globe.esm.js";
6
+ import { directoryEntryOptionTemplate as r } from "./AccessControlAddAccess.esm.js";
7
+ import { dedupeByKey as i, dedupeComboboxOptions as a, isAbsoluteHttpUri as o, isOriginUrl as s, normalizeOriginInput as c } from "./helpers.esm.js";
8
+ import { sym as l } from "rdflib";
9
+ import { DEFAULT_DIRECTORY_SOURCES as u, solidLogicSingleton as d } from "solid-logic";
10
+ import { html as f } from "lit";
11
+ // src/components/access-control-modal/accessTargetResolver.ts
12
+ async function p(e) {
13
+ let t = c(e);
11
14
  return t ? {
12
15
  kind: "origin",
13
16
  subjectValue: t
14
- } : await u.acl.classifyAccessControlSubject(e);
17
+ } : s(e) ? {
18
+ kind: "origin",
19
+ subjectValue: new URL(e).origin
20
+ } : await d.acl.classifyAccessControlSubject(e);
15
21
  }
16
- async function f(t, n) {
17
- if (!t || t.kind === "origin") return t?.subjectValue;
18
- let r = c(t.subjectValue);
19
- await u.store.fetcher.load(r.doc());
20
- let i = n?.trim() || e(r).trim();
21
- if (i && i !== t.subjectValue) return i;
22
+ async function m(e, n) {
23
+ if (!e || e.kind === "origin") return e?.subjectValue;
24
+ let r = l(e.subjectValue);
25
+ await d.store.fetcher.load(r.doc());
26
+ let i = n?.trim() || t(r).trim();
27
+ if (!i || i === e.subjectValue) throw Error("The access target has no usable display label.");
28
+ return i;
22
29
  }
23
- async function p(e, t) {
24
- let n = await d(e);
30
+ async function h(e, t) {
31
+ let n = await p(e);
25
32
  if (!n) return;
26
- let r = await f(n, t);
33
+ let r = await m(n, t);
27
34
  if (r) return {
28
35
  subjectType: n.kind,
29
36
  subjectValue: n.subjectValue,
30
- label: r
37
+ label: r,
38
+ targetKind: n.kind === "origin" ? "origin" : void 0
31
39
  };
32
40
  }
33
- async function m(e) {
34
- let t = await p(e);
41
+ async function g(e) {
42
+ let t = await h(e);
35
43
  return t ? {
36
44
  label: t.label,
37
45
  value: e
38
46
  } : void 0;
39
47
  }
40
- function h(e, t) {
48
+ function _(e, t) {
41
49
  return {
42
50
  label: t,
43
51
  value: e.uri,
44
- template: s({
52
+ template: r({
45
53
  ...e,
46
54
  label: t
47
55
  })
48
56
  };
49
57
  }
50
- async function g(e) {
51
- let t = o(e);
58
+ async function v(e) {
59
+ let t = c(e);
52
60
  if (t) return [{
53
61
  label: `Use origin ${t}`,
54
- value: t
62
+ value: t,
63
+ targetKind: "origin",
64
+ template: f`<span class="access-grants-directory-entry"><icon-lucide-globe style="width: 13px; height: 13px; flex: 0 0 13px;"></icon-lucide-globe><span>Use origin ${t}</span></span>`
55
65
  }];
56
- if (!i(e)) return [];
57
- if (a(e)) return [{
66
+ if (!o(e)) return [];
67
+ if (s(e)) return [{
58
68
  label: `Use origin ${new URL(e).origin}`,
59
- value: new URL(e).origin
69
+ value: new URL(e).origin,
70
+ targetKind: "origin",
71
+ template: f`<span class="access-grants-directory-entry"><icon-lucide-globe style="width: 13px; height: 13px; flex: 0 0 13px;"></icon-lucide-globe><span>Use origin ${new URL(e).origin}</span></span>`
60
72
  }];
61
- let n = await m(e);
62
- return r(n ? [n] : []);
73
+ let n = await g(e);
74
+ return a(n ? [n] : []);
75
+ }
76
+ async function y(t) {
77
+ try {
78
+ let n = d.authn.currentUser();
79
+ if (!n) return [];
80
+ await d.profile.loadProfile(n);
81
+ let r = d.store;
82
+ return r.each(n, e.acl("trustedApp")).flatMap((n) => {
83
+ let i = r.any(n, e.acl("origin"));
84
+ if (!i || !s(i.value)) return [];
85
+ let a = new URL(i.value).origin;
86
+ return t && !`${a} trusted app`.toLowerCase().includes(t.toLowerCase()) ? [] : [{
87
+ label: `Trusted app: ${a}`,
88
+ value: a,
89
+ targetKind: "trustedApp",
90
+ template: f`<span class="access-grants-directory-entry"><icon-lucide-globe style="width: 13px; height: 13px; flex: 0 0 13px;"></icon-lucide-globe><span>Trusted app: ${a}</span></span>`
91
+ }];
92
+ });
93
+ } catch {
94
+ return [];
95
+ }
63
96
  }
64
- function _(e) {
97
+ function b(e) {
65
98
  return e.length ? e : [{
66
99
  label: "Type at least 2 characters to search",
67
100
  value: "",
68
101
  selectable: !1
69
102
  }];
70
103
  }
71
- var v = t(async (e) => {
72
- let t = e.trim(), r = await g(t);
73
- if (t.length < 2) return _(r);
74
- let i = [];
104
+ var x = n(async (e) => {
105
+ let t = e.trim(), n = await v(t), r = await y(t);
106
+ if (t.length < 2) return i([
107
+ ...n,
108
+ ...r,
109
+ ...b(n)
110
+ ], (e) => {
111
+ let t = e;
112
+ return typeof t.value == "string" ? `${t.value}:${t.targetKind ?? "default"}` : void 0;
113
+ });
114
+ let a = [];
75
115
  try {
76
- i = await u.directory.search({
116
+ a = await d.directory.search({
77
117
  query: t,
78
- sources: l
118
+ sources: u
79
119
  });
80
120
  } catch (e) {
81
- if (!r.length) throw e;
121
+ if (!n.length && !r.length) throw e;
82
122
  }
83
- let a = (await Promise.all(i.map(async (e) => {
123
+ let o = (await Promise.all(a.map(async (e) => {
84
124
  try {
85
- let t = await p(e.uri, e.label);
125
+ let t = await h(e.uri, e.label);
86
126
  return t ? {
87
127
  entry: e,
88
128
  label: t.label
@@ -90,10 +130,16 @@ var v = t(async (e) => {
90
130
  } catch {
91
131
  return;
92
132
  }
93
- }))).filter((e) => e !== void 0).map(({ entry: e, label: t }) => h(e, t));
94
- return n([...r, ...a], (e) => typeof e.value == "string" ? e.value : void 0);
133
+ }))).filter((e) => e !== void 0).map(({ entry: e, label: t }) => _(e, t));
134
+ return i([
135
+ ...n,
136
+ ...r,
137
+ ...o
138
+ ], (e) => {
139
+ let t = e;
140
+ return typeof t.value == "string" ? `${t.value}:${t.targetKind ?? "default"}` : void 0;
141
+ });
95
142
  });
96
- //#endregion
97
- export { v as accessPrincipalOptionsProvider, p as resolveAccessTarget };
143
+ export { x as accessPrincipalOptionsProvider, h as resolveAccessTarget };
98
144
 
99
145
  //# sourceMappingURL=accessTargetResolver.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessTargetResolver.esm.js","names":["defineAsyncComboboxOptionsProvider","directoryEntryOptionTemplate","label","DEFAULT_DIRECTORY_SOURCES","solidLogicSingleton","sym","dedupeByKey","dedupeComboboxOptions","isAbsoluteHttpUri","isOriginUrl","normalizeOriginInput","classifyAccessTarget","principal","normalizedOrigin","kind","subjectValue","acl","classifyAccessControlSubject","resolveAccessTargetLabel","resolvedPrincipal","preferredLabel","subject","store","fetcher","load","doc","resolvedLabel","trim","undefined","resolveAccessTarget","subjectType","createUrlOption","uri","resolved","value","directoryEntryToOption","entry","labelValue","template","getPreferredAccessPrincipalOptions","query","URL","origin","urlOption","getShortQueryOptions","preferredOptions","length","selectable","accessPrincipalOptionsProvider","filter","entries","directory","search","sources","error","verifiedEntries","Promise","all","map","options","entryLabel","option","classifyAccessTarget","normalizedOrigin","normalizeOriginInput","principal","solidLogicSingleton","resolveAccessTargetLabel","resolvedPrincipal","subject","sym","resolvedLabel","preferredLabel","label","resolveAccessTarget","createUrlOption","resolved","uri","directoryEntryToOption","labelValue","entry","directoryEntryOptionTemplate","getPreferredAccessPrincipalOptions","query","isAbsoluteHttpUri","isOriginUrl","urlOption","dedupeComboboxOptions","getShortQueryOptions","preferredOptions","accessPrincipalOptionsProvider","defineAsyncComboboxOptionsProvider","filter","entries","DEFAULT_DIRECTORY_SOURCES","error","options","entryLabel","dedupeByKey","option"],"sources":["../../../src/components/access-control-modal/accessTargetResolver.ts"],"sourcesContent":["import { defineAsyncComboboxOptionsProvider, type AsyncComboboxOptionsProvider, type ComboboxOptionData } from '@/components/combobox'\nimport { directoryEntryOptionTemplate } from './AccessControlAddAccess'\nimport { label } from '@/utils/label'\nimport { DEFAULT_DIRECTORY_SOURCES, solidLogicSingleton, type AccessControlSubjectKind, type DirectoryEntry } from 'solid-logic'\nimport { sym } from 'rdflib'\nimport { dedupeByKey, dedupeComboboxOptions, isAbsoluteHttpUri, isOriginUrl, normalizeOriginInput, type StringComboboxOptionData } from './helpers'\n\nexport type ResolvedAccessTarget = {\n subjectType: AccessControlSubjectKind\n subjectValue: string\n label: string\n}\n\nasync function classifyAccessTarget (principal: string) {\n const normalizedOrigin = normalizeOriginInput(principal)\n return normalizedOrigin\n ? { kind: 'origin' as const, subjectValue: normalizedOrigin }\n : await solidLogicSingleton.acl.classifyAccessControlSubject(principal)\n}\n\nasync function resolveAccessTargetLabel (\n resolvedPrincipal: Awaited<ReturnType<typeof classifyAccessTarget>>,\n preferredLabel?: string\n): Promise<string | undefined> {\n if (!resolvedPrincipal || resolvedPrincipal.kind === 'origin') {\n return resolvedPrincipal?.subjectValue\n }\n\n const subject = sym(resolvedPrincipal.subjectValue)\n await solidLogicSingleton.store.fetcher.load(subject.doc())\n const resolvedLabel = preferredLabel?.trim() || label(subject).trim()\n if (!resolvedLabel || resolvedLabel === resolvedPrincipal.subjectValue) {\n return undefined\n }\n\n return resolvedLabel\n}\n\nexport async function resolveAccessTarget (\n principal: string,\n preferredLabel?: string\n): Promise<ResolvedAccessTarget | undefined> {\n const resolvedPrincipal = await classifyAccessTarget(principal)\n if (!resolvedPrincipal) {\n return undefined\n }\n\n const resolvedLabel = await resolveAccessTargetLabel(resolvedPrincipal, preferredLabel)\n if (!resolvedLabel) {\n return undefined\n }\n\n return {\n subjectType: resolvedPrincipal.kind,\n subjectValue: resolvedPrincipal.subjectValue,\n label: resolvedLabel\n }\n}\n\nasync function createUrlOption (uri: string): Promise<StringComboboxOptionData | undefined> {\n const resolved = await resolveAccessTarget(uri)\n return resolved\n ? { label: resolved.label, value: uri }\n : undefined\n}\n\nfunction directoryEntryToOption (entry: DirectoryEntry, labelValue: string): ComboboxOptionData {\n return {\n label: labelValue,\n value: entry.uri,\n template: directoryEntryOptionTemplate({ ...entry, label: labelValue })\n }\n}\n\nasync function getPreferredAccessPrincipalOptions (query: string): Promise<ComboboxOptionData[]> {\n const normalizedOrigin = normalizeOriginInput(query)\n if (normalizedOrigin) {\n return [{\n label: `Use origin ${normalizedOrigin}`,\n value: normalizedOrigin\n }]\n }\n\n if (!isAbsoluteHttpUri(query)) {\n return []\n }\n\n if (isOriginUrl(query)) {\n return [{\n label: `Use origin ${new URL(query).origin}`,\n value: new URL(query).origin\n }]\n }\n\n const urlOption = await createUrlOption(query)\n return dedupeComboboxOptions(urlOption ? [urlOption] : [])\n}\n\nfunction getShortQueryOptions (preferredOptions: ComboboxOptionData[]): ComboboxOptionData[] {\n if (preferredOptions.length) {\n return preferredOptions\n }\n\n return [{\n label: 'Type at least 2 characters to search',\n value: '',\n selectable: false\n }]\n}\n\nexport const accessPrincipalOptionsProvider: AsyncComboboxOptionsProvider =\n defineAsyncComboboxOptionsProvider(async (filter: string) => {\n const query = filter.trim()\n const preferredOptions = await getPreferredAccessPrincipalOptions(query)\n\n if (query.length < 2) {\n return getShortQueryOptions(preferredOptions)\n }\n\n let entries: DirectoryEntry[] = []\n\n try {\n entries = await solidLogicSingleton.directory.search({\n query,\n sources: DEFAULT_DIRECTORY_SOURCES\n })\n } catch (error) {\n if (!preferredOptions.length) {\n throw error\n }\n }\n\n const verifiedEntries = await Promise.all(entries.map(async entry => {\n try {\n const resolved = await resolveAccessTarget(entry.uri, entry.label)\n return resolved ? { entry, label: resolved.label } : undefined\n } catch {\n return undefined\n }\n }))\n const options = verifiedEntries\n .filter((entry): entry is { entry: DirectoryEntry, label: string } => entry !== undefined)\n .map(({ entry, label: entryLabel }) => directoryEntryToOption(entry, entryLabel))\n return dedupeByKey(\n [...preferredOptions, ...options],\n option => typeof option.value === 'string' ? option.value : undefined\n )\n })\n"],"mappings":"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"}
1
+ {"version":3,"file":"accessTargetResolver.esm.js","names":["defineAsyncComboboxOptionsProvider","directoryEntryOptionTemplate","label","DEFAULT_DIRECTORY_SOURCES","solidLogicSingleton","sym","html","ns","dedupeByKey","dedupeComboboxOptions","isAbsoluteHttpUri","isOriginUrl","normalizeOriginInput","classifyAccessTarget","principal","normalizedOrigin","kind","subjectValue","URL","origin","acl","classifyAccessControlSubject","resolveAccessTargetLabel","resolvedPrincipal","preferredLabel","subject","store","fetcher","load","doc","resolvedLabel","trim","Error","resolveAccessTarget","undefined","subjectType","targetKind","createUrlOption","uri","resolved","value","directoryEntryToOption","entry","labelValue","template","getPreferredAccessPrincipalOptions","query","urlOption","getTrustedAppOptions","me","authn","currentUser","profile","loadProfile","apps","each","flatMap","app","any","toLowerCase","includes","getShortQueryOptions","preferredOptions","length","selectable","accessPrincipalOptionsProvider","filter","trustedAppOptions","option","targetOption","entries","directory","search","sources","error","verifiedEntries","Promise","all","map","options","entryLabel","ns","ns_default","classifyAccessTarget","normalizedOrigin","normalizeOriginInput","principal","isOriginUrl","solidLogicSingleton","resolveAccessTargetLabel","resolvedPrincipal","subject","sym","resolvedLabel","preferredLabel","label","resolveAccessTarget","createUrlOption","resolved","uri","directoryEntryToOption","labelValue","entry","directoryEntryOptionTemplate","getPreferredAccessPrincipalOptions","query","isAbsoluteHttpUri","urlOption","dedupeComboboxOptions","getTrustedAppOptions","me","store","origin","app","getShortQueryOptions","preferredOptions","accessPrincipalOptionsProvider","defineAsyncComboboxOptionsProvider","filter","trustedAppOptions","dedupeByKey","targetOption","option","entries","DEFAULT_DIRECTORY_SOURCES","error","options","entryLabel"],"sources":["../../../src/components/access-control-modal/accessTargetResolver.ts"],"sourcesContent":["import { defineAsyncComboboxOptionsProvider, type AsyncComboboxOptionsProvider, type ComboboxOptionData } from '@/components/combobox'\nimport { directoryEntryOptionTemplate } from './AccessControlAddAccess'\nimport { label } from '@/utils/label'\nimport { DEFAULT_DIRECTORY_SOURCES, solidLogicSingleton, type AccessControlSubjectKind, type DirectoryEntry } from 'solid-logic'\nimport { sym } from 'rdflib'\nimport { html } from 'lit'\nimport ns from '@/lib/ns'\nimport '~icons/lucide/globe'\nimport { dedupeByKey, dedupeComboboxOptions, isAbsoluteHttpUri, isOriginUrl, normalizeOriginInput, type StringComboboxOptionData } from './helpers'\n\nexport type ResolvedAccessTarget = {\n subjectType: AccessControlSubjectKind\n subjectValue: string\n label: string\n targetKind?: 'origin' | 'trustedApp'\n}\n\ntype AccessTargetOption = ComboboxOptionData & {\n targetKind?: 'origin' | 'trustedApp'\n}\n\nasync function classifyAccessTarget (principal: string) {\n const normalizedOrigin = normalizeOriginInput(principal)\n if (normalizedOrigin) {\n return { kind: 'origin' as const, subjectValue: normalizedOrigin }\n }\n\n if (isOriginUrl(principal)) {\n return { kind: 'origin' as const, subjectValue: new URL(principal).origin }\n }\n\n return await solidLogicSingleton.acl.classifyAccessControlSubject(principal)\n}\n\nasync function resolveAccessTargetLabel (\n resolvedPrincipal: Awaited<ReturnType<typeof classifyAccessTarget>>,\n preferredLabel?: string\n): Promise<string | undefined> {\n if (!resolvedPrincipal || resolvedPrincipal.kind === 'origin') {\n return resolvedPrincipal?.subjectValue\n }\n\n const subject = sym(resolvedPrincipal.subjectValue)\n await solidLogicSingleton.store.fetcher.load(subject.doc())\n const resolvedLabel = preferredLabel?.trim() || label(subject).trim()\n if (!resolvedLabel || resolvedLabel === resolvedPrincipal.subjectValue) {\n throw new Error('The access target has no usable display label.')\n }\n\n return resolvedLabel\n}\n\nexport async function resolveAccessTarget (\n principal: string,\n preferredLabel?: string\n): Promise<ResolvedAccessTarget | undefined> {\n const resolvedPrincipal = await classifyAccessTarget(principal)\n if (!resolvedPrincipal) {\n return undefined\n }\n\n const resolvedLabel = await resolveAccessTargetLabel(resolvedPrincipal, preferredLabel)\n if (!resolvedLabel) {\n return undefined\n }\n\n return {\n subjectType: resolvedPrincipal.kind,\n subjectValue: resolvedPrincipal.subjectValue,\n label: resolvedLabel,\n targetKind: resolvedPrincipal.kind === 'origin' ? 'origin' : undefined\n }\n}\n\nasync function createUrlOption (uri: string): Promise<StringComboboxOptionData | undefined> {\n const resolved = await resolveAccessTarget(uri)\n return resolved\n ? { label: resolved.label, value: uri }\n : undefined\n}\n\nfunction directoryEntryToOption (entry: DirectoryEntry, labelValue: string): ComboboxOptionData {\n return {\n label: labelValue,\n value: entry.uri,\n template: directoryEntryOptionTemplate({ ...entry, label: labelValue })\n }\n}\n\nasync function getPreferredAccessPrincipalOptions (query: string): Promise<AccessTargetOption[]> {\n const normalizedOrigin = normalizeOriginInput(query)\n if (normalizedOrigin) {\n return [{\n label: `Use origin ${normalizedOrigin}`,\n value: normalizedOrigin,\n targetKind: 'origin',\n template: html`<span class=\"access-grants-directory-entry\"><icon-lucide-globe style=\"width: 13px; height: 13px; flex: 0 0 13px;\"></icon-lucide-globe><span>Use origin ${normalizedOrigin}</span></span>`\n }]\n }\n\n if (!isAbsoluteHttpUri(query)) {\n return []\n }\n\n if (isOriginUrl(query)) {\n return [{\n label: `Use origin ${new URL(query).origin}`,\n value: new URL(query).origin,\n targetKind: 'origin',\n template: html`<span class=\"access-grants-directory-entry\"><icon-lucide-globe style=\"width: 13px; height: 13px; flex: 0 0 13px;\"></icon-lucide-globe><span>Use origin ${new URL(query).origin}</span></span>`\n }]\n }\n\n const urlOption = await createUrlOption(query)\n return dedupeComboboxOptions(urlOption ? [urlOption] : [])\n}\n\nasync function getTrustedAppOptions (query: string): Promise<AccessTargetOption[]> {\n try {\n const me = solidLogicSingleton.authn.currentUser()\n if (!me) return []\n await solidLogicSingleton.profile.loadProfile(me)\n const store = solidLogicSingleton.store\n const apps = store.each(me, ns.acl('trustedApp')) as Array<ReturnType<typeof sym>>\n return apps.flatMap(app => {\n const origin = store.any(app, ns.acl('origin'))\n if (!origin || !isOriginUrl(origin.value)) return []\n const normalizedOrigin = new URL(origin.value).origin\n if (query && !`${normalizedOrigin} trusted app`.toLowerCase().includes(query.toLowerCase())) return []\n return [{\n label: `Trusted app: ${normalizedOrigin}`,\n value: normalizedOrigin,\n targetKind: 'trustedApp' as const,\n template: html`<span class=\"access-grants-directory-entry\"><icon-lucide-globe style=\"width: 13px; height: 13px; flex: 0 0 13px;\"></icon-lucide-globe><span>Trusted app: ${normalizedOrigin}</span></span>`\n }]\n })\n } catch {\n return []\n }\n}\n\nfunction getShortQueryOptions (preferredOptions: ComboboxOptionData[]): ComboboxOptionData[] {\n if (preferredOptions.length) {\n return preferredOptions\n }\n\n return [{\n label: 'Type at least 2 characters to search',\n value: '',\n selectable: false\n }]\n}\n\nexport const accessPrincipalOptionsProvider: AsyncComboboxOptionsProvider =\n defineAsyncComboboxOptionsProvider(async (filter: string) => {\n const query = filter.trim()\n const preferredOptions = await getPreferredAccessPrincipalOptions(query)\n const trustedAppOptions = await getTrustedAppOptions(query)\n\n if (query.length < 2) {\n return dedupeByKey(\n [...preferredOptions, ...trustedAppOptions, ...getShortQueryOptions(preferredOptions)],\n option => {\n const targetOption = option as AccessTargetOption\n return typeof targetOption.value === 'string'\n ? `${targetOption.value}:${targetOption.targetKind ?? 'default'}`\n : undefined\n }\n )\n }\n\n let entries: DirectoryEntry[] = []\n\n try {\n entries = await solidLogicSingleton.directory.search({\n query,\n sources: DEFAULT_DIRECTORY_SOURCES\n })\n } catch (error) {\n if (!preferredOptions.length && !trustedAppOptions.length) {\n throw error\n }\n }\n\n const verifiedEntries = await Promise.all(entries.map(async entry => {\n try {\n const resolved = await resolveAccessTarget(entry.uri, entry.label)\n return resolved ? { entry, label: resolved.label } : undefined\n } catch {\n return undefined\n }\n }))\n const options = verifiedEntries\n .filter((entry): entry is { entry: DirectoryEntry, label: string } => entry !== undefined)\n .map(({ entry, label: entryLabel }) => directoryEntryToOption(entry, entryLabel))\n return dedupeByKey(\n [...preferredOptions, ...trustedAppOptions, ...options],\n option => {\n const targetOption = option as AccessTargetOption\n return typeof targetOption.value === 'string'\n ? `${targetOption.value}:${targetOption.targetKind ?? 'default'}`\n : undefined\n }\n )\n })\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- let e=require("solid-logic");async function t(t,n){let r=[];for(let{subject:i,label:a,role:o}of n)try{let n=o===`No Access`?await e.solidLogicSingleton.acl.planRevoke(t,i):await e.solidLogicSingleton.acl.planGrant(t,i,i.type===`agentClass`&&i.iri===e.Public.iri?e.solidLogicSingleton.acl.modesFromPublicRole(o):e.solidLogicSingleton.acl.modesFromRole(o));await e.solidLogicSingleton.acl.applyPlan(n)}catch(e){r.push({action:o===`No Access`?`revoke`:`grant`,targetUri:i.iri,label:a,role:o,message:e instanceof Error?e.message:`Unable to apply access change.`})}return r}exports.applyAccessChanges=t;
1
+ let e=require("solid-logic");async function t(t,r,i={}){let a=[],o=i.containerScope??`file`;for(let{subject:i,label:s,role:c}of r)try{let r=o===`folder+contents`?e.solidLogicSingleton.acl.planGrantContainerAndContents:o===`container`?e.solidLogicSingleton.acl.planGrantContainer:o===`contents`?e.solidLogicSingleton.acl.planGrantContainerContents:e.solidLogicSingleton.acl.planGrant,a=c===`No Access`?await(o===`contents`?e.solidLogicSingleton.acl.planRevokeContainerContents(t,i):e.solidLogicSingleton.acl.planRevoke(t,i)):await r(t,i,n(i,c));await e.solidLogicSingleton.acl.applyPlan(a)}catch(e){a.push({action:c===`No Access`?`revoke`:`grant`,targetUri:i.iri,label:s,role:c,scope:o,message:e instanceof Error?e.message:`Unable to apply access change.`})}return a}function n(t,n){if(t.type===`agentClass`&&t.iri===e.Public.iri){let t=e.PUBLIC_ACCESS_ROLES.find(e=>e===n);if(!t)throw Error(`Public access does not support the ${n} role.`);return e.solidLogicSingleton.acl.modesFromPublicRole(t)}return e.solidLogicSingleton.acl.modesFromRole(n)}exports.applyAccessChanges=t;
2
2
  //# sourceMappingURL=applyAccessChanges.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyAccessChanges.cjs.js","names":["Public","solidLogicSingleton","applyAccessChanges","subjectUri","accessChanges","errors","subject","label","role","plan","acl","planRevoke","planGrant","type","iri","modesFromPublicRole","modesFromRole","applyPlan","error","push","action","targetUri","message","Error","solidLogicSingleton","Public","solid_logic","applyAccessChanges","errors","accessChanges","plan","role","subjectUri","subject","error"],"sources":["../../../src/components/access-control-modal/applyAccessChanges.ts"],"sourcesContent":["import { PUBLIC_ACCESS_ROLES, Public, solidLogicSingleton } from 'solid-logic'\nimport type { AccessChange, AccessSaveError } from './types'\n\nexport async function applyAccessChanges (\n subjectUri: string,\n accessChanges: AccessChange[]\n): Promise<AccessSaveError[]> {\n const errors: AccessSaveError[] = []\n\n for (const { subject, label, role } of accessChanges) {\n try {\n const plan = role === 'No Access'\n ? await solidLogicSingleton.acl.planRevoke(subjectUri, subject)\n : await solidLogicSingleton.acl.planGrant(subjectUri, subject, subject.type === 'agentClass' && subject.iri === Public.iri\n ? solidLogicSingleton.acl.modesFromPublicRole(role as (typeof PUBLIC_ACCESS_ROLES)[number])\n : solidLogicSingleton.acl.modesFromRole(role))\n\n await solidLogicSingleton.acl.applyPlan(plan)\n } catch (error) {\n errors.push({\n action: role === 'No Access' ? 'revoke' : 'grant',\n targetUri: subject.iri,\n label,\n role,\n message: error instanceof Error\n ? error.message\n : 'Unable to apply access change.'\n })\n }\n }\n\n return errors\n}\n"],"mappings":"A,6BAGA,eAAsBE,EACpBC,EACAC,EAC4B,CAC5B,IAAMC,EAA4B,CAAA,EAElC,IAAK,GAAM,CAAEC,UAASC,QAAOC,UAAUJ,EACrC,GAAI,CACF,IAAMK,EAAOD,IAAS,YAClB,MAAMP,EAAAA,oBAAoBS,IAAIC,WAAWR,EAAYG,CAAO,EAC5D,MAAML,EAAAA,oBAAoBS,IAAIE,UAAUT,EAAYG,EAASA,EAAQO,OAAS,cAAgBP,EAAQQ,MAAQd,EAAAA,OAAOc,IACnHb,EAAAA,oBAAoBS,IAAIK,oBAAoBP,CAA4C,EACxFP,EAAAA,oBAAoBS,IAAIM,cAAcR,CAAI,CAAC,EAEjD,MAAMP,EAAAA,oBAAoBS,IAAIO,UAAUR,CAAI,CAC9C,OAASS,EAAO,CACdb,EAAOc,KAAK,CACVC,OAAQZ,IAAS,YAAc,SAAW,QAC1Ca,UAAWf,EAAQQ,IACnBP,QACAC,OACAc,QAASJ,aAAiBK,MACtBL,EAAMI,QACN,gCACN,CAAC,CACH,CAGF,OAAOjB,CACT,C"}
1
+ {"version":3,"file":"applyAccessChanges.cjs.js","names":["PUBLIC_ACCESS_ROLES","Public","solidLogicSingleton","applyAccessChanges","subjectUri","accessChanges","options","errors","scope","containerScope","subject","label","role","grantPlanner","acl","planGrantContainerAndContents","planGrantContainer","planGrantContainerContents","planGrant","plan","planRevokeContainerContents","planRevoke","getModes","applyPlan","error","push","action","targetUri","iri","message","Error","type","publicRole","find","candidate","modesFromPublicRole","modesFromRole","solidLogicSingleton","Public","PUBLIC_ACCESS_ROLES","solid_logic","applyAccessChanges","errors","scope","options","accessChanges","grantPlanner","plan","role","subjectUri","subject","getModes","error","publicRole","candidate"],"sources":["../../../src/components/access-control-modal/applyAccessChanges.ts"],"sourcesContent":["import { PUBLIC_ACCESS_ROLES, Public, solidLogicSingleton } from 'solid-logic'\nimport type { AccessChange, AccessSaveError, AccessSaveScope } from './types'\n\nexport async function applyAccessChanges (\n subjectUri: string,\n accessChanges: AccessChange[],\n options: { containerScope?: AccessSaveScope } = {}\n): Promise<AccessSaveError[]> {\n const errors: AccessSaveError[] = []\n const scope = options.containerScope ?? 'file'\n\n for (const { subject, label, role } of accessChanges) {\n try {\n const grantPlanner = scope === 'folder+contents'\n ? solidLogicSingleton.acl.planGrantContainerAndContents\n : scope === 'container'\n ? solidLogicSingleton.acl.planGrantContainer\n : scope === 'contents'\n ? solidLogicSingleton.acl.planGrantContainerContents\n : solidLogicSingleton.acl.planGrant\n const plan = role === 'No Access'\n ? await (scope === 'contents'\n ? solidLogicSingleton.acl.planRevokeContainerContents(subjectUri, subject)\n : solidLogicSingleton.acl.planRevoke(subjectUri, subject))\n : await grantPlanner(subjectUri, subject, getModes(subject, role))\n\n await solidLogicSingleton.acl.applyPlan(plan)\n } catch (error) {\n errors.push({\n action: role === 'No Access' ? 'revoke' : 'grant',\n targetUri: subject.iri,\n label,\n role,\n scope,\n message: error instanceof Error\n ? error.message\n : 'Unable to apply access change.'\n })\n }\n }\n\n return errors\n}\n\nfunction getModes (subject: AccessChange['subject'], role: AccessChange['role']) {\n if (subject.type === 'agentClass' && subject.iri === Public.iri) {\n const publicRole = PUBLIC_ACCESS_ROLES.find(candidate => candidate === role)\n if (!publicRole) {\n throw new Error(`Public access does not support the ${role} role.`)\n }\n return solidLogicSingleton.acl.modesFromPublicRole(publicRole)\n }\n\n return solidLogicSingleton.acl.modesFromRole(role)\n}\n"],"mappings":"A,6BAGA,eAAsBG,EACpBC,EACAC,EACAC,EAAgD,CAAC,EACrB,CAC5B,IAAMC,EAA4B,CAAA,EAC5BC,EAAQF,EAAQG,gBAAkB,OAExC,IAAK,GAAM,CAAEC,UAASC,QAAOC,UAAUP,EACrC,GAAI,CACF,IAAMQ,EAAeL,IAAU,kBAC3BN,EAAAA,oBAAoBY,IAAIC,8BACxBP,IAAU,YACRN,EAAAA,oBAAoBY,IAAIE,mBACxBR,IAAU,WACRN,EAAAA,oBAAoBY,IAAIG,2BACxBf,EAAAA,oBAAoBY,IAAII,UAC1BC,EAAOP,IAAS,YAClB,MAAOJ,IAAU,WACfN,EAAAA,oBAAoBY,IAAIM,4BAA4BhB,EAAYM,CAAO,EACvER,EAAAA,oBAAoBY,IAAIO,WAAWjB,EAAYM,CAAO,GACxD,MAAMG,EAAaT,EAAYM,EAASY,EAASZ,EAASE,CAAI,CAAC,EAEnE,MAAMV,EAAAA,oBAAoBY,IAAIS,UAAUJ,CAAI,CAC9C,OAASK,EAAO,CACdjB,EAAOkB,KAAK,CACVC,OAAQd,IAAS,YAAc,SAAW,QAC1Ce,UAAWjB,EAAQkB,IACnBjB,QACAC,OACAJ,QACAqB,QAASL,aAAiBM,MACtBN,EAAMK,QACN,gCACN,CAAC,CACH,CAGF,OAAOtB,CACT,CAEA,SAASe,EAAUZ,EAAkCE,EAA4B,CAC/E,GAAIF,EAAQqB,OAAS,cAAgBrB,EAAQkB,MAAQ3B,EAAAA,OAAO2B,IAAK,CAC/D,IAAMI,EAAahC,EAAAA,oBAAoBiC,KAAKC,GAAaA,IAActB,CAAI,EAC3E,GAAI,CAACoB,EACH,MAAUF,MAAM,sCAAsClB,EAAI,OAAQ,EAEpE,OAAOV,EAAAA,oBAAoBY,IAAIqB,oBAAoBH,CAAU,CAC/D,CAEA,OAAO9B,EAAAA,oBAAoBY,IAAIsB,cAAcxB,CAAI,CACnD,C"}
@@ -1,3 +1,5 @@
1
- import { AccessChange, AccessSaveError } from './types';
2
- export declare function applyAccessChanges(subjectUri: string, accessChanges: AccessChange[]): Promise<AccessSaveError[]>;
1
+ import { AccessChange, AccessSaveError, AccessSaveScope } from './types';
2
+ export declare function applyAccessChanges(subjectUri: string, accessChanges: AccessChange[], options?: {
3
+ containerScope?: AccessSaveScope;
4
+ }): Promise<AccessSaveError[]>;
3
5
  //# sourceMappingURL=applyAccessChanges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyAccessChanges.d.ts","sourceRoot":"","sources":["../../../src/components/access-control-modal/applyAccessChanges.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE5D,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,eAAe,EAAE,CAAC,CA0B5B"}
1
+ {"version":3,"file":"applyAccessChanges.d.ts","sourceRoot":"","sources":["../../../src/components/access-control-modal/applyAccessChanges.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE7E,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,YAAY,EAAE,EAC7B,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,eAAe,CAAA;CAAO,GACjD,OAAO,CAAC,eAAe,EAAE,CAAC,CAmC5B"}
@@ -1,22 +1,30 @@
1
- import { Public as e, solidLogicSingleton as t } from "solid-logic";
2
- //#region src/components/access-control-modal/applyAccessChanges.ts
3
- async function n(n, r) {
4
- let i = [];
5
- for (let { subject: a, label: o, role: s } of r) try {
6
- let r = s === "No Access" ? await t.acl.planRevoke(n, a) : await t.acl.planGrant(n, a, a.type === "agentClass" && a.iri === e.iri ? t.acl.modesFromPublicRole(s) : t.acl.modesFromRole(s));
7
- await t.acl.applyPlan(r);
1
+ import { PUBLIC_ACCESS_ROLES as e, Public as t, solidLogicSingleton as n } from "solid-logic";
2
+ // src/components/access-control-modal/applyAccessChanges.ts
3
+ async function r(e, t, r = {}) {
4
+ let a = [], o = r.containerScope ?? "file";
5
+ for (let { subject: r, label: s, role: c } of t) try {
6
+ let t = o === "folder+contents" ? n.acl.planGrantContainerAndContents : o === "container" ? n.acl.planGrantContainer : o === "contents" ? n.acl.planGrantContainerContents : n.acl.planGrant, a = c === "No Access" ? await (o === "contents" ? n.acl.planRevokeContainerContents(e, r) : n.acl.planRevoke(e, r)) : await t(e, r, i(r, c));
7
+ await n.acl.applyPlan(a);
8
8
  } catch (e) {
9
- i.push({
10
- action: s === "No Access" ? "revoke" : "grant",
11
- targetUri: a.iri,
12
- label: o,
13
- role: s,
9
+ a.push({
10
+ action: c === "No Access" ? "revoke" : "grant",
11
+ targetUri: r.iri,
12
+ label: s,
13
+ role: c,
14
+ scope: o,
14
15
  message: e instanceof Error ? e.message : "Unable to apply access change."
15
16
  });
16
17
  }
17
- return i;
18
+ return a;
18
19
  }
19
- //#endregion
20
- export { n as applyAccessChanges };
20
+ function i(r, i) {
21
+ if (r.type === "agentClass" && r.iri === t.iri) {
22
+ let t = e.find((e) => e === i);
23
+ if (!t) throw Error(`Public access does not support the ${i} role.`);
24
+ return n.acl.modesFromPublicRole(t);
25
+ }
26
+ return n.acl.modesFromRole(i);
27
+ }
28
+ export { r as applyAccessChanges };
21
29
 
22
30
  //# sourceMappingURL=applyAccessChanges.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyAccessChanges.esm.js","names":["Public","solidLogicSingleton","applyAccessChanges","subjectUri","accessChanges","errors","subject","label","role","plan","acl","planRevoke","planGrant","type","iri","modesFromPublicRole","modesFromRole","applyPlan","error","push","action","targetUri","message","Error","applyAccessChanges","errors","accessChanges","plan","role","solidLogicSingleton","subjectUri","subject","Public","error"],"sources":["../../../src/components/access-control-modal/applyAccessChanges.ts"],"sourcesContent":["import { PUBLIC_ACCESS_ROLES, Public, solidLogicSingleton } from 'solid-logic'\nimport type { AccessChange, AccessSaveError } from './types'\n\nexport async function applyAccessChanges (\n subjectUri: string,\n accessChanges: AccessChange[]\n): Promise<AccessSaveError[]> {\n const errors: AccessSaveError[] = []\n\n for (const { subject, label, role } of accessChanges) {\n try {\n const plan = role === 'No Access'\n ? await solidLogicSingleton.acl.planRevoke(subjectUri, subject)\n : await solidLogicSingleton.acl.planGrant(subjectUri, subject, subject.type === 'agentClass' && subject.iri === Public.iri\n ? solidLogicSingleton.acl.modesFromPublicRole(role as (typeof PUBLIC_ACCESS_ROLES)[number])\n : solidLogicSingleton.acl.modesFromRole(role))\n\n await solidLogicSingleton.acl.applyPlan(plan)\n } catch (error) {\n errors.push({\n action: role === 'No Access' ? 'revoke' : 'grant',\n targetUri: subject.iri,\n label,\n role,\n message: error instanceof Error\n ? error.message\n : 'Unable to apply access change.'\n })\n }\n }\n\n return errors\n}\n"],"mappings":";;AAGA,eAAsBE,EACpBC,GACAC,GAC4B;CAC5B,IAAMC,IAA4B,CAAA;CAElC,KAAK,IAAM,EAAEC,YAASC,UAAOC,aAAUJ,GACrC,IAAI;EACF,IAAMK,IAAOD,MAAS,cAClB,MAAMP,EAAoBS,IAAIC,WAAWR,GAAYG,CAAO,IAC5D,MAAML,EAAoBS,IAAIE,UAAUT,GAAYG,GAASA,EAAQO,SAAS,gBAAgBP,EAAQQ,QAAQd,EAAOc,MACnHb,EAAoBS,IAAIK,oBAAoBP,CAA4C,IACxFP,EAAoBS,IAAIM,cAAcR,CAAI,CAAC;EAEjD,MAAMP,EAAoBS,IAAIO,UAAUR,CAAI;CAC9C,SAASS,GAAO;EACdb,EAAOc,KAAK;GACVC,QAAQZ,MAAS,cAAc,WAAW;GAC1Ca,WAAWf,EAAQQ;GACnBP;GACAC;GACAc,SAASJ,aAAiBK,QACtBL,EAAMI,UACN;EACN,CAAC;CACH;CAGF,OAAOjB;AACT"}
1
+ {"version":3,"file":"applyAccessChanges.esm.js","names":["PUBLIC_ACCESS_ROLES","Public","solidLogicSingleton","applyAccessChanges","subjectUri","accessChanges","options","errors","scope","containerScope","subject","label","role","grantPlanner","acl","planGrantContainerAndContents","planGrantContainer","planGrantContainerContents","planGrant","plan","planRevokeContainerContents","planRevoke","getModes","applyPlan","error","push","action","targetUri","iri","message","Error","type","publicRole","find","candidate","modesFromPublicRole","modesFromRole","applyAccessChanges","errors","scope","options","accessChanges","grantPlanner","solidLogicSingleton","plan","role","subjectUri","subject","getModes","error","Public","publicRole","PUBLIC_ACCESS_ROLES","candidate"],"sources":["../../../src/components/access-control-modal/applyAccessChanges.ts"],"sourcesContent":["import { PUBLIC_ACCESS_ROLES, Public, solidLogicSingleton } from 'solid-logic'\nimport type { AccessChange, AccessSaveError, AccessSaveScope } from './types'\n\nexport async function applyAccessChanges (\n subjectUri: string,\n accessChanges: AccessChange[],\n options: { containerScope?: AccessSaveScope } = {}\n): Promise<AccessSaveError[]> {\n const errors: AccessSaveError[] = []\n const scope = options.containerScope ?? 'file'\n\n for (const { subject, label, role } of accessChanges) {\n try {\n const grantPlanner = scope === 'folder+contents'\n ? solidLogicSingleton.acl.planGrantContainerAndContents\n : scope === 'container'\n ? solidLogicSingleton.acl.planGrantContainer\n : scope === 'contents'\n ? solidLogicSingleton.acl.planGrantContainerContents\n : solidLogicSingleton.acl.planGrant\n const plan = role === 'No Access'\n ? await (scope === 'contents'\n ? solidLogicSingleton.acl.planRevokeContainerContents(subjectUri, subject)\n : solidLogicSingleton.acl.planRevoke(subjectUri, subject))\n : await grantPlanner(subjectUri, subject, getModes(subject, role))\n\n await solidLogicSingleton.acl.applyPlan(plan)\n } catch (error) {\n errors.push({\n action: role === 'No Access' ? 'revoke' : 'grant',\n targetUri: subject.iri,\n label,\n role,\n scope,\n message: error instanceof Error\n ? error.message\n : 'Unable to apply access change.'\n })\n }\n }\n\n return errors\n}\n\nfunction getModes (subject: AccessChange['subject'], role: AccessChange['role']) {\n if (subject.type === 'agentClass' && subject.iri === Public.iri) {\n const publicRole = PUBLIC_ACCESS_ROLES.find(candidate => candidate === role)\n if (!publicRole) {\n throw new Error(`Public access does not support the ${role} role.`)\n }\n return solidLogicSingleton.acl.modesFromPublicRole(publicRole)\n }\n\n return solidLogicSingleton.acl.modesFromRole(role)\n}\n"],"mappings":";;AAGA,eAAsBG,EACpBC,GACAC,GACAC,IAAgD,CAAC,GACrB;CAC5B,IAAMC,IAA4B,CAAA,GAC5BC,IAAQF,EAAQG,kBAAkB;CAExC,KAAK,IAAM,EAAEC,YAASC,UAAOC,aAAUP,GACrC,IAAI;EACF,IAAMQ,IAAeL,MAAU,oBAC3BN,EAAoBY,IAAIC,gCACxBP,MAAU,cACRN,EAAoBY,IAAIE,qBACxBR,MAAU,aACRN,EAAoBY,IAAIG,6BACxBf,EAAoBY,IAAII,WAC1BC,IAAOP,MAAS,cAClB,OAAOJ,MAAU,aACfN,EAAoBY,IAAIM,4BAA4BhB,GAAYM,CAAO,IACvER,EAAoBY,IAAIO,WAAWjB,GAAYM,CAAO,KACxD,MAAMG,EAAaT,GAAYM,GAASY,EAASZ,GAASE,CAAI,CAAC;EAEnE,MAAMV,EAAoBY,IAAIS,UAAUJ,CAAI;CAC9C,SAASK,GAAO;EACdjB,EAAOkB,KAAK;GACVC,QAAQd,MAAS,cAAc,WAAW;GAC1Ce,WAAWjB,EAAQkB;GACnBjB;GACAC;GACAJ;GACAqB,SAASL,aAAiBM,QACtBN,EAAMK,UACN;EACN,CAAC;CACH;CAGF,OAAOtB;AACT;AAEA,SAASe,EAAUZ,GAAkCE,GAA4B;CAC/E,IAAIF,EAAQqB,SAAS,gBAAgBrB,EAAQkB,QAAQ3B,EAAO2B,KAAK;EAC/D,IAAMI,IAAahC,EAAoBiC,MAAKC,MAAaA,MAActB,CAAI;EAC3E,IAAI,CAACoB,GACH,MAAUF,MAAM,sCAAsClB,EAAI,OAAQ;EAEpE,OAAOV,EAAoBY,IAAIqB,oBAAoBH,CAAU;CAC/D;CAEA,OAAO9B,EAAoBY,IAAIsB,cAAcxB,CAAI;AACnD"}
@@ -1,5 +1,5 @@
1
1
  import { getAccessSubjectLabel as e } from "./accessGrantDrafts.esm.js";
2
- //#region src/components/access-control-modal/buildAccessChanges.ts
2
+ // src/components/access-control-modal/buildAccessChanges.ts
3
3
  function t({ pendingAccessGrants: t, generalAccessChanges: n, changedAccessGrants: r }) {
4
4
  return [
5
5
  ...t.map((e) => ({
@@ -18,7 +18,6 @@ function t({ pendingAccessGrants: t, generalAccessChanges: n, changedAccessGrant
18
18
  })))
19
19
  ];
20
20
  }
21
- //#endregion
22
21
  export { t as buildAccessChanges };
23
22
 
24
23
  //# sourceMappingURL=buildAccessChanges.esm.js.map
@@ -1,4 +1,4 @@
1
- //#region src/components/access-control-modal/helpers.ts
1
+ // src/components/access-control-modal/helpers.ts
2
2
  function e(e) {
3
3
  try {
4
4
  let t = new URL(e);
@@ -32,7 +32,6 @@ function r(e, t) {
32
32
  function i(e) {
33
33
  return r(e, (e) => e.value);
34
34
  }
35
- //#endregion
36
35
  export { r as dedupeByKey, i as dedupeComboboxOptions, e as isAbsoluteHttpUri, t as isOriginUrl, n as normalizeOriginInput };
37
36
 
38
37
  //# sourceMappingURL=helpers.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import e from "./AccessControlModal.esm.js";
2
- //#region src/components/access-control-modal/index.ts
2
+ // src/components/access-control-modal/index.ts
3
3
  var t = e;
4
- //#endregion
5
4
  export { e as AccessControlModal, t as default };
6
5
 
7
6
  //# sourceMappingURL=index.esm.js.map
@@ -1,5 +1,6 @@
1
1
  import { AccessControlSubjectKind, AccessMode, AccessRole, AccessSubject, Authorization } from 'solid-logic';
2
2
  export type AccessAuthorization = Omit<Pick<Authorization, 'agent' | 'agentGroup' | 'agentClass' | 'origin' | 'mode'>, 'mode'> & {
3
+ id?: string;
3
4
  mode: readonly AccessMode[];
4
5
  };
5
6
  export type TargetInputDetail = {
@@ -8,6 +9,7 @@ export type TargetInputDetail = {
8
9
  export type TargetSelectedDetail = {
9
10
  value: string;
10
11
  label: string;
12
+ targetKind?: 'origin' | 'trustedApp';
11
13
  };
12
14
  export type RoleChangedDetail = {
13
15
  role: AccessRole;
@@ -29,6 +31,7 @@ export type PendingAccessGrant = {
29
31
  subjectValue: string;
30
32
  role: AccessRole;
31
33
  label: string;
34
+ targetKind?: 'origin' | 'trustedApp';
32
35
  };
33
36
  export type AccessGrantEntry = {
34
37
  id: string;
@@ -55,6 +58,7 @@ export type AccessChange = {
55
58
  role: AccessRole;
56
59
  label: string;
57
60
  };
61
+ export type AccessSaveScope = 'folder+contents' | 'container' | 'contents' | 'file';
58
62
  export type InputAccessControlError = {
59
63
  action: 'input';
60
64
  targetUri: string;
@@ -66,9 +70,10 @@ export type AccessSaveError = {
66
70
  targetUri: string;
67
71
  label: string;
68
72
  role: AccessRole;
73
+ scope: AccessSaveScope;
69
74
  message: string;
70
75
  } | {
71
- action: 'save';
76
+ action: 'save' | 'reset';
72
77
  targetUri: string;
73
78
  label: string;
74
79
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/access-control-modal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEjH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC,EAC9E,MAAM,CACP,GAAG;IACF,IAAI,EAAE,SAAS,UAAU,EAAE,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;AAC7D,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAA;AACnE,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;AAC7D,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAA;AAE7E,MAAM,MAAM,4BAA4B,GAAG;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC,4BAA4B,CAAC,CAAA;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,wBAAwB,CAAA;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,mBAAmB,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,WAAW,EAAE,UAAU,CAAA;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,mBAAmB,CAAA;IAClC,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,wBAAwB,CAAA;IAC9B,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,aAAa,CAAA;IACtB,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG;IACF,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/access-control-modal/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export { n as AccessControlModal, t as default } from "../chunks/access-control-modal-eOv2-U27.js";
1
+ export { n as AccessControlModal, t as default } from "../chunks/access-control-modal-Dcg6-f4V.js";
@@ -19,7 +19,7 @@ import i from "./Account.styles.esm.js";
19
19
  import { consume as a } from "@lit/context";
20
20
  import { html as o, nothing as s } from "lit";
21
21
  import { property as c } from "lit/decorators.js";
22
- //#region src/components/account/Account.ts
22
+ // src/components/account/Account.ts
23
23
  var l, u, d, f, p, m, h, g, _, v, y, b, x;
24
24
  function S(e, t, n) {
25
25
  C(e, t), t.set(e, n);
@@ -272,7 +272,6 @@ new (b = (d = /*#__PURE__*/ new WeakMap(), f = /*#__PURE__*/ new WeakMap(), x =
272
272
  }), m();
273
273
  }
274
274
  }, D(l, b, void 0), l)();
275
- //#endregion
276
275
  export { P as default };
277
276
 
278
277
  //# sourceMappingURL=Account.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import { css as e } from "lit";
2
- //#region src/components/account/Account.styles.css
2
+ // src/components/account/Account.styles.css
3
3
  var t = e`:host{--image-size:1.875rem;flex-direction:row;gap:10px;display:inline-flex}:host([data-state-initializing]) icon-svg-spinners-180-ring{width:var(--image-size);height:var(--image-size)}:host([data-state-loggedIn]){--padding:4px;--border-width:1px}:host([data-state-loggedIn]) button{background-color:var(--solid-ui-color-body-grey);padding:var(--padding);border-radius:calc((var(--image-size) + 2 * var(--padding) + 2 * var(--border-width)) / 2);color:var(--solid-ui-color-white);justify-content:center;align-items:center;gap:5px;display:inline-flex}:host([data-state-loggedIn]) button solid-ui-avatar{width:var(--image-size);height:var(--image-size);border:var(--border-width) solid var(--solid-ui-color-white);border-radius:50%}:host([data-state-loggedIn]) button icon-lucide-chevron-down{width:16px;height:16px}`;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=Account.styles.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import e from "./Account.esm.js";
2
- //#region src/components/account/index.ts
2
+ // src/components/account/index.ts
3
3
  var t = e;
4
- //#endregion
5
4
  export { e as Account, t as default };
6
5
 
7
6
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- export { n as Account, t as default } from "../chunks/account-DpmYJEd-.js";
1
+ export { n as Account, t as default } from "../chunks/account-D6JK-n7u.js";
@@ -7,7 +7,7 @@ import "../../_virtual/~icons/lucide/circle-user.esm.js";
7
7
  import i from "./Avatar.styles.esm.js";
8
8
  import { consume as a } from "@lit/context";
9
9
  import { html as o } from "lit";
10
- //#region src/components/avatar/Avatar.ts
10
+ // src/components/avatar/Avatar.ts
11
11
  var s, c, l, u, d, f, p, m, h, g;
12
12
  function _(e, t, n) {
13
13
  v(e, t), t.set(e, n);
@@ -219,7 +219,6 @@ new (h = (l = /*#__PURE__*/ new WeakMap(), g = (p = a({
219
219
  super(k), S(this, "styles", i), S(this, "states", { fallback: (e) => !e.auth.account?.avatarUrl }), d();
220
220
  }
221
221
  }, S(s, h, void 0), s)();
222
- //#endregion
223
222
  export { k as default };
224
223
 
225
224
  //# sourceMappingURL=Avatar.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import { css as e } from "lit";
2
- //#region src/components/avatar/Avatar.styles.css
2
+ // src/components/avatar/Avatar.styles.css
3
3
  var t = e`:host{--size:150px;width:var(--size);height:var(--size);display:inline-flex;overflow:hidden}:host img{object-fit:cover;width:100%;height:100%}:host([data-state-fallback]){background:var(--solid-ui-color-gray-100);justify-content:center;align-items:center}:host([data-state-fallback]) icon-lucide-circle-user{color:var(--solid-ui-color-gray-200);width:50%;height:50%}`;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=Avatar.styles.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import e from "./Avatar.esm.js";
2
- //#region src/components/avatar/index.ts
2
+ // src/components/avatar/index.ts
3
3
  var t = e;
4
- //#endregion
5
4
  export { e as Avatar, t as default };
6
5
 
7
6
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- export { n as Avatar, t as default } from "../chunks/avatar-D5rcw6gN.js";
1
+ export { n as Avatar, t as default } from "../chunks/avatar-BR3COVSQ.js";
@@ -5,7 +5,7 @@ import "../../_virtual/~icons/svg-spinners/180-ring.esm.js";
5
5
  import n from "./Button.styles.esm.js";
6
6
  import { html as r, nothing as i } from "lit";
7
7
  import { property as a } from "lit/decorators.js";
8
- //#region src/components/button/Button.ts
8
+ // src/components/button/Button.ts
9
9
  var o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w;
10
10
  function T(e, t, n) {
11
11
  E(e, t), t.set(e, n);
@@ -271,7 +271,6 @@ new (C = (c = /*#__PURE__*/ new WeakMap(), l = /*#__PURE__*/ new WeakMap(), u =
271
271
  super(R), A(this, "styles", n), A(this, "formAssociated", !0), p();
272
272
  }
273
273
  }, A(o, C, void 0), o)();
274
- //#endregion
275
274
  export { L as BUTTON_VARIANTS, R as default };
276
275
 
277
276
  //# sourceMappingURL=Button.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import { css as e } from "lit";
2
- //#region src/components/button/Button.styles.css
2
+ // src/components/button/Button.styles.css
3
3
  var t = e`:host{--text-color:var(--solid-ui-color-white);--border-color:var(--solid-ui-color-primary);--background-color:var(--solid-ui-color-primary);--hover-text-color:var(--text-color);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:var(--solid-ui-color-tertiary);display:inline-flex}:host button{font-size:var(--solid-ui-font-size-md);color:var(--text-color);background:var(--background-color);border:1px solid var(--border-color);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:flex;position:relative}:host button:disabled{opacity:.5;cursor:not-allowed}:host button:hover:not(:disabled){color:var(--hover-text-color);background:var(--hover-background-color);border-color:var(--hover-border-color)}:host button icon-svg-spinners-180-ring,:host button ::slotted([slot=left-icon]),:host button ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-md);height:var(--solid-ui-font-size-md)}:host button:after{content:\"\";width:var(--solid-ui-clickable-area);height:var(--solid-ui-clickable-area);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host([data-has-icon-slot]) button{padding:4px}:host([data-has-icon-slot]) button ::slotted([slot=icon]){width:var(--solid-ui-font-size-2xl);height:var(--solid-ui-font-size-2xl)}:host([variant=secondary]) button{--text-color:var(--solid-ui-color-gray-800);--border-color:var(--solid-ui-color-slate-400);--background-color:var(--solid-ui-color-white);--hover-text-color:var(--solid-ui-color-white);--hover-background-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary)}:host([variant=tertiary]) button{--text-color:var(--solid-ui-color-primary);--border-color:transparent;--background-color:transparent;--hover-text-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:transparent;border-width:0 0 1px;border-radius:0;padding:0}:host([variant=outline]) button{--text-color:currentColor;--border-color:currentColor;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:currentColor;--hover-background-color:color-mix(in srgb, currentColor 25%, transparent)}:host([variant=ghost]) button{--text-color:currentColor;--border-color:transparent;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:transparent;--hover-background-color:var(--solid-ui-color-primary-hover)}`;
4
- //#endregion
5
4
  export { t as default };
6
5
 
7
6
  //# sourceMappingURL=Button.styles.esm.js.map
@@ -1,7 +1,6 @@
1
1
  import e, { BUTTON_VARIANTS as t } from "./Button.esm.js";
2
- //#region src/components/button/index.ts
2
+ // src/components/button/index.ts
3
3
  var n = e;
4
- //#endregion
5
4
  export { t as BUTTON_VARIANTS, e as Button, n as default };
6
5
 
7
6
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- export { n as BUTTON_VARIANTS, r as Button, t as default } from "../chunks/button-lol95DqR.js";
1
+ export { n as BUTTON_VARIANTS, r as Button, t as default } from "../chunks/button-D6qO2idW.js";
@@ -26,6 +26,7 @@ const e=require("../../lib/components/decorators.cjs.js"),t=require("../../lib/c
26
26
  aria-required=${this.required?`true`:i.nothing}
27
27
  autocomplete="off"
28
28
  spellcheck="false"
29
+ ?disabled=${this.disabled}
29
30
  ?required=${this.required}
30
31
  .value=${this.displayValue}
31
32
  @keydown=${this.onInputKeyDown}