@ably/ui 14.0.4 → 14.0.6

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 (281) hide show
  1. package/core/Flash.js +1 -1
  2. package/core/styles/forms.css +4 -4
  3. package/core/styles/toggles.css +38 -0
  4. package/core/styles.components.css +1 -0
  5. package/package.json +15 -18
  6. package/tailwind.config.js +3 -0
  7. package/src/core/Accordion/Accordion.stories.tsx +0 -39
  8. package/src/core/Accordion.tsx +0 -149
  9. package/src/core/Code/Code.stories.tsx +0 -71
  10. package/src/core/Code/component.css +0 -1
  11. package/src/core/Code/component.js +0 -27
  12. package/src/core/Code.tsx +0 -44
  13. package/src/core/ConnectStateWrapper.tsx +0 -43
  14. package/src/core/ContactFooter/ContactFooter.stories.tsx +0 -11
  15. package/src/core/ContactFooter/component.css +0 -11
  16. package/src/core/ContactFooter/component.js +0 -2
  17. package/src/core/ContactFooter.tsx +0 -91
  18. package/src/core/CookieMessage/CookieMessage.stories.tsx +0 -12
  19. package/src/core/CookieMessage/component.css +0 -15
  20. package/src/core/CookieMessage.tsx +0 -52
  21. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +0 -43
  22. package/src/core/CustomerLogos.tsx +0 -35
  23. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +0 -48
  24. package/src/core/DropdownMenu.tsx +0 -140
  25. package/src/core/Expander/Expander.stories.tsx +0 -132
  26. package/src/core/Expander.tsx +0 -63
  27. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +0 -43
  28. package/src/core/FeaturedLink.tsx +0 -93
  29. package/src/core/Flash/Flash.stories.tsx +0 -37
  30. package/src/core/Flash/component.css +0 -28
  31. package/src/core/Flash.tsx +0 -233
  32. package/src/core/Footer/Footer.stories.tsx +0 -26
  33. package/src/core/Footer/component.css +0 -33
  34. package/src/core/Footer.tsx +0 -535
  35. package/src/core/Icon/Icon.stories.tsx +0 -151
  36. package/src/core/Icon.tsx +0 -26
  37. package/src/core/Loader/Loader.stories.tsx +0 -21
  38. package/src/core/Loader.tsx +0 -52
  39. package/src/core/Logo/Logo.stories.tsx +0 -12
  40. package/src/core/Logo.tsx +0 -29
  41. package/src/core/Meganav/Meganav.stories.tsx +0 -86
  42. package/src/core/Meganav/component.css +0 -114
  43. package/src/core/Meganav/component.js +0 -150
  44. package/src/core/Meganav/component.json +0 -37
  45. package/src/core/Meganav.tsx +0 -225
  46. package/src/core/MeganavBlogPostsList/component.js +0 -43
  47. package/src/core/MeganavBlogPostsList.tsx +0 -41
  48. package/src/core/MeganavContentCompany.tsx +0 -166
  49. package/src/core/MeganavContentDevelopers.tsx +0 -210
  50. package/src/core/MeganavContentProducts.tsx +0 -163
  51. package/src/core/MeganavContentUseCases.tsx +0 -244
  52. package/src/core/MeganavControl/component.js +0 -117
  53. package/src/core/MeganavControl.tsx +0 -39
  54. package/src/core/MeganavControlMobileDropdown/component.js +0 -46
  55. package/src/core/MeganavControlMobileDropdown.tsx +0 -31
  56. package/src/core/MeganavControlMobilePanelClose/component.js +0 -36
  57. package/src/core/MeganavControlMobilePanelClose.tsx +0 -34
  58. package/src/core/MeganavControlMobilePanelOpen/component.js +0 -59
  59. package/src/core/MeganavControlMobilePanelOpen.tsx +0 -31
  60. package/src/core/MeganavItemsDesktop.tsx +0 -68
  61. package/src/core/MeganavItemsMobile.tsx +0 -197
  62. package/src/core/MeganavItemsSignedIn.tsx +0 -130
  63. package/src/core/MeganavSearch.tsx +0 -36
  64. package/src/core/MeganavSearchAutocomplete/component.js +0 -177
  65. package/src/core/MeganavSearchAutocomplete.tsx +0 -12
  66. package/src/core/MeganavSearchPanel.tsx +0 -52
  67. package/src/core/MeganavSearchSuggestions/component.js +0 -133
  68. package/src/core/MeganavSearchSuggestions.tsx +0 -62
  69. package/src/core/Notice/component.css +0 -7
  70. package/src/core/Notice/component.js +0 -154
  71. package/src/core/Notice.tsx +0 -102
  72. package/src/core/SignOutLink.tsx +0 -51
  73. package/src/core/Slider/Slider.stories.tsx +0 -98
  74. package/src/core/Slider/component.css +0 -40
  75. package/src/core/Slider/component.js +0 -105
  76. package/src/core/Slider.tsx +0 -224
  77. package/src/core/Table/Table.stories.tsx +0 -12
  78. package/src/core/Table/Table.tsx +0 -58
  79. package/src/core/Table/TableCell.tsx +0 -71
  80. package/src/core/Table/TableRow.tsx +0 -25
  81. package/src/core/Table/data.tsx +0 -133
  82. package/src/core/Table.tsx +0 -15
  83. package/src/core/Tooltip/Tooltip.stories.tsx +0 -27
  84. package/src/core/Tooltip.tsx +0 -88
  85. package/src/core/css.js +0 -3
  86. package/src/core/dom-query.js +0 -5
  87. package/src/core/fonts/NEXT-Book-Light-Italic.eot +0 -0
  88. package/src/core/fonts/NEXT-Book-Light-Italic.otf +0 -0
  89. package/src/core/fonts/NEXT-Book-Light-Italic.woff +0 -0
  90. package/src/core/fonts/NEXT-Book-Light-Italic.woff2 +0 -0
  91. package/src/core/fonts/NEXT-Book-Light.eot +0 -0
  92. package/src/core/fonts/NEXT-Book-Light.otf +0 -0
  93. package/src/core/fonts/NEXT-Book-Light.woff +0 -0
  94. package/src/core/fonts/NEXT-Book-Light.woff2 +0 -0
  95. package/src/core/fonts/NEXT-Book-Medium-Italic.eot +0 -0
  96. package/src/core/fonts/NEXT-Book-Medium-Italic.otf +0 -0
  97. package/src/core/fonts/NEXT-Book-Medium-Italic.woff +0 -0
  98. package/src/core/fonts/NEXT-Book-Medium-Italic.woff2 +0 -0
  99. package/src/core/fonts/NEXT-Book-Medium.eot +0 -0
  100. package/src/core/fonts/NEXT-Book-Medium.otf +0 -0
  101. package/src/core/fonts/NEXT-Book-Medium.woff +0 -0
  102. package/src/core/fonts/NEXT-Book-Medium.woff2 +0 -0
  103. package/src/core/fonts/jetBrains-mono.css +0 -3
  104. package/src/core/fonts/manrope.css +0 -3
  105. package/src/core/fonts/next.css +0 -63
  106. package/src/core/fonts/source-code-pro.css +0 -3
  107. package/src/core/hubspot-chat-toggle.js +0 -67
  108. package/src/core/icons/discord.svg +0 -10
  109. package/src/core/icons/facebook.svg +0 -4
  110. package/src/core/icons/github.svg +0 -3
  111. package/src/core/icons/glassdoor.svg +0 -3
  112. package/src/core/icons/google.svg +0 -3
  113. package/src/core/icons/icon-display-48hrs.svg +0 -3
  114. package/src/core/icons/icon-display-about-ably-col.svg +0 -4
  115. package/src/core/icons/icon-display-api-keys.svg +0 -3
  116. package/src/core/icons/icon-display-api.svg +0 -3
  117. package/src/core/icons/icon-display-asset-tracking-col.svg +0 -18
  118. package/src/core/icons/icon-display-browser.svg +0 -10
  119. package/src/core/icons/icon-display-calendar.svg +0 -3
  120. package/src/core/icons/icon-display-call-mobile.svg +0 -3
  121. package/src/core/icons/icon-display-careers-col.svg +0 -9
  122. package/src/core/icons/icon-display-case-studies-col.svg +0 -5
  123. package/src/core/icons/icon-display-chat-col.svg +0 -4
  124. package/src/core/icons/icon-display-chat-stack-col.svg +0 -4
  125. package/src/core/icons/icon-display-chat-stack.svg +0 -4
  126. package/src/core/icons/icon-display-cloud-servers.svg +0 -3
  127. package/src/core/icons/icon-display-compare-tech-col.svg +0 -9
  128. package/src/core/icons/icon-display-customers-col.svg +0 -15
  129. package/src/core/icons/icon-display-data-broadcast-col.svg +0 -26
  130. package/src/core/icons/icon-display-data-synchronization-col.svg +0 -14
  131. package/src/core/icons/icon-display-docs-col.svg +0 -7
  132. package/src/core/icons/icon-display-documentation.svg +0 -3
  133. package/src/core/icons/icon-display-events-col.svg +0 -13
  134. package/src/core/icons/icon-display-examples-col.svg +0 -11
  135. package/src/core/icons/icon-display-gdpr.svg +0 -3
  136. package/src/core/icons/icon-display-general-comms.svg +0 -3
  137. package/src/core/icons/icon-display-hipaa.svg +0 -10
  138. package/src/core/icons/icon-display-integrations-col.svg +0 -8
  139. package/src/core/icons/icon-display-it-support-access.svg +0 -3
  140. package/src/core/icons/icon-display-it-support-helpdesk.svg +0 -3
  141. package/src/core/icons/icon-display-kafka-at-the-edge-col.svg +0 -8
  142. package/src/core/icons/icon-display-laptop.svg +0 -10
  143. package/src/core/icons/icon-display-lightbulb-col.svg +0 -10
  144. package/src/core/icons/icon-display-live-chat.svg +0 -3
  145. package/src/core/icons/icon-display-map-pin.svg +0 -3
  146. package/src/core/icons/icon-display-message.svg +0 -3
  147. package/src/core/icons/icon-display-padlock-closed.svg +0 -3
  148. package/src/core/icons/icon-display-platform.svg +0 -22
  149. package/src/core/icons/icon-display-play.svg +0 -3
  150. package/src/core/icons/icon-display-privacy-shield-framework.svg +0 -7
  151. package/src/core/icons/icon-display-push-notifications-col.svg +0 -6
  152. package/src/core/icons/icon-display-quickstart-guides-col.svg +0 -8
  153. package/src/core/icons/icon-display-resources-col.svg +0 -21
  154. package/src/core/icons/icon-display-sdks-col.svg +0 -11
  155. package/src/core/icons/icon-display-servers.svg +0 -3
  156. package/src/core/icons/icon-display-shopping-cart.svg +0 -10
  157. package/src/core/icons/icon-display-sla.svg +0 -3
  158. package/src/core/icons/icon-display-soc2-type2.svg +0 -3
  159. package/src/core/icons/icon-display-tech-account-comms.svg +0 -3
  160. package/src/core/icons/icon-display-tutorials-demos-col.svg +0 -25
  161. package/src/core/icons/icon-display-virtual-events-col.svg +0 -12
  162. package/src/core/icons/icon-display-virtual-events.svg +0 -12
  163. package/src/core/icons/icon-gui-ably-badge.svg +0 -3
  164. package/src/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +0 -3
  165. package/src/core/icons/icon-gui-arrow-bidirectional-vertical.svg +0 -3
  166. package/src/core/icons/icon-gui-arrow-down.svg +0 -3
  167. package/src/core/icons/icon-gui-arrow-left.svg +0 -3
  168. package/src/core/icons/icon-gui-arrow-right.svg +0 -3
  169. package/src/core/icons/icon-gui-arrow-up.svg +0 -3
  170. package/src/core/icons/icon-gui-burger-menu.svg +0 -5
  171. package/src/core/icons/icon-gui-check-circled-fill-black.svg +0 -4
  172. package/src/core/icons/icon-gui-check-circled-fill.svg +0 -4
  173. package/src/core/icons/icon-gui-check-circled.svg +0 -3
  174. package/src/core/icons/icon-gui-checklist-checked.svg +0 -3
  175. package/src/core/icons/icon-gui-clock.svg +0 -3
  176. package/src/core/icons/icon-gui-close.svg +0 -3
  177. package/src/core/icons/icon-gui-copy.svg +0 -10
  178. package/src/core/icons/icon-gui-cross-circled-fill.svg +0 -4
  179. package/src/core/icons/icon-gui-cross-circled.svg +0 -3
  180. package/src/core/icons/icon-gui-dash-circled.svg +0 -3
  181. package/src/core/icons/icon-gui-disclosure-arrow.svg +0 -3
  182. package/src/core/icons/icon-gui-document-generic.svg +0 -3
  183. package/src/core/icons/icon-gui-enlarge.svg +0 -3
  184. package/src/core/icons/icon-gui-external-link.svg +0 -3
  185. package/src/core/icons/icon-gui-filter-flow-step-1.svg +0 -5
  186. package/src/core/icons/icon-gui-filter-flow-step-2.svg +0 -5
  187. package/src/core/icons/icon-gui-filter-flow-step-3.svg +0 -5
  188. package/src/core/icons/icon-gui-history.svg +0 -3
  189. package/src/core/icons/icon-gui-info.svg +0 -3
  190. package/src/core/icons/icon-gui-link-arrow.svg +0 -3
  191. package/src/core/icons/icon-gui-link.svg +0 -4
  192. package/src/core/icons/icon-gui-live-chat.svg +0 -3
  193. package/src/core/icons/icon-gui-minus.svg +0 -3
  194. package/src/core/icons/icon-gui-partial.svg +0 -4
  195. package/src/core/icons/icon-gui-plus.svg +0 -3
  196. package/src/core/icons/icon-gui-quote-marks-solid.svg +0 -3
  197. package/src/core/icons/icon-gui-refresh.svg +0 -10
  198. package/src/core/icons/icon-gui-resources.svg +0 -3
  199. package/src/core/icons/icon-gui-search.svg +0 -3
  200. package/src/core/icons/icon-gui-tick.svg +0 -3
  201. package/src/core/icons/icon-gui-warning.svg +0 -5
  202. package/src/core/icons/icon-live-updates-results-metrics-col.svg +0 -26
  203. package/src/core/icons/icon-multi-user-spaces-col.svg +0 -13
  204. package/src/core/icons/icon-social-x.svg +0 -3
  205. package/src/core/icons/icon-tech-apachekafka.svg +0 -3
  206. package/src/core/icons/linkedin.svg +0 -3
  207. package/src/core/icons/quote.svg +0 -3
  208. package/src/core/icons/stackoverflow.svg +0 -3
  209. package/src/core/icons/twitter.svg +0 -3
  210. package/src/core/icons/youtube.svg +0 -11
  211. package/src/core/icons.js +0 -6
  212. package/src/core/images/ably-logo.png +0 -0
  213. package/src/core/images/ably-logo.svg +0 -15
  214. package/src/core/images/ably-stack.svg +0 -14
  215. package/src/core/images/best-support-2023.svg +0 -1
  216. package/src/core/images/cust-logo-ao-col-pos.png +0 -0
  217. package/src/core/images/cust-logo-ao-col-pos@2x.png +0 -0
  218. package/src/core/images/cust-logo-ausopen-col-pos.png +0 -0
  219. package/src/core/images/cust-logo-ausopen-col-pos@2x.png +0 -0
  220. package/src/core/images/cust-logo-ausopen-mono-pos.svg +0 -5
  221. package/src/core/images/cust-logo-bloomberg-mono-pos.svg +0 -11
  222. package/src/core/images/cust-logo-hopin-mono-pos.svg +0 -4
  223. package/src/core/images/cust-logo-hubspot-col-pos.png +0 -0
  224. package/src/core/images/cust-logo-hubspot-col-pos@2x.png +0 -0
  225. package/src/core/images/cust-logo-hubspot-mono-pos.svg +0 -4
  226. package/src/core/images/cust-logo-lightspeed-col-pos.png +0 -0
  227. package/src/core/images/cust-logo-lightspeed-col-pos@2x.png +0 -0
  228. package/src/core/images/cust-logo-lightspeed-syst-col-pos.png +0 -0
  229. package/src/core/images/cust-logo-lightspeed-syst-col-pos@2x.png +0 -0
  230. package/src/core/images/cust-logo-mentimeter-mono-pos.svg +0 -17
  231. package/src/core/images/cust-logo-split-col-pos.png +0 -0
  232. package/src/core/images/cust-logo-split-col-pos@2x.png +0 -0
  233. package/src/core/images/cust-logo-split-mono-pos.svg +0 -9
  234. package/src/core/images/cust-logo-toyota-mono-pos.svg +0 -18
  235. package/src/core/images/cust-logo-vitac-col-pos.png +0 -0
  236. package/src/core/images/cust-logo-vitac-col-pos@2x.png +0 -0
  237. package/src/core/images/cust-logo-webflow-col-pos.svg +0 -3
  238. package/src/core/images/cust-photo-hubspot-max-freiert.jpg +0 -0
  239. package/src/core/images/cust-photo-split-pato-echague.jpg +0 -0
  240. package/src/core/images/cust-photo-vitac-joe-antonio.jpg +0 -0
  241. package/src/core/images/fastest-implementation-2023.svg +0 -1
  242. package/src/core/images/flexible-companies.png +0 -0
  243. package/src/core/images/high-performer-2022.png +0 -0
  244. package/src/core/images/high-performer-2023.svg +0 -1
  245. package/src/core/images/highest-user-adoption-2022.png +0 -0
  246. package/src/core/images/highest-user-adoption-2023.svg +0 -1
  247. package/src/core/images/icon-tech-aws.svg +0 -4
  248. package/src/core/images/rocket-list-2021.png +0 -0
  249. package/src/core/images/scale-motif-open-empathetic.svg +0 -1
  250. package/src/core/images/technical-support-01-800x533.jpg +0 -0
  251. package/src/core/images/users-love-us-2022.png +0 -0
  252. package/src/core/load-sprites.js +0 -11
  253. package/src/core/react-renderer.tsx +0 -29
  254. package/src/core/remote-blogs-posts.js +0 -42
  255. package/src/core/remote-data-store.js +0 -34
  256. package/src/core/remote-data-util.js +0 -4
  257. package/src/core/remote-session-data.js +0 -58
  258. package/src/core/scripts.js +0 -10
  259. package/src/core/styles/buttons.css +0 -124
  260. package/src/core/styles/forms.css +0 -64
  261. package/src/core/styles/layout.css +0 -21
  262. package/src/core/styles/properties.css +0 -278
  263. package/src/core/styles/text.css +0 -168
  264. package/src/core/styles.base.css +0 -1
  265. package/src/core/styles.components.css +0 -43
  266. package/src/core/styles.css +0 -2
  267. package/src/core/url-base.js +0 -7
  268. package/src/core/utils/syntax-highlighter-registry.js +0 -63
  269. package/src/core/utils/syntax-highlighter.css +0 -71
  270. package/src/core/utils/syntax-highlighter.js +0 -103
  271. package/src/pages/Buttons.mdx +0 -121
  272. package/src/pages/Chips.mdx +0 -136
  273. package/src/pages/Colour.mdx +0 -23
  274. package/src/pages/Forms.mdx +0 -173
  275. package/src/pages/Layout.mdx +0 -58
  276. package/src/pages/Typography.mdx +0 -206
  277. package/src/pages/utils.ts +0 -70
  278. package/src/reset/scripts.js +0 -1
  279. package/src/reset/styles/normalize.css +0 -353
  280. package/src/reset/styles/reset.css +0 -139
  281. package/src/reset/styles.css +0 -2
@@ -1,535 +0,0 @@
1
- import React from "react";
2
-
3
- import Icon from "./Icon";
4
- import _absUrl from "./url-base.js";
5
-
6
- type FooterProps = {
7
- paths: {
8
- ablyStack: string;
9
- highestPerformer: string;
10
- highestUserAdoption: string;
11
- bestSupport: string;
12
- fastestImplementation: string;
13
- };
14
- urlBase: string;
15
- };
16
-
17
- const Footer = ({ paths, urlBase }: FooterProps) => {
18
- const absUrl = (path) => _absUrl(path, urlBase);
19
-
20
- return (
21
- <footer
22
- className="bg-light-grey font-sans antialiased leading-normal"
23
- data-id="footer"
24
- >
25
- <div className="max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6">
26
- <div className="col-span-full md:col-span-2">
27
- <div className="flex flex-row p-menu-row-snug">
28
- <img
29
- className="mr-24 -mt-16"
30
- src={paths.ablyStack}
31
- alt="Ably homepage"
32
- />
33
- <h2 className="ui-text-overline2 col-span-full">
34
- The Ably Platform
35
- </h2>
36
- </div>
37
- <div className="md:col-span-4 md:w-3/4 xs:w-3/5 w-full">
38
- <p className="ui-text-p3 font-bold py-16 p-menu-row-snug">
39
- Easily power any realtime experience in your application via a
40
- simple API that handles everything realtime.
41
- </p>
42
- </div>
43
-
44
- <ul className="grid grid-cols-1">
45
- <li className="p-menu-row-snug">
46
- <a
47
- href={absUrl("/solutions/channels")}
48
- className="ui-footer-menu-row-link"
49
- >
50
- Pub/sub messaging
51
- </a>
52
- </li>
53
- <li className="p-menu-row-snug">
54
- <a
55
- href={absUrl("/push-notifications")}
56
- className="ui-footer-menu-row-link"
57
- >
58
- Push notifications
59
- </a>
60
- </li>
61
- <li className="p-menu-row-snug">
62
- <a
63
- href={absUrl("/integrations")}
64
- className="ui-footer-menu-row-link"
65
- >
66
- Third-party integrations
67
- </a>
68
- </li>
69
- <li className="p-menu-row-snug">
70
- <a
71
- href={absUrl("/protocols")}
72
- className="ui-footer-menu-row-link"
73
- >
74
- Multiple protocol messaging
75
- </a>
76
- </li>
77
- </ul>
78
- </div>
79
-
80
- <div className="col-span-full xs:col-span-3 md:col-span-1">
81
- <h2 className="ui-footer-col-title">Ably is for</h2>
82
- <ul>
83
- <li className="p-menu-row-snug">
84
- <a
85
- href={absUrl("/solutions/asset-tracking")}
86
- className="ui-footer-menu-row-link"
87
- >
88
- Ably Asset Tracking
89
- </a>
90
- </li>
91
- <li className="p-menu-row-snug">
92
- <a
93
- href={absUrl("/solutions/extend-kafka-to-the-edge")}
94
- className="ui-footer-menu-row-link"
95
- >
96
- Extend Kafka to the edge
97
- </a>
98
- </li>
99
- <li className="p-menu-row-snug">
100
- <a
101
- href={absUrl("/solutions/edtech")}
102
- className="ui-footer-menu-row-link"
103
- >
104
- EdTech
105
- </a>
106
- </li>
107
- <li className="p-menu-row-snug">
108
- <a
109
- href={absUrl("/solutions/automotive-logistics-and-mobility")}
110
- className="ui-footer-menu-row-link"
111
- >
112
- Automotive, Logistics, &amp; Mobility
113
- </a>
114
- </li>
115
- <li className="p-menu-row-snug">
116
- <a
117
- href={absUrl("/solutions/b2b-platforms")}
118
- className="ui-footer-menu-row-link"
119
- >
120
- B2B Platforms
121
- </a>
122
- </li>
123
- <li className="p-menu-row-snug">
124
- <a
125
- href={absUrl("/solutions/healthcare")}
126
- className="ui-footer-menu-row-link"
127
- >
128
- Healthcare
129
- </a>
130
- </li>
131
- <li className="p-menu-row-snug">
132
- <a
133
- href={absUrl("/solutions/ecommerce-and-retail")}
134
- className="ui-footer-menu-row-link"
135
- >
136
- eCommerce &amp; Retail
137
- </a>
138
- </li>
139
- <li className="p-menu-row-snug">
140
- <a
141
- href={absUrl("/solutions/sports-and-media")}
142
- className="ui-footer-menu-row-link"
143
- >
144
- Sports &amp; Media
145
- </a>
146
- </li>
147
- <li className="p-menu-row-snug">
148
- <a
149
- href={absUrl("/solutions/gaming")}
150
- className="ui-footer-menu-row-link"
151
- >
152
- Gaming
153
- </a>
154
- </li>
155
- <li className="p-menu-row-snug">
156
- <a
157
- href={absUrl("/solutions/iot-and-connected-devices")}
158
- className="ui-footer-menu-row-link"
159
- >
160
- IoT &amp; Connected Devices
161
- </a>
162
- </li>
163
- </ul>
164
- </div>
165
-
166
- <div className="col-span-full xs:col-span-3 md:col-span-1">
167
- <h2 className="ui-footer-col-title">Developers</h2>
168
- <ul>
169
- <li className="p-menu-row-snug">
170
- <a
171
- href={absUrl("/docs/quick-start-guide")}
172
- className="ui-footer-menu-row-link"
173
- >
174
- Start in 5 minutes
175
- </a>
176
- </li>
177
- <li className="p-menu-row-snug">
178
- <a href={absUrl("/docs/")} className="ui-footer-menu-row-link">
179
- Documentation
180
- </a>
181
- </li>
182
- <li className="p-menu-row-snug">
183
- <a
184
- href={absUrl("/tutorials")}
185
- className="ui-footer-menu-row-link"
186
- >
187
- Tutorials
188
- </a>
189
- </li>
190
- <li className="p-menu-row-snug">
191
- <a
192
- href="https://changelog.ably.com/"
193
- className="ui-footer-menu-row-link"
194
- >
195
- Changelog
196
- </a>
197
- </li>
198
- <li className="p-menu-row-snug">
199
- <a href={absUrl("/support")} className="ui-footer-menu-row-link">
200
- Support &amp; FAQs
201
- </a>
202
- </li>
203
- <li className="p-menu-row-snug">
204
- <a
205
- href={absUrl("/docs/sdks")}
206
- className="ui-footer-menu-row-link"
207
- >
208
- SDKs
209
- </a>
210
- </li>
211
- <li className="p-menu-row-snug flex items-center -mt-4">
212
- <a
213
- className="pr-8 ui-footer-menu-row-link"
214
- href="https://status.ably.com/"
215
- >
216
- System status
217
- </a>
218
- <iframe
219
- className="w-20 h-20 mb-2"
220
- src="https://status.ably.com/embed/icon"
221
- style={{ backgroundColor: "transparent" }}
222
- frameBorder="0"
223
- scrolling="no"
224
- title="System Status"
225
- ></iframe>
226
- </li>
227
- </ul>
228
- </div>
229
-
230
- <div className="col-span-full xs:col-span-3 md:col-span-1">
231
- <h2 className="ui-footer-col-title">WHY ABLY</h2>
232
- <ul>
233
- <li className="p-menu-row-snug">
234
- <a
235
- href={absUrl("/customers")}
236
- className="ui-footer-menu-row-link"
237
- >
238
- Customers
239
- </a>
240
- </li>
241
- <li className="p-menu-row-snug">
242
- <a
243
- href={absUrl("/case-studies")}
244
- className="ui-footer-menu-row-link"
245
- >
246
- Case Studies
247
- </a>
248
- </li>
249
- <li className="p-menu-row-snug">
250
- <a
251
- href={absUrl("/four-pillars-of-dependability")}
252
- className="ui-footer-menu-row-link"
253
- >
254
- Four Pillars of Dependability
255
- </a>
256
- </li>
257
- <li className="p-menu-row-snug">
258
- <a href={absUrl("/compare")} className="ui-footer-menu-row-link">
259
- Compare our tech
260
- </a>
261
- </li>
262
- <li className="p-menu-row-snug">
263
- <a
264
- href={absUrl("/protocols")}
265
- className="ui-footer-menu-row-link"
266
- >
267
- Multi protocol support
268
- </a>
269
- </li>
270
- <li className="p-menu-row-snug">
271
- <a
272
- href={absUrl("/integrations")}
273
- className="ui-footer-menu-row-link"
274
- >
275
- Third-party integrations
276
- </a>
277
- </li>
278
- </ul>
279
- </div>
280
-
281
- <div className="col-span-full xs:col-span-3 md:col-span-1">
282
- <h2 className="ui-footer-col-title">ABOUT</h2>
283
- <ul>
284
- <li className="p-menu-row-snug">
285
- <a href={absUrl("/about")} className="ui-footer-menu-row-link">
286
- About Ably
287
- </a>
288
- </li>
289
- <li className="p-menu-row-snug">
290
- <a href={absUrl("/pricing")} className="ui-footer-menu-row-link">
291
- Pricing
292
- </a>
293
- </li>
294
- <li className="p-menu-row-snug">
295
- <a href={absUrl("/blog")} className="ui-footer-menu-row-link">
296
- Blog
297
- </a>
298
- </li>
299
- <li className="p-menu-row-snug">
300
- <a href={absUrl("/careers")} className="ui-footer-menu-row-link">
301
- Careers
302
- </a>
303
- </li>
304
- <li className="p-menu-row-snug">
305
- <a
306
- href={absUrl("/open-policy")}
307
- className="ui-footer-menu-row-link"
308
- >
309
- Open protocol policy
310
- </a>
311
- </li>
312
- <li className="p-menu-row-snug">
313
- <a
314
- href={absUrl("/press-center")}
315
- className="ui-footer-menu-row-link"
316
- >
317
- Press & Media
318
- </a>
319
- </li>
320
- <li className="p-menu-row-snug">
321
- <a href={absUrl("/contact")} className="ui-footer-menu-row-link">
322
- Contact us
323
- </a>
324
- </li>
325
- </ul>
326
- </div>
327
- </div>
328
- <div className="max-w-screen-xl ui-grid-px mx-auto">
329
- <hr className="border-t border-mid-grey my-0" />
330
- </div>
331
- {/* Twitter + Glassdoor SM & above + Glassdoor XS + Badges*/}
332
- <div className="max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2">
333
- <div className="md:flex md:items-center">
334
- <div className="flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2">
335
- <div className="">
336
- <div className="flex pb-24">
337
- <a
338
- className="h-24 pr-24 text-cool-black hover:text-icon-twitter"
339
- href="https://twitter.com/ablyrealtime"
340
- title="Ably on X"
341
- >
342
- <Icon name="icon-social-x" size="1.5rem" />
343
- </a>
344
- <a
345
- className="h-24 pr-24 text-cool-black hover:text-icon-linkedin"
346
- href="https://www.linkedin.com/company/ably-realtime"
347
- title="Ably on LinkedIn"
348
- >
349
- <Icon name="linkedin" size="1.5rem" />
350
- </a>
351
- <a
352
- className="h-24 pr-24 text-cool-black hover:text-icon-github"
353
- href="https://github.com/ably/"
354
- title="Ably on Github"
355
- >
356
- <Icon name="github" size="1.5rem" />
357
- </a>
358
- <a
359
- className="h-24 pr-24 text-cool-black hover:text-icon-discord"
360
- href="https://discord.gg/jwBPhEZ9g5"
361
- title="Ably on Discord"
362
- >
363
- <Icon name="discord" size="1.5rem" />
364
- </a>
365
- </div>
366
- </div>
367
- {/* GLASSDOOR on SM and Above */}
368
- <div className="xs:hidden sm:block ui-footer-glassdoor">
369
- <div className="flex sm:pt-24 md:pt-0 sm:border-t sm:border-l-0 md:border-t-0 md:border-l sm:border-mid-grey sm:w-3/4 md:w-full md:pl-24">
370
- <a
371
- href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm"
372
- className="h-24 text-cool-black hover:text-icon-glassdoor"
373
- title="Ably reviews on glassdoor"
374
- >
375
- <Icon name="glassdoor" size="1.5rem" />
376
- </a>
377
- <div className="pl-16 text-menu3 font-sans font-medium">
378
- <strong className="block font-medium">
379
- We&apos;re hiring!
380
- </strong>
381
- <a
382
- href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm"
383
- className="ui-footer-link"
384
- >
385
- Learn more at Glassdoor
386
- </a>
387
- </div>
388
- </div>
389
- </div>
390
- </div>
391
- {/* GlassDoor on XS ONLY */}
392
- <div className="xs:block sm:hidden">
393
- <div className="border-t border-mid-grey w-full"></div>
394
- <div className="flex py-24">
395
- <a
396
- className="h-24 pr-16 text-cool-black hover:text-icon-glassdoor"
397
- href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm"
398
- title="Ably reviews on glassdoor"
399
- >
400
- <Icon name="glassdoor" size="1.5rem" />
401
- </a>
402
- <div className="text-menu3 font-sans font-medium">
403
- <strong className="block font-medium">
404
- We&apos;re hiring!
405
- </strong>
406
- <a
407
- href="https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm"
408
- className="ui-footer-link"
409
- >
410
- Learn more at Glassdoor
411
- </a>
412
- </div>
413
- </div>
414
- </div>
415
- </div>
416
-
417
- <div className="col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center">
418
- <img
419
- className="mr-24 h-80"
420
- src={paths.highestUserAdoption}
421
- alt="Highest User Adoption 2023"
422
- />
423
- <img
424
- className="mr-24 h-80"
425
- src={paths.bestSupport}
426
- alt="Best Support 2023"
427
- />
428
- <img
429
- className="mr-24 h-80"
430
- src={paths.fastestImplementation}
431
- alt="Fastest Implementation 2023"
432
- />
433
- <img
434
- className="mr-24 h-80"
435
- src={paths.highestPerformer}
436
- alt="High Performer 2023"
437
- />
438
- </div>
439
- </div>
440
-
441
- <div className="max-w-screen-xl ui-grid-px mx-auto">
442
- <hr className="border-t border-mid-grey my-0" />
443
- </div>
444
- <div className="max-w-screen-xl mx-auto py-24 sm:py-40 md:py-32 md:grid md:grid-cols-2 ui-grid-gap ui-grid-px">
445
- <div className="flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links">
446
- <div className="flex">
447
- <a href={absUrl("/privacy")} className="pr-24 ui-footer-link">
448
- Cookies
449
- </a>
450
- <a href={absUrl("/legals")} className="pr-24 ui-footer-link">
451
- Legals
452
- </a>
453
- <a
454
- href={absUrl("/data-protection")}
455
- className="pr-24 ui-footer-link"
456
- >
457
- Data Protection
458
- </a>
459
- <a href={absUrl("/privacy")} className="ui-footer-link">
460
- Privacy
461
- </a>
462
- </div>
463
- </div>
464
- <div className="xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end">
465
- <div className="flex mr-24">
466
- <Icon
467
- name="icon-gui-tick"
468
- color="text-active-orange"
469
- size="1.5rem"
470
- additionalCSS="bg-white rounded-full mr-12 ui-footer-tick-icon"
471
- />
472
- <div>
473
- <p className="ui-footer-compliance-text font-bold whitespace-nowrap">
474
- SOC 2 Type 2
475
- </p>
476
- <p className="ui-footer-compliance-text font-medium mb-24">
477
- Certified
478
- </p>
479
- </div>
480
- </div>
481
- <div className="flex mr-24 md:col-start-2">
482
- <Icon
483
- name="icon-gui-tick"
484
- color="text-active-orange"
485
- size="1.5rem"
486
- additionalCSS="bg-white rounded-full mr-12 ui-footer-tick-icon"
487
- />
488
- <div>
489
- <p className="ui-footer-compliance-text font-bold whitespace-nowrap">
490
- HIPAA
491
- </p>
492
- <p className="ui-footer-compliance-text font-medium mb-24">
493
- Compliant
494
- </p>
495
- </div>
496
- </div>
497
- <div className="flex mr-24 md:col-start-3">
498
- <Icon
499
- name="icon-gui-tick"
500
- color="text-active-orange"
501
- size="1.5rem"
502
- additionalCSS="bg-white rounded-full mr-12 ui-footer-tick-icon"
503
- />
504
- <div>
505
- <p className="ui-footer-compliance-text font-bold whitespace-nowrap">
506
- EU GDPR
507
- </p>
508
- <p className="ui-footer-compliance-text font-medium mb-24">
509
- Certified
510
- </p>
511
- </div>
512
- </div>
513
- <div className="flex mr-24 md:col-start-4">
514
- <Icon
515
- name="icon-gui-tick"
516
- color="text-active-orange"
517
- size="1.5rem"
518
- additionalCSS="bg-white rounded-full mr-12 ui-footer-tick-icon"
519
- />
520
- <div>
521
- <p className="ui-footer-compliance-text font-bold whitespace-nowrap">
522
- 256-bit AES
523
- </p>
524
- <p className="ui-footer-compliance-text font-medium mb-24">
525
- Encryption
526
- </p>
527
- </div>
528
- </div>
529
- </div>
530
- </div>
531
- </footer>
532
- );
533
- };
534
-
535
- export default Footer;
@@ -1,151 +0,0 @@
1
- import React from "react";
2
- import Icon from "../Icon";
3
-
4
- export default {
5
- title: "Components/Icon",
6
- component: Icon,
7
- parameters: {
8
- layout: "fullscreen",
9
- },
10
- tags: ["autodocs"],
11
- };
12
-
13
- const coreIcons = [
14
- "icon-gui-ably-badge",
15
- "icon-gui-arrow-bidirectional-horizontal",
16
- "icon-gui-arrow-bidirectional-vertical",
17
- "icon-gui-arrow-down",
18
- "icon-gui-arrow-left",
19
- "icon-gui-arrow-right",
20
- "icon-gui-arrow-up",
21
- "icon-gui-burger-menu",
22
- "icon-gui-check-circled-fill",
23
- "icon-gui-check-circled-fill-black",
24
- "icon-gui-check-circled",
25
- "icon-gui-checklist-checked",
26
- "icon-gui-clock",
27
- "icon-gui-close",
28
- "icon-gui-cross-circled-fill",
29
- "icon-gui-cross-circled",
30
- "icon-gui-copy",
31
- "icon-gui-dash-circled",
32
- "icon-gui-disclosure-arrow",
33
- "icon-gui-document-generic",
34
- "icon-gui-enlarge",
35
- "icon-gui-external-link",
36
- "icon-gui-history",
37
- "icon-gui-info",
38
- "icon-gui-link-arrow",
39
- "icon-gui-live-chat",
40
- "icon-gui-minus",
41
- "icon-gui-partial",
42
- "icon-gui-plus",
43
- "icon-gui-quote-marks-solid",
44
- "icon-gui-refresh",
45
- "icon-gui-search",
46
- "icon-gui-tick",
47
- "icon-gui-warning",
48
- "icon-gui-link",
49
- "icon-gui-filter-flow-step-1",
50
- "icon-gui-filter-flow-step-2",
51
- "icon-gui-filter-flow-step-3",
52
- "icon-gui-resources",
53
- ];
54
-
55
- const displayIcons = [
56
- "icon-display-48hrs",
57
- "icon-display-about-ably-col",
58
- "icon-display-api",
59
- "icon-display-api-keys",
60
- "icon-display-asset-tracking-col",
61
- "icon-display-browser",
62
- "icon-display-calendar",
63
- "icon-display-call-mobile",
64
- "icon-display-careers-col",
65
- "icon-display-case-studies-col",
66
- "icon-display-chat-stack-col",
67
- "icon-display-cloud-servers",
68
- "icon-display-compare-tech-col",
69
- "icon-display-customers-col",
70
- "icon-display-docs-col",
71
- "icon-display-documentation",
72
- "icon-display-examples-col",
73
- "icon-display-gdpr",
74
- "icon-display-general-comms",
75
- "icon-display-hipaa",
76
- "icon-display-it-support-access",
77
- "icon-display-it-support-helpdesk",
78
- "icon-display-laptop",
79
- "icon-display-lightbulb-col",
80
- "icon-display-live-chat",
81
- "icon-display-map-pin",
82
- "icon-display-message",
83
- "icon-display-padlock-closed",
84
- "icon-display-platform",
85
- "icon-display-play",
86
- "icon-display-privacy-shield-framework",
87
- "icon-display-quickstart-guides-col",
88
- "icon-display-resources-col",
89
- "icon-display-sdks-col",
90
- "icon-display-servers",
91
- "icon-display-shopping-cart",
92
- "icon-display-sla",
93
- "icon-display-chat-col",
94
- "icon-display-soc2-type2",
95
- "icon-display-tech-account-comms",
96
- "icon-display-tutorials-demos-col",
97
- "icon-display-integrations-col",
98
- "icon-display-virtual-events-col",
99
- "icon-live-updates-results-metrics-col",
100
- "icon-multi-user-spaces-col",
101
- ];
102
-
103
- const socialIcons = [
104
- "discord",
105
- "facebook",
106
- "github",
107
- "glassdoor",
108
- "linkedin",
109
- "twitter",
110
- "google",
111
- "stackoverflow",
112
- "youtube",
113
- ];
114
-
115
- const otherIcons = ["quote"];
116
-
117
- const renderIcons = (iconSet: string[]) => (
118
- <div className="grid grid-cols-4 ui-grid-gap max-w-screen-lg mb-64">
119
- {iconSet.map((icon: string) => (
120
- <div className="border p-16" key={icon}>
121
- <code className="ui-text-code mb-8 block">{icon}</code>
122
- <div className="border inline-flex flex-0">
123
- <div className="flex pi-checkered-bg">
124
- <Icon
125
- name={icon}
126
- additionalCSS="hover:text-active-orange"
127
- color="text-cool-black"
128
- size="1.5rem"
129
- />
130
- </div>
131
- </div>
132
- </div>
133
- ))}
134
- </div>
135
- );
136
-
137
- export const GUIIcons = {
138
- render: () => renderIcons(coreIcons),
139
- };
140
-
141
- export const DisplayIcons = {
142
- render: () => renderIcons(displayIcons),
143
- };
144
-
145
- export const SocialIcons = {
146
- render: () => renderIcons(socialIcons),
147
- };
148
-
149
- export const Other = {
150
- render: () => renderIcons(otherIcons),
151
- };