@ably/ui 13.3.0 → 14.0.0-dev.fbce38f

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 (402) hide show
  1. package/README.md +25 -152
  2. package/core/Accordion/component.js +1 -0
  3. package/core/Code/component.css +1 -72
  4. package/core/Code/component.js +1 -1
  5. package/core/ConnectStateWrapper/component.js +1 -1
  6. package/core/ContactFooter/component.css +7 -10
  7. package/core/ContactFooter/component.js +1 -1
  8. package/core/CookieMessage/component.css +10 -13
  9. package/core/CookieMessage/component.js +1 -1
  10. package/core/CustomerLogos/component.js +1 -1
  11. package/core/DropdownMenu/component.js +1 -1
  12. package/core/FeaturedLink/component.js +1 -1
  13. package/core/Flash/component.css +19 -22
  14. package/core/Flash/component.js +1 -1
  15. package/core/Footer/component.css +22 -25
  16. package/core/Footer/component.js +1 -1
  17. package/core/Icon/component.js +1 -1
  18. package/core/Loader/component.js +1 -1
  19. package/core/Logo/component.js +1 -1
  20. package/core/Meganav/component.css +103 -106
  21. package/core/Meganav/component.js +1 -1
  22. package/core/MeganavBlogPostsList/component.js +1 -2
  23. package/core/MeganavContentCompany/component.js +1 -1
  24. package/core/MeganavContentDevelopers/component.js +1 -1
  25. package/core/MeganavContentProducts/component.js +1 -1
  26. package/core/MeganavContentUseCases/component.js +1 -1
  27. package/core/MeganavControl/component.js +1 -1
  28. package/core/MeganavControlMobileDropdown/component.js +1 -1
  29. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  30. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  31. package/core/MeganavItemsDesktop/component.js +1 -1
  32. package/core/MeganavItemsMobile/component.js +1 -1
  33. package/core/MeganavItemsSignedIn/component.js +1 -1
  34. package/core/MeganavSearch/component.js +1 -1
  35. package/core/MeganavSearchAutocomplete/component.js +1 -1
  36. package/core/MeganavSearchPanel/component.js +1 -1
  37. package/core/MeganavSearchSuggestions/component.js +1 -1
  38. package/core/Notice/component.css +4 -7
  39. package/core/Notice/component.js +1 -1
  40. package/core/SignOutLink/component.js +1 -1
  41. package/core/Slider/component.css +4 -7
  42. package/core/Slider/component.js +1 -1
  43. package/core/Table/Table.js +1 -0
  44. package/core/Table/TableCell.js +1 -0
  45. package/core/Table/TableRow.js +1 -0
  46. package/core/Table/index.js +1 -0
  47. package/core/Table/stories/data.js +1 -0
  48. package/core/Tooltip/component.js +1 -0
  49. package/core/css.js +1 -0
  50. package/core/dom-query.js +1 -0
  51. package/core/hubspot-chat-toggle.js +1 -0
  52. package/core/icons/discord.svg +10 -0
  53. package/core/icons/facebook.svg +4 -0
  54. package/core/icons/github.svg +3 -0
  55. package/core/icons/glassdoor.svg +3 -0
  56. package/core/icons/google.svg +3 -0
  57. package/core/icons/icon-display-48hrs.svg +3 -0
  58. package/core/icons/icon-display-about-ably-col.svg +4 -0
  59. package/core/icons/icon-display-api-keys.svg +3 -0
  60. package/core/icons/icon-display-api.svg +3 -0
  61. package/core/icons/icon-display-asset-tracking-col.svg +18 -0
  62. package/core/icons/icon-display-browser.svg +10 -0
  63. package/core/icons/icon-display-calendar.svg +3 -0
  64. package/core/icons/icon-display-call-mobile.svg +3 -0
  65. package/core/icons/icon-display-careers-col.svg +9 -0
  66. package/core/icons/icon-display-case-studies-col.svg +5 -0
  67. package/core/icons/icon-display-chat-col.svg +4 -0
  68. package/core/icons/icon-display-chat-stack-col.svg +4 -0
  69. package/core/icons/icon-display-chat-stack.svg +4 -0
  70. package/core/icons/icon-display-cloud-servers.svg +3 -0
  71. package/core/icons/icon-display-compare-tech-col.svg +9 -0
  72. package/core/icons/icon-display-customers-col.svg +15 -0
  73. package/core/icons/icon-display-data-broadcast-col.svg +26 -0
  74. package/core/icons/icon-display-data-synchronization-col.svg +14 -0
  75. package/core/icons/icon-display-docs-col.svg +7 -0
  76. package/core/icons/icon-display-documentation.svg +3 -0
  77. package/core/icons/icon-display-events-col.svg +13 -0
  78. package/core/icons/icon-display-examples-col.svg +11 -0
  79. package/core/icons/icon-display-gdpr.svg +3 -0
  80. package/core/icons/icon-display-general-comms.svg +3 -0
  81. package/core/icons/icon-display-hipaa.svg +10 -0
  82. package/core/icons/icon-display-integrations-col.svg +8 -0
  83. package/core/icons/icon-display-it-support-access.svg +3 -0
  84. package/core/icons/icon-display-it-support-helpdesk.svg +3 -0
  85. package/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  86. package/core/icons/icon-display-laptop.svg +10 -0
  87. package/core/icons/icon-display-lightbulb-col.svg +10 -0
  88. package/core/icons/icon-display-live-chat.svg +3 -0
  89. package/core/icons/icon-display-map-pin.svg +3 -0
  90. package/core/icons/icon-display-message.svg +3 -0
  91. package/core/icons/icon-display-padlock-closed.svg +3 -0
  92. package/core/icons/icon-display-platform.svg +22 -0
  93. package/core/icons/icon-display-play.svg +3 -0
  94. package/core/icons/icon-display-privacy-shield-framework.svg +7 -0
  95. package/core/icons/icon-display-push-notifications-col.svg +6 -0
  96. package/core/icons/icon-display-quickstart-guides-col.svg +8 -0
  97. package/core/icons/icon-display-resources-col.svg +21 -0
  98. package/core/icons/icon-display-sdks-col.svg +11 -0
  99. package/core/icons/icon-display-servers.svg +3 -0
  100. package/core/icons/icon-display-shopping-cart.svg +10 -0
  101. package/core/icons/icon-display-sla.svg +3 -0
  102. package/core/icons/icon-display-soc2-type2.svg +3 -0
  103. package/core/icons/icon-display-tech-account-comms.svg +3 -0
  104. package/core/icons/icon-display-tutorials-demos-col.svg +25 -0
  105. package/core/icons/icon-display-virtual-events-col.svg +12 -0
  106. package/core/icons/icon-display-virtual-events.svg +12 -0
  107. package/core/icons/icon-gui-ably-badge.svg +3 -0
  108. package/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +3 -0
  109. package/core/icons/icon-gui-arrow-bidirectional-vertical.svg +3 -0
  110. package/core/icons/icon-gui-arrow-down.svg +3 -0
  111. package/core/icons/icon-gui-arrow-left.svg +3 -0
  112. package/core/icons/icon-gui-arrow-right.svg +3 -0
  113. package/core/icons/icon-gui-arrow-up.svg +3 -0
  114. package/core/icons/icon-gui-burger-menu.svg +5 -0
  115. package/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  116. package/core/icons/icon-gui-check-circled-fill.svg +4 -0
  117. package/core/icons/icon-gui-check-circled.svg +3 -0
  118. package/core/icons/icon-gui-checklist-checked.svg +3 -0
  119. package/core/icons/icon-gui-clock.svg +3 -0
  120. package/core/icons/icon-gui-close.svg +3 -0
  121. package/core/icons/icon-gui-copy.svg +10 -0
  122. package/core/icons/icon-gui-cross-circled-fill.svg +4 -0
  123. package/core/icons/icon-gui-cross-circled.svg +3 -0
  124. package/core/icons/icon-gui-dash-circled.svg +3 -0
  125. package/core/icons/icon-gui-disclosure-arrow.svg +3 -0
  126. package/core/icons/icon-gui-document-generic.svg +3 -0
  127. package/core/icons/icon-gui-enlarge.svg +3 -0
  128. package/core/icons/icon-gui-external-link.svg +3 -0
  129. package/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  130. package/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  131. package/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  132. package/core/icons/icon-gui-history.svg +3 -0
  133. package/core/icons/icon-gui-info.svg +3 -0
  134. package/core/icons/icon-gui-link-arrow.svg +3 -0
  135. package/core/icons/icon-gui-link.svg +4 -0
  136. package/core/icons/icon-gui-live-chat.svg +3 -0
  137. package/core/icons/icon-gui-minus.svg +3 -0
  138. package/core/icons/icon-gui-plus.svg +3 -0
  139. package/core/icons/icon-gui-quote-marks-solid.svg +3 -0
  140. package/core/icons/icon-gui-refresh.svg +10 -0
  141. package/core/icons/icon-gui-resources.svg +3 -0
  142. package/core/icons/icon-gui-search.svg +3 -0
  143. package/core/icons/icon-gui-tick.svg +3 -0
  144. package/core/icons/icon-gui-warning.svg +5 -0
  145. package/core/icons/icon-live-updates-results-metrics-col.svg +26 -0
  146. package/core/icons/icon-multi-user-spaces-col.svg +13 -0
  147. package/core/icons/icon-social-x.svg +3 -0
  148. package/core/icons/icon-tech-apachekafka.svg +3 -0
  149. package/core/icons/linkedin.svg +3 -0
  150. package/core/icons/quote.svg +3 -0
  151. package/core/icons/stackoverflow.svg +3 -0
  152. package/core/icons/twitter.svg +3 -0
  153. package/core/icons/youtube.svg +11 -0
  154. package/core/icons.js +1 -0
  155. package/core/load-sprites.js +1 -0
  156. package/core/react-renderer.js +1 -0
  157. package/core/remote-blogs-posts.js +1 -0
  158. package/core/remote-data-store.js +1 -0
  159. package/core/remote-data-util.js +1 -0
  160. package/core/remote-session-data.js +1 -0
  161. package/core/scripts.js +1 -2
  162. package/core/sprites.svg +1 -525
  163. package/core/styles/buttons.css +122 -0
  164. package/core/styles/forms.css +62 -0
  165. package/core/styles/layout.css +19 -0
  166. package/core/styles/properties.css +276 -0
  167. package/core/styles/text.css +166 -0
  168. package/core/styles.base.css +1 -0
  169. package/core/styles.components.css +33 -0
  170. package/core/styles.css +2 -699
  171. package/core/url-base.js +1 -0
  172. package/core/utils/syntax-highlighter-registry.js +1 -0
  173. package/core/utils/syntax-highlighter.css +67 -0
  174. package/core/utils/syntax-highlighter.js +1 -0
  175. package/package.json +39 -34
  176. package/reset/scripts.js +1 -1
  177. package/reset/styles/normalize.css +353 -0
  178. package/reset/styles/reset.css +129 -0
  179. package/reset/styles.css +2 -477
  180. package/src/core/Accordion/Accordion.stories.tsx +39 -0
  181. package/src/core/Accordion/component.tsx +147 -0
  182. package/src/core/Code/Code.stories.tsx +71 -0
  183. package/src/core/Code/component.tsx +45 -0
  184. package/src/core/ConnectStateWrapper/{component.jsx → component.tsx} +7 -3
  185. package/src/core/ContactFooter/ContactFooter.stories.tsx +11 -0
  186. package/src/core/ContactFooter/component.css +7 -9
  187. package/src/core/ContactFooter/component.tsx +92 -0
  188. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  189. package/src/core/CookieMessage/component.css +10 -12
  190. package/src/core/CookieMessage/{component.jsx → component.tsx} +15 -10
  191. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  192. package/src/core/CustomerLogos/component.tsx +35 -0
  193. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  194. package/src/core/DropdownMenu/{component.jsx → component.tsx} +64 -36
  195. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  196. package/src/core/FeaturedLink/{component.jsx → component.tsx} +26 -18
  197. package/src/core/Flash/Flash.stories.tsx +37 -0
  198. package/src/core/Flash/component.css +19 -21
  199. package/src/core/Flash/{component.jsx → component.tsx} +78 -39
  200. package/src/core/Footer/Footer.stories.tsx +26 -0
  201. package/src/core/Footer/component.css +22 -24
  202. package/src/core/Footer/{component.jsx → component.tsx} +237 -70
  203. package/src/core/Icon/Icon.stories.tsx +150 -0
  204. package/src/core/Icon/component.tsx +26 -0
  205. package/src/core/Loader/Loader.stories.tsx +21 -0
  206. package/src/core/Loader/{component.jsx → component.tsx} +11 -8
  207. package/src/core/Logo/Logo.stories.tsx +12 -0
  208. package/src/core/Logo/component.tsx +29 -0
  209. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  210. package/src/core/Meganav/component.css +103 -105
  211. package/src/core/Meganav/component.js +6 -7
  212. package/src/core/Meganav/component.tsx +228 -0
  213. package/src/core/MeganavBlogPostsList/{component.jsx → component.tsx} +15 -14
  214. package/src/core/MeganavContentCompany/{component.jsx → component.tsx} +82 -33
  215. package/src/core/MeganavContentDevelopers/{component.jsx → component.tsx} +98 -34
  216. package/src/core/MeganavContentProducts/component.tsx +165 -0
  217. package/src/core/MeganavContentUseCases/component.tsx +244 -0
  218. package/src/core/MeganavControl/{component.jsx → component.tsx} +18 -12
  219. package/src/core/MeganavControlMobileDropdown/{component.jsx → component.tsx} +3 -7
  220. package/src/core/MeganavControlMobilePanelClose/{component.jsx → component.tsx} +16 -9
  221. package/src/core/MeganavControlMobilePanelOpen/component.tsx +32 -0
  222. package/src/core/MeganavItemsDesktop/component.tsx +68 -0
  223. package/src/core/MeganavItemsMobile/component.tsx +197 -0
  224. package/src/core/MeganavItemsSignedIn/{component.jsx → component.tsx} +59 -23
  225. package/src/core/MeganavSearch/component.tsx +36 -0
  226. package/src/core/MeganavSearchAutocomplete/component.tsx +12 -0
  227. package/src/core/MeganavSearchPanel/component.tsx +52 -0
  228. package/src/core/MeganavSearchSuggestions/component.tsx +62 -0
  229. package/src/core/Notice/component.css +4 -6
  230. package/src/core/Notice/component.js +1 -1
  231. package/src/core/Notice/component.tsx +104 -0
  232. package/src/core/SignOutLink/component.tsx +51 -0
  233. package/src/core/Slider/Slider.stories.tsx +45 -0
  234. package/src/core/Slider/component.css +4 -6
  235. package/src/core/Slider/component.tsx +112 -0
  236. package/src/core/Table/Table.tsx +30 -0
  237. package/src/core/Table/TableCell.tsx +84 -0
  238. package/src/core/Table/TableRow.tsx +25 -0
  239. package/src/core/Table/index.ts +24 -0
  240. package/src/core/Table/stories/Table.stories.tsx +12 -0
  241. package/src/core/Table/stories/data.tsx +113 -0
  242. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  243. package/src/core/Tooltip/component.tsx +60 -0
  244. package/src/core/icons.js +6 -0
  245. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  246. package/src/core/styles/buttons.css +121 -123
  247. package/src/core/styles/forms.css +49 -51
  248. package/src/core/styles/layout.css +14 -16
  249. package/src/core/styles/properties.css +250 -259
  250. package/src/core/styles/text.css +165 -167
  251. package/src/core/styles.components.css +22 -24
  252. package/src/core/utils/syntax-highlighter.css +55 -59
  253. package/src/pages/Buttons.mdx +121 -0
  254. package/src/pages/Chips.mdx +136 -0
  255. package/src/pages/Colour.mdx +23 -0
  256. package/src/pages/Forms.mdx +173 -0
  257. package/src/pages/Layout.mdx +58 -0
  258. package/src/pages/Typography.mdx +206 -0
  259. package/src/pages/utils.ts +70 -0
  260. package/tailwind.config.js +1 -7
  261. package/tailwind.extend.js +1 -1
  262. package/core/.gitignore +0 -1
  263. package/core/Code.jsx +0 -684
  264. package/core/CompanyAutocomplete/component.css +0 -46
  265. package/core/CompanyAutocomplete/component.js +0 -2
  266. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  267. package/core/ConnectStateWrapper.jsx +0 -222
  268. package/core/ContactFooter.jsx +0 -342
  269. package/core/CookieMessage.jsx +0 -204
  270. package/core/CustomerLogos.jsx +0 -144
  271. package/core/DropdownMenu.jsx +0 -313
  272. package/core/FeatureFooter/component.css +0 -13
  273. package/core/FeatureFooter/component.js +0 -1
  274. package/core/FeaturedLink.jsx +0 -241
  275. package/core/Flash.jsx +0 -622
  276. package/core/Footer.jsx +0 -587
  277. package/core/Icon.jsx +0 -152
  278. package/core/Loader.jsx +0 -154
  279. package/core/Logo.jsx +0 -147
  280. package/core/Meganav.jsx +0 -4151
  281. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  282. package/core/MeganavBlogPostsList.jsx +0 -296
  283. package/core/MeganavContentCompany.jsx +0 -1058
  284. package/core/MeganavContentDevelopers.jsx +0 -334
  285. package/core/MeganavContentProducts.jsx +0 -373
  286. package/core/MeganavContentUseCases.jsx +0 -341
  287. package/core/MeganavControl.jsx +0 -199
  288. package/core/MeganavControlMobileDropdown.jsx +0 -197
  289. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  290. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  291. package/core/MeganavItemsDesktop.jsx +0 -279
  292. package/core/MeganavItemsMobile.jsx +0 -689
  293. package/core/MeganavItemsSignedIn.jsx +0 -643
  294. package/core/MeganavSearch.jsx +0 -434
  295. package/core/MeganavSearchAutocomplete.jsx +0 -117
  296. package/core/MeganavSearchPanel.jsx +0 -386
  297. package/core/MeganavSearchSuggestions.jsx +0 -299
  298. package/core/Notice.jsx +0 -914
  299. package/core/Showcase/component.css +0 -31
  300. package/core/Showcase/component.js +0 -1
  301. package/core/Showcase.jsx +0 -17
  302. package/core/SignOutLink.jsx +0 -157
  303. package/core/Slider.jsx +0 -400
  304. package/core/Uptime/component.css +0 -128
  305. package/core/Uptime/component.js +0 -1
  306. package/core/Uptime.jsx +0 -895
  307. package/core/scripts.js.LICENSE.txt +0 -1
  308. package/preview/tmp/.keep +0 -0
  309. package/preview/tmp/pids/.keep +0 -0
  310. package/reset/.gitignore +0 -1
  311. package/src/core/Code/component.html.erb +0 -3
  312. package/src/core/Code/component.jsx +0 -31
  313. package/src/core/Code/component.rb +0 -12
  314. package/src/core/CompanyAutocomplete/component.css +0 -45
  315. package/src/core/CompanyAutocomplete/component.js +0 -204
  316. package/src/core/ContactFooter/component.html.erb +0 -32
  317. package/src/core/ContactFooter/component.jsx +0 -66
  318. package/src/core/ContactFooter/component.rb +0 -13
  319. package/src/core/CustomerLogos/component.html.erb +0 -9
  320. package/src/core/CustomerLogos/component.jsx +0 -28
  321. package/src/core/CustomerLogos/component.rb +0 -14
  322. package/src/core/FeatureFooter/component.css +0 -12
  323. package/src/core/FeatureFooter/component.html.erb +0 -54
  324. package/src/core/FeatureFooter/component.js +0 -7
  325. package/src/core/FeatureFooter/component.rb +0 -30
  326. package/src/core/FeaturedLink/component.html.erb +0 -15
  327. package/src/core/FeaturedLink/component.rb +0 -21
  328. package/src/core/Footer/component.html.erb +0 -256
  329. package/src/core/Footer/component.rb +0 -14
  330. package/src/core/Icon/component.html.erb +0 -3
  331. package/src/core/Icon/component.jsx +0 -19
  332. package/src/core/Icon/component.rb +0 -25
  333. package/src/core/Loader/component.html.erb +0 -18
  334. package/src/core/Loader/component.rb +0 -19
  335. package/src/core/Logo/component.html.erb +0 -3
  336. package/src/core/Logo/component.jsx +0 -20
  337. package/src/core/Logo/component.rb +0 -31
  338. package/src/core/Meganav/component.html.erb +0 -31
  339. package/src/core/Meganav/component.jsx +0 -123
  340. package/src/core/Meganav/component.rb +0 -60
  341. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  342. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  343. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  344. package/src/core/MeganavContentCompany/component.rb +0 -14
  345. package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
  346. package/src/core/MeganavContentDevelopers/component.rb +0 -13
  347. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  348. package/src/core/MeganavContentProducts/component.jsx +0 -105
  349. package/src/core/MeganavContentProducts/component.rb +0 -14
  350. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  351. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  352. package/src/core/MeganavContentUseCases/component.rb +0 -13
  353. package/src/core/MeganavControl/component.html.erb +0 -6
  354. package/src/core/MeganavControl/component.rb +0 -20
  355. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  356. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  357. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  358. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  359. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  360. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  361. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  362. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  363. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  364. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  365. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  366. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  367. package/src/core/MeganavItemsMobile/component.rb +0 -21
  368. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  369. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  370. package/src/core/MeganavSearch/component.html.erb +0 -15
  371. package/src/core/MeganavSearch/component.jsx +0 -33
  372. package/src/core/MeganavSearch/component.rb +0 -13
  373. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  374. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  375. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  376. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  377. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  378. package/src/core/MeganavSearchPanel/component.rb +0 -13
  379. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  380. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  381. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  382. package/src/core/Notice/component.html.erb +0 -16
  383. package/src/core/Notice/component.jsx +0 -71
  384. package/src/core/Notice/component.rb +0 -29
  385. package/src/core/Showcase/component.css +0 -30
  386. package/src/core/Showcase/component.html.erb +0 -76
  387. package/src/core/Showcase/component.js +0 -180
  388. package/src/core/Showcase/component.jsx +0 -0
  389. package/src/core/Showcase/component.rb +0 -190
  390. package/src/core/SignOutLink/component.html.erb +0 -1
  391. package/src/core/SignOutLink/component.jsx +0 -32
  392. package/src/core/SignOutLink/component.rb +0 -17
  393. package/src/core/Slider/component.html.erb +0 -28
  394. package/src/core/Slider/component.jsx +0 -86
  395. package/src/core/Slider/component.rb +0 -38
  396. package/src/core/Uptime/component.css +0 -127
  397. package/src/core/Uptime/component.html.erb +0 -0
  398. package/src/core/Uptime/component.js +0 -1
  399. package/src/core/Uptime/component.jsx +0 -183
  400. package/src/core/Uptime/component.rb +0 -7
  401. package/src/core/core.rb +0 -81
  402. /package/{preview/log/.keep → src/core/Accordion/component.js} +0 -0
@@ -1,90 +0,0 @@
1
- <div class="flex max-w-screen-xl mx-auto">
2
- <div class="ui-meganav-content-spacer"></div>
3
- <section class="grid grid-cols-12 ui-grid-gap-x w-full">
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
- <h3 class="ui-meganav-overline" id="meganav-company-panel-list-why-companies">Why companies choose Ably</h3>
6
- <ul aria-labelledby="meganav-company-panel-list-why-companies">
7
- <li>
8
- <%= link_to abs_url("/customers"), class: "ui-meganav-media-with-image group" do %>
9
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-customers-col", size: "2.5rem")) %>
10
- <div class="flex flex-col justify-center">
11
- <p class="ui-meganav-media-heading">Customers</p>
12
- <p class="ui-meganav-media-copy">Ably supports customers across multiple industries.</p>
13
- </div>
14
- <% end %>
15
- </li>
16
- <li>
17
- <%= link_to abs_url("/case-studies"), class: "ui-meganav-media-with-image group" do %>
18
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-case-studies-col", size: "2.5rem")) %>
19
- <div class="flex flex-col justify-center">
20
- <p class="ui-meganav-media-heading">Case studies</p>
21
- <p class="ui-meganav-media-copy">Discover how customers are benefiting from Ably.</p>
22
- </div>
23
- <% end %>
24
- </li>
25
- <li>
26
- <%= link_to abs_url("/compare"), class: "ui-meganav-media-with-image group" do %>
27
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-compare-tech-col", size: "2.5rem")) %>
28
- <div class="flex flex-col justify-center">
29
- <p class="ui-meganav-media-heading">Compare our tech</p>
30
- <p class="ui-meganav-media-copy">Choose the right realtime service.</p>
31
- </div>
32
- <% end %>
33
- </li>
34
- <li>
35
- <%= link_to abs_url("/aws"), class: "ui-meganav-media-with-image group" do %>
36
- <%= image_tag(aws_logo_path, alt: "AWS logo") %>
37
- <div class="flex flex-col justify-center">
38
- <p class="ui-meganav-media-heading">Partners</p>
39
- <p class="ui-meganav-media-copy">Ably collaborates and integrates with AWS.</p>
40
- </div>
41
- <% end %>
42
- </li>
43
- </ul>
44
- </div>
45
-
46
- <div class="col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
47
- <ul class="md:mt-40" aria-labelledby="meganav-company-panel-list-why-companies">
48
- <li>
49
- <%= link_to abs_url("/resources"), class: "ui-meganav-media-with-image group" do %>
50
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-resources-col", size: "2.5rem")) %>
51
- <div class="flex flex-col justify-center">
52
- <p class="ui-meganav-media-heading">Resources</p>
53
- <p class="ui-meganav-media-copy">Learn more about realtime with our handy resources.</p>
54
- </div>
55
- <% end %>
56
- </li>
57
- <li>
58
- <%= link_to abs_url("/about"), class: "ui-meganav-media-with-image group" do %>
59
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-about-ably-col", size: "2.5rem")) %>
60
- <div class="flex flex-col justify-center">
61
- <p class="ui-meganav-media-heading">About Ably</p>
62
- <p class="ui-meganav-media-copy">Find out more about Ably’s mission.</p>
63
- </div>
64
- <% end %>
65
- </li>
66
- <li>
67
- <%= link_to abs_url("/careers"), class: "ui-meganav-media-with-image group" do %>
68
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-careers-col", size: "2.5rem")) %>
69
- <div class="flex flex-col justify-center">
70
- <p class="ui-meganav-media-heading">Careers</p>
71
- <p class="ui-meganav-media-copy">Discover our open roles and core Ably values.</p>
72
- </div>
73
- <% end %>
74
- </li>
75
- <li>
76
- <%= link_to abs_url("/events"), class: "ui-meganav-media-with-image group" do %>
77
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-events-col", size: "2.5rem")) %>
78
- <div class="flex flex-col justify-center">
79
- <p class="ui-meganav-media-heading">Events</p>
80
- <p class="ui-meganav-media-copy">Join Ably at upcoming events.</p>
81
- </div>
82
- <% end %>
83
- </li>
84
- </ul>
85
- </div>
86
-
87
- <%= render(AblyUi::Core::MeganavBlogPostsList.new(url_base: url_base)) %>
88
- </section>
89
- <div class="ui-meganav-content-spacer"></div>
90
- </div>
@@ -1,14 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class MeganavContentCompany < ViewComponent::Base
4
- include Util
5
- include SharedAssets
6
-
7
- attr_reader :url_base
8
-
9
- def initialize(url_base:)
10
- @url_base = url_base
11
- end
12
- end
13
- end
14
- end
@@ -1,129 +0,0 @@
1
- <div class="flex max-w-screen-xl mx-auto">
2
- <div class="ui-meganav-content-spacer"></div>
3
- <section class="grid grid-cols-12 ui-grid-gap-x w-full">
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
- <h3 class="ui-meganav-overline uppercase" id="meganav-developers-panel-explore">
6
- Explore
7
- </h3>
8
- <ul aria-labelledby="meganav-developers-panel-explore">
9
- <li>
10
- <%= link_to abs_url("/docs"), class: "ui-meganav-media-with-image group" do %>
11
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-docs-col", size: "2.5rem")) %>
12
- <div class="flex flex-col justify-center">
13
- <p class="ui-meganav-media-heading">Documentation</p>
14
- <p class="ui-meganav-media-copy">Technical guides to help you build with Ably.</p>
15
- </div>
16
- <% end %>
17
- </li>
18
- <li>
19
- <%= link_to abs_url("/docs/quick-start-guide"), class: "ui-meganav-media-with-image group" do %>
20
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-quickstart-guides-col", size: "2.5rem")) %>
21
- <div class="flex flex-col justify-center">
22
- <p class="ui-meganav-media-heading">Quickstart guides</p>
23
- <p class="ui-meganav-media-copy">Documentation to help you get started quickly.</p>
24
- </div>
25
- <% end %>
26
- </li>
27
- <li>
28
- <%= link_to abs_url("/integrations"), class: "ui-meganav-media-with-image group" do %>
29
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-integrations-col", size: "2.5rem")) %>
30
- <div class="flex flex-col justify-center">
31
- <p class="ui-meganav-media-heading">Integrations</p>
32
- <p class="ui-meganav-media-copy">Find out more about Ably integrations. </p>
33
- </div>
34
- <% end %>
35
- </li>
36
- <li>
37
- <%= link_to abs_url("/examples"), class: "ui-meganav-media-with-image group" do %>
38
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-examples-col", size: "2.5rem")) %>
39
- <div class="flex flex-col justify-center">
40
- <p class="ui-meganav-media-heading">Live examples</p>
41
- <p class="ui-meganav-media-copy">Discover our features and their use cases.</p>
42
- </div>
43
- <% end %>
44
- </li>
45
- </ul>
46
- </div>
47
- <div class="col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0">
48
- <ul class="md:mt-40" aria-labelledby="meganav-developers-panel-explore">
49
- <li>
50
- <%= link_to abs_url("/docs/sdks"), class: "ui-meganav-media-with-image group" do %>
51
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-sdks-col", size: "2.5rem")) %>
52
- <div class="flex flex-col justify-center">
53
- <p class="ui-meganav-media-heading">SDKs</p>
54
- <p class="ui-meganav-media-copy">Download an SDK to help you build realtime apps faster.</p>
55
- </div>
56
- <% end %>
57
- </li>
58
- <li>
59
- <%= link_to abs_url("/tutorials"), class: "ui-meganav-media-with-image group" do %>
60
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-tutorials-demos-col", size: "2.5rem")) %>
61
- <div class="flex flex-col justify-center">
62
- <p class="ui-meganav-media-heading">Tutorials & Demos</p>
63
- <p class="ui-meganav-media-copy">Get stuck in with our hands-on resources. </p>
64
- </div>
65
- <% end %>
66
- </li>
67
- <li>
68
- <%= link_to abs_url("/reference-guide-chat"), class: "ui-meganav-media-with-image group" do %>
69
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-chat-col", size: "2.5rem")) %>
70
- <div class="flex flex-col justify-center">
71
- <p class="ui-meganav-media-heading">Chat apps reference guide</p>
72
- <p class="ui-meganav-media-copy">Learn how to build chat apps with Ably.</p>
73
- </div>
74
- <% end %>
75
- </li>
76
- <li>
77
- <%= link_to abs_url("/reference-guide-multiplayer"), class: "ui-meganav-media-with-image group" do %>
78
- <%= render(AblyUi::Core::Icon.new(name: "icon-multi-user-spaces-col", size: "2.5rem")) %>
79
- <div class="flex flex-col justify-center">
80
- <p class="ui-meganav-media-heading">Multiplayer reference guide</p>
81
- <p class="ui-meganav-media-copy">Learn how to build collaborative features with Ably.</p>
82
- </div>
83
- <% end %>
84
- </li>
85
- </ul>
86
- </div>
87
- <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">
88
- <h3 class="ui-meganav-overline uppercase" id="meganav-developers-panel-quick-links">
89
- Quick links
90
- </h3>
91
- <ul aria-labelledby="meganav-developers-panel-quick-links">
92
- <li>
93
- <%= link_to "https://discord.gg/jwBPhEZ9g5", class: "group ui-meganav-media py-12" do %>
94
- <p class="ui-meganav-media-heading">Discord</p>
95
- <% end %>
96
- </li>
97
- <li>
98
- <%= link_to "https://github.com/ably", class: "group ui-meganav-media py-12" do %>
99
- <p class="ui-meganav-media-heading">GitHub</p>
100
- <% end %>
101
- </li>
102
- <li>
103
- <%= link_to "https://changelog.ably.com/", class: "group ui-meganav-media py-12" do %>
104
- <p class="ui-meganav-media-heading">Changelog</p>
105
- <% end %>
106
- </li>
107
- <li>
108
- <a href="https://status.ably.com/" class="group ui-meganav-media py-12">
109
- <p class="ui-meganav-media-heading">
110
- Status<iframe
111
- src="https://status.ably.com/embed/icon"
112
- allowtransparency="true"
113
- frameborder="0"
114
- scrolling="no"
115
- class="w-24 h-24 ml-4 border-none pointer-events-none align-middle"
116
- ></iframe>
117
- </p>
118
- </a>
119
- </li>
120
- <li>
121
- <%= link_to abs_url("/support"), class: "group ui-meganav-media py-12" do %>
122
- <p class="ui-meganav-media-heading">Support & FAQs</p>
123
- <% end %>
124
- </li>
125
- </ul>
126
- </div>
127
- </section>
128
- <div class="ui-meganav-content-spacer"></div>
129
- </div>
@@ -1,13 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class MeganavContentDevelopers < ViewComponent::Base
4
- include AblyUi::Core::Util
5
-
6
- attr_reader :url_base
7
-
8
- def initialize(url_base:)
9
- @url_base = url_base
10
- end
11
- end
12
- end
13
- end
@@ -1,83 +0,0 @@
1
- <div class="flex max-w-screen-xl mx-auto">
2
- <div class="ui-meganav-content-spacer bg-extra-light-grey"></div>
3
- <section class="grid grid-cols-12 ui-grid-gap-x w-full">
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
- <div class="flex mb-20">
6
- <%= image_tag(ably_stack_path, alt: "Ably homepage") %>
7
- <h3 class="ui-meganav-overline ml-24">The Ably Platform</h3>
8
- </div>
9
-
10
- <p class="ui-text-p2 font-bold mb-24" style="max-width: 330px">
11
- Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything
12
- realtime, and lets you focus on your code.
13
- </p>
14
-
15
- <%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/platform"), text_size: 'text-p2')) do %>Explore how it works<% end %>
16
- </div>
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 bg-white">
19
- <h3 class="ui-meganav-overline" id="meganav-products-panel-list-examples">
20
- Products
21
- </h3>
22
- <ul class="mb-16" aria-labelledby="meganav-products-panel-list-examples">
23
- <li>
24
- <%= link_to abs_url("/solutions/channels"), class: "ui-meganav-media group" do %>
25
- <p class="ui-meganav-media-heading">Pub/Sub Channels</p>
26
- <p class="ui-meganav-media-copy">Build infinitely scalable realtime applications.</p>
27
- <% end %>
28
- </li>
29
- <li>
30
- <%= link_to abs_url("/spaces"), class: "ui-meganav-media group" do %>
31
- <p class="ui-meganav-media-heading">Spaces (Beta)</p>
32
- <p class="ui-meganav-media-copy">Create multi-user collaborative environments.</p>
33
- <% end %>
34
- </li>
35
- <li>
36
- <%= link_to abs_url("/livesync"), class: "ui-meganav-media group" do %>
37
- <p class="ui-meganav-media-heading">LiveSync (Early access)</p>
38
- <p class="ui-meganav-media-copy">Keep clients in sync with any relational database.</p>
39
- <% end %>
40
- </li>
41
- </ul>
42
- </div>
43
-
44
- <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">
45
- <h3 class="ui-meganav-overline" id="meganav-products-panel-list-our-technology">Technology</h3>
46
- <ul class="mb-16" aria-labelledby="meganav-products-panel-list-our-technology">
47
- <li>
48
- <%= link_to abs_url("/four-pillars-of-dependability#performance"), class: "ui-meganav-media group" do %>
49
- <p class="ui-meganav-media-heading">Predictable performance</p>
50
- <p class="ui-meganav-media-copy">A low-latency and high-throughput global network.</p>
51
- <% end %>
52
- </li>
53
- <li>
54
- <%= link_to abs_url("/four-pillars-of-dependability#integrity"), class: "ui-meganav-media group" do %>
55
- <p class="ui-meganav-media-heading">Guaranteed ordering & delivery</p>
56
- <p class="ui-meganav-media-copy">Data is delivered - in order - even after disconnections.</p>
57
- <% end %>
58
- </li>
59
- <li>
60
- <%= link_to abs_url("/four-pillars-of-dependability#reliability"), class: "ui-meganav-media group" do %>
61
- <p class="ui-meganav-media-heading">Fault tolerant infrastructure</p>
62
- <p class="ui-meganav-media-copy">Redundancy is built in at global and regional levels.</p>
63
- <% end %>
64
- </li>
65
- <li>
66
- <%= link_to abs_url("/four-pillars-of-dependability#availability"), class: "ui-meganav-media group" do %>
67
- <p class="ui-meganav-media-heading">High scalability & availability</p>
68
- <p class="ui-meganav-media-copy">Built for scale with legitimate 99.999% uptime SLAs.</p>
69
- <% end %>
70
- </li>
71
- <li>
72
- <%= link_to abs_url("/network"), class: "ui-meganav-media group" do %>
73
- <p class="ui-meganav-media-heading">Global edge network</p>
74
- <p class="ui-meganav-media-copy">An edge network of 15 core routing datacenters and 205+ PoPs.</p>
75
- <% end %>
76
- </li>
77
- </ul>
78
-
79
- <%= render(AblyUi::Core::FeaturedLink.new(url: abs_url("/four-pillars-of-dependability"), text_size: 'text-p3')) do %>Explore Four Pillars of Dependability<% end %>
80
- </div>
81
- </section>
82
- <div class="ui-meganav-content-spacer"></div>
83
- </div>
@@ -1,105 +0,0 @@
1
- import React from "react";
2
- import T from "prop-types";
3
-
4
- import FeaturedLink from "../FeaturedLink/component.jsx";
5
-
6
- const MeganavContentProducts = ({ paths, absUrl }) => (
7
- <div className="flex max-w-screen-xl mx-auto">
8
- <div className="ui-meganav-content-spacer bg-extra-light-grey"></div>
9
- <section className="grid grid-cols-12 ui-grid-gap-x w-full">
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
- <div className="flex mb-20">
12
- <img src={paths.ablyStack} alt="Ably homepage" />
13
- <h3 className="ui-meganav-overline ml-24">The Ably Platform</h3>
14
- </div>
15
- <p className="ui-text-p2 font-bold mb-24" style={{ maxWidth: "330px" }}>
16
- Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything
17
- realtime, and lets you focus on your code.
18
- </p>
19
-
20
- <FeaturedLink url={absUrl("/platform")} textSize="text-p2">
21
- Explore how it works
22
- </FeaturedLink>
23
- </div>
24
-
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">
26
- <h3 className="ui-meganav-overline" id="meganav-products-panel-list-examples">
27
- Products
28
- </h3>
29
- <ul className="mb-16" aria-labelledby="meganav-products-panel-list-examples">
30
- <li>
31
- <a href={absUrl("/solutions/channels")} className="group ui-meganav-media">
32
- <p className="ui-meganav-media-heading">Pub/Sub Channels</p>
33
- <p className="ui-meganav-media-copy">Build infinitely scalable realtime applications.</p>
34
- </a>
35
- </li>
36
- <li>
37
- <a href={absUrl("/spaces")} className="group ui-meganav-media">
38
- <p className="ui-meganav-media-heading">Spaces (Beta)</p>
39
- <p className="ui-meganav-media-copy">Create multi-user collaborative environments.</p>
40
- </a>
41
- </li>
42
- <li>
43
- <a href={absUrl("/livesync")} className="group ui-meganav-media">
44
- <p className="ui-meganav-media-heading">LiveSync (Early access)</p>
45
- <p className="ui-meganav-media-copy">Keep clients in sync with any relational database.</p>
46
- </a>
47
- </li>
48
- </ul>
49
- </div>
50
-
51
- <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">
52
- <h3 className="ui-meganav-overline" id="meganav-products-panel-list-our-technology">
53
- Technology
54
- </h3>
55
- <ul className="mb-16" aria-labelledby="meganav-products-panel-list-our-technology">
56
- <li>
57
- <a href={absUrl("/four-pillars-of-dependability#performance")} className="ui-meganav-media group">
58
- <p className="ui-meganav-media-heading">Predictable performance</p>
59
- <p className="ui-meganav-media-copy">A low-latency and high-throughput global network.</p>
60
- </a>
61
- </li>
62
- <li>
63
- <a href={absUrl("/four-pillars-of-dependability#integrity")} className="ui-meganav-media group">
64
- <p className="ui-meganav-media-heading">Guaranteed ordering & delivery</p>
65
- <p className="ui-meganav-media-copy">Data is delivered - in order - even after disconnections.</p>
66
- </a>
67
- </li>
68
- <li>
69
- <a href={absUrl("/four-pillars-of-dependability#reliability")} className="ui-meganav-media group">
70
- <p className="ui-meganav-media-heading">Fault tolerant infrastructure</p>
71
- <p className="ui-meganav-media-copy">Redundancy is built in at global and regional levels.</p>
72
- </a>
73
- </li>
74
- <li>
75
- <a href={absUrl("/four-pillars-of-dependability#availability")} className="ui-meganav-media group">
76
- <p className="ui-meganav-media-heading">High scalability & availability</p>
77
- <p className="ui-meganav-media-copy">Built for scale with legitimate 99.999% uptime SLAs.</p>
78
- </a>
79
- </li>
80
- <li>
81
- <a href={absUrl("/network")} className="ui-meganav-media group">
82
- <p className="ui-meganav-media-heading">Global edge network</p>
83
- <p className="ui-meganav-media-copy">An edge network of 15 core routing datacenters and 205+ PoPs.</p>
84
- </a>
85
- </li>
86
- </ul>
87
-
88
- <FeaturedLink url={absUrl("/four-pillars-of-dependability")} textSize="text-p3">
89
- Explore Four Pillars of Dependability
90
- </FeaturedLink>
91
- </div>
92
- </section>
93
- <div className="ui-meganav-content-spacer"></div>
94
- </div>
95
- );
96
-
97
- MeganavContentProducts.propTypes = {
98
- paths: T.shape({
99
- ablyStack: T.string,
100
- iconSprites: T.string,
101
- }),
102
- absUrl: T.func,
103
- };
104
-
105
- export default MeganavContentProducts;
@@ -1,14 +0,0 @@
1
- module AblyUi
2
- module Core
3
- class MeganavContentProducts < ViewComponent::Base
4
- include SharedAssets
5
- include Util
6
-
7
- attr_reader :url_base
8
-
9
- def initialize(url_base:)
10
- @url_base = url_base
11
- end
12
- end
13
- end
14
- end
@@ -1,135 +0,0 @@
1
- <div class="flex max-w-screen-xl mx-auto">
2
- <div class="ui-meganav-content-spacer bg-extra-light-grey"></div>
3
- <section class="grid grid-cols-12 ui-grid-gap-x w-full">
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
- <h3 class="ui-meganav-overline" id="meganav-use-cases-panel-use-cases">
6
- Solutions
7
- </h3>
8
- <ul aria-labelledby="meganav-use-cases-panel-industry-use-cases">
9
-
10
- <li>
11
- <%= link_to abs_url("/solutions/chat"), class: "ui-meganav-media-with-image group" do %>
12
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-chat-stack-col", size: "2.5rem")) %>
13
- <div class="flex flex-col justify-center">
14
- <p class="ui-meganav-media-heading">Live Chat</p>
15
- <p class="ui-meganav-media-copy">Deliver highly reliable chat experiences at scale.</p>
16
- </div>
17
- <% end %>
18
- </li>
19
- <li>
20
- <%= link_to abs_url("/solutions/multiplayer-collaboration"), class: "ui-meganav-media-with-image group" do %>
21
- <%= render(AblyUi::Core::Icon.new(name: "icon-multi-user-spaces-col", size: "2.5rem")) %>
22
- <div class="flex flex-col justify-center">
23
- <p class="ui-meganav-media-heading">Multiplayer Collaboration</p>
24
- <p class="ui-meganav-media-copy">Bring collaborative multiplayer experiences to your users.</p>
25
- </div>
26
- <% end %>
27
- </li>
28
- <li>
29
- <%= link_to abs_url("/solutions/data-broadcast"), class: "ui-meganav-media-with-image group" do %>
30
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-data-broadcast-col", size: "2.5rem")) %>
31
- <div class="flex flex-col justify-center">
32
- <p class="ui-meganav-media-heading">Data Broadcast</p>
33
- <p class="ui-meganav-media-copy">Broadcast realtime event data to millions of devices around the globe.</p>
34
- </div>
35
- <% end %>
36
- </li>
37
- <li>
38
- <%= link_to abs_url("/solutions/data-synchronization"), class: "ui-meganav-media-with-image group" do %>
39
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-data-synchronization-col", size: "2.5rem")) %>
40
- <div class="flex flex-col justify-center">
41
- <p class="ui-meganav-media-heading">Data Synchronization</p>
42
- <p class="ui-meganav-media-copy">Keep your frontend and backend in realtime sync, at global scale.</p>
43
- </div>
44
- <% end %>
45
- </li>
46
- <li>
47
- <%= link_to abs_url("/push-notifications"), class: "ui-meganav-media-with-image group" do %>
48
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-push-notifications-col", size: "2.5rem")) %>
49
- <div class="flex flex-col justify-center">
50
- <p class="ui-meganav-media-heading">Notifications</p>
51
- <p class="ui-meganav-media-copy">Deliver cross-platform push notifications with a simple unified API.</p>
52
- </div>
53
- <% end %>
54
- </li>
55
- <li>
56
- <%= link_to abs_url("/solutions/asset-tracking"), class: "ui-meganav-media-with-image group" do %>
57
- <%= render(AblyUi::Core::Icon.new(name: "icon-display-asset-tracking-col", size: "2.5rem")) %>
58
- <div class="flex flex-col justify-center">
59
- <p class="ui-meganav-media-heading">Asset Tracking (Beta)</p>
60
- <p class="ui-meganav-media-copy">Track assets in realtime with a solution optimised for last mile logistics.</p>
61
- </div>
62
- <% end %>
63
- </li>
64
- </ul>
65
- </div>
66
-
67
- <div class="col-span-full md:col-span-4 pt-24 pb-0 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
68
- <h3 class="ui-meganav-overline" id="meganav-use-cases-panel-industry">
69
- Industry
70
- </h3>
71
- <ul aria-labelledby="meganav-use-cases-panel-industry">
72
- <li>
73
- <%= link_to abs_url("/solutions/edtech"), class: "ui-meganav-media group" do %>
74
- <p class="ui-meganav-media-heading">EdTech</p>
75
- <p class="ui-meganav-media-copy">Deliver interactive learning experiences.</p>
76
- <% end %>
77
- </li>
78
- <li>
79
- <%= link_to abs_url("/solutions/fintech"), class: "ui-meganav-media group" do %>
80
- <p class="ui-meganav-media-heading">FinTech</p>
81
- <p class="ui-meganav-media-copy">Deliver personalised financial data in realtime.</p>
82
- <% end %>
83
- </li>
84
- <li>
85
- <%= link_to abs_url("/solutions/automotive-logistics-and-mobility"), class: "ui-meganav-media group" do %>
86
- <p class="ui-meganav-media-heading">Automotive, Logistics, & Mobility</p>
87
- <p class="ui-meganav-media-copy">Power diagnostics, order tracking and more.</p>
88
- <% end %>
89
- </li>
90
- <li>
91
- <%= link_to abs_url("/solutions/b2b-platforms"), class: "ui-meganav-media group" do %>
92
- <p class="ui-meganav-media-heading">B2B Platforms</p>
93
- <p class="ui-meganav-media-copy">Empower your customers with realtime solutions.</p>
94
- <% end %>
95
- </li>
96
- <li>
97
- <%= link_to abs_url("/solutions/healthcare"), class: "ui-meganav-media group" do %>
98
- <p class="ui-meganav-media-heading">Healthcare (HIPAA)</p>
99
- <p class="ui-meganav-media-copy">Provide trustworthy, HIPAA-compliant realtime apps.</p>
100
- <% end %>
101
- </li>
102
- </ul>
103
- </div>
104
-
105
- <div class="col-span-full md:col-span-4 pt-0 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white">
106
- <ul aria-labelledby="meganav-use-cases-panel-solutions" class="mt-0 md:mt-40">
107
- <li>
108
- <%= link_to abs_url("/solutions/ecommerce-and-retail"), class: "ui-meganav-media group" do %>
109
- <p class="ui-meganav-media-heading">eCommerce & Retail</p>
110
- <p class="ui-meganav-media-copy">Enrich customer experiences with realtime updates.</p>
111
- <% end %>
112
- </li>
113
- <li>
114
- <%= link_to abs_url("/solutions/sports-and-media"), class: "ui-meganav-media group" do %>
115
- <p class="ui-meganav-media-heading">Sports, Media & Audience Engagement</p>
116
- <p class="ui-meganav-media-copy">Deliver engaging global realtime experiences.</p>
117
- <% end %>
118
- </li>
119
- <li>
120
- <%= link_to abs_url("/solutions/gaming"), class: "ui-meganav-media group" do %>
121
- <p class="ui-meganav-media-heading">Gaming</p>
122
- <p class="ui-meganav-media-copy">Power ultra fast and reliable gaming experiences.</p>
123
- <% end %>
124
- </li>
125
- <li>
126
- <%= link_to abs_url("/solutions/iot-and-connected-devices"), class: "ui-meganav-media group" do %>
127
- <p class="ui-meganav-media-heading">IoT & Connected Devices</p>
128
- <p class="ui-meganav-media-copy">Monitor and control global IoT deployments in realtime.</p>
129
- <% end %>
130
- </li>
131
- </ul>
132
- </div>
133
- </section>
134
- <div class="ui-meganav-content-spacer"></div>
135
- </div>