@ably/ui 14.0.0-dev.fbce38f → 14.0.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 (208) hide show
  1. package/README.md +8 -10
  2. package/core/Accordion.js +1 -0
  3. package/core/Code/component.js +1 -1
  4. package/core/Code.js +1 -0
  5. package/core/ConnectStateWrapper.js +1 -0
  6. package/core/ContactFooter/component.css +9 -7
  7. package/core/ContactFooter/component.js +1 -1
  8. package/core/ContactFooter.js +1 -0
  9. package/core/CookieMessage/component.css +12 -10
  10. package/core/CookieMessage.js +1 -0
  11. package/core/CustomerLogos.js +1 -0
  12. package/core/DropdownMenu.js +1 -0
  13. package/core/Expander.js +1 -0
  14. package/core/FeaturedLink.js +1 -0
  15. package/core/Flash/component.css +21 -19
  16. package/core/Flash.js +1 -0
  17. package/core/Footer/component.css +24 -22
  18. package/core/Footer.js +1 -0
  19. package/core/Icon.js +1 -0
  20. package/core/Loader.js +13 -0
  21. package/core/Logo.js +1 -0
  22. package/core/Meganav/component.css +105 -103
  23. package/core/Meganav/component.js +1 -1
  24. package/core/Meganav.js +1 -0
  25. package/core/MeganavBlogPostsList/component.js +1 -1
  26. package/core/MeganavBlogPostsList.js +1 -0
  27. package/core/MeganavContentCompany.js +1 -0
  28. package/core/MeganavContentDevelopers.js +1 -0
  29. package/core/MeganavContentProducts.js +1 -0
  30. package/core/MeganavContentUseCases.js +1 -0
  31. package/core/MeganavControl/component.js +1 -1
  32. package/core/MeganavControl.js +1 -0
  33. package/core/MeganavControlMobileDropdown/component.js +1 -1
  34. package/core/MeganavControlMobileDropdown.js +1 -0
  35. package/core/MeganavControlMobilePanelClose/component.js +1 -1
  36. package/core/MeganavControlMobilePanelClose.js +1 -0
  37. package/core/MeganavControlMobilePanelOpen/component.js +1 -1
  38. package/core/MeganavControlMobilePanelOpen.js +1 -0
  39. package/core/MeganavItemsDesktop.js +1 -0
  40. package/core/MeganavItemsMobile.js +1 -0
  41. package/core/MeganavItemsSignedIn.js +1 -0
  42. package/core/MeganavSearch.js +1 -0
  43. package/core/MeganavSearchAutocomplete/component.js +1 -1
  44. package/core/MeganavSearchAutocomplete.js +1 -0
  45. package/core/MeganavSearchPanel.js +1 -0
  46. package/core/MeganavSearchSuggestions/component.js +1 -1
  47. package/core/MeganavSearchSuggestions.js +1 -0
  48. package/core/Notice/component.css +6 -4
  49. package/core/Notice/component.js +1 -1
  50. package/core/Notice.js +1 -0
  51. package/core/SignOutLink.js +1 -0
  52. package/core/Slider/component.css +38 -4
  53. package/core/Slider/component.js +1 -1
  54. package/core/Slider.js +1 -0
  55. package/core/Table/Table.js +1 -1
  56. package/core/Table/TableCell.js +7 -1
  57. package/core/Table/TableRow.js +1 -1
  58. package/core/Table/data.js +1 -0
  59. package/core/Table.js +1 -0
  60. package/core/Tooltip.js +1 -0
  61. package/core/css.js +1 -1
  62. package/core/dom-query.js +1 -1
  63. package/core/hubspot-chat-toggle.js +1 -1
  64. package/core/icons/icon-gui-partial.svg +4 -0
  65. package/core/icons.js +1 -1
  66. package/core/load-sprites.js +1 -1
  67. package/core/react-renderer.js +1 -1
  68. package/core/remote-blogs-posts.js +1 -1
  69. package/core/remote-data-store.js +1 -1
  70. package/core/remote-data-util.js +1 -1
  71. package/core/remote-session-data.js +1 -1
  72. package/core/scripts.js +1 -1
  73. package/core/sprites.svg +1 -1
  74. package/core/styles/buttons.css +123 -121
  75. package/core/styles/forms.css +51 -49
  76. package/core/styles/layout.css +16 -14
  77. package/core/styles/properties.css +252 -250
  78. package/core/styles/text.css +167 -165
  79. package/core/styles.components.css +24 -22
  80. package/core/url-base.js +1 -1
  81. package/core/utils/syntax-highlighter-registry.js +1 -1
  82. package/core/utils/syntax-highlighter.css +59 -55
  83. package/core/utils/syntax-highlighter.js +1 -1
  84. package/package.json +4 -7
  85. package/src/core/Accordion/Accordion.stories.tsx +1 -1
  86. package/src/core/{Accordion/component.tsx → Accordion.tsx} +8 -6
  87. package/src/core/Code/Code.stories.tsx +1 -1
  88. package/src/core/{Code/component.tsx → Code.tsx} +2 -3
  89. package/src/core/{ConnectStateWrapper/component.tsx → ConnectStateWrapper.tsx} +1 -1
  90. package/src/core/ContactFooter/ContactFooter.stories.tsx +1 -1
  91. package/src/core/ContactFooter/component.css +9 -7
  92. package/src/core/{ContactFooter/component.tsx → ContactFooter.tsx} +3 -4
  93. package/src/core/CookieMessage/CookieMessage.stories.tsx +1 -1
  94. package/src/core/CookieMessage/component.css +12 -10
  95. package/src/core/{CookieMessage/component.tsx → CookieMessage.tsx} +1 -2
  96. package/src/core/CustomerLogos/CustomerLogos.stories.tsx +1 -1
  97. package/src/core/DropdownMenu/DropdownMenu.stories.tsx +2 -2
  98. package/src/core/{DropdownMenu/component.tsx → DropdownMenu.tsx} +1 -1
  99. package/src/core/Expander/Expander.stories.tsx +132 -0
  100. package/src/core/Expander.tsx +63 -0
  101. package/src/core/FeaturedLink/FeaturedLink.stories.tsx +1 -1
  102. package/src/core/{FeaturedLink/component.tsx → FeaturedLink.tsx} +1 -1
  103. package/src/core/Flash/Flash.stories.tsx +1 -1
  104. package/src/core/Flash/component.css +21 -19
  105. package/src/core/{Flash/component.tsx → Flash.tsx} +3 -4
  106. package/src/core/Footer/Footer.stories.tsx +1 -1
  107. package/src/core/Footer/component.css +24 -22
  108. package/src/core/{Footer/component.tsx → Footer.tsx} +2 -3
  109. package/src/core/Icon/Icon.stories.tsx +2 -1
  110. package/src/core/Loader/Loader.stories.tsx +1 -1
  111. package/src/core/Logo/Logo.stories.tsx +1 -1
  112. package/src/core/Meganav/Meganav.stories.tsx +1 -1
  113. package/src/core/Meganav/component.css +105 -103
  114. package/src/core/Meganav/component.js +0 -2
  115. package/src/core/{Meganav/component.tsx → Meganav.tsx} +16 -19
  116. package/src/core/{MeganavBlogPostsList/component.tsx → MeganavBlogPostsList.tsx} +2 -2
  117. package/src/core/{MeganavContentCompany/component.tsx → MeganavContentCompany.tsx} +5 -5
  118. package/src/core/{MeganavContentDevelopers/component.tsx → MeganavContentDevelopers.tsx} +2 -2
  119. package/src/core/{MeganavContentProducts/component.tsx → MeganavContentProducts.tsx} +2 -2
  120. package/src/core/{MeganavContentUseCases/component.tsx → MeganavContentUseCases.tsx} +2 -2
  121. package/src/core/{MeganavControl/component.tsx → MeganavControl.tsx} +2 -2
  122. package/src/core/{MeganavControlMobileDropdown/component.tsx → MeganavControlMobileDropdown.tsx} +2 -2
  123. package/src/core/{MeganavControlMobilePanelClose/component.tsx → MeganavControlMobilePanelClose.tsx} +1 -2
  124. package/src/core/{MeganavControlMobilePanelOpen/component.tsx → MeganavControlMobilePanelOpen.tsx} +1 -2
  125. package/src/core/{MeganavItemsDesktop/component.tsx → MeganavItemsDesktop.tsx} +3 -3
  126. package/src/core/{MeganavItemsMobile/component.tsx → MeganavItemsMobile.tsx} +9 -9
  127. package/src/core/{MeganavItemsSignedIn/component.tsx → MeganavItemsSignedIn.tsx} +4 -8
  128. package/src/core/{MeganavSearch/component.tsx → MeganavSearch.tsx} +3 -3
  129. package/src/core/{MeganavSearchPanel/component.tsx → MeganavSearchPanel.tsx} +4 -4
  130. package/src/core/{MeganavSearchSuggestions/component.tsx → MeganavSearchSuggestions.tsx} +2 -2
  131. package/src/core/Notice/component.css +6 -4
  132. package/src/core/Notice/component.js +1 -2
  133. package/src/core/{Notice/component.tsx → Notice.tsx} +2 -4
  134. package/src/core/{SignOutLink/component.tsx → SignOutLink.tsx} +1 -1
  135. package/src/core/Slider/Slider.stories.tsx +83 -30
  136. package/src/core/Slider/component.css +38 -4
  137. package/src/core/Slider/component.js +0 -2
  138. package/src/core/Slider.tsx +224 -0
  139. package/src/core/Table/Table.tsx +38 -10
  140. package/src/core/Table/TableCell.tsx +14 -27
  141. package/src/core/Table/{stories/data.tsx → data.tsx} +23 -3
  142. package/src/core/{Table/index.ts → Table.tsx} +3 -12
  143. package/src/core/Tooltip/Tooltip.stories.tsx +1 -1
  144. package/src/core/{Tooltip/component.tsx → Tooltip.tsx} +34 -6
  145. package/src/core/icons/icon-gui-partial.svg +4 -0
  146. package/src/core/scripts.js +0 -2
  147. package/src/core/styles/buttons.css +123 -121
  148. package/src/core/styles/forms.css +51 -49
  149. package/src/core/styles/layout.css +16 -14
  150. package/src/core/styles/properties.css +252 -250
  151. package/src/core/styles/text.css +167 -165
  152. package/src/core/styles.components.css +24 -22
  153. package/src/core/utils/syntax-highlighter.css +59 -55
  154. package/src/pages/Buttons.mdx +1 -1
  155. package/src/pages/Chips.mdx +1 -1
  156. package/src/pages/Forms.mdx +2 -2
  157. package/core/Accordion/component.js +0 -1
  158. package/core/ConnectStateWrapper/component.js +0 -1
  159. package/core/CookieMessage/component.js +0 -1
  160. package/core/CustomerLogos/component.js +0 -1
  161. package/core/DropdownMenu/component.js +0 -1
  162. package/core/FeaturedLink/component.js +0 -1
  163. package/core/Flash/component.js +0 -1
  164. package/core/Footer/component.js +0 -1
  165. package/core/Icon/component.js +0 -1
  166. package/core/Loader/component.js +0 -1
  167. package/core/Logo/component.js +0 -1
  168. package/core/MeganavContentCompany/component.js +0 -1
  169. package/core/MeganavContentDevelopers/component.js +0 -1
  170. package/core/MeganavContentProducts/component.js +0 -1
  171. package/core/MeganavContentUseCases/component.js +0 -1
  172. package/core/MeganavItemsDesktop/component.js +0 -1
  173. package/core/MeganavItemsMobile/component.js +0 -1
  174. package/core/MeganavItemsSignedIn/component.js +0 -1
  175. package/core/MeganavSearch/component.js +0 -1
  176. package/core/MeganavSearchPanel/component.js +0 -1
  177. package/core/SignOutLink/component.js +0 -1
  178. package/core/Table/index.js +0 -1
  179. package/core/Table/stories/data.js +0 -1
  180. package/core/Tooltip/component.js +0 -1
  181. package/src/core/Accordion/component.js +0 -0
  182. package/src/core/ConnectStateWrapper/component.js +0 -0
  183. package/src/core/CookieMessage/component.js +0 -1
  184. package/src/core/CustomerLogos/component.js +0 -0
  185. package/src/core/DropdownMenu/component.js +0 -0
  186. package/src/core/FeaturedLink/component.js +0 -0
  187. package/src/core/Flash/component.js +0 -1
  188. package/src/core/Footer/component.js +0 -1
  189. package/src/core/Icon/component.js +0 -0
  190. package/src/core/Loader/component.js +0 -0
  191. package/src/core/Logo/component.js +0 -0
  192. package/src/core/MeganavContentCompany/component.js +0 -0
  193. package/src/core/MeganavContentDevelopers/component.js +0 -0
  194. package/src/core/MeganavContentProducts/component.js +0 -0
  195. package/src/core/MeganavContentUseCases/component.js +0 -1
  196. package/src/core/MeganavItemsDesktop/component.js +0 -0
  197. package/src/core/MeganavItemsMobile/component.js +0 -0
  198. package/src/core/MeganavItemsSignedIn/component.js +0 -0
  199. package/src/core/MeganavSearch/component.js +0 -0
  200. package/src/core/MeganavSearchPanel/component.js +0 -0
  201. package/src/core/SignOutLink/component.js +0 -0
  202. package/src/core/Slider/component.tsx +0 -112
  203. /package/src/core/{CustomerLogos/component.tsx → CustomerLogos.tsx} +0 -0
  204. /package/src/core/{Icon/component.tsx → Icon.tsx} +0 -0
  205. /package/src/core/{Loader/component.tsx → Loader.tsx} +0 -0
  206. /package/src/core/{Logo/component.tsx → Logo.tsx} +0 -0
  207. /package/src/core/{MeganavSearchAutocomplete/component.tsx → MeganavSearchAutocomplete.tsx} +0 -0
  208. /package/src/core/Table/{stories/Table.stories.tsx → Table.stories.tsx} +0 -0
@@ -1 +0,0 @@
1
- import React from"react";import Icon from"../Icon/component.tsx";import _absUrl from"../url-base.js";import"./component.css";var Footer=function(param){var paths=param.paths,urlBase=param.urlBase;var absUrl=function(path){return _absUrl(path,urlBase)};return React.createElement("footer",{className:"bg-light-grey font-sans antialiased leading-normal","data-id":"footer"},React.createElement("div",{className:"max-w-screen-xl mx-auto py-32 sm:py-40 md:py-64 ui-grid-gap ui-grid-px grid grid-cols-6"},React.createElement("div",{className:"col-span-full md:col-span-2"},React.createElement("div",{className:"flex flex-row p-menu-row-snug"},React.createElement("img",{className:"mr-24 -mt-16",src:paths.ablyStack,alt:"Ably homepage"}),React.createElement("h2",{className:"ui-text-overline2 col-span-full"},"The Ably Platform")),React.createElement("div",{className:"md:col-span-4 md:w-3/4 xs:w-3/5 w-full"},React.createElement("p",{className:"ui-text-p3 font-bold py-16 p-menu-row-snug"},"Easily power any realtime experience in your application via a simple API that handles everything realtime.")),React.createElement("ul",{className:"grid grid-cols-1"},React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/channels"),className:"ui-footer-menu-row-link"},"Pub/sub messaging")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-footer-menu-row-link"},"Push notifications")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multiple protocol messaging")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"Ably is for"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-footer-menu-row-link"},"Ably Asset Tracking")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/extend-kafka-to-the-edge"),className:"ui-footer-menu-row-link"},"Extend Kafka to the edge")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-footer-menu-row-link"},"EdTech")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-footer-menu-row-link"},"Automotive, Logistics, & Mobility")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-footer-menu-row-link"},"B2B Platforms")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-footer-menu-row-link"},"Healthcare")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-footer-menu-row-link"},"eCommerce & Retail")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-footer-menu-row-link"},"Sports & Media")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-footer-menu-row-link"},"Gaming")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-footer-menu-row-link"},"IoT & Connected Devices")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"Developers"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-footer-menu-row-link"},"Start in 5 minutes")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/"),className:"ui-footer-menu-row-link"},"Documentation")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/tutorials"),className:"ui-footer-menu-row-link"},"Tutorials")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:"https://changelog.ably.com/",className:"ui-footer-menu-row-link"},"Changelog")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/support"),className:"ui-footer-menu-row-link"},"Support & FAQs")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-footer-menu-row-link"},"SDKs")),React.createElement("li",{className:"p-menu-row-snug flex items-center -mt-4"},React.createElement("a",{className:"pr-8 ui-footer-menu-row-link",href:"https://status.ably.com/"},"System status"),React.createElement("iframe",{className:"w-20 h-20 mb-2",src:"https://status.ably.com/embed/icon",style:{backgroundColor:"transparent"},frameBorder:"0",scrolling:"no",title:"System Status"})))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"WHY ABLY"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/customers"),className:"ui-footer-menu-row-link"},"Customers")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/case-studies"),className:"ui-footer-menu-row-link"},"Case Studies")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/four-pillars-of-dependability"),className:"ui-footer-menu-row-link"},"Four Pillars of Dependability")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/compare"),className:"ui-footer-menu-row-link"},"Compare our tech")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multi protocol support")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")))),React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},React.createElement("h2",{className:"ui-footer-col-title"},"ABOUT"),React.createElement("ul",null,React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/about"),className:"ui-footer-menu-row-link"},"About Ably")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/pricing"),className:"ui-footer-menu-row-link"},"Pricing")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/blog"),className:"ui-footer-menu-row-link"},"Blog")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/careers"),className:"ui-footer-menu-row-link"},"Careers")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/open-policy"),className:"ui-footer-menu-row-link"},"Open protocol policy")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/press-center"),className:"ui-footer-menu-row-link"},"Press & Media")),React.createElement("li",{className:"p-menu-row-snug"},React.createElement("a",{href:absUrl("/contact"),className:"ui-footer-menu-row-link"},"Contact us"))))),React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},React.createElement("hr",{className:"border-t border-mid-grey my-0"})),React.createElement("div",{className:"max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2"},React.createElement("div",{className:"md:flex md:items-center"},React.createElement("div",{className:"flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2"},React.createElement("div",{className:""},React.createElement("div",{className:"flex pb-24"},React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-twitter",href:"https://twitter.com/ablyrealtime",title:"Ably on X"},React.createElement(Icon,{name:"icon-social-x",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-linkedin",href:"https://www.linkedin.com/company/ably-realtime",title:"Ably on LinkedIn"},React.createElement(Icon,{name:"linkedin",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-github",href:"https://github.com/ably/",title:"Ably on Github"},React.createElement(Icon,{name:"github",size:"1.5rem"})),React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-discord",href:"https://discord.gg/jwBPhEZ9g5",title:"Ably on Discord"},React.createElement(Icon,{name:"discord",size:"1.5rem"})))),React.createElement("div",{className:"xs:hidden sm:block ui-footer-glassdoor"},React.createElement("div",{className:"flex sm:pt-24 md:pt-0 sm:border-t sm:border-l-0 md:border-t-0 md:border-l sm:border-mid-grey sm:w-3/4 md:w-full md:pl-24"},React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"h-24 text-cool-black hover:text-icon-glassdoor",title:"Ably reviews on glassdoor"},React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),React.createElement("div",{className:"pl-16 text-menu3 font-sans font-medium"},React.createElement("strong",{className:"block font-medium"},"We're hiring!"),React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"ui-footer-link"},"Learn more at Glassdoor"))))),React.createElement("div",{className:"xs:block sm:hidden"},React.createElement("div",{className:"border-t border-mid-grey w-full"}),React.createElement("div",{className:"flex py-24"},React.createElement("a",{className:"h-24 pr-16 text-cool-black hover:text-icon-glassdoor",href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",title:"Ably reviews on glassdoor"},React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),React.createElement("div",{className:"text-menu3 font-sans font-medium"},React.createElement("strong",{className:"block font-medium"},"We're hiring!"),React.createElement("a",{href:"https://www.glassdoor.co.uk/Overview/Working-at-Ably-EI_IE2184188.11,15.htm",className:"ui-footer-link"},"Learn more at Glassdoor"))))),React.createElement("div",{className:"col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center"},React.createElement("img",{className:"mr-24 h-80",src:paths.highestUserAdoption,alt:"Highest User Adoption 2023"}),React.createElement("img",{className:"mr-24 h-80",src:paths.bestSupport,alt:"Best Support 2023"}),React.createElement("img",{className:"mr-24 h-80",src:paths.fastestImplementation,alt:"Fastest Implementation 2023"}),React.createElement("img",{className:"mr-24 h-80",src:paths.highestPerformer,alt:"High Performer 2023"}))),React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},React.createElement("hr",{className:"border-t border-mid-grey my-0"})),React.createElement("div",{className:"max-w-screen-xl mx-auto py-24 sm:py-40 md:py-32 md:grid md:grid-cols-2 ui-grid-gap ui-grid-px"},React.createElement("div",{className:"flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links"},React.createElement("div",{className:"flex"},React.createElement("a",{href:absUrl("/privacy"),className:"pr-24 ui-footer-link"},"Cookies"),React.createElement("a",{href:absUrl("/legals"),className:"pr-24 ui-footer-link"},"Legals"),React.createElement("a",{href:absUrl("/data-protection"),className:"pr-24 ui-footer-link"},"Data Protection"),React.createElement("a",{href:absUrl("/privacy"),className:"ui-footer-link"},"Privacy"))),React.createElement("div",{className:"xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end"},React.createElement("div",{className:"flex mr-24"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"SOC 2 Type 2"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),React.createElement("div",{className:"flex mr-24 md:col-start-2"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"HIPAA"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Compliant"))),React.createElement("div",{className:"flex mr-24 md:col-start-3"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"EU GDPR"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),React.createElement("div",{className:"flex mr-24 md:col-start-4"},React.createElement(Icon,{name:"icon-gui-tick",color:"text-active-orange",size:"1.5rem",additionalCSS:"bg-white rounded-full mr-12 ui-footer-tick-icon"}),React.createElement("div",null,React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"256-bit AES"),React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Encryption"))))))};export default Footer;
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React from"react";var Icon=function(_param){var name=_param.name,_param_size=_param.size,size=_param_size===void 0?"0.75rem":_param_size,_param_color=_param.color,color=_param_color===void 0?"":_param_color,_param_additionalCSS=_param.additionalCSS,additionalCSS=_param_additionalCSS===void 0?"":_param_additionalCSS,additionalAttributes=_object_without_properties(_param,["name","size","color","additionalCSS"]);return React.createElement("svg",_object_spread({className:"".concat(color," ").concat(additionalCSS),style:{width:size,height:size}},additionalAttributes),React.createElement("use",{xlinkHref:"#sprite-".concat(name)}))};export default Icon;
@@ -1 +0,0 @@
1
- import React from"react";var Loader=function(param){var _param_ringColor=param.ringColor,ringColor=_param_ringColor===void 0?"text-dark-grey":_param_ringColor,_param_size=param.size,size=_param_size===void 0?"1.5rem":_param_size,_param_additionalCSS=param.additionalCSS,additionalCSS=_param_additionalCSS===void 0?"":_param_additionalCSS;return React.createElement("svg",{className:"".concat(ringColor," ").concat(additionalCSS),style:{width:size,height:size},height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},React.createElement("style",{dangerouslySetInnerHTML:{__html:"\n @keyframes chunk-animation {\n to {\n transform: rotate(360deg);\n }\n }\n\n .chunk {\n transform: rotate(0deg);\n transform-origin: center;\n animation: chunk-animation 0.6s cubic-bezier(.44,.15,.66,.98) forwards infinite;\n }\n "}}),React.createElement("path",{fill:"currentColor",d:"m12 1.99976c-1.9778 0-3.91121.58649-5.5557 1.6853s-2.92621 2.6606-3.68309 4.48786c-.75688 1.82728-.95491 3.83788-.56906 5.77778.38585 1.9398 1.33826 3.7216 2.73679 5.1201 1.39852 1.3985 3.18035 2.351 5.12016 2.7368 1.9398.3859 3.9505.1878 5.7777-.569 1.8273-.7569 3.3891-2.0387 4.4879-3.6831 1.0988-1.6445 1.6853-3.5779 1.6853-5.5557 0-1.3133-.2587-2.61362-.7612-3.82688-.5025-1.21325-1.2391-2.31565-2.1677-3.24423-.9286-.92859-2.031-1.66518-3.2443-2.16773-1.2132-.50255-2.5136-.7612-3.8268-.7612zm0 18.00004c-1.5822 0-3.12896-.4692-4.44456-1.3483-1.31559-.879-2.34097-2.1285-2.94647-3.5903s-.76393-3.0703-.45525-4.6222c.30868-1.55181 1.07061-2.97728 2.18943-4.0961s2.54428-1.88074 4.09615-2.18943c1.5518-.30868 3.1604-.15025 4.6222.45525s2.7112 1.63088 3.5903 2.94647c.879 1.3156 1.3482 2.86231 1.3482 4.44461 0 2.1217-.8428 4.1565-2.3431 5.6568s-3.5352 2.3432-5.6569 2.3432z",opacity:".5"}),React.createElement("path",{className:"chunk",d:"m20 11.9998h2c0-1.3133-.2587-2.61362-.7612-3.82688-.5026-1.21325-1.2391-2.31565-2.1677-3.24423-.9286-.92859-2.031-1.66518-3.2443-2.16773-1.2132-.50255-2.5136-.7612-3.8268-.7612v2c2.1217 0 4.1566.84285 5.6569 2.34314 1.5002 1.50029 2.3431 3.53512 2.3431 5.6569z",fill:"#ff5416"}))};export default Loader;
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}import React from"react";var Logo=function(param){var dataId=param.dataId,logoUrl=param.logoUrl,_param_href=param.href,href=_param_href===void 0?"/":_param_href,additionalImgAttrs=param.additionalImgAttrs,additionalLinkAttrs=param.additionalLinkAttrs;return React.createElement("a",_object_spread({href:href,"data-id":dataId,className:"block",style:{height:"2.125rem"}},additionalLinkAttrs),React.createElement("img",_object_spread({src:logoUrl,width:"108px",alt:"Ably logo"},additionalImgAttrs)))};export default React.memo(Logo);
@@ -1 +0,0 @@
1
- import React from"react";import MeganavBlogPostsList from"../MeganavBlogPostsList/component.tsx";import ConnectStateWrapper from"../ConnectStateWrapper/component.tsx";import{selectRecentBlogPosts}from"../remote-blogs-posts.js";import Icon from"../Icon/component.tsx";var MeganavContentCompany=function(param){var paths=param.paths,absUrl=param.absUrl;var BlogPostsList=ConnectStateWrapper(MeganavBlogPostsList,{recentBlogPosts:selectRecentBlogPosts});return React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 md:py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-why-companies"},"Why companies choose Ably"),React.createElement("ul",{"aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/customers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-customers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Customers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably supports customers across multiple industries.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/case-studies"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-case-studies-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Case studies"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover how customers are benefiting from Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/compare"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-compare-tech-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Compare our tech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Choose the right realtime service.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/aws"),className:"ui-meganav-media-with-image group"},React.createElement("img",{src:paths.awsLogo,alt:"AWS logo"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Partners"),React.createElement("p",{className:"ui-meganav-media-copy"},"Ably collaborates and integrates with AWS.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-company-panel-list-why-companies"},React.createElement("li",null,React.createElement("a",{href:absUrl("/resources"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-resources-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Resources"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn more about realtime with our handy resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/about"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-about-ably-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"About Ably"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably’s mission.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/careers"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-careers-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Careers"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our open roles and core Ably values.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/events"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-events-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Events"),React.createElement("p",{className:"ui-meganav-media-copy"},"Join Ably at upcoming events.")))))),React.createElement(BlogPostsList,{absUrl:absUrl})),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentCompany;
@@ -1 +0,0 @@
1
- import React from"react";import Icon from"../Icon/component.tsx";var MeganavContentDevelopers=function(param){var absUrl=param.absUrl;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 uppercase",id:"meganav-developers-panel-explore"},"Explore"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-docs-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Documentation"),React.createElement("p",{className:"ui-meganav-media-copy"},"Technical guides to help you build with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-quickstart-guides-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Quickstart guides"),React.createElement("p",{className:"ui-meganav-media-copy"},"Documentation to help you get started quickly.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/integrations"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-integrations-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Integrations"),React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably integrations."," ")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/examples"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-examples-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Live examples"),React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our features and their use cases.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-developers-panel-explore"},React.createElement("li",null,React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-sdks-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"SDKs"),React.createElement("p",{className:"ui-meganav-media-copy"},"Download an SDK to help you build realtime apps faster.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/tutorials"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-tutorials-demos-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Tutorials & Demos"),React.createElement("p",{className:"ui-meganav-media-copy"},"Get stuck in with our hands-on resources.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-chat"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-chat-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Chat apps reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build chat apps with Ably.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/reference-guide-multiplayer"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-multi-user-spaces-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer reference guide"),React.createElement("p",{className:"ui-meganav-media-copy"},"Learn how to build collaborative features with Ably.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0"},React.createElement("h3",{className:"ui-meganav-overline uppercase",id:"meganav-developers-panel-quick-links"},"Quick links"),React.createElement("ul",{"aria-labelledby":"meganav-developers-panel-quick-links"},React.createElement("li",null,React.createElement("a",{href:"https://discord.gg/jwBPhEZ9g5",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Discord"))),React.createElement("li",null,React.createElement("a",{href:"https://github.com/ably",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"GitHub"))),React.createElement("li",null,React.createElement("a",{href:"https://changelog.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Changelog"))),React.createElement("li",null,React.createElement("a",{href:"https://status.ably.com/",className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Status",React.createElement("iframe",{title:"Ably status",src:"https://status.ably.com/embed/icon",style:{backgroundColor:"transparent"},frameBorder:"0",scrolling:"no",className:"w-24 h-24 ml-4 border-none pointer-events-none align-middle"})))),React.createElement("li",null,React.createElement("a",{href:absUrl("/support"),className:"group ui-meganav-media py-12"},React.createElement("p",{className:"ui-meganav-media-heading"},"Support & FAQs")))))),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentDevelopers;
@@ -1 +0,0 @@
1
- import React from"react";import FeaturedLink from"../FeaturedLink/component.tsx";var MeganavContentProducts=function(param){var paths=param.paths,absUrl=param.absUrl;return React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("div",{className:"col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey"},React.createElement("div",{className:"flex mb-20"},React.createElement("img",{src:paths.ablyStack,alt:"Ably homepage"}),React.createElement("h3",{className:"ui-meganav-overline ml-24"},"The Ably Platform")),React.createElement("p",{className:"ui-text-p2 font-bold mb-24",style:{maxWidth:"330px"}},"Easily power any realtime experience in your application. No complex infrastructure to manage or provision. Just a simple API that handles everything realtime, and lets you focus on your code."),React.createElement(FeaturedLink,{url:absUrl("/platform"),textSize:"text-p2"},"Explore how it works")),React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 pb-8 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-examples"},"Products"),React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-examples"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/channels"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Pub/Sub Channels"),React.createElement("p",{className:"ui-meganav-media-copy"},"Build infinitely scalable realtime applications."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/spaces"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"Spaces (Beta)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Create multi-user collaborative environments."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/livesync"),className:"group ui-meganav-media"},React.createElement("p",{className:"ui-meganav-media-heading"},"LiveSync (Early access)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Keep clients in sync with any relational database."))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-8 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-our-technology"},"Technology"),React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-our-technology"},React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#performance"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Predictable performance"),React.createElement("p",{className:"ui-meganav-media-copy"},"A low-latency and high-throughput global network."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#integrity"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Guaranteed ordering & delivery"),React.createElement("p",{className:"ui-meganav-media-copy"},"Data is delivered - in order - even after disconnections."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#reliability"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Fault tolerant infrastructure"),React.createElement("p",{className:"ui-meganav-media-copy"},"Redundancy is built in at global and regional levels."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/four-pillars-of-dependability#availability"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"High scalability & availability"),React.createElement("p",{className:"ui-meganav-media-copy"},"Built for scale with legitimate 99.999% uptime SLAs."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/network"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Global edge network"),React.createElement("p",{className:"ui-meganav-media-copy"},"An edge network of 15 core routing datacenters and 205+ PoPs.")))),React.createElement(FeaturedLink,{url:absUrl("/four-pillars-of-dependability"),textSize:"text-p3"},"Explore Four Pillars of Dependability"))),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentProducts;
@@ -1 +0,0 @@
1
- import React from"react";import Icon from"../Icon/component.tsx";var MeganavContentUseCases=function(param){var absUrl=param.absUrl;return React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},React.createElement("div",{className:"col-span-full md:col-span-4 py-24 lg:py-32 px-24 sm:px-32 md:pl-0 md:pr-24 bg-extra-light-grey"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-use-cases"},"Solutions"),React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry-use-cases"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/chat"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-chat-stack-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Live Chat"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/multiplayer-collaboration"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-multi-user-spaces-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer Collaboration"),React.createElement("p",{className:"ui-meganav-media-copy"},"Bring collaborative multiplayer experiences to your users.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/data-broadcast"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-data-broadcast-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Data Broadcast"),React.createElement("p",{className:"ui-meganav-media-copy"},"Broadcast realtime event data to millions of devices around the globe.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/data-synchronization"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-data-synchronization-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Data Synchronization"),React.createElement("p",{className:"ui-meganav-media-copy"},"Keep your frontend and backend in realtime sync, at global scale.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-push-notifications-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Notifications"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver cross-platform push notifications with a simple unified API.")))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-meganav-media-with-image group"},React.createElement(Icon,{name:"icon-display-asset-tracking-col",size:"2.5rem"}),React.createElement("div",{className:"flex flex-col justify-center"},React.createElement("p",{className:"ui-meganav-media-heading"},"Asset Tracking (Beta)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Track assets in realtime with a solution optimised for last mile logistics.")))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-24 pb-0 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-industry"},"Industry"),React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"EdTech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver interactive learning experiences."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/fintech"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"FinTech"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver personalised financial data in realtime."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Automotive, Logistics, & Mobility"),React.createElement("p",{className:"ui-meganav-media-copy"},"Power diagnostics, order tracking and more."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"B2B Platforms"),React.createElement("p",{className:"ui-meganav-media-copy"},"Empower your customers with realtime solutions."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Healthcare (HIPAA)"),React.createElement("p",{className:"ui-meganav-media-copy"},"Provide trustworthy, HIPAA-compliant realtime apps."))))),React.createElement("div",{className:"col-span-full md:col-span-4 pt-0 pb-24 md:py-24 lg:py-32 px-24 sm:px-32 md:px-0 bg-white"},React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-solutions",className:"mt-0 md:mt-40"},React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"eCommerce & Retail"),React.createElement("p",{className:"ui-meganav-media-copy"},"Enrich customer experiences with realtime updates."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Sports, Media & Audience Engagement"),React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver engaging global realtime experiences."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"Gaming"),React.createElement("p",{className:"ui-meganav-media-copy"},"Power ultra fast and reliable gaming experiences."))),React.createElement("li",null,React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-meganav-media group"},React.createElement("p",{className:"ui-meganav-media-heading"},"IoT & Connected Devices"),React.createElement("p",{className:"ui-meganav-media-copy"},"Monitor and control global IoT deployments in realtime.")))))),React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentUseCases;
@@ -1 +0,0 @@
1
- import React from"react";import MeganavData from"../Meganav/component.json";import MeganavControl from"../MeganavControl/component.tsx";var MeganavDesktopItems=function(param){var panels=param.panels,paths=param.paths,theme=param.theme,absUrl=param.absUrl;return React.createElement("ul",{className:"hidden md:flex","data-id":"meganav-items-desktop"},MeganavData.panels.map(function(panel){var PanelComponent=panels[panel.component];var bgCSS=["products-panel","use-cases-panel"].includes(panel.id)?"ui-meganav-panel-split-bg":"";return React.createElement("li",{className:"ui-meganav-item",key:panel.id},React.createElement(MeganavControl,{theme:theme,ariaControls:panel.id,ariaLabel:panel.label},React.createElement("span",{className:"hidden lg:inline"},panel.label),React.createElement("span",{className:"lg:hidden"},panel.shortLabel)),React.createElement("div",{className:"ui-meganav-panel invisible ".concat(bgCSS),id:panel.id,"data-id":"meganav-panel"},React.createElement(PanelComponent,{paths:paths,absUrl:absUrl})))}),React.createElement("li",{className:"ui-meganav-item"},React.createElement("a",{href:absUrl("/pricing"),"data-id":"meganav-link",className:"ui-meganav-link h-64 items-center flex ".concat(theme.textColor)},"Pricing")))};export default React.memo(MeganavDesktopItems);
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}import React from"react";import SignOutLink from"../SignOutLink/component.tsx";import MeganavSearchSuggestions from"../MeganavSearchSuggestions/component.tsx";import Icon from"../Icon/component.tsx";import MeganavData from"../Meganav/component.json";import MeganavControlMobileDropdown from"../MeganavControlMobileDropdown/component.tsx";import MeganavControlMobilePanelClose from"../MeganavControlMobilePanelClose/component.tsx";import MeganavControlMobilePanelOpen from"../MeganavControlMobilePanelOpen/component.tsx";import MeganavSearchAutocomplete from"../MeganavSearchAutocomplete/component.tsx";var MeganavItemsMobile=function(param){var panels=param.panels,paths=param.paths,sessionState=param.sessionState,theme=param.theme,loginLink=param.loginLink,absUrl=param.absUrl;var classNames="ui-meganav-link ".concat(theme.textColor);return React.createElement("ul",{className:"flex md:hidden","data-id":"meganav-items-mobile"},React.createElement("li",null,(sessionState===null||sessionState===void 0?void 0:sessionState.signedIn)&&(sessionState===null||sessionState===void 0?void 0:sessionState.logOut)?React.createElement(SignOutLink,_object_spread({absUrl:absUrl},sessionState.logOut),function(param){var text=param.text,href=param.href,onClick=param.onClick;return React.createElement("a",{onClick:onClick,href:absUrl(href),className:classNames,"data-id":"meganav-link"},text)}):React.createElement("a",{href:absUrl(loginLink),className:classNames,"data-id":"meganav-link"},"Login")),React.createElement("li",{className:"ui-meganav-item"},React.createElement(MeganavControlMobileDropdown,{theme:theme}),React.createElement("div",{className:"ui-meganav-mobile-dropdown invisible",id:"meganav-mobile-dropdown","data-id":"meganav-mobile-dropdown"},React.createElement("div",{className:"pt-24 pb-16 ui-grid-px bg-white"},React.createElement("form",{className:"mb-16",action:absUrl("/search"),method:"get"},React.createElement("div",{className:"relative w-full"},React.createElement(Icon,{name:"icon-gui-search",color:"text-cool-black",size:"1.5rem",additionalCSS:"absolute top-12 left-16 hover:text-gui-hover"}),React.createElement("button",{type:"button",className:"absolute top-12 right-16 p-0 focus:outline-gui-focus m-0 md:hidden invisible","data-id":"meganav-search-input-clear"},React.createElement(Icon,{name:"icon-gui-cross-circled-fill",color:"text-dark-grey",size:"1.5rem",additionalCSS:""})),React.createElement("input",{type:"search",name:"q",className:"ui-input px-48 h-48",style:{maxWidth:"none"},placeholder:"Search",autoComplete:"off","data-id":"meganav-mobile-search-input"}),React.createElement(MeganavSearchAutocomplete,null))),React.createElement("div",{className:"max-h-0 overflow-hidden transition-all","data-id":"meganav-mobile-search-suggestions"},React.createElement(MeganavSearchSuggestions,{absUrl:absUrl,displaySupportLink:false})),React.createElement("ul",{className:"mb-16","data-id":"meganav-mobile-panel-controls"},MeganavData.panels.map(function(panel){var PanelComponent=panels[panel.component];var displayHr=["company-panel","developers-panel"].includes(panel.id);return React.createElement("li",{className:"ui-meganav-mobile-item",key:"".concat(panel.id,"-mobile")},React.createElement(MeganavControlMobilePanelOpen,{ariaControls:"".concat(panel.id,"-mobile")},panel.label),React.createElement("div",{className:"ui-meganav-panel-mobile hidden",id:"".concat(panel.id,"-mobile"),"data-scroll-lock-scrollable":true},React.createElement(MeganavControlMobilePanelClose,{ariaControls:"".concat(panel.id,"-mobile"),displayHr:displayHr}),React.createElement(PanelComponent,{paths:paths,absUrl:absUrl})))}),React.createElement("li",null,React.createElement("a",{href:absUrl("/pricing"),className:"ui-meganav-mobile-link"},"Pricing"))),React.createElement("hr",{className:"ui-meganav-hr mb-20"}),React.createElement("div",{className:"flex justify-between items-center mb-16"},React.createElement("a",{href:absUrl("/contact"),className:"text-menu2 font-medium block ml-0 mr-8 lg:mx-12 p-0 hover:text-gui-hover focus:text-gui-focus focus:outline-none"},"Contact us"),(sessionState===null||sessionState===void 0?void 0:sessionState.signedIn)&&(sessionState===null||sessionState===void 0?void 0:sessionState.account)?React.createElement("a",{href:absUrl(sessionState.account.links.dashboard.href),className:"ui-btn-secondary"},"Dashboard"):React.createElement("a",{href:absUrl("/sign-up"),className:"ui-btn"},"Sign up free"))))))};export default React.memo(MeganavItemsMobile,function(oldState,newState){var pathsOld=oldState.paths,themeOld=oldState.theme;var pathsNew=newState.paths,themeNew=newState.theme;return pathsOld===pathsNew&&themeOld===themeNew&&Object.keys(newState.sessionState||{}).length===0});
@@ -1 +0,0 @@
1
- function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}import React from"react";import MeganavControl from"../MeganavControl/component.tsx";import SignOutLink from"../SignOutLink/component.tsx";import MeganavSearch from"../MeganavSearch/component.tsx";var truncate=function(string,length){return(string===null||string===void 0?void 0:string.length)&&string.length>length?"".concat(string.slice(0,length-1),"…"):string};var MeganavItemsSignedIn=function(param){var sessionState=param.sessionState,theme=param.theme,absUrl=param.absUrl;var links=sessionState.account?Object.keys(sessionState.account.links).map(function(key){return sessionState.account.links[key]}):[];var accountName=truncate(sessionState.accountName,20);var preferredEmail=truncate(sessionState.preferredEmail,20);return React.createElement("ul",{className:"hidden md:flex items-center"},React.createElement("li",{className:"ui-meganav-item relative"},React.createElement(MeganavControl,{ariaControls:"account-panel",ariaLabel:"Account",theme:theme,additionalCSS:"mr-0"},accountName),React.createElement("div",{className:"ui-meganav-panel-account invisible",id:"account-panel","data-id":"meganav-panel"},sessionState.account&&React.createElement(React.Fragment,null,React.createElement("p",{className:"ui-meganav-overline mt-16 mx-16"},"Your account"),React.createElement("ul",{className:"mb-16 mx-16"},links.map(function(item){return React.createElement("li",{key:item.href},React.createElement("a",{className:"ui-meganav-account-link",href:absUrl(item.href)},item.text))}))),React.createElement("p",{className:"ui-meganav-overline mx-16"},preferredEmail),React.createElement("ul",{className:"mb-8 mx-16"},React.createElement("li",null,React.createElement("a",{href:absUrl(sessionState.mySettings.href),className:"ui-meganav-account-link"},sessionState.mySettings.text)),sessionState.myAccessTokens&&React.createElement("li",null,React.createElement("a",{href:absUrl(sessionState.myAccessTokens.href),className:"ui-meganav-account-link"},sessionState.myAccessTokens.text,React.createElement("span",{className:"ui-version-tag"},"preview")))),React.createElement("hr",{className:"ui-meganav-hr mb-16"}),sessionState.logOut&&React.createElement("div",{className:"mb-16 px-16"},React.createElement(SignOutLink,_object_spread({absUrl:absUrl},sessionState.logOut),function(param){var text=param.text,href=param.href,onClick=param.onClick;return React.createElement("a",{onClick:onClick,href:absUrl(href),className:"ui-meganav-account-link"},text)})))),React.createElement("li",null,React.createElement(MeganavSearch,{absUrl:absUrl})),sessionState.account&&React.createElement("li",null,React.createElement("a",{href:absUrl(sessionState.account.links.dashboard.href),className:"ui-btn-secondary p-btn-small"},"Dashboard")))};export default MeganavItemsSignedIn;
@@ -1 +0,0 @@
1
- import React from"react";import Icon from"../Icon/component.tsx";import MeganavSearchPanel from"../MeganavSearchPanel/component.tsx";var MeganavSearch=function(param){var absUrl=param.absUrl;return React.createElement(React.Fragment,null,React.createElement("button",{type:"button","data-id":"meganav-control","data-control":"search",className:"h-64 w-24 px-24 pr-48 py-20 group focus:outline-none","aria-expanded":"false","aria-controls":"panel-search","aria-label":"Show Search Panel"},React.createElement(Icon,{name:"icon-gui-search",color:"text-cool-black",size:"1.5rem",additionalCSS:"group-hover:text-gui-hover group-focus:text-gui-focus"})),React.createElement("div",{className:"ui-meganav-panel invisible",id:"panel-search","data-id":"meganav-panel"},React.createElement(MeganavSearchPanel,{absUrl:absUrl})))};export default MeganavSearch;
@@ -1 +0,0 @@
1
- import React from"react";import Icon from"../Icon/component.tsx";import MeganavSearchSuggestions from"../MeganavSearchSuggestions/component.tsx";import MeganavSearchAutocomplete from"../MeganavSearchAutocomplete/component.tsx";var MeganavSearchPanel=function(param){var absUrl=param.absUrl;return React.createElement("section",{className:"ui-meganav-content grid-cols-12"},React.createElement("div",{className:"col-span-8"},React.createElement("div",{className:"mb-32"},React.createElement("form",{className:"flex items-start",action:absUrl("/search"),method:"get"},React.createElement("div",{className:"relative w-full"},React.createElement(Icon,{name:"icon-gui-search",color:"text-cool-black",size:"1.5rem",additionalCSS:"absolute top-12 left-16"}),React.createElement("input",{type:"search",name:"q",className:"ui-input pl-48 h-48",placeholder:"Search",autoComplete:"off","data-id":"meganav-search-input"}),React.createElement(MeganavSearchAutocomplete,null)),React.createElement("button",{type:"submit",className:"ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32"},"Search")))),React.createElement("div",{className:"col-span-12"},React.createElement(MeganavSearchSuggestions,{displaySupportLink:true,absUrl:absUrl})))};export default MeganavSearchPanel;
@@ -1 +0,0 @@
1
- import React,{useRef}from"react";var SignOutLink=function(param){var token=param.token,href=param.href,text=param.text,children=param.children,absUrl=param.absUrl;var formRef=useRef(null);var onClick=function(e){var _formRef_current;(_formRef_current=formRef.current)===null||_formRef_current===void 0?void 0:_formRef_current.submit();e.preventDefault()};return React.createElement(React.Fragment,null,React.createElement("form",{ref:formRef,method:"post",action:absUrl(href),className:"hidden"},React.createElement("input",{name:"_method",value:"delete",type:"hidden"}),React.createElement("input",{name:"authenticity_token",value:token,type:"hidden"})),children({href:href,text:text,onClick:onClick}))};export default SignOutLink;
@@ -1 +0,0 @@
1
- import{Table,TableRowHeader,TableHeader,TableBody}from"./Table";import{TableRow}from"./TableRow";import{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported}from"./TableCell";export default{Root:Table,Row:TableRow,Cell:TableCell,LabelCell:LabelCell,HeaderCell:HeaderCell,CtaCell:CtaCell,RowHeader:TableRowHeader,Body:TableBody,Header:TableHeader,Supported:Supported,Unsupported:Unsupported};
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React,{Fragment}from"react";import Tooltip from"../../Tooltip/component";import{Supported,Unsupported}from"../TableCell";import Table from"..";var testRow=function(index){return{label:"Label ".concat(index+1),cells:[{label:"text",content:"Cell content",column:"Free"},{label:"yes",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Supported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Supported,null))),column:"PAYG"},{label:"no",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Unsupported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Unsupported,null))),column:"Custom"}]}};var sections=["Features","Support","Technical Support"].map(function(label){return{label:label,rows:_to_consumable_array(Array(5)).map(function(_,i){return testRow(i)})}});export var PricingPageTable=function(){return React.createElement("div",{className:"ui-standard-container"},React.createElement("h2",{className:"ui-text-h2 text-center m-32"},"Pricing Page Table"),React.createElement("p",{className:"text-center m-32"},"Example content"),React.createElement(Table.Root,null,React.createElement(Table.Header,null,React.createElement(Table.Row,null,React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Free")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"PAYG")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Custom")))),React.createElement(Table.Body,null,sections.map(function(section){return React.createElement(Fragment,{key:section.label},React.createElement(Table.RowHeader,null,React.createElement(Table.Cell,{colSpan:4},section.label)),section.rows.map(function(row){return React.createElement(Table.Row,{key:row.label},React.createElement(Table.LabelCell,{key:row.label,className:"border-t border-light-grey"},React.createElement("a",{className:"ui-link",href:"#"},row.label),React.createElement(Tooltip,null,"Example tooltip")),row.cells.map(function(cell){return React.createElement(Table.Cell,{key:cell.label,className:"last:mb-16 sm:mb-0"},React.createElement("div",{className:"flex-1 sm:hidden !text-dark-grey ui-text-overline2"},cell.column),cell.content)}))}))}),React.createElement(Table.Row,null,React.createElement(Table.Cell,null),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn"},"Contact sales"))))))};
@@ -1 +0,0 @@
1
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_with_holes(arr){if(Array.isArray(arr))return arr}function _iterable_to_array_limit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _sliced_to_array(arr,i){return _array_with_holes(arr)||_iterable_to_array_limit(arr,i)||_unsupported_iterable_to_array(arr,i)||_non_iterable_rest()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}import React,{useEffect,useRef,useState}from"react";import Icon from"../Icon/component.tsx";var Tooltip=function(param){var children=param.children;var _useState=_sliced_to_array(useState(false),2),open=_useState[0],setOpen=_useState[1];var _useState1=_sliced_to_array(useState({x:0,y:0}),2),position=_useState1[0],setPosition=_useState1[1];var offset=8;var reference=useRef(null);var floating=useRef(null);useEffect(function(){if(open){var _floating_current,_reference_current;var floatingRect=(_floating_current=floating.current)===null||_floating_current===void 0?void 0:_floating_current.getBoundingClientRect();var referenceRect=(_reference_current=reference.current)===null||_reference_current===void 0?void 0:_reference_current.getBoundingClientRect();if(floatingRect&&referenceRect){setPosition({x:Math.min(floatingRect.width/2,floatingRect.left)-referenceRect.width/2,y:Math.min(floatingRect.height,floatingRect.top)+offset})}}else{setPosition({x:0,y:0})}},[open]);return React.createElement("div",{className:"relative inline-block align-top h-16"},React.createElement("button",{onMouseEnter:function(){return setOpen(true)},onMouseLeave:function(){return setOpen(false)},className:"ml-8 p-0 relative top-1 focus:outline-none",type:"button",ref:reference,"aria-describedby":"tooltip"},React.createElement(Icon,{name:"icon-gui-info",size:"1rem"})),open?React.createElement("div",{className:"bg-light-grey p-12 rounded pointer-events-none absolute z-20",role:"tooltip",ref:floating,style:{top:-position.y,left:-position.x,boxShadow:"4px 4px 15px rgba(0, 0, 0, 0.2)"}},React.createElement("div",{className:"w-256"},children)):null)};export default Tooltip;
File without changes
File without changes
@@ -1 +0,0 @@
1
- import "./component.css";
File without changes
File without changes
File without changes
@@ -1 +0,0 @@
1
- import "./component.css";
@@ -1 +0,0 @@
1
- import "./component.css";
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +0,0 @@
1
- // TODO: Webpack expects a .js file for any component
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,112 +0,0 @@
1
- import React, { CSSProperties, ReactNode, useEffect, useRef } from "react";
2
-
3
- import Icon from "../Icon/component.tsx";
4
- import SliderScripts from "./component.js";
5
- import "./component.css";
6
-
7
- type SliderProps = {
8
- slides?: ReactNode[];
9
- classes?: string;
10
- slideClasses?: string;
11
- slideMinWidth?: string;
12
- slideMaxWidth?: string;
13
- mqEnableThreshold?: () => boolean;
14
-
15
- container?: HTMLDivElement | null;
16
- };
17
-
18
- const Slider = ({
19
- slides = [],
20
- classes = "",
21
- slideClasses = "",
22
- slideMinWidth = "16.875rem",
23
- slideMaxWidth = "1fr",
24
- mqEnableThreshold = () => true,
25
- ...props
26
- }: SliderProps) => {
27
- const containerRef = useRef<HTMLDivElement>(null);
28
-
29
- useEffect(() => {
30
- SliderScripts({
31
- container: containerRef.current,
32
- mqEnableThreshold,
33
- });
34
- }, []);
35
-
36
- if (slides.length === 0) return;
37
-
38
- return (
39
- <div
40
- className="w-full overflow-x-hidden"
41
- data-id="slider"
42
- style={
43
- {
44
- "--dynamic-grid-columns-count": slides.length,
45
- "--dynamic-grid-column-min-width": slideMinWidth,
46
- "--dynamic-grid-column-max-width": slideMaxWidth,
47
- } as CSSProperties
48
- }
49
- ref={containerRef}
50
- >
51
- <ol
52
- className={`grid ui-grid-gap grid-cols-dynamic transform transition-transform ${classes}`}
53
- data-id="slider-strip"
54
- {...props}
55
- >
56
- {slides.map((slide, i) => (
57
- <li key={i} className={slideClasses} data-id="slider-slide">
58
- {slide}
59
- </li>
60
- ))}
61
- </ol>
62
-
63
- <div
64
- className="justify-center items-center my-24 hidden"
65
- data-id="slider-controls"
66
- >
67
- <button
68
- type="button"
69
- className="p-0 w-24 h-24 flex items-center focus:outline-gui-focus"
70
- data-id="slider-previous"
71
- >
72
- <Icon
73
- name="icon-gui-disclosure-arrow"
74
- size="1.5rem"
75
- color="text-cool-black"
76
- additionalCSS="transform rotate-180"
77
- data-id="meganav-control-mobile-dropdown-menu"
78
- />
79
- </button>
80
-
81
- <ul className="flex justify-center items-center mx-32 relative h-24">
82
- {slides.map((_, i) => (
83
- <li key={i}>
84
- <span
85
- className="ui-slider-marker text-cool-black"
86
- data-id="slider-marker"
87
- >
88
- &#x2b24;
89
- </span>{" "}
90
- {/* ⬤ */}
91
- </li>
92
- ))}
93
- </ul>
94
-
95
- <button
96
- type="button"
97
- className="p-0 w-24 h-24 flex items-center focus:outline-gui-focus"
98
- data-id="slider-next"
99
- >
100
- <Icon
101
- name="icon-gui-disclosure-arrow"
102
- size="1.5rem"
103
- color="text-cool-black"
104
- data-id="meganav-control-mobile-dropdown-menu"
105
- />
106
- </button>
107
- </div>
108
- </div>
109
- );
110
- };
111
-
112
- export default Slider;
File without changes
File without changes
File without changes