slice-machine-ui 2.18.1-alpha.jp-unauthorized-error-improvement.2 → 2.18.1-alpha.lg-remove-changes-tooltip.1

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.
Files changed (82) hide show
  1. package/out/404.html +1 -1
  2. package/out/_next/static/VmMYRhIVl72a4_hcPUaVI/_buildManifest.js +1 -0
  3. package/out/_next/static/chunks/157-fa8b348c960c8283.js +3 -0
  4. package/out/_next/static/chunks/248-43faecb386a16518.js +1 -0
  5. package/out/_next/static/chunks/256-07f768a2b19b0a0e.js +4 -0
  6. package/out/_next/static/chunks/34-8d9d9b2944824750.js +1 -0
  7. package/out/_next/static/chunks/344-fdb3008f4bb3b0c1.js +1 -0
  8. package/out/_next/static/chunks/484-3e011e79c41f0342.js +1 -0
  9. package/out/_next/static/chunks/489-234ed5471aa694b3.js +1 -0
  10. package/out/_next/static/chunks/500-d3989390f5e8da53.js +1 -0
  11. package/out/_next/static/chunks/52d4c156-89c6ec6efca0a0bb.js +1 -0
  12. package/out/_next/static/chunks/630-bb6e3db525588f16.js +1 -0
  13. package/out/_next/static/chunks/pages/{_app-9c512373cecee09f.js → _app-f618a7f60ab6c871.js} +105 -105
  14. package/out/_next/static/chunks/pages/{changelog-3901f2fc937d9648.js → changelog-ba55ed247c20dc21.js} +1 -1
  15. package/out/_next/static/chunks/pages/changes-4c23263cdc8e59c6.js +1 -0
  16. package/out/_next/static/chunks/pages/custom-types/{[customTypeId]-816acb31b652239b.js → [customTypeId]-af9376721beb489e.js} +1 -1
  17. package/out/_next/static/chunks/pages/labs-78ac01d97ab02cd7.js +1 -0
  18. package/out/_next/static/chunks/pages/page-types/{[pageTypeId]-669d5479e81b638b.js → [pageTypeId]-a24665e91b882169.js} +1 -1
  19. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-b127d948a17968d3.js +1 -0
  20. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]-da423aa0da7bc11e.js +1 -0
  21. package/out/_next/static/chunks/pages/slices-59b857edc9f72d5f.js +1 -0
  22. package/out/_next/static/css/{303dad78be1eb854.css → bc89f2cd4e4781f5.css} +1 -1
  23. package/out/_next/static/css/e8e03c0d4003d1eb.css +1 -0
  24. package/out/changelog.html +1 -1
  25. package/out/changes.html +1 -1
  26. package/out/custom-types/[customTypeId].html +1 -1
  27. package/out/custom-types.html +1 -1
  28. package/out/index.html +1 -1
  29. package/out/labs.html +1 -1
  30. package/out/page-types/[pageTypeId].html +1 -1
  31. package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
  32. package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
  33. package/out/slices.html +1 -1
  34. package/package.json +3 -3
  35. package/src/ErrorBoundary.tsx +47 -0
  36. package/src/features/auth/LogoutButton.tsx +36 -42
  37. package/src/features/builder/fields/contentRelationship/ContentRelationshipFieldPicker.tsx +3 -3
  38. package/src/features/changes/StatusBadge.tsx +9 -1
  39. package/src/features/customTypes/customTypesBuilder/PageSnippetDialog/PageSnippetDialog.tsx +3 -3
  40. package/src/features/customTypes/customTypesTable/CustomTypesTablePage.tsx +3 -3
  41. package/src/features/environments/actions/setEnvironment.ts +18 -0
  42. package/src/features/environments/useActiveEnvironment.ts +9 -17
  43. package/src/features/environments/useEnvironments.ts +8 -11
  44. package/src/features/labs/labsList/LabsPage.tsx +3 -3
  45. package/src/features/navigation/Navigation.tsx +8 -7
  46. package/src/features/navigation/RepositoryInfo.tsx +24 -18
  47. package/src/features/slices/sliceBuilder/FloatingBackButton.tsx +3 -3
  48. package/src/features/sync/getUnSyncChanges.ts +3 -1
  49. package/src/legacy/components/AppLayout/index.tsx +85 -10
  50. package/src/legacy/components/ChangesEmptyState/AuthErrorPage.tsx +44 -0
  51. package/src/legacy/components/ChangesEmptyState/index.ts +1 -1
  52. package/src/legacy/components/ChangesItems/ChangesItems.tsx +3 -3
  53. package/src/legacy/components/LoginModal/index.tsx +5 -13
  54. package/src/legacy/components/Navigation/ChangesItem.tsx +48 -96
  55. package/src/legacy/components/Navigation/Environment.tsx +7 -2
  56. package/src/legacy/components/Navigation/SideNavEnvironmentSelector/SideNavEnvironmentSelector.tsx +8 -3
  57. package/src/legacy/components/Simulator/index.tsx +3 -3
  58. package/src/legacy/lib/builders/CustomTypeBuilder/TabZone/index.tsx +3 -3
  59. package/src/modules/userContext/index.ts +3 -6
  60. package/src/modules/userContext/types.ts +1 -1
  61. package/src/pages/_app.tsx +95 -88
  62. package/src/pages/changes.tsx +5 -4
  63. package/test/__testutils__/index.tsx +10 -13
  64. package/out/_next/static/SfM6wNmXllax54gbRXb7m/_buildManifest.js +0 -1
  65. package/out/_next/static/chunks/248-bcf03aa3c62e7dfb.js +0 -1
  66. package/out/_next/static/chunks/34-50c64778da33cff6.js +0 -1
  67. package/out/_next/static/chunks/349-7118116b93278f73.js +0 -4
  68. package/out/_next/static/chunks/429-1137c819c2bf6b66.js +0 -3
  69. package/out/_next/static/chunks/489-77d1fe67b6d0f0f8.js +0 -1
  70. package/out/_next/static/chunks/50-586dc7ab5e584e76.js +0 -1
  71. package/out/_next/static/chunks/630-c34de0401b8a0375.js +0 -1
  72. package/out/_next/static/chunks/pages/changes-62d4e18795217cba.js +0 -1
  73. package/out/_next/static/chunks/pages/labs-5f5c63fb1f7d4b92.js +0 -1
  74. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-eca10940c9083d4c.js +0 -1
  75. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]-b4700a6332ea828c.js +0 -1
  76. package/out/_next/static/chunks/pages/slices-bf63f937b184b470.js +0 -1
  77. package/out/_next/static/css/cdee5b195444f185.css +0 -1
  78. package/src/errorBoundaries.tsx +0 -150
  79. package/src/features/environments/actions/useSetEnvironment.ts +0 -22
  80. package/src/legacy/components/ChangesEmptyState/UnauthenticatedView.tsx +0 -31
  81. package/src/queryClient.tsx +0 -24
  82. /package/out/_next/static/{SfM6wNmXllax54gbRXb7m → VmMYRhIVl72a4_hcPUaVI}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[33],{30755:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/slices/[lib]/[sliceName]/[variation]/simulator",function(){return n(49823)}])},44309:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(5632),i=n(56580),o=n(7723);let s=(e,t,n)=>{var r;let i=null===(r=(0,o.Sd)(e))||void 0===r?void 0:r.find(e=>e.name.replace(/\//g,"--")===t);return null==i?void 0:i.components.find(e=>e.model.name===n)};var l=()=>{let e=(0,r.useRouter)(),{slice:t}=(0,i.v9)(t=>({slice:s(t,e.query.lib,e.query.sliceName)}));if(!t)return{};let n=t.model.variations.find(t=>t.id===e.query.variation);return n?{slice:t,variation:n}:{}}},33986:function(e,t,n){"use strict";n.d(t,{z:function(){return a}});var r=n(52322),i=n(2784),o=n(75289);let s=(e,t)=>e?"".concat(e,"-").concat(t):"",l=e=>{switch(e){case"white":case"secondaryMedium":case"secondarySmall":case"secondary":return"#1A1523";default:return"grey01"}},a=(0,i.forwardRef)((e,t)=>{let{label:n,Icon:i,type:a,form:c,isLoading:d=!1,disabled:u=!1,onClick:x,sx:h={},iconSize:p=16,iconFill:m,variant:g="primary",...f}=e;return(0,r.jsx)(o.zx,{ref:t,sx:{...h,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",...d?{cursor:"wait !important"}:{}},type:a,form:c,disabled:u||d,onClick:d?void 0:x,variant:g,...f,children:d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.$j,{size:p,color:l(g),"data-testid":s(f["data-testid"],"spinner")}),i&&n]}):(0,r.jsxs)(r.Fragment,{children:[i&&(0,r.jsx)(i,{size:p,fill:m,"data-testid":s(f["data-testid"],"icon")}),n]})})})},30527:function(e,t,n){"use strict";n.d(t,{Z:function(){return c},W:function(){return a}});var r=n(52322),i=n(2784),o=n(75289);let s=e=>{let{bg:t,background:n,sx:i,withRadius:s,radius:l,children:a}=e;return(0,r.jsx)(o.xu,{sx:{p:4,bg:t||n,...s?{borderBottomLeftRadius:l,borderBottomRightRadius:l}:null,...i},children:a})},l=(0,i.createContext)("6px"),a=()=>(0,i.useContext)(l),c=e=>{let{Header:t=null,SubHeader:n=null,Body:i=null,Footer:a=null,borderFooter:c=!1,radius:d="6px",bodySx:u={},footerSx:x={},sx:h=null,bg:p,background:m,children:g,...f}=e;return(0,r.jsx)(l.Provider,{value:d,children:(0,r.jsxs)(o.Zb,{sx:{border:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.borders))},borderRadius:d,...h},...f,children:[t||null,n||null,(0,r.jsxs)(s,{bg:p,background:m,sx:u,withRadius:!a,children:[i?(0,r.jsx)(i,{}):null,g||null]}),a?(0,r.jsx)(s,{bg:p,background:m,sx:{...c?{borderTop:e=>{let{colors:t}=e;return"1px solid ".concat(String(null==t?void 0:t.borders))}}:null,...x},radius:d,withRadius:!0,children:"object"==typeof a?a:(0,r.jsx)(a,{})}):null]})})}},77823:function(e,t,n){"use strict";n.d(t,{q:function(){return a}});var r=n(52322),i=n(2784),o=n(65186),s=n(75289);let l=(0,i.memo)(e=>{let{src:t}=e;return(0,r.jsx)(s.Ee,{src:t,alt:"Preview image",sx:{maxHeight:"100%"}})}),a=e=>{let{src:t,sx:n}=e;return(0,r.jsx)(s.kC,{sx:{position:"relative",alignItems:"center",justifyContent:"center",overflow:"hidden",backgroundImage:"url(/pattern.png)",backgroundColor:"headSection",backgroundRepeat:"repeat",backgroundSize:"20px",borderRadius:"4px",...n},children:void 0!==t?(0,r.jsx)(l,{src:t}):(0,r.jsxs)(s.xv,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[(0,r.jsx)(o.eJU,{}),"You have no screenshot yet."]})})}},49823:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return en}});var r,i,o=n(52322),s=n(97729),l=n.n(s),a=n(5632),c=n.n(a),d=n(44309),u=n(86753),x=n(14226),h=n(25242),p=n(25865),m=n(14010),g=n(2784),f=n(56580),v=n(88932),b=n(75289),j=n(65077),C=n(94160),k=n(9385),w=function(e,t,n){let[r,i]=(0,g.useState)(e()),o=(0,g.useRef)(Date.now());return(0,g.useEffect)(()=>{let n=setTimeout(function(){Date.now()-o.current>=t&&(i(e()),o.current=Date.now())},t-(Date.now()-o.current));return()=>{clearTimeout(n)}},[t,...n]),r},S=n(30527),y=n(77823),E=n(55862),R=n(75966),D=n(34830),z=n(54597),I=e=>{let{sliceName:t,screenshotUrl:n}=e,{isScreenshotModalOpen:r}=(0,f.v9)(e=>({isScreenshotModalOpen:(0,R.gP)(e,D.q.SCREENSHOT_PREVIEW)})),{closeModals:i}=(0,z.Z)();return(0,o.jsx)(E.Z,{isOpen:r,shouldCloseOnOverlayClick:!0,contentLabel:"Screenshot Preview",portalClassName:"ScreenshotPreviewModal",onRequestClose:i,children:(0,o.jsx)(S.Z,{radius:"0px",bodySx:{p:0,bg:"#FFF",position:"relative",height:"100%",padding:16},footerSx:{position:"sticky",bottom:0,p:0},sx:{border:"none"},Header:(0,o.jsxs)(b.kC,{sx:{position:"sticky",top:0,zIndex:1,p:"16px",alignItems:"center",justifyContent:"space-between",borderBottom:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.borders))}},children:[(0,o.jsxs)(b.X6,{sx:{fontSize:"14px"},children:["Screenshot Preview for ",t]}),(0,o.jsx)(b.x8,{type:"button",onClick:()=>i()})]}),Footer:()=>(0,o.jsx)(b.kC,{style:{justifyContent:"flex-end",height:64,alignItems:"center",paddingRight:16,borderTop:"1px solid #DCDBDD"},children:(0,o.jsx)(b.zx,{variant:"secondary",sx:{fontWeight:600},onClick:()=>i(),children:"Close"})}),children:(0,o.jsx)(y.q,{src:n,sx:{height:"320px"}})})})},O=n(26109),T=n(9149);let M=e=>({__TYPE__:"SharedSliceContent",variation:e,primary:{},items:[]});var W=n(85819),_=n(33986),P=e=>{let{children:t,sx:n}=e;return(0,o.jsx)(b.kC,{sx:{bg:"grey07",height:"90%",width:"100%",justifyContent:"center",alignItems:"center",zIndex:"1",...n},children:(0,o.jsx)(b.kC,{sx:{marginTop:"-128px",justifyContent:"center",flexDirection:"column",alignItems:"center"},children:t})})},N=e=>{let{onRetrigger:t}=e;return(0,o.jsxs)(P,{children:[(0,o.jsx)(b.Ee,{src:"/iframe-not-running.png",sx:{width:"320px"}}),(0,o.jsx)(b.xv,{sx:{color:"textClear",mb:2,fontSize:"14px",lineHeight:"24px",fontWeight:"600"},children:"Slice Machine can't render your slice"}),(0,o.jsxs)(b.xv,{sx:{color:"failedConnectText",maxWidth:"400px",textAlign:"center",fontSize:"12px",lineHeight:"22px"},children:["Ensure your website's development server is running by typing",(0,o.jsx)("br",{}),(0,o.jsx)(b.xv,{as:"code",variant:"styles.inlineCode",sx:{padding:"4px",borderRadius:"6px"},children:"npm run dev"}),"\xa0 in your terminal at the root of your website directory.",(0,o.jsx)("br",{})," If that doesn't work, see the\xa0",(0,o.jsx)(b.rU,{target:"_blank",href:"https://prismic.io/docs/slice-machine#simulate-slices",sx:{color:"link"},children:"troubleshooting instructions."})]}),(0,o.jsx)(_.z,{onClick:t,label:"Refresh",Icon:W.Fer,iconSize:20,iconFill:"#6F6E77",variant:"secondaryMedium",sx:{mt:"16px"}})]})},F=e=>(0,o.jsxs)("svg",{viewBox:"0 0 72 72",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,o.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M51.3304 19.693C50.9182 18.9787 50.2527 18.6526 50.2527 18.6526L64.7906 10.2077C65.5266 9.78011 66.4679 10.0339 66.8929 10.7745C67.3179 11.5151 67.0657 12.4622 66.3294 12.8898L52.639 20.8424C52.639 20.8424 51.7428 20.4072 51.3304 19.693Z",fill:"current"}),(0,o.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M47.6775 54.7814C58.0794 48.7394 61.6433 35.3572 55.6378 24.8917C54.7801 23.397 53.7736 22.0427 52.6481 20.8367L32.9428 32.2832C32.2068 32.7108 31.2655 32.457 30.8405 31.7165C30.4155 30.9757 30.6677 30.0287 31.4039 29.6011L50.2693 18.6425C43.486 13.2668 33.8645 12.2736 25.9299 16.8827C15.5282 22.9249 11.9642 36.3071 17.9697 46.7727C18.8274 48.2671 19.8339 49.6216 20.9595 50.8276L41.1791 39.0822C41.9151 38.6546 42.8564 38.9086 43.2814 39.6492C43.7064 40.3897 43.4542 41.3368 42.7182 41.7644L23.3384 53.0217C30.1217 58.3975 39.7432 59.3906 47.6775 54.7814Z",fill:"current"}),(0,o.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.20645 61.7656C4.78145 61.0248 5.03367 60.078 5.76978 59.6502L20.9371 50.8398C20.9371 50.8398 21.8578 51.2406 22.3053 51.7062C22.7528 52.1717 23.361 53.0078 23.361 53.0078L7.30887 62.3323C6.57274 62.7599 5.63144 62.5061 5.20645 61.7656Z",fill:"current"})]}),L=n(75100),A=n(19909),B=e=>{let{defaultValue:t,variations:n,MenuItemAction:r,onChange:i}=e;return(0,o.jsxs)(b.xu,{sx:{py:0,flexDirection:"column",backgroundColor:"headSection",overflow:"auto",display:"flex",borderRadius:"4px",border:e=>{var t;return"1px solid ".concat(null===(t=e.colors)||void 0===t?void 0:t.borders)},boxShadow:"0 10px 10px rgba(0, 0, 0, 0.05)",maxHeight:340,minWidth:250,maxWidth:350,color:"text"},children:[(0,o.jsxs)(b.xv,{sx:{p:3,fontSize:12,color:"textClear"},children:[n.length," VARIATION",n.length>1?"S":""]}),(0,o.jsxs)(b.kC,{sx:{p:0,flexDirection:"column"},children:[n.map(e=>(0,o.jsx)(U,{value:e,isActive:e.id===t.id,onClick:i},e.id)),r||null]})]})};let U=e=>{let{value:t,isActive:n,onClick:r}=e;return(0,o.jsx)(b.xu,{sx:{px:3,py:2,color:n?"primary":"",cursor:"pointer",borderLeft:e=>{let{colors:t}=e;return"2px solid ".concat(n?null==t?void 0:t.primary:null==t?void 0:t.background)},borderRadius:0,bg:"background",":hover":{bg:"hoverBackground",borderLeft:e=>{let{colors:t}=e;return"2px solid ".concat(null==t?void 0:t.primary)}}},onClick:()=>r(t),children:t.name})};var H=e=>{let{buttonSx:t,defaultValue:n,variations:r,onNewVariation:i,onChange:s,sx:l,disabled:a}=e,[c,d]=(0,g.useState)(!1),[u,x]=(0,g.useState)(n||r[0]);(0,g.useEffect)(()=>{n&&x(n)},[n]);let h=function(e){d(!1),x(e),setTimeout(()=>s(e),210)},p=(0,o.jsx)(b.xu,{sx:{p:2},children:(0,o.jsx)(b.zx,{variant:"transparent",sx:{color:"text"},onClick:()=>{d(!1),i&&i()},children:"+ Add new variation"})});return(0,o.jsx)(b.xu,{sx:l,children:(0,o.jsx)(A.Popover,{align:"start",isOpen:c,onClickOutside:()=>d(!1),positions:["bottom"],padding:10,content:()=>(0,o.jsx)(B,{defaultValue:u,variations:r,onChange:h,MenuItemAction:i?p:void 0}),containerClassName:"variationSelectorContainer",children:(0,o.jsxs)(b.zx,{sx:{...t},variant:"dropDownButton",onClick:()=>d(!c),disabled:a,children:[u.name," ",c?(0,o.jsx)(L.bOz,{size:"16px","aria-label":"Collapse variations"}):(0,o.jsx)(L.mEq,{size:"16px","aria-label":"Expand variations"})]})})})};let Z=(e,t,n)=>{if(!t){c().push("/".concat(e.href,"/").concat(e.model.name));return}let r=function(e){let{lib:t,sliceName:n,variationId:r,options:i={},isSimulator:o}=e,s="/slices/[lib]/[sliceName]/[variation]".concat(o?"/simulator":""),l="/slices/".concat(t,"/").concat(n,"/").concat(r).concat(o?"/simulator":"");return{href:s,as:l,options:i,all:[s,l,i]}}({lib:e.href,sliceName:e.model.name,variationId:null==t?void 0:t.id,isSimulator:n});c().push(r.href,r.as,r.options)};var q=e=>{let{slice:t,variation:n,isDisplayEditor:r,toggleIsDisplayEditor:i,onSaveMock:s,actionsDisabled:l,isSavingMock:a}=e;return(0,o.jsxs)(b.kC,{sx:{p:"16px",display:"flex",bg:"grey07",gridTemplateRows:"1fr",borderBottom:"1px solid #DCDBDD",justifyContent:"space-between"},children:[(0,o.jsxs)(b.kC,{sx:{alignItems:"center"},children:[(0,o.jsx)(F,{height:"20px",width:"20px",fill:"#1A1523"}),(0,o.jsx)(b.xv,{sx:{ml:2,mr:"12px",fontSize:"14px",color:"#1A1523",fontWeight:"600",letterSpacing:"-0.15px"},children:t.model.name}),(0,o.jsx)(H,{defaultValue:n,variations:t.model.variations,onChange:e=>Z(t,e,!0),disabled:t.model.variations.length<=1||l})]}),(0,o.jsxs)(b.kC,{sx:{alignItems:"center",justifyContent:"space-between"},children:[(0,o.jsx)(b.kC,{sx:{alignItems:"center",justifyContent:"space-around"},children:(0,o.jsxs)(b.kC,{sx:{alignItems:"center",mr:4},children:[(0,o.jsx)(b.__,{htmlFor:"show-mock-editor",sx:{color:"#6F6E77",lineHeight:"16px",fontSize:"12px",fontWeight:"600",letterSpacing:"0px"},children:"Editor"}),(0,o.jsx)(b.rs,{id:"show-mock-editor",checked:r,onChange:i,disabled:l})]})}),(0,o.jsx)(_.z,{"data-testid":"save-mock",onClick:s,label:"Save mock content",disabled:a||l,variant:"primary",sx:{borderRadius:"6px",color:"#F1EEFE",fontWeight:"bold",border:"1px solid #5842C3",backgroundColor:"#6E56CF",boxShadow:"0px 1px 0px rgba(0, 0, 0, 0.04)","&:hover":{"&:not([disabled])":{backgroundColor:"#5842C3"}}}})]})]})},V=n(16),X=e=>{let{apiContent:t,screenDimensions:n,simulatorUrl:r,dryRun:i=!1,isScreenshot:s=!1,handleSimulatorConnectionResult:l}=e,[a,c]=function(){let[e,t]=(0,g.useState)(),n=(0,g.useRef)(),r=(0,g.useRef)();return[e,(0,g.useCallback)(async e=>{var i,o;if(null===(i=n.current)||void 0===i||i.disconnect(),null===(o=r.current)||void 0===o||o.disconnect(),t(void 0),null!=e){n.current=new V.SH(e);try{await n.current.connect(),t(n.current);let i=async()=>{var e;t(void 0),await (null===(e=n.current)||void 0===e?void 0:e.connect({},!0)),t(n.current)};r.current=new MutationObserver(e=>{e.forEach(e=>{"src"===e.attributeName&&i().catch(e=>{throw e})})}),r.current.observe(e,{attributeFilter:["src"]})}catch(e){console.error(e)}}},[])]}();(0,g.useEffect)(()=>{if(!r){l("failed");return}if(void 0!==a){if(!a.connected){l("failed"),console.warn("Trying to use a disconnected simulator client.");return}(async()=>{await a.setSliceZone([t])})().then(()=>{l("successful")}).catch(()=>{l("failed")})}},[a,t,r]);let[d,u]=(0,g.useState)(),x=function(e,t){let n=(0,g.useRef)();return(0,g.useCallback)(t=>{var r;null===(r=n.current)||void 0===r||r.disconnect(),null!==t&&(n.current=new ResizeObserver(n=>{let[r]=n,{height:i,width:o}=r.contentRect;e({blockSize:i,inlineSize:o},t)}),n.current.observe(t))},t)}(e=>{let{blockSize:t,inlineSize:n}=e;u({height:t,width:n})},[]);return(0,o.jsx)(b.kC,{ref:x,sx:{alignItems:"center",backgroundColor:"headSection",backgroundImage:"url(/pattern.png)",backgroundRepeat:"repeat",backgroundSize:"10px",border:s?void 0:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.darkBorder))},borderRadius:s?void 0:8,display:"flex",height:"100%",justifyContent:"center",overflow:"hidden",...i?{display:"none"}:{}},children:r?(0,o.jsx)("iframe",{ref:c,src:r,style:{border:"none",maxHeight:"".concat(n.height,"px"),maxWidth:"".concat(n.width,"px"),minHeight:"".concat(n.height,"px"),minWidth:"".concat(n.width,"px"),overflowY:"auto",...d?{transform:"scale(".concat(function(e,t){let{height:n,width:r}=e,{height:i,width:o}=t;return r>o||n>i?r-o>n-i?o/r:i/n:1}(n,d),")")}:{display:"none"}}}):null})},K=e=>{let{defaultValue:t,options:n,onChange:r}=e;return(0,o.jsx)(b.xu,{sx:{py:0,flexDirection:"column",backgroundColor:"headSection",overflow:"auto",display:"flex",borderRadius:"6px",border:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.darkBorder))},boxShadow:"0 10px 10px rgba(0, 0, 0, 0.05)",maxHeight:340,minWidth:180,maxWidth:350,color:"text"},children:(0,o.jsx)(b.kC,{sx:{p:0,flexDirection:"column"},children:n.map(e=>(0,o.jsx)(Y,{value:e,isActive:e===t,onClick:r}))})})};let Y=e=>{let{value:t,isActive:n,onClick:r}=e;return(0,o.jsx)(b.xu,{sx:{p:2,cursor:"pointer",fontSize:"14px",borderRadius:0,bg:n?"hoverBackground":"background",":hover":{bg:"hoverBackground"}},onClick:()=>r(t),children:t})},J=e=>{let{buttonSx:t,currentValue:n,options:r,onChange:i,disabled:s}=e,[l,a]=(0,g.useState)(!1),c=function(e){a(!1),setTimeout(()=>i(e),210)};return(0,o.jsx)(b.xu,{children:(0,o.jsx)(A.Popover,{align:"start",isOpen:l,onClickOutside:()=>a(!1),positions:["bottom"],padding:2,content:()=>(0,o.jsx)(K,{defaultValue:n,options:r,onChange:c}),children:(0,o.jsxs)(b.zx,{sx:t,variant:"dropDownButton",onClick:()=>a(!l),disabled:s,children:[n," ",l?(0,o.jsx)(L.bOz,{size:"24px"}):(0,o.jsx)(L.mEq,{size:"24px"})]})})})};(r=i||(i={})).DESKTOP="Desktop",r.TABLET="Tablet",r.MOBILE="Mobile",r.CUSTOM="Custom";let $={Desktop:{width:1280,height:800},Tablet:{width:1080,height:810},Mobile:{width:390,height:844}},Q=e=>{let{label:t,startValue:n,onChange:r,sx:i,disabled:s}=e,l=["e","-","+",",","."];return(0,o.jsxs)(b.kC,{sx:{alignItems:"center",...i},children:[(0,o.jsx)(b.__,{sx:{backgroundColor:"grey07",border:"transparent",borderRight:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.darkBorder))},borderRadius:"6px 0px 0px 6px",width:26,height:30,color:"greyIcon",fontWeight:"bold",fontSize:"14px",alignItems:"center",justifyContent:"center",position:"absolute",ml:"1px"},htmlFor:"".concat(t,"-screensize-input"),children:t}),(0,o.jsx)(b.II,{type:"number",name:"".concat(t,"-screensize-input"),disabled:s,sx:{width:80,height:32,p:0,border:"1px solid #E4E2E4",borderRadius:"6px","&::-webkit-outer-spin-button,&::-webkit-inner-spin-button":{WebkitAppearance:"none",margin:0},color:"greyIcon",textAlign:"center",paddingLeft:26,"&:disabled":{cursor:"not-allowed","&:hover":{border:"1px solid #E4E2E4"},"&:active":{border:"1px solid #E4E2E4",boxShadow:"none"}}},onChange:r,value:n,min:"0",onKeyDown:e=>{l.includes(e.key)&&e.preventDefault()}})]})},G=e=>{let{handleScreenSizeChange:t,screenDimensions:n,actionsDisabled:r}=e,[s,l]=(0,g.useState)(i.DESKTOP),a=e=>{let n=Object.values($).findIndex(t=>JSON.stringify(t)===JSON.stringify(e));l(n<0?i.CUSTOM:Object.keys($)[n]),t(e)};return(0,o.jsx)(b.kC,{sx:{alignItems:"center",pb:"16px",justifyContent:"space-between",variant:"small"},children:(0,o.jsxs)(b.kC,{sx:{alignItems:"center",flex:1},children:[(0,o.jsx)(J,{options:Object.values(i),onChange:e=>{l(e),e!==i.CUSTOM.toString()&&t($[e])},buttonSx:{alignSelf:"start"},currentValue:s,disabled:r}),(0,o.jsx)(Q,{label:"W",startValue:n.width.toString(),onChange:e=>{a({...n,width:Number(e.target.value)})},disabled:r,sx:{mx:2}}),(0,o.jsx)(L.eSQ,{size:16,color:"#6F6E77"}),(0,o.jsx)(Q,{label:"H",startValue:n.height.toString(),onChange:e=>{a({...n,height:Number(e.target.value)})},disabled:r,sx:{ml:2}})]})})},ee=new p.S;var et=e=>{var t,n;let{slice:r,variation:s}=e,{updateSliceMockSuccess:l}=(0,z.Z)(),{simulatorUrl:a,endpoints:c}=(0,f.v9)(e=>({simulatorUrl:(0,T.x0)(e),endpoints:(0,T.gZ)(e)})),d=(0,g.useMemo)(()=>({embedApiEndpoint:new URL(c.PrismicEmbed),authStrategy:"cookie",unsplashApiBaseUrl:new URL(c.PrismicUnsplash),baseUrl:new URL("builder/",c.PrismicWroom)}),[c.PrismicEmbed,c.PrismicUnsplash,c.PrismicWroom]);(0,g.useEffect)(()=>{C.Xe.track({event:"slice-simulator:open"})},[]);let p=(0,g.useRef)(!1);(0,g.useEffect)(()=>{p.current=!0},[]);let S=e=>{p.current&&(p.current=!1,C.Xe.track({event:"editor:widget-used",sliceId:e}))},[y,E]=(0,g.useState)("waiting");(0,g.useEffect)(()=>{if("waiting"===y){let e=setTimeout(()=>{E("failed")},2e4);return()=>clearTimeout(e)}},[y]);let R=e=>{"waiting"===y&&("failed"===e?C.Xe.track({event:"slice-simulator:is-not-running"}):Z(!0),E(e))},[D,W]=(0,g.useState)($[i.DESKTOP]),_=(0,g.useMemo)(()=>O.id.fromSM(r.model),[r.model]),[F,L]=(0,g.useState)(null),A=(0,g.useMemo)(()=>{var e;return(null==F?void 0:F.variation)===s.id?F:(null===(e=r.mocks)||void 0===e?void 0:e.find(e=>e.variation===s.id))||M(s.id)},[F,s.id]),B=(0,g.useMemo)(()=>(0,h.renderSliceMock)(_,A).id,[]),U=w((0,g.useCallback)(()=>()=>({...(0,h.renderSliceMock)(_,A),id:B}),[_,A]),800,[_,A]),[H,Z]=(0,g.useState)(!1),[V,K]=(0,g.useState)(!1),Y=async()=>{if(F){K(!0);try{var e;let t={libraryID:r.from,sliceID:r.model.id,mocks:(null!==(e=r.mocks)&&void 0!==e?e:[]).filter(e=>e.variation!==F.variation).concat(F)},{errors:n}=await (0,C.y3)(t);if(n.length>0)throw n;l(t),v.Am.success("Saved")}catch(e){console.error("Error while saving mock",e),v.Am.error("Error saving content")}K(!1)}};return(0,o.jsxs)(b.kC,{sx:{flexDirection:"column",height:"100vh"},children:[(0,o.jsx)(q,{slice:r,variation:s,isDisplayEditor:H,actionsDisabled:"successful"!==y,toggleIsDisplayEditor:()=>Z(!H),onSaveMock:()=>void Y(),isSavingMock:V}),(0,o.jsx)(b.xu,{sx:{flex:1,bg:"grey07",p:3,display:"flex",flexDirection:"column",height:"calc(100% - 73px - 16px)"},children:(0,o.jsxs)(b.kC,{sx:{flex:1,flexDirection:"row",position:"relative",width:"100%",height:"100%"},children:[(0,o.jsxs)(j.xR,{sx:{display:"flex",height:"100%",flexDirection:"column",flex:1,minWidth:0},children:[(0,o.jsx)(G,{handleScreenSizeChange:W,screenDimensions:D,actionsDisabled:"successful"!==y}),"failed"===y?(0,o.jsx)(N,{onRetrigger:()=>{E("waiting")}}):null,"successful"===y?(0,o.jsx)(X,{apiContent:U,screenDimensions:D,simulatorUrl:a,handleSimulatorConnectionResult:R}):(0,o.jsx)(o.Fragment,{children:"waiting"===y?(0,o.jsxs)(P,{children:[(0,o.jsx)(b.$j,{variant:"styles.spinner"}),(0,o.jsx)(X,{apiContent:U,screenDimensions:D,simulatorUrl:a,dryRun:!0,handleSimulatorConnectionResult:R})]}):null})]}),"successful"===y&&H?(0,o.jsx)(b.kC,{className:"editor",sx:{flexDirection:"column",marginLeft:"16px",maxWidth:"440px",minWidth:"440px",overflowY:"auto"},children:(0,o.jsx)(k.h,{renderError:()=>(0,o.jsx)(x.ax,{title:"Editor error",description:"An error occurred while rendering the editor."}),children:(0,o.jsx)(g.Suspense,{children:(0,o.jsx)(m.aH,{client:ee,children:(0,o.jsx)(u.kS,{config:d,content:A,onContentChange:e=>{L(e),S(r.model.id)},sharedSlice:_},s.id)})})})}):null]})}),!!(null===(t=r.screenshots[s.id])||void 0===t?void 0:t.url)&&(0,o.jsx)(I,{sliceName:r.model.name,screenshotUrl:null===(n=r.screenshots[s.id])||void 0===n?void 0:n.url})]})};function en(){let e=(0,a.useRouter)(),{slice:t,variation:n}=(0,d.Z)();return void 0===t||void 0===n?(e.replace("/"),null):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l(),{children:(0,o.jsx)("title",{children:"Simulator: ".concat(t.model.name," - Slice Machine")})}),(0,o.jsx)(et,{slice:t,variation:n})]})}}},function(e){e.O(0,[789,872,429,888,774,179],function(){return e(e.s=30755)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[136],{31314:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/slices/[lib]/[sliceName]/[variation]",function(){return n(57514)}])},50477:function(e,t,n){"use strict";n.d(t,{NG:function(){return s},xU:function(){return a}});var i=n(18566),r=n(2784),o=n(80148);function a(e){let t=(0,r.useCallback)(t=>(0,i.VA)(l,[e],t),[e]);return{customTypes:(0,i.QT)(l,[e]),updateCustomTypes:t}}async function l(e){let{errors:t,models:n}=await o.managerClient.customTypes.readAllCustomTypes(e?{format:e}:void 0);if(t.length>0)throw t;return n.map(e=>{let{model:t}=e;return t})}function s(e){(0,i.gw)(l,[]),(0,i.gw)(l,[e])}},44309:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var i=n(5632),r=n(56580),o=n(7723);let a=(e,t,n)=>{var i;let r=null===(i=(0,o.Sd)(e))||void 0===i?void 0:i.find(e=>e.name.replace(/\//g,"--")===t);return null==r?void 0:r.components.find(e=>e.model.name===n)};var l=()=>{let e=(0,i.useRouter)(),{slice:t}=(0,r.v9)(t=>({slice:a(t,e.query.lib,e.query.sliceName)}));if(!t)return{};let n=t.model.variations.find(t=>t.id===e.query.variation);return n?{slice:t,variation:n}:{}}},57514:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return eO}});var i=n(52322),r=n(97729),o=n.n(r),a=n(5632),l=n(74217),s=n(2784),d=n(94160),c=n(68968),u=n(23710),m=n(54597);let h=(0,s.createContext)(void 0);function p(e){let{children:t,initialSlice:n}=e,r=(0,a.useRouter)(),[o,p]=(0,s.useState)(n),{actionQueueStatus:f,setNextAction:v}=(0,u.c)({errorMessage:"Failed to save slice. Check your browser's console for more information."}),{saveSliceSuccess:x}=(0,m.Z)(),y=(0,l.R9)(x),{syncChanges:g}=(0,c.g)(),j=(0,s.useMemo)(()=>{let e=r.query.variation,t=o.model.variations.find(t=>t.id===e);if(t)return t;throw Error("Variation not found")},[o,r]),b=(0,s.useCallback)((e,t)=>{p(e),v(async()=>{let{errors:n}=await (0,d.Ve)(e);if(n.length>0)throw n;let{errors:i,mocks:r}=await (0,d.pL)({libraryID:e.from,sliceID:e.model.id});if(i.length>0)throw i;y({...e,mocks:r}),g(),null==t||t()})},[v,y,g]),w=(0,s.useMemo)(()=>({actionQueueStatus:f,slice:o,setSlice:b,variation:j}),[f,o,b,j]);return(0,i.jsx)(h.Provider,{value:w,children:"function"==typeof t?t(w):t})}function f(){let e=(0,s.useContext)(h);if(!e)throw Error("SliceBuilderProvider not found");return e}var v=n(44309),x=n(14226),y=n(43388),g=n(23094),j=n(9385),b=n(18566),w=n(80148);async function C(e){let{errors:t,model:n}=await w.managerClient.customTypes.readCustomType({id:e});if(t.length>0)throw t;return n}var I=n(59294),k=n(14101),S=n(81229);let D=e=>(0,i.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,i.jsx)("path",{d:"M9.5 12L6 9.5L9.5 7V9.5V12Z",fill:"currentColor"}),(0,i.jsx)("path",{d:"M6 9.5H11C14.3 9.5 17 12.2 17 15.5V17.5M6 9.5L9.5 12V9.5V7L6 9.5Z",stroke:"currentColor",strokeLinecap:"round"})]}),T=()=>{let{source:e}=(0,k.l)(),t=function(e){let t=(0,I.Ag)(e.query);return void 0!==t&&(0,I.ne)(e.asPath,t)?t:void 0}(e);return void 0!==t?(0,i.jsx)(j.h,{children:(0,i.jsx)(s.Suspense,{children:(0,i.jsx)(x.D,{bottom:32,justifyContent:"center",position:"fixed",right:0,width:"100vw",children:(0,i.jsx)(E,{sourceCustomTypeId:t})})})}):null},E=e=>{let{sourceCustomTypeId:t}=e,n=(0,b.QT)(C,[t]),[r,o]=(0,s.useState)(!0),l=(0,a.useRouter)();if(void 0===n||!r)return null;{let{format:e,id:t}=n,r=I.cd[e].getBuilderPagePathname(t);return(0,i.jsxs)(x.F,{density:"compact",color:"dark",children:[(0,i.jsxs)(x.E,{onClick:()=>{l.push(r)},renderStartIcon:()=>(0,i.jsx)(D,{}),children:["Return to ",n.label]}),(0,i.jsx)(x.E,{onClick:()=>{o(!1)},renderStartIcon:()=>(0,i.jsx)(S.T,{})})]})}},A=()=>(0,i.jsx)(x.E,{asChild:!0,invisible:!0,color:"grey",endIcon:"openInNew",sx:{alignSelf:"center"},onClick:()=>{d.Xe.track({event:"mcp:promo-link-clicked",source:"slice_editor",target:"docs"})},children:(0,i.jsx)("a",{href:"https://prismic.io/docs/ai#code-with-prismics-mcp-server",target:"_blank",children:"Boost your workflow in Cursor with Prismic MCP"})});var R=n(58446),L=n(56580),_=n(33710),F=n(77057),O=n(39180),N=n(7974),V=n(79384);let M=e=>{let{children:t,open:n,onClose:r}=e;return(0,i.jsxs)(F.zs,{open:n,trigger:t,onClose:r,children:[(0,i.jsx)(F.Ev,{children:"Simulate your slices"}),(0,i.jsx)(F.LB,{component:"video",cloudName:"dmtf1daqp",loop:!1,autoPlay:!1,publicId:N.Sn,poster:"/simulator-video-thumbnail.png",controls:!0,onPlay:()=>{d.Xe.track({event:"open-video-tutorials",video:N.Sn})}}),(0,i.jsx)(F.OJ,{children:"Minimize context-switching by previewing your Slice components in the simulator."}),(0,i.jsx)(F.Rp,{children:"Got it"})]})};var P=e=>{let{disabled:t}=e,n=(0,a.useRouter)(),r=(0,s.useRef)(null),{setSeenSimulatorToolTip:o}=(0,m.Z)(),{hasSeenSimulatorTooltip:l}=(0,L.v9)(e=>({hasSeenSimulatorTooltip:(0,V.bv)(e)}));(0,s.useEffect)(()=>{let e=r.current;e&&!l&&setTimeout(()=>_.Z.show(e),5e3)},[l]);let d=()=>{if(o(),r.current){let{current:e}=r;_.Z.hide(e)}};return(0,i.jsx)("span",{"data-tip":!0,"data-tip-disable":!1,"data-for":"simulator-button-tooltip",ref:r,children:(0,i.jsx)(M,{open:!l,onClose:d,children:(0,i.jsx)(x.E,{"data-tip":!0,"data-testid":"simulator-open-button",onClick:()=>{d(),window.open("".concat(n.asPath,"/simulator"),N.pq)},disabled:t,renderStartIcon:()=>(0,i.jsx)(O.z,{color:x.t.color.grey1,height:"24px",style:{transform:"scale(calc(4 / 3))"},width:"24px"}),children:"Simulate"})})})},z=n(88866),Z=n(28316),K=n(88932),B=n(35289),H=n(63908),q=n(34166),W=n(3285),X=n(40141),G=n(49219),U=n(26109),Q=n(45440),Y=n(16086),J=n(358),$=n(5495),ee=n(39302);let et=[Q.C.Image,Q.C.Text,Q.C.StructuredText,Q.C.Link,Q.C.Select,Q.C.Boolean,Q.C.Number,Q.C.Color,Q.C.Date,Q.C.Table,Q.C.Embed,Q.C.Timestamp,Q.C.GeoPoint,Q.C.ContentRelationship,Q.C.LinkToMedia];var en=()=>{let{slice:e,setSlice:t,variation:n}=f(),[r,o]=(0,s.useState)(!1),a=[Q.C.Group,...et],l=!!(n.items&&Object.keys(n.items).length>0),d=i=>r=>{if(i===U.Rt.Items&&n.items&&Object.keys(n.items).length<=1){o(!0);return}t((0,H.AK)({slice:e,variationId:n.id,widgetArea:i,fieldId:r}))},c=(i,r)=>{let{apiId:o,newKey:a,value:l,inGroupFieldAction:s}=r;t((0,H.L4)({slice:e,variationId:n.id,widgetArea:i,previousFieldId:o,newFieldId:a,newField:l}),()=>{"add"===s&&K.Am.success("Field added")}),s||(0,ee.Z)({previousId:o,id:a,field:l})},u=(i,r)=>{let{apiId:o,value:l}=r,{type:s}=l,d=a.find(e=>e.CUSTOM_NAME===s||e.TYPE_NAME===s);if(!d)throw Error("Unsupported Field Type: ".concat(s));try{d.schema.validateSync(l,{stripUnknown:!1})}catch(e){throw Error('Model is invalid for widget "'.concat(l.type,'".'))}t((0,H.xS)({slice:e,variationId:n.id,widgetArea:i,newFieldId:o,newField:l.type===z.GroupFieldType?G.Fl.fromSM(l):l}),()=>{K.Am.success("".concat("Group"===s?"Group":"Field"," added"))}),(0,$.V)({id:o,field:l})},m=e=>t=>""===t.apiId?u(e,{...t,apiId:t.newKey}):c(e,t),h=i=>r=>{if((0,Y.uS)(r))return;let{source:o,destination:a}=r;if(!a)return;let l=(0,H.gR)({slice:e,variationId:n.id,widgetArea:i,sourceIndex:o.index,destinationIndex:a.index});(0,Z.flushSync)(()=>t(l))};return(0,i.jsxs)(x.D,{flexDirection:"column",gap:18,children:[(0,i.jsxs)(B.aV,{children:[(0,i.jsx)(X.Z,{zoneType:"slice",zoneTypeFormat:void 0,tabId:void 0,title:"Fields",dataTip:" The non-repeatable zone\n is for fields<br/> that should appear once, like a<br/>\n section title.\n",fields:n.primary,EditModal:W.Z,widgetsArray:a,onDeleteItem:d(U.Rt.Primary),onSave:m(U.Rt.Primary),onDragEnd:h(U.Rt.Primary),poolOfFieldsToCheck:n.primary||[],renderHintBase:e=>{let{item:t}=e;return"slice.primary".concat((0,J.Ti)(t.key))},renderFieldAccessor:e=>"slice.primary".concat((0,J.Ti)(e)),testId:"static-zone-content",isRepeatableCustomType:void 0,emptyStateHeading:void 0}),l?(0,i.jsx)(X.Z,{zoneType:"slice",zoneTypeFormat:void 0,tabId:void 0,isRepeatable:!0,title:"Repeatable Zone",dataTip:"The repeatable zone is for a group<br/>\n of fields that you want to be able to repeat an<br/>\n indeterminate number of times, like FAQs",widgetsArray:et,fields:n.items,EditModal:W.Z,onDeleteItem:d(U.Rt.Items),onSave:m(U.Rt.Items),onDragEnd:h(U.Rt.Items),poolOfFieldsToCheck:n.items||[],renderHintBase:e=>{let{item:t}=e;return"item".concat((0,J.Ti)(t.key))},renderFieldAccessor:e=>"slice.items[i]".concat((0,J.Ti)(e)),testId:"slice-repeatable-zone",isRepeatableCustomType:void 0,emptyStateHeading:"No fields"}):null,(0,i.jsxs)(x.ae,{size:"small",open:r,onOpenChange:e=>o(e),children:[(0,i.jsx)(x.al,{icon:"delete",title:"Delete field"}),(0,i.jsxs)(x.aj,{children:[(0,i.jsx)(x.D,{padding:24,gap:12,flexDirection:"column",children:e.model.variations.length>1?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("strong",{children:["This action will permanently remove the repeatable zone from the ",e.model.name," slice ",n.name," variation."]}),(0,i.jsx)("div",{children:"Other variations will be left untouched. To reimplement repeatable fields later, use a group field instead of the repeatable zone."})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("strong",{children:["This action will permanently remove the repeatable zone from the ",e.model.name,"."]}),(0,i.jsx)("div",{children:"To reimplement repeatable fields later, use a group field instead of the repeatable zone."})]})}),(0,i.jsxs)(x.ah,{children:[(0,i.jsx)(x.ai,{}),(0,i.jsx)(x.af,{color:"tomato",onClick:()=>{t((0,H.Oh)({slice:e,variationId:n.id})),o(!1)},children:"Delete"})]})]})]})]}),(0,i.jsx)(q.rT,{type:"model",library:e.from,sliceId:e.model.id,variationId:n.id})]})},ei=n(6277),er=n(34887),eo=n.n(er);let ea=e=>{let{variant:t="dashed",color:n="currentColor",className:r}=e;return(0,i.jsx)("hr",{className:(0,ei.W)(eo()["variant-".concat(t)],r),style:{color:x.t.color[n]}})};var el=n(51507),es=n(27763),ed=n(21442);async function ec(e){try{let{errors:t}=await (0,d.Ve)(e.component);if(t.length>0)throw t;let{errors:n}=await (0,d.Xi)({libraryID:e.component.from,sliceID:e.component.model.id,variationID:e.variation.id});if(n.length>0)throw n;(0,q.tB)({type:"model",library:e.component.from,sliceId:e.component.model.id,variationId:e.variation.id});let{slice:i,errors:r}=await (0,d.X$)(e.component.from,e.component.model.id);if(r.length>0)throw r;if(!i)throw Error("Could not read variation `".concat(e.variation.name,"`"));let{mocks:o}=await (0,d.pL)({libraryID:e.component.from,sliceID:e.component.model.id}),a=es.Y.getBuilderPagePathname({libraryName:e.component.href,sliceName:i.name,variationId:i.variations[0].id});await e.router.replace(a);let l={...e.component,model:i,mocks:o};return e.saveSliceSuccess(l),l}catch(n){let t="Could not delete variation `".concat(e.variation.name,"`");throw console.error(t,n),K.Am.error(t),n}}let eu=e=>{let{isOpen:t,onClose:n,slice:r,variation:o}=e,l=(0,a.useRouter)(),[d,c]=(0,s.useState)(!1),{saveSliceSuccess:u}=(0,m.Z)(),{setSlice:h}=f();return(0,i.jsxs)(x.ae,{open:t,onOpenChange:e=>!e&&n(),size:{width:448,height:"auto"},children:[(0,i.jsx)(x.al,{icon:"delete",title:"Delete variation"}),(0,i.jsx)(x.aj,{children:(0,i.jsxs)(x.D,{flexDirection:"column",children:[(0,i.jsxs)(x.bL,{color:"grey11",sx:{marginBlock:16,marginInline:16},children:["This action will remove the variation from the slice model and delete associated files. When you push your changes, the variation will disappear from your repository. This update will"," ",(0,i.jsx)(em,{children:"not"})," affect your documents until you ",(0,i.jsx)(em,{children:"edit"})," ","them manually."]}),(0,i.jsxs)(x.ah,{children:[(0,i.jsx)(x.ai,{size:"medium"}),(0,i.jsx)(x.af,{size:"medium",color:"tomato",onClick:()=>{o&&(async()=>{c(!0);try{let e=await ec({component:r,router:l,saveSliceSuccess:u,variation:o});h(e)}catch(e){}c(!1),n()})()},loading:d,children:"Delete"})]})]})})]})},em=e=>(0,i.jsx)(x.bL,{...e,color:"inherit",component:"span",variant:"bold"});var eh=n(30195);async function ep(e){try{let{errors:t}=await (0,d.Ve)(e.component);if(t.length>0)throw t;let{errors:n}=await (0,d.eH)(e.component,{...e.variation,name:e.variationName});if(n.length>0)throw n;let{slice:i,errors:r}=await (0,d.X$)(e.component.from,e.component.model.id);if(r.length>0)throw r;if(!i)throw Error("Could not read variation `".concat(e.variation.name,"`"));let{mocks:o}=await (0,d.pL)({libraryID:e.component.from,sliceID:e.component.model.id}),a={...e.component,model:i,mocks:o};return e.saveSliceSuccess(a),a}catch(n){let t="Could not rename variation `".concat(e.variation.name,"`");throw console.error(t,n),K.Am.error(t),n}}let ef=e=>{let{isOpen:t,onClose:n,slice:r,variation:o}=e,[a,d]=(0,s.useState)(!1),[c,u]=(0,s.useState)(""),[h,p]=(0,s.useState)(),{setSlice:v}=f(),{saveSliceSuccess:y}=(0,m.Z)();return(0,l.pQ)(t,()=>{if(t&&(null==o?void 0:o.name)!==c){var e;u(null!==(e=null==o?void 0:o.name)&&void 0!==e?e:""),p(void 0)}}),(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(x.ae,{open:t,onOpenChange:e=>!e&&n(),size:{width:448,height:"auto"},children:[(0,i.jsx)(x.al,{icon:"edit",title:"Rename variation"}),(0,i.jsx)(x.aj,{children:(0,i.jsxs)(x.aJ,{onSubmit:function(){if(!h&&o){d(!0);try{ep({component:r,saveSliceSuccess:y,variation:o,variationName:c.trim()}).then(e=>{v(e)})}catch(e){}d(!1),n()}},children:[(0,i.jsxs)(x.D,{flexDirection:"column",gap:8,padding:16,children:[(0,i.jsx)(x.bL,{variant:"normal",color:"grey11",children:"This action will rename the variation in the slice model. When you push your changes, the variation will be renamed in your repository."}),(0,i.jsx)(x.D,{flexDirection:"column",gap:4,children:(0,i.jsx)(x.aM,{type:"text",label:"Variation name *",placeholder:"Variation name",error:h,value:c,onValueChange:function(e){u(e),p(function(e){let t=ev.safeParse(e,{errorMap:ex});if(t.error)return t.error.errors[0].message}(e))}})})]}),(0,i.jsxs)(x.ah,{children:[(0,i.jsx)(x.ai,{size:"medium"}),(0,i.jsx)(x.af,{type:"submit",size:"medium",loading:a,disabled:!!h,children:"Rename"})]})]})})]})})},ev=eh.z.string().min(1),ex=e=>e.code===eh.z.ZodIssueCode.too_small?{message:"This field is required"}:{message:"Invalid value"};var ey=n(68105),eg=n(63397),ej=n(96009),eb=n.n(ej),ew=n(36131),eC=n(75289),eI=n(30527);function ek(e){let{children:t}=e,n=(0,eI.W)();return(0,i.jsx)(eC.kC,{sx:{p:3,pl:4,bg:"headSection",alignItems:"center",justifyContent:"space-between",borderTopLeftRadius:n,borderTopRightRadius:n,borderBottom:e=>{var t;return"1px solid ".concat(null===(t=e.colors)||void 0===t?void 0:t.borders)}},children:t})}var eS=e=>{let{children:t,FooterContent:n,HeaderContent:r,close:o,sx:a={}}=e;return(0,i.jsx)(eI.Z,{borderFooter:!0,footerSx:{p:0},bodySx:{pt:2,pb:4,px:4},sx:{border:"none",...a},Header:(0,i.jsxs)(ek,{children:[r,o?(0,i.jsx)(eC.x8,{onClick:o,type:"button"}):null]}),Footer:n?(0,i.jsxs)(eC.kC,{sx:{alignItems:"space-between",bg:"headSection",p:3},children:[(0,i.jsx)(eC.xu,{sx:{ml:"auto"}}),n]}):null,children:t})},eD=n(55862);let eT=e=>{let{msg:t}=e;return(0,i.jsx)(eC.xv,{as:"span",sx:{fontSize:12,color:"error",mt:"5px",ml:2},children:t||"Error!"})};var eE=e=>{let{isOpen:t,onClose:n,onSubmit:r,initialVariation:o,variations:a}=e,[l,d]=(0,s.useState)({}),[c,u]=(0,s.useState)(""),[m,h]=(0,s.useState)(!0),[p,f]=(0,s.useState)(""),[v,y]=(0,s.useState)({value:o.id,label:o.name}),[g,j]=(0,s.useState)(!1);function b(){w(),n()}function w(){u(""),f(""),d({}),h(!0),y({value:o.id,label:o.name})}async function C(){let e=function(e){let{id:t,name:n,origin:i}=e,r=t&&t.length?null:{id:"Required!"},o=a.find(e=>e.id===t)?{id:"This id already exists!"}:null,l=n&&n.length?null:{name:"Required!"},s=i.value.length&&a.find(e=>e.id===i.value)?null:{id:"You must select an existing variation!"},d=t&&t.length&&!/^[A-Za-z0-9]+([A-Za-z0-9]+)*$/.exec(t)&&{id:"No special characters allowed"};return{...r,...o,...l,...s,...d}}({id:c,name:p,origin:v});if(Object.keys(e).length)d(e);else{let e=a.find(e=>e.id===v.value);e&&(j(!0),await r(c,p,e),j(!1),b())}}return(0,s.useEffect)(()=>{w()},[o,t]),(0,i.jsx)(eD.Z,{isOpen:t,shouldCloseOnOverlayClick:!0,onRequestClose:()=>b(),contentLabel:"Widget Form Modal",style:{content:{maxWidth:"700px"}},children:(0,i.jsx)(eg.J9,{initialValues:{id:c,name:p,origin:v},onSubmit:C,children:(0,i.jsx)(eg.l0,{id:"variation-add",onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),C())},children:(0,i.jsx)(x.D,{children:(0,i.jsxs)(eS,{sx:{textAlign:"left"},HeaderContent:(0,i.jsx)(eC.xv,{as:"h2",children:"Add new Variation"}),FooterContent:(0,i.jsxs)(x.D,{gap:16,alignItems:"center",children:[(0,i.jsx)(x.E,{onClick:b,color:"grey",children:"Cancel"}),(0,i.jsx)(x.E,{type:"submit",loading:g,children:"Submit"})]}),close:b,children:[(0,i.jsxs)(x.D,{flexDirection:"column",padding:{block:16},children:[(0,i.jsxs)(eC.__,{htmlFor:"name",sx:{mb:1},children:["Variation name*",l.name?(0,i.jsx)(eT,{msg:l.name}):""]}),(0,i.jsx)(eg.gN,{autoComplete:"off",id:"name",name:"name",placeholder:"e.g. Grid - With Icon",as:eC.II,maxLength:30,value:p,onChange:e=>{var t;f(t=e.currentTarget.value),m&&u(eb()(t))}}),(0,i.jsx)(eC.xv,{children:"It will appear here in Slice Machine, and in the page editor in Prismic"})]}),(0,i.jsxs)(x.D,{flexDirection:"column",padding:{bottom:16},children:[(0,i.jsxs)(eC.__,{htmlFor:"id",sx:{mb:1},children:["Variation ID*",l.id?(0,i.jsx)(eT,{msg:l.id}):""]}),(0,i.jsx)(eg.gN,{autoComplete:"off",id:"id",name:"id",placeholder:"e.g. gridWithIcon",as:eC.II,maxLength:30,value:c,onChange:e=>{var t;return t=e.currentTarget.value,void(h(!1),u(eb()(t)))}}),(0,i.jsx)(eC.xv,{children:"It's generated automatically based on the variation name and will appear in the API responses."})]}),(0,i.jsxs)(x.D,{flexDirection:"column",padding:{bottom:8},children:[(0,i.jsx)(eC.__,{htmlFor:"origin",sx:{mb:1},children:"Duplicate from"}),(0,i.jsx)(ew.ZP,{name:"origin",options:a.map(e=>({value:e.id,label:e.name})),onChange:e=>{e&&y(e)},defaultValue:v,maxMenuHeight:150,theme:e=>({...e,colors:{...e.colors,text:"text",primary:"background"}})})]})]})})})})})},eA=n(20136),eR=n.n(eA);let eL=e=>{let{horizontalScroll:t=!1}=e,{slice:n,variation:r,setSlice:o}=f(),[l,c]=(0,s.useState)(),u=(0,ed.H)(),{sliceFilterFn:h,defaultVariationSelector:p,onUploadSuccess:v}=u.modalPayload,y=(0,a.useRouter)(),{saveSliceSuccess:g}=(0,m.Z)(),j=n.model.variations.length;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x.D,{flexDirection:"column",gap:16,children:t?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(ea,{variant:"edgeFaded",color:"grey6"}),(0,i.jsxs)(x.D,{justifyContent:"space-between",children:[(0,i.jsxs)(x.bL,{color:"grey11",children:[j," variation",1!==j&&"s"]}),(0,i.jsx)(x.E,{onClick:()=>{c({type:"ADD_VARIATION"})},startIcon:"add",color:"grey",children:"Add a variation"})]}),(0,i.jsx)("div",{className:eR().hideScrollbar,style:{height:"240px",position:"relative",marginRight:"-32px",overflowX:"scroll",scrollSnapType:"x mandatory"},children:(0,i.jsx)("div",{style:{position:"absolute",paddingRight:"32px"},children:(0,i.jsx)(x.D,{flexDirection:"row",gap:16,children:(0,i.jsx)(e_,{screenshotChangesModal:u,setDialog:c,width:320})})})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e_,{screenshotChangesModal:u,setDialog:c}),(0,i.jsx)("div",{style:{bottom:x.t.space[0],marginBottom:"-".concat(x.t.space[16]),position:"sticky"},children:(0,i.jsxs)(x.D,{backgroundColor:"grey2",flexDirection:"column",padding:{bottom:40,inline:24},children:[(0,i.jsx)(x.aS,{sx:{left:0,position:"absolute",right:0}}),(0,i.jsx)(x.E,{color:"grey",onClick:()=>{c({type:"ADD_VARIATION"})},startIcon:"add",sx:{position:"relative"},children:"Add a variation"})]})})]})}),(0,i.jsx)(ey.Z,{slices:h([n]),defaultVariationSelector:p,onUploadSuccess:v}),(0,i.jsx)(ef,{isOpen:(null==l?void 0:l.type)==="RENAME_VARIATION",onClose:()=>{c(void 0)},slice:n,variation:null==l?void 0:l.variation}),(0,i.jsx)(eu,{isOpen:(null==l?void 0:l.type)==="DELETE_VARIATION",onClose:()=>{c(void 0)},slice:n,variation:null==l?void 0:l.variation}),(0,i.jsx)(eE,{initialVariation:r,isOpen:(null==l?void 0:l.type)==="ADD_VARIATION",onClose:()=>{c(void 0)},onSubmit:async(e,t,i)=>{try{let{slice:r,variation:a}=(0,H.Kp)({slice:n,id:e,name:t,copiedVariation:i});await (0,d.Ve)(r),g(r),o(r);let l=es.Y.getBuilderPagePathname({libraryName:r.href,sliceName:r.model.name,variationId:a.id});y.replace(l)}catch(n){let e="Could not add variation `".concat(t,"`");console.error(e,n),K.Am.error(e)}},variations:n.model.variations})]})},e_=e=>{let{screenshotChangesModal:t,setDialog:n,width:r}=e,{slice:o,variation:a,setSlice:l}=f(),s={scrollSnapAlign:"start"};return(0,i.jsx)(i.Fragment,{children:o.model.variations.map(e=>(0,i.jsx)("div",{style:void 0!==r?{...s,width:r}:s,children:(0,i.jsx)(el.b,{action:{type:"menu",onRename:()=>{n({type:"RENAME_VARIATION",variation:e})},onRemove:()=>{n({type:"DELETE_VARIATION",variation:e})},removeDisabled:o.model.variations.length<=1},mode:"navigation",onUpdateScreenshot:()=>{t.onOpenModal({sliceFilterFn:e=>e,defaultVariationSelector:{sliceID:o.model.id,variationID:e.id},onUploadSuccess:e=>{l(e)}})},replace:!0,selected:e.id===a.id,slice:o,variant:"outlined",variationId:e.id},e.id)},e.id))})};var eF=()=>{let{slice:e,actionQueueStatus:t}=f(),n=(0,x.cj)({max:"large"});return(0,i.jsxs)(R.LN,{children:[(0,i.jsxs)(R.wd,{children:[(0,i.jsx)(R.Xq,{url:"/slices"}),(0,i.jsxs)(R.Cx,{children:[(0,i.jsx)(y.g,{children:"Slices"}),(0,i.jsx)(y.g,{active:!0,children:e.model.name})]}),(0,i.jsxs)(R.K2,{children:[(0,i.jsx)(A,{}),(0,i.jsx)(g.X,{status:t}),(0,i.jsx)(P,{disabled:"done"!==t})]})]}),(0,i.jsxs)(R.RN,{children:[(0,i.jsxs)(x.D,{display:"grid",alignItems:"flex-start",gap:16,...n?{gridTemplateRows:"304px 1fr"}:{gridTemplateColumns:"320px 1fr"},children:[(0,i.jsx)(eL,{horizontalScroll:n}),(0,i.jsx)(en,{})]}),(0,i.jsx)(T,{})]})]})};function eO(){let e=(0,a.useRouter)(),{slice:t,variation:n}=(0,v.Z)();return void 0===t||void 0===n?(e.replace("/"),null):(0,i.jsx)(p,{initialSlice:t,children:e=>{let{slice:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o(),{children:(0,i.jsxs)("title",{children:[t.model.name," - Slice Machine"]})}),(0,i.jsx)(eF,{})]})}})}},34887:function(e){e.exports={base:"Divider_base__4eT6E","variant-dashed":"Divider_variant-dashed__4Lvrj Divider_base__4eT6E","variant-edgeFaded":"Divider_variant-edgeFaded__049V2 Divider_base__4eT6E"}},20136:function(e){e.exports={hideScrollbar:"VariationsList_hideScrollbar__cHCIS"}},76473:function(e,t,n){"use strict";n.d(t,{y1:function(){return j}});var i=n(2784);function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}n(52322);var o=["shift","alt","meta","mod","ctrl"],a={esc:"escape",return:"enter",".":"period",",":"comma","-":"slash"," ":"space","`":"backquote","#":"backslash","+":"bracketright",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function l(e){return(a[e]||e).trim().toLowerCase().replace(/key|digit|numpad|arrow/,"")}function s(e,t){return void 0===t&&(t=","),e.split(t)}function d(e,t,n){void 0===t&&(t="+");var i=e.toLocaleLowerCase().split(t).map(function(e){return l(e)}),a={alt:i.includes("alt"),ctrl:i.includes("ctrl")||i.includes("control"),shift:i.includes("shift"),meta:i.includes("meta"),mod:i.includes("mod")},s=i.filter(function(e){return!o.includes(e)});return r({},a,{keys:s,description:n})}"undefined"!=typeof document&&(document.addEventListener("keydown",function(e){void 0!==e.key&&m([l(e.key),l(e.code)])}),document.addEventListener("keyup",function(e){void 0!==e.key&&h([l(e.key),l(e.code)])})),"undefined"!=typeof window&&window.addEventListener("blur",function(){c.clear()});var c=new Set;function u(e){return Array.isArray(e)}function m(e){var t=Array.isArray(e)?e:[e];c.has("meta")&&c.forEach(function(e){return!o.includes(e)&&c.delete(e.toLowerCase())}),t.forEach(function(e){return c.add(e.toLowerCase())})}function h(e){var t=Array.isArray(e)?e:[e];"meta"===e?c.clear():t.forEach(function(e){return c.delete(e.toLowerCase())})}function p(e,t){var n=e.target;void 0===t&&(t=!1);var i=n&&n.tagName;return u(t)?!!(i&&t&&t.some(function(e){return e.toLowerCase()===i.toLowerCase()})):!!(i&&t&&!0===t)}var f=function(e,t,n){void 0===n&&(n=!1);var i,r=t.alt,o=t.meta,a=t.mod,s=t.shift,d=t.ctrl,m=t.keys,h=e.key,p=e.code,f=e.ctrlKey,v=e.metaKey,x=e.shiftKey,y=e.altKey,g=l(p),j=h.toLowerCase();if(!n){if(!y===r&&"alt"!==j||!x===s&&"shift"!==j)return!1;if(a){if(!v&&!f)return!1}else if(!v===o&&"meta"!==j&&"os"!==j||!f===d&&"ctrl"!==j&&"control"!==j)return!1}return!!(m&&1===m.length&&(m.includes(j)||m.includes(g)))||(m?(void 0===i&&(i=","),(u(m)?m:m.split(i)).every(function(e){return c.has(e.trim().toLowerCase())})):!m)},v=(0,i.createContext)(void 0),x=(0,i.createContext)({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),y=function(e){e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},g="undefined"!=typeof window?i.useLayoutEffect:i.useEffect;function j(e,t,n,r){var o,a=(0,i.useRef)(null),c=(0,i.useRef)(!1),j=n instanceof Array?r instanceof Array?void 0:r:n,b=u(e)?e.join(null==j?void 0:j.splitKey):e,w=n instanceof Array?n:r instanceof Array?r:void 0,C=(0,i.useCallback)(t,null!=w?w:[]),I=(0,i.useRef)(C);w?I.current=C:I.current=t;var k=(!function e(t,n){return t&&n&&"object"==typeof t&&"object"==typeof n?Object.keys(t).length===Object.keys(n).length&&Object.keys(t).reduce(function(i,r){return i&&e(t[r],n[r])},!0):t===n}((o=(0,i.useRef)(void 0)).current,j)&&(o.current=j),o.current),S=(0,i.useContext)(x).enabledScopes,D=(0,i.useContext)(v);return g(function(){if((null==k?void 0:k.enabled)!==!1&&(e=null==k?void 0:k.scopes,0===S.length&&e?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):!!(!e||S.some(function(t){return e.includes(t)})||S.includes("*")))){var e,t=function(e,t){var n;if(void 0===t&&(t=!1),!(p(e,["input","textarea","select"])&&!p(e,null==k?void 0:k.enableOnFormTags)||null!=k&&null!=k.ignoreEventWhen&&k.ignoreEventWhen(e))){if(null!==a.current&&document.activeElement!==a.current&&!a.current.contains(document.activeElement)){y(e);return}(null==(n=e.target)||!n.isContentEditable||null!=k&&k.enableOnContentEditable)&&s(b,null==k?void 0:k.splitKey).forEach(function(n){var i,r,o,a=d(n,null==k?void 0:k.combinationKey);if(f(e,a,null==k?void 0:k.ignoreModifiers)||null!=(o=a.keys)&&o.includes("*")){if(t&&c.current)return;if(("function"==typeof(i=null==k?void 0:k.preventDefault)&&i(e,a)||!0===i)&&e.preventDefault(),"function"==typeof(r=null==k?void 0:k.enabled)?!r(e,a):!0!==r&&void 0!==r){y(e);return}I.current(e,a),t||(c.current=!0)}})}},n=function(e){void 0!==e.key&&(m(l(e.code)),((null==k?void 0:k.keydown)===void 0&&(null==k?void 0:k.keyup)!==!0||null!=k&&k.keydown)&&t(e))},i=function(e){void 0!==e.key&&(h(l(e.code)),c.current=!1,null!=k&&k.keyup&&t(e,!0))},r=a.current||(null==j?void 0:j.document)||document;return r.addEventListener("keyup",i),r.addEventListener("keydown",n),D&&s(b,null==k?void 0:k.splitKey).forEach(function(e){return D.addHotkey(d(e,null==k?void 0:k.combinationKey,null==k?void 0:k.description))}),function(){r.removeEventListener("keyup",i),r.removeEventListener("keydown",n),D&&s(b,null==k?void 0:k.splitKey).forEach(function(e){return D.removeHotkey(d(e,null==k?void 0:k.combinationKey,null==k?void 0:k.description))})}}},[b,k,S]),a}}},function(e){e.O(0,[898,789,917,525,461,139,397,183,50,349,34,630,658,888,774,179],function(){return e(e.s=31314)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[436],{74600:function(e,t,n){var i=n(34311),o=n(23779),r=i(function(e,t,n){return e+(n?" ":"")+o(t)});e.exports=r},26688:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/slices",function(){return n(31562)}])},34166:function(e,t,n){"use strict";n.d(t,{nZ:function(){return d},rT:function(){return f},tB:function(){return u}});var i=n(52322),o=n(14226),r=n(2784),l=n(30195),s=n(94160),c=n(76611),a=n(5683);function d(e){let{type:t,library:n,sliceId:i,variationId:o,langSmithUrl:r}=e,l=(0,a.i)({type:t,library:n,sliceId:i,variationId:o}),s=JSON.stringify({langSmithUrl:r});localStorage.setItem(l,s)}function u(e){let{type:t,library:n,sliceId:i,variationId:o}=e,r=(0,a.i)({type:t,library:n,sliceId:i,variationId:o});localStorage.removeItem(r)}function f(e){let{type:t,library:n,sliceId:d,variationId:u}=e,{key:f,value:m,done:x}=function(e){let{type:t,library:n,sliceId:i,variationId:o}=e,r=(0,a.i)({type:t,library:n,sliceId:i,variationId:o}),[s,d]=(0,c.V)(r,void 0,{schema:l.z.object({langSmithUrl:l.z.string().url().optional()})});return{key:r,value:s,done:()=>d(void 0)}}({type:t,library:n,sliceId:d,variationId:u}),[h,p]=(0,r.useState)(),v=e=>()=>{m&&(p(f),s.Xe.track({event:"slice-generation-feedback",type:t,sliceId:d,variationId:u,feedback:e,langSmithUrl:m.langSmithUrl}),x())};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.be,{children:(0,i.jsx)(o.bQ,{anchor:(0,i.jsx)(o.D,{width:"100%",justifyContent:"center",position:"absolute",bottom:64}),icon:"check",title:"Thanks for your feedback!",seconds:2,open:!!h,onOpenChange:e=>{e||p(void 0)}},h)}),(0,i.jsx)(o.i,{children:m&&(0,i.jsxs)(o.D,{flexDirection:"row",justifyContent:"end",gap:8,alignItems:"center",children:[(0,i.jsx)(o.bL,{color:"grey11",children:"Did the AI get it right?"}),(0,i.jsxs)(o.D,{flexDirection:"row",gap:4,children:[(0,i.jsx)(o.c3,{side:"bottom",sideOffset:4,variant:"text",content:"Looks good",children:(0,i.jsx)(o.aZ,{variant:"solid",size:"small",icon:"thumbUp",onClick:v("up")})}),(0,i.jsx)(o.c3,{side:"bottom",sideOffset:4,variant:"text",content:"Needs improvement",children:(0,i.jsx)(o.aZ,{variant:"solid",size:"small",icon:"thumbDown",onClick:v("down")})})]})]})})]})}},76611:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var i=n(2784);function o(e,t,n){let{schema:o}=null!=n?n:{},r=()=>{try{let n=localStorage.getItem(e);if(null==n)return t;if(!o)return JSON.parse(n);return o.parse(JSON.parse(n))}catch(e){return t}},[l,s]=(0,i.useState)(r),[c,a]=(0,i.useState)(e);return c!==e&&(a(e),s(r())),[l,(0,i.useCallback)(n=>{s(i=>{let o;if(void 0===(o="function"==typeof n?n(i):n)){try{localStorage.removeItem(e)}catch(e){return i}return t}try{localStorage.setItem(e,JSON.stringify(o))}catch(e){return i}return o})},[e,t])]}},33986:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var i=n(52322),o=n(2784),r=n(75289);let l=(e,t)=>e?"".concat(e,"-").concat(t):"",s=e=>{switch(e){case"white":case"secondaryMedium":case"secondarySmall":case"secondary":return"#1A1523";default:return"grey01"}},c=(0,o.forwardRef)((e,t)=>{let{label:n,Icon:o,type:c,form:a,isLoading:d=!1,disabled:u=!1,onClick:f,sx:m={},iconSize:x=16,iconFill:h,variant:p="primary",...v}=e;return(0,i.jsx)(r.zx,{ref:t,sx:{...m,display:"flex",alignItems:"center",justifyContent:"center",gap:"8px",...d?{cursor:"wait !important"}:{}},type:c,form:a,disabled:u||d,onClick:d?void 0:f,variant:p,...v,children:d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.$j,{size:x,color:s(p),"data-testid":l(v["data-testid"],"spinner")}),o&&n]}):(0,i.jsxs)(i.Fragment,{children:[o&&(0,i.jsx)(o,{size:x,fill:h,"data-testid":l(v["data-testid"],"icon")}),n]})})})},46999:function(e,t,n){"use strict";n.d(t,{W:function(){return l}});var i=n(52322),o=n(63397);n(2784);var r=n(75289);let l=e=>{let{name:t,label:n,placeholder:l,error:s,testId:c,onChange:a}=e;return(0,i.jsxs)(r.xu,{mb:3,children:[(0,i.jsx)(r.__,{htmlFor:t,mb:2,children:n}),(0,i.jsx)(o.gN,{name:t,type:"text",placeholder:l,as:r.II,autoComplete:"off",...a?{onChange:a}:null,...c?{"data-testid":c}:null}),s?(0,i.jsx)(r.xv,{"data-testid":c?"".concat(c,"-error"):"input-error",sx:{color:"error",mt:1},children:s}):null]})}},59532:function(e,t,n){"use strict";var i=n(52322),o=n(63397),r=n(37149),l=n.n(r),s=n(75289),c=n(33986),a=n(55862),d=n(30527);function u(e){let{children:t}=e,n=(0,d.W)();return(0,i.jsx)(s.kC,{sx:{position:"sticky",top:0,zIndex:1,p:"16px",pl:4,bg:"headSection",alignItems:"center",justifyContent:"space-between",borderTopLeftRadius:n,borderTopRightRadius:n,borderBottom:e=>{var t;return"1px solid ".concat(null===(t=e.colors)||void 0===t?void 0:t.borders)}},children:t})}t.Z=function(e){let{children:t,close:n,isOpen:r,formId:f,validate:m,onSubmit:x,widthInPx:h,initialValues:p,content:{title:v},cardProps:y,omitFooter:g=!1,isLoading:b=!1,buttonLabel:j="Save",testId:S,actionMessage:k}=e;return l().setAppElement("#__next"),(0,i.jsx)(a.Z,{isOpen:r,shouldCloseOnOverlayClick:!0,onRequestClose:n,contentLabel:v,style:{content:{width:null!=h?h:"900px"}},children:(0,i.jsx)(o.J9,{initialValues:p,validate:e=>m?m(e):void 0,onSubmit:e=>{x(e)},children:e=>{let{isValid:r,isSubmitting:l,values:a,errors:m,touched:x,setFieldValue:h,setValues:p}=e;return(0,i.jsx)(o.l0,{id:f,...null!=S?{"data-testid":S}:null,children:(0,i.jsx)(d.Z,{borderFooter:!0,footerSx:{p:3,position:"sticky",bottom:0,background:"gray"},bodySx:{px:4,py:4},sx:{border:"none"},...y,Header:(0,i.jsxs)(u,{children:[(0,i.jsx)(s.X6,{sx:{fontSize:"20px"},children:v}),(0,i.jsx)(s.x8,{type:"button",onClick:n})]}),Footer:g?null:(0,i.jsxs)(s.kC,{sx:{alignItems:"space-between"},children:[(0,i.jsx)(s.kC,{sx:{fontSize:"14px",alignItems:"center"},children:"function"==typeof k?k(e):k}),(0,i.jsxs)(s.kC,{sx:{ml:"auto"},children:[(0,i.jsx)(s.zx,{mr:2,type:"button",onClick:n,variant:"secondary",disabled:l||b,children:"Cancel"}),(0,i.jsx)(c.z,{label:j,form:f,type:"submit",disabled:!r||l||b,isLoading:l||b,sx:{fontWeight:"400",paddingBlock:"8px",paddingInline:"16px",fontSize:"14px",borderRadius:"4px"}})]})]}),children:t({isValid:r,isSubmitting:l,values:a,errors:m,touched:x,setFieldValue:h,setValues:p})})})}})})}},31562:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return V}});var i=n(52322),o=n(14226),r=n(97729),l=n.n(r),s=n(5632),c=n(2784),a=n(56580),d=n(88932),u=n(65077),f=n(75289),m=n(43388),x=n(91589),h=n(27213),p=n(51507),v=n(27763),y=n(21442),g=n(58446),b=n(65186),j=n(59326),S=n(34166),k=n(80148);async function w(e){let{sliceName:t,sliceID:n,libraryID:i,sliceVariationIds:o,onSuccess:r}=e;try{let{errors:e}=await k.managerClient.slices.deleteSlice({libraryID:i,sliceID:n});if(e.length>0)throw e;o.forEach(e=>{(0,S.tB)({type:"model",library:i,sliceId:n,variationId:e})}),r(),d.Am.success("Successfully deleted slice “".concat(t,"”"))}catch(n){let e="An unexpected error happened while deleting slice “".concat(t,"”.");console.error(e,n),d.Am.error(e)}}var C=n(68968),I=n(33986),L=n(30527),E=n(55862),O=n(54597);let R=e=>{var t;let{isOpen:n,libName:o,sliceId:r,sliceName:l,sliceVariationIds:s,onClose:a}=e,[d,u]=(0,c.useState)(!1),{deleteSliceSuccess:m}=(0,O.Z)(),{syncChanges:x}=(0,C.g)(),{theme:h}=(0,j.B7)(),p=async()=>{u(!0),await w({libraryID:o,sliceID:r,sliceName:l,sliceVariationIds:s,onSuccess:()=>{m(r,o),x()}}),a(),u(!1)};return(0,i.jsx)(E.Z,{isOpen:n,shouldCloseOnOverlayClick:!0,style:{content:{maxWidth:612}},onRequestClose:a,children:(0,i.jsx)(L.Z,{bodySx:{p:0,bg:"white",position:"relative",height:"100%",padding:16},footerSx:{position:"sticky",bottom:0,p:0},sx:{border:"none"},borderFooter:!0,Header:(0,i.jsxs)(f.kC,{sx:{position:"sticky",background:"gray",top:0,zIndex:1,p:"16px",alignItems:"center",justifyContent:"space-between",borderBottom:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.borders))}},children:[(0,i.jsxs)(f.kC,{sx:{alignItems:"center"},children:[(0,i.jsx)(b.$vK,{size:20,color:null===(t=h.colors)||void 0===t?void 0:t.greyIcon}),(0,i.jsx)(f.X6,{sx:{fontSize:"14px",fontWeight:"bold",ml:1},children:"Delete Slice"})]}),(0,i.jsx)(f.x8,{type:"button",onClick:a})]}),Footer:()=>(0,i.jsxs)(f.kC,{sx:{justifyContent:"flex-end",height:64,alignItems:"center",paddingRight:16,borderTop:e=>{var t;return"1px solid ".concat(String(null===(t=e.colors)||void 0===t?void 0:t.darkBorders))},backgroundColor:"gray"},children:[(0,i.jsx)(I.z,{label:"Cancel",variant:"secondary",onClick:a,sx:{mr:"10px",fontWeight:"bold",color:"grey12",borderRadius:6}}),(0,i.jsx)(I.z,{label:"Delete",variant:"danger",isLoading:d,sx:{minHeight:39,minWidth:78},onClick:()=>{p()}})]}),children:(0,i.jsxs)(f.nv,{children:["This action will immediately make the following changes:",(0,i.jsxs)("ul",{children:[(0,i.jsxs)("li",{children:["Delete the"," ",(0,i.jsxs)(f.xv,{sx:{fontWeight:"bold"},children:[o,"/",l,"/"]})," ","directory."]}),(0,i.jsx)("li",{children:"Remove the Slice from all Slice Zones that use it."})]}),"The next time you push your changes to Prismic, the following change will happen:",(0,i.jsx)("ul",{children:(0,i.jsx)("li",{children:"Remove the Slice from the list of available Slices to use in the Page Builder."})}),"You will need to manually remove the Slice from any Pages that currently use it."]})})})};var A=n(36887),N=n(94160),z=e=>{let{title:t,onCreateNew:n,buttonText:o,documentationComponent:r,videoPublicIdUrl:l,...s}=e;return(0,i.jsxs)(f.xu,{sx:{display:"flex",width:"80%",flexWrap:"wrap",justifyContent:"center"},...s,children:[(0,i.jsx)(f.xu,{sx:e=>{var t;return{display:"flex",flex:1,alignItems:"center",minWidth:"400px",maxWidth:"70%",border:"1px solid ".concat(null===(t=e.colors)||void 0===t?void 0:t.grey02)}},children:(0,i.jsx)(A.nk,{cloudName:"dmtf1daqp",controls:!0,loop:!0,style:{maxWidth:"100%",objectFit:"contain"},publicId:l,onPlay:()=>{N.Xe.track({event:"open-video-tutorials",video:l})}})}),(0,i.jsxs)(f.xu,{sx:e=>{var t;return{bg:"white",display:"flex",flexDirection:"column",border:"1px solid ".concat(null===(t=e.colors)||void 0===t?void 0:t.grey02),flex:1,minWidth:"400px",maxWidth:"70%"}},children:[(0,i.jsxs)(f.xu,{sx:e=>{var t;return{display:"flex",flexDirection:"column",p:4,borderBottom:"1px solid ".concat(null===(t=e.colors)||void 0===t?void 0:t.grey02)}},children:[(0,i.jsx)(f.X6,{as:"h3",variant:"heading",sx:{fontSize:"16px",lineHeight:"24px",mb:2},children:t}),(0,i.jsx)(f.xv,{variant:"xs",sx:{lineHeight:"24px",fontSize:"13px"},children:r})]}),(0,i.jsxs)(f.xu,{sx:{display:"flex",p:4,alignItems:"center"},children:[(0,i.jsx)(f.zx,{onClick:n,"data-testid":"empty-state-main-button",sx:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:0,mr:4},children:o}),(0,i.jsx)(f.xv,{sx:{fontSize:"12px",color:"grey04",maxWidth:"280px"},children:"It will be stored locally and you will be able to push it to your repository"})]})]})]})},D=n(6256),W=n(63908),P=n(26109);async function _(e){let{slice:t,newSliceName:n,onSuccess:i}=e;try{let e=(0,W.PQ)(t,n),{errors:o}=await k.managerClient.slices.renameSlice({libraryID:t.from,model:P.id.fromSM(e.model)});if(o.length>0)throw o;i(e),d.Am.success("Slice name updated")}catch(n){let e="An unexpected error happened while renaming “".concat(t.model.name,"”.");console.error(e,n),d.Am.error(e)}}var F=n(7723),Z=n(59532),T=n(46999),B=n(63019);let K=e=>{var t,n;let{slice:o,isOpen:r,onClose:l}=e,{renameSliceSuccess:s}=(0,O.Z)(),{syncChanges:c}=(0,C.g)(),{localLibs:d,remoteLibs:u}=(0,a.v9)(e=>({localLibs:(0,F.Sd)(e),remoteLibs:(0,F.sT)(e)})),m=null!==(t=null==o?void 0:o.model.name)&&void 0!==t?t:"",x=async e=>{o&&(await _({slice:o,newSliceName:e.sliceName,onSuccess:e=>{s(e.from,e.model),c()}}),l())};return(0,i.jsx)(Z.Z,{testId:"rename-slice-modal",isOpen:r,widthInPx:"530px",formId:"rename-slice-modal-".concat(null!==(n=null==o?void 0:o.model.id)&&void 0!==n?n:""),close:l,buttonLabel:"Rename",onSubmit:e=>void x(e),initialValues:{sliceName:m},content:{title:"Rename a slice"},validate:e=>(0,B.h)(e,d,u),children:e=>{let{touched:t,errors:n}=e;return(0,i.jsx)(f.xu,{children:(0,i.jsx)(T.W,{name:"sliceName",label:"Slice Name","data-testid":"slice-name-input",placeholder:"Pascalised Slice API ID (e.g. TextBlock)",error:t.sliceName?n.sliceName:void 0,testId:"slice-name-input"})})}})};var H=n(21151),X=n(68105),U=n(39204),M=n(7974),V=()=>{var e,t,n,r;let b=(0,s.useRouter)(),{modalPayload:j,onOpenModal:S}=(0,y.H)(),{openLoginModal:w}=(0,O.Z)(),C=(0,h.F)({menuType:"Dropdown"}),{sliceFilterFn:I,defaultVariationSelector:L}=j,{remoteSlices:E,libraries:A}=(0,a.v9)(e=>({remoteSlices:(0,F.sT)(e),libraries:(0,F.Sd)(e)})),[N,W]=(0,c.useState)(!1),[P,_]=(0,c.useState)(!1),[Z,T]=(0,c.useState)(!1),[B,V]=(0,c.useState)(!1),J=A.filter(e=>e.isLocal),q=A.map(e=>(e.components=[...e.components].sort((e,t)=>e.model.name.localeCompare(t.model.name)),e)),Q=(A||[]).map(e=>e.components).flat(),Y=Q.length,[G,$]=(0,c.useState)(),ee=()=>{_(!0)},et=()=>{T(!0)},en=async()=>{await k.managerClient.user.checkIsLoggedIn()?V(!0):w()},ei=()=>{V(!1)};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l(),{children:(0,i.jsx)("title",{children:"Slices - Slice Machine"})}),(0,i.jsxs)(g.LN,{children:[(0,i.jsxs)(g.wd,{children:[(0,i.jsx)(g.Cx,{children:(0,i.jsx)(m.g,{children:"Slices"})}),(null==J?void 0:J.length)!==0&&0!==Y?(0,i.jsxs)(o.ar,{children:[(0,i.jsx)(o.av,{children:(0,i.jsx)(o.E,{color:"purple",startIcon:"add","data-testid":"add-new-slice-dropdown",children:"Add"})}),(0,i.jsxs)(o.as,{align:"end",children:[(0,i.jsx)(o.at,{renderStartIcon:()=>C.fromImage.BackgroundIcon,onSelect:()=>void en(),description:C.fromImage.description,children:C.fromImage.title}),(0,i.jsx)(o.at,{renderStartIcon:()=>C.fromScratch.BackgroundIcon,onSelect:()=>W(!0),description:C.fromScratch.description,children:C.fromScratch.title})]})]}):void 0]}),(0,i.jsxs)(g.RN,{children:[(0,i.jsx)(u.xR,{sx:{display:"flex",flexDirection:"column"},children:q.length>0?(0,i.jsx)(f.kC,{sx:{flex:1,flexDirection:"column"},children:0===Y?(0,i.jsx)(f.kC,{sx:{flex:1,justifyContent:"center",alignItems:"center"},children:(0,i.jsx)(z,{title:"What are slices?",onCreateNew:()=>{W(!0)},buttonText:"Create one",videoPublicIdUrl:M.rd,documentationComponent:(0,i.jsxs)(i.Fragment,{children:['Slices are sections of your website. Prismic documents contain a dynamic "Slice Zone" that allows content creators to add, edit, and rearrange slices to compose dynamic layouts for any page design.'," ",(0,i.jsx)(f.rU,{target:"_blank",href:"https://prismic.io/docs/core-concepts/slices",sx:e=>{var t;return{color:null==e?void 0:null===(t=e.colors)||void 0===t?void 0:t.primary}},children:"Learn more"}),"."]}),"data-testid":"slices-table-blank-slate"})}):q.map(e=>{let{name:t,isLocal:n,components:o}=e;return(0,i.jsxs)(f.kC,{sx:{flexDirection:"column","&:not(:last-of-type)":{mb:4}},children:[(0,i.jsxs)(f.kC,{sx:{alignItems:"center",justifyContent:"space-between"},children:[(0,i.jsx)(f.kC,{sx:{alignItems:"center",fontSize:3,lineHeight:"48px",fontWeight:"heading",mb:1},children:(0,i.jsx)(f.xv,{children:1===q.length?"Your slices":t})}),!n&&(0,i.jsx)("p",{children:"⚠️ External libraries are read-only"})]}),(0,i.jsx)(H.Z,{elems:o,defineElementKey:e=>e.model.name,renderElem:e=>(0,i.jsx)(p.b,{action:{type:"menu",onRemove:()=>{$(e),ee()},onRename:()=>{$(e),et()}},mode:"navigation",onUpdateScreenshot:()=>{S({sliceFilterFn:t=>t.filter(t=>t.model.id===e.model.id)})},slice:e,variant:"solid"}),gridGap:"32px 16px"})]},t)})}):void 0}),(null==J?void 0:J.length)>0&&(0,i.jsx)(X.Z,{slices:I(Q),defaultVariationSelector:L}),(null==J?void 0:J.length)>0&&N&&(0,i.jsx)(D.c,{localLibraries:J,location:"slices",remoteSlices:E,onSuccess:(e,t)=>{let n=e.variations[0].id,i=v.Y.getBuilderPagePathname({libraryName:t,sliceName:e.name,variationId:n});b.push(i),d.Am.success((0,U.kQ)({path:"".concat(t,"/").concat(e.name,"/model.json")}))},onClose:()=>{W(!1)}}),(0,i.jsx)(K,{isOpen:Z,slice:G,onClose:()=>{T(!1)},"data-testid":"rename-slice-modal"}),(0,i.jsx)(R,{isOpen:P,libName:null!==(e=null==G?void 0:G.from)&&void 0!==e?e:"",sliceId:null!==(t=null==G?void 0:G.model.id)&&void 0!==t?t:"",sliceName:null!==(n=null==G?void 0:G.model.name)&&void 0!==n?n:"",sliceVariationIds:(null!==(r=null==G?void 0:G.model.variations)&&void 0!==r?r:[]).map(e=>e.id),onClose:()=>{_(!1)}}),(0,i.jsx)(x.S,{open:B,location:"slices",onSuccess:e=>{let{library:t}=e;d.Am.success((0,i.jsx)(U.GX,{message:"Slice(s) added to slice zone and created at: ",path:t})),ei()},onClose:ei})]})]})]})}},5683:function(e,t,n){"use strict";n.d(t,{i:function(){return r},v:function(){return o}});let i=e=>"slice-machine_".concat(e),o=i("staticFieldsInfoDialogDismissed");function r(e){let{type:t,library:n,sliceId:o,variationId:r}=e;return i(["ai-feedback",t,n,o,r].join("#"))}},76473:function(e,t,n){"use strict";n.d(t,{y1:function(){return b}});var i=n(2784);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}n(52322);var r=["shift","alt","meta","mod","ctrl"],l={esc:"escape",return:"enter",".":"period",",":"comma","-":"slash"," ":"space","`":"backquote","#":"backslash","+":"bracketright",ShiftLeft:"shift",ShiftRight:"shift",AltLeft:"alt",AltRight:"alt",MetaLeft:"meta",MetaRight:"meta",OSLeft:"meta",OSRight:"meta",ControlLeft:"ctrl",ControlRight:"ctrl"};function s(e){return(l[e]||e).trim().toLowerCase().replace(/key|digit|numpad|arrow/,"")}function c(e,t){return void 0===t&&(t=","),e.split(t)}function a(e,t,n){void 0===t&&(t="+");var i=e.toLocaleLowerCase().split(t).map(function(e){return s(e)}),l={alt:i.includes("alt"),ctrl:i.includes("ctrl")||i.includes("control"),shift:i.includes("shift"),meta:i.includes("meta"),mod:i.includes("mod")},c=i.filter(function(e){return!r.includes(e)});return o({},l,{keys:c,description:n})}"undefined"!=typeof document&&(document.addEventListener("keydown",function(e){void 0!==e.key&&f([s(e.key),s(e.code)])}),document.addEventListener("keyup",function(e){void 0!==e.key&&m([s(e.key),s(e.code)])})),"undefined"!=typeof window&&window.addEventListener("blur",function(){d.clear()});var d=new Set;function u(e){return Array.isArray(e)}function f(e){var t=Array.isArray(e)?e:[e];d.has("meta")&&d.forEach(function(e){return!r.includes(e)&&d.delete(e.toLowerCase())}),t.forEach(function(e){return d.add(e.toLowerCase())})}function m(e){var t=Array.isArray(e)?e:[e];"meta"===e?d.clear():t.forEach(function(e){return d.delete(e.toLowerCase())})}function x(e,t){var n=e.target;void 0===t&&(t=!1);var i=n&&n.tagName;return u(t)?!!(i&&t&&t.some(function(e){return e.toLowerCase()===i.toLowerCase()})):!!(i&&t&&!0===t)}var h=function(e,t,n){void 0===n&&(n=!1);var i,o=t.alt,r=t.meta,l=t.mod,c=t.shift,a=t.ctrl,f=t.keys,m=e.key,x=e.code,h=e.ctrlKey,p=e.metaKey,v=e.shiftKey,y=e.altKey,g=s(x),b=m.toLowerCase();if(!n){if(!y===o&&"alt"!==b||!v===c&&"shift"!==b)return!1;if(l){if(!p&&!h)return!1}else if(!p===r&&"meta"!==b&&"os"!==b||!h===a&&"ctrl"!==b&&"control"!==b)return!1}return!!(f&&1===f.length&&(f.includes(b)||f.includes(g)))||(f?(void 0===i&&(i=","),(u(f)?f:f.split(i)).every(function(e){return d.has(e.trim().toLowerCase())})):!f)},p=(0,i.createContext)(void 0),v=(0,i.createContext)({hotkeys:[],enabledScopes:[],toggleScope:function(){},enableScope:function(){},disableScope:function(){}}),y=function(e){e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation()},g="undefined"!=typeof window?i.useLayoutEffect:i.useEffect;function b(e,t,n,o){var r,l=(0,i.useRef)(null),d=(0,i.useRef)(!1),b=n instanceof Array?o instanceof Array?void 0:o:n,j=u(e)?e.join(null==b?void 0:b.splitKey):e,S=n instanceof Array?n:o instanceof Array?o:void 0,k=(0,i.useCallback)(t,null!=S?S:[]),w=(0,i.useRef)(k);S?w.current=k:w.current=t;var C=(!function e(t,n){return t&&n&&"object"==typeof t&&"object"==typeof n?Object.keys(t).length===Object.keys(n).length&&Object.keys(t).reduce(function(i,o){return i&&e(t[o],n[o])},!0):t===n}((r=(0,i.useRef)(void 0)).current,b)&&(r.current=b),r.current),I=(0,i.useContext)(v).enabledScopes,L=(0,i.useContext)(p);return g(function(){if((null==C?void 0:C.enabled)!==!1&&(e=null==C?void 0:C.scopes,0===I.length&&e?(console.warn('A hotkey has the "scopes" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'),!0):!!(!e||I.some(function(t){return e.includes(t)})||I.includes("*")))){var e,t=function(e,t){var n;if(void 0===t&&(t=!1),!(x(e,["input","textarea","select"])&&!x(e,null==C?void 0:C.enableOnFormTags)||null!=C&&null!=C.ignoreEventWhen&&C.ignoreEventWhen(e))){if(null!==l.current&&document.activeElement!==l.current&&!l.current.contains(document.activeElement)){y(e);return}(null==(n=e.target)||!n.isContentEditable||null!=C&&C.enableOnContentEditable)&&c(j,null==C?void 0:C.splitKey).forEach(function(n){var i,o,r,l=a(n,null==C?void 0:C.combinationKey);if(h(e,l,null==C?void 0:C.ignoreModifiers)||null!=(r=l.keys)&&r.includes("*")){if(t&&d.current)return;if(("function"==typeof(i=null==C?void 0:C.preventDefault)&&i(e,l)||!0===i)&&e.preventDefault(),"function"==typeof(o=null==C?void 0:C.enabled)?!o(e,l):!0!==o&&void 0!==o){y(e);return}w.current(e,l),t||(d.current=!0)}})}},n=function(e){void 0!==e.key&&(f(s(e.code)),((null==C?void 0:C.keydown)===void 0&&(null==C?void 0:C.keyup)!==!0||null!=C&&C.keydown)&&t(e))},i=function(e){void 0!==e.key&&(m(s(e.code)),d.current=!1,null!=C&&C.keyup&&t(e,!0))},o=l.current||(null==b?void 0:b.document)||document;return o.addEventListener("keyup",i),o.addEventListener("keydown",n),L&&c(j,null==C?void 0:C.splitKey).forEach(function(e){return L.addHotkey(a(e,null==C?void 0:C.combinationKey,null==C?void 0:C.description))}),function(){o.removeEventListener("keyup",i),o.removeEventListener("keydown",n),L&&c(j,null==C?void 0:C.splitKey).forEach(function(e){return L.removeHotkey(a(e,null==C?void 0:C.combinationKey,null==C?void 0:C.description))})}}},[j,C,I]),l}}},function(e){e.O(0,[898,789,397,50,34,658,907,888,774,179],function(){return e(e.s=26688)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- .List_flex__b6acG{all:unset;display:flex}.List_row__zKnOI{flex-direction:row}.List_root__m_SiQ{border-color:var(--grey6);flex-direction:column;overflow-x:hidden}.List_root-border__UW3vp{border-radius:6px;border-style:solid;border-width:1px}.List_child__MJ49i{align-items:center;border-bottom-color:var(--grey6);border-bottom-width:1px;box-sizing:border-box;height:48px;padding-right:8px}.List_child__MJ49i:last-child{border-bottom-color:transparent}.List_header__T0WM5{background-color:var(--grey2);border-bottom-style:solid;gap:8px;padding-left:16px}.List_headerActions__mNgLY{align-items:center;flex-grow:1;gap:8px;justify-content:end;min-width:0}.List_item__LMBx4{background-color:var(--grey1);border-bottom-style:dashed;padding-left:12px}.ZoneEmptyState_root__DAfG2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background-color:var(--grey3);text-align:center;padding-top:32px;padding-bottom:32px;min-height:288px}.Divider_base__4eT6E{width:100%;border-style:none;margin:0}.Divider_variant-dashed__4Lvrj{border-color:currentColor;border-top:dashed;border-width:1px}.Divider_variant-edgeFaded__049V2{height:1px;background-image:linear-gradient(90deg,color-mix(in srgb,currentColor,transparent 100%),currentColor,color-mix(in srgb,currentColor,transparent 100%))}.Card_flex__opby1{all:unset;display:flex}.Card_grid__VAvIS{all:unset;display:grid}.Card_column__W4ACG{flex-direction:column}.Card_root__YVuvU{position:relative;box-sizing:border-box;border-color:var(--grey6);border-radius:6px;border-style:solid;border-width:1px;overflow-x:hidden}.Card_root__YVuvU[data-disabled]{opacity:.5}.Card_size-small__aIlxd{height:240px}.Card_size-medium__xegz0{height:320px}.Card_solid__GNGar{background-color:var(--grey3)}.Card_solid__GNGar[data-state=checked]{border-color:var(--purple10)}.Card_outlined__W_dxI{background-color:var(--grey2)}.Card_outlined__W_dxI[data-state=checked]{border-color:var(--purple8)}.Card_interactive__rXw5L:focus-visible{box-shadow:var(--box-shadow-purple-focus)}.Card_interactive__rXw5L[data-disabled]{opacity:.5}.Card_interactive__rXw5L:not([data-disabled]){cursor:pointer}.Card_interactive__rXw5L.Card_solid__GNGar:focus-visible{background-color:var(--grey5);border-color:var(--purple10)}.Card_interactive__rXw5L.Card_outlined__W_dxI:active{background-color:var(--grey4);border-color:var(--purple9)}.Card_interactive__rXw5L.Card_outlined__W_dxI:focus-visible{background-color:var(--grey1);border-color:var(--purple8)}.Card_interactive__rXw5L.Card_outlined__W_dxI:hover{background-color:var(--grey4)}.Card_media__l0kHL{flex-basis:0;flex-grow:1;min-height:0;position:relative;order:0}.Card_solid__GNGar>.Card_media__l0kHL{padding:32px}.Card_outlined__W_dxI>.Card_media__l0kHL{background-color:var(--light-grey3);margin-inline:16px;margin-top:16px;padding:16px}.Card_mediaComponent-div__Y2_PZ{flex-grow:1}.Card_mediaComponent-img__ezOTu{height:100%;-o-object-fit:contain;object-fit:contain}.Card_mediaComponent-img__ezOTu:not([src]){visibility:hidden}.Card_mediaOverlay__Aa__Q{inset:0;position:absolute;visibility:hidden}.Card_mediaOverlay__Aa__Q:before{background-color:var(--light-grey12);content:"";inset:0;opacity:.1;position:absolute}.Card_interactive__rXw5L:focus-visible .Card_mediaOverlay__Aa__Q,.Card_interactive__rXw5L:not([data-disabled]) .Card_mediaOverlay__Aa__Q:has(:focus-visible),.Card_interactive__rXw5L:not([data-disabled]) .Card_media__l0kHL:hover>.Card_mediaOverlay__Aa__Q{visibility:visible}.Card_nonMedia__Fv3Mz{align-items:center;box-sizing:border-box;flex-direction:row}.Card_solid__GNGar>.Card_nonMedia__Fv3Mz{background-color:var(--light-grey1)}.Card_solid__GNGar>.Card_nonMedia__Fv3Mz:not(:first-child){border-top-color:var(--light-grey6);border-top-style:solid;border-top-width:inherit}.Card_actions__XdhOt{height:48px;justify-content:space-between;order:1}.Card_solid__GNGar>.Card_actions__XdhOt{padding-left:12px;padding-right:8px}.Card_outlined__W_dxI>.Card_actions__XdhOt{padding-inline:16px}.Card_footer__U0HS1{gap:8px;height:60px;order:2}.Card_solid__GNGar>.Card_footer__U0HS1{padding-inline:12px}.Card_outlined__W_dxI>.Card_footer__U0HS1{padding-inline:16px}.Card_footerTexts__rTXup{flex-basis:0;flex-grow:1;min-width:0;margin-bottom:4px}.Card_status__PNN2a{height:24px;inset-inline:0;justify-content:center;padding-inline:8px;position:absolute;background-color:var(--purple4);color:var(--purple11)}.Card_startIconBox__1_L4u{display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid var(--grey6);border-radius:6px}.Kbd_root__LRA1F{background-color:var(--grey2);border-color:var(--grey6);border-radius:3px;border-style:solid;border-width:1px;color:var(--grey11);padding-inline:4px}.VariationsList_hideScrollbar__cHCIS::-webkit-scrollbar{display:none}.VariationsList_hideScrollbar__cHCIS{-ms-overflow-style:none;scrollbar-width:none}
@@ -1,150 +0,0 @@
1
- import {
2
- BlankSlate,
3
- BlankSlateDescription,
4
- BlankSlateIcon,
5
- BlankSlateTitle,
6
- Box,
7
- ErrorBoundary as EditorUiErrorBoundary,
8
- Text,
9
- } from "@prismicio/editor-ui";
10
- import {
11
- isInvalidActiveEnvironmentError,
12
- isUnauthenticatedError,
13
- isUnauthorizedError,
14
- } from "@slicemachine/manager/client";
15
- import Link from "next/link";
16
- import {
17
- type ComponentPropsWithoutRef,
18
- type FC,
19
- PropsWithChildren,
20
- useCallback,
21
- useRef,
22
- } from "react";
23
-
24
- import { ReloadLogoutButton } from "@/features/auth/LogoutButton";
25
- import { useAuthStatus } from "@/hooks/useAuthStatus";
26
-
27
- type DefaultErrorBoundaryProps = Pick<
28
- // TODO(DT-1979): Export the `ErrorBoundaryProps` type from `@prismicio/editor-ui`.
29
- ComponentPropsWithoutRef<typeof EditorUiErrorBoundary>,
30
- "children" | "renderError"
31
- >;
32
-
33
- export const DefaultErrorBoundary: FC<DefaultErrorBoundaryProps> = (props) => {
34
- const errorRef = useRef<unknown>();
35
- const authStatus = useAuthStatus();
36
- return (
37
- <EditorUiErrorBoundary
38
- {...props}
39
- onError={(error) => {
40
- errorRef.current = error;
41
- }}
42
- ref={useCallback(
43
- (errorBoundary: EditorUiErrorBoundary | null) => {
44
- if (errorBoundary === null) return;
45
- const error = errorRef.current;
46
- if (isUnauthenticatedError(error) || isUnauthorizedError(error)) {
47
- errorRef.current = undefined;
48
- errorBoundary.reset();
49
- }
50
- },
51
- /* eslint-disable-next-line react-hooks/exhaustive-deps --
52
- * Whenever `authStatus` changes, we want to `reset` the `errorBoundary`
53
- * if an authentication or authorization error has been caught.
54
- **/
55
- [authStatus],
56
- )}
57
- />
58
- );
59
- };
60
-
61
- export function AppStateErrorBoundary(props: PropsWithChildren) {
62
- return (
63
- <EditorUiErrorBoundary
64
- renderError={(error) => {
65
- return (
66
- <Box
67
- position="absolute"
68
- top={64}
69
- width="100%"
70
- justifyContent="center"
71
- flexDirection="column"
72
- >
73
- <BlankSlate>
74
- <BlankSlateIcon
75
- lineColor="tomato11"
76
- backgroundColor="tomato3"
77
- name="alert"
78
- />
79
- <BlankSlateTitle>Failed to load Slice Machine</BlankSlateTitle>
80
- <RenderErrorDescription error={error} />
81
- </BlankSlate>
82
- </Box>
83
- );
84
- }}
85
- >
86
- {props.children}
87
- </EditorUiErrorBoundary>
88
- );
89
- }
90
-
91
- function RenderErrorDescription(args: { error: unknown }) {
92
- const { error } = args;
93
-
94
- if (isUnauthorizedError(error)) {
95
- return (
96
- <CommonErrorBox>
97
- <Box flexDirection="column" gap={8} alignItems="center">
98
- <Text variant="h3" align="center">
99
- You don't have access to this repository.
100
- </Text>
101
- <Text align="center">
102
- Check that the repository name is correct, then contact your
103
- repository administrator.
104
- </Text>
105
- </Box>
106
- <ReloadLogoutButton sx={{ alignSelf: "center" }} />
107
- </CommonErrorBox>
108
- );
109
- }
110
-
111
- if (isInvalidActiveEnvironmentError(error)) {
112
- return (
113
- <CommonErrorBox>
114
- <Box flexDirection="column" gap={8} alignItems="center">
115
- <Text variant="h3" align="center">
116
- Your current environment is invalid.
117
- </Text>
118
- <Text align="center">
119
- Check with your repository administrator that you have permissions
120
- and correctly configured your environment for the current
121
- repository. For more details, consult the{" "}
122
- <Link href="https://prismic.io/docs/environments" target="_blank">
123
- documentation
124
- </Link>
125
- .
126
- </Text>
127
- </Box>
128
- <ReloadLogoutButton sx={{ alignSelf: "center" }} />
129
- </CommonErrorBox>
130
- );
131
- }
132
-
133
- return <BlankSlateDescription>{JSON.stringify(error)}</BlankSlateDescription>;
134
- }
135
-
136
- function CommonErrorBox(args: { children: React.ReactNode }) {
137
- const { children } = args;
138
-
139
- return (
140
- <Box
141
- flexDirection="column"
142
- alignItems="center"
143
- gap={16}
144
- margin={{ top: 8 }}
145
- maxWidth={768}
146
- >
147
- {children}
148
- </Box>
149
- );
150
- }
@@ -1,22 +0,0 @@
1
- import { revalidateData } from "@prismicio/editor-support/Suspense";
2
- import { Environment } from "@slicemachine/manager/client";
3
- import { useQueryClient } from "@tanstack/react-query";
4
-
5
- import { getState } from "@/apiClient";
6
- import { GetActiveEnvironmentQueryKey } from "@/features/environments/useActiveEnvironment";
7
- import { managerClient } from "@/managerClient";
8
-
9
- export function useSetEnvironment() {
10
- const queryClient = useQueryClient();
11
-
12
- return async (environment: Pick<Environment, "domain">) => {
13
- await managerClient.project.updateEnvironment({
14
- environment: environment.domain,
15
- });
16
-
17
- void Promise.all([
18
- queryClient.invalidateQueries({ queryKey: GetActiveEnvironmentQueryKey }),
19
- revalidateData(getState, []),
20
- ]);
21
- };
22
- }
@@ -1,31 +0,0 @@
1
- import { Box, Button, Text } from "@prismicio/editor-ui";
2
-
3
- import useSliceMachineActions from "@/modules/useSliceMachineActions";
4
-
5
- export const UnauthenticatedView = () => {
6
- const { openLoginModal } = useSliceMachineActions();
7
-
8
- return (
9
- <Box
10
- flexDirection="column"
11
- height="100%"
12
- alignItems="center"
13
- justifyContent="center"
14
- gap={8}
15
- >
16
- <Text variant="h3" align="center">
17
- It seems like you are logged out
18
- </Text>
19
- <Text align="center">Log in to connect to your repository.</Text>
20
- <Text align="center">
21
- If that doesn't work, it's possible that Slice Machine is having trouble
22
- accessing Prismic's servers.{" "}
23
- <Text href="https://community.prismic.io/">
24
- Contact our support team
25
- </Text>
26
- .
27
- </Text>
28
- <Button onClick={() => openLoginModal()}>Log in to Prismic</Button>
29
- </Box>
30
- );
31
- };
@@ -1,24 +0,0 @@
1
- import {
2
- QueryClient,
3
- QueryClientProvider as RCQueryClientProvider,
4
- } from "@tanstack/react-query";
5
- import { ReactNode } from "react";
6
-
7
- export const queryClient = new QueryClient({
8
- defaultOptions: {
9
- queries: {
10
- staleTime: 5 * 60 * 1000,
11
- gcTime: 10 * 60 * 1000,
12
- retry: false,
13
- refetchOnWindowFocus: "always",
14
- },
15
- },
16
- });
17
-
18
- export function QueryClientProvider(props: { children: ReactNode }) {
19
- return (
20
- <RCQueryClientProvider client={queryClient}>
21
- {props.children}
22
- </RCQueryClientProvider>
23
- );
24
- }