@ably/ui 13.3.0 → 14.0.0-dev.0ed6be7

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 (503) hide show
  1. package/README.md +25 -152
  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/component.js +0 -1
  10. package/core/ConnectStateWrapper.js +1 -0
  11. package/core/ContactFooter/.DS_Store +0 -0
  12. package/core/ContactFooter/component.css +7 -10
  13. package/core/ContactFooter/component.js +1 -1
  14. package/core/ContactFooter.js +1 -0
  15. package/core/CookieMessage/.DS_Store +0 -0
  16. package/core/CookieMessage/component.css +10 -13
  17. package/core/CookieMessage/component.js +1 -1
  18. package/core/CookieMessage.js +1 -0
  19. package/core/CustomerLogos/.DS_Store +0 -0
  20. package/core/CustomerLogos/component.js +0 -1
  21. package/core/CustomerLogos.js +1 -0
  22. package/core/DropdownMenu/.DS_Store +0 -0
  23. package/core/DropdownMenu/component.js +0 -1
  24. package/core/DropdownMenu.js +1 -0
  25. package/core/FeaturedLink/.DS_Store +0 -0
  26. package/core/FeaturedLink/component.js +0 -1
  27. package/core/FeaturedLink.js +1 -0
  28. package/core/Flash/.DS_Store +0 -0
  29. package/core/Flash/component.css +19 -22
  30. package/core/Flash/component.js +1 -1
  31. package/core/Flash.js +1 -0
  32. package/core/Footer/.DS_Store +0 -0
  33. package/core/Footer/component.css +22 -25
  34. package/core/Footer/component.js +1 -1
  35. package/core/Footer.js +1 -0
  36. package/core/Icon/.DS_Store +0 -0
  37. package/core/Icon/component.js +0 -1
  38. package/core/Icon.js +1 -0
  39. package/core/Loader/.DS_Store +0 -0
  40. package/core/Loader/component.js +0 -1
  41. package/core/Loader.js +13 -0
  42. package/core/Logo/.DS_Store +0 -0
  43. package/core/Logo/component.js +0 -1
  44. package/core/Logo.js +1 -0
  45. package/core/Meganav/.DS_Store +0 -0
  46. package/core/Meganav/component.css +103 -106
  47. package/core/Meganav/component.js +1 -1
  48. package/core/Meganav.js +1 -0
  49. package/core/MeganavBlogPostsList/.DS_Store +0 -0
  50. package/core/MeganavBlogPostsList/component.js +1 -2
  51. package/core/MeganavBlogPostsList.js +1 -0
  52. package/core/MeganavContentCompany/.DS_Store +0 -0
  53. package/core/MeganavContentCompany/component.js +0 -1
  54. package/core/MeganavContentCompany.js +1 -0
  55. package/core/MeganavContentDevelopers/.DS_Store +0 -0
  56. package/core/MeganavContentDevelopers/component.js +0 -1
  57. package/core/MeganavContentDevelopers.js +1 -0
  58. package/core/MeganavContentProducts/.DS_Store +0 -0
  59. package/core/MeganavContentProducts/component.js +0 -1
  60. package/core/MeganavContentProducts.js +1 -0
  61. package/core/MeganavContentUseCases/.DS_Store +0 -0
  62. package/core/MeganavContentUseCases/component.js +0 -1
  63. package/core/MeganavContentUseCases.js +1 -0
  64. package/core/MeganavControl/.DS_Store +0 -0
  65. package/core/MeganavControl/component.js +1 -1
  66. package/core/MeganavControl.js +1 -0
  67. package/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  68. package/core/MeganavControlMobileDropdown/component.js +1 -1
  69. package/core/MeganavControlMobileDropdown.js +1 -0
  70. package/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  71. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  72. package/core/MeganavControlMobilePanelClose.js +1 -0
  73. package/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  74. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  75. package/core/MeganavControlMobilePanelOpen.js +1 -0
  76. package/core/MeganavItemsDesktop/.DS_Store +0 -0
  77. package/core/MeganavItemsDesktop/component.js +0 -1
  78. package/core/MeganavItemsDesktop.js +1 -0
  79. package/core/MeganavItemsMobile/.DS_Store +0 -0
  80. package/core/MeganavItemsMobile/component.js +0 -1
  81. package/core/MeganavItemsMobile.js +1 -0
  82. package/core/MeganavItemsSignedIn/.DS_Store +0 -0
  83. package/core/MeganavItemsSignedIn/component.js +0 -1
  84. package/core/MeganavItemsSignedIn.js +1 -0
  85. package/core/MeganavSearch/.DS_Store +0 -0
  86. package/core/MeganavSearch/component.js +0 -1
  87. package/core/MeganavSearch.js +1 -0
  88. package/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  89. package/core/MeganavSearchAutocomplete/component.js +1 -1
  90. package/core/MeganavSearchAutocomplete.js +1 -0
  91. package/core/MeganavSearchPanel/.DS_Store +0 -0
  92. package/core/MeganavSearchPanel/component.js +0 -1
  93. package/core/MeganavSearchPanel.js +1 -0
  94. package/core/MeganavSearchSuggestions/.DS_Store +0 -0
  95. package/core/MeganavSearchSuggestions/component.js +1 -1
  96. package/core/MeganavSearchSuggestions.js +1 -0
  97. package/core/Notice/.DS_Store +0 -0
  98. package/core/Notice/component.css +4 -7
  99. package/core/Notice/component.js +1 -1
  100. package/core/Notice.js +1 -0
  101. package/core/SignOutLink/.DS_Store +0 -0
  102. package/core/SignOutLink/component.js +0 -1
  103. package/core/SignOutLink.js +1 -0
  104. package/core/Slider/.DS_Store +0 -0
  105. package/core/Slider/component.css +4 -7
  106. package/core/Slider/component.js +1 -1
  107. package/core/Slider.js +1 -0
  108. package/core/Table/.DS_Store +0 -0
  109. package/core/Table/Table.js +1 -0
  110. package/core/Table/TableCell.js +7 -0
  111. package/core/Table/TableRow.js +1 -0
  112. package/core/Table/data.js +1 -0
  113. package/core/Table.js +1 -0
  114. package/core/Tooltip.js +1 -0
  115. package/core/css.js +1 -0
  116. package/core/dom-query.js +1 -0
  117. package/core/hubspot-chat-toggle.js +1 -0
  118. package/core/icons/discord.svg +10 -0
  119. package/core/icons/facebook.svg +4 -0
  120. package/core/icons/github.svg +3 -0
  121. package/core/icons/glassdoor.svg +3 -0
  122. package/core/icons/google.svg +3 -0
  123. package/core/icons/icon-display-48hrs.svg +3 -0
  124. package/core/icons/icon-display-about-ably-col.svg +4 -0
  125. package/core/icons/icon-display-api-keys.svg +3 -0
  126. package/core/icons/icon-display-api.svg +3 -0
  127. package/core/icons/icon-display-asset-tracking-col.svg +18 -0
  128. package/core/icons/icon-display-browser.svg +10 -0
  129. package/core/icons/icon-display-calendar.svg +3 -0
  130. package/core/icons/icon-display-call-mobile.svg +3 -0
  131. package/core/icons/icon-display-careers-col.svg +9 -0
  132. package/core/icons/icon-display-case-studies-col.svg +5 -0
  133. package/core/icons/icon-display-chat-col.svg +4 -0
  134. package/core/icons/icon-display-chat-stack-col.svg +4 -0
  135. package/core/icons/icon-display-chat-stack.svg +4 -0
  136. package/core/icons/icon-display-cloud-servers.svg +3 -0
  137. package/core/icons/icon-display-compare-tech-col.svg +9 -0
  138. package/core/icons/icon-display-customers-col.svg +15 -0
  139. package/core/icons/icon-display-data-broadcast-col.svg +26 -0
  140. package/core/icons/icon-display-data-synchronization-col.svg +14 -0
  141. package/core/icons/icon-display-docs-col.svg +7 -0
  142. package/core/icons/icon-display-documentation.svg +3 -0
  143. package/core/icons/icon-display-events-col.svg +13 -0
  144. package/core/icons/icon-display-examples-col.svg +11 -0
  145. package/core/icons/icon-display-gdpr.svg +3 -0
  146. package/core/icons/icon-display-general-comms.svg +3 -0
  147. package/core/icons/icon-display-hipaa.svg +10 -0
  148. package/core/icons/icon-display-integrations-col.svg +8 -0
  149. package/core/icons/icon-display-it-support-access.svg +3 -0
  150. package/core/icons/icon-display-it-support-helpdesk.svg +3 -0
  151. package/core/icons/icon-display-kafka-at-the-edge-col.svg +8 -0
  152. package/core/icons/icon-display-laptop.svg +10 -0
  153. package/core/icons/icon-display-lightbulb-col.svg +10 -0
  154. package/core/icons/icon-display-live-chat.svg +3 -0
  155. package/core/icons/icon-display-map-pin.svg +3 -0
  156. package/core/icons/icon-display-message.svg +3 -0
  157. package/core/icons/icon-display-padlock-closed.svg +3 -0
  158. package/core/icons/icon-display-platform.svg +22 -0
  159. package/core/icons/icon-display-play.svg +3 -0
  160. package/core/icons/icon-display-privacy-shield-framework.svg +7 -0
  161. package/core/icons/icon-display-push-notifications-col.svg +6 -0
  162. package/core/icons/icon-display-quickstart-guides-col.svg +8 -0
  163. package/core/icons/icon-display-resources-col.svg +21 -0
  164. package/core/icons/icon-display-sdks-col.svg +11 -0
  165. package/core/icons/icon-display-servers.svg +3 -0
  166. package/core/icons/icon-display-shopping-cart.svg +10 -0
  167. package/core/icons/icon-display-sla.svg +3 -0
  168. package/core/icons/icon-display-soc2-type2.svg +3 -0
  169. package/core/icons/icon-display-tech-account-comms.svg +3 -0
  170. package/core/icons/icon-display-tutorials-demos-col.svg +25 -0
  171. package/core/icons/icon-display-virtual-events-col.svg +12 -0
  172. package/core/icons/icon-display-virtual-events.svg +12 -0
  173. package/core/icons/icon-gui-ably-badge.svg +3 -0
  174. package/core/icons/icon-gui-arrow-bidirectional-horizontal.svg +3 -0
  175. package/core/icons/icon-gui-arrow-bidirectional-vertical.svg +3 -0
  176. package/core/icons/icon-gui-arrow-down.svg +3 -0
  177. package/core/icons/icon-gui-arrow-left.svg +3 -0
  178. package/core/icons/icon-gui-arrow-right.svg +3 -0
  179. package/core/icons/icon-gui-arrow-up.svg +3 -0
  180. package/core/icons/icon-gui-burger-menu.svg +5 -0
  181. package/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
  182. package/core/icons/icon-gui-check-circled-fill.svg +4 -0
  183. package/core/icons/icon-gui-check-circled.svg +3 -0
  184. package/core/icons/icon-gui-checklist-checked.svg +3 -0
  185. package/core/icons/icon-gui-clock.svg +3 -0
  186. package/core/icons/icon-gui-close.svg +3 -0
  187. package/core/icons/icon-gui-copy.svg +10 -0
  188. package/core/icons/icon-gui-cross-circled-fill.svg +4 -0
  189. package/core/icons/icon-gui-cross-circled.svg +3 -0
  190. package/core/icons/icon-gui-dash-circled.svg +3 -0
  191. package/core/icons/icon-gui-disclosure-arrow.svg +3 -0
  192. package/core/icons/icon-gui-document-generic.svg +3 -0
  193. package/core/icons/icon-gui-enlarge.svg +3 -0
  194. package/core/icons/icon-gui-external-link.svg +3 -0
  195. package/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
  196. package/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
  197. package/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
  198. package/core/icons/icon-gui-history.svg +3 -0
  199. package/core/icons/icon-gui-info.svg +3 -0
  200. package/core/icons/icon-gui-link-arrow.svg +3 -0
  201. package/core/icons/icon-gui-link.svg +4 -0
  202. package/core/icons/icon-gui-live-chat.svg +3 -0
  203. package/core/icons/icon-gui-minus.svg +3 -0
  204. package/core/icons/icon-gui-plus.svg +3 -0
  205. package/core/icons/icon-gui-quote-marks-solid.svg +3 -0
  206. package/core/icons/icon-gui-refresh.svg +10 -0
  207. package/core/icons/icon-gui-resources.svg +3 -0
  208. package/core/icons/icon-gui-search.svg +3 -0
  209. package/core/icons/icon-gui-tick.svg +3 -0
  210. package/core/icons/icon-gui-warning.svg +5 -0
  211. package/core/icons/icon-live-updates-results-metrics-col.svg +26 -0
  212. package/core/icons/icon-multi-user-spaces-col.svg +13 -0
  213. package/core/icons/icon-social-x.svg +3 -0
  214. package/core/icons/icon-tech-apachekafka.svg +3 -0
  215. package/core/icons/linkedin.svg +3 -0
  216. package/core/icons/quote.svg +3 -0
  217. package/core/icons/stackoverflow.svg +3 -0
  218. package/core/icons/twitter.svg +3 -0
  219. package/core/icons/youtube.svg +11 -0
  220. package/core/icons.js +1 -0
  221. package/core/load-sprites.js +1 -0
  222. package/core/react-renderer.js +1 -0
  223. package/core/remote-blogs-posts.js +1 -0
  224. package/core/remote-data-store.js +1 -0
  225. package/core/remote-data-util.js +1 -0
  226. package/core/remote-session-data.js +1 -0
  227. package/core/scripts.js +1 -2
  228. package/core/sprites.svg +1 -525
  229. package/core/styles/buttons.css +122 -0
  230. package/core/styles/forms.css +62 -0
  231. package/core/styles/layout.css +19 -0
  232. package/core/styles/properties.css +276 -0
  233. package/core/styles/text.css +166 -0
  234. package/core/styles.base.css +1 -0
  235. package/core/styles.components.css +33 -0
  236. package/core/styles.css +2 -699
  237. package/core/url-base.js +1 -0
  238. package/core/utils/syntax-highlighter-registry.js +1 -0
  239. package/core/utils/syntax-highlighter.css +67 -0
  240. package/core/utils/syntax-highlighter.js +1 -0
  241. package/package.json +38 -34
  242. package/reset/scripts.js +1 -1
  243. package/reset/styles/normalize.css +353 -0
  244. package/reset/styles/reset.css +129 -0
  245. package/reset/styles.css +2 -477
  246. package/src/.DS_Store +0 -0
  247. package/src/core/.DS_Store +0 -0
  248. package/src/core/Accordion/.DS_Store +0 -0
  249. package/src/core/Accordion/Accordion.stories.tsx +39 -0
  250. package/src/core/Accordion.tsx +147 -0
  251. package/src/core/Code/.DS_Store +0 -0
  252. package/src/core/Code/Code.stories.tsx +71 -0
  253. package/src/core/Code.tsx +45 -0
  254. package/src/core/{ConnectStateWrapper/component.jsx → ConnectStateWrapper.tsx} +7 -3
  255. package/src/core/ContactFooter/.DS_Store +0 -0
  256. package/src/core/ContactFooter/ContactFooter.stories.tsx +11 -0
  257. package/src/core/ContactFooter/component.css +7 -9
  258. package/src/core/ContactFooter.tsx +92 -0
  259. package/src/core/CookieMessage/.DS_Store +0 -0
  260. package/src/core/CookieMessage/CookieMessage.stories.tsx +12 -0
  261. package/src/core/CookieMessage/component.css +10 -12
  262. package/src/core/{CookieMessage/component.jsx → CookieMessage.tsx} +15 -10
  263. package/src/core/CustomerLogos/.DS_Store +0 -0
  264. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +43 -0
  265. package/src/core/CustomerLogos.tsx +35 -0
  266. package/src/core/DropdownMenu/.DS_Store +0 -0
  267. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +48 -0
  268. package/src/core/{DropdownMenu/component.jsx → DropdownMenu.tsx} +64 -36
  269. package/src/core/FeaturedLink/.DS_Store +0 -0
  270. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +43 -0
  271. package/src/core/{FeaturedLink/component.jsx → FeaturedLink.tsx} +26 -18
  272. package/src/core/Flash/.DS_Store +0 -0
  273. package/src/core/Flash/Flash.stories.tsx +37 -0
  274. package/src/core/Flash/component.css +19 -21
  275. package/src/core/{Flash/component.jsx → Flash.tsx} +78 -39
  276. package/src/core/Footer/.DS_Store +0 -0
  277. package/src/core/Footer/Footer.stories.tsx +26 -0
  278. package/src/core/Footer/component.css +22 -24
  279. package/src/core/{Footer/component.jsx → Footer.tsx} +237 -70
  280. package/src/core/Icon/.DS_Store +0 -0
  281. package/src/core/Icon/Icon.stories.tsx +150 -0
  282. package/src/core/Icon.tsx +26 -0
  283. package/src/core/Loader/.DS_Store +0 -0
  284. package/src/core/Loader/Loader.stories.tsx +21 -0
  285. package/src/core/{Loader/component.jsx → Loader.tsx} +11 -8
  286. package/src/core/Logo/.DS_Store +0 -0
  287. package/src/core/Logo/Logo.stories.tsx +12 -0
  288. package/src/core/Logo.tsx +29 -0
  289. package/src/core/Meganav/.DS_Store +0 -0
  290. package/src/core/Meganav/Meganav.stories.tsx +86 -0
  291. package/src/core/Meganav/component.css +103 -105
  292. package/src/core/Meganav/component.js +6 -7
  293. package/src/core/Meganav.tsx +228 -0
  294. package/src/core/MeganavBlogPostsList/.DS_Store +0 -0
  295. package/src/core/{MeganavBlogPostsList/component.jsx → MeganavBlogPostsList.tsx} +15 -14
  296. package/src/core/MeganavContentCompany/.DS_Store +0 -0
  297. package/src/core/{MeganavContentCompany/component.jsx → MeganavContentCompany.tsx} +82 -33
  298. package/src/core/MeganavContentDevelopers/.DS_Store +0 -0
  299. package/src/core/{MeganavContentDevelopers/component.jsx → MeganavContentDevelopers.tsx} +98 -34
  300. package/src/core/MeganavContentProducts/.DS_Store +0 -0
  301. package/src/core/MeganavContentProducts.tsx +165 -0
  302. package/src/core/MeganavContentUseCases/.DS_Store +0 -0
  303. package/src/core/MeganavContentUseCases.tsx +244 -0
  304. package/src/core/MeganavControl/.DS_Store +0 -0
  305. package/src/core/{MeganavControl/component.jsx → MeganavControl.tsx} +18 -12
  306. package/src/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  307. package/src/core/{MeganavControlMobileDropdown/component.jsx → MeganavControlMobileDropdown.tsx} +3 -7
  308. package/src/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  309. package/src/core/{MeganavControlMobilePanelClose/component.jsx → MeganavControlMobilePanelClose.tsx} +16 -9
  310. package/src/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  311. package/src/core/MeganavControlMobilePanelOpen.tsx +32 -0
  312. package/src/core/MeganavItemsDesktop/.DS_Store +0 -0
  313. package/src/core/MeganavItemsDesktop.tsx +68 -0
  314. package/src/core/MeganavItemsMobile/.DS_Store +0 -0
  315. package/src/core/MeganavItemsMobile.tsx +197 -0
  316. package/src/core/MeganavItemsSignedIn/.DS_Store +0 -0
  317. package/src/core/{MeganavItemsSignedIn/component.jsx → MeganavItemsSignedIn.tsx} +59 -23
  318. package/src/core/MeganavSearch/.DS_Store +0 -0
  319. package/src/core/MeganavSearch.tsx +36 -0
  320. package/src/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  321. package/src/core/MeganavSearchAutocomplete.tsx +12 -0
  322. package/src/core/MeganavSearchPanel/.DS_Store +0 -0
  323. package/src/core/MeganavSearchPanel.tsx +52 -0
  324. package/src/core/MeganavSearchSuggestions/.DS_Store +0 -0
  325. package/src/core/MeganavSearchSuggestions.tsx +62 -0
  326. package/src/core/Notice/.DS_Store +0 -0
  327. package/src/core/Notice/component.css +4 -6
  328. package/src/core/Notice/component.js +1 -1
  329. package/src/core/Notice.tsx +104 -0
  330. package/src/core/SignOutLink/.DS_Store +0 -0
  331. package/src/core/SignOutLink.tsx +51 -0
  332. package/src/core/Slider/.DS_Store +0 -0
  333. package/src/core/Slider/Slider.stories.tsx +45 -0
  334. package/src/core/Slider/component.css +4 -6
  335. package/src/core/Slider.tsx +112 -0
  336. package/src/core/Table/.DS_Store +0 -0
  337. package/src/core/Table/Table.stories.tsx +12 -0
  338. package/src/core/Table/Table.tsx +30 -0
  339. package/src/core/Table/TableCell.tsx +84 -0
  340. package/src/core/Table/TableRow.tsx +25 -0
  341. package/src/core/Table/data.tsx +113 -0
  342. package/src/core/Table.tsx +24 -0
  343. package/src/core/Tooltip/Tooltip.stories.tsx +27 -0
  344. package/src/core/Tooltip.tsx +60 -0
  345. package/src/core/icons.js +6 -0
  346. package/src/core/{react-renderer.js → react-renderer.tsx} +9 -7
  347. package/src/core/styles/buttons.css +121 -123
  348. package/src/core/styles/forms.css +49 -51
  349. package/src/core/styles/layout.css +14 -16
  350. package/src/core/styles/properties.css +250 -259
  351. package/src/core/styles/text.css +165 -167
  352. package/src/core/styles.components.css +22 -24
  353. package/src/core/utils/syntax-highlighter.css +55 -59
  354. package/src/pages/Buttons.mdx +121 -0
  355. package/src/pages/Chips.mdx +136 -0
  356. package/src/pages/Colour.mdx +23 -0
  357. package/src/pages/Forms.mdx +173 -0
  358. package/src/pages/Layout.mdx +58 -0
  359. package/src/pages/Typography.mdx +206 -0
  360. package/src/pages/utils.ts +70 -0
  361. package/tailwind.config.js +1 -7
  362. package/tailwind.extend.js +1 -1
  363. package/core/.gitignore +0 -1
  364. package/core/Code.jsx +0 -684
  365. package/core/CompanyAutocomplete/component.css +0 -46
  366. package/core/CompanyAutocomplete/component.js +0 -2
  367. package/core/CompanyAutocomplete/component.js.LICENSE.txt +0 -1
  368. package/core/ConnectStateWrapper.jsx +0 -222
  369. package/core/ContactFooter.jsx +0 -342
  370. package/core/CookieMessage.jsx +0 -204
  371. package/core/CustomerLogos.jsx +0 -144
  372. package/core/DropdownMenu.jsx +0 -313
  373. package/core/FeatureFooter/component.css +0 -13
  374. package/core/FeatureFooter/component.js +0 -1
  375. package/core/FeaturedLink.jsx +0 -241
  376. package/core/Flash.jsx +0 -622
  377. package/core/Footer.jsx +0 -587
  378. package/core/Icon.jsx +0 -152
  379. package/core/Loader.jsx +0 -154
  380. package/core/Logo.jsx +0 -147
  381. package/core/Meganav.jsx +0 -4151
  382. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  383. package/core/MeganavBlogPostsList.jsx +0 -296
  384. package/core/MeganavContentCompany.jsx +0 -1058
  385. package/core/MeganavContentDevelopers.jsx +0 -334
  386. package/core/MeganavContentProducts.jsx +0 -373
  387. package/core/MeganavContentUseCases.jsx +0 -341
  388. package/core/MeganavControl.jsx +0 -199
  389. package/core/MeganavControlMobileDropdown.jsx +0 -197
  390. package/core/MeganavControlMobilePanelClose.jsx +0 -198
  391. package/core/MeganavControlMobilePanelOpen.jsx +0 -193
  392. package/core/MeganavItemsDesktop.jsx +0 -279
  393. package/core/MeganavItemsMobile.jsx +0 -689
  394. package/core/MeganavItemsSignedIn.jsx +0 -643
  395. package/core/MeganavSearch.jsx +0 -434
  396. package/core/MeganavSearchAutocomplete.jsx +0 -117
  397. package/core/MeganavSearchPanel.jsx +0 -386
  398. package/core/MeganavSearchSuggestions.jsx +0 -299
  399. package/core/Notice.jsx +0 -914
  400. package/core/Showcase/component.css +0 -31
  401. package/core/Showcase/component.js +0 -1
  402. package/core/Showcase.jsx +0 -17
  403. package/core/SignOutLink.jsx +0 -157
  404. package/core/Slider.jsx +0 -400
  405. package/core/Uptime/component.css +0 -128
  406. package/core/Uptime/component.js +0 -1
  407. package/core/Uptime.jsx +0 -895
  408. package/core/scripts.js.LICENSE.txt +0 -1
  409. package/preview/tmp/pids/.keep +0 -0
  410. package/reset/.gitignore +0 -1
  411. package/src/core/Code/component.html.erb +0 -3
  412. package/src/core/Code/component.jsx +0 -31
  413. package/src/core/Code/component.rb +0 -12
  414. package/src/core/CompanyAutocomplete/component.css +0 -45
  415. package/src/core/CompanyAutocomplete/component.js +0 -204
  416. package/src/core/ContactFooter/component.html.erb +0 -32
  417. package/src/core/ContactFooter/component.jsx +0 -66
  418. package/src/core/ContactFooter/component.rb +0 -13
  419. package/src/core/CustomerLogos/component.html.erb +0 -9
  420. package/src/core/CustomerLogos/component.jsx +0 -28
  421. package/src/core/CustomerLogos/component.rb +0 -14
  422. package/src/core/FeatureFooter/component.css +0 -12
  423. package/src/core/FeatureFooter/component.html.erb +0 -54
  424. package/src/core/FeatureFooter/component.js +0 -7
  425. package/src/core/FeatureFooter/component.rb +0 -30
  426. package/src/core/FeaturedLink/component.html.erb +0 -15
  427. package/src/core/FeaturedLink/component.rb +0 -21
  428. package/src/core/Footer/component.html.erb +0 -256
  429. package/src/core/Footer/component.rb +0 -14
  430. package/src/core/Icon/component.html.erb +0 -3
  431. package/src/core/Icon/component.jsx +0 -19
  432. package/src/core/Icon/component.rb +0 -25
  433. package/src/core/Loader/component.html.erb +0 -18
  434. package/src/core/Loader/component.rb +0 -19
  435. package/src/core/Logo/component.html.erb +0 -3
  436. package/src/core/Logo/component.jsx +0 -20
  437. package/src/core/Logo/component.rb +0 -31
  438. package/src/core/Meganav/component.html.erb +0 -31
  439. package/src/core/Meganav/component.jsx +0 -123
  440. package/src/core/Meganav/component.rb +0 -60
  441. package/src/core/MeganavBlogPostsList/component.html.erb +0 -5
  442. package/src/core/MeganavBlogPostsList/component.rb +0 -13
  443. package/src/core/MeganavContentCompany/component.html.erb +0 -90
  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.rb +0 -13
  447. package/src/core/MeganavContentProducts/component.html.erb +0 -83
  448. package/src/core/MeganavContentProducts/component.jsx +0 -105
  449. package/src/core/MeganavContentProducts/component.rb +0 -14
  450. package/src/core/MeganavContentUseCases/component.html.erb +0 -135
  451. package/src/core/MeganavContentUseCases/component.jsx +0 -147
  452. package/src/core/MeganavContentUseCases/component.rb +0 -13
  453. package/src/core/MeganavControl/component.html.erb +0 -6
  454. package/src/core/MeganavControl/component.rb +0 -20
  455. package/src/core/MeganavControlMobileDropdown/component.html.erb +0 -7
  456. package/src/core/MeganavControlMobileDropdown/component.rb +0 -11
  457. package/src/core/MeganavControlMobilePanelClose/component.html.erb +0 -12
  458. package/src/core/MeganavControlMobilePanelClose/component.rb +0 -12
  459. package/src/core/MeganavControlMobilePanelOpen/component.html.erb +0 -7
  460. package/src/core/MeganavControlMobilePanelOpen/component.jsx +0 -25
  461. package/src/core/MeganavControlMobilePanelOpen/component.rb +0 -9
  462. package/src/core/MeganavItemsDesktop/component.html.erb +0 -17
  463. package/src/core/MeganavItemsDesktop/component.jsx +0 -49
  464. package/src/core/MeganavItemsDesktop/component.rb +0 -23
  465. package/src/core/MeganavItemsMobile/component.html.erb +0 -75
  466. package/src/core/MeganavItemsMobile/component.jsx +0 -137
  467. package/src/core/MeganavItemsMobile/component.rb +0 -21
  468. package/src/core/MeganavItemsSignedIn/component.html.erb +0 -53
  469. package/src/core/MeganavItemsSignedIn/component.rb +0 -33
  470. package/src/core/MeganavSearch/component.html.erb +0 -15
  471. package/src/core/MeganavSearch/component.jsx +0 -33
  472. package/src/core/MeganavSearch/component.rb +0 -13
  473. package/src/core/MeganavSearchAutocomplete/component.html.erb +0 -6
  474. package/src/core/MeganavSearchAutocomplete/component.jsx +0 -14
  475. package/src/core/MeganavSearchAutocomplete/component.rb +0 -6
  476. package/src/core/MeganavSearchPanel/component.html.erb +0 -22
  477. package/src/core/MeganavSearchPanel/component.jsx +0 -39
  478. package/src/core/MeganavSearchPanel/component.rb +0 -13
  479. package/src/core/MeganavSearchSuggestions/component.html.erb +0 -22
  480. package/src/core/MeganavSearchSuggestions/component.jsx +0 -49
  481. package/src/core/MeganavSearchSuggestions/component.rb +0 -18
  482. package/src/core/Notice/component.html.erb +0 -16
  483. package/src/core/Notice/component.jsx +0 -71
  484. package/src/core/Notice/component.rb +0 -29
  485. package/src/core/Showcase/component.css +0 -30
  486. package/src/core/Showcase/component.html.erb +0 -76
  487. package/src/core/Showcase/component.js +0 -180
  488. package/src/core/Showcase/component.jsx +0 -0
  489. package/src/core/Showcase/component.rb +0 -190
  490. package/src/core/SignOutLink/component.html.erb +0 -1
  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
  502. /package/{preview/log/.keep → core/Accordion/component.js} +0 -0
  503. /package/{preview/tmp/.keep → src/core/Accordion/component.js} +0 -0
@@ -1,34 +1,31 @@
1
- @layer components {
2
- .ui-footer-col-title {
3
- @apply font-mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
4
- }
1
+ .ui-footer-col-title {
2
+ @apply font-mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
3
+ }
5
4
 
6
- .ui-footer-menu-row-link {
7
- @apply text-menu3 text-cool-black font-sans font-medium hover:text-gui-hover block;
8
- }
5
+ .ui-footer-menu-row-link {
6
+ @apply text-menu3 text-cool-black font-sans font-medium hover:text-gui-hover block;
7
+ }
9
8
 
10
- .ui-footer-link {
11
- @apply text-gui-default hover:text-gui-hover text-menu3 font-sans font-medium;
12
- }
9
+ .ui-footer-link {
10
+ @apply text-gui-default hover:text-gui-hover text-menu3 font-sans font-medium;
11
+ }
13
12
 
14
- .ui-footer-compliance-text {
15
- font-size: 12px;
16
- }
13
+ .ui-footer-compliance-text {
14
+ font-size: 12px;
15
+ }
17
16
 
18
- .ui-footer-tick-icon {
19
- min-width: 1.5rem;
20
- }
17
+ .ui-footer-tick-icon {
18
+ min-width: 1.5rem;
19
+ }
21
20
 
22
- @media (max-width: 1040px) {
23
- .ui-footer-bottom-links {
24
- @apply pb-40;
25
- }
21
+ @media (max-width: 1040px) {
22
+ .ui-footer-bottom-links {
23
+ @apply pb-40;
26
24
  }
25
+ }
27
26
 
28
- @media screen {
29
- .ui-footer-glassdoor {
30
- display: none;
31
- }
27
+ @media screen {
28
+ .ui-footer-glassdoor {
29
+ display: none;
32
30
  }
33
31
  }
34
-
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Footer=o())}(this,(()=>(()=>{"use strict";var e={};return e.default})()));
1
+ import"./component.css";
package/core/Footer.js ADDED
@@ -0,0 +1 @@
1
+ import React from"react";import Icon from"../Icon/component.tsx";import _absUrl from"../url-base.js";import"./component.css";const Footer=({paths,urlBase})=>{const absUrl=path=>_absUrl(path,urlBase);return React.createElement("footer",{className:"bg-light-grey font-sans antialiased leading-normal","data-id":"footer"},React.createElement("div",{className:"max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6"},React.createElement("div",{className:"col-span-full md:col-span-2"},React.createElement("div",{className:"flex flex-row p-menu-row-snug"},React.createElement("img",{className:"mr-24 -mt-16",src:paths.ablyStack,alt:"Ably homepage"}),React.createElement("h2",{className:"ui-text-overline2 col-span-full"},"The Ably Platform")),React.createElement("div",{className:"md:col-span-4 md:w-3/4 xs:w-3/5 w-full"},React.createElement("p",{className:"ui-text-p3 font-bold py-16 p-menu-row-snug"},"Easily power any realtime experience in your application via a simple API that handles everything realtime.")),React.createElement("ul",{className:"grid grid-cols-1"},React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/channels"),className:"ui-footer-menu-row-link"},"Pub/sub messaging")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-footer-menu-row-link"},"Push notifications")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multiple protocol messaging")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"Ably is for"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-footer-menu-row-link"},"Ably Asset Tracking")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/extend-kafka-to-the-edge"),className:"ui-footer-menu-row-link"},"Extend Kafka to the edge")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-footer-menu-row-link"},"EdTech")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-footer-menu-row-link"},"Automotive, Logistics, & Mobility")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-footer-menu-row-link"},"B2B Platforms")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-footer-menu-row-link"},"Healthcare")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-footer-menu-row-link"},"eCommerce & Retail")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-footer-menu-row-link"},"Sports & Media")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-footer-menu-row-link"},"Gaming")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-footer-menu-row-link"},"IoT & Connected Devices")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"Developers"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-footer-menu-row-link"},"Start in 5 minutes")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/"),className:"ui-footer-menu-row-link"},"Documentation")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/tutorials"),className:"ui-footer-menu-row-link"},"Tutorials")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:"https://changelog.ably.com/",className:"ui-footer-menu-row-link"},"Changelog")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/support"),className:"ui-footer-menu-row-link"},"Support & FAQs")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-footer-menu-row-link"},"SDKs")),React.createElement("li",{className:"p-menu-row-snug flex items-center -mt-4"},React.createElement("a",{className:"pr-8 ui-footer-menu-row-link",href:"https://status.ably.com/"},"System status"),React.createElement("iframe",{className:"w-20 h-20 mb-2",src:"https://status.ably.com/embed/icon",style:{backgroundColor:"transparent"},frameBorder:"0",scrolling:"no",title:"System Status"})))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"WHY ABLY"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/customers"),className:"ui-footer-menu-row-link"},"Customers")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/case-studies"),className:"ui-footer-menu-row-link"},"Case Studies")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/four-pillars-of-dependability"),className:"ui-footer-menu-row-link"},"Four Pillars of Dependability")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/compare"),className:"ui-footer-menu-row-link"},"Compare our tech")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multi protocol support")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"ABOUT"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/about"),className:"ui-footer-menu-row-link"},"About Ably")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/pricing"),className:"ui-footer-menu-row-link"},"Pricing")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/blog"),className:"ui-footer-menu-row-link"},"Blog")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/careers"),className:"ui-footer-menu-row-link"},"Careers")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/open-policy"),className:"ui-footer-menu-row-link"},"Open protocol policy")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/press-center"),className:"ui-footer-menu-row-link"},"Press & Media")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/contact"),className:"ui-footer-menu-row-link"},"Contact us"))))),React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},React.createElement("hr",{className:"border-t border-mid-grey my-0"})),React.createElement("div",{className:"max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2"},React.createElement("div",{className:"md:flex md:items-center"},React.createElement("div",{className:"flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2"},React.createElement("div",{className:""},React.createElement("div",{className:"flex pb-24"},React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-twitter",href:"https://twitter.com/ablyrealtime",title:"Ably on X"},React.createElement(Icon,{name:"icon-social-x",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-linkedin",href:"https://www.linkedin.com/company/ably-realtime",title:"Ably on LinkedIn"},React.createElement(Icon,{name:"linkedin",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-github",href:"https://github.com/ably/",title:"Ably on Github"},React.createElement(Icon,{name:"github",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-discord",href:"https://discord.gg/jwBPhEZ9g5",title:"Ably on Discord"},React.createElement(Icon,{name:"discord",size:"1.5rem"})))),React.createElement("div",{className:"xs:hidden sm:block ui-footer-glassdoor"},React.createElement("div",{className:"flex sm:pt-24 md:pt-0 sm:border-t sm:border-l-0 md:border-t-0 md:border-l sm:border-mid-grey sm:w-3/4 md:w-full md:pl-24"},React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"h-24 text-cool-black hover:text-icon-glassdoor",title:"Ably reviews on glassdoor"},React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),React.createElement("div",{className:"pl-16 text-menu3 font-sans font-medium"},React.createElement("strong",{className:"block font-medium"},"We're hiring!"),React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"ui-footer-link"},"Learn more at Glassdoor"))))),React.createElement("div",{className:"xs:block sm:hidden"},React.createElement("div",{className:"border-t border-mid-grey w-full"}),React.createElement("div",{className:"flex py-24"},React.createElement("a",{className:"h-24 pr-16 text-cool-black hover:text-icon-glassdoor",href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",title:"Ably reviews on glassdoor"},React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),React.createElement("div",{className:"text-menu3 font-sans font-medium"},React.createElement("strong",{className:"block font-medium"},"We're hiring!"),React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"ui-footer-link"},"Learn more at Glassdoor"))))),React.createElement("div",{className:"col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center"},React.createElement("img",{className:"mr-24 h-80",src:paths.highestUserAdoption,alt:"Highest User Adoption 2023"}),React.createElement("img",{className:"mr-24 h-80",src:paths.bestSupport,alt:"Best Support 2023"}),React.createElement("img",{className:"mr-24 h-80",src:paths.fastestImplementation,alt:"Fastest Implementation 2023"}),React.createElement("img",{className:"mr-24 h-80",src:paths.highestPerformer,alt:"High Performer 2023"}))),React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},React.createElement("hr",{className:"border-t border-mid-grey my-0"})),React.createElement("div",{className:"max-w-screen-xl mx-auto py-24 sm:py-40 md:py-32 md:grid md:grid-cols-2 ui-grid-gap ui-grid-px"},React.createElement("div",{className:"flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links"},React.createElement("div",{className:"flex"},React.createElement("a",{href:absUrl("/privacy"),className:"pr-24 ui-footer-link"},"Cookies"),React.createElement("a",{href:absUrl("/legals"),className:"pr-24 ui-footer-link"},"Legals"),React.createElement("a",{href:absUrl("/data-protection"),className:"pr-24 ui-footer-link"},"Data Protection"),React.createElement("a",{href:absUrl("/privacy"),className:"ui-footer-link"},"Privacy"))),React.createElement("div",{className:"xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end"},React.createElement("div",{className:"flex mr-24"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"SOC 2 Type 2"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),React.createElement("div",{className:"flex mr-24 md:col-start-2"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"HIPAA"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Compliant"))),React.createElement("div",{className:"flex mr-24 md:col-start-3"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"EU GDPR"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),React.createElement("div",{className:"flex mr-24 md:col-start-4"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"256-bit AES"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Encryption"))))))};export default Footer;
Binary file
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Icon=o())}(this,(()=>({}.default)));
package/core/Icon.js ADDED
@@ -0,0 +1 @@
1
+ import React from"react";const Icon=({name,size="0.75rem",color="",additionalCSS="",...additionalAttributes})=>React.createElement("svg",{className:`${color} ${additionalCSS}`,style:{width:size,height:size},...additionalAttributes},React.createElement("use",{xlinkHref:`#sprite-${name}`}));export default Icon;
Binary file
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Loader=o())}(this,(()=>({}.default)));
package/core/Loader.js ADDED
@@ -0,0 +1,13 @@
1
+ import React from"react";const Loader=({ringColor="text-dark-grey",size="1.5rem",additionalCSS=""})=>React.createElement("svg",{className:`${ringColor} ${additionalCSS}`,style:{width:size,height:size},height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},React.createElement("style",{dangerouslySetInnerHTML:{__html:`
2
+ @keyframes chunk-animation {
3
+ to {
4
+ transform: rotate(360deg);
5
+ }
6
+ }
7
+
8
+ .chunk {
9
+ transform: rotate(0deg);
10
+ transform-origin: center;
11
+ animation: chunk-animation 0.6s cubic-bezier(.44,.15,.66,.98) forwards infinite;
12
+ }
13
+ `}}),React.createElement("path",{fill:"currentColor",d:"m12 1.99976c-1.9778 0-3.91121.58649-5.5557 1.6853s-2.92621 2.6606-3.68309 4.48786c-.75688 1.82728-.95491 3.83788-.56906 5.77778.38585 1.9398 1.33826 3.7216 2.73679 5.1201 1.39852 1.3985 3.18035 2.351 5.12016 2.7368 1.9398.3859 3.9505.1878 5.7777-.569 1.8273-.7569 3.3891-2.0387 4.4879-3.6831 1.0988-1.6445 1.6853-3.5779 1.6853-5.5557 0-1.3133-.2587-2.61362-.7612-3.82688-.5025-1.21325-1.2391-2.31565-2.1677-3.24423-.9286-.92859-2.031-1.66518-3.2443-2.16773-1.2132-.50255-2.5136-.7612-3.8268-.7612zm0 18.00004c-1.5822 0-3.12896-.4692-4.44456-1.3483-1.31559-.879-2.34097-2.1285-2.94647-3.5903s-.76393-3.0703-.45525-4.6222c.30868-1.55181 1.07061-2.97728 2.18943-4.0961s2.54428-1.88074 4.09615-2.18943c1.5518-.30868 3.1604-.15025 4.6222.45525s2.7112 1.63088 3.5903 2.94647c.879 1.3156 1.3482 2.86231 1.3482 4.44461 0 2.1217-.8428 4.1565-2.3431 5.6568s-3.5352 2.3432-5.6569 2.3432z",opacity:".5"}),React.createElement("path",{className:"chunk",d:"m20 11.9998h2c0-1.3133-.2587-2.61362-.7612-3.82688-.5026-1.21325-1.2391-2.31565-2.1677-3.24423-.9286-.92859-2.031-1.66518-3.2443-2.16773-1.2132-.50255-2.5136-.7612-3.8268-.7612v2c2.1217 0 4.1566.84285 5.6569 2.34314 1.5002 1.50029 2.3431 3.53512 2.3431 5.6569z",fill:"#ff5416"}));export default Loader;
Binary file
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Logo=o())}(this,(()=>({}.default)));
package/core/Logo.js ADDED
@@ -0,0 +1 @@
1
+ import React from"react";const Logo=({dataId,logoUrl,href="/",additionalImgAttrs,additionalLinkAttrs})=>React.createElement("a",{href:href,"data-id":dataId,className:"block",style:{height:"2.125rem"},...additionalLinkAttrs},React.createElement("img",{src:logoUrl,width:"108px",alt:"Ably logo",...additionalImgAttrs}));export default React.memo(Logo);
Binary file
@@ -1,115 +1,112 @@
1
- @layer components {
2
- .ui-meganav-wrapper {
3
- /* Define values for new stacking context defined by position: fixed */
4
- --stacking-context-meganav-dropdown: 10;
5
- --stacking-context-meganav-mobile-panel: 20;
6
-
7
- z-index: var(--stacking-context-page-meganav);
8
-
9
- @apply fixed top-0 w-full;
10
- @apply antialiased font-sans transition-colors;
11
- }
12
-
13
- .ui-meganav {
14
- height: var(--ui-meganav-height);
15
-
16
- @apply flex justify-between items-center max-w-screen-xl mx-auto;
17
- }
18
-
19
- .ui-meganav-panel,
20
- .ui-meganav-mobile-dropdown,
21
- .ui-meganav-panel-account {
22
- z-index: var(--stacking-context-meganav-dropdown);
23
-
24
- @apply absolute left-0 right-0;
25
- @apply border-mid-grey border-t shadow-container;
26
- }
27
-
28
- .ui-meganav-panel {
29
- @apply bg-white;
30
- }
31
-
32
- .ui-meganav-panel-mobile {
33
- z-index: var(--stacking-context-meganav-mobile-panel);
34
-
35
- /* Prevents momentum-based scrolling https://devdocs.io/css/-webkit-overflow-scrolling */
36
- -webkit-overflow-scrolling: auto;
37
-
38
- @apply bg-white pt-16 border-0;
39
- @apply border-mid-grey border-t shadow-container;
40
- @apply fixed top-64 left-0 right-0 overflow-y-auto;
41
- }
42
-
43
- .ui-meganav-panel-account {
44
- left: auto;
45
- min-width: 20rem;
46
- @apply bg-white rounded-t-none;
47
- }
48
-
49
- .ui-meganav-panel-split-bg {
50
- background: linear-gradient(to right, #fafafb 33%, white 33%, white 100%);
51
- }
52
-
53
- .ui-meganav-link {
54
- @apply text-menu2 font-bold block font-sans;
55
- @apply mr-12 lg:mr-24 px-0 py-20;
56
- @apply hover:text-gui-hover focus:text-gui-focus focus:outline-none;
57
- @apply transition-colors;
58
- }
59
-
60
- .ui-meganav-item {
61
- flex: 1 0 auto;
62
- }
63
-
64
- .ui-meganav-mobile-link {
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;
67
- @apply flex items-center;
68
- @apply focus:text-gui-focus focus:outline-none;
69
- }
70
-
71
- .ui-meganav-account-link {
72
- @apply block px-8 py-8 hover:bg-light-grey hover:text-gui-hover rounded relative -left-8 text-menu3 w-extend-8 font-bold font-mono;
73
- }
74
-
75
- .ui-meganav-content {
76
- @apply max-w-screen-xl py-24 lg:py-32 mx-auto;
77
- @apply grid grid-cols-1;
78
- @apply px-24 md:px-32 lg:px-32 xl:px-64;
79
- }
80
-
81
- /* This is implemented not as padding so we can change the color of just this space, while keeping the grid
82
- as close to the designs as possible */
83
- .ui-meganav-content-spacer {
84
- @apply hidden md:block md:w-32 lg:w-32 xl:w-64 self-stretch flex-shrink-0 flex-grow-0;
85
- }
1
+ .ui-meganav-wrapper {
2
+ /* Define values for new stacking context defined by position: fixed */
3
+ --stacking-context-meganav-dropdown: 10;
4
+ --stacking-context-meganav-mobile-panel: 20;
5
+
6
+ z-index: var(--stacking-context-page-meganav);
7
+
8
+ @apply fixed top-0 w-full;
9
+ @apply antialiased font-sans transition-colors;
10
+ }
11
+
12
+ .ui-meganav {
13
+ height: var(--ui-meganav-height);
86
14
 
87
- .ui-meganav-media {
88
- @apply block px-8 py-8 hover:bg-light-grey rounded relative -left-8 w-extend-8;
89
- }
15
+ @apply flex justify-between items-center max-w-screen-xl mx-auto;
16
+ }
90
17
 
91
- .ui-meganav-media-with-image {
92
- grid-template-columns: max-content 1fr;
93
- grid-template-rows: min-content 1fr;
18
+ .ui-meganav-panel,
19
+ .ui-meganav-mobile-dropdown,
20
+ .ui-meganav-panel-account {
21
+ z-index: var(--stacking-context-meganav-dropdown);
94
22
 
95
- @apply block px-8 py-8 hover:bg-light-grey rounded relative -left-8 w-extend-8;
96
- @apply grid gap-x-16;
97
- }
23
+ @apply absolute left-0 right-0;
24
+ @apply border-mid-grey border-t shadow-container;
25
+ }
98
26
 
99
- .ui-meganav-media-heading {
100
- @apply text-menu3 text-cool-black font-bold font-sans group-hover:text-gui-hover group-focus:text-gui-focus leading-normal;
101
- }
27
+ .ui-meganav-panel {
28
+ @apply bg-white;
29
+ }
102
30
 
103
- .ui-meganav-media-copy {
104
- @apply text-p3 font-sans font-medium text-dark-grey leading-normal;
105
- }
31
+ .ui-meganav-panel-mobile {
32
+ z-index: var(--stacking-context-meganav-mobile-panel);
106
33
 
107
- .ui-meganav-overline {
108
- @apply text-overline2 text-cool-black uppercase font-medium font-mono tracking-widen-0.16 p-overline;
109
- }
34
+ /* Prevents momentum-based scrolling https://devdocs.io/css/-webkit-overflow-scrolling */
35
+ -webkit-overflow-scrolling: auto;
36
+
37
+ @apply bg-white pt-16 border-0;
38
+ @apply border-mid-grey border-t shadow-container;
39
+ @apply fixed top-64 left-0 right-0 overflow-y-auto;
40
+ }
110
41
 
111
- .ui-meganav-hr {
112
- @apply my-0 text-mid-grey;
113
- }
42
+ .ui-meganav-panel-account {
43
+ left: auto;
44
+ min-width: 20rem;
45
+ @apply bg-white rounded-t-none;
114
46
  }
115
47
 
48
+ .ui-meganav-panel-split-bg {
49
+ background: linear-gradient(to right, #fafafb 33%, white 33%, white 100%);
50
+ }
51
+
52
+ .ui-meganav-link {
53
+ @apply text-menu2 font-bold font-sans;
54
+ @apply mr-12 lg:mr-24 px-0 py-20;
55
+ @apply hover:text-gui-hover focus:text-gui-focus focus:outline-none;
56
+ @apply transition-colors;
57
+ }
58
+
59
+ .ui-meganav-item {
60
+ flex: 1 0 auto;
61
+ }
62
+
63
+ .ui-meganav-mobile-link {
64
+ @apply p-menu-row relative -left-8 w-extend-8;
65
+ @apply text-menu2 font-mono font-medium block text-cool-black text-left;
66
+ @apply flex items-center;
67
+ @apply focus:text-gui-focus focus:outline-none;
68
+ }
69
+
70
+ .ui-meganav-account-link {
71
+ @apply block px-8 py-8 hover:bg-light-grey hover:text-gui-hover rounded relative -left-8 text-menu3 w-extend-8 font-bold font-mono;
72
+ }
73
+
74
+ .ui-meganav-content {
75
+ @apply max-w-screen-xl py-24 lg:py-32 mx-auto;
76
+ @apply grid grid-cols-1;
77
+ @apply px-24 md:px-32 lg:px-32 xl:px-64;
78
+ }
79
+
80
+ /* This is implemented not as padding so we can change the color of just this space, while keeping the grid
81
+ as close to the designs as possible */
82
+ .ui-meganav-content-spacer {
83
+ @apply hidden md:block md:w-32 lg:w-32 xl:w-64 self-stretch flex-shrink-0 flex-grow-0;
84
+ }
85
+
86
+ .ui-meganav-media {
87
+ @apply block px-8 py-8 hover:bg-light-grey rounded relative -left-8 w-extend-8;
88
+ }
89
+
90
+ .ui-meganav-media-with-image {
91
+ grid-template-columns: max-content 1fr;
92
+ grid-template-rows: min-content 1fr;
93
+
94
+ @apply block px-8 py-8 hover:bg-light-grey rounded relative -left-8 w-extend-8;
95
+ @apply grid gap-x-16;
96
+ }
97
+
98
+ .ui-meganav-media-heading {
99
+ @apply text-menu3 text-cool-black font-bold font-sans group-hover:text-gui-hover group-focus:text-gui-focus leading-normal;
100
+ }
101
+
102
+ .ui-meganav-media-copy {
103
+ @apply text-p3 font-sans font-medium text-dark-grey leading-normal;
104
+ }
105
+
106
+ .ui-meganav-overline {
107
+ @apply text-overline2 text-cool-black uppercase font-medium font-mono tracking-widen-0.16 p-overline;
108
+ }
109
+
110
+ .ui-meganav-hr {
111
+ @apply my-0 text-mid-grey;
112
+ }
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("addsearch-js-client"),require("lodash.throttle"),require("scroll-lock")):"function"==typeof define&&define.amd?define([,,],t):"object"==typeof exports?exports.AblyUi=t(require("addsearch-js-client"),require("lodash.throttle"),require("scroll-lock")):(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.Meganav=t(e[void 0],e[void 0],e[void 0]))}(this,((e,t,n)=>(()=>{"use strict";var r={2498:(e,t,n)=>{n.d(t,{default:()=>o});var r=n(9581);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}const o=function(){var e=Array.from((0,r.n)("meganav-control")),t=Array.from((0,r.n)("meganav-panel")),n=getComputedStyle(document.documentElement).getPropertyValue("--bp-md"),o=function(e){return"search"===e.dataset.control},i=function(t,r,o){if(window.matchMedia("(hover: hover) and (pointer: fine) and (min-width: ".concat(n,")")).matches&&!e.some((function(e){return e===document.activeElement}))&&!function(){var e=document.querySelector('[data-id="meganav-panel"]#panel-search');if(e)return!e.classList.contains("invisible")}()){var i,c=["invisible","visible"];(i=r.classList).replace.apply(i,function(e){if(Array.isArray(e))return a(e)}(l=o?c:c.reverse())||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(l)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(l)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),t.setAttribute("aria-expanded",o),t.dataset.hover=o}var l};return e.map((function(n){var a,c,l=n.parentNode,u=document.querySelector("#".concat(n.getAttribute("aria-controls"))),s=function(n,a){return function(){e.forEach((function(e){return e!==n&&e.setAttribute("aria-expanded",!1)})),t.forEach((function(e){return e!==a&&e.classList.replace("visible","invisible")}));var i=n.getAttribute("aria-expanded"),c="true"===n.dataset.hover;if("true"!==i||c?(n.setAttribute("aria-expanded",!0),a.classList.replace("invisible","visible")):(n.setAttribute("aria-expanded",!1),a.classList.replace("visible","invisible")),c&&(n.dataset.hover=!1),o(n)){var l=(0,r.A)("meganav-search-input",a);if(!l)return;l.focus()}else n.focus()}}(n,u);return n.addEventListener("click",s),o(n)||(a=function(e,t){return function(){return i(e,t,!0)}}(n,u),c=function(e,t){return function(){return i(e,t,!1)}}(n,u),l.addEventListener("mouseenter",a),l.addEventListener("mouseleave",c)),[{teardown:function(){a&&c&&(l.removeEventListener("mouseenter",a),l.removeEventListener("mouseleave",c)),n.removeEventListener("click",s)},clear:function(){n.setAttribute("aria-expanded",!1),u.classList.replace("visible","invisible")}}]})).flat()}},1792:(e,t,n)=>{n.d(t,{default:()=>i});var r=n(9042),a=n.n(r),o=n(9581);const i=function(e){var t=e.clearPanels,n=(0,o.A)("meganav-control-mobile-dropdown"),r=(0,o.A)("meganav-mobile-dropdown"),i=(0,o.A)("meganav-control-mobile-dropdown-menu"),c=(0,o.A)("meganav-control-mobile-dropdown-close"),l=function(){"false"===n.getAttribute("aria-expanded")?(r.classList.replace("invisible","visible"),n.setAttribute("aria-expanded",!0),a().disablePageScroll()):(r.classList.replace("visible","invisible"),n.setAttribute("aria-expanded",!1),a().enablePageScroll(),t()),i.classList.toggle("hidden"),c.classList.toggle("hidden")};return n.addEventListener("click",l),{teardown:function(){n.removeEventListener("click",l),a().enablePageScroll()},clear:function(){r.classList.replace("visible","invisible"),n.setAttribute("aria-expanded",!1),i.classList.remove("hidden"),c.classList.add("hidden"),a().enablePageScroll()}}}},7359:(e,t,n)=>{n.d(t,{default:()=>a});var r=n(9581);const a=function(){var e=Array.from((0,r.n)("meganav-control-mobile-panel-close")),t=Array.from((0,r.n)("meganav-control-mobile-panel-open"));return e.map((function(e){var n=t.find((function(t){return t.getAttribute("aria-controls")===e.getAttribute("aria-controls")})),r=document.querySelector("#".concat(e.getAttribute("aria-controls"))),a=function(e,t,n){return function(){e.setAttribute("aria-expanded",!1),t.setAttribute("aria-expanded",!1),n.classList.replace("block","hidden"),n.style.height=null}}(e,n,r);return e.addEventListener("click",a),{teardown:function(){return e.removeEventListener("click",a)},clear:function(){return e.setAttribute("aria-expanded",!1)}}}))}},9552:(e,t,n)=>{n.d(t,{default:()=>a});var r=n(9581);const a=function(){var e,t=Array.from((0,r.n)("meganav-control-mobile-panel-close")),n=Array.from((0,r.n)("meganav-control-mobile-panel-open")),a=(0,r.A)("meganav-mobile-dropdown"),o=(e=getComputedStyle(document.documentElement).getPropertyValue("--ui-meganav-height"),parseFloat(e)*parseFloat(getComputedStyle(document.documentElement).fontSize));return n.map((function(e){var n=t.find((function(t){return t.getAttribute("aria-controls")===e.getAttribute("aria-controls")})),r=document.querySelector("#".concat(e.getAttribute("aria-controls"))),i=function(e,t,n){return function(){e.setAttribute("aria-expanded",!0),t.setAttribute("aria-expanded",!0),n.classList.replace("hidden","block"),n.style.height="".concat(window.innerHeight-o>n.offsetHeight?n.offsetHeight:window.innerHeight-o,"px")}}(e,n,r);return e.addEventListener("click",i),{teardown:function(){return e.removeEventListener("click",i)},clear:function(){r.classList.replace("block","hidden"),a.classList.remove("ui-meganav-mobile-dropdown-expand"),e.setAttribute("aria-expanded",!1),r.style.height=null}}}))}},6364:(e,t,n)=>{n.d(t,{default:()=>c});var r=n(9581),a=n(3916),o=n.n(a),i=function(e){var t=e.input,n=e.container,r=e.listContainer,a=e.clear,o=e.client;o.setAnalyticsTag("Meganav autocomplete"),o.setThrottleTime(400);var i,c=function(){n.classList.add("hidden"),r.innerHTML=""},l=function(e){return window.location="/search?q=".concat(e)},u=function(e){var t=r.querySelector('[data-suggestion-index="'.concat(e+1,'"]'));t&&t.focus()},s=function(e){var i=e.target.value;"ArrowDown"!==e.key?i?o.suggestions(i,function(e){return function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(function(e){(e||"").length>0&&a?a.classList.remove("invisible"):a&&a.classList.add("invisible")}(e),Array.isArray(o.suggestions))if(0!==o.suggestions.length){var i=o.suggestions.map((function(n,a){var o=document.createElement("li"),i=document.createElement("button");return i.type="button",i.classList.add("ui-text-menu2","font-medium","p-8","w-full","text-left","rounded","hover:text-gui-hover","focus:outline-gui-focus","hover:bg-light-grey"),i.innerHTML=function(e,t){return e.replace(t.toLowerCase(),'<span class="font-light">'.concat(t,"</span>"))}(n.value,e),i.dataset.suggestionIndex=a,i.addEventListener("click",(function(){l(n.value)})),i.addEventListener("keydown",(function(e){var o=e.key;"ArrowDown"===o?u(a):"ArrowUp"===o&&a-1<0?t.focus():"ArrowUp"===o&&a-1>=0?function(e){var t=e-1,n=r.querySelector('[data-suggestion-index="'.concat(t,'"]'));n&&n.focus()}(a):"Enter"!==o&&"Space"!==o||l(n.value)})),o.appendChild(i),o}));r.innerHTML="",i.forEach((function(e){return r.appendChild(e)})),n.classList.remove("hidden")}else c();else c()}}(i)):c():u(0)};return a&&(i=function(){t.value="",a.classList.add("invisible"),c()},a.addEventListener("click",i)),t.addEventListener("keyup",s),{teardown:function(){t.removeEventListener("keyup",s),a&&a.removeEventListener("click",i)},clear:function(){t.value="",c()}}};const c=function(e){if(!e)return console.log("No AddSearch API key provided, skipping search suggestions."),[];var t=new(o())(e);return[(0,r.A)("meganav-search-input"),(0,r.A)("meganav-mobile-search-input")].filter((function(e){return e})).map((function(e){var n=e.parentNode,a=(0,r.A)("meganav-search-autocomplete-container",n),o=(0,r.A)("meganav-search-autocomplete-list",n),c=(0,r.A)("meganav-search-input-clear",n);return i({input:e,container:a,listContainer:o,client:t,clear:c})}))}},3169:(e,t,n)=>{n.d(t,{default:()=>d});var r=n(9581),a=function(e){return new DOMMatrix(window.getComputedStyle(e).transform).e},o=function(e,t){return e.style.transform="translateX(".concat(t,"px)")},i=function(e,t){return e>=t},c=function(e,t,n,r){return Math.abs(e-n+r)>t},l=function(e,t){var n;return(null===(n=e.changedTouches[0])||void 0===n?void 0:n.clientX)-t},u=function(e){return Math.abs(e)<5},s=function(e){return e.map((function(e){return e.getBoundingClientRect().width})).reduce((function(e,t){return e+t}),0)};const d=function(){var e,t=(0,r.A)("meganav-mobile-search-input"),n=(0,r.A)("meganav-mobile-search-suggestions"),d=n.querySelector("ul"),f=Array.from(d.querySelectorAll("li")),v=function(e,t){var n=a(d),r=Math.round(n+e);i(r,t)&&(r=0),o(d,r)},m=function(e,t){var n=d.getBoundingClientRect().width,r=a(d),i=s(f),l=Math.round(r+e);c(l,i,n,t)&&(l=-(i-n+t)),o(d,l)},p=function(t){var n;e=null===(n=t.touches[0])||void 0===n?void 0:n.clientX},g=function(t){var n=l(t,e);u(n)||(n>0?function(e,t){var n=a(d),r=Math.round(n+e);i(r,24)||o(d,r)}(n):function(e,t){var n=d.getBoundingClientRect().width,r=a(d),i=Math.round(r+e),l=s(f);c(i,l,n,96)||o(d,i)}(n))},b=function(t){var n=l(t,e);u(n)||(n>0?v(n,24):m(n,48))},h=function(){n.classList.add("max-h-96")},y=function(e){e.relatedTarget!==n.querySelectorAll("a")[0]&&n.classList.remove("max-h-96")};return t.addEventListener("focus",h),t.addEventListener("blur",y),n.addEventListener("touchstart",p),n.addEventListener("touchmove",g),n.addEventListener("touchend",b),n.addEventListener("wheel",(function(e){var t=4*e.deltaY;u(t)||(t>0?v(t,24):m(t,48))})),{teardown:function(){t.removeEventListener("focus",h),t.removeEventListener("blur",y),n.removeEventListener("touchstart",p),n.removeEventListener("touchmove",g),n.removeEventListener("touchend",b)},clear:function(){n.classList.remove("max-h-96"),d.style.transform="translateX(0px)"}}}},9581:(e,t,n)=>{n.d(t,{A:()=>r,n:()=>a});var r=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector("[data-id=".concat(e,"]"))},a=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll("[data-id=".concat(e,"]"))}},3916:t=>{t.exports=e},7326:e=>{e.exports=t},9042:e=>{e.exports=n}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return r[e](n,n.exports,o),n.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{o.d(i,{default:()=>g});var e=o(7326),t=o.n(e),n=o(9581),r=o(2498),a=o(1792),c=o(9552),l=o(7359),u=o(6364),s=o(3169);function d(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var v=function(e){return window.onblur=function(){return e()},{teardown:function(){return window.onblur=null}}},m=function(e){var t=(0,n.A)("meganav"),r=function(n){t.contains(n.target)||e()};return document.addEventListener("click",r),{teardown:function(){return document.removeEventListener("click",r)}}},p=function(e){if("transparentToWhite"!==e)return{teardown:function(){}};var r=(0,n.A)("meganav"),a=(0,n.n)("meganav-link"),o=(0,n.A)("meganav-control-mobile-dropdown-menu"),i=(0,n.A)("meganav-control-mobile-dropdown-close"),c=(0,n.n)("meganav-control"),l=(0,n.A)("meganav-sign-up-btn"),u=[].concat(d(Array.from(c)),d(Array.from(a)),[(0,n.A)("meganav-logo")]),s=function(e){var t,n,r,a,c=["ui-icon-white","ui-icon-cool-black"],l=[].concat(c).reverse();e?(null==o||(t=o.classList).replace.apply(t,c),null==i||(n=i.classList).replace.apply(n,c)):(null==o||(r=o.classList).replace.apply(r,d(l)),null==i||(a=i.classList).replace.apply(a,d(l)))},f=function(e){e?(null==l||l.classList.replace("bg-white","bg-cool-black"),null==l||l.classList.replace("text-cool-black","text-white")):(null==l||l.classList.replace("bg-cool-black","bg-white"),null==l||l.classList.replace("text-white","text-cool-black"))},v=t()((function(){window.scrollY>5?(r.classList.replace("bg-transparent","bg-white"),f(!0),s(!0),u.forEach((function(e){return e.classList.replace("text-white","text-cool-black")}))):(r.classList.replace("bg-white","bg-transparent"),f(!1),s(!1),u.forEach((function(e){return e.classList.replace("text-cool-black","text-white")})))}),150);return document.addEventListener("scroll",v),{teardown:function(){return document.removeEventListener("scroll",v)}}};function g(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{themeName:null},t=e.themeName,n=e.addSearchApiKey,o=(0,r.default)(),i=(0,c.default)(),f=(0,l.default)(),g=(0,u.default)(n),b=(0,s.default)(),h=(0,a.default)({clearPanels:function(){return[].concat(d(i),d(f)).forEach((function(e){return e.clear()}))}}),y=function(){return[h,b].concat(d(i),d(f),d(o),d(g)).forEach((function(e){return e.clear()}))},A=[p(t),m(y),v(y),h,b].concat(d(o),d(i),d(f),d(g)).map((function(e){return e.teardown}));return function(){return A.forEach((function(e){return e()}))}}})(),i.default})()));
1
+ import throttle from"lodash.throttle";import"./component.css";import{queryId,queryIdAll}from"../dom-query";import MeganavControl from"../MeganavControl/component.js";import MeganavControlMobileDropdown from"../MeganavControlMobileDropdown/component.js";import MobilePanelOpenClick from"../MeganavControlMobilePanelOpen/component.js";import MobilePanelCloseClick from"../MeganavControlMobilePanelClose/component.js";import MeganavSearchAutocomplete from"../MeganavSearchAutocomplete/component.js";import MeganavSearchSuggestions from"../MeganavSearchSuggestions/component.js";const windowOnBlur=closeAll=>{window.onblur=()=>closeAll();return{teardown:()=>window.onblur=null}};const documentClick=closeAll=>{const meganav=queryId("meganav");const clickHandler=e=>{if(meganav.contains(e.target))return;closeAll()};document.addEventListener("click",clickHandler);return{teardown:()=>document.removeEventListener("click",clickHandler)}};const documentScroll=themeName=>{if(themeName!=="transparentToWhite")return{teardown:()=>{}};const meganav=queryId("meganav");const navItems=queryIdAll("meganav-link");const controlMobileDropdownMenu=queryId("meganav-control-mobile-dropdown-menu");const controlMobileDropdownClose=queryId("meganav-control-mobile-dropdown-close");const controls=queryIdAll("meganav-control");const signUpBtn=queryId("meganav-sign-up-btn");const invertTextCollection=[...Array.from(controls),...Array.from(navItems),queryId("meganav-logo")];const invertMobleDropdownColor=invert=>{const whiteToBlack=["ui-icon-white","ui-icon-cool-black"];const blackToWhite=[...whiteToBlack].reverse();if(invert){controlMobileDropdownMenu===null||controlMobileDropdownMenu===void 0?void 0:controlMobileDropdownMenu.classList.replace(...whiteToBlack);controlMobileDropdownClose===null||controlMobileDropdownClose===void 0?void 0:controlMobileDropdownClose.classList.replace(...whiteToBlack)}else{controlMobileDropdownMenu===null||controlMobileDropdownMenu===void 0?void 0:controlMobileDropdownMenu.classList.replace(...blackToWhite);controlMobileDropdownClose===null||controlMobileDropdownClose===void 0?void 0:controlMobileDropdownClose.classList.replace(...blackToWhite)}};const inverSignupBtnColors=invert=>{if(invert){signUpBtn===null||signUpBtn===void 0?void 0:signUpBtn.classList.replace("bg-white","bg-cool-black");signUpBtn===null||signUpBtn===void 0?void 0:signUpBtn.classList.replace("text-cool-black","text-white")}else{signUpBtn===null||signUpBtn===void 0?void 0:signUpBtn.classList.replace("bg-cool-black","bg-white");signUpBtn===null||signUpBtn===void 0?void 0:signUpBtn.classList.replace("text-white","text-cool-black")}};const scrollHandler=throttle(()=>{if(window.scrollY>5){meganav.classList.replace("bg-transparent","bg-white");inverSignupBtnColors(true);invertMobleDropdownColor(true);invertTextCollection.forEach(n=>n.classList.replace("text-white","text-cool-black"))}else{meganav.classList.replace("bg-white","bg-transparent");inverSignupBtnColors(false);invertMobleDropdownColor(false);invertTextCollection.forEach(n=>n.classList.replace("text-cool-black","text-white"))}},150);document.addEventListener("scroll",scrollHandler);return{teardown:()=>document.removeEventListener("scroll",scrollHandler)}};export default function Meganav({themeName,addSearchApiKey}={themeName:null}){const controls=MeganavControl();const panelOpenControls=MobilePanelOpenClick();const panelCloseControls=MobilePanelCloseClick();const search=MeganavSearchAutocomplete(addSearchApiKey);const searchSuggestions=MeganavSearchSuggestions();const mobileDropdownControl=MeganavControlMobileDropdown({clearPanels:()=>[...panelOpenControls,...panelCloseControls].forEach(i=>i.clear())});const closeAll=()=>[mobileDropdownControl,searchSuggestions,...panelOpenControls,...panelCloseControls,...controls,...search].forEach(i=>i.clear());const teardowns=[documentScroll(themeName),documentClick(closeAll),windowOnBlur(closeAll),mobileDropdownControl,searchSuggestions,...controls,...panelOpenControls,...panelCloseControls,...search].map(i=>i.teardown);return()=>teardowns.forEach(teardown=>teardown())}
@@ -0,0 +1 @@
1
+ import React,{useEffect,useState}from"react";import{connectState}from"../remote-data-store.js";import{selectSessionData}from"../remote-session-data.js";import Logo from"../Logo/component.tsx";import"./component.css";import MeganavScripts from"./component.js";import MeganavItemsDesktop from"../MeganavItemsDesktop/component.tsx";import MeganavItemsSignedIn from"../MeganavItemsSignedIn/component.tsx";import MeganavItemsMobile from"../MeganavItemsMobile/component.tsx";import Notice from"../Notice/component.tsx";import MeganavData from"./component.json";import _absUrl from"../url-base.js";import MeganavContentProducts from"../MeganavContentProducts/component.tsx";import MeganavContentUseCases from"../MeganavContentUseCases/component.tsx";import MeganavContentCompany from"../MeganavContentCompany/component.tsx";import MeganavContentDevelopers from"../MeganavContentDevelopers/component.tsx";import MeganavSearch from"../MeganavSearch/component.tsx";const SignIn=({sessionState,theme,loginLink,absUrl})=>{return sessionState.signedIn?React.createElement(MeganavItemsSignedIn,{absUrl:absUrl,sessionState:sessionState,theme:theme}):React.createElement("ul",{className:"hidden md:flex items-center"},React.createElement("li",{className:"ui-meganav-item"},React.createElement("a",{href:absUrl("/contact"),className:`ui-meganav-link ${theme.textColor}`,"data-id":"meganav-link"},"Contact us")),React.createElement("li",{className:"ui-meganav-item"},React.createElement("a",{href:absUrl(loginLink),className:`ui-meganav-link mr-0 ${theme.textColor}`,"data-id":"meganav-link"},"Login")),React.createElement("li",{className:"ui-meganav-item"},React.createElement(MeganavSearch,{absUrl:absUrl})),React.createElement("li",{className:"ui-meganav-item"},React.createElement("a",{href:absUrl("/sign-up"),"data-id":"meganav-sign-up-btn",className:`ui-btn p-btn-small ${theme.buttonBackgroundColor} ${theme.buttonTextColor}`},"Sign up free")))};const SignInPlaceholder=()=>React.createElement("div",null);const panels={MeganavContentProducts,MeganavContentUseCases,MeganavContentCompany,MeganavContentDevelopers};const Meganav=({paths,themeName="white",notice,loginLink="/login",urlBase,addSearchApiKey})=>{const[sessionState,setSessionState]=useState();useEffect(()=>{connectState(selectSessionData,setSessionState)},[]);useEffect(()=>{const teardown=MeganavScripts({themeName,addSearchApiKey});return()=>teardown()},[sessionState]);const theme=MeganavData.themes[themeName];const absUrl=path=>_absUrl(path,urlBase);var _paths_logo;return React.createElement("nav",{className:`ui-meganav-wrapper ${theme.backgroundColor} ${theme.barShadow}`,"data-id":"meganav","aria-label":"Main"},notice&&React.createElement(Notice,{...notice.props,config:notice.config}),React.createElement("div",{className:"ui-meganav ui-grid-px"},React.createElement("div",{className:"mr-24"},React.createElement(Logo,{dataId:"meganav-logo",href:urlBase,logoUrl:(_paths_logo=paths===null||paths===void 0?void 0:paths.logo)!==null&&_paths_logo!==void 0?_paths_logo:""})),React.createElement(MeganavItemsDesktop,{panels:panels,paths:paths,theme:theme,absUrl:absUrl}),sessionState?React.createElement(SignIn,{sessionState:sessionState,theme:theme,loginLink:loginLink,absUrl:absUrl}):React.createElement(SignInPlaceholder,null),React.createElement(MeganavItemsMobile,{panels:panels,sessionState:sessionState,paths:paths,theme:theme,loginLink:loginLink,absUrl:absUrl})))};export default Meganav;
@@ -1,2 +1 @@
1
- /*! For license information please see component.js.LICENSE.txt */
2
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("redux")):"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.AblyUi=e(require("redux")):(t.AblyUi=t.AblyUi||{},t.AblyUi.Core=t.AblyUi.Core||{},t.AblyUi.Core.MeganavBlogPostsList=e(t[void 0]))}(this,(t=>(()=>{var e={5293:e=>{"use strict";e.exports=t},7061:(t,e,r)=>{var n=r(8698).default;function o(){"use strict";t.exports=o=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},i=Object.prototype,a=i.hasOwnProperty,c=Object.defineProperty||function(t,e,r){t[e]=r.value},u="function"==typeof Symbol?Symbol:{},l=u.iterator||"@@iterator",f=u.asyncIterator||"@@asyncIterator",s=u.toStringTag||"@@toStringTag";function p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(e){p=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=e&&e.prototype instanceof w?e:w,i=Object.create(o.prototype),a=new U(n||[]);return c(i,"_invoke",{value:P(t,r,a)}),i}function y(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}r.wrap=h;var d="suspendedStart",v="suspendedYield",g="executing",m="completed",b={};function w(){}function x(){}function O(){}var j={};p(j,l,(function(){return this}));var L=Object.getPrototypeOf,E=L&&L(L(D([])));E&&E!==i&&a.call(E,l)&&(j=E);var _=O.prototype=w.prototype=Object.create(j);function S(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function A(t,e){function r(o,i,c,u){var l=y(t[o],t,i);if("throw"!==l.type){var f=l.arg,s=f.value;return s&&"object"==n(s)&&a.call(s,"__await")?e.resolve(s.__await).then((function(t){r("next",t,c,u)}),(function(t){r("throw",t,c,u)})):e.resolve(s).then((function(t){f.value=t,c(f)}),(function(t){return r("throw",t,c,u)}))}u(l.arg)}var o;c(this,"_invoke",{value:function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}})}function P(t,r,n){var o=d;return function(i,a){if(o===g)throw new Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=C(c,n);if(u){if(u===b)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=g;var l=y(t,r,n);if("normal"===l.type){if(o=n.done?m:v,l.arg===b)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}function C(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,C(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var i=y(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,b;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,b):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function U(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function D(t){if(t||""===t){var r=t[l];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(a.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(n(t)+" is not iterable")}return x.prototype=O,c(_,"constructor",{value:O,configurable:!0}),c(O,"constructor",{value:x,configurable:!0}),x.displayName=p(O,s,"GeneratorFunction"),r.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,O):(t.__proto__=O,p(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},r.awrap=function(t){return{__await:t}},S(A.prototype),p(A.prototype,f,(function(){return this})),r.AsyncIterator=A,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new A(h(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},S(_),p(_,s,"Generator"),p(_,l,(function(){return this})),p(_,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=D,U.prototype={constructor:U,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(n,o){return c.type="throw",c.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=a.call(i,"catchLoc"),l=a.call(i,"finallyLoc");if(u&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,b):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;T(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:D(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),b}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},8698:t=>{function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},4687:(t,e,r)=>{var n=r(7061)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var i=r[t]={exports:{}};return e[t](i,i.exports,n),i.exports}n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};return(()=>{"use strict";n.d(o,{default:()=>s});var t=function(t){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll("[data-id=".concat(t,"]"))};function e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function r(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?e(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}n(4687);var a={recent:null},c="blogPosts",u=(i({},c,(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,e=arguments.length>1?arguments[1]:void 0;return"blog/loaded"===e.type?r(r({},t),{},{recent:e.payload}):t})),function(t){var e;return null===(e=t.getState()[c])||void 0===e?void 0:e.recent}),l=(n(5293),function(t,e){var r=function(){if(!window.AblyUi.RemoteDataStore)throw new Error("Remote store was called before one was created");return window.AblyUi.RemoteDataStore}(),n=t(r);r.subscribe((function(){var o=t(r);o!==n&&(n=o,e(o))}))});function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}const s=function(){l(u,(function(e){if(Array.isArray(e)&&e.length>0){var r=t("meganav-company-panel-blog-section"),n=t("meganav-company-panel-recent-blog-posts");Array.from(n).forEach((function(t){var r=document.createDocumentFragment();e.forEach((function(t){return r.appendChild((i=(e=t).link,a=e.title,c=e.pubDate,n=["li","a","p","p"].map((function(t){return document.createElement(t)})),o=4,u=function(t){if(Array.isArray(t))return t}(n)||function(t,e){var r=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=r){var n,o,i=[],a=!0,c=!1;try{for(r=r.call(t);!(a=(n=r.next()).done)&&(i.push(n.value),!e||i.length!==e);a=!0);}catch(t){c=!0,o=t}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}}(n,o)||function(t,e){if(t){if("string"==typeof t)return f(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(t,e):void 0}}(n,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),l=u[0],s=u[1],p=u[2],h=u[3],s.href=i,s.classList.add("ui-meganav-media","group"),p.textContent=a,p.classList.add("ui-meganav-media-heading"),h.textContent=c,h.classList.add("ui-meganav-media-copy"),s.appendChild(p),s.appendChild(h),l.appendChild(s),l));var e,n,o,i,a,c,u,l,s,p,h})),t.appendChild(r)})),Array.from(r).forEach((function(t){return t.classList.remove("hidden")}))}}))}})(),o.default})()));
1
+ import{queryIdAll}from"../dom-query";import{selectRecentBlogPosts}from"../remote-blogs-posts";import{connectState}from"../remote-data-store";const template=({link,title,pubDate})=>{const[li,a,heading,copy]=["li","a","p","p"].map(el=>document.createElement(el));a.href=link;a.classList.add("ui-meganav-media","group");heading.textContent=title;heading.classList.add("ui-meganav-media-heading");copy.textContent=pubDate;copy.classList.add("ui-meganav-media-copy");a.appendChild(heading);a.appendChild(copy);li.appendChild(a);return li};export default(()=>{connectState(selectRecentBlogPosts,recentBlogPosts=>{if(Array.isArray(recentBlogPosts)&&recentBlogPosts.length>0){const sections=queryIdAll("meganav-company-panel-blog-section");const containers=queryIdAll("meganav-company-panel-recent-blog-posts");Array.from(containers).forEach(container=>{const fragment=document.createDocumentFragment();recentBlogPosts.forEach(post=>fragment.appendChild(template(post)));container.appendChild(fragment)});Array.from(sections).forEach(section=>section.classList.remove("hidden"))}})});
@@ -0,0 +1 @@
1
+ import React from"react";import FeaturedLink from"../FeaturedLink/component.tsx";const MeganavBlogPostsList=({recentBlogPosts,absUrl})=>recentBlogPosts?React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-blog"},"Blog"),React.createElement("ul",{className:"mb-8","aria-labelledby":"meganav-company-panel-list-blog"},recentBlogPosts.map(post=>React.createElement("li",{key:post.link},React.createElement("a",{href:post.link,className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},post.title),React.createElement("p",{className:"ui-meganav-media-copy"},post.pubDate))))),React.createElement(FeaturedLink,{url:absUrl("/blog"),textSize:"text-p3"},"More from our Blog")):null;export default MeganavBlogPostsList;
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentCompany=o())}(this,(()=>({}.default)));
@@ -0,0 +1 @@
1
+ import React from"react";import MeganavBlogPostsList from"../MeganavBlogPostsList/component.tsx";import ConnectStateWrapper from"../ConnectStateWrapper/component.tsx";import{selectRecentBlogPosts}from"../remote-blogs-posts.js";import Icon from"../Icon/component.tsx";const MeganavContentCompany=({paths,absUrl})=>{const BlogPostsList=ConnectStateWrapper(MeganavBlogPostsList,{recentBlogPosts:selectRecentBlogPosts});return React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-why-companies"},"Why companies choose Ably"),React.createElement("ul",{"aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/customers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-customers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Customers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably supports customers across multiple industries.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/case-studies"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-case-studies-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Case studies"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover how customers are benefiting from Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/compare"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-compare-tech-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Compare our tech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Choose the right realtime service.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/aws"),className:"ui-meganav-media-with-image group"},React.createElement("img",{src:paths.awsLogo,alt:"AWS logo"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Partners"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably collaborates and integrates with AWS.")))))),React.createElement("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"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/resources"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-resources-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Resources"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn more about realtime with our handy resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/about"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-about-ably-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"About Ably"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably’s mission.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/careers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-careers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Careers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our open roles and core Ably values.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/events"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-events-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Events"),React.createElement("p",{className:"ui-meganav-media-copy"},"Join Ably at upcoming events.")))))),React.createElement(BlogPostsList,{absUrl:absUrl})),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentCompany;
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentDevelopers=o())}(this,(()=>({}.default)));
@@ -0,0 +1 @@
1
+ import React from"react";import Icon from"../Icon/component.tsx";const MeganavContentDevelopers=({absUrl})=>React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-explore"},"Explore"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-docs-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Documentation"),React.createElement("p",{className:"ui-meganav-media-copy"},"Technical guides to help you build with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-quickstart-guides-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Quickstart guides"),React.createElement("p",{className:"ui-meganav-media-copy"},"Documentation to help you get started quickly.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/integrations"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-integrations-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Integrations"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably integrations."," ")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/examples"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-examples-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Live examples"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our features and their use cases.")))))),React.createElement("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"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-sdks-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"SDKs"),React.createElement("p",{className:"ui-meganav-media-copy"},"Download an SDK to help you build realtime apps faster.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/tutorials"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-tutorials-demos-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Tutorials & Demos"),React.createElement("p",{className:"ui-meganav-media-copy"},"Get stuck in with our hands-on resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-chat"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-chat-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Chat apps reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build chat apps with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-multiplayer"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-multi-user-spaces-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build collaborative features with Ably.")))))),React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-quick-links"},"Quick links"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-quick-links"},React.createElement("li",null,React.createElement("a",{href:"https://discord.gg/jwBPhEZ9g5",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Discord"))),React.createElement("li",null,React.createElement("a",{href:"https://github.com/ably",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"GitHub"))),React.createElement("li",null,React.createElement("a",{href:"https://changelog.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Changelog"))),React.createElement("li",null,React.createElement("a",{href:"https://status.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Status",React.createElement("iframe",{title:"Ably status",src:"https://status.ably.com/embed/icon",style:{backgroundColor:"transparent"},frameBorder:"0",scrolling:"no",className:"w-24 h-24 ml-4 border-none pointer-events-none align-middle"})))),React.createElement("li",null,React.createElement("a",{href:absUrl("/support"),className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Support & FAQs")))))),React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentDevelopers;
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentProducts=o())}(this,(()=>({}.default)));
@@ -0,0 +1 @@
1
+ import React from"react";import FeaturedLink from"../FeaturedLink/component.tsx";const MeganavContentProducts=({paths,absUrl})=>React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("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"},React.createElement("div",{className:"flex mb-20"},React.createElement("img",{src:paths.ablyStack,alt:"Ably homepage"}),React.createElement("h3",{className:"ui-meganav-overline ml-24"},"The Ably Platform")),React.createElement("p",{className:"ui-text-p2 font-bold mb-24",style:{maxWidth:"330px"}},"Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything realtime, and lets you focus on your code."),React.createElement(FeaturedLink,{url:absUrl("/platform"),textSize:"text-p2"},"Explore how it works")),React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-examples"},"Products"),React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-examples"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/channels"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Pub/Sub Channels"),React.createElement("p",{className:"ui-meganav-media-copy"},"Build infinitely scalable realtime applications."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/spaces"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Spaces (Beta)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Create multi-user collaborative environments."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/livesync"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"LiveSync (Early access)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Keep clients in sync with any relational database."))))),React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-our-technology"},"Technology"),React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-our-technology"},React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#performance"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Predictable performance"),React.createElement("p",{className:"ui-meganav-media-copy"},"A low-latency and high-throughput global network."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#integrity"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Guaranteed ordering & delivery"),React.createElement("p",{className:"ui-meganav-media-copy"},"Data is delivered - in order - even after disconnections."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#reliability"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Fault tolerant infrastructure"),React.createElement("p",{className:"ui-meganav-media-copy"},"Redundancy is built in at global and regional levels."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#availability"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"High scalability & availability"),React.createElement("p",{className:"ui-meganav-media-copy"},"Built for scale with legitimate 99.999% uptime SLAs."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/network"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Global edge network"),React.createElement("p",{className:"ui-meganav-media-copy"},"An edge network of 15 core routing datacenters and 205+ PoPs.")))),React.createElement(FeaturedLink,{url:absUrl("/four-pillars-of-dependability"),textSize:"text-p3"},"Explore Four Pillars of Dependability"))),React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentProducts;
@@ -1 +0,0 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavContentUseCases=o())}(this,(()=>({}.default)));
@@ -0,0 +1 @@
1
+ import React from"react";import Icon from"../Icon/component.tsx";const MeganavContentUseCases=({absUrl})=>React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("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"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-use-cases"},"Solutions"),React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry-use-cases"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/chat"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-chat-stack-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Live Chat"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/multiplayer-collaboration"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-multi-user-spaces-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer Collaboration"),React.createElement("p",{className:"ui-meganav-media-copy"},"Bring collaborative multiplayer experiences to your users.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/data-broadcast"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-data-broadcast-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Data Broadcast"),React.createElement("p",{className:"ui-meganav-media-copy"},"Broadcast realtime event data to millions of devices around the globe.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/data-synchronization"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-data-synchronization-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Data Synchronization"),React.createElement("p",{className:"ui-meganav-media-copy"},"Keep your frontend and backend in realtime sync, at global scale.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-push-notifications-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Notifications"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver cross-platform push notifications with a simple unified API.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-asset-tracking-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Asset Tracking (Beta)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Track assets in realtime with a solution optimised for last mile logistics.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 pb-0 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-industry"},"Industry"),React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"EdTech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver interactive learning experiences."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/fintech"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"FinTech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver personalised financial data in realtime."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Automotive, Logistics, & Mobility"),React.createElement("p",{className:"ui-meganav-media-copy"},"Power diagnostics, order tracking and more."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"B2B Platforms"),React.createElement("p",{className:"ui-meganav-media-copy"},"Empower your customers with realtime solutions."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Healthcare (HIPAA)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Provide trustworthy, HIPAA-compliant realtime apps."))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-0 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-solutions",className:"mt-0 md:mt-40"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"eCommerce & Retail"),React.createElement("p",{className:"ui-meganav-media-copy"},"Enrich customer experiences with realtime updates."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Sports, Media & Audience Engagement"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver engaging global realtime experiences."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Gaming"),React.createElement("p",{className:"ui-meganav-media-copy"},"Power ultra fast and reliable gaming experiences."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"IoT & Connected Devices"),React.createElement("p",{className:"ui-meganav-media-copy"},"Monitor and control global IoT deployments in realtime.")))))),React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentUseCases;
Binary file
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AblyUi=t():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.MeganavControl=t())}(this,(()=>(()=>{"use strict";var e={9581:(e,t,r)=>{r.d(t,{A:()=>n,n:()=>o});var n=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelector("[data-id=".concat(e,"]"))},o=function(e){return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:document).querySelectorAll("[data-id=".concat(e,"]"))}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};return(()=>{r.d(n,{default:()=>o});var e=r(9581);function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}const o=function(){var r=Array.from((0,e.n)("meganav-control")),n=Array.from((0,e.n)("meganav-panel")),o=getComputedStyle(document.documentElement).getPropertyValue("--bp-md"),a=function(e){return"search"===e.dataset.control},i=function(e,n,a){if(window.matchMedia("(hover: hover) and (pointer: fine) and (min-width: ".concat(o,")")).matches&&!r.some((function(e){return e===document.activeElement}))&&!function(){var e=document.querySelector('[data-id="meganav-panel"]#panel-search');if(e)return!e.classList.contains("invisible")}()){var i,c=["invisible","visible"];(i=n.classList).replace.apply(i,function(e){if(Array.isArray(e))return t(e)}(u=a?c:c.reverse())||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(u)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),e.setAttribute("aria-expanded",a),e.dataset.hover=a}var u};return r.map((function(t){var o,c,u=t.parentNode,s=document.querySelector("#".concat(t.getAttribute("aria-controls"))),l=function(t,o){return function(){r.forEach((function(e){return e!==t&&e.setAttribute("aria-expanded",!1)})),n.forEach((function(e){return e!==o&&e.classList.replace("visible","invisible")}));var i=t.getAttribute("aria-expanded"),c="true"===t.dataset.hover;if("true"!==i||c?(t.setAttribute("aria-expanded",!0),o.classList.replace("invisible","visible")):(t.setAttribute("aria-expanded",!1),o.classList.replace("visible","invisible")),c&&(t.dataset.hover=!1),a(t)){var u=(0,e.A)("meganav-search-input",o);if(!u)return;u.focus()}else t.focus()}}(t,s);return t.addEventListener("click",l),a(t)||(o=function(e,t){return function(){return i(e,t,!0)}}(t,s),c=function(e,t){return function(){return i(e,t,!1)}}(t,s),u.addEventListener("mouseenter",o),u.addEventListener("mouseleave",c)),[{teardown:function(){o&&c&&(u.removeEventListener("mouseenter",o),u.removeEventListener("mouseleave",c)),t.removeEventListener("click",l)},clear:function(){t.setAttribute("aria-expanded",!1),s.classList.replace("visible","invisible")}}]})).flat()}})(),n.default})()));
1
+ import{queryId,queryIdAll}from"../dom-query";const MeganavControl=()=>{const controls=Array.from(queryIdAll("meganav-control"));const panels=Array.from(queryIdAll("meganav-panel"));const mdBreakpoint=getComputedStyle(document.documentElement).getPropertyValue("--bp-md");const hoverEnabled=()=>window.matchMedia(`(hover: hover) and (pointer: fine) and (min-width: ${mdBreakpoint})`).matches;const isSearchControl=node=>node.dataset.control==="search";const isSearchPanelOpen=()=>{const searchPanel=document.querySelector('[data-id="meganav-panel"]#panel-search');if(!searchPanel)return;return!searchPanel.classList.contains("invisible")};const controlsHaveFocus=()=>controls.some(control=>control===document.activeElement);const hover=(control,panel,open)=>{if(hoverEnabled()&&!controlsHaveFocus()&&!isSearchPanelOpen()){const classes=["invisible","visible"];panel.classList.replace(...open?classes:classes.reverse());control.setAttribute("aria-expanded",open);control.dataset.hover=open}};const mouseenterHandler=(control,panel)=>()=>hover(control,panel,true);const mouseleaveHandler=(control,panel)=>()=>hover(control,panel,false);const clickHandler=(control,panel)=>()=>{controls.forEach(node=>node!==control&&node.setAttribute("aria-expanded",false));panels.forEach(node=>node!==panel&&node.classList.replace("visible","invisible"));const ariaExpanded=control.getAttribute("aria-expanded");const openedByHover=control.dataset.hover==="true";if(ariaExpanded==="true"&&!openedByHover){control.setAttribute("aria-expanded",false);panel.classList.replace("visible","invisible")}else{control.setAttribute("aria-expanded",true);panel.classList.replace("invisible","visible")}if(openedByHover){control.dataset.hover=false}if(isSearchControl(control)){const searchInput=queryId("meganav-search-input",panel);if(!searchInput)return;searchInput.focus()}else{control.focus()}};return controls.map(control=>{const item=control.parentNode;const panel=document.querySelector(`#${control.getAttribute("aria-controls")}`);const click=clickHandler(control,panel);control.addEventListener("click",click);let mouseenter,mouseleave;if(!isSearchControl(control)){mouseenter=mouseenterHandler(control,panel);mouseleave=mouseleaveHandler(control,panel);item.addEventListener("mouseenter",mouseenter);item.addEventListener("mouseleave",mouseleave)}return[{teardown:()=>{if(mouseenter&&mouseleave){item.removeEventListener("mouseenter",mouseenter);item.removeEventListener("mouseleave",mouseleave)}control.removeEventListener("click",click)},clear:()=>{control.setAttribute("aria-expanded",false);panel.classList.replace("visible","invisible")}}]}).flat()};export default MeganavControl;