keycloakify 11.3.24 → 11.3.25

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/README.md CHANGED
@@ -165,6 +165,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
165
165
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/luca-peruzzo"><img src="https://avatars.githubusercontent.com/u/69015314?v=4?s=100" width="100px;" alt="Luca Peruzzo"/><br /><sub><b>Luca Peruzzo</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=luca-peruzzo" title="Code">💻</a> <a href="https://github.com/keycloakify/keycloakify/commits?author=luca-peruzzo" title="Tests">⚠️</a></td>
166
166
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/nima70"><img src="https://avatars.githubusercontent.com/u/5094767?v=4?s=100" width="100px;" alt="Nima Shokouhfar"/><br /><sub><b>Nima Shokouhfar</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=nima70" title="Code">💻</a> <a href="https://github.com/keycloakify/keycloakify/commits?author=nima70" title="Tests">⚠️</a></td>
167
167
  <td align="center" valign="top" width="14.28%"><a href="https://mruder.dev"><img src="https://avatars.githubusercontent.com/u/18495294?v=4?s=100" width="100px;" alt="Marvin A. Ruder"/><br /><sub><b>Marvin A. Ruder</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/issues?q=author%3Amarvinruder" title="Bug reports">🐛</a></td>
168
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/zvn2060"><img src="https://avatars.githubusercontent.com/u/45450852?v=4?s=100" width="100px;" alt="HI_OuO"/><br /><sub><b>HI_OuO</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=zvn2060" title="Code">💻</a></td>
169
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/tripheo0412"><img src="https://avatars.githubusercontent.com/u/25382052?v=4?s=100" width="100px;" alt="Tri Hoang"/><br /><sub><b>Tri Hoang</b></sub></a><br /><a href="https://github.com/keycloakify/keycloakify/commits?author=tripheo0412" title="Documentation">📖</a></td>
168
170
  </tr>
169
171
  </tbody>
170
172
  </table>
@@ -15,23 +15,21 @@ export default function LoginPasskeysConditionalAuthenticate(props) {
15
15
  const authButtonId = "authenticateWebAuthnButton";
16
16
  useScript({ authButtonId, kcContext, i18n });
17
17
  return (_jsxs(Template, Object.assign({ kcContext: kcContext, i18n: i18n, doUseDefaultCss: doUseDefaultCss, classes: classes, headerNode: msg("passkey-login-title"), infoNode: realm.registrationAllowed &&
18
- !registrationDisabled && (_jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: ["$", msg("noAccount"), " ", _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) }))) }, { children: [_jsxs("form", Object.assign({ id: "webauth", action: url.loginAction, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "clientDataJSON", name: "clientDataJSON" }), _jsx("input", { type: "hidden", id: "authenticatorData", name: "authenticatorData" }), _jsx("input", { type: "hidden", id: "signature", name: "signature" }), _jsx("input", { type: "hidden", id: "credentialId", name: "credentialId" }), _jsx("input", { type: "hidden", id: "userHandle", name: "userHandle" }), _jsx("input", { type: "hidden", id: "error", name: "error" })] })), _jsx("div", Object.assign({ className: kcClsx("kcFormGroupClass"), "no-bottom-margin": "true", style: { marginBottom: 0 } }, { children: authenticators !== undefined && Object.keys(authenticators).length !== 0 && (_jsxs(_Fragment, { children: [_jsx("form", Object.assign({ id: "authn_select", className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsx("input", { type: "hidden", name: "authn_use_chk", readOnly: true, value: authenticator.credentialId }, i))) })), shouldDisplayAuthenticators && (_jsxs(_Fragment, { children: [authenticators.authenticators.length > 1 && (_jsx("p", Object.assign({ className: kcClsx("kcSelectAuthListItemTitle") }, { children: msg("passkey-available-authenticators") }))), _jsx("div", Object.assign({ className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsxs("div", Object.assign({ id: `kc-webauthn-authenticator-item-${i}`, className: kcClsx("kcSelectAuthListItemClass") }, { children: [_jsx("i", { className: clsx((() => {
19
- const className = kcClsx(authenticator.transports.iconClass);
20
- if (className === authenticator.transports.iconClass) {
21
- return kcClsx("kcWebAuthnDefaultIcon");
22
- }
23
- return className;
24
- })(), kcClsx("kcSelectAuthListItemIconPropertyClass")) }), _jsxs("div", Object.assign({ className: kcClsx("kcSelectAuthListItemBodyClass") }, { children: [_jsx("div", Object.assign({ id: `kc-webauthn-authenticator-label-${i}`, className: kcClsx("kcSelectAuthListItemHeadingClass") }, { children: advancedMsg(authenticator.label) })), authenticator.transports !== undefined &&
25
- authenticator.transports.displayNameProperties !== undefined &&
26
- authenticator.transports.displayNameProperties.length !== 0 && (_jsx("div", Object.assign({ id: `kc-webauthn-authenticator-transport-${i}`, className: kcClsx("kcSelectAuthListItemDescriptionClass") }, { children: authenticator.transports.displayNameProperties.map((nameProperty, i, arr) => (_jsxs(Fragment, { children: [_jsxs("span", { children: [" ", advancedMsg(nameProperty), " "] }, i), i !== arr.length - 1 && _jsx("span", { children: ", " })] }, i))) }))), _jsxs("div", Object.assign({ className: kcClsx("kcSelectAuthListItemDescriptionClass") }, { children: [_jsx("span", Object.assign({ id: `kc-webauthn-authenticator-createdlabel-${i}` }, { children: msg("passkey-createdAt-label") })), _jsx("span", Object.assign({ id: `kc-webauthn-authenticator-created-${i}` }, { children: authenticator.createdAt }))] }))] })), _jsx("div", { className: kcClsx("kcSelectAuthListItemFillClass") })] }), i))) }))] })), _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsxs("div", Object.assign({ id: "kc-form-wrapper" }, { children: [realm.password && (_jsx("form", Object.assign({ id: "kc-form-passkey", action: url.loginAction, method: "post", style: { display: "none" }, onSubmit: event => {
27
- try {
28
- // @ts-expect-error
29
- event.target.login.disabled = true;
30
- }
31
- catch (_a) { }
32
- return true;
33
- } }, { children: !usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: msg("passkey-autofill-select") })), _jsx("input", { tabIndex: 1, id: "username", "aria-invalid": messagesPerField.existsError("username"), className: kcClsx("kcInputClass"), name: "username", defaultValue: (_a = login.username) !== null && _a !== void 0 ? _a : "",
34
- //autoComplete="username webauthn"
35
- type: "text", autoFocus: true, autoComplete: "off" }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error-username", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("username") })))] }))) }))), _jsx("div", Object.assign({ id: "kc-form-passkey-button", className: kcClsx("kcFormButtonsClass"), style: { display: "none" } }, { children: _jsx("input", { id: authButtonId, type: "button", autoFocus: true, value: msgStr("passkey-doAuthenticate"), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass") }) }))] })) }))] })) }))] })));
18
+ !registrationDisabled && (_jsx("div", Object.assign({ id: "kc-registration" }, { children: _jsxs("span", { children: ["$", msg("noAccount"), " ", _jsx("a", Object.assign({ tabIndex: 6, href: url.registrationUrl }, { children: msg("doRegister") }))] }) }))) }, { children: [_jsxs("form", Object.assign({ id: "webauth", action: url.loginAction, method: "post" }, { children: [_jsx("input", { type: "hidden", id: "clientDataJSON", name: "clientDataJSON" }), _jsx("input", { type: "hidden", id: "authenticatorData", name: "authenticatorData" }), _jsx("input", { type: "hidden", id: "signature", name: "signature" }), _jsx("input", { type: "hidden", id: "credentialId", name: "credentialId" }), _jsx("input", { type: "hidden", id: "userHandle", name: "userHandle" }), _jsx("input", { type: "hidden", id: "error", name: "error" })] })), _jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass"), "no-bottom-margin": "true", style: { marginBottom: 0 } }, { children: [authenticators !== undefined && Object.keys(authenticators).length !== 0 && (_jsxs(_Fragment, { children: [_jsx("form", Object.assign({ id: "authn_select", className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsx("input", { type: "hidden", name: "authn_use_chk", readOnly: true, value: authenticator.credentialId }, i))) })), shouldDisplayAuthenticators && (_jsxs(_Fragment, { children: [authenticators.authenticators.length > 1 && (_jsx("p", Object.assign({ className: kcClsx("kcSelectAuthListItemTitle") }, { children: msg("passkey-available-authenticators") }))), _jsx("div", Object.assign({ className: kcClsx("kcFormClass") }, { children: authenticators.authenticators.map((authenticator, i) => (_jsxs("div", Object.assign({ id: `kc-webauthn-authenticator-item-${i}`, className: kcClsx("kcSelectAuthListItemClass") }, { children: [_jsx("i", { className: clsx((() => {
19
+ const className = kcClsx(authenticator.transports.iconClass);
20
+ if (className === authenticator.transports.iconClass) {
21
+ return kcClsx("kcWebAuthnDefaultIcon");
22
+ }
23
+ return className;
24
+ })(), kcClsx("kcSelectAuthListItemIconPropertyClass")) }), _jsxs("div", Object.assign({ className: kcClsx("kcSelectAuthListItemBodyClass") }, { children: [_jsx("div", Object.assign({ id: `kc-webauthn-authenticator-label-${i}`, className: kcClsx("kcSelectAuthListItemHeadingClass") }, { children: advancedMsg(authenticator.label) })), authenticator.transports !== undefined &&
25
+ authenticator.transports.displayNameProperties !== undefined &&
26
+ authenticator.transports.displayNameProperties.length !== 0 && (_jsx("div", Object.assign({ id: `kc-webauthn-authenticator-transport-${i}`, className: kcClsx("kcSelectAuthListItemDescriptionClass") }, { children: authenticator.transports.displayNameProperties.map((nameProperty, i, arr) => (_jsxs(Fragment, { children: [_jsxs("span", { children: [" ", advancedMsg(nameProperty), " "] }, i), i !== arr.length - 1 && _jsx("span", { children: ", " })] }, i))) }))), _jsxs("div", Object.assign({ className: kcClsx("kcSelectAuthListItemDescriptionClass") }, { children: [_jsx("span", Object.assign({ id: `kc-webauthn-authenticator-createdlabel-${i}` }, { children: msg("passkey-createdAt-label") })), _jsx("span", Object.assign({ id: `kc-webauthn-authenticator-created-${i}` }, { children: authenticator.createdAt }))] }))] })), _jsx("div", { className: kcClsx("kcSelectAuthListItemFillClass") })] }), i))) }))] }))] })), _jsx("div", Object.assign({ id: "kc-form" }, { children: _jsxs("div", Object.assign({ id: "kc-form-wrapper" }, { children: [realm.password && (_jsx("form", Object.assign({ id: "kc-form-login", action: url.loginAction, method: "post", style: { display: "none" }, onSubmit: event => {
27
+ try {
28
+ // @ts-expect-error
29
+ event.target.login.disabled = true;
30
+ }
31
+ catch (_a) { }
32
+ return true;
33
+ } }, { children: !usernameHidden && (_jsxs("div", Object.assign({ className: kcClsx("kcFormGroupClass") }, { children: [_jsx("label", Object.assign({ htmlFor: "username", className: kcClsx("kcLabelClass") }, { children: msg("passkey-autofill-select") })), _jsx("input", { tabIndex: 1, id: "username", "aria-invalid": messagesPerField.existsError("username"), className: kcClsx("kcInputClass"), name: "username", defaultValue: (_a = login.username) !== null && _a !== void 0 ? _a : "", autoComplete: "username webauthn", type: "text", autoFocus: true }), messagesPerField.existsError("username") && (_jsx("span", Object.assign({ id: "input-error-username", className: kcClsx("kcInputErrorMessageClass"), "aria-live": "polite" }, { children: messagesPerField.get("username") })))] }))) }))), _jsx("div", Object.assign({ id: "kc-form-passkey-button", className: kcClsx("kcFormButtonsClass"), style: { display: "none" } }, { children: _jsx("input", { id: authButtonId, type: "button", autoFocus: true, value: msgStr("passkey-doAuthenticate"), className: kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass") }) }))] })) }))] }))] })));
36
34
  }
37
35
  //# sourceMappingURL=LoginPasskeysConditionalAuthenticate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginPasskeysConditionalAuthenticate.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoginPasskeysConditionalAuthenticate.js","sourceRoot":"","sources":["../../src/login/pages/LoginPasskeysConditionalAuthenticate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wEAAwE,CAAC;AAInG,MAAM,CAAC,OAAO,UAAU,oCAAoC,CACxD,KAAqG;;IAErG,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEtE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,2BAA2B,EAAE,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAE7I,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAE1C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACzB,eAAe;QACf,OAAO;KACV,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,4BAA4B,CAAC;IAElD,SAAS,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,OAAO,CACH,MAAC,QAAQ,kBACL,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,GAAG,CAAC,qBAAqB,CAAC,EACtC,QAAQ,EACJ,KAAK,CAAC,mBAAmB;YACzB,CAAC,oBAAoB,IAAI,CACrB,4BAAK,EAAE,EAAC,iBAAiB,gBACrB,gCACM,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EACvB,0BAAG,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,eAAe,gBACpC,GAAG,CAAC,YAAY,CAAC,IAClB,IACD,IACL,CACT,iBAGL,8BAAM,EAAE,EAAC,SAAS,EAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,EAAC,MAAM,iBACrD,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,gBAAgB,EAAC,IAAI,EAAC,gBAAgB,GAAG,EACjE,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,mBAAmB,EAAC,IAAI,EAAC,mBAAmB,GAAG,EACvE,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,GAAG,EACvD,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,GAAG,EAC7D,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,YAAY,EAAC,IAAI,EAAC,YAAY,GAAG,EACzD,gBAAO,IAAI,EAAC,QAAQ,EAAC,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAG,KAC5C,EAEP,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,sBAAmB,MAAM,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,iBACzF,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CACzE,8BACI,6BAAM,EAAE,EAAC,cAAc,EAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,gBACnD,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CACrD,gBAAe,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,eAAe,EAAC,QAAQ,QAAC,KAAK,EAAE,aAAa,CAAC,YAAY,IAAhF,CAAC,CAAmF,CACnG,CAAC,IACC,EACN,2BAA2B,IAAI,CAC5B,8BACK,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CACzC,0BAAG,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,gBAAG,GAAG,CAAC,kCAAkC,CAAC,IAAK,CACnG,EACD,4BAAK,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,gBAChC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,CACrD,6BAAa,EAAE,EAAE,kCAAkC,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,iBAClG,YACI,SAAS,EAAE,IAAI,CACX,CAAC,GAAG,EAAE;wDACF,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,SAAgB,CAAC,CAAC;wDACpE,IAAI,SAAS,KAAK,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE;4DAClD,OAAO,MAAM,CAAC,uBAAuB,CAAC,CAAC;yDAC1C;wDACD,OAAO,SAAS,CAAC;oDACrB,CAAC,CAAC,EAAE,EACJ,MAAM,CAAC,uCAAuC,CAAC,CAClD,GACH,EACF,6BAAK,SAAS,EAAE,MAAM,CAAC,+BAA+B,CAAC,iBACnD,4BACI,EAAE,EAAE,mCAAmC,CAAC,EAAE,EAC1C,SAAS,EAAE,MAAM,CAAC,kCAAkC,CAAC,gBAEpD,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,IAC/B,EACL,aAAa,CAAC,UAAU,KAAK,SAAS;4DACnC,aAAa,CAAC,UAAU,CAAC,qBAAqB,KAAK,SAAS;4DAC5D,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,IAAI,CAC3D,4BACI,EAAE,EAAE,uCAAuC,CAAC,EAAE,EAC9C,SAAS,EAAE,MAAM,CAAC,sCAAsC,CAAC,gBAExD,aAAa,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1E,MAAC,QAAQ,eACL,gCAAgB,WAAW,CAAC,YAAY,CAAC,UAA9B,CAAC,CAAsC,EACjD,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,gCAAe,KAF7B,CAAC,CAGL,CACd,CAAC,IACA,CACT,EACL,6BAAK,SAAS,EAAE,MAAM,CAAC,sCAAsC,CAAC,iBAC1D,6BAAM,EAAE,EAAE,0CAA0C,CAAC,EAAE,gBAAG,GAAG,CAAC,yBAAyB,CAAC,IAAQ,EAChG,6BAAM,EAAE,EAAE,qCAAqC,CAAC,EAAE,gBAAG,aAAa,CAAC,SAAS,IAAQ,KAClF,KACJ,EACN,cAAK,SAAS,EAAE,MAAM,CAAC,+BAA+B,CAAC,GAAI,MAxCrD,CAAC,CAyCL,CACT,CAAC,IACA,IACP,CACN,IACF,CACN,EACD,4BAAK,EAAE,EAAC,SAAS,gBACb,6BAAK,EAAE,EAAC,iBAAiB,iBACpB,KAAK,CAAC,QAAQ,IAAI,CACf,6BACI,EAAE,EAAC,eAAe,EAClB,MAAM,EAAE,GAAG,CAAC,WAAW,EACvB,MAAM,EAAC,MAAM,EACb,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,QAAQ,EAAE,KAAK,CAAC,EAAE;wCACd,IAAI;4CACA,mBAAmB;4CACnB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;yCACtC;wCAAC,WAAM,GAAE;wCAEV,OAAO,IAAI,CAAC;oCAChB,CAAC,gBAEA,CAAC,cAAc,IAAI,CAChB,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBACtC,8BAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,gBACtD,GAAG,CAAC,yBAAyB,CAAC,IAC3B,EACR,gBACI,QAAQ,EAAE,CAAC,EACX,EAAE,EAAC,UAAU,kBACC,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,EACtD,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,IAAI,EAAC,UAAU,EACf,YAAY,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,EAAE,EAClC,YAAY,EAAC,mBAAmB,EAChC,IAAI,EAAC,MAAM,EACX,SAAS,SACX,EACD,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CACzC,6BAAM,EAAE,EAAC,sBAAsB,EAAC,SAAS,EAAE,MAAM,CAAC,0BAA0B,CAAC,eAAY,QAAQ,gBAC5F,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAC9B,CACV,KACC,CACT,IACE,CACV,EACD,4BAAK,EAAE,EAAC,wBAAwB,EAAC,SAAS,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,gBAChG,gBACI,EAAE,EAAE,YAAY,EAChB,IAAI,EAAC,QAAQ,EACb,SAAS,QACT,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,EACvC,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,GACxG,IACA,KACJ,IACJ,KACJ,KACC,CACd,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "keycloakify",
3
- "version": "11.3.24",
3
+ "version": "11.3.25",
4
4
  "description": "Framework to create custom Keycloak UIs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -115,62 +115,61 @@ export default function LoginPasskeysConditionalAuthenticate(
115
115
  </div>
116
116
  </>
117
117
  )}
118
- <div id="kc-form">
119
- <div id="kc-form-wrapper">
120
- {realm.password && (
121
- <form
122
- id="kc-form-passkey"
123
- action={url.loginAction}
124
- method="post"
125
- style={{ display: "none" }}
126
- onSubmit={event => {
127
- try {
128
- // @ts-expect-error
129
- event.target.login.disabled = true;
130
- } catch {}
118
+ </>
119
+ )}
120
+ <div id="kc-form">
121
+ <div id="kc-form-wrapper">
122
+ {realm.password && (
123
+ <form
124
+ id="kc-form-login"
125
+ action={url.loginAction}
126
+ method="post"
127
+ style={{ display: "none" }}
128
+ onSubmit={event => {
129
+ try {
130
+ // @ts-expect-error
131
+ event.target.login.disabled = true;
132
+ } catch {}
131
133
 
132
- return true;
133
- }}
134
- >
135
- {!usernameHidden && (
136
- <div className={kcClsx("kcFormGroupClass")}>
137
- <label htmlFor="username" className={kcClsx("kcLabelClass")}>
138
- {msg("passkey-autofill-select")}
139
- </label>
140
- <input
141
- tabIndex={1}
142
- id="username"
143
- aria-invalid={messagesPerField.existsError("username")}
144
- className={kcClsx("kcInputClass")}
145
- name="username"
146
- defaultValue={login.username ?? ""}
147
- //autoComplete="username webauthn"
148
- type="text"
149
- autoFocus
150
- autoComplete="off"
151
- />
152
- {messagesPerField.existsError("username") && (
153
- <span id="input-error-username" className={kcClsx("kcInputErrorMessageClass")} aria-live="polite">
154
- {messagesPerField.get("username")}
155
- </span>
156
- )}
157
- </div>
134
+ return true;
135
+ }}
136
+ >
137
+ {!usernameHidden && (
138
+ <div className={kcClsx("kcFormGroupClass")}>
139
+ <label htmlFor="username" className={kcClsx("kcLabelClass")}>
140
+ {msg("passkey-autofill-select")}
141
+ </label>
142
+ <input
143
+ tabIndex={1}
144
+ id="username"
145
+ aria-invalid={messagesPerField.existsError("username")}
146
+ className={kcClsx("kcInputClass")}
147
+ name="username"
148
+ defaultValue={login.username ?? ""}
149
+ autoComplete="username webauthn"
150
+ type="text"
151
+ autoFocus
152
+ />
153
+ {messagesPerField.existsError("username") && (
154
+ <span id="input-error-username" className={kcClsx("kcInputErrorMessageClass")} aria-live="polite">
155
+ {messagesPerField.get("username")}
156
+ </span>
158
157
  )}
159
- </form>
158
+ </div>
160
159
  )}
161
- <div id="kc-form-passkey-button" className={kcClsx("kcFormButtonsClass")} style={{ display: "none" }}>
162
- <input
163
- id={authButtonId}
164
- type="button"
165
- autoFocus
166
- value={msgStr("passkey-doAuthenticate")}
167
- className={kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass")}
168
- />
169
- </div>
170
- </div>
160
+ </form>
161
+ )}
162
+ <div id="kc-form-passkey-button" className={kcClsx("kcFormButtonsClass")} style={{ display: "none" }}>
163
+ <input
164
+ id={authButtonId}
165
+ type="button"
166
+ autoFocus
167
+ value={msgStr("passkey-doAuthenticate")}
168
+ className={kcClsx("kcButtonClass", "kcButtonPrimaryClass", "kcButtonBlockClass", "kcButtonLargeClass")}
169
+ />
171
170
  </div>
172
- </>
173
- )}
171
+ </div>
172
+ </div>
174
173
  </div>
175
174
  </Template>
176
175
  );