@ably/ui 13.3.0 → 14.0.0-dev.1939f45

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 (501) 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 +0 -1
  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 +0 -1
  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 +0 -1
  26. package/core/Flash.js +1 -0
  27. package/core/Footer/.DS_Store +0 -0
  28. package/core/Footer/component.css +0 -1
  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 +2 -3
  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 +0 -1
  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 +32 -1
  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 +124 -0
  203. package/core/styles/forms.css +64 -0
  204. package/core/styles/layout.css +21 -0
  205. package/core/styles/properties.css +278 -0
  206. package/core/styles/text.css +168 -0
  207. package/core/styles.base.css +1 -0
  208. package/core/styles.components.css +35 -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 +74 -0
  213. package/core/utils/syntax-highlighter.js +1 -0
  214. package/package.json +39 -35
  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.jsx → ContactFooter.tsx} +44 -19
  231. package/src/core/CookieMessage/.DS_Store +0 -0
  232. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  233. package/src/core/{CookieMessage/component.jsx → CookieMessage.tsx} +15 -11
  234. package/src/core/CustomerLogos/.DS_Store +0 -0
  235. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  236. package/src/core/CustomerLogos.tsx +35 -0
  237. package/src/core/DropdownMenu/.DS_Store +0 -0
  238. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  239. package/src/core/{DropdownMenu/component.jsx → DropdownMenu.tsx} +64 -36
  240. package/src/core/Expander/Expander.stories.tsx +132 -0
  241. package/src/core/Expander.tsx +54 -0
  242. package/src/core/FeaturedLink/.DS_Store +0 -0
  243. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  244. package/src/core/{FeaturedLink/component.jsx → FeaturedLink.tsx} +26 -18
  245. package/src/core/Flash/.DS_Store +0 -0
  246. package/src/core/Flash/Flash.stories.tsx +37 -0
  247. package/src/core/{Flash/component.jsx → Flash.tsx} +77 -39
  248. package/src/core/Footer/.DS_Store +0 -0
  249. package/src/core/Footer/Footer.stories.tsx +26 -0
  250. package/src/core/{Footer/component.jsx → Footer.tsx} +236 -70
  251. package/src/core/Icon/.DS_Store +0 -0
  252. package/src/core/Icon/Icon.stories.tsx +151 -0
  253. package/src/core/Icon.tsx +26 -0
  254. package/src/core/Loader/.DS_Store +0 -0
  255. package/src/core/Loader/Loader.stories.tsx +21 -0
  256. package/src/core/{Loader/component.jsx → Loader.tsx} +11 -8
  257. package/src/core/Logo/.DS_Store +0 -0
  258. package/src/core/Logo/Logo.stories.tsx +12 -0
  259. package/src/core/Logo.tsx +29 -0
  260. package/src/core/Meganav/.DS_Store +0 -0
  261. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  262. package/src/core/Meganav/component.css +2 -2
  263. package/src/core/Meganav/component.js +6 -9
  264. package/src/core/Meganav.tsx +225 -0
  265. package/src/core/MeganavBlogPostsList/.DS_Store +0 -0
  266. package/src/core/{MeganavBlogPostsList/component.jsx → MeganavBlogPostsList.tsx} +15 -14
  267. package/src/core/{MeganavContentCompany/component.jsx → MeganavContentCompany.tsx} +82 -33
  268. package/src/core/{MeganavContentDevelopers/component.jsx → MeganavContentDevelopers.tsx} +98 -34
  269. package/src/core/MeganavContentProducts.tsx +165 -0
  270. package/src/core/MeganavContentUseCases.tsx +244 -0
  271. package/src/core/MeganavControl/.DS_Store +0 -0
  272. package/src/core/{MeganavControl/component.jsx → MeganavControl.tsx} +18 -12
  273. package/src/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  274. package/src/core/{MeganavControlMobileDropdown/component.jsx → MeganavControlMobileDropdown.tsx} +3 -7
  275. package/src/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  276. package/src/core/{MeganavControlMobilePanelClose/component.jsx → MeganavControlMobilePanelClose.tsx} +15 -9
  277. package/src/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  278. package/src/core/MeganavControlMobilePanelOpen.tsx +31 -0
  279. package/src/core/MeganavItemsDesktop.tsx +68 -0
  280. package/src/core/MeganavItemsMobile.tsx +197 -0
  281. package/src/core/{MeganavItemsSignedIn/component.jsx → MeganavItemsSignedIn.tsx} +55 -23
  282. package/src/core/MeganavSearch.tsx +36 -0
  283. package/src/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  284. package/src/core/MeganavSearchAutocomplete.tsx +12 -0
  285. package/src/core/MeganavSearchPanel.tsx +52 -0
  286. package/src/core/MeganavSearchSuggestions/.DS_Store +0 -0
  287. package/src/core/MeganavSearchSuggestions.tsx +62 -0
  288. package/src/core/Notice/.DS_Store +0 -0
  289. package/src/core/Notice/component.js +1 -2
  290. package/src/core/Notice.tsx +102 -0
  291. package/src/core/SignOutLink.tsx +51 -0
  292. package/src/core/Slider/.DS_Store +0 -0
  293. package/src/core/Slider/Slider.stories.tsx +98 -0
  294. package/src/core/Slider/component.css +32 -0
  295. package/src/core/Slider/component.js +0 -2
  296. package/src/core/Slider.tsx +192 -0
  297. package/src/core/Table/.DS_Store +0 -0
  298. package/src/core/Table/Table.stories.tsx +12 -0
  299. package/src/core/Table/Table.tsx +59 -0
  300. package/src/core/Table/TableCell.tsx +109 -0
  301. package/src/core/Table/TableRow.tsx +25 -0
  302. package/src/core/Table/data.tsx +113 -0
  303. package/src/core/Table.tsx +26 -0
  304. package/src/core/Tooltip/.DS_Store +0 -0
  305. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  306. package/src/core/Tooltip.tsx +88 -0
  307. package/src/core/icons/icon-gui-partial.svg +4 -0
  308. package/src/core/icons.js +6 -0
  309. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  310. package/src/core/scripts.js +0 -2
  311. package/src/core/styles/properties.css +0 -7
  312. package/src/core/utils/syntax-highlighter.css +3 -0
  313. package/src/pages/Buttons.mdx +121 -0
  314. package/src/pages/Chips.mdx +136 -0
  315. package/src/pages/Colour.mdx +23 -0
  316. package/src/pages/Forms.mdx +173 -0
  317. package/src/pages/Layout.mdx +58 -0
  318. package/src/pages/Typography.mdx +206 -0
  319. package/src/pages/utils.ts +70 -0
  320. package/tailwind.config.js +1 -7
  321. package/tailwind.extend.js +1 -1
  322. package/core/.gitignore +0 -1
  323. package/core/Code.jsx +0 -684
  324. package/core/CompanyAutocomplete/component.css +0 -46
  325. package/core/CompanyAutocomplete/component.js +0 -2
  326. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  327. package/core/ConnectStateWrapper/component.js +0 -1
  328. package/core/ConnectStateWrapper.jsx +0 -222
  329. package/core/ContactFooter.jsx +0 -342
  330. package/core/CookieMessage/component.js +0 -1
  331. package/core/CookieMessage.jsx +0 -204
  332. package/core/CustomerLogos/component.js +0 -1
  333. package/core/CustomerLogos.jsx +0 -144
  334. package/core/DropdownMenu/component.js +0 -1
  335. package/core/DropdownMenu.jsx +0 -313
  336. package/core/FeatureFooter/component.css +0 -13
  337. package/core/FeatureFooter/component.js +0 -1
  338. package/core/FeaturedLink/component.js +0 -1
  339. package/core/FeaturedLink.jsx +0 -241
  340. package/core/Flash/component.js +0 -1
  341. package/core/Flash.jsx +0 -622
  342. package/core/Footer/component.js +0 -1
  343. package/core/Footer.jsx +0 -587
  344. package/core/Icon/component.js +0 -1
  345. package/core/Icon.jsx +0 -152
  346. package/core/Loader/component.js +0 -1
  347. package/core/Loader.jsx +0 -154
  348. package/core/Logo/component.js +0 -1
  349. package/core/Logo.jsx +0 -147
  350. package/core/Meganav.jsx +0 -4151
  351. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  352. package/core/MeganavBlogPostsList.jsx +0 -296
  353. package/core/MeganavContentCompany/component.js +0 -1
  354. package/core/MeganavContentCompany.jsx +0 -1058
  355. package/core/MeganavContentDevelopers/component.js +0 -1
  356. package/core/MeganavContentDevelopers.jsx +0 -334
  357. package/core/MeganavContentProducts/component.js +0 -1
  358. package/core/MeganavContentProducts.jsx +0 -373
  359. package/core/MeganavContentUseCases/component.js +0 -1
  360. package/core/MeganavContentUseCases.jsx +0 -341
  361. package/core/MeganavControl.jsx +0 -199
  362. package/core/MeganavControlMobileDropdown.jsx +0 -197
  363. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  364. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  365. package/core/MeganavItemsDesktop/component.js +0 -1
  366. package/core/MeganavItemsDesktop.jsx +0 -279
  367. package/core/MeganavItemsMobile/component.js +0 -1
  368. package/core/MeganavItemsMobile.jsx +0 -689
  369. package/core/MeganavItemsSignedIn/component.js +0 -1
  370. package/core/MeganavItemsSignedIn.jsx +0 -643
  371. package/core/MeganavSearch/component.js +0 -1
  372. package/core/MeganavSearch.jsx +0 -434
  373. package/core/MeganavSearchAutocomplete.jsx +0 -117
  374. package/core/MeganavSearchPanel/component.js +0 -1
  375. package/core/MeganavSearchPanel.jsx +0 -386
  376. package/core/MeganavSearchSuggestions.jsx +0 -299
  377. package/core/Notice.jsx +0 -914
  378. package/core/Showcase/component.css +0 -31
  379. package/core/Showcase/component.js +0 -1
  380. package/core/Showcase.jsx +0 -17
  381. package/core/SignOutLink/component.js +0 -1
  382. package/core/SignOutLink.jsx +0 -157
  383. package/core/Slider.jsx +0 -400
  384. package/core/Uptime/component.css +0 -128
  385. package/core/Uptime/component.js +0 -1
  386. package/core/Uptime.jsx +0 -895
  387. package/core/scripts.js.LICENSE.txt +0 -1
  388. package/preview/log/.keep +0 -0
  389. package/preview/tmp/.keep +0 -0
  390. package/preview/tmp/pids/.keep +0 -0
  391. package/reset/.gitignore +0 -1
  392. package/src/core/Code/component.html.erb +0 -3
  393. package/src/core/Code/component.jsx +0 -31
  394. package/src/core/Code/component.rb +0 -12
  395. package/src/core/CompanyAutocomplete/component.css +0 -45
  396. package/src/core/CompanyAutocomplete/component.js +0 -204
  397. package/src/core/ConnectStateWrapper/component.js +0 -0
  398. package/src/core/ContactFooter/component.html.erb +0 -32
  399. package/src/core/ContactFooter/component.rb +0 -13
  400. package/src/core/CookieMessage/component.js +0 -1
  401. package/src/core/CustomerLogos/component.html.erb +0 -9
  402. package/src/core/CustomerLogos/component.js +0 -0
  403. package/src/core/CustomerLogos/component.jsx +0 -28
  404. package/src/core/CustomerLogos/component.rb +0 -14
  405. package/src/core/DropdownMenu/component.js +0 -0
  406. package/src/core/FeatureFooter/component.css +0 -12
  407. package/src/core/FeatureFooter/component.html.erb +0 -54
  408. package/src/core/FeatureFooter/component.js +0 -7
  409. package/src/core/FeatureFooter/component.rb +0 -30
  410. package/src/core/FeaturedLink/component.html.erb +0 -15
  411. package/src/core/FeaturedLink/component.js +0 -0
  412. package/src/core/FeaturedLink/component.rb +0 -21
  413. package/src/core/Flash/component.js +0 -1
  414. package/src/core/Footer/component.html.erb +0 -256
  415. package/src/core/Footer/component.js +0 -1
  416. package/src/core/Footer/component.rb +0 -14
  417. package/src/core/Icon/component.html.erb +0 -3
  418. package/src/core/Icon/component.js +0 -0
  419. package/src/core/Icon/component.jsx +0 -19
  420. package/src/core/Icon/component.rb +0 -25
  421. package/src/core/Loader/component.html.erb +0 -18
  422. package/src/core/Loader/component.js +0 -0
  423. package/src/core/Loader/component.rb +0 -19
  424. package/src/core/Logo/component.html.erb +0 -3
  425. package/src/core/Logo/component.js +0 -0
  426. package/src/core/Logo/component.jsx +0 -20
  427. package/src/core/Logo/component.rb +0 -31
  428. package/src/core/Meganav/component.html.erb +0 -31
  429. package/src/core/Meganav/component.jsx +0 -123
  430. package/src/core/Meganav/component.rb +0 -60
  431. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  432. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  433. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  434. package/src/core/MeganavContentCompany/component.js +0 -0
  435. package/src/core/MeganavContentCompany/component.rb +0 -14
  436. package/src/core/MeganavContentDevelopers/component.html.erb +0 -129
  437. package/src/core/MeganavContentDevelopers/component.js +0 -0
  438. package/src/core/MeganavContentDevelopers/component.rb +0 -13
  439. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  440. package/src/core/MeganavContentProducts/component.js +0 -0
  441. package/src/core/MeganavContentProducts/component.jsx +0 -105
  442. package/src/core/MeganavContentProducts/component.rb +0 -14
  443. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  444. package/src/core/MeganavContentUseCases/component.js +0 -1
  445. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  446. package/src/core/MeganavContentUseCases/component.rb +0 -13
  447. package/src/core/MeganavControl/component.html.erb +0 -6
  448. package/src/core/MeganavControl/component.rb +0 -20
  449. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  450. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  451. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  452. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  453. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  454. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  455. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  456. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  457. package/src/core/MeganavItemsDesktop/component.js +0 -0
  458. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  459. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  460. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  461. package/src/core/MeganavItemsMobile/component.js +0 -0
  462. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  463. package/src/core/MeganavItemsMobile/component.rb +0 -21
  464. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  465. package/src/core/MeganavItemsSignedIn/component.js +0 -0
  466. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  467. package/src/core/MeganavSearch/component.html.erb +0 -15
  468. package/src/core/MeganavSearch/component.js +0 -0
  469. package/src/core/MeganavSearch/component.jsx +0 -33
  470. package/src/core/MeganavSearch/component.rb +0 -13
  471. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  472. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  473. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  474. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  475. package/src/core/MeganavSearchPanel/component.js +0 -0
  476. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  477. package/src/core/MeganavSearchPanel/component.rb +0 -13
  478. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  479. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  480. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  481. package/src/core/Notice/component.html.erb +0 -16
  482. package/src/core/Notice/component.jsx +0 -71
  483. package/src/core/Notice/component.rb +0 -29
  484. package/src/core/Showcase/component.css +0 -30
  485. package/src/core/Showcase/component.html.erb +0 -76
  486. package/src/core/Showcase/component.js +0 -180
  487. package/src/core/Showcase/component.jsx +0 -0
  488. package/src/core/Showcase/component.rb +0 -190
  489. package/src/core/SignOutLink/component.html.erb +0 -1
  490. package/src/core/SignOutLink/component.js +0 -0
  491. package/src/core/SignOutLink/component.jsx +0 -32
  492. package/src/core/SignOutLink/component.rb +0 -17
  493. package/src/core/Slider/component.html.erb +0 -28
  494. package/src/core/Slider/component.jsx +0 -86
  495. package/src/core/Slider/component.rb +0 -38
  496. package/src/core/Uptime/component.css +0 -127
  497. package/src/core/Uptime/component.html.erb +0 -0
  498. package/src/core/Uptime/component.js +0 -1
  499. package/src/core/Uptime/component.jsx +0 -183
  500. package/src/core/Uptime/component.rb +0 -7
  501. package/src/core/core.rb +0 -81
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+
3
+ type IconProps = {
4
+ name: string;
5
+ size?: string;
6
+ color?: string;
7
+ additionalCSS?: string;
8
+ };
9
+
10
+ const Icon = ({
11
+ name,
12
+ size = "0.75rem",
13
+ color = "",
14
+ additionalCSS = "",
15
+ ...additionalAttributes
16
+ }: IconProps) => (
17
+ <svg
18
+ className={`${color} ${additionalCSS}`}
19
+ style={{ width: size, height: size }}
20
+ {...additionalAttributes}
21
+ >
22
+ <use xlinkHref={`#sprite-${name}`} />
23
+ </svg>
24
+ );
25
+
26
+ export default Icon;
Binary file
@@ -0,0 +1,21 @@
1
+ import Loader from "../Loader";
2
+
3
+ export default {
4
+ title: "Components/Loader",
5
+ component: Loader,
6
+ tags: ["autodocs"],
7
+ };
8
+
9
+ export const Default = {};
10
+
11
+ export const ChangedRingColor = {
12
+ args: {
13
+ ringColor: "text-light-grey",
14
+ },
15
+ };
16
+
17
+ export const HalfSize = {
18
+ args: {
19
+ size: "0.75em",
20
+ },
21
+ };
@@ -1,7 +1,16 @@
1
1
  import React from "react";
2
- import T from "prop-types";
3
2
 
4
- const Loader = ({ ringColor = "text-dark-grey", size = "1.5rem", additionalCSS = "" }) => (
3
+ type LoaderProps = {
4
+ size?: string;
5
+ ringColor?: string;
6
+ additionalCSS?: string;
7
+ };
8
+
9
+ const Loader = ({
10
+ ringColor = "text-dark-grey",
11
+ size = "1.5rem",
12
+ additionalCSS = "",
13
+ }: LoaderProps) => (
5
14
  <svg
6
15
  className={`${ringColor} ${additionalCSS}`}
7
16
  style={{ width: size, height: size }}
@@ -40,10 +49,4 @@ const Loader = ({ ringColor = "text-dark-grey", size = "1.5rem", additionalCSS =
40
49
  </svg>
41
50
  );
42
51
 
43
- Loader.propTypes = {
44
- size: T.string,
45
- ringColor: T.string,
46
- additionalCSS: T.string,
47
- };
48
-
49
52
  export default Loader;
Binary file
@@ -0,0 +1,12 @@
1
+ import Logo from "../Logo";
2
+ import logoUrl from "../images/ably-logo.png";
3
+
4
+ export default {
5
+ title: "Components/Logo",
6
+ component: Logo,
7
+ args: {
8
+ logoUrl,
9
+ },
10
+ };
11
+
12
+ export const Default = {};
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+
3
+ type LogoProps = {
4
+ dataId: string;
5
+ logoUrl: string;
6
+ href?: string;
7
+ additionalImgAttrs?: object;
8
+ additionalLinkAttrs?: object;
9
+ };
10
+
11
+ const Logo = ({
12
+ dataId,
13
+ logoUrl,
14
+ href = "/",
15
+ additionalImgAttrs,
16
+ additionalLinkAttrs,
17
+ }: LogoProps) => (
18
+ <a
19
+ href={href}
20
+ data-id={dataId}
21
+ className="block"
22
+ style={{ height: "2.125rem" }}
23
+ {...additionalLinkAttrs}
24
+ >
25
+ <img src={logoUrl} width="108px" alt="Ably logo" {...additionalImgAttrs} />
26
+ </a>
27
+ );
28
+
29
+ export default React.memo(Logo);
Binary file
@@ -0,0 +1,86 @@
1
+ import React, { useEffect } from "react";
2
+ import { rest } from "msw";
3
+
4
+ import Meganav from "../Meganav";
5
+ import loadIcons from "../icons.js";
6
+ import logo from "../images/ably-logo.png";
7
+ import ablyStack from "../images/ably-stack.svg";
8
+ import awsLogo from "../images/icon-tech-aws.svg";
9
+
10
+ import {
11
+ attachStoreToWindow,
12
+ createRemoteDataStore,
13
+ getRemoteDataStore,
14
+ } from "../remote-data-store.js";
15
+ import { reducerBlogPosts, fetchBlogPosts } from "../remote-blogs-posts.js";
16
+ import {
17
+ reducerSessionData,
18
+ fetchSessionData,
19
+ } from "../remote-session-data.js";
20
+
21
+ export default {
22
+ title: "Components/Meganav",
23
+ component: Meganav,
24
+ parameters: {
25
+ layout: "fullscreen",
26
+ msw: [
27
+ rest.get("/api/me", (_req, res, ctx) => {
28
+ return res(ctx.json({}));
29
+ }),
30
+ rest.get("/api/blog", (_req, res, ctx) => {
31
+ return res(
32
+ ctx.json([
33
+ {
34
+ title: "Achieving exactly-once delivery with Ably",
35
+ link: "https://ably.com/blog/achieving-exactly-once-message-processing-with-ably",
36
+ pubDate: "Nov 17, 2020",
37
+ },
38
+ {
39
+ title:
40
+ "Why Ably integrates with functions instead of delivering them",
41
+ link: "https://ably.com/blog/why-we-dont-offer-functions",
42
+ pubDate: "Jul 28, 2020",
43
+ },
44
+ {
45
+ title: "Adventures in BEAM optimization with our MQTT adapter",
46
+ link: "https://ably.com/blog/beam-optimization-mqtt",
47
+ pubDate: "Jul 17, 2020",
48
+ },
49
+ ])
50
+ );
51
+ }),
52
+ ],
53
+ },
54
+ };
55
+
56
+ attachStoreToWindow(
57
+ createRemoteDataStore({
58
+ ...reducerBlogPosts,
59
+ ...reducerSessionData,
60
+ })
61
+ );
62
+
63
+ const Page = () => {
64
+ useEffect(() => {
65
+ loadIcons();
66
+
67
+ const store = getRemoteDataStore();
68
+
69
+ fetchSessionData(store, "/api/me");
70
+ fetchBlogPosts(store, "/api/blog");
71
+ }, []);
72
+
73
+ return (
74
+ <Meganav
75
+ paths={{
76
+ logo,
77
+ ablyStack,
78
+ awsLogo,
79
+ }}
80
+ />
81
+ );
82
+ };
83
+
84
+ export const Default = {
85
+ render: () => <Page />,
86
+ };
@@ -51,7 +51,7 @@
51
51
  }
52
52
 
53
53
  .ui-meganav-link {
54
- @apply text-menu2 font-bold block font-sans;
54
+ @apply text-menu2 font-bold font-sans;
55
55
  @apply mr-12 lg:mr-24 px-0 py-20;
56
56
  @apply hover:text-gui-hover focus:text-gui-focus focus:outline-none;
57
57
  @apply transition-colors;
@@ -63,7 +63,7 @@
63
63
 
64
64
  .ui-meganav-mobile-link {
65
65
  @apply p-menu-row relative -left-8 w-extend-8;
66
- @apply text-menu2 font-bold font-mono font-medium block text-cool-black text-left;
66
+ @apply text-menu2 font-mono font-medium block text-cool-black text-left;
67
67
  @apply flex items-center;
68
68
  @apply focus:text-gui-focus focus:outline-none;
69
69
  }
@@ -1,7 +1,5 @@
1
1
  import throttle from "lodash.throttle";
2
2
 
3
- import "./component.css";
4
-
5
3
  // Glossary:
6
4
  // item - is the element which contains both the control and the panel - these are adjacent
7
5
  // control - interactive element that controls showing and hiding of dropdown or panel
@@ -12,13 +10,12 @@ import "./component.css";
12
10
 
13
11
  import { queryId, queryIdAll } from "../dom-query";
14
12
 
15
- import MeganavControl from "../MeganavControl/component";
16
-
17
- import MeganavControlMobileDropdown from "../MeganavControlMobileDropdown/component";
18
- import MobilePanelOpenClick from "../MeganavControlMobilePanelOpen/component";
19
- import MobilePanelCloseClick from "../MeganavControlMobilePanelClose/component";
20
- import MeganavSearchAutocomplete from "../MeganavSearchAutocomplete/component";
21
- import MeganavSearchSuggestions from "../MeganavSearchSuggestions/component";
13
+ import MeganavControl from "../MeganavControl/component.js";
14
+ import MeganavControlMobileDropdown from "../MeganavControlMobileDropdown/component.js";
15
+ import MobilePanelOpenClick from "../MeganavControlMobilePanelOpen/component.js";
16
+ import MobilePanelCloseClick from "../MeganavControlMobilePanelClose/component.js";
17
+ import MeganavSearchAutocomplete from "../MeganavSearchAutocomplete/component.js";
18
+ import MeganavSearchSuggestions from "../MeganavSearchSuggestions/component.js";
22
19
 
23
20
  // Close menu when user clicks outside of viewport
24
21
  const windowOnBlur = (closeAll) => {
@@ -0,0 +1,225 @@
1
+ import React, { ReactNode, useEffect, useState } from "react";
2
+
3
+ import { connectState } from "./remote-data-store.js";
4
+ import { selectSessionData } from "./remote-session-data.js";
5
+
6
+ import Logo from "./Logo";
7
+ import MeganavData from "./Meganav/component.json";
8
+ import MeganavScripts from "./Meganav/component.js";
9
+ import MeganavItemsDesktop from "./MeganavItemsDesktop";
10
+ import MeganavItemsSignedIn from "./MeganavItemsSignedIn";
11
+ import MeganavItemsMobile from "./MeganavItemsMobile";
12
+ import Notice from "./Notice";
13
+ import _absUrl from "./url-base.js";
14
+ import MeganavContentProducts from "./MeganavContentProducts";
15
+ import MeganavContentUseCases from "./MeganavContentUseCases";
16
+ import MeganavContentCompany from "./MeganavContentCompany";
17
+ import MeganavContentDevelopers from "./MeganavContentDevelopers";
18
+ import MeganavSearch from "./MeganavSearch";
19
+
20
+ export type MeganavTheme = {
21
+ backgroundColor?: string;
22
+ textColor?: string;
23
+ buttonBackgroundColor?: string;
24
+ buttonTextColor?: string;
25
+ mobileMenuColor?: string;
26
+ logoTextColor?: string;
27
+ barShadow?: string;
28
+ };
29
+
30
+ export type AbsUrl = (path: string) => string;
31
+
32
+ export type MeganavPanels = {
33
+ [index: string]: ({ paths, absUrl }) => ReactNode;
34
+ };
35
+
36
+ export type MeganavSessionState = {
37
+ signedIn: boolean;
38
+ logOut: {
39
+ token: string;
40
+ href: string;
41
+ text: string;
42
+ };
43
+ accountName: string;
44
+ preferredEmail: string;
45
+ account: {
46
+ links: {
47
+ dashboard: {
48
+ href: string;
49
+ };
50
+ };
51
+ };
52
+ mySettings: {
53
+ text: string;
54
+ href: string;
55
+ };
56
+ myAccessTokens: {
57
+ text: string;
58
+ href: string;
59
+ };
60
+ };
61
+
62
+ type SignInProps = {
63
+ sessionState: MeganavSessionState;
64
+ theme: MeganavTheme;
65
+ loginLink: string;
66
+ absUrl: AbsUrl;
67
+ };
68
+
69
+ type MeganavProps = {
70
+ paths?: {
71
+ logo: string;
72
+ iconSprites: string;
73
+ ablyStack: string;
74
+ blogThumb1: string;
75
+ blogThumb2: string;
76
+ blogThumb3: string;
77
+ };
78
+
79
+ themeName: "white" | "black" | "transparentToWhite";
80
+ notice?: {
81
+ props: {
82
+ title: string;
83
+ bodyText: string;
84
+ buttonLink: string;
85
+ buttonLabel: string;
86
+ closeBtn: boolean;
87
+ };
88
+ config: {
89
+ cookieId: string;
90
+ noticeId: string;
91
+ collapse: boolean;
92
+ };
93
+ };
94
+ loginLink?: string;
95
+ urlBase?: string;
96
+ addSearchApiKey: string;
97
+ };
98
+
99
+ const SignIn = ({ sessionState, theme, loginLink, absUrl }: SignInProps) => {
100
+ return sessionState.signedIn ? (
101
+ <MeganavItemsSignedIn
102
+ absUrl={absUrl}
103
+ sessionState={sessionState}
104
+ theme={theme}
105
+ />
106
+ ) : (
107
+ <ul className="hidden md:flex items-center">
108
+ <li className="ui-meganav-item">
109
+ <a
110
+ href={absUrl("/contact")}
111
+ className={`ui-meganav-link ${theme.textColor}`}
112
+ data-id="meganav-link"
113
+ >
114
+ Contact us
115
+ </a>
116
+ </li>
117
+ <li className="ui-meganav-item">
118
+ <a
119
+ href={absUrl(loginLink)}
120
+ className={`ui-meganav-link mr-0 ${theme.textColor}`}
121
+ data-id="meganav-link"
122
+ >
123
+ Login
124
+ </a>
125
+ </li>
126
+ <li className="ui-meganav-item">
127
+ <MeganavSearch absUrl={absUrl} />
128
+ </li>
129
+ <li className="ui-meganav-item">
130
+ <a
131
+ href={absUrl("/sign-up")}
132
+ data-id="meganav-sign-up-btn"
133
+ className={`ui-btn p-btn-small ${theme.buttonBackgroundColor} ${theme.buttonTextColor}`}
134
+ >
135
+ Sign up free
136
+ </a>
137
+ </li>
138
+ </ul>
139
+ );
140
+ };
141
+
142
+ const SignInPlaceholder = () => <div />;
143
+
144
+ const panels = {
145
+ MeganavContentProducts,
146
+ MeganavContentUseCases,
147
+ MeganavContentCompany,
148
+ MeganavContentDevelopers,
149
+ };
150
+
151
+ const Meganav = ({
152
+ paths,
153
+ themeName = "white",
154
+ notice,
155
+ loginLink = "/login",
156
+ urlBase,
157
+ addSearchApiKey,
158
+ }: MeganavProps) => {
159
+ const [sessionState, setSessionState] = useState<MeganavSessionState>();
160
+
161
+ useEffect(() => {
162
+ // Note if state is never updated, sessionState stays null and never removes the placeholder.
163
+ // This makes SSR consistent (ie. we always show the placeholder)
164
+ connectState(selectSessionData, setSessionState);
165
+ }, []);
166
+
167
+ useEffect(() => {
168
+ const teardown = MeganavScripts({ themeName, addSearchApiKey });
169
+ // TODO(jamiehenson): update this when JS assets are converted to TS
170
+ // @ts-expect-error: teardown parsed as Element from JS file, cannot be coerced into Function form
171
+ return () => teardown();
172
+ }, [sessionState]);
173
+
174
+ const theme = MeganavData.themes[themeName];
175
+ const absUrl = (path) => _absUrl(path, urlBase);
176
+
177
+ return (
178
+ <nav
179
+ className={`ui-meganav-wrapper ${theme.backgroundColor} ${theme.barShadow}`}
180
+ data-id="meganav"
181
+ aria-label="Main"
182
+ >
183
+ {notice && <Notice {...notice.props} config={notice.config} />}
184
+ <div className="ui-meganav ui-grid-px">
185
+ <div className="mr-24">
186
+ <Logo
187
+ dataId="meganav-logo"
188
+ href={urlBase}
189
+ logoUrl={paths?.logo ?? ""}
190
+ />
191
+ </div>
192
+
193
+ <MeganavItemsDesktop
194
+ panels={panels}
195
+ paths={paths}
196
+ theme={theme}
197
+ absUrl={absUrl}
198
+ />
199
+
200
+ {/* Because we load the session state through fetch, we display a placeholder until fetch returns */}
201
+ {sessionState ? (
202
+ <SignIn
203
+ sessionState={sessionState}
204
+ theme={theme}
205
+ loginLink={loginLink}
206
+ absUrl={absUrl}
207
+ />
208
+ ) : (
209
+ <SignInPlaceholder />
210
+ )}
211
+
212
+ <MeganavItemsMobile
213
+ panels={panels}
214
+ sessionState={sessionState}
215
+ paths={paths}
216
+ theme={theme}
217
+ loginLink={loginLink}
218
+ absUrl={absUrl}
219
+ />
220
+ </div>
221
+ </nav>
222
+ );
223
+ };
224
+
225
+ export default Meganav;
@@ -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;