@ably/ui 16.1.0-dev.d9810f04 → 16.1.1

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 (118) hide show
  1. package/README.md +5 -7
  2. package/core/Accordion/types.js.map +1 -1
  3. package/core/Accordion.js +1 -1
  4. package/core/Accordion.js.map +1 -1
  5. package/core/DropdownMenu.js +1 -1
  6. package/core/DropdownMenu.js.map +1 -1
  7. package/core/FeaturedLink.js +1 -1
  8. package/core/FeaturedLink.js.map +1 -1
  9. package/core/Flyout.js +1 -1
  10. package/core/Flyout.js.map +1 -1
  11. package/core/Footer/data.js +1 -1
  12. package/core/Footer/data.js.map +1 -1
  13. package/core/Footer.js +1 -1
  14. package/core/Footer.js.map +1 -1
  15. package/core/Header/HeaderLinks.js +1 -1
  16. package/core/Header/HeaderLinks.js.map +1 -1
  17. package/core/Header.js +1 -1
  18. package/core/Header.js.map +1 -1
  19. package/core/Meganav/MeganavMobile.js +2 -0
  20. package/core/Meganav/MeganavMobile.js.map +1 -0
  21. package/core/Meganav/MeganavPanel.js +2 -0
  22. package/core/Meganav/MeganavPanel.js.map +1 -0
  23. package/core/Meganav/MeganavProductTile.js +2 -0
  24. package/core/Meganav/MeganavProductTile.js.map +1 -0
  25. package/core/Meganav/data.js +2 -0
  26. package/core/Meganav/data.js.map +1 -0
  27. package/core/Meganav/images/fan-engagement-nav-image.png +0 -0
  28. package/core/Meganav/images/founders-nav-image.png +0 -0
  29. package/core/Meganav.js +1 -1
  30. package/core/Meganav.js.map +1 -1
  31. package/core/Notice/component.js +1 -1
  32. package/core/Notice/component.js.map +1 -1
  33. package/core/Notice.js +1 -1
  34. package/core/Notice.js.map +1 -1
  35. package/core/ProductTile/ProductDescription.js +1 -1
  36. package/core/ProductTile/ProductDescription.js.map +1 -1
  37. package/core/ProductTile/ProductIcon.js +1 -1
  38. package/core/ProductTile/ProductIcon.js.map +1 -1
  39. package/core/ProductTile/ProductLabel.js +1 -1
  40. package/core/ProductTile/ProductLabel.js.map +1 -1
  41. package/core/ProductTile/data.js +1 -1
  42. package/core/ProductTile/data.js.map +1 -1
  43. package/core/SegmentedControl.js +1 -1
  44. package/core/SegmentedControl.js.map +1 -1
  45. package/core/Status.js +1 -1
  46. package/core/Status.js.map +1 -1
  47. package/core/TabMenu.js +1 -1
  48. package/core/TabMenu.js.map +1 -1
  49. package/core/Tooltip.js +1 -1
  50. package/core/Tooltip.js.map +1 -1
  51. package/core/remote-blogs-posts.js.map +1 -1
  52. package/core/remote-session-data.js.map +1 -1
  53. package/core/styles/buttons.css +4 -4
  54. package/core/styles/legacy-buttons.css +5 -5
  55. package/core/styles/properties.css +8 -14
  56. package/core/styles/text.css +12 -28
  57. package/core/utils/heights.js +1 -1
  58. package/core/utils/heights.js.map +1 -1
  59. package/index.d.ts +151 -392
  60. package/package.json +2 -2
  61. package/tailwind.config.js +16 -15
  62. package/core/.DS_Store +0 -0
  63. package/core/LegacyFooter/LegacyFooter.js +0 -2
  64. package/core/LegacyFooter/LegacyFooter.js.map +0 -1
  65. package/core/LegacyFooter/component.css +0 -33
  66. package/core/Meganav/.DS_Store +0 -0
  67. package/core/Meganav/component.css +0 -114
  68. package/core/Meganav/component.js +0 -2
  69. package/core/Meganav/component.js.map +0 -1
  70. package/core/Meganav/component.json +0 -37
  71. package/core/MeganavBlogPostsList/component.js +0 -2
  72. package/core/MeganavBlogPostsList/component.js.map +0 -1
  73. package/core/MeganavBlogPostsList.js +0 -2
  74. package/core/MeganavBlogPostsList.js.map +0 -1
  75. package/core/MeganavContentCompany.js +0 -2
  76. package/core/MeganavContentCompany.js.map +0 -1
  77. package/core/MeganavContentDevelopers.js +0 -2
  78. package/core/MeganavContentDevelopers.js.map +0 -1
  79. package/core/MeganavContentProducts.js +0 -2
  80. package/core/MeganavContentProducts.js.map +0 -1
  81. package/core/MeganavContentUseCases.js +0 -2
  82. package/core/MeganavContentUseCases.js.map +0 -1
  83. package/core/MeganavControl/component.js +0 -2
  84. package/core/MeganavControl/component.js.map +0 -1
  85. package/core/MeganavControl.js +0 -2
  86. package/core/MeganavControl.js.map +0 -1
  87. package/core/MeganavControlMobileDropdown/component.js +0 -2
  88. package/core/MeganavControlMobileDropdown/component.js.map +0 -1
  89. package/core/MeganavControlMobileDropdown.js +0 -2
  90. package/core/MeganavControlMobileDropdown.js.map +0 -1
  91. package/core/MeganavControlMobilePanelClose/component.js +0 -2
  92. package/core/MeganavControlMobilePanelClose/component.js.map +0 -1
  93. package/core/MeganavControlMobilePanelClose.js +0 -2
  94. package/core/MeganavControlMobilePanelClose.js.map +0 -1
  95. package/core/MeganavControlMobilePanelOpen/component.js +0 -2
  96. package/core/MeganavControlMobilePanelOpen/component.js.map +0 -1
  97. package/core/MeganavControlMobilePanelOpen.js +0 -2
  98. package/core/MeganavControlMobilePanelOpen.js.map +0 -1
  99. package/core/MeganavItemsDesktop.js +0 -2
  100. package/core/MeganavItemsDesktop.js.map +0 -1
  101. package/core/MeganavItemsMobile.js +0 -2
  102. package/core/MeganavItemsMobile.js.map +0 -1
  103. package/core/MeganavItemsSignedIn.js +0 -2
  104. package/core/MeganavItemsSignedIn.js.map +0 -1
  105. package/core/MeganavSearch.js +0 -2
  106. package/core/MeganavSearch.js.map +0 -1
  107. package/core/MeganavSearchAutocomplete/component.js +0 -2
  108. package/core/MeganavSearchAutocomplete/component.js.map +0 -1
  109. package/core/MeganavSearchAutocomplete.js +0 -2
  110. package/core/MeganavSearchAutocomplete.js.map +0 -1
  111. package/core/MeganavSearchPanel.js +0 -2
  112. package/core/MeganavSearchPanel.js.map +0 -1
  113. package/core/MeganavSearchSuggestions/component.js +0 -2
  114. package/core/MeganavSearchSuggestions/component.js.map +0 -1
  115. package/core/MeganavSearchSuggestions.js +0 -2
  116. package/core/MeganavSearchSuggestions.js.map +0 -1
  117. package/core/SignOutLink.js +0 -2
  118. package/core/SignOutLink.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "16.1.0-dev.d9810f04",
3
+ "version": "16.1.1",
4
4
  "description": "Home of the Ably design system library ([design.ably.com](https://design.ably.com)). It provides a showcase, development/test environment and a publishing pipeline for different distributables.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -56,7 +56,7 @@
56
56
  "svg-sprite": "^2.0.4",
57
57
  "tailwindcss": "^3.3.6",
58
58
  "ts-node": "^10.9.2",
59
- "typescript": "5.7.3",
59
+ "typescript": "5.8.3",
60
60
  "vite": "^6.2.0",
61
61
  "vitest": "^3.0.8"
62
62
  },
@@ -15,7 +15,7 @@ module.exports = {
15
15
  title: ["var(--fs-title)", "var(--lh-min-normal)"],
16
16
  "title-xl": ["var(--fs-title-xl)", "var(--lh-min-normal)"],
17
17
  "title-xs": ["var(--fs-title-xs)", "var(--lh-min-normal)"],
18
- h1: ["var(--fs-h1)", "var(--lh-tight)"],
18
+ h1: ["var(--fs-h1)", "var(--lh-dense)"],
19
19
  "h1-xl": ["var(--fs-h1-xl)", "var(--lh-min-normal)"],
20
20
  "h1-xs": ["var(--fs-h1-xs)", "var(--lh-min-normal)"],
21
21
  h2: ["var(--fs-h2)", "var(--lh-min-normal)"],
@@ -24,27 +24,23 @@ module.exports = {
24
24
  h3: ["var(--fs-h3)", "var(--lh-min-normal)"],
25
25
  h4: ["var(--fs-h4)", "var(--lh-min-normal)"],
26
26
  h5: ["var(--fs-h5)", "var(--lh-min-normal)"],
27
- p1: ["var(--fs-p1)", "var(--lh-extra-relaxed)"],
28
- p2: ["var(--fs-p2)", "var(--lh-extra-relaxed)"],
29
- p3: ["var(--fs-p3)", "var(--lh-extra-relaxed)"],
30
- p4: ["var(--fs-p4)", "var(--lh-extra-relaxed)"],
27
+ p1: ["var(--fs-p1)", "var(--lh-relaxed)"],
28
+ p2: ["var(--fs-p2)", "var(--lh-relaxed)"],
29
+ p3: ["var(--fs-p3)", "var(--lh-relaxed)"],
30
+ p4: ["var(--fs-p4)", "var(--lh-relaxed)"],
31
31
  standfirst: ["var(--fs-standfirst)"],
32
32
  "standfirst-xl": ["var(--fs-standfirst-xl)"],
33
33
  "sub-header": ["var(--fs-sub-header)"],
34
34
  "sub-header-xs": ["var(--fs-sub-header-xs)"],
35
35
  overline1: ["var(--fs-overline1)"],
36
36
  overline2: ["var(--fs-overline2)"],
37
- btn1: ["var(--fs-btn1)", "var(--lh-normal)"],
38
- btn2: ["var(--fs-btn2)", "var(--lh-tight)"],
39
- btn3: ["var(--fs-btn3)", "var(--lh-tight)"],
40
- btn4: ["var(--fs-btn4)", "var(--lh-dense)"],
41
- menu1: ["var(--fs-menu1)"],
42
- menu2: ["var(--fs-menu2)"],
43
- menu3: ["var(--fs-menu3)"],
44
- menu4: ["var(--fs-menu4)"],
37
+ label1: ["var(--fs-label1)", "var(--lh-snug)"],
38
+ label2: ["var(--fs-label2)", "var(--lh-snug)"],
39
+ label3: ["var(--fs-label3)", "var(--lh-snug)"],
40
+ label4: ["var(--fs-label4)", "var(--lh-snug)"],
45
41
  quote: ["var(--fs-quote)"],
46
- code: ["var(--fs-code)", "var(--lh-dense)"],
47
- code2: ["var(--fs-code2)", "var(--lh-dense)"],
42
+ code: ["var(--fs-code)", "var(--lh-none)"],
43
+ code2: ["var(--fs-code2)", "var(--lh-none)"],
48
44
  },
49
45
  colors: {
50
46
  "neutral-000": "var(--color-neutral-000)",
@@ -311,6 +307,11 @@ module.exports = {
311
307
  gridRowStart: {
312
308
  8: "8",
313
309
  },
310
+ lineHeight: {
311
+ dense: "var(--lh-dense)",
312
+ snug: "var(--lh-snug)",
313
+ relaxed: "var(--lh-relaxed)",
314
+ },
314
315
  keyframes: {
315
316
  tooltipEntry: {
316
317
  "0%": { transform: "translateY(8px)", opacity: 0 },
package/core/.DS_Store DELETED
Binary file
@@ -1,2 +0,0 @@
1
- import React from"react";import Icon from"../Icon";import _absUrl from"../url-base.js";import{StatusIcon}from"../Status";const LegacyFooter=({paths,urlBase,statusUrl})=>{const absUrl=path=>_absUrl(path,urlBase);return React.createElement("footer",{className:"bg-light-grey font-sans antialiased leading-normal","data-id":"footer"},React.createElement("div",{className:"max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6"},React.createElement("div",{className:"col-span-full md:col-span-2"},React.createElement("div",{className:"flex flex-row p-menu-row-snug"},React.createElement("img",{className:"mr-24 -mt-16",src:paths.ablyStack,alt:"Ably homepage"}),React.createElement("h2",{className:"ui-text-overline2 col-span-full"},"The Ably Platform")),React.createElement("div",{className:"md:col-span-4 md:w-3/4 xs:w-3/5 w-full"},React.createElement("p",{className:"ui-text-p3 font-bold py-16 p-menu-row-snug"},"Easily power any realtime experience in your application via a simple API that handles everything realtime.")),React.createElement("ul",{className:"grid grid-cols-1"},React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/pubsub"),className:"ui-footer-menu-row-link"},"Pub/sub messaging")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-footer-menu-row-link"},"Push notifications")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multiple protocol messaging")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"Ably is for"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-footer-menu-row-link"},"Ably Asset Tracking")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/extend-kafka-to-the-edge"),className:"ui-footer-menu-row-link"},"Extend Kafka to the edge")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-footer-menu-row-link"},"EdTech")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-footer-menu-row-link"},"Automotive, Logistics, & Mobility")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-footer-menu-row-link"},"B2B Platforms")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-footer-menu-row-link"},"Healthcare")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-footer-menu-row-link"},"eCommerce & Retail")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-footer-menu-row-link"},"Sports & Media")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-footer-menu-row-link"},"Gaming")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-footer-menu-row-link"},"IoT & Connected Devices")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"Developers"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-footer-menu-row-link"},"Start in 5 minutes")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/"),className:"ui-footer-menu-row-link"},"Documentation")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/tutorials"),className:"ui-footer-menu-row-link"},"Tutorials")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:"https://changelog.ably.com/",className:"ui-footer-menu-row-link"},"Changelog")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/support"),className:"ui-footer-menu-row-link"},"Support & FAQs")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-footer-menu-row-link"},"SDKs")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{className:"ui-footer-menu-row-link flex items-center gap-4",href:"https://status.ably.com/",target:"_blank",rel:"noreferrer"},"System status",React.createElement(StatusIcon,{statusUrl:statusUrl}))))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"WHY ABLY"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/customers"),className:"ui-footer-menu-row-link"},"Customers")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/case-studies"),className:"ui-footer-menu-row-link"},"Case Studies")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/four-pillars-of-dependability"),className:"ui-footer-menu-row-link"},"Four Pillars of Dependability")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/compare"),className:"ui-footer-menu-row-link"},"Compare our tech")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multi protocol support")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"ABOUT"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/about"),className:"ui-footer-menu-row-link"},"About Ably")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/pricing"),className:"ui-footer-menu-row-link"},"Pricing")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/blog"),className:"ui-footer-menu-row-link"},"Blog")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/careers"),className:"ui-footer-menu-row-link"},"Careers")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/open-policy"),className:"ui-footer-menu-row-link"},"Open protocol policy")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/press-center"),className:"ui-footer-menu-row-link"},"Press & Media")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/contact"),className:"ui-footer-menu-row-link"},"Contact us"))))),React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},React.createElement("hr",{className:"border-t border-mid-grey my-0"})),React.createElement("div",{className:"max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2"},React.createElement("div",{className:"md:flex md:items-center"},React.createElement("div",{className:"flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2"},React.createElement("div",{className:""},React.createElement("div",{className:"flex pb-24"},React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-twitter",href:"https://twitter.com/ablyrealtime",title:"Ably on X"},React.createElement(Icon,{name:"icon-social-x",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-linkedin",href:"https://www.linkedin.com/company/ably-realtime",title:"Ably on LinkedIn"},React.createElement(Icon,{name:"icon-social-linkedin",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-github",href:"https://github.com/ably/",title:"Ably on Github"},React.createElement(Icon,{name:"icon-social-github",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-discord",href:"https://discord.gg/jwBPhEZ9g5",title:"Ably on Discord"},React.createElement(Icon,{name:"icon-social-discord",size:"1.5rem"})))),React.createElement("div",{className:"xs:hidden sm:block ui-footer-glassdoor"},React.createElement("div",{className:"flex sm:pt-24 md:pt-0 sm:border-t sm:border-l-0 md:border-t-0 md:border-l sm:border-mid-grey sm:w-3/4 md:w-full md:pl-24"},React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"h-24 text-cool-black hover:text-icon-glassdoor",title:"Ably reviews on glassdoor"},React.createElement(Icon,{name:"icon-social-glassdoor",size:"1.5rem"})),React.createElement("div",{className:"pl-16 text-menu3 font-sans font-medium"},React.createElement("strong",{className:"block font-medium"},"We're hiring!"),React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"ui-footer-link"},"Learn more at Glassdoor"))))),React.createElement("div",{className:"xs:block sm:hidden"},React.createElement("div",{className:"border-t border-mid-grey w-full"}),React.createElement("div",{className:"flex py-24"},React.createElement("a",{className:"h-24 pr-16 text-cool-black hover:text-icon-glassdoor",href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",title:"Ably reviews on glassdoor"},React.createElement(Icon,{name:"icon-social-glassdoor",size:"1.5rem"})),React.createElement("div",{className:"text-menu3 font-sans font-medium"},React.createElement("strong",{className:"block font-medium"},"We're hiring!"),React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"ui-footer-link"},"Learn more at Glassdoor"))))),React.createElement("div",{className:"col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center"},React.createElement("img",{className:"mr-24 h-80",src:paths.bestSupport,alt:"Best Support 2025"}),React.createElement("img",{className:"mr-24 h-80",src:paths.highPerformer,alt:"High Performer 2025"}),React.createElement("img",{className:"mr-24 h-80",src:paths.usersMostLikely,alt:"Users Most Likely To Recommend 2025"}),React.createElement("img",{className:"mr-24 h-80",src:paths.bestMeetsRequirements,alt:"Best Meets Requirements 2025"}))),React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},React.createElement("hr",{className:"border-t border-mid-grey my-0"})),React.createElement("div",{className:"max-w-screen-xl mx-auto py-24 sm:py-40 md:py-32 md:grid md:grid-cols-2 ui-grid-gap ui-grid-px"},React.createElement("div",{className:"flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links"},React.createElement("div",{className:"flex"},React.createElement("a",{href:absUrl("/privacy"),className:"pr-24 ui-footer-link"},"Cookies"),React.createElement("a",{href:absUrl("/legals"),className:"pr-24 ui-footer-link"},"Legals"),React.createElement("a",{href:absUrl("/data-protection"),className:"pr-24 ui-footer-link"},"Data Protection"),React.createElement("a",{href:absUrl("/privacy"),className:"ui-footer-link"},"Privacy"))),React.createElement("div",{className:"xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end"},React.createElement("div",{className:"flex mr-24"},React.createElement(Icon,{name:"icon-gui-check-outline",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"SOC 2 Type 2"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),React.createElement("div",{className:"flex mr-24 md:col-start-2"},React.createElement(Icon,{name:"icon-gui-check-outline",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"HIPAA"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Compliant"))),React.createElement("div",{className:"flex mr-24 md:col-start-3"},React.createElement(Icon,{name:"icon-gui-check-outline",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"EU GDPR"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),React.createElement("div",{className:"flex mr-24 md:col-start-4"},React.createElement(Icon,{name:"icon-gui-check-outline",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"256-bit AES"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Encryption"))))))};export default LegacyFooter;
2
- //# sourceMappingURL=LegacyFooter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/core/LegacyFooter/LegacyFooter.tsx"],"sourcesContent":["import React from \"react\";\n\nimport Icon from \"../Icon\";\nimport _absUrl from \"../url-base.js\";\nimport { StatusIcon } from \"../Status\";\n\ntype LegacyFooterProps = {\n paths: {\n ablyStack: string;\n bestSupport: string;\n highPerformer: string;\n usersMostLikely: string;\n bestMeetsRequirements: string;\n };\n urlBase: string;\n statusUrl: string;\n};\n\nconst LegacyFooter = ({ paths, urlBase, statusUrl }: LegacyFooterProps) => {\n const absUrl = (path: string) => _absUrl(path, urlBase);\n\n // create a react hook that calls the statusUrl and returns the status of the system every minute\n\n return (\n <footer\n className=\"bg-light-grey font-sans antialiased leading-normal\"\n data-id=\"footer\"\n >\n <div className=\"max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6\">\n <div className=\"col-span-full md:col-span-2\">\n <div className=\"flex flex-row p-menu-row-snug\">\n <img\n className=\"mr-24 -mt-16\"\n src={paths.ablyStack}\n alt=\"Ably homepage\"\n />\n <h2 className=\"ui-text-overline2 col-span-full\">\n The Ably Platform\n </h2>\n </div>\n <div className=\"md:col-span-4 md:w-3/4 xs:w-3/5 w-full\">\n <p className=\"ui-text-p3 font-bold py-16 p-menu-row-snug\">\n Easily power any realtime experience in your application via a\n simple API that handles everything realtime.\n </p>\n </div>\n\n <ul className=\"grid grid-cols-1\">\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/pubsub\")} className=\"ui-footer-menu-row-link\">\n Pub/sub messaging\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/push-notifications\")}\n className=\"ui-footer-menu-row-link\"\n >\n Push notifications\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/integrations\")}\n className=\"ui-footer-menu-row-link\"\n >\n Third-party integrations\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/protocols\")}\n className=\"ui-footer-menu-row-link\"\n >\n Multiple protocol messaging\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full xs:col-span-3 md:col-span-1\">\n <h2 className=\"ui-footer-col-title\">Ably is for</h2>\n <ul>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/asset-tracking\")}\n className=\"ui-footer-menu-row-link\"\n >\n Ably Asset Tracking\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/extend-kafka-to-the-edge\")}\n className=\"ui-footer-menu-row-link\"\n >\n Extend Kafka to the edge\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/edtech\")}\n className=\"ui-footer-menu-row-link\"\n >\n EdTech\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/automotive-logistics-and-mobility\")}\n className=\"ui-footer-menu-row-link\"\n >\n Automotive, Logistics, &amp; Mobility\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/b2b-platforms\")}\n className=\"ui-footer-menu-row-link\"\n >\n B2B Platforms\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/healthcare\")}\n className=\"ui-footer-menu-row-link\"\n >\n Healthcare\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/ecommerce-and-retail\")}\n className=\"ui-footer-menu-row-link\"\n >\n eCommerce &amp; Retail\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/sports-and-media\")}\n className=\"ui-footer-menu-row-link\"\n >\n Sports &amp; Media\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/gaming\")}\n className=\"ui-footer-menu-row-link\"\n >\n Gaming\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/solutions/iot-and-connected-devices\")}\n className=\"ui-footer-menu-row-link\"\n >\n IoT &amp; Connected Devices\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full xs:col-span-3 md:col-span-1\">\n <h2 className=\"ui-footer-col-title\">Developers</h2>\n <ul>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/docs/quick-start-guide\")}\n className=\"ui-footer-menu-row-link\"\n >\n Start in 5 minutes\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/docs/\")} className=\"ui-footer-menu-row-link\">\n Documentation\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/tutorials\")}\n className=\"ui-footer-menu-row-link\"\n >\n Tutorials\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href=\"https://changelog.ably.com/\"\n className=\"ui-footer-menu-row-link\"\n >\n Changelog\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/support\")} className=\"ui-footer-menu-row-link\">\n Support &amp; FAQs\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/docs/sdks\")}\n className=\"ui-footer-menu-row-link\"\n >\n SDKs\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n className=\"ui-footer-menu-row-link flex items-center gap-4\"\n href=\"https://status.ably.com/\"\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n System status\n <StatusIcon statusUrl={statusUrl} />\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full xs:col-span-3 md:col-span-1\">\n <h2 className=\"ui-footer-col-title\">WHY ABLY</h2>\n <ul>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/customers\")}\n className=\"ui-footer-menu-row-link\"\n >\n Customers\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/case-studies\")}\n className=\"ui-footer-menu-row-link\"\n >\n Case Studies\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/four-pillars-of-dependability\")}\n className=\"ui-footer-menu-row-link\"\n >\n Four Pillars of Dependability\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/compare\")} className=\"ui-footer-menu-row-link\">\n Compare our tech\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/protocols\")}\n className=\"ui-footer-menu-row-link\"\n >\n Multi protocol support\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/integrations\")}\n className=\"ui-footer-menu-row-link\"\n >\n Third-party integrations\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full xs:col-span-3 md:col-span-1\">\n <h2 className=\"ui-footer-col-title\">ABOUT</h2>\n <ul>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/about\")} className=\"ui-footer-menu-row-link\">\n About Ably\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/pricing\")} className=\"ui-footer-menu-row-link\">\n Pricing\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/blog\")} className=\"ui-footer-menu-row-link\">\n Blog\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/careers\")} className=\"ui-footer-menu-row-link\">\n Careers\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/open-policy\")}\n className=\"ui-footer-menu-row-link\"\n >\n Open protocol policy\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a\n href={absUrl(\"/press-center\")}\n className=\"ui-footer-menu-row-link\"\n >\n Press & Media\n </a>\n </li>\n <li className=\"p-menu-row-snug\">\n <a href={absUrl(\"/contact\")} className=\"ui-footer-menu-row-link\">\n Contact us\n </a>\n </li>\n </ul>\n </div>\n </div>\n <div className=\"max-w-screen-xl ui-grid-px mx-auto\">\n <hr className=\"border-t border-mid-grey my-0\" />\n </div>\n {/* Twitter + Glassdoor SM & above + Glassdoor XS + Badges*/}\n <div className=\"max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2\">\n <div className=\"md:flex md:items-center\">\n <div className=\"flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2\">\n <div className=\"\">\n <div className=\"flex pb-24\">\n <a\n className=\"h-24 pr-24 text-cool-black hover:text-icon-twitter\"\n href=\"https://twitter.com/ablyrealtime\"\n title=\"Ably on X\"\n >\n <Icon name=\"icon-social-x\" size=\"1.5rem\" />\n </a>\n <a\n className=\"h-24 pr-24 text-cool-black hover:text-icon-linkedin\"\n href=\"https://www.linkedin.com/company/ably-realtime\"\n title=\"Ably on LinkedIn\"\n >\n <Icon name=\"icon-social-linkedin\" size=\"1.5rem\" />\n </a>\n <a\n className=\"h-24 pr-24 text-cool-black hover:text-icon-github\"\n href=\"https://github.com/ably/\"\n title=\"Ably on Github\"\n >\n <Icon name=\"icon-social-github\" size=\"1.5rem\" />\n </a>\n <a\n className=\"h-24 pr-24 text-cool-black hover:text-icon-discord\"\n href=\"https://discord.gg/jwBPhEZ9g5\"\n title=\"Ably on Discord\"\n >\n <Icon name=\"icon-social-discord\" size=\"1.5rem\" />\n </a>\n </div>\n </div>\n {/* GLASSDOOR on SM and Above */}\n <div className=\"xs:hidden sm:block ui-footer-glassdoor\">\n <div className=\"flex sm:pt-24 md:pt-0 sm:border-t sm:border-l-0 md:border-t-0 md:border-l sm:border-mid-grey sm:w-3/4 md:w-full md:pl-24\">\n <a\n href=\"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm\"\n className=\"h-24 text-cool-black hover:text-icon-glassdoor\"\n title=\"Ably reviews on glassdoor\"\n >\n <Icon name=\"icon-social-glassdoor\" size=\"1.5rem\" />\n </a>\n <div className=\"pl-16 text-menu3 font-sans font-medium\">\n <strong className=\"block font-medium\">\n We&apos;re hiring!\n </strong>\n <a\n href=\"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm\"\n className=\"ui-footer-link\"\n >\n Learn more at Glassdoor\n </a>\n </div>\n </div>\n </div>\n </div>\n {/* GlassDoor on XS ONLY */}\n <div className=\"xs:block sm:hidden\">\n <div className=\"border-t border-mid-grey w-full\"></div>\n <div className=\"flex py-24\">\n <a\n className=\"h-24 pr-16 text-cool-black hover:text-icon-glassdoor\"\n href=\"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm\"\n title=\"Ably reviews on glassdoor\"\n >\n <Icon name=\"icon-social-glassdoor\" size=\"1.5rem\" />\n </a>\n <div className=\"text-menu3 font-sans font-medium\">\n <strong className=\"block font-medium\">\n We&apos;re hiring!\n </strong>\n <a\n href=\"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm\"\n className=\"ui-footer-link\"\n >\n Learn more at Glassdoor\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center\">\n <img\n className=\"mr-24 h-80\"\n src={paths.bestSupport}\n alt=\"Best Support 2025\"\n />\n <img\n className=\"mr-24 h-80\"\n src={paths.highPerformer}\n alt=\"High Performer 2025\"\n />\n <img\n className=\"mr-24 h-80\"\n src={paths.usersMostLikely}\n alt=\"Users Most Likely To Recommend 2025\"\n />\n <img\n className=\"mr-24 h-80\"\n src={paths.bestMeetsRequirements}\n alt=\"Best Meets Requirements 2025\"\n />\n </div>\n </div>\n\n <div className=\"max-w-screen-xl ui-grid-px mx-auto\">\n <hr className=\"border-t border-mid-grey my-0\" />\n </div>\n <div className=\"max-w-screen-xl mx-auto py-24 sm:py-40 md:py-32 md:grid md:grid-cols-2 ui-grid-gap ui-grid-px\">\n <div className=\"flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links\">\n <div className=\"flex\">\n <a href={absUrl(\"/privacy\")} className=\"pr-24 ui-footer-link\">\n Cookies\n </a>\n <a href={absUrl(\"/legals\")} className=\"pr-24 ui-footer-link\">\n Legals\n </a>\n <a\n href={absUrl(\"/data-protection\")}\n className=\"pr-24 ui-footer-link\"\n >\n Data Protection\n </a>\n <a href={absUrl(\"/privacy\")} className=\"ui-footer-link\">\n Privacy\n </a>\n </div>\n </div>\n <div className=\"xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end\">\n <div className=\"flex mr-24\">\n <Icon\n name=\"icon-gui-check-outline\"\n color=\"text-active-orange\"\n size=\"1.5rem\"\n additionalCSS=\"bg-white rounded-full mr-12 ui-footer-tick-icon\"\n />\n <div>\n <p className=\"ui-footer-compliance-text font-bold whitespace-nowrap\">\n SOC 2 Type 2\n </p>\n <p className=\"ui-footer-compliance-text font-medium mb-24\">\n Certified\n </p>\n </div>\n </div>\n <div className=\"flex mr-24 md:col-start-2\">\n <Icon\n name=\"icon-gui-check-outline\"\n color=\"text-active-orange\"\n size=\"1.5rem\"\n additionalCSS=\"bg-white rounded-full mr-12 ui-footer-tick-icon\"\n />\n <div>\n <p className=\"ui-footer-compliance-text font-bold whitespace-nowrap\">\n HIPAA\n </p>\n <p className=\"ui-footer-compliance-text font-medium mb-24\">\n Compliant\n </p>\n </div>\n </div>\n <div className=\"flex mr-24 md:col-start-3\">\n <Icon\n name=\"icon-gui-check-outline\"\n color=\"text-active-orange\"\n size=\"1.5rem\"\n additionalCSS=\"bg-white rounded-full mr-12 ui-footer-tick-icon\"\n />\n <div>\n <p className=\"ui-footer-compliance-text font-bold whitespace-nowrap\">\n EU GDPR\n </p>\n <p className=\"ui-footer-compliance-text font-medium mb-24\">\n Certified\n </p>\n </div>\n </div>\n <div className=\"flex mr-24 md:col-start-4\">\n <Icon\n name=\"icon-gui-check-outline\"\n color=\"text-active-orange\"\n size=\"1.5rem\"\n additionalCSS=\"bg-white rounded-full mr-12 ui-footer-tick-icon\"\n />\n <div>\n <p className=\"ui-footer-compliance-text font-bold whitespace-nowrap\">\n 256-bit AES\n </p>\n <p className=\"ui-footer-compliance-text font-medium mb-24\">\n Encryption\n </p>\n </div>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n\nexport default LegacyFooter;\n"],"names":["React","Icon","_absUrl","StatusIcon","LegacyFooter","paths","urlBase","statusUrl","absUrl","path","footer","className","data-id","div","img","src","ablyStack","alt","h2","p","ul","li","a","href","target","rel","hr","title","name","size","strong","bestSupport","highPerformer","usersMostLikely","bestMeetsRequirements","color","additionalCSS"],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- @layer components {
2
- .ui-footer-col-title {
3
- @apply font-mono text-overline2 p-menu-row-title font-medium uppercase tracking-widen-0.16;
4
- }
5
-
6
- .ui-footer-menu-row-link {
7
- @apply text-menu3 text-cool-black font-sans font-medium hover:text-gui-hover block;
8
- }
9
-
10
- .ui-footer-link {
11
- @apply text-gui-default hover:text-gui-hover text-menu3 font-sans font-medium;
12
- }
13
-
14
- .ui-footer-compliance-text {
15
- font-size: 12px;
16
- }
17
-
18
- .ui-footer-tick-icon {
19
- min-width: 1.5rem;
20
- }
21
-
22
- @media (max-width: 1040px) {
23
- .ui-footer-bottom-links {
24
- @apply pb-40;
25
- }
26
- }
27
-
28
- @media screen {
29
- .ui-footer-glassdoor {
30
- display: none;
31
- }
32
- }
33
- }
Binary file
@@ -1,114 +0,0 @@
1
- @layer components {
2
- .ui-meganav-wrapper {
3
- /* Define values for new stacking context defined by position: fixed */
4
- --stacking-context-meganav-dropdown: 10;
5
- --stacking-context-meganav-mobile-panel: 20;
6
-
7
- z-index: var(--stacking-context-page-meganav);
8
-
9
- @apply fixed top-0 w-full;
10
- @apply antialiased font-sans transition-colors;
11
- }
12
-
13
- .ui-meganav {
14
- height: var(--ui-meganav-height);
15
-
16
- @apply flex justify-between items-center max-w-screen-xl mx-auto;
17
- }
18
-
19
- .ui-meganav-panel,
20
- .ui-meganav-mobile-dropdown,
21
- .ui-meganav-panel-account {
22
- z-index: var(--stacking-context-meganav-dropdown);
23
-
24
- @apply absolute left-0 right-0;
25
- @apply border-mid-grey border-t shadow-container;
26
- }
27
-
28
- .ui-meganav-panel {
29
- @apply bg-white;
30
- }
31
-
32
- .ui-meganav-panel-mobile {
33
- z-index: var(--stacking-context-meganav-mobile-panel);
34
-
35
- /* Prevents momentum-based scrolling https://devdocs.io/css/-webkit-overflow-scrolling */
36
- -webkit-overflow-scrolling: auto;
37
-
38
- @apply bg-white pt-16 border-0;
39
- @apply border-mid-grey border-t shadow-container;
40
- @apply fixed top-64 left-0 right-0 overflow-y-auto;
41
- }
42
-
43
- .ui-meganav-panel-account {
44
- left: auto;
45
- min-width: 20rem;
46
- @apply bg-white rounded-t-none;
47
- }
48
-
49
- .ui-meganav-panel-split-bg {
50
- background: linear-gradient(to right, #fafafb 33%, white 33%, white 100%);
51
- }
52
-
53
- .ui-meganav-link {
54
- @apply text-menu2 font-bold font-sans;
55
- @apply mr-12 lg:mr-24 px-0 py-20;
56
- @apply hover:text-gui-hover focus:text-gui-focus focus:outline-none;
57
- @apply transition-colors;
58
- }
59
-
60
- .ui-meganav-item {
61
- flex: 1 0 auto;
62
- }
63
-
64
- .ui-meganav-mobile-link {
65
- @apply p-menu-row relative -left-8 w-extend-8;
66
- @apply text-menu2 font-mono font-medium block text-cool-black text-left;
67
- @apply flex items-center;
68
- @apply focus:text-gui-focus focus:outline-none;
69
- }
70
-
71
- .ui-meganav-account-link {
72
- @apply block px-8 py-8 hover:bg-light-grey hover:text-gui-hover rounded relative -left-8 text-menu3 w-extend-8 font-bold font-mono;
73
- }
74
-
75
- .ui-meganav-content {
76
- @apply max-w-screen-xl py-24 lg:py-32 mx-auto;
77
- @apply grid grid-cols-1;
78
- @apply px-24 md:px-32 lg:px-32 xl:px-64;
79
- }
80
-
81
- /* This is implemented not as padding so we can change the color of just this space, while keeping the grid
82
- as close to the designs as possible */
83
- .ui-meganav-content-spacer {
84
- @apply hidden md:block md:w-32 lg:w-32 xl:w-64 self-stretch flex-shrink-0 flex-grow-0;
85
- }
86
-
87
- .ui-meganav-media {
88
- @apply block px-8 py-8 hover:bg-light-grey rounded relative -left-8 w-extend-8;
89
- }
90
-
91
- .ui-meganav-media-with-image {
92
- grid-template-columns: max-content 1fr;
93
- grid-template-rows: min-content 1fr;
94
-
95
- @apply block px-8 py-8 hover:bg-light-grey rounded relative -left-8 w-extend-8;
96
- @apply grid gap-x-16;
97
- }
98
-
99
- .ui-meganav-media-heading {
100
- @apply text-menu3 text-cool-black font-bold font-sans group-hover:text-gui-hover group-focus:text-gui-focus leading-normal;
101
- }
102
-
103
- .ui-meganav-media-copy {
104
- @apply text-p3 font-sans font-medium text-dark-grey leading-normal;
105
- }
106
-
107
- .ui-meganav-overline {
108
- @apply text-overline2 text-cool-black uppercase font-medium font-mono tracking-widen-0.16 p-overline;
109
- }
110
-
111
- .ui-meganav-hr {
112
- @apply my-0 text-mid-grey;
113
- }
114
- }
@@ -1,2 +0,0 @@
1
- import throttle from"lodash.throttle";import{queryId,queryIdAll}from"../dom-query";import MeganavControl from"../MeganavControl/component.js";import MeganavControlMobileDropdown from"../MeganavControlMobileDropdown/component.js";import MobilePanelOpenClick from"../MeganavControlMobilePanelOpen/component.js";import MobilePanelCloseClick from"../MeganavControlMobilePanelClose/component.js";import MeganavSearchAutocomplete from"../MeganavSearchAutocomplete/component.js";import MeganavSearchSuggestions from"../MeganavSearchSuggestions/component.js";const windowOnBlur=closeAll=>{window.onblur=()=>closeAll();return{teardown:()=>window.onblur=null}};const documentClick=closeAll=>{const meganav=queryId("meganav");const clickHandler=e=>{if(meganav.contains(e.target))return;closeAll()};document.addEventListener("click",clickHandler);return{teardown:()=>document.removeEventListener("click",clickHandler)}};const documentScroll=themeName=>{if(themeName!=="transparentToWhite")return{teardown:()=>{}};const meganav=queryId("meganav");const navItems=queryIdAll("meganav-link");const controlMobileDropdownMenu=queryId("meganav-control-mobile-dropdown-menu");const controlMobileDropdownClose=queryId("meganav-control-mobile-dropdown-close");const controls=queryIdAll("meganav-control");const signUpBtn=queryId("meganav-sign-up-btn");const invertTextCollection=[...Array.from(controls),...Array.from(navItems),queryId("meganav-logo")];const invertMobleDropdownColor=invert=>{const whiteToBlack=["ui-icon-white","ui-icon-cool-black"];const blackToWhite=[...whiteToBlack].reverse();if(invert){controlMobileDropdownMenu?.classList.replace(...whiteToBlack);controlMobileDropdownClose?.classList.replace(...whiteToBlack)}else{controlMobileDropdownMenu?.classList.replace(...blackToWhite);controlMobileDropdownClose?.classList.replace(...blackToWhite)}};const inverSignupBtnColors=invert=>{if(invert){signUpBtn?.classList.replace("bg-white","bg-cool-black");signUpBtn?.classList.replace("text-cool-black","text-white")}else{signUpBtn?.classList.replace("bg-cool-black","bg-white");signUpBtn?.classList.replace("text-white","text-cool-black")}};const scrollHandler=throttle(()=>{if(window.scrollY>5){meganav.classList.replace("bg-transparent","bg-white");inverSignupBtnColors(true);invertMobleDropdownColor(true);invertTextCollection.forEach(n=>n.classList.replace("text-white","text-cool-black"))}else{meganav.classList.replace("bg-white","bg-transparent");inverSignupBtnColors(false);invertMobleDropdownColor(false);invertTextCollection.forEach(n=>n.classList.replace("text-cool-black","text-white"))}},150);document.addEventListener("scroll",scrollHandler);return{teardown:()=>document.removeEventListener("scroll",scrollHandler)}};export default function Meganav({themeName,addSearchApiKey}){const controls=MeganavControl();const panelOpenControls=MobilePanelOpenClick();const panelCloseControls=MobilePanelCloseClick();const search=MeganavSearchAutocomplete(addSearchApiKey);const searchSuggestions=MeganavSearchSuggestions();const mobileDropdownControl=MeganavControlMobileDropdown({clearPanels:()=>[...panelOpenControls,...panelCloseControls].forEach(i=>i.clear())});const closeAll=()=>[mobileDropdownControl,searchSuggestions,...panelOpenControls,...panelCloseControls,...controls,...search].forEach(i=>i.clear());const teardowns=[documentScroll(themeName??null),documentClick(closeAll),windowOnBlur(closeAll),mobileDropdownControl,searchSuggestions,...controls,...panelOpenControls,...panelCloseControls,...search].map(i=>i.teardown);return()=>teardowns.forEach(teardown=>teardown())}
2
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/core/Meganav/component.js"],"sourcesContent":["import throttle from \"lodash.throttle\";\n\n// Glossary:\n// item - is the element which contains both the control and the panel - these are adjacent\n// control - interactive element that controls showing and hiding of dropdown or panel\n// panel - container for meganav content\n// dropdown - container for top level items on mobile\n// clear - return to initial state\n// teardown - remove all event listeners (for example when removing nodes)\n\nimport { queryId, queryIdAll } from \"../dom-query\";\n\nimport MeganavControl from \"../MeganavControl/component.js\";\nimport MeganavControlMobileDropdown from \"../MeganavControlMobileDropdown/component.js\";\nimport MobilePanelOpenClick from \"../MeganavControlMobilePanelOpen/component.js\";\nimport MobilePanelCloseClick from \"../MeganavControlMobilePanelClose/component.js\";\nimport MeganavSearchAutocomplete from \"../MeganavSearchAutocomplete/component.js\";\nimport MeganavSearchSuggestions from \"../MeganavSearchSuggestions/component.js\";\n\n// Close menu when user clicks outside of viewport\nconst windowOnBlur = (closeAll) => {\n window.onblur = () => closeAll();\n return { teardown: () => (window.onblur = null) };\n};\n\n// Close menu when click/tap outside of nav\nconst documentClick = (closeAll) => {\n const meganav = queryId(\"meganav\");\n\n const clickHandler = (e) => {\n if (meganav.contains(e.target)) return;\n closeAll();\n };\n\n document.addEventListener(\"click\", clickHandler);\n\n return {\n teardown: () => document.removeEventListener(\"click\", clickHandler),\n };\n};\n\n// Invert from transparent to white\nconst documentScroll = (themeName) => {\n if (themeName !== \"transparentToWhite\") return { teardown: () => {} };\n\n const meganav = queryId(\"meganav\");\n const navItems = queryIdAll(\"meganav-link\");\n const controlMobileDropdownMenu = queryId(\n \"meganav-control-mobile-dropdown-menu\",\n );\n const controlMobileDropdownClose = queryId(\n \"meganav-control-mobile-dropdown-close\",\n );\n const controls = queryIdAll(\"meganav-control\");\n const signUpBtn = queryId(\"meganav-sign-up-btn\");\n\n const invertTextCollection = [\n ...Array.from(controls),\n ...Array.from(navItems),\n queryId(\"meganav-logo\"),\n ];\n\n const invertMobleDropdownColor = (invert) => {\n const whiteToBlack = [\"ui-icon-white\", \"ui-icon-cool-black\"];\n const blackToWhite = [...whiteToBlack].reverse();\n\n if (invert) {\n controlMobileDropdownMenu?.classList.replace(...whiteToBlack);\n controlMobileDropdownClose?.classList.replace(...whiteToBlack);\n } else {\n controlMobileDropdownMenu?.classList.replace(...blackToWhite);\n controlMobileDropdownClose?.classList.replace(...blackToWhite);\n }\n };\n\n const inverSignupBtnColors = (invert) => {\n if (invert) {\n signUpBtn?.classList.replace(\"bg-white\", \"bg-cool-black\");\n signUpBtn?.classList.replace(\"text-cool-black\", \"text-white\");\n } else {\n signUpBtn?.classList.replace(\"bg-cool-black\", \"bg-white\");\n signUpBtn?.classList.replace(\"text-white\", \"text-cool-black\");\n }\n };\n\n const scrollHandler = throttle(() => {\n if (window.scrollY > 5) {\n meganav.classList.replace(\"bg-transparent\", \"bg-white\");\n inverSignupBtnColors(true);\n invertMobleDropdownColor(true);\n\n invertTextCollection.forEach((n) =>\n n.classList.replace(\"text-white\", \"text-cool-black\"),\n );\n } else {\n meganav.classList.replace(\"bg-white\", \"bg-transparent\");\n inverSignupBtnColors(false);\n invertMobleDropdownColor(false);\n\n invertTextCollection.forEach((n) =>\n n.classList.replace(\"text-cool-black\", \"text-white\"),\n );\n }\n }, 150);\n\n document.addEventListener(\"scroll\", scrollHandler);\n\n return {\n teardown: () => document.removeEventListener(\"scroll\", scrollHandler),\n };\n};\n\nexport default function Meganav({ themeName, addSearchApiKey }) {\n const controls = MeganavControl();\n const panelOpenControls = MobilePanelOpenClick();\n const panelCloseControls = MobilePanelCloseClick();\n const search = MeganavSearchAutocomplete(addSearchApiKey);\n const searchSuggestions = MeganavSearchSuggestions();\n\n const mobileDropdownControl = MeganavControlMobileDropdown({\n clearPanels: () =>\n [...panelOpenControls, ...panelCloseControls].forEach((i) => i.clear()),\n });\n\n const closeAll = () =>\n [\n mobileDropdownControl,\n searchSuggestions,\n ...panelOpenControls,\n ...panelCloseControls,\n ...controls,\n ...search,\n ].forEach((i) => i.clear());\n\n const teardowns = [\n documentScroll(themeName ?? null),\n documentClick(closeAll),\n windowOnBlur(closeAll),\n mobileDropdownControl,\n searchSuggestions,\n ...controls,\n ...panelOpenControls,\n ...panelCloseControls,\n ...search,\n ].map((i) => i.teardown);\n\n return () => teardowns.forEach((teardown) => teardown());\n}\n"],"names":["throttle","queryId","queryIdAll","MeganavControl","MeganavControlMobileDropdown","MobilePanelOpenClick","MobilePanelCloseClick","MeganavSearchAutocomplete","MeganavSearchSuggestions","windowOnBlur","closeAll","window","onblur","teardown","documentClick","meganav","clickHandler","e","contains","target","document","addEventListener","removeEventListener","documentScroll","themeName","navItems","controlMobileDropdownMenu","controlMobileDropdownClose","controls","signUpBtn","invertTextCollection","Array","from","invertMobleDropdownColor","invert","whiteToBlack","blackToWhite","reverse","classList","replace","inverSignupBtnColors","scrollHandler","scrollY","forEach","n","Meganav","addSearchApiKey","panelOpenControls","panelCloseControls","search","searchSuggestions","mobileDropdownControl","clearPanels","i","clear","teardowns","map"],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- {
2
- "themes": {
3
- "white": {
4
- "backgroundColor": "bg-white",
5
- "textColor": "text-cool-black",
6
- "buttonBackgroundColor": "",
7
- "buttonTextColor": "",
8
- "mobileMenuColor": "text-cool-black",
9
- "logoTextColor": "text-cool-black",
10
- "barShadow": "shadow-subtle"
11
- },
12
- "black": {
13
- "backgroundColor": "bg-cool-black",
14
- "textColor": "text-white",
15
- "buttonBackgroundColor": "bg-white",
16
- "buttonTextColor": "text-cool-black",
17
- "mobileMenuColor": "text-white",
18
- "logoTextColor": "text-white",
19
- "barShadow": ""
20
- },
21
- "transparentToWhite": {
22
- "backgroundColor": "bg-transparent",
23
- "textColor": "text-white",
24
- "buttonBackgroundColor": "bg-white",
25
- "buttonTextColor": "text-cool-black",
26
- "mobileMenuColor": "text-white",
27
- "logoTextColor": "text-white",
28
- "barShadow": ""
29
- }
30
- },
31
- "panels": [
32
- { "label": "Products", "shortLabel": "Products", "id": "products-panel", "component": "MeganavContentProducts" },
33
- { "label": "Solutions", "shortLabel": "Solutions", "id": "use-cases-panel", "component": "MeganavContentUseCases" },
34
- { "label": "Company", "shortLabel": "Company", "id": "company-panel", "component": "MeganavContentCompany" },
35
- { "label": "Developers", "shortLabel": "Developers", "id": "developers-panel", "component": "MeganavContentDevelopers" }
36
- ]
37
- }
@@ -1,2 +0,0 @@
1
- import{queryIdAll}from"../dom-query";import{selectRecentBlogPosts}from"../remote-blogs-posts";import{connectState}from"../remote-data-store";const template=({link,title,pubDate})=>{const[li,a,heading,copy]=["li","a","p","p"].map(el=>document.createElement(el));a.href=link;a.classList.add("ui-meganav-media","group");heading.textContent=title;heading.classList.add("ui-meganav-media-heading");copy.textContent=pubDate;copy.classList.add("ui-meganav-media-copy");a.appendChild(heading);a.appendChild(copy);li.appendChild(a);return li};export default(()=>{connectState(selectRecentBlogPosts,recentBlogPosts=>{if(Array.isArray(recentBlogPosts)&&recentBlogPosts.length>0){const sections=queryIdAll("meganav-company-panel-blog-section");const containers=queryIdAll("meganav-company-panel-recent-blog-posts");Array.from(containers).forEach(container=>{const fragment=document.createDocumentFragment();recentBlogPosts.forEach(post=>fragment.appendChild(template(post)));container.appendChild(fragment)});Array.from(sections).forEach(section=>section.classList.remove("hidden"))}})});
2
- //# sourceMappingURL=component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/core/MeganavBlogPostsList/component.js"],"sourcesContent":["import { queryIdAll } from \"../dom-query\";\nimport { selectRecentBlogPosts } from \"../remote-blogs-posts\";\nimport { connectState } from \"../remote-data-store\";\n\nconst template = ({ link, title, pubDate }) => {\n const [li, a, heading, copy] = [\"li\", \"a\", \"p\", \"p\"].map((el) =>\n document.createElement(el),\n );\n\n a.href = link;\n a.classList.add(\"ui-meganav-media\", \"group\");\n\n heading.textContent = title;\n heading.classList.add(\"ui-meganav-media-heading\");\n\n copy.textContent = pubDate;\n copy.classList.add(\"ui-meganav-media-copy\");\n\n a.appendChild(heading);\n a.appendChild(copy);\n li.appendChild(a);\n\n return li;\n};\n\nexport default () => {\n connectState(selectRecentBlogPosts, (recentBlogPosts) => {\n if (Array.isArray(recentBlogPosts) && recentBlogPosts.length > 0) {\n const sections = queryIdAll(\"meganav-company-panel-blog-section\");\n const containers = queryIdAll(\"meganav-company-panel-recent-blog-posts\");\n\n Array.from(containers).forEach((container) => {\n const fragment = document.createDocumentFragment();\n recentBlogPosts.forEach((post) => fragment.appendChild(template(post)));\n container.appendChild(fragment);\n });\n\n Array.from(sections).forEach((section) =>\n section.classList.remove(\"hidden\"),\n );\n }\n });\n};\n"],"names":["queryIdAll","selectRecentBlogPosts","connectState","template","link","title","pubDate","li","a","heading","copy","map","el","document","createElement","href","classList","add","textContent","appendChild","recentBlogPosts","Array","isArray","length","sections","containers","from","forEach","container","fragment","createDocumentFragment","post","section","remove"],"mappings":"AAAA,OAASA,UAAU,KAAQ,cAAe,AAC1C,QAASC,qBAAqB,KAAQ,uBAAwB,AAC9D,QAASC,YAAY,KAAQ,sBAAuB,CAEpD,MAAMC,SAAW,CAAC,CAAEC,IAAI,CAAEC,KAAK,CAAEC,OAAO,CAAE,IACxC,KAAM,CAACC,GAAIC,EAAGC,QAASC,KAAK,CAAG,CAAC,KAAM,IAAK,IAAK,IAAI,CAACC,GAAG,CAAC,AAACC,IACxDC,SAASC,aAAa,CAACF,IAGzBJ,CAAAA,EAAEO,IAAI,CAAGX,KACTI,EAAEQ,SAAS,CAACC,GAAG,CAAC,mBAAoB,QAEpCR,CAAAA,QAAQS,WAAW,CAAGb,MACtBI,QAAQO,SAAS,CAACC,GAAG,CAAC,2BAEtBP,CAAAA,KAAKQ,WAAW,CAAGZ,QACnBI,KAAKM,SAAS,CAACC,GAAG,CAAC,yBAEnBT,EAAEW,WAAW,CAACV,SACdD,EAAEW,WAAW,CAACT,MACdH,GAAGY,WAAW,CAACX,GAEf,OAAOD,EACT,CAEA,eAAe,CAAA,KACbL,aAAaD,sBAAuB,AAACmB,kBACnC,GAAIC,MAAMC,OAAO,CAACF,kBAAoBA,gBAAgBG,MAAM,CAAG,EAAG,CAChE,MAAMC,SAAWxB,WAAW,sCAC5B,MAAMyB,WAAazB,WAAW,2CAE9BqB,MAAMK,IAAI,CAACD,YAAYE,OAAO,CAAC,AAACC,YAC9B,MAAMC,SAAWhB,SAASiB,sBAAsB,GAChDV,gBAAgBO,OAAO,CAAC,AAACI,MAASF,SAASV,WAAW,CAAChB,SAAS4B,QAChEH,UAAUT,WAAW,CAACU,SACxB,GAEAR,MAAMK,IAAI,CAACF,UAAUG,OAAO,CAAC,AAACK,SAC5BA,QAAQhB,SAAS,CAACiB,MAAM,CAAC,UAE7B,CACF,EACF,CAAA,CAAE"}
@@ -1,2 +0,0 @@
1
- import React from"react";import FeaturedLink from"./FeaturedLink";const MeganavBlogPostsList=({recentBlogPosts,absUrl})=>recentBlogPosts?React.createElement("div",{className:"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-blog"},"Blog"),React.createElement("ul",{className:"mb-8","aria-labelledby":"meganav-company-panel-list-blog"},recentBlogPosts.map(post=>React.createElement("li",{key:post.link},React.createElement("a",{href:post.link,className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},post.title),React.createElement("p",{className:"ui-meganav-media-copy"},post.pubDate))))),React.createElement(FeaturedLink,{url:absUrl("/blog"),textSize:"text-p3"},"More from our Blog")):null;export default MeganavBlogPostsList;
2
- //# sourceMappingURL=MeganavBlogPostsList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/MeganavBlogPostsList.tsx"],"sourcesContent":["import React from \"react\";\n\nimport FeaturedLink from \"./FeaturedLink\";\nimport { AbsUrl } from \"./Meganav\";\n\ntype MeganavBlogPostsListProps = {\n recentBlogPosts: {\n link: string;\n title: string;\n pubDate: string;\n }[];\n absUrl: AbsUrl;\n};\n\nconst MeganavBlogPostsList = ({\n recentBlogPosts,\n absUrl,\n}: MeganavBlogPostsListProps) =>\n recentBlogPosts ? (\n <div className=\"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0\">\n <h3 className=\"ui-meganav-overline\" id=\"meganav-company-panel-list-blog\">\n Blog\n </h3>\n <ul className=\"mb-8\" aria-labelledby=\"meganav-company-panel-list-blog\">\n {recentBlogPosts.map((post) => (\n <li key={post.link}>\n <a href={post.link} className=\"ui-meganav-media group\">\n <p className=\"ui-meganav-media-heading\">{post.title}</p>\n <p className=\"ui-meganav-media-copy\">{post.pubDate}</p>\n </a>\n </li>\n ))}\n </ul>\n\n <FeaturedLink url={absUrl(\"/blog\")} textSize=\"text-p3\">\n More from our Blog\n </FeaturedLink>\n </div>\n ) : null;\n\nexport default MeganavBlogPostsList;\n"],"names":["React","FeaturedLink","MeganavBlogPostsList","recentBlogPosts","absUrl","div","className","h3","id","ul","aria-labelledby","map","post","li","key","link","a","href","p","title","pubDate","url","textSize"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,iBAAkB,gBAAiB,CAY1C,MAAMC,qBAAuB,CAAC,CAC5BC,eAAe,CACfC,MAAM,CACoB,GAC1BD,gBACE,oBAACE,OAAIC,UAAU,mFACb,oBAACC,MAAGD,UAAU,sBAAsBE,GAAG,mCAAkC,QAGzE,oBAACC,MAAGH,UAAU,OAAOI,kBAAgB,mCAClCP,gBAAgBQ,GAAG,CAAC,AAACC,MACpB,oBAACC,MAAGC,IAAKF,KAAKG,IAAI,EAChB,oBAACC,KAAEC,KAAML,KAAKG,IAAI,CAAET,UAAU,0BAC5B,oBAACY,KAAEZ,UAAU,4BAA4BM,KAAKO,KAAK,EACnD,oBAACD,KAAEZ,UAAU,yBAAyBM,KAAKQ,OAAO,MAM1D,oBAACnB,cAAaoB,IAAKjB,OAAO,SAAUkB,SAAS,WAAU,uBAIvD,IAEN,gBAAepB,oBAAqB"}
@@ -1,2 +0,0 @@
1
- import React from"react";import MeganavBlogPostsList from"./MeganavBlogPostsList";import ConnectStateWrapper from"./ConnectStateWrapper";import{selectRecentBlogPosts}from"./remote-blogs-posts.js";import Icon from"./Icon";const MeganavContentCompany=({paths,absUrl})=>{const BlogPostsList=ConnectStateWrapper(MeganavBlogPostsList,{recentBlogPosts:selectRecentBlogPosts});return React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-why-companies"},"Why companies choose Ably"),React.createElement("ul",{"aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/customers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-customers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Customers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably supports customers across multiple industries.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/case-studies"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-case-studies-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Case studies"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover how customers are benefiting from Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/compare"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-compare-tech-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Compare our tech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Choose the right realtime service.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/aws"),className:"ui-meganav-media-with-image group"},paths&&React.createElement("img",{src:paths.awsLogo,alt:"AWS logo"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Partners"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably collaborates and integrates with AWS.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/resources"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-resources-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Resources"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn more about realtime with our handy resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/about"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-about-ably-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"About Ably"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably’s mission.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/careers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-careers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Careers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our open roles and core Ably values.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/events"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-events-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Events"),React.createElement("p",{className:"ui-meganav-media-copy"},"Join Ably at upcoming events.")))))),React.createElement(BlogPostsList,{absUrl:absUrl})),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentCompany;
2
- //# sourceMappingURL=MeganavContentCompany.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/MeganavContentCompany.tsx"],"sourcesContent":["import React from \"react\";\n\nimport MeganavBlogPostsList from \"./MeganavBlogPostsList\";\nimport ConnectStateWrapper from \"./ConnectStateWrapper\";\nimport { selectRecentBlogPosts } from \"./remote-blogs-posts.js\";\nimport Icon from \"./Icon\";\nimport { AbsUrl, MeganavPaths } from \"./Meganav\";\n\ntype MeganavContentCompanyProps = {\n absUrl: AbsUrl;\n paths?: MeganavPaths;\n};\n\nconst MeganavContentCompany = ({\n paths,\n absUrl,\n}: MeganavContentCompanyProps) => {\n const BlogPostsList = ConnectStateWrapper(MeganavBlogPostsList, {\n recentBlogPosts: selectRecentBlogPosts,\n });\n\n return (\n <div className=\"flex max-w-screen-xl mx-auto\">\n <div className=\"ui-meganav-content-spacer\"></div>\n <section className=\"grid grid-cols-12 ui-grid-gap-x w-full\">\n <div className=\"col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24\">\n <h3\n className=\"ui-meganav-overline\"\n id=\"meganav-company-panel-list-why-companies\"\n >\n Why companies choose Ably\n </h3>\n <ul aria-labelledby=\"meganav-company-panel-list-why-companies\">\n <li>\n <a\n href={absUrl(\"/customers\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-customers-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Customers</p>\n <p className=\"ui-meganav-media-copy\">\n Ably supports customers across multiple industries.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/case-studies\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-case-studies-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Case studies</p>\n <p className=\"ui-meganav-media-copy\">\n Discover how customers are benefiting from Ably.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/compare\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-compare-tech-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Compare our tech</p>\n <p className=\"ui-meganav-media-copy\">\n Choose the right realtime service.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/aws\")}\n className=\"ui-meganav-media-with-image group\"\n >\n {paths && <img src={paths.awsLogo} alt=\"AWS logo\" />}\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Partners</p>\n <p className=\"ui-meganav-media-copy\">\n Ably collaborates and integrates with AWS.\n </p>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0\">\n <ul\n className=\"md:mt-40\"\n aria-labelledby=\"meganav-company-panel-list-why-companies\"\n >\n <li>\n <a\n href={absUrl(\"/resources\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-resources-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Resources</p>\n <p className=\"ui-meganav-media-copy\">\n Learn more about realtime with our handy resources.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/about\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-about-ably-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">About Ably</p>\n <p className=\"ui-meganav-media-copy\">\n Find out more about Ably’s mission.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/careers\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-careers-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Careers</p>\n <p className=\"ui-meganav-media-copy\">\n Discover our open roles and core Ably values.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/events\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-events-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Events</p>\n <p className=\"ui-meganav-media-copy\">\n Join Ably at upcoming events.\n </p>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <BlogPostsList absUrl={absUrl} />\n </section>\n <div className=\"ui-meganav-content-spacer\"></div>\n </div>\n );\n};\n\nexport default MeganavContentCompany;\n"],"names":["React","MeganavBlogPostsList","ConnectStateWrapper","selectRecentBlogPosts","Icon","MeganavContentCompany","paths","absUrl","BlogPostsList","recentBlogPosts","div","className","section","h3","id","ul","aria-labelledby","li","a","href","name","size","p","img","src","awsLogo","alt"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,yBAA0B,wBAAyB,AAC1D,QAAOC,wBAAyB,uBAAwB,AACxD,QAASC,qBAAqB,KAAQ,yBAA0B,AAChE,QAAOC,SAAU,QAAS,CAQ1B,MAAMC,sBAAwB,CAAC,CAC7BC,KAAK,CACLC,MAAM,CACqB,IAC3B,MAAMC,cAAgBN,oBAAoBD,qBAAsB,CAC9DQ,gBAAiBN,qBACnB,GAEA,OACE,oBAACO,OAAIC,UAAU,gCACb,oBAACD,OAAIC,UAAU,8BACf,oBAACC,WAAQD,UAAU,0CACjB,oBAACD,OAAIC,UAAU,uFACb,oBAACE,MACCF,UAAU,sBACVG,GAAG,4CACJ,6BAGD,oBAACC,MAAGC,kBAAgB,4CAClB,oBAACC,UACC,oBAACC,KACCC,KAAMZ,OAAO,cACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,6BAA6BC,KAAK,WAC7C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,aACxC,oBAACW,KAAEX,UAAU,yBAAwB,0DAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,iBACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,gCAAgCC,KAAK,WAChD,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,gBACxC,oBAACW,KAAEX,UAAU,yBAAwB,uDAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,YACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,gCAAgCC,KAAK,WAChD,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,oBACxC,oBAACW,KAAEX,UAAU,yBAAwB,yCAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,QACbI,UAAU,qCAETL,OAAS,oBAACiB,OAAIC,IAAKlB,MAAMmB,OAAO,CAAEC,IAAI,aACvC,oBAAChB,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,YACxC,oBAACW,KAAEX,UAAU,yBAAwB,mDAS/C,oBAACD,OAAIC,UAAU,6EACb,oBAACI,MACCJ,UAAU,WACVK,kBAAgB,4CAEhB,oBAACC,UACC,oBAACC,KACCC,KAAMZ,OAAO,cACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,6BAA6BC,KAAK,WAC7C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,aACxC,oBAACW,KAAEX,UAAU,yBAAwB,0DAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,UACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,8BAA8BC,KAAK,WAC9C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,cACxC,oBAACW,KAAEX,UAAU,yBAAwB,0CAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,YACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,2BAA2BC,KAAK,WAC3C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,WACxC,oBAACW,KAAEX,UAAU,yBAAwB,oDAM3C,oBAACM,UACC,oBAACC,KACCC,KAAMZ,OAAO,WACbI,UAAU,qCAEV,oBAACP,MAAKgB,KAAK,0BAA0BC,KAAK,WAC1C,oBAACX,OAAIC,UAAU,gCACb,oBAACW,KAAEX,UAAU,4BAA2B,UACxC,oBAACW,KAAEX,UAAU,yBAAwB,sCAS/C,oBAACH,eAAcD,OAAQA,UAEzB,oBAACG,OAAIC,UAAU,8BAGrB,CAEA,gBAAeN,qBAAsB"}
@@ -1,2 +0,0 @@
1
- import React from"react";import Icon from"./Icon";import{StatusIcon}from"./Status";const MeganavContentDevelopers=({absUrl,statusUrl})=>React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-explore"},"Explore"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-docs-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Documentation"),React.createElement("p",{className:"ui-meganav-media-copy"},"Technical guides to help you build with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-quickstart-guides-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Quickstart guides"),React.createElement("p",{className:"ui-meganav-media-copy"},"Documentation to help you get started quickly.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/integrations"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-integrations-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Integrations"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably integrations."," ")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/examples"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-examples-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Live examples"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our features and their use cases.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-sdks-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"SDKs"),React.createElement("p",{className:"ui-meganav-media-copy"},"Download an SDK to help you build realtime apps faster.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/tutorials"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-tutorials-demos-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Tutorials & Demos"),React.createElement("p",{className:"ui-meganav-media-copy"},"Get stuck in with our hands-on resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-chat"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-chat-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Chat apps reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build chat apps with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-multiplayer"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-multi-user-spaces-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build collaborative features with Ably.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-quick-links"},"Quick links"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-quick-links"},React.createElement("li",null,React.createElement("a",{href:"https://discord.gg/jwBPhEZ9g5",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Discord"))),React.createElement("li",null,React.createElement("a",{href:"https://github.com/ably",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"GitHub"))),React.createElement("li",null,React.createElement("a",{href:"https://changelog.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Changelog"))),React.createElement("li",null,React.createElement("a",{href:"https://status.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading flex items-center gap-4"},"Status",React.createElement(StatusIcon,{statusUrl:statusUrl})))),React.createElement("li",null,React.createElement("a",{href:absUrl("/support"),className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Support & FAQs")))))),React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentDevelopers;
2
- //# sourceMappingURL=MeganavContentDevelopers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/MeganavContentDevelopers.tsx"],"sourcesContent":["import React from \"react\";\n\nimport Icon from \"./Icon\";\nimport { AbsUrl } from \"./Meganav\";\nimport { StatusIcon } from \"./Status\";\n\nconst MeganavContentDevelopers = ({\n absUrl,\n statusUrl,\n}: {\n absUrl: AbsUrl;\n statusUrl: string;\n}) => (\n <div className=\"flex max-w-screen-xl mx-auto\">\n <div className=\"ui-meganav-content-spacer\"></div>\n <section className=\"grid grid-cols-12 ui-grid-gap-x w-full\">\n <div className=\"col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24\">\n <h3\n className=\"ui-meganav-overline uppercase\"\n id=\"meganav-developers-panel-explore\"\n >\n Explore\n </h3>\n <ul aria-labelledby=\"meganav-developers-panel-explore\">\n <li>\n <a\n href={absUrl(\"/docs\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-docs-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Documentation</p>\n <p className=\"ui-meganav-media-copy\">\n Technical guides to help you build with Ably.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/docs/quick-start-guide\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-quickstart-guides-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Quickstart guides</p>\n <p className=\"ui-meganav-media-copy\">\n Documentation to help you get started quickly.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/integrations\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-integrations-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Integrations</p>\n <p className=\"ui-meganav-media-copy\">\n Find out more about Ably integrations.{\" \"}\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/examples\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-examples-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Live examples</p>\n <p className=\"ui-meganav-media-copy\">\n Discover our features and their use cases.\n </p>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0\">\n <ul\n className=\"md:mt-40\"\n aria-labelledby=\"meganav-developers-panel-explore\"\n >\n <li>\n <a\n href={absUrl(\"/docs/sdks\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-sdks-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">SDKs</p>\n <p className=\"ui-meganav-media-copy\">\n Download an SDK to help you build realtime apps faster.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/tutorials\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-tutorials-demos-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">Tutorials & Demos</p>\n <p className=\"ui-meganav-media-copy\">\n Get stuck in with our hands-on resources.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/reference-guide-chat\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-chat-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">\n Chat apps reference guide\n </p>\n <p className=\"ui-meganav-media-copy\">\n Learn how to build chat apps with Ably.\n </p>\n </div>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/reference-guide-multiplayer\")}\n className=\"ui-meganav-media-with-image group\"\n >\n <Icon name=\"icon-display-multi-user-spaces-col\" size=\"2.5rem\" />\n <div className=\"flex flex-col justify-center\">\n <p className=\"ui-meganav-media-heading\">\n Multiplayer reference guide\n </p>\n <p className=\"ui-meganav-media-copy\">\n Learn how to build collaborative features with Ably.\n </p>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0\">\n <h3\n className=\"ui-meganav-overline uppercase\"\n id=\"meganav-developers-panel-quick-links\"\n >\n Quick links\n </h3>\n <ul aria-labelledby=\"meganav-developers-panel-quick-links\">\n <li>\n <a\n href=\"https://discord.gg/jwBPhEZ9g5\"\n className=\"group ui-meganav-media py-12\"\n >\n <p className=\"ui-meganav-media-heading\">Discord</p>\n </a>\n </li>\n <li>\n <a\n href=\"https://github.com/ably\"\n className=\"group ui-meganav-media py-12\"\n >\n <p className=\"ui-meganav-media-heading\">GitHub</p>\n </a>\n </li>\n <li>\n <a\n href=\"https://changelog.ably.com/\"\n className=\"group ui-meganav-media py-12\"\n >\n <p className=\"ui-meganav-media-heading\">Changelog</p>\n </a>\n </li>\n <li>\n <a\n href=\"https://status.ably.com/\"\n className=\"group ui-meganav-media py-12\"\n >\n <p className=\"ui-meganav-media-heading flex items-center gap-4\">\n Status\n <StatusIcon statusUrl={statusUrl} />\n </p>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/support\")}\n className=\"group ui-meganav-media py-12\"\n >\n <p className=\"ui-meganav-media-heading\">Support & FAQs</p>\n </a>\n </li>\n </ul>\n </div>\n </section>\n <div className=\"ui-meganav-content-spacer\"></div>\n </div>\n);\n\nexport default MeganavContentDevelopers;\n"],"names":["React","Icon","StatusIcon","MeganavContentDevelopers","absUrl","statusUrl","div","className","section","h3","id","ul","aria-labelledby","li","a","href","name","size","p"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import React from"react";import FeaturedLink from"./FeaturedLink";const MeganavContentProducts=({paths,absUrl})=>React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("div",{className:"col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey"},React.createElement("div",{className:"flex mb-20"},paths&&React.createElement("img",{src:paths?.ablyStack,alt:"Ably homepage"}),React.createElement("h3",{className:"ui-meganav-overline ml-24"},"The Ably Platform")),React.createElement("p",{className:"ui-text-p2 font-bold mb-24",style:{maxWidth:"330px"}},"Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything realtime, and lets you focus on your code."),React.createElement(FeaturedLink,{url:absUrl("/platform"),textSize:"text-p2"},"Explore how it works")),React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-examples"},"Products"),React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-examples"},React.createElement("li",null,React.createElement("a",{href:absUrl("/pubsub"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Pub/Sub"),React.createElement("p",{className:"ui-meganav-media-copy"},"Build infinitely scalable realtime applications."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/spaces"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Spaces"),React.createElement("p",{className:"ui-meganav-media-copy"},"Create multi-user collaborative environments."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/livesync"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"LiveSync"),React.createElement("p",{className:"ui-meganav-media-copy"},"Seamlessly sync database changes with frontend clients at scale."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/chat"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Chat"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale."))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-our-technology"},"Technology"),React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-our-technology"},React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#performance"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Predictable performance"),React.createElement("p",{className:"ui-meganav-media-copy"},"A low-latency and high-throughput global network."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#integrity"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Guaranteed ordering & delivery"),React.createElement("p",{className:"ui-meganav-media-copy"},"Data is delivered - in order - even after disconnections."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#reliability"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Fault tolerant infrastructure"),React.createElement("p",{className:"ui-meganav-media-copy"},"Redundancy is built in at global and regional levels."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#availability"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"High scalability & availability"),React.createElement("p",{className:"ui-meganav-media-copy"},"Built for scale with legitimate 99.999% uptime SLAs."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/network"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Global edge network"),React.createElement("p",{className:"ui-meganav-media-copy"},"An edge network of 15 core routing datacenters and 205+ PoPs.")))),React.createElement(FeaturedLink,{url:absUrl("/four-pillars-of-dependability"),textSize:"text-p3"},"Explore Four Pillars of Dependability"))),React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentProducts;
2
- //# sourceMappingURL=MeganavContentProducts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/MeganavContentProducts.tsx"],"sourcesContent":["import React from \"react\";\n\nimport FeaturedLink from \"./FeaturedLink\";\nimport { AbsUrl, MeganavPaths } from \"./Meganav\";\n\ntype MeganavContentProductsProps = {\n paths?: MeganavPaths;\n absUrl: AbsUrl;\n};\n\nconst MeganavContentProducts = ({\n paths,\n absUrl,\n}: MeganavContentProductsProps) => (\n <div className=\"flex max-w-screen-xl mx-auto\">\n <div className=\"ui-meganav-content-spacer bg-extra-light-grey\"></div>\n <section className=\"grid grid-cols-12 ui-grid-gap-x w-full\">\n <div className=\"col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey\">\n <div className=\"flex mb-20\">\n {paths && <img src={paths?.ablyStack} alt=\"Ably homepage\" />}\n <h3 className=\"ui-meganav-overline ml-24\">The Ably Platform</h3>\n </div>\n <p className=\"ui-text-p2 font-bold mb-24\" style={{ maxWidth: \"330px\" }}>\n Easily power any realtime experience in your application. No complex\n infrastructure to manage or provision. Just a simple API that handles\n everything realtime, and lets you focus on your code.\n </p>\n\n <FeaturedLink url={absUrl(\"/platform\")} textSize=\"text-p2\">\n Explore how it works\n </FeaturedLink>\n </div>\n\n <div className=\"col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white\">\n <h3\n className=\"ui-meganav-overline\"\n id=\"meganav-products-panel-list-examples\"\n >\n Products\n </h3>\n <ul\n className=\"mb-16\"\n aria-labelledby=\"meganav-products-panel-list-examples\"\n >\n <li>\n <a href={absUrl(\"/pubsub\")} className=\"group ui-meganav-media\">\n <p className=\"ui-meganav-media-heading\">Pub/Sub</p>\n <p className=\"ui-meganav-media-copy\">\n Build infinitely scalable realtime applications.\n </p>\n </a>\n </li>\n <li>\n <a href={absUrl(\"/spaces\")} className=\"group ui-meganav-media\">\n <p className=\"ui-meganav-media-heading\">Spaces</p>\n <p className=\"ui-meganav-media-copy\">\n Create multi-user collaborative environments.\n </p>\n </a>\n </li>\n <li>\n <a href={absUrl(\"/livesync\")} className=\"group ui-meganav-media\">\n <p className=\"ui-meganav-media-heading\">LiveSync</p>\n <p className=\"ui-meganav-media-copy\">\n Seamlessly sync database changes with frontend clients at scale.\n </p>\n </a>\n </li>\n <li>\n <a href={absUrl(\"/chat\")} className=\"group ui-meganav-media\">\n <p className=\"ui-meganav-media-heading\">Chat</p>\n <p className=\"ui-meganav-media-copy\">\n Deliver highly reliable chat experiences at scale.\n </p>\n </a>\n </li>\n </ul>\n </div>\n\n <div className=\"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white\">\n <h3\n className=\"ui-meganav-overline\"\n id=\"meganav-products-panel-list-our-technology\"\n >\n Technology\n </h3>\n <ul\n className=\"mb-16\"\n aria-labelledby=\"meganav-products-panel-list-our-technology\"\n >\n <li>\n <a\n href={absUrl(\"/four-pillars-of-dependability#performance\")}\n className=\"ui-meganav-media group\"\n >\n <p className=\"ui-meganav-media-heading\">\n Predictable performance\n </p>\n <p className=\"ui-meganav-media-copy\">\n A low-latency and high-throughput global network.\n </p>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/four-pillars-of-dependability#integrity\")}\n className=\"ui-meganav-media group\"\n >\n <p className=\"ui-meganav-media-heading\">\n Guaranteed ordering & delivery\n </p>\n <p className=\"ui-meganav-media-copy\">\n Data is delivered - in order - even after disconnections.\n </p>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/four-pillars-of-dependability#reliability\")}\n className=\"ui-meganav-media group\"\n >\n <p className=\"ui-meganav-media-heading\">\n Fault tolerant infrastructure\n </p>\n <p className=\"ui-meganav-media-copy\">\n Redundancy is built in at global and regional levels.\n </p>\n </a>\n </li>\n <li>\n <a\n href={absUrl(\"/four-pillars-of-dependability#availability\")}\n className=\"ui-meganav-media group\"\n >\n <p className=\"ui-meganav-media-heading\">\n High scalability & availability\n </p>\n <p className=\"ui-meganav-media-copy\">\n Built for scale with legitimate 99.999% uptime SLAs.\n </p>\n </a>\n </li>\n <li>\n <a href={absUrl(\"/network\")} className=\"ui-meganav-media group\">\n <p className=\"ui-meganav-media-heading\">Global edge network</p>\n <p className=\"ui-meganav-media-copy\">\n An edge network of 15 core routing datacenters and 205+ PoPs.\n </p>\n </a>\n </li>\n </ul>\n\n <FeaturedLink\n url={absUrl(\"/four-pillars-of-dependability\")}\n textSize=\"text-p3\"\n >\n Explore Four Pillars of Dependability\n </FeaturedLink>\n </div>\n </section>\n <div className=\"ui-meganav-content-spacer\"></div>\n </div>\n);\n\nexport default MeganavContentProducts;\n"],"names":["React","FeaturedLink","MeganavContentProducts","paths","absUrl","div","className","section","img","src","ablyStack","alt","h3","p","style","maxWidth","url","textSize","id","ul","aria-labelledby","li","a","href"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAE1B,QAAOC,iBAAkB,gBAAiB,CAQ1C,MAAMC,uBAAyB,CAAC,CAC9BC,KAAK,CACLC,MAAM,CACsB,GAC5B,oBAACC,OAAIC,UAAU,gCACb,oBAACD,OAAIC,UAAU,kDACf,oBAACC,WAAQD,UAAU,0CACjB,oBAACD,OAAIC,UAAU,kGACb,oBAACD,OAAIC,UAAU,cACZH,OAAS,oBAACK,OAAIC,IAAKN,OAAOO,UAAWC,IAAI,kBAC1C,oBAACC,MAAGN,UAAU,6BAA4B,sBAE5C,oBAACO,KAAEP,UAAU,6BAA6BQ,MAAO,CAAEC,SAAU,OAAQ,GAAG,oMAMxE,oBAACd,cAAae,IAAKZ,OAAO,aAAca,SAAS,WAAU,yBAK7D,oBAACZ,OAAIC,UAAU,4FACb,oBAACM,MACCN,UAAU,sBACVY,GAAG,wCACJ,YAGD,oBAACC,MACCb,UAAU,QACVc,kBAAgB,wCAEhB,oBAACC,UACC,oBAACC,KAAEC,KAAMnB,OAAO,WAAYE,UAAU,0BACpC,oBAACO,KAAEP,UAAU,4BAA2B,WACxC,oBAACO,KAAEP,UAAU,yBAAwB,sDAKzC,oBAACe,UACC,oBAACC,KAAEC,KAAMnB,OAAO,WAAYE,UAAU,0BACpC,oBAACO,KAAEP,UAAU,4BAA2B,UACxC,oBAACO,KAAEP,UAAU,yBAAwB,mDAKzC,oBAACe,UACC,oBAACC,KAAEC,KAAMnB,OAAO,aAAcE,UAAU,0BACtC,oBAACO,KAAEP,UAAU,4BAA2B,YACxC,oBAACO,KAAEP,UAAU,yBAAwB,sEAKzC,oBAACe,UACC,oBAACC,KAAEC,KAAMnB,OAAO,SAAUE,UAAU,0BAClC,oBAACO,KAAEP,UAAU,4BAA2B,QACxC,oBAACO,KAAEP,UAAU,yBAAwB,0DAQ7C,oBAACD,OAAIC,UAAU,4FACb,oBAACM,MACCN,UAAU,sBACVY,GAAG,8CACJ,cAGD,oBAACC,MACCb,UAAU,QACVc,kBAAgB,8CAEhB,oBAACC,UACC,oBAACC,KACCC,KAAMnB,OAAO,8CACbE,UAAU,0BAEV,oBAACO,KAAEP,UAAU,4BAA2B,2BAGxC,oBAACO,KAAEP,UAAU,yBAAwB,uDAKzC,oBAACe,UACC,oBAACC,KACCC,KAAMnB,OAAO,4CACbE,UAAU,0BAEV,oBAACO,KAAEP,UAAU,4BAA2B,kCAGxC,oBAACO,KAAEP,UAAU,yBAAwB,+DAKzC,oBAACe,UACC,oBAACC,KACCC,KAAMnB,OAAO,8CACbE,UAAU,0BAEV,oBAACO,KAAEP,UAAU,4BAA2B,iCAGxC,oBAACO,KAAEP,UAAU,yBAAwB,2DAKzC,oBAACe,UACC,oBAACC,KACCC,KAAMnB,OAAO,+CACbE,UAAU,0BAEV,oBAACO,KAAEP,UAAU,4BAA2B,mCAGxC,oBAACO,KAAEP,UAAU,yBAAwB,0DAKzC,oBAACe,UACC,oBAACC,KAAEC,KAAMnB,OAAO,YAAaE,UAAU,0BACrC,oBAACO,KAAEP,UAAU,4BAA2B,uBACxC,oBAACO,KAAEP,UAAU,yBAAwB,oEAO3C,oBAACL,cACCe,IAAKZ,OAAO,kCACZa,SAAS,WACV,2CAKL,oBAACZ,OAAIC,UAAU,8BAInB,gBAAeJ,sBAAuB"}