@ofidj/entry 3.17.0 → 3.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dom.d.ts +11 -1
- package/dom.js +52 -3
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/model.d.ts +11 -0
- package/model.js +24 -2
- package/package.json +1 -1
- package/server.d.ts +1 -0
- package/server.js +12 -5
- package/style.css +21 -18
package/dom.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AccountState, type SigninShape, type VerificationState } from "./index.js";
|
|
1
|
+
import { type AccountState, type HistoryEntry, type SigninShape, type VerificationState } from "./index.js";
|
|
2
2
|
export declare const escape: (value: unknown) => string;
|
|
3
3
|
export declare function masthead(logo: string, title: string): string;
|
|
4
4
|
export declare function highlightCells(entries?: Array<{
|
|
@@ -61,3 +61,13 @@ export declare function passkeyRegistration(options: any): Promise<{
|
|
|
61
61
|
};
|
|
62
62
|
clientExtensionResults: {};
|
|
63
63
|
}>;
|
|
64
|
+
export declare function memberCard(options: {
|
|
65
|
+
consent: Record<string, unknown>;
|
|
66
|
+
history: HistoryEntry[];
|
|
67
|
+
agreementHref?: string;
|
|
68
|
+
owner?: boolean;
|
|
69
|
+
leaving?: boolean;
|
|
70
|
+
leaveScope?: string;
|
|
71
|
+
manageHref?: string;
|
|
72
|
+
}): string;
|
|
73
|
+
export declare function bindMemberHistory(root: ParentNode): void;
|
package/dom.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// screen nests signin-trust inside its inner div and the interaction screen
|
|
10
10
|
// makes it a sibling, so a single shell builder would have had to change one of
|
|
11
11
|
// them. That is a decision, not a move.
|
|
12
|
-
import { accountModel, agreementModel, credentialsModel, emailDividerLabel, passkeyDoorModel, providerEntryModel, returnNoticeModel, signInHint, verificationWaitModel, walletDoorModel, } from "./index.js";
|
|
12
|
+
import { accountModel, agreementModel, credentialsModel, emailDividerLabel, historyLine, optionalPurposes, passkeyDoorModel, providerEntryModel, returnNoticeModel, signInHint, verificationWaitModel, walletDoorModel, } from "./index.js";
|
|
13
13
|
export const escape = (value) => String(value ?? "").replace(/[&<>"']/g, (char) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[char]);
|
|
14
14
|
const attribute = (name, value) => value === undefined || value === false || value === ""
|
|
15
15
|
? ""
|
|
@@ -59,7 +59,7 @@ export function credentialFields(state, options = {}) {
|
|
|
59
59
|
return (passkey +
|
|
60
60
|
`<label for="email">${escape(model.email.label)}</label><input id="email" type="email" value="${escape(model.email.value)}" placeholder="${escape(model.email.placeholder)}" autocomplete="username">` +
|
|
61
61
|
`<div class="field-head"><label for="password">${escape(model.password.label)}</label><a href="${escape(model.forgot.href)}">${escape(model.forgot.label)}</a></div>` +
|
|
62
|
-
`<div class="password-field"><input id="password" type="password" value="${escape(model.password.value)}"
|
|
62
|
+
`<div class="password-field"><input id="password" type="password" value="${escape(model.password.value)}" ${attribute("placeholder", model.password.placeholder)} autocomplete="current-password"><button type="button" id="reveal" aria-controls="password">${escape(model.reveal.label)}</button></div>` +
|
|
63
63
|
`<button class="primary" type="submit" name="entry" value="credentials">${escape(model.submit.label)}</button>` +
|
|
64
64
|
`<button class="secondary" type="submit" name="signup" value="true">${escape(model.signup.label)}</button>`);
|
|
65
65
|
}
|
|
@@ -373,4 +373,53 @@ export async function passkeyRegistration(options) {
|
|
|
373
373
|
clientExtensionResults: {},
|
|
374
374
|
};
|
|
375
375
|
}
|
|
376
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekMsRUFBRTtBQUNGLCtFQUErRTtBQUMvRSw4RUFBOEU7QUFDOUUsZ0ZBQWdGO0FBQ2hGLHVFQUF1RTtBQUN2RSxFQUFFO0FBQ0YsZ0ZBQWdGO0FBQ2hGLDRFQUE0RTtBQUM1RSxnRkFBZ0Y7QUFDaEYsd0NBQXdDO0FBRXhDLE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLHFCQUFxQixFQUNyQixlQUFlLEdBS2hCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQ3ZDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUN6QixVQUFVLEVBQ1YsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUN2RSxJQUFJLENBQ0osQ0FDTCxDQUFDO0FBRUosTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBaUMsRUFBRSxFQUFFLENBQ3BFLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssRUFBRTtJQUNwRCxDQUFDLENBQUMsRUFBRTtJQUNKLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUVwQyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQXFCLEVBQUUsVUFBVSxHQUFH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
|
|
376
|
+
// The member card every generated app draws on its account screen, the shell
|
|
377
|
+
// and the Studio Notes starter alike: the agreement with its ground (a link to
|
|
378
|
+
// the version accepted), each optional choice as a switch that says On or Off,
|
|
379
|
+
// then History, Export and the way out — the same reading as Fidj's GDPR card.
|
|
380
|
+
export function memberCard(options) {
|
|
381
|
+
const { consent, history } = options;
|
|
382
|
+
const version = String(consent.termsVersion || "");
|
|
383
|
+
const agreementRow = consent.terms
|
|
384
|
+
? `<div class="member-row"><div><strong>Service agreement</strong>${options.agreementHref && version
|
|
385
|
+
? `<a class="basis" href="${escape(options.agreementHref)}" target="_blank" rel="noopener noreferrer">Contract · agreement ${escape(version)} ↗</a>`
|
|
386
|
+
: '<span class="basis">Contract</span>'}</div><small class="nosw">Part of the service. To stop it, leave the app.</small></div>`
|
|
387
|
+
: '<div class="member-row"><div><strong>Service agreement</strong><small>Not accepted yet — accept it or leave the app.</small></div><button id="accept-terms" class="primary">Accept</button></div>';
|
|
388
|
+
const choices = optionalPurposes
|
|
389
|
+
.map((purpose) => `<label class="member-row" for="purpose-${purpose.key}"><div><strong>${escape(purpose.title)}</strong><small>${escape(purpose.description)}</small><span class="basis consent">Consent</span></div><span class="switch"><input type="checkbox" role="switch" id="purpose-${purpose.key}" data-purpose="${purpose.key}"${consent[purpose.key] ? " checked" : ""}><span class="switch-state" aria-hidden="true">${consent[purpose.key] ? "On" : "Off"}</span></span></label>`)
|
|
390
|
+
.join("");
|
|
391
|
+
const entries = history.length
|
|
392
|
+
? history
|
|
393
|
+
.slice()
|
|
394
|
+
.reverse()
|
|
395
|
+
.map((entry) => {
|
|
396
|
+
const line = historyLine(entry);
|
|
397
|
+
return `<p><time>${escape(line.when)}</time> · ${escape(line.what)}</p>`;
|
|
398
|
+
})
|
|
399
|
+
.join("")
|
|
400
|
+
: "<p>No changes yet.</p>";
|
|
401
|
+
const leave = options.owner
|
|
402
|
+
? "<small>You own this app: hand it over or delete it on Fidj before leaving.</small>"
|
|
403
|
+
: options.leaving
|
|
404
|
+
? `<div role="alertdialog" aria-labelledby="leave-title"><p id="leave-title">${escape(options.leaveScope || "Your membership and what this app holds for you will be erased. Your other apps remain available.")}</p><button id="confirm-leave" class="danger">Leave & erase</button><button id="cancel-leave">Keep my membership</button></div>`
|
|
405
|
+
: '<button id="leave" class="danger">Leave & erase</button>';
|
|
406
|
+
// History is a button beside Export, as on Fidj's console, rather than a
|
|
407
|
+
// native disclosure triangle; `bindMemberHistory` opens and closes it.
|
|
408
|
+
return `<h2>Your membership</h2><div class="member-rows">${agreementRow}${choices}</div>
|
|
409
|
+
<div id="member-history" class="member-history" hidden>${entries}</div>
|
|
410
|
+
<div class="member-actions"><button type="button" id="history-toggle" aria-expanded="false" aria-controls="member-history">History</button><button id="export">Export</button>${leave}</div>${options.manageHref
|
|
411
|
+
? `<p class="leaving"><a href="${escape(options.manageHref)}" target="_blank" rel="noopener noreferrer">Open Fidj to manage every app you use ↗</a></p>`
|
|
412
|
+
: ""}`;
|
|
413
|
+
}
|
|
414
|
+
// Opens and closes the member card's history. A card drawn again starts closed.
|
|
415
|
+
export function bindMemberHistory(root) {
|
|
416
|
+
const toggle = root.querySelector("#history-toggle");
|
|
417
|
+
const list = root.querySelector("#member-history");
|
|
418
|
+
if (!toggle || !list)
|
|
419
|
+
return;
|
|
420
|
+
toggle.onclick = () => {
|
|
421
|
+
list.hidden = !list.hidden;
|
|
422
|
+
toggle.setAttribute("aria-expanded", String(!list.hidden));
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekMsRUFBRTtBQUNGLCtFQUErRTtBQUMvRSw4RUFBOEU7QUFDOUUsZ0ZBQWdGO0FBQ2hGLHVFQUF1RTtBQUN2RSxFQUFFO0FBQ0YsZ0ZBQWdGO0FBQ2hGLDRFQUE0RTtBQUM1RSxnRkFBZ0Y7QUFDaEYsd0NBQXdDO0FBRXhDLE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLGVBQWUsR0FNaEIsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FDdkMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQ3pCLFVBQVUsRUFDVixDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQ3ZFLElBQUksQ0FDSixDQUNMLENBQUM7QUFFSixNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFpQyxFQUFFLEVBQUUsQ0FDcEUsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFO0lBQ3BELENBQUMsQ0FBQyxFQUFFO0lBQ0osQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBRXBDLE1BQU0sTUFBTSxHQUFHLENB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
|
package/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { agreementRequired, agreementFromRefusal, verificationPending, signInErrorMessage, acceptance, providerEntryModel, agreementModel, verificationWaitModel, accountModel, credentialsModel, passkeyDoorModel, emailDividerLabel, walletDoorModel, returnNoticeModel, pollVerification, formatDate, optionalPurposes, type SigninShape, type EntryControl, type ProviderEntryModel, type AgreementModel, type VerificationState, type VerificationWaitModel, type AccountState, type AccountField, type AccountModel, type CredentialsModel, } from "./model.js";
|
|
1
|
+
export { agreementRequired, agreementFromRefusal, verificationPending, signInErrorMessage, acceptance, providerEntryModel, agreementModel, verificationWaitModel, accountModel, credentialsModel, passkeyDoorModel, emailDividerLabel, walletDoorModel, returnNoticeModel, pollVerification, formatDate, optionalPurposes, historyLine, type HistoryEntry, type SigninShape, type EntryControl, type ProviderEntryModel, type AgreementModel, type VerificationState, type VerificationWaitModel, type AccountState, type AccountField, type AccountModel, type CredentialsModel, } from "./model.js";
|
|
2
2
|
export { signInHint, rememberSignIn, forgetSignIn } from "./remembered.js";
|
package/index.js
CHANGED
|
@@ -11,6 +11,6 @@
|
|
|
11
11
|
// Two subpaths carry what cannot be pure:
|
|
12
12
|
// @ofidj/entry/dom the HTML renderer and the helpers that drive a document
|
|
13
13
|
// @ofidj/entry/window the Fidj window and the answer it relays back
|
|
14
|
-
export { agreementRequired, agreementFromRefusal, verificationPending, signInErrorMessage, acceptance, providerEntryModel, agreementModel, verificationWaitModel, accountModel, credentialsModel, passkeyDoorModel, emailDividerLabel, walletDoorModel, returnNoticeModel, pollVerification, formatDate, optionalPurposes, } from "./model.js";
|
|
14
|
+
export { agreementRequired, agreementFromRefusal, verificationPending, signInErrorMessage, acceptance, providerEntryModel, agreementModel, verificationWaitModel, accountModel, credentialsModel, passkeyDoorModel, emailDividerLabel, walletDoorModel, returnNoticeModel, pollVerification, formatDate, optionalPurposes, historyLine, } from "./model.js";
|
|
15
15
|
export { signInHint, rememberSignIn, forgetSignIn } from "./remembered.js";
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUVBQW1FO0FBQ25FLEVBQUU7QUFDRixnRkFBZ0Y7QUFDaEYsNkVBQTZFO0FBQzdFLCtFQUErRTtBQUMvRSxnRkFBZ0Y7QUFDaEYsOEVBQThFO0FBQzlFLDZFQUE2RTtBQUM3RSxrRUFBa0U7QUFDbEUsRUFBRTtBQUNGLDBDQUEwQztBQUMxQyxpRkFBaUY7QUFDakYsdUVBQXVFO0FBQ3ZFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLFdBQVcsR0FZWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyJ9
|
package/model.d.ts
CHANGED
|
@@ -141,3 +141,14 @@ export declare const optionalPurposes: ReadonlyArray<{
|
|
|
141
141
|
title: string;
|
|
142
142
|
description: string;
|
|
143
143
|
}>;
|
|
144
|
+
export type HistoryEntry = {
|
|
145
|
+
type: string;
|
|
146
|
+
granted: boolean;
|
|
147
|
+
changedAt?: string | Date;
|
|
148
|
+
source?: string;
|
|
149
|
+
cguVersion?: string;
|
|
150
|
+
};
|
|
151
|
+
export declare function historyLine(entry: HistoryEntry): {
|
|
152
|
+
when: string;
|
|
153
|
+
what: string;
|
|
154
|
+
};
|
package/model.js
CHANGED
|
@@ -361,7 +361,8 @@ export function credentialsModel(state) {
|
|
|
361
361
|
type: "password",
|
|
362
362
|
autocomplete: "current-password",
|
|
363
363
|
value: state.password,
|
|
364
|
-
|
|
364
|
+
// No row of dots: it only restates that the field is masked.
|
|
365
|
+
placeholder: "",
|
|
365
366
|
},
|
|
366
367
|
forgot: { href: "#/forgot", label: "Forgot?" },
|
|
367
368
|
reveal: { id: "reveal", kind: "quiet", label: "Show" },
|
|
@@ -472,4 +473,25 @@ export const optionalPurposes = [
|
|
|
472
473
|
description: "Allow additional data beyond the essential service.",
|
|
473
474
|
},
|
|
474
475
|
];
|
|
475
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCO0FBQ3RCLEVBQUU7QUFDRiwrRUFBK0U7QUFDL0UsMkVBQTJFO0FBQzNFLHNFQUFzRTtBQUN0RSxnRkFBZ0Y7QUFDaEYsc0VBQXNFO0FBQ3RFLEVBQUU7QUFDRixnRkFBZ0Y7QUFDaEYsK0VBQStFO0FBQy9FLGdGQUFnRjtBQUNoRiw4RUFBOEU7QUFDOUUsMkJBQTJCO0FBSTNCLDhFQUE4RTtBQUM5RSx1QkFBdUI7QUFDdkIsOEVBQThFO0FBRTlFLE1BQU0sa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7QUFFaEQscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRixnRkFBZ0Y7QUFDaEYsNEVBQTRFO0FBQzVFLDBFQUEwRTtBQUMxRSw4RUFBOEU7QUFDOUUsOEVBQThFO0FBQzlFLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFjO0lBQzlDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLEtBSWQsQ0FBQztJQUNGLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxHQUFHO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDckMsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxnRkFBZ0Y7QUFDaEYsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSwyRUFBMkU7QUFDM0UsZ0ZBQWdG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
|
|
476
|
+
// One line of a consent history, the same on Fidj's console and in every
|
|
477
|
+
// generated app. A choice is named by the title its switch carries, so the
|
|
478
|
+
// person reads back what they pressed. The source (profile, signup…) is an
|
|
479
|
+
// internal id of the screen that wrote the record: it tells a reader nothing
|
|
480
|
+
// they can act on, so it is not shown.
|
|
481
|
+
export function historyLine(entry) {
|
|
482
|
+
const when = formatDate(entry.changedAt, "datetime");
|
|
483
|
+
if (entry.type === "terms")
|
|
484
|
+
return {
|
|
485
|
+
when,
|
|
486
|
+
what: entry.granted
|
|
487
|
+
? `Service agreement accepted${entry.cguVersion ? ` · version ${entry.cguVersion}` : ""}`
|
|
488
|
+
: "Service agreement withdrawn",
|
|
489
|
+
};
|
|
490
|
+
const title = optionalPurposes.find((purpose) => purpose.key === entry.type)?.title ??
|
|
491
|
+
entry.type.charAt(0).toUpperCase() + entry.type.slice(1);
|
|
492
|
+
return {
|
|
493
|
+
when,
|
|
494
|
+
what: `${title} — ${entry.granted ? "turned on" : "turned off"}`,
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCO0FBQ3RCLEVBQUU7QUFDRiwrRUFBK0U7QUFDL0UsMkVBQTJFO0FBQzNFLHNFQUFzRTtBQUN0RSxnRkFBZ0Y7QUFDaEYsc0VBQXNFO0FBQ3RFLEVBQUU7QUFDRixnRkFBZ0Y7QUFDaEYsK0VBQStFO0FBQy9FLGdGQUFnRjtBQUNoRiw4RUFBOEU7QUFDOUUsMkJBQTJCO0FBSTNCLDhFQUE4RTtBQUM5RSx1QkFBdUI7QUFDdkIsOEVBQThFO0FBRTlFLE1BQU0sa0JBQWtCLEdBQUcsb0JBQW9CLENBQUM7QUFFaEQscUVBQXFFO0FBQ3JFLEVBQUU7QUFDRixnRkFBZ0Y7QUFDaEYsNEVBQTRFO0FBQzVFLDBFQUEwRTtBQUMxRSw4RUFBOEU7QUFDOUUsOEVBQThFO0FBQzlFLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFjO0lBQzlDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLEtBSWQsQ0FBQztJQUNGLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxHQUFHO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDckMsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxnRkFBZ0Y7QUFDaEYsRUFBRTtBQUNGLDZFQUE2RTtBQUM3RSwyRUFBMkU7QUFDM0UsZ0ZBQWdG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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ofidj/entry",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.18.1",
|
|
4
4
|
"description": "The Fidj entry: sign-in, account recovery, the service agreement and the design system, shared verbatim by Fidj, the generated apps and the console.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
package/server.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type OidcInteractionPage = {
|
|
|
24
24
|
options: unknown;
|
|
25
25
|
};
|
|
26
26
|
logoSrc?: string;
|
|
27
|
+
agreementAccepted?: boolean;
|
|
27
28
|
};
|
|
28
29
|
export declare const oidcInteractionScript = "(() => {\n const bindPasswordReveal = (root) => {\n root.querySelectorAll(\"button[aria-controls]\").forEach((button) => {\n const field = root.querySelector(\"#\" + button.getAttribute(\"aria-controls\"));\n if (!field) return;\n button.addEventListener(\"click\", () => {\n const hidden = field.type === \"password\";\n field.type = hidden ? \"text\" : \"password\";\n button.textContent = hidden ? \"Hide\" : \"Show\";\n });\n });\n };\n const bindAgreement = (root) => {\n const checkbox = root.querySelector('input[name=\"terms\"]');\n const submit = root.querySelector('button[value=\"continue\"]');\n if (!checkbox || !submit) return;\n const update = () => { submit.disabled = !checkbox.checked; };\n checkbox.addEventListener(\"change\", update);\n update();\n };\n // The passkey ceremony, on a page that may not fetch: the options came with\n // the page, the answer leaves with the form.\n const fromB64url = (value) => {\n const base64 = value.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const bytes = atob(base64 + \"===\".slice((base64.length + 3) % 4));\n return Uint8Array.from(bytes, (c) => c.charCodeAt(0)).buffer;\n };\n const toB64url = (buffer) =>\n btoa(String.fromCharCode(...new Uint8Array(buffer))).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n const bindPasskey = (root) => {\n const button = root.querySelector('button[value=\"passkey\"][data-passkey-options]');\n if (!button) return;\n if (!window.PublicKeyCredential || !navigator.credentials) {\n button.hidden = true;\n return;\n }\n button.addEventListener(\"click\", async (event) => {\n event.preventDefault();\n const form = button.form;\n const options = JSON.parse(button.dataset.passkeyOptions);\n const publicKey = {\n ...options,\n challenge: fromB64url(options.challenge),\n allowCredentials: (options.allowCredentials || []).map((c) => ({ ...c, id: fromB64url(c.id) })),\n };\n try {\n const credential = await navigator.credentials.get({ publicKey });\n const r = credential.response;\n form.querySelector('input[name=\"passkey\"]').value = JSON.stringify({\n id: credential.id,\n rawId: toB64url(credential.rawId),\n type: credential.type,\n response: {\n clientDataJSON: toB64url(r.clientDataJSON),\n authenticatorData: toB64url(r.authenticatorData),\n signature: toB64url(r.signature),\n userHandle: r.userHandle ? toB64url(r.userHandle) : undefined,\n },\n clientExtensionResults: {},\n });\n const action = document.createElement(\"input\");\n action.type = \"hidden\";\n action.name = \"action\";\n action.value = \"passkey\";\n form.append(action);\n form.querySelectorAll(\"[required]\").forEach((field) => field.removeAttribute(\"required\"));\n form.submit();\n } catch (e) {\n // Cancelled or refused by the device: the email form is still there.\n }\n });\n };\n bindPasswordReveal(document);\n bindPasskey(document);\n bindAgreement(document);\n})();";
|
|
29
30
|
export declare const oidcInteractionStyles = ".oidc-page,.oidc-page *{box-sizing:border-box}.oidc-page{width:min(100%,560px);max-width:none;padding:0;font:15px/1.5 \"IBM Plex Sans\",system-ui,-apple-system,sans-serif;color:#14110f;text-align:left;min-height:calc(100vh - 48px);margin:0 auto;overflow:hidden;border:1px solid #e4ded7;border-radius:2px;background:#ffffff}.oidc-page .oidc-brand{display:flex;align-items:center;gap:14px;padding:16px 28px;background:#14110f;color:#fbfaf8}.oidc-page .oidc-brand img{width:36px;height:36px}.oidc-page .oidc-brand p{margin:0;font-family:\"Instrument Serif\",Georgia,\"Times New Roman\",serif;font-size:20px;font-weight:400;line-height:1.1}.oidc-page section{padding:30px 32px 36px}.oidc-page section>p{line-height:1.5;color:#4a4540}.oidc-page form{margin-top:20px}.oidc-page label{display:block;margin:18px 0 7px;font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b655f}.oidc-page input,.oidc-page button{width:100%;padding:12px 14px;border:1px solid #dfd9d2;border-radius:2px;font:inherit;background:#ffffff;color:#14110f}.oidc-page input:focus{outline:none;border-color:#14110f}.oidc-page button{margin-top:12px;background:#14110f;border-color:#14110f;color:#fbfaf8;cursor:pointer;font-weight:600}.oidc-page .secondary{background:transparent;border-color:#dfd9d2;color:#14110f;font-weight:500}.oidc-page .cancel{border-color:transparent;background:transparent;color:#6b655f;font-weight:500}.oidc-page .notice{margin:0 0 4px;padding:12px 14px;border:1px solid #e8d9d6;border-left:3px solid #b8352c;background:#fdf7f6;color:#8c2a22;border-radius:2px}.oidc-page .return{margin:0;font-size:13px;color:#6b655f}.oidc-page .field-head,.oidc-page .password-field{display:flex;align-items:flex-end;gap:12px}.oidc-page .field-head{justify-content:space-between}.oidc-page .field-head label{margin-bottom:7px}.oidc-page .field-link{font-size:13px;color:#6b655f}.oidc-page .password-field input{flex:1}.oidc-page .password-field button{width:auto;margin-top:0;background:transparent;border-color:#dfd9d2;color:#14110f;font-weight:500}.oidc-page .account-picker{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e4ded7;border-radius:2px;background:#f5f1ec}.oidc-page .account-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#14110f;color:#fbfaf8;font-size:16px;font-weight:600}.oidc-page .account-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.oidc-page .account-copy small{font-size:12px;color:#6b655f}.oidc-page .account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oidc-page .account-check{font-size:18px;font-weight:600}.oidc-page .permission-title{margin:22px 0 8px;font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b655f}.oidc-page .permission-list{margin:0;padding:10px 14px 10px 32px;border:1px solid #e4ded7;border-radius:2px}.oidc-page .permission-list li{padding:3px 0}.oidc-page .account-switch{text-align:left}.oidc-page .agreement-choice{display:flex;align-items:flex-start;gap:10px;margin:20px 0 8px}.oidc-page .agreement-choice input{width:auto;accent-color:#14110f}.oidc-page .fineprint{margin:6px 0;font-size:13px;color:#6b655f}.oidc-page a{color:#14110f;text-decoration:underline;text-decoration-color:#dfd9d2;text-underline-offset:3px}@media(max-width:700px){.oidc-page{min-height:100vh;border:0}.oidc-page .oidc-brand{padding:14px 20px}.oidc-page section{padding:24px 20px 30px}.oidc-page section>h1{font-size:28px}}.oidc-page .divider{display:flex;align-items:center;gap:12px;margin:20px 0 0;font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b655f}.oidc-page .divider::before,.oidc-page .divider::after{content:\"\";flex:1;height:1px;background:#e4ded7}.oidc-page button:disabled{opacity:.45;cursor:not-allowed}.oidc-page .agreement-choice a{font-weight:600}.oidc-page.oidc-page :is(h1,p,small,strong,a,li,span,input,button){letter-spacing:normal;text-transform:none;text-wrap:wrap}.oidc-page.oidc-page :is(p,small,strong,a,li,span,input,button){font-family:inherit}.oidc-page.oidc-page{margin:0 auto;max-width:none;padding:0}.oidc-page.oidc-page :is(h1,li,strong){color:inherit}.oidc-page.oidc-page label:not(.agreement-choice){font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6b655f;margin:18px 0 7px}.oidc-page.oidc-page .agreement-choice{margin:20px 0 8px;font-family:inherit;font-size:14px;letter-spacing:normal;text-transform:none;color:#14110f}.oidc-page.oidc-page h1{font-family:\"Instrument Serif\",Georgia,\"Times New Roman\",serif;font-weight:400;font-size:32px;line-height:1.1;margin:0 0 10px;color:#14110f}.oidc-page.oidc-page .fineprint,.oidc-page.oidc-page .return,.oidc-page.oidc-page .field-link{color:#6b655f}";
|
package/server.js
CHANGED
|
@@ -103,10 +103,17 @@ const consentFields = (page) => {
|
|
|
103
103
|
const identity = page.recognisedEmail
|
|
104
104
|
? `<div class="account-picker"><span class="account-avatar" aria-hidden="true">${escape(initial)}</span><span class="account-copy"><small>Signed in with Fidj</small><strong class="account-email">${escape(page.recognisedEmail)}</strong></span><span class="account-check" aria-hidden="true">✓</span></div>`
|
|
105
105
|
: "";
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
// Already on file at this version: stated, with its link, and nothing to
|
|
107
|
+
// tick — the screen then asks only which account.
|
|
108
|
+
const onFile = page.agreementAccepted && page.agreement
|
|
109
|
+
? `<p class="fineprint">You accepted the ${page.agreementHref ? `<a class="agreement-document" href="${escape(page.agreementHref)}" target="_blank" rel="noopener noreferrer">service agreement · version ${escape(page.agreement.version)} ↗</a>` : `service agreement · version ${escape(page.agreement.version)}`}.</p>`
|
|
110
|
+
: "";
|
|
111
|
+
const agreementChoice = onFile
|
|
112
|
+
? onFile
|
|
113
|
+
: page.agreement && page.agreementHref
|
|
114
|
+
? `<label class="agreement-choice"><input type="checkbox" name="terms" value="true" required> <span>I accept the <a class="agreement-document" href="${escape(page.agreementHref)}" target="_blank" rel="noopener noreferrer">service agreement · version ${escape(page.agreement.version)} ↗</a></span></label>`
|
|
115
|
+
: `<label class="agreement-choice"><input type="checkbox" name="terms" value="true" required> ${escape(agreement.checkboxLabel)}</label>`;
|
|
116
|
+
return `${identity}<p class="permission-title">${escape(page.appTitle)} will receive:</p><ul class="permission-list">${(page.scopes || []).map((scope) => `<li>${escape(scope)}</li>`).join("")}</ul>${agreementChoice}<button name="action" value="continue"${onFile ? "" : " disabled"}>Allow and continue</button><button class="secondary account-switch" name="action" value="switch" formnovalidate>Use another account</button><button class="cancel" name="action" value="cancel" formnovalidate>Cancel</button>`;
|
|
110
117
|
};
|
|
111
118
|
function interactionCopy(page) {
|
|
112
119
|
const waiting = page.mode === "waiting";
|
|
@@ -143,4 +150,4 @@ export function oidcInteractionPage(page) {
|
|
|
143
150
|
: '<script src="/oidc/assets/entry.js" defer></script>';
|
|
144
151
|
return `<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>${copy.title} · Fidj</title><style>${documentStyles}${oidcInteractionStyles}</style><main>${oidcInteractionMarkup(page)}</main>${script}</html>`;
|
|
145
152
|
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBK0JsQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BMkUvQixDQUFDO0FBRVAsMkVBQTJFO0FBQzNFLDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0UscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGs1SkFBazVKLENBQUM7QUFDeDdKLE1BQU0sY0FBYyxHQUFHLHdGQUF3RixDQUFDO0FBRWhILE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBeUIsRUFBRSxFQUFFLENBQ2hELElBQUksQ0FBQyxPQUFPO0lBQ1YsQ0FBQyxDQUFDLGdEQUFnRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLDZEQUE2RCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsMkVBQTJFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhO0lBQ2xaLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFVCxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQXlCLEVBQUUsRUFBRTtJQUNoRCxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxFQUFF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
|
package/style.css
CHANGED
|
@@ -760,7 +760,10 @@ body.has-module {
|
|
|
760
760
|
gap: 32px;
|
|
761
761
|
padding: 36px 24px 32px;
|
|
762
762
|
}
|
|
763
|
+
/* On a phone the form is what somebody came for; the app's hero follows it
|
|
764
|
+
* rather than filling the first screen. */
|
|
763
765
|
.signin-form {
|
|
766
|
+
order: -1;
|
|
764
767
|
padding: 36px 24px 32px;
|
|
765
768
|
}
|
|
766
769
|
.signin-description {
|
|
@@ -780,8 +783,9 @@ body.has-module {
|
|
|
780
783
|
.public-content h1 {
|
|
781
784
|
font-size: clamp(2rem, 5vw, 3.5rem);
|
|
782
785
|
}
|
|
786
|
+
/* As wide as the app's content: the profile is a page of the app, not a
|
|
787
|
+
* narrower card floating in it. */
|
|
783
788
|
.content-account {
|
|
784
|
-
max-width: 680px;
|
|
785
789
|
margin: 2rem auto;
|
|
786
790
|
}
|
|
787
791
|
.profile-summary {
|
|
@@ -1110,21 +1114,19 @@ button.quiet {
|
|
|
1110
1114
|
|
|
1111
1115
|
/* The Fidj door.
|
|
1112
1116
|
*
|
|
1113
|
-
*
|
|
1114
|
-
*
|
|
1115
|
-
*
|
|
1116
|
-
* and
|
|
1117
|
-
* screen wears it, which is what makes it read as the way in rather than as one
|
|
1118
|
-
* option among several. */
|
|
1117
|
+
* It is the entry's primary, and Fidj's primary is ink — on the console and
|
|
1118
|
+
* in every app. It used to wear the accent, which made "Continue as …" the one
|
|
1119
|
+
* red button in a product whose every other way forward is ink. Being first
|
|
1120
|
+
* and full width is what makes it the way in. */
|
|
1119
1121
|
.primary.fidj-entry {
|
|
1120
|
-
background: var(--fidj-
|
|
1121
|
-
border-color: var(--fidj-
|
|
1122
|
-
color: var(--fidj-
|
|
1122
|
+
background: var(--fidj-ink);
|
|
1123
|
+
border-color: var(--fidj-ink);
|
|
1124
|
+
color: var(--fidj-paper);
|
|
1123
1125
|
margin-top: 0;
|
|
1124
1126
|
}
|
|
1125
1127
|
.primary.fidj-entry:hover:not(:disabled) {
|
|
1126
|
-
background: var(--fidj-
|
|
1127
|
-
border-color: var(--fidj-
|
|
1128
|
+
background: var(--fidj-ink-raised);
|
|
1129
|
+
border-color: var(--fidj-ink-raised);
|
|
1128
1130
|
}
|
|
1129
1131
|
/* While the Fidj window is open, the door is no longer the way in — it is the
|
|
1130
1132
|
* way back to the window doing the work. So it reads as a state rather than an
|
|
@@ -1311,7 +1313,8 @@ button.quiet {
|
|
|
1311
1313
|
background: var(--fidj-surface);
|
|
1312
1314
|
margin: 12px 0 16px;
|
|
1313
1315
|
}
|
|
1314
|
-
.member-row
|
|
1316
|
+
.member-row,
|
|
1317
|
+
.member-rows .member-row {
|
|
1315
1318
|
display: flex;
|
|
1316
1319
|
align-items: center;
|
|
1317
1320
|
justify-content: space-between;
|
|
@@ -1338,6 +1341,11 @@ button.quiet {
|
|
|
1338
1341
|
color: var(--fidj-text-faint);
|
|
1339
1342
|
font-size: 12.5px;
|
|
1340
1343
|
}
|
|
1344
|
+
.member-row > button {
|
|
1345
|
+
flex: none;
|
|
1346
|
+
width: auto;
|
|
1347
|
+
margin: 0;
|
|
1348
|
+
}
|
|
1341
1349
|
.member-row .nosw {
|
|
1342
1350
|
max-width: 190px;
|
|
1343
1351
|
text-align: right;
|
|
@@ -1407,11 +1415,6 @@ input[role="switch"]:focus-visible {
|
|
|
1407
1415
|
font-size: 13px;
|
|
1408
1416
|
color: var(--fidj-text-muted);
|
|
1409
1417
|
}
|
|
1410
|
-
.member-history summary {
|
|
1411
|
-
cursor: pointer;
|
|
1412
|
-
font-weight: 500;
|
|
1413
|
-
color: var(--fidj-text);
|
|
1414
|
-
}
|
|
1415
1418
|
.member-history p {
|
|
1416
1419
|
margin: 6px 0;
|
|
1417
1420
|
}
|