@ably/ui 8.2.1-dev.f35b482 → 8.4.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.
- package/core/Footer.jsx +1 -3
- package/core/Meganav/component.css +4 -0
- package/core/Meganav/component.js +1 -1
- package/core/Meganav.jsx +42 -25
- package/core/MeganavBlogPostsList.jsx +2 -1
- package/core/MeganavContentCompany.jsx +5 -4
- package/core/MeganavContentDevelopers.jsx +3 -3
- package/core/MeganavContentPlatform.jsx +13 -9
- package/core/MeganavContentUseCases.jsx +4 -4
- package/core/MeganavControl/component.js +1 -1
- package/core/MeganavControl.jsx +3 -1
- package/core/MeganavItemsDesktop.jsx +7 -3
- package/core/MeganavItemsSignedIn.jsx +4 -1
- package/core/sprites.svg +9 -0
- package/package.json +1 -1
- package/src/core/Footer/component.html.erb +1 -1
- package/src/core/Footer/component.jsx +1 -6
- package/src/core/Meganav/component.css +4 -0
- package/src/core/MeganavBlogPostsList/component.html.erb +1 -1
- package/src/core/MeganavBlogPostsList/component.jsx +3 -1
- package/src/core/MeganavContentCompany/component.html.erb +4 -4
- package/src/core/MeganavContentCompany/component.jsx +3 -3
- package/src/core/MeganavContentDevelopers/component.html.erb +3 -3
- package/src/core/MeganavContentDevelopers/component.jsx +3 -3
- package/src/core/MeganavContentPlatform/component.html.erb +10 -10
- package/src/core/MeganavContentPlatform/component.jsx +16 -10
- package/src/core/MeganavContentUseCases/component.html.erb +4 -4
- package/src/core/MeganavContentUseCases/component.jsx +4 -4
- package/src/core/MeganavControl/component.html.erb +1 -1
- package/src/core/MeganavControl/component.js +9 -1
- package/src/core/MeganavControl/component.jsx +3 -2
- package/src/core/MeganavControl/component.rb +8 -2
- package/src/core/MeganavItemsDesktop/component.html.erb +2 -2
- package/src/core/MeganavItemsDesktop/component.jsx +3 -2
- package/src/core/MeganavItemsDesktop/component.rb +8 -0
- package/src/core/MeganavItemsSignedIn/component.html.erb +1 -1
- package/src/core/MeganavItemsSignedIn/component.jsx +1 -1
- package/src/core/icons/icon-gui-copy.svg +10 -0
- package/core/.DS_Store +0 -0
- package/core/MeganavContentWhyAbly/component.js +0 -6
- package/core/MeganavContentWhyAbly.jsx +0 -6
- package/core/fonts/.DS_Store +0 -0
- package/core/images/.DS_Store +0 -0
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep +0 -0
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
- package/src/.DS_Store +0 -0
- package/src/core/.DS_Store +0 -0
- package/src/core/fonts/.DS_Store +0 -0
- package/src/core/images/.DS_Store +0 -0
- package/src/reset/.DS_Store +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="hidden col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0" data-id="meganav-company-panel-blog-section">
|
|
2
2
|
<h3 class="ui-meganav-overline" id="meganav-company-panel-recent-blog-posts">Blog</h3>
|
|
3
3
|
<ul class="mb-8" aria-labelledby="meganav-company-panel-recent-blog-posts" data-id="meganav-company-panel-recent-blog-posts"></ul>
|
|
4
|
-
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/blog"))) do %>More from our Blog<% end %>
|
|
4
|
+
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/blog"), text_size: 'text-p3')) do %>More from our Blog<% end %>
|
|
5
5
|
</div>
|
|
@@ -20,7 +20,9 @@ const MeganavBlogPostsList = ({ recentBlogPosts, absUrl }) =>
|
|
|
20
20
|
))}
|
|
21
21
|
</ul>
|
|
22
22
|
|
|
23
|
-
<FeaturedLink url={absUrl("/blog")}
|
|
23
|
+
<FeaturedLink url={absUrl("/blog")} textSize="text-p3">
|
|
24
|
+
More from our Blog
|
|
25
|
+
</FeaturedLink>
|
|
24
26
|
</div>
|
|
25
27
|
) : null;
|
|
26
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<div class="flex">
|
|
1
|
+
<div class="flex max-w-screen-xl mx-auto">
|
|
2
2
|
<div class="ui-meganav-content-spacer"></div>
|
|
3
|
-
<section class="grid grid-cols-12 ui-grid-gap-x">
|
|
3
|
+
<section class="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
4
4
|
<div class="col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24">
|
|
5
5
|
<h3 class="ui-meganav-overline" id="meganav-company-panel-list-why-companies">Why companies choose Ably</h3>
|
|
6
6
|
<ul aria-labelledby="meganav-company-panel-list-why-companies">
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<%= render(AblyUi::Core::Icon.new(name: "icon-display-case-studies-col", size: "2.5rem")) %>
|
|
19
19
|
<div class="flex flex-col justify-center">
|
|
20
20
|
<p class="ui-meganav-media-heading">Case studies</p>
|
|
21
|
-
<p class="ui-meganav-media-copy">Discover how customers are
|
|
21
|
+
<p class="ui-meganav-media-copy">Discover how customers are benefiting from Ably.</p>
|
|
22
22
|
</div>
|
|
23
23
|
<% end %>
|
|
24
24
|
</li>
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<% end %>
|
|
56
56
|
</li>
|
|
57
57
|
<li>
|
|
58
|
-
<%= link_to abs_url("/
|
|
58
|
+
<%= link_to abs_url("/about"), class: "ui-meganav-media-with-image group" do %>
|
|
59
59
|
<%= render(AblyUi::Core::Icon.new(name: "icon-display-about-ably-col", size: "2.5rem")) %>
|
|
60
60
|
<div class="flex flex-col justify-center">
|
|
61
61
|
<p class="ui-meganav-media-heading">About Ably</p>
|
|
@@ -12,9 +12,9 @@ const MeganavContentCompany = ({ paths, absUrl }) => {
|
|
|
12
12
|
const BlogPostsList = ConnectStateWrapper(MeganavBlogPostsList, { recentBlogPosts: selectRecentBlogPosts });
|
|
13
13
|
|
|
14
14
|
return (
|
|
15
|
-
<div className="flex">
|
|
15
|
+
<div className="flex max-w-screen-xl mx-auto">
|
|
16
16
|
<div className="ui-meganav-content-spacer"></div>
|
|
17
|
-
<section className="grid grid-cols-12 ui-grid-gap-x">
|
|
17
|
+
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
18
18
|
<div className="col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24">
|
|
19
19
|
<h3 className="ui-meganav-overline" id="meganav-company-panel-list-why-companies">
|
|
20
20
|
Why companies choose Ably
|
|
@@ -34,7 +34,7 @@ const MeganavContentCompany = ({ paths, absUrl }) => {
|
|
|
34
34
|
<Icon name="icon-display-case-studies-col" size="2.5rem" />
|
|
35
35
|
<div className="flex flex-col justify-center">
|
|
36
36
|
<p className="ui-meganav-media-heading">Case studies</p>
|
|
37
|
-
<p className="ui-meganav-media-copy">Discover how customers are
|
|
37
|
+
<p className="ui-meganav-media-copy">Discover how customers are benefiting from Ably.</p>
|
|
38
38
|
</div>
|
|
39
39
|
</a>
|
|
40
40
|
</li>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<div class="flex">
|
|
1
|
+
<div class="flex max-w-screen-xl mx-auto">
|
|
2
2
|
<div class="ui-meganav-content-spacer"></div>
|
|
3
|
-
<section class="grid grid-cols-12 ui-grid-gap-x">
|
|
3
|
+
<section class="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
4
4
|
<div class="col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24">
|
|
5
5
|
<h3 class="ui-meganav-overline uppercase" id="meganav-developers-panel-explore">
|
|
6
6
|
Explore
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<%= render(AblyUi::Core::Icon.new(name: "icon-display-quickstart-guides-col", size: "2.5rem")) %>
|
|
30
30
|
<div class="flex flex-col justify-center">
|
|
31
31
|
<p class="ui-meganav-media-heading">Quickstart guides</p>
|
|
32
|
-
<p class="ui-meganav-media-copy">Documentation to help you get
|
|
32
|
+
<p class="ui-meganav-media-copy">Documentation to help you get started quickly.</p>
|
|
33
33
|
</div>
|
|
34
34
|
<% end %>
|
|
35
35
|
</li>
|
|
@@ -4,9 +4,9 @@ import T from "prop-types";
|
|
|
4
4
|
import Icon from "../Icon/component.jsx";
|
|
5
5
|
|
|
6
6
|
const MeganavContentDevelopers = ({ absUrl }) => (
|
|
7
|
-
<div className="flex">
|
|
7
|
+
<div className="flex max-w-screen-xl mx-auto">
|
|
8
8
|
<div className="ui-meganav-content-spacer"></div>
|
|
9
|
-
<section className="grid grid-cols-12 ui-grid-gap-x">
|
|
9
|
+
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
10
10
|
<div className="col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24">
|
|
11
11
|
<h3 className="ui-meganav-overline uppercase" id="meganav-developers-panel-explore">
|
|
12
12
|
Explore
|
|
@@ -35,7 +35,7 @@ const MeganavContentDevelopers = ({ absUrl }) => (
|
|
|
35
35
|
<Icon name="icon-display-quickstart-guides-col" size="2.5rem" />
|
|
36
36
|
<div className="flex flex-col justify-center">
|
|
37
37
|
<p className="ui-meganav-media-heading">Quickstart guides</p>
|
|
38
|
-
<p className="ui-meganav-media-copy">Documentation to help you get
|
|
38
|
+
<p className="ui-meganav-media-copy">Documentation to help you get started quickly.</p>
|
|
39
39
|
</div>
|
|
40
40
|
</a>
|
|
41
41
|
</li>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
<div class="flex">
|
|
1
|
+
<div class="flex max-w-screen-xl mx-auto">
|
|
2
2
|
<div class="ui-meganav-content-spacer bg-extra-light-grey"></div>
|
|
3
3
|
<section class="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
4
|
-
<div class="col-span-full md:col-span-4
|
|
4
|
+
<div class="col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey">
|
|
5
5
|
<div class="flex mb-20">
|
|
6
6
|
<%= image_tag(ably_stack_path, alt: "Ably homepage") %>
|
|
7
7
|
<h3 class="ui-meganav-overline ml-24">The Ably Platform</h3>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
<p class="text-p2 font-medium text-cool-black mb-
|
|
10
|
+
<p class="text-p2 font-medium text-cool-black mb-24" style="max-width: 330px">
|
|
11
11
|
Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything
|
|
12
12
|
realtime, and lets you focus on your code.
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
|
-
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/platform"))) do %>Explore how it works<% end %>
|
|
15
|
+
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/platform"), text_size: 'text-p2')) do %>Explore how it works<% end %>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
|
-
<div class="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
18
|
+
<div class="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
19
19
|
<h3 class="ui-meganav-overline" id="meganav-platform-panel-list-examples">Our Examples</h3>
|
|
20
|
-
<ul aria-labelledby="meganav-platform-panel-list-examples">
|
|
20
|
+
<ul class="mb-16" aria-labelledby="meganav-platform-panel-list-examples">
|
|
21
21
|
<li>
|
|
22
22
|
<%= link_to abs_url("/examples/avatar-stack"), class: "ui-meganav-media group" do %>
|
|
23
23
|
<p class="ui-meganav-media-heading">Avatar Stack</p>
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
</li>
|
|
57
57
|
</ul>
|
|
58
58
|
|
|
59
|
-
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/examples"))) do %>Explore all live examples<% end %>
|
|
59
|
+
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/examples"), text_size: 'text-p3')) do %>Explore all live examples<% end %>
|
|
60
60
|
</div>
|
|
61
61
|
|
|
62
|
-
<div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
62
|
+
<div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
63
63
|
<h3 class="ui-meganav-overline" id="meganav-platform-panel-list-our-technology">Our technology</h3>
|
|
64
|
-
<ul class="mb-
|
|
64
|
+
<ul class="mb-16" aria-labelledby="meganav-platform-panel-list-our-technology">
|
|
65
65
|
<li>
|
|
66
66
|
<%= link_to abs_url("/four-pillars-of-dependability#performance"), class: "ui-meganav-media group" do %>
|
|
67
67
|
<p class="ui-meganav-media-heading">Predictable performance</p>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
</li>
|
|
95
95
|
</ul>
|
|
96
96
|
|
|
97
|
-
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/four-pillars-of-dependability"))) do %>Explore Four Pillars of Dependability<% end %>
|
|
97
|
+
<%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/four-pillars-of-dependability"), text_size: 'text-p3')) do %>Explore Four Pillars of Dependability<% end %>
|
|
98
98
|
</div>
|
|
99
99
|
</section>
|
|
100
100
|
<div class="ui-meganav-content-spacer"></div>
|
|
@@ -4,27 +4,29 @@ import T from "prop-types";
|
|
|
4
4
|
import FeaturedLink from "../FeaturedLink/component.jsx";
|
|
5
5
|
|
|
6
6
|
const MeganavContentPlatform = ({ paths, absUrl }) => (
|
|
7
|
-
<div className="flex">
|
|
7
|
+
<div className="flex max-w-screen-xl mx-auto">
|
|
8
8
|
<div className="ui-meganav-content-spacer bg-extra-light-grey"></div>
|
|
9
9
|
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
10
|
-
<div className="col-span-full md:col-span-4
|
|
10
|
+
<div className="col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey">
|
|
11
11
|
<div className="flex mb-20">
|
|
12
12
|
<img src={paths.ablyStack} alt="Ably homepage" />
|
|
13
13
|
<h3 className="ui-meganav-overline ml-24">The Ably Platform</h3>
|
|
14
14
|
</div>
|
|
15
|
-
<p className="text-p2 font-medium text-cool-black mb-
|
|
15
|
+
<p className="text-p2 font-medium text-cool-black mb-24" style={{ maxWidth: "330px" }}>
|
|
16
16
|
Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything
|
|
17
17
|
realtime, and lets you focus on your code.
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
|
-
<FeaturedLink url={absUrl("/platform")}
|
|
20
|
+
<FeaturedLink url={absUrl("/platform")} textSize="text-p2">
|
|
21
|
+
Explore how it works
|
|
22
|
+
</FeaturedLink>
|
|
21
23
|
</div>
|
|
22
24
|
|
|
23
|
-
<div className="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
25
|
+
<div className="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
24
26
|
<h3 className="ui-meganav-overline" id="meganav-platform-panel-list-examples">
|
|
25
27
|
Our Examples
|
|
26
28
|
</h3>
|
|
27
|
-
<ul aria-labelledby="meganav-platform-panel-list-examples">
|
|
29
|
+
<ul className="mb-16" aria-labelledby="meganav-platform-panel-list-examples">
|
|
28
30
|
<li>
|
|
29
31
|
<a href={absUrl("/examples/avatar-stack")} className="group ui-meganav-media">
|
|
30
32
|
<p className="ui-meganav-media-heading">Avatar Stack</p>
|
|
@@ -62,14 +64,16 @@ const MeganavContentPlatform = ({ paths, absUrl }) => (
|
|
|
62
64
|
</a>
|
|
63
65
|
</li>
|
|
64
66
|
</ul>
|
|
65
|
-
<FeaturedLink url={absUrl("/examples")}
|
|
67
|
+
<FeaturedLink url={absUrl("/examples")} textSize="text-p3">
|
|
68
|
+
Explore all live examples
|
|
69
|
+
</FeaturedLink>
|
|
66
70
|
</div>
|
|
67
71
|
|
|
68
|
-
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
72
|
+
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
69
73
|
<h3 className="ui-meganav-overline" id="meganav-platform-panel-list-our-technology">
|
|
70
74
|
Our technology
|
|
71
75
|
</h3>
|
|
72
|
-
<ul className="mb-
|
|
76
|
+
<ul className="mb-16" aria-labelledby="meganav-platform-panel-list-our-technology">
|
|
73
77
|
<li>
|
|
74
78
|
<a href={absUrl("/four-pillars-of-dependability#performance")} className="ui-meganav-media group">
|
|
75
79
|
<p className="ui-meganav-media-heading">Predictable performance</p>
|
|
@@ -102,7 +106,9 @@ const MeganavContentPlatform = ({ paths, absUrl }) => (
|
|
|
102
106
|
</li>
|
|
103
107
|
</ul>
|
|
104
108
|
|
|
105
|
-
<FeaturedLink url={absUrl("/four-pillars-of-dependability")}
|
|
109
|
+
<FeaturedLink url={absUrl("/four-pillars-of-dependability")} textSize="text-p3">
|
|
110
|
+
Explore Four Pillars of Dependability
|
|
111
|
+
</FeaturedLink>
|
|
106
112
|
</div>
|
|
107
113
|
</section>
|
|
108
114
|
<div className="ui-meganav-content-spacer"></div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
<div class="flex">
|
|
1
|
+
<div class="flex max-w-screen-xl mx-auto">
|
|
2
2
|
<div class="ui-meganav-content-spacer bg-extra-light-grey"></div>
|
|
3
3
|
<section class="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
4
|
-
<div class="col-span-full md:col-span-4
|
|
4
|
+
<div class="col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey">
|
|
5
5
|
<h3 class="ui-meganav-overline" id="meganav-use-cases-panel-use-cases">
|
|
6
6
|
Use cases
|
|
7
7
|
</h3>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
</ul>
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
|
-
<div class="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
30
|
+
<div class="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
31
31
|
<h3 class="ui-meganav-overline" id="meganav-use-cases-panel-industry">
|
|
32
32
|
Industry
|
|
33
33
|
</h3>
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
</ul>
|
|
90
90
|
</div>
|
|
91
91
|
|
|
92
|
-
<div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
92
|
+
<div class="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
93
93
|
<h3 class="ui-meganav-overline" id="meganav-use-cases-panel-solutions">
|
|
94
94
|
Solutions
|
|
95
95
|
</h3>
|
|
@@ -4,10 +4,10 @@ import T from "prop-types";
|
|
|
4
4
|
import Icon from "../Icon/component.jsx";
|
|
5
5
|
|
|
6
6
|
const MeganavContentUseCases = ({ absUrl }) => (
|
|
7
|
-
<div className="flex">
|
|
7
|
+
<div className="flex max-w-screen-xl mx-auto">
|
|
8
8
|
<div className="ui-meganav-content-spacer bg-extra-light-grey"></div>
|
|
9
9
|
<section className="grid grid-cols-12 ui-grid-gap-x w-full">
|
|
10
|
-
<div className="col-span-full md:col-span-4
|
|
10
|
+
<div className="col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey">
|
|
11
11
|
<h3 className="ui-meganav-overline" id="meganav-use-cases-panel-use-cases">
|
|
12
12
|
Use cases
|
|
13
13
|
</h3>
|
|
@@ -33,7 +33,7 @@ const MeganavContentUseCases = ({ absUrl }) => (
|
|
|
33
33
|
</ul>
|
|
34
34
|
</div>
|
|
35
35
|
|
|
36
|
-
<div className="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
36
|
+
<div className="col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
37
37
|
<h3 className="ui-meganav-overline" id="meganav-use-cases-panel-industry">
|
|
38
38
|
Industry
|
|
39
39
|
</h3>
|
|
@@ -95,7 +95,7 @@ const MeganavContentUseCases = ({ absUrl }) => (
|
|
|
95
95
|
</ul>
|
|
96
96
|
</div>
|
|
97
97
|
|
|
98
|
-
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
|
|
98
|
+
<div className="col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
|
|
99
99
|
<h3 className="ui-meganav-overline" id="meganav-use-cases-panel-solutions">
|
|
100
100
|
Solutions
|
|
101
101
|
</h3>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<%= button_tag(type: "button",
|
|
2
2
|
class: ["ui-meganav-link", "h-64", "flex", "items-center", "group", theme(:text_color), additional_css],
|
|
3
3
|
data: { id: "meganav-control" },
|
|
4
|
-
aria: { expanded: false, controls: aria_controls, label: "Show #{
|
|
4
|
+
aria: { expanded: false, controls: aria_controls, label: "Show #{aria_label} panel" }) do -%>
|
|
5
5
|
<%= content -%><%= render(AblyUi::Core::Icon.new(name: "icon-gui-disclosure-arrow", size: "1.5rem", color: "text-cool-black", additional_css: "transform rotate-90 group-hover:text-gui-hover group-focus:text-gui-focus")) %>
|
|
6
6
|
<% end %>
|
|
@@ -30,6 +30,7 @@ const MeganavControl = () => {
|
|
|
30
30
|
const classes = ["invisible", "visible"];
|
|
31
31
|
panel.classList.replace(...(open ? classes : classes.reverse()));
|
|
32
32
|
control.setAttribute("aria-expanded", open);
|
|
33
|
+
control.dataset.hover = open;
|
|
33
34
|
}
|
|
34
35
|
};
|
|
35
36
|
|
|
@@ -50,7 +51,10 @@ const MeganavControl = () => {
|
|
|
50
51
|
|
|
51
52
|
const ariaExpanded = control.getAttribute("aria-expanded");
|
|
52
53
|
|
|
53
|
-
if
|
|
54
|
+
// Prevent closing of the panel if it was already opened by hovering
|
|
55
|
+
const openedByHover = control.dataset.hover === "true";
|
|
56
|
+
|
|
57
|
+
if (ariaExpanded === "true" && !openedByHover) {
|
|
54
58
|
control.setAttribute("aria-expanded", false);
|
|
55
59
|
panel.classList.replace("visible", "invisible");
|
|
56
60
|
} else {
|
|
@@ -58,6 +62,10 @@ const MeganavControl = () => {
|
|
|
58
62
|
panel.classList.replace("invisible", "visible");
|
|
59
63
|
}
|
|
60
64
|
|
|
65
|
+
if (openedByHover) {
|
|
66
|
+
control.dataset.hover = false;
|
|
67
|
+
}
|
|
68
|
+
|
|
61
69
|
if (isSearchControl(control)) {
|
|
62
70
|
const searchInput = queryId("meganav-search-input", panel);
|
|
63
71
|
if (!searchInput) return;
|
|
@@ -3,14 +3,14 @@ import T from "prop-types";
|
|
|
3
3
|
|
|
4
4
|
import Icon from "../Icon/component.jsx";
|
|
5
5
|
|
|
6
|
-
const MeganavControl = ({ ariaControls, children, theme, additionalCSS }) => (
|
|
6
|
+
const MeganavControl = ({ ariaControls, ariaLabel, children, theme, additionalCSS }) => (
|
|
7
7
|
<button
|
|
8
8
|
type="button"
|
|
9
9
|
data-id="meganav-control"
|
|
10
10
|
className={`ui-meganav-link h-64 flex items-center group ${additionalCSS} ${theme.textColor}`}
|
|
11
11
|
aria-expanded="false"
|
|
12
12
|
aria-controls={ariaControls}
|
|
13
|
-
aria-label={`Show ${
|
|
13
|
+
aria-label={`Show ${ariaLabel} panel`}
|
|
14
14
|
>
|
|
15
15
|
{children}
|
|
16
16
|
<Icon
|
|
@@ -24,6 +24,7 @@ const MeganavControl = ({ ariaControls, children, theme, additionalCSS }) => (
|
|
|
24
24
|
|
|
25
25
|
MeganavControl.propTypes = {
|
|
26
26
|
ariaControls: T.string,
|
|
27
|
+
ariaLabel: T.string,
|
|
27
28
|
children: T.node,
|
|
28
29
|
theme: T.object,
|
|
29
30
|
additionalCSS: T.string,
|
|
@@ -2,10 +2,16 @@ module AblyUi
|
|
|
2
2
|
module Core
|
|
3
3
|
class MeganavControl < ViewComponent::Base
|
|
4
4
|
include AblyUi::Core::MeganavConfig
|
|
5
|
-
attr_reader :aria_controls, :additional_css
|
|
5
|
+
attr_reader :aria_controls, :aria_label, :additional_css
|
|
6
6
|
|
|
7
|
-
def initialize(
|
|
7
|
+
def initialize(
|
|
8
|
+
aria_controls:,
|
|
9
|
+
aria_label:,
|
|
10
|
+
theme_name:,
|
|
11
|
+
additional_css: ''
|
|
12
|
+
)
|
|
8
13
|
@aria_controls = aria_controls
|
|
14
|
+
@aria_label = aria_label
|
|
9
15
|
@additional_css = additional_css
|
|
10
16
|
theme_setup(theme_name)
|
|
11
17
|
end
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<ul class="hidden md:flex" data-id="meganav-items-desktop">
|
|
2
2
|
<% panels.each do |panel| %>
|
|
3
3
|
<li class="ui-meganav-item">
|
|
4
|
-
<%= render(AblyUi::Core::MeganavControl.new(aria_controls: panel[:id], theme_name: @theme_name)) do %>
|
|
4
|
+
<%= render(AblyUi::Core::MeganavControl.new(aria_controls: panel[:id], aria_label: panel[:label], theme_name: @theme_name)) do %>
|
|
5
5
|
<span class="hidden lg:inline"><%= panel[:label] %></span>
|
|
6
6
|
<span class="lg:hidden"><%= panel[:short_label] %></span>
|
|
7
7
|
<% end %>
|
|
8
8
|
|
|
9
|
-
<%= content_tag :div, class:
|
|
9
|
+
<%= content_tag :div, class: "ui-meganav-panel invisible #{bg_css(panel[:id])}", data: { id: "meganav-panel" }, id: panel[:id] do %>
|
|
10
10
|
<%= render("AblyUi::Core::#{panel[:component]}".constantize.new(url_base: url_base)) %>
|
|
11
11
|
<% end %>
|
|
12
12
|
</li>
|
|
@@ -8,15 +8,16 @@ const MeganavDesktopItems = ({ panels, paths, theme, absUrl }) => (
|
|
|
8
8
|
<ul className="hidden md:flex" data-id="meganav-items-desktop">
|
|
9
9
|
{MeganavData.panels.map((panel) => {
|
|
10
10
|
const PanelComponent = panels[panel.component];
|
|
11
|
+
const bgCSS = ["platform-panel", "use-cases-panel"].includes(panel.id) ? "ui-meganav-panel-split-bg" : "";
|
|
11
12
|
|
|
12
13
|
return (
|
|
13
14
|
<li className="ui-meganav-item" key={panel.id}>
|
|
14
|
-
<MeganavControl theme={theme} ariaControls={panel.id}>
|
|
15
|
+
<MeganavControl theme={theme} ariaControls={panel.id} ariaLabel={panel.label}>
|
|
15
16
|
<span className="hidden lg:inline">{panel.label}</span>
|
|
16
17
|
<span className="lg:hidden">{panel.shortLabel}</span>
|
|
17
18
|
</MeganavControl>
|
|
18
19
|
|
|
19
|
-
<div className=
|
|
20
|
+
<div className={`ui-meganav-panel invisible ${bgCSS}`} id={panel.id} data-id="meganav-panel">
|
|
20
21
|
<PanelComponent paths={paths} absUrl={absUrl} />
|
|
21
22
|
</div>
|
|
22
23
|
</li>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<ul class="hidden md:flex items-center">
|
|
2
2
|
<li class="ui-meganav-item relative">
|
|
3
|
-
<%= render(AblyUi::Core::MeganavControl.new(aria_controls: "account-panel", theme_name: @theme_name, additional_css: "mr-0")) do %>
|
|
3
|
+
<%= render(AblyUi::Core::MeganavControl.new(aria_controls: "account-panel", aria_label: "Account", theme_name: @theme_name, additional_css: "mr-0")) do %>
|
|
4
4
|
<%= account_name %>
|
|
5
5
|
<% end %>
|
|
6
6
|
|
|
@@ -17,7 +17,7 @@ const MeganavItemsSignedIn = ({ sessionState, theme, absUrl }) => {
|
|
|
17
17
|
return (
|
|
18
18
|
<ul className="hidden md:flex items-center">
|
|
19
19
|
<li className="ui-meganav-item relative">
|
|
20
|
-
<MeganavControl ariaControls="account-panel" theme={theme} additionalCSS="mr-0">
|
|
20
|
+
<MeganavControl ariaControls="account-panel" ariaLabel="Account" theme={theme} additionalCSS="mr-0">
|
|
21
21
|
{accountName}
|
|
22
22
|
</MeganavControl>
|
|
23
23
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_222_232)">
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.66634 0.835938C1.65382 0.835938 0.833008 1.65675 0.833008 2.66927V9.33594C0.833008 10.3485 1.65382 11.1693 2.66634 11.1693H3.33301C3.60915 11.1693 3.83301 10.9454 3.83301 10.6693C3.83301 10.3931 3.60915 10.1693 3.33301 10.1693H2.66634C2.2061 10.1693 1.83301 9.79618 1.83301 9.33594V2.66927C1.83301 2.20903 2.2061 1.83594 2.66634 1.83594H9.33301C9.79325 1.83594 10.1663 2.20903 10.1663 2.66927V3.33594C10.1663 3.61208 10.3902 3.83594 10.6663 3.83594C10.9425 3.83594 11.1663 3.61208 11.1663 3.33594V2.66927C11.1663 1.65675 10.3455 0.835938 9.33301 0.835938H2.66634ZM6.66634 4.83594C5.65382 4.83594 4.83301 5.65675 4.83301 6.66927V13.3359C4.83301 14.3485 5.65382 15.1693 6.66634 15.1693H13.333C14.3455 15.1693 15.1663 14.3485 15.1663 13.3359V6.66927C15.1663 5.65675 14.3455 4.83594 13.333 4.83594H6.66634ZM5.83301 6.66927C5.83301 6.20903 6.2061 5.83594 6.66634 5.83594H13.333C13.7932 5.83594 14.1663 6.20903 14.1663 6.66927V13.3359C14.1663 13.7962 13.7932 14.1693 13.333 14.1693H6.66634C6.2061 14.1693 5.83301 13.7962 5.83301 13.3359V6.66927Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs>
|
|
6
|
+
<clipPath id="clip0_222_232">
|
|
7
|
+
<rect width="16" height="16" fill="white"/>
|
|
8
|
+
</clipPath>
|
|
9
|
+
</defs>
|
|
10
|
+
</svg>
|
package/core/.DS_Store
DELETED
|
Binary file
|
package/core/fonts/.DS_Store
DELETED
|
Binary file
|
package/core/images/.DS_Store
DELETED
|
Binary file
|
package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep
DELETED
|
File without changes
|
package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep
DELETED
|
File without changes
|
package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep
DELETED
|
File without changes
|
package/src/.DS_Store
DELETED
|
Binary file
|
package/src/core/.DS_Store
DELETED
|
Binary file
|
package/src/core/fonts/.DS_Store
DELETED
|
Binary file
|
|
Binary file
|
package/src/reset/.DS_Store
DELETED
|
Binary file
|