@ably/ui 11.7.1-dev.d65c98c → 12.0.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/ContactFooter.jsx +8 -8
- package/core/DropdownMenu.jsx +1 -1
- package/core/FeaturedLink/component.js +1 -1
- package/core/FeaturedLink.jsx +8 -4
- package/core/Flash/component.css +0 -4
- package/core/Flash.jsx +1 -1
- package/core/Footer.jsx +2 -2
- package/core/Meganav/component.css +1 -1
- package/core/Meganav.jsx +12 -8
- package/core/MeganavBlogPostsList.jsx +8 -4
- package/core/MeganavContentCompany.jsx +8 -4
- package/core/MeganavContentProducts.jsx +9 -5
- package/core/MeganavItemsMobile.jsx +8 -4
- package/core/MeganavItemsSignedIn.jsx +8 -4
- package/core/MeganavSearch.jsx +8 -4
- package/core/MeganavSearchPanel.jsx +8 -4
- package/core/MeganavSearchSuggestions.jsx +8 -4
- package/core/Notice/component.js +1 -1
- package/core/Notice.jsx +3 -3
- package/core/Uptime/component.css +1 -1
- package/core/Uptime.jsx +9 -5
- package/core/styles.css +20 -37
- package/package.json +1 -1
- package/src/core/ContactFooter/component.html.erb +8 -8
- package/src/core/ContactFooter/component.jsx +8 -8
- package/src/core/DropdownMenu/component.jsx +1 -1
- package/src/core/FeatureFooter/component.html.erb +6 -6
- package/src/core/FeaturedLink/component.html.erb +3 -3
- package/src/core/FeaturedLink/component.js +0 -1
- package/src/core/FeaturedLink/component.jsx +27 -10
- package/src/core/Flash/component.css +0 -4
- package/src/core/Flash/component.jsx +1 -1
- package/src/core/Footer/component.html.erb +2 -2
- package/src/core/Footer/component.jsx +2 -2
- package/src/core/Meganav/component.css +1 -1
- package/src/core/MeganavContentProducts/component.html.erb +1 -1
- package/src/core/MeganavContentProducts/component.jsx +1 -1
- package/src/core/Notice/component.html.erb +2 -2
- package/src/core/Notice/component.jsx +2 -2
- package/src/core/Showcase/component.html.erb +7 -7
- package/src/core/Uptime/component.css +1 -1
- package/src/core/Uptime/component.jsx +1 -4
- package/src/core/styles/text.css +19 -36
- package/src/core/styles.components.css +1 -1
- package/tailwind.config.js +2 -2
- package/core/FeaturedLink/component.css +0 -7
- package/src/core/FeaturedLink/component.css +0 -6
package/core/Notice.jsx
CHANGED
|
@@ -325,7 +325,7 @@ var Flash = function Flash(_ref) {
|
|
|
325
325
|
size: "1.5rem",
|
|
326
326
|
additionalCSS: "mr-16 self-baseline"
|
|
327
327
|
}), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
|
|
328
|
-
className: "ui-
|
|
328
|
+
className: "ui-text-p1 mr-16 ".concat(FLASH_TEXT_COLOR[type]),
|
|
329
329
|
dangerouslySetInnerHTML: {
|
|
330
330
|
__html: safeContent
|
|
331
331
|
}
|
|
@@ -822,7 +822,7 @@ var Icon_component = __webpack_require__(9008);
|
|
|
822
822
|
;// CONCATENATED MODULE: ./src/core/Notice/component.jsx
|
|
823
823
|
|
|
824
824
|
|
|
825
|
-
var contentWrapperClasses = "
|
|
825
|
+
var contentWrapperClasses = "w-full pr-8 ui-text-p3 self-center";
|
|
826
826
|
|
|
827
827
|
|
|
828
828
|
|
|
@@ -887,7 +887,7 @@ var component_Notice = function Notice(_ref2) {
|
|
|
887
887
|
}, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
|
|
888
888
|
name: "icon-gui-close",
|
|
889
889
|
size: "1.25rem",
|
|
890
|
-
color: "text-
|
|
890
|
+
color: "text-cool-black"
|
|
891
891
|
}))));
|
|
892
892
|
};
|
|
893
893
|
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
.ui-uptime-key {
|
|
87
87
|
@apply block mt-16 mr-20 bg-transparent;
|
|
88
88
|
@apply sm:inline-block sm:mt-0;
|
|
89
|
-
@apply font-
|
|
89
|
+
@apply font-medium text-p2 text-white block sm:inline-flex items-center;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
.ui-uptime-key:first-child {
|
package/core/Uptime.jsx
CHANGED
|
@@ -37,10 +37,12 @@ var FeaturedLink = function FeaturedLink(_ref) {
|
|
|
37
37
|
flush = _ref$flush === void 0 ? false : _ref$flush,
|
|
38
38
|
_ref$reverse = _ref.reverse,
|
|
39
39
|
reverse = _ref$reverse === void 0 ? false : _ref$reverse,
|
|
40
|
+
_ref$additionalCSS = _ref.additionalCSS,
|
|
41
|
+
additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
|
|
40
42
|
children = _ref.children;
|
|
41
43
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
42
44
|
href: url,
|
|
43
|
-
className: "
|
|
45
|
+
className: "font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-".concat(textSize, " ").concat(flush ? "" : "py-8", " ").concat(additionalCSS),
|
|
44
46
|
style: {
|
|
45
47
|
"--featured-link-icon-size": "var(".concat(textSize.replace("text", "--fs"), ")")
|
|
46
48
|
}
|
|
@@ -48,12 +50,12 @@ var FeaturedLink = function FeaturedLink(_ref) {
|
|
|
48
50
|
name: "icon-gui-link-arrow",
|
|
49
51
|
size: "calc(var(--featured-link-icon-size) * 1.25)",
|
|
50
52
|
color: iconColor,
|
|
51
|
-
additionalCSS: "
|
|
53
|
+
additionalCSS: "align-middle mr-8 relative -top-1 -right-4 transition-all group-hover:right-0 transform rotate-180"
|
|
52
54
|
}), children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
|
|
53
55
|
name: "icon-gui-link-arrow",
|
|
54
56
|
size: "calc(var(--featured-link-icon-size) * 1.25)",
|
|
55
57
|
color: iconColor,
|
|
56
|
-
additionalCSS: "
|
|
58
|
+
additionalCSS: "align-middle ml-8 relative -top-1 -left-4 transition-all group-hover:left-0"
|
|
57
59
|
})));
|
|
58
60
|
};
|
|
59
61
|
|
|
@@ -62,7 +64,9 @@ FeaturedLink.propTypes = {
|
|
|
62
64
|
children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
|
|
63
65
|
textSize: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
64
66
|
iconColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
65
|
-
flush: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
|
|
67
|
+
flush: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
|
|
68
|
+
reverse: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
|
|
69
|
+
additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
66
70
|
};
|
|
67
71
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FeaturedLink);
|
|
68
72
|
|
|
@@ -817,7 +821,7 @@ function Uptime(_ref8) {
|
|
|
817
821
|
|
|
818
822
|
if (data && data.error) {
|
|
819
823
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", {
|
|
820
|
-
className: "flex sm:flex-row justify-center items-center p-24 border rounded
|
|
824
|
+
className: "flex sm:flex-row justify-center items-center p-24 border rounded ui-text-p2 ".concat(themes[theme].text),
|
|
821
825
|
"data-id": "uptime-error"
|
|
822
826
|
}, "Sorry, we can\u2019t retrieve uptime data right now.");
|
|
823
827
|
}
|
package/core/styles.css
CHANGED
|
@@ -525,25 +525,32 @@
|
|
|
525
525
|
}
|
|
526
526
|
|
|
527
527
|
.ui-text-code {
|
|
528
|
-
@apply font-mono font-
|
|
528
|
+
@apply font-mono font-normal text-code;
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
.ui-text-code2 {
|
|
532
|
-
@apply font-mono font-
|
|
532
|
+
@apply font-mono font-normal text-code2;
|
|
533
533
|
}
|
|
534
534
|
|
|
535
535
|
.ui-text-code-inline {
|
|
536
|
-
@apply font-mono font-
|
|
536
|
+
@apply font-mono font-normal text-code text-charcoal-grey bg-light-grey p-inline-code rounded-sm mx-1;
|
|
537
537
|
}
|
|
538
538
|
|
|
539
539
|
.ui-unordered-list {
|
|
540
|
-
@apply text-p1 font-medium text-
|
|
541
|
-
@apply
|
|
540
|
+
@apply text-p1 font-medium text-charcoal-grey;
|
|
541
|
+
@apply ml-32 my-16;
|
|
542
|
+
@apply list-disc;
|
|
542
543
|
}
|
|
543
544
|
|
|
544
545
|
.ui-ordered-list {
|
|
545
546
|
@apply text-p1 font-medium text-charcoal-grey;
|
|
546
|
-
@apply ml-32 my-16
|
|
547
|
+
@apply ml-32 my-16;
|
|
548
|
+
@apply list-decimal;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
.ui-ordered-list li,
|
|
552
|
+
.ui-unordered-list li {
|
|
553
|
+
@apply mb-8;
|
|
547
554
|
}
|
|
548
555
|
|
|
549
556
|
.ui-unordered-list li > *:last-of-type:not(ul):not(ol),
|
|
@@ -552,11 +559,11 @@
|
|
|
552
559
|
}
|
|
553
560
|
|
|
554
561
|
.ui-unordered-list ul {
|
|
555
|
-
@apply ml-24
|
|
562
|
+
@apply ml-24 my-8 list-circle;
|
|
556
563
|
}
|
|
557
564
|
|
|
558
565
|
.ui-ordered-list ol {
|
|
559
|
-
@apply ml-24
|
|
566
|
+
@apply ml-24 my-16 list-decimal;
|
|
560
567
|
}
|
|
561
568
|
|
|
562
569
|
.ui-unordered-list ul ul {
|
|
@@ -567,34 +574,6 @@
|
|
|
567
574
|
@apply my-8;
|
|
568
575
|
}
|
|
569
576
|
|
|
570
|
-
.ui-ordered-list li,
|
|
571
|
-
.ui-unordered-list li {
|
|
572
|
-
@apply font-medium font-sans tracking-widen-0;
|
|
573
|
-
line-height: var(--lh-extra-relaxed);
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
.ui-unordered-list-with-emphasis {
|
|
577
|
-
@apply text-p1 font-medium text-cool-black;
|
|
578
|
-
@apply list-disc ml-32 mt-32 -mb-12;
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
.ui-unordered-list-with-emphasis li div {
|
|
582
|
-
@apply relative -top-12;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
.ui-unordered-list-with-emphasis li div > strong {
|
|
586
|
-
@apply block;
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
.ui-unordered-list-with-emphasis ul {
|
|
590
|
-
margin-top: calc(var(--spacing-16) + var(--spacing-8));
|
|
591
|
-
@apply ml-24 list-circle;
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
.ui-unordered-list-with-emphasis ul ul {
|
|
595
|
-
@apply list-square;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
577
|
.ui-link {
|
|
599
578
|
@apply text-gui-default;
|
|
600
579
|
@apply hover:text-gui-hover active:text-gui-active disabled:text-gui-unavailable;
|
|
@@ -607,6 +586,10 @@
|
|
|
607
586
|
@apply focus:text-charcoal-grey focus:outline-gui-focus-neutral;
|
|
608
587
|
@apply underline;
|
|
609
588
|
}
|
|
589
|
+
|
|
590
|
+
.ui-figcaption {
|
|
591
|
+
@apply font-mono text-p3 text-neutral-800;
|
|
592
|
+
}
|
|
610
593
|
}
|
|
611
594
|
@layer components {
|
|
612
595
|
.ui-checkbox-p1 {
|
|
@@ -680,7 +663,7 @@
|
|
|
680
663
|
}
|
|
681
664
|
@layer components {
|
|
682
665
|
.ui-input {
|
|
683
|
-
@apply text-p2 font-
|
|
666
|
+
@apply text-p2 font-medium bg-light-grey rounded p-input w-full leading-none appearance-none border border-mid-grey transition-input;
|
|
684
667
|
@apply hover:bg-white hover:shadow-input hover:border-transparent;
|
|
685
668
|
@apply focus:bg-white focus:shadow-input focus:border-transparent focus:outline-gui-focus;
|
|
686
669
|
@apply max-w-screen-sm;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ably/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Home of the Ably design system library ([design.ably.com](https://design.ably.com)). It provides a showcase, development/test environment and a publishing pipeline for different distributables.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<div class="ui-contact-footer-box">
|
|
4
4
|
<%= render(AblyUi::Core::Icon.new(name: "icon-display-live-chat", size: "3rem", additional_css: "block mb-16")) %>
|
|
5
5
|
<div>
|
|
6
|
-
<div class="text-h3 mb-24">Live Chat</div>
|
|
7
|
-
<p class="text-p1
|
|
6
|
+
<div class="ui-text-h3 mb-24">Live Chat</div>
|
|
7
|
+
<p class="ui-text-p1">Reach out team of experts over chat powered by Ably.</p>
|
|
8
8
|
</div>
|
|
9
9
|
<%= tag.button type: "button", class: "ui-btn-secondary self-start mt-16", data: { id: "open-chat-widget", enabled_label: "Start a live chat", disabled_label: "Live chat unavailable" }, disabled: true do %>
|
|
10
10
|
Live chat unavailable
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
<div class="ui-contact-footer-box">
|
|
14
14
|
<%= render(AblyUi::Core::Icon.new(name: "icon-display-call-mobile", size: "3rem", additional_css: "block mb-16")) %>
|
|
15
15
|
<div class="flex-grow">
|
|
16
|
-
<div class="text-h3 mb-24">Call us</div>
|
|
17
|
-
<p class="text-p1
|
|
18
|
-
<span class="block"><strong class="
|
|
19
|
-
<span class="block"><strong class="
|
|
16
|
+
<div class="ui-text-h3 mb-24">Call us</div>
|
|
17
|
+
<p class="ui-text-p1">
|
|
18
|
+
<span class="block"><strong class="font-bold">+1 877 434 5287</strong> (USA, toll free) </span>
|
|
19
|
+
<span class="block"><strong class="font-bold">+44 20 3318 4689</strong> (UK) </span>
|
|
20
20
|
</p>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
23
23
|
<div class="ui-contact-footer-box">
|
|
24
24
|
<%= render(AblyUi::Core::Icon.new(name: "icon-display-tech-account-comms", size: "3rem", additional_css: "block mb-16")) %>
|
|
25
25
|
<div>
|
|
26
|
-
<div class="text-h3 mb-24">Technical and account support</div>
|
|
27
|
-
<p class="text-p1
|
|
26
|
+
<div class="ui-text-h3 mb-24">Technical and account support</div>
|
|
27
|
+
<p class="ui-text-p1">We're standing by to help with any questions or code.</p>
|
|
28
28
|
</div>
|
|
29
29
|
<%= link_to 'Get support now', abs_url("/support"), class: "ui-btn-secondary self-start p-btn mt-16" %>
|
|
30
30
|
</div>
|
|
@@ -16,8 +16,8 @@ export default function ContactFooter({ urlBase }) {
|
|
|
16
16
|
<div className="ui-contact-footer-box">
|
|
17
17
|
<Icon name="icon-display-live-chat" size="3rem" additionalCSS="block mb-16" />
|
|
18
18
|
<div>
|
|
19
|
-
<div className="text-h3 mb-24">Live Chat</div>
|
|
20
|
-
<p className="text-p1
|
|
19
|
+
<div className="ui-text-h3 mb-24">Live Chat</div>
|
|
20
|
+
<p className="ui-text-p1">Reach out team of experts over chat powered by Ably.</p>
|
|
21
21
|
</div>
|
|
22
22
|
<button
|
|
23
23
|
type="button"
|
|
@@ -34,13 +34,13 @@ export default function ContactFooter({ urlBase }) {
|
|
|
34
34
|
<div className="ui-contact-footer-box">
|
|
35
35
|
<Icon name="icon-display-call-mobile" size="3rem" additionalCSS="block mb-16" />
|
|
36
36
|
<div className="flex-grow">
|
|
37
|
-
<div className="text-h3 mb-24">Call us</div>
|
|
38
|
-
<p className="text-p1
|
|
37
|
+
<div className="ui-text-h3 mb-24">Call us</div>
|
|
38
|
+
<p className="ui-text-p1">
|
|
39
39
|
<span className="block">
|
|
40
|
-
<strong className="
|
|
40
|
+
<strong className="font-bold">+1 877 434 5287</strong> (USA, toll free)
|
|
41
41
|
</span>
|
|
42
42
|
<span className="block">
|
|
43
|
-
<strong className="
|
|
43
|
+
<strong className="font-bold">+44 20 3318 4689</strong> (UK)
|
|
44
44
|
</span>
|
|
45
45
|
</p>
|
|
46
46
|
</div>
|
|
@@ -49,8 +49,8 @@ export default function ContactFooter({ urlBase }) {
|
|
|
49
49
|
<div className="ui-contact-footer-box">
|
|
50
50
|
<Icon name="icon-display-tech-account-comms" size="3rem" additionalCSS="block mb-16" />
|
|
51
51
|
<div>
|
|
52
|
-
<div className="text-h3 mb-24">Technical and account support</div>
|
|
53
|
-
<p className="text-p1
|
|
52
|
+
<div className="ui-text-h3 mb-24">Technical and account support</div>
|
|
53
|
+
<p className="ui-text-p1">We're standing by to help with any questions or code.</p>
|
|
54
54
|
</div>
|
|
55
55
|
<a className="ui-btn-secondary self-start p-btn mt-16" href={absUrl("/support")}>
|
|
56
56
|
Get support now
|
|
@@ -92,7 +92,7 @@ const Link = ({ url, title, subtitle, iconName, children }) => {
|
|
|
92
92
|
{title}
|
|
93
93
|
{iconName ? <Icon name={iconName} size="1rem" color="text-cool-black" additionalCSS="align-middle ml-8 relative -top-1 -left-4" /> : null}
|
|
94
94
|
</p>
|
|
95
|
-
{subtitle ? <p className="text-p3 mb-16
|
|
95
|
+
{subtitle ? <p className="ui-text-p3 mb-16">{subtitle}</p> : null}
|
|
96
96
|
{children}
|
|
97
97
|
</a>
|
|
98
98
|
);
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
<div class="p-24 sm:p-32 flex-1 h-full">
|
|
7
7
|
<div class="flex flex-col h-full space-between">
|
|
8
8
|
<span class="flex-1">
|
|
9
|
-
<div class="text-h3 mb-24 flex-1"><%= @title %> </div>
|
|
10
|
-
<p class="text-p1
|
|
9
|
+
<div class="ui-text-h3 text-white mb-24 flex-1"><%= @title %> </div>
|
|
10
|
+
<p class="ui-text-p1 text-white"><%= @subtitle %></p>
|
|
11
11
|
<%= tag.button type: "button", class: "ui-btn-secondary-invert self-start mt-24", data: { id: "open-chat-widget", enabled_label: live_chat_label, disabled_label: live_chat_disabled_label }, disabled: true do %>
|
|
12
12
|
<%= live_chat_disabled_label %>
|
|
13
13
|
<% end %>
|
|
14
14
|
</span>
|
|
15
15
|
<span class="flex-0 mt-24 md:mt-0">
|
|
16
|
-
<p class="text-p1
|
|
16
|
+
<p class="ui-text-p1 text-white">
|
|
17
17
|
Don’t want to chat?
|
|
18
18
|
<%= link_to 'Get in touch via our contact page', abs_url("/contact"), class: "text-white underline font-medium hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus" %>
|
|
19
19
|
</p>
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
<div class="bg-white rounded-lg p-24 sm:p-32 w-auto">
|
|
25
25
|
<div class="flex flex-col h-full space-between">
|
|
26
26
|
<span class="flex-1">
|
|
27
|
-
<div class="text-h3 mb-24">Try our APIs for free</div>
|
|
28
|
-
<p class="text-p1
|
|
29
|
-
<ul class="relative ml-24 text-p1
|
|
27
|
+
<div class="ui-text-h3 mb-24">Try our APIs for free</div>
|
|
28
|
+
<p class="ui-text-p1 mb-16">Our free plan includes</p>
|
|
29
|
+
<ul class="relative ml-24 ui-text-p1">
|
|
30
30
|
<li>
|
|
31
31
|
<%= render(AblyUi::Core::Icon.new(name: "icon-gui-tick", size: "1.5rem", additional_css: "align-text-bottom")) %>
|
|
32
32
|
6m messages per month
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
<%= link_to(@url, class: "
|
|
1
|
+
<%= link_to(@url, class: "font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-#{@text_size} #{@flush ? '' : 'py-8'} #{@additional_css}", style: "--featured-link-icon-size: var(#{@text_size.gsub("text", "--fs")})") do %>
|
|
2
2
|
<% if @reverse %>
|
|
3
3
|
<%= render(AblyUi::Core::Icon.new(name: "icon-gui-link-arrow",
|
|
4
4
|
size: "calc(var(--featured-link-icon-size) * 1.25)",
|
|
5
5
|
color: @icon_color,
|
|
6
|
-
additional_css: "
|
|
6
|
+
additional_css: "align-middle mr-8 relative -top-1 -right-4 transition-all group-hover:right-0 transform rotate-180")) %>
|
|
7
7
|
<%= content -%>
|
|
8
8
|
<% else %>
|
|
9
9
|
<%= content -%><%= render(AblyUi::Core::Icon.new(name: "icon-gui-link-arrow",
|
|
10
10
|
size: "calc(var(--featured-link-icon-size) * 1.25)",
|
|
11
11
|
color: @icon_color,
|
|
12
|
-
additional_css: "
|
|
12
|
+
additional_css: "align-middle ml-8 relative -top-1 -left-4 transition-all group-hover:left-0")) %>
|
|
13
13
|
<% end %>
|
|
14
14
|
|
|
15
15
|
<% end %>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./component.css";
|
|
@@ -3,20 +3,35 @@ import T from "prop-types";
|
|
|
3
3
|
|
|
4
4
|
import Icon from "../Icon/component.jsx";
|
|
5
5
|
|
|
6
|
-
const FeaturedLink = ({ url, textSize = "text-p2", iconColor = "text-cool-black", flush = false, reverse = false, children }) => (
|
|
6
|
+
const FeaturedLink = ({ url, textSize = "text-p2", iconColor = "text-cool-black", flush = false, reverse = false, additionalCSS = "", children }) => (
|
|
7
7
|
<a
|
|
8
8
|
href={url}
|
|
9
|
-
className={`
|
|
9
|
+
className={`font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-${textSize} ${
|
|
10
|
+
flush ? "" : "py-8"
|
|
11
|
+
} ${additionalCSS}`}
|
|
10
12
|
style={{ "--featured-link-icon-size": `var(${textSize.replace("text", "--fs")})` }}
|
|
11
13
|
>
|
|
12
|
-
{reverse ?
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
{reverse ? (
|
|
15
|
+
<>
|
|
16
|
+
<Icon
|
|
17
|
+
name="icon-gui-link-arrow"
|
|
18
|
+
size={`calc(var(--featured-link-icon-size) * 1.25)`}
|
|
19
|
+
color={iconColor}
|
|
20
|
+
additionalCSS="align-middle mr-8 relative -top-1 -right-4 transition-all group-hover:right-0 transform rotate-180"
|
|
21
|
+
/>
|
|
22
|
+
{children}
|
|
23
|
+
</>
|
|
24
|
+
) : (
|
|
25
|
+
<>
|
|
26
|
+
{children}
|
|
27
|
+
<Icon
|
|
28
|
+
name="icon-gui-link-arrow"
|
|
29
|
+
size={`calc(var(--featured-link-icon-size) * 1.25)`}
|
|
30
|
+
color={iconColor}
|
|
31
|
+
additionalCSS="align-middle ml-8 relative -top-1 -left-4 transition-all group-hover:left-0"
|
|
32
|
+
/>
|
|
33
|
+
</>
|
|
34
|
+
)}
|
|
20
35
|
</a>
|
|
21
36
|
);
|
|
22
37
|
|
|
@@ -26,6 +41,8 @@ FeaturedLink.propTypes = {
|
|
|
26
41
|
textSize: T.string,
|
|
27
42
|
iconColor: T.string,
|
|
28
43
|
flush: T.bool,
|
|
44
|
+
reverse: T.bool,
|
|
45
|
+
additionalCSS: T.string,
|
|
29
46
|
};
|
|
30
47
|
|
|
31
48
|
export default FeaturedLink;
|
|
@@ -125,7 +125,7 @@ const Flash = ({ id, type, content, removeFlash }) => {
|
|
|
125
125
|
<div className={`ui-flash-message ui-grid-px ${animateEntry ? "ui-flash-message-enter" : ""}`} style={style} ref={ref} data-id="ui-flash">
|
|
126
126
|
<div className={`${FLASH_BG_COLOR[type]} p-32 flex align-center rounded shadow-container-subtle`}>
|
|
127
127
|
{withIcons[type] && <Icon name={withIcons[type]} color={iconColor[type]} size="1.5rem" additionalCSS="mr-16 self-baseline" />}
|
|
128
|
-
<p className={`ui-
|
|
128
|
+
<p className={`ui-text-p1 mr-16 ${FLASH_TEXT_COLOR[type]}`} dangerouslySetInnerHTML={{ __html: safeContent }} />
|
|
129
129
|
<button type="button" className="p-0 ml-auto self-start focus:outline-none" onClick={closeFlash}>
|
|
130
130
|
<Icon name="icon-gui-close" color={iconColor[type]} size="1.5rem" additionalCSS="transition-colors" />
|
|
131
131
|
</button>
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
<div class="col-span-full md:col-span-2">
|
|
4
4
|
<div class="flex flex-row p-menu-row-snug">
|
|
5
5
|
<%= image_tag(ably_stack_path, alt: "Ably homepage", class: "mr-24 -mt-16") %>
|
|
6
|
-
<h2 class="text-overline2 col-span-full font-mono
|
|
6
|
+
<h2 class="ui-text-overline2 col-span-full font-mono uppercase tracking-widen-0.16">The Ably Platform</h2>
|
|
7
7
|
</div>
|
|
8
8
|
<div class="md:col-span-4 md:w-3/4 xs:w-3/5 w-full">
|
|
9
|
-
<p class="
|
|
9
|
+
<p class="ui-text-p3 font-bold py-16 p-menu-row-snug">
|
|
10
10
|
Easily power any realtime experience in your application via a simple API that handles everything realtime.
|
|
11
11
|
</p>
|
|
12
12
|
</div>
|
|
@@ -13,10 +13,10 @@ export default function Footer({ paths, urlBase }) {
|
|
|
13
13
|
<div className="col-span-full md:col-span-2">
|
|
14
14
|
<div className="flex flex-row p-menu-row-snug">
|
|
15
15
|
<img className="mr-24 -mt-16" src={paths.ablyStack} alt="Ably homepage" />
|
|
16
|
-
<h2 className="text-overline2
|
|
16
|
+
<h2 className="ui-text-overline2 col-span-full">The Ably Platform</h2>
|
|
17
17
|
</div>
|
|
18
18
|
<div className="md:col-span-4 md:w-3/4 xs:w-3/5 w-full">
|
|
19
|
-
<p className="
|
|
19
|
+
<p className="ui-text-p3 font-bold py-16 p-menu-row-snug">
|
|
20
20
|
Easily power any realtime experience in your application via a simple API that handles everything realtime.
|
|
21
21
|
</p>
|
|
22
22
|
</div>
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
.ui-meganav-overline {
|
|
108
|
-
@apply text-overline2 text-cool-black uppercase font-
|
|
108
|
+
@apply text-overline2 text-cool-black uppercase font-medium font-mono tracking-widen-0.16 p-overline;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
.ui-meganav-hr {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<h3 class="ui-meganav-overline ml-24">The Ably Platform</h3>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
<p class="text-p2 font-bold
|
|
10
|
+
<p class="ui-text-p2 font-bold 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>
|
|
@@ -12,7 +12,7 @@ const MeganavContentProducts = ({ paths, absUrl }) => (
|
|
|
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-bold
|
|
15
|
+
<p className="ui-text-p2 font-bold 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>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<%# Note the style attribute is used for entry animation %>
|
|
2
2
|
<%= tag.div class: "ui-announcement #{bg_color} #{text_color}", data: { id: "ui-notice" }, style: "max-height: 0; overflow: hidden" do %>
|
|
3
3
|
<div class="ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start">
|
|
4
|
-
<%= content_wrapper class: "
|
|
4
|
+
<%= content_wrapper class: "w-full pr-8 ui-text-p3 self-center" do %>
|
|
5
5
|
<strong class="font-bold whitespace-nowrap pr-4"><%= @contents[:title] %></strong>
|
|
6
6
|
<span class="pr-4"><%= @contents[:body_text] %></span>
|
|
7
7
|
<span class="underline cursor-pointer whitespace-nowrap"><%= @contents[:button_label] %></span>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<% if close_btn? %>
|
|
11
11
|
<%= button_tag type: 'button', class: 'h-20 w-20 mt-4 ml-auto border-none bg-none self-baseline' do %>
|
|
12
|
-
<%= render(AblyUi::Core::Icon.new(name: "icon-gui-close", size: "1.25rem", color: "text-
|
|
12
|
+
<%= render(AblyUi::Core::Icon.new(name: "icon-gui-close", size: "1.25rem", color: "text-cool-black")) %>
|
|
13
13
|
<% end %>
|
|
14
14
|
<% end %>
|
|
15
15
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect } from "react";
|
|
2
2
|
import T from "prop-types";
|
|
3
3
|
|
|
4
|
-
const contentWrapperClasses = "
|
|
4
|
+
const contentWrapperClasses = "w-full pr-8 ui-text-p3 self-center";
|
|
5
5
|
|
|
6
6
|
import NoticeScripts from "./component.js";
|
|
7
7
|
import Icon from "../Icon/component.jsx";
|
|
@@ -45,7 +45,7 @@ const Notice = ({ buttonLink, buttonLabel, bodyText, title, config, closeBtn, bg
|
|
|
45
45
|
|
|
46
46
|
{closeBtn && (
|
|
47
47
|
<button type="button" className="ml-auto h-20 w-20 border-none bg-none self-baseline">
|
|
48
|
-
<Icon name="icon-gui-close" size="1.25rem" color="text-
|
|
48
|
+
<Icon name="icon-gui-close" size="1.25rem" color="text-cool-black" />
|
|
49
49
|
</button>
|
|
50
50
|
)}
|
|
51
51
|
</div>
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
<% if company[:layout] == "quotes" %>
|
|
37
37
|
<%= render(AblyUi::Core::Icon.new(name: "quote", size: "1.25rem", color: "text-cool-black")) %>
|
|
38
38
|
|
|
39
|
-
<p class="text-quote
|
|
39
|
+
<p class="ui-text-quote mb-24"><%= company[:quote] %></p>
|
|
40
40
|
|
|
41
41
|
<div class="flex items-center">
|
|
42
42
|
<div class="flex-shrink-0 flex-grow-0 mr-16 overflow-hidden rounded-full flex align-center justify-center w-48 h-48">
|
|
43
43
|
<%= image_tag company[:author][:thumbnail], alt: "Picture of #{company[:author][:name]}, #{company[:author][:title]}", class: "w-48 h-48 filter-grayscale" %>
|
|
44
44
|
</div>
|
|
45
45
|
<div>
|
|
46
|
-
<p class="text-p2
|
|
47
|
-
<p class="text-p3
|
|
46
|
+
<p class="ui-text-p2"><%= company[:author][:name] %></p>
|
|
47
|
+
<p class="ui-text-p3"><%= company[:author][:title] %></p>
|
|
48
48
|
</div>
|
|
49
49
|
</div>
|
|
50
50
|
<% end %>
|
|
@@ -54,16 +54,16 @@
|
|
|
54
54
|
<% company[:columns].each_with_index do |col, n| %>
|
|
55
55
|
<% if company[:columns].last == col %>
|
|
56
56
|
<div class="flex-1 mt-40 sm:mt-0 <%= col[:classname] %>" data-id="casestudy-column">
|
|
57
|
-
<p class="text-h4 pb-24"><%= col[:heading] %></p>
|
|
58
|
-
<p class="text-p1
|
|
57
|
+
<p class="ui-text-h4 pb-24"><%= col[:heading] %></p>
|
|
58
|
+
<p class="ui-text-p1"><%= col[:text] %></p>
|
|
59
59
|
<%- if col[:button] %>
|
|
60
60
|
<a class="ui-btn self-start p-btn mt-24" href="<%= col[:button][:href] %>"><%= col[:button][:label] %></a>
|
|
61
61
|
<% end %>
|
|
62
62
|
</div>
|
|
63
63
|
<% else %>
|
|
64
64
|
<div class="flex-1 mt-40 sm:mt-0 mr-24 sm:mr-32 xl:mr-64 <%= col[:classname] %>" data-id="casestudy-column">
|
|
65
|
-
<p class="text-title-xl
|
|
66
|
-
<p class="text-p1
|
|
65
|
+
<p class="ui-text-title-xl"><%= col[:heading] %></p>
|
|
66
|
+
<p class="ui-text-p1 mb-0 sm:mb-32"><%= col[:text] %></p>
|
|
67
67
|
</div>
|
|
68
68
|
<% end %>
|
|
69
69
|
<% end %>
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
.ui-uptime-key {
|
|
87
87
|
@apply block mt-16 mr-20 bg-transparent;
|
|
88
88
|
@apply sm:inline-block sm:mt-0;
|
|
89
|
-
@apply font-
|
|
89
|
+
@apply font-medium text-p2 text-white block sm:inline-flex items-center;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
.ui-uptime-key:first-child {
|
|
@@ -139,10 +139,7 @@ export default function Uptime({ serverUrl, linkTo = null, theme = "light" }) {
|
|
|
139
139
|
|
|
140
140
|
if (data && data.error) {
|
|
141
141
|
return (
|
|
142
|
-
<div
|
|
143
|
-
className={`flex sm:flex-row justify-center items-center p-24 border rounded font-sans font-light text-p2 ${themes[theme].text}`}
|
|
144
|
-
data-id="uptime-error"
|
|
145
|
-
>
|
|
142
|
+
<div className={`flex sm:flex-row justify-center items-center p-24 border rounded ui-text-p2 ${themes[theme].text}`} data-id="uptime-error">
|
|
146
143
|
Sorry, we can’t retrieve uptime data right now.
|
|
147
144
|
</div>
|
|
148
145
|
);
|