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

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