lesli_shield 1.1.5 → 1.1.7

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -0
  3. data/app/assets/stylesheets/lesli_shield/application.css +140 -1
  4. data/app/assets/stylesheets/lesli_shield/confirmations.css +917 -18
  5. data/app/assets/stylesheets/lesli_shield/confirmations.tailwind.css +918 -0
  6. data/app/assets/stylesheets/lesli_shield/passwords.css +872 -18
  7. data/app/assets/stylesheets/lesli_shield/passwords.tailwind.css +873 -0
  8. data/app/assets/stylesheets/lesli_shield/registrations.css +904 -770
  9. data/app/assets/stylesheets/lesli_shield/registrations.tailwind.css +908 -0
  10. data/app/assets/stylesheets/lesli_shield/sessions.css +984 -32
  11. data/app/assets/stylesheets/lesli_shield/sessions.tailwind.css +983 -1
  12. data/app/controllers/lesli_shield/profile/passwords_controller.rb +119 -0
  13. data/app/controllers/lesli_shield/profiles_controller.rb +63 -0
  14. data/app/controllers/lesli_shield/sessions_controller.rb +1 -2
  15. data/app/controllers/lesli_shield/users_controller.rb +3 -7
  16. data/app/controllers/users/confirmations_controller.rb +162 -49
  17. data/app/controllers/users/passwords_controller.rb +211 -28
  18. data/app/controllers/users/registrations_controller.rb +108 -83
  19. data/app/controllers/users/sessions_controller.rb +122 -84
  20. data/app/interfaces/lesli_shield/authentication_interface.rb +3 -3
  21. data/app/interfaces/lesli_shield/authorization_interface.rb +2 -2
  22. data/app/mailers/lesli_shield/devise_mailer.rb +73 -17
  23. data/app/models/concerns/lesli_shield/user_authentication.rb +54 -0
  24. data/app/models/lesli_shield/account.rb +4 -1
  25. data/app/models/lesli_shield/invite.rb +1 -1
  26. data/app/models/lesli_shield/user/role.rb +1 -1
  27. data/app/models/lesli_shield/user.rb +5 -2
  28. data/app/services/lesli_shield/profile/password_service.rb +47 -0
  29. data/app/services/lesli_shield/profile_service.rb +24 -0
  30. data/app/services/lesli_shield/user_registration_service.rb +41 -74
  31. data/app/services/lesli_shield/user_session_service.rb +1 -1
  32. data/app/services/lesli_shield/user_validator_service.rb +35 -39
  33. data/app/views/devise/confirmations/new.html.erb +58 -12
  34. data/app/views/devise/confirmations/show.html.erb +27 -60
  35. data/app/views/devise/passwords/edit.html.erb +59 -25
  36. data/app/views/devise/passwords/new.html.erb +61 -26
  37. data/app/views/devise/registrations/new.html.erb +80 -53
  38. data/app/views/devise/sessions/new.html.erb +53 -36
  39. data/app/views/devise/shared/_application-devise-simple.erb +18 -19
  40. data/app/views/devise/shared/_demo.html.erb +8 -6
  41. data/app/views/devise/shared/_error_messages.html.erb +45 -10
  42. data/app/views/devise/shared/_links.html.erb +6 -13
  43. data/app/views/lesli_shield/invites/_form.html.erb +1 -1
  44. data/app/views/lesli_shield/invites/index.html.erb +3 -2
  45. data/app/views/lesli_shield/profiles/_password-form.html.erb +68 -0
  46. data/app/views/lesli_shield/profiles/show.html.erb +29 -0
  47. data/app/views/lesli_shield/users/_information-card.html.erb +35 -45
  48. data/app/views/lesli_shield/users/_information-form.html.erb +9 -1
  49. data/config/initializers/devise.rb +52 -328
  50. data/config/locales/translations.en.yml +65 -2
  51. data/config/locales/translations.es.yml +65 -2
  52. data/config/routes.rb +4 -0
  53. data/lib/lesli_shield/engine.rb +44 -4
  54. data/lib/lesli_shield/router.rb +52 -18
  55. data/lib/lesli_shield/version.rb +2 -2
  56. data/readme.md +6 -4
  57. metadata +30 -5
  58. data/app/assets/config/lesli_shield_manifest.js +0 -48
  59. data/app/assets/stylesheets/lesli_shield/application.tailwind.css +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69361ff3627e408be1fad248e31cfb48ac07d59c8700680fc7a24af338c131b4
4
- data.tar.gz: 35f1faca2f1d88e43dd54a16a54eccaf3e023f7f773a99d571d2f8dcb5a257f7
3
+ metadata.gz: 79c86281832873e63c6fe97bee73a9a4af5921f5d44b9f9e0a54cdbf2f29f5e6
4
+ data.tar.gz: 74f59ee8341a09239b083cdd2dfae82c80da2ccc4c2c835c37b393e22a026a7a
5
5
  SHA512:
6
- metadata.gz: b15ced78b1ccb293d91ee648c4a8bf3ad394a4536b15df527ef34e74560c98e2d8fe4cb214c4f7d67b3a851598e566322d1eb31f00457534d95484e6d7a8aa24
7
- data.tar.gz: 3ab5a50c5cb90b1d2b3e3507f5dc6ee8936c94a5c37c50b2a93dde3170872f8efc752cd5c07a6790f7f84e78275df19cf9e7f551fba3f1f3cbe907518d5380d5
6
+ metadata.gz: 6e6f52d3ecdff3cb4d995654c012b47c955c706ed411918464180a795276a715a8dc3f5eeb5fcc164b9c4ccbcccbea2435c463de254a866cdbeb5e2c785b2ab3
7
+ data.tar.gz: 1607383b1ecbd58a308f4dcc595f3f81679ab2ba8ea8cb607e12c84cebca51b5677b95585ac9651fba9d00bfd1a3a2bd70e6d014594e7787252cdc78e4d1aafb
data/Rakefile CHANGED
@@ -5,3 +5,6 @@ APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
5
5
  load "rails/tasks/engine.rake"
6
6
 
7
7
  require "bundler/gem_tasks"
8
+
9
+ desc "Run engine tests through the dummy Rails application"
10
+ task test: "app:test"
@@ -1 +1,140 @@
1
-
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --color-slate-600: oklch(44.6% 0.043 257.281);
7
+ --color-slate-800: oklch(27.9% 0.041 260.031);
8
+ --spacing: 0.25rem;
9
+ --text-xl: 1.25rem;
10
+ --text-xl--line-height: calc(1.75 / 1.25);
11
+ --font-weight-semibold: 600;
12
+ --leading-tight: 1.25;
13
+ --radius-sm: 0.25rem;
14
+ }
15
+ }
16
+ @layer utilities {
17
+ .mt-6 {
18
+ margin-top: calc(var(--spacing) * 6);
19
+ }
20
+ .mr-2 {
21
+ margin-right: calc(var(--spacing) * 2);
22
+ }
23
+ .mb-1 {
24
+ margin-bottom: var(--spacing);
25
+ }
26
+ .mb-4 {
27
+ margin-bottom: calc(var(--spacing) * 4);
28
+ }
29
+ .flex {
30
+ display: flex;
31
+ }
32
+ .inline-flex {
33
+ display: inline-flex;
34
+ }
35
+ .min-w-0 {
36
+ min-width: 0px;
37
+ }
38
+ .shrink-0 {
39
+ flex-shrink: 0;
40
+ }
41
+ .flex-col {
42
+ flex-direction: column;
43
+ }
44
+ .flex-wrap {
45
+ flex-wrap: wrap;
46
+ }
47
+ .items-center {
48
+ align-items: center;
49
+ }
50
+ .justify-center {
51
+ justify-content: center;
52
+ }
53
+ .gap-4 {
54
+ gap: calc(var(--spacing) * 4);
55
+ }
56
+ .gap-x-4 {
57
+ column-gap: calc(var(--spacing) * 4);
58
+ }
59
+ .gap-y-2 {
60
+ row-gap: calc(var(--spacing) * 2);
61
+ }
62
+ .text-center {
63
+ text-align: center;
64
+ }
65
+ .text-xl {
66
+ font-size: var(--text-xl);
67
+ line-height: var(--tw-leading, var(--text-xl--line-height));
68
+ }
69
+ .leading-tight {
70
+ --tw-leading: var(--leading-tight);
71
+ line-height: var(--leading-tight);
72
+ }
73
+ .font-semibold {
74
+ --tw-font-weight: var(--font-weight-semibold);
75
+ font-weight: var(--font-weight-semibold);
76
+ }
77
+ .break-all {
78
+ word-break: break-all;
79
+ }
80
+ .text-\[var\(--lesli-color-primary\)\] {
81
+ color: var(--lesli-color-primary);
82
+ }
83
+ .text-slate-600 {
84
+ color: var(--color-slate-600);
85
+ }
86
+ .text-slate-800 {
87
+ color: var(--color-slate-800);
88
+ }
89
+ @media (hover: hover) {
90
+ .hover\:underline:hover {
91
+ text-decoration-line: underline;
92
+ }
93
+ }
94
+ .focus-visible\:rounded-sm:focus-visible {
95
+ border-radius: var(--radius-sm);
96
+ }
97
+ .focus-visible\:outline-2:focus-visible {
98
+ outline-style: var(--tw-outline-style);
99
+ outline-width: 2px;
100
+ }
101
+ .focus-visible\:outline-offset-2:focus-visible {
102
+ outline-offset: 2px;
103
+ }
104
+ .focus-visible\:outline-\[var\(--lesli-color-primary\)\]:focus-visible {
105
+ outline-color: var(--lesli-color-primary);
106
+ }
107
+ @media (width >= 48rem) {
108
+ .md\:flex-row {
109
+ flex-direction: row;
110
+ }
111
+ .md\:justify-start {
112
+ justify-content: flex-start;
113
+ }
114
+ .md\:text-left {
115
+ text-align: left;
116
+ }
117
+ }
118
+ }
119
+ @property --tw-leading {
120
+ syntax: "*";
121
+ inherits: false;
122
+ }
123
+ @property --tw-font-weight {
124
+ syntax: "*";
125
+ inherits: false;
126
+ }
127
+ @property --tw-outline-style {
128
+ syntax: "*";
129
+ inherits: false;
130
+ initial-value: solid;
131
+ }
132
+ @layer properties {
133
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
134
+ *, ::before, ::after, ::backdrop {
135
+ --tw-leading: initial;
136
+ --tw-font-weight: initial;
137
+ --tw-outline-style: solid;
138
+ }
139
+ }
140
+ }