@ably/ui 14.3.4 → 14.4.0-dev.1b6b1db
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.
- package/core/.DS_Store +0 -0
- package/core/Accordion/.DS_Store +0 -0
- package/core/Code/.DS_Store +0 -0
- package/core/ContactFooter/.DS_Store +0 -0
- package/core/CookieMessage/.DS_Store +0 -0
- package/core/CustomerLogos/.DS_Store +0 -0
- package/core/DropdownMenu/.DS_Store +0 -0
- package/core/FeaturedLink/.DS_Store +0 -0
- package/core/Flash/.DS_Store +0 -0
- package/core/Flash.js +1 -1
- package/core/Footer/.DS_Store +0 -0
- package/core/Icon/.DS_Store +0 -0
- package/core/Loader/.DS_Store +0 -0
- package/core/Logo/.DS_Store +0 -0
- package/core/Meganav/.DS_Store +0 -0
- package/core/Meganav/component.js +1 -1
- package/core/MeganavBlogPostsList/.DS_Store +0 -0
- package/core/MeganavContentCompany.js +1 -1
- package/core/MeganavContentProducts.js +1 -1
- package/core/MeganavControl/.DS_Store +0 -0
- package/core/MeganavControlMobileDropdown/.DS_Store +0 -0
- package/core/MeganavControlMobilePanelClose/.DS_Store +0 -0
- package/core/MeganavControlMobilePanelOpen/.DS_Store +0 -0
- package/core/MeganavSearchAutocomplete/.DS_Store +0 -0
- package/core/MeganavSearchSuggestions/.DS_Store +0 -0
- package/core/Notice/.DS_Store +0 -0
- package/core/Slider/.DS_Store +0 -0
- package/core/Table/.DS_Store +0 -0
- package/core/Tooltip/.DS_Store +0 -0
- package/core/hubspot-chat-toggle.js +1 -1
- package/core/icons/.DS_Store +0 -0
- package/index.d.ts +785 -0
- package/package.json +18 -12
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
|
|
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}
|
|
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())}
|
|
Binary file
|
|
@@ -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"}
|
|
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"}
|
|
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;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{queryId}from"./dom-query";function enableBtn(el,text){el.disabled=false;el.innerText=text}function disableBtn(el,text){el.disabled=true;el.innerText=text}const WAIT_BETWEEN_RETRIES_MS=100;let MAX_RETRY_COUNT=30;export default function toggleChatWidget(params
|
|
1
|
+
import{queryId}from"./dom-query";function enableBtn(el,text){el.disabled=false;el.innerText=text}function disableBtn(el,text){el.disabled=true;el.innerText=text}const WAIT_BETWEEN_RETRIES_MS=100;let MAX_RETRY_COUNT=30;export default function toggleChatWidget(params){const{dataId}=params??{};const container=queryId(dataId);const chatButton=queryId("open-chat-widget",container);const textEnabled=chatButton.dataset.enabledLabel;const textDisabled=chatButton.dataset.disabledLabel;if(!dataId||!container)return;const trigger=queryId("open-chat-widget",container);let clickHandler;const waitForScript=delay=>{const widget=window?.HubSpotConversations?.widget;const iframe=document.querySelector("#hubspot-messages-iframe-container");clickHandler=e=>{e.preventDefault();widget.open()};if(widget&&iframe){trigger.addEventListener("click",clickHandler);enableBtn(trigger,textEnabled)}else if(--MAX_RETRY_COUNT){setTimeout(()=>waitForScript(WAIT_BETWEEN_RETRIES_MS),delay)}};disableBtn(trigger,textDisabled);waitForScript(0);return()=>{disableBtn(trigger,textDisabled);trigger.removeEventListener("click",clickHandler)}}
|
|
Binary file
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,785 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
|
|
3
|
+
declare module '@ably/ui/core/Accordion' {
|
|
4
|
+
import { ReactNode } from "react";
|
|
5
|
+
type AccordionData = {
|
|
6
|
+
name: string;
|
|
7
|
+
content: ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export type AccordionProps = {
|
|
10
|
+
data: AccordionData[];
|
|
11
|
+
arrowIcon?: boolean;
|
|
12
|
+
topBorder?: boolean;
|
|
13
|
+
bottomBorder?: boolean;
|
|
14
|
+
id?: string;
|
|
15
|
+
autoClose?: boolean;
|
|
16
|
+
className?: string;
|
|
17
|
+
};
|
|
18
|
+
const Accordion: ({ data, id, topBorder, bottomBorder, arrowIcon, autoClose, className, }: AccordionProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default Accordion;
|
|
20
|
+
//# sourceMappingURL=Accordion.d.ts.map
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare module '@ably/ui/core/Code' {
|
|
24
|
+
type CodeProps = {
|
|
25
|
+
language: string;
|
|
26
|
+
snippet: string;
|
|
27
|
+
textSize?: string;
|
|
28
|
+
padding?: string;
|
|
29
|
+
additionalCSS?: string;
|
|
30
|
+
};
|
|
31
|
+
const Code: ({ language, snippet, textSize, padding, additionalCSS, }: CodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export default Code;
|
|
33
|
+
//# sourceMappingURL=Code.d.ts.map
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare module '@ably/ui/core/ConnectStateWrapper' {
|
|
37
|
+
const ConnectStateWrapper: (Component: any, selectors: any) => (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export default ConnectStateWrapper;
|
|
39
|
+
//# sourceMappingURL=ConnectStateWrapper.d.ts.map
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare module '@ably/ui/core/ContactFooter' {
|
|
43
|
+
type ContactFooterProps = {
|
|
44
|
+
urlBase: string;
|
|
45
|
+
};
|
|
46
|
+
const ContactFooter: ({ urlBase }: ContactFooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export default ContactFooter;
|
|
48
|
+
//# sourceMappingURL=ContactFooter.d.ts.map
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
declare module '@ably/ui/core/CookieMessage' {
|
|
52
|
+
type CookieMessageProps = {
|
|
53
|
+
cookieId: string;
|
|
54
|
+
urlBase: string;
|
|
55
|
+
};
|
|
56
|
+
const CookieMessage: ({ cookieId, urlBase }: CookieMessageProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
57
|
+
export default CookieMessage;
|
|
58
|
+
//# sourceMappingURL=CookieMessage.d.ts.map
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare module '@ably/ui/core/CustomerLogos' {
|
|
62
|
+
type CompanyEntity = {
|
|
63
|
+
label: string;
|
|
64
|
+
logo: string;
|
|
65
|
+
};
|
|
66
|
+
type CustomerLogosProps = {
|
|
67
|
+
companies: CompanyEntity[];
|
|
68
|
+
additionalCss?: string;
|
|
69
|
+
};
|
|
70
|
+
const CustomerLogos: ({ companies, additionalCss, }: CustomerLogosProps) => import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
export default CustomerLogos;
|
|
72
|
+
//# sourceMappingURL=CustomerLogos.d.ts.map
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
declare module '@ably/ui/core/DropdownMenu' {
|
|
76
|
+
import { ReactNode } from "react";
|
|
77
|
+
type DropdownMenuProps = {
|
|
78
|
+
children: ReactNode;
|
|
79
|
+
};
|
|
80
|
+
type TriggerProps = {
|
|
81
|
+
children: ReactNode;
|
|
82
|
+
additionalTriggerCSS?: string;
|
|
83
|
+
};
|
|
84
|
+
type ContentProps = {
|
|
85
|
+
children: ReactNode;
|
|
86
|
+
anchorPosition?: string;
|
|
87
|
+
additionalContentCSS?: string;
|
|
88
|
+
};
|
|
89
|
+
type LinkProps = {
|
|
90
|
+
url: string;
|
|
91
|
+
title: string;
|
|
92
|
+
subtitle: string;
|
|
93
|
+
iconName: string;
|
|
94
|
+
children: ReactNode;
|
|
95
|
+
};
|
|
96
|
+
const DropdownMenu: {
|
|
97
|
+
({ children }: DropdownMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
98
|
+
Trigger: ({ children, additionalTriggerCSS }: TriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
99
|
+
Content: ({ children, anchorPosition, additionalContentCSS, }: ContentProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
100
|
+
Link: ({ url, title, subtitle, iconName, children }: LinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
};
|
|
102
|
+
export default DropdownMenu;
|
|
103
|
+
//# sourceMappingURL=DropdownMenu.d.ts.map
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
declare module '@ably/ui/core/Expander' {
|
|
107
|
+
import { PropsWithChildren } from "react";
|
|
108
|
+
type ExpanderProps = {
|
|
109
|
+
heightThreshold?: number;
|
|
110
|
+
className?: string;
|
|
111
|
+
fadeClassName?: string;
|
|
112
|
+
controlsClassName?: string;
|
|
113
|
+
controlsOpenedLabel?: string;
|
|
114
|
+
controlsClosedLabel?: string;
|
|
115
|
+
};
|
|
116
|
+
const Expander: ({ heightThreshold, className, fadeClassName, controlsClassName, controlsOpenedLabel, controlsClosedLabel, children, }: PropsWithChildren<ExpanderProps>) => import("react/jsx-runtime").JSX.Element;
|
|
117
|
+
export default Expander;
|
|
118
|
+
//# sourceMappingURL=Expander.d.ts.map
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
declare module '@ably/ui/core/FeaturedLink' {
|
|
122
|
+
import { ReactNode } from "react";
|
|
123
|
+
type FeaturedLinkProps = {
|
|
124
|
+
url: string;
|
|
125
|
+
children: ReactNode;
|
|
126
|
+
textSize?: string;
|
|
127
|
+
iconColor?: string;
|
|
128
|
+
flush?: boolean;
|
|
129
|
+
reverse?: boolean;
|
|
130
|
+
additionalCSS?: string;
|
|
131
|
+
newWindow?: boolean;
|
|
132
|
+
onClick?: () => void;
|
|
133
|
+
};
|
|
134
|
+
const FeaturedLink: ({ url, textSize, iconColor, flush, reverse, additionalCSS, newWindow, onClick, children, }: FeaturedLinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
135
|
+
export default FeaturedLink;
|
|
136
|
+
//# sourceMappingURL=FeaturedLink.d.ts.map
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
declare module '@ably/ui/core/Flash' {
|
|
140
|
+
type FlashPropsType = "error" | "success" | "notice" | "info" | "alert";
|
|
141
|
+
type FlashProps = {
|
|
142
|
+
id: string;
|
|
143
|
+
removed: boolean;
|
|
144
|
+
type: FlashPropsType;
|
|
145
|
+
content: string;
|
|
146
|
+
removeFlash: (id: string) => void;
|
|
147
|
+
};
|
|
148
|
+
type FlashesProps = {
|
|
149
|
+
flashes: {
|
|
150
|
+
items: FlashProps[];
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
type BackendFlashesProps = {
|
|
154
|
+
flashes: string[][];
|
|
155
|
+
};
|
|
156
|
+
const FLASH_DATA_ID = "ui-flashes";
|
|
157
|
+
const reducerFlashes: {
|
|
158
|
+
flashes: (state: {
|
|
159
|
+
items: FlashProps[];
|
|
160
|
+
} | undefined, action: {
|
|
161
|
+
type: string;
|
|
162
|
+
payload: FlashProps | FlashProps[];
|
|
163
|
+
}) => {
|
|
164
|
+
items: FlashProps[];
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
const Flashes: ({ flashes }: FlashesProps) => import("react/jsx-runtime").JSX.Element;
|
|
168
|
+
const BackendFlashes: ({ flashes }: BackendFlashesProps) => import("react/jsx-runtime").JSX.Element;
|
|
169
|
+
export { reducerFlashes, FLASH_DATA_ID, Flashes };
|
|
170
|
+
export default BackendFlashes;
|
|
171
|
+
//# sourceMappingURL=Flash.d.ts.map
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
declare module '@ably/ui/core/Footer' {
|
|
175
|
+
type FooterProps = {
|
|
176
|
+
paths: {
|
|
177
|
+
ablyStack: string;
|
|
178
|
+
highestPerformer: string;
|
|
179
|
+
highestUserAdoption: string;
|
|
180
|
+
bestSupport: string;
|
|
181
|
+
fastestImplementation: string;
|
|
182
|
+
};
|
|
183
|
+
urlBase: string;
|
|
184
|
+
statusUrl: string;
|
|
185
|
+
};
|
|
186
|
+
const Footer: ({ paths, urlBase, statusUrl }: FooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
187
|
+
export default Footer;
|
|
188
|
+
//# sourceMappingURL=Footer.d.ts.map
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
declare module '@ably/ui/core/Icon' {
|
|
192
|
+
type IconProps = {
|
|
193
|
+
name: string;
|
|
194
|
+
size?: string;
|
|
195
|
+
color?: string;
|
|
196
|
+
additionalCSS?: string;
|
|
197
|
+
};
|
|
198
|
+
const Icon: ({ name, size, color, additionalCSS, ...additionalAttributes }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
199
|
+
export default Icon;
|
|
200
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
declare module '@ably/ui/core/Loader' {
|
|
204
|
+
type LoaderProps = {
|
|
205
|
+
size?: string;
|
|
206
|
+
ringColor?: string;
|
|
207
|
+
additionalCSS?: string;
|
|
208
|
+
};
|
|
209
|
+
const Loader: ({ ringColor, size, additionalCSS, }: LoaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
210
|
+
export default Loader;
|
|
211
|
+
//# sourceMappingURL=Loader.d.ts.map
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
declare module '@ably/ui/core/Logo' {
|
|
215
|
+
import React from "react";
|
|
216
|
+
type LogoProps = {
|
|
217
|
+
dataId: string;
|
|
218
|
+
logoUrl: string;
|
|
219
|
+
href?: string;
|
|
220
|
+
additionalImgAttrs?: object;
|
|
221
|
+
additionalLinkAttrs?: object;
|
|
222
|
+
};
|
|
223
|
+
const _default: React.MemoExoticComponent<({ dataId, logoUrl, href, additionalImgAttrs, additionalLinkAttrs, }: LogoProps) => import("react/jsx-runtime").JSX.Element>;
|
|
224
|
+
export default _default;
|
|
225
|
+
//# sourceMappingURL=Logo.d.ts.map
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
declare module '@ably/ui/core/Meganav/component' {
|
|
229
|
+
export default function Meganav({ themeName, addSearchApiKey }: {
|
|
230
|
+
themeName: any;
|
|
231
|
+
addSearchApiKey: any;
|
|
232
|
+
}): () => void;
|
|
233
|
+
//# sourceMappingURL=component.d.ts.map
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
declare module '@ably/ui/core/Meganav' {
|
|
237
|
+
import { ReactNode } from "react";
|
|
238
|
+
export type MeganavTheme = {
|
|
239
|
+
backgroundColor?: string;
|
|
240
|
+
textColor?: string;
|
|
241
|
+
buttonBackgroundColor?: string;
|
|
242
|
+
buttonTextColor?: string;
|
|
243
|
+
mobileMenuColor?: string;
|
|
244
|
+
logoTextColor?: string;
|
|
245
|
+
barShadow?: string;
|
|
246
|
+
};
|
|
247
|
+
export type AbsUrl = (path: string) => string;
|
|
248
|
+
export type MeganavPaths = {
|
|
249
|
+
logo: string;
|
|
250
|
+
iconSprites: string;
|
|
251
|
+
ablyStack: string;
|
|
252
|
+
blogThumb1: string;
|
|
253
|
+
blogThumb2: string;
|
|
254
|
+
blogThumb3: string;
|
|
255
|
+
awsLogo?: string;
|
|
256
|
+
};
|
|
257
|
+
export type MeganavPanels = {
|
|
258
|
+
[index: string]: ({ paths, absUrl, statusUrl, }: {
|
|
259
|
+
paths?: MeganavPaths;
|
|
260
|
+
absUrl: (path: string) => string;
|
|
261
|
+
statusUrl: string;
|
|
262
|
+
}) => ReactNode;
|
|
263
|
+
};
|
|
264
|
+
export type MeganavSessionState = {
|
|
265
|
+
signedIn: boolean;
|
|
266
|
+
logOut: {
|
|
267
|
+
token: string;
|
|
268
|
+
href: string;
|
|
269
|
+
text: string;
|
|
270
|
+
};
|
|
271
|
+
accountName: string;
|
|
272
|
+
preferredEmail: string;
|
|
273
|
+
account: {
|
|
274
|
+
links: {
|
|
275
|
+
dashboard: {
|
|
276
|
+
href: string;
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
};
|
|
280
|
+
mySettings: {
|
|
281
|
+
text: string;
|
|
282
|
+
href: string;
|
|
283
|
+
};
|
|
284
|
+
myAccessTokens: {
|
|
285
|
+
text: string;
|
|
286
|
+
href: string;
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
type MeganavProps = {
|
|
290
|
+
paths?: MeganavPaths;
|
|
291
|
+
themeName: "white" | "black" | "transparentToWhite";
|
|
292
|
+
notice?: {
|
|
293
|
+
props: {
|
|
294
|
+
title: string;
|
|
295
|
+
bodyText: string;
|
|
296
|
+
buttonLink: string;
|
|
297
|
+
buttonLabel: string;
|
|
298
|
+
closeBtn: boolean;
|
|
299
|
+
};
|
|
300
|
+
config: {
|
|
301
|
+
cookieId: string;
|
|
302
|
+
noticeId: string;
|
|
303
|
+
collapse: boolean;
|
|
304
|
+
};
|
|
305
|
+
};
|
|
306
|
+
loginLink?: string;
|
|
307
|
+
urlBase?: string;
|
|
308
|
+
addSearchApiKey: string;
|
|
309
|
+
statusUrl: string;
|
|
310
|
+
};
|
|
311
|
+
const Meganav: ({ paths, themeName, notice, loginLink, urlBase, addSearchApiKey, statusUrl, }: MeganavProps) => import("react/jsx-runtime").JSX.Element;
|
|
312
|
+
export default Meganav;
|
|
313
|
+
//# sourceMappingURL=Meganav.d.ts.map
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
declare module '@ably/ui/core/MeganavBlogPostsList' {
|
|
317
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
318
|
+
type MeganavBlogPostsListProps = {
|
|
319
|
+
recentBlogPosts: {
|
|
320
|
+
link: string;
|
|
321
|
+
title: string;
|
|
322
|
+
pubDate: string;
|
|
323
|
+
}[];
|
|
324
|
+
absUrl: AbsUrl;
|
|
325
|
+
};
|
|
326
|
+
const MeganavBlogPostsList: ({ recentBlogPosts, absUrl, }: MeganavBlogPostsListProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
327
|
+
export default MeganavBlogPostsList;
|
|
328
|
+
//# sourceMappingURL=MeganavBlogPostsList.d.ts.map
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
declare module '@ably/ui/core/MeganavContentCompany' {
|
|
332
|
+
import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
|
|
333
|
+
type MeganavContentCompanyProps = {
|
|
334
|
+
absUrl: AbsUrl;
|
|
335
|
+
paths?: MeganavPaths;
|
|
336
|
+
};
|
|
337
|
+
const MeganavContentCompany: ({ paths, absUrl, }: MeganavContentCompanyProps) => import("react/jsx-runtime").JSX.Element;
|
|
338
|
+
export default MeganavContentCompany;
|
|
339
|
+
//# sourceMappingURL=MeganavContentCompany.d.ts.map
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
declare module '@ably/ui/core/MeganavContentDevelopers' {
|
|
343
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
344
|
+
const MeganavContentDevelopers: ({ absUrl, statusUrl, }: {
|
|
345
|
+
absUrl: AbsUrl;
|
|
346
|
+
statusUrl: string;
|
|
347
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
348
|
+
export default MeganavContentDevelopers;
|
|
349
|
+
//# sourceMappingURL=MeganavContentDevelopers.d.ts.map
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
declare module '@ably/ui/core/MeganavContentProducts' {
|
|
353
|
+
import { AbsUrl, MeganavPaths } from "@ably/ui/core/Meganav";
|
|
354
|
+
type MeganavContentProductsProps = {
|
|
355
|
+
paths?: MeganavPaths;
|
|
356
|
+
absUrl: AbsUrl;
|
|
357
|
+
};
|
|
358
|
+
const MeganavContentProducts: ({ paths, absUrl, }: MeganavContentProductsProps) => import("react/jsx-runtime").JSX.Element;
|
|
359
|
+
export default MeganavContentProducts;
|
|
360
|
+
//# sourceMappingURL=MeganavContentProducts.d.ts.map
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
declare module '@ably/ui/core/MeganavContentUseCases' {
|
|
364
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
365
|
+
const MeganavContentUseCases: ({ absUrl }: {
|
|
366
|
+
absUrl: AbsUrl;
|
|
367
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
368
|
+
export default MeganavContentUseCases;
|
|
369
|
+
//# sourceMappingURL=MeganavContentUseCases.d.ts.map
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
declare module '@ably/ui/core/MeganavControl/component' {
|
|
373
|
+
export default MeganavControl;
|
|
374
|
+
function MeganavControl(): {
|
|
375
|
+
teardown: () => void;
|
|
376
|
+
clear: () => void;
|
|
377
|
+
}[];
|
|
378
|
+
//# sourceMappingURL=component.d.ts.map
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
declare module '@ably/ui/core/MeganavControl' {
|
|
382
|
+
import { ReactNode } from "react";
|
|
383
|
+
import { MeganavTheme } from "@ably/ui/core/Meganav";
|
|
384
|
+
type MeganavControlProps = {
|
|
385
|
+
ariaControls: string;
|
|
386
|
+
ariaLabel: string;
|
|
387
|
+
children: ReactNode;
|
|
388
|
+
theme: MeganavTheme;
|
|
389
|
+
additionalCSS?: string;
|
|
390
|
+
};
|
|
391
|
+
const MeganavControl: ({ ariaControls, ariaLabel, children, theme, additionalCSS, }: MeganavControlProps) => import("react/jsx-runtime").JSX.Element;
|
|
392
|
+
export default MeganavControl;
|
|
393
|
+
//# sourceMappingURL=MeganavControl.d.ts.map
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
declare module '@ably/ui/core/MeganavControlMobileDropdown/component' {
|
|
397
|
+
export default MeganavControlMobileDropdown;
|
|
398
|
+
function MeganavControlMobileDropdown({ clearPanels }: {
|
|
399
|
+
clearPanels: any;
|
|
400
|
+
}): {
|
|
401
|
+
teardown: () => void;
|
|
402
|
+
clear: () => void;
|
|
403
|
+
};
|
|
404
|
+
//# sourceMappingURL=component.d.ts.map
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
declare module '@ably/ui/core/MeganavControlMobileDropdown' {
|
|
408
|
+
import { MeganavTheme } from "@ably/ui/core/Meganav";
|
|
409
|
+
const MeganavControlMobileDropdown: ({ theme }: {
|
|
410
|
+
theme: MeganavTheme;
|
|
411
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
412
|
+
export default MeganavControlMobileDropdown;
|
|
413
|
+
//# sourceMappingURL=MeganavControlMobileDropdown.d.ts.map
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
declare module '@ably/ui/core/MeganavControlMobilePanelClose/component' {
|
|
417
|
+
function _default(): {
|
|
418
|
+
teardown: () => void;
|
|
419
|
+
clear: () => void;
|
|
420
|
+
}[];
|
|
421
|
+
export default _default;
|
|
422
|
+
//# sourceMappingURL=component.d.ts.map
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
declare module '@ably/ui/core/MeganavControlMobilePanelClose' {
|
|
426
|
+
type MeganavControlMobilePanelCloseProps = {
|
|
427
|
+
ariaControls: string;
|
|
428
|
+
displayHr?: boolean;
|
|
429
|
+
};
|
|
430
|
+
const MeganavControlMobilePanelClose: ({ ariaControls, displayHr, }: MeganavControlMobilePanelCloseProps) => import("react/jsx-runtime").JSX.Element;
|
|
431
|
+
export default MeganavControlMobilePanelClose;
|
|
432
|
+
//# sourceMappingURL=MeganavControlMobilePanelClose.d.ts.map
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
declare module '@ably/ui/core/MeganavControlMobilePanelOpen/component' {
|
|
436
|
+
function _default(): {
|
|
437
|
+
teardown: () => void;
|
|
438
|
+
clear: () => void;
|
|
439
|
+
}[];
|
|
440
|
+
export default _default;
|
|
441
|
+
//# sourceMappingURL=component.d.ts.map
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
declare module '@ably/ui/core/MeganavControlMobilePanelOpen' {
|
|
445
|
+
import { ReactNode } from "react";
|
|
446
|
+
type MeganavControlMobilePanelOpenProps = {
|
|
447
|
+
ariaControls: string;
|
|
448
|
+
children: ReactNode;
|
|
449
|
+
};
|
|
450
|
+
const MeganavControlMobilePanelOpen: ({ ariaControls, children, }: MeganavControlMobilePanelOpenProps) => import("react/jsx-runtime").JSX.Element;
|
|
451
|
+
export default MeganavControlMobilePanelOpen;
|
|
452
|
+
//# sourceMappingURL=MeganavControlMobilePanelOpen.d.ts.map
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
declare module '@ably/ui/core/MeganavItemsDesktop' {
|
|
456
|
+
import React from "react";
|
|
457
|
+
import { AbsUrl, MeganavPanels, MeganavPaths, MeganavTheme } from "@ably/ui/core/Meganav";
|
|
458
|
+
type MeganavDesktopItems = {
|
|
459
|
+
panels: MeganavPanels;
|
|
460
|
+
paths?: MeganavPaths;
|
|
461
|
+
theme: MeganavTheme;
|
|
462
|
+
absUrl: AbsUrl;
|
|
463
|
+
statusUrl: string;
|
|
464
|
+
};
|
|
465
|
+
const MeganavDesktopItems: ({ panels, paths, theme, absUrl, statusUrl, }: MeganavDesktopItems) => import("react/jsx-runtime").JSX.Element;
|
|
466
|
+
const _default: React.MemoExoticComponent<({ panels, paths, theme, absUrl, statusUrl, }: MeganavDesktopItems) => import("react/jsx-runtime").JSX.Element>;
|
|
467
|
+
export default _default;
|
|
468
|
+
//# sourceMappingURL=MeganavItemsDesktop.d.ts.map
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
declare module '@ably/ui/core/MeganavItemsMobile' {
|
|
472
|
+
import React from "react";
|
|
473
|
+
import { AbsUrl, MeganavPanels, MeganavPaths, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
|
|
474
|
+
type MeganavItemsMobileProps = {
|
|
475
|
+
panels: MeganavPanels;
|
|
476
|
+
paths?: MeganavPaths;
|
|
477
|
+
sessionState?: MeganavSessionState;
|
|
478
|
+
theme: MeganavTheme;
|
|
479
|
+
loginLink: string;
|
|
480
|
+
absUrl: AbsUrl;
|
|
481
|
+
statusUrl: string;
|
|
482
|
+
};
|
|
483
|
+
const _default: React.MemoExoticComponent<({ panels, paths, sessionState, theme, loginLink, absUrl, statusUrl, }: MeganavItemsMobileProps) => import("react/jsx-runtime").JSX.Element>;
|
|
484
|
+
export default _default;
|
|
485
|
+
//# sourceMappingURL=MeganavItemsMobile.d.ts.map
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
declare module '@ably/ui/core/MeganavItemsSignedIn' {
|
|
489
|
+
import { AbsUrl, MeganavSessionState, MeganavTheme } from "@ably/ui/core/Meganav";
|
|
490
|
+
type MeganavItemsSignedIn = {
|
|
491
|
+
sessionState: MeganavSessionState;
|
|
492
|
+
theme: MeganavTheme;
|
|
493
|
+
absUrl: AbsUrl;
|
|
494
|
+
};
|
|
495
|
+
const MeganavItemsSignedIn: ({ sessionState, absUrl, }: MeganavItemsSignedIn) => import("react/jsx-runtime").JSX.Element;
|
|
496
|
+
export default MeganavItemsSignedIn;
|
|
497
|
+
//# sourceMappingURL=MeganavItemsSignedIn.d.ts.map
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
declare module '@ably/ui/core/MeganavSearch' {
|
|
501
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
502
|
+
const MeganavSearch: ({ absUrl }: {
|
|
503
|
+
absUrl: AbsUrl;
|
|
504
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
505
|
+
export default MeganavSearch;
|
|
506
|
+
//# sourceMappingURL=MeganavSearch.d.ts.map
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
declare module '@ably/ui/core/MeganavSearchAutocomplete/component' {
|
|
510
|
+
function _default(apiKey: any): {
|
|
511
|
+
teardown: () => void;
|
|
512
|
+
clear: () => void;
|
|
513
|
+
}[];
|
|
514
|
+
export default _default;
|
|
515
|
+
//# sourceMappingURL=component.d.ts.map
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
declare module '@ably/ui/core/MeganavSearchAutocomplete' {
|
|
519
|
+
const MeganavSearchAutocomplete: () => import("react/jsx-runtime").JSX.Element;
|
|
520
|
+
export default MeganavSearchAutocomplete;
|
|
521
|
+
//# sourceMappingURL=MeganavSearchAutocomplete.d.ts.map
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
declare module '@ably/ui/core/MeganavSearchPanel' {
|
|
525
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
526
|
+
const MeganavSearchPanel: ({ absUrl }: {
|
|
527
|
+
absUrl: AbsUrl;
|
|
528
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
529
|
+
export default MeganavSearchPanel;
|
|
530
|
+
//# sourceMappingURL=MeganavSearchPanel.d.ts.map
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
declare module '@ably/ui/core/MeganavSearchSuggestions/component' {
|
|
534
|
+
export default MeganavSearchSuggestions;
|
|
535
|
+
function MeganavSearchSuggestions(): {
|
|
536
|
+
teardown: () => void;
|
|
537
|
+
clear: () => void;
|
|
538
|
+
};
|
|
539
|
+
//# sourceMappingURL=component.d.ts.map
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
declare module '@ably/ui/core/MeganavSearchSuggestions' {
|
|
543
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
544
|
+
type MeganavSearchSuggestionsProps = {
|
|
545
|
+
absUrl: AbsUrl;
|
|
546
|
+
displaySupportLink: boolean;
|
|
547
|
+
};
|
|
548
|
+
const MeganavSearchSuggestions: ({ absUrl, displaySupportLink, }: MeganavSearchSuggestionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
549
|
+
export default MeganavSearchSuggestions;
|
|
550
|
+
//# sourceMappingURL=MeganavSearchSuggestions.d.ts.map
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
declare module '@ably/ui/core/Notice/component' {
|
|
554
|
+
export default Notice;
|
|
555
|
+
function Notice({ bannerContainer, cookieId, noticeId, options }: {
|
|
556
|
+
bannerContainer: any;
|
|
557
|
+
cookieId: any;
|
|
558
|
+
noticeId: any;
|
|
559
|
+
options: any;
|
|
560
|
+
}): () => void;
|
|
561
|
+
//# sourceMappingURL=component.d.ts.map
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
declare module '@ably/ui/core/Notice' {
|
|
565
|
+
type NoticeProps = {
|
|
566
|
+
buttonLink?: string;
|
|
567
|
+
buttonLabel?: string;
|
|
568
|
+
bodyText?: string;
|
|
569
|
+
title?: string;
|
|
570
|
+
closeBtn?: boolean;
|
|
571
|
+
config?: {
|
|
572
|
+
collapse: boolean;
|
|
573
|
+
noticeId: string;
|
|
574
|
+
cookieId: string;
|
|
575
|
+
};
|
|
576
|
+
bgColor?: string;
|
|
577
|
+
textColor?: string;
|
|
578
|
+
bannerContainer?: Element | null;
|
|
579
|
+
cookieId?: string;
|
|
580
|
+
noticeId?: string;
|
|
581
|
+
options?: {
|
|
582
|
+
collapse: boolean;
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
const Notice: ({ buttonLink, buttonLabel, bodyText, title, config, closeBtn, bgColor, textColor, }: NoticeProps) => import("react/jsx-runtime").JSX.Element;
|
|
586
|
+
export default Notice;
|
|
587
|
+
//# sourceMappingURL=Notice.d.ts.map
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
declare module '@ably/ui/core/SignOutLink' {
|
|
591
|
+
import { MouseEventHandler, ReactNode } from "react";
|
|
592
|
+
import { AbsUrl } from "@ably/ui/core/Meganav";
|
|
593
|
+
type SignOutLinkProps = {
|
|
594
|
+
token: string;
|
|
595
|
+
href: string;
|
|
596
|
+
text: string;
|
|
597
|
+
children: ({ href, text, onClick, }: {
|
|
598
|
+
href: string;
|
|
599
|
+
text: string;
|
|
600
|
+
onClick: MouseEventHandler<HTMLAnchorElement>;
|
|
601
|
+
}) => ReactNode;
|
|
602
|
+
absUrl: AbsUrl;
|
|
603
|
+
};
|
|
604
|
+
const SignOutLink: ({ token, href, text, children, absUrl, }: SignOutLinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
605
|
+
export default SignOutLink;
|
|
606
|
+
//# sourceMappingURL=SignOutLink.d.ts.map
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
declare module '@ably/ui/core/Slider' {
|
|
610
|
+
import { ReactNode } from "react";
|
|
611
|
+
interface SliderProps {
|
|
612
|
+
children: ReactNode[];
|
|
613
|
+
options?: {
|
|
614
|
+
interval?: number;
|
|
615
|
+
controlPosition?: "inline" | "floating";
|
|
616
|
+
intervalIndicator?: boolean;
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
const Slider: ({ children, options }: SliderProps) => import("react/jsx-runtime").JSX.Element;
|
|
620
|
+
export default Slider;
|
|
621
|
+
//# sourceMappingURL=Slider.d.ts.map
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
declare module '@ably/ui/core/Status' {
|
|
625
|
+
const Status: ({ statusUrl, additionalCSS, }: {
|
|
626
|
+
statusUrl: string;
|
|
627
|
+
additionalCSS?: string;
|
|
628
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
629
|
+
export default Status;
|
|
630
|
+
//# sourceMappingURL=Status.d.ts.map
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
declare module '@ably/ui/core/Table/Table' {
|
|
634
|
+
import { PropsWithChildren, TableHTMLAttributes } from "react";
|
|
635
|
+
type TableProps = {
|
|
636
|
+
id?: string;
|
|
637
|
+
};
|
|
638
|
+
export const Table: ({ id, children, ...rest }: PropsWithChildren<TableProps & TableHTMLAttributes<HTMLTableElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
639
|
+
export const TableBody: ({ children, ...rest }: PropsWithChildren<TableHTMLAttributes<HTMLTableSectionElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
640
|
+
export const TableHeader: ({ children, ...rest }: PropsWithChildren<TableHTMLAttributes<HTMLTableSectionElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
641
|
+
export const TableRowHeader: ({ children, ...rest }: PropsWithChildren<TableHTMLAttributes<HTMLTableRowElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
642
|
+
export {};
|
|
643
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
declare module '@ably/ui/core/Table/TableCell' {
|
|
647
|
+
import React, { PropsWithChildren } from "react";
|
|
648
|
+
type TableCellProps = {
|
|
649
|
+
isRowHeader?: boolean;
|
|
650
|
+
} & React.TdHTMLAttributes<HTMLTableCellElement>;
|
|
651
|
+
const LabelCell: ({ children, ...rest }: PropsWithChildren<React.TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
652
|
+
const TableCell: ({ children, isRowHeader, ...rest }: PropsWithChildren<TableCellProps>) => import("react/jsx-runtime").JSX.Element;
|
|
653
|
+
const HeaderCell: ({ children, ...rest }: PropsWithChildren<React.TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
654
|
+
const CtaCell: ({ children, ...rest }: PropsWithChildren<React.TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
655
|
+
export { TableCell, LabelCell, HeaderCell, CtaCell };
|
|
656
|
+
//# sourceMappingURL=TableCell.d.ts.map
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
declare module '@ably/ui/core/Table/TableRow' {
|
|
660
|
+
import React, { PropsWithChildren } from "react";
|
|
661
|
+
const CtaRow: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
662
|
+
type RowProps = {
|
|
663
|
+
isHeader?: boolean;
|
|
664
|
+
} & React.HTMLAttributes<HTMLTableRowElement>;
|
|
665
|
+
const TableRow: ({ children, isHeader, ...rest }: PropsWithChildren<RowProps>) => import("react/jsx-runtime").JSX.Element;
|
|
666
|
+
export { TableRow, CtaRow };
|
|
667
|
+
//# sourceMappingURL=TableRow.d.ts.map
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
declare module '@ably/ui/core/Table/data' {
|
|
671
|
+
export const PricingPageTable: () => import("react/jsx-runtime").JSX.Element;
|
|
672
|
+
//# sourceMappingURL=data.d.ts.map
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
declare module '@ably/ui/core/Table' {
|
|
676
|
+
const _default: {
|
|
677
|
+
Root: ({ id, children, ...rest }: import("react").PropsWithChildren<{
|
|
678
|
+
id?: string;
|
|
679
|
+
} & import("react").TableHTMLAttributes<HTMLTableElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
680
|
+
Row: ({ children, isHeader, ...rest }: import("react").PropsWithChildren<{
|
|
681
|
+
isHeader?: boolean;
|
|
682
|
+
} & import("react").HTMLAttributes<HTMLTableRowElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
683
|
+
Cell: ({ children, isRowHeader, ...rest }: import("react").PropsWithChildren<{
|
|
684
|
+
isRowHeader?: boolean;
|
|
685
|
+
} & import("react").TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
686
|
+
LabelCell: ({ children, ...rest }: import("react").PropsWithChildren<import("react").TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
687
|
+
HeaderCell: ({ children, ...rest }: import("react").PropsWithChildren<import("react").TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
688
|
+
CtaCell: ({ children, ...rest }: import("react").PropsWithChildren<import("react").TdHTMLAttributes<HTMLTableCellElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
689
|
+
RowHeader: ({ children, ...rest }: import("react").PropsWithChildren<import("react").TableHTMLAttributes<HTMLTableRowElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
690
|
+
Body: ({ children, ...rest }: import("react").PropsWithChildren<import("react").TableHTMLAttributes<HTMLTableSectionElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
691
|
+
Header: ({ children, ...rest }: import("react").PropsWithChildren<import("react").TableHTMLAttributes<HTMLTableSectionElement>>) => import("react/jsx-runtime").JSX.Element;
|
|
692
|
+
};
|
|
693
|
+
export default _default;
|
|
694
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
declare module '@ably/ui/core/Tooltip' {
|
|
698
|
+
import { ButtonHTMLAttributes, HTMLAttributes, PropsWithChildren } from "react";
|
|
699
|
+
type TooltipProps = {
|
|
700
|
+
triggerProps?: ButtonHTMLAttributes<HTMLButtonElement>;
|
|
701
|
+
tooltipProps?: HTMLAttributes<HTMLDivElement>;
|
|
702
|
+
} & HTMLAttributes<HTMLDivElement>;
|
|
703
|
+
const Tooltip: ({ children, triggerProps, tooltipProps, ...rest }: PropsWithChildren<TooltipProps>) => import("react/jsx-runtime").JSX.Element;
|
|
704
|
+
export default Tooltip;
|
|
705
|
+
//# sourceMappingURL=Tooltip.d.ts.map
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
declare module '@ably/ui/core/css' {
|
|
709
|
+
export function remsToPixelValue(remString: any): number;
|
|
710
|
+
//# sourceMappingURL=css.d.ts.map
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
declare module '@ably/ui/core/dom-query' {
|
|
714
|
+
export function queryId(val: any, root?: Document): Element | null;
|
|
715
|
+
export function queryIdAll(val: any, root?: Document): NodeListOf<Element>;
|
|
716
|
+
//# sourceMappingURL=dom-query.d.ts.map
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
declare module '@ably/ui/core/hubspot-chat-toggle' {
|
|
720
|
+
export default function toggleChatWidget(params: any): (() => void) | undefined;
|
|
721
|
+
//# sourceMappingURL=hubspot-chat-toggle.d.ts.map
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
declare module '@ably/ui/core/remote-blogs-posts' {
|
|
725
|
+
export function fetchBlogPosts(store: any, blogUrl: any): Promise<void>;
|
|
726
|
+
export namespace reducerBlogPosts {
|
|
727
|
+
function blogPosts(state: {
|
|
728
|
+
recent: null;
|
|
729
|
+
} | undefined, action: any): {
|
|
730
|
+
recent: any;
|
|
731
|
+
};
|
|
732
|
+
}
|
|
733
|
+
export function selectRecentBlogPosts(store: any): any;
|
|
734
|
+
//# sourceMappingURL=remote-blogs-posts.d.ts.map
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
declare module '@ably/ui/core/remote-data-store' {
|
|
738
|
+
export function attachStoreToWindow(store: any): void;
|
|
739
|
+
export function getRemoteDataStore(): any;
|
|
740
|
+
export function connectState(selector: any, setState: any): void;
|
|
741
|
+
export function createRemoteDataStore(reducers: any): any;
|
|
742
|
+
//# sourceMappingURL=remote-data-store.d.ts.map
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
declare module '@ably/ui/core/remote-data-util' {
|
|
746
|
+
export function isJsonResponse(contentType: any): any;
|
|
747
|
+
//# sourceMappingURL=remote-data-util.d.ts.map
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
declare module '@ably/ui/core/remote-session-data' {
|
|
751
|
+
export function fetchSessionData(store: any, sessionUrl: any): Promise<void>;
|
|
752
|
+
export namespace reducerSessionData {
|
|
753
|
+
function session(state: {
|
|
754
|
+
data: null;
|
|
755
|
+
} | undefined, action: any): {
|
|
756
|
+
data: any;
|
|
757
|
+
};
|
|
758
|
+
}
|
|
759
|
+
export function selectSessionData(store: any): any;
|
|
760
|
+
//# sourceMappingURL=remote-session-data.d.ts.map
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
declare module '@ably/ui/core/url-base' {
|
|
764
|
+
export default absUrl;
|
|
765
|
+
function absUrl(path: any, urlBase?: string): string;
|
|
766
|
+
//# sourceMappingURL=url-base.d.ts.map
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
declare module '@ably/ui/core/utils/syntax-highlighter-registry' {
|
|
770
|
+
export default registry;
|
|
771
|
+
const registry: {
|
|
772
|
+
label: string;
|
|
773
|
+
key: string;
|
|
774
|
+
module: any;
|
|
775
|
+
}[];
|
|
776
|
+
//# sourceMappingURL=syntax-highlighter-registry.d.ts.map
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
declare module '@ably/ui/core/utils/syntax-highlighter' {
|
|
780
|
+
export function highlightSnippet(languageKeyword: any, snippet: any): string | undefined;
|
|
781
|
+
export function languageToHighlightKey(lang: any): any;
|
|
782
|
+
export function registerDefaultLanguages(register: any): void;
|
|
783
|
+
//# sourceMappingURL=syntax-highlighter.d.ts.map
|
|
784
|
+
}
|
|
785
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ably/ui",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.4.0-dev.1b6b1db",
|
|
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
|
+
"index.d.ts"
|
|
15
16
|
],
|
|
17
|
+
"types": "index.d.ts",
|
|
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/
|
|
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
|
-
"
|
|
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,10 @@
|
|
|
44
50
|
},
|
|
45
51
|
"scripts": {
|
|
46
52
|
"build:prebuild": "rm -rf core reset",
|
|
47
|
-
"build:swc": "swc src/core src/reset -d dist --
|
|
53
|
+
"build:swc": "swc src/core src/reset -d dist --copy-files --include-dotfiles --strip-leading-paths --config-file .swc --ignore **/*.stories.tsx,**/*.snap",
|
|
54
|
+
"build:tsc": "tsc && node tsc.js && rm -r types",
|
|
48
55
|
"build:cleanup": "mv dist/* . && rm -r dist",
|
|
49
|
-
"build": "yarn build:prebuild && yarn build:swc && node sprites.js && yarn build:cleanup",
|
|
56
|
+
"build": "yarn build:prebuild && yarn build:swc && node sprites.js && yarn build:tsc && yarn build:cleanup",
|
|
50
57
|
"watch": "yarn build:swc -w",
|
|
51
58
|
"format:check": "prettier -c *.{js,ts} src/**/*.{js,ts,tsx}",
|
|
52
59
|
"format:write": "prettier -w *.{js,ts} src/**/*.{js,ts,tsx}",
|
|
@@ -57,9 +64,8 @@
|
|
|
57
64
|
"start": "vite --port 5000",
|
|
58
65
|
"storybook": "yarn build && storybook dev -p 6006",
|
|
59
66
|
"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 &&
|
|
61
|
-
"test:update-snapshots": "npx concurrently -k -s first -n \"SB,TEST\" -c \"magenta,blue\" \"yarn build-storybook &&
|
|
62
|
-
|
|
67
|
+
"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\"",
|
|
68
|
+
"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
69
|
},
|
|
64
70
|
"dependencies": {
|
|
65
71
|
"addsearch-js-client": "^0.8.11",
|
|
@@ -69,8 +75,8 @@
|
|
|
69
75
|
"highlightjs-curl": "^1.3.0",
|
|
70
76
|
"js-cookie": "^3.0.5",
|
|
71
77
|
"lodash.throttle": "^4.1.1",
|
|
72
|
-
"react-dom": "^18.2.0",
|
|
73
78
|
"react": "^18.2.0",
|
|
79
|
+
"react-dom": "^18.2.0",
|
|
74
80
|
"redux": "^4.0.5",
|
|
75
81
|
"scroll-lock": "^2.1.4"
|
|
76
82
|
},
|