solid-ui 5.0.2-0 → 5.0.2-2
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.
- package/dist/_virtual/_rolldown/runtime.esm.js +1 -2
- package/dist/_virtual/~icons/app/solid-emblem.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/book-user.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/circle-x.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/folder.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/globe.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/link.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/square-arrow-out-up-right.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/triangle-alert.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/user-round.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/user.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/users.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/x.esm.js +1 -2
- package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -2
- package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js +1 -2
- package/dist/acl/access-controller.esm.js +1 -2
- package/dist/acl/access-groups.esm.js +1 -2
- package/dist/acl/acl-control.esm.js +1 -2
- package/dist/acl/acl.esm.js +1 -2
- package/dist/acl/add-agent-buttons.esm.js +1 -2
- package/dist/acl/index.esm.js +1 -2
- package/dist/chat/bookmarks.esm.js +1 -2
- package/dist/chat/chatLogic.esm.js +1 -2
- package/dist/chat/dateFolder.esm.js +1 -2
- package/dist/chat/infinite.cjs.js +1 -1
- package/dist/chat/infinite.cjs.js.map +1 -1
- package/dist/chat/infinite.esm.js +2 -3
- package/dist/chat/infinite.esm.js.map +1 -1
- package/dist/chat/keys.esm.js +1 -2
- package/dist/chat/message.esm.js +1 -2
- package/dist/chat/messageTools.esm.js +1 -2
- package/dist/chat/signature.esm.js +0 -1
- package/dist/chunks/{DialogProvider-B7oVYKJO.js → DialogProvider-C89v7x0r.js} +5 -8
- package/dist/chunks/{DialogProvider-B7oVYKJO.js.map → DialogProvider-C89v7x0r.js.map} +1 -1
- package/dist/chunks/{access-control-modal-eOv2-U27.js → access-control-modal-Dcg6-f4V.js} +924 -540
- package/dist/chunks/access-control-modal-Dcg6-f4V.js.map +1 -0
- package/dist/chunks/{account-DpmYJEd-.js → account-D6JK-n7u.js} +16 -21
- package/dist/chunks/{account-DpmYJEd-.js.map → account-D6JK-n7u.js.map} +1 -1
- package/dist/chunks/{auth-Hp8M6TQf.js → auth-B_abPDvH.js} +28 -31
- package/dist/chunks/auth-B_abPDvH.js.map +1 -0
- package/dist/chunks/{avatar-D5rcw6gN.js → avatar-BR3COVSQ.js} +6 -9
- package/dist/chunks/{avatar-D5rcw6gN.js.map → avatar-BR3COVSQ.js.map} +1 -1
- package/dist/chunks/{button-lol95DqR.js → button-D6qO2idW.js} +5 -8
- package/dist/chunks/{button-lol95DqR.js.map → button-D6qO2idW.js.map} +1 -1
- package/dist/chunks/{chevron-down-ujxRg3MD.js → chevron-down-CqUEolao.js} +2 -3
- package/dist/chunks/chevron-down-CqUEolao.js.map +1 -0
- package/dist/chunks/{chunk.UEBQI7VV-OBPERnuy.js → chunk.UEBQI7VV-lcP-fpUk.js} +14 -23
- package/dist/chunks/{chunk.UEBQI7VV-OBPERnuy.js.map → chunk.UEBQI7VV-lcP-fpUk.js.map} +1 -1
- package/dist/chunks/{combobox-Dmv-TZtI.js → combobox-fSTp9qoT.js} +11 -15
- package/dist/chunks/combobox-fSTp9qoT.js.map +1 -0
- package/dist/chunks/{combobox-option-B-Hksiq2.js → combobox-option-DOtGuKel.js} +4 -6
- package/dist/chunks/{combobox-option-B-Hksiq2.js.map → combobox-option-DOtGuKel.js.map} +1 -1
- package/dist/chunks/{components-Bdqizu8x.js → components-C8c2Ucm5.js} +17 -33
- package/dist/chunks/{components-Bdqizu8x.js.map → components-C8c2Ucm5.js.map} +1 -1
- package/dist/chunks/{dialog-DYgcCurb.js → dialog-CgYK767T.js} +8 -10
- package/dist/chunks/{dialog-DYgcCurb.js.map → dialog-CgYK767T.js.map} +1 -1
- package/dist/chunks/{dialog-content-jx08y2Oa.js → dialog-content-DjwRH1ci.js} +4 -6
- package/dist/chunks/{dialog-content-jx08y2Oa.js.map → dialog-content-DjwRH1ci.js.map} +1 -1
- package/dist/chunks/{dialog-footer-Bhl8k1PX.js → dialog-footer-GQWi8lfB.js} +4 -6
- package/dist/chunks/{dialog-footer-Bhl8k1PX.js.map → dialog-footer-GQWi8lfB.js.map} +1 -1
- package/dist/chunks/{dialog-header-Dn6PQzFB.js → dialog-header-c3qOMQfb.js} +4 -6
- package/dist/chunks/{dialog-header-Dn6PQzFB.js.map → dialog-header-c3qOMQfb.js.map} +1 -1
- package/dist/chunks/{dialogs-B6TfxrPt.js → dialogs-BmtLjMzg.js} +5 -7
- package/dist/chunks/{dialogs-B6TfxrPt.js.map → dialogs-BmtLjMzg.js.map} +1 -1
- package/dist/chunks/{dialogs-root-Qiucjj9u.js → dialogs-root-BcQo2XMF.js} +6 -8
- package/dist/chunks/{dialogs-root-Qiucjj9u.js.map → dialogs-root-BcQo2XMF.js.map} +1 -1
- package/dist/chunks/{error-state-DK1x-kNd.js → error-state-BD4_Wrkz.js} +6 -8
- package/dist/chunks/{error-state-DK1x-kNd.js.map → error-state-BD4_Wrkz.js.map} +1 -1
- package/dist/chunks/{guard-FbhNrJGh.js → guard-bTeM7wd7.js} +5 -7
- package/dist/chunks/{guard-FbhNrJGh.js.map → guard-bTeM7wd7.js.map} +1 -1
- package/dist/chunks/{index.esm-N8NHgFUj.js → index.esm-CECfD0e9.js} +3256 -3083
- package/dist/chunks/index.esm-CECfD0e9.js.map +1 -0
- package/dist/chunks/{input-lpqx_k53.js → input-Bz3l514j.js} +5 -7
- package/dist/chunks/{input-lpqx_k53.js.map → input-Bz3l514j.js.map} +1 -1
- package/dist/chunks/{jsonld-Djw57WRt.js → jsonld-CnfzCyCn.js} +4 -5
- package/dist/chunks/{jsonld-Djw57WRt.js.map → jsonld-CnfzCyCn.js.map} +1 -1
- package/dist/chunks/{login-button-DCq4Gi3_.js → login-button-Div4ZT4J.js} +6 -8
- package/dist/chunks/{login-button-DCq4Gi3_.js.map → login-button-Div4ZT4J.js.map} +1 -1
- package/dist/chunks/{logout-button-D3dJrsV4.js → logout-button-D3lqlnCX.js} +6 -8
- package/dist/chunks/{logout-button-D3dJrsV4.js.map → logout-button-D3lqlnCX.js.map} +1 -1
- package/dist/chunks/{menu-RJklqKQE.js → menu-D0k2fkiE.js} +22 -39
- package/dist/chunks/{menu-RJklqKQE.js.map → menu-D0k2fkiE.js.map} +1 -1
- package/dist/chunks/{menu-item-C2e0qj-v.js → menu-item-nfPpH4dN.js} +5 -7
- package/dist/chunks/{menu-item-C2e0qj-v.js.map → menu-item-nfPpH4dN.js.map} +1 -1
- package/dist/chunks/{photo-capture-DEMQNmzb.js → photo-capture-hJaJm4TM.js} +6 -8
- package/dist/chunks/{photo-capture-DEMQNmzb.js.map → photo-capture-hJaJm4TM.js.map} +1 -1
- package/dist/chunks/{photo-capture-modal-C7oESDQq.js → photo-capture-modal-BsHv6wmh.js} +9 -11
- package/dist/chunks/{photo-capture-modal-C7oESDQq.js.map → photo-capture-modal-BsHv6wmh.js.map} +1 -1
- package/dist/chunks/{provider-D9UgRI4G.js → provider-Dcd1NPYx.js} +7 -9
- package/dist/chunks/{provider-D9UgRI4G.js.map → provider-Dcd1NPYx.js.map} +1 -1
- package/dist/chunks/{query-BYu9q8lA.js → query-DjAOg-tk.js} +3 -5
- package/dist/chunks/{query-BYu9q8lA.js.map → query-DjAOg-tk.js.map} +1 -1
- package/dist/chunks/{rdf-form-BLgKdXP2.js → rdf-form-CmPnHKR-.js} +23 -25
- package/dist/chunks/{rdf-form-BLgKdXP2.js.map → rdf-form-CmPnHKR-.js.map} +1 -1
- package/dist/chunks/{rdf-input-DWnDpkXy.js → rdf-input-3AgoeCkJ.js} +48 -51
- package/dist/chunks/{rdf-input-DWnDpkXy.js.map → rdf-input-3AgoeCkJ.js.map} +1 -1
- package/dist/chunks/{select-CnkJMo_K.js → select-ClPkDkGl.js} +7 -10
- package/dist/chunks/{select-CnkJMo_K.js.map → select-ClPkDkGl.js.map} +1 -1
- package/dist/chunks/{select-option-B9HSZiTp.js → select-option-DQan7rcB.js} +4 -6
- package/dist/chunks/{select-option-B9HSZiTp.js.map → select-option-DQan7rcB.js.map} +1 -1
- package/dist/chunks/{show-dialog-eEW5yRBv.js → show-dialog-DAmFslrf.js} +2 -3
- package/dist/chunks/{show-dialog-eEW5yRBv.js.map → show-dialog-DAmFslrf.js.map} +1 -1
- package/dist/chunks/{signup-button-BQ4AWem2.js → signup-button-2fAoS0Nv.js} +6 -8
- package/dist/chunks/{signup-button-BQ4AWem2.js.map → signup-button-2fAoS0Nv.js.map} +1 -1
- package/dist/chunks/{solid-emblem-DNjQSX1z.js → solid-emblem-DwLdkGuO.js} +5 -8
- package/dist/chunks/{solid-emblem-DNjQSX1z.js.map → solid-emblem-DwLdkGuO.js.map} +1 -1
- package/dist/chunks/{src-DQMZZG1B.js → src-Dx7k_VIe.js} +2732 -2782
- package/dist/chunks/src-Dx7k_VIe.js.map +1 -0
- package/dist/chunks/{style-ChFDDB1c.js → style-w0Fl0xnd.js} +25 -29
- package/dist/chunks/{style-ChFDDB1c.js.map → style-w0Fl0xnd.js.map} +1 -1
- package/dist/chunks/{widgets-CVLwnfkU.js → widgets-BWpm5CPx.js} +694 -715
- package/dist/chunks/widgets-BWpm5CPx.js.map +1 -0
- package/dist/chunks/{x-BRRkraZN.js → x-D1JUUSOS.js} +2 -3
- package/dist/chunks/x-D1JUUSOS.js.map +1 -0
- package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js +11 -5
- package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlAddAccess.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.esm.js +75 -57
- package/dist/components/access-control-modal/AccessControlAddAccess.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.esm.js +2 -3
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.cjs.js +3 -2
- package/dist/components/access-control-modal/AccessControlErrors.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlErrors.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.esm.js +6 -3
- package/dist/components/access-control-modal/AccessControlErrors.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.styles.esm.js +1 -2
- package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js +5 -3
- package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlGeneralAccess.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js +57 -45
- package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.styles.esm.js +1 -2
- package/dist/components/access-control-modal/AccessControlModal.cjs.js +112 -6
- package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.d.ts +27 -0
- package/dist/components/access-control-modal/AccessControlModal.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.esm.js +411 -127
- package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.styles.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlModal.styles.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.styles.esm.js +2 -3
- package/dist/components/access-control-modal/AccessControlModal.styles.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js +6 -5
- package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlSharedAccess.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js +71 -55
- package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.styles.esm.js +1 -2
- package/dist/components/access-control-modal/accessGrantDrafts.cjs.js +1 -1
- package/dist/components/access-control-modal/accessGrantDrafts.cjs.js.map +1 -1
- package/dist/components/access-control-modal/accessGrantDrafts.d.ts.map +1 -1
- package/dist/components/access-control-modal/accessGrantDrafts.esm.js +6 -7
- package/dist/components/access-control-modal/accessGrantDrafts.esm.js.map +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.cjs.js +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.cjs.js.map +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.d.ts +1 -0
- package/dist/components/access-control-modal/accessTargetResolver.d.ts.map +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.esm.js +92 -46
- package/dist/components/access-control-modal/accessTargetResolver.esm.js.map +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.cjs.js +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.cjs.js.map +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.d.ts +4 -2
- package/dist/components/access-control-modal/applyAccessChanges.d.ts.map +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.esm.js +23 -15
- package/dist/components/access-control-modal/applyAccessChanges.esm.js.map +1 -1
- package/dist/components/access-control-modal/buildAccessChanges.esm.js +1 -2
- package/dist/components/access-control-modal/helpers.esm.js +1 -2
- package/dist/components/access-control-modal/index.esm.js +1 -2
- package/dist/components/access-control-modal/types.d.ts +6 -1
- package/dist/components/access-control-modal/types.d.ts.map +1 -1
- package/dist/components/access-control-modal.js +1 -1
- package/dist/components/account/Account.esm.js +1 -2
- package/dist/components/account/Account.styles.esm.js +1 -2
- package/dist/components/account/index.esm.js +1 -2
- package/dist/components/account.js +1 -1
- package/dist/components/avatar/Avatar.esm.js +1 -2
- package/dist/components/avatar/Avatar.styles.esm.js +1 -2
- package/dist/components/avatar/index.esm.js +1 -2
- package/dist/components/avatar.js +1 -1
- package/dist/components/button/Button.esm.js +1 -2
- package/dist/components/button/Button.styles.esm.js +1 -2
- package/dist/components/button/index.esm.js +1 -2
- package/dist/components/button.js +1 -1
- package/dist/components/combobox/Combobox.cjs.js +1 -0
- package/dist/components/combobox/Combobox.cjs.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.esm.js +2 -2
- package/dist/components/combobox/Combobox.esm.js.map +1 -1
- package/dist/components/combobox/Combobox.styles.esm.js +1 -2
- package/dist/components/combobox/index.esm.js +1 -2
- package/dist/components/combobox-option/ComboboxOption.esm.js +1 -2
- package/dist/components/combobox-option/index.esm.js +1 -2
- package/dist/components/combobox-option.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/dialog/Dialog.esm.js +1 -2
- package/dist/components/dialog/Dialog.styles.esm.js +1 -2
- package/dist/components/dialog/index.esm.js +1 -2
- package/dist/components/dialog-content/DialogContent.esm.js +1 -2
- package/dist/components/dialog-content/DialogContent.styles.esm.js +1 -2
- package/dist/components/dialog-content/index.esm.js +1 -2
- package/dist/components/dialog-content.js +1 -1
- package/dist/components/dialog-footer/DialogFooter.esm.js +1 -2
- package/dist/components/dialog-footer/DialogFooter.styles.esm.js +1 -2
- package/dist/components/dialog-footer/index.esm.js +1 -2
- package/dist/components/dialog-footer.js +1 -1
- package/dist/components/dialog-header/DialogHeader.esm.js +1 -2
- package/dist/components/dialog-header/DialogHeader.styles.esm.js +1 -2
- package/dist/components/dialog-header/index.esm.js +1 -2
- package/dist/components/dialog-header.js +1 -1
- package/dist/components/dialog-provider/DialogProvider.esm.js +1 -2
- package/dist/components/dialog-provider/index.esm.js +1 -2
- package/dist/components/dialog-provider.js +2 -3
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialogs-root/DialogsRoot.esm.js +1 -2
- package/dist/components/dialogs-root/index.esm.js +1 -2
- package/dist/components/dialogs-root.js +1 -1
- package/dist/components/error-state/ErrorState.esm.js +1 -2
- package/dist/components/error-state/ErrorState.styles.esm.js +1 -2
- package/dist/components/error-state.js +1 -1
- package/dist/components/guard/Guard.esm.js +1 -2
- package/dist/components/guard/index.esm.js +1 -2
- package/dist/components/guard.js +1 -1
- package/dist/components/input/Input.esm.js +1 -2
- package/dist/components/input/Input.styles.esm.js +1 -2
- package/dist/components/input/index.esm.js +1 -2
- package/dist/components/input.js +1 -1
- package/dist/components/login-button/LoginButton.esm.js +1 -2
- package/dist/components/login-button/index.esm.js +1 -2
- package/dist/components/login-button.js +1 -1
- package/dist/components/login-modal/LoginModal.esm.js +1 -2
- package/dist/components/login-modal/LoginModal.styles.esm.js +1 -2
- package/dist/components/login-modal/index.esm.js +1 -2
- package/dist/components/login-modal.js +1 -1
- package/dist/components/logout-button/LogoutButton.esm.js +1 -2
- package/dist/components/logout-button/index.esm.js +1 -2
- package/dist/components/logout-button.js +1 -1
- package/dist/components/menu/Menu.esm.js +1 -2
- package/dist/components/menu/Menu.styles.esm.js +1 -2
- package/dist/components/menu/index.esm.js +1 -2
- package/dist/components/menu-item/MenuItem.esm.js +1 -2
- package/dist/components/menu-item/MenuItem.styles.esm.js +1 -2
- package/dist/components/menu-item/index.esm.js +1 -2
- package/dist/components/menu-item.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/photo-capture/PhotoCapture.esm.js +1 -2
- package/dist/components/photo-capture/index.esm.js +1 -2
- package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js +1 -1
- package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js.map +1 -1
- package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js +2 -3
- package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js.map +1 -1
- package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.esm.js +1 -2
- package/dist/components/photo-capture-modal/index.esm.js +1 -2
- package/dist/components/photo-capture-modal.js +1 -1
- package/dist/components/photo-capture.js +1 -1
- package/dist/components/provider/Provider.esm.js +1 -2
- package/dist/components/provider/index.esm.js +1 -2
- package/dist/components/provider.js +1 -1
- package/dist/components/rdf-form/RDFForm.esm.js +1 -2
- package/dist/components/rdf-form/index.esm.js +1 -2
- package/dist/components/rdf-form.js +1 -1
- package/dist/components/rdf-input/RDFInput.esm.js +1 -2
- package/dist/components/rdf-input/index.esm.js +1 -2
- package/dist/components/rdf-input.js +1 -1
- package/dist/components/select/Select.esm.js +1 -2
- package/dist/components/select/Select.styles.esm.js +1 -2
- package/dist/components/select/index.esm.js +1 -2
- package/dist/components/select-option/SelectOption.esm.js +1 -2
- package/dist/components/select-option/index.esm.js +1 -2
- package/dist/components/select-option.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/signup-button/SignupButton.esm.js +1 -2
- package/dist/components/signup-button/index.esm.js +1 -2
- package/dist/components/signup-button.js +1 -1
- package/dist/components/solid-emblem/SolidEmblem.esm.js +1 -2
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +1 -2
- package/dist/components/solid-emblem/index.esm.js +1 -2
- package/dist/components/solid-emblem.js +1 -1
- package/dist/components.js +28 -28
- package/dist/create/create.esm.js +1 -2
- package/dist/create/index.esm.js +1 -2
- package/dist/create/types.esm.js +1 -2
- package/dist/footer/index.esm.js +1 -2
- package/dist/header/empty-profile.esm.js +1 -2
- package/dist/header/index.esm.js +1 -2
- package/dist/index.esm.js +1 -2
- package/dist/index.js +8 -8
- package/dist/lib/auth/Account.esm.js +1 -2
- package/dist/lib/auth/NoopAuth.esm.js +1 -2
- package/dist/lib/auth/SolidAuth.esm.js +1 -2
- package/dist/lib/auth/context.esm.js +1 -2
- package/dist/lib/code-editor/CodeEditor.esm.js +1 -2
- package/dist/lib/components/decorators.esm.js +1 -2
- package/dist/lib/components/dialog-component/DialogComponent.esm.js +1 -2
- package/dist/lib/components/form-control-component/FormControlComponent.esm.js +1 -2
- package/dist/lib/components/ids.esm.js +1 -2
- package/dist/lib/components/traits/DialogTrait.esm.js +1 -2
- package/dist/lib/components/traits/FormControlTrait.esm.js +1 -2
- package/dist/lib/components/web-component/WebComponent.esm.js +1 -2
- package/dist/lib/components/web-component/WebComponent.styles.esm.js +1 -2
- package/dist/lib/debug.esm.js +1 -2
- package/dist/lib/dialogs/Dialog.esm.js +1 -2
- package/dist/lib/dialogs/context.esm.js +1 -2
- package/dist/lib/dialogs/events/close-dialog.esm.js +1 -2
- package/dist/lib/dialogs/events/show-dialog.esm.js +1 -2
- package/dist/lib/dialogs/helpers.esm.js +1 -2
- package/dist/lib/file-explorer/context.esm.js +1 -2
- package/dist/lib/forms/fieldParams.esm.js +1 -2
- package/dist/lib/forms/rdfFormsHelper.esm.js +1 -2
- package/dist/lib/forms/store/NoopStore.esm.js +1 -2
- package/dist/lib/forms/store/StoreContext.esm.js +1 -2
- package/dist/lib/iconBase.esm.js +1 -2
- package/dist/lib/log.esm.js +1 -2
- package/dist/lib/messageArea.esm.js +1 -2
- package/dist/lib/newperson.esm.js +1 -2
- package/dist/lib/ns.esm.js +1 -2
- package/dist/lib/pad.esm.js +1 -2
- package/dist/lib/participation.esm.js +1 -2
- package/dist/lib/preferences.esm.js +1 -2
- package/dist/lib/style.esm.js +1 -2
- package/dist/lib/styleConstants.esm.js +1 -2
- package/dist/lib/style_multiSelect.esm.js +1 -2
- package/dist/lib/table.esm.js +1 -2
- package/dist/lib/tabs.esm.js +1 -2
- package/dist/lib/timing.esm.js +1 -2
- package/dist/lib/values.esm.js +1 -2
- package/dist/loader.js +8 -8
- package/dist/login/login.esm.js +1 -2
- package/dist/matrix/index.esm.js +1 -2
- package/dist/matrix/matrix.esm.js +1 -2
- package/dist/media/index.esm.js +1 -2
- package/dist/media/media-capture.esm.js +1 -2
- package/dist/signup/config-default.esm.js +1 -2
- package/dist/signup/signup.esm.js +1 -2
- package/dist/solid-ui.js +243 -126
- package/dist/solid-ui.min.js +243 -126
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/utils/headerFooterHelpers.esm.js +1 -2
- package/dist/utils/index.esm.js +1 -2
- package/dist/utils/keyHelpers/accessData.esm.js +1 -2
- package/dist/utils/keyHelpers/acl.esm.js +1 -2
- package/dist/utils/keyHelpers/otherHelpers.esm.js +1 -2
- package/dist/utils/label.esm.js +1 -2
- package/dist/widgets/buttons/iconLinks.esm.js +1 -2
- package/dist/widgets/buttons.esm.js +1 -2
- package/dist/widgets/dragAndDrop.esm.js +1 -2
- package/dist/widgets/error.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/autocompleteField.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js +2 -3
- package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
- package/dist/widgets/forms/autocomplete/language.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -2
- package/dist/widgets/forms/basic.esm.js +1 -2
- package/dist/widgets/forms/fieldFunction.esm.js +1 -2
- package/dist/widgets/forms/fieldParams.esm.js +1 -2
- package/dist/widgets/forms/formStyle.esm.js +1 -2
- package/dist/widgets/forms.esm.js +1 -2
- package/dist/widgets/index.esm.js +1 -2
- package/dist/widgets/multiSelect.esm.js +1 -2
- package/dist/widgets/peoplePicker.esm.js +1 -2
- package/dist/widgets/widgetHelpers.esm.js +1 -2
- package/package.json +2 -2
- package/dist/chunks/access-control-modal-eOv2-U27.js.map +0 -1
- package/dist/chunks/auth-Hp8M6TQf.js.map +0 -1
- package/dist/chunks/chevron-down-ujxRg3MD.js.map +0 -1
- package/dist/chunks/combobox-Dmv-TZtI.js.map +0 -1
- package/dist/chunks/index.esm-N8NHgFUj.js.map +0 -1
- package/dist/chunks/src-DQMZZG1B.js.map +0 -1
- package/dist/chunks/widgets-CVLwnfkU.js.map +0 -1
- 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;
|
|
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
|
|
2
|
-
import {
|
|
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
|
|
5
|
-
import { directoryEntryOptionTemplate as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
} :
|
|
17
|
+
} : s(e) ? {
|
|
18
|
+
kind: "origin",
|
|
19
|
+
subjectValue: new URL(e).origin
|
|
20
|
+
} : await d.acl.classifyAccessControlSubject(e);
|
|
15
21
|
}
|
|
16
|
-
async function
|
|
17
|
-
if (!
|
|
18
|
-
let r =
|
|
19
|
-
await
|
|
20
|
-
let i = n?.trim() ||
|
|
21
|
-
if (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
|
|
24
|
-
let n = await
|
|
30
|
+
async function h(e, t) {
|
|
31
|
+
let n = await p(e);
|
|
25
32
|
if (!n) return;
|
|
26
|
-
let r = await
|
|
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
|
|
34
|
-
let t = await
|
|
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
|
|
48
|
+
function _(e, t) {
|
|
41
49
|
return {
|
|
42
50
|
label: t,
|
|
43
51
|
value: e.uri,
|
|
44
|
-
template:
|
|
52
|
+
template: r({
|
|
45
53
|
...e,
|
|
46
54
|
label: t
|
|
47
55
|
})
|
|
48
56
|
};
|
|
49
57
|
}
|
|
50
|
-
async function
|
|
51
|
-
let t =
|
|
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 (!
|
|
57
|
-
if (
|
|
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
|
|
62
|
-
return
|
|
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
|
|
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
|
|
72
|
-
let t = e.trim(), r = await
|
|
73
|
-
if (t.length < 2) return
|
|
74
|
-
|
|
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
|
-
|
|
116
|
+
a = await d.directory.search({
|
|
77
117
|
query: t,
|
|
78
|
-
sources:
|
|
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
|
|
123
|
+
let o = (await Promise.all(a.map(async (e) => {
|
|
84
124
|
try {
|
|
85
|
-
let t = await
|
|
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 }) =>
|
|
94
|
-
return
|
|
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
|
-
|
|
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,
|
|
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","
|
|
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[]
|
|
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;
|
|
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 {
|
|
2
|
-
|
|
3
|
-
async function
|
|
4
|
-
let
|
|
5
|
-
for (let { subject:
|
|
6
|
-
let
|
|
7
|
-
await
|
|
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
|
-
|
|
10
|
-
action:
|
|
11
|
-
targetUri:
|
|
12
|
-
label:
|
|
13
|
-
role:
|
|
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
|
|
18
|
+
return a;
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
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","
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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-
|
|
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
|
-
|
|
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
|
-
|
|
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 +1 @@
|
|
|
1
|
-
export { n as Account, t as default } from "../chunks/account-
|
|
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
|
-
|
|
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
|
-
|
|
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 +1 @@
|
|
|
1
|
-
export { n as Avatar, t as default } from "../chunks/avatar-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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}
|