@ably/ui 14.0.0-dev.75dcb64 → 14.0.0-dev.968e4a2
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/README.md +10 -8
- package/core/.DS_Store +0 -0
- package/core/Accordion/component.js +0 -0
- package/core/Accordion.js +1 -1
- package/core/Code.js +1 -1
- package/core/ConnectStateWrapper/component.js +0 -0
- package/core/ConnectStateWrapper.js +1 -1
- package/core/ContactFooter.js +1 -1
- package/core/CookieMessage/component.js +1 -0
- package/core/CookieMessage.js +1 -1
- package/core/CustomerLogos/component.js +0 -0
- package/core/DropdownMenu/component.js +0 -0
- package/core/DropdownMenu.js +1 -1
- package/core/FeaturedLink/component.js +0 -0
- package/core/FeaturedLink.js +1 -1
- package/core/Flash/component.js +1 -0
- package/core/Flash.js +1 -1
- package/core/Footer/component.js +1 -0
- package/core/Footer.js +1 -1
- package/core/Icon/component.js +0 -0
- package/core/Loader/component.js +0 -0
- package/core/Logo/component.js +0 -0
- package/core/Meganav.js +1 -1
- package/core/MeganavBlogPostsList.js +1 -1
- package/core/MeganavContentCompany/.DS_Store +0 -0
- package/core/MeganavContentCompany/component.js +0 -0
- package/core/MeganavContentCompany.js +1 -1
- package/core/MeganavContentDevelopers/.DS_Store +0 -0
- package/core/MeganavContentDevelopers/component.js +0 -0
- package/core/MeganavContentDevelopers.js +1 -1
- package/core/MeganavContentProducts/.DS_Store +0 -0
- package/core/MeganavContentProducts/component.js +0 -0
- package/core/MeganavContentProducts.js +1 -1
- package/core/MeganavContentUseCases/.DS_Store +0 -0
- package/core/MeganavContentUseCases/component.js +0 -0
- package/core/MeganavContentUseCases.js +1 -1
- package/core/MeganavControl.js +1 -1
- package/core/MeganavControlMobileDropdown.js +1 -1
- package/core/MeganavControlMobilePanelClose.js +1 -1
- package/core/MeganavControlMobilePanelOpen.js +1 -1
- package/core/MeganavItemsDesktop/.DS_Store +0 -0
- package/core/MeganavItemsDesktop/component.js +0 -0
- package/core/MeganavItemsDesktop.js +1 -1
- package/core/MeganavItemsMobile/.DS_Store +0 -0
- package/core/MeganavItemsMobile/component.js +0 -0
- package/core/MeganavItemsMobile.js +1 -1
- package/core/MeganavItemsSignedIn/.DS_Store +0 -0
- package/core/MeganavItemsSignedIn/component.js +0 -0
- package/core/MeganavItemsSignedIn.js +1 -1
- package/core/MeganavSearch/.DS_Store +0 -0
- package/core/MeganavSearch/component.js +0 -0
- package/core/MeganavSearch.js +1 -1
- package/core/MeganavSearchPanel/.DS_Store +0 -0
- package/core/MeganavSearchPanel/component.js +0 -0
- package/core/MeganavSearchPanel.js +1 -1
- package/core/MeganavSearchSuggestions.js +1 -1
- package/core/Notice/component.js +1 -1
- package/core/Notice.js +1 -1
- package/core/SignOutLink/.DS_Store +0 -0
- package/core/SignOutLink/component.js +0 -0
- package/core/Slider.js +1 -1
- package/core/Table/TableCell.js +1 -1
- package/core/Table/data.js +1 -1
- package/core/Table.js +1 -1
- package/core/Tooltip.js +1 -1
- package/package.json +2 -1
- package/src/core/.DS_Store +0 -0
- package/src/core/Accordion/Accordion.stories.tsx +1 -1
- package/src/core/Accordion/component.js +0 -0
- package/src/core/Accordion.tsx +1 -1
- package/src/core/Code/Code.stories.tsx +1 -1
- package/src/core/Code.tsx +3 -3
- package/src/core/ConnectStateWrapper/component.js +0 -0
- package/src/core/ConnectStateWrapper.tsx +1 -1
- package/src/core/ContactFooter/ContactFooter.stories.tsx +1 -1
- package/src/core/ContactFooter.tsx +4 -4
- package/src/core/CookieMessage/CookieMessage.stories.tsx +1 -1
- package/src/core/CookieMessage/component.js +1 -0
- package/src/core/CookieMessage.tsx +2 -2
- package/src/core/CustomerLogos/CustomerLogos.stories.tsx +1 -1
- package/src/core/CustomerLogos/component.js +0 -0
- package/src/core/DropdownMenu/DropdownMenu.stories.tsx +2 -2
- package/src/core/DropdownMenu/component.js +0 -0
- package/src/core/DropdownMenu.tsx +1 -1
- package/src/core/FeaturedLink/FeaturedLink.stories.tsx +1 -1
- package/src/core/FeaturedLink/component.js +0 -0
- package/src/core/FeaturedLink.tsx +1 -1
- package/src/core/Flash/Flash.stories.tsx +1 -1
- package/src/core/Flash/component.js +1 -0
- package/src/core/Flash.tsx +4 -4
- package/src/core/Footer/Footer.stories.tsx +1 -1
- package/src/core/Footer/component.js +1 -0
- package/src/core/Footer.tsx +3 -3
- package/src/core/Icon/Icon.stories.tsx +1 -1
- package/src/core/Icon/component.js +0 -0
- package/src/core/Loader/Loader.stories.tsx +1 -1
- package/src/core/Loader/component.js +0 -0
- package/src/core/Logo/Logo.stories.tsx +1 -1
- package/src/core/Logo/component.js +0 -0
- package/src/core/Meganav/Meganav.stories.tsx +1 -1
- package/src/core/Meganav.tsx +19 -17
- package/src/core/MeganavBlogPostsList.tsx +2 -2
- package/src/core/MeganavContentCompany/.DS_Store +0 -0
- package/src/core/MeganavContentCompany/component.js +0 -0
- package/src/core/MeganavContentCompany.tsx +5 -5
- package/src/core/MeganavContentDevelopers/.DS_Store +0 -0
- package/src/core/MeganavContentDevelopers/component.js +0 -0
- package/src/core/MeganavContentDevelopers.tsx +2 -2
- package/src/core/MeganavContentProducts/.DS_Store +0 -0
- package/src/core/MeganavContentProducts/component.js +0 -0
- package/src/core/MeganavContentProducts.tsx +2 -2
- package/src/core/MeganavContentUseCases/.DS_Store +0 -0
- package/src/core/MeganavContentUseCases/component.js +1 -0
- package/src/core/MeganavContentUseCases.tsx +2 -2
- package/src/core/MeganavControl.tsx +2 -2
- package/src/core/MeganavControlMobileDropdown.tsx +2 -2
- package/src/core/MeganavControlMobilePanelClose.tsx +2 -1
- package/src/core/MeganavControlMobilePanelOpen.tsx +2 -1
- package/src/core/MeganavItemsDesktop/.DS_Store +0 -0
- package/src/core/MeganavItemsDesktop/component.js +0 -0
- package/src/core/MeganavItemsDesktop.tsx +3 -3
- package/src/core/MeganavItemsMobile/.DS_Store +0 -0
- package/src/core/MeganavItemsMobile/component.js +0 -0
- package/src/core/MeganavItemsMobile.tsx +9 -9
- package/src/core/MeganavItemsSignedIn/.DS_Store +0 -0
- package/src/core/MeganavItemsSignedIn/component.js +0 -0
- package/src/core/MeganavItemsSignedIn.tsx +8 -4
- package/src/core/MeganavSearch/.DS_Store +0 -0
- package/src/core/MeganavSearch/component.js +0 -0
- package/src/core/MeganavSearch.tsx +3 -3
- package/src/core/MeganavSearchPanel/.DS_Store +0 -0
- package/src/core/MeganavSearchPanel/component.js +0 -0
- package/src/core/MeganavSearchPanel.tsx +4 -4
- package/src/core/MeganavSearchSuggestions.tsx +2 -2
- package/src/core/Notice/component.js +1 -1
- package/src/core/Notice.tsx +4 -3
- package/src/core/SignOutLink/.DS_Store +0 -0
- package/src/core/SignOutLink/component.js +0 -0
- package/src/core/SignOutLink.tsx +1 -1
- package/src/core/Slider/Slider.stories.tsx +1 -1
- package/src/core/Slider.tsx +3 -3
- package/src/core/Table/TableCell.tsx +1 -1
- package/src/core/Table/data.tsx +3 -3
- package/src/core/Table.tsx +3 -3
- package/src/core/Tooltip/Tooltip.stories.tsx +1 -1
- package/src/core/Tooltip.tsx +2 -1
- package/src/pages/Buttons.mdx +1 -1
- package/src/pages/Chips.mdx +1 -1
- package/src/pages/Forms.mdx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import MeganavControl from"
|
|
1
|
+
import React from"react";import MeganavControl from"../MeganavControl/component.tsx";import SignOutLink from"../SignOutLink/component.tsx";import MeganavSearch from"../MeganavSearch/component.tsx";const truncate=(string,length)=>{return(string===null||string===void 0?void 0:string.length)&&string.length>length?`${string.slice(0,length-1)}…`:string};const MeganavItemsSignedIn=({sessionState,theme,absUrl})=>{const links=sessionState.account?Object.keys(sessionState.account.links).map(key=>sessionState.account.links[key]):[];const accountName=truncate(sessionState.accountName,20);const preferredEmail=truncate(sessionState.preferredEmail,20);return React.createElement("ul",{className:"hidden md:flex items-center"},React.createElement("li",{className:"ui-meganav-item relative"},React.createElement(MeganavControl,{ariaControls:"account-panel",ariaLabel:"Account",theme:theme,additionalCSS:"mr-0"},accountName),React.createElement("div",{className:"ui-meganav-panel-account invisible",id:"account-panel","data-id":"meganav-panel"},sessionState.account&&React.createElement(React.Fragment,null,React.createElement("p",{className:"ui-meganav-overline mt-16 mx-16"},"Your account"),React.createElement("ul",{className:"mb-16 mx-16"},links.map(item=>React.createElement("li",{key:item.href},React.createElement("a",{className:"ui-meganav-account-link",href:absUrl(item.href)},item.text))))),React.createElement("p",{className:"ui-meganav-overline mx-16"},preferredEmail),React.createElement("ul",{className:"mb-8 mx-16"},React.createElement("li",null,React.createElement("a",{href:absUrl(sessionState.mySettings.href),className:"ui-meganav-account-link"},sessionState.mySettings.text)),sessionState.myAccessTokens&&React.createElement("li",null,React.createElement("a",{href:absUrl(sessionState.myAccessTokens.href),className:"ui-meganav-account-link"},sessionState.myAccessTokens.text,React.createElement("span",{className:"ui-version-tag"},"preview")))),React.createElement("hr",{className:"ui-meganav-hr mb-16"}),sessionState.logOut&&React.createElement("div",{className:"mb-16 px-16"},React.createElement(SignOutLink,{absUrl:absUrl,...sessionState.logOut},({text,href,onClick})=>React.createElement("a",{onClick:onClick,href:absUrl(href),className:"ui-meganav-account-link"},text))))),React.createElement("li",null,React.createElement(MeganavSearch,{absUrl:absUrl})),sessionState.account&&React.createElement("li",null,React.createElement("a",{href:absUrl(sessionState.account.links.dashboard.href),className:"ui-btn-secondary p-btn-small"},"Dashboard")))};export default MeganavItemsSignedIn;
|
|
Binary file
|
|
File without changes
|
package/core/MeganavSearch.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import Icon from"
|
|
1
|
+
import React from"react";import Icon from"../Icon/component.tsx";import MeganavSearchPanel from"../MeganavSearchPanel/component.tsx";const MeganavSearch=({absUrl})=>React.createElement(React.Fragment,null,React.createElement("button",{type:"button","data-id":"meganav-control","data-control":"search",className:"h-64 w-24 px-24 pr-48 py-20 group focus:outline-none","aria-expanded":"false","aria-controls":"panel-search","aria-label":`Show Search Panel`},React.createElement(Icon,{name:"icon-gui-search",color:"text-cool-black",size:"1.5rem",additionalCSS:"group-hover:text-gui-hover group-focus:text-gui-focus"})),React.createElement("div",{className:"ui-meganav-panel invisible",id:"panel-search","data-id":"meganav-panel"},React.createElement(MeganavSearchPanel,{absUrl:absUrl})));export default MeganavSearch;
|
|
Binary file
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import Icon from"
|
|
1
|
+
import React from"react";import Icon from"../Icon/component.tsx";import MeganavSearchSuggestions from"../MeganavSearchSuggestions/component.tsx";import MeganavSearchAutocomplete from"../MeganavSearchAutocomplete/component.tsx";const MeganavSearchPanel=({absUrl})=>React.createElement("section",{className:"ui-meganav-content grid-cols-12"},React.createElement("div",{className:"col-span-8"},React.createElement("div",{className:"mb-32"},React.createElement("form",{className:"flex items-start",action:absUrl("/search"),method:"get"},React.createElement("div",{className:"relative w-full"},React.createElement(Icon,{name:"icon-gui-search",color:"text-cool-black",size:"1.5rem",additionalCSS:"absolute top-12 left-16"}),React.createElement("input",{type:"search",name:"q",className:"ui-input pl-48 h-48",placeholder:"Search",autoComplete:"off","data-id":"meganav-search-input"}),React.createElement(MeganavSearchAutocomplete,null)),React.createElement("button",{type:"submit",className:"ui-btn-secondary flex-shrink-0 ml-8 sm:ml-16 md:ml-24 xl:ml-32"},"Search")))),React.createElement("div",{className:"col-span-12"},React.createElement(MeganavSearchSuggestions,{displaySupportLink:true,absUrl:absUrl})));export default MeganavSearchPanel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import React from"react";import FeaturedLink from"
|
|
1
|
+
import React from"react";import FeaturedLink from"../FeaturedLink/component.tsx";const MeganavSearchSuggestions=({absUrl,displaySupportLink})=>React.createElement(React.Fragment,null,React.createElement("p",{className:"ui-text-overline2 text-cool-black py-12"},"Popular pages"),React.createElement("div",{className:"flex justify-between items-center overflow-hidden"},React.createElement("ul",{className:"flex transition-transform"},React.createElement("li",{className:"py-12 pr-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/docs/how-ably-works"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"How does Ably work?")),React.createElement("li",{className:"py-12 px-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/docs/quick-start-guide"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"Quickstart guide")),React.createElement("li",{className:"py-12 px-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/docs/core-features/pubsub"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"Publish/Subscribe Messaging")),React.createElement("li",{className:"py-12 pl-8 flex-shrink-0"},React.createElement("a",{href:absUrl("/platform"),className:"ui-text-p2 hover:text-gui-hover active:text-gui-active focus:text-gui-focus"},"Platform"))),displaySupportLink?React.createElement(FeaturedLink,{url:absUrl("/support"),textSize:"text-p2"},"Support"):null));export default MeganavSearchSuggestions;
|
package/core/Notice/component.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./component.css";import Cookie from"js-cookie";import throttle from"lodash.throttle";import{queryId}from"../dom-query";import{FLASH_DATA_ID}from"../Flash";const COOKIE_EXPIRY=90;const COLLAPSE_TRIGGER_DISTANCE=5;const SCROLL_LISTENER_THROTTLE=100;const RESIZE_LISTENER_THROTTLE=100;const isMdViewport=()=>!window.matchMedia(`(min-width: 65rem)`).matches;const adjustFlashMargin=open=>{const flash=queryId(FLASH_DATA_ID);if(flash){flash.style.marginTop=open?`4rem`:null}};const hideOnMobile=bannerContainer=>{if(isMdViewport()){bannerContainer.style.display="none"}else{bannerContainer.style.display=null}};const hideNotice=bannerContainer=>{bannerContainer.style.maxHeight=0;bannerContainer.style.overflow="hidden";adjustFlashMargin(false)};const showNotice=bannerContainer=>{bannerContainer.style.maxHeight=null;bannerContainer.style.overflow=null;adjustFlashMargin(true)};const setupRememberClosed=(cookieId,noticeId)=>{const cookie=Cookie.get(cookieId)||"";Cookie.set(cookieId,`${cookie.replace(`${noticeId},`,"")+noticeId},`,{expires:COOKIE_EXPIRY})};const hasBeenClosedBefore=(cookieId,noticeId)=>(Cookie.get(cookieId)||"").includes(noticeId);const setupNoticeCollapse=bannerContainer=>{const scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}const listener=throttle(()=>{const scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}else if(bannerContainer.style.overflow){showNotice(bannerContainer)}},SCROLL_LISTENER_THROTTLE);document.addEventListener("scroll",listener);return()=>document.removeEventListener("scroll",listener)};const setupCloseBtn=(bannerContainer,cookieId,noticeId,collapseUnmountListeners)=>{const closeBtn=bannerContainer.querySelector("button");if(!closeBtn)return()=>{};const listener=()=>{if(cookieId&¬iceId)setupRememberClosed(cookieId,noticeId);hideNotice(bannerContainer);collapseUnmountListeners()};closeBtn.addEventListener("click",listener);return()=>document.removeEventListener("click",listener)};const resizeHandler=bannerContainer=>{const handler=throttle(()=>{hideOnMobile(bannerContainer)},RESIZE_LISTENER_THROTTLE);window.addEventListener("resize",handler);return()=>window.removeEventListener("resize",handler)};const Notice=({bannerContainer,cookieId,noticeId,options})=>{if(typeof window==="undefined")return()=>{};if(!bannerContainer){console.warn("A Notice component was initited but no notice container was found.");return()=>{}}if(hasBeenClosedBefore(cookieId,noticeId))return()=>{};hideOnMobile(bannerContainer);showNotice(bannerContainer);const opts={collapse:true,...options};const collapseUnmountListeners=opts.collapse?setupNoticeCollapse(bannerContainer):()=>{};const closeBtnUnmountListeners=setupCloseBtn(bannerContainer,cookieId,noticeId,collapseUnmountListeners);const resizeUnmountListener=resizeHandler(bannerContainer);return()=>{[closeBtnUnmountListeners,collapseUnmountListeners,resizeUnmountListener].forEach(unmount=>unmount())}};export default Notice;
|
|
1
|
+
import"./component.css";import Cookie from"js-cookie";import throttle from"lodash.throttle";import{queryId}from"../dom-query";import{FLASH_DATA_ID}from"../Flash/component.tsx";const COOKIE_EXPIRY=90;const COLLAPSE_TRIGGER_DISTANCE=5;const SCROLL_LISTENER_THROTTLE=100;const RESIZE_LISTENER_THROTTLE=100;const isMdViewport=()=>!window.matchMedia(`(min-width: 65rem)`).matches;const adjustFlashMargin=open=>{const flash=queryId(FLASH_DATA_ID);if(flash){flash.style.marginTop=open?`4rem`:null}};const hideOnMobile=bannerContainer=>{if(isMdViewport()){bannerContainer.style.display="none"}else{bannerContainer.style.display=null}};const hideNotice=bannerContainer=>{bannerContainer.style.maxHeight=0;bannerContainer.style.overflow="hidden";adjustFlashMargin(false)};const showNotice=bannerContainer=>{bannerContainer.style.maxHeight=null;bannerContainer.style.overflow=null;adjustFlashMargin(true)};const setupRememberClosed=(cookieId,noticeId)=>{const cookie=Cookie.get(cookieId)||"";Cookie.set(cookieId,`${cookie.replace(`${noticeId},`,"")+noticeId},`,{expires:COOKIE_EXPIRY})};const hasBeenClosedBefore=(cookieId,noticeId)=>(Cookie.get(cookieId)||"").includes(noticeId);const setupNoticeCollapse=bannerContainer=>{const scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}const listener=throttle(()=>{const scrollTop=window.scrollY;if(scrollTop>COLLAPSE_TRIGGER_DISTANCE){hideNotice(bannerContainer)}else if(bannerContainer.style.overflow){showNotice(bannerContainer)}},SCROLL_LISTENER_THROTTLE);document.addEventListener("scroll",listener);return()=>document.removeEventListener("scroll",listener)};const setupCloseBtn=(bannerContainer,cookieId,noticeId,collapseUnmountListeners)=>{const closeBtn=bannerContainer.querySelector("button");if(!closeBtn)return()=>{};const listener=()=>{if(cookieId&¬iceId)setupRememberClosed(cookieId,noticeId);hideNotice(bannerContainer);collapseUnmountListeners()};closeBtn.addEventListener("click",listener);return()=>document.removeEventListener("click",listener)};const resizeHandler=bannerContainer=>{const handler=throttle(()=>{hideOnMobile(bannerContainer)},RESIZE_LISTENER_THROTTLE);window.addEventListener("resize",handler);return()=>window.removeEventListener("resize",handler)};const Notice=({bannerContainer,cookieId,noticeId,options})=>{if(typeof window==="undefined")return()=>{};if(!bannerContainer){console.warn("A Notice component was initited but no notice container was found.");return()=>{}}if(hasBeenClosedBefore(cookieId,noticeId))return()=>{};hideOnMobile(bannerContainer);showNotice(bannerContainer);const opts={collapse:true,...options};const collapseUnmountListeners=opts.collapse?setupNoticeCollapse(bannerContainer):()=>{};const closeBtnUnmountListeners=setupCloseBtn(bannerContainer,cookieId,noticeId,collapseUnmountListeners);const resizeUnmountListener=resizeHandler(bannerContainer);return()=>{[closeBtnUnmountListeners,collapseUnmountListeners,resizeUnmountListener].forEach(unmount=>unmount())}};export default Notice;
|
package/core/Notice.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{useEffect}from"react";import NoticeScripts from"./
|
|
1
|
+
import React,{useEffect}from"react";import NoticeScripts from"./component.js";import"./component.css";import Icon from"../Icon/component.tsx";const contentWrapperClasses="w-full pr-8 ui-text-p3 self-center";const ContentWrapper=({buttonLink,children})=>buttonLink?React.createElement("a",{href:buttonLink,className:contentWrapperClasses},children):React.createElement("div",{className:contentWrapperClasses},children);const Notice=({buttonLink,buttonLabel,bodyText,title,config,closeBtn,bgColor="bg-gradient-active-orange",textColor="text-white"})=>{useEffect(()=>{NoticeScripts({bannerContainer:document.querySelector('[data-id="ui-notice"]'),cookieId:config===null||config===void 0?void 0:config.cookieId,noticeId:config===null||config===void 0?void 0:config.noticeId,options:{collapse:(config===null||config===void 0?void 0:config.collapse)||false}})},[]);const wrapperClasses=["ui-announcement",bgColor,textColor].join(" ");return React.createElement("div",{className:wrapperClasses,"data-id":"ui-notice",style:{maxHeight:0,overflow:"hidden"}},React.createElement("div",{className:"ui-grid-px py-16 max-w-screen-xl mx-auto flex items-start"},React.createElement(ContentWrapper,{buttonLink:buttonLink!==null&&buttonLink!==void 0?buttonLink:"#"},React.createElement("strong",{className:"font-bold whitespace-nowrap pr-4"},title),React.createElement("span",{className:"pr-4"},bodyText),buttonLabel&&React.createElement("span",{className:"underline cursor-pointer whitespace-nowrap"},buttonLabel)),closeBtn&&React.createElement("button",{type:"button",className:"ml-auto h-20 w-20 border-none bg-none self-baseline"},React.createElement(Icon,{name:"icon-gui-close",size:"1.25rem",color:"text-cool-black"}))))};export default Notice;
|
|
Binary file
|
|
File without changes
|
package/core/Slider.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{useEffect,useRef}from"react";import Icon from"
|
|
1
|
+
import React,{useEffect,useRef}from"react";import Icon from"../Icon/component.tsx";import SliderScripts from"./component.js";import"./component.css";const Slider=({slides=[],classes="",slideClasses="",slideMinWidth="16.875rem",slideMaxWidth="1fr",mqEnableThreshold=()=>true,...props})=>{const containerRef=useRef(null);useEffect(()=>{SliderScripts({container:containerRef.current,mqEnableThreshold})},[]);if(slides.length===0)return;return React.createElement("div",{className:"w-full overflow-x-hidden","data-id":"slider",style:{"--dynamic-grid-columns-count":slides.length,"--dynamic-grid-column-min-width":slideMinWidth,"--dynamic-grid-column-max-width":slideMaxWidth},ref:containerRef},React.createElement("ol",{className:`grid ui-grid-gap grid-cols-dynamic transform transition-transform ${classes}`,"data-id":"slider-strip",...props},slides.map((slide,i)=>React.createElement("li",{key:i,className:slideClasses,"data-id":"slider-slide"},slide))),React.createElement("div",{className:"justify-center items-center my-24 hidden","data-id":"slider-controls"},React.createElement("button",{type:"button",className:"p-0 w-24 h-24 flex items-center focus:outline-gui-focus","data-id":"slider-previous"},React.createElement(Icon,{name:"icon-gui-disclosure-arrow",size:"1.5rem",color:"text-cool-black",additionalCSS:"transform rotate-180","data-id":"meganav-control-mobile-dropdown-menu"})),React.createElement("ul",{className:"flex justify-center items-center mx-32 relative h-24"},slides.map((_,i)=>React.createElement("li",{key:i},React.createElement("span",{className:"ui-slider-marker text-cool-black","data-id":"slider-marker"},"⬤")," "))),React.createElement("button",{type:"button",className:"p-0 w-24 h-24 flex items-center focus:outline-gui-focus","data-id":"slider-next"},React.createElement(Icon,{name:"icon-gui-disclosure-arrow",size:"1.5rem",color:"text-cool-black","data-id":"meganav-control-mobile-dropdown-menu"}))))};export default Slider;
|
package/core/Table/TableCell.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from"react";import Icon from"../Icon";const Supported=()=>React.createElement(Icon,{name:"icon-gui-check-circled-fill",size:"1.5rem",color:"text-gui-success",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"supported-icon"});const Unsupported=()=>React.createElement(Icon,{name:"icon-gui-cross-circled-fill",size:"1.5rem",color:"text-gui-error",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"unsupported-icon"});const LabelCell=({children,...rest})=>{var _rest_className;const classes=`
|
|
1
|
+
import React from"react";import Icon from"../Icon/component.tsx";const Supported=()=>React.createElement(Icon,{name:"icon-gui-check-circled-fill",size:"1.5rem",color:"text-gui-success",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"supported-icon"});const Unsupported=()=>React.createElement(Icon,{name:"icon-gui-cross-circled-fill",size:"1.5rem",color:"text-gui-error",additionalCSS:"flex-grow-0 flex-shrink-0","data-testid":"unsupported-icon"});const LabelCell=({children,...rest})=>{var _rest_className;const classes=`
|
|
2
2
|
ui-text-p1 !font-bold pt-24 pb-8 border-light-grey sm:p-24 sm:relative sm:top-2 flex sm:table-cell ${(_rest_className=rest.className)!==null&&_rest_className!==void 0?_rest_className:""}
|
|
3
3
|
`;return React.createElement("td",{...rest,className:classes},children)};const TableCell=({children,isRowHeader,...rest})=>{var _rest_className;return React.createElement("td",{...rest,className:`
|
|
4
4
|
border-light-grey sm:p-24 leading-none flex sm:table-cell
|
package/core/Table/data.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{Fragment}from"react";import Tooltip from"
|
|
1
|
+
import React,{Fragment}from"react";import Tooltip from"../../Tooltip/component";import{Supported,Unsupported}from"../TableCell";import Table from"..";const testRow=index=>({label:`Label ${index+1}`,cells:[{label:"text",content:"Cell content",column:"Free"},{label:"yes",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Supported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Supported,null))),column:"PAYG"},{label:"no",content:React.createElement("div",{className:"flex items-center sm:flex-col sm:items-start"},React.createElement("span",{className:"sm:order-1 px-6 sm:py-6 sm:px-0"},"Unsupported"),React.createElement("span",{className:"sm:order-0"},React.createElement(Unsupported,null))),column:"Custom"}]});const sections=["Features","Support","Technical Support"].map(label=>({label,rows:[...Array(5)].map((_,i)=>testRow(i))}));export const PricingPageTable=()=>{return React.createElement("div",{className:"ui-standard-container"},React.createElement("h2",{className:"ui-text-h2 text-center m-32"},"Pricing Page Table"),React.createElement("p",{className:"text-center m-32"},"Example content"),React.createElement(Table.Root,null,React.createElement(Table.Header,null,React.createElement(Table.Row,null,React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Free")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"PAYG")),React.createElement(Table.Cell,null,React.createElement("span",{className:"ui-text-h3 hidden sm:block"},"Custom")))),React.createElement(Table.Body,null,sections.map(section=>React.createElement(Fragment,{key:section.label},React.createElement(Table.RowHeader,null,React.createElement(Table.Cell,{colSpan:4},section.label)),section.rows.map(row=>React.createElement(Table.Row,{key:row.label},React.createElement(Table.LabelCell,{key:row.label,className:"border-t border-light-grey"},React.createElement("a",{className:"ui-link",href:"#"},row.label),React.createElement(Tooltip,null,"Example tooltip")),row.cells.map(cell=>React.createElement(Table.Cell,{key:cell.label,className:"last:mb-16 sm:mb-0"},React.createElement("div",{className:"flex-1 sm:hidden !text-dark-grey ui-text-overline2"},cell.column),cell.content)))))),React.createElement(Table.Row,null,React.createElement(Table.Cell,null),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn-secondary"},"Get started")),React.createElement(Table.CtaCell,null,React.createElement("a",{href:"#",className:"ui-btn"},"Contact sales"))))))};
|
package/core/Table.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Table,TableRowHeader,TableHeader,TableBody}from"./Table
|
|
1
|
+
import{Table,TableRowHeader,TableHeader,TableBody}from"./Table";import{TableRow}from"./TableRow";import{TableCell,LabelCell,HeaderCell,CtaCell,Supported,Unsupported}from"./TableCell";export default{Root:Table,Row:TableRow,Cell:TableCell,LabelCell,HeaderCell,CtaCell,RowHeader:TableRowHeader,Body:TableBody,Header:TableHeader,Supported,Unsupported};
|
package/core/Tooltip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import React,{useEffect,useRef,useState}from"react";import Icon from"
|
|
1
|
+
import React,{useEffect,useRef,useState}from"react";import Icon from"../Icon/component.tsx";const Tooltip=({children})=>{const[open,setOpen]=useState(false);const[position,setPosition]=useState({x:0,y:0});const offset=8;const reference=useRef(null);const floating=useRef(null);useEffect(()=>{if(open){var _floating_current,_reference_current;const floatingRect=(_floating_current=floating.current)===null||_floating_current===void 0?void 0:_floating_current.getBoundingClientRect();const referenceRect=(_reference_current=reference.current)===null||_reference_current===void 0?void 0:_reference_current.getBoundingClientRect();if(floatingRect&&referenceRect){setPosition({x:Math.min(floatingRect.width/2,floatingRect.left)-referenceRect.width/2,y:Math.min(floatingRect.height,floatingRect.top)+offset})}}else{setPosition({x:0,y:0})}},[open]);return React.createElement("div",{className:"relative inline-block align-top h-16"},React.createElement("button",{onMouseEnter:()=>setOpen(true),onMouseLeave:()=>setOpen(false),className:"ml-8 p-0 relative top-1 focus:outline-none",type:"button",ref:reference,"aria-describedby":"tooltip"},React.createElement(Icon,{name:"icon-gui-info",size:"1rem"})),open?React.createElement("div",{className:"bg-light-grey p-12 rounded pointer-events-none absolute z-20",role:"tooltip",ref:floating,style:{top:-position.y,left:-position.x,boxShadow:"4px 4px 15px rgba(0, 0, 0, 0.2)"}},React.createElement("div",{className:"w-256"},children)):null)};export default Tooltip;
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ably/ui",
|
|
3
|
-
"version": "14.0.0-dev.
|
|
3
|
+
"version": "14.0.0-dev.968e4a2",
|
|
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
|
+
"type": "module",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
7
8
|
"url": "git+ssh://git@github.com/ably/ably-ui.git"
|
package/src/core/.DS_Store
CHANGED
|
Binary file
|
|
File without changes
|
package/src/core/Accordion.tsx
CHANGED
package/src/core/Code.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import "
|
|
3
|
+
import "../utils/syntax-highlighter.css";
|
|
4
4
|
import {
|
|
5
5
|
highlightSnippet,
|
|
6
6
|
registerDefaultLanguages,
|
|
7
|
-
} from "
|
|
8
|
-
import languagesRegistry from "
|
|
7
|
+
} from "../utils/syntax-highlighter";
|
|
8
|
+
import languagesRegistry from "../utils/syntax-highlighter-registry";
|
|
9
9
|
|
|
10
10
|
registerDefaultLanguages(languagesRegistry);
|
|
11
11
|
|
|
File without changes
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useEffect } from "react";
|
|
2
2
|
|
|
3
|
-
import Icon from "
|
|
4
|
-
import _absUrl from "
|
|
5
|
-
import toggleChatWidget from "
|
|
6
|
-
import "./
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import _absUrl from "../url-base.js";
|
|
5
|
+
import toggleChatWidget from "../hubspot-chat-toggle";
|
|
6
|
+
import "./component.css";
|
|
7
7
|
|
|
8
8
|
type ContactFooterProps = {
|
|
9
9
|
urlBase: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./component.css";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useRef, useEffect, useState } from "react";
|
|
2
2
|
import Cookie from "js-cookie";
|
|
3
|
+
import "./component.css";
|
|
3
4
|
|
|
4
|
-
import "
|
|
5
|
-
import _absUrl from "./url-base";
|
|
5
|
+
import _absUrl from "../url-base";
|
|
6
6
|
|
|
7
7
|
const COOKIE_EXPIRY = 365;
|
|
8
8
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./component.css";
|
package/src/core/Flash.tsx
CHANGED
|
@@ -2,10 +2,10 @@ import React, { useEffect, useState, useRef } from "react";
|
|
|
2
2
|
import DOMPurify from "dompurify";
|
|
3
3
|
import { nanoid } from "nanoid/non-secure";
|
|
4
4
|
|
|
5
|
-
import { getRemoteDataStore } from "
|
|
6
|
-
import ConnectStateWrapper from "
|
|
7
|
-
import Icon from "
|
|
8
|
-
import "./
|
|
5
|
+
import { getRemoteDataStore } from "../remote-data-store.js";
|
|
6
|
+
import ConnectStateWrapper from "../ConnectStateWrapper/component.tsx";
|
|
7
|
+
import Icon from "../Icon/component.tsx";
|
|
8
|
+
import "./component.css";
|
|
9
9
|
|
|
10
10
|
type FlashProps = {
|
|
11
11
|
id: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./component.css";
|
package/src/core/Footer.tsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import Icon from "
|
|
4
|
-
import _absUrl from "
|
|
5
|
-
import "./
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import _absUrl from "../url-base.js";
|
|
5
|
+
import "./component.css";
|
|
6
6
|
|
|
7
7
|
type FooterProps = {
|
|
8
8
|
paths: {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useEffect } from "react";
|
|
2
2
|
import { rest } from "msw";
|
|
3
3
|
|
|
4
|
-
import Meganav from "
|
|
4
|
+
import Meganav from "./component.tsx";
|
|
5
5
|
import loadIcons from "../icons.js";
|
|
6
6
|
import logo from "../images/ably-logo.png";
|
|
7
7
|
import ablyStack from "../images/ably-stack.svg";
|
package/src/core/Meganav.tsx
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import React, { ReactNode, useEffect, useState } from "react";
|
|
2
2
|
|
|
3
|
-
import { connectState } from "
|
|
4
|
-
import { selectSessionData } from "
|
|
5
|
-
|
|
6
|
-
import Logo from "
|
|
7
|
-
import "./
|
|
8
|
-
|
|
9
|
-
import MeganavScripts from "./
|
|
10
|
-
import MeganavItemsDesktop from "
|
|
11
|
-
import MeganavItemsSignedIn from "
|
|
12
|
-
import MeganavItemsMobile from "
|
|
13
|
-
import Notice from "
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
3
|
+
import { connectState } from "../remote-data-store.js";
|
|
4
|
+
import { selectSessionData } from "../remote-session-data.js";
|
|
5
|
+
|
|
6
|
+
import Logo from "../Logo/component.tsx";
|
|
7
|
+
import "./component.css";
|
|
8
|
+
|
|
9
|
+
import MeganavScripts from "./component.js";
|
|
10
|
+
import MeganavItemsDesktop from "../MeganavItemsDesktop/component.tsx";
|
|
11
|
+
import MeganavItemsSignedIn from "../MeganavItemsSignedIn/component.tsx";
|
|
12
|
+
import MeganavItemsMobile from "../MeganavItemsMobile/component.tsx";
|
|
13
|
+
import Notice from "../Notice/component.tsx";
|
|
14
|
+
import MeganavData from "./component.json";
|
|
15
|
+
import _absUrl from "../url-base.js";
|
|
16
|
+
|
|
17
|
+
import MeganavContentProducts from "../MeganavContentProducts/component.tsx";
|
|
18
|
+
import MeganavContentUseCases from "../MeganavContentUseCases/component.tsx";
|
|
19
|
+
import MeganavContentCompany from "../MeganavContentCompany/component.tsx";
|
|
20
|
+
import MeganavContentDevelopers from "../MeganavContentDevelopers/component.tsx";
|
|
21
|
+
import MeganavSearch from "../MeganavSearch/component.tsx";
|
|
20
22
|
|
|
21
23
|
export type MeganavTheme = {
|
|
22
24
|
backgroundColor?: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import FeaturedLink from "
|
|
4
|
-
import { AbsUrl } from "
|
|
3
|
+
import FeaturedLink from "../FeaturedLink/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
6
|
type MeganavBlogPostsListProps = {
|
|
7
7
|
recentBlogPosts: {
|
|
Binary file
|
|
File without changes
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import MeganavBlogPostsList from "
|
|
4
|
-
import ConnectStateWrapper from "
|
|
5
|
-
import { selectRecentBlogPosts } from "
|
|
6
|
-
import Icon from "
|
|
7
|
-
import { AbsUrl } from "
|
|
3
|
+
import MeganavBlogPostsList from "../MeganavBlogPostsList/component.tsx";
|
|
4
|
+
import ConnectStateWrapper from "../ConnectStateWrapper/component.tsx";
|
|
5
|
+
import { selectRecentBlogPosts } from "../remote-blogs-posts.js";
|
|
6
|
+
import Icon from "../Icon/component.tsx";
|
|
7
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
8
8
|
|
|
9
9
|
type MeganavContentCompanyProps = {
|
|
10
10
|
absUrl: AbsUrl;
|
|
Binary file
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import Icon from "
|
|
4
|
-
import { AbsUrl } from "
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
6
|
const MeganavContentDevelopers = ({ absUrl }: { absUrl: AbsUrl }) => (
|
|
7
7
|
<div className="flex max-w-screen-xl mx-auto">
|
|
Binary file
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import FeaturedLink from "
|
|
4
|
-
import { AbsUrl } from "
|
|
3
|
+
import FeaturedLink from "../FeaturedLink/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
6
|
type MeganavContentProductsProps = {
|
|
7
7
|
paths: {
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// TODO: Webpack expects a .js file for any component
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import Icon from "
|
|
4
|
-
import { AbsUrl } from "
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import { AbsUrl } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
6
|
const MeganavContentUseCases = ({ absUrl }: { absUrl: AbsUrl }) => (
|
|
7
7
|
<div className="flex max-w-screen-xl mx-auto">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
2
|
|
|
3
|
-
import Icon from "
|
|
4
|
-
import { MeganavTheme } from "
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import { MeganavTheme } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
6
|
type MeganavControlProps = {
|
|
7
7
|
ariaControls: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import Icon from "
|
|
4
|
-
import { MeganavTheme } from "
|
|
3
|
+
import Icon from "../Icon/component.tsx";
|
|
4
|
+
import { MeganavTheme } from "../Meganav/component.tsx";
|
|
5
5
|
|
|
6
6
|
const MeganavControlMobileDropdown = ({ theme }: { theme: MeganavTheme }) => (
|
|
7
7
|
<button
|
|
Binary file
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import MeganavData from "
|
|
4
|
-
import MeganavControl from "
|
|
5
|
-
import { AbsUrl, MeganavPanels, MeganavTheme } from "
|
|
3
|
+
import MeganavData from "../Meganav/component.json";
|
|
4
|
+
import MeganavControl from "../MeganavControl/component.tsx";
|
|
5
|
+
import { AbsUrl, MeganavPanels, MeganavTheme } from "../Meganav/component.tsx";
|
|
6
6
|
|
|
7
7
|
type MeganavDesktopItems = {
|
|
8
8
|
panels: MeganavPanels;
|
|
Binary file
|