maglevcms-hyperui-kit 1.1.0 → 1.3.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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/maglev/hyperui/install/install_generator.rb +24 -1
  3. data/lib/generators/maglev/hyperui/install/templates/app/views/layouts/maglev/editor/_head.html.erb +2 -0
  4. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/banner/banner_01.yml +97 -0
  5. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/banner/banner_02.yml +97 -0
  6. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/banner/banner_03.yml +102 -0
  7. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/cta/cta_01.yml +73 -0
  8. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/cta/cta_02.yml +73 -0
  9. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/cta/cta_03.yml +79 -0
  10. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/faq/faq_01.yml +64 -0
  11. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/faq/faq_02.yml +64 -0
  12. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/faq/faq_03.yml +73 -0
  13. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/feature/feature_01.yml +105 -0
  14. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/feature/feature_02.yml +127 -0
  15. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/feature/feature_03.yml +127 -0
  16. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/footer/footer_01.yml +220 -0
  17. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/footer/footer_02.yml +232 -0
  18. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/footer/footer_03.yml +217 -0
  19. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/footer/footer_04.yml +94 -0
  20. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/nav/nav_01.yml +135 -0
  21. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/nav/nav_02.yml +135 -0
  22. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/nav/nav_03.yml +135 -0
  23. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/nav/nav_04.yml +129 -0
  24. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/review/review_01.yml +105 -0
  25. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/stat/stat_01.yml +85 -0
  26. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/testimonial/testimonial_01.yml +69 -0
  27. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/testimonial/testimonial_02.yml +107 -0
  28. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/sections/testimonial/testimonial_03.yml +103 -0
  29. data/lib/generators/maglev/hyperui/install/templates/app_pro/themes/%theme_name%/theme.yml.tt +178 -0
  30. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/maglev/editor/_header.html.erb +2 -0
  31. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/layout.html.erb +26 -0
  32. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/banner/banner_01.html.erb +20 -0
  33. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/banner/banner_02.html.erb +23 -0
  34. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/banner/banner_03.html.erb +25 -0
  35. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/cta/cta_01.html.erb +15 -0
  36. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/cta/cta_02.html.erb +38 -0
  37. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/cta/cta_03.html.erb +23 -0
  38. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/faq/faq_01.html.erb +30 -0
  39. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/faq/faq_02.html.erb +30 -0
  40. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/faq/faq_03.html.erb +49 -0
  41. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/feature/feature_01.html.erb +27 -0
  42. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/feature/feature_02.html.erb +29 -0
  43. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/feature/feature_03.html.erb +26 -0
  44. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/footer/footer_01.html.erb +60 -0
  45. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/footer/footer_02.html.erb +47 -0
  46. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/footer/footer_03.html.erb +69 -0
  47. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/footer/footer_04.html.erb +29 -0
  48. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/nav/nav_01.html.erb +62 -0
  49. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/nav/nav_02.html.erb +65 -0
  50. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/nav/nav_03.html.erb +65 -0
  51. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/nav/nav_04.html.erb +65 -0
  52. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/review/_grades.html.erb +25 -0
  53. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/review/review_01.html.erb +39 -0
  54. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/stat/stat_01.html.erb +21 -0
  55. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/testimonial/testimonial_01.html.erb +20 -0
  56. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/testimonial/testimonial_02.html.erb +33 -0
  57. data/lib/generators/maglev/hyperui/install/templates/app_pro/views/themes/%theme_name%/sections/testimonial/testimonial_03.html.erb +24 -0
  58. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/banner/banner_01.jpg +0 -0
  59. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/banner/banner_02.jpg +0 -0
  60. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/banner/banner_03.jpg +0 -0
  61. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/cta/cta_01.jpg +0 -0
  62. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/cta/cta_02.jpg +0 -0
  63. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/cta/cta_03.jpg +0 -0
  64. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/faq/faq_01.jpg +0 -0
  65. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/faq/faq_02.jpg +0 -0
  66. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/faq/faq_03.jpg +0 -0
  67. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/feature/feature_01.jpg +0 -0
  68. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/feature/feature_02.jpg +0 -0
  69. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/feature/feature_03.jpg +0 -0
  70. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/footer/footer_01.jpg +0 -0
  71. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/footer/footer_02.jpg +0 -0
  72. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/footer/footer_03.jpg +0 -0
  73. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/footer/footer_04.jpg +0 -0
  74. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/nav/nav_01.jpg +0 -0
  75. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/nav/nav_02.jpg +0 -0
  76. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/nav/nav_03.jpg +0 -0
  77. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/nav/nav_04.jpg +0 -0
  78. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/review/review_01.jpg +0 -0
  79. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/stat/stat_01.jpg +0 -0
  80. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/testimonial/testimonial_01.jpg +0 -0
  81. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/testimonial/testimonial_02.jpg +0 -0
  82. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/%theme_name%/testimonial/testimonial_03.jpg +0 -0
  83. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/image-placeholder.jpg +0 -0
  84. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/logoipsum-white.svg +1 -0
  85. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/logoipsum.svg +1 -0
  86. data/lib/generators/maglev/hyperui/install/templates/public_pro/themes/marie-curie.jpg +0 -0
  87. data/lib/maglev/hyperui/railtie.rb +3 -0
  88. data/lib/maglev/hyperui/version.rb +1 -1
  89. data/lib/tasks/maglev_hyperui_kit.rake +61 -0
  90. metadata +90 -8
@@ -0,0 +1,27 @@
1
+ <%= maglev_section.wrapper_tag.div class: 'text-white bg-gray-900' do %>
2
+ <div class="mx-auto max-w-screen-xl px-4 py-16 sm:px-6 lg:px-8">
3
+ <div class="max-w-xl">
4
+ <%= maglev_section.setting_tag :title, html_tag: 'h2', class: 'text-3xl font-bold sm:text-4xl' %>
5
+
6
+ <%= maglev_section.setting_tag :body, html_tag: 'p', class: 'mt-4 text-gray-300' %>
7
+ </div>
8
+
9
+ <div
10
+ class="grid grid-cols-1 gap-8 mt-8 md:gap-12 md:mt-16 md:grid-cols-2 lg:grid-cols-3"
11
+ >
12
+ <% maglev_section.blocks.each do |maglev_block| %>
13
+ <%= maglev_block.wrapper_tag.div class: 'flex items-start' do %>
14
+ <span class="flex-shrink-0 h-12 w-12 flex items-center justify-center bg-gray-800 rounded-lg">
15
+ <%= maglev_block.setting_tag :icon, class: 'text-xl' %>
16
+ </span>
17
+
18
+ <div class="ml-4">
19
+ <%= maglev_block.setting_tag :name, html_tag: 'h3', class: 'text-lg font-bold' %>
20
+
21
+ <%= maglev_block.setting_tag :description, html_tag: 'p', class: 'mt-1 text-sm text-gray-300' %>
22
+ </div>
23
+ <% end %>
24
+ <% end %>
25
+ </div>
26
+ </div>
27
+ <% end %>
@@ -0,0 +1,29 @@
1
+ <%= maglev_section.wrapper_tag.section do %>
2
+ <div class="mx-auto max-w-screen-xl px-4 py-16 sm:px-6 lg:px-8">
3
+ <div
4
+ class="grid grid-cols-1 lg:grid-cols-2 gap-y-8 lg:gap-x-16 lg:items-center"
5
+ >
6
+ <div class="max-w-lg mx-auto text-center lg:text-left lg:mx-0">
7
+ <%= maglev_section.setting_tag :title, html_tag: 'h2', class: 'text-3xl font-bold sm:text-4xl' %>
8
+
9
+ <%= maglev_section.setting_tag :body, html_tag: 'p', class: 'mt-4 text-gray-600' %>
10
+
11
+ <%= maglev_section.setting_tag :button, class: 'inline-flex items-center px-8 py-3 mt-8 text-white bg-indigo-600 border border-indigo-600 rounded hover:bg-transparent hover:text-indigo-600 active:text-indigo-500 focus:outline-none focus:ring text-sm font-medium' %>
12
+ </div>
13
+
14
+ <div class="grid grid-cols-2 gap-4 sm:grid-cols-3">
15
+ <% maglev_section.blocks.each do |maglev_block| %>
16
+ <%= maglev_block.wrapper_tag.a class: 'block p-4 border border-gray-100 shadow-sm rounded-xl focus:outline-none focus:ring hover:border-gray-200 hover:ring-1 hover:ring-gray-200', href: maglev_block.settings.link.href do %>
17
+ <span class="inline-block h-12 w-12 flex items-center justify-center rounded-lg bg-gray-50">
18
+ <%= maglev_block.setting_tag :icon, class: 'text-xl' %>
19
+ </span>
20
+
21
+ <%= maglev_block.setting_tag :name, html_tag: 'h6', class: 'mt-2 font-bold' %>
22
+
23
+ <%= maglev_block.setting_tag :description, html_tag: 'p', class: 'hidden sm:mt-1 sm:text-sm sm:text-gray-600 sm:block' %>
24
+ <% end %>
25
+ <% end %>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ <% end %>
@@ -0,0 +1,26 @@
1
+ <%= maglev_section.wrapper_tag.section class: 'text-white bg-gray-900' do %>
2
+ <div class="max-w-screen-xl px-4 py-16 mx-auto sm:px-6 lg:px-8">
3
+ <div class="max-w-lg mx-auto text-center">
4
+ <%= maglev_section.setting_tag :title, html_tag: 'h2', class: 'text-3xl font-bold sm:text-4xl' %>
5
+
6
+ <%= maglev_section.setting_tag :body, html_tag: 'p', class: 'mt-4 text-gray-300' %>
7
+ </div>
8
+
9
+ <div class="grid grid-cols-1 gap-8 mt-8 md:grid-cols-2 lg:grid-cols-3">
10
+ <% maglev_section.blocks.each do |maglev_block| %>
11
+ <%= maglev_block.wrapper_tag.a class: 'block p-8 transition border border-gray-800 shadow-xl rounded-xl hover:shadow-pink-500/10 hover:border-pink-500/10' do %>
12
+
13
+ <%= maglev_block.setting_tag :icon, class: 'text-3xl text-pink-500' %>
14
+
15
+ <%= maglev_block.setting_tag :name, html_tag: 'h3', class: 'mt-4 text-xl font-bold text-white' %>
16
+
17
+ <%= maglev_block.setting_tag :description, html_tag: 'p', class: 'mt-1 text-sm text-gray-300' %>
18
+ <% end %>
19
+ <% end %>
20
+ </div>
21
+
22
+ <div class="mt-12 text-center">
23
+ <%= maglev_section.setting_tag :button, class: 'inline-flex items-center px-8 py-3 mt-8 text-white bg-pink-600 border border-pink-600 rounded hover:bg-transparent active:text-pink-500 focus:outline-none focus:ring text-sm font-medium' %>
24
+ </div>
25
+ </div>
26
+ <% end %>
@@ -0,0 +1,60 @@
1
+ <%= maglev_section.wrapper_tag.footer class: 'bg-gray-900' do %>
2
+ <div class="max-w-screen-xl px-4 py-16 mx-auto sm:px-6 lg:px-8">
3
+ <div class="lg:flex lg:gap-8">
4
+ <div>
5
+ <%= maglev_section.setting_tag :logo, class: 'block max-h-10' %>
6
+ </div>
7
+
8
+ <div
9
+ class="grid grid-cols-2 gap-8 mt-8 lg:mt-0 lg:grid-cols-5 lg:gap-y-16"
10
+ >
11
+ <div class="col-span-2">
12
+ <div>
13
+ <%= maglev_section.setting_tag :title, html_tag: 'h2', class: 'text-2xl font-bold text-white' %>
14
+
15
+ <%= maglev_section.setting_tag :body, html_tag: 'p', class: 'mt-6 text-gray-400' %>
16
+ </div>
17
+ </div>
18
+
19
+ <div class="col-span-2 lg:col-span-3 lg:flex lg:items-end">
20
+ <form class="w-full text-white">
21
+ <label for="email" class="sr-only">Email</label>
22
+
23
+ <div class="p-2 border sm:flex sm:items-center border-white/10">
24
+ <input
25
+ class="w-full h-12 p-3 text-sm font-medium tracking-widest placeholder-gray-400 uppercase bg-transparent border-none"
26
+ type="email"
27
+ id="email"
28
+ placeholder="Enter your email"
29
+ />
30
+
31
+ <%= maglev_section.setting_tag :button_label, html_tag: 'button', class: 'w-full h-12 px-6 py-3 mt-1 text-sm font-bold tracking-wide uppercase bg-red-700 sm:ml-4 sm:flex-shrink-0 sm:w-auto sm:mt-0', type: 'submit' %>
32
+ </div>
33
+ </form>
34
+ </div>
35
+
36
+ <% maglev_section.blocks.each do |maglev_block| %>
37
+ <%= maglev_block.wrapper_tag.div class: 'col-span-2 pt-6 border-t sm:col-span-1 border-white/10' do %>
38
+ <%= maglev_block.setting_tag :title, html_tag: 'p', class: 'font-bold text-white' %>
39
+
40
+ <nav class="flex flex-col mt-6 space-y-4 text-sm text-gray-300">
41
+ <% maglev_block.children.each do |nested_maglev_block| %>
42
+ <%= nested_maglev_block.wrapper_tag.span class: 'inline-block' do %>
43
+ <%= nested_maglev_block.setting_tag :link %>
44
+ <% end %>
45
+ <% end %>
46
+ </nav>
47
+ <% end %>
48
+ <% end %>
49
+ </div>
50
+ </div>
51
+
52
+ <div class="pt-8 mt-12 border-t border-white/10">
53
+ <div class="grid grid-cols-1 gap-8 lg:grid-cols-2">
54
+ <%= maglev_section.setting_tag :copyright, html_tag: 'p', class: 'text-xs text-center text-gray-400 lg:text-left' %>
55
+
56
+ <%= maglev_section.setting_tag :quick_links, html_tag: 'nav', class: 'flex justify-center gap-4 text-xs text-gray-400 lg:justify-end' %>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <% end %>
@@ -0,0 +1,47 @@
1
+ <%= maglev_section.wrapper_tag.footer class: 'bg-gray-50' do %>
2
+ <div class="max-w-screen-xl px-4 py-16 mx-auto space-y-12 sm:px-6 lg:px-8">
3
+ <div class="sm:items-center sm:justify-between sm:flex">
4
+ <%= maglev_section.setting_tag :logo, class: 'block max-h-10' %>
5
+
6
+ <% maglev_section.blocks.each do |maglev_block| %>
7
+ <% next if maglev_block.type != 'social_links_row' %>
8
+ <%= maglev_block.wrapper_tag.div class: 'flex gap-6 mt-8 text-gray-500 sm:mt-0' do %>
9
+ <% maglev_block.children.each do |nested_maglev_block| %>
10
+ <%= nested_maglev_block.wrapper_tag.span do %>
11
+ <a
12
+ class="hover:opacity-75 text-2xl"
13
+ href="<%= nested_maglev_block.settings.link.href %>"
14
+ <% if nested_maglev_block.settings.link.open_new_window? %>target="_blank"<% end %>
15
+ rel="noreferrer"
16
+ >
17
+ <span class="sr-only"><%= nested_maglev_block.settings.name %></span>
18
+ <%= nested_maglev_block.setting_tag :icon %>
19
+ </a>
20
+ <% end %>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+ </div>
25
+
26
+ <div
27
+ class="grid grid-cols-1 gap-8 pt-12 border-t border-gray-100 sm:grid-cols-2 lg:grid-cols-4"
28
+ >
29
+ <% maglev_section.blocks.each do |maglev_block| %>
30
+ <% next if maglev_block.type != 'column' %>
31
+ <%= maglev_block.wrapper_tag.div do %>
32
+ <%= maglev_block.setting_tag :title, html_tag: 'p', class: 'font-medium' %>
33
+
34
+ <nav class="flex flex-col mt-4 space-y-2 text-sm text-gray-500">
35
+ <% maglev_block.children.each do |nested_maglev_block| %>
36
+ <%= nested_maglev_block.wrapper_tag.span do %>
37
+ <%= nested_maglev_block.setting_tag :link %>
38
+ <% end %>
39
+ <% end %>
40
+ </nav>
41
+ <% end %>
42
+ <% end %>
43
+ </div>
44
+
45
+ <%= maglev_section.setting_tag :copyright, html_tag: 'p', class: 'text-xs text-gray-500' %>
46
+ </div>
47
+ <% end %>
@@ -0,0 +1,69 @@
1
+ <%= maglev_section.wrapper_tag.footer class: 'text-white bg-gray-900 lg:grid lg:grid-cols-5' do %>
2
+ <aside class="hidden lg:relative lg:col-span-2 lg:block">
3
+ <%= maglev_section.setting_tag :image, class: 'absolute inset-0 object-cover w-full h-full' %>
4
+ </aside>
5
+
6
+ <div class="px-4 py-16 sm:px-6 lg:px-8 lg:col-span-3">
7
+ <div class="grid grid-cols-1 gap-8 sm:grid-cols-2">
8
+ <div>
9
+ <p class="font-medium">
10
+ <span class="text-xs tracking-widest uppercase">Call</span>
11
+
12
+ <a class="block text-2xl sm:text-3xl hover:opacity-75" href="tel:<%= maglev_section.settings.phone_number %>">
13
+ <%= maglev_section.setting_tag :phone_number %>
14
+ </a>
15
+ </p>
16
+
17
+ <%= maglev_section.setting_tag :opening_hours, html_tag: 'p', class: 'mt-8 space-y-2 text-sm' %>
18
+
19
+ <% maglev_section.blocks.each do |maglev_block| %>
20
+ <% next if maglev_block.type != 'social_links_row' %>
21
+ <%= maglev_block.wrapper_tag.div class: 'flex gap-3 mt-16' do %>
22
+ <% maglev_block.children.each do |nested_maglev_block| %>
23
+ <%= nested_maglev_block.wrapper_tag.span do %>
24
+ <a
25
+ class="w-8 h-8 border rounded-full border-white/25 hover:opacity-75 flex items-center justify-center"
26
+ href="<%= nested_maglev_block.settings.link.href %>"
27
+ <% if nested_maglev_block.settings.link.open_new_window? %>target="_blank"<% end %>
28
+ rel="noreferrer"
29
+ >
30
+ <span class="sr-only"><%= nested_maglev_block.settings.name %></span>
31
+ <%= nested_maglev_block.setting_tag :icon %>
32
+ </a>
33
+ <% end %>
34
+ <% end %>
35
+ <% end %>
36
+ <% end %>
37
+ </div>
38
+
39
+ <div class="grid grid-cols-1 gap-4 sm:grid-cols-2">
40
+ <% maglev_section.blocks.each do |maglev_block| %>
41
+ <% next if maglev_block.type != 'column' %>
42
+ <%= maglev_block.wrapper_tag.div do %>
43
+ <%= maglev_block.setting_tag :title, html_tag: 'p', class: 'font-medium' %>
44
+
45
+ <nav class="flex flex-col mt-4 space-y-2 text-sm text-gray-300">
46
+ <% maglev_block.children.each do |nested_maglev_block| %>
47
+ <%= nested_maglev_block.wrapper_tag.span do %>
48
+ <%= nested_maglev_block.setting_tag :link, class: 'hover:opacity-75' %>
49
+ <% end %>
50
+ <% end %>
51
+ </nav>
52
+ <% end %>
53
+ <% end %>
54
+ </div>
55
+ </div>
56
+
57
+ <div class="pt-12 mt-12 border-t border-gray-800">
58
+ <div
59
+ class="text-sm text-gray-300 sm:items-center sm:justify-between sm:flex"
60
+ >
61
+ <%= maglev_section.setting_tag :quick_links, html_tag: 'div', class: 'flex gap-3' %>
62
+
63
+ <%= maglev_section.setting_tag :copyright, html_tag: 'p', class: 'mt-4 sm:mt-0' %>
64
+ </div>
65
+
66
+ <%= maglev_section.setting_tag :text, html_tag: 'p', class: 'mt-8 text-xs text-gray-500' %>
67
+ </div>
68
+ </div>
69
+ <% end %>
@@ -0,0 +1,29 @@
1
+ <%= maglev_section.wrapper_tag.footer class: 'bg-gray-100' do %>
2
+ <div
3
+ class="relative max-w-screen-xl px-4 py-16 mx-auto sm:px-6 lg:px-8 lg:pt-24"
4
+ >
5
+ <div class="lg:flex lg:items-end lg:justify-between">
6
+ <div>
7
+ <div class="flex justify-center lg:justify-start">
8
+ <%= maglev_section.setting_tag :logo, class: 'block max-h-14' %>
9
+ </div>
10
+
11
+ <%= maglev_section.setting_tag :text, html_tag: 'p', class: 'max-w-md mx-auto mt-6 leading-relaxed text-center text-gray-500 lg:text-left' %>
12
+ </div>
13
+
14
+ <nav class="mt-12 lg:mt-0" aria-labelledby="footer-navigation">
15
+ <h2 class="sr-only" id="footer-navigation">Footer navigation</h2>
16
+
17
+ <ul class="flex flex-wrap justify-center gap-6 lg:justify-end md:gap-8 lg:gap-12">
18
+ <% maglev_section.blocks.each do |maglev_block| %>
19
+ <%= maglev_block.wrapper_tag.li do %>
20
+ <%= maglev_block.setting_tag :link, class: 'text-gray-700 transition hover:text-gray-700/75' %>
21
+ <% end %>
22
+ <% end %>
23
+ </ul>
24
+ </nav>
25
+ </div>
26
+
27
+ <%= maglev_section.setting_tag :copyright, html_tag: 'p', class: 'mt-12 text-sm text-center text-gray-500 lg:text-right' %>
28
+ </div>
29
+ <% end %>
@@ -0,0 +1,62 @@
1
+ <%= maglev_section.wrapper_tag.header class: 'bg-white' do %>
2
+ <div
3
+ class="flex items-center h-16 max-w-screen-xl gap-8 px-4 mx-auto sm:px-6 lg:px-8"
4
+ >
5
+ <a class="block text-teal-600" href="/">
6
+ <span class="sr-only">Home</span>
7
+ <%= maglev_section.setting_tag :logo, class: 'max-h-10' %>
8
+ </a>
9
+
10
+ <div class="flex items-center justify-end flex-1 md:justify-between">
11
+ <nav class="hidden md:block" aria-labelledby="header-navigation">
12
+ <h2 class="sr-only" id="header-navigation">Header navigation</h2>
13
+
14
+ <ul class="flex items-center gap-6 text-sm">
15
+ <% maglev_section.blocks.each do |maglev_block| %>
16
+ <% next if maglev_block.type != 'link_group' %>
17
+ <% maglev_block.children.each do |nested_maglev_block| %>
18
+ <%= nested_maglev_block.wrapper_tag.li do %>
19
+ <%= nested_maglev_block.setting_tag :link, class: 'text-gray-500 transition hover:text-gray-500/75' %>
20
+ <% end %>
21
+ <% end %>
22
+ <% end %>
23
+ </ul>
24
+ </nav>
25
+
26
+ <div class="flex items-center gap-4">
27
+ <div class="sm:gap-4 sm:flex">
28
+ <% maglev_section.blocks.each do |maglev_block| %>
29
+ <% next if maglev_block.type != 'button_group' %>
30
+ <% maglev_block.children.each do |nested_maglev_block| %>
31
+ <%= nested_maglev_block.wrapper_tag.div do %>
32
+ <%= nested_maglev_block.setting_tag :button, class: 'block px-5 py-2.5 text-sm font-medium text-white bg-teal-600 hover:bg-teal-700 transition rounded-md' if nested_maglev_block.settings.is_primary.true? %>
33
+
34
+ <%= nested_maglev_block.setting_tag :button, class: 'hidden sm:block px-5 py-2.5 text-sm font-medium text-teal-600 bg-gray-100 rounded-md hover:text-teal-600/75 transition' if nested_maglev_block.settings.is_primary.false? %>
35
+ <% end %>
36
+ <% end %>
37
+ <% end %>
38
+ </div>
39
+
40
+ <button
41
+ class="block p-2.5 text-gray-600 transition bg-gray-100 rounded md:hidden hover:text-gray-600/75"
42
+ >
43
+ <span class="sr-only">Toggle menu</span>
44
+ <svg
45
+ xmlns="http://www.w3.org/2000/svg"
46
+ class="w-5 h-5"
47
+ fill="none"
48
+ viewBox="0 0 24 24"
49
+ stroke="currentColor"
50
+ stroke-width="2"
51
+ >
52
+ <path
53
+ stroke-linecap="round"
54
+ stroke-linejoin="round"
55
+ d="M4 6h16M4 12h16M4 18h16"
56
+ />
57
+ </svg>
58
+ </button>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <% end %>
@@ -0,0 +1,65 @@
1
+ <%= maglev_section.wrapper_tag.header class: 'bg-white' do %>
2
+ <div class="max-w-screen-xl px-4 mx-auto sm:px-6 lg:px-8">
3
+ <div class="flex items-center justify-between h-16">
4
+ <div class="md:flex md:items-center md:gap-12">
5
+ <a class="block text-teal-600" href="/">
6
+ <span class="sr-only">Home</span>
7
+ <%= maglev_section.setting_tag :logo, class: 'max-h-10' %>
8
+ </a>
9
+ </div>
10
+
11
+ <div class="hidden md:block">
12
+ <nav aria-labelledby="header-navigation">
13
+ <h2 class="sr-only" id="header-navigation">Header navigation</h2>
14
+
15
+ <ul class="flex items-center gap-6 text-sm">
16
+ <% maglev_section.blocks.each do |maglev_block| %>
17
+ <% next if maglev_block.type != 'link_group' %>
18
+ <% maglev_block.children.each do |nested_maglev_block| %>
19
+ <%= nested_maglev_block.wrapper_tag.li do %>
20
+ <%= nested_maglev_block.setting_tag :link, class: 'text-gray-500 transition hover:text-gray-500/75' %>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+ </ul>
25
+ </nav>
26
+ </div>
27
+
28
+ <div class="flex items-center gap-4">
29
+ <div class="sm:gap-4 sm:flex">
30
+ <% maglev_section.blocks.each do |maglev_block| %>
31
+ <% next if maglev_block.type != 'button_group' %>
32
+ <% maglev_block.children.each do |nested_maglev_block| %>
33
+ <%= nested_maglev_block.wrapper_tag.div do %>
34
+ <%= nested_maglev_block.setting_tag :button, class: 'block px-5 py-2.5 text-sm font-medium text-white bg-teal-600 hover:bg-teal-700 transition rounded-md' if nested_maglev_block.settings.is_primary.true? %>
35
+
36
+ <%= nested_maglev_block.setting_tag :button, class: 'hidden sm:block px-5 py-2.5 text-sm font-medium text-teal-600 bg-gray-100 rounded-md hover:text-teal-600/75 transition' if nested_maglev_block.settings.is_primary.false? %>
37
+ <% end %>
38
+ <% end %>
39
+ <% end %>
40
+ </div>
41
+
42
+ <div class="block md:hidden">
43
+ <button
44
+ class="p-2 text-gray-600 transition bg-gray-100 rounded hover:text-gray-600/75"
45
+ >
46
+ <svg
47
+ xmlns="http://www.w3.org/2000/svg"
48
+ class="w-5 h-5"
49
+ fill="none"
50
+ viewBox="0 0 24 24"
51
+ stroke="currentColor"
52
+ stroke-width="2"
53
+ >
54
+ <path
55
+ stroke-linecap="round"
56
+ stroke-linejoin="round"
57
+ d="M4 6h16M4 12h16M4 18h16"
58
+ />
59
+ </svg>
60
+ </button>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ <% end %>
@@ -0,0 +1,65 @@
1
+ <%= maglev_section.wrapper_tag.header class: 'bg-white' do %>
2
+ <div class="max-w-screen-xl px-4 mx-auto sm:px-6 lg:px-8">
3
+ <div class="flex items-center justify-between h-16">
4
+ <div class="flex-1 md:flex md:items-center md:gap-12">
5
+ <a class="block text-teal-600" href="/">
6
+ <span class="sr-only">Home</span>
7
+ <%= maglev_section.setting_tag :logo, class: 'max-h-10' %>
8
+ </a>
9
+ </div>
10
+
11
+ <div class="md:flex md:items-center md:gap-12">
12
+ <nav class="hidden md:block" aria-labelledby="header-navigation">
13
+ <h2 class="sr-only" id="header-navigation">Header navigation</h2>
14
+
15
+ <ul class="flex items-center gap-6 text-sm">
16
+ <% maglev_section.blocks.each do |maglev_block| %>
17
+ <% next if maglev_block.type != 'link_group' %>
18
+ <% maglev_block.children.each do |nested_maglev_block| %>
19
+ <%= nested_maglev_block.wrapper_tag.li do %>
20
+ <%= nested_maglev_block.setting_tag :link, class: 'text-gray-500 transition hover:text-gray-500/75' %>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+ </ul>
25
+ </nav>
26
+
27
+ <div class="flex items-center gap-4">
28
+ <div class="sm:gap-4 sm:flex">
29
+ <% maglev_section.blocks.each do |maglev_block| %>
30
+ <% next if maglev_block.type != 'button_group' %>
31
+ <% maglev_block.children.each do |nested_maglev_block| %>
32
+ <%= nested_maglev_block.wrapper_tag.div do %>
33
+ <%= nested_maglev_block.setting_tag :button, class: 'block px-5 py-2.5 text-sm font-medium text-white bg-teal-600 hover:bg-teal-700 transition rounded-md' if nested_maglev_block.settings.is_primary.true? %>
34
+
35
+ <%= nested_maglev_block.setting_tag :button, class: 'hidden sm:block px-5 py-2.5 text-sm font-medium text-teal-600 bg-gray-100 rounded-md hover:text-teal-600/75 transition' if nested_maglev_block.settings.is_primary.false? %>
36
+ <% end %>
37
+ <% end %>
38
+ <% end %>
39
+ </div>
40
+
41
+ <div class="block md:hidden">
42
+ <button
43
+ class="p-2 text-gray-600 transition bg-gray-100 rounded hover:text-gray-600/75"
44
+ >
45
+ <svg
46
+ xmlns="http://www.w3.org/2000/svg"
47
+ class="w-5 h-5"
48
+ fill="none"
49
+ viewBox="0 0 24 24"
50
+ stroke="currentColor"
51
+ stroke-width="2"
52
+ >
53
+ <path
54
+ stroke-linecap="round"
55
+ stroke-linejoin="round"
56
+ d="M4 6h16M4 12h16M4 18h16"
57
+ />
58
+ </svg>
59
+ </button>
60
+ </div>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ <% end %>
@@ -0,0 +1,65 @@
1
+ <%= maglev_section.wrapper_tag.header class: 'border-b border-gray-100' do %>
2
+ <div
3
+ class="flex items-center justify-between h-16 mx-auto max-w-screen-2xl sm:px-6 lg:px-8"
4
+ >
5
+ <div class="flex items-center">
6
+ <button type="button" class="p-2 sm:mr-4 lg:hidden">
7
+ <svg
8
+ class="w-6 h-6"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ fill="none"
11
+ viewBox="0 0 24 24"
12
+ stroke="currentColor"
13
+ >
14
+ <path
15
+ stroke-linecap="round"
16
+ stroke-linejoin="round"
17
+ stroke-width="2"
18
+ d="M4 6h16M4 12h16M4 18h16"
19
+ />
20
+ </svg>
21
+ </button>
22
+
23
+ <a href="/" class="flex">
24
+ <%= maglev_section.setting_tag :logo, class: 'max-h-10' %>
25
+ </a>
26
+ </div>
27
+
28
+ <div class="flex items-center justify-end flex-1">
29
+ <nav
30
+ class="hidden lg:uppercase lg:text-gray-500 lg:tracking-wide lg:font-bold lg:text-xs lg:gap-4 lg:flex"
31
+ >
32
+ <% maglev_section.blocks.each do |maglev_block| %>
33
+ <% next if maglev_block.type != 'link_group' %>
34
+ <% maglev_block.children.each do |nested_maglev_block| %>
35
+ <%= nested_maglev_block.wrapper_tag.span do %>
36
+ <%= nested_maglev_block.setting_tag :link, class: 'block h-16 leading-[4rem] border-b-4 border-transparent hover:text-red-700 hover:border-current' %>
37
+ <% end %>
38
+ <% end %>
39
+ <% end %>
40
+ </nav>
41
+
42
+ <div class="flex items-center ml-8">
43
+ <div
44
+ class="flex items-center border-gray-100 divide-x divide-gray-100 border-x"
45
+ >
46
+ <% maglev_section.blocks.each do |maglev_block| %>
47
+ <% next if maglev_block.type != 'button_group' %>
48
+ <% maglev_block.children.each do |nested_maglev_block| %>
49
+ <%= nested_maglev_block.wrapper_tag.span do %>
50
+ <a
51
+ href="<%= nested_maglev_block.settings.button.href %>"
52
+ <% if nested_maglev_block.settings.button.open_new_window? %>target="_blank"<% end %>
53
+ class="flex items-center h-16 px-6 border-b-4 border-transparent hover:border-red-700"
54
+ >
55
+ <%= nested_maglev_block.setting_tag :icon %>
56
+ <span class="sr-only"><%= nested_maglev_block.settings.button.text %></span>
57
+ </a>
58
+ <% end %>
59
+ <% end %>
60
+ <% end %>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ <% end %>
@@ -0,0 +1,25 @@
1
+ <% grade.times do %>
2
+ <svg
3
+ xmlns="http://www.w3.org/2000/svg"
4
+ class="w-5 h-5 text-yellow-400"
5
+ viewBox="0 0 20 20"
6
+ fill="currentColor"
7
+ >
8
+ <path
9
+ d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
10
+ />
11
+ </svg>
12
+ <% end %>
13
+
14
+ <% (5 - grade).times do %>
15
+ <svg
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ class="w-5 h-5 text-gray-200"
18
+ viewBox="0 0 20 20"
19
+ fill="currentColor"
20
+ >
21
+ <path
22
+ d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
23
+ />
24
+ </svg>
25
+ <% end %>
@@ -0,0 +1,39 @@
1
+ <%= maglev_section.wrapper_tag.section do %>
2
+ <div class="max-w-screen-xl px-4 py-8 mx-auto sm:px-6 lg:px-8">
3
+ <%= maglev_section.setting_tag :title, html_tag: 'h2', class: 'text-xl font-bold sm:text-2xl' %>
4
+
5
+ <div class="flex items-center mt-4">
6
+ <%= maglev_section.setting_tag :grade, html_tag: 'p', class: 'text-3xl font-medium' %>
7
+
8
+ <div class="ml-4">
9
+ <div class="flex -ml-1">
10
+ <%= render 'theme/sections/review/grades', grade: maglev_section.settings.grade.to_s.to_f.round %>
11
+ </div>
12
+
13
+ <p class="mt-0.5 text-xs text-gray-500">
14
+ Based on <%= pluralize(maglev_section.settings.number_of_reviews, 'review') %>
15
+ </p>
16
+ </div>
17
+ </div>
18
+
19
+ <div class="grid grid-cols-1 mt-8 lg:grid-cols-2 gap-x-16 gap-y-12">
20
+ <% maglev_section.blocks.each do |maglev_block| %>
21
+ <%= maglev_block.wrapper_tag.blockquote do %>
22
+ <header class="sm:items-center sm:flex">
23
+ <div class="flex -ml-1">
24
+ <%= render 'theme/sections/review/grades', grade: maglev_block.settings.grade.to_s.to_f.round %>
25
+ </div>
26
+
27
+ <%= maglev_block.setting_tag :highlight, html_tag: 'p', class: 'mt-2 font-medium sm:ml-4 sm:mt-0' %>
28
+ </header>
29
+
30
+ <%= maglev_block.setting_tag :testimonial, html_tag: 'p', class: 'mt-2 text-gray-700' %>
31
+
32
+ <footer class="mt-4">
33
+ <%= maglev_block.setting_tag :person, html_tag: 'p', class: 'text-xs text-gray-500' %>
34
+ </footer>
35
+ <% end %>
36
+ <% end %>
37
+ </div>
38
+ </div>
39
+ <% end %>
@@ -0,0 +1,21 @@
1
+ <%= maglev_section.wrapper_tag.section class: 'bg-white' do %>
2
+ <div class="max-w-screen-xl px-4 py-12 mx-auto md:py-16 sm:px-6 lg:px-8">
3
+ <div class="max-w-3xl mx-auto text-center">
4
+ <%= maglev_section.setting_tag :title, html_tag: 'h2', class: 'text-3xl font-bold text-gray-900 sm:text-4xl' %>
5
+
6
+ <%= maglev_section.setting_tag :body, html_tag: 'p', class: 'mt-4 text-gray-500 sm:text-xl' %>
7
+ </div>
8
+
9
+ <div class="mt-8 sm:mt-12">
10
+ <dl class="grid grid-cols-1 gap-4 sm:grid-cols-3">
11
+ <% maglev_section.blocks.each do |maglev_block| %>
12
+ <%= maglev_block.wrapper_tag.div class: 'flex flex-col px-4 py-8 text-center border border-gray-100 rounded-lg' do %>
13
+ <%= maglev_block.setting_tag :legend, html_tag: 'dt', class: 'order-last text-lg font-medium text-gray-500' %>
14
+
15
+ <%= maglev_block.setting_tag :number, html_tag: 'dd', class: 'text-4xl font-extrabold text-blue-600 md:text-5xl' %>
16
+ <% end %>
17
+ <% end %>
18
+ </dl>
19
+ </div>
20
+ </div>
21
+ <% end %>