lesli_shield 1.1.6 → 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 (56) 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 -832
  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/users/confirmations_controller.rb +162 -49
  16. data/app/controllers/users/passwords_controller.rb +211 -28
  17. data/app/controllers/users/registrations_controller.rb +108 -83
  18. data/app/controllers/users/sessions_controller.rb +122 -84
  19. data/app/interfaces/lesli_shield/authorization_interface.rb +2 -2
  20. data/app/mailers/lesli_shield/devise_mailer.rb +73 -17
  21. data/app/models/concerns/lesli_shield/user_authentication.rb +54 -0
  22. data/app/models/lesli_shield/account.rb +4 -1
  23. data/app/models/lesli_shield/invite.rb +1 -1
  24. data/app/models/lesli_shield/user/role.rb +1 -1
  25. data/app/models/lesli_shield/user.rb +5 -2
  26. data/app/services/lesli_shield/profile/password_service.rb +47 -0
  27. data/app/services/lesli_shield/profile_service.rb +24 -0
  28. data/app/services/lesli_shield/user_registration_service.rb +41 -74
  29. data/app/services/lesli_shield/user_session_service.rb +1 -1
  30. data/app/services/lesli_shield/user_validator_service.rb +30 -32
  31. data/app/views/devise/confirmations/new.html.erb +58 -12
  32. data/app/views/devise/confirmations/show.html.erb +27 -60
  33. data/app/views/devise/passwords/edit.html.erb +59 -25
  34. data/app/views/devise/passwords/new.html.erb +61 -26
  35. data/app/views/devise/registrations/new.html.erb +80 -53
  36. data/app/views/devise/sessions/new.html.erb +53 -36
  37. data/app/views/devise/shared/_application-devise-simple.erb +18 -19
  38. data/app/views/devise/shared/_demo.html.erb +8 -6
  39. data/app/views/devise/shared/_error_messages.html.erb +45 -10
  40. data/app/views/devise/shared/_links.html.erb +6 -13
  41. data/app/views/lesli_shield/invites/_form.html.erb +1 -1
  42. data/app/views/lesli_shield/invites/index.html.erb +3 -2
  43. data/app/views/lesli_shield/profiles/_password-form.html.erb +68 -0
  44. data/app/views/lesli_shield/profiles/show.html.erb +29 -0
  45. data/app/views/lesli_shield/users/_information-form.html.erb +9 -1
  46. data/config/initializers/devise.rb +52 -328
  47. data/config/locales/translations.en.yml +65 -2
  48. data/config/locales/translations.es.yml +65 -2
  49. data/config/routes.rb +4 -0
  50. data/lib/lesli_shield/engine.rb +38 -4
  51. data/lib/lesli_shield/router.rb +52 -18
  52. data/lib/lesli_shield/version.rb +2 -2
  53. data/readme.md +4 -2
  54. metadata +30 -5
  55. data/app/assets/config/lesli_shield_manifest.js +0 -48
  56. data/app/assets/stylesheets/lesli_shield/application.tailwind.css +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfeffedc6c4eb8c8176e07a981f42735eaf374518038d999a85fa815c4c69f2e
4
- data.tar.gz: 57ff36f838b198f72dcb621051a3fee62a90310c0932368224d92e1d8bb171c4
3
+ metadata.gz: 79c86281832873e63c6fe97bee73a9a4af5921f5d44b9f9e0a54cdbf2f29f5e6
4
+ data.tar.gz: 74f59ee8341a09239b083cdd2dfae82c80da2ccc4c2c835c37b393e22a026a7a
5
5
  SHA512:
6
- metadata.gz: 3a3c7407848c3323fb5b3ddcda2b9cf1f5b58b5bc97c4fde773a94b15acbe805b7a0a2dc59c24367e78f6b0a9f2b286c89393dc99a1e9db5a0fda4f6ce2321e5
7
- data.tar.gz: cbb695a526bf0f350777562c659ac60a4d876c46de196a4f90ee16f661aac9f90228dafd90daba5738de7707e2bdce36ee16346681f152aebfc600c142484ed9
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
+ }