@lunora/studio 1.0.0-alpha.50 → 1.0.0-alpha.51
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.
- package/dist/index.js +3 -3
- package/dist/mount.js +1 -1
- package/dist/packem_chunks/SqlEditorPanel.js +20 -14
- package/dist/packem_chunks/TableEditor.js +1 -1
- package/dist/packem_chunks/kv-browser.js +1 -1
- package/dist/packem_shared/{GlobalDataBrowser-CxJxRRf2.js → GlobalDataBrowser-f5Ll2AQK.js} +6 -2
- package/dist/packem_shared/{Studio-xJLTlLpf.js → Studio-BNGjxLVo.js} +1 -1
- package/dist/packem_shared/{StudioApp-oCQholCL.js → StudioApp-K9dn1Q9d.js} +71 -5
- package/dist/packem_shared/{studio-WZUOecDv.js → studio-Cd21fp4v.js} +36 -15
- package/dist/standalone/{chunk-A66LI6OV.js → chunk-2ZL6MXBC.js} +2 -2
- package/dist/standalone/{chunk-PS3XCCZD.js → chunk-4QA5TWYJ.js} +1 -1
- package/dist/standalone/{chunk-HQM6MBPS.js → chunk-6TYT447C.js} +1 -1
- package/dist/standalone/{chunk-BGG56IF5.js → chunk-7SN6J4DZ.js} +1 -1
- package/dist/standalone/{chunk-JUDPYSJZ.js → chunk-AJ2B326V.js} +1 -1
- package/dist/standalone/chunk-AVONJCNY.js +4 -0
- package/dist/standalone/{chunk-X2TQRMQV.js → chunk-BE24FXAK.js} +1 -1
- package/dist/standalone/{chunk-U26QNHMO.js → chunk-CP2EQVLU.js} +1 -1
- package/dist/standalone/{chunk-P2ERTKMB.js → chunk-DTPFXYHG.js} +1 -1
- package/dist/standalone/{chunk-NW6SZZ5O.js → chunk-E3FVNRH7.js} +1 -1
- package/dist/standalone/{chunk-YLHDKM2P.js → chunk-FJV4UNYY.js} +1 -1
- package/dist/standalone/{chunk-LX7KONE3.js → chunk-FWTZYHX4.js} +1 -1
- package/dist/standalone/{chunk-IO2XEI6T.js → chunk-G465LTLD.js} +1 -1
- package/dist/standalone/chunk-G6URLCRC.js +3 -0
- package/dist/standalone/{chunk-2CCWLKQW.js → chunk-IMZKGRPW.js} +1 -1
- package/dist/standalone/{chunk-4BVRLBEW.js → chunk-KDZJ5A3R.js} +1 -1
- package/dist/standalone/{chunk-X4676IX6.js → chunk-KGQGNJJ2.js} +1 -1
- package/dist/standalone/{chunk-5OZQHQ26.js → chunk-KKJZL75J.js} +1 -1
- package/dist/standalone/chunk-L2YBC2BV.js +11 -0
- package/dist/standalone/{chunk-RS7S7XVP.js → chunk-LDEVBRDZ.js} +1 -1
- package/dist/standalone/{chunk-4AXW2ECS.js → chunk-LVH4KLXS.js} +1 -1
- package/dist/standalone/{chunk-TYN6SQ73.js → chunk-N4NG7HGI.js} +1 -1
- package/dist/standalone/{chunk-6ZBU3JWR.js → chunk-ONSKQCYN.js} +1 -1
- package/dist/standalone/{chunk-KJFFID72.js → chunk-OQE56NBE.js} +1 -1
- package/dist/standalone/{chunk-HAJSYWFT.js → chunk-OSPEOESV.js} +1 -1
- package/dist/standalone/{chunk-S7AB7Y75.js → chunk-Q7PYLDZU.js} +1 -1
- package/dist/standalone/{chunk-2JTPX3CV.js → chunk-Q7TKOAGT.js} +1 -1
- package/dist/standalone/{chunk-W666BB6V.js → chunk-RXVQJ4DO.js} +1 -1
- package/dist/standalone/{chunk-UTHHHJYS.js → chunk-T3UCZ5PJ.js} +1 -1
- package/dist/standalone/{chunk-HTQNZXDT.js → chunk-TAQM5WML.js} +1 -1
- package/dist/standalone/{chunk-SHJUAHC6.js → chunk-TSLR3ZU2.js} +1 -1
- package/dist/standalone/{chunk-DR6LGPXE.js → chunk-UX53GWGU.js} +1 -1
- package/dist/standalone/{chunk-CJXJIRSN.js → chunk-VC5RNEHU.js} +1 -1
- package/dist/standalone/{chunk-XJU5SRNL.js → chunk-VLIRTNLA.js} +1 -1
- package/dist/standalone/{chunk-3CPQ5IQU.js → chunk-VN2PDOMK.js} +1 -1
- package/dist/standalone/{chunk-7LDYSHOU.js → chunk-VZFJI6XE.js} +1 -1
- package/dist/standalone/{chunk-LJAAZNQ6.js → chunk-WJ6OBCUM.js} +1 -1
- package/dist/standalone/{chunk-VL6HOZHF.js → chunk-XOANGJJP.js} +1 -1
- package/dist/standalone/{chunk-NS23QR4W.js → chunk-YA6POZJD.js} +1 -1
- package/dist/standalone/{chunk-A2DBMISD.js → chunk-ZECNJ4FG.js} +1 -1
- package/dist/standalone/{chunk-FAUN4Z72.js → chunk-ZETIKSQJ.js} +1 -1
- package/dist/standalone/{chunk-6RREMPQX.js → chunk-ZZMGCPXE.js} +1 -1
- package/dist/standalone/studio.js +36 -36
- package/package.json +6 -6
- package/dist/standalone/chunk-K4S652EQ.js +0 -4
- package/dist/standalone/chunk-SDMZKBTD.js +0 -1
- package/dist/standalone/chunk-XWPZBZSZ.js +0 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as q}from"./chunk-EOE5NDMK.js";import"./chunk-DWDILV2E.js";import{a as T}from"./chunk-QAFAJBAW.js";import{a as H}from"./chunk-J6J54MBP.js";import"./chunk-5OIBXYZM.js";import{a as D}from"./chunk-WUFVFVHJ.js";import"./chunk-XNJNSCLM.js";import{b as B}from"./chunk-
|
|
1
|
+
import{a as q}from"./chunk-EOE5NDMK.js";import"./chunk-DWDILV2E.js";import{a as T}from"./chunk-QAFAJBAW.js";import{a as H}from"./chunk-J6J54MBP.js";import"./chunk-5OIBXYZM.js";import{a as D}from"./chunk-WUFVFVHJ.js";import"./chunk-XNJNSCLM.js";import{b as B}from"./chunk-RXVQJ4DO.js";import{R as F}from"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import{c}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import{b as P}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{a as p}from"./chunk-G7ZBM54M.js";import{f as j}from"./chunk-L2YBC2BV.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{a as O}from"./chunk-TAD43CG5.js";import{d as $,f as g,g as N,h as w,l as y,n as R,p as C}from"./chunk-ITQKVEP7.js";import"./chunk-22C6COGE.js";import{a as o,e as M,f as oe,h as se,j as z}from"./chunk-RRCPZMC2.js";var d=M(oe(),1);var e=M(se(),1);function de({className:r,orientation:m="horizontal",...a}){return(0,e.jsxDEV)(T,{"data-slot":"separator",orientation:m,className:z("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",r),...a},void 0,!1)}o(de,"Separator");var le=g(p.clearCapturedMail),ne=g(p.sendTestMail),ce=/https?:\/\/[^\s"'<>)]+/i,_=o(r=>r===void 0?void 0:ce.exec(r)?.[0],"firstLink"),me=o(r=>{if(r!==void 0)return _(r.html)??_(r.text)},"selectedLink"),ue=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:">`,fe=o(r=>`${ue}${r}`,"withPreviewCsp"),v=o(r=>r===void 0?"":Array.isArray(r)?r.join(", "):r,"recipientText"),Ie=o(({limit:r=100})=>{let m=j(),a=$(),{data:S,error:k,errorSource:U,isLoading:V,refetch:x}=B(p.getCapturedMail,{limit:r}),[E,h]=(0,d.useState)(null),[A,L]=(0,d.useState)(null),[u,W]=(0,d.useState)("html"),[b,K]=(0,d.useState)(""),l=(0,d.useMemo)(()=>S?.entries??[],[S]),I=k??E,Q=k===null?E:U,G=o(async()=>{h(null);try{await m.query(le,{},N("")),L(null),x()}catch(t){h(w(t))}},"clearInbox"),J=o(async()=>{h(null);try{await m.query(ne,{},N("")),x()}catch(t){h(w(t))}},"sendTest");H(()=>{x()},!0);let X=o(()=>{y(G())},"onClear"),Y=o(()=>{y(J())},"onSendTest"),Z=o(t=>{K(t.currentTarget.value)},"onFilterChange"),ee=o(t=>{let{id:s}=t.currentTarget.dataset;s!==void 0&&L(s)},"onSelectMessage"),te=o(t=>{let s=t.currentTarget.dataset.tab;(s==="headers"||s==="html"||s==="text")&&W(s)},"onSelectTab"),ae=o(t=>a(t==="html"?"HTML":t==="text"?"Plain text":"Headers"),"tabTitle"),f=(0,d.useMemo)(()=>{let t=b.trim().toLowerCase();return t===""?l:l.filter(s=>`${s.subject} ${v(s.to)}`.toLowerCase().includes(t))},[l,b]),i=(0,d.useMemo)(()=>{if(f.length!==0)return f.find(t=>t.id===A)??f[0]},[f,A]),n=me(i),re=o(()=>{n!==void 0&&R(n)},"onCopyLink"),ie=o(()=>{n!==void 0&&"window"in globalThis&&globalThis.window.open(n,"_blank","noopener")},"onOpenLink");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"mail-panel",children:[(0,e.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsxDEV)(c,{"data-testid":"mail-send-test",onClick:Y,size:"sm",type:"button",variant:"outline",children:a("Send test")},void 0,!1),(0,e.jsxDEV)(c,{"data-testid":"mail-clear",disabled:l.length===0,onClick:X,size:"sm",type:"button",variant:"outline",children:a("Clear inbox")},void 0,!1),l.length>0&&(0,e.jsxDEV)(P,{className:"ml-auto","data-testid":"mail-count",variant:"secondary",children:a("{count} messages",{count:l.length})},void 0,!1)]},void 0,!0),I!==null&&(0,e.jsxDEV)(D,{error:Q,testId:"mail-error"},void 0,!1),I===null&&!V&&l.length===0&&(0,e.jsxDEV)(O,{description:a("Email your app sends in dev is captured here \u2014 nothing is delivered."),icon:(0,e.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,e.jsxDEV)("path",{d:"M4 5h16v14H4z"},void 0,!1),(0,e.jsxDEV)("path",{d:"m4 6 8 6 8-6"},void 0,!1)]},void 0,!0),testId:"mail-empty",title:a("No captured email.")},void 0,!1),l.length>0&&(0,e.jsxDEV)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[minmax(0,22rem)_1fr]","data-testid":"mail-reader",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-2",children:[(0,e.jsxDEV)(F,{"aria-label":a("Search messages"),"data-testid":"mail-search",onChange:Z,placeholder:a("Filter messages"),type:"search",value:b},void 0,!1),(0,e.jsxDEV)(q,{className:"max-h-[32rem] rounded-xl border border-border bg-card shadow-xs","data-testid":"mail-list",children:(0,e.jsxDEV)("ul",{className:"divide-y",children:f.map(t=>{let s=t.id===i?.id;return(0,e.jsxDEV)("li",{children:(0,e.jsxDEV)("button",{className:`flex w-full flex-col items-start gap-0.5 px-3 py-2 text-left text-sm hover:bg-muted/60 ${s?"bg-muted":""}`,"data-active":s,"data-id":t.id,"data-testid":"mail-list-item",onClick:ee,type:"button",children:[(0,e.jsxDEV)("span",{className:"w-full truncate font-medium",children:t.subject||a("(no subject)")},void 0,!1),(0,e.jsxDEV)("span",{className:"w-full truncate text-xs text-muted-foreground",children:v(t.to)},void 0,!1),(0,e.jsxDEV)("span",{className:"text-xs text-muted-foreground tabular-nums",children:C(t.capturedAt,"\u2014")},void 0,!1)]},void 0,!0)},t.id,!1)})},void 0,!1)},void 0,!1)]},void 0,!0),i!==void 0&&(0,e.jsxDEV)("div",{className:"flex min-w-0 flex-col gap-3 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"mail-detail",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1",children:[(0,e.jsxDEV)("h2",{className:"truncate text-base font-semibold","data-testid":"mail-subject",children:i.subject||a("(no subject)")},void 0,!1),(0,e.jsxDEV)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-xs text-muted-foreground",children:[(0,e.jsxDEV)("dt",{children:a("From")},void 0,!1),(0,e.jsxDEV)("dd",{className:"truncate font-mono",children:i.from??"\u2014"},void 0,!1),(0,e.jsxDEV)("dt",{children:a("To")},void 0,!1),(0,e.jsxDEV)("dd",{className:"truncate font-mono",children:v(i.to)},void 0,!1),i.cc!==void 0&&i.cc.length>0&&(0,e.jsxDEV)(e.Fragment,{children:[(0,e.jsxDEV)("dt",{children:a("Cc")},void 0,!1),(0,e.jsxDEV)("dd",{className:"truncate font-mono",children:v(i.cc)},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("dt",{children:a("Sent")},void 0,!1),(0,e.jsxDEV)("dd",{className:"tabular-nums",children:C(i.capturedAt,"\u2014")},void 0,!1)]},void 0,!0)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"mail-actions",children:[(0,e.jsxDEV)(c,{"data-testid":"mail-copy-link",disabled:n===void 0,onClick:re,size:"sm",type:"button",variant:"outline",children:a("Copy link")},void 0,!1),(0,e.jsxDEV)(c,{"data-testid":"mail-open-link",disabled:n===void 0,onClick:ie,size:"sm",type:"button",variant:"outline",children:a("Open in new tab")},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(de,{},void 0,!1),(0,e.jsxDEV)("div",{className:"flex items-center gap-1","data-testid":"mail-tabs",role:"tablist",children:["html","text","headers"].map(t=>(0,e.jsxDEV)(c,{"aria-selected":u===t,"data-tab":t,"data-testid":`mail-tab-${t}`,onClick:te,role:"tab",size:"sm",type:"button",variant:u===t?"secondary":"ghost",children:ae(t)},t,!1))},void 0,!1),(0,e.jsxDEV)("div",{className:"min-h-[12rem]",children:[u==="html"&&(i.html===void 0?(0,e.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:a("No HTML body.")},void 0,!1):(0,e.jsxDEV)("iframe",{className:"h-[24rem] w-full rounded-md border bg-white","data-testid":"mail-preview-html",sandbox:"",srcDoc:fe(i.html),title:a("Email preview")},void 0,!1)),u==="text"&&(i.text===void 0?(0,e.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:a("No text body.")},void 0,!1):(0,e.jsxDEV)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-text",children:i.text},void 0,!1)),u==="headers"&&(i.headers===void 0||Object.keys(i.headers).length===0?(0,e.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:a("No headers.")},void 0,!1):(0,e.jsxDEV)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-headers",children:Object.entries(i.headers).map(([t,s])=>`${t}: ${s}`).join(`
|
|
2
2
|
`)},void 0,!1))]},void 0,!0)]},void 0,!0)]},void 0,!0)]},void 0,!0)},"MailPanel");export{Ie as MailPanel};
|