jwtbutler 1.9.3 → 1.9.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/README.md CHANGED
@@ -67,6 +67,7 @@ add the public sitekey:
67
67
 
68
68
  ```js
69
69
  const api = new jwtbutler({
70
+ /* ... */
70
71
  captcha: {
71
72
  provider: 'hcaptcha',
72
73
  sitekey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
@@ -78,7 +79,10 @@ if your auth server uses passkeys and you want to show \
78
79
  the passkey button in the default login form, enable it:
79
80
 
80
81
  ```js
81
- passkeys: true;
82
+ const api = new jwtbutler({
83
+ /* ... */
84
+ passkeys: true
85
+ });
82
86
  ```
83
87
 
84
88
  ### single sign on
@@ -416,10 +416,17 @@ class jwtbutler {
416
416
  }
417
417
  let dom = new DOMParser().parseFromString(this.config.login_form, 'text/html').body.childNodes[0];
418
418
  this.config.login_form_class = dom.getAttribute('class').split(' ')[0];
419
+ let submit = dom.querySelector('input[type="submit"]');
420
+ let submitItem = submit !== null ? submit.closest('.' + this.config.login_form_class + '__item') || submit.closest('li') || submit.parentElement : null;
421
+ let itemTag = submitItem !== null && submitItem.tagName.toLowerCase() === 'li' ? 'li' : 'div';
419
422
  if (this.captchaEnabled() && dom.querySelector('.' + this.config.login_form_class + '__captcha') === null) {
420
- let submit = dom.querySelector('input[type="submit"]');
421
- if (submit !== null && submit.closest('li') !== null) {
422
- submit.closest('li').insertAdjacentHTML('beforebegin', '<li class="' + this.config.login_form_class + '__item"><div class="' + this.config.login_form_class + '__captcha"></div></li>');
423
+ if (submitItem !== null) {
424
+ submitItem.insertAdjacentHTML('beforebegin', '<' + itemTag + ' class="' + this.config.login_form_class + '__item"><div class="' + this.config.login_form_class + '__captcha"></div></' + itemTag + '>');
425
+ }
426
+ }
427
+ if (this.passkeyEnabled() && dom.querySelector('.' + this.config.login_form_class + '__passkey') === null) {
428
+ if (submitItem !== null) {
429
+ submitItem.insertAdjacentHTML('afterend', '<' + itemTag + ' class="' + this.config.login_form_class + '__item"><button class="' + this.config.login_form_class + '__passkey" type="button">Mit Passkey anmelden</button></' + itemTag + '>');
423
430
  }
424
431
  }
425
432
  _helpers.default.remove(document.querySelector('.' + this.config.login_form_class));
package/package.json CHANGED
@@ -81,7 +81,7 @@
81
81
  "jest-environment-node": "30.4.1"
82
82
  },
83
83
  "name": "jwtbutler",
84
- "version": "1.9.3",
84
+ "version": "1.9.5",
85
85
  "description": "",
86
86
  "main": "_js/_build/script.js",
87
87
  "files": [