UNPKG

next-slicezone

Version:

A component that maps other components to Prismic slices

2 lines (1 loc) 6.65 kB
import e from"react";function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?t(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function n(e,t,r,n,a,i,o){try{var c=e[i](o),s=c.value}catch(e){return void r(e)}c.done?t(s):Promise.resolve(s).then(n,a)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(a,i){var o=e.apply(t,r);function c(e){n(o,a,i,c,s,"next",e)}function s(e){n(o,a,i,c,s,"throw",e)}c(void 0)}))}}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function c(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=/-(\w)/g;var l=/\B([A-Z])/g;function p(e){return e.replace(l,"-$1").toLowerCase()}var u={pascalize:function(e){return e?(e=e.replace(/_/g,"-").replace(s,((e,t)=>t?t.toUpperCase():"")))[0].toUpperCase()+e.slice(1):""},hyphenate:p,snakelize:function(e){return p(e).replace(/-/g,"_")}},f=t=>{var{title:r,description:n}=t;return e.createElement("div",{style:{height:"80vh",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",textAlign:"center"}},e.createElement("h2",null,r),e.createElement("p",{style:{maxWidth:"320px",fontSize:"16px"}},n))},y={title:"Your SliceZone is empty.",description:"Go to your writing room and start creating content to see it appear here!"},d={title:'Property "slice" not found or not formatted properly',description:"This usually means that data passed as property `slices` is not right. Check your configuuration and logs for more info!"};function v(t){var{slices:r,sliceProps:n={},resolver:a=(()=>null)}=t;return r&&r.length?r.map(((t,r)=>{if(!t||!t.slice_type)return e.createElement(f,o({key:"slice-".concat(r+1)},d));var i=u.pascalize(t.slice_type),c=a({sliceName:i,slice:t,i:r}),s=n&&"function"==typeof n?n({sliceName:i,slice:t,i:r}):n;return c?e.createElement(c,o({key:"slice-".concat(r+1),slice:t,i:r},s)):(console.error("Could not resolve slice, check that you properly pass a `resolver` property to SliceZone"),null)})):"production"!==process.env.NODE_ENV?e.createElement(f,y):null}var h=["uid"],m=["repeat","repeatable","multi"];function g(){return(g=a((function*(e){var{queryType:t,apiParams:r,type:n,client:a}=e,{uid:i}=r,o=c(r,h),s=-1!==m.indexOf(t)?["getByUID",[n,i,o]]:["getSingle",[n,o]];return yield a[s[0]](...s[1])}))).apply(this,arguments)}var P=(e,t)=>{var r;if(e)if(t)t in e.data&&Array.isArray(e.data[t])?r=e.data[t]:console.error("[SliceZone/useGetStaticProps] Cannot find slice zone at specified key `%s`\n\nCheck the document below to make sure you provided the right key:",t,e.data);else{for(var n of["body","slices"])if(n in e.data&&Array.isArray(e.data[n])){r=e.data[n];break}r||console.error('[SliceZone/useGetStaticProps] Cannot find slice zone in document\n\nCheck the document below to make sure your slice zone is here or provide the `slicesKey` option:\n\nuseGetStaticProps({ /* ... */ slicesKey: "mySliceZone" });\n',e.data)}return r||[]},b=e=>{var{client:t,slicesKey:n,type:i="page",getStaticPropsParams:o={},queryType:c="repeat",apiParams:s,uid:l,lang:p,body:u}=e;return l&&console.warn('[next-slicezone/useGetStaticProps]: Parameter "uid" is deprecated, use "apiParams.uid" instead.'),p&&console.warn('[next-slicezone/useGetStaticProps]: Parameter "lang" is deprecated, use "apiParams.lang" instead.'),u&&console.warn('[next-slicezone/useGetStaticProps]: Parameter "body" is deprecated, use "slicesKey" instead.'),function(){var e=a((function*(e){var{preview:a=null,previewData:l={},params:p={}}=e,{ref:f=null}=l,y=s&&"function"==typeof s?s({params:p,previewData:l,preview:a}):s;try{var d=yield function(e){return g.apply(this,arguments)}({queryType:c,apiParams:Object.assign({ref:f},y),type:i,client:t});return r({props:r(r({},d),{},{error:null,preview:a,previewData:l,slices:P(d,n||u)})},o)}catch(e){return"production"!==process.env.NODE_ENV&&console.error("[next-slicezone] ".concat(e.toString())),r({props:{ref:f,error:e.toString(),apiParams:s,slices:[],preview:a,previewData:l}},o)}}));return function(t){return e.apply(this,arguments)}}()};function w(e,t,r){return O.apply(this,arguments)}function O(){return(O=a((function*(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=yield e.query('[at(document.type, "'.concat(t,'")]'),r(r({pageSize:100,lang:"*"},n),{},{page:a})),c=i.concat(o.results);return o.results_size+i.length<o.total_results_size?w(e,t,n,a+1,c):[...new Set(c)]}))).apply(this,arguments)}function S(){return(S=a((function*(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return yield w(e,t,r)}))).apply(this,arguments)}var j=e=>{var{type:t="page",formatPath:n=(()=>null),apiParams:i,client:o,getStaticPathsParams:c={fallback:!1},lang:s,params:l,fallback:p}=e;(e=>{null!=e&&console.warn("[next-slicezone] Parameter `fallback` is deprecated. Use getStaticPathsParams.fallback instead.")})(p);var u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return(arguments.length>2?arguments[2]:void 0)&&console.warn("[next-slicezone] Parameter `lang` is deprecated. Use `apiParams.lang` instead."),t?(console.warn("[next-slicezone] Parameter `params` is deprecated. Use `apiParams` instead."),t):e}(i,l,s);return function(){var e=a((function*(){return r({paths:(yield function(e,t){return S.apply(this,arguments)}(o,t,u)).reduce(((e,t)=>{var r=n(t);return r?[...e,r]:e}),[]),fallback:p},c)}));return function(){return e.apply(this,arguments)}}()};export{v as default,j as useGetStaticPaths,b as useGetStaticProps,j as withGetStaticPaths,b as withGetStaticProps};