@ably/ui 17.10.1-dev.5f8eeef5 → 17.10.1-dev.6306f548
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/Header/HeaderLinks.js +1 -1
- package/core/Header/HeaderLinks.js.map +1 -1
- package/core/Meganav/MeganavBlog.js +1 -1
- package/core/Meganav/MeganavBlog.js.map +1 -1
- package/core/Meganav/MeganavCustomerStories.js +1 -1
- package/core/Meganav/MeganavCustomerStories.js.map +1 -1
- package/core/Meganav/MeganavPanel.js +1 -1
- package/core/Meganav/MeganavPanel.js.map +1 -1
- package/core/Meganav/MeganavPanelItemLinks.js +1 -1
- package/core/Meganav/MeganavPanelItemLinks.js.map +1 -1
- package/core/Meganav/{utils.js → PanelTitle.js} +2 -2
- package/core/Meganav/PanelTitle.js.map +1 -0
- package/core/remote-blogs-posts.js.map +1 -1
- package/core/remote-session-data.js.map +1 -1
- package/index.d.ts +8 -8
- package/package.json +1 -1
- package/core/Meganav/utils.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useRef,useMemo}from"react";import Icon from"../Icon";import LinkButton from"../LinkButton";import cn from"../utils/cn";import DropdownMenu from"../DropdownMenu";const testSessionState={signedIn:false,logOut:{token:"0000",href:"accounts/sign_out"},accountName:"Ably"};export const HeaderLinks=({sessionState=testSessionState,headerLinks,searchButtonVisibility,searchButton,className})=>{const{signedIn,logOut}=sessionState;const formRef=useRef(null);const headerLinkClasses="font-sans text-label2 md
|
|
1
|
+
import React,{useRef,useMemo}from"react";import Icon from"../Icon";import LinkButton from"../LinkButton";import cn from"../utils/cn";import DropdownMenu from"../DropdownMenu";const testSessionState={signedIn:false,logOut:{token:"0000",href:"accounts/sign_out"},accountName:"Ably"};export const HeaderLinks=({sessionState=testSessionState,headerLinks,searchButtonVisibility,searchButton,className})=>{const{signedIn,logOut}=sessionState;const formRef=useRef(null);const headerLinkClasses="font-sans !text-label2 md:!text-label3 font-bold py-4 text-neutral-1300 dark:text-neutral-000 md:text-neutral-1000 dark:md:text-neutral-300 hover:text-neutral-1300 dark:hover:text-neutral-000 active:text-neutral-1300 dark:active:text-neutral-000 transition-colors";const dropdownMenuLinkClasses="block p-2 ui-text-label3 font-semibold text-neutral-1000 dark:text-neutral-300 hover:bg-neutral-100 dark:hover:bg-neutral-1200 active:bg-neutral-200 dark:active:bg-neutral-1100 rounded-lg";const onClickLogout=e=>{e.preventDefault();formRef.current?.submit()};const DashboardLink=({className})=>useMemo(()=>React.createElement("a",{href:"/dashboard",className:className},"Dashboard"),[className]);const LogoutForm=React.createElement("form",{ref:formRef,method:"post",action:logOut.href,className:"hidden"},React.createElement("input",{name:"_method",value:"delete",type:"hidden"}),React.createElement("input",{name:"authenticity_token",value:logOut.token,type:"hidden"}));return React.createElement("nav",{className:cn("flex md:flex-1 md:items-center md:justify-end flex-col md:flex-row border-t-[1px] border-neutral-300 md:border-t-0 md:gap-4 pt-3 pb-4 md:py-0",className)},signedIn&&React.createElement(React.Fragment,null,LogoutForm,React.createElement("div",{className:"block md:hidden"},React.createElement("div",{className:"flex flex-col border-b-[1px] border-neutral-300 px-4 pb-3 mb-3"},React.createElement("span",{className:"py-3 ui-text-sub-header text-[18px] text-neutral-700 dark:text-neutral-600 font-bold"},sessionState.accountName),React.createElement(DashboardLink,{className:headerLinkClasses})))),headerLinks?.map(({href,label,external})=>React.createElement("a",{key:href,className:cn(headerLinkClasses,"flex items-center gap-1.5 px-4 md:px-0 leading-none"),href:href,target:external?"_blank":undefined,rel:external?"noreferrer noopener":undefined},label,external&&React.createElement(Icon,{name:"icon-gui-arrow-top-right-on-square-mini",size:"20px"}))),searchButtonVisibility!=="mobile"?searchButton:null,signedIn?React.createElement(React.Fragment,null,React.createElement("div",{className:"hidden md:block relative"},React.createElement(DropdownMenu,null,React.createElement(DropdownMenu.Trigger,{description:`Account menu for ${sessionState.accountName}`},React.createElement("span",{className:"block text-ellipsis overflow-hidden whitespace-nowrap w-full max-w-[9.375rem] leading-normal"},sessionState.accountName)),React.createElement(DropdownMenu.Content,{anchorPosition:"right",contentClassNames:"w-60 mt-3"},React.createElement("div",{className:"p-2"},React.createElement(DashboardLink,{className:dropdownMenuLinkClasses}),React.createElement("button",{onClick:onClickLogout,className:dropdownMenuLinkClasses},"Logout"))))),React.createElement("div",{className:"block md:hidden px-4 pt-4 pb-0"},React.createElement(LinkButton,{onClick:onClickLogout,variant:"secondary",className:"w-full md:ui-button-secondary-xs","aria-label":"Logout",rightIcon:"icon-gui-arrow-right-end-on-rectangle-outline"},"Logout"))):React.createElement("div",{className:"flex gap-3 pt-3 md:py-0 px-4 md:px-0"},React.createElement(LinkButton,{href:"/login",variant:"secondary",className:"flex-1 md:flex-none md:ui-button-secondary-xs hover:text-neutral-1300 dark:hover:text-neutral-000"},"Login"),React.createElement(LinkButton,{href:"/sign-up",variant:"primary",className:"flex-1 md:flex-none md:ui-button-primary-xs hover:text-neutral-000 dark:hover:text-neutral-1300"},"Start free")))};
|
|
2
2
|
//# sourceMappingURL=HeaderLinks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/Header/HeaderLinks.tsx"],"sourcesContent":["import React, { MouseEvent, useRef, useMemo } from \"react\";\nimport { HeaderProps } from \"../Header\";\nimport Icon from \"../Icon\";\nimport LinkButton from \"../LinkButton\";\nimport cn from \"../utils/cn\";\nimport DropdownMenu from \"../DropdownMenu\";\n\nconst testSessionState = {\n signedIn: false,\n logOut: {\n token: \"0000\",\n href: \"accounts/sign_out\",\n },\n accountName: \"Ably\",\n};\n\nexport const HeaderLinks: React.FC<\n Pick<\n HeaderProps,\n | \"sessionState\"\n | \"headerLinks\"\n | \"searchButtonVisibility\"\n | \"searchButton\"\n | \"className\"\n >\n> = ({\n sessionState = testSessionState,\n headerLinks,\n searchButtonVisibility,\n searchButton,\n className,\n}) => {\n const { signedIn, logOut } = sessionState;\n const formRef = useRef<HTMLFormElement>(null);\n\n const headerLinkClasses =\n \"font-sans text-label2 md
|
|
1
|
+
{"version":3,"sources":["../../../src/core/Header/HeaderLinks.tsx"],"sourcesContent":["import React, { MouseEvent, useRef, useMemo } from \"react\";\nimport { HeaderProps } from \"../Header\";\nimport Icon from \"../Icon\";\nimport LinkButton from \"../LinkButton\";\nimport cn from \"../utils/cn\";\nimport DropdownMenu from \"../DropdownMenu\";\n\nconst testSessionState = {\n signedIn: false,\n logOut: {\n token: \"0000\",\n href: \"accounts/sign_out\",\n },\n accountName: \"Ably\",\n};\n\nexport const HeaderLinks: React.FC<\n Pick<\n HeaderProps,\n | \"sessionState\"\n | \"headerLinks\"\n | \"searchButtonVisibility\"\n | \"searchButton\"\n | \"className\"\n >\n> = ({\n sessionState = testSessionState,\n headerLinks,\n searchButtonVisibility,\n searchButton,\n className,\n}) => {\n const { signedIn, logOut } = sessionState;\n const formRef = useRef<HTMLFormElement>(null);\n\n const headerLinkClasses =\n \"font-sans !text-label2 md:!text-label3 font-bold py-4 text-neutral-1300 dark:text-neutral-000 md:text-neutral-1000 dark:md:text-neutral-300 hover:text-neutral-1300 dark:hover:text-neutral-000 active:text-neutral-1300 dark:active:text-neutral-000 transition-colors\";\n\n const dropdownMenuLinkClasses =\n \"block p-2 ui-text-label3 font-semibold text-neutral-1000 dark:text-neutral-300 hover:bg-neutral-100 dark:hover:bg-neutral-1200 active:bg-neutral-200 dark:active:bg-neutral-1100 rounded-lg\";\n\n const onClickLogout = (e: MouseEvent) => {\n e.preventDefault();\n formRef.current?.submit();\n };\n\n const DashboardLink = ({ className }: { className: string }) =>\n useMemo(\n () => (\n <a href=\"/dashboard\" className={className}>\n Dashboard\n </a>\n ),\n [className],\n );\n\n const LogoutForm = (\n <form ref={formRef} method=\"post\" action={logOut.href} className=\"hidden\">\n <input name=\"_method\" value=\"delete\" type=\"hidden\" />\n <input name=\"authenticity_token\" value={logOut.token} type=\"hidden\" />\n </form>\n );\n\n return (\n <nav\n className={cn(\n \"flex md:flex-1 md:items-center md:justify-end flex-col md:flex-row border-t-[1px] border-neutral-300 md:border-t-0 md:gap-4 pt-3 pb-4 md:py-0\",\n className,\n )}\n >\n {signedIn && (\n <>\n {LogoutForm}\n <div className=\"block md:hidden\">\n <div className=\"flex flex-col border-b-[1px] border-neutral-300 px-4 pb-3 mb-3\">\n <span className=\"py-3 ui-text-sub-header text-[18px] text-neutral-700 dark:text-neutral-600 font-bold\">\n {sessionState.accountName}\n </span>\n {<DashboardLink className={headerLinkClasses} />}\n </div>\n </div>\n </>\n )}\n\n {headerLinks?.map(({ href, label, external }) => (\n <a\n key={href}\n className={cn(\n headerLinkClasses,\n \"flex items-center gap-1.5 px-4 md:px-0 leading-none\",\n )}\n href={href}\n target={external ? \"_blank\" : undefined}\n rel={external ? \"noreferrer noopener\" : undefined}\n >\n {label}\n {external && (\n <Icon name=\"icon-gui-arrow-top-right-on-square-mini\" size=\"20px\" />\n )}\n </a>\n ))}\n\n {searchButtonVisibility !== \"mobile\" ? searchButton : null}\n {signedIn ? (\n <>\n <div className=\"hidden md:block relative\">\n <DropdownMenu>\n <DropdownMenu.Trigger\n description={`Account menu for ${sessionState.accountName}`}\n >\n <span className=\"block text-ellipsis overflow-hidden whitespace-nowrap w-full max-w-[9.375rem] leading-normal\">\n {sessionState.accountName}\n </span>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content\n anchorPosition=\"right\"\n contentClassNames=\"w-60 mt-3\"\n >\n <div className=\"p-2\">\n <DashboardLink className={dropdownMenuLinkClasses} />\n <button\n onClick={onClickLogout}\n className={dropdownMenuLinkClasses}\n >\n Logout\n </button>\n </div>\n </DropdownMenu.Content>\n </DropdownMenu>\n </div>\n <div className=\"block md:hidden px-4 pt-4 pb-0\">\n <LinkButton\n onClick={onClickLogout}\n variant=\"secondary\"\n className=\"w-full md:ui-button-secondary-xs\"\n aria-label=\"Logout\"\n rightIcon=\"icon-gui-arrow-right-end-on-rectangle-outline\"\n >\n Logout\n </LinkButton>\n </div>\n </>\n ) : (\n <div className=\"flex gap-3 pt-3 md:py-0 px-4 md:px-0\">\n <LinkButton\n href=\"/login\"\n variant=\"secondary\"\n className=\"flex-1 md:flex-none md:ui-button-secondary-xs hover:text-neutral-1300 dark:hover:text-neutral-000\"\n >\n Login\n </LinkButton>\n <LinkButton\n href=\"/sign-up\"\n variant=\"primary\"\n className=\"flex-1 md:flex-none md:ui-button-primary-xs hover:text-neutral-000 dark:hover:text-neutral-1300\"\n >\n Start free\n </LinkButton>\n </div>\n )}\n </nav>\n );\n};\n"],"names":["React","useRef","useMemo","Icon","LinkButton","cn","DropdownMenu","testSessionState","signedIn","logOut","token","href","accountName","HeaderLinks","sessionState","headerLinks","searchButtonVisibility","searchButton","className","formRef","headerLinkClasses","dropdownMenuLinkClasses","onClickLogout","e","preventDefault","current","submit","DashboardLink","a","LogoutForm","form","ref","method","action","input","name","value","type","nav","div","span","map","label","external","key","target","undefined","rel","size","Trigger","description","Content","anchorPosition","contentClassNames","button","onClick","variant","aria-label","rightIcon"],"mappings":"AAAA,OAAOA,OAAqBC,MAAM,CAAEC,OAAO,KAAQ,OAAQ,AAE3D,QAAOC,SAAU,SAAU,AAC3B,QAAOC,eAAgB,eAAgB,AACvC,QAAOC,OAAQ,aAAc,AAC7B,QAAOC,iBAAkB,iBAAkB,CAE3C,MAAMC,iBAAmB,CACvBC,SAAU,MACVC,OAAQ,CACNC,MAAO,OACPC,KAAM,mBACR,EACAC,YAAa,MACf,CAEA,QAAO,MAAMC,YAST,CAAC,CACHC,aAAeP,gBAAgB,CAC/BQ,WAAW,CACXC,sBAAsB,CACtBC,YAAY,CACZC,SAAS,CACV,IACC,KAAM,CAAEV,QAAQ,CAAEC,MAAM,CAAE,CAAGK,aAC7B,MAAMK,QAAUlB,OAAwB,MAExC,MAAMmB,kBACJ,0QAEF,MAAMC,wBACJ,8LAEF,MAAMC,cAAgB,AAACC,IACrBA,EAAEC,cAAc,EAChBL,CAAAA,QAAQM,OAAO,EAAEC,QACnB,EAEA,MAAMC,cAAgB,CAAC,CAAET,SAAS,CAAyB,GACzDhB,QACE,IACE,oBAAC0B,KAAEjB,KAAK,aAAaO,UAAWA,WAAW,aAI7C,CAACA,UAAU,EAGf,MAAMW,WACJ,oBAACC,QAAKC,IAAKZ,QAASa,OAAO,OAAOC,OAAQxB,OAAOE,IAAI,CAAEO,UAAU,UAC/D,oBAACgB,SAAMC,KAAK,UAAUC,MAAM,SAASC,KAAK,WAC1C,oBAACH,SAAMC,KAAK,qBAAqBC,MAAO3B,OAAOC,KAAK,CAAE2B,KAAK,YAI/D,OACE,oBAACC,OACCpB,UAAWb,GACT,gJACAa,YAGDV,UACC,wCACGqB,WACD,oBAACU,OAAIrB,UAAU,mBACb,oBAACqB,OAAIrB,UAAU,kEACb,oBAACsB,QAAKtB,UAAU,wFACbJ,aAAaF,WAAW,EAE1B,oBAACe,eAAcT,UAAWE,uBAMlCL,aAAa0B,IAAI,CAAC,CAAE9B,IAAI,CAAE+B,KAAK,CAAEC,QAAQ,CAAE,GAC1C,oBAACf,KACCgB,IAAKjC,KACLO,UAAWb,GACTe,kBACA,uDAEFT,KAAMA,KACNkC,OAAQF,SAAW,SAAWG,UAC9BC,IAAKJ,SAAW,sBAAwBG,WAEvCJ,MACAC,UACC,oBAACxC,MAAKgC,KAAK,0CAA0Ca,KAAK,WAK/DhC,yBAA2B,SAAWC,aAAe,KACrDT,SACC,wCACE,oBAAC+B,OAAIrB,UAAU,4BACb,oBAACZ,kBACC,oBAACA,aAAa2C,OAAO,EACnBC,YAAa,CAAC,iBAAiB,EAAEpC,aAAaF,WAAW,CAAC,CAAC,EAE3D,oBAAC4B,QAAKtB,UAAU,gGACbJ,aAAaF,WAAW,GAG7B,oBAACN,aAAa6C,OAAO,EACnBC,eAAe,QACfC,kBAAkB,aAElB,oBAACd,OAAIrB,UAAU,OACb,oBAACS,eAAcT,UAAWG,0BAC1B,oBAACiC,UACCC,QAASjC,cACTJ,UAAWG,yBACZ,cAOT,oBAACkB,OAAIrB,UAAU,kCACb,oBAACd,YACCmD,QAASjC,cACTkC,QAAQ,YACRtC,UAAU,mCACVuC,aAAW,SACXC,UAAU,iDACX,YAML,oBAACnB,OAAIrB,UAAU,wCACb,oBAACd,YACCO,KAAK,SACL6C,QAAQ,YACRtC,UAAU,qGACX,SAGD,oBAACd,YACCO,KAAK,WACL6C,QAAQ,UACRtC,UAAU,mGACX,eAOX,CAAE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{PanelTitle}from"./
|
|
1
|
+
import React from"react";import{PanelTitle}from"./PanelTitle";import Badge from"../Badge";const getCategoryColor=category=>{const upperCategory=category.toUpperCase();if(["NEW RELEASE","ABLY ENGINEERING","ABLY NEWS","NEW FEATURE","REALTIME EXPERIENCES"].includes(upperCategory))return"orange";if(["CHAT","SPACES"].includes(upperCategory))return"blue";if(["LIVEOBJECTS","LIVESYNC"].includes(upperCategory))return"green";if(upperCategory==="PUBSUB")return"pink";if(upperCategory==="AI TRANSPORT")return"violet";return"neutral"};const MeganavBlog=({title,link,posts})=>{return React.createElement("div",{className:"mt-3"},React.createElement(PanelTitle,{title:title,link:link}),posts.map(post=>React.createElement("a",{href:post.link,className:"flex flex-col gap-1 p-3 transition-colors group/blog-post rounded-lg hover:bg-neutral-100 dark:hover:bg-neutral-1200 active:bg-neutral-200 dark:active:bg-neutral-1100 focus-base",key:post.link},React.createElement("span",{className:"flex gap-2"},post.categories.map(category=>React.createElement(Badge,{color:getCategoryColor(category),key:category,size:"xs",className:"group-hover/blog-post:bg-neutral-000 dark:group-hover/blog-post:bg-neutral-1300"},category.toUpperCase()))),React.createElement("span",{className:"ui-text-label3 font-semibold text-neutral-1000 dark:text-neutral-300 group-hover/blog-post:text-neutral-1300 dark:group-hover/blog-post:text-neutral-000"},post.title),React.createElement("span",{className:"text-[11px] font-medium leading-[1.4] text-neutral-700 dark:text-neutral-600"},post.pubDate))))};export default MeganavBlog;
|
|
2
2
|
//# sourceMappingURL=MeganavBlog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/Meganav/MeganavBlog.tsx"],"sourcesContent":["import React from \"react\";\nimport { PanelTitle } from \"./
|
|
1
|
+
{"version":3,"sources":["../../../src/core/Meganav/MeganavBlog.tsx"],"sourcesContent":["import React from \"react\";\nimport { PanelTitle } from \"./PanelTitle\";\nimport Badge from \"../Badge\";\n\nimport { ColorClassColorGroups } from \"../styles/colors/types\";\n\nexport type BlogPost = {\n title: string;\n link: string;\n categories: string[];\n pubDate: string;\n};\n\nexport type MeganavBlogProps = {\n title: string;\n link: string;\n posts: BlogPost[];\n};\n\nconst getCategoryColor = (category: string): ColorClassColorGroups => {\n const upperCategory = category.toUpperCase();\n if (\n [\n \"NEW RELEASE\",\n \"ABLY ENGINEERING\",\n \"ABLY NEWS\",\n \"NEW FEATURE\",\n \"REALTIME EXPERIENCES\",\n ].includes(upperCategory)\n )\n return \"orange\";\n if ([\"CHAT\", \"SPACES\"].includes(upperCategory)) return \"blue\";\n if ([\"LIVEOBJECTS\", \"LIVESYNC\"].includes(upperCategory)) return \"green\";\n if (upperCategory === \"PUBSUB\") return \"pink\";\n if (upperCategory === \"AI TRANSPORT\") return \"violet\";\n return \"neutral\";\n};\n\nconst MeganavBlog = ({ title, link, posts }: MeganavBlogProps) => {\n return (\n <div className=\"mt-3\">\n <PanelTitle title={title} link={link} />\n {posts.map((post) => (\n <a\n href={post.link}\n className=\"flex flex-col gap-1 p-3 \n transition-colors group/blog-post rounded-lg\n hover:bg-neutral-100 dark:hover:bg-neutral-1200 \n active:bg-neutral-200 dark:active:bg-neutral-1100 focus-base\"\n key={post.link}\n >\n <span className=\"flex gap-2\">\n {post.categories.map((category: string) => (\n <Badge\n color={getCategoryColor(category)}\n key={category}\n size=\"xs\"\n className=\"group-hover/blog-post:bg-neutral-000 dark:group-hover/blog-post:bg-neutral-1300\"\n >\n {category.toUpperCase()}\n </Badge>\n ))}\n </span>\n <span\n className=\"ui-text-label3 font-semibold text-neutral-1000 dark:text-neutral-300\n group-hover/blog-post:text-neutral-1300 dark:group-hover/blog-post:text-neutral-000\"\n >\n {post.title}\n </span>\n\n <span className=\"text-[11px] font-medium leading-[1.4] text-neutral-700 dark:text-neutral-600\">\n {post.pubDate}\n </span>\n </a>\n ))}\n </div>\n );\n};\n\nexport default MeganavBlog;\n"],"names":["React","PanelTitle","Badge","getCategoryColor","category","upperCategory","toUpperCase","includes","MeganavBlog","title","link","posts","div","className","map","post","a","href","key","span","categories","color","size","pubDate"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,UAAU,KAAQ,cAAe,AAC1C,QAAOC,UAAW,UAAW,CAiB7B,MAAMC,iBAAmB,AAACC,WACxB,MAAMC,cAAgBD,SAASE,WAAW,GAC1C,GACE,CACE,cACA,mBACA,YACA,cACA,uBACD,CAACC,QAAQ,CAACF,eAEX,MAAO,SACT,GAAI,CAAC,OAAQ,SAAS,CAACE,QAAQ,CAACF,eAAgB,MAAO,OACvD,GAAI,CAAC,cAAe,WAAW,CAACE,QAAQ,CAACF,eAAgB,MAAO,QAChE,GAAIA,gBAAkB,SAAU,MAAO,OACvC,GAAIA,gBAAkB,eAAgB,MAAO,SAC7C,MAAO,SACT,EAEA,MAAMG,YAAc,CAAC,CAAEC,KAAK,CAAEC,IAAI,CAAEC,KAAK,CAAoB,IAC3D,OACE,oBAACC,OAAIC,UAAU,QACb,oBAACZ,YAAWQ,MAAOA,MAAOC,KAAMA,OAC/BC,MAAMG,GAAG,CAAC,AAACC,MACV,oBAACC,KACCC,KAAMF,KAAKL,IAAI,CACfG,UAAU,uLAIVK,IAAKH,KAAKL,IAAI,EAEd,oBAACS,QAAKN,UAAU,cACbE,KAAKK,UAAU,CAACN,GAAG,CAAC,AAACV,UACpB,oBAACF,OACCmB,MAAOlB,iBAAiBC,UACxBc,IAAKd,SACLkB,KAAK,KACLT,UAAU,mFAETT,SAASE,WAAW,MAI3B,oBAACa,QACCN,UAAU,4JAGTE,KAAKN,KAAK,EAGb,oBAACU,QAAKN,UAAU,gFACbE,KAAKQ,OAAO,IAMzB,CAEA,gBAAef,WAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{PanelTitle}from"./
|
|
1
|
+
import React from"react";import{PanelTitle}from"./PanelTitle";const MeganavCustomerStories=({customerStoriesHighlight,title,link})=>{const{companyName,companyDesc,companyLink,companyLogo,companyLogoDark}=customerStoriesHighlight;return React.createElement("div",{className:"mt-3"},React.createElement(PanelTitle,{title:title,link:link}),React.createElement("a",{href:companyLink,className:"flex flex-col gap-y-2.5 p-3 pointer-events-auto rounded-lg transition-colors group/customer-story-highlight hover:bg-neutral-100 dark:hover:bg-neutral-1200 focus-base active:bg-neutral-200 dark:active:bg-neutral-1100"},React.createElement("figure",{className:"rounded bg-neutral-100 dark:bg-neutral-1200 group-hover/customer-story-highlight:bg-neutral-000 dark:group-hover/customer-story-highlight:bg-neutral-1300 flex justify-center items-center gap-4 h-[180px]"},React.createElement("img",{src:companyLogo,alt:companyName,className:"max-h-[120px] dark:hidden"}),companyLogoDark&&React.createElement("img",{src:companyLogoDark,alt:companyName,className:"max-h-[120px] hidden dark:block"})),React.createElement("span",{className:"flex flex-col gap-2"},React.createElement("span",{className:"ui-text-p4 text-neutral-1000 dark:text-neutral-300"},React.createElement("strong",{className:"font-semibold text-neutral-1300 dark:text-neutral-000"},companyName)," ",companyDesc))))};export default MeganavCustomerStories;
|
|
2
2
|
//# sourceMappingURL=MeganavCustomerStories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/Meganav/MeganavCustomerStories.tsx"],"sourcesContent":["import React from \"react\";\nimport { PanelTitle } from \"./
|
|
1
|
+
{"version":3,"sources":["../../../src/core/Meganav/MeganavCustomerStories.tsx"],"sourcesContent":["import React from \"react\";\nimport { PanelTitle } from \"./PanelTitle\";\n\nexport type CustomerStoryHighlight = {\n companyName: string;\n companyDesc: string;\n companyLink: string;\n companyLogo: string;\n companyLogoDark?: string;\n};\n\nconst MeganavCustomerStories = ({\n customerStoriesHighlight,\n title,\n link,\n}: {\n customerStoriesHighlight: CustomerStoryHighlight;\n title: string;\n link: string;\n}) => {\n const {\n companyName,\n companyDesc,\n companyLink,\n companyLogo,\n companyLogoDark,\n } = customerStoriesHighlight;\n return (\n <div className=\"mt-3\">\n <PanelTitle title={title} link={link} />\n <a\n href={companyLink}\n className=\"flex flex-col gap-y-2.5 p-3 pointer-events-auto rounded-lg\n transition-colors group/customer-story-highlight \n hover:bg-neutral-100 dark:hover:bg-neutral-1200 focus-base\n active:bg-neutral-200 dark:active:bg-neutral-1100\"\n >\n <figure\n className=\"rounded bg-neutral-100 dark:bg-neutral-1200 \n group-hover/customer-story-highlight:bg-neutral-000 \n dark:group-hover/customer-story-highlight:bg-neutral-1300\n flex justify-center items-center gap-4 h-[180px]\"\n >\n <img\n src={companyLogo}\n alt={companyName}\n className=\"max-h-[120px] dark:hidden\"\n />\n {companyLogoDark && (\n <img\n src={companyLogoDark}\n alt={companyName}\n className=\"max-h-[120px] hidden dark:block\"\n />\n )}\n </figure>\n <span className=\"flex flex-col gap-2\">\n <span className=\"ui-text-p4 text-neutral-1000 dark:text-neutral-300\">\n <strong className=\"font-semibold text-neutral-1300 dark:text-neutral-000\">\n {companyName}\n </strong>{\" \"}\n {companyDesc}\n </span>\n </span>\n </a>\n </div>\n );\n};\n\nexport default MeganavCustomerStories;\n"],"names":["React","PanelTitle","MeganavCustomerStories","customerStoriesHighlight","title","link","companyName","companyDesc","companyLink","companyLogo","companyLogoDark","div","className","a","href","figure","img","src","alt","span","strong"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAASC,UAAU,KAAQ,cAAe,CAU1C,MAAMC,uBAAyB,CAAC,CAC9BC,wBAAwB,CACxBC,KAAK,CACLC,IAAI,CAKL,IACC,KAAM,CACJC,WAAW,CACXC,WAAW,CACXC,WAAW,CACXC,WAAW,CACXC,eAAe,CAChB,CAAGP,yBACJ,OACE,oBAACQ,OAAIC,UAAU,QACb,oBAACX,YAAWG,MAAOA,MAAOC,KAAMA,OAChC,oBAACQ,KACCC,KAAMN,YACNI,UAAU,6NAKV,oBAACG,UACCH,UAAU,gNAKV,oBAACI,OACCC,IAAKR,YACLS,IAAKZ,YACLM,UAAU,8BAEXF,iBACC,oBAACM,OACCC,IAAKP,gBACLQ,IAAKZ,YACLM,UAAU,qCAIhB,oBAACO,QAAKP,UAAU,uBACd,oBAACO,QAAKP,UAAU,sDACd,oBAACQ,UAAOR,UAAU,yDACfN,aACO,IACTC,eAMb,CAEA,gBAAeL,sBAAuB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{productsForNav}from"./data";import{productNames}from"../ProductTile/data";import MeganavPanelItemLinks from"./MeganavPanelItemLinks";import MeganavTile from"./MeganavTile";import cn from"../utils/cn";const
|
|
1
|
+
import React from"react";import{productsForNav}from"./data";import{productNames}from"../ProductTile/data";import MeganavPanelItemLinks from"./MeganavPanelItemLinks";import MeganavTile from"./MeganavTile";import cn from"../utils/cn";const basePanelClassName="bg-neutral-000 dark:bg-neutral-1300 m-0 md:m-6";const gridPanelClassName=cn(basePanelClassName,"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-x-4");export const MeganavPanel=({displayProductTile,panelLeft,panelMiddleItems,panelRightItems,panelRightBottom,panelRightBottomClassName})=>{const renderProductsGrid=()=>React.createElement("div",{className:"grid grid-cols-1 sm:grid-cols-2 col-span-1 sm:col-span-2"},productNames.map(product=>React.createElement(MeganavTile,{key:product,productName:product,link:productsForNav[product].link??"#",animateIcons:true})));return React.createElement("div",{className:cn(gridPanelClassName,"items-start")},displayProductTile?renderProductsGrid():React.createElement(React.Fragment,null,panelLeft,panelMiddleItems),React.createElement("div",{className:"flex flex-col justify-between gap-y-6 mt-3 self-stretch"},panelRightItems?.map(rightItem=>React.createElement(MeganavPanelItemLinks,{key:rightItem.link?.label||rightItem.label,label:rightItem.label,listItems:rightItem.listItems,link:rightItem.link})),panelRightBottom&&React.createElement("div",{className:cn("items-end mt-4 md:mt-0",panelRightBottomClassName)},panelRightBottom)))};export const MeganavPanelFullwidth=({panelItems})=>React.createElement(React.Fragment,null,React.createElement("div",{className:cn(gridPanelClassName,"hidden md:grid")},panelItems.map(item=>React.createElement(MeganavTile,{key:item.label,navLabel:item.label,navIcon:item.icon,navDescription:item.description,link:item.link,showAblyText:false}))),React.createElement("div",{className:cn(basePanelClassName,"block md:hidden")},React.createElement(MeganavPanelItemLinks,{listItems:panelItems})));
|
|
2
2
|
//# sourceMappingURL=MeganavPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/Meganav/MeganavPanel.tsx"],"sourcesContent":["import React from \"react\";\nimport { FlyoutPanelList, productsForNav } from \"./data\";\nimport { ProductName, productNames } from \"../ProductTile/data\";\nimport MeganavPanelItemLinks, {\n MeganavPanelItemLink,\n} from \"./MeganavPanelItemLinks\";\nimport MeganavTile from \"./MeganavTile\";\nimport cn from \"../utils/cn\";\n\ntype MeganavPanelProps = {\n displayProductTile?: boolean;\n panelLeft?: React.ReactNode;\n panelMiddleItems?: React.ReactNode;\n panelRightItems?: MeganavPanelItemLink[];\n panelRightBottom?: React.ReactNode;\n panelRightBottomClassName?: string;\n};\n\nconst
|
|
1
|
+
{"version":3,"sources":["../../../src/core/Meganav/MeganavPanel.tsx"],"sourcesContent":["import React from \"react\";\nimport { FlyoutPanelList, productsForNav } from \"./data\";\nimport { ProductName, productNames } from \"../ProductTile/data\";\nimport MeganavPanelItemLinks, {\n MeganavPanelItemLink,\n} from \"./MeganavPanelItemLinks\";\nimport MeganavTile from \"./MeganavTile\";\nimport cn from \"../utils/cn\";\n\ntype MeganavPanelProps = {\n displayProductTile?: boolean;\n panelLeft?: React.ReactNode;\n panelMiddleItems?: React.ReactNode;\n panelRightItems?: MeganavPanelItemLink[];\n panelRightBottom?: React.ReactNode;\n panelRightBottomClassName?: string;\n};\n\nconst basePanelClassName = \"bg-neutral-000 dark:bg-neutral-1300 m-0 md:m-6\";\n\nconst gridPanelClassName = cn(\n basePanelClassName,\n \"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-x-4\",\n);\n\nexport const MeganavPanel = ({\n displayProductTile,\n panelLeft,\n panelMiddleItems,\n panelRightItems,\n panelRightBottom,\n panelRightBottomClassName,\n}: MeganavPanelProps) => {\n const renderProductsGrid = () => (\n <div className=\"grid grid-cols-1 sm:grid-cols-2 col-span-1 sm:col-span-2\">\n {productNames.map((product) => (\n <MeganavTile\n key={product}\n productName={product as ProductName}\n link={productsForNav[product].link ?? \"#\"}\n animateIcons\n />\n ))}\n </div>\n );\n\n return (\n <div className={cn(gridPanelClassName, \"items-start\")}>\n {displayProductTile ? (\n renderProductsGrid()\n ) : (\n <>\n {panelLeft}\n {panelMiddleItems}\n </>\n )}\n\n <div className=\"flex flex-col justify-between gap-y-6 mt-3 self-stretch\">\n {panelRightItems?.map((rightItem) => (\n <MeganavPanelItemLinks\n key={rightItem.link?.label || rightItem.label}\n label={rightItem.label}\n listItems={rightItem.listItems}\n link={rightItem.link}\n />\n ))}\n {panelRightBottom && (\n <div\n className={cn(\"items-end mt-4 md:mt-0\", panelRightBottomClassName)}\n >\n {panelRightBottom}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport const MeganavPanelFullwidth = ({\n panelItems,\n}: {\n panelItems: FlyoutPanelList[];\n}) => (\n <>\n <div className={cn(gridPanelClassName, \"hidden md:grid\")}>\n {panelItems.map((item) => (\n <MeganavTile\n key={item.label}\n navLabel={item.label}\n navIcon={item.icon}\n navDescription={item.description}\n link={item.link}\n showAblyText={false}\n />\n ))}\n </div>\n <div className={cn(basePanelClassName, \"block md:hidden\")}>\n <MeganavPanelItemLinks listItems={panelItems} />\n </div>\n </>\n);\n"],"names":["React","productsForNav","productNames","MeganavPanelItemLinks","MeganavTile","cn","basePanelClassName","gridPanelClassName","MeganavPanel","displayProductTile","panelLeft","panelMiddleItems","panelRightItems","panelRightBottom","panelRightBottomClassName","renderProductsGrid","div","className","map","product","key","productName","link","animateIcons","rightItem","label","listItems","MeganavPanelFullwidth","panelItems","item","navLabel","navIcon","icon","navDescription","description","showAblyText"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAA0BC,cAAc,KAAQ,QAAS,AACzD,QAAsBC,YAAY,KAAQ,qBAAsB,AAChE,QAAOC,0BAEA,yBAA0B,AACjC,QAAOC,gBAAiB,eAAgB,AACxC,QAAOC,OAAQ,aAAc,CAW7B,MAAMC,mBAAqB,iDAE3B,MAAMC,mBAAqBF,GACzBC,mBACA,yDAGF,QAAO,MAAME,aAAe,CAAC,CAC3BC,kBAAkB,CAClBC,SAAS,CACTC,gBAAgB,CAChBC,eAAe,CACfC,gBAAgB,CAChBC,yBAAyB,CACP,IAClB,MAAMC,mBAAqB,IACzB,oBAACC,OAAIC,UAAU,4DACZf,aAAagB,GAAG,CAAC,AAACC,SACjB,oBAACf,aACCgB,IAAKD,QACLE,YAAaF,QACbG,KAAMrB,cAAc,CAACkB,QAAQ,CAACG,IAAI,EAAI,IACtCC,aAAAA,SAMR,OACE,oBAACP,OAAIC,UAAWZ,GAAGE,mBAAoB,gBACpCE,mBACCM,qBAEA,wCACGL,UACAC,kBAIL,oBAACK,OAAIC,UAAU,2DACZL,iBAAiBM,IAAI,AAACM,WACrB,oBAACrB,uBACCiB,IAAKI,UAAUF,IAAI,EAAEG,OAASD,UAAUC,KAAK,CAC7CA,MAAOD,UAAUC,KAAK,CACtBC,UAAWF,UAAUE,SAAS,CAC9BJ,KAAME,UAAUF,IAAI,IAGvBT,kBACC,oBAACG,OACCC,UAAWZ,GAAG,yBAA0BS,4BAEvCD,mBAMb,CAAE,AAEF,QAAO,MAAMc,sBAAwB,CAAC,CACpCC,UAAU,CAGX,GACC,wCACE,oBAACZ,OAAIC,UAAWZ,GAAGE,mBAAoB,mBACpCqB,WAAWV,GAAG,CAAC,AAACW,MACf,oBAACzB,aACCgB,IAAKS,KAAKJ,KAAK,CACfK,SAAUD,KAAKJ,KAAK,CACpBM,QAASF,KAAKG,IAAI,CAClBC,eAAgBJ,KAAKK,WAAW,CAChCZ,KAAMO,KAAKP,IAAI,CACfa,aAAc,UAIpB,oBAACnB,OAAIC,UAAWZ,GAAGC,mBAAoB,oBACrC,oBAACH,uBAAsBuB,UAAWE,cAGtC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import Icon from"../Icon";import cn from"../utils/cn";import Badge from"../Badge";import{PanelTitle}from"./
|
|
1
|
+
import React from"react";import Icon from"../Icon";import cn from"../utils/cn";import Badge from"../Badge";import{PanelTitle}from"./PanelTitle";const MeganavPanelItemLinks=({label,listItems,link})=>{return React.createElement("ul",null,(link?.label||label)&&React.createElement(PanelTitle,{title:link?.label||label||"",link:link?.link??""}),listItems&&listItems.map(listItem=>React.createElement("li",{className:cn("list-none py-2.5 md:py-2 px-3 my-0 flex gap-x-2.5 rounded-lg group hover:cursor-pointer","hover:bg-neutral-100 dark:hover:bg-neutral-1200 active:bg-neutral-200 dark:active:bg-neutral-1100",listItem.isMobile?"md:hidden":"md:flex"),key:listItem.label},listItem.icon&&React.createElement(Icon,{name:listItem.icon,size:"1.25rem",additionalCSS:"text-neutral-1000 dark:text-neutral-300"}),React.createElement("a",{className:"pointer-events-auto font-sans text-label2 md:text-label3 font-semibold text-neutral-1000 dark:text-neutral-300 group-hover:text-neutral-1300 dark:group-hover:text-neutral-000 focus-base",href:listItem.link},listItem.label),listItem.badge&&React.createElement(Badge,{size:"xs"},listItem.badge))))};export default MeganavPanelItemLinks;
|
|
2
2
|
//# sourceMappingURL=MeganavPanelItemLinks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/Meganav/MeganavPanelItemLinks.tsx"],"sourcesContent":["import React from \"react\";\nimport Icon from \"../Icon\";\nimport cn from \"../utils/cn\";\nimport Badge from \"../Badge\";\nimport { PanelTitle } from \"./
|
|
1
|
+
{"version":3,"sources":["../../../src/core/Meganav/MeganavPanelItemLinks.tsx"],"sourcesContent":["import React from \"react\";\nimport Icon from \"../Icon\";\nimport cn from \"../utils/cn\";\nimport Badge from \"../Badge\";\nimport { PanelTitle } from \"./PanelTitle\";\nimport { IconName } from \"../Icon/types\";\nimport { FlyoutPanelList } from \"./data\";\n\nexport type MeganavPanelItemLink = {\n label?: string;\n listItems: FlyoutPanelList[];\n icon?: IconName;\n link?: {\n label: string;\n link: string;\n };\n};\n\nconst MeganavPanelItemLinks = ({\n label,\n listItems,\n link,\n}: MeganavPanelItemLink) => {\n return (\n <ul>\n {(link?.label || label) && (\n <PanelTitle\n title={link?.label || label || \"\"}\n link={link?.link ?? \"\"}\n />\n )}\n\n {listItems &&\n listItems.map((listItem) => (\n <li\n className={cn(\n \"list-none py-2.5 md:py-2 px-3 my-0 flex gap-x-2.5 rounded-lg group hover:cursor-pointer\",\n \"hover:bg-neutral-100 dark:hover:bg-neutral-1200 active:bg-neutral-200 dark:active:bg-neutral-1100\",\n listItem.isMobile ? \"md:hidden\" : \"md:flex\",\n )}\n key={listItem.label}\n >\n {listItem.icon && (\n <Icon\n name={listItem.icon}\n size=\"1.25rem\"\n additionalCSS=\"text-neutral-1000 dark:text-neutral-300\"\n />\n )}\n <a\n className=\"pointer-events-auto font-sans text-label2 md:text-label3 font-semibold text-neutral-1000 dark:text-neutral-300 \n group-hover:text-neutral-1300 dark:group-hover:text-neutral-000 focus-base\"\n href={listItem.link}\n >\n {listItem.label}\n </a>\n {listItem.badge && <Badge size=\"xs\">{listItem.badge}</Badge>}\n </li>\n ))}\n </ul>\n );\n};\n\nexport default MeganavPanelItemLinks;\n"],"names":["React","Icon","cn","Badge","PanelTitle","MeganavPanelItemLinks","label","listItems","link","ul","title","map","listItem","li","className","isMobile","key","icon","name","size","additionalCSS","a","href","badge"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAAOC,SAAU,SAAU,AAC3B,QAAOC,OAAQ,aAAc,AAC7B,QAAOC,UAAW,UAAW,AAC7B,QAASC,UAAU,KAAQ,cAAe,CAc1C,MAAMC,sBAAwB,CAAC,CAC7BC,KAAK,CACLC,SAAS,CACTC,IAAI,CACiB,IACrB,OACE,oBAACC,UACE,AAACD,CAAAA,MAAMF,OAASA,KAAI,GACnB,oBAACF,YACCM,MAAOF,MAAMF,OAASA,OAAS,GAC/BE,KAAMA,MAAMA,MAAQ,KAIvBD,WACCA,UAAUI,GAAG,CAAC,AAACC,UACb,oBAACC,MACCC,UAAWZ,GACT,0FACA,oGACAU,SAASG,QAAQ,CAAG,YAAc,WAEpCC,IAAKJ,SAASN,KAAK,EAElBM,SAASK,IAAI,EACZ,oBAAChB,MACCiB,KAAMN,SAASK,IAAI,CACnBE,KAAK,UACLC,cAAc,4CAGlB,oBAACC,KACCP,UAAU,6LAEVQ,KAAMV,SAASJ,IAAI,EAElBI,SAASN,KAAK,EAEhBM,SAASW,KAAK,EAAI,oBAACpB,OAAMgB,KAAK,MAAMP,SAASW,KAAK,IAK/D,CAEA,gBAAelB,qBAAsB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import FeaturedLink from"../FeaturedLink";export const PanelTitle=({title,link})=>{return React.createElement("div",{className:"mb-3 px-3"},link?React.createElement(FeaturedLink,{url:link,textSize:"text-overline2",additionalCSS:"ui-text-overline2 mb-0 py-0 font-medium font-mono text-neutral-700 dark:text-neutral-600 hover:text-neutral-1300 dark:hover:text-neutral-000 active:text-neutral-1100 dark:active:text-neutral-200 focus-base"},title):React.createElement("p",{className:"ui-text-overline2 text-neutral-700 dark:text-neutral-600 font-medium font-mono"},title))};
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import React from"react";import FeaturedLink from"../FeaturedLink";export const PanelTitle=({title,link})=>{return React.createElement("div",{className:"mb-3 px-3"},link?React.createElement(FeaturedLink,{url:link,textSize:"text-overline2",additionalCSS:"ui-text-overline2 mb-0 py-0 font-medium font-mono text-neutral-700 dark:text-neutral-600 hover:text-neutral-1300 dark:hover:text-neutral-000 active:text-neutral-1100 dark:active:text-neutral-200 focus-base"},title,"zx"):React.createElement("p",{className:"ui-text-overline2 text-neutral-700 dark:text-neutral-600 font-medium font-mono"},title))};
|
|
2
|
+
//# sourceMappingURL=PanelTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/core/Meganav/PanelTitle.tsx"],"sourcesContent":["import React from \"react\";\nimport FeaturedLink from \"../FeaturedLink\";\n\nexport const PanelTitle = ({\n title,\n link,\n}: {\n title: string;\n link?: string;\n}) => {\n return (\n <div className=\"mb-3 px-3\">\n {link ? (\n <FeaturedLink\n url={link}\n textSize=\"text-overline2\"\n additionalCSS=\"ui-text-overline2 mb-0 py-0 font-medium font-mono\n text-neutral-700 dark:text-neutral-600 hover:text-neutral-1300 dark:hover:text-neutral-000\n active:text-neutral-1100 dark:active:text-neutral-200 focus-base\"\n >\n {title}zx\n </FeaturedLink>\n ) : (\n <p className=\"ui-text-overline2 text-neutral-700 dark:text-neutral-600 font-medium font-mono\">\n {title}\n </p>\n )}\n </div>\n );\n};\n"],"names":["React","FeaturedLink","PanelTitle","title","link","div","className","url","textSize","additionalCSS","p"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,iBAAkB,AAE3C,QAAO,MAAMC,WAAa,CAAC,CACzBC,KAAK,CACLC,IAAI,CAIL,IACC,OACE,oBAACC,OAAIC,UAAU,aACZF,KACC,oBAACH,cACCM,IAAKH,KACLI,SAAS,iBACTC,cAAc,iNAIbN,MAAM,MAGT,oBAACO,KAAEJ,UAAU,kFACVH,OAKX,CAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/remote-blogs-posts.js"],"sourcesContent":["/* global __ENABLE_FETCH_WITH_CREDENTIALS__ */\n\nimport { isJsonResponse } from \"./remote-data-util\";\n\nconst fetchBlogPosts = async (store, blogUrl) => {\n try {\n if (!blogUrl) {\n console.log(\n `Skipping fetching blog posts, invalid blogUrl: \"${blogUrl}\"`,\n );\n return;\n }\n\n const options = {\n headers: {\n accept: \"application/json\",\n },\n cache: \"no-cache\",\n };\n\n if (__ENABLE_FETCH_WITH_CREDENTIALS__) {\n options.credentials = \"include\";\n }\n\n const res = await fetch(blogUrl, options);\n\n if (isJsonResponse(res.headers.get(\"content-type\"))) {\n const payload = await res.json();\n store.dispatch({ type: \"blog/loaded\", payload });\n } else {\n throw new Error(\"Blog posts url is not serving json\");\n }\n } catch (e) {\n console.warn(\"Could not fetch blog posts due to error:\", e);\n }\n};\n\nconst initialState = { recent: null };\n\nconst REDUCER_KEY = \"blogPosts\";\n\nconst reducerBlogPosts = {\n [REDUCER_KEY]: (state = initialState, action) => {\n switch (action.type) {\n case \"blog/loaded\":\n return { ...state, recent: action.payload };\n default:\n return state;\n }\n },\n};\n\nconst selectRecentBlogPosts = (store) => store.getState()[REDUCER_KEY]?.recent;\n\nexport { fetchBlogPosts, reducerBlogPosts, selectRecentBlogPosts };\n"],"names":["isJsonResponse","fetchBlogPosts","store","blogUrl","console","log","options","headers","accept","cache","credentials","res","fetch","get","payload","json","dispatch","type","Error","e","warn","initialState","recent","REDUCER_KEY","reducerBlogPosts","state","action","selectRecentBlogPosts","getState"],"mappings":"AAEA,OAASA,cAAc,KAAQ,oBAAqB,CAEpD,MAAMC,eAAiB,MAAOC,MAAOC,WACnC,GAAI,CACF,GAAI,CAACA,QAAS,CACZC,QAAQC,GAAG,CACT,CAAC,gDAAgD,EAAEF,QAAQ,CAAC,CAAC,EAE/D,MACF,CAEA,MAAMG,QAAU,CACdC,QAAS,CACPC,OAAQ,kBACV,EACAC,MAAO,UACT,EAEA,
|
|
1
|
+
{"version":3,"sources":["../../src/core/remote-blogs-posts.js"],"sourcesContent":["/* global __ENABLE_FETCH_WITH_CREDENTIALS__ */\n\nimport { isJsonResponse } from \"./remote-data-util\";\n\nconst fetchBlogPosts = async (store, blogUrl) => {\n try {\n if (!blogUrl) {\n console.log(\n `Skipping fetching blog posts, invalid blogUrl: \"${blogUrl}\"`,\n );\n return;\n }\n\n const options = {\n headers: {\n accept: \"application/json\",\n },\n cache: \"no-cache\",\n };\n\n if (__ENABLE_FETCH_WITH_CREDENTIALS__) {\n options.credentials = \"include\";\n }\n\n const res = await fetch(blogUrl, options);\n\n if (isJsonResponse(res.headers.get(\"content-type\"))) {\n const payload = await res.json();\n store.dispatch({ type: \"blog/loaded\", payload });\n } else {\n throw new Error(\"Blog posts url is not serving json\");\n }\n } catch (e) {\n console.warn(\"Could not fetch blog posts due to error:\", e);\n }\n};\n\nconst initialState = { recent: null };\n\nconst REDUCER_KEY = \"blogPosts\";\n\nconst reducerBlogPosts = {\n [REDUCER_KEY]: (state = initialState, action) => {\n switch (action.type) {\n case \"blog/loaded\":\n return { ...state, recent: action.payload };\n default:\n return state;\n }\n },\n};\n\nconst selectRecentBlogPosts = (store) => store.getState()[REDUCER_KEY]?.recent;\n\nexport { fetchBlogPosts, reducerBlogPosts, selectRecentBlogPosts };\n"],"names":["isJsonResponse","fetchBlogPosts","store","blogUrl","console","log","options","headers","accept","cache","credentials","res","fetch","get","payload","json","dispatch","type","Error","e","warn","initialState","recent","REDUCER_KEY","reducerBlogPosts","state","action","selectRecentBlogPosts","getState"],"mappings":"AAEA,OAASA,cAAc,KAAQ,oBAAqB,CAEpD,MAAMC,eAAiB,MAAOC,MAAOC,WACnC,GAAI,CACF,GAAI,CAACA,QAAS,CACZC,QAAQC,GAAG,CACT,CAAC,gDAAgD,EAAEF,QAAQ,CAAC,CAAC,EAE/D,MACF,CAEA,MAAMG,QAAU,CACdC,QAAS,CACPC,OAAQ,kBACV,EACAC,MAAO,UACT,EAEA,SAAuC,CACrCH,QAAQI,WAAW,CAAG,SACxB,CAEA,MAAMC,IAAM,MAAMC,MAAMT,QAASG,SAEjC,GAAIN,eAAeW,IAAIJ,OAAO,CAACM,GAAG,CAAC,iBAAkB,CACnD,MAAMC,QAAU,MAAMH,IAAII,IAAI,GAC9Bb,MAAMc,QAAQ,CAAC,CAAEC,KAAM,cAAeH,OAAQ,EAChD,KAAO,CACL,MAAM,IAAII,MAAM,qCAClB,CACF,CAAE,MAAOC,EAAG,CACVf,QAAQgB,IAAI,CAAC,2CAA4CD,EAC3D,CACF,EAEA,MAAME,aAAe,CAAEC,OAAQ,IAAK,EAEpC,MAAMC,YAAc,YAEpB,MAAMC,iBAAmB,CACvB,CAACD,YAAY,CAAE,CAACE,MAAQJ,YAAY,CAAEK,UACpC,OAAQA,OAAOT,IAAI,EACjB,IAAK,cACH,MAAO,CAAE,GAAGQ,KAAK,CAAEH,OAAQI,OAAOZ,OAAO,AAAC,CAC5C,SACE,OAAOW,KACX,CACF,CACF,EAEA,MAAME,sBAAwB,AAACzB,OAAUA,MAAM0B,QAAQ,EAAE,CAACL,YAAY,EAAED,MAExE,QAASrB,cAAc,CAAEuB,gBAAgB,CAAEG,qBAAqB,CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/remote-session-data.js"],"sourcesContent":["/* global __ENABLE_FETCH_WITH_CREDENTIALS__ */\n\n// Fetches current users session data\n// Assumes an authenticated session, so will only work when used on ably.com/ably.io\n\nimport { isJsonResponse } from \"./remote-data-util\";\n\nconst NOT_FOUND_ERROR_CODE = \"not-found\";\n\nconst fetchSessionData = async (store, sessionUrl) => {\n const sessionLoaded = (payload = {}) =>\n store.dispatch({ type: \"session/loaded\", payload });\n\n try {\n if (!sessionUrl) {\n console.log(\n `Skipping fetching session, invalid sessionUrl: \"${sessionUrl}\"`,\n );\n sessionLoaded();\n return;\n }\n\n const options = {\n headers: {\n accept: \"application/json\",\n },\n cache: \"no-cache\",\n };\n\n if (__ENABLE_FETCH_WITH_CREDENTIALS__) {\n options.credentials = \"include\";\n }\n\n const res = await fetch(sessionUrl, options);\n const jsonResponse = isJsonResponse(res.headers.get(\"content-type\"));\n\n if (!jsonResponse) {\n throw new Error(\"Session endpoint is not serving json\");\n }\n\n const payload = await res.json();\n\n if (payload.error === NOT_FOUND_ERROR_CODE) {\n sessionLoaded();\n } else {\n sessionLoaded(payload);\n }\n } catch (e) {\n sessionLoaded();\n console.warn(\"Could not fetch session data due to error:\", e);\n }\n};\n\nconst initialState = { data: null };\n\nconst REDUCER_KEY = \"session\";\n\nconst reducerSessionData = {\n [REDUCER_KEY]: (state = initialState, action) => {\n switch (action.type) {\n case \"session/loaded\":\n return { ...state, data: action.payload };\n default:\n return state;\n }\n },\n};\n\nconst selectSessionData = (store) => store.getState()[REDUCER_KEY]?.data;\n\nexport { fetchSessionData, reducerSessionData, selectSessionData };\n"],"names":["isJsonResponse","NOT_FOUND_ERROR_CODE","fetchSessionData","store","sessionUrl","sessionLoaded","payload","dispatch","type","console","log","options","headers","accept","cache","credentials","res","fetch","jsonResponse","get","Error","json","error","e","warn","initialState","data","REDUCER_KEY","reducerSessionData","state","action","selectSessionData","getState"],"mappings":"AAKA,OAASA,cAAc,KAAQ,oBAAqB,CAEpD,MAAMC,qBAAuB,YAE7B,MAAMC,iBAAmB,MAAOC,MAAOC,cACrC,MAAMC,cAAgB,CAACC,QAAU,CAAC,CAAC,GACjCH,MAAMI,QAAQ,CAAC,CAAEC,KAAM,iBAAkBF,OAAQ,GAEnD,GAAI,CACF,GAAI,CAACF,WAAY,CACfK,QAAQC,GAAG,CACT,CAAC,gDAAgD,EAAEN,WAAW,CAAC,CAAC,EAElEC,gBACA,MACF,CAEA,MAAMM,QAAU,CACdC,QAAS,CACPC,OAAQ,kBACV,EACAC,MAAO,UACT,EAEA,
|
|
1
|
+
{"version":3,"sources":["../../src/core/remote-session-data.js"],"sourcesContent":["/* global __ENABLE_FETCH_WITH_CREDENTIALS__ */\n\n// Fetches current users session data\n// Assumes an authenticated session, so will only work when used on ably.com/ably.io\n\nimport { isJsonResponse } from \"./remote-data-util\";\n\nconst NOT_FOUND_ERROR_CODE = \"not-found\";\n\nconst fetchSessionData = async (store, sessionUrl) => {\n const sessionLoaded = (payload = {}) =>\n store.dispatch({ type: \"session/loaded\", payload });\n\n try {\n if (!sessionUrl) {\n console.log(\n `Skipping fetching session, invalid sessionUrl: \"${sessionUrl}\"`,\n );\n sessionLoaded();\n return;\n }\n\n const options = {\n headers: {\n accept: \"application/json\",\n },\n cache: \"no-cache\",\n };\n\n if (__ENABLE_FETCH_WITH_CREDENTIALS__) {\n options.credentials = \"include\";\n }\n\n const res = await fetch(sessionUrl, options);\n const jsonResponse = isJsonResponse(res.headers.get(\"content-type\"));\n\n if (!jsonResponse) {\n throw new Error(\"Session endpoint is not serving json\");\n }\n\n const payload = await res.json();\n\n if (payload.error === NOT_FOUND_ERROR_CODE) {\n sessionLoaded();\n } else {\n sessionLoaded(payload);\n }\n } catch (e) {\n sessionLoaded();\n console.warn(\"Could not fetch session data due to error:\", e);\n }\n};\n\nconst initialState = { data: null };\n\nconst REDUCER_KEY = \"session\";\n\nconst reducerSessionData = {\n [REDUCER_KEY]: (state = initialState, action) => {\n switch (action.type) {\n case \"session/loaded\":\n return { ...state, data: action.payload };\n default:\n return state;\n }\n },\n};\n\nconst selectSessionData = (store) => store.getState()[REDUCER_KEY]?.data;\n\nexport { fetchSessionData, reducerSessionData, selectSessionData };\n"],"names":["isJsonResponse","NOT_FOUND_ERROR_CODE","fetchSessionData","store","sessionUrl","sessionLoaded","payload","dispatch","type","console","log","options","headers","accept","cache","credentials","res","fetch","jsonResponse","get","Error","json","error","e","warn","initialState","data","REDUCER_KEY","reducerSessionData","state","action","selectSessionData","getState"],"mappings":"AAKA,OAASA,cAAc,KAAQ,oBAAqB,CAEpD,MAAMC,qBAAuB,YAE7B,MAAMC,iBAAmB,MAAOC,MAAOC,cACrC,MAAMC,cAAgB,CAACC,QAAU,CAAC,CAAC,GACjCH,MAAMI,QAAQ,CAAC,CAAEC,KAAM,iBAAkBF,OAAQ,GAEnD,GAAI,CACF,GAAI,CAACF,WAAY,CACfK,QAAQC,GAAG,CACT,CAAC,gDAAgD,EAAEN,WAAW,CAAC,CAAC,EAElEC,gBACA,MACF,CAEA,MAAMM,QAAU,CACdC,QAAS,CACPC,OAAQ,kBACV,EACAC,MAAO,UACT,EAEA,SAAuC,CACrCH,QAAQI,WAAW,CAAG,SACxB,CAEA,MAAMC,IAAM,MAAMC,MAAMb,WAAYO,SACpC,MAAMO,aAAelB,eAAegB,IAAIJ,OAAO,CAACO,GAAG,CAAC,iBAEpD,GAAI,CAACD,aAAc,CACjB,MAAM,IAAIE,MAAM,uCAClB,CAEA,MAAMd,QAAU,MAAMU,IAAIK,IAAI,GAE9B,GAAIf,QAAQgB,KAAK,GAAKrB,qBAAsB,CAC1CI,eACF,KAAO,CACLA,cAAcC,QAChB,CACF,CAAE,MAAOiB,EAAG,CACVlB,gBACAI,QAAQe,IAAI,CAAC,6CAA8CD,EAC7D,CACF,EAEA,MAAME,aAAe,CAAEC,KAAM,IAAK,EAElC,MAAMC,YAAc,UAEpB,MAAMC,mBAAqB,CACzB,CAACD,YAAY,CAAE,CAACE,MAAQJ,YAAY,CAAEK,UACpC,OAAQA,OAAOtB,IAAI,EACjB,IAAK,iBACH,MAAO,CAAE,GAAGqB,KAAK,CAAEH,KAAMI,OAAOxB,OAAO,AAAC,CAC1C,SACE,OAAOuB,KACX,CACF,CACF,EAEA,MAAME,kBAAoB,AAAC5B,OAAUA,MAAM6B,QAAQ,EAAE,CAACL,YAAY,EAAED,IAEpE,QAASxB,gBAAgB,CAAE0B,kBAAkB,CAAEG,iBAAiB,CAAG"}
|
package/index.d.ts
CHANGED
|
@@ -5515,6 +5515,14 @@ export default MeganavTile;
|
|
|
5515
5515
|
//# sourceMappingURL=MeganavTile.d.ts.map
|
|
5516
5516
|
}
|
|
5517
5517
|
|
|
5518
|
+
declare module '@ably/ui/core/Meganav/PanelTitle' {
|
|
5519
|
+
export const PanelTitle: ({ title, link, }: {
|
|
5520
|
+
title: string;
|
|
5521
|
+
link?: string;
|
|
5522
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
5523
|
+
//# sourceMappingURL=PanelTitle.d.ts.map
|
|
5524
|
+
}
|
|
5525
|
+
|
|
5518
5526
|
declare module '@ably/ui/core/Meganav/data' {
|
|
5519
5527
|
import React from "react";
|
|
5520
5528
|
import { IconName } from ".@ably/ui/core/Icon/types";
|
|
@@ -5610,14 +5618,6 @@ export const getMenuItemsForHeader: (blogPosts: BlogPost[]) => MenuItem[];
|
|
|
5610
5618
|
//# sourceMappingURL=getMenuItemsForHeader.d.ts.map
|
|
5611
5619
|
}
|
|
5612
5620
|
|
|
5613
|
-
declare module '@ably/ui/core/Meganav/utils' {
|
|
5614
|
-
export const PanelTitle: ({ title, link, }: {
|
|
5615
|
-
title: string;
|
|
5616
|
-
link?: string;
|
|
5617
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
5618
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
5619
|
-
}
|
|
5620
|
-
|
|
5621
5621
|
declare module '@ably/ui/core/Meganav' {
|
|
5622
5622
|
import { HeaderSessionState, ThemedScrollpoint } from "@ably/ui/core/Header";
|
|
5623
5623
|
import { BlogPost } from "@ably/ui/core/Meganav/MeganavBlog";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ably/ui",
|
|
3
|
-
"version": "17.10.1-dev.
|
|
3
|
+
"version": "17.10.1-dev.6306f548",
|
|
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",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/core/Meganav/utils.tsx"],"sourcesContent":["import React from \"react\";\nimport FeaturedLink from \"../FeaturedLink\";\n\nexport const PanelTitle = ({\n title,\n link,\n}: {\n title: string;\n link?: string;\n}) => {\n return (\n <div className=\"mb-3 px-3\">\n {link ? (\n <FeaturedLink\n url={link}\n textSize=\"text-overline2\"\n additionalCSS=\"ui-text-overline2 mb-0 py-0 font-medium font-mono\n text-neutral-700 dark:text-neutral-600 hover:text-neutral-1300 dark:hover:text-neutral-000\n active:text-neutral-1100 dark:active:text-neutral-200 focus-base\"\n >\n {title}\n </FeaturedLink>\n ) : (\n <p className=\"ui-text-overline2 text-neutral-700 dark:text-neutral-600 font-medium font-mono\">\n {title}\n </p>\n )}\n </div>\n );\n};\n"],"names":["React","FeaturedLink","PanelTitle","title","link","div","className","url","textSize","additionalCSS","p"],"mappings":"AAAA,OAAOA,UAAW,OAAQ,AAC1B,QAAOC,iBAAkB,iBAAkB,AAE3C,QAAO,MAAMC,WAAa,CAAC,CACzBC,KAAK,CACLC,IAAI,CAIL,IACC,OACE,oBAACC,OAAIC,UAAU,aACZF,KACC,oBAACH,cACCM,IAAKH,KACLI,SAAS,iBACTC,cAAc,iNAIbN,OAGH,oBAACO,KAAEJ,UAAU,kFACVH,OAKX,CAAE"}
|