UNPKG

@pantheon-systems/pcc-react-sdk

Version:
2 lines 7.68 kB
import {useQuery}from'@apollo/client/react/hooks/useQuery.js';export{useQuery}from'@apollo/client/react/hooks/useQuery.js';import {updateConfig,getSite,getRecommendedArticles,getPaginatedArticles,getArticles,getArticleURLFromSiteWithOptions,getArticleURLFromSite,getArticlePathComponentsFromContentStructure,getArticleBySlugOrId,getArticle,getAllTags,flattenDocumentTabs,findTab,PantheonClient,PCCConvenienceFunctions,GQL,buildContentType,generateArticleQuery,generateArticleUpdateSubscription,LIST_ARTICLES_QUERY,convertSearchParamsToGQL,PantheonAPI}from'@pantheon-systems/pcc-sdk-core';export{GQL,PCCConvenienceFunctions,PantheonClient,findTab,flattenDocumentTabs,getAllTags,getArticle,getArticleBySlugOrId,getArticlePathComponentsFromContentStructure,getArticleURLFromSite,getArticleURLFromSiteWithOptions,getArticles,getPaginatedArticles,getRecommendedArticles,getSite,updateConfig}from'@pantheon-systems/pcc-sdk-core';import oe,{useMemo,useEffect,useState}from'react';import {useMutation}from'@apollo/client/react/hooks/useMutation.js';export{useMutation}from'@apollo/client/react/hooks/useMutation.js';import {useSubscription}from'@apollo/client/react/hooks/useSubscription.js';export{useSubscription}from'@apollo/client/react/hooks/useSubscription.js';import*as pt from'@pantheon-systems/pcc-sdk-core/types';import {ApolloProvider}from'@apollo/client/react/context/ApolloProvider.js';import {jsx}from'react/jsx-runtime';import {markdownToTxt}from'markdown-to-txt';var k=Object.defineProperty,se=Object.defineProperties,ie=Object.getOwnPropertyDescriptor,ce=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertyNames,b=Object.getOwnPropertySymbols;var w=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable;var I=(t,e,n)=>e in t?k(t,e,{enumerable:true,configurable:true,writable:true,value:n}):t[e]=n,c=(t,e)=>{for(var n in e||(e={}))w.call(e,n)&&I(t,n,e[n]);if(b)for(var n of b(e))Q.call(e,n)&&I(t,n,e[n]);return t},A=(t,e)=>se(t,ce(e));var H=(t,e)=>{var n={};for(var o in t)w.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(t!=null&&b)for(var o of b(t))e.indexOf(o)<0&&Q.call(t,o)&&(n[o]=t[o]);return n};var E=(t,e)=>{for(var n in e)k(t,n,{get:e[n],enumerable:true});},L=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ae(e))!w.call(t,r)&&r!==n&&k(t,r,{get:()=>e[r],enumerable:!(o=ie(e,r))||o.enumerable});return t},d=(t,e,n)=>(L(t,e,"default"),n);var v=(t,e,n)=>new Promise((o,r)=>{var u=l=>{try{p(n.next(l));}catch(s){r(s);}},m=l=>{try{p(n.throw(l));}catch(s){r(s);}},p=l=>l.done?o(l.value):Promise.resolve(l.value).then(u,m);p((n=n.apply(t,e)).next());});var h={};E(h,{GQL:()=>GQL,PCCConvenienceFunctions:()=>PCCConvenienceFunctions,PantheonAPI:()=>q,PantheonClient:()=>PantheonClient,PantheonProvider:()=>ke,findTab:()=>findTab,flattenDocumentTabs:()=>flattenDocumentTabs,getAllTags:()=>getAllTags,getArticle:()=>getArticle,getArticleBySlugOrId:()=>getArticleBySlugOrId,getArticlePathComponentsFromContentStructure:()=>getArticlePathComponentsFromContentStructure,getArticleURLFromSite:()=>getArticleURLFromSite,getArticleURLFromSiteWithOptions:()=>getArticleURLFromSiteWithOptions,getArticles:()=>getArticles,getPaginatedArticles:()=>getPaginatedArticles,getRecommendedArticles:()=>getRecommendedArticles,getSite:()=>getSite,markdownToText:()=>Qe,updateConfig:()=>updateConfig,useArticle:()=>W,useArticles:()=>j,useMutation:()=>useMutation,usePagination:()=>O,usePantheonClient:()=>we,useQuery:()=>useQuery,useSubscription:()=>useSubscription});var W=(t,e,n,o)=>{var x;let r=e==null?void 0:e.publishingLevel,u=buildContentType(e==null?void 0:e.contentType),m=e==null?void 0:e.versionId,p=useMemo(()=>c(c(c({},r&&{publishingLevel:r}),u&&{contentType:u}),m&&{versionId:m}),[r,u,m]),l=useMemo(()=>generateArticleQuery({withSite:o==null?void 0:o.site}),[o==null?void 0:o.site]),s=useMemo(()=>generateArticleUpdateSubscription({withSite:o==null?void 0:o.site}),[o==null?void 0:o.site]),g=useMemo(()=>c({id:t},p),[t,p]),a=useQuery(l,A(c({},n),{variables:g})),{subscribeToMore:P}=a,i=H(a,["subscribeToMore"]);return useEffect(()=>{if(n!=null&&n.skip)return;let y=P({document:s,variables:g,updateQuery:(R,{subscriptionData:C})=>C.data?{article:C.data.article}:R});return ()=>y()},[P,s,g,n==null?void 0:n.skip]),A(c({},i),{subscribeToMore:P,article:(x=i.data)==null?void 0:x.article})};var j=(t,e,n)=>{var u;let o=buildContentType(t==null?void 0:t.contentType),r=useQuery(LIST_ARTICLES_QUERY,A(c({},n),{variables:A(c(c({},t),convertSearchParamsToGQL(e)),{contentType:o})}));return A(c({},r),{articles:(u=r.data)==null?void 0:u.articles})};function O({cursor:t,initialArticles:e,pageSize:n}){let[o,r]=useState(t),[u,m]=useState(e?[e]:[]),[p,l]=useState(false),[s,g]=useState(0);return useEffect(()=>{v(null,null,function*(){if(u[s])return;l(true);let{data:P,cursor:i}=yield PCCConvenienceFunctions.getPaginatedArticles(c({pageSize:n},o&&{cursor:o}));l(false),m(a=>{let x=[...a];return x[s]=P,x}),r(i);});},[s]),{data:u[s]||u[u.length-1],fetching:p,onPageChange:g,currentPage:s}}var f={};E(f,{GQL:()=>GQL,PCCConvenienceFunctions:()=>PCCConvenienceFunctions,PantheonAPI:()=>q,PantheonClient:()=>PantheonClient,findTab:()=>findTab,flattenDocumentTabs:()=>flattenDocumentTabs,getAllTags:()=>getAllTags,getArticle:()=>getArticle,getArticleBySlugOrId:()=>getArticleBySlugOrId,getArticlePathComponentsFromContentStructure:()=>getArticlePathComponentsFromContentStructure,getArticleURLFromSite:()=>getArticleURLFromSite,getArticleURLFromSiteWithOptions:()=>getArticleURLFromSiteWithOptions,getArticles:()=>getArticles,getPaginatedArticles:()=>getPaginatedArticles,getRecommendedArticles:()=>getRecommendedArticles,getSite:()=>getSite,updateConfig:()=>updateConfig});d(f,pt);function q(t){let e=PantheonAPI(t);return (o,r)=>v(null,null,function*(){var g,P;if(ve(r)){let i=o,a=r;if(((g=i.query.command)==null?void 0:g.toString())==="status"&&typeof e.buildStatus=="function"){let y=((P=i.query.level)==null?void 0:P.toString())==="debug"?"debug":"basic",R=e.buildStatus(y),C=U(y,"pages"),N=A(c({},R),{platform:C});return void a.json(N)}return void(yield e.handler(i,a))}let u=r,m=o,p=yield u.params;if((p.command!=null&&Array.isArray(p.command)?p.command[0]:p.command||m.nextUrl.searchParams.get("command")||void 0)==="status"&&typeof e.buildStatus=="function"){let a=m.nextUrl.searchParams.get("level")==="debug"?"debug":"basic",x=e.buildStatus(a),y=U(a,"app"),R=A(c({},x),{platform:y});return Response.json(R)}let s=new Headers;return m.headers.forEach((i,a)=>{s.set(a,i);}),yield e.handler({query:c(c({},Object.fromEntries(m.nextUrl.searchParams)),p),cookies:Se(m.cookies)},{getHeader:i=>s.get(i)||"",setHeader:(i,a)=>s.set(i,a.toString()),redirect:(i,a)=>(s.set("Location",a),new Response(null,{status:i,headers:s})),json:i=>Response.json(i,{headers:s})})})}function ve(t){return t!=null&&typeof t=="object"&&!("params"in t)}function Se(t){return t.getAll().reduce((e,n)=>(e[n.name]=n.value,e),{})}function U(t,e){let n=typeof globalThis.EdgeRuntime!="undefined"?"edge":"node";return {name:"next",routing:{mode:e},runtime:n}}d(h,f);var re=oe.createContext(null),ke=({client:t,children:e})=>jsx(re.Provider,{value:t,children:jsx(ApolloProvider,{client:t.apolloClient,children:e})}),we=()=>{let t=oe.useContext(re);if(!t)throw new Error("Cannot use outside of a PantheonProvider");return t};var Ne=/\s*\{#h\.[^}]*\}/g,Ie=/^#+\s*/gm,Le={gfm:true,mangle:false},Qe=function(t){return markdownToTxt(t.replace(Ne,""),Le).replace(Ie,"")};export{q as PantheonAPI,ke as PantheonProvider,Qe as markdownToText,W as useArticle,j as useArticles,O as usePagination,we as usePantheonClient};//# sourceMappingURL=index.mjs.map //# sourceMappingURL=index.mjs.map