solid-ui 5.0.2-4 → 5.0.2-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acl/access-controller.cjs.js +1 -1
- package/dist/acl/access-controller.cjs.js.map +1 -1
- package/dist/acl/access-controller.esm.js +37 -37
- package/dist/acl/access-groups.cjs.js +2 -2
- package/dist/acl/access-groups.cjs.js.map +1 -1
- package/dist/acl/access-groups.esm.js +78 -78
- package/dist/acl/acl-control.cjs.js +1 -1
- package/dist/acl/acl-control.cjs.js.map +1 -1
- package/dist/acl/acl-control.esm.js +19 -19
- package/dist/acl/add-agent-buttons.cjs.js +1 -1
- package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
- package/dist/acl/add-agent-buttons.esm.js +51 -51
- package/dist/chat/bookmarks.cjs.js +1 -1
- package/dist/chat/bookmarks.cjs.js.map +1 -1
- package/dist/chat/bookmarks.esm.js +44 -44
- package/dist/chat/bookmarks.esm.js.map +1 -1
- package/dist/chat/chatLogic.cjs.js +2 -2
- package/dist/chat/chatLogic.cjs.js.map +1 -1
- package/dist/chat/chatLogic.esm.js +54 -54
- package/dist/chat/dateFolder.cjs.js +1 -1
- package/dist/chat/dateFolder.cjs.js.map +1 -1
- package/dist/chat/dateFolder.esm.js +30 -30
- package/dist/chat/infinite.cjs.js +1 -1
- package/dist/chat/infinite.cjs.js.map +1 -1
- package/dist/chat/infinite.esm.js +49 -49
- package/dist/chat/keys.cjs.js +2 -2
- package/dist/chat/keys.cjs.js.map +1 -1
- package/dist/chat/keys.esm.js +17 -17
- package/dist/chat/message.cjs.js +4 -4
- package/dist/chat/message.cjs.js.map +1 -1
- package/dist/chat/message.esm.js +114 -114
- package/dist/chat/message.esm.js.map +1 -1
- package/dist/chat/messageTools.cjs.js +1 -1
- package/dist/chat/messageTools.cjs.js.map +1 -1
- package/dist/chat/messageTools.esm.js +51 -51
- package/dist/chunks/{ResourceActionsMenu-Bllpr4M5.js → ResourceActionsMenu-Bx7YWY3E.js} +29 -29
- package/dist/chunks/{ResourceActionsMenu-Bllpr4M5.js.map → ResourceActionsMenu-Bx7YWY3E.js.map} +1 -1
- package/dist/chunks/{access-control-modal-CwmY_Dod.js → access-control-modal-B1mFFIyz.js} +165 -165
- package/dist/chunks/{access-control-modal-CwmY_Dod.js.map → access-control-modal-B1mFFIyz.js.map} +1 -1
- package/dist/chunks/{account-CoHPKKDu.js → account-DWmMJre6.js} +22 -22
- package/dist/chunks/{account-CoHPKKDu.js.map → account-DWmMJre6.js.map} +1 -1
- package/dist/chunks/{auth-CocCqS1p.js → auth-EK-iYNYZ.js} +37 -37
- package/dist/chunks/{auth-CocCqS1p.js.map → auth-EK-iYNYZ.js.map} +1 -1
- package/dist/chunks/{avatar-sNdKdWVO.js → avatar-BBgvMlqv.js} +13 -13
- package/dist/chunks/{avatar-sNdKdWVO.js.map → avatar-BBgvMlqv.js.map} +1 -1
- package/dist/chunks/{combobox-fSTp9qoT.js → combobox-DS6byaf1.js} +3 -3
- package/dist/chunks/{combobox-fSTp9qoT.js.map → combobox-DS6byaf1.js.map} +1 -1
- package/dist/chunks/{error-state-BD4_Wrkz.js → error-state-jV9dlFX2.js} +2 -2
- package/dist/chunks/{error-state-BD4_Wrkz.js.map → error-state-jV9dlFX2.js.map} +1 -1
- package/dist/chunks/{file-explorer-header-D0TebSYR.js → file-explorer-header-Djp_eFuT.js} +50 -50
- package/dist/chunks/{file-explorer-header-D0TebSYR.js.map → file-explorer-header-Djp_eFuT.js.map} +1 -1
- package/dist/chunks/{guard-BOicu9dt.js → guard-SxVT1xr4.js} +13 -13
- package/dist/chunks/{guard-BOicu9dt.js.map → guard-SxVT1xr4.js.map} +1 -1
- package/dist/chunks/{index.esm-C9oV3H3X.js → index.esm-BQrkxchZ.js} +2 -2
- package/dist/chunks/{index.esm-C9oV3H3X.js.map → index.esm-BQrkxchZ.js.map} +1 -1
- package/dist/chunks/{jsonld-D-TE94B0.js → jsonld-C6IOQ1Tg.js} +2 -2
- package/dist/chunks/{jsonld-D-TE94B0.js.map → jsonld-C6IOQ1Tg.js.map} +1 -1
- package/dist/chunks/{login-button-clTw_9tX.js → login-button-Dd0rwZJk.js} +11 -11
- package/dist/chunks/{login-button-clTw_9tX.js.map → login-button-Dd0rwZJk.js.map} +1 -1
- package/dist/chunks/{logout-button-CP-Pz70O.js → logout-button-Da34Lrnq.js} +11 -11
- package/dist/chunks/{logout-button-CP-Pz70O.js.map → logout-button-Da34Lrnq.js.map} +1 -1
- package/dist/chunks/{menu-D0k2fkiE.js → menu-BNJU654v.js} +2 -2
- package/dist/chunks/{menu-D0k2fkiE.js.map → menu-BNJU654v.js.map} +1 -1
- package/dist/chunks/{provider-Cuv3Kp6G.js → provider-B3FoP2qW.js} +11 -11
- package/dist/chunks/{provider-Cuv3Kp6G.js.map → provider-B3FoP2qW.js.map} +1 -1
- package/dist/chunks/{rdf-form-DVmTw3RG.js → rdf-form-BkKDmFPD.js} +36 -36
- package/dist/chunks/{rdf-form-DVmTw3RG.js.map → rdf-form-BkKDmFPD.js.map} +1 -1
- package/dist/chunks/{rdf-input-CRYLK-27.js → rdf-input-BPePtqfS.js} +61 -61
- package/dist/chunks/{rdf-input-CRYLK-27.js.map → rdf-input-BPePtqfS.js.map} +1 -1
- package/dist/chunks/{signup-button-CexdMWj6.js → signup-button-DOInssOu.js} +11 -11
- package/dist/chunks/{signup-button-CexdMWj6.js.map → signup-button-DOInssOu.js.map} +1 -1
- package/dist/chunks/{solidLogicSingleton.esm-BXyHD7mn.js → solidLogicSingleton.esm-Bvt7E7Vl.js} +50 -29
- package/dist/chunks/solidLogicSingleton.esm-Bvt7E7Vl.js.map +1 -0
- package/dist/chunks/{src-DQgHAH3d.js → src-akaVfkuf.js} +1956 -1944
- package/dist/chunks/src-akaVfkuf.js.map +1 -0
- package/dist/chunks/{style-CXaw5EYi.js → style-Dlw9-wPn.js} +3 -3
- package/dist/chunks/{style-CXaw5EYi.js.map → style-Dlw9-wPn.js.map} +1 -1
- package/dist/chunks/{widgets-BBEQu0CS.js → widgets-B1hBVhRL.js} +309 -309
- package/dist/chunks/widgets-B1hBVhRL.js.map +1 -0
- package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.esm.js +5 -5
- package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js +2 -2
- package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js +12 -12
- package/dist/components/access-control-modal/AccessControlModal.cjs.js +2 -2
- package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.esm.js +35 -35
- package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js +2 -2
- 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.esm.js +21 -21
- package/dist/components/access-control-modal.js +1 -1
- package/dist/components/account/Account.cjs.js +1 -1
- package/dist/components/account/Account.esm.js +3 -3
- package/dist/components/account.js +1 -1
- package/dist/components/all.cjs.js +1 -1
- package/dist/components/all.esm.js +16 -16
- package/dist/components/avatar.js +1 -1
- package/dist/components/combobox/Combobox.cjs.js +1 -1
- package/dist/components/combobox/Combobox.esm.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/dialog/Dialog.cjs.js +2 -2
- package/dist/components/dialog/Dialog.cjs.js.map +1 -1
- package/dist/components/dialog/Dialog.esm.js +9 -9
- package/dist/components/dialog/Dialog.esm.js.map +1 -1
- package/dist/components/dialog-provider/DialogProvider.cjs.js +1 -1
- package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
- package/dist/components/dialog-provider/DialogProvider.esm.js +6 -6
- package/dist/components/dialogs-root/DialogsRoot.cjs.js +2 -2
- package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
- package/dist/components/dialogs-root/DialogsRoot.esm.js +7 -7
- package/dist/components/error-state/ErrorState.cjs.js +1 -1
- package/dist/components/error-state/ErrorState.esm.js +1 -1
- package/dist/components/error-state.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js +2 -2
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.cjs.js.map +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderControls.esm.js +10 -10
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.cjs.js +1 -1
- package/dist/components/file-explorer-header/FileExplorerHeaderSummary.esm.js +5 -5
- package/dist/components/file-explorer-header.js +1 -1
- package/dist/components/guard.js +1 -1
- package/dist/components/login-button/LoginButton.cjs.js +1 -1
- package/dist/components/login-button/LoginButton.esm.js +1 -1
- package/dist/components/login-button.js +1 -1
- package/dist/components/login-modal/LoginModal.cjs.js +1 -1
- package/dist/components/login-modal/LoginModal.esm.js +2 -2
- package/dist/components/login-modal.js +1 -1
- package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
- package/dist/components/logout-button/LogoutButton.esm.js +1 -1
- package/dist/components/logout-button.js +1 -1
- package/dist/components/menu/Menu.cjs.js +1 -1
- package/dist/components/menu/Menu.cjs.js.map +1 -1
- package/dist/components/menu/Menu.esm.js +1 -1
- package/dist/components/menu/Menu.esm.js.map +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/provider.js +1 -1
- package/dist/components/rdf-form/RDFForm.cjs.js +3 -3
- package/dist/components/rdf-form/RDFForm.cjs.js.map +1 -1
- package/dist/components/rdf-form/RDFForm.esm.js +13 -13
- package/dist/components/rdf-form/RDFForm.esm.js.map +1 -1
- package/dist/components/rdf-form.js +1 -1
- package/dist/components/rdf-input/RDFInput.cjs.js +2 -2
- package/dist/components/rdf-input/RDFInput.cjs.js.map +1 -1
- package/dist/components/rdf-input/RDFInput.esm.js +4 -4
- package/dist/components/rdf-input/RDFInput.esm.js.map +1 -1
- package/dist/components/rdf-input.js +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js +3 -3
- package/dist/components/resource-actions-menu/ResourceActionsMenu.cjs.js.map +1 -1
- package/dist/components/resource-actions-menu/ResourceActionsMenu.esm.js +7 -7
- package/dist/components/resource-actions-menu.js +1 -1
- package/dist/components/select/Select.cjs.js +1 -1
- package/dist/components/select/Select.cjs.js.map +1 -1
- package/dist/components/select/Select.esm.js +1 -1
- package/dist/components/signup-button/SignupButton.cjs.js +1 -1
- package/dist/components/signup-button/SignupButton.esm.js +1 -1
- package/dist/components/signup-button.js +1 -1
- package/dist/components.js +21 -21
- package/dist/create/create.cjs.js +1 -1
- package/dist/create/create.cjs.js.map +1 -1
- package/dist/create/create.esm.js +23 -23
- package/dist/header/index.cjs.js +1 -1
- package/dist/header/index.cjs.js.map +1 -1
- package/dist/header/index.esm.js +53 -53
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +20 -20
- package/dist/index.js +5 -5
- package/dist/lib/auth/SolidAuth.cjs.js +1 -1
- package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
- package/dist/lib/auth/SolidAuth.esm.js +8 -8
- package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
- package/dist/lib/code-editor/CodeEditor.cjs.js +1 -1
- package/dist/lib/code-editor/CodeEditor.cjs.js.map +1 -1
- package/dist/lib/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/lib/code-editor/CodeEditor.esm.js +34 -30
- package/dist/lib/code-editor/CodeEditor.esm.js.map +1 -1
- package/dist/lib/components/dialog-component/DialogComponent.cjs.js +1 -1
- package/dist/lib/components/dialog-component/DialogComponent.cjs.js.map +1 -1
- package/dist/lib/components/dialog-component/DialogComponent.esm.js +4 -4
- package/dist/lib/components/index.cjs.js +1 -1
- package/dist/lib/components/index.esm.js +3 -3
- package/dist/lib/dialogs/helpers.cjs.js +1 -1
- package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
- package/dist/lib/dialogs/helpers.esm.js +4 -4
- package/dist/lib/file-explorer/relevant-panes.cjs.js +1 -1
- package/dist/lib/file-explorer/relevant-panes.cjs.js.map +1 -1
- package/dist/lib/file-explorer/relevant-panes.esm.js +8 -8
- package/dist/lib/messageArea.cjs.js +1 -1
- package/dist/lib/messageArea.cjs.js.map +1 -1
- package/dist/lib/messageArea.esm.js +27 -27
- package/dist/lib/pad.cjs.js +1 -1
- package/dist/lib/pad.cjs.js.map +1 -1
- package/dist/lib/pad.esm.js +15 -15
- package/dist/lib/participation.cjs.js +1 -1
- package/dist/lib/participation.cjs.js.map +1 -1
- package/dist/lib/participation.esm.js +59 -59
- package/dist/lib/preferences.cjs.js +1 -1
- package/dist/lib/preferences.cjs.js.map +1 -1
- package/dist/lib/preferences.esm.js +28 -28
- package/dist/lib/table.cjs.js +3 -3
- package/dist/lib/table.cjs.js.map +1 -1
- package/dist/lib/table.esm.js +123 -123
- package/dist/lib/table.esm.js.map +1 -1
- package/dist/lib/tabs.cjs.js +1 -1
- package/dist/lib/tabs.cjs.js.map +1 -1
- package/dist/lib/tabs.esm.js +16 -16
- package/dist/loader.js +11 -11
- package/dist/login/login.cjs.js +6 -6
- package/dist/login/login.cjs.js.map +1 -1
- package/dist/login/login.esm.js +142 -142
- package/dist/media/media-capture.cjs.js +1 -1
- package/dist/media/media-capture.cjs.js.map +1 -1
- package/dist/media/media-capture.esm.js +6 -6
- package/dist/solid-ui.js +18 -18
- package/dist/solid-ui.min.js +18 -18
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/utils/index.cjs.js +1 -1
- package/dist/utils/index.cjs.js.map +1 -1
- package/dist/utils/index.esm.js +4 -4
- package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
- package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
- package/dist/utils/keyHelpers/accessData.esm.js +15 -15
- package/dist/utils/label.cjs.js +1 -1
- package/dist/utils/label.cjs.js.map +1 -1
- package/dist/utils/label.esm.js +4 -4
- package/dist/widgets/buttons.cjs.js +12 -12
- package/dist/widgets/buttons.cjs.js.map +1 -1
- package/dist/widgets/buttons.esm.js +179 -179
- package/dist/widgets/error.cjs.js +1 -1
- package/dist/widgets/error.cjs.js.map +1 -1
- package/dist/widgets/error.esm.js +5 -5
- package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js +17 -17
- package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompleteField.esm.js +23 -23
- 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 +26 -26
- package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/language.esm.js +9 -9
- package/dist/widgets/forms/autocomplete/publicData.cjs.js +5 -5
- package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/publicData.esm.js +67 -67
- package/dist/widgets/forms/basic.cjs.js +1 -1
- package/dist/widgets/forms/basic.cjs.js.map +1 -1
- package/dist/widgets/forms/basic.esm.js +11 -11
- package/dist/widgets/forms.cjs.js +4 -4
- package/dist/widgets/forms.cjs.js.map +1 -1
- package/dist/widgets/forms.esm.js +561 -561
- package/dist/widgets/forms.esm.js.map +1 -1
- package/dist/widgets/index.cjs.js +1 -1
- package/dist/widgets/index.cjs.js.map +1 -1
- package/dist/widgets/index.esm.js +82 -82
- package/dist/widgets/peoplePicker.cjs.js +2 -2
- package/dist/widgets/peoplePicker.cjs.js.map +1 -1
- package/dist/widgets/peoplePicker.esm.js +82 -82
- package/package.json +3 -3
- package/dist/chunks/solidLogicSingleton.esm-BXyHD7mn.js.map +0 -1
- package/dist/chunks/src-DQgHAH3d.js.map +0 -1
- package/dist/chunks/widgets-BBEQu0CS.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import "./
|
|
1
|
+
import { b as e, c as t, g as n, i as r, o as i, p as a, u as o } from "./components-C8c2Ucm5.js";
|
|
2
|
+
import { a as s, o as c } from "./auth-EK-iYNYZ.js";
|
|
3
|
+
import "./avatar-BBgvMlqv.js";
|
|
4
4
|
import "./button-D6qO2idW.js";
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import "./logout-button-CP-Pz70O.js";
|
|
5
|
+
import "./login-button-Dd0rwZJk.js";
|
|
6
|
+
import "./logout-button-Da34Lrnq.js";
|
|
8
7
|
import "./menu-item-nfPpH4dN.js";
|
|
9
|
-
import "./menu-
|
|
10
|
-
import "./signup-button-
|
|
8
|
+
import "./menu-BNJU654v.js";
|
|
9
|
+
import "./signup-button-DOInssOu.js";
|
|
10
|
+
import "./chevron-down-CqUEolao.js";
|
|
11
11
|
// ~icons/lucide/log-in
|
|
12
12
|
var l = class extends HTMLElement {
|
|
13
13
|
constructor() {
|
|
@@ -30,7 +30,7 @@ var d = class extends HTMLElement {
|
|
|
30
30
|
};
|
|
31
31
|
customElements.get("icon-lucide-user") || customElements.define("icon-lucide-user", d);
|
|
32
32
|
// src/components/account/Account.styles.css
|
|
33
|
-
var f =
|
|
33
|
+
var f = a`: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;& 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;& solid-ui-avatar{width:var(--image-size);height:var(--image-size);border:var(--border-width) solid var(--solid-ui-color-white);border-radius:50%}& icon-lucide-chevron-down{width:16px;height:16px}}}`, p, m, h, g, _, v, y, b, x, S, C, w, T;
|
|
34
34
|
function E(e, t, n) {
|
|
35
35
|
D(e, t), t.set(e, n);
|
|
36
36
|
}
|
|
@@ -202,14 +202,14 @@ function I(e) {
|
|
|
202
202
|
function L(e) {
|
|
203
203
|
return e;
|
|
204
204
|
}
|
|
205
|
-
y = [
|
|
205
|
+
y = [n("solid-ui-account")];
|
|
206
206
|
var R;
|
|
207
|
-
new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T = (b =
|
|
208
|
-
context:
|
|
207
|
+
new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T = (b = r({ type: Array }), S = e({
|
|
208
|
+
context: c,
|
|
209
209
|
subscribe: !0
|
|
210
|
-
}), "menuItems"), m = class extends
|
|
211
|
-
constructor(...
|
|
212
|
-
super(...
|
|
210
|
+
}), "menuItems"), m = class extends i {
|
|
211
|
+
constructor(...e) {
|
|
212
|
+
super(...e), E(this, h, (_(this), x(this, []))), E(this, g, C(this, s)), j(this, "unsubscribeSessionUpdated", void 0);
|
|
213
213
|
}
|
|
214
214
|
get [T]() {
|
|
215
215
|
return k(h, this);
|
|
@@ -230,15 +230,15 @@ new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T =
|
|
|
230
230
|
super.disconnectedCallback(), this.unsubscribeSessionUpdated?.();
|
|
231
231
|
}
|
|
232
232
|
render() {
|
|
233
|
-
return this.auth.initialized ? this.auth.account ?
|
|
233
|
+
return this.auth.initialized ? this.auth.account ? o`
|
|
234
234
|
<solid-ui-menu placement="bottom-end">
|
|
235
235
|
<button type="button" slot="trigger">
|
|
236
236
|
<solid-ui-avatar></solid-ui-avatar>
|
|
237
237
|
<icon-lucide-chevron-down slot="right-icon"></icon-lucide-chevron-down>
|
|
238
238
|
</button>
|
|
239
239
|
|
|
240
|
-
${this.menuItems.map((e) =>
|
|
241
|
-
<solid-ui-menu-item .href=${e.href ??
|
|
240
|
+
${this.menuItems.map((e) => o`
|
|
241
|
+
<solid-ui-menu-item .href=${e.href ?? t} ?selected=${e.selected} @solid-ui-select=${() => e.onSelected?.()}>
|
|
242
242
|
${e.label}
|
|
243
243
|
</solid-ui-menu-item>
|
|
244
244
|
`)}
|
|
@@ -249,7 +249,7 @@ new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T =
|
|
|
249
249
|
</solid-ui-menu-item>
|
|
250
250
|
</solid-ui-logout-button>
|
|
251
251
|
</solid-ui-menu>
|
|
252
|
-
` :
|
|
252
|
+
` : o`
|
|
253
253
|
<solid-ui-login-button>
|
|
254
254
|
<solid-ui-button slot="trigger">
|
|
255
255
|
<icon-lucide-user slot="left-icon"></icon-lucide-user>
|
|
@@ -262,7 +262,7 @@ new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T =
|
|
|
262
262
|
Sign Up
|
|
263
263
|
</solid-ui-button>
|
|
264
264
|
</solid-ui-signup-button>
|
|
265
|
-
` :
|
|
265
|
+
` : o`
|
|
266
266
|
<icon-svg-spinners-180-ring></icon-svg-spinners-180-ring>
|
|
267
267
|
`;
|
|
268
268
|
}
|
|
@@ -274,7 +274,7 @@ new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T =
|
|
|
274
274
|
S,
|
|
275
275
|
1,
|
|
276
276
|
"auth"
|
|
277
|
-
]], y, 0, void 0,
|
|
277
|
+
]], y, 0, void 0, i), m), p = class extends L {
|
|
278
278
|
constructor() {
|
|
279
279
|
super(R), j(this, "styles", f), j(this, "states", {
|
|
280
280
|
initializing: (e) => !e.auth.initialized,
|
|
@@ -286,4 +286,4 @@ new (w = (h = /*#__PURE__*/ new WeakMap(), g = /*#__PURE__*/ new WeakMap(), T =
|
|
|
286
286
|
var z = R;
|
|
287
287
|
export { R as n, z as t };
|
|
288
288
|
|
|
289
|
-
//# sourceMappingURL=account-
|
|
289
|
+
//# sourceMappingURL=account-DWmMJre6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-
|
|
1
|
+
{"version":3,"file":"account-DWmMJre6.js","names":["consume","html","nothing","property","customElement","WebComponent","authContext","DEFAULT_AUTH_CONTEXT","styles","_classDecs","_Account","_Account2","_A","WeakMap","_B","_ref","_menuItemsDecs","type","Array","_authDecs","context","subscribe","_Account3","Account","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_menuItems","_init_auth","_defineProperty","_classPrivateFieldGet","menuItems","v","_classPrivateFieldSet","auth","connectedCallback","unsubscribeSessionUpdated","onSessionUpdated","requestUpdate","disconnectedCallback","render","initialized","account","map","menuItem","href","selected","onSelected","label","e","c","_initClass","_applyDecs","_Class","_identity","initializing","component","loggedIn","default","property","consume","nothing","styles","Account","Account","c","A","customElement","n","WebComponent","i","b","DEFAULT_AUTH_CONTEXT","authContext","iconlucidelogin","iconlucidelogout","iconlucideuser","Account_styles_default","_Class","_Account3","_A","_B","_initProto","_initClass","_classDecs","_menuItemsDecs","_init_menuItems","_authDecs","_init_auth","_Account2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","o","applyDec","m","h","y","v","g","u","w","S","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","_Account","args","menuItem","component","account_default"],"sources":["../../src/components/account/Account.styles.css","../../src/components/account/Account.ts","../../src/components/account/index.ts"],"sourcesContent":[":host {\n --image-size: 1.875rem; /* 30px */\n\n display: inline-flex;\n flex-direction: row;\n gap: 10px;\n}\n\n:host([data-state-initializing]) {\n icon-svg-spinners-180-ring {\n width: var(--image-size);\n height: var(--image-size);\n }\n}\n\n:host([data-state-loggedIn]) {\n --padding: 4px;\n --border-width: 1px;\n\n button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 5px;\n background-color: var(--solid-ui-color-body-grey);\n padding: var(--padding);\n border-radius: calc((var(--image-size) + 2 * var(--padding) + 2 * var(--border-width)) / 2);\n color: var(--solid-ui-color-white);\n\n solid-ui-avatar {\n width: var(--image-size);\n height: var(--image-size);\n border: var(--border-width) solid var(--solid-ui-color-white);\n border-radius: 50%;\n }\n\n icon-lucide-chevron-down {\n width: 16px;\n height: 16px;\n }\n }\n}\n","import { consume } from '@lit/context'\nimport { html, nothing, TemplateResult } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { customElement, WebComponent } from '@/lib/components'\nimport { authContext, AuthContext, DEFAULT_AUTH_CONTEXT } from '@/lib/auth'\n\nimport '@/components/avatar'\nimport '@/components/button'\nimport '@/components/login-button'\nimport '@/components/logout-button'\nimport '@/components/menu-item'\nimport '@/components/menu'\nimport '@/components/signup-button'\nimport '~icons/lucide/chevron-down'\nimport '~icons/lucide/log-in'\nimport '~icons/lucide/log-out'\nimport '~icons/lucide/user'\nimport '~icons/svg-spinners/180-ring'\n\nimport styles from './Account.styles.css'\n\nexport interface AccountMenuItem {\n label: string | TemplateResult\n href?: string\n selected?: boolean\n onSelected?(): void\n}\n\n@customElement('solid-ui-account')\nexport default class Account extends WebComponent {\n static styles = styles\n static states = {\n initializing: (component: Account) => !component.auth.initialized,\n loggedIn: (component: Account) => !!component.auth.account,\n }\n\n @property({ type: Array })\n accessor menuItems: AccountMenuItem[] = []\n\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n private unsubscribeSessionUpdated?: () => void\n\n connectedCallback () {\n super.connectedCallback()\n\n this.unsubscribeSessionUpdated = this.auth.onSessionUpdated(() => this.requestUpdate())\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.unsubscribeSessionUpdated?.()\n }\n\n protected render () {\n if (!this.auth.initialized) {\n return html`\n <icon-svg-spinners-180-ring></icon-svg-spinners-180-ring>\n `\n }\n\n if (!this.auth.account) {\n return html`\n <solid-ui-login-button>\n <solid-ui-button slot=\"trigger\">\n <icon-lucide-user slot=\"left-icon\"></icon-lucide-user>\n Log In\n </solid-ui-button>\n </solid-ui-login-button>\n <solid-ui-signup-button>\n <solid-ui-button slot=\"trigger\" variant=\"outline\">\n <icon-lucide-log-in slot=\"left-icon\"></icon-lucide-log-in>\n Sign Up\n </solid-ui-button>\n </solid-ui-signup-button>\n `\n }\n\n return html`\n <solid-ui-menu placement=\"bottom-end\">\n <button type=\"button\" slot=\"trigger\">\n <solid-ui-avatar></solid-ui-avatar>\n <icon-lucide-chevron-down slot=\"right-icon\"></icon-lucide-chevron-down>\n </button>\n\n ${this.menuItems.map(menuItem => html`\n <solid-ui-menu-item .href=${menuItem.href ?? nothing} ?selected=${menuItem.selected} @solid-ui-select=${() => menuItem.onSelected?.()}>\n ${menuItem.label}\n </solid-ui-menu-item>\n `)}\n <solid-ui-logout-button>\n <solid-ui-menu-item slot=\"trigger\">\n <icon-lucide-log-out slot=\"left-icon\"></icon-lucide-log-out>\n Sign out\n </solid-ui-menu-item>\n </solid-ui-logout-button>\n </solid-ui-menu>\n `\n }\n}\n","import Account, { type AccountMenuItem } from './Account'\n\nexport { Account, type AccountMenuItem }\nexport default Account\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACmByCS,IAAA,CASxCL,EAAc,kBAAkB,CAAC;AAAA,IAAAM;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,KAAAC,IAQ/Bb,EAAS,EAAEc,MAAMC,MAAM,CAAC,GAACC,IAGzBnB,EAAQ;CAAEoB,SAASd;CAAae,WAAW;AAAK,CAAC,GAAC,cAAAC,IAXrD,cACqCjB,EAAa;CAAAmB,YAAA,GAAAC,GAAA;EAWSK,AAXT,MAAA,GAAAL,CAAA,GAAAC,EAAA,MAAAd,IAAAe,EAAA,IAAA,GAAAC,EAAA,MAQR,CAAA,CAAE,EAAA,GAAAF,EAAA,MAAAZ,GAAAe,EAAA,MAGLtB,CAAoB,CAAA,GAAAuB,EAAA,MAAA,6BAAA,KAAA,CAAA;CAAA;CAAA,KAAAf,KAAA;EAAA,OAAAgB,EAAAnB,GAAA,IAAA;CAAA;CAAA,IAHhDoB,UAASC,GAAA;EAAAC,EAAAtB,GAAA,MAAAqB,CAAA;CAAA;CAAA,IAGDE,OAAI;EAAA,OAAAJ,EAAAjB,GAAA,IAAA;CAAA;CAAA,IAAJqB,KAAIF,GAAA;EAAAC,EAAApB,GAAA,MAAAmB,CAAA;CAAA;CAIrBG,oBAAqB;EAGnB,AAFA,MAAMA,kBAAkB,GAExB,KAAKC,4BAA4B,KAAKF,KAAKG,uBAAuB,KAAKC,cAAc,CAAC;CACxF;CAEAC,uBAAwB;EAGtB,AAFA,MAAMA,qBAAqB,GAE3B,KAAKH,4BAA4B;CACnC;CAEUI,SAAU;EAwBlB,OAvBK,KAAKN,KAAKO,cAMV,KAAKP,KAAKQ,UAiBR1C,CAAI;;;;;;;cAOD,KAAK+B,UAAUY,KAAIC,MAAY5C,CAAI;4CACL4C,EAASC,QAAQ5C,EAAO,aAAc2C,EAASE,SAAQ,0BAA2BF,EAASG,aAAa,EAAC;sBAC/HH,EAASI,MAAK;;aAEvB,EAAC;;;;;;;;QA3BDhD,CAAI;;;;;;;;;;;;;UANJA,CAAI;;;CA0Cf;AACF,GAAC,CAAAiD,GAAA,CAAAtB,GAAAC,GAAAF,IAAAwB,GAAA,CAAAzC,GAAA0C,MAAAC,EAAA/B,GAAA,CAAA;CAAAN;CAAA;CAAA;AAAA,GAAA;CAAAG;CAAA;CAAA;AAAA,CAAA,GAAAV,GAAA,GAAA,KAAA,GAxEoCJ,CAAY,GAAAiB,IAAAgC,IAAA,cAAAC,EAAA;CAAA/B,cAAA;EAAA,MAAAd,CAAA,GAAAoB,EAAA,MAAA,UAC/BtB,CAAM,GAAAsB,EAAA,MAAA,UACN;GACd0B,eAAeC,MAAuB,CAACA,EAAUtB,KAAKO;GACtDgB,WAAWD,MAAuB,CAAC,CAACA,EAAUtB,KAAKQ;EACrD,CAAC,GAAAS,EAAA;CAAA;AAAA,GAAAtB,EAAAwB,GAAA3C,GAAA,KAAA,CAAA,GAAA2C,GAAA;;AC/BH,IAAA+E,IAAerE"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { b as e, c as t, g as n, i as r, o as i, p as a, r as o, u as s, x as c } from "./components-C8c2Ucm5.js";
|
|
2
|
+
import { t as l, v as u, y as d } from "./solidLogicSingleton.esm-Bvt7E7Vl.js";
|
|
3
|
+
import { n as f, t as p } from "./index.esm-BQrkxchZ.js";
|
|
4
4
|
import { t as m } from "./query-DjAOg-tk.js";
|
|
5
5
|
import { t as h } from "./dialogs-BmtLjMzg.js";
|
|
6
6
|
import "./chevron-down-CqUEolao.js";
|
|
7
|
-
import "./button-D6qO2idW.js";
|
|
8
7
|
import "./dialog-CgYK767T.js";
|
|
9
8
|
import "./dialog-content-DjwRH1ci.js";
|
|
10
9
|
import "./dialog-footer-GQWi8lfB.js";
|
|
11
|
-
import "./
|
|
10
|
+
import "./button-D6qO2idW.js";
|
|
11
|
+
import "./combobox-DS6byaf1.js";
|
|
12
12
|
import "./combobox-option-DOtGuKel.js";
|
|
13
13
|
// node_modules/solid-logic/dist/issuer/issuerLogic.esm.js
|
|
14
14
|
var g = [
|
|
@@ -58,7 +58,7 @@ var v = class {
|
|
|
58
58
|
onSessionUpdated() {
|
|
59
59
|
return () => void 0;
|
|
60
60
|
}
|
|
61
|
-
}, b = new y(), x =
|
|
61
|
+
}, b = new y(), x = c(Symbol("auth")), S = a`.error-message{color:var(--solid-ui-color-error);font-size:var(--solid-ui-font-size-sm);text-align:center;width:100%;font-weight:500}solid-ui-combobox{width:100%}solid-ui-button{flex:1}`, C, w, T, E, D, O, k, A, j, ee, M, N, P, F, I, L, R, z, B, V, H, U, W, G, K;
|
|
62
62
|
function q(e, t, n) {
|
|
63
63
|
te(e, t), t.set(e, n);
|
|
64
64
|
}
|
|
@@ -230,15 +230,15 @@ function ae(e) {
|
|
|
230
230
|
function oe(e) {
|
|
231
231
|
return e;
|
|
232
232
|
}
|
|
233
|
-
M = [
|
|
233
|
+
M = [n("solid-ui-login-modal")];
|
|
234
234
|
var $;
|
|
235
|
-
new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D = /*#__PURE__*/ new WeakMap(), O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A = /*#__PURE__*/ new WeakMap(), K = (N =
|
|
235
|
+
new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D = /*#__PURE__*/ new WeakMap(), O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A = /*#__PURE__*/ new WeakMap(), K = (N = r({
|
|
236
236
|
type: String,
|
|
237
237
|
reflect: !0
|
|
238
|
-
}), F =
|
|
238
|
+
}), F = o(), L = o(), z = o(), V = e({
|
|
239
239
|
context: x,
|
|
240
240
|
subscribe: !0
|
|
241
|
-
}), U = m("solid-ui-dialog"), "issuerUrl"), w = class extends
|
|
241
|
+
}), U = m("solid-ui-dialog"), "issuerUrl"), w = class extends i {
|
|
242
242
|
constructor(...e) {
|
|
243
243
|
super(...e), q(this, T, (j(this), P(this, ""))), q(this, E, I(this, "")), q(this, D, R(this, !1)), q(this, O, B(this, !1)), q(this, k, H(this, b)), q(this, A, W(this, null));
|
|
244
244
|
}
|
|
@@ -283,15 +283,15 @@ new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D =
|
|
|
283
283
|
}
|
|
284
284
|
render() {
|
|
285
285
|
let e = _();
|
|
286
|
-
return
|
|
286
|
+
return s`
|
|
287
287
|
<solid-ui-dialog title="Select an identity provider">
|
|
288
288
|
<form @submit=${this.onSubmit}>
|
|
289
289
|
<solid-ui-dialog-content>
|
|
290
290
|
<solid-ui-combobox label="Solid Identity Provider" .value=${this.issuerInputValue} @input=${this.onIssuerInputChange}>
|
|
291
|
-
${e.map((e) =>
|
|
291
|
+
${e.map((e) => s`<solid-ui-combobox-option value="${e.uri}">${e.name}</solid-ui-combobox-option>`)}
|
|
292
292
|
</solid-ui-combobox>
|
|
293
293
|
|
|
294
|
-
${this.failed ?
|
|
294
|
+
${this.failed ? s`<p class="error-message">Something went wrong</p>` : t}
|
|
295
295
|
</solid-ui-dialog-content>
|
|
296
296
|
|
|
297
297
|
<solid-ui-dialog-footer>
|
|
@@ -359,16 +359,16 @@ new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D =
|
|
|
359
359
|
1,
|
|
360
360
|
"dialog"
|
|
361
361
|
]
|
|
362
|
-
], M, 0, void 0,
|
|
362
|
+
], M, 0, void 0, i), w), C = class extends oe {
|
|
363
363
|
constructor() {
|
|
364
364
|
super($), Z(this, "styles", S), ee();
|
|
365
365
|
}
|
|
366
366
|
}, Z(C, G, void 0), C)();
|
|
367
367
|
// src/components/login-modal/index.ts
|
|
368
368
|
var se = $, ce = "https://solidproject.org/get_a_pod";
|
|
369
|
-
function le(
|
|
370
|
-
let
|
|
371
|
-
return
|
|
369
|
+
function le(e) {
|
|
370
|
+
let t = l.store, n = t.sym(e), r = t.any(n, d.sioc("avatar")) || t.any(n, d.foaf("img")) || t.any(n, d.vcard("logo")) || t.any(n, d.vcard("hasPhoto")) || t.any(n, d.vcard("photo")) || t.any(n, d.foaf("depiction"));
|
|
371
|
+
return r ? r.value : void 0;
|
|
372
372
|
}
|
|
373
373
|
var ue = class {
|
|
374
374
|
_initialized = !1;
|
|
@@ -378,48 +378,48 @@ var ue = class {
|
|
|
378
378
|
this.signupUrl = e;
|
|
379
379
|
}
|
|
380
380
|
async initialize() {
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
}),
|
|
384
|
-
|
|
385
|
-
}), await
|
|
381
|
+
f.events.on("sessionRestore", () => {
|
|
382
|
+
l.store.updater.flagAuthorizationMetadata();
|
|
383
|
+
}), u(f.events, () => {
|
|
384
|
+
f.info?.isLoggedIn && window.location.reload();
|
|
385
|
+
}), await p.checkUser(), this._initialized = !0, this.listeners.forEach((e) => e());
|
|
386
386
|
}
|
|
387
387
|
async loadProfile() {
|
|
388
|
-
!this.profileLoaded && this.account && (this.profileLoaded = !0, await
|
|
388
|
+
!this.profileLoaded && this.account && (this.profileLoaded = !0, await l.profile.loadMe(), this.listeners.forEach((e) => e()));
|
|
389
389
|
}
|
|
390
390
|
get initialized() {
|
|
391
391
|
return this._initialized;
|
|
392
392
|
}
|
|
393
393
|
get account() {
|
|
394
|
-
let e =
|
|
395
|
-
return !(
|
|
394
|
+
let e = f.webId ?? f.info?.webId;
|
|
395
|
+
return !(f.isActive ?? f.info?.isLoggedIn ?? !!e) || !e ? null : new v(e, le(e));
|
|
396
396
|
}
|
|
397
|
-
async login(
|
|
398
|
-
if (!
|
|
397
|
+
async login(e) {
|
|
398
|
+
if (!e) {
|
|
399
399
|
h(se);
|
|
400
400
|
return;
|
|
401
401
|
}
|
|
402
|
-
|
|
403
|
-
let
|
|
404
|
-
|
|
405
|
-
let
|
|
406
|
-
|
|
402
|
+
l.store.updater.flagAuthorizationMetadata();
|
|
403
|
+
let t = new URL(window.location.href).hash;
|
|
404
|
+
t && window.localStorage.setItem("preLoginRedirectHash", t), window.localStorage.setItem("loginIssuer", e);
|
|
405
|
+
let n = new URL(window.location.href);
|
|
406
|
+
n.hash = "", await f.login(e, n.href);
|
|
407
407
|
}
|
|
408
408
|
async signup() {
|
|
409
409
|
window.open(this.signupUrl, "_blank", "noopener,noreferrer");
|
|
410
410
|
}
|
|
411
411
|
async logout() {
|
|
412
|
-
await
|
|
412
|
+
await f.logout();
|
|
413
413
|
}
|
|
414
414
|
onSessionUpdated(e) {
|
|
415
|
-
let t =
|
|
415
|
+
let t = f, n = () => {
|
|
416
416
|
e();
|
|
417
417
|
};
|
|
418
|
-
return this.listeners.push(n), typeof t.addEventListener == "function" ? t.addEventListener("sessionStateChange", n) : (
|
|
419
|
-
this.listeners = this.listeners.filter((e) => e !== n), typeof t.removeEventListener == "function" ? t.removeEventListener("sessionStateChange", n) : (
|
|
418
|
+
return this.listeners.push(n), typeof t.addEventListener == "function" ? t.addEventListener("sessionStateChange", n) : (f.events.on("login", n), f.events.on("logout", n), f.events.on("sessionRestore", n)), () => {
|
|
419
|
+
this.listeners = this.listeners.filter((e) => e !== n), typeof t.removeEventListener == "function" ? t.removeEventListener("sessionStateChange", n) : (f.events.off("login", n), f.events.off("logout", n), f.events.off("sessionRestore", n));
|
|
420
420
|
};
|
|
421
421
|
}
|
|
422
422
|
};
|
|
423
423
|
export { b as a, v as c, $ as i, _ as l, ue as n, x as o, se as r, y as s, ce as t };
|
|
424
424
|
|
|
425
|
-
//# sourceMappingURL=auth-
|
|
425
|
+
//# sourceMappingURL=auth-EK-iYNYZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-CocCqS1p.js","names":["Account","webId","avatarUrl","constructor","NoopAuth","initialized","account","login","Error","signup","logout","onSessionUpdated","undefined","createContext","NoopAuth","DEFAULT_AUTH_CONTEXT","authContext","Symbol","createContext","customElement","WebComponent","html","nothing","consume","property","query","state","authContext","DEFAULT_AUTH_CONTEXT","getSuggestedIssuers","styles","_classDecs","_LoginModal","_LoginModal2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_issuerUrlDecs","type","String","reflect","_issuerInputValueDecs","_failedDecs","_submittingDecs","_authDecs","context","subscribe","_dialogDecs","_LoginModal3","LoginModal","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_issuerUrl","_init_issuerInputValue","_init_failed","_init_submitting","_init_auth","_init_dialog","_classPrivateFieldGet","issuerUrl","v","_classPrivateFieldSet","issuerInputValue","failed","submitting","auth","dialog","connectedCallback","localStorage","getItem","uri","render","suggestedIssuers","onSubmit","onIssuerInputChange","map","issuer","name","close","e","target","value","preventDefault","login","error","console","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","property","state","consume","query","getSuggestedIssuers","nothing","styles","LoginModal","LoginModal","Account","ns","authn","authSession","reloadOnIdentityReplaced","solidLogicSingleton","showDialog","LoginModal","DEFAULT_SIGNUP_URL","findAccountImage","webId","store","me","sym","image","any","sioc","foaf","vcard","value","undefined","SolidAuth","_initialized","profileLoaded","listeners","constructor","signupUrl","initialize","events","on","updater","flagAuthorizationMetadata","info","isLoggedIn","window","location","reload","checkUser","forEach","listener","loadProfile","account","profile","loadMe","initialized","isActive","Boolean","avatarUrl","login","loginUrl","preLoginRedirectHash","URL","href","hash","localStorage","setItem","locationUrl","signup","open","logout","onSessionUpdated","callback","sessionEventTarget","push","addEventListener","filter","_listener","removeEventListener","off","solidLogicSingleton","ns","authSession","authn","LoginModal","c","C","ns_default","O","D","c$1","A","customElement","n$1","WebComponent","i","b","n","e$1","showDialog","e","t","r","Account","webId","avatarUrl","NoopAuth","DEFAULT_AUTH_CONTEXT","authContext","LoginModal_styles_default","_Class","_LoginModal3","_A","_B","_C","_D","_E","_F","_initProto","_initClass","_classDecs","_issuerUrlDecs","_init_issuerUrl","_issuerInputValueDecs","_init_issuerInputValue","_failedDecs","_init_failed","_submittingDecs","_init_submitting","_authDecs","_init_auth","_dialogDecs","_init_dialog","_LoginModal2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","_classPrivateFieldGet","_defineProperty","_toPropertyKey","_applyDecs","o","applyDec","m","h","y","v","g","u","w","S","d","p","_setFunctionName","P","j","I","F","l","f","N","_checkInRHS","_toPrimitive","_identity","_LoginModal","args","suggestedIssuers","issuer","error","login_modal_default","DEFAULT_SIGNUP_URL","findAccountImage","store","me","image","SolidAuth","signupUrl","listener","loginUrl","preLoginRedirectHash","locationUrl","sessionEventTarget","_listener"],"sources":["../../node_modules/solid-logic/dist/issuer/issuerLogic.esm.js","../../src/lib/auth/Account.ts","../../src/lib/auth/NoopAuth.ts","../../src/lib/auth/context.ts","../../src/components/login-modal/LoginModal.styles.css","../../src/components/login-modal/LoginModal.ts","../../src/components/login-modal/index.ts","../../src/lib/auth/SolidAuth.ts"],"sourcesContent":["//#region src/issuer/issuerLogic.ts\nvar e = [\n\t{\n\t\tname: \"Solid Community\",\n\t\turi: \"https://solidcommunity.net\"\n\t},\n\t{\n\t\tname: \"Solid Web\",\n\t\turi: \"https://solidweb.org\"\n\t},\n\t{\n\t\tname: \"Solid Web ME\",\n\t\turi: \"https://solidweb.me\"\n\t},\n\t{\n\t\tname: \"Inrupt.com\",\n\t\turi: \"https://login.inrupt.com\"\n\t}\n];\nfunction t() {\n\tlet t = [...e], { host: n, origin: r } = new URL(location.href);\n\treturn t.map(({ uri: e }) => new URL(e).host).includes(n) || t.unshift({\n\t\tname: n,\n\t\turi: r\n\t}), t;\n}\n//#endregion\nexport { t as getSuggestedIssuers };\n\n//# sourceMappingURL=issuerLogic.esm.js.map","export default class Account {\n public readonly webId: string\n public readonly avatarUrl?: string\n\n constructor (webId: string, avatarUrl?: string) {\n this.webId = webId\n this.avatarUrl = avatarUrl\n }\n}\n","import { AuthContext } from './context'\n\nexport default class NoopAuth implements AuthContext {\n public readonly initialized = false\n public readonly account = null\n\n async login () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n async signup () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n async logout () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n onSessionUpdated () {\n return () => undefined\n }\n}\n","import { createContext } from '@lit/context'\nimport NoopAuth from './NoopAuth'\nimport Account from './Account'\n\nexport interface AuthContext {\n initialized: boolean;\n account: Account | null;\n login(loginUrl?: string): Promise<void>;\n loadProfile?(): Promise<void>;\n signup(): Promise<void>;\n logout(): Promise<void>;\n onSessionUpdated(callback: () => unknown): () => void;\n}\n\nexport const DEFAULT_AUTH_CONTEXT = new NoopAuth()\nexport const authContext = createContext<AuthContext>(Symbol('auth'))\n",".error-message {\n color: var(--solid-ui-color-error);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 500;\n text-align: center;\n width: 100%;\n}\n\nsolid-ui-combobox {\n width: 100%;\n}\n\nsolid-ui-button {\n flex: 1;\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { consume } from '@lit/context'\nimport { property, query, state } from 'lit/decorators.js'\nimport { AuthContext, authContext, DEFAULT_AUTH_CONTEXT } from '@/lib/auth'\nimport { getSuggestedIssuers } from 'solid-logic'\nimport type Dialog from '@/components/dialog'\nimport type Combobox from '@/components/combobox'\n\nimport '~icons/lucide/chevron-down'\nimport '@/components/dialog'\nimport '@/components/dialog-content'\nimport '@/components/dialog-footer'\nimport '@/components/button'\nimport '@/components/combobox'\nimport '@/components/combobox-option'\n\nimport styles from './LoginModal.styles.css'\n\n@customElement('solid-ui-login-modal')\nexport default class LoginModal extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor issuerUrl = ''\n\n @state()\n private accessor issuerInputValue = ''\n\n @state()\n private accessor failed: boolean = false\n\n @state()\n private accessor submitting: boolean = false\n\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n @query('solid-ui-dialog')\n private accessor dialog: Dialog | null = null\n\n connectedCallback () {\n super.connectedCallback()\n\n this.issuerInputValue =\n (typeof localStorage !== 'undefined' && localStorage.getItem('loginIssuer')) ||\n this.issuerUrl ||\n getSuggestedIssuers()[0]?.uri ||\n ''\n }\n\n protected render () {\n const suggestedIssuers = getSuggestedIssuers()\n\n return html`\n <solid-ui-dialog title=\"Select an identity provider\">\n <form @submit=${this.onSubmit}>\n <solid-ui-dialog-content>\n <solid-ui-combobox label=\"Solid Identity Provider\" .value=${this.issuerInputValue} @input=${this.onIssuerInputChange}>\n ${suggestedIssuers.map(issuer => html`<solid-ui-combobox-option value=\"${issuer.uri}\">${issuer.name}</solid-ui-combobox-option>`)}\n </solid-ui-combobox>\n\n ${this.failed ? html`<p class=\"error-message\">Something went wrong</p>` : nothing}\n </solid-ui-dialog-content>\n\n <solid-ui-dialog-footer>\n <solid-ui-button\n variant=\"secondary\"\n @click=\"${() => this.dialog?.close()}\"\n >\n Cancel\n </solid-ui-button>\n <solid-ui-button\n ?disabled=${!this.issuerInputValue || this.submitting}\n ?loading=${this.submitting}\n type=\"submit\"\n >\n Login\n </solid-ui-button>\n </solid-ui-dialog-footer>\n </form>\n </solid-ui-dialog>\n `\n }\n\n private onIssuerInputChange (e: Event) {\n this.issuerInputValue = String((e.target as Combobox).value)\n }\n\n private async onSubmit (e: Event) {\n e.preventDefault()\n\n this.failed = false\n\n if (!this.issuerInputValue) {\n return\n }\n\n this.submitting = true\n\n try {\n await this.auth.login(this.issuerInputValue)\n } catch (error) {\n console.error(error)\n\n this.failed = true\n } finally {\n this.submitting = false\n }\n }\n}\n","import LoginModal from './LoginModal'\n\nexport { LoginModal }\nexport default LoginModal\n","import Account from '@/lib/auth/Account'\nimport ns from '@/lib/ns'\nimport { authn, authSession, reloadOnIdentityReplaced, solidLogicSingleton } from 'solid-logic'\nimport { AuthContext } from '@/lib/auth'\nimport { showDialog } from '@/lib/dialogs'\n\nimport LoginModal from '@/components/login-modal'\n\nexport const DEFAULT_SIGNUP_URL = 'https://solidproject.org/get_a_pod'\n\nfunction findAccountImage (webId: string): string | undefined {\n const store = solidLogicSingleton.store\n const me = store.sym(webId)\n const image =\n store.any(me, ns.sioc('avatar')) ||\n store.any(me, ns.foaf('img')) ||\n store.any(me, ns.vcard('logo')) ||\n store.any(me, ns.vcard('hasPhoto')) ||\n store.any(me, ns.vcard('photo')) ||\n store.any(me, ns.foaf('depiction'))\n\n return image ? (image as any).value : undefined\n}\n\nexport default class SolidAuth implements AuthContext {\n private _initialized = false\n private profileLoaded = false\n private listeners: (() => unknown)[] = []\n\n constructor (public signupUrl: string = DEFAULT_SIGNUP_URL) {}\n\n async initialize () {\n authSession.events.on('sessionRestore', () => {\n ;(solidLogicSingleton.store.updater as any).flagAuthorizationMetadata()\n })\n\n // An identity that was actively established was replaced while the session\n // stayed active (A -> B, e.g. from another tab): everything fetched under\n // the previous identity is stale, so the app reloads. A logout is not a\n // reload case here — the derived info already reports logged out and the\n // logout path runs its own cleanup and navigation.\n reloadOnIdentityReplaced(authSession.events, () => {\n if (authSession.info?.isLoggedIn) window.location.reload()\n })\n\n await authn.checkUser()\n\n this._initialized = true\n this.listeners.forEach(listener => listener())\n }\n\n async loadProfile () {\n if (this.profileLoaded || !this.account) {\n return\n }\n\n this.profileLoaded = true\n\n await solidLogicSingleton.profile.loadMe()\n\n this.listeners.forEach(listener => listener())\n }\n\n get initialized (): boolean {\n return this._initialized\n }\n\n get account (): Account | null {\n const webId: string | undefined = authSession.webId ?? authSession.info?.webId\n const isActive: boolean = authSession.isActive ?? authSession.info?.isLoggedIn ?? Boolean(webId)\n\n if (!isActive || !webId) {\n return null\n }\n\n const avatarUrl = findAccountImage(webId)\n\n return new Account(webId, avatarUrl)\n }\n\n async login (loginUrl?: string) {\n if (!loginUrl) {\n showDialog(LoginModal)\n\n return\n }\n\n // clear authorization metadata from store\n ;(solidLogicSingleton.store.updater as any).flagAuthorizationMetadata()\n\n const preLoginRedirectHash = new URL(window.location.href).hash\n if (preLoginRedirectHash) {\n window.localStorage.setItem('preLoginRedirectHash', preLoginRedirectHash)\n }\n window.localStorage.setItem('loginIssuer', loginUrl)\n\n const locationUrl = new URL(window.location.href)\n\n locationUrl.hash = ''\n\n await authSession.login(loginUrl, locationUrl.href)\n }\n\n async signup () {\n window.open(this.signupUrl, '_blank', 'noopener,noreferrer')\n }\n\n async logout () {\n await authSession.logout()\n }\n\n onSessionUpdated (callback: () => unknown) {\n const sessionEventTarget = authSession as unknown as EventTarget\n const listener = () => {\n callback()\n }\n\n this.listeners.push(listener)\n\n if (typeof sessionEventTarget.addEventListener === 'function') {\n sessionEventTarget.addEventListener('sessionStateChange', listener)\n } else {\n authSession.events.on('login', listener)\n authSession.events.on('logout', listener)\n authSession.events.on('sessionRestore', listener)\n }\n\n return () => {\n this.listeners = this.listeners.filter(_listener => _listener !== listener)\n\n if (typeof sessionEventTarget.removeEventListener === 'function') {\n sessionEventTarget.removeEventListener('sessionStateChange', listener)\n } else {\n authSession.events.off('login', listener)\n authSession.events.off('logout', listener)\n authSession.events.off('sessionRestore', listener)\n }\n }\n }\n}\n"],"ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-EK-iYNYZ.js","names":["Account","webId","avatarUrl","constructor","NoopAuth","initialized","account","login","Error","signup","logout","onSessionUpdated","undefined","createContext","NoopAuth","DEFAULT_AUTH_CONTEXT","authContext","Symbol","createContext","customElement","WebComponent","html","nothing","consume","property","query","state","authContext","DEFAULT_AUTH_CONTEXT","getSuggestedIssuers","styles","_classDecs","_LoginModal","_LoginModal2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_issuerUrlDecs","type","String","reflect","_issuerInputValueDecs","_failedDecs","_submittingDecs","_authDecs","context","subscribe","_dialogDecs","_LoginModal3","LoginModal","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_issuerUrl","_init_issuerInputValue","_init_failed","_init_submitting","_init_auth","_init_dialog","_classPrivateFieldGet","issuerUrl","v","_classPrivateFieldSet","issuerInputValue","failed","submitting","auth","dialog","connectedCallback","localStorage","getItem","uri","render","suggestedIssuers","onSubmit","onIssuerInputChange","map","issuer","name","close","e","target","value","preventDefault","login","error","console","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","property","state","consume","query","getSuggestedIssuers","nothing","styles","LoginModal","LoginModal","Account","ns","authn","authSession","reloadOnIdentityReplaced","solidLogicSingleton","showDialog","LoginModal","DEFAULT_SIGNUP_URL","findAccountImage","webId","store","me","sym","image","any","sioc","foaf","vcard","value","undefined","SolidAuth","_initialized","profileLoaded","listeners","constructor","signupUrl","initialize","events","on","updater","flagAuthorizationMetadata","info","isLoggedIn","window","location","reload","checkUser","forEach","listener","loadProfile","account","profile","loadMe","initialized","isActive","Boolean","avatarUrl","login","loginUrl","preLoginRedirectHash","URL","href","hash","localStorage","setItem","locationUrl","signup","open","logout","onSessionUpdated","callback","sessionEventTarget","push","addEventListener","filter","_listener","removeEventListener","off","solidLogicSingleton","ns","authSession","authn","LoginModal","c","A","customElement","n$1","WebComponent","i","b","n","c$1","C","ns_default","O","D","e$1","showDialog","e","t","r","Account","webId","avatarUrl","NoopAuth","DEFAULT_AUTH_CONTEXT","authContext","LoginModal_styles_default","_Class","_LoginModal3","_A","_B","_C","_D","_E","_F","_initProto","_initClass","_classDecs","_issuerUrlDecs","_init_issuerUrl","_issuerInputValueDecs","_init_issuerInputValue","_failedDecs","_init_failed","_submittingDecs","_init_submitting","_authDecs","_init_auth","_dialogDecs","_init_dialog","_LoginModal2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","_classPrivateFieldGet","_defineProperty","_toPropertyKey","_applyDecs","o","applyDec","m","h","y","v","g","u","w","S","d","p","_setFunctionName","P","j","I","F","l","f","N","_checkInRHS","_toPrimitive","_identity","_LoginModal","args","suggestedIssuers","issuer","error","login_modal_default","DEFAULT_SIGNUP_URL","findAccountImage","store","me","image","SolidAuth","signupUrl","listener","loginUrl","preLoginRedirectHash","locationUrl","sessionEventTarget","_listener"],"sources":["../../node_modules/solid-logic/dist/issuer/issuerLogic.esm.js","../../src/lib/auth/Account.ts","../../src/lib/auth/NoopAuth.ts","../../src/lib/auth/context.ts","../../src/components/login-modal/LoginModal.styles.css","../../src/components/login-modal/LoginModal.ts","../../src/components/login-modal/index.ts","../../src/lib/auth/SolidAuth.ts"],"sourcesContent":["//#region src/issuer/issuerLogic.ts\nvar e = [\n\t{\n\t\tname: \"Solid Community\",\n\t\turi: \"https://solidcommunity.net\"\n\t},\n\t{\n\t\tname: \"Solid Web\",\n\t\turi: \"https://solidweb.org\"\n\t},\n\t{\n\t\tname: \"Solid Web ME\",\n\t\turi: \"https://solidweb.me\"\n\t},\n\t{\n\t\tname: \"Inrupt.com\",\n\t\turi: \"https://login.inrupt.com\"\n\t}\n];\nfunction t() {\n\tlet t = [...e], { host: n, origin: r } = new URL(location.href);\n\treturn t.map(({ uri: e }) => new URL(e).host).includes(n) || t.unshift({\n\t\tname: n,\n\t\turi: r\n\t}), t;\n}\n//#endregion\nexport { t as getSuggestedIssuers };\n\n//# sourceMappingURL=issuerLogic.esm.js.map","export default class Account {\n public readonly webId: string\n public readonly avatarUrl?: string\n\n constructor (webId: string, avatarUrl?: string) {\n this.webId = webId\n this.avatarUrl = avatarUrl\n }\n}\n","import { AuthContext } from './context'\n\nexport default class NoopAuth implements AuthContext {\n public readonly initialized = false\n public readonly account = null\n\n async login () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n async signup () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n async logout () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n onSessionUpdated () {\n return () => undefined\n }\n}\n","import { createContext } from '@lit/context'\nimport NoopAuth from './NoopAuth'\nimport Account from './Account'\n\nexport interface AuthContext {\n initialized: boolean;\n account: Account | null;\n login(loginUrl?: string): Promise<void>;\n loadProfile?(): Promise<void>;\n signup(): Promise<void>;\n logout(): Promise<void>;\n onSessionUpdated(callback: () => unknown): () => void;\n}\n\nexport const DEFAULT_AUTH_CONTEXT = new NoopAuth()\nexport const authContext = createContext<AuthContext>(Symbol('auth'))\n",".error-message {\n color: var(--solid-ui-color-error);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 500;\n text-align: center;\n width: 100%;\n}\n\nsolid-ui-combobox {\n width: 100%;\n}\n\nsolid-ui-button {\n flex: 1;\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { consume } from '@lit/context'\nimport { property, query, state } from 'lit/decorators.js'\nimport { AuthContext, authContext, DEFAULT_AUTH_CONTEXT } from '@/lib/auth'\nimport { getSuggestedIssuers } from 'solid-logic'\nimport type Dialog from '@/components/dialog'\nimport type Combobox from '@/components/combobox'\n\nimport '~icons/lucide/chevron-down'\nimport '@/components/dialog'\nimport '@/components/dialog-content'\nimport '@/components/dialog-footer'\nimport '@/components/button'\nimport '@/components/combobox'\nimport '@/components/combobox-option'\n\nimport styles from './LoginModal.styles.css'\n\n@customElement('solid-ui-login-modal')\nexport default class LoginModal extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor issuerUrl = ''\n\n @state()\n private accessor issuerInputValue = ''\n\n @state()\n private accessor failed: boolean = false\n\n @state()\n private accessor submitting: boolean = false\n\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n @query('solid-ui-dialog')\n private accessor dialog: Dialog | null = null\n\n connectedCallback () {\n super.connectedCallback()\n\n this.issuerInputValue =\n (typeof localStorage !== 'undefined' && localStorage.getItem('loginIssuer')) ||\n this.issuerUrl ||\n getSuggestedIssuers()[0]?.uri ||\n ''\n }\n\n protected render () {\n const suggestedIssuers = getSuggestedIssuers()\n\n return html`\n <solid-ui-dialog title=\"Select an identity provider\">\n <form @submit=${this.onSubmit}>\n <solid-ui-dialog-content>\n <solid-ui-combobox label=\"Solid Identity Provider\" .value=${this.issuerInputValue} @input=${this.onIssuerInputChange}>\n ${suggestedIssuers.map(issuer => html`<solid-ui-combobox-option value=\"${issuer.uri}\">${issuer.name}</solid-ui-combobox-option>`)}\n </solid-ui-combobox>\n\n ${this.failed ? html`<p class=\"error-message\">Something went wrong</p>` : nothing}\n </solid-ui-dialog-content>\n\n <solid-ui-dialog-footer>\n <solid-ui-button\n variant=\"secondary\"\n @click=\"${() => this.dialog?.close()}\"\n >\n Cancel\n </solid-ui-button>\n <solid-ui-button\n ?disabled=${!this.issuerInputValue || this.submitting}\n ?loading=${this.submitting}\n type=\"submit\"\n >\n Login\n </solid-ui-button>\n </solid-ui-dialog-footer>\n </form>\n </solid-ui-dialog>\n `\n }\n\n private onIssuerInputChange (e: Event) {\n this.issuerInputValue = String((e.target as Combobox).value)\n }\n\n private async onSubmit (e: Event) {\n e.preventDefault()\n\n this.failed = false\n\n if (!this.issuerInputValue) {\n return\n }\n\n this.submitting = true\n\n try {\n await this.auth.login(this.issuerInputValue)\n } catch (error) {\n console.error(error)\n\n this.failed = true\n } finally {\n this.submitting = false\n }\n }\n}\n","import LoginModal from './LoginModal'\n\nexport { LoginModal }\nexport default LoginModal\n","import Account from '@/lib/auth/Account'\nimport ns from '@/lib/ns'\nimport { authn, authSession, reloadOnIdentityReplaced, solidLogicSingleton } from 'solid-logic'\nimport { AuthContext } from '@/lib/auth'\nimport { showDialog } from '@/lib/dialogs'\n\nimport LoginModal from '@/components/login-modal'\n\nexport const DEFAULT_SIGNUP_URL = 'https://solidproject.org/get_a_pod'\n\nfunction findAccountImage (webId: string): string | undefined {\n const store = solidLogicSingleton.store\n const me = store.sym(webId)\n const image =\n store.any(me, ns.sioc('avatar')) ||\n store.any(me, ns.foaf('img')) ||\n store.any(me, ns.vcard('logo')) ||\n store.any(me, ns.vcard('hasPhoto')) ||\n store.any(me, ns.vcard('photo')) ||\n store.any(me, ns.foaf('depiction'))\n\n return image ? (image as any).value : undefined\n}\n\nexport default class SolidAuth implements AuthContext {\n private _initialized = false\n private profileLoaded = false\n private listeners: (() => unknown)[] = []\n\n constructor (public signupUrl: string = DEFAULT_SIGNUP_URL) {}\n\n async initialize () {\n authSession.events.on('sessionRestore', () => {\n ;(solidLogicSingleton.store.updater as any).flagAuthorizationMetadata()\n })\n\n // An identity that was actively established was replaced while the session\n // stayed active (A -> B, e.g. from another tab): everything fetched under\n // the previous identity is stale, so the app reloads. A logout is not a\n // reload case here — the derived info already reports logged out and the\n // logout path runs its own cleanup and navigation.\n reloadOnIdentityReplaced(authSession.events, () => {\n if (authSession.info?.isLoggedIn) window.location.reload()\n })\n\n await authn.checkUser()\n\n this._initialized = true\n this.listeners.forEach(listener => listener())\n }\n\n async loadProfile () {\n if (this.profileLoaded || !this.account) {\n return\n }\n\n this.profileLoaded = true\n\n await solidLogicSingleton.profile.loadMe()\n\n this.listeners.forEach(listener => listener())\n }\n\n get initialized (): boolean {\n return this._initialized\n }\n\n get account (): Account | null {\n const webId: string | undefined = authSession.webId ?? authSession.info?.webId\n const isActive: boolean = authSession.isActive ?? authSession.info?.isLoggedIn ?? Boolean(webId)\n\n if (!isActive || !webId) {\n return null\n }\n\n const avatarUrl = findAccountImage(webId)\n\n return new Account(webId, avatarUrl)\n }\n\n async login (loginUrl?: string) {\n if (!loginUrl) {\n showDialog(LoginModal)\n\n return\n }\n\n // clear authorization metadata from store\n ;(solidLogicSingleton.store.updater as any).flagAuthorizationMetadata()\n\n const preLoginRedirectHash = new URL(window.location.href).hash\n if (preLoginRedirectHash) {\n window.localStorage.setItem('preLoginRedirectHash', preLoginRedirectHash)\n }\n window.localStorage.setItem('loginIssuer', loginUrl)\n\n const locationUrl = new URL(window.location.href)\n\n locationUrl.hash = ''\n\n await authSession.login(loginUrl, locationUrl.href)\n }\n\n async signup () {\n window.open(this.signupUrl, '_blank', 'noopener,noreferrer')\n }\n\n async logout () {\n await authSession.logout()\n }\n\n onSessionUpdated (callback: () => unknown) {\n const sessionEventTarget = authSession as unknown as EventTarget\n const listener = () => {\n callback()\n }\n\n this.listeners.push(listener)\n\n if (typeof sessionEventTarget.addEventListener === 'function') {\n sessionEventTarget.addEventListener('sessionStateChange', listener)\n } else {\n authSession.events.on('login', listener)\n authSession.events.on('logout', listener)\n authSession.events.on('sessionRestore', listener)\n }\n\n return () => {\n this.listeners = this.listeners.filter(_listener => _listener !== listener)\n\n if (typeof sessionEventTarget.removeEventListener === 'function') {\n sessionEventTarget.removeEventListener('sessionStateChange', listener)\n } else {\n authSession.events.off('login', listener)\n authSession.events.off('logout', listener)\n authSession.events.off('sessionRestore', listener)\n }\n }\n }\n}\n"],"ignoreList":[0],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { b as e, g as t, o as n, p as r, u as i } from "./components-C8c2Ucm5.js";
|
|
2
|
+
import { a, o } from "./auth-EK-iYNYZ.js";
|
|
3
3
|
// ~icons/lucide/circle-user
|
|
4
4
|
var s = class extends HTMLElement {
|
|
5
5
|
constructor() {
|
|
@@ -8,7 +8,7 @@ var s = class extends HTMLElement {
|
|
|
8
8
|
};
|
|
9
9
|
customElements.get("icon-lucide-circle-user") || customElements.define("icon-lucide-circle-user", s);
|
|
10
10
|
// src/components/avatar/Avatar.styles.css
|
|
11
|
-
var c =
|
|
11
|
+
var c = r`:host{--size:150px;width:var(--size);height:var(--size);display:inline-flex;overflow:hidden;& 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;& icon-lucide-circle-user{color:var(--solid-ui-color-gray-200);width:50%;height:50%}}`, l, u, d, f, p, m, h, g, _, v;
|
|
12
12
|
function y(e, t, n) {
|
|
13
13
|
b(e, t), t.set(e, n);
|
|
14
14
|
}
|
|
@@ -180,14 +180,14 @@ function k(e) {
|
|
|
180
180
|
function A(e) {
|
|
181
181
|
return e;
|
|
182
182
|
}
|
|
183
|
-
m = [
|
|
183
|
+
m = [t("solid-ui-avatar")];
|
|
184
184
|
var j;
|
|
185
|
-
new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h =
|
|
186
|
-
context:
|
|
185
|
+
new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = e({
|
|
186
|
+
context: o,
|
|
187
187
|
subscribe: !0
|
|
188
|
-
}), "auth"), u = class extends
|
|
189
|
-
constructor(...
|
|
190
|
-
super(...
|
|
188
|
+
}), "auth"), u = class extends n {
|
|
189
|
+
constructor(...e) {
|
|
190
|
+
super(...e), y(this, d, (f(this), g(this, a))), w(this, "unsubscribeSessionUpdated", void 0);
|
|
191
191
|
}
|
|
192
192
|
get [v]() {
|
|
193
193
|
return S(d, this);
|
|
@@ -204,9 +204,9 @@ new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = n({
|
|
|
204
204
|
super.disconnectedCallback(), this.unsubscribeSessionUpdated?.();
|
|
205
205
|
}
|
|
206
206
|
render() {
|
|
207
|
-
return this.auth.account?.avatarUrl ?
|
|
207
|
+
return this.auth.account?.avatarUrl ? i`
|
|
208
208
|
<img src="${this.auth.account?.avatarUrl}" alt="" />
|
|
209
|
-
` :
|
|
209
|
+
` : i`
|
|
210
210
|
<icon-lucide-circle-user></icon-lucide-circle-user>
|
|
211
211
|
`;
|
|
212
212
|
}
|
|
@@ -214,7 +214,7 @@ new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = n({
|
|
|
214
214
|
h,
|
|
215
215
|
1,
|
|
216
216
|
"auth"
|
|
217
|
-
]], m, 0, void 0,
|
|
217
|
+
]], m, 0, void 0, n), u), l = class extends A {
|
|
218
218
|
constructor() {
|
|
219
219
|
super(j), w(this, "styles", c), w(this, "states", { fallback: (e) => !e.auth.account?.avatarUrl }), p();
|
|
220
220
|
}
|
|
@@ -223,4 +223,4 @@ new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = n({
|
|
|
223
223
|
var M = j;
|
|
224
224
|
export { j as n, M as t };
|
|
225
225
|
|
|
226
|
-
//# sourceMappingURL=avatar-
|
|
226
|
+
//# sourceMappingURL=avatar-BBgvMlqv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar-
|
|
1
|
+
{"version":3,"file":"avatar-BBgvMlqv.js","names":["customElement","WebComponent","consume","html","authContext","DEFAULT_AUTH_CONTEXT","styles","_classDecs","_Avatar","_Avatar2","_A","WeakMap","_ref","_authDecs","context","subscribe","_Avatar3","Avatar","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_auth","_defineProperty","_classPrivateFieldGet","auth","v","_classPrivateFieldSet","connectedCallback","loadProfile","unsubscribeSessionUpdated","onSessionUpdated","requestUpdate","disconnectedCallback","render","account","avatarUrl","e","c","_initClass","_applyDecs","_Class","_identity","fallback","component","default","consume","styles","Avatar","Avatar","c","customElement","WebComponent","i","b","iconlucidecircleuser","Avatar_styles_default","_Class","_Avatar3","_A","_initProto","_initClass","_classDecs","_authDecs","_init_auth","_Avatar2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","n","o","applyDec","m","h","y","v","g","u","w","S","A","d","p","_setFunctionName","P","j","D","I","O","k","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","_Avatar","authContext","args","DEFAULT_AUTH_CONTEXT","component","avatar_default"],"sources":["../../src/components/avatar/Avatar.styles.css","../../src/components/avatar/Avatar.ts","../../src/components/avatar/index.ts"],"sourcesContent":[":host {\n --size: 150px;\n\n display: inline-flex;\n overflow: hidden;\n width: var(--size);\n height: var(--size);\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n}\n\n:host([data-state-fallback]) {\n background: var(--solid-ui-color-gray-100);\n justify-content: center;\n align-items: center;\n\n icon-lucide-circle-user {\n color: var(--solid-ui-color-gray-200);\n width: 50%;\n height: 50%;\n }\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { consume } from '@lit/context'\nimport { html } from 'lit'\nimport { authContext, AuthContext, DEFAULT_AUTH_CONTEXT } from '@/lib/auth'\n\nimport '~icons/lucide/circle-user'\n\nimport styles from './Avatar.styles.css'\n\n@customElement('solid-ui-avatar')\nexport default class Avatar extends WebComponent {\n static styles = styles\n static states = {\n fallback: (component: Avatar) => !component.auth.account?.avatarUrl,\n }\n\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n private unsubscribeSessionUpdated?: () => void\n\n connectedCallback () {\n super.connectedCallback()\n\n this.auth.loadProfile?.()\n\n this.unsubscribeSessionUpdated = this.auth.onSessionUpdated(() => {\n this.auth.loadProfile?.()\n this.requestUpdate()\n })\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.unsubscribeSessionUpdated?.()\n }\n\n protected render () {\n if (!this.auth.account?.avatarUrl) {\n return html`\n <icon-lucide-circle-user></icon-lucide-circle-user>\n `\n }\n\n return html`\n <img src=\"${this.auth.account?.avatarUrl}\" alt=\"\" />\n `\n }\n}\n","import Avatar from './Avatar'\n\nexport { Avatar }\nexport default Avatar\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOwCO,IAAA,CAEvCP,EAAc,iBAAiB,CAAC;AAAA,IAAAQ;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,KAAAC,IAO9BX,EAAQ;CAAEY,SAASV;CAAaW,WAAW;AAAK,CAAC,GAAC,SAAAC,IAPrD,cACoCf,EAAa;CAAAiB,YAAA,GAAAC,GAAA;EAOUI,AAPV,MAAA,GAAAJ,CAAA,GAAAC,EAAA,MAAAV,IAAAW,EAAA,IAAA,GAAAC,EAAA,MAOVjB,CAAoB,EAAA,GAAAkB,EAAA,MAAA,6BAAA,KAAA,CAAA;CAAA;CAAA,KAAAX,KAAA;EAAA,OAAAY,EAAAd,GAAA,IAAA;CAAA;CAAA,IAAxCe,KAAIC,GAAA;EAAAC,EAAAjB,GAAA,MAAAgB,CAAA;CAAA;CAIrBE,oBAAqB;EAKnB,AAJA,MAAMA,kBAAkB,GAExB,KAAKH,KAAKI,cAAc,GAExB,KAAKC,4BAA4B,KAAKL,KAAKM,uBAAuB;GAEhE,AADA,KAAKN,KAAKI,cAAc,GACxB,KAAKG,cAAc;EACrB,CAAC;CACH;CAEAC,uBAAwB;EAGtB,AAFA,MAAMA,qBAAqB,GAE3B,KAAKH,4BAA4B;CACnC;CAEUI,SAAU;EAOlB,OANK,KAAKT,KAAKU,SAASC,YAMjBjC,CAAI;oBACK,KAAKsB,KAAKU,SAASC,UAAS;QANnCjC,CAAI;;;CAQf;AACF,GAAC,CAAAkC,GAAA,CAAAf,GAAAD,IAAAiB,GAAA,CAAA9B,GAAA+B,MAAAC,EAAAxB,GAAA,CAAA;CAAAH;CAAA;CAAA;AAAA,CAAA,GAAAN,GAAA,GAAA,KAAA,GAvCmCN,CAAY,GAAAe,IAAAyB,IAAA,cAAAC,EAAA;CAAAxB,cAAA;EAAA,MAAAV,CAAA,GAAAe,EAAA,MAAA,UAC9BjB,CAAM,GAAAiB,EAAA,MAAA,UACN,EACdoB,WAAWC,MAAsB,CAACA,EAAUnB,KAAKU,SAASC,UAC5D,CAAC,GAAAG,EAAA;CAAA;AAAA,GAAAhB,EAAAkB,GAAAhC,GAAA,KAAA,CAAA,GAAAgC,GAAA;;ACXH,IAAAwE,IAAejE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as e, f as t, g as n, i as r, p as i, r as a, t as o, u as s } from "./components-C8c2Ucm5.js";
|
|
2
|
-
import "./chunk.UEBQI7VV-lcP-fpUk.js";
|
|
3
|
-
import { t as c } from "./query-DjAOg-tk.js";
|
|
4
2
|
import "./chevron-down-CqUEolao.js";
|
|
3
|
+
import { t as c } from "./query-DjAOg-tk.js";
|
|
4
|
+
import "./chunk.UEBQI7VV-lcP-fpUk.js";
|
|
5
5
|
// node_modules/@lit/task/task.js
|
|
6
6
|
var l = Symbol(), u = class {
|
|
7
7
|
get taskComplete() {
|
|
@@ -669,4 +669,4 @@ new (fe = (_ = /*#__PURE__*/ new WeakMap(), v = /*#__PURE__*/ new WeakMap(), y =
|
|
|
669
669
|
var Se = $;
|
|
670
670
|
export { $ as n, xe as r, Se as t };
|
|
671
671
|
|
|
672
|
-
//# sourceMappingURL=combobox-
|
|
672
|
+
//# sourceMappingURL=combobox-DS6byaf1.js.map
|