lesli 5.1.11 → 5.1.12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa86270cf08e4ff106a306b2ceb42481fdec815b1c61116cd6ce1fe663eee7c2
4
- data.tar.gz: 16bf6f50e50be7c6e15a62baa65f895aff6ff281caa908126df45eac600a41b0
3
+ metadata.gz: e1ca8550e901343c90ed0df6cdc090a8b29f87a54ee7134abebd136a849cffdf
4
+ data.tar.gz: c10a1829fdb3e28275ac11cecbd7fdbebfbb1928822fc750670014193f421fdd
5
5
  SHA512:
6
- metadata.gz: 899d1dab67d817ec7161aa2b8613f273f8371aced01c6064244e89ec19d4dc11980f108f99fa34a15b72de4ed462ea997546c62cfc3e158ebb6fbd79c24aa22c
7
- data.tar.gz: 31175c1e7a29303a1f65dbfb70801856c6e6e94c37f498e6c81094f73b6e3dac6571a1c5abef7362398f31a4528d5f623c066c403d39b3e05bb676ba47055c4a
6
+ metadata.gz: d3e7367ac43dfe1cc2261b19e3692d445a36dcb667ad4abe57ac78a9cb98b3f6bcbb66920bf45378d54d4c344be4aa1c4a262b68ae9480d16671d2ff52f85de7
7
+ data.tar.gz: a07ba625e2e585085564c740629ce0635901a8604934836f3d670768854303c90e2aa731a11577ab7d3bdc0c5bebc3f90d3c665e3eb0a4da76dbeb3b214f6bb8
@@ -30,37 +30,4 @@ Building a better future, one line of code at a time.
30
30
  // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
31
  // ·
32
32
  */
33
- @layer theme, utilities;
34
- @layer theme {
35
- :root, :host {
36
- --spacing: 0.25rem;
37
- }
38
- }
39
- @layer utilities {
40
- .grid {
41
- display: grid;
42
- }
43
- .hidden {
44
- display: none;
45
- }
46
- .\[grid-template-columns\:repeat\(auto-fit\,minmax\(260px\,318px\)\)\] {
47
- grid-template-columns: repeat(auto-fit,minmax(260px,318px));
48
- }
49
- .justify-center {
50
- justify-content: center;
51
- }
52
- .gap-5 {
53
- gap: calc(var(--spacing) * 5);
54
- }
55
- .py-6 {
56
- padding-block: calc(var(--spacing) * 6);
57
- }
58
- @media (width >= 40rem) {
59
- .sm\:gap-6 {
60
- gap: calc(var(--spacing) * 6);
61
- }
62
- .sm\:py-8 {
63
- padding-block: calc(var(--spacing) * 8);
64
- }
65
- }
66
- }
33
+ @layer theme{:root,:host{--spacing:.25rem}}@layer utilities{.grid{display:grid}.hidden{display:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-5{gap:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}
@@ -52,20 +52,20 @@
52
52
 
53
53
  .welcome-hero {
54
54
  width: min(100%, 62rem);
55
+ text-align: center;
56
+ }
57
+
58
+ .welcome-content {
59
+ min-width: 0;
55
60
  padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1.5rem, 7vw, 6rem);
56
61
  border: 1px solid rgba(255, 255, 255, .86);
57
62
  border-radius: clamp(1.5rem, 3vw, 2.5rem);
58
63
  background: rgba(255, 255, 255, .76);
59
64
  box-shadow: 0 28px 80px rgba(18, 53, 83, .12);
60
- text-align: center;
61
65
  -webkit-backdrop-filter: blur(18px);
62
66
  backdrop-filter: blur(18px);
63
67
  }
64
68
 
65
- .welcome-content {
66
- min-width: 0;
67
- }
68
-
69
69
  .welcome-brand {
70
70
  display: flex;
71
71
  align-items: center;
@@ -193,10 +193,15 @@
193
193
 
194
194
  .welcome-access a {
195
195
  color: var(--welcome-muted);
196
- font-weight: 700;
196
+ font-weight: 600;
197
+ text-decoration: none;
197
198
  text-underline-offset: .22em;
198
199
  }
199
200
 
201
+ .welcome-access a:hover {
202
+ text-decoration: underline;
203
+ }
204
+
200
205
  @media (max-width: 900px) {
201
206
  .welcome-page {
202
207
  overflow: auto;
@@ -204,7 +209,7 @@
204
209
  }
205
210
 
206
211
  @media (max-width: 640px) {
207
- .welcome-hero {
212
+ .welcome-content {
208
213
  padding: 2rem 1.35rem;
209
214
  }
210
215
 
@@ -252,7 +257,7 @@
252
257
  Build better business software <span>with Rails.</span>
253
258
  </h1>
254
259
  <p class="welcome-summary">
255
- A modular foundation for turning ambitious ideas into scalable, production-ready applications.
260
+ Your Lesli application is ready. Start building with modular Rails architecture, reusable components, and the tools your product needs.
256
261
  </p>
257
262
 
258
263
  <div class="welcome-actions" aria-label="Learn about Lesli">
@@ -264,18 +269,18 @@
264
269
  Read the docs
265
270
  </a>
266
271
  </div>
267
-
268
- <nav class="welcome-access" aria-label="Application access">
269
- <% unless defined?(LesliShield) %>
270
- <%= link_to("Open applications", "/apps") unless defined?(LesliDashboard) %>
271
- <% end %>
272
- <% if defined?(LesliShield) %>
273
- <%= link_to("Open applications", "/apps") if user_signed_in? && !defined?(LesliDashboard) %>
274
- <%= link_to("Open dashboard", "/dashboard") if user_signed_in? && defined?(LesliDashboard) %>
275
- <%= link_to("Log out", "/logout") if user_signed_in? %>
276
- <%= link_to("Log in", "/login") unless user_signed_in? %>
277
- <% end %>
278
- </nav>
279
272
  </div>
273
+
274
+ <nav class="welcome-access" aria-label="Application access">
275
+ <% unless defined?(LesliShield) %>
276
+ <%= link_to("Open applications", "/apps") unless defined?(LesliDashboard) %>
277
+ <% end %>
278
+ <% if defined?(LesliShield) %>
279
+ <%= link_to("Open applications", "/apps") if user_signed_in? && !defined?(LesliDashboard) %>
280
+ <%= link_to("Open dashboard", "/dashboard") if user_signed_in? && defined?(LesliDashboard) %>
281
+ <%= link_to("Log out", "/logout") if user_signed_in? %>
282
+ <%= link_to("Log in", "/login") unless user_signed_in? %>
283
+ <% end %>
284
+ </nav>
280
285
  </section>
281
286
  </main>
@@ -27,7 +27,7 @@ document.addEventListener('turbo:load', window.lesliFilterNavigationEngines)
27
27
  <%= render(LesliView::Layout::Container.new("lesli-apps", dashboard: false)) do %>
28
28
  <%= render("lesli_dashboard/dashboards/shared/header") if defined?(LesliDashboard) %>
29
29
  <section class="lesli-engines py-6 sm:py-8">
30
- <div class="grid justify-center gap-5 sm:gap-6 [grid-template-columns:repeat(auto-fit,minmax(260px,318px))]">
30
+ <div class="grid grid-cols-1 gap-5 sm:grid-cols-2 sm:gap-6 lg:grid-cols-4">
31
31
  <%= navigation_engines %>
32
32
  </div>
33
33
  </section>
@@ -45,7 +45,7 @@ Building a better future, one line of code at a time.
45
45
  <body class="<%= lesli_application_body_class() %>">
46
46
  <%= render(partial: "lesli/partials/application-lesli-header") %>
47
47
  <%= render(partial: "lesli/partials/application-lesli-notifications") %>
48
- <main class="lesli-application-app">
48
+ <main class="flex">
49
49
  <%= render(partial: "lesli/partials/application-lesli-sidebar") %>
50
50
  <%= render(partial: "lesli/partials/application-lesli-content") %>
51
51
  </main>
@@ -32,10 +32,27 @@ Building a better future, one line of code at a time.
32
32
  =end
33
33
  %>
34
34
 
35
- <section id="application-lesli-notifications" class="application-lesli-notifications">
35
+ <%
36
+ notification_classes = {
37
+ "info" => "border-info-300 bg-info-50 text-info-900",
38
+ "notice" => "border-success-300 bg-success-50 text-success-900",
39
+ "success" => "border-success-300 bg-success-50 text-success-900",
40
+ "warning" => "border-warning-300 bg-warning-50 text-warning-900",
41
+ "alert" => "border-danger-300 bg-danger-50 text-danger-900",
42
+ "danger" => "border-danger-300 bg-danger-50 text-danger-900",
43
+ "error" => "border-danger-300 bg-danger-50 text-danger-900",
44
+ "default" => "border-neutral-300 bg-neutral-50 text-neutral-900"
45
+ }.freeze
46
+ %>
47
+
48
+ <section
49
+ id="application-lesli-notifications"
50
+ class="fixed inset-x-0 z-[999] mx-auto w-[90%] max-w-[600px]"
51
+ aria-live="polite"
52
+ aria-atomic="true">
36
53
  <% if flash.any? %>
37
54
  <% flash.each do |type, message| %>
38
- <div class="notification is-<%= type %> is-light my-1 has-text-centered">
55
+ <div class="animate-lesli-notification my-1 break-words rounded-lg border-2 px-4 py-3 text-center text-sm font-medium shadow-sm <%= notification_classes.fetch(type.to_s, notification_classes["default"]) %>">
39
56
  <%= message %>
40
57
  </div>
41
58
  <% end %>
@@ -40,9 +40,9 @@ Building a better future, one line of code at a time.
40
40
 
41
41
  <%# render navigation partial %>
42
42
  <% if custom_sidebar_exists %>
43
- <aside class="lesli-application-sidebar">
44
- <nav>
45
- <ul>
43
+ <aside class="flex w-[50px] shrink-0 flex-col pt-12 pl-12 transition-all duration-200 ease-linear min-[769px]:w-[100px] min-[1024px]:w-[200px] min-[1216px]:w-[225px] min-[1408px]:w-[328px]">
44
+ <nav class="overflow-y-scroll rounded-lg bg-white pt-[.8rem] pb-4 pl-4 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden" aria-label="Module navigation">
45
+ <ul>
46
46
  <%= render partial: custom_sidebar_path %>
47
47
  </ul>
48
48
  </nav>
data/lib/lesli/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Lesli
2
- VERSION = "5.1.11"
2
+ VERSION = "5.1.12"
3
3
  BUILD = "1791607001"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lesli
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.11
4
+ version: 5.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Lesli Development Team
@@ -306,7 +306,7 @@ metadata:
306
306
  source_code_uri: https://github.com/LesliTech/Lesli
307
307
  bug_tracker_uri: https://github.com/LesliTech/Lesli/issues
308
308
  documentation_uri: https://www.lesli.dev/lesli/
309
- post_install_message: Greetings from LesliTech ❤️ Docs are available at https://www.lesli.dev/
309
+ post_install_message: "\nWelcome to Lesli! \U0001F499 \nDocumentation: https://www.lesli.dev/\n\n"
310
310
  rdoc_options: []
311
311
  require_paths:
312
312
  - lib