@ably/ui 13.3.0 → 14.0.0-dev.3f64b93

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