1import{j as e,R as f,r as C}from"./RenderReact-D01794dB.js";import{u as E,C as I}from"./ConfigAccount-Egq9Y64d.js";import{i as L,g as S,C as $}from"./getAuthenticityToken-CMfMkA-b.js";import{I as B}from"./iconify-DOvuEbFR.js";import{n as M}from"./index.prod-DA3Fci0A.js";import{R}from"./index-BrgB-2s_.js";import{i as g}from"./inflection-CWKxl8AH.js";import{g as _,a as D}from"./config-DVYdRYYy.js";import"./index-CFcgNnu0.js";const P=["visual-text","visual-text-v2","markdown","columns","callout","button-links","markdown-footnotes"],j=["picture","picture-gallery","code","pdf"],v=["highlights-list","owlstown-list","pages-list","people-list","publications-list","publications-list-v3","contact-info","contact-form"],N=["embed","youtube","vimeo","google-docs","twitter-embed","tiktok","buymeacoffee","mentor-first"];function T({allowedBlocks:s,onAddKind:t}){const{account:n}=E();let o=P,r=j,c=v,a=N;L(s)&&(o=o.filter(l=>s.includes(l)),r=j.filter(l=>s.includes(l)),c=v.filter(l=>s.includes(l)),a=N.filter(l=>s.includes(l)));let i=[];return n.role==="admin"&&i.push("html"),e.jsxs("div",{children:[i.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2 px-4 text-sm font-bold text-gray-500",children:"Admin"}),e.jsx(d,{options:i,onAddKind:t})]}),e.jsx("div",{className:"py-2 px-4 text-sm font-bold text-gray-500",children:"Basic Blocks"}),e.jsx(d,{options:o,onAddKind:t}),e.jsx("div",{className:"py-2 px-4 text-sm font-bold text-gray-500",children:"Media"}),e.jsx(d,{options:r,onAddKind:t}),e.jsx("div",{className:"py-2 px-4 text-sm font-bold text-gray-500",children:"Owlstown"}),e.jsx(d,{options:c,onAddKind:t}),e.jsx("div",{className:"py-2 px-4 text-sm font-bold text-gray-500",children:"Embeds"}),e.jsx(d,{options:a,onAddKind:t})]})}function d({options:s,onAddKind:t}){return e.jsx("div",{className:"border-b border-gray-200",children:s.map((n,o)=>{const{icon:r,label:c,description:a}=_(n),i=()=>{t(n)};return e.jsx(W,{icon:r,label:c,description:a,onClick:i},o)})})}function W({icon:s,label:t,description:n,onClick:o}){return e.jsx("div",{className:"py-3 px-4 border-t border-gray-200 hover:bg-gray-50 cursor-pointer",onClick:o,children:e.jsxs("div",{className:"flex flex-row gap-2",children:[e.jsx("div",{className:"flex-none",children:s}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"text-sm",children:t}),e.jsx("div",{className:"text-xs text-gray-500",children:n})]})]})})}const F=["visual-text","visual-text-v2","markdown","picture","button-links","vimeo","youtube","html"];function V({site_subdomain:s,site_id:t,block_id:n,mode:o,record_id:r,record_type:c,column_id:a="default",renderToggle:i}){const l=f.useRef(null),y=()=>l.current.close(),[O,p]=f.useState(!1),m=g.underscore(g.pluralize(c));f.useEffect(()=>{i||l.current.showModal()},[]);const k=()=>{l.current.showModal()},w=A=>{p(!0);const h=D(A);h._id=M(4);let x;o==="above"?x=`/builder/${t}/${m}/${r}/blocks/add_above`:o==="below"?x=`/builder/${t}/${m}/${r}/blocks/add_below`:x=`/builder/${t}/${m}/${r}/blocks`,R(x,{body:JSON.stringify({block_id:n,block:h,column_id:a,authenticity_token:S()}),contentType:"application/json",responseKind:"turbo-stream"}).then(()=>{p(!1),y()})};let u="Add block";o==="above"?u="Add block above":o==="below"&&(u="Add block below");let b=null;return a!=="default"&&(b=F),e.jsxs(e.Fragment,{children:[i&&i({onOpen:k}),C.createPortal(e.jsxs("dialog",{className:"modal",ref:l,children:[e.jsxs("div",{className:"modal-box p-0 flex flex-col rounded-lg font-owlstown bg-white text-black",children:[e.jsxs("div",{className:"relative flex-none p-4 border-b border-gray-200",children:[e.jsx("div",{className:"text-xl font-bold",children:u}),e.jsx("form",{method:"dialog",className:"absolute top-3 right-3",children:e.jsx("button",{className:"btn btn-square btn-ghost",children:e.jsx(B,{icon:"material-symbols:close",height:"24"})})})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:e.jsx(T,{onAddKind:w,allowedBlocks:b})}),O&&e.jsx("div",{className:"absolute inset-0 bg-white/30 flex flex-row items-center justify-center",children:e.jsx("div",{className:"loading loading-spinner loading-lg"})})]}),e.jsx("form",{method:"dialog",className:"modal-backdrop",children:e.jsx("button",{children:"close"})})]}),document.body)]})}function Y(s){return e.jsx($,{children:e.jsx(I,{children:e.jsx(V,{...s})})})}export{Y as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.