@ably/ui 13.2.2 → 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} +28 -17
  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 -236
  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 -4146
  382. package/core/MeganavBlogPostsList/component.js.LICENSE.txt +0 -1
  383. package/core/MeganavBlogPostsList.jsx +0 -291
  384. package/core/MeganavContentCompany.jsx +0 -1053
  385. package/core/MeganavContentDevelopers.jsx +0 -334
  386. package/core/MeganavContentProducts.jsx +0 -368
  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 -684
  394. package/core/MeganavItemsSignedIn.jsx +0 -638
  395. package/core/MeganavSearch.jsx +0 -429
  396. package/core/MeganavSearchAutocomplete.jsx +0 -117
  397. package/core/MeganavSearchPanel.jsx +0 -381
  398. package/core/MeganavSearchSuggestions.jsx +0 -294
  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 -890
  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
package/core/Meganav.jsx DELETED
@@ -1,4146 +0,0 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("react"), require("prop-types"), require("redux"), require("lodash.throttle"), require("scroll-lock"), require("addsearch-js-client"), require("js-cookie"), require("dompurify"));
4
- else if(typeof define === 'function' && define.amd)
5
- define([, , , , , , , ], factory);
6
- else {
7
- var a = typeof exports === 'object' ? factory(require("react"), require("prop-types"), require("redux"), require("lodash.throttle"), require("scroll-lock"), require("addsearch-js-client"), require("js-cookie"), require("dompurify")) : factory(root[undefined], root[undefined], root[undefined], root[undefined], root[undefined], root[undefined], root[undefined], root[undefined]);
8
- for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9
- }
10
- })(this, (__WEBPACK_EXTERNAL_MODULE__5225__, __WEBPACK_EXTERNAL_MODULE__6073__, __WEBPACK_EXTERNAL_MODULE__5293__, __WEBPACK_EXTERNAL_MODULE__7326__, __WEBPACK_EXTERNAL_MODULE__9042__, __WEBPACK_EXTERNAL_MODULE__3916__, __WEBPACK_EXTERNAL_MODULE__4360__, __WEBPACK_EXTERNAL_MODULE__710__) => {
11
- return /******/ (() => { // webpackBootstrap
12
- /******/ var __webpack_modules__ = ({
13
-
14
- /***/ 9787:
15
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
16
-
17
- "use strict";
18
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20
- /* harmony export */ });
21
- /* unused harmony export ConnectStateWrapper */
22
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
23
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
24
- /* harmony import */ var _remote_data_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3511);
25
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
-
27
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
28
-
29
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
-
31
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
-
33
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
34
-
35
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
36
-
37
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
38
-
39
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
40
-
41
- function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
42
-
43
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
44
-
45
-
46
-
47
- /*
48
- Connect a react component to a global store.
49
- This is similar to what react-redux does but uses our global store so
50
- can share state with other React mount points or anything that uses the
51
- store.
52
- - selectors is an object where keys are your prop names and values are your select
53
- functions that work on the store to retrieve the state you are interested in
54
- - initial state is set in useEffect so the wrapped component needs to handle it's props set to undefined initially
55
- */
56
-
57
- var ConnectStateWrapper = function ConnectStateWrapper(Component, selectors) {
58
- var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)({}),
59
- _useState2 = _slicedToArray(_useState, 2),
60
- state = _useState2[0],
61
- setState = _useState2[1];
62
-
63
- var setStateForKey = function setStateForKey(key) {
64
- return function (storeState) {
65
- return setState(function () {
66
- return _defineProperty({}, key, storeState);
67
- });
68
- };
69
- };
70
-
71
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
72
- var store = (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_1__/* .getRemoteDataStore */ .cO)();
73
- var resolvedState = Object.keys(selectors).reduce(function (acc, key) {
74
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, selectors[key](store)));
75
- }, {}); // Set initial state
76
-
77
- setState(resolvedState); // Create a store subscription for each selector. Depending on your use case, this can be inefficient.
78
- // When optimising for renders, look for wins with selectors better for your use and using connectState directly.
79
-
80
- Object.keys(selectors).forEach(function (key) {
81
- (0,_remote_data_store__WEBPACK_IMPORTED_MODULE_1__/* .connectState */ .kZ)(selectors[key], setStateForKey(key));
82
- });
83
- }, []);
84
-
85
- var WrappedComponent = function WrappedComponent(props) {
86
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(Component, _extends({}, props, state));
87
- };
88
-
89
- return WrappedComponent;
90
- };
91
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ConnectStateWrapper);
92
-
93
- /***/ }),
94
-
95
- /***/ 5751:
96
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
97
-
98
- "use strict";
99
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
100
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
101
- /* harmony export */ });
102
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
103
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
104
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
105
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
106
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
107
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
108
-
109
-
110
-
111
- // When generating links with target=_blank, we only add `noreferrer` to
112
- // links that don't start with `/`, so we can continue tracking referrers
113
- // across our own domains
114
-
115
- var buildTargetAndRel = function buildTargetAndRel(url, newWindow) {
116
- var props = {};
117
-
118
- if (newWindow) {
119
- props.target = "_blank";
120
-
121
- if (url.startsWith("/") && !url.startsWith("//")) {
122
- props.rel = "noopener";
123
- } else {
124
- props.rel = "noopenner noreferrer";
125
- }
126
- }
127
-
128
- return props;
129
- };
130
-
131
- var FeaturedLink = function FeaturedLink(_ref) {
132
- var url = _ref.url,
133
- _ref$textSize = _ref.textSize,
134
- textSize = _ref$textSize === void 0 ? "text-p2" : _ref$textSize,
135
- _ref$iconColor = _ref.iconColor,
136
- iconColor = _ref$iconColor === void 0 ? "text-cool-black" : _ref$iconColor,
137
- _ref$flush = _ref.flush,
138
- flush = _ref$flush === void 0 ? false : _ref$flush,
139
- _ref$reverse = _ref.reverse,
140
- reverse = _ref$reverse === void 0 ? false : _ref$reverse,
141
- _ref$additionalCSS = _ref.additionalCSS,
142
- additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
143
- _ref$newWindow = _ref.newWindow,
144
- newWindow = _ref$newWindow === void 0 ? false : _ref$newWindow,
145
- children = _ref.children;
146
- var targetAndRel = buildTargetAndRel(url, newWindow);
147
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", _extends({
148
- href: url,
149
- className: "font-sans font-bold block text-gui-default hover:text-gui-hover focus:text-gui-focus focus:outline-gui-focus group ui-".concat(textSize, " ").concat(flush ? "" : "py-8", " ").concat(additionalCSS),
150
- style: {
151
- "--featured-link-icon-size": "var(".concat(textSize.replace("text", "--fs"), ")")
152
- }
153
- }, targetAndRel), reverse ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
154
- name: "icon-gui-link-arrow",
155
- size: "calc(var(--featured-link-icon-size) * 1.25)",
156
- color: iconColor,
157
- additionalCSS: "align-middle mr-8 relative -top-1 -right-4 transition-all group-hover:right-0 transform rotate-180"
158
- }), children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
159
- name: "icon-gui-link-arrow",
160
- size: "calc(var(--featured-link-icon-size) * 1.25)",
161
- color: iconColor,
162
- additionalCSS: "align-middle ml-8 relative -top-1 -left-4 transition-all group-hover:left-0"
163
- })));
164
- };
165
-
166
- FeaturedLink.propTypes = {
167
- url: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
168
- children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
169
- textSize: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
170
- iconColor: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
171
- flush: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
172
- reverse: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),
173
- additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
174
- newWindow: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
175
- };
176
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FeaturedLink);
177
-
178
- /***/ }),
179
-
180
- /***/ 2139:
181
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
182
-
183
- "use strict";
184
-
185
- // EXPORTS
186
- __webpack_require__.d(__webpack_exports__, {
187
- "FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID)
188
- });
189
-
190
- // UNUSED EXPORTS: Flashes, default, reducerFlashes
191
-
192
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
193
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(5225);
194
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
195
- // EXTERNAL MODULE: external {"commonjs":"dompurify","commonjs2":"dompurify"}
196
- var external_commonjs_dompurify_commonjs2_dompurify_ = __webpack_require__(710);
197
- var external_commonjs_dompurify_commonjs2_dompurify_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_dompurify_commonjs2_dompurify_);
198
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
199
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(6073);
200
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
201
- ;// CONCATENATED MODULE: ./node_modules/nanoid/non-secure/index.js
202
- let urlAlphabet =
203
- 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
204
- let customAlphabet = (alphabet, defaultSize = 21) => {
205
- return (size = defaultSize) => {
206
- let id = ''
207
- let i = size
208
- while (i--) {
209
- id += alphabet[(Math.random() * alphabet.length) | 0]
210
- }
211
- return id
212
- }
213
- }
214
- let nanoid = (size = 21) => {
215
- let id = ''
216
- let i = size
217
- while (i--) {
218
- id += urlAlphabet[(Math.random() * 64) | 0]
219
- }
220
- return id
221
- }
222
-
223
- // EXTERNAL MODULE: ./src/core/remote-data-store.js
224
- var remote_data_store = __webpack_require__(3511);
225
- // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
226
- var component = __webpack_require__(9787);
227
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
228
- var Icon_component = __webpack_require__(9008);
229
- ;// CONCATENATED MODULE: ./src/core/Flash/component.jsx
230
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
231
-
232
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
233
-
234
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
235
-
236
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
237
-
238
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
239
-
240
- function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
241
-
242
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
243
-
244
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
245
-
246
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
247
-
248
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
249
-
250
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
251
-
252
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
253
-
254
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
255
-
256
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
257
-
258
-
259
-
260
-
261
-
262
-
263
-
264
-
265
- var REDUCER_KEY = "flashes";
266
- var FLASH_DATA_ID = "ui-flashes";
267
- var initialState = {
268
- items: []
269
- };
270
-
271
- var reducerFlashes = _defineProperty({}, REDUCER_KEY, function () {
272
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
273
- var action = arguments.length > 1 ? arguments[1] : undefined;
274
-
275
- switch (action.type) {
276
- case "flash/push":
277
- {
278
- var flashes = Array.isArray(action.payload) ? action.payload : [action.payload];
279
- return {
280
- items: [].concat(_toConsumableArray(state.items), _toConsumableArray(flashes))
281
- };
282
- }
283
-
284
- default:
285
- return state;
286
- }
287
- });
288
-
289
- var selectFlashes = function selectFlashes(store) {
290
- return store.getState()[REDUCER_KEY];
291
- };
292
-
293
- var FlashT = {
294
- type: external_commonjs_prop_types_commonjs2_prop_types_default().oneOf(["error", "success", "notice", "info", "alert"]),
295
- content: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
296
- };
297
- var FLASH_BG_COLOR = {
298
- error: "bg-gui-error",
299
- success: "bg-zingy-green",
300
- notice: "bg-electric-cyan",
301
- info: "bg-electric-cyan",
302
- alert: "bg-active-orange"
303
- };
304
- var FLASH_TEXT_COLOR = {
305
- error: "text-white",
306
- success: "text-cool-black",
307
- notice: "text-cool-black",
308
- info: "text-cool-black",
309
- alert: "text-white"
310
- };
311
- var AUTO_HIDE = ["success", "info", "notice"];
312
- var AUTO_HIDE_TIME = 8000;
313
-
314
- var useAutoHide = function useAutoHide(type, closeFlash) {
315
- var timeoutId = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
316
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
317
- if (AUTO_HIDE.includes(type)) {
318
- timeoutId.current = setTimeout(function () {
319
- closeFlash();
320
- }, AUTO_HIDE_TIME);
321
- }
322
-
323
- return function () {
324
- if (timeoutId.current) {
325
- clearTimeout(timeoutId.current);
326
- }
327
- };
328
- }, []);
329
- };
330
-
331
- var Flash = function Flash(_ref) {
332
- var id = _ref.id,
333
- type = _ref.type,
334
- content = _ref.content,
335
- removeFlash = _ref.removeFlash;
336
- var ref = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
337
-
338
- var _useState = (0,external_commonjs_react_commonjs2_react_.useState)(false),
339
- _useState2 = _slicedToArray(_useState, 2),
340
- closed = _useState2[0],
341
- setClosed = _useState2[1];
342
-
343
- var _useState3 = (0,external_commonjs_react_commonjs2_react_.useState)(0),
344
- _useState4 = _slicedToArray(_useState3, 2),
345
- flashHeight = _useState4[0],
346
- setFlashHeight = _useState4[1];
347
-
348
- var _useState5 = (0,external_commonjs_react_commonjs2_react_.useState)(false),
349
- _useState6 = _slicedToArray(_useState5, 2),
350
- triggerEntryAnimation = _useState6[0],
351
- setTriggerEntryAnimation = _useState6[1];
352
-
353
- var closeFlash = function closeFlash() {
354
- if (ref.current) {
355
- setFlashHeight(ref.current.getBoundingClientRect().height);
356
- }
357
-
358
- setClosed(true);
359
- setTimeout(function () {
360
- removeFlash(id);
361
- }, 100);
362
- };
363
-
364
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
365
- return setTriggerEntryAnimation(true);
366
- }, []);
367
- useAutoHide(type, closeFlash);
368
- var animateEntry = triggerEntryAnimation && !closed;
369
- var style;
370
-
371
- if (flashHeight && !closed) {
372
- style = {
373
- height: "".concat(flashHeight, "px")
374
- };
375
- } else if (closed) {
376
- style = {
377
- height: 0,
378
- marginTop: 0,
379
- zIndex: -1
380
- };
381
- } else {
382
- style = {};
383
- }
384
-
385
- var safeContent = external_commonjs_dompurify_commonjs2_dompurify_default().sanitize(content, {
386
- ALLOWED_TAGS: ["a"],
387
- ALLOWED_ATTR: ["href", "data-method", "rel"]
388
- });
389
- var withIcons = {
390
- notice: "icon-gui-ably-badge",
391
- success: "icon-gui-tick",
392
- error: "icon-gui-warning",
393
- alert: "icon-gui-warning"
394
- };
395
- var iconColor = {
396
- notice: "text-cool-black",
397
- success: "text-cool-black",
398
- error: "text-white",
399
- alert: "text-white"
400
- };
401
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
402
- className: "ui-flash-message ui-grid-px ".concat(animateEntry ? "ui-flash-message-enter" : ""),
403
- style: style,
404
- ref: ref,
405
- "data-id": "ui-flash"
406
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
407
- className: "".concat(FLASH_BG_COLOR[type], " p-32 flex align-center rounded shadow-container-subtle")
408
- }, withIcons[type] && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
409
- name: withIcons[type],
410
- color: iconColor[type],
411
- size: "1.5rem",
412
- additionalCSS: "mr-16 self-baseline"
413
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
414
- className: "ui-text-p1 mr-16 ".concat(FLASH_TEXT_COLOR[type]),
415
- dangerouslySetInnerHTML: {
416
- __html: safeContent
417
- }
418
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
419
- type: "button",
420
- className: "p-0 ml-auto self-start focus:outline-none",
421
- onClick: closeFlash
422
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
423
- name: "icon-gui-close",
424
- color: iconColor[type],
425
- size: "1.5rem",
426
- additionalCSS: "transition-colors"
427
- }))));
428
- };
429
-
430
- Flash.propTypes = _objectSpread({}, FlashT);
431
-
432
- var Flashes = function Flashes(_ref2) {
433
- var flashes = _ref2.flashes;
434
-
435
- var _useState7 = (0,external_commonjs_react_commonjs2_react_.useState)([]),
436
- _useState8 = _slicedToArray(_useState7, 2),
437
- flashesWithIds = _useState8[0],
438
- setFlashesWithIds = _useState8[1];
439
-
440
- var removeFlash = function removeFlash(flashId) {
441
- return setFlashesWithIds(function (items) {
442
- return items.filter(function (item) {
443
- return item.id !== flashId;
444
- });
445
- });
446
- };
447
-
448
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
449
- setFlashesWithIds(function (state) {
450
- return [].concat(_toConsumableArray(state), _toConsumableArray(((flashes === null || flashes === void 0 ? void 0 : flashes.items) || []).map(function (flash) {
451
- return _objectSpread(_objectSpread({}, flash), {}, {
452
- id: nanoid(),
453
- removed: false
454
- });
455
- })));
456
- });
457
- }, [flashes]);
458
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
459
- className: "ui-flash",
460
- "data-id": FLASH_DATA_ID
461
- }, flashesWithIds.filter(function (item) {
462
- return !item.removed;
463
- }).map(function (flash) {
464
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Flash, _extends({
465
- removeFlash: removeFlash,
466
- key: flash.id
467
- }, flash));
468
- }));
469
- };
470
-
471
- Flashes.propTypes = {
472
- flashes: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
473
- items: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().shape(FlashT))
474
- })
475
- };
476
-
477
- var BackendFlashes = function BackendFlashes(_ref3) {
478
- var flashes = _ref3.flashes;
479
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
480
- var transformedFlashes = flashes.map(function (flash) {
481
- var _flash = _slicedToArray(flash, 2),
482
- type = _flash[0],
483
- content = _flash[1];
484
-
485
- return {
486
- type: type,
487
- content: content
488
- };
489
- }) || [];
490
-
491
- if (transformedFlashes.length > 0) {
492
- var store = (0,remote_data_store/* getRemoteDataStore */.cO)();
493
- store.dispatch({
494
- type: "flash/push",
495
- payload: transformedFlashes
496
- });
497
- }
498
- }, []);
499
- var WrappedFlashes = (0,component["default"])(Flashes, {
500
- flashes: selectFlashes
501
- });
502
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(WrappedFlashes, null);
503
- };
504
-
505
- BackendFlashes.propTypes = {
506
- flashes: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf((external_commonjs_prop_types_commonjs2_prop_types_default()).string))
507
- };
508
-
509
- /* harmony default export */ const Flash_component = ((/* unused pure expression or super */ null && (BackendFlashes)));
510
-
511
- /***/ }),
512
-
513
- /***/ 9008:
514
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
515
-
516
- "use strict";
517
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
518
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
519
- /* harmony export */ });
520
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
521
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
522
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
523
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
524
- var _excluded = ["name", "size", "color", "additionalCSS"];
525
-
526
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
527
-
528
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
529
-
530
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
531
-
532
-
533
-
534
-
535
- var Icon = function Icon(_ref) {
536
- var name = _ref.name,
537
- _ref$size = _ref.size,
538
- size = _ref$size === void 0 ? "0.75rem" : _ref$size,
539
- _ref$color = _ref.color,
540
- color = _ref$color === void 0 ? "" : _ref$color,
541
- _ref$additionalCSS = _ref.additionalCSS,
542
- additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
543
- additionalAttributes = _objectWithoutProperties(_ref, _excluded);
544
-
545
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", _extends({
546
- className: "".concat(color, " ").concat(additionalCSS),
547
- style: {
548
- width: size,
549
- height: size
550
- }
551
- }, additionalAttributes), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", {
552
- xlinkHref: "#sprite-".concat(name)
553
- }));
554
- };
555
-
556
- Icon.propTypes = {
557
- name: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string.isRequired),
558
- size: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
559
- color: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
560
- additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
561
- };
562
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
563
-
564
- /***/ }),
565
-
566
- /***/ 3774:
567
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
568
-
569
- "use strict";
570
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
571
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
572
- /* harmony export */ });
573
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
574
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
575
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
576
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
577
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
578
-
579
-
580
-
581
-
582
- var Logo = function Logo(_ref) {
583
- var dataId = _ref.dataId,
584
- logoUrl = _ref.logoUrl,
585
- _ref$href = _ref.href,
586
- href = _ref$href === void 0 ? "/" : _ref$href,
587
- additionalImgAttrs = _ref.additionalImgAttrs,
588
- additionalLinkAttrs = _ref.additionalLinkAttrs;
589
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", _extends({
590
- href: href,
591
- "data-id": dataId,
592
- className: "block",
593
- style: {
594
- height: "2.125rem"
595
- }
596
- }, additionalLinkAttrs), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", _extends({
597
- src: logoUrl,
598
- width: "108px",
599
- alt: "Ably logo"
600
- }, additionalImgAttrs)));
601
- };
602
-
603
- Logo.propTypes = {
604
- dataId: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
605
- href: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
606
- logoUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
607
- additionalImgAttrs: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
608
- additionalLinkAttrs: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object)
609
- };
610
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().memo(Logo));
611
-
612
- /***/ }),
613
-
614
- /***/ 2725:
615
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
616
-
617
- "use strict";
618
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
619
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
620
- /* harmony export */ });
621
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
622
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
623
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
624
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
625
- /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5751);
626
-
627
-
628
-
629
-
630
- var MeganavBlogPostsList = function MeganavBlogPostsList(_ref) {
631
- var recentBlogPosts = _ref.recentBlogPosts,
632
- absUrl = _ref.absUrl;
633
- return recentBlogPosts ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
634
- 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"
635
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
636
- className: "ui-meganav-overline",
637
- id: "meganav-company-panel-list-blog"
638
- }, "Blog"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
639
- className: "mb-8",
640
- "aria-labelledby": "meganav-company-panel-list-blog"
641
- }, recentBlogPosts.map(function (post) {
642
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
643
- key: post.link
644
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
645
- href: post.link,
646
- className: "ui-meganav-media group"
647
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
648
- className: "ui-meganav-media-heading"
649
- }, post.title), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
650
- className: "ui-meganav-media-copy"
651
- }, post.pubDate)));
652
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
653
- url: absUrl("/blog"),
654
- textSize: "text-p3"
655
- }, "More from our Blog")) : null;
656
- };
657
-
658
- MeganavBlogPostsList.propTypes = {
659
- recentBlogPosts: prop_types__WEBPACK_IMPORTED_MODULE_1___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
660
- link: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
661
- title: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
662
- pubDate: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
663
- })),
664
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
665
- };
666
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavBlogPostsList);
667
-
668
- /***/ }),
669
-
670
- /***/ 1505:
671
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
672
-
673
- "use strict";
674
-
675
- // EXPORTS
676
- __webpack_require__.d(__webpack_exports__, {
677
- "default": () => (/* binding */ MeganavContentCompany_component)
678
- });
679
-
680
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
681
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(5225);
682
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
683
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
684
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(6073);
685
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
686
- // EXTERNAL MODULE: ./src/core/MeganavBlogPostsList/component.jsx
687
- var component = __webpack_require__(2725);
688
- // EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
689
- var ConnectStateWrapper_component = __webpack_require__(9787);
690
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
691
- var regenerator = __webpack_require__(4687);
692
- ;// CONCATENATED MODULE: ./src/core/remote-blogs-posts.js
693
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
694
-
695
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
696
-
697
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
698
-
699
-
700
-
701
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
702
-
703
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
704
-
705
-
706
-
707
- var fetchBlogPosts = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
708
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(store, blogUrl) {
709
- var res, payload;
710
- return _regeneratorRuntime.wrap(function _callee$(_context) {
711
- while (1) {
712
- switch (_context.prev = _context.next) {
713
- case 0:
714
- _context.prev = 0;
715
-
716
- if (blogUrl) {
717
- _context.next = 4;
718
- break;
719
- }
720
-
721
- console.log("Skipping fetching blog posts, invalid blogUrl: \"".concat(blogUrl, "\""));
722
- return _context.abrupt("return");
723
-
724
- case 4:
725
- _context.next = 6;
726
- return fetch(blogUrl);
727
-
728
- case 6:
729
- res = _context.sent;
730
-
731
- if (!isJsonResponse(res.headers.get("content-type"))) {
732
- _context.next = 14;
733
- break;
734
- }
735
-
736
- _context.next = 10;
737
- return res.json();
738
-
739
- case 10:
740
- payload = _context.sent;
741
- store.dispatch({
742
- type: "blog/loaded",
743
- payload: payload
744
- });
745
- _context.next = 15;
746
- break;
747
-
748
- case 14:
749
- throw new Error("Blog posts url is not serving json");
750
-
751
- case 15:
752
- _context.next = 20;
753
- break;
754
-
755
- case 17:
756
- _context.prev = 17;
757
- _context.t0 = _context["catch"](0);
758
- console.warn("Could not fetch blog posts due to error:", _context.t0);
759
-
760
- case 20:
761
- case "end":
762
- return _context.stop();
763
- }
764
- }
765
- }, _callee, null, [[0, 17]]);
766
- }));
767
-
768
- return function fetchBlogPosts(_x, _x2) {
769
- return _ref.apply(this, arguments);
770
- };
771
- }()));
772
-
773
- var initialState = {
774
- recent: null
775
- };
776
- var REDUCER_KEY = "blogPosts";
777
-
778
- var reducerBlogPosts = _defineProperty({}, REDUCER_KEY, function () {
779
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
780
- var action = arguments.length > 1 ? arguments[1] : undefined;
781
-
782
- switch (action.type) {
783
- case "blog/loaded":
784
- return _objectSpread(_objectSpread({}, state), {}, {
785
- recent: action.payload
786
- });
787
-
788
- default:
789
- return state;
790
- }
791
- });
792
-
793
- var selectRecentBlogPosts = function selectRecentBlogPosts(store) {
794
- var _store$getState$REDUC;
795
-
796
- return (_store$getState$REDUC = store.getState()[REDUCER_KEY]) === null || _store$getState$REDUC === void 0 ? void 0 : _store$getState$REDUC.recent;
797
- };
798
-
799
-
800
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
801
- var Icon_component = __webpack_require__(9008);
802
- ;// CONCATENATED MODULE: ./src/core/MeganavContentCompany/component.jsx
803
-
804
-
805
-
806
-
807
-
808
-
809
-
810
- var MeganavContentCompany = function MeganavContentCompany(_ref) {
811
- var paths = _ref.paths,
812
- absUrl = _ref.absUrl;
813
- var BlogPostsList = (0,ConnectStateWrapper_component["default"])(component["default"], {
814
- recentBlogPosts: selectRecentBlogPosts
815
- });
816
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
817
- className: "flex max-w-screen-xl mx-auto"
818
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
819
- className: "ui-meganav-content-spacer"
820
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("section", {
821
- className: "grid grid-cols-12 ui-grid-gap-x w-full"
822
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
823
- 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"
824
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("h3", {
825
- className: "ui-meganav-overline",
826
- id: "meganav-company-panel-list-why-companies"
827
- }, "Why companies choose Ably"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
828
- "aria-labelledby": "meganav-company-panel-list-why-companies"
829
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
830
- href: absUrl("/customers"),
831
- className: "ui-meganav-media-with-image group"
832
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
833
- name: "icon-display-customers-col",
834
- size: "2.5rem"
835
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
836
- className: "flex flex-col justify-center"
837
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
838
- className: "ui-meganav-media-heading"
839
- }, "Customers"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
840
- className: "ui-meganav-media-copy"
841
- }, "Ably supports customers across multiple industries.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
842
- href: absUrl("/case-studies"),
843
- className: "ui-meganav-media-with-image group"
844
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
845
- name: "icon-display-case-studies-col",
846
- size: "2.5rem"
847
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
848
- className: "flex flex-col justify-center"
849
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
850
- className: "ui-meganav-media-heading"
851
- }, "Case studies"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
852
- className: "ui-meganav-media-copy"
853
- }, "Discover how customers are benefiting from Ably.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
854
- href: absUrl("/compare"),
855
- className: "ui-meganav-media-with-image group"
856
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
857
- name: "icon-display-compare-tech-col",
858
- size: "2.5rem"
859
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
860
- className: "flex flex-col justify-center"
861
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
862
- className: "ui-meganav-media-heading"
863
- }, "Compare our tech"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
864
- className: "ui-meganav-media-copy"
865
- }, "Choose the right realtime service.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
866
- href: absUrl("/aws"),
867
- className: "ui-meganav-media-with-image group"
868
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("img", {
869
- src: paths.awsLogo,
870
- alt: "AWS logo"
871
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
872
- className: "flex flex-col justify-center"
873
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
874
- className: "ui-meganav-media-heading"
875
- }, "Partners"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
876
- className: "ui-meganav-media-copy"
877
- }, "Ably collaborates and integrates with AWS.")))))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
878
- className: "col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
879
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
880
- className: "md:mt-40",
881
- "aria-labelledby": "meganav-company-panel-list-why-companies"
882
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
883
- href: absUrl("/resources"),
884
- className: "ui-meganav-media-with-image group"
885
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
886
- name: "icon-display-resources-col",
887
- size: "2.5rem"
888
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
889
- className: "flex flex-col justify-center"
890
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
891
- className: "ui-meganav-media-heading"
892
- }, "Resources"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
893
- className: "ui-meganav-media-copy"
894
- }, "Learn more about realtime with our handy resources.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
895
- href: absUrl("/about"),
896
- className: "ui-meganav-media-with-image group"
897
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
898
- name: "icon-display-about-ably-col",
899
- size: "2.5rem"
900
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
901
- className: "flex flex-col justify-center"
902
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
903
- className: "ui-meganav-media-heading"
904
- }, "About Ably"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
905
- className: "ui-meganav-media-copy"
906
- }, "Find out more about Ably\u2019s mission.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
907
- href: absUrl("/careers"),
908
- className: "ui-meganav-media-with-image group"
909
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
910
- name: "icon-display-careers-col",
911
- size: "2.5rem"
912
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
913
- className: "flex flex-col justify-center"
914
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
915
- className: "ui-meganav-media-heading"
916
- }, "Careers"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
917
- className: "ui-meganav-media-copy"
918
- }, "Discover our open roles and core Ably values.")))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", null, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
919
- href: absUrl("/events"),
920
- className: "ui-meganav-media-with-image group"
921
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
922
- name: "icon-display-events-col",
923
- size: "2.5rem"
924
- }), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
925
- className: "flex flex-col justify-center"
926
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
927
- className: "ui-meganav-media-heading"
928
- }, "Events"), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
929
- className: "ui-meganav-media-copy"
930
- }, "Join Ably at upcoming events.")))))), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(BlogPostsList, {
931
- absUrl: absUrl
932
- })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
933
- className: "ui-meganav-content-spacer"
934
- }));
935
- };
936
-
937
- MeganavContentCompany.propTypes = {
938
- absUrl: (external_commonjs_prop_types_commonjs2_prop_types_default()).func,
939
- paths: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
940
- awsLogo: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
941
- })
942
- };
943
- /* harmony default export */ const MeganavContentCompany_component = (MeganavContentCompany);
944
-
945
- /***/ }),
946
-
947
- /***/ 2619:
948
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
949
-
950
- "use strict";
951
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
952
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
953
- /* harmony export */ });
954
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
955
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
956
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
957
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
958
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
959
-
960
-
961
-
962
-
963
- var MeganavContentDevelopers = function MeganavContentDevelopers(_ref) {
964
- var absUrl = _ref.absUrl;
965
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
966
- className: "flex max-w-screen-xl mx-auto"
967
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
968
- className: "ui-meganav-content-spacer"
969
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
970
- className: "grid grid-cols-12 ui-grid-gap-x w-full"
971
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
972
- 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"
973
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
974
- className: "ui-meganav-overline uppercase",
975
- id: "meganav-developers-panel-explore"
976
- }, "Explore"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
977
- "aria-labelledby": "meganav-developers-panel-explore"
978
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
979
- href: absUrl("/docs"),
980
- className: "ui-meganav-media-with-image group"
981
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
982
- name: "icon-display-docs-col",
983
- size: "2.5rem"
984
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
985
- className: "flex flex-col justify-center"
986
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
987
- className: "ui-meganav-media-heading"
988
- }, "Documentation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
989
- className: "ui-meganav-media-copy"
990
- }, "Technical guides to help you build with Ably.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
991
- href: absUrl("/docs/quick-start-guide"),
992
- className: "ui-meganav-media-with-image group"
993
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
994
- name: "icon-display-quickstart-guides-col",
995
- size: "2.5rem"
996
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
997
- className: "flex flex-col justify-center"
998
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
999
- className: "ui-meganav-media-heading"
1000
- }, "Quickstart guides"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1001
- className: "ui-meganav-media-copy"
1002
- }, "Documentation to help you get started quickly.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1003
- href: absUrl("/integrations"),
1004
- className: "ui-meganav-media-with-image group"
1005
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1006
- name: "icon-display-integrations-col",
1007
- size: "2.5rem"
1008
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1009
- className: "flex flex-col justify-center"
1010
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1011
- className: "ui-meganav-media-heading"
1012
- }, "Integrations"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1013
- className: "ui-meganav-media-copy"
1014
- }, "Find out more about Ably integrations. ")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1015
- href: absUrl("/examples"),
1016
- className: "ui-meganav-media-with-image group"
1017
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1018
- name: "icon-display-examples-col",
1019
- size: "2.5rem"
1020
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1021
- className: "flex flex-col justify-center"
1022
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1023
- className: "ui-meganav-media-heading"
1024
- }, "Live examples"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1025
- className: "ui-meganav-media-copy"
1026
- }, "Discover our features and their use cases.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1027
- className: "col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"
1028
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1029
- className: "md:mt-40",
1030
- "aria-labelledby": "meganav-developers-panel-explore"
1031
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1032
- href: absUrl("/docs/sdks"),
1033
- className: "ui-meganav-media-with-image group"
1034
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1035
- name: "icon-display-sdks-col",
1036
- size: "2.5rem"
1037
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1038
- className: "flex flex-col justify-center"
1039
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1040
- className: "ui-meganav-media-heading"
1041
- }, "SDKs"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1042
- className: "ui-meganav-media-copy"
1043
- }, "Download an SDK to help you build realtime apps faster.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1044
- href: absUrl("/tutorials"),
1045
- className: "ui-meganav-media-with-image group"
1046
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1047
- name: "icon-display-tutorials-demos-col",
1048
- size: "2.5rem"
1049
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1050
- className: "flex flex-col justify-center"
1051
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1052
- className: "ui-meganav-media-heading"
1053
- }, "Tutorials & Demos"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1054
- className: "ui-meganav-media-copy"
1055
- }, "Get stuck in with our hands-on resources.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1056
- href: absUrl("/reference-guide-chat"),
1057
- className: "ui-meganav-media-with-image group"
1058
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1059
- name: "icon-display-chat-col",
1060
- size: "2.5rem"
1061
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1062
- className: "flex flex-col justify-center"
1063
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1064
- className: "ui-meganav-media-heading"
1065
- }, "Chat apps reference guide"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1066
- className: "ui-meganav-media-copy"
1067
- }, "Learn how to build chat apps with Ably.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1068
- href: absUrl("/reference-guide-multiplayer"),
1069
- className: "ui-meganav-media-with-image group"
1070
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1071
- name: "icon-multi-user-spaces-col",
1072
- size: "2.5rem"
1073
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1074
- className: "flex flex-col justify-center"
1075
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1076
- className: "ui-meganav-media-heading"
1077
- }, "Multiplayer reference guide"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1078
- className: "ui-meganav-media-copy"
1079
- }, "Learn how to build collaborative features with Ably.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1080
- 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"
1081
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1082
- className: "ui-meganav-overline uppercase",
1083
- id: "meganav-developers-panel-quick-links"
1084
- }, "Quick links"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1085
- "aria-labelledby": "meganav-developers-panel-quick-links"
1086
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1087
- href: "https://discord.gg/jwBPhEZ9g5",
1088
- className: "group ui-meganav-media py-12"
1089
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1090
- className: "ui-meganav-media-heading"
1091
- }, "Discord"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1092
- href: "https://github.com/ably",
1093
- className: "group ui-meganav-media py-12"
1094
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1095
- className: "ui-meganav-media-heading"
1096
- }, "GitHub"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1097
- href: "https://changelog.ably.com/",
1098
- className: "group ui-meganav-media py-12"
1099
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1100
- className: "ui-meganav-media-heading"
1101
- }, "Changelog"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1102
- href: "https://status.ably.com/",
1103
- className: "group ui-meganav-media py-12"
1104
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1105
- className: "ui-meganav-media-heading"
1106
- }, "Status", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("iframe", {
1107
- title: "Ably status",
1108
- src: "https://status.ably.com/embed/icon",
1109
- allowtransparency: "true",
1110
- frameBorder: "0",
1111
- scrolling: "no",
1112
- className: "w-24 h-24 ml-4 border-none pointer-events-none align-middle"
1113
- })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1114
- href: absUrl("/support"),
1115
- className: "group ui-meganav-media py-12"
1116
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1117
- className: "ui-meganav-media-heading"
1118
- }, "Support & FAQs")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1119
- className: "ui-meganav-content-spacer"
1120
- }));
1121
- };
1122
-
1123
- MeganavContentDevelopers.propTypes = {
1124
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
1125
- };
1126
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavContentDevelopers);
1127
-
1128
- /***/ }),
1129
-
1130
- /***/ 8254:
1131
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1132
-
1133
- "use strict";
1134
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1135
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1136
- /* harmony export */ });
1137
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1138
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1139
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1140
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1141
- /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5751);
1142
-
1143
-
1144
-
1145
-
1146
- var MeganavContentProducts = function MeganavContentProducts(_ref) {
1147
- var paths = _ref.paths,
1148
- absUrl = _ref.absUrl;
1149
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1150
- className: "flex max-w-screen-xl mx-auto"
1151
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1152
- className: "ui-meganav-content-spacer bg-extra-light-grey"
1153
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
1154
- className: "grid grid-cols-12 ui-grid-gap-x w-full"
1155
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1156
- 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"
1157
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1158
- className: "flex mb-20"
1159
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("img", {
1160
- src: paths.ablyStack,
1161
- alt: "Ably homepage"
1162
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1163
- className: "ui-meganav-overline ml-24"
1164
- }, "The Ably Platform")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1165
- className: "ui-text-p2 font-bold mb-24",
1166
- style: {
1167
- maxWidth: "330px"
1168
- }
1169
- }, "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."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1170
- url: absUrl("/platform"),
1171
- textSize: "text-p2"
1172
- }, "Explore how it works")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1173
- 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"
1174
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1175
- className: "ui-meganav-overline",
1176
- id: "meganav-products-panel-list-examples"
1177
- }, "Products"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1178
- className: "mb-16",
1179
- "aria-labelledby": "meganav-products-panel-list-examples"
1180
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1181
- href: absUrl("/solutions/channels"),
1182
- className: "group ui-meganav-media"
1183
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1184
- className: "ui-meganav-media-heading"
1185
- }, "Pub/Sub Channels"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1186
- className: "ui-meganav-media-copy"
1187
- }, "Build infinitely scalable realtime applications."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1188
- href: absUrl("/spaces"),
1189
- className: "group ui-meganav-media"
1190
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1191
- className: "ui-meganav-media-heading"
1192
- }, "Spaces (Beta)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1193
- className: "ui-meganav-media-copy"
1194
- }, "Create multi-user collaborative environments."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1195
- href: absUrl("/livesync"),
1196
- className: "group ui-meganav-media"
1197
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1198
- className: "ui-meganav-media-heading"
1199
- }, "LiveSync (Early access)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1200
- className: "ui-meganav-media-copy"
1201
- }, "Keep clients in sync with any relational database."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1202
- 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"
1203
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1204
- className: "ui-meganav-overline",
1205
- id: "meganav-products-panel-list-our-technology"
1206
- }, "Technology"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1207
- className: "mb-16",
1208
- "aria-labelledby": "meganav-products-panel-list-our-technology"
1209
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1210
- href: absUrl("/four-pillars-of-dependability#performance"),
1211
- className: "ui-meganav-media group"
1212
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1213
- className: "ui-meganav-media-heading"
1214
- }, "Predictable performance"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1215
- className: "ui-meganav-media-copy"
1216
- }, "A low-latency and high-throughput global network."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1217
- href: absUrl("/four-pillars-of-dependability#integrity"),
1218
- className: "ui-meganav-media group"
1219
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1220
- className: "ui-meganav-media-heading"
1221
- }, "Guaranteed ordering & delivery"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1222
- className: "ui-meganav-media-copy"
1223
- }, "Data is delivered - in order - even after disconnections."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1224
- href: absUrl("/four-pillars-of-dependability#reliability"),
1225
- className: "ui-meganav-media group"
1226
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1227
- className: "ui-meganav-media-heading"
1228
- }, "Fault tolerant infrastructure"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1229
- className: "ui-meganav-media-copy"
1230
- }, "Redundancy is built in at global and regional levels."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1231
- href: absUrl("/four-pillars-of-dependability#availability"),
1232
- className: "ui-meganav-media group"
1233
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1234
- className: "ui-meganav-media-heading"
1235
- }, "High scalability & availability"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1236
- className: "ui-meganav-media-copy"
1237
- }, "Built for scale with legitimate 99.999% uptime SLAs."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1238
- href: absUrl("/network"),
1239
- className: "ui-meganav-media group"
1240
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1241
- className: "ui-meganav-media-heading"
1242
- }, "Global edge network"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1243
- className: "ui-meganav-media-copy"
1244
- }, "An edge network of 15 core routing datacenters and 205+ PoPs.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1245
- url: absUrl("/four-pillars-of-dependability"),
1246
- textSize: "text-p3"
1247
- }, "Explore Four Pillars of Dependability"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1248
- className: "ui-meganav-content-spacer"
1249
- }));
1250
- };
1251
-
1252
- MeganavContentProducts.propTypes = {
1253
- paths: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
1254
- ablyStack: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1255
- iconSprites: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
1256
- }),
1257
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
1258
- };
1259
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavContentProducts);
1260
-
1261
- /***/ }),
1262
-
1263
- /***/ 1118:
1264
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1265
-
1266
- "use strict";
1267
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1268
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1269
- /* harmony export */ });
1270
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1271
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1272
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1273
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1274
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
1275
-
1276
-
1277
-
1278
-
1279
- var MeganavContentUseCases = function MeganavContentUseCases(_ref) {
1280
- var absUrl = _ref.absUrl;
1281
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1282
- className: "flex max-w-screen-xl mx-auto"
1283
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1284
- className: "ui-meganav-content-spacer bg-extra-light-grey"
1285
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
1286
- className: "grid grid-cols-12 ui-grid-gap-x w-full"
1287
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1288
- 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"
1289
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1290
- className: "ui-meganav-overline",
1291
- id: "meganav-use-cases-panel-use-cases"
1292
- }, "Solutions"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1293
- "aria-labelledby": "meganav-use-cases-panel-industry-use-cases"
1294
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1295
- href: absUrl("/solutions/chat"),
1296
- className: "ui-meganav-media-with-image group"
1297
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1298
- name: "icon-display-chat-stack-col",
1299
- size: "2.5rem"
1300
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1301
- className: "flex flex-col justify-center"
1302
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1303
- className: "ui-meganav-media-heading"
1304
- }, "Live Chat"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1305
- className: "ui-meganav-media-copy"
1306
- }, "Deliver highly reliable chat experiences at scale.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1307
- href: absUrl("/solutions/multiplayer-collaboration"),
1308
- className: "ui-meganav-media-with-image group"
1309
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1310
- name: "icon-multi-user-spaces-col",
1311
- size: "2.5rem"
1312
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1313
- className: "flex flex-col justify-center"
1314
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1315
- className: "ui-meganav-media-heading"
1316
- }, "Multiplayer Collaboration"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1317
- className: "ui-meganav-media-copy"
1318
- }, "Bring collaborative multiplayer experiences to your users.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1319
- href: absUrl("/solutions/data-broadcast"),
1320
- className: "ui-meganav-media-with-image group"
1321
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1322
- name: "icon-display-data-broadcast-col",
1323
- size: "2.5rem"
1324
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1325
- className: "flex flex-col justify-center"
1326
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1327
- className: "ui-meganav-media-heading"
1328
- }, "Data Broadcast"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1329
- className: "ui-meganav-media-copy"
1330
- }, "Broadcast realtime event data to millions of devices around the globe.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1331
- href: absUrl("/solutions/data-synchronization"),
1332
- className: "ui-meganav-media-with-image group"
1333
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1334
- name: "icon-display-data-synchronization-col",
1335
- size: "2.5rem"
1336
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1337
- className: "flex flex-col justify-center"
1338
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1339
- className: "ui-meganav-media-heading"
1340
- }, "Data Synchronization"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1341
- className: "ui-meganav-media-copy"
1342
- }, "Keep your frontend and backend in realtime sync, at global scale.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1343
- href: absUrl("/push-notifications"),
1344
- className: "ui-meganav-media-with-image group"
1345
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1346
- name: "icon-display-push-notifications-col",
1347
- size: "2.5rem"
1348
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1349
- className: "flex flex-col justify-center"
1350
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1351
- className: "ui-meganav-media-heading"
1352
- }, "Notifications"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1353
- className: "ui-meganav-media-copy"
1354
- }, "Deliver cross-platform push notifications with a simple unified API.")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1355
- href: absUrl("/solutions/asset-tracking"),
1356
- className: "ui-meganav-media-with-image group"
1357
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1358
- name: "icon-display-asset-tracking-col",
1359
- size: "2.5rem"
1360
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1361
- className: "flex flex-col justify-center"
1362
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1363
- className: "ui-meganav-media-heading"
1364
- }, "Asset Tracking (Beta)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1365
- className: "ui-meganav-media-copy"
1366
- }, "Track assets in realtime with a solution optimised for last mile logistics.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1367
- 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"
1368
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
1369
- className: "ui-meganav-overline",
1370
- id: "meganav-use-cases-panel-industry"
1371
- }, "Industry"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1372
- "aria-labelledby": "meganav-use-cases-panel-industry"
1373
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1374
- href: absUrl("/solutions/edtech"),
1375
- className: "ui-meganav-media group"
1376
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1377
- className: "ui-meganav-media-heading"
1378
- }, "EdTech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1379
- className: "ui-meganav-media-copy"
1380
- }, "Deliver interactive learning experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1381
- href: absUrl("/solutions/fintech"),
1382
- className: "ui-meganav-media group"
1383
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1384
- className: "ui-meganav-media-heading"
1385
- }, "FinTech"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1386
- className: "ui-meganav-media-copy"
1387
- }, "Deliver personalised financial data in realtime."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1388
- href: absUrl("/solutions/automotive-logistics-and-mobility"),
1389
- className: "ui-meganav-media group"
1390
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1391
- className: "ui-meganav-media-heading"
1392
- }, "Automotive, Logistics, & Mobility"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1393
- className: "ui-meganav-media-copy"
1394
- }, "Power diagnostics, order tracking and more."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1395
- href: absUrl("/solutions/b2b-platforms"),
1396
- className: "ui-meganav-media group"
1397
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1398
- className: "ui-meganav-media-heading"
1399
- }, "B2B Platforms"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1400
- className: "ui-meganav-media-copy"
1401
- }, "Empower your customers with realtime solutions."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1402
- href: absUrl("/solutions/healthcare"),
1403
- className: "ui-meganav-media group"
1404
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1405
- className: "ui-meganav-media-heading"
1406
- }, "Healthcare (HIPAA)"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1407
- className: "ui-meganav-media-copy"
1408
- }, "Provide trustworthy, HIPAA-compliant realtime apps."))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1409
- 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"
1410
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1411
- "aria-labelledby": "meganav-use-cases-panel-solutions",
1412
- className: "mt-0 md:mt-40"
1413
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1414
- href: absUrl("/solutions/ecommerce-and-retail"),
1415
- className: "ui-meganav-media group"
1416
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1417
- className: "ui-meganav-media-heading"
1418
- }, "eCommerce & Retail"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1419
- className: "ui-meganav-media-copy"
1420
- }, "Enrich customer experiences with realtime updates."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1421
- href: absUrl("/solutions/sports-and-media"),
1422
- className: "ui-meganav-media group"
1423
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1424
- className: "ui-meganav-media-heading"
1425
- }, "Sports, Media & Audience Engagement"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1426
- className: "ui-meganav-media-copy"
1427
- }, "Deliver engaging global realtime experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1428
- href: absUrl("/solutions/gaming"),
1429
- className: "ui-meganav-media group"
1430
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1431
- className: "ui-meganav-media-heading"
1432
- }, "Gaming"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1433
- className: "ui-meganav-media-copy"
1434
- }, "Power ultra fast and reliable gaming experiences."))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1435
- href: absUrl("/solutions/iot-and-connected-devices"),
1436
- className: "ui-meganav-media group"
1437
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1438
- className: "ui-meganav-media-heading"
1439
- }, "IoT & Connected Devices"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1440
- className: "ui-meganav-media-copy"
1441
- }, "Monitor and control global IoT deployments in realtime.")))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1442
- className: "ui-meganav-content-spacer"
1443
- }));
1444
- };
1445
-
1446
- MeganavContentUseCases.propTypes = {
1447
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
1448
- };
1449
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavContentUseCases);
1450
-
1451
- /***/ }),
1452
-
1453
- /***/ 140:
1454
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1455
-
1456
- "use strict";
1457
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1458
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1459
- /* harmony export */ });
1460
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1461
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1462
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1463
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1464
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
1465
-
1466
-
1467
-
1468
-
1469
- var MeganavControl = function MeganavControl(_ref) {
1470
- var ariaControls = _ref.ariaControls,
1471
- ariaLabel = _ref.ariaLabel,
1472
- children = _ref.children,
1473
- theme = _ref.theme,
1474
- additionalCSS = _ref.additionalCSS;
1475
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1476
- type: "button",
1477
- "data-id": "meganav-control",
1478
- className: "ui-meganav-link h-64 flex items-center group ".concat(additionalCSS, " ").concat(theme.textColor),
1479
- "aria-expanded": "false",
1480
- "aria-controls": ariaControls,
1481
- "aria-label": "Show ".concat(ariaLabel, " panel")
1482
- }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1483
- name: "icon-gui-disclosure-arrow",
1484
- color: "text-cool-black",
1485
- size: "1.5rem",
1486
- additionalCSS: "transform rotate-90 group-hover:text-gui-hover group-focus:text-gui-focus"
1487
- }));
1488
- };
1489
-
1490
- MeganavControl.propTypes = {
1491
- ariaControls: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1492
- ariaLabel: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1493
- children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
1494
- theme: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1495
- additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
1496
- };
1497
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControl);
1498
-
1499
- /***/ }),
1500
-
1501
- /***/ 8746:
1502
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1503
-
1504
- "use strict";
1505
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1506
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1507
- /* harmony export */ });
1508
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1509
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1510
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1511
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1512
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
1513
-
1514
-
1515
-
1516
-
1517
- var MeganavControlMobileDropdown = function MeganavControlMobileDropdown(_ref) {
1518
- var theme = _ref.theme;
1519
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1520
- type: "button",
1521
- className: "block ml-24 mr-0 px-0 py-16 hover:text-gui-hover focus:text-gui-focus focus:outline-none",
1522
- "data-id": "meganav-control-mobile-dropdown",
1523
- "aria-expanded": "false",
1524
- "aria-controls": "meganav-mobile-dropdown"
1525
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1526
- name: "icon-gui-burger-menu",
1527
- size: "1.5rem",
1528
- color: theme.mobileMenuColor,
1529
- additionalCSS: "transition-colors",
1530
- "data-id": "meganav-control-mobile-dropdown-menu"
1531
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1532
- name: "icon-gui-close",
1533
- size: "1.5rem",
1534
- color: theme.mobileMenuColor,
1535
- additionalCSS: "transition-colors hidden",
1536
- "data-id": "meganav-control-mobile-dropdown-close"
1537
- }));
1538
- };
1539
-
1540
- MeganavControlMobileDropdown.propTypes = {
1541
- theme: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object)
1542
- };
1543
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControlMobileDropdown);
1544
-
1545
- /***/ }),
1546
-
1547
- /***/ 5598:
1548
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1549
-
1550
- "use strict";
1551
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1552
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1553
- /* harmony export */ });
1554
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1555
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1556
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1557
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1558
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
1559
-
1560
-
1561
-
1562
-
1563
- var MeganavControlMobilePanelClose = function MeganavControlMobilePanelClose(_ref) {
1564
- var ariaControls = _ref.ariaControls,
1565
- _ref$displayHr = _ref.displayHr,
1566
- displayHr = _ref$displayHr === void 0 ? true : _ref$displayHr;
1567
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1568
- className: "mx-24 md:mx-32"
1569
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1570
- type: "button",
1571
- className: "ui-meganav-mobile-link text-gui-default mb-16",
1572
- "data-id": "meganav-control-mobile-panel-close",
1573
- "aria-expanded": "false",
1574
- "aria-controls": ariaControls,
1575
- "aria-label": "Hide panel"
1576
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1577
- name: "icon-gui-disclosure-arrow",
1578
- color: "text-cool-black",
1579
- size: "1.5rem",
1580
- additionalCSS: "relative -top-1 transform rotate-180"
1581
- }), "Back"), displayHr ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("hr", {
1582
- className: "ui-meganav-hr"
1583
- }) : null);
1584
- };
1585
-
1586
- MeganavControlMobilePanelClose.propTypes = {
1587
- ariaControls: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1588
- displayHr: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
1589
- };
1590
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControlMobilePanelClose);
1591
-
1592
- /***/ }),
1593
-
1594
- /***/ 7806:
1595
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1596
-
1597
- "use strict";
1598
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1599
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1600
- /* harmony export */ });
1601
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1602
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1603
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1604
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1605
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
1606
-
1607
-
1608
-
1609
-
1610
- var MeganavControlMobilePanelOpen = function MeganavControlMobilePanelOpen(_ref) {
1611
- var ariaControls = _ref.ariaControls,
1612
- children = _ref.children;
1613
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1614
- type: "button",
1615
- className: "ui-meganav-mobile-link",
1616
- "data-id": "meganav-control-mobile-panel-open",
1617
- "aria-expanded": "false",
1618
- "aria-controls": ariaControls,
1619
- "aria-label": "Show ".concat(children)
1620
- }, children, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1621
- name: "icon-gui-disclosure-arrow",
1622
- color: "text-cool-black",
1623
- size: "1.5rem",
1624
- additionalCSS: "relative -top-1 ml-auto float-right"
1625
- }));
1626
- };
1627
-
1628
- MeganavControlMobilePanelOpen.propTypes = {
1629
- ariaControls: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1630
- children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)
1631
- };
1632
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavControlMobilePanelOpen);
1633
-
1634
- /***/ }),
1635
-
1636
- /***/ 3893:
1637
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1638
-
1639
- "use strict";
1640
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1641
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1642
- /* harmony export */ });
1643
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1644
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1645
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1646
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1647
- /* harmony import */ var _Meganav_component_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3166);
1648
- /* harmony import */ var _MeganavControl_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(140);
1649
-
1650
-
1651
-
1652
-
1653
-
1654
- var MeganavDesktopItems = function MeganavDesktopItems(_ref) {
1655
- var panels = _ref.panels,
1656
- paths = _ref.paths,
1657
- theme = _ref.theme,
1658
- absUrl = _ref.absUrl;
1659
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1660
- className: "hidden md:flex",
1661
- "data-id": "meganav-items-desktop"
1662
- }, _Meganav_component_json__WEBPACK_IMPORTED_MODULE_2__/* .panels.map */ .h.map(function (panel) {
1663
- var PanelComponent = panels[panel.component];
1664
- var bgCSS = ["products-panel", "use-cases-panel"].includes(panel.id) ? "ui-meganav-panel-split-bg" : "";
1665
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
1666
- className: "ui-meganav-item",
1667
- key: panel.id
1668
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControl_component_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
1669
- theme: theme,
1670
- ariaControls: panel.id,
1671
- ariaLabel: panel.label
1672
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
1673
- className: "hidden lg:inline"
1674
- }, panel.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
1675
- className: "lg:hidden"
1676
- }, panel.shortLabel)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1677
- className: "ui-meganav-panel invisible ".concat(bgCSS),
1678
- id: panel.id,
1679
- "data-id": "meganav-panel"
1680
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PanelComponent, {
1681
- paths: paths,
1682
- absUrl: absUrl
1683
- })));
1684
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
1685
- className: "ui-meganav-item"
1686
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1687
- href: absUrl("/pricing"),
1688
- "data-id": "meganav-link",
1689
- className: "ui-meganav-link h-64 items-center flex ".concat(theme.textColor)
1690
- }, "Pricing")));
1691
- };
1692
-
1693
- MeganavDesktopItems.propTypes = {
1694
- panels: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1695
- paths: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
1696
- logo: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1697
- iconSprites: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1698
- ablyStack: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1699
- blogThumb1: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1700
- blogThumb2: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1701
- blogThumb3: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
1702
- }),
1703
- theme: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1704
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
1705
- };
1706
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().memo(MeganavDesktopItems));
1707
-
1708
- /***/ }),
1709
-
1710
- /***/ 2016:
1711
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1712
-
1713
- "use strict";
1714
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1715
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1716
- /* harmony export */ });
1717
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1718
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1719
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1720
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1721
- /* harmony import */ var _SignOutLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1866);
1722
- /* harmony import */ var _MeganavSearchSuggestions_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8926);
1723
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9008);
1724
- /* harmony import */ var _Meganav_component_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3166);
1725
- /* harmony import */ var _MeganavControlMobileDropdown_component_jsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8746);
1726
- /* harmony import */ var _MeganavControlMobilePanelClose_component_jsx__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5598);
1727
- /* harmony import */ var _MeganavControlMobilePanelOpen_component_jsx__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7806);
1728
- /* harmony import */ var _MeganavSearchAutocomplete_component_jsx__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3833);
1729
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1730
-
1731
-
1732
-
1733
-
1734
-
1735
-
1736
-
1737
-
1738
-
1739
-
1740
-
1741
-
1742
- var MeganavItemsMobile = function MeganavItemsMobile(_ref) {
1743
- var panels = _ref.panels,
1744
- paths = _ref.paths,
1745
- sessionState = _ref.sessionState,
1746
- theme = _ref.theme,
1747
- loginLink = _ref.loginLink,
1748
- absUrl = _ref.absUrl;
1749
- var classNames = "ui-meganav-link ".concat(theme.textColor);
1750
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1751
- className: "flex md:hidden",
1752
- "data-id": "meganav-items-mobile"
1753
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, sessionState.signedIn && sessionState.logOut ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_SignOutLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], _extends({
1754
- absUrl: absUrl
1755
- }, sessionState.logOut), function (_ref2) {
1756
- var text = _ref2.text,
1757
- href = _ref2.href,
1758
- onClick = _ref2.onClick;
1759
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1760
- onClick: onClick,
1761
- href: absUrl(href),
1762
- className: classNames,
1763
- "data-id": "meganav-link"
1764
- }, text);
1765
- }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1766
- href: absUrl(loginLink),
1767
- className: classNames,
1768
- "data-id": "meganav-link"
1769
- }, "Login")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
1770
- className: "ui-meganav-item"
1771
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControlMobileDropdown_component_jsx__WEBPACK_IMPORTED_MODULE_6__["default"], {
1772
- theme: theme
1773
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1774
- className: "ui-meganav-mobile-dropdown invisible",
1775
- id: "meganav-mobile-dropdown",
1776
- "data-id": "meganav-mobile-dropdown"
1777
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1778
- className: "pt-24 pb-16 ui-grid-px bg-white"
1779
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
1780
- className: "mb-16",
1781
- action: absUrl("/search"),
1782
- method: "get"
1783
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1784
- className: "relative w-full"
1785
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
1786
- name: "icon-gui-search",
1787
- color: "text-cool-black",
1788
- size: "1.5rem",
1789
- additionalCSS: "absolute top-12 left-16 hover:text-gui-hover"
1790
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1791
- type: "button",
1792
- className: "absolute top-12 right-16 p-0 focus:outline-gui-focus m-0 md:hidden invisible",
1793
- "data-id": "meganav-search-input-clear"
1794
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
1795
- name: "icon-gui-cross-circled-fill",
1796
- color: "text-dark-grey",
1797
- size: "1.5rem",
1798
- additionalCSS: ""
1799
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
1800
- type: "search",
1801
- name: "q",
1802
- className: "ui-input px-48 h-48",
1803
- style: {
1804
- maxWidth: "none"
1805
- },
1806
- placeholder: "Search",
1807
- autoComplete: "off",
1808
- "data-id": "meganav-mobile-search-input"
1809
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchAutocomplete_component_jsx__WEBPACK_IMPORTED_MODULE_9__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1810
- className: "max-h-0 overflow-hidden transition-all",
1811
- "data-id": "meganav-mobile-search-suggestions"
1812
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchSuggestions_component_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
1813
- absUrl: absUrl,
1814
- displaySupportLink: false
1815
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1816
- className: "mb-16",
1817
- "data-id": "meganav-mobile-panel-controls"
1818
- }, _Meganav_component_json__WEBPACK_IMPORTED_MODULE_5__/* .panels.map */ .h.map(function (panel) {
1819
- var PanelComponent = panels[panel.component];
1820
- var displayHr = ["company-panel", "developers-panel"].includes(panel.id);
1821
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
1822
- className: "ui-meganav-mobile-item",
1823
- key: "".concat(panel.id, "-mobile")
1824
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControlMobilePanelOpen_component_jsx__WEBPACK_IMPORTED_MODULE_8__["default"], {
1825
- ariaControls: "".concat(panel.id, "-mobile")
1826
- }, panel.label), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1827
- className: "ui-meganav-panel-mobile hidden",
1828
- id: "".concat(panel.id, "-mobile"),
1829
- "data-scroll-lock-scrollable": true
1830
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControlMobilePanelClose_component_jsx__WEBPACK_IMPORTED_MODULE_7__["default"], {
1831
- ariaControls: "".concat(panel.id, "-mobile"),
1832
- displayHr: displayHr
1833
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(PanelComponent, {
1834
- paths: paths,
1835
- absUrl: absUrl
1836
- })));
1837
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1838
- href: absUrl("/pricing"),
1839
- className: "ui-meganav-mobile-link"
1840
- }, "Pricing"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("hr", {
1841
- className: "ui-meganav-hr mb-20"
1842
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1843
- className: "flex justify-between items-center mb-16"
1844
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1845
- href: absUrl("/contact"),
1846
- className: "text-menu2 font-medium block ml-0 mr-8 lg:mx-12 p-0 hover:text-gui-hover focus:text-gui-focus focus:outline-none"
1847
- }, "Contact us"), sessionState.signedIn && sessionState.account ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1848
- href: absUrl(sessionState.account.links.dashboard.href),
1849
- className: "ui-btn-secondary"
1850
- }, "Dashboard") : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1851
- href: absUrl("/sign-up"),
1852
- className: "ui-btn"
1853
- }, "Sign up free"))))));
1854
- };
1855
-
1856
- MeganavItemsMobile.propTypes = {
1857
- panels: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1858
- paths: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
1859
- iconSprites: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
1860
- }),
1861
- sessionState: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1862
- theme: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1863
- loginLink: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
1864
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
1865
- };
1866
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().memo(MeganavItemsMobile, function (oldState, newState) {
1867
- var pathsOld = oldState.pathsOld,
1868
- themeOld = oldState.themeOld;
1869
- var pathsNew = newState.pathsNew,
1870
- themeNew = newState.themeNew;
1871
-
1872
- if (pathsOld === pathsNew && themeOld === themeNew && Object.keys(newState.sessionState || {}).length === 0) {
1873
- return true;
1874
- } else {
1875
- return false;
1876
- }
1877
- }));
1878
-
1879
- /***/ }),
1880
-
1881
- /***/ 9508:
1882
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1883
-
1884
- "use strict";
1885
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1886
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1887
- /* harmony export */ });
1888
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1889
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1890
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1891
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1892
- /* harmony import */ var _MeganavControl_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(140);
1893
- /* harmony import */ var _SignOutLink_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1866);
1894
- /* harmony import */ var _MeganavSearch_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97);
1895
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1896
-
1897
-
1898
-
1899
-
1900
-
1901
-
1902
-
1903
- var truncate = function truncate(string, length) {
1904
- return string !== null && string !== void 0 && string.length && string.length > length ? "".concat(string.slice(0, length - 1), "\u2026") : string;
1905
- };
1906
-
1907
- var MeganavItemsSignedIn = function MeganavItemsSignedIn(_ref) {
1908
- var sessionState = _ref.sessionState,
1909
- theme = _ref.theme,
1910
- absUrl = _ref.absUrl;
1911
- var links = sessionState.account ? Object.keys(sessionState.account.links).map(function (key) {
1912
- return sessionState.account.links[key];
1913
- }) : [];
1914
- var accountName = truncate(sessionState.accountName, 20);
1915
- var preferredEmail = truncate(sessionState.preferredEmail, 20);
1916
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1917
- className: "hidden md:flex items-center"
1918
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
1919
- className: "ui-meganav-item relative"
1920
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavControl_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
1921
- ariaControls: "account-panel",
1922
- ariaLabel: "Account",
1923
- theme: theme,
1924
- additionalCSS: "mr-0"
1925
- }, accountName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1926
- className: "ui-meganav-panel-account invisible",
1927
- id: "account-panel",
1928
- "data-id": "meganav-panel"
1929
- }, sessionState.account && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1930
- className: "ui-meganav-overline mt-16 mx-16"
1931
- }, "Your account"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1932
- className: "mb-16 mx-16"
1933
- }, links.map(function (item) {
1934
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
1935
- key: item.href
1936
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1937
- className: "ui-meganav-account-link",
1938
- href: absUrl(item.href)
1939
- }, item.text));
1940
- }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
1941
- className: "ui-meganav-overline mx-16"
1942
- }, preferredEmail), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
1943
- className: "mb-8 mx-16"
1944
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1945
- href: absUrl(sessionState.mySettings.href),
1946
- className: "ui-meganav-account-link"
1947
- }, sessionState.mySettings.text)), sessionState.myAccessTokens && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1948
- href: absUrl(sessionState.myAccessTokens.href),
1949
- className: "ui-meganav-account-link"
1950
- }, sessionState.myAccessTokens.text, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
1951
- className: "ui-version-tag"
1952
- }, "preview")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("hr", {
1953
- className: "ui-meganav-hr mb-16"
1954
- }), sessionState.logOut && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1955
- className: "mb-16 px-16"
1956
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_SignOutLink_component_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], _extends({
1957
- absUrl: absUrl
1958
- }, sessionState.logOut), function (_ref2) {
1959
- var text = _ref2.text,
1960
- href = _ref2.href,
1961
- onClick = _ref2.onClick;
1962
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1963
- onClick: onClick,
1964
- href: absUrl(href),
1965
- className: "ui-meganav-account-link"
1966
- }, text);
1967
- })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearch_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
1968
- absUrl: absUrl
1969
- })), sessionState.account && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
1970
- href: absUrl(sessionState.account.links.dashboard.href),
1971
- className: "ui-btn-secondary p-btn-small"
1972
- }, "Dashboard")));
1973
- };
1974
-
1975
- MeganavItemsSignedIn.propTypes = {
1976
- sessionState: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1977
- paths: prop_types__WEBPACK_IMPORTED_MODULE_1___default().shape({
1978
- iconSprites: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
1979
- }),
1980
- theme: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object),
1981
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
1982
- };
1983
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavItemsSignedIn);
1984
-
1985
- /***/ }),
1986
-
1987
- /***/ 97:
1988
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1989
-
1990
- "use strict";
1991
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1992
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1993
- /* harmony export */ });
1994
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
1995
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1996
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
1997
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
1998
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
1999
- /* harmony import */ var _MeganavSearchPanel_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6569);
2000
-
2001
-
2002
-
2003
-
2004
-
2005
- var MeganavSearch = function MeganavSearch(_ref) {
2006
- var absUrl = _ref.absUrl;
2007
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
2008
- type: "button",
2009
- "data-id": "meganav-control",
2010
- "data-control": "search",
2011
- className: "h-64 w-24 px-24 pr-48 py-20 group focus:outline-none",
2012
- "aria-expanded": "false",
2013
- "aria-controls": "panel-search",
2014
- "aria-label": "Show Search Panel"
2015
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
2016
- name: "icon-gui-search",
2017
- color: "text-cool-black",
2018
- size: "1.5rem",
2019
- additionalCSS: "group-hover:text-gui-hover group-focus:text-gui-focus"
2020
- })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2021
- className: "ui-meganav-panel invisible",
2022
- id: "panel-search",
2023
- "data-id": "meganav-panel"
2024
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchPanel_component_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
2025
- absUrl: absUrl
2026
- })));
2027
- };
2028
-
2029
- MeganavSearch.propTypes = {
2030
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
2031
- };
2032
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavSearch);
2033
-
2034
- /***/ }),
2035
-
2036
- /***/ 3833:
2037
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2038
-
2039
- "use strict";
2040
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2041
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2042
- /* harmony export */ });
2043
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
2044
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2045
-
2046
-
2047
- var MeganavSearchAutocomplete = function MeganavSearchAutocomplete() {
2048
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2049
- className: "absolute w-full mt-8 z-10 hidden shadow-container rounded-lg bg-white border border-mid-grey",
2050
- "data-id": "meganav-search-autocomplete-container"
2051
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ol", {
2052
- className: "m-16",
2053
- "data-id": "meganav-search-autocomplete-list"
2054
- }));
2055
- };
2056
-
2057
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavSearchAutocomplete);
2058
-
2059
- /***/ }),
2060
-
2061
- /***/ 6569:
2062
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2063
-
2064
- "use strict";
2065
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2066
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2067
- /* harmony export */ });
2068
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
2069
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2070
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
2071
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
2072
- /* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
2073
- /* harmony import */ var _MeganavSearchSuggestions_component_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8926);
2074
- /* harmony import */ var _MeganavSearchAutocomplete_component_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3833);
2075
-
2076
-
2077
-
2078
-
2079
-
2080
-
2081
- var MeganavSearchPanel = function MeganavSearchPanel(_ref) {
2082
- var absUrl = _ref.absUrl;
2083
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("section", {
2084
- className: "ui-meganav-content grid-cols-12"
2085
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2086
- className: "col-span-8"
2087
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2088
- className: "mb-32"
2089
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
2090
- className: "flex items-start",
2091
- action: absUrl("/search"),
2092
- method: "get"
2093
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2094
- className: "relative w-full"
2095
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
2096
- name: "icon-gui-search",
2097
- color: "text-cool-black",
2098
- size: "1.5rem",
2099
- additionalCSS: "absolute top-12 left-16"
2100
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
2101
- type: "search",
2102
- name: "q",
2103
- className: "ui-input pl-48 h-48",
2104
- placeholder: "Search",
2105
- autoComplete: "off",
2106
- "data-id": "meganav-search-input"
2107
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchAutocomplete_component_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
2108
- type: "submit",
2109
- className: "ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32"
2110
- }, "Search")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2111
- className: "col-span-12"
2112
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_MeganavSearchSuggestions_component_jsx__WEBPACK_IMPORTED_MODULE_3__["default"], {
2113
- displaySupportLink: true,
2114
- absUrl: absUrl
2115
- })));
2116
- };
2117
-
2118
- MeganavSearchPanel.propTypes = {
2119
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
2120
- };
2121
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavSearchPanel);
2122
-
2123
- /***/ }),
2124
-
2125
- /***/ 8926:
2126
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2127
-
2128
- "use strict";
2129
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2130
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2131
- /* harmony export */ });
2132
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
2133
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2134
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
2135
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
2136
- /* harmony import */ var _FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5751);
2137
-
2138
-
2139
-
2140
-
2141
- var MeganavSearchSuggestions = function MeganavSearchSuggestions(_ref) {
2142
- var absUrl = _ref.absUrl,
2143
- displaySupportLink = _ref.displaySupportLink;
2144
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
2145
- className: "ui-text-overline2 text-cool-black py-12"
2146
- }, "Popular pages"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
2147
- className: "flex justify-between items-center overflow-hidden"
2148
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
2149
- className: "flex transition-transform"
2150
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
2151
- className: "py-12 pr-8 flex-shrink-0"
2152
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
2153
- href: absUrl("/docs/how-ably-works"),
2154
- className: "ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
2155
- }, "How does Ably work?")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
2156
- className: "py-12 px-8 flex-shrink-0"
2157
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
2158
- href: absUrl("/docs/quick-start-guide"),
2159
- className: "ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
2160
- }, "Quickstart guide")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
2161
- className: "py-12 px-8 flex-shrink-0"
2162
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
2163
- href: absUrl("/docs/core-features/pubsub"),
2164
- className: "ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
2165
- }, "Publish/Subscribe Messaging")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", {
2166
- className: "py-12 pl-8 flex-shrink-0"
2167
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
2168
- href: absUrl("/platform"),
2169
- className: "ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"
2170
- }, "Platform"))), displaySupportLink ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_FeaturedLink_component_jsx__WEBPACK_IMPORTED_MODULE_2__["default"], {
2171
- url: absUrl("/support"),
2172
- textSize: "text-p2"
2173
- }, "Support") : null));
2174
- };
2175
-
2176
- MeganavSearchSuggestions.propTypes = {
2177
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
2178
- displaySupportLink: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool)
2179
- };
2180
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MeganavSearchSuggestions);
2181
-
2182
- /***/ }),
2183
-
2184
- /***/ 3044:
2185
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2186
-
2187
- "use strict";
2188
-
2189
- // EXPORTS
2190
- __webpack_require__.d(__webpack_exports__, {
2191
- "default": () => (/* binding */ core_Notice_component)
2192
- });
2193
-
2194
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
2195
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(5225);
2196
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
2197
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
2198
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(6073);
2199
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
2200
- // EXTERNAL MODULE: external {"commonjs":"js-cookie","commonjs2":"js-cookie"}
2201
- var external_commonjs_js_cookie_commonjs2_js_cookie_ = __webpack_require__(4360);
2202
- var external_commonjs_js_cookie_commonjs2_js_cookie_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_js_cookie_commonjs2_js_cookie_);
2203
- // EXTERNAL MODULE: external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"}
2204
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_ = __webpack_require__(7326);
2205
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_lodash_throttle_commonjs2_lodash_throttle_);
2206
- // EXTERNAL MODULE: ./src/core/dom-query.js
2207
- var dom_query = __webpack_require__(9581);
2208
- // EXTERNAL MODULE: ./src/core/Flash/component.jsx + 1 modules
2209
- var component = __webpack_require__(2139);
2210
- ;// CONCATENATED MODULE: ./src/core/Notice/component.js
2211
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2212
-
2213
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2214
-
2215
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2216
-
2217
-
2218
-
2219
-
2220
-
2221
-
2222
- var COOKIE_EXPIRY = 90;
2223
- var COLLAPSE_TRIGGER_DISTANCE = 5;
2224
- var SCROLL_LISTENER_THROTTLE = 100;
2225
- var RESIZE_LISTENER_THROTTLE = 100;
2226
-
2227
- var isMdViewport = function isMdViewport() {
2228
- return !window.matchMedia("(min-width: 65rem)").matches;
2229
- };
2230
-
2231
- var adjustFlashMargin = function adjustFlashMargin(open) {
2232
- // HACK ALERT
2233
- // Add margin to flashes when opening the notice.
2234
- // Flashes are react components and this notice needs to work as a view-component and react component.
2235
- // We could do this with redux but then we potentially update state on every scroll event, which
2236
- // even with debounce will deplate our frame budget.
2237
- var flash = (0,dom_query/* queryId */.A)(component.FLASH_DATA_ID);
2238
-
2239
- if (flash) {
2240
- flash.style.marginTop = open ? "4rem" : null;
2241
- }
2242
- };
2243
-
2244
- var hideOnMobile = function hideOnMobile(bannerContainer) {
2245
- if (isMdViewport()) {
2246
- bannerContainer.style.display = "none";
2247
- } else {
2248
- bannerContainer.style.display = null;
2249
- }
2250
- };
2251
-
2252
- var hideNotice = function hideNotice(bannerContainer) {
2253
- bannerContainer.style.maxHeight = 0;
2254
- bannerContainer.style.overflow = "hidden";
2255
- adjustFlashMargin(false);
2256
- };
2257
-
2258
- var showNotice = function showNotice(bannerContainer) {
2259
- bannerContainer.style.maxHeight = null;
2260
- bannerContainer.style.overflow = null;
2261
- adjustFlashMargin(true);
2262
- };
2263
-
2264
- var setupRememberClosed = function setupRememberClosed(cookieId, noticeId) {
2265
- var cookie = external_commonjs_js_cookie_commonjs2_js_cookie_default().get(cookieId) || "";
2266
- external_commonjs_js_cookie_commonjs2_js_cookie_default().set(cookieId, "".concat(cookie.replace("".concat(noticeId, ","), "") + noticeId, ","), {
2267
- expires: COOKIE_EXPIRY
2268
- });
2269
- };
2270
-
2271
- var hasBeenClosedBefore = function hasBeenClosedBefore(cookieId, noticeId) {
2272
- return (external_commonjs_js_cookie_commonjs2_js_cookie_default().get(cookieId) || "").includes(noticeId);
2273
- };
2274
-
2275
- var setupNoticeCollapse = function setupNoticeCollapse(bannerContainer) {
2276
- var scrollTop = window.scrollY;
2277
-
2278
- if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
2279
- hideNotice(bannerContainer);
2280
- }
2281
-
2282
- var listener = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
2283
- var scrollTop = window.scrollY;
2284
-
2285
- if (scrollTop > COLLAPSE_TRIGGER_DISTANCE) {
2286
- hideNotice(bannerContainer);
2287
- } else if (bannerContainer.style.overflow) {
2288
- showNotice(bannerContainer);
2289
- }
2290
- }, SCROLL_LISTENER_THROTTLE);
2291
- document.addEventListener("scroll", listener);
2292
- return function () {
2293
- return document.removeEventListener("scroll", listener);
2294
- };
2295
- };
2296
-
2297
- var setupCloseBtn = function setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners) {
2298
- var closeBtn = bannerContainer.querySelector("button");
2299
- if (!closeBtn) return function () {};
2300
-
2301
- var listener = function listener() {
2302
- if (cookieId && noticeId) setupRememberClosed(cookieId, noticeId);
2303
- hideNotice(bannerContainer);
2304
- collapseUnmountListeners();
2305
- };
2306
-
2307
- closeBtn.addEventListener("click", listener);
2308
- return function () {
2309
- return document.removeEventListener("click", listener);
2310
- };
2311
- };
2312
-
2313
- var resizeHandler = function resizeHandler(bannerContainer) {
2314
- var handler = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
2315
- hideOnMobile(bannerContainer);
2316
- }, RESIZE_LISTENER_THROTTLE);
2317
- window.addEventListener("resize", handler);
2318
- return function () {
2319
- return window.removeEventListener("resize", handler);
2320
- };
2321
- };
2322
-
2323
- var Notice = function Notice(_ref) {
2324
- var bannerContainer = _ref.bannerContainer,
2325
- cookieId = _ref.cookieId,
2326
- noticeId = _ref.noticeId,
2327
- options = _ref.options;
2328
- if (typeof window === "undefined") return function () {};
2329
-
2330
- if (!bannerContainer) {
2331
- console.warn("A Notice component was initited but no notice container was found.");
2332
- return function () {};
2333
- }
2334
-
2335
- if (hasBeenClosedBefore(cookieId, noticeId)) return function () {};
2336
- hideOnMobile(bannerContainer);
2337
- showNotice(bannerContainer);
2338
-
2339
- var opts = _objectSpread({
2340
- collapse: true
2341
- }, options);
2342
-
2343
- var collapseUnmountListeners = opts.collapse ? setupNoticeCollapse(bannerContainer) : function () {};
2344
- var closeBtnUnmountListeners = setupCloseBtn(bannerContainer, cookieId, noticeId, collapseUnmountListeners);
2345
- var resizeUnmountListener = resizeHandler(bannerContainer);
2346
- return function () {
2347
- [closeBtnUnmountListeners, collapseUnmountListeners, resizeUnmountListener].forEach(function (unmount) {
2348
- return unmount();
2349
- });
2350
- };
2351
- };
2352
-
2353
- /* harmony default export */ const Notice_component = (Notice);
2354
- // EXTERNAL MODULE: ./src/core/Icon/component.jsx
2355
- var Icon_component = __webpack_require__(9008);
2356
- ;// CONCATENATED MODULE: ./src/core/Notice/component.jsx
2357
-
2358
-
2359
- var contentWrapperClasses = "w-full pr-8 ui-text-p3 self-center";
2360
-
2361
-
2362
-
2363
- var ContentWrapper = function ContentWrapper(_ref) {
2364
- var buttonLink = _ref.buttonLink,
2365
- children = _ref.children;
2366
- return buttonLink ? /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
2367
- href: buttonLink,
2368
- className: contentWrapperClasses
2369
- }, children) : /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
2370
- className: contentWrapperClasses
2371
- }, children);
2372
- };
2373
-
2374
- ContentWrapper.propTypes = {
2375
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2376
- children: (external_commonjs_prop_types_commonjs2_prop_types_default()).node
2377
- };
2378
-
2379
- var component_Notice = function Notice(_ref2) {
2380
- var buttonLink = _ref2.buttonLink,
2381
- buttonLabel = _ref2.buttonLabel,
2382
- bodyText = _ref2.bodyText,
2383
- title = _ref2.title,
2384
- config = _ref2.config,
2385
- closeBtn = _ref2.closeBtn,
2386
- _ref2$bgColor = _ref2.bgColor,
2387
- bgColor = _ref2$bgColor === void 0 ? "bg-gradient-active-orange" : _ref2$bgColor,
2388
- _ref2$textColor = _ref2.textColor,
2389
- textColor = _ref2$textColor === void 0 ? "text-white" : _ref2$textColor;
2390
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
2391
- Notice_component({
2392
- bannerContainer: document.querySelector('[data-id="ui-notice"]'),
2393
- cookieId: config.cookieId,
2394
- noticeId: config.noticeId,
2395
- options: {
2396
- collapse: config.collapse
2397
- }
2398
- });
2399
- }, []);
2400
- var wrapperClasses = ["ui-announcement", bgColor, textColor].join(" ");
2401
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
2402
- className: wrapperClasses,
2403
- "data-id": "ui-notice",
2404
- style: {
2405
- maxHeight: 0,
2406
- overflow: "hidden"
2407
- }
2408
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
2409
- className: "ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start"
2410
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(ContentWrapper, {
2411
- buttonLink: buttonLink
2412
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("strong", {
2413
- className: "font-bold whitespace-nowrap pr-4"
2414
- }, title), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("span", {
2415
- className: "pr-4"
2416
- }, bodyText), buttonLabel && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("span", {
2417
- className: "underline cursor-pointer whitespace-nowrap"
2418
- }, buttonLabel)), closeBtn && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
2419
- type: "button",
2420
- className: "ml-auto h-20 w-20 border-none bg-none self-baseline"
2421
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component["default"], {
2422
- name: "icon-gui-close",
2423
- size: "1.25rem",
2424
- color: "text-cool-black"
2425
- }))));
2426
- };
2427
-
2428
- component_Notice.propTypes = {
2429
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2430
- buttonLabel: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2431
- bodyText: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2432
- title: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2433
- closeBtn: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool,
2434
- config: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
2435
- collapse: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool,
2436
- noticeId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2437
- cookieId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
2438
- }),
2439
- bgColor: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
2440
- textColor: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
2441
- };
2442
- /* harmony default export */ const core_Notice_component = (component_Notice);
2443
-
2444
- /***/ }),
2445
-
2446
- /***/ 1866:
2447
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2448
-
2449
- "use strict";
2450
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2451
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2452
- /* harmony export */ });
2453
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5225);
2454
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2455
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6073);
2456
- /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
2457
-
2458
-
2459
-
2460
- var SignOutLink = function SignOutLink(_ref) {
2461
- var token = _ref.token,
2462
- href = _ref.href,
2463
- text = _ref.text,
2464
- children = _ref.children,
2465
- absUrl = _ref.absUrl;
2466
- var formRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
2467
-
2468
- var onClick = function onClick(e) {
2469
- formRef.current.submit();
2470
- e.preventDefault();
2471
- };
2472
-
2473
- return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("form", {
2474
- ref: formRef,
2475
- method: "post",
2476
- action: absUrl(href),
2477
- className: "hidden"
2478
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
2479
- name: "_method",
2480
- value: "delete",
2481
- type: "hidden"
2482
- }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("input", {
2483
- name: "authenticity_token",
2484
- value: token,
2485
- type: "hidden"
2486
- })), children({
2487
- href: href,
2488
- text: text,
2489
- onClick: onClick
2490
- }));
2491
- };
2492
-
2493
- SignOutLink.propTypes = {
2494
- token: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
2495
- href: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
2496
- text: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
2497
- children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),
2498
- absUrl: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func)
2499
- };
2500
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (SignOutLink);
2501
-
2502
- /***/ }),
2503
-
2504
- /***/ 9581:
2505
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2506
-
2507
- "use strict";
2508
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2509
- /* harmony export */ "A": () => (/* binding */ queryId),
2510
- /* harmony export */ "n": () => (/* binding */ queryIdAll)
2511
- /* harmony export */ });
2512
- var queryId = function queryId(val) {
2513
- var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
2514
- return root.querySelector("[data-id=".concat(val, "]"));
2515
- };
2516
- var queryIdAll = function queryIdAll(val) {
2517
- var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document;
2518
- return root.querySelectorAll("[data-id=".concat(val, "]"));
2519
- };
2520
-
2521
- /***/ }),
2522
-
2523
- /***/ 3511:
2524
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2525
-
2526
- "use strict";
2527
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2528
- /* harmony export */ "cO": () => (/* binding */ getRemoteDataStore),
2529
- /* harmony export */ "kZ": () => (/* binding */ connectState)
2530
- /* harmony export */ });
2531
- /* unused harmony exports attachStoreToWindow, createRemoteDataStore */
2532
- /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5293);
2533
- /* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(redux__WEBPACK_IMPORTED_MODULE_0__);
2534
-
2535
- var attachStoreToWindow = function attachStoreToWindow(store) {
2536
- window.AblyUi = window.AblyUi || {};
2537
- window.AblyUi.RemoteDataStore = store;
2538
- };
2539
- var getRemoteDataStore = function getRemoteDataStore() {
2540
- if (!window.AblyUi.RemoteDataStore) {
2541
- throw new Error("Remote store was called before one was created");
2542
- }
2543
-
2544
- return window.AblyUi.RemoteDataStore;
2545
- };
2546
- var connectState = function connectState(selector, setState) {
2547
- var store = getRemoteDataStore();
2548
- var cachedOldState = selector(store);
2549
- store.subscribe(function () {
2550
- var newState = selector(store); // Do nothing, state is the same
2551
-
2552
- if (newState === cachedOldState) {
2553
- return;
2554
- }
2555
-
2556
- cachedOldState = newState;
2557
- setState(newState);
2558
- });
2559
- };
2560
- var createRemoteDataStore = function createRemoteDataStore(reducers) {
2561
- return createStore(combineReducers(reducers));
2562
- };
2563
-
2564
- /***/ }),
2565
-
2566
- /***/ 3916:
2567
- /***/ ((module) => {
2568
-
2569
- "use strict";
2570
- module.exports = __WEBPACK_EXTERNAL_MODULE__3916__;
2571
-
2572
- /***/ }),
2573
-
2574
- /***/ 710:
2575
- /***/ ((module) => {
2576
-
2577
- "use strict";
2578
- module.exports = __WEBPACK_EXTERNAL_MODULE__710__;
2579
-
2580
- /***/ }),
2581
-
2582
- /***/ 4360:
2583
- /***/ ((module) => {
2584
-
2585
- "use strict";
2586
- module.exports = __WEBPACK_EXTERNAL_MODULE__4360__;
2587
-
2588
- /***/ }),
2589
-
2590
- /***/ 7326:
2591
- /***/ ((module) => {
2592
-
2593
- "use strict";
2594
- module.exports = __WEBPACK_EXTERNAL_MODULE__7326__;
2595
-
2596
- /***/ }),
2597
-
2598
- /***/ 6073:
2599
- /***/ ((module) => {
2600
-
2601
- "use strict";
2602
- module.exports = __WEBPACK_EXTERNAL_MODULE__6073__;
2603
-
2604
- /***/ }),
2605
-
2606
- /***/ 5225:
2607
- /***/ ((module) => {
2608
-
2609
- "use strict";
2610
- module.exports = __WEBPACK_EXTERNAL_MODULE__5225__;
2611
-
2612
- /***/ }),
2613
-
2614
- /***/ 5293:
2615
- /***/ ((module) => {
2616
-
2617
- "use strict";
2618
- module.exports = __WEBPACK_EXTERNAL_MODULE__5293__;
2619
-
2620
- /***/ }),
2621
-
2622
- /***/ 9042:
2623
- /***/ ((module) => {
2624
-
2625
- "use strict";
2626
- module.exports = __WEBPACK_EXTERNAL_MODULE__9042__;
2627
-
2628
- /***/ }),
2629
-
2630
- /***/ 7061:
2631
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2632
-
2633
- var _typeof = (__webpack_require__(8698)["default"]);
2634
- function _regeneratorRuntime() {
2635
- "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
2636
- module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
2637
- return e;
2638
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
2639
- var t,
2640
- e = {},
2641
- r = Object.prototype,
2642
- n = r.hasOwnProperty,
2643
- o = Object.defineProperty || function (t, e, r) {
2644
- t[e] = r.value;
2645
- },
2646
- i = "function" == typeof Symbol ? Symbol : {},
2647
- a = i.iterator || "@@iterator",
2648
- c = i.asyncIterator || "@@asyncIterator",
2649
- u = i.toStringTag || "@@toStringTag";
2650
- function define(t, e, r) {
2651
- return Object.defineProperty(t, e, {
2652
- value: r,
2653
- enumerable: !0,
2654
- configurable: !0,
2655
- writable: !0
2656
- }), t[e];
2657
- }
2658
- try {
2659
- define({}, "");
2660
- } catch (t) {
2661
- define = function define(t, e, r) {
2662
- return t[e] = r;
2663
- };
2664
- }
2665
- function wrap(t, e, r, n) {
2666
- var i = e && e.prototype instanceof Generator ? e : Generator,
2667
- a = Object.create(i.prototype),
2668
- c = new Context(n || []);
2669
- return o(a, "_invoke", {
2670
- value: makeInvokeMethod(t, r, c)
2671
- }), a;
2672
- }
2673
- function tryCatch(t, e, r) {
2674
- try {
2675
- return {
2676
- type: "normal",
2677
- arg: t.call(e, r)
2678
- };
2679
- } catch (t) {
2680
- return {
2681
- type: "throw",
2682
- arg: t
2683
- };
2684
- }
2685
- }
2686
- e.wrap = wrap;
2687
- var h = "suspendedStart",
2688
- l = "suspendedYield",
2689
- f = "executing",
2690
- s = "completed",
2691
- y = {};
2692
- function Generator() {}
2693
- function GeneratorFunction() {}
2694
- function GeneratorFunctionPrototype() {}
2695
- var p = {};
2696
- define(p, a, function () {
2697
- return this;
2698
- });
2699
- var d = Object.getPrototypeOf,
2700
- v = d && d(d(values([])));
2701
- v && v !== r && n.call(v, a) && (p = v);
2702
- var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
2703
- function defineIteratorMethods(t) {
2704
- ["next", "throw", "return"].forEach(function (e) {
2705
- define(t, e, function (t) {
2706
- return this._invoke(e, t);
2707
- });
2708
- });
2709
- }
2710
- function AsyncIterator(t, e) {
2711
- function invoke(r, o, i, a) {
2712
- var c = tryCatch(t[r], t, o);
2713
- if ("throw" !== c.type) {
2714
- var u = c.arg,
2715
- h = u.value;
2716
- return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
2717
- invoke("next", t, i, a);
2718
- }, function (t) {
2719
- invoke("throw", t, i, a);
2720
- }) : e.resolve(h).then(function (t) {
2721
- u.value = t, i(u);
2722
- }, function (t) {
2723
- return invoke("throw", t, i, a);
2724
- });
2725
- }
2726
- a(c.arg);
2727
- }
2728
- var r;
2729
- o(this, "_invoke", {
2730
- value: function value(t, n) {
2731
- function callInvokeWithMethodAndArg() {
2732
- return new e(function (e, r) {
2733
- invoke(t, n, e, r);
2734
- });
2735
- }
2736
- return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
2737
- }
2738
- });
2739
- }
2740
- function makeInvokeMethod(e, r, n) {
2741
- var o = h;
2742
- return function (i, a) {
2743
- if (o === f) throw new Error("Generator is already running");
2744
- if (o === s) {
2745
- if ("throw" === i) throw a;
2746
- return {
2747
- value: t,
2748
- done: !0
2749
- };
2750
- }
2751
- for (n.method = i, n.arg = a;;) {
2752
- var c = n.delegate;
2753
- if (c) {
2754
- var u = maybeInvokeDelegate(c, n);
2755
- if (u) {
2756
- if (u === y) continue;
2757
- return u;
2758
- }
2759
- }
2760
- if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
2761
- if (o === h) throw o = s, n.arg;
2762
- n.dispatchException(n.arg);
2763
- } else "return" === n.method && n.abrupt("return", n.arg);
2764
- o = f;
2765
- var p = tryCatch(e, r, n);
2766
- if ("normal" === p.type) {
2767
- if (o = n.done ? s : l, p.arg === y) continue;
2768
- return {
2769
- value: p.arg,
2770
- done: n.done
2771
- };
2772
- }
2773
- "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
2774
- }
2775
- };
2776
- }
2777
- function maybeInvokeDelegate(e, r) {
2778
- var n = r.method,
2779
- o = e.iterator[n];
2780
- if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
2781
- var i = tryCatch(o, e.iterator, r.arg);
2782
- if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
2783
- var a = i.arg;
2784
- return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
2785
- }
2786
- function pushTryEntry(t) {
2787
- var e = {
2788
- tryLoc: t[0]
2789
- };
2790
- 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
2791
- }
2792
- function resetTryEntry(t) {
2793
- var e = t.completion || {};
2794
- e.type = "normal", delete e.arg, t.completion = e;
2795
- }
2796
- function Context(t) {
2797
- this.tryEntries = [{
2798
- tryLoc: "root"
2799
- }], t.forEach(pushTryEntry, this), this.reset(!0);
2800
- }
2801
- function values(e) {
2802
- if (e || "" === e) {
2803
- var r = e[a];
2804
- if (r) return r.call(e);
2805
- if ("function" == typeof e.next) return e;
2806
- if (!isNaN(e.length)) {
2807
- var o = -1,
2808
- i = function next() {
2809
- for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
2810
- return next.value = t, next.done = !0, next;
2811
- };
2812
- return i.next = i;
2813
- }
2814
- }
2815
- throw new TypeError(_typeof(e) + " is not iterable");
2816
- }
2817
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
2818
- value: GeneratorFunctionPrototype,
2819
- configurable: !0
2820
- }), o(GeneratorFunctionPrototype, "constructor", {
2821
- value: GeneratorFunction,
2822
- configurable: !0
2823
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
2824
- var e = "function" == typeof t && t.constructor;
2825
- return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
2826
- }, e.mark = function (t) {
2827
- return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
2828
- }, e.awrap = function (t) {
2829
- return {
2830
- __await: t
2831
- };
2832
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
2833
- return this;
2834
- }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
2835
- void 0 === i && (i = Promise);
2836
- var a = new AsyncIterator(wrap(t, r, n, o), i);
2837
- return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
2838
- return t.done ? t.value : a.next();
2839
- });
2840
- }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
2841
- return this;
2842
- }), define(g, "toString", function () {
2843
- return "[object Generator]";
2844
- }), e.keys = function (t) {
2845
- var e = Object(t),
2846
- r = [];
2847
- for (var n in e) r.push(n);
2848
- return r.reverse(), function next() {
2849
- for (; r.length;) {
2850
- var t = r.pop();
2851
- if (t in e) return next.value = t, next.done = !1, next;
2852
- }
2853
- return next.done = !0, next;
2854
- };
2855
- }, e.values = values, Context.prototype = {
2856
- constructor: Context,
2857
- reset: function reset(e) {
2858
- if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
2859
- },
2860
- stop: function stop() {
2861
- this.done = !0;
2862
- var t = this.tryEntries[0].completion;
2863
- if ("throw" === t.type) throw t.arg;
2864
- return this.rval;
2865
- },
2866
- dispatchException: function dispatchException(e) {
2867
- if (this.done) throw e;
2868
- var r = this;
2869
- function handle(n, o) {
2870
- return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
2871
- }
2872
- for (var o = this.tryEntries.length - 1; o >= 0; --o) {
2873
- var i = this.tryEntries[o],
2874
- a = i.completion;
2875
- if ("root" === i.tryLoc) return handle("end");
2876
- if (i.tryLoc <= this.prev) {
2877
- var c = n.call(i, "catchLoc"),
2878
- u = n.call(i, "finallyLoc");
2879
- if (c && u) {
2880
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
2881
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
2882
- } else if (c) {
2883
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
2884
- } else {
2885
- if (!u) throw new Error("try statement without catch or finally");
2886
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
2887
- }
2888
- }
2889
- }
2890
- },
2891
- abrupt: function abrupt(t, e) {
2892
- for (var r = this.tryEntries.length - 1; r >= 0; --r) {
2893
- var o = this.tryEntries[r];
2894
- if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
2895
- var i = o;
2896
- break;
2897
- }
2898
- }
2899
- i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
2900
- var a = i ? i.completion : {};
2901
- return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
2902
- },
2903
- complete: function complete(t, e) {
2904
- if ("throw" === t.type) throw t.arg;
2905
- 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), y;
2906
- },
2907
- finish: function finish(t) {
2908
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
2909
- var r = this.tryEntries[e];
2910
- if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
2911
- }
2912
- },
2913
- "catch": function _catch(t) {
2914
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
2915
- var r = this.tryEntries[e];
2916
- if (r.tryLoc === t) {
2917
- var n = r.completion;
2918
- if ("throw" === n.type) {
2919
- var o = n.arg;
2920
- resetTryEntry(r);
2921
- }
2922
- return o;
2923
- }
2924
- }
2925
- throw new Error("illegal catch attempt");
2926
- },
2927
- delegateYield: function delegateYield(e, r, n) {
2928
- return this.delegate = {
2929
- iterator: values(e),
2930
- resultName: r,
2931
- nextLoc: n
2932
- }, "next" === this.method && (this.arg = t), y;
2933
- }
2934
- }, e;
2935
- }
2936
- module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
2937
-
2938
- /***/ }),
2939
-
2940
- /***/ 8698:
2941
- /***/ ((module) => {
2942
-
2943
- function _typeof(o) {
2944
- "@babel/helpers - typeof";
2945
-
2946
- return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
2947
- return typeof o;
2948
- } : function (o) {
2949
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
2950
- }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
2951
- }
2952
- module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
2953
-
2954
- /***/ }),
2955
-
2956
- /***/ 4687:
2957
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2958
-
2959
- // TODO(Babel 8): Remove this file.
2960
-
2961
- var runtime = __webpack_require__(7061)();
2962
- module.exports = runtime;
2963
-
2964
- // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
2965
- try {
2966
- regeneratorRuntime = runtime;
2967
- } catch (accidentalStrictMode) {
2968
- if (typeof globalThis === "object") {
2969
- globalThis.regeneratorRuntime = runtime;
2970
- } else {
2971
- Function("r", "regeneratorRuntime = r")(runtime);
2972
- }
2973
- }
2974
-
2975
-
2976
- /***/ }),
2977
-
2978
- /***/ 3166:
2979
- /***/ ((module) => {
2980
-
2981
- "use strict";
2982
- module.exports = JSON.parse('{"n":{"white":{"backgroundColor":"bg-white","textColor":"text-cool-black","buttonBackgroundColor":"","buttonTextColor":"","mobileMenuColor":"text-cool-black","logoTextColor":"text-cool-black","barShadow":"shadow-subtle"},"black":{"backgroundColor":"bg-cool-black","textColor":"text-white","buttonBackgroundColor":"bg-white","buttonTextColor":"text-cool-black","mobileMenuColor":"text-white","logoTextColor":"text-white","barShadow":""},"transparentToWhite":{"backgroundColor":"bg-transparent","textColor":"text-white","buttonBackgroundColor":"bg-white","buttonTextColor":"text-cool-black","mobileMenuColor":"text-white","logoTextColor":"text-white","barShadow":""}},"h":[{"label":"Products","shortLabel":"Products","id":"products-panel","component":"MeganavContentProducts"},{"label":"Solutions","shortLabel":"Solutions","id":"use-cases-panel","component":"MeganavContentUseCases"},{"label":"Company","shortLabel":"Company","id":"company-panel","component":"MeganavContentCompany"},{"label":"Developers","shortLabel":"Developers","id":"developers-panel","component":"MeganavContentDevelopers"}]}');
2983
-
2984
- /***/ })
2985
-
2986
- /******/ });
2987
- /************************************************************************/
2988
- /******/ // The module cache
2989
- /******/ var __webpack_module_cache__ = {};
2990
- /******/
2991
- /******/ // The require function
2992
- /******/ function __webpack_require__(moduleId) {
2993
- /******/ // Check if module is in cache
2994
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
2995
- /******/ if (cachedModule !== undefined) {
2996
- /******/ return cachedModule.exports;
2997
- /******/ }
2998
- /******/ // Create a new module (and put it into the cache)
2999
- /******/ var module = __webpack_module_cache__[moduleId] = {
3000
- /******/ // no module.id needed
3001
- /******/ // no module.loaded needed
3002
- /******/ exports: {}
3003
- /******/ };
3004
- /******/
3005
- /******/ // Execute the module function
3006
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
3007
- /******/
3008
- /******/ // Return the exports of the module
3009
- /******/ return module.exports;
3010
- /******/ }
3011
- /******/
3012
- /************************************************************************/
3013
- /******/ /* webpack/runtime/compat get default export */
3014
- /******/ (() => {
3015
- /******/ // getDefaultExport function for compatibility with non-harmony modules
3016
- /******/ __webpack_require__.n = (module) => {
3017
- /******/ var getter = module && module.__esModule ?
3018
- /******/ () => (module['default']) :
3019
- /******/ () => (module);
3020
- /******/ __webpack_require__.d(getter, { a: getter });
3021
- /******/ return getter;
3022
- /******/ };
3023
- /******/ })();
3024
- /******/
3025
- /******/ /* webpack/runtime/define property getters */
3026
- /******/ (() => {
3027
- /******/ // define getter functions for harmony exports
3028
- /******/ __webpack_require__.d = (exports, definition) => {
3029
- /******/ for(var key in definition) {
3030
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
3031
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
3032
- /******/ }
3033
- /******/ }
3034
- /******/ };
3035
- /******/ })();
3036
- /******/
3037
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
3038
- /******/ (() => {
3039
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
3040
- /******/ })();
3041
- /******/
3042
- /******/ /* webpack/runtime/make namespace object */
3043
- /******/ (() => {
3044
- /******/ // define __esModule on exports
3045
- /******/ __webpack_require__.r = (exports) => {
3046
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
3047
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3048
- /******/ }
3049
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
3050
- /******/ };
3051
- /******/ })();
3052
- /******/
3053
- /************************************************************************/
3054
- var __webpack_exports__ = {};
3055
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
3056
- (() => {
3057
- "use strict";
3058
- // ESM COMPAT FLAG
3059
- __webpack_require__.r(__webpack_exports__);
3060
-
3061
- // EXPORTS
3062
- __webpack_require__.d(__webpack_exports__, {
3063
- "default": () => (/* binding */ component_Meganav)
3064
- });
3065
-
3066
- // EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
3067
- var external_commonjs_react_commonjs2_react_ = __webpack_require__(5225);
3068
- var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
3069
- // EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
3070
- var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(6073);
3071
- var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
3072
- // EXTERNAL MODULE: ./src/core/remote-data-store.js
3073
- var remote_data_store = __webpack_require__(3511);
3074
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
3075
- var regenerator = __webpack_require__(4687);
3076
- ;// CONCATENATED MODULE: ./src/core/remote-session-data.js
3077
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3078
-
3079
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3080
-
3081
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3082
-
3083
-
3084
-
3085
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
3086
-
3087
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3088
-
3089
- // Fetches current users session data
3090
- // Assumes an authenticated session, so will only work when used on ably.com/ably.io
3091
-
3092
- var NOT_FOUND_ERROR_CODE = "not-found";
3093
-
3094
- var fetchSessionData = /*#__PURE__*/(/* unused pure expression or super */ null && (function () {
3095
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(store, sessionUrl) {
3096
- var sessionLoaded, res, jsonResponse, payload;
3097
- return _regeneratorRuntime.wrap(function _callee$(_context) {
3098
- while (1) {
3099
- switch (_context.prev = _context.next) {
3100
- case 0:
3101
- sessionLoaded = function sessionLoaded() {
3102
- var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3103
- return store.dispatch({
3104
- type: "session/loaded",
3105
- payload: payload
3106
- });
3107
- };
3108
-
3109
- _context.prev = 1;
3110
-
3111
- if (sessionUrl) {
3112
- _context.next = 6;
3113
- break;
3114
- }
3115
-
3116
- console.log("Skipping fetching session, invalid sessionUrl: \"".concat(sessionUrl, "\""));
3117
- sessionLoaded();
3118
- return _context.abrupt("return");
3119
-
3120
- case 6:
3121
- _context.next = 8;
3122
- return fetch(sessionUrl, {
3123
- cache: "no-cache"
3124
- });
3125
-
3126
- case 8:
3127
- res = _context.sent;
3128
- jsonResponse = isJsonResponse(res.headers.get("content-type"));
3129
-
3130
- if (jsonResponse) {
3131
- _context.next = 12;
3132
- break;
3133
- }
3134
-
3135
- throw new Error("Session endpoint is not serving json");
3136
-
3137
- case 12:
3138
- _context.next = 14;
3139
- return res.json();
3140
-
3141
- case 14:
3142
- payload = _context.sent;
3143
-
3144
- if (payload.error === NOT_FOUND_ERROR_CODE) {
3145
- sessionLoaded();
3146
- } else {
3147
- sessionLoaded(payload);
3148
- }
3149
-
3150
- _context.next = 22;
3151
- break;
3152
-
3153
- case 18:
3154
- _context.prev = 18;
3155
- _context.t0 = _context["catch"](1);
3156
- sessionLoaded();
3157
- console.warn("Could not fetch session data due to error:", _context.t0);
3158
-
3159
- case 22:
3160
- case "end":
3161
- return _context.stop();
3162
- }
3163
- }
3164
- }, _callee, null, [[1, 18]]);
3165
- }));
3166
-
3167
- return function fetchSessionData(_x, _x2) {
3168
- return _ref.apply(this, arguments);
3169
- };
3170
- }()));
3171
-
3172
- var initialState = {
3173
- data: null
3174
- };
3175
- var REDUCER_KEY = "session";
3176
-
3177
- var reducerSessionData = _defineProperty({}, REDUCER_KEY, function () {
3178
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
3179
- var action = arguments.length > 1 ? arguments[1] : undefined;
3180
-
3181
- switch (action.type) {
3182
- case "session/loaded":
3183
- return _objectSpread(_objectSpread({}, state), {}, {
3184
- data: action.payload
3185
- });
3186
-
3187
- default:
3188
- return state;
3189
- }
3190
- });
3191
-
3192
- var selectSessionData = function selectSessionData(store) {
3193
- var _store$getState$REDUC;
3194
-
3195
- return (_store$getState$REDUC = store.getState()[REDUCER_KEY]) === null || _store$getState$REDUC === void 0 ? void 0 : _store$getState$REDUC.data;
3196
- };
3197
-
3198
-
3199
- // EXTERNAL MODULE: ./src/core/Logo/component.jsx
3200
- var component = __webpack_require__(3774);
3201
- // EXTERNAL MODULE: external {"commonjs":"lodash.throttle","commonjs2":"lodash.throttle"}
3202
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_ = __webpack_require__(7326);
3203
- var external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_lodash_throttle_commonjs2_lodash_throttle_);
3204
- // EXTERNAL MODULE: ./src/core/dom-query.js
3205
- var dom_query = __webpack_require__(9581);
3206
- ;// CONCATENATED MODULE: ./src/core/MeganavControl/component.js
3207
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3208
-
3209
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3210
-
3211
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
3212
-
3213
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
3214
-
3215
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
3216
-
3217
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
3218
-
3219
-
3220
-
3221
- var MeganavControl = function MeganavControl() {
3222
- var controls = Array.from((0,dom_query/* queryIdAll */.n)("meganav-control"));
3223
- var panels = Array.from((0,dom_query/* queryIdAll */.n)("meganav-panel"));
3224
- var mdBreakpoint = getComputedStyle(document.documentElement).getPropertyValue("--bp-md");
3225
-
3226
- var hoverEnabled = function hoverEnabled() {
3227
- return window.matchMedia("(hover: hover) and (pointer: fine) and (min-width: ".concat(mdBreakpoint, ")")).matches;
3228
- };
3229
-
3230
- var isSearchControl = function isSearchControl(node) {
3231
- return node.dataset.control === "search";
3232
- };
3233
-
3234
- var isSearchPanelOpen = function isSearchPanelOpen() {
3235
- var searchPanel = document.querySelector('[data-id="meganav-panel"]#panel-search');
3236
- if (!searchPanel) return;
3237
- return !searchPanel.classList.contains("invisible");
3238
- };
3239
-
3240
- var controlsHaveFocus = function controlsHaveFocus() {
3241
- return controls.some(function (control) {
3242
- return control === document.activeElement;
3243
- });
3244
- };
3245
-
3246
- var hover = function hover(control, panel, open) {
3247
- if (hoverEnabled() && !controlsHaveFocus() && !isSearchPanelOpen()) {
3248
- var _panel$classList;
3249
-
3250
- var classes = ["invisible", "visible"];
3251
-
3252
- (_panel$classList = panel.classList).replace.apply(_panel$classList, _toConsumableArray(open ? classes : classes.reverse()));
3253
-
3254
- control.setAttribute("aria-expanded", open);
3255
- control.dataset.hover = open;
3256
- }
3257
- };
3258
-
3259
- var mouseenterHandler = function mouseenterHandler(control, panel) {
3260
- return function () {
3261
- return hover(control, panel, true);
3262
- };
3263
- };
3264
-
3265
- var mouseleaveHandler = function mouseleaveHandler(control, panel) {
3266
- return function () {
3267
- return hover(control, panel, false);
3268
- };
3269
- };
3270
-
3271
- var clickHandler = function clickHandler(control, panel) {
3272
- return function () {
3273
- controls.forEach(function (node) {
3274
- return node !== control && node.setAttribute("aria-expanded", false);
3275
- });
3276
- panels.forEach(function (node) {
3277
- return node !== panel && node.classList.replace("visible", "invisible");
3278
- });
3279
- var ariaExpanded = control.getAttribute("aria-expanded"); // Prevent closing of the panel if it was already opened by hovering
3280
-
3281
- var openedByHover = control.dataset.hover === "true";
3282
-
3283
- if (ariaExpanded === "true" && !openedByHover) {
3284
- control.setAttribute("aria-expanded", false);
3285
- panel.classList.replace("visible", "invisible");
3286
- } else {
3287
- control.setAttribute("aria-expanded", true);
3288
- panel.classList.replace("invisible", "visible");
3289
- }
3290
-
3291
- if (openedByHover) {
3292
- control.dataset.hover = false;
3293
- }
3294
-
3295
- if (isSearchControl(control)) {
3296
- var searchInput = (0,dom_query/* queryId */.A)("meganav-search-input", panel);
3297
- if (!searchInput) return;
3298
- searchInput.focus();
3299
- } else {
3300
- control.focus();
3301
- }
3302
- };
3303
- };
3304
-
3305
- return controls.map(function (control) {
3306
- var item = control.parentNode;
3307
- var panel = document.querySelector("#".concat(control.getAttribute("aria-controls")));
3308
- var click = clickHandler(control, panel);
3309
- control.addEventListener("click", click);
3310
- var mouseenter, mouseleave;
3311
-
3312
- if (!isSearchControl(control)) {
3313
- mouseenter = mouseenterHandler(control, panel);
3314
- mouseleave = mouseleaveHandler(control, panel);
3315
- item.addEventListener("mouseenter", mouseenter);
3316
- item.addEventListener("mouseleave", mouseleave);
3317
- }
3318
-
3319
- return [{
3320
- teardown: function teardown() {
3321
- if (mouseenter && mouseleave) {
3322
- item.removeEventListener("mouseenter", mouseenter);
3323
- item.removeEventListener("mouseleave", mouseleave);
3324
- }
3325
-
3326
- control.removeEventListener("click", click);
3327
- },
3328
- clear: function clear() {
3329
- control.setAttribute("aria-expanded", false);
3330
- panel.classList.replace("visible", "invisible");
3331
- }
3332
- }];
3333
- }).flat();
3334
- };
3335
-
3336
- /* harmony default export */ const MeganavControl_component = (MeganavControl);
3337
- // EXTERNAL MODULE: external {"commonjs":"scroll-lock","commonjs2":"scroll-lock"}
3338
- var external_commonjs_scroll_lock_commonjs2_scroll_lock_ = __webpack_require__(9042);
3339
- var external_commonjs_scroll_lock_commonjs2_scroll_lock_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_scroll_lock_commonjs2_scroll_lock_);
3340
- ;// CONCATENATED MODULE: ./src/core/MeganavControlMobileDropdown/component.js
3341
-
3342
-
3343
-
3344
- var MeganavControlMobileDropdown = function MeganavControlMobileDropdown(_ref) {
3345
- var clearPanels = _ref.clearPanels;
3346
- var control = (0,dom_query/* queryId */.A)("meganav-control-mobile-dropdown");
3347
- var dropdown = (0,dom_query/* queryId */.A)("meganav-mobile-dropdown");
3348
- var menuIcon = (0,dom_query/* queryId */.A)("meganav-control-mobile-dropdown-menu");
3349
- var closeIcon = (0,dom_query/* queryId */.A)("meganav-control-mobile-dropdown-close");
3350
-
3351
- var clickHandler = function clickHandler() {
3352
- var ariaExpanded = control.getAttribute("aria-expanded");
3353
-
3354
- if (ariaExpanded === "false") {
3355
- dropdown.classList.replace("invisible", "visible");
3356
- control.setAttribute("aria-expanded", true);
3357
- external_commonjs_scroll_lock_commonjs2_scroll_lock_default().disablePageScroll();
3358
- } else {
3359
- dropdown.classList.replace("visible", "invisible");
3360
- control.setAttribute("aria-expanded", false);
3361
- external_commonjs_scroll_lock_commonjs2_scroll_lock_default().enablePageScroll();
3362
- clearPanels();
3363
- }
3364
-
3365
- menuIcon.classList.toggle("hidden");
3366
- closeIcon.classList.toggle("hidden");
3367
- };
3368
-
3369
- control.addEventListener("click", clickHandler);
3370
- return {
3371
- teardown: function teardown() {
3372
- control.removeEventListener("click", clickHandler);
3373
- external_commonjs_scroll_lock_commonjs2_scroll_lock_default().enablePageScroll();
3374
- },
3375
- clear: function clear() {
3376
- dropdown.classList.replace("visible", "invisible");
3377
- control.setAttribute("aria-expanded", false);
3378
- menuIcon.classList.remove("hidden");
3379
- closeIcon.classList.add("hidden");
3380
- external_commonjs_scroll_lock_commonjs2_scroll_lock_default().enablePageScroll();
3381
- }
3382
- };
3383
- };
3384
-
3385
- /* harmony default export */ const MeganavControlMobileDropdown_component = (MeganavControlMobileDropdown);
3386
- ;// CONCATENATED MODULE: ./src/core/css.js
3387
- var remsToPixelValue = function remsToPixelValue(remString) {
3388
- return parseFloat(remString) * parseFloat(getComputedStyle(document.documentElement).fontSize);
3389
- };
3390
- ;// CONCATENATED MODULE: ./src/core/MeganavControlMobilePanelOpen/component.js
3391
-
3392
-
3393
- /* harmony default export */ const MeganavControlMobilePanelOpen_component = (function () {
3394
- var closeControls = Array.from((0,dom_query/* queryIdAll */.n)("meganav-control-mobile-panel-close"));
3395
- var openControls = Array.from((0,dom_query/* queryIdAll */.n)("meganav-control-mobile-panel-open"));
3396
- var dropdown = (0,dom_query/* queryId */.A)("meganav-mobile-dropdown"); // Height is defined in rem's so to get the pixel value we need to find the fontSize on root
3397
-
3398
- var meganavHeight = remsToPixelValue(getComputedStyle(document.documentElement).getPropertyValue("--ui-meganav-height"));
3399
-
3400
- var clickHandler = function clickHandler(btn, closeBtn, panel) {
3401
- return function () {
3402
- btn.setAttribute("aria-expanded", true);
3403
- closeBtn.setAttribute("aria-expanded", true);
3404
- panel.classList.replace("hidden", "block"); // On devices where we don't have enough space for the panel, set it's height to
3405
- // the height of the viewport (minus the meganav height) - this will trigger a scroll.
3406
- // Otherwise just set it to the panel height. This handles the case where the ratio of vertical
3407
- // space to horizontal is especially high (think tablets, but not only).
3408
-
3409
- panel.style.height = "".concat(window.innerHeight - meganavHeight > panel.offsetHeight ? panel.offsetHeight : window.innerHeight - meganavHeight, "px");
3410
- };
3411
- };
3412
-
3413
- return openControls.map(function (btn) {
3414
- var closeBtn = closeControls.find(function (node) {
3415
- return node.getAttribute("aria-controls") === btn.getAttribute("aria-controls");
3416
- });
3417
- var panel = document.querySelector("#".concat(btn.getAttribute("aria-controls")));
3418
- var handler = clickHandler(btn, closeBtn, panel);
3419
- btn.addEventListener("click", handler);
3420
- return {
3421
- teardown: function teardown() {
3422
- return btn.removeEventListener("click", handler);
3423
- },
3424
- clear: function clear() {
3425
- panel.classList.replace("block", "hidden");
3426
- dropdown.classList.remove("ui-meganav-mobile-dropdown-expand");
3427
- btn.setAttribute("aria-expanded", false);
3428
- panel.style.height = null;
3429
- }
3430
- };
3431
- });
3432
- });
3433
- ;// CONCATENATED MODULE: ./src/core/MeganavControlMobilePanelClose/component.js
3434
-
3435
- /* harmony default export */ const MeganavControlMobilePanelClose_component = (function () {
3436
- var closeControls = Array.from((0,dom_query/* queryIdAll */.n)("meganav-control-mobile-panel-close"));
3437
- var openControls = Array.from((0,dom_query/* queryIdAll */.n)("meganav-control-mobile-panel-open"));
3438
-
3439
- var clickHandler = function clickHandler(btn, openBtn, panel) {
3440
- return function () {
3441
- btn.setAttribute("aria-expanded", false);
3442
- openBtn.setAttribute("aria-expanded", false);
3443
- panel.classList.replace("block", "hidden");
3444
- panel.style.height = null;
3445
- };
3446
- };
3447
-
3448
- return closeControls.map(function (btn) {
3449
- var openBtn = openControls.find(function (open) {
3450
- return open.getAttribute("aria-controls") === btn.getAttribute("aria-controls");
3451
- });
3452
- var panel = document.querySelector("#".concat(btn.getAttribute("aria-controls")));
3453
- var handler = clickHandler(btn, openBtn, panel);
3454
- btn.addEventListener("click", handler);
3455
- return {
3456
- teardown: function teardown() {
3457
- return btn.removeEventListener("click", handler);
3458
- },
3459
- clear: function clear() {
3460
- return btn.setAttribute("aria-expanded", false);
3461
- }
3462
- };
3463
- });
3464
- });
3465
- // EXTERNAL MODULE: external {"commonjs":"addsearch-js-client","commonjs2":"addsearch-js-client"}
3466
- var external_commonjs_addsearch_js_client_commonjs2_addsearch_js_client_ = __webpack_require__(3916);
3467
- var external_commonjs_addsearch_js_client_commonjs2_addsearch_js_client_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_addsearch_js_client_commonjs2_addsearch_js_client_);
3468
- ;// CONCATENATED MODULE: ./src/core/MeganavSearchAutocomplete/component.js
3469
-
3470
-
3471
-
3472
- var init = function init(_ref) {
3473
- var input = _ref.input,
3474
- container = _ref.container,
3475
- listContainer = _ref.listContainer,
3476
- clear = _ref.clear,
3477
- client = _ref.client;
3478
- client.setAnalyticsTag("Meganav autocomplete");
3479
- client.setThrottleTime(400);
3480
-
3481
- var clearResults = function clearResults() {
3482
- container.classList.add("hidden");
3483
- listContainer.innerHTML = "";
3484
- };
3485
-
3486
- var toggleClearBtn = function toggleClearBtn(query) {
3487
- if ((query || "").length > 0 && clear) {
3488
- clear.classList.remove("invisible");
3489
- } else if (clear) {
3490
- clear.classList.add("invisible");
3491
- }
3492
- };
3493
-
3494
- var markQueryInSuggestion = function markQueryInSuggestion(suggestionValue, query) {
3495
- return suggestionValue.replace(query.toLowerCase(), "<span class=\"font-light\">".concat(query, "</span>"));
3496
- };
3497
-
3498
- var navigateToUrl = function navigateToUrl(q) {
3499
- return window.location = "/search?q=".concat(q);
3500
- };
3501
-
3502
- var focusNext = function focusNext(index) {
3503
- var nextSuggestion = listContainer.querySelector("[data-suggestion-index=\"".concat(index + 1, "\"]"));
3504
- if (!nextSuggestion) return;
3505
- nextSuggestion.focus();
3506
- };
3507
-
3508
- var focusPrevious = function focusPrevious(index) {
3509
- var previousIndex = index - 1;
3510
- var previousSuggestion = listContainer.querySelector("[data-suggestion-index=\"".concat(previousIndex, "\"]"));
3511
- if (!previousSuggestion) return;
3512
- previousSuggestion.focus();
3513
- };
3514
-
3515
- var renderResults = function renderResults(query) {
3516
- return function () {
3517
- var results = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3518
- toggleClearBtn(query); // Prevent invalid access error when key is invalid
3519
-
3520
- if (!Array.isArray(results.suggestions)) {
3521
- clearResults();
3522
- return;
3523
- } // Prevent key error from invalid key
3524
-
3525
-
3526
- if (results.suggestions.length === 0) {
3527
- clearResults();
3528
- return;
3529
- }
3530
-
3531
- var items = results.suggestions.map(function (suggestion, index) {
3532
- var li = document.createElement("li");
3533
- var button = document.createElement("button");
3534
- button.type = "button";
3535
- button.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");
3536
- button.innerHTML = markQueryInSuggestion(suggestion.value, query);
3537
- button.dataset.suggestionIndex = index;
3538
- button.addEventListener("click", function () {
3539
- navigateToUrl(suggestion.value);
3540
- });
3541
- button.addEventListener("keydown", function (e) {
3542
- var key = e.key;
3543
-
3544
- if (key === "ArrowDown") {
3545
- focusNext(index);
3546
- } else if (key === "ArrowUp" && index - 1 < 0) {
3547
- input.focus();
3548
- } else if (key === "ArrowUp" && index - 1 >= 0) {
3549
- focusPrevious(index);
3550
- } else if (key === "Enter" || key === "Space") {
3551
- navigateToUrl(suggestion.value);
3552
- }
3553
- });
3554
- li.appendChild(button);
3555
- return li;
3556
- });
3557
- listContainer.innerHTML = "";
3558
- items.forEach(function (item) {
3559
- return listContainer.appendChild(item);
3560
- });
3561
- container.classList.remove("hidden");
3562
- };
3563
- };
3564
-
3565
- var keyupHandler = function keyupHandler(e) {
3566
- var query = e.target.value;
3567
- var key = e.key;
3568
-
3569
- if (key === "ArrowDown") {
3570
- focusNext(0);
3571
- return;
3572
- }
3573
-
3574
- if (!query) {
3575
- clearResults();
3576
- } else {
3577
- client.suggestions(query, renderResults(query));
3578
- }
3579
- };
3580
-
3581
- var clearHandler;
3582
-
3583
- if (clear) {
3584
- clearHandler = function clearHandler() {
3585
- input.value = "";
3586
- clear.classList.add("invisible");
3587
- clearResults();
3588
- };
3589
-
3590
- clear.addEventListener("click", clearHandler);
3591
- }
3592
-
3593
- input.addEventListener("keyup", keyupHandler);
3594
- return {
3595
- teardown: function teardown() {
3596
- input.removeEventListener("keyup", keyupHandler);
3597
- if (clear) clear.removeEventListener("click", clearHandler);
3598
- },
3599
- clear: function clear() {
3600
- input.value = "";
3601
- clearResults();
3602
- }
3603
- };
3604
- };
3605
-
3606
- /* harmony default export */ const MeganavSearchAutocomplete_component = (function (apiKey) {
3607
- if (!apiKey) {
3608
- console.log("No AddSearch API key provided, skipping search suggestions.");
3609
- return [];
3610
- }
3611
-
3612
- var client = new (external_commonjs_addsearch_js_client_commonjs2_addsearch_js_client_default())(apiKey);
3613
- return [(0,dom_query/* queryId */.A)("meganav-search-input"), (0,dom_query/* queryId */.A)("meganav-mobile-search-input")].filter(function (i) {
3614
- return i;
3615
- }).map(function (input) {
3616
- var parent = input.parentNode;
3617
- var container = (0,dom_query/* queryId */.A)("meganav-search-autocomplete-container", parent);
3618
- var listContainer = (0,dom_query/* queryId */.A)("meganav-search-autocomplete-list", parent);
3619
- var clear = (0,dom_query/* queryId */.A)("meganav-search-input-clear", parent);
3620
- return init({
3621
- input: input,
3622
- container: container,
3623
- listContainer: listContainer,
3624
- client: client,
3625
- clear: clear
3626
- });
3627
- });
3628
- });
3629
- ;// CONCATENATED MODULE: ./src/core/MeganavSearchSuggestions/component.js
3630
-
3631
- var DRAG_BUFFER = 5;
3632
-
3633
- var getTranslateX = function getTranslateX(node) {
3634
- return new DOMMatrix(window.getComputedStyle(node).transform).e;
3635
- };
3636
-
3637
- var updateTranslateX = function updateTranslateX(node, value) {
3638
- return node.style.transform = "translateX(".concat(value, "px)");
3639
- };
3640
-
3641
- var dragLeftBoundary = function dragLeftBoundary(translateX, threshold) {
3642
- return translateX >= threshold;
3643
- };
3644
-
3645
- var dragRightBoundary = function dragRightBoundary(translateX, itemsWidth, windowWidth, threshold) {
3646
- return Math.abs(translateX - windowWidth + threshold) > itemsWidth;
3647
- };
3648
-
3649
- var getDistance = function getDistance(e, touchStartX) {
3650
- var _e$changedTouches$;
3651
-
3652
- return ((_e$changedTouches$ = e.changedTouches[0]) === null || _e$changedTouches$ === void 0 ? void 0 : _e$changedTouches$.clientX) - touchStartX;
3653
- };
3654
-
3655
- var withinBuffer = function withinBuffer(distance) {
3656
- return Math.abs(distance) < DRAG_BUFFER;
3657
- };
3658
-
3659
- var getItemsTotalWidth = function getItemsTotalWidth(nodes) {
3660
- return nodes.map(function (item) {
3661
- return item.getBoundingClientRect().width;
3662
- }).reduce(function (acc, val) {
3663
- return acc + val;
3664
- }, 0);
3665
- };
3666
-
3667
- var MeganavSearchSuggestions = function MeganavSearchSuggestions() {
3668
- var suggestionsToggle = (0,dom_query/* queryId */.A)("meganav-mobile-search-input");
3669
- var suggestions = (0,dom_query/* queryId */.A)("meganav-mobile-search-suggestions");
3670
- var list = suggestions.querySelector("ul");
3671
- var listItems = Array.from(list.querySelectorAll("li"));
3672
-
3673
- var dragLeft = function dragLeft(distance, threshold) {
3674
- var currentTranslateX = getTranslateX(list);
3675
- var translateX = Math.round(currentTranslateX + distance);
3676
- if (dragLeftBoundary(translateX, threshold)) return;
3677
- updateTranslateX(list, translateX);
3678
- };
3679
-
3680
- var dragLeftEnd = function dragLeftEnd(distance, threshold) {
3681
- var currentTranslateX = getTranslateX(list);
3682
- var translateX = Math.round(currentTranslateX + distance);
3683
-
3684
- if (dragLeftBoundary(translateX, threshold)) {
3685
- translateX = 0;
3686
- }
3687
-
3688
- updateTranslateX(list, translateX);
3689
- };
3690
-
3691
- var dragRight = function dragRight(distance, threshold) {
3692
- var listWidth = list.getBoundingClientRect().width;
3693
- var currentTranslateX = getTranslateX(list);
3694
- var translateX = Math.round(currentTranslateX + distance);
3695
- var itemsTotalWidth = getItemsTotalWidth(listItems);
3696
-
3697
- if (dragRightBoundary(translateX, itemsTotalWidth, listWidth, threshold)) {
3698
- return;
3699
- }
3700
-
3701
- updateTranslateX(list, translateX);
3702
- };
3703
-
3704
- var dragRightEnd = function dragRightEnd(distance, threshold) {
3705
- var listWidth = list.getBoundingClientRect().width;
3706
- var currentTranslateX = getTranslateX(list);
3707
- var itemsTotalWidth = getItemsTotalWidth(listItems);
3708
- var translateX = Math.round(currentTranslateX + distance);
3709
-
3710
- if (dragRightBoundary(translateX, itemsTotalWidth, listWidth, threshold)) {
3711
- translateX = -(itemsTotalWidth - listWidth + threshold);
3712
- }
3713
-
3714
- updateTranslateX(list, translateX);
3715
- };
3716
-
3717
- var touchStartX;
3718
-
3719
- var touchstartHandler = function touchstartHandler(e) {
3720
- var _e$touches$;
3721
-
3722
- touchStartX = (_e$touches$ = e.touches[0]) === null || _e$touches$ === void 0 ? void 0 : _e$touches$.clientX;
3723
- };
3724
-
3725
- var touchmoveHandler = function touchmoveHandler(e) {
3726
- var distance = getDistance(e, touchStartX);
3727
- if (withinBuffer(distance)) return;
3728
- distance > 0 ? dragLeft(distance, 24) : dragRight(distance, 96);
3729
- };
3730
-
3731
- var touchendHandler = function touchendHandler(e) {
3732
- var distance = getDistance(e, touchStartX);
3733
- if (withinBuffer(distance)) return;
3734
- distance > 0 ? dragLeftEnd(distance, 24) : dragRightEnd(distance, 48);
3735
- };
3736
-
3737
- var focusSuggestionsHandler = function focusSuggestionsHandler() {
3738
- suggestions.classList.add("max-h-96");
3739
- };
3740
-
3741
- var blurSuggestionsHandler = function blurSuggestionsHandler(e) {
3742
- if (e.relatedTarget === suggestions.querySelectorAll("a")[0]) {
3743
- return;
3744
- }
3745
-
3746
- suggestions.classList.remove("max-h-96");
3747
- };
3748
-
3749
- var wheelHandler = function wheelHandler(e) {
3750
- var distance = e.deltaY * 4;
3751
- if (withinBuffer(distance)) return;
3752
- distance > 0 ? dragLeftEnd(distance, 24) : dragRightEnd(distance, 48);
3753
- };
3754
-
3755
- suggestionsToggle.addEventListener("focus", focusSuggestionsHandler);
3756
- suggestionsToggle.addEventListener("blur", blurSuggestionsHandler);
3757
- suggestions.addEventListener("touchstart", touchstartHandler);
3758
- suggestions.addEventListener("touchmove", touchmoveHandler);
3759
- suggestions.addEventListener("touchend", touchendHandler);
3760
- suggestions.addEventListener("wheel", wheelHandler);
3761
- return {
3762
- teardown: function teardown() {
3763
- suggestionsToggle.removeEventListener("focus", focusSuggestionsHandler);
3764
- suggestionsToggle.removeEventListener("blur", blurSuggestionsHandler);
3765
- suggestions.removeEventListener("touchstart", touchstartHandler);
3766
- suggestions.removeEventListener("touchmove", touchmoveHandler);
3767
- suggestions.removeEventListener("touchend", touchendHandler);
3768
- },
3769
- clear: function clear() {
3770
- suggestions.classList.remove("max-h-96");
3771
- list.style.transform = "translateX(0px)";
3772
- }
3773
- };
3774
- };
3775
-
3776
- /* harmony default export */ const MeganavSearchSuggestions_component = (MeganavSearchSuggestions);
3777
- ;// CONCATENATED MODULE: ./src/core/Meganav/component.js
3778
- function component_toConsumableArray(arr) { return component_arrayWithoutHoles(arr) || component_iterableToArray(arr) || component_unsupportedIterableToArray(arr) || component_nonIterableSpread(); }
3779
-
3780
- function component_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3781
-
3782
- function component_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return component_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return component_arrayLikeToArray(o, minLen); }
3783
-
3784
- function component_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
3785
-
3786
- function component_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return component_arrayLikeToArray(arr); }
3787
-
3788
- function component_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
3789
-
3790
-
3791
- // Glossary:
3792
- // item - is the element which contains both the control and the panel - these are adjacent
3793
- // control - interactive element that controls showing and hiding of dropdown or panel
3794
- // panel - container for meganav content
3795
- // dropdown - container for top level items on mobile
3796
- // clear - return to initial state
3797
- // teardown - remove all event listeners (for example when removing nodes)
3798
-
3799
-
3800
-
3801
-
3802
-
3803
-
3804
-
3805
- // Close menu when user clicks outside of viewport
3806
-
3807
- var windowOnBlur = function windowOnBlur(closeAll) {
3808
- window.onblur = function () {
3809
- return closeAll();
3810
- };
3811
-
3812
- return {
3813
- teardown: function teardown() {
3814
- return window.onblur = null;
3815
- }
3816
- };
3817
- }; // Close menu when click/tap outside of nav
3818
-
3819
-
3820
- var documentClick = function documentClick(closeAll) {
3821
- var meganav = (0,dom_query/* queryId */.A)("meganav");
3822
-
3823
- var clickHandler = function clickHandler(e) {
3824
- if (meganav.contains(e.target)) return;
3825
- closeAll();
3826
- };
3827
-
3828
- document.addEventListener("click", clickHandler);
3829
- return {
3830
- teardown: function teardown() {
3831
- return document.removeEventListener("click", clickHandler);
3832
- }
3833
- };
3834
- }; // Invert from transparent to white
3835
-
3836
-
3837
- var documentScroll = function documentScroll(themeName) {
3838
- if (themeName !== "transparentToWhite") return {
3839
- teardown: function teardown() {}
3840
- };
3841
- var meganav = (0,dom_query/* queryId */.A)("meganav");
3842
- var navItems = (0,dom_query/* queryIdAll */.n)("meganav-link");
3843
- var controlMobileDropdownMenu = (0,dom_query/* queryId */.A)("meganav-control-mobile-dropdown-menu");
3844
- var controlMobileDropdownClose = (0,dom_query/* queryId */.A)("meganav-control-mobile-dropdown-close");
3845
- var controls = (0,dom_query/* queryIdAll */.n)("meganav-control");
3846
- var signUpBtn = (0,dom_query/* queryId */.A)("meganav-sign-up-btn");
3847
- var invertTextCollection = [].concat(component_toConsumableArray(Array.from(controls)), component_toConsumableArray(Array.from(navItems)), [(0,dom_query/* queryId */.A)("meganav-logo")]);
3848
-
3849
- var invertMobleDropdownColor = function invertMobleDropdownColor(invert) {
3850
- var whiteToBlack = ["ui-icon-white", "ui-icon-cool-black"];
3851
- var blackToWhite = [].concat(whiteToBlack).reverse();
3852
-
3853
- if (invert) {
3854
- var _controlMobileDropdow, _controlMobileDropdow2;
3855
-
3856
- controlMobileDropdownMenu === null || controlMobileDropdownMenu === void 0 ? void 0 : (_controlMobileDropdow = controlMobileDropdownMenu.classList).replace.apply(_controlMobileDropdow, whiteToBlack);
3857
- controlMobileDropdownClose === null || controlMobileDropdownClose === void 0 ? void 0 : (_controlMobileDropdow2 = controlMobileDropdownClose.classList).replace.apply(_controlMobileDropdow2, whiteToBlack);
3858
- } else {
3859
- var _controlMobileDropdow3, _controlMobileDropdow4;
3860
-
3861
- controlMobileDropdownMenu === null || controlMobileDropdownMenu === void 0 ? void 0 : (_controlMobileDropdow3 = controlMobileDropdownMenu.classList).replace.apply(_controlMobileDropdow3, component_toConsumableArray(blackToWhite));
3862
- controlMobileDropdownClose === null || controlMobileDropdownClose === void 0 ? void 0 : (_controlMobileDropdow4 = controlMobileDropdownClose.classList).replace.apply(_controlMobileDropdow4, component_toConsumableArray(blackToWhite));
3863
- }
3864
- };
3865
-
3866
- var inverSignupBtnColors = function inverSignupBtnColors(invert) {
3867
- if (invert) {
3868
- signUpBtn === null || signUpBtn === void 0 ? void 0 : signUpBtn.classList.replace("bg-white", "bg-cool-black");
3869
- signUpBtn === null || signUpBtn === void 0 ? void 0 : signUpBtn.classList.replace("text-cool-black", "text-white");
3870
- } else {
3871
- signUpBtn === null || signUpBtn === void 0 ? void 0 : signUpBtn.classList.replace("bg-cool-black", "bg-white");
3872
- signUpBtn === null || signUpBtn === void 0 ? void 0 : signUpBtn.classList.replace("text-white", "text-cool-black");
3873
- }
3874
- };
3875
-
3876
- var scrollHandler = external_commonjs_lodash_throttle_commonjs2_lodash_throttle_default()(function () {
3877
- if (window.scrollY > 5) {
3878
- meganav.classList.replace("bg-transparent", "bg-white");
3879
- inverSignupBtnColors(true);
3880
- invertMobleDropdownColor(true);
3881
- invertTextCollection.forEach(function (n) {
3882
- return n.classList.replace("text-white", "text-cool-black");
3883
- });
3884
- } else {
3885
- meganav.classList.replace("bg-white", "bg-transparent");
3886
- inverSignupBtnColors(false);
3887
- invertMobleDropdownColor(false);
3888
- invertTextCollection.forEach(function (n) {
3889
- return n.classList.replace("text-cool-black", "text-white");
3890
- });
3891
- }
3892
- }, 150);
3893
- document.addEventListener("scroll", scrollHandler);
3894
- return {
3895
- teardown: function teardown() {
3896
- return document.removeEventListener("scroll", scrollHandler);
3897
- }
3898
- };
3899
- };
3900
-
3901
- function Meganav() {
3902
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
3903
- themeName: null
3904
- },
3905
- themeName = _ref.themeName,
3906
- addSearchApiKey = _ref.addSearchApiKey;
3907
-
3908
- var controls = MeganavControl_component();
3909
- var panelOpenControls = MeganavControlMobilePanelOpen_component();
3910
- var panelCloseControls = MeganavControlMobilePanelClose_component();
3911
- var search = MeganavSearchAutocomplete_component(addSearchApiKey);
3912
- var searchSuggestions = MeganavSearchSuggestions_component();
3913
- var mobileDropdownControl = MeganavControlMobileDropdown_component({
3914
- clearPanels: function clearPanels() {
3915
- return [].concat(component_toConsumableArray(panelOpenControls), component_toConsumableArray(panelCloseControls)).forEach(function (i) {
3916
- return i.clear();
3917
- });
3918
- }
3919
- });
3920
-
3921
- var closeAll = function closeAll() {
3922
- return [mobileDropdownControl, searchSuggestions].concat(component_toConsumableArray(panelOpenControls), component_toConsumableArray(panelCloseControls), component_toConsumableArray(controls), component_toConsumableArray(search)).forEach(function (i) {
3923
- return i.clear();
3924
- });
3925
- };
3926
-
3927
- var teardowns = [documentScroll(themeName), documentClick(closeAll), windowOnBlur(closeAll), mobileDropdownControl, searchSuggestions].concat(component_toConsumableArray(controls), component_toConsumableArray(panelOpenControls), component_toConsumableArray(panelCloseControls), component_toConsumableArray(search)).map(function (i) {
3928
- return i.teardown;
3929
- });
3930
- return function () {
3931
- return teardowns.forEach(function (teardown) {
3932
- return teardown();
3933
- });
3934
- };
3935
- }
3936
- // EXTERNAL MODULE: ./src/core/MeganavItemsDesktop/component.jsx
3937
- var MeganavItemsDesktop_component = __webpack_require__(3893);
3938
- // EXTERNAL MODULE: ./src/core/MeganavItemsSignedIn/component.jsx
3939
- var MeganavItemsSignedIn_component = __webpack_require__(9508);
3940
- // EXTERNAL MODULE: ./src/core/MeganavItemsMobile/component.jsx
3941
- var MeganavItemsMobile_component = __webpack_require__(2016);
3942
- // EXTERNAL MODULE: ./src/core/Notice/component.jsx + 1 modules
3943
- var Notice_component = __webpack_require__(3044);
3944
- // EXTERNAL MODULE: ./src/core/Meganav/component.json
3945
- var Meganav_component = __webpack_require__(3166);
3946
- ;// CONCATENATED MODULE: ./src/core/url-base.js
3947
- var DEFAULT_URL_BASE = "";
3948
-
3949
- var absUrl = function absUrl(path) {
3950
- var urlBase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_URL_BASE;
3951
- return "".concat(urlBase).concat(path);
3952
- };
3953
-
3954
- /* harmony default export */ const url_base = (absUrl);
3955
- // EXTERNAL MODULE: ./src/core/MeganavContentProducts/component.jsx
3956
- var MeganavContentProducts_component = __webpack_require__(8254);
3957
- // EXTERNAL MODULE: ./src/core/MeganavContentUseCases/component.jsx
3958
- var MeganavContentUseCases_component = __webpack_require__(1118);
3959
- // EXTERNAL MODULE: ./src/core/MeganavContentCompany/component.jsx + 1 modules
3960
- var MeganavContentCompany_component = __webpack_require__(1505);
3961
- // EXTERNAL MODULE: ./src/core/MeganavContentDevelopers/component.jsx
3962
- var MeganavContentDevelopers_component = __webpack_require__(2619);
3963
- // EXTERNAL MODULE: ./src/core/MeganavSearch/component.jsx
3964
- var MeganavSearch_component = __webpack_require__(97);
3965
- ;// CONCATENATED MODULE: ./src/core/Meganav/component.jsx
3966
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3967
-
3968
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || Meganav_component_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3969
-
3970
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3971
-
3972
- function Meganav_component_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Meganav_component_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Meganav_component_arrayLikeToArray(o, minLen); }
3973
-
3974
- function Meganav_component_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
3975
-
3976
- function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
3977
-
3978
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
3979
-
3980
-
3981
-
3982
-
3983
-
3984
-
3985
-
3986
-
3987
-
3988
-
3989
-
3990
-
3991
-
3992
-
3993
-
3994
-
3995
-
3996
-
3997
-
3998
- var SignIn = function SignIn(_ref) {
3999
- var sessionState = _ref.sessionState,
4000
- theme = _ref.theme,
4001
- loginLink = _ref.loginLink,
4002
- absUrl = _ref.absUrl;
4003
- return sessionState.signedIn ? /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(MeganavItemsSignedIn_component["default"], {
4004
- absUrl: absUrl,
4005
- sessionState: sessionState,
4006
- theme: theme
4007
- }) : /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("ul", {
4008
- className: "hidden md:flex items-center"
4009
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", {
4010
- className: "ui-meganav-item"
4011
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4012
- href: absUrl("/contact"),
4013
- className: "ui-meganav-link ".concat(theme.textColor),
4014
- "data-id": "meganav-link"
4015
- }, "Contact us")), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", {
4016
- className: "ui-meganav-item"
4017
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4018
- href: absUrl(loginLink),
4019
- className: "ui-meganav-link mr-0 ".concat(theme.textColor),
4020
- "data-id": "meganav-link"
4021
- }, "Login")), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", {
4022
- className: "ui-meganav-item"
4023
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(MeganavSearch_component["default"], {
4024
- absUrl: absUrl
4025
- })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("li", {
4026
- className: "ui-meganav-item"
4027
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("a", {
4028
- href: absUrl("/sign-up"),
4029
- "data-id": "meganav-sign-up-btn",
4030
- className: "ui-btn p-btn-small ".concat(theme.buttonBackgroundColor, " ").concat(theme.buttonTextColor)
4031
- }, "Sign up free")));
4032
- };
4033
-
4034
- SignIn.propTypes = {
4035
- sessionState: (external_commonjs_prop_types_commonjs2_prop_types_default()).object,
4036
- paths: (external_commonjs_prop_types_commonjs2_prop_types_default()).object,
4037
- theme: (external_commonjs_prop_types_commonjs2_prop_types_default()).object,
4038
- loginLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4039
- absUrl: (external_commonjs_prop_types_commonjs2_prop_types_default()).func
4040
- };
4041
-
4042
- var SignInPlaceholder = function SignInPlaceholder() {
4043
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", null);
4044
- };
4045
-
4046
- var panels = {
4047
- MeganavContentProducts: MeganavContentProducts_component["default"],
4048
- MeganavContentUseCases: MeganavContentUseCases_component["default"],
4049
- MeganavContentCompany: MeganavContentCompany_component["default"],
4050
- MeganavContentDevelopers: MeganavContentDevelopers_component["default"]
4051
- };
4052
- function component_Meganav(_ref2) {
4053
- var paths = _ref2.paths,
4054
- _ref2$themeName = _ref2.themeName,
4055
- themeName = _ref2$themeName === void 0 ? "white" : _ref2$themeName,
4056
- notice = _ref2.notice,
4057
- _ref2$loginLink = _ref2.loginLink,
4058
- loginLink = _ref2$loginLink === void 0 ? "/login" : _ref2$loginLink,
4059
- urlBase = _ref2.urlBase,
4060
- addSearchApiKey = _ref2.addSearchApiKey;
4061
-
4062
- var _useState = (0,external_commonjs_react_commonjs2_react_.useState)(null),
4063
- _useState2 = _slicedToArray(_useState, 2),
4064
- sessionState = _useState2[0],
4065
- setSessionState = _useState2[1];
4066
-
4067
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
4068
- // Note if state is never updated, sessionState stays null and never removes the placeholder.
4069
- // This makes SSR consistent (ie. we always show the placeholder)
4070
- (0,remote_data_store/* connectState */.kZ)(selectSessionData, setSessionState);
4071
- }, []);
4072
- (0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
4073
- var teardown = Meganav({
4074
- themeName: themeName,
4075
- addSearchApiKey: addSearchApiKey
4076
- });
4077
- return function () {
4078
- return teardown();
4079
- };
4080
- }, [sessionState]);
4081
- var theme = Meganav_component/* themes */.n[themeName];
4082
-
4083
- var absUrl = function absUrl(path) {
4084
- return url_base(path, urlBase);
4085
- };
4086
-
4087
- return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("nav", {
4088
- className: "ui-meganav-wrapper ".concat(theme.backgroundColor, " ").concat(theme.barShadow),
4089
- "data-id": "meganav",
4090
- "aria-label": "Main"
4091
- }, notice && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Notice_component["default"], _extends({}, notice.props, {
4092
- config: notice.config
4093
- })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4094
- className: "ui-meganav ui-grid-px"
4095
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
4096
- className: "mr-24"
4097
- }, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(component["default"], {
4098
- dataId: "meganav-logo",
4099
- href: urlBase,
4100
- logoUrl: paths.logo
4101
- })), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(MeganavItemsDesktop_component["default"], {
4102
- panels: panels,
4103
- paths: paths,
4104
- theme: theme,
4105
- absUrl: absUrl
4106
- }), sessionState ? /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(SignIn, {
4107
- sessionState: sessionState,
4108
- theme: theme,
4109
- loginLink: loginLink,
4110
- absUrl: absUrl
4111
- }) : /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(SignInPlaceholder, null), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(MeganavItemsMobile_component["default"], {
4112
- panels: panels,
4113
- sessionState: sessionState || {},
4114
- paths: paths,
4115
- theme: theme,
4116
- loginLink: loginLink,
4117
- absUrl: absUrl
4118
- })));
4119
- }
4120
- component_Meganav.propTypes = {
4121
- paths: (external_commonjs_prop_types_commonjs2_prop_types_default()).object,
4122
- themeName: external_commonjs_prop_types_commonjs2_prop_types_default().oneOf(["white", "black", "transparentToWhite"]),
4123
- notice: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
4124
- props: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
4125
- title: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4126
- bodyText: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4127
- buttonLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4128
- buttonLabel: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4129
- closeBtn: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool
4130
- }),
4131
- config: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
4132
- cookieId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4133
- noticeId: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4134
- collapse: (external_commonjs_prop_types_commonjs2_prop_types_default()).bool
4135
- })
4136
- }),
4137
- loginLink: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4138
- urlBase: (external_commonjs_prop_types_commonjs2_prop_types_default()).string,
4139
- addSearchApiKey: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
4140
- };
4141
- })();
4142
-
4143
- /******/ return __webpack_exports__;
4144
- /******/ })()
4145
- ;
4146
- });