|
| 1 | +<% icon_class = "l-ui-icon l-ui-icon--xl brightness-0 invert" %> |
| 2 | +<% bubble_class = "flex shrink-0 items-center justify-center w-14 h-14 rounded-full bg-gradient-to-br" %> |
| 3 | + |
1 | 4 | <h2 class="mt-6">Features</h2> |
2 | 5 | <div class="l-ui-grid mt-4"> |
3 | 6 | <div class="l-ui-surface flex items-center gap-4"> |
4 | | - <%= image_tag "icon_minimal.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 7 | + <div class="<%= bubble_class %> from-black to-black"> |
| 8 | + <%= image_tag "icon_minimal.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 9 | + </div> |
5 | 10 | <div> |
6 | 11 | <h3>Minimal style</h3> |
7 | 12 | <p>Monochrome out of the box and fully extensible - override colours, typography, and components to suit your project.</p> |
8 | 13 | </div> |
9 | 14 | </div> |
10 | 15 | <div class="l-ui-surface flex items-center gap-4"> |
11 | | - <%= image_tag "icon_moon.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 16 | + <div class="<%= bubble_class %> from-black to-black"> |
| 17 | + <%= image_tag "icon_moon.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 18 | + </div> |
12 | 19 | <div> |
13 | 20 | <h3>Dark/light theme</h3> |
14 | 21 | <p>System preference detection with localStorage persistence and manual toggle.</p> |
15 | 22 | </div> |
16 | 23 | </div> |
17 | 24 | <div class="l-ui-surface flex items-center gap-4"> |
18 | | - <%= image_tag "icon_paint.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 25 | + <div class="<%= bubble_class %> from-fuchsia-500 via-pink-500 to-orange-400"> |
| 26 | + <%= image_tag "icon_paint.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 27 | + </div> |
19 | 28 | <div> |
20 | 29 | <h3>Customisable logo and icons</h3> |
21 | 30 | <p>Override the default logos and icons to match your brand.</p> |
22 | 31 | </div> |
23 | 32 | </div> |
24 | 33 | <div class="l-ui-surface flex items-center gap-4"> |
25 | | - <%= image_tag "icon_device.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 34 | + <div class="<%= bubble_class %> from-sky-500 to-cyan-500"> |
| 35 | + <%= image_tag "icon_device.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 36 | + </div> |
26 | 37 | <div> |
27 | 38 | <h3>Responsive layout</h3> |
28 | 39 | <p>Tested thoroughly across form factors, from mobile to ultrawide.</p> |
29 | 40 | </div> |
30 | 41 | </div> |
31 | 42 | <div class="l-ui-surface flex items-center gap-4"> |
32 | | - <%= image_tag "icon_eye.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 43 | + <div class="<%= bubble_class %> from-emerald-500 to-teal-500"> |
| 44 | + <%= image_tag "icon_eye.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 45 | + </div> |
33 | 46 | <div> |
34 | 47 | <h3>WCAG 2.2 AA accessible</h3> |
35 | 48 | <p>Skip links, focus indicators, ARIA attributes, and 4.5:1 contrast ratios. Read the <%= link_to "latest accessibility audits", "https://github.com/layered-ai-public/layered-ui-rails/blob/main/audits/accessibility", target: "_blank", rel: "noopener noreferrer" %>.</p> |
36 | 49 | </div> |
37 | 50 | </div> |
38 | 51 | <div class="l-ui-surface flex items-center gap-4"> |
39 | | - <%= image_tag "icon_lighthouse.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 52 | + <div class="<%= bubble_class %> from-amber-400 to-orange-500"> |
| 53 | + <%= image_tag "icon_lighthouse.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 54 | + </div> |
40 | 55 | <div> |
41 | 56 | <h3>Google Lighthouse optimised</h3> |
42 | 57 | <p><code>layered-ui-rails</code> scores a <%= link_to "perfect 100", image_path("lighthouse.webp"), target: "_blank" %> across all four Google Lighthouse categories - performance, accessibility, best practices, and SEO.</p> |
43 | 58 | </div> |
44 | 59 | </div> |
45 | 60 | <div class="l-ui-surface flex items-center gap-4"> |
46 | | - <%= image_tag "icon_puzzle.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 61 | + <div class="<%= bubble_class %> from-cyan-400 via-blue-500 to-violet-600"> |
| 62 | + <%= image_tag "icon_puzzle.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 63 | + </div> |
47 | 64 | <div> |
48 | 65 | <h3>Optional integrations</h3> |
49 | 66 | <p><%= link_to "Devise", devise_path %> authentication, <%= link_to "Pagy", pagy_path %> pagination, and <%= link_to "Ransack", ransack_path %> search and sort with styled controls.</p> |
50 | 67 | </div> |
51 | 68 | </div> |
52 | 69 | <div class="l-ui-surface flex items-center gap-4"> |
53 | | - <%= image_tag "icon_agent.svg", class: "l-ui-icon l-ui-icon--xl", alt: "", aria: { hidden: true } %> |
| 70 | + <div class="<%= bubble_class %> from-indigo-500 via-purple-500 to-pink-500"> |
| 71 | + <%= image_tag "icon_agent.svg", class: icon_class, alt: "", aria: { hidden: true } %> |
| 72 | + </div> |
54 | 73 | <div> |
55 | 74 | <h3>Agent skill</h3> |
56 | 75 | <p>Bundled agent skill teaches AI agents to install, configure, and build with <code>layered-ui-rails</code>.</p> |
|
0 commit comments