masks 0.3.2 → 0.4.0

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.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/builds/masks/application.css +1 -1
  3. data/app/assets/builds/masks/application.js +90 -3
  4. data/app/assets/builds/masks/application.js.map +4 -4
  5. data/app/assets/javascripts/controllers/application.js +1 -1
  6. data/app/assets/javascripts/controllers/index.js +9 -0
  7. data/app/assets/javascripts/controllers/table_controller.js +15 -0
  8. data/app/assets/stylesheets/application.css +12 -4
  9. data/app/controllers/concerns/masks/controller.rb +1 -1
  10. data/app/controllers/masks/manage/actors_controller.rb +72 -1
  11. data/app/controllers/masks/manage/base_controller.rb +10 -2
  12. data/app/controllers/masks/manage/clients_controller.rb +84 -0
  13. data/app/controllers/masks/manage/dashboard_controller.rb +15 -0
  14. data/app/controllers/masks/manage/devices_controller.rb +19 -0
  15. data/app/controllers/masks/openid/authorizations_controller.rb +45 -0
  16. data/app/controllers/masks/openid/discoveries_controller.rb +55 -0
  17. data/app/controllers/masks/openid/tokens_controller.rb +45 -0
  18. data/app/controllers/masks/openid/userinfo_controller.rb +28 -0
  19. data/app/controllers/masks/sessions_controller.rb +1 -1
  20. data/app/models/concerns/masks/access.rb +2 -2
  21. data/app/models/masks/access/actor_password.rb +2 -1
  22. data/app/models/masks/access/actor_signup.rb +1 -2
  23. data/app/models/masks/credentials/access_token.rb +60 -0
  24. data/app/models/masks/credentials/key.rb +1 -1
  25. data/app/models/masks/credentials/return_to.rb +27 -0
  26. data/app/models/masks/mask.rb +12 -1
  27. data/app/models/masks/openid/authorization.rb +116 -0
  28. data/app/models/masks/openid/token.rb +56 -0
  29. data/app/models/masks/rails/actor.rb +23 -1
  30. data/app/models/masks/rails/openid/access_token.rb +55 -0
  31. data/app/models/masks/rails/openid/authorization.rb +45 -0
  32. data/app/models/masks/rails/openid/client.rb +186 -0
  33. data/app/models/masks/rails/openid/id_token.rb +43 -0
  34. data/app/models/masks/sessions/access.rb +2 -1
  35. data/app/resources/masks/session_resource.rb +1 -1
  36. data/app/views/layouts/masks/manage.html.erb +22 -5
  37. data/app/views/masks/actor_mailer/recover_credentials.html.erb +2 -3
  38. data/app/views/masks/actor_mailer/verify_email.html.erb +2 -3
  39. data/app/views/masks/actors/current.html.erb +7 -14
  40. data/app/views/masks/application/_header.html.erb +3 -4
  41. data/app/views/masks/backup_codes/new.html.erb +34 -20
  42. data/app/views/masks/emails/new.html.erb +14 -8
  43. data/app/views/masks/keys/new.html.erb +7 -7
  44. data/app/views/masks/manage/actors/index.html.erb +101 -37
  45. data/app/views/masks/manage/{actor → actors}/show.html.erb +63 -17
  46. data/app/views/masks/manage/clients/index.html.erb +102 -0
  47. data/app/views/masks/manage/clients/show.html.erb +156 -0
  48. data/app/views/masks/manage/dashboard/index.html.erb +10 -0
  49. data/app/views/masks/manage/devices/index.html.erb +47 -0
  50. data/app/views/masks/one_time_code/new.html.erb +41 -24
  51. data/app/views/masks/openid/authorizations/error.html.erb +23 -0
  52. data/app/views/masks/openid/authorizations/new.html.erb +46 -0
  53. data/app/views/masks/passwords/edit.html.erb +20 -7
  54. data/app/views/masks/recoveries/new.html.erb +2 -4
  55. data/app/views/masks/recoveries/password.html.erb +2 -3
  56. data/app/views/masks/sessions/new.html.erb +22 -23
  57. data/config/initializers/inflections.rb +5 -0
  58. data/config/locales/en.yml +23 -2
  59. data/config/routes.rb +40 -3
  60. data/db/migrate/20240329182422_support_openid.rb +64 -0
  61. data/lib/generators/masks/install/templates/masks.json +4 -1
  62. data/lib/masks/configuration.rb +22 -9
  63. data/lib/masks/version.rb +1 -1
  64. data/lib/masks.rb +1 -0
  65. data/lib/tasks/masks_tasks.rake +2 -2
  66. data/masks.json +44 -6
  67. metadata +59 -11
  68. data/app/assets/builds/application.css +0 -4764
  69. data/app/assets/builds/application.js +0 -8236
  70. data/app/assets/builds/application.js.map +0 -7
  71. data/app/controllers/masks/manage/actor_controller.rb +0 -35
@@ -5021,7 +5021,7 @@
5021
5021
  function setFormMode(mode) {
5022
5022
  session.setFormMode(mode);
5023
5023
  }
5024
- var Turbo = /* @__PURE__ */ Object.freeze({
5024
+ var Turbo2 = /* @__PURE__ */ Object.freeze({
5025
5025
  __proto__: null,
5026
5026
  navigator: navigator$1,
5027
5027
  session,
@@ -5718,7 +5718,7 @@
5718
5718
  element = element.parentElement;
5719
5719
  }
5720
5720
  })();
5721
- window.Turbo = { ...Turbo, StreamActions };
5721
+ window.Turbo = { ...Turbo2, StreamActions };
5722
5722
  start();
5723
5723
 
5724
5724
  // node_modules/@hotwired/turbo-rails/app/javascript/turbo/cable.js
@@ -8291,9 +8291,79 @@
8291
8291
 
8292
8292
  // app/assets/javascripts/controllers/application.js
8293
8293
  var application = Application.start();
8294
- application.debug = false;
8294
+ application.debug = true;
8295
8295
  window.Stimulus = application;
8296
8296
 
8297
+ // node_modules/@stimulus-components/password-visibility/dist/stimulus-password-visibility.mjs
8298
+ var _PasswordVisibility = class _PasswordVisibility2 extends Controller {
8299
+ connect() {
8300
+ this.hidden = this.inputTarget.type === "password", this.class = this.hasHiddenClass ? this.hiddenClass : "hidden";
8301
+ }
8302
+ toggle(e) {
8303
+ e.preventDefault(), this.inputTarget.type = this.hidden ? "text" : "password", this.hidden = !this.hidden, this.iconTargets.forEach((icon) => icon.classList.toggle(this.class));
8304
+ }
8305
+ };
8306
+ _PasswordVisibility.targets = ["input", "icon"], _PasswordVisibility.classes = ["hidden"];
8307
+ var PasswordVisibility = _PasswordVisibility;
8308
+
8309
+ // node_modules/@stimulus-components/reveal/dist/stimulus-reveal-controller.mjs
8310
+ var _Reveal = class _Reveal2 extends Controller {
8311
+ connect() {
8312
+ this.class = this.hasHiddenClass ? this.hiddenClass : "hidden";
8313
+ }
8314
+ toggle() {
8315
+ this.itemTargets.forEach((item) => {
8316
+ item.classList.toggle(this.class);
8317
+ });
8318
+ }
8319
+ show() {
8320
+ this.itemTargets.forEach((item) => {
8321
+ item.classList.remove(this.class);
8322
+ });
8323
+ }
8324
+ hide() {
8325
+ this.itemTargets.forEach((item) => {
8326
+ item.classList.add(this.class);
8327
+ });
8328
+ }
8329
+ };
8330
+ _Reveal.targets = ["item"], _Reveal.classes = ["hidden"];
8331
+ var Reveal = _Reveal;
8332
+
8333
+ // node_modules/@stimulus-components/dialog/dist/stimulus-dialog.mjs
8334
+ var _Dialog = class _Dialog2 extends Controller {
8335
+ initialize() {
8336
+ this.forceClose = this.forceClose.bind(this);
8337
+ }
8338
+ connect() {
8339
+ this.openValue && this.open(), document.addEventListener("turbo:before-render", this.forceClose);
8340
+ }
8341
+ disconnect() {
8342
+ document.removeEventListener("turbo:before-render", this.forceClose);
8343
+ }
8344
+ open() {
8345
+ this.dialogTarget.showModal();
8346
+ }
8347
+ close() {
8348
+ this.dialogTarget.setAttribute("closing", ""), Promise.all(this.dialogTarget.getAnimations().map((animation) => animation.finished)).then(() => {
8349
+ this.dialogTarget.removeAttribute("closing"), this.dialogTarget.close();
8350
+ });
8351
+ }
8352
+ backdropClose(event) {
8353
+ event.target === this.dialogTarget && this.close();
8354
+ }
8355
+ forceClose() {
8356
+ this.dialogTarget.close();
8357
+ }
8358
+ };
8359
+ _Dialog.targets = ["dialog"], _Dialog.values = {
8360
+ open: {
8361
+ type: Boolean,
8362
+ default: false
8363
+ }
8364
+ };
8365
+ var Dialog = _Dialog;
8366
+
8297
8367
  // app/assets/javascripts/controllers/session_controller.js
8298
8368
  var session_controller_default = class extends Controller {
8299
8369
  static get targets() {
@@ -8444,12 +8514,29 @@
8444
8514
  }
8445
8515
  };
8446
8516
 
8517
+ // app/assets/javascripts/controllers/table_controller.js
8518
+ var table_controller_default = class extends Controller {
8519
+ static get targets() {
8520
+ return ["url"];
8521
+ }
8522
+ get href() {
8523
+ return this.urlTarget.href;
8524
+ }
8525
+ click(e) {
8526
+ Turbo.visit(this.href);
8527
+ }
8528
+ };
8529
+
8447
8530
  // app/assets/javascripts/controllers/index.js
8448
8531
  application.register("session", session_controller_default);
8449
8532
  application.register("recover", recover_controller_default);
8450
8533
  application.register("recover-password", recover_password_controller_default);
8451
8534
  application.register("emails", emails_controller_default);
8452
8535
  application.register("keys", keys_controller_default);
8536
+ application.register("table", table_controller_default);
8537
+ application.register("password-visibility", PasswordVisibility);
8538
+ application.register("reveal", Reveal);
8539
+ application.register("dialog", Dialog);
8453
8540
  })();
8454
8541
  /*! Bundled license information:
8455
8542