@ably/ui 14.3.3 → 14.4.0-dev.0545d43

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 (151) hide show
  1. package/core/.DS_Store +0 -0
  2. package/core/Accordion/.DS_Store +0 -0
  3. package/core/Code/.DS_Store +0 -0
  4. package/core/ContactFooter/.DS_Store +0 -0
  5. package/core/CookieMessage/.DS_Store +0 -0
  6. package/core/CustomerLogos/.DS_Store +0 -0
  7. package/core/DropdownMenu/.DS_Store +0 -0
  8. package/core/FeaturedLink/.DS_Store +0 -0
  9. package/core/Flash/.DS_Store +0 -0
  10. package/core/Flash.js +1 -1
  11. package/core/Footer/.DS_Store +0 -0
  12. package/core/Footer.js +1 -1
  13. package/core/Icon/.DS_Store +0 -0
  14. package/core/Loader/.DS_Store +0 -0
  15. package/core/Logo/.DS_Store +0 -0
  16. package/core/Meganav/.DS_Store +0 -0
  17. package/core/Meganav/component.js +1 -1
  18. package/core/MeganavBlogPostsList/.DS_Store +0 -0
  19. package/core/MeganavContentCompany.js +1 -1
  20. package/core/MeganavContentProducts.js +1 -1
  21. package/core/MeganavContentUseCases.js +1 -1
  22. package/core/MeganavControl/.DS_Store +0 -0
  23. package/core/MeganavControlMobileDropdown/.DS_Store +0 -0
  24. package/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
  25. package/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
  26. package/core/MeganavSearchAutocomplete/.DS_Store +0 -0
  27. package/core/MeganavSearchSuggestions/.DS_Store +0 -0
  28. package/core/Notice/.DS_Store +0 -0
  29. package/core/Slider/.DS_Store +0 -0
  30. package/core/Table/.DS_Store +0 -0
  31. package/core/Tooltip/.DS_Store +0 -0
  32. package/core/icons/.DS_Store +0 -0
  33. package/package.json +17 -12
  34. package/types/core/Accordion.d.ts +17 -0
  35. package/types/core/Accordion.d.ts.map +1 -0
  36. package/types/core/Code.d.ts +10 -0
  37. package/types/core/Code.d.ts.map +1 -0
  38. package/types/core/ConnectStateWrapper.d.ts +3 -0
  39. package/types/core/ConnectStateWrapper.d.ts.map +1 -0
  40. package/types/core/ContactFooter.d.ts +6 -0
  41. package/types/core/ContactFooter.d.ts.map +1 -0
  42. package/types/core/CookieMessage.d.ts +7 -0
  43. package/types/core/CookieMessage.d.ts.map +1 -0
  44. package/types/core/CustomerLogos.d.ts +11 -0
  45. package/types/core/CustomerLogos.d.ts.map +1 -0
  46. package/types/core/DropdownMenu.d.ts +28 -0
  47. package/types/core/DropdownMenu.d.ts.map +1 -0
  48. package/types/core/Expander.d.ts +12 -0
  49. package/types/core/Expander.d.ts.map +1 -0
  50. package/types/core/FeaturedLink.d.ts +15 -0
  51. package/types/core/FeaturedLink.d.ts.map +1 -0
  52. package/types/core/Flash.d.ts +32 -0
  53. package/types/core/Flash.d.ts.map +1 -0
  54. package/types/core/Footer.d.ts +14 -0
  55. package/types/core/Footer.d.ts.map +1 -0
  56. package/types/core/Icon.d.ts +9 -0
  57. package/types/core/Icon.d.ts.map +1 -0
  58. package/types/core/Loader.d.ts +8 -0
  59. package/types/core/Loader.d.ts.map +1 -0
  60. package/types/core/Logo.d.ts +11 -0
  61. package/types/core/Logo.d.ts.map +1 -0
  62. package/types/core/Meganav/component.d.ts +5 -0
  63. package/types/core/Meganav/component.d.ts.map +1 -0
  64. package/types/core/Meganav.d.ts +77 -0
  65. package/types/core/Meganav.d.ts.map +1 -0
  66. package/types/core/MeganavBlogPostsList.d.ts +12 -0
  67. package/types/core/MeganavBlogPostsList.d.ts.map +1 -0
  68. package/types/core/MeganavContentCompany.d.ts +8 -0
  69. package/types/core/MeganavContentCompany.d.ts.map +1 -0
  70. package/types/core/MeganavContentDevelopers.d.ts +7 -0
  71. package/types/core/MeganavContentDevelopers.d.ts.map +1 -0
  72. package/types/core/MeganavContentProducts.d.ts +8 -0
  73. package/types/core/MeganavContentProducts.d.ts.map +1 -0
  74. package/types/core/MeganavContentUseCases.d.ts +6 -0
  75. package/types/core/MeganavContentUseCases.d.ts.map +1 -0
  76. package/types/core/MeganavControl/component.d.ts +6 -0
  77. package/types/core/MeganavControl/component.d.ts.map +1 -0
  78. package/types/core/MeganavControl.d.ts +12 -0
  79. package/types/core/MeganavControl.d.ts.map +1 -0
  80. package/types/core/MeganavControlMobileDropdown/component.d.ts +8 -0
  81. package/types/core/MeganavControlMobileDropdown/component.d.ts.map +1 -0
  82. package/types/core/MeganavControlMobileDropdown.d.ts +6 -0
  83. package/types/core/MeganavControlMobileDropdown.d.ts.map +1 -0
  84. package/types/core/MeganavControlMobilePanelClose/component.d.ts +6 -0
  85. package/types/core/MeganavControlMobilePanelClose/component.d.ts.map +1 -0
  86. package/types/core/MeganavControlMobilePanelClose.d.ts +7 -0
  87. package/types/core/MeganavControlMobilePanelClose.d.ts.map +1 -0
  88. package/types/core/MeganavControlMobilePanelOpen/component.d.ts +6 -0
  89. package/types/core/MeganavControlMobilePanelOpen/component.d.ts.map +1 -0
  90. package/types/core/MeganavControlMobilePanelOpen.d.ts +8 -0
  91. package/types/core/MeganavControlMobilePanelOpen.d.ts.map +1 -0
  92. package/types/core/MeganavItemsDesktop.d.ts +13 -0
  93. package/types/core/MeganavItemsDesktop.d.ts.map +1 -0
  94. package/types/core/MeganavItemsMobile.d.ts +14 -0
  95. package/types/core/MeganavItemsMobile.d.ts.map +1 -0
  96. package/types/core/MeganavItemsSignedIn.d.ts +9 -0
  97. package/types/core/MeganavItemsSignedIn.d.ts.map +1 -0
  98. package/types/core/MeganavSearch.d.ts +6 -0
  99. package/types/core/MeganavSearch.d.ts.map +1 -0
  100. package/types/core/MeganavSearchAutocomplete/component.d.ts +6 -0
  101. package/types/core/MeganavSearchAutocomplete/component.d.ts.map +1 -0
  102. package/types/core/MeganavSearchAutocomplete.d.ts +3 -0
  103. package/types/core/MeganavSearchAutocomplete.d.ts.map +1 -0
  104. package/types/core/MeganavSearchPanel.d.ts +6 -0
  105. package/types/core/MeganavSearchPanel.d.ts.map +1 -0
  106. package/types/core/MeganavSearchSuggestions/component.d.ts +6 -0
  107. package/types/core/MeganavSearchSuggestions/component.d.ts.map +1 -0
  108. package/types/core/MeganavSearchSuggestions.d.ts +8 -0
  109. package/types/core/MeganavSearchSuggestions.d.ts.map +1 -0
  110. package/types/core/Notice/component.d.ts +8 -0
  111. package/types/core/Notice/component.d.ts.map +1 -0
  112. package/types/core/Notice.d.ts +23 -0
  113. package/types/core/Notice.d.ts.map +1 -0
  114. package/types/core/SignOutLink.d.ts +16 -0
  115. package/types/core/SignOutLink.d.ts.map +1 -0
  116. package/types/core/Slider.d.ts +12 -0
  117. package/types/core/Slider.d.ts.map +1 -0
  118. package/types/core/Status.d.ts +6 -0
  119. package/types/core/Status.d.ts.map +1 -0
  120. package/types/core/Table/Table.d.ts +10 -0
  121. package/types/core/Table/Table.d.ts.map +1 -0
  122. package/types/core/Table/TableCell.d.ts +10 -0
  123. package/types/core/Table/TableCell.d.ts.map +1 -0
  124. package/types/core/Table/TableRow.d.ts +8 -0
  125. package/types/core/Table/TableRow.d.ts.map +1 -0
  126. package/types/core/Table/data.d.ts +2 -0
  127. package/types/core/Table/data.d.ts.map +1 -0
  128. package/types/core/Table.d.ts +19 -0
  129. package/types/core/Table.d.ts.map +1 -0
  130. package/types/core/Tooltip.d.ts +8 -0
  131. package/types/core/Tooltip.d.ts.map +1 -0
  132. package/types/core/css.d.ts +2 -0
  133. package/types/core/css.d.ts.map +1 -0
  134. package/types/core/dom-query.d.ts +3 -0
  135. package/types/core/dom-query.d.ts.map +1 -0
  136. package/types/core/hubspot-chat-toggle.d.ts +2 -0
  137. package/types/core/hubspot-chat-toggle.d.ts.map +1 -0
  138. package/types/core/remote-blogs-posts.d.ts +10 -0
  139. package/types/core/remote-blogs-posts.d.ts.map +1 -0
  140. package/types/core/remote-data-store.d.ts +5 -0
  141. package/types/core/remote-data-store.d.ts.map +1 -0
  142. package/types/core/remote-data-util.d.ts +2 -0
  143. package/types/core/remote-data-util.d.ts.map +1 -0
  144. package/types/core/remote-session-data.d.ts +10 -0
  145. package/types/core/remote-session-data.d.ts.map +1 -0
  146. package/types/core/url-base.d.ts +3 -0
  147. package/types/core/url-base.d.ts.map +1 -0
  148. package/types/core/utils/syntax-highlighter-registry.d.ts +7 -0
  149. package/types/core/utils/syntax-highlighter-registry.d.ts.map +1 -0
  150. package/types/core/utils/syntax-highlighter.d.ts +4 -0
  151. package/types/core/utils/syntax-highlighter.d.ts.map +1 -0
package/core/.DS_Store ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/core/Flash.js CHANGED
@@ -1 +1 @@
1
- import React,{useEffect,useState,useRef}from"react";import DOMPurify from"dompurify";import{getRemoteDataStore}from"./remote-data-store.js";import ConnectStateWrapper from"./ConnectStateWrapper";import Icon from"./Icon";const REDUCER_KEY="flashes";const FLASH_DATA_ID="ui-flashes";const initialState={items:[]};const reducerFlashes={[REDUCER_KEY]:(state=initialState,action)=>{switch(action.type){case"flash/push":{const flashes=Array.isArray(action.payload)?action.payload:[action.payload];return{items:[...state.items,...flashes]}}default:return state}}};const selectFlashes=store=>store.getState()[REDUCER_KEY];const FLASH_BG_COLOR={error:"bg-gui-error",success:"bg-zingy-green",notice:"bg-electric-cyan",info:"bg-electric-cyan",alert:"bg-active-orange"};const FLASH_TEXT_COLOR={error:"text-white",success:"text-cool-black",notice:"text-cool-black",info:"text-cool-black",alert:"text-white"};const AUTO_HIDE=["success","info","notice"];const AUTO_HIDE_TIME=8e3;const useAutoHide=(type,closeFlash)=>{const timeoutId=useRef(null);useEffect(()=>{if(AUTO_HIDE.includes(type)){timeoutId.current=setTimeout(()=>{closeFlash()},AUTO_HIDE_TIME)}return()=>{if(timeoutId.current){clearTimeout(timeoutId.current)}}},[])};const Flash=({id,type,content,removeFlash})=>{const ref=useRef(null);const[closed,setClosed]=useState(false);const[flashHeight,setFlashHeight]=useState(0);const[triggerEntryAnimation,setTriggerEntryAnimation]=useState(false);const closeFlash=()=>{if(ref.current){setFlashHeight(ref.current.getBoundingClientRect().height)}setClosed(true);setTimeout(()=>{id&&removeFlash(id)},100)};useEffect(()=>setTriggerEntryAnimation(true),[]);useAutoHide(type,closeFlash);const animateEntry=triggerEntryAnimation&&!closed;let style;if(flashHeight&&!closed){style={height:`${flashHeight}px`}}else if(closed){style={height:0,marginTop:0,zIndex:-1}}else{style={}}const safeContent=DOMPurify.sanitize(content,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href","data-method","rel"]});const withIcons={notice:"icon-gui-ably-badge",success:"icon-gui-tick",error:"icon-gui-warning",alert:"icon-gui-warning"};const iconColor={notice:"text-cool-black",success:"text-cool-black",error:"text-white",alert:"text-white"};return /*#__PURE__*/React.createElement("div",{className:`ui-flash-message ui-grid-px ${animateEntry?"ui-flash-message-enter":""}`,style:style,ref:ref,"data-id":"ui-flash"},/*#__PURE__*/React.createElement("div",{className:`${FLASH_BG_COLOR[type]} p-32 flex align-center rounded shadow-container-subtle`},withIcons[type]&&/*#__PURE__*/React.createElement(Icon,{name:withIcons[type],color:iconColor[type],size:"1.5rem",additionalCSS:"mr-16 self-baseline"}),/*#__PURE__*/React.createElement("p",{className:`ui-text-p1 mr-16 ${FLASH_TEXT_COLOR[type]}`,dangerouslySetInnerHTML:{__html:safeContent}}),/*#__PURE__*/React.createElement("button",{type:"button",className:"p-0 ml-auto self-start focus:outline-none",onClick:closeFlash},/*#__PURE__*/React.createElement(Icon,{name:"icon-gui-close",color:iconColor[type],size:"1.5rem",additionalCSS:"transition-colors"}))))};const Flashes=({flashes})=>{const[flashesWithIds,setFlashesWithIds]=useState([]);const removeFlash=flashId=>setFlashesWithIds(items=>items.filter(item=>item.id!==flashId));useEffect(()=>{setFlashesWithIds(state=>{return[...state,...(flashes?.items??[]).map(flash=>({...flash,id:Math.random().toString(36).slice(2),removed:false}))]})},[flashes]);return /*#__PURE__*/React.createElement("div",{className:"ui-flash","data-id":FLASH_DATA_ID},flashesWithIds.filter(item=>!item.removed).map(flash=>/*#__PURE__*/React.createElement(Flash,{key:flash.id,...flash,removeFlash:removeFlash})))};const BackendFlashes=({flashes})=>{useEffect(()=>{const transformedFlashes=flashes.map(flash=>{const[type,content]=flash;return{type,content}})||[];if(transformedFlashes.length>0){const store=getRemoteDataStore();store.dispatch({type:"flash/push",payload:transformedFlashes})}},[]);const WrappedFlashes=ConnectStateWrapper(Flashes,{flashes:selectFlashes});return /*#__PURE__*/React.createElement(WrappedFlashes,null)};export{reducerFlashes,FLASH_DATA_ID,Flashes};export default BackendFlashes;
1
+ import React,{useEffect,useState,useRef}from"react";import DOMPurify from"dompurify";import{getRemoteDataStore}from"./remote-data-store.js";import ConnectStateWrapper from"./ConnectStateWrapper";import Icon from"./Icon";const REDUCER_KEY="flashes";const FLASH_DATA_ID="ui-flashes";const initialState={items:[]};const reducerFlashes={[REDUCER_KEY]:(state=initialState,action)=>{switch(action.type){case"flash/push":{const flashes=Array.isArray(action.payload)?action.payload:[action.payload];return{items:[...state.items,...flashes]}}default:return state}}};const selectFlashes=store=>store.getState()[REDUCER_KEY];const FLASH_BG_COLOR={error:"bg-gui-error",success:"bg-zingy-green",notice:"bg-electric-cyan",info:"bg-electric-cyan",alert:"bg-active-orange"};const FLASH_TEXT_COLOR={error:"text-white",success:"text-cool-black",notice:"text-cool-black",info:"text-cool-black",alert:"text-white"};const AUTO_HIDE=["success","info","notice"];const AUTO_HIDE_TIME=8e3;const useAutoHide=(type,closeFlash)=>{const timeoutId=useRef(null);useEffect(()=>{if(AUTO_HIDE.includes(type)){timeoutId.current=setTimeout(()=>{closeFlash()},AUTO_HIDE_TIME)}return()=>{if(timeoutId.current){clearTimeout(timeoutId.current)}}},[])};const Flash=({id,type,content,removeFlash})=>{const ref=useRef(null);const[closed,setClosed]=useState(false);const[flashHeight,setFlashHeight]=useState(0);const[triggerEntryAnimation,setTriggerEntryAnimation]=useState(false);const closeFlash=()=>{if(ref.current){setFlashHeight(ref.current.getBoundingClientRect().height)}setClosed(true);setTimeout(()=>{id&&removeFlash(id)},100)};useEffect(()=>setTriggerEntryAnimation(true),[]);useAutoHide(type,closeFlash);const animateEntry=triggerEntryAnimation&&!closed;let style;if(flashHeight&&!closed){style={height:`${flashHeight}px`}}else if(closed){style={height:0,marginTop:0,zIndex:-1}}else{style={}}const safeContent=DOMPurify.sanitize(content,{ALLOWED_TAGS:["a"],ALLOWED_ATTR:["href","data-method","rel"]});const withIcons={notice:"icon-gui-ably-badge",success:"icon-gui-tick",error:"icon-gui-warning",alert:"icon-gui-warning",info:""};const iconColor={notice:"text-cool-black",success:"text-cool-black",error:"text-white",alert:"text-white",info:""};return /*#__PURE__*/React.createElement("div",{className:`ui-flash-message ui-grid-px ${animateEntry?"ui-flash-message-enter":""}`,style:style,ref:ref,"data-id":"ui-flash"},/*#__PURE__*/React.createElement("div",{className:`${FLASH_BG_COLOR[type]} p-32 flex align-center rounded shadow-container-subtle`},withIcons[type]&&/*#__PURE__*/React.createElement(Icon,{name:withIcons[type],color:iconColor[type],size:"1.5rem",additionalCSS:"mr-16 self-baseline"}),/*#__PURE__*/React.createElement("p",{className:`ui-text-p1 mr-16 ${FLASH_TEXT_COLOR[type]}`,dangerouslySetInnerHTML:{__html:safeContent}}),/*#__PURE__*/React.createElement("button",{type:"button",className:"p-0 ml-auto self-start focus:outline-none",onClick:closeFlash},/*#__PURE__*/React.createElement(Icon,{name:"icon-gui-close",color:iconColor[type],size:"1.5rem",additionalCSS:"transition-colors"}))))};const Flashes=({flashes})=>{const[flashesWithIds,setFlashesWithIds]=useState([]);const removeFlash=flashId=>setFlashesWithIds(items=>items.filter(item=>item.id!==flashId));useEffect(()=>{setFlashesWithIds(state=>{return[...state,...(flashes?.items??[]).map(flash=>({...flash,id:Math.random().toString(36).slice(2),removed:false}))]})},[flashes]);return /*#__PURE__*/React.createElement("div",{className:"ui-flash","data-id":FLASH_DATA_ID},flashesWithIds.filter(item=>!item.removed).map(flash=>/*#__PURE__*/React.createElement(Flash,{key:flash.id,...flash,removeFlash:removeFlash})))};const BackendFlashes=({flashes})=>{useEffect(()=>{const transformedFlashes=flashes.map(flash=>{const[type,content]=flash;return{type,content}})||[];if(transformedFlashes.length>0){const store=getRemoteDataStore();store.dispatch({type:"flash/push",payload:transformedFlashes})}},[]);const WrappedFlashes=ConnectStateWrapper(Flashes,{flashes:selectFlashes});return /*#__PURE__*/React.createElement(WrappedFlashes,null)};export{reducerFlashes,FLASH_DATA_ID,Flashes};export default BackendFlashes;
Binary file
package/core/Footer.js CHANGED
@@ -1 +1 @@
1
- import React from"react";import Icon from"./Icon";import _absUrl from"./url-base.js";import Status from"./Status.js";const Footer=({paths,urlBase,statusUrl})=>{const absUrl=path=>_absUrl(path,urlBase);return /*#__PURE__*/React.createElement("footer",{className:"bg-light-grey font-sans antialiased leading-normal","data-id":"footer"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("div",{className:"col-span-full md:col-span-2"},/*#__PURE__*/React.createElement("div",{className:"flex flex-row p-menu-row-snug"},/*#__PURE__*/React.createElement("img",{className:"mr-24 -mt-16",src:paths.ablyStack,alt:"Ably homepage"}),/*#__PURE__*/React.createElement("h2",{className:"ui-text-overline2 col-span-full"},"The Ably Platform")),/*#__PURE__*/React.createElement("div",{className:"md:col-span-4 md:w-3/4 xs:w-3/5 w-full"},/*#__PURE__*/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.")),/*#__PURE__*/React.createElement("ul",{className:"grid grid-cols-1"},/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/channels"),className:"ui-footer-menu-row-link"},"Pub/sub messaging")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-footer-menu-row-link"},"Push notifications")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multiple protocol messaging")))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"Ably is for"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-footer-menu-row-link"},"Ably Asset Tracking")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/extend-kafka-to-the-edge"),className:"ui-footer-menu-row-link"},"Extend Kafka to the edge")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-footer-menu-row-link"},"EdTech")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-footer-menu-row-link"},"Automotive, Logistics, & Mobility")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-footer-menu-row-link"},"B2B Platforms")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-footer-menu-row-link"},"Healthcare")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-footer-menu-row-link"},"eCommerce & Retail")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-footer-menu-row-link"},"Sports & Media")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-footer-menu-row-link"},"Gaming")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-footer-menu-row-link"},"IoT & Connected Devices")))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"Developers"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-footer-menu-row-link"},"Start in 5 minutes")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/docs/"),className:"ui-footer-menu-row-link"},"Documentation")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/tutorials"),className:"ui-footer-menu-row-link"},"Tutorials")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:"https://changelog.ably.com/",className:"ui-footer-menu-row-link"},"Changelog")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/support"),className:"ui-footer-menu-row-link"},"Support & FAQs")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-footer-menu-row-link"},"SDKs")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug flex items-center -mt-4"},/*#__PURE__*/React.createElement("a",{className:"pr-8 ui-footer-menu-row-link",href:"https://status.ably.com/"},"System status"),/*#__PURE__*/React.createElement(Status,{statusUrl:statusUrl})))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"WHY ABLY"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/customers"),className:"ui-footer-menu-row-link"},"Customers")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/case-studies"),className:"ui-footer-menu-row-link"},"Case Studies")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability"),className:"ui-footer-menu-row-link"},"Four Pillars of Dependability")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/compare"),className:"ui-footer-menu-row-link"},"Compare our tech")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multi protocol support")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"ABOUT"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/about"),className:"ui-footer-menu-row-link"},"About Ably")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/pricing"),className:"ui-footer-menu-row-link"},"Pricing")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/blog"),className:"ui-footer-menu-row-link"},"Blog")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/careers"),className:"ui-footer-menu-row-link"},"Careers")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/open-policy"),className:"ui-footer-menu-row-link"},"Open protocol policy")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/press-center"),className:"ui-footer-menu-row-link"},"Press & Media")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/contact"),className:"ui-footer-menu-row-link"},"Contact us"))))),/*#__PURE__*/React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},/*#__PURE__*/React.createElement("hr",{className:"border-t border-mid-grey my-0"})),/*#__PURE__*/React.createElement("div",{className:"max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2"},/*#__PURE__*/React.createElement("div",{className:"md:flex md:items-center"},/*#__PURE__*/React.createElement("div",{className:"flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2"},/*#__PURE__*/React.createElement("div",{className:""},/*#__PURE__*/React.createElement("div",{className:"flex pb-24"},/*#__PURE__*/React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-twitter",href:"https://twitter.com/ablyrealtime",title:"Ably on X"},/*#__PURE__*/React.createElement(Icon,{name:"icon-social-x",size:"1.5rem"})),/*#__PURE__*/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"},/*#__PURE__*/React.createElement(Icon,{name:"linkedin",size:"1.5rem"})),/*#__PURE__*/React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-github",href:"https://github.com/ably/",title:"Ably on Github"},/*#__PURE__*/React.createElement(Icon,{name:"github",size:"1.5rem"})),/*#__PURE__*/React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-discord",href:"https://discord.gg/jwBPhEZ9g5",title:"Ably on Discord"},/*#__PURE__*/React.createElement(Icon,{name:"discord",size:"1.5rem"})))),/*#__PURE__*/React.createElement("div",{className:"xs:hidden sm:block ui-footer-glassdoor"},/*#__PURE__*/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"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),/*#__PURE__*/React.createElement("div",{className:"pl-16 text-menu3 font-sans font-medium"},/*#__PURE__*/React.createElement("strong",{className:"block font-medium"},"We're hiring!"),/*#__PURE__*/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"))))),/*#__PURE__*/React.createElement("div",{className:"xs:block sm:hidden"},/*#__PURE__*/React.createElement("div",{className:"border-t border-mid-grey w-full"}),/*#__PURE__*/React.createElement("div",{className:"flex py-24"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),/*#__PURE__*/React.createElement("div",{className:"text-menu3 font-sans font-medium"},/*#__PURE__*/React.createElement("strong",{className:"block font-medium"},"We're hiring!"),/*#__PURE__*/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"))))),/*#__PURE__*/React.createElement("div",{className:"col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center"},/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.highestUserAdoption,alt:"Highest User Adoption 2023"}),/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.bestSupport,alt:"Best Support 2023"}),/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.fastestImplementation,alt:"Fastest Implementation 2023"}),/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.highestPerformer,alt:"High Performer 2023"}))),/*#__PURE__*/React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},/*#__PURE__*/React.createElement("hr",{className:"border-t border-mid-grey my-0"})),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("div",{className:"flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links"},/*#__PURE__*/React.createElement("div",{className:"flex"},/*#__PURE__*/React.createElement("a",{href:absUrl("/privacy"),className:"pr-24 ui-footer-link"},"Cookies"),/*#__PURE__*/React.createElement("a",{href:absUrl("/legals"),className:"pr-24 ui-footer-link"},"Legals"),/*#__PURE__*/React.createElement("a",{href:absUrl("/data-protection"),className:"pr-24 ui-footer-link"},"Data Protection"),/*#__PURE__*/React.createElement("a",{href:absUrl("/privacy"),className:"ui-footer-link"},"Privacy"))),/*#__PURE__*/React.createElement("div",{className:"xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end"},/*#__PURE__*/React.createElement("div",{className:"flex mr-24"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"SOC 2 Type 2"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),/*#__PURE__*/React.createElement("div",{className:"flex mr-24 md:col-start-2"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"HIPAA"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Compliant"))),/*#__PURE__*/React.createElement("div",{className:"flex mr-24 md:col-start-3"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"EU GDPR"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),/*#__PURE__*/React.createElement("div",{className:"flex mr-24 md:col-start-4"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"256-bit AES"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Encryption"))))))};export default Footer;
1
+ import React from"react";import Icon from"./Icon";import _absUrl from"./url-base.js";import Status from"./Status.js";const Footer=({paths,urlBase,statusUrl})=>{const absUrl=path=>_absUrl(path,urlBase);return /*#__PURE__*/React.createElement("footer",{className:"bg-light-grey font-sans antialiased leading-normal","data-id":"footer"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("div",{className:"col-span-full md:col-span-2"},/*#__PURE__*/React.createElement("div",{className:"flex flex-row p-menu-row-snug"},/*#__PURE__*/React.createElement("img",{className:"mr-24 -mt-16",src:paths.ablyStack,alt:"Ably homepage"}),/*#__PURE__*/React.createElement("h2",{className:"ui-text-overline2 col-span-full"},"The Ably Platform")),/*#__PURE__*/React.createElement("div",{className:"md:col-span-4 md:w-3/4 xs:w-3/5 w-full"},/*#__PURE__*/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.")),/*#__PURE__*/React.createElement("ul",{className:"grid grid-cols-1"},/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/pubsub"),className:"ui-footer-menu-row-link"},"Pub/sub messaging")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-footer-menu-row-link"},"Push notifications")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multiple protocol messaging")))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"Ably is for"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-footer-menu-row-link"},"Ably Asset Tracking")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/extend-kafka-to-the-edge"),className:"ui-footer-menu-row-link"},"Extend Kafka to the edge")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-footer-menu-row-link"},"EdTech")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-footer-menu-row-link"},"Automotive, Logistics, & Mobility")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-footer-menu-row-link"},"B2B Platforms")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-footer-menu-row-link"},"Healthcare")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-footer-menu-row-link"},"eCommerce & Retail")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-footer-menu-row-link"},"Sports & Media")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-footer-menu-row-link"},"Gaming")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-footer-menu-row-link"},"IoT & Connected Devices")))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"Developers"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-footer-menu-row-link"},"Start in 5 minutes")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/docs/"),className:"ui-footer-menu-row-link"},"Documentation")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/tutorials"),className:"ui-footer-menu-row-link"},"Tutorials")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:"https://changelog.ably.com/",className:"ui-footer-menu-row-link"},"Changelog")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/support"),className:"ui-footer-menu-row-link"},"Support & FAQs")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/docs/sdks"),className:"ui-footer-menu-row-link"},"SDKs")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug flex items-center -mt-4"},/*#__PURE__*/React.createElement("a",{className:"pr-8 ui-footer-menu-row-link",href:"https://status.ably.com/"},"System status"),/*#__PURE__*/React.createElement(Status,{statusUrl:statusUrl})))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"WHY ABLY"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/customers"),className:"ui-footer-menu-row-link"},"Customers")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/case-studies"),className:"ui-footer-menu-row-link"},"Case Studies")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability"),className:"ui-footer-menu-row-link"},"Four Pillars of Dependability")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/compare"),className:"ui-footer-menu-row-link"},"Compare our tech")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/protocols"),className:"ui-footer-menu-row-link"},"Multi protocol support")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/integrations"),className:"ui-footer-menu-row-link"},"Third-party integrations")))),/*#__PURE__*/React.createElement("div",{className:"col-span-full xs:col-span-3 md:col-span-1"},/*#__PURE__*/React.createElement("h2",{className:"ui-footer-col-title"},"ABOUT"),/*#__PURE__*/React.createElement("ul",null,/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/about"),className:"ui-footer-menu-row-link"},"About Ably")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/pricing"),className:"ui-footer-menu-row-link"},"Pricing")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/blog"),className:"ui-footer-menu-row-link"},"Blog")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/careers"),className:"ui-footer-menu-row-link"},"Careers")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/open-policy"),className:"ui-footer-menu-row-link"},"Open protocol policy")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/press-center"),className:"ui-footer-menu-row-link"},"Press & Media")),/*#__PURE__*/React.createElement("li",{className:"p-menu-row-snug"},/*#__PURE__*/React.createElement("a",{href:absUrl("/contact"),className:"ui-footer-menu-row-link"},"Contact us"))))),/*#__PURE__*/React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},/*#__PURE__*/React.createElement("hr",{className:"border-t border-mid-grey my-0"})),/*#__PURE__*/React.createElement("div",{className:"max-w-screen-xl mx-auto py-16 grid ui-grid-gap ui-grid-px sm:grid-cols-2"},/*#__PURE__*/React.createElement("div",{className:"md:flex md:items-center"},/*#__PURE__*/React.createElement("div",{className:"flex flex-col md:flex-row flex-auto ml-8 sm:col-span-1 md:col-span-2"},/*#__PURE__*/React.createElement("div",{className:""},/*#__PURE__*/React.createElement("div",{className:"flex pb-24"},/*#__PURE__*/React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-twitter",href:"https://twitter.com/ablyrealtime",title:"Ably on X"},/*#__PURE__*/React.createElement(Icon,{name:"icon-social-x",size:"1.5rem"})),/*#__PURE__*/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"},/*#__PURE__*/React.createElement(Icon,{name:"linkedin",size:"1.5rem"})),/*#__PURE__*/React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-github",href:"https://github.com/ably/",title:"Ably on Github"},/*#__PURE__*/React.createElement(Icon,{name:"github",size:"1.5rem"})),/*#__PURE__*/React.createElement("a",{className:"h-24 pr-24 text-cool-black hover:text-icon-discord",href:"https://discord.gg/jwBPhEZ9g5",title:"Ably on Discord"},/*#__PURE__*/React.createElement(Icon,{name:"discord",size:"1.5rem"})))),/*#__PURE__*/React.createElement("div",{className:"xs:hidden sm:block ui-footer-glassdoor"},/*#__PURE__*/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"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),/*#__PURE__*/React.createElement("div",{className:"pl-16 text-menu3 font-sans font-medium"},/*#__PURE__*/React.createElement("strong",{className:"block font-medium"},"We're hiring!"),/*#__PURE__*/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"))))),/*#__PURE__*/React.createElement("div",{className:"xs:block sm:hidden"},/*#__PURE__*/React.createElement("div",{className:"border-t border-mid-grey w-full"}),/*#__PURE__*/React.createElement("div",{className:"flex py-24"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement(Icon,{name:"glassdoor",size:"1.5rem"})),/*#__PURE__*/React.createElement("div",{className:"text-menu3 font-sans font-medium"},/*#__PURE__*/React.createElement("strong",{className:"block font-medium"},"We're hiring!"),/*#__PURE__*/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"))))),/*#__PURE__*/React.createElement("div",{className:"col-span-full sm:col-span-1 inline-flex sm:ml-auto sm:items-center"},/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.highestUserAdoption,alt:"Highest User Adoption 2023"}),/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.bestSupport,alt:"Best Support 2023"}),/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.fastestImplementation,alt:"Fastest Implementation 2023"}),/*#__PURE__*/React.createElement("img",{className:"mr-24 h-80",src:paths.highestPerformer,alt:"High Performer 2023"}))),/*#__PURE__*/React.createElement("div",{className:"max-w-screen-xl ui-grid-px mx-auto"},/*#__PURE__*/React.createElement("hr",{className:"border-t border-mid-grey my-0"})),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("div",{className:"flex ml-8 col-span-full sm:col-span-1 md:pb-16 items-center ui-footer-bottom-links"},/*#__PURE__*/React.createElement("div",{className:"flex"},/*#__PURE__*/React.createElement("a",{href:absUrl("/privacy"),className:"pr-24 ui-footer-link"},"Cookies"),/*#__PURE__*/React.createElement("a",{href:absUrl("/legals"),className:"pr-24 ui-footer-link"},"Legals"),/*#__PURE__*/React.createElement("a",{href:absUrl("/data-protection"),className:"pr-24 ui-footer-link"},"Data Protection"),/*#__PURE__*/React.createElement("a",{href:absUrl("/privacy"),className:"ui-footer-link"},"Privacy"))),/*#__PURE__*/React.createElement("div",{className:"xs:grid xs:grid-cols-2 sm:grid-cols-4 xs:pl-16 sm:pl-8 md:justify-items-end"},/*#__PURE__*/React.createElement("div",{className:"flex mr-24"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"SOC 2 Type 2"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),/*#__PURE__*/React.createElement("div",{className:"flex mr-24 md:col-start-2"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"HIPAA"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Compliant"))),/*#__PURE__*/React.createElement("div",{className:"flex mr-24 md:col-start-3"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"EU GDPR"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Certified"))),/*#__PURE__*/React.createElement("div",{className:"flex mr-24 md:col-start-4"},/*#__PURE__*/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"}),/*#__PURE__*/React.createElement("div",null,/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-bold whitespace-nowrap"},"256-bit AES"),/*#__PURE__*/React.createElement("p",{className:"ui-footer-compliance-text font-medium mb-24"},"Encryption"))))))};export default Footer;
Binary file
Binary file
Binary file
Binary file
@@ -1 +1 @@
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}={themeName:null}){const controls=MeganavControl();const panelOpenControls=MobilePanelOpenClick();const panelCloseControls=MobilePanelCloseClick();const search=MeganavSearchAutocomplete(addSearchApiKey);const searchSuggestions=MeganavSearchSuggestions();const mobileDropdownControl=MeganavControlMobileDropdown({clearPanels:()=>[...panelOpenControls,...panelCloseControls].forEach(i=>i.clear())});const closeAll=()=>[mobileDropdownControl,searchSuggestions,...panelOpenControls,...panelCloseControls,...controls,...search].forEach(i=>i.clear());const teardowns=[documentScroll(themeName),documentClick(closeAll),windowOnBlur(closeAll),mobileDropdownControl,searchSuggestions,...controls,...panelOpenControls,...panelCloseControls,...search].map(i=>i.teardown);return()=>teardowns.forEach(teardown=>teardown())}
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())}
@@ -1 +1 @@
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 /*#__PURE__*/React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}),/*#__PURE__*/React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-why-companies"},"Why companies choose Ably"),/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-company-panel-list-why-companies"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/customers"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-customers-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Customers"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Ably supports customers across multiple industries.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/case-studies"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-case-studies-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Case studies"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Discover how customers are benefiting from Ably.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/compare"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-compare-tech-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Compare our tech"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Choose the right realtime service.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/aws"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement("img",{src:paths.awsLogo,alt:"AWS logo"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Partners"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Ably collaborates and integrates with AWS.")))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-company-panel-list-why-companies"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/resources"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-resources-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Resources"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Learn more about realtime with our handy resources.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/about"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-about-ably-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"About Ably"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably’s mission.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/careers"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-careers-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Careers"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our open roles and core Ably values.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/events"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-events-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Events"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Join Ably at upcoming events.")))))),/*#__PURE__*/React.createElement(BlogPostsList,{absUrl:absUrl})),/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentCompany;
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 /*#__PURE__*/React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}),/*#__PURE__*/React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-company-panel-list-why-companies"},"Why companies choose Ably"),/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-company-panel-list-why-companies"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/customers"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-customers-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Customers"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Ably supports customers across multiple industries.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/case-studies"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-case-studies-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Case studies"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Discover how customers are benefiting from Ably.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/compare"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-compare-tech-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Compare our tech"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Choose the right realtime service.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/aws"),className:"ui-meganav-media-with-image group"},paths&&/*#__PURE__*/React.createElement("img",{src:paths.awsLogo,alt:"AWS logo"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Partners"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Ably collaborates and integrates with AWS.")))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("ul",{className:"md:mt-40","aria-labelledby":"meganav-company-panel-list-why-companies"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/resources"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-resources-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Resources"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Learn more about realtime with our handy resources.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/about"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-about-ably-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"About Ably"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Find out more about Ably’s mission.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/careers"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-careers-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Careers"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Discover our open roles and core Ably values.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/events"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-events-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Events"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Join Ably at upcoming events.")))))),/*#__PURE__*/React.createElement(BlogPostsList,{absUrl:absUrl})),/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}))};export default MeganavContentCompany;
@@ -1 +1 @@
1
- import React from"react";import FeaturedLink from"./FeaturedLink";const MeganavContentProducts=({paths,absUrl})=>/*#__PURE__*/React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),/*#__PURE__*/React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("div",{className:"flex mb-20"},/*#__PURE__*/React.createElement("img",{src:paths.ablyStack,alt:"Ably homepage"}),/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline ml-24"},"The Ably Platform")),/*#__PURE__*/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."),/*#__PURE__*/React.createElement(FeaturedLink,{url:absUrl("/platform"),textSize:"text-p2"},"Explore how it works")),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-examples"},"Products"),/*#__PURE__*/React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-examples"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/channels"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Pub/Sub Channels"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Build infinitely scalable realtime applications."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/spaces"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Spaces (Beta)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Create multi-user collaborative environments."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/livesync"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"LiveSync (Alpha)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Seamlessly sync database changes with frontend clients at scale."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/chat"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Chat (Beta)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale."))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-our-technology"},"Technology"),/*#__PURE__*/React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-our-technology"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#performance"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Predictable performance"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"A low-latency and high-throughput global network."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#integrity"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Guaranteed ordering & delivery"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Data is delivered - in order - even after disconnections."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#reliability"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Fault tolerant infrastructure"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Redundancy is built in at global and regional levels."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#availability"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"High scalability & availability"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Built for scale with legitimate 99.999% uptime SLAs."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/network"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Global edge network"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"An edge network of 15 core routing datacenters and 205+ PoPs.")))),/*#__PURE__*/React.createElement(FeaturedLink,{url:absUrl("/four-pillars-of-dependability"),textSize:"text-p3"},"Explore Four Pillars of Dependability"))),/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentProducts;
1
+ import React from"react";import FeaturedLink from"./FeaturedLink";const MeganavContentProducts=({paths,absUrl})=>/*#__PURE__*/React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),/*#__PURE__*/React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("div",{className:"flex mb-20"},paths&&/*#__PURE__*/React.createElement("img",{src:paths?.ablyStack,alt:"Ably homepage"}),/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline ml-24"},"The Ably Platform")),/*#__PURE__*/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."),/*#__PURE__*/React.createElement(FeaturedLink,{url:absUrl("/platform"),textSize:"text-p2"},"Explore how it works")),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-examples"},"Products"),/*#__PURE__*/React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-examples"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/pubsub"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Pub/Sub Channels"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Build infinitely scalable realtime applications."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/spaces"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Spaces (Beta)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Create multi-user collaborative environments."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/livesync"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"LiveSync (Alpha)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Seamlessly sync database changes with frontend clients at scale."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/chat"),className:"group ui-meganav-media"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Chat (Beta)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale."))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-products-panel-list-our-technology"},"Technology"),/*#__PURE__*/React.createElement("ul",{className:"mb-16","aria-labelledby":"meganav-products-panel-list-our-technology"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#performance"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Predictable performance"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"A low-latency and high-throughput global network."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#integrity"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Guaranteed ordering & delivery"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Data is delivered - in order - even after disconnections."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#reliability"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Fault tolerant infrastructure"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Redundancy is built in at global and regional levels."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/four-pillars-of-dependability#availability"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"High scalability & availability"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Built for scale with legitimate 99.999% uptime SLAs."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/network"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Global edge network"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"An edge network of 15 core routing datacenters and 205+ PoPs.")))),/*#__PURE__*/React.createElement(FeaturedLink,{url:absUrl("/four-pillars-of-dependability"),textSize:"text-p3"},"Explore Four Pillars of Dependability"))),/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentProducts;
@@ -1 +1 @@
1
- import React from"react";import Icon from"./Icon";const MeganavContentUseCases=({absUrl})=>/*#__PURE__*/React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),/*#__PURE__*/React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-use-cases"},"Solutions"),/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry-use-cases"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/chat"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-chat-stack-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Live Chat"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/multiplayer-collaboration"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-multi-user-spaces-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer Collaboration"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Bring collaborative multiplayer experiences to your users.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/data-broadcast"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-data-broadcast-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Data Broadcast"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Broadcast realtime event data to millions of devices around the globe.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/data-synchronization"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-data-synchronization-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Data Synchronization"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Keep your frontend and backend in realtime sync, at global scale.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-push-notifications-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Notifications"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver cross-platform push notifications with a simple unified API.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-asset-tracking-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Asset Tracking (Beta)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Track assets in realtime with a solution optimised for last mile logistics.")))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-industry"},"Industry"),/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"EdTech"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver interactive learning experiences."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/fintech"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"FinTech"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver personalised financial data in realtime."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Automotive, Logistics, & Mobility"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Power diagnostics, order tracking and more."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"B2B Platforms"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Empower your customers with realtime solutions."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Healthcare (HIPAA)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Provide trustworthy, HIPAA-compliant realtime apps."))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-solutions",className:"mt-0 md:mt-40"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"eCommerce & Retail"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Enrich customer experiences with realtime updates."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Sports, Media & Fan Engagement"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver engaging global realtime experiences."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Gaming"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Power ultra fast and reliable gaming experiences."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"IoT & Connected Devices"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Monitor and control global IoT deployments in realtime.")))))),/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentUseCases;
1
+ import React from"react";import Icon from"./Icon";const MeganavContentUseCases=({absUrl})=>/*#__PURE__*/React.createElement("div",{className:"flex max-w-screen-xl mx-auto"},/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer bg-extra-light-grey"}),/*#__PURE__*/React.createElement("section",{className:"grid grid-cols-12 ui-grid-gap-x w-full"},/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-use-cases"},"Solutions"),/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry-use-cases"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/chat"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-chat-stack-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Live Chat"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver highly reliable chat experiences at scale.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/multiplayer-collaboration"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-multi-user-spaces-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Multiplayer Collaboration"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Bring collaborative multiplayer experiences to your users.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/data-broadcast"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-data-broadcast-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Data Broadcast"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Broadcast realtime event data to millions of devices around the globe.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/data-synchronization"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-data-synchronization-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Data Synchronization"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Keep your frontend and backend in realtime sync, at global scale.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/push-notifications"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-push-notifications-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Notifications"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver cross-platform push notifications with a simple unified API.")))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/asset-tracking"),className:"ui-meganav-media-with-image group"},/*#__PURE__*/React.createElement(Icon,{name:"icon-display-asset-tracking-col",size:"2.5rem"}),/*#__PURE__*/React.createElement("div",{className:"flex flex-col justify-center"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Asset Tracking (Beta)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Track assets in realtime with a solution optimised for last mile logistics.")))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("h3",{className:"ui-meganav-overline",id:"meganav-use-cases-panel-industry"},"Industry"),/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-industry"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/edtech"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"EdTech"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver interactive learning experiences."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/fintech"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"FinTech"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver personalised financial data in realtime."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/automotive-logistics-and-mobility"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Automotive, Logistics, & Mobility"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Power diagnostics, order tracking and more."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/b2b-platforms"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"B2B Platforms"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Empower your customers with realtime solutions."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/healthcare"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Healthcare (HIPAA)"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Provide trustworthy, HIPAA-compliant realtime apps."))))),/*#__PURE__*/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"},/*#__PURE__*/React.createElement("ul",{"aria-labelledby":"meganav-use-cases-panel-solutions",className:"mt-0 md:mt-40"},/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/ecommerce-and-retail"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"eCommerce & Retail"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Enrich customer experiences with realtime updates."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/sports-and-media"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Sports, Media & Fan Engagement"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Deliver engaging global realtime experiences."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/gaming"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"Gaming"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Power ultra fast and reliable gaming experiences."))),/*#__PURE__*/React.createElement("li",null,/*#__PURE__*/React.createElement("a",{href:absUrl("/solutions/iot-and-connected-devices"),className:"ui-meganav-media group"},/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-heading"},"IoT & Connected Devices"),/*#__PURE__*/React.createElement("p",{className:"ui-meganav-media-copy"},"Monitor and control global IoT deployments in realtime.")))))),/*#__PURE__*/React.createElement("div",{className:"ui-meganav-content-spacer"}));export default MeganavContentUseCases;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ably/ui",
3
- "version": "14.3.3",
3
+ "version": "14.4.0-dev.0545d43",
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",
@@ -11,30 +11,36 @@
11
11
  "core",
12
12
  "reset",
13
13
  "tailwind.config.js",
14
- "tailwind.extend.js"
14
+ "tailwind.extend.js",
15
+ "types"
15
16
  ],
17
+ "types": "types",
16
18
  "devDependencies": {
17
19
  "@storybook/addon-a11y": "^8.2.9",
18
20
  "@storybook/addon-essentials": "^8.2.9",
19
21
  "@storybook/addon-interactions": "^8.2.9",
20
22
  "@storybook/addon-links": "^8.2.9",
21
23
  "@storybook/blocks": "^8.2.9",
22
- "@storybook/react-vite": "^8.2.9",
23
24
  "@storybook/react": "^8.2.9",
24
- "@storybook/test-runner": "^0.19.1",
25
+ "@storybook/react-vite": "^8.2.9",
25
26
  "@storybook/test": "^8.2.9",
27
+ "@storybook/test-runner": "^0.19.1",
26
28
  "@swc/cli": "^0.4.0",
27
29
  "@swc/core": "^1.4.11",
30
+ "@types/dompurify": "^3.0.5",
31
+ "@types/js-cookie": "^3.0.6",
32
+ "@types/lodash.throttle": "^4.1.9",
28
33
  "@typescript-eslint/eslint-plugin": "^7.0.0",
29
34
  "@typescript-eslint/parser": "^6.21.0",
30
35
  "@vitejs/plugin-react": "^4.2.1",
31
36
  "autoprefixer": "^10.0.2",
37
+ "eslint": "^8.57.0",
32
38
  "eslint-config-prettier": "^9.1.0",
33
39
  "eslint-plugin-react": "^7.34.3",
34
40
  "eslint-plugin-storybook": "^0.8.0",
35
- "eslint": "^8.57.0",
36
- "msw-storybook-addon": "^2.0.2",
41
+ "http-server": "14.1.1",
37
42
  "msw": "2.3.5",
43
+ "msw-storybook-addon": "^2.0.2",
38
44
  "prettier": "^3.2.5",
39
45
  "storybook": "^8.2.9",
40
46
  "svg-sprite": "^2.0.4",
@@ -44,9 +50,9 @@
44
50
  },
45
51
  "scripts": {
46
52
  "build:prebuild": "rm -rf core reset",
47
- "build:swc": "swc src/core src/reset -d dist --quiet --copy-files --include-dotfiles --strip-leading-paths --config-file .swc --ignore **/*.stories.tsx,**/*.snap" ,
53
+ "build:swc": "swc src/core src/reset -d dist --copy-files --include-dotfiles --strip-leading-paths --config-file .swc --ignore **/*.stories.tsx,**/*.snap",
48
54
  "build:cleanup": "mv dist/* . && rm -r dist",
49
- "build": "yarn build:prebuild && yarn build:swc && node sprites.js && yarn build:cleanup",
55
+ "build": "yarn build:prebuild && yarn build:swc && node sprites.js && yarn tsc && yarn build:cleanup",
50
56
  "watch": "yarn build:swc -w",
51
57
  "format:check": "prettier -c *.{js,ts} src/**/*.{js,ts,tsx}",
52
58
  "format:write": "prettier -w *.{js,ts} src/**/*.{js,ts,tsx}",
@@ -57,9 +63,8 @@
57
63
  "start": "vite --port 5000",
58
64
  "storybook": "yarn build && storybook dev -p 6006",
59
65
  "build-storybook": "yarn build && storybook build --quiet -o preview",
60
- "test": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && npx http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook --url http://127.0.0.1:6007\"",
61
- "test:update-snapshots": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && npx http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook -u --url http://127.0.0.1:6007\""
62
-
66
+ "test": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && yarn http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook --url http://127.0.0.1:6007\"",
67
+ "test:update-snapshots": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook && yarn http-server preview --port 6007 --silent\" \"wait-on tcp:6007 && yarn test-storybook -u --url http://127.0.0.1:6007\""
63
68
  },
64
69
  "dependencies": {
65
70
  "addsearch-js-client": "^0.8.11",
@@ -69,8 +74,8 @@
69
74
  "highlightjs-curl": "^1.3.0",
70
75
  "js-cookie": "^3.0.5",
71
76
  "lodash.throttle": "^4.1.1",
72
- "react-dom": "^18.2.0",
73
77
  "react": "^18.2.0",
78
+ "react-dom": "^18.2.0",
74
79
  "redux": "^4.0.5",
75
80
  "scroll-lock": "^2.1.4"
76
81
  },
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from "react";
2
+ type AccordionData = {
3
+ name: string;
4
+ content: ReactNode;
5
+ };
6
+ export type AccordionProps = {
7
+ data: AccordionData[];
8
+ arrowIcon?: boolean;
9
+ topBorder?: boolean;
10
+ bottomBorder?: boolean;
11
+ id?: string;
12
+ autoClose?: boolean;
13
+ className?: string;
14
+ };
15
+ declare const Accordion: ({ data, id, topBorder, bottomBorder, arrowIcon, autoClose, className, }: AccordionProps) => import("react/jsx-runtime").JSX.Element;
16
+ export default Accordion;
17
+ //# sourceMappingURL=Accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/core/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAY,SAAS,EAAO,MAAM,OAAO,CAAC;AAGxD,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAcF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAwEF,QAAA,MAAM,SAAS,4EAQZ,cAAc,4CAsChB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,10 @@
1
+ type CodeProps = {
2
+ language: string;
3
+ snippet: string;
4
+ textSize?: string;
5
+ padding?: string;
6
+ additionalCSS?: string;
7
+ };
8
+ declare const Code: ({ language, snippet, textSize, padding, additionalCSS, }: CodeProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default Code;
10
+ //# sourceMappingURL=Code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../src/core/Code.tsx"],"names":[],"mappings":"AAUA,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,IAAI,6DAMP,SAAS,4CAiBX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const ConnectStateWrapper: (Component: any, selectors: any) => (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export default ConnectStateWrapper;
3
+ //# sourceMappingURL=ConnectStateWrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectStateWrapper.d.ts","sourceRoot":"","sources":["../../src/core/ConnectStateWrapper.tsx"],"names":[],"mappings":"AAeA,QAAA,MAAM,mBAAmB,cAAe,GAAG,aAAa,GAAG,aAyBxB,GAAG,4CAGrC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ type ContactFooterProps = {
2
+ urlBase: string;
3
+ };
4
+ declare const ContactFooter: ({ urlBase }: ContactFooterProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default ContactFooter;
6
+ //# sourceMappingURL=ContactFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactFooter.d.ts","sourceRoot":"","sources":["../../src/core/ContactFooter.tsx"],"names":[],"mappings":"AAMA,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,aAAa,gBAAiB,kBAAkB,4CA8ErD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ type CookieMessageProps = {
2
+ cookieId: string;
3
+ urlBase: string;
4
+ };
5
+ declare const CookieMessage: ({ cookieId, urlBase }: CookieMessageProps) => import("react/jsx-runtime").JSX.Element | null;
6
+ export default CookieMessage;
7
+ //# sourceMappingURL=CookieMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieMessage.d.ts","sourceRoot":"","sources":["../../src/core/CookieMessage.tsx"],"names":[],"mappings":"AAOA,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,aAAa,0BAA2B,kBAAkB,mDAqC/D,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ type CompanyEntity = {
2
+ label: string;
3
+ logo: string;
4
+ };
5
+ type CustomerLogosProps = {
6
+ companies: CompanyEntity[];
7
+ additionalCss?: string;
8
+ };
9
+ declare const CustomerLogos: ({ companies, additionalCss, }: CustomerLogosProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default CustomerLogos;
11
+ //# sourceMappingURL=CustomerLogos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomerLogos.d.ts","sourceRoot":"","sources":["../../src/core/CustomerLogos.tsx"],"names":[],"mappings":"AAEA,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,aAAa,kCAGhB,kBAAkB,4CAiBpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { ReactNode } from "react";
2
+ type DropdownMenuProps = {
3
+ children: ReactNode;
4
+ };
5
+ type TriggerProps = {
6
+ children: ReactNode;
7
+ additionalTriggerCSS?: string;
8
+ };
9
+ type ContentProps = {
10
+ children: ReactNode;
11
+ anchorPosition?: string;
12
+ additionalContentCSS?: string;
13
+ };
14
+ type LinkProps = {
15
+ url: string;
16
+ title: string;
17
+ subtitle: string;
18
+ iconName: string;
19
+ children: ReactNode;
20
+ };
21
+ declare const DropdownMenu: {
22
+ ({ children }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
23
+ Trigger: ({ children, additionalTriggerCSS }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
24
+ Content: ({ children, anchorPosition, additionalContentCSS, }: ContentProps) => import("react/jsx-runtime").JSX.Element | null;
25
+ Link: ({ url, title, subtitle, iconName, children }: LinkProps) => import("react/jsx-runtime").JSX.Element;
26
+ };
27
+ export default DropdownMenu;
28
+ //# sourceMappingURL=DropdownMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/core/DropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAMZ,SAAS,EAEV,MAAM,OAAO,CAAC;AAWf,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,YAAY;mBAAkB,iBAAiB;kDA0BK,YAAY;mEAwBnE,YAAY;yDAqB6C,SAAS;CA/CpE,CAAC;AAyEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { PropsWithChildren } from "react";
2
+ type ExpanderProps = {
3
+ heightThreshold?: number;
4
+ className?: string;
5
+ fadeClassName?: string;
6
+ controlsClassName?: string;
7
+ controlsOpenedLabel?: string;
8
+ controlsClosedLabel?: string;
9
+ };
10
+ declare const Expander: ({ heightThreshold, className, fadeClassName, controlsClassName, controlsOpenedLabel, controlsClosedLabel, children, }: PropsWithChildren<ExpanderProps>) => import("react/jsx-runtime").JSX.Element;
11
+ export default Expander;
12
+ //# sourceMappingURL=Expander.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Expander.d.ts","sourceRoot":"","sources":["../../src/core/Expander.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAA+B,MAAM,OAAO,CAAC;AAG9E,KAAK,aAAa,GAAG;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,QAAQ,0HAQX,iBAAiB,CAAC,aAAa,CAAC,4CAmElC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from "react";
2
+ type FeaturedLinkProps = {
3
+ url: string;
4
+ children: ReactNode;
5
+ textSize?: string;
6
+ iconColor?: string;
7
+ flush?: boolean;
8
+ reverse?: boolean;
9
+ additionalCSS?: string;
10
+ newWindow?: boolean;
11
+ onClick?: () => void;
12
+ };
13
+ declare const FeaturedLink: ({ url, textSize, iconColor, flush, reverse, additionalCSS, newWindow, onClick, children, }: FeaturedLinkProps) => import("react/jsx-runtime").JSX.Element;
14
+ export default FeaturedLink;
15
+ //# sourceMappingURL=FeaturedLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeaturedLink.d.ts","sourceRoot":"","sources":["../../src/core/FeaturedLink.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAIxD,KAAK,iBAAiB,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAuBF,QAAA,MAAM,YAAY,+FAUf,iBAAiB,4CA2CnB,CAAC;AAEF,eAAe,YAAY,CAAC"}