storybook-addon-contentful-preview
Version:
Preview your components with contentful data
28 lines (24 loc) • 10.9 kB
JavaScript
import { makeDecorator, useState, useEffect } from '@storybook/preview-api';
import { createClient } from 'contentful';
import { ContentfulLivePreview } from '@contentful/live-preview';
import { ContentfulLivePreviewProvider, useContentfulLiveUpdates } from '@contentful/live-preview/react';
var ce=Object.create;var $=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var b=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ye=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of pe(t))!de.call(e,n)&&n!==r&&$(e,n,{get:()=>t[n],enumerable:!(o=fe(t,n))||o.enumerable});return e};var ve=(e,t,r)=>(r=e!=null?ce(me(e)):{},ye(t||!e||!e.__esModule?$(r,"default",{value:e,enumerable:!0}):r,e));var Y=b((Ze,q)=>{var x=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable;function be(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Oe(){try{if(!Object.assign)return !1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return !1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(t).map(function(u){return t[u]});if(o.join("")!=="0123456789")return !1;var n={};return "abcdefghijklmnopqrst".split("").forEach(function(u){n[u]=u;}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return !1}}q.exports=Oe()?Object.assign:function(e,t){for(var r,o=be(e),n,u=1;u<arguments.length;u++){r=Object(arguments[u]);for(var a in r)Ee.call(r,a)&&(o[a]=r[a]);if(x){n=x(r);for(var i=0;i<n.length;i++)Ae.call(r,n[i])&&(o[n[i]]=r[n[i]]);}}return o};});var ne=b(s=>{var M=Y(),h=60103,F=60106;s.Fragment=60107;s.StrictMode=60108;s.Profiler=60114;var K=60109,z=60110,H=60112;s.Suspense=60113;var G=60115,J=60116;typeof Symbol=="function"&&Symbol.for&&(p=Symbol.for,h=p("react.element"),F=p("react.portal"),s.Fragment=p("react.fragment"),s.StrictMode=p("react.strict_mode"),s.Profiler=p("react.profiler"),K=p("react.provider"),z=p("react.context"),H=p("react.forward_ref"),s.Suspense=p("react.suspense"),G=p("react.memo"),J=p("react.lazy"));var p,B=typeof Symbol=="function"&&Symbol.iterator;function Me(e){return e===null||typeof e!="object"?null:(e=B&&e[B]||e["@@iterator"],typeof e=="function"?e:null)}function P(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return "Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Q={isMounted:function(){return !1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},W={};function g(e,t,r){this.props=e,this.context=t,this.refs=W,this.updater=r||Q;}g.prototype.isReactComponent={};g.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error(P(85));this.updater.enqueueSetState(this,e,t,"setState");};g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate");};function X(){}X.prototype=g.prototype;function k(e,t,r){this.props=e,this.context=t,this.refs=W,this.updater=r||Q;}var R=k.prototype=new X;R.constructor=k;M(R,g.prototype);R.isPureReactComponent=!0;var S={current:null},Z=Object.prototype.hasOwnProperty,ee={key:!0,ref:!0,__self:!0,__source:!0};function te(e,t,r){var o,n={},u=null,a=null;if(t!=null)for(o in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(u=""+t.key),t)Z.call(t,o)&&!ee.hasOwnProperty(o)&&(n[o]=t[o]);var i=arguments.length-2;if(i===1)n.children=r;else if(1<i){for(var l=Array(i),c=0;c<i;c++)l[c]=arguments[c+2];n.children=l;}if(e&&e.defaultProps)for(o in i=e.defaultProps,i)n[o]===void 0&&(n[o]=i[o]);return {$$typeof:h,type:e,key:u,ref:a,props:n,_owner:S.current}}function ke(e,t){return {$$typeof:h,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function j(e){return typeof e=="object"&&e!==null&&e.$$typeof===h}function Re(e){var t={"=":"=0",":":"=2"};return "$"+e.replace(/[=:]/g,function(r){return t[r]})}var V=/\/+/g;function O(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Re(""+e.key):t.toString(36)}function E(e,t,r,o,n){var u=typeof e;(u==="undefined"||u==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(u){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case h:case F:a=!0;}}if(a)return a=e,n=n(a),e=o===""?"."+O(a,0):o,Array.isArray(n)?(r="",e!=null&&(r=e.replace(V,"$&/")+"/"),E(n,t,r,"",function(c){return c})):n!=null&&(j(n)&&(n=ke(n,r+(!n.key||a&&a.key===n.key?"":(""+n.key).replace(V,"$&/")+"/")+e)),t.push(n)),1;if(a=0,o=o===""?".":o+":",Array.isArray(e))for(var i=0;i<e.length;i++){u=e[i];var l=o+O(u,i);a+=E(u,t,r,l,n);}else if(l=Me(e),typeof l=="function")for(e=l.call(e),i=0;!(u=e.next()).done;)u=u.value,l=o+O(u,i++),a+=E(u,t,r,l,n);else if(u==="object")throw t=""+e,Error(P(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t));return a}function C(e,t,r){if(e==null)return e;var o=[],n=0;return E(e,o,"","",function(u){return t.call(r,u,n++)}),o}function Se(e){if(e._status===-1){var t=e._result;t=t(),e._status=0,e._result=t,t.then(function(r){e._status===0&&(r=r.default,e._status=1,e._result=r);},function(r){e._status===0&&(e._status=2,e._result=r);});}if(e._status===1)return e._result;throw e._result}var re={current:null};function d(){var e=re.current;if(e===null)throw Error(P(321));return e}var je={ReactCurrentDispatcher:re,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:S,IsSomeRendererActing:{current:!1},assign:M};s.Children={map:C,forEach:function(e,t,r){C(e,function(){t.apply(this,arguments);},r);},count:function(e){var t=0;return C(e,function(){t++;}),t},toArray:function(e){return C(e,function(t){return t})||[]},only:function(e){if(!j(e))throw Error(P(143));return e}};s.Component=g;s.PureComponent=k;s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=je;s.cloneElement=function(e,t,r){if(e==null)throw Error(P(267,e));var o=M({},e.props),n=e.key,u=e.ref,a=e._owner;if(t!=null){if(t.ref!==void 0&&(u=t.ref,a=S.current),t.key!==void 0&&(n=""+t.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(l in t)Z.call(t,l)&&!ee.hasOwnProperty(l)&&(o[l]=t[l]===void 0&&i!==void 0?i[l]:t[l]);}var l=arguments.length-2;if(l===1)o.children=r;else if(1<l){i=Array(l);for(var c=0;c<l;c++)i[c]=arguments[c+2];o.children=i;}return {$$typeof:h,type:e.type,key:n,ref:u,props:o,_owner:a}};s.createContext=function(e,t){return t===void 0&&(t=null),e={$$typeof:z,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider={$$typeof:K,_context:e},e.Consumer=e};s.createElement=te;s.createFactory=function(e){var t=te.bind(null,e);return t.type=e,t};s.createRef=function(){return {current:null}};s.forwardRef=function(e){return {$$typeof:H,render:e}};s.isValidElement=j;s.lazy=function(e){return {$$typeof:J,_payload:{_status:-1,_result:e},_init:Se}};s.memo=function(e,t){return {$$typeof:G,type:e,compare:t===void 0?null:t}};s.useCallback=function(e,t){return d().useCallback(e,t)};s.useContext=function(e,t){return d().useContext(e,t)};s.useDebugValue=function(){};s.useEffect=function(e,t){return d().useEffect(e,t)};s.useImperativeHandle=function(e,t,r){return d().useImperativeHandle(e,t,r)};s.useLayoutEffect=function(e,t){return d().useLayoutEffect(e,t)};s.useMemo=function(e,t){return d().useMemo(e,t)};s.useReducer=function(e,t,r){return d().useReducer(e,t,r)};s.useRef=function(e){return d().useRef(e)};s.useState=function(e){return d().useState(e)};s.version="17.0.2";});var ue=b((tt,oe)=>{oe.exports=ne();});var m="contentfulPreview";var y="contentful_entry";function _(e,t="Value is undefined or null"){if(e==null)throw new Error(t)}function f(e,t){return e.find(r=>r!==void 0||null)??t??void 0}function T(e){return !!(e&&e.sys&&e.sys.id&&e.sys.type&&e.fields)}function D(e,t){let[r,o]=useState(null),[n,u]=useState(!0),{space:a,host:i,accessToken:l,environment:c="master",locale:v="en-US"}=t;return useEffect(()=>{(async()=>{_(e,"No entryId provided"),_(a,"No spaceId provided"),_(l,"No accessToken provided"),u(!0);let w=await createClient({environment:c,space:a,accessToken:l,host:i}).getEntry(e,{include:10,locale:v});o(w),u(!1);})();},[e,c,a,l,i]),{entry:r,isLoading:n}}var I=makeDecorator({name:"withContentful",parameterName:m,skipIfNoParametersOrOptions:!0,wrapper:(e,t,{parameters:r})=>{let o=new URLSearchParams(window.location.search),n=t.parameters.globals[m],u=f([r.space,n.space]),a=f([r.accessToken,n.accessToken]),i=f([o.get("locale"),r.locale,n.locale],"en-US"),l=f([o.get("environment"),r.environment,n.environment],"master"),c=f([r.host,n.host],"api.contentful.com"),v=o.get("entryId")||r.entryId;f([r.debugMode,n.debugMode],!1)&&console.log("\u{1F3A8} Decorated with withContentful");let N={space:u,accessToken:a,environment:l,host:c,locale:i},{entry:w,isLoading:le}=D(v,N);return w&&(t.args[y]=w),le?null:e(t)}});function Ce(e,t){return {...t,...e.fields}}var U=makeDecorator({name:"withEntryArgMutator",parameterName:m,skipIfNoParametersOrOptions:!1,wrapper:(e,t,{parameters:r={}})=>{let o=t.parameters.globals[m];if(f([r.debugMode,o?.debugMode],!1)&&console.log("\u{1F3A8} Decorated with withEntryArgMutator"),T(t.args[y])){let u=r?.entryMutator||Ce;t.args=u(t.args[y],t.args);}return e(t)}});var A=ve(ue());var se=makeDecorator({name:"withLivePreview",parameterName:m,skipIfNoParametersOrOptions:!0,wrapper:(e,t,{parameters:r})=>{let o=new URLSearchParams(window.location.search),n=t.parameters.globals[m],u=f([o.get("locale"),r.locale,n.locale],"en-US"),a=f([r.livePreview,n.livePreview],!1),i=f([r.debugMode,n?.debugMode],!1);i&&console.log("\u{1F3A8} Decorated with withLivePreview"),a&&!ContentfulLivePreview.initialized&&ContentfulLivePreview.init({locale:u,debugMode:i,enableLiveUpdates:!0,enableInspectorMode:!0});let l=t.args[y];function c(){let v=useContentfulLiveUpdates(l);return v&&(t.args[y]=v),A.default.createElement(A.default.Fragment,null,e(t))}return a?A.default.createElement(ContentfulLivePreviewProvider,{locale:u},c()):e(t)}});var Le={decorators:[U,se,I],globals:{[m]:{environment:"master",locale:"en-US",livePreview:!0,host:"cdn.contentful.com",debugMode:!1}}},pt=Le;/*! Bundled license information:
object-assign/index.js:
(*
object-assign
(c) Sindre Sorhus
@license MIT
*)
react/cjs/react.production.min.js:
(** @license React v17.0.2
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*)
*/
export { pt as default };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=preview.mjs.map