@plumix/admin 0.1.0 → 0.1.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.
- package/dist/assets/{-errors-D-cmkYbY.js → -errors-BJp83S61.js} +1 -1
- package/dist/assets/{-locale-param-R7YAVhAm.js → -locale-param-Y_oYVkUX.js} +1 -1
- package/dist/assets/{_-BgcFcUpb.js → _-DJH2KLIq.js} +1 -1
- package/dist/assets/{_authenticated-DabO2Qyv.js → _authenticated-CPS6rcL1.js} +1 -1
- package/dist/assets/{_authenticated-B2GjUlkG.js → _authenticated-DECJJkSG.js} +1 -1
- package/dist/assets/{_editor-Cj750bOw.js → _editor-DTQYo5H1.js} +1 -1
- package/dist/assets/{_name-4UEpyf0-.js → _name-Cn1TxMiD.js} +1 -1
- package/dist/assets/{_page-CW9_6SD1.js → _page-6Dt_H-t-.js} +1 -1
- package/dist/assets/{_page-B65xT7CY.js → _page-Dd9iXh9Y.js} +1 -1
- package/dist/assets/{_slug-B4JG-9fs.js → _slug-DfiOgvp-.js} +1 -1
- package/dist/assets/{_token-DbYWXSFn.js → _token-B5HSAv6u.js} +1 -1
- package/dist/assets/{allowed-domains-DYhKp_Ib.js → allowed-domains-C45hb_hj.js} +1 -1
- package/dist/assets/{bootstrap-DJz3cWv9.js → bootstrap-BGjxcccw.js} +1 -1
- package/dist/assets/breadcrumb-BV7HWDmi.js +1 -0
- package/dist/assets/{create-GWJoFtGc.js → create-Drjr9dfU.js} +1 -1
- package/dist/assets/{create-BBUSAO26.js → create-YjhP8uPI.js} +1 -1
- package/dist/assets/{create-CoSsIQco.js → create-twMn3ZJK.js} +1 -1
- package/dist/assets/{device-EMoc4lMH.js → device-CU0nQStx.js} +1 -1
- package/dist/assets/dist-9yav4OBD.js +46 -0
- package/dist/assets/{edit-DlHnrl_y.js → edit-BfhVPnGf.js} +1 -1
- package/dist/assets/{edit-DR0NupUB.js → edit-Bv4iDBop.js} +1 -1
- package/dist/assets/{edit-Bz9riMHP.js → edit-C7ilZiba.js} +1 -1
- package/dist/assets/{edit-BsC2RNOq.js → edit-CrzTOGqo.js} +1 -1
- package/dist/assets/edit-DVuHDSbc.js +2 -0
- package/dist/assets/{edit-C1985Bqy.js → edit-DwrFb_ta.js} +1 -1
- package/dist/assets/{form-BhMVtuYF.js → form-5CBmFjhZ.js} +1 -1
- package/dist/assets/{index-bWipSZdM.js → index-8CVr3Qp5.js} +4 -4
- package/dist/assets/{login-Cky2mine.js → login-CxdAEUCn.js} +1 -1
- package/dist/assets/{mailer-CnGqwCP4.js → mailer-DT9FFkYI.js} +1 -1
- package/dist/assets/{meta-box-CjxoPlkT.js → meta-box-B-N73b0I.js} +1 -1
- package/dist/assets/{meta-box-field-Cgn0DXDv.js → meta-box-field-gLyOLbwB.js} +1 -1
- package/dist/assets/{meta-box-grid-DJBtTRhe.js → meta-box-grid-CRboB-BG.js} +1 -1
- package/dist/assets/{plugin-error-boundary-3Oze9sdd.js → plugin-error-boundary-DlVIsgFV.js} +1 -1
- package/dist/assets/{rich-text-field-DGbPE_N0.js → rich-text-field-CHHhfy_b.js} +3 -3
- package/dist/assets/{search-input-BpOKuC8D.js → search-input-BSW1rAKi.js} +1 -1
- package/dist/assets/{separator-DCQAFSsS.js → separator-u9O31sRo.js} +1 -1
- package/dist/assets/{settings-DCqQvJiy.js → settings-szU4x17b.js} +1 -1
- package/dist/assets/{textarea-BoWLuA0I.js → textarea-BsZaGkV-.js} +1 -1
- package/dist/assets/{toast-CQk_AYCo.js → toast-UQxADDWA.js} +1 -1
- package/dist/assets/{toggle-Bfw56q6s.js → toggle-BfrQLxbv.js} +1 -1
- package/dist/assets/{tooltip-Pch4JgRX.js → tooltip-Dm_CbtVl.js} +1 -1
- package/dist/assets/{use-formatters-BlYPsMo8.js → use-formatters-HWxEQWaC.js} +1 -1
- package/dist/assets/{users-CYvrBtzp.js → users-BHorpfgX.js} +1 -1
- package/dist/assets/{utils-BBTvNyQG.js → utils-BtfRir_X.js} +2 -2
- package/dist/assets/{valibot-BKzEbLVK.js → valibot-D1tw6tkr.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +9 -9
- package/dist/assets/breadcrumb-TUgLmtOo.js +0 -1
- package/dist/assets/dist-Bdi1pykC.js +0 -46
- package/dist/assets/edit-CG12fZGb.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{i as ee,n as r}from"./dist-BL2bKHuR.js";import{f as i,o as a,t as o,u as s}from"./orpc-DURDArDu.js";import{d as c}from"./esm-DfD3iRfG.js";import{n as l,r as u,t as d}from"./-locale-param-
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{i as ee,n as r}from"./dist-BL2bKHuR.js";import{f as i,o as a,t as o,u as s}from"./orpc-DURDArDu.js";import{d as c}from"./esm-DfD3iRfG.js";import{n as l,r as u,t as d}from"./-locale-param-Y_oYVkUX.js";import{a as f,i as p,n as m,r as h,t as g}from"./card-L2-kK5VK.js";import{G as te,Pt as _,W as ne,Y as re,at as v}from"./index-8CVr3Qp5.js";import{t as y}from"./input-xYuLUQID.js";import{a as b,c as x,o as S,r as C,s as w}from"./passkey-C_CqNV1S.js";import{a as T,f as E,i as ie,n as ae,o as oe,s as se,t as ce}from"./form-5CBmFjhZ.js";import{n as D,t as O}from"./alert-cwX3fWUu.js";import{t as k}from"./valibot-D1tw6tkr.js";import{t as A}from"./separator-u9O31sRo.js";var j=e(n()),M=w({missing_token:{id:`emailChange.error.missingToken`},token_invalid:{id:`emailChange.error.tokenInvalid`},token_expired:{id:`emailChange.error.tokenExpired`},email_taken:{id:`emailChange.error.emailTaken`},user_not_found:{id:`emailChange.error.userNotFound`},account_disabled:{id:`emailChange.error.accountDisabled`}},{id:`emailChange.error.fallback`});M.descriptor;var N=M.useMessage;M._messages;var P=w({missing_token:{id:`magicLink.error.missingToken`},token_invalid:{id:`magicLink.error.tokenInvalid`},token_expired:{id:`magicLink.error.tokenExpired`},account_disabled:{id:`magicLink.error.accountDisabled`},domain_not_allowed:{id:`magicLink.error.domainNotAllowed`},registration_closed:{id:`magicLink.error.registrationClosed`}},{id:`magicLink.error.fallback`});P.descriptor;var F=P.useMessage;P._messages;async function I(e){let t=await fetch(`${a()}/_plumix/auth/magic-link/request`,{method:`POST`,headers:{"content-type":`application/json`,"x-plumix-request":`1`},body:JSON.stringify({email:e}),credentials:`same-origin`});if(t.status===503)throw L.notConfigured();if(t.status===400)throw L.invalidInput();if(!t.ok)throw L.network();return await t.json()}var L=class e extends Error{static{e.prototype.name=`MagicLinkRequestError`}code;constructor(e){super(e),this.code=e}static notConfigured(){return new e(`not_configured`)}static invalidInput(){return new e(`invalid_input`)}static network(){return new e(`network`)}},R=x({not_configured:{id:`magicLinkRequest.error.notConfigured`},invalid_input:{id:`magicLinkRequest.error.invalidInput`},network:{id:`magicLinkRequest.error.network`}},`network`);function z(){let e=R.useMessage();return t=>e(t instanceof L?t.code:`network`)}var B=w({state_invalid:{id:`oauth.error.stateInvalid`},state_expired:{id:`oauth.error.stateExpired`},code_exchange_failed:{id:`oauth.error.codeExchangeFailed`},profile_fetch_failed:{id:`oauth.error.profileFetchFailed`},email_missing:{id:`oauth.error.emailMissing`},email_unverified:{id:`oauth.error.emailUnverified`},domain_not_allowed:{id:`oauth.error.domainNotAllowed`},account_disabled:{id:`oauth.error.accountDisabled`},link_broken:{id:`oauth.error.linkBroken`},registration_closed:{id:`oauth.error.registrationClosed`},provider_not_configured:{id:`oauth.error.providerNotConfigured`}},{id:`oauth.error.fallback`});B.descriptor;var V=B.useMessage;B._messages;var H=e(t());function U(){let e=c(),t=te.useSearch(),n=v(),{i18n:a}=ee(),x=S(),w=F(),M=V(),P=N(),L=z(),[R,B]=(0,j.useState)(null),[U,W]=(0,j.useState)(!1),[G,K]=(0,j.useState)(null),q=i(o.auth.oauthProviders.queryOptions()),J=s({mutationFn:e=>C(e.email),onMutate:()=>B(null),onSuccess:async()=>{await e.options.context.queryClient.invalidateQueries({queryKey:re}),await e.navigate({to:`/`})},onError:e=>{B(e instanceof b?e.code:`unknown`)}}),Y=s({mutationFn:e=>I(e.email),onMutate:()=>{K(null),W(!1)},onSuccess:()=>W(!0),onError:e=>K(L(e))}),X=E({resolver:k(ne),defaultValues:{email:``},mode:`onChange`}),le=X.handleSubmit(({email:e})=>{J.mutate({email:e||void 0})}),ue=()=>{let e=X.getValues(`email`).trim();if(!e){K(a._(`login.magicLink.emailRequired`,void 0,{message:`Enter your email above first.`}));return}Y.mutate({email:e})},de=e=>{l(e),window.location.assign(d(t,e))},Z=M(t.oauth_error),Q=w(t.magic_link_error),$=P(t.email_change_error),fe=!!t.email_change_success;return U?(0,H.jsxs)(g,{"data-testid":`login-magic-link-sent`,children:[(0,H.jsxs)(p,{children:[(0,H.jsx)(f,{children:(0,H.jsx)(`h1`,{"data-testid":`login-heading`,children:(0,H.jsx)(r,{id:`login.magicLink.sent.title`,message:`Check your email`})})}),(0,H.jsx)(h,{children:(0,H.jsx)(r,{id:`login.magicLink.sent.description`,message:`If an account exists for this email, we sent a sign-in link. The link expires in 15 minutes.`})})]}),(0,H.jsx)(m,{children:(0,H.jsx)(_,{type:`button`,variant:`outline`,onClick:()=>W(!1),"data-testid":`login-magic-link-back`,children:(0,H.jsx)(r,{id:`login.magicLink.back`,message:`Back`})})})]}):(0,H.jsxs)(g,{children:[(0,H.jsxs)(p,{children:[(0,H.jsx)(f,{children:(0,H.jsx)(`h1`,{"data-testid":`login-heading`,children:(0,H.jsx)(r,{id:`login.title`,message:`Sign in`})})}),(0,H.jsx)(h,{children:(0,H.jsx)(r,{id:`login.description`,message:`Use a passkey, get a one-time email link, or continue with a provider.`})})]}),(0,H.jsxs)(m,{children:[(0,H.jsx)(ce,{...X,children:(0,H.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:le,children:[(0,H.jsx)(ie,{control:X.control,name:`email`,render:({field:e})=>(0,H.jsxs)(T,{children:[(0,H.jsx)(oe,{children:(0,H.jsx)(r,{id:`login.email.label`,message:`Email`})}),(0,H.jsx)(ae,{children:(0,H.jsx)(y,{type:`email`,autoComplete:`username webauthn`,disabled:J.isPending||Y.isPending,"data-testid":`login-email-input`,...e})}),(0,H.jsx)(se,{})]})}),R?(0,H.jsx)(O,{variant:`destructive`,"data-testid":`login-passkey-error`,children:(0,H.jsx)(D,{children:x(R)})}):null,Z?(0,H.jsx)(O,{variant:`destructive`,"data-testid":`login-oauth-error`,children:(0,H.jsx)(D,{children:Z})}):null,Q?(0,H.jsx)(O,{variant:`destructive`,"data-testid":`login-magic-link-url-error`,children:(0,H.jsx)(D,{children:Q})}):null,G?(0,H.jsx)(O,{variant:`destructive`,"data-testid":`login-magic-link-error`,children:(0,H.jsx)(D,{children:G})}):null,fe?(0,H.jsx)(O,{"data-testid":`login-email-change-success`,children:(0,H.jsx)(D,{children:(0,H.jsx)(r,{id:`login.emailChange.success`,message:`Email confirmed. Sign in with the new address.`})})}):null,$?(0,H.jsx)(O,{variant:`destructive`,"data-testid":`login-email-change-error`,children:(0,H.jsx)(D,{children:$})}):null,(0,H.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,H.jsx)(_,{type:`submit`,className:`flex-1`,disabled:J.isPending||Y.isPending,"data-testid":`login-passkey-submit`,children:J.isPending?(0,H.jsx)(r,{id:`login.passkey.pending`,message:`Signing in…`}):(0,H.jsx)(r,{id:`login.passkey.submit`,message:`Sign in with passkey`})}),(0,H.jsx)(_,{type:`button`,variant:`outline`,className:`flex-1`,onClick:ue,disabled:J.isPending||Y.isPending,"data-testid":`login-magic-link-submit`,children:Y.isPending?(0,H.jsx)(r,{id:`login.magicLink.pending`,message:`Sending…`}):(0,H.jsx)(r,{id:`login.magicLink.submit`,message:`Email me a link`})})]})]})}),q.data&&q.data.length>0?(0,H.jsxs)(`div`,{className:`mt-6 flex flex-col gap-3`,"data-testid":`login-oauth-providers`,children:[(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(A,{className:`flex-1`}),(0,H.jsx)(`span`,{className:`text-muted-foreground text-xs tracking-wide uppercase`,children:(0,H.jsx)(r,{id:`login.oauth.separator`,message:`or`})}),(0,H.jsx)(A,{className:`flex-1`})]}),q.data.map(({key:e,label:t})=>(0,H.jsx)(_,{asChild:!0,variant:`outline`,"data-testid":`login-oauth-${e}`,children:(0,H.jsx)(`a`,{href:`/_plumix/auth/oauth/${e}/start`,children:(0,H.jsx)(r,{id:`login.oauth.continueWith`,message:`Continue with {label}`,values:{label:(0,H.jsx)(`bdi`,{children:t})},comment:`label: the OAuth provider's display name (e.g. 'Google', 'GitHub')`})})},e))]}):null,(0,H.jsx)(u,{currentCode:a.locale,manifest:n,onSelect:de})]})]})}export{U as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{n as r}from"./dist-BL2bKHuR.js";import{t as i,u as a}from"./orpc-DURDArDu.js";import{t as o}from"./use-label-CykSHq9A.js";import{D as s,T as c,h as l,r as u,w as d,y as f}from"./dist-ClOzYsk5.js";import{o as p}from"./validation-CwFumc7a.js";import{a as m,i as h,n as g,r as _,t as v}from"./card-L2-kK5VK.js";import{O as y,Pt as b}from"./index-
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{n as r}from"./dist-BL2bKHuR.js";import{t as i,u as a}from"./orpc-DURDArDu.js";import{t as o}from"./use-label-CykSHq9A.js";import{D as s,T as c,h as l,r as u,w as d,y as f}from"./dist-ClOzYsk5.js";import{o as p}from"./validation-CwFumc7a.js";import{a as m,i as h,n as g,r as _,t as v}from"./card-L2-kK5VK.js";import{O as y,Pt as b}from"./index-8CVr3Qp5.js";import{t as x}from"./input-xYuLUQID.js";import{a as S,f as C,i as w,n as T,o as E,s as D,t as O}from"./form-5CBmFjhZ.js";import{n as k,t as A}from"./alert-cwX3fWUu.js";import{t as j}from"./valibot-D1tw6tkr.js";import{n as M}from"./orpc-errors-DWk96ZMY.js";var N=e(n()),P={notConfigured:{id:`mailer.test.error.notConfigured`},sendFailed:{id:`mailer.test.error.sendFailed`},fallback:{id:`mailer.test.error.fallback`}};function F(e){let t=M(e);return t===`mailer_not_configured`?P.notConfigured:t===`mailer_send_failed`?P.sendFailed:e instanceof Error?e.message:P.fallback}var I=e(t()),L=l({to:f(d(),s(),c(),u(p({id:`mailer.test.recipient.invalid`})))}),R={placeholder:{id:`mailer.test.recipient.placeholder`}};function z(){let{user:e}=y.useRouteContext(),t=o(),[n,s]=(0,N.useState)(null),c=C({resolver:j(L),defaultValues:{to:e.email},mode:`onBlur`}),l=a({mutationFn:e=>i.auth.mailer.testSend.call(e),onMutate:()=>{s(null)},onSuccess:(e,t)=>{s({kind:`ok`,to:t.to})},onError:e=>{s({kind:`error`,message:F(e)})}}),u=c.handleSubmit(e=>{l.mutate({to:e.to})}),d=n?.kind===`ok`?(0,I.jsx)(`bdi`,{children:n.to}):null;return(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col gap-4`,children:[(0,I.jsxs)(`header`,{className:`flex flex-col gap-1`,children:[(0,I.jsx)(`h1`,{className:`text-2xl font-semibold`,"data-testid":`mailer-heading`,children:(0,I.jsx)(r,{id:`mailer.title`,message:`Mailer`})}),(0,I.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:(0,I.jsx)(r,{id:`mailer.description`,message:`Test that the configured outbound-email transport actually delivers. Used by magic-link sign-in, invite emails, and any plugin that opts into the shared mailer.`})})]}),(0,I.jsxs)(v,{children:[(0,I.jsxs)(h,{children:[(0,I.jsx)(m,{children:(0,I.jsx)(r,{id:`mailer.test.title`,message:`Send a test message`})}),(0,I.jsx)(_,{children:(0,I.jsx)(r,{id:`mailer.test.description`,message:`Sends a one-off message via the same transport magic-link uses. Failures surface here verbatim — distinct from the magic-link request flow, which intentionally swallows mailer errors so the response shape can't leak whether an email is registered.`})})]}),(0,I.jsx)(g,{children:(0,I.jsx)(O,{...c,children:(0,I.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:u,children:[(0,I.jsx)(w,{control:c.control,name:`to`,render:({field:e})=>(0,I.jsxs)(S,{children:[(0,I.jsx)(E,{children:(0,I.jsx)(r,{id:`mailer.test.recipient.label`,message:`Recipient`})}),(0,I.jsx)(T,{children:(0,I.jsx)(x,{type:`email`,autoComplete:`email`,placeholder:t(R.placeholder),disabled:l.isPending,"data-testid":`mailer-test-recipient`,...e})}),(0,I.jsx)(D,{})]})}),n?.kind===`ok`?(0,I.jsx)(A,{"data-testid":`mailer-test-feedback`,children:(0,I.jsx)(k,{children:(0,I.jsx)(r,{id:`mailer.test.feedback.ok`,message:`Test message sent to {to}. If it doesn't arrive within a minute, check your transport adapter's logs.`,values:{to:d},comment:`to: the recipient email address the test was sent to`})})}):null,n?.kind===`error`?(0,I.jsx)(A,{variant:`destructive`,"data-testid":`mailer-test-error`,children:(0,I.jsx)(k,{children:t(n.message)})}):null,(0,I.jsx)(`div`,{className:`flex justify-end`,children:(0,I.jsx)(b,{type:`submit`,disabled:l.isPending,"data-testid":`mailer-test-submit`,children:l.isPending?(0,I.jsx)(r,{id:`mailer.test.submit.pending`,message:`Sending…`}):(0,I.jsx)(r,{id:`mailer.test.submit.idle`,message:`Send test`})})})]})})})]})]})}export{z as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import"./utils-
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import"./utils-BtfRir_X.js";import{t as n}from"./use-label-CykSHq9A.js";import{a as r,i,n as a,r as o,t as s}from"./card-L2-kK5VK.js";import{t as c}from"./meta-box-field-gLyOLbwB.js";import{t as l}from"./meta-box-grid-CRboB-BG.js";var u=e(t(),1);function d({box:e,basePath:t,disabled:c=!1}){let l=n();return(0,u.jsxs)(s,{className:`@container`,"data-testid":`meta-box-${e.id}`,children:[(0,u.jsxs)(i,{children:[(0,u.jsx)(r,{children:(0,u.jsx)(`h2`,{className:`text-lg font-semibold`,"data-testid":`meta-box-heading-${e.id}`,children:l(e.label)})}),e.description?(0,u.jsx)(o,{children:l(e.description)}):null]}),(0,u.jsx)(a,{children:(0,u.jsx)(f,{box:e,basePath:t,disabled:c})})]})}function f({box:e,basePath:t,disabled:n}){return(0,u.jsx)(`div`,{className:`grid grid-cols-12 gap-4`,children:e.fields.map(e=>(0,u.jsx)(c,{field:e,name:`${t}.${e.key}`,disabled:n??!1,className:l(e.span)},e.key))})}export{d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{i as r,n as i}from"./dist-BL2bKHuR.js";import{f as a,t as o}from"./orpc-DURDArDu.js";import{c as s,d as c,f as l,l as u,p as d}from"./breadcrumb-TUgLmtOo.js";import{n as f,r as p,t as m}from"./textarea-BoWLuA0I.js";import{M as h,X as g,j as _,m as v,n as y,t as b,w as x}from"./utils-BBTvNyQG.js";import{t as S}from"./use-label-CykSHq9A.js";import{i as C,t as w}from"./type-labels-DEpt0nSb.js";import{t as T}from"./skeleton-BnBM1862.js";import{F as E,I as D,L as O,P as k,Pt as A,Q as j,R as M,u as N}from"./index-bWipSZdM.js";import{t as P}from"./input-xYuLUQID.js";import{a as F,i as I,n as L,o as R,r as z,s as B}from"./form-BhMVtuYF.js";function V(){let e=S();return(t,n)=>{if(t!==null)return t;if(n!==void 0){let t=j(n);if(t)return e(w(t,`untitledItem`))}return e(C.untitledItem)}}var H=e(n(),1),U=e(t(),1),W={resolveError:{id:`metaBox.multiReference.resolveError`},emptyValue:{id:`metaBox.multiReference.emptyValue`},orphan:{id:`metaBox.multiReference.orphan`},selectIdle:{id:`metaBox.multiReference.selectIdle`},addMore:{id:`metaBox.multiReference.addMore`},loading:{id:`metaBox.multiReference.loading`},noMatches:{id:`metaBox.multiReference.noMatches`},dialogDescription:{id:`metaBox.multiReference.dialogDescription`},searchPlaceholder:{id:`metaBox.multiReference.searchPlaceholder`}};function G({value:e,onChange:t,kind:n,scope:f,max:p,disabled:m=!1,required:h=!1,label:g,testId:_}){let{i18n:y}=r(),b=S(),x=V(),[C,w]=(0,H.useState)(!1),[E,D]=(0,H.useState)(``),O=a({...o.lookup.list.queryOptions({input:{kind:n,scope:f,ids:[...e]}}),enabled:e.length>0}),k=(0,H.useMemo)(()=>{let e=new Map;for(let t of O.data?.items??[])e.set(t.id,t);return e},[O.data]),j=a({...o.lookup.list.queryOptions({input:{kind:n,query:E.trim()||void 0,scope:f,limit:20}}),enabled:C}),M=j.data?.items??[],N=new Set(e),P=p!==void 0&&e.length>=p,F=n=>{N.has(n)||P||t([...e,n])},I=n=>{t(e.filter(e=>e!==n))},L=e=>{t(e.map(e=>e.id))},R=e.length>0&&O.data===void 0&&!O.isError,z=e.map(e=>{let t=k.get(e)??null;return{id:e,result:t,pending:t===null&&R}}),B=y._(W.dialogDescription.id,{kind:n},{message:W.dialogDescription.message}),G=y._(W.searchPlaceholder.id,{kind:n},{message:W.searchPlaceholder.message});return(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":_,children:[O.isError?(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${_}-resolve-error`,children:(0,U.jsx)(i,{id:`metaBox.multiReference.resolveError`,message:`Couldn’t load selected items — refresh to retry.`})}):null,e.length===0?(0,U.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${_}-empty`,children:(0,U.jsx)(i,{id:`metaBox.multiReference.emptyValue`,message:`None selected`})}):(0,U.jsx)(v,{items:z,onReorder:L,onRemove:h&&e.length===1?void 0:I,renderItem:e=>e.result?(0,U.jsxs)(`div`,{className:`text-sm`,children:[(0,U.jsx)(`p`,{className:`truncate font-medium`,children:x(e.result.label,e.result.targetType)}),e.result.subtitle?(0,U.jsx)(`p`,{className:`text-muted-foreground truncate text-xs`,children:e.result.subtitle}):null]}):e.pending?(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${_}-resolving-${e.id}`,"aria-busy":`true`,children:[(0,U.jsx)(T,{className:`h-4 w-32`}),(0,U.jsx)(T,{className:`h-3 w-20`})]}):(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${_}-orphan-${e.id}`,children:(0,U.jsx)(i,{id:`metaBox.multiReference.orphan`,message:`Reference missing — remove or re-pick`})}),disabled:m,testId:`${_}-list`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(A,{type:`button`,variant:`outline`,size:`sm`,disabled:m||P,onClick:()=>{D(``),w(!0)},"data-testid":`${_}-add`,children:e.length===0?b(W.selectIdle):b(W.addMore)}),p===void 0?null:(0,U.jsxs)(`span`,{className:`text-muted-foreground text-xs`,"data-testid":`${_}-count`,children:[e.length,` / `,p]})]}),(0,U.jsxs)(s,{open:C,onOpenChange:w,title:g,description:B,children:[(0,U.jsx)(c,{placeholder:G,value:E,onValueChange:D,"data-testid":`${_}-search`}),(0,U.jsx)(d,{children:j.isLoading?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.multiReference.loading`,message:`Loading…`})}):M.length===0?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.multiReference.noMatches`,message:`No matches`})}):M.map(e=>{let t=N.has(e.id);return(0,U.jsx)(l,{value:`${e.label??``} ${e.subtitle??``}`,disabled:t||P,onSelect:()=>{F(e.id)},"data-testid":`${_}-option-${e.id}`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,U.jsxs)(`span`,{className:`text-sm font-medium`,children:[x(e.label,e.targetType),t?` ✓`:``]}),e.subtitle?(0,U.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.subtitle}):null]})},e.id)})})]})]})}var ee=class extends H.Component{constructor(e){super(e),this.state={error:null,resetKey:e.resetKey}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:null,resetKey:e.resetKey}}componentDidCatch(e,t){console.error(`[plumix] plugin field renderer for "${this.props.inputType}" (field "${this.props.fieldKey}") crashed:`,e,t)}render(){return this.state.error?(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${this.props.testId}-plugin-error`,children:(0,U.jsx)(i,{id:`metaBox.pluginField.crashed`,message:`This field couldn’t render. Check the browser console for details.`})}):this.props.children}},K={selectIdle:{id:`metaBox.reference.selectIdle`},selectChange:{id:`metaBox.reference.selectChange`},clear:{id:`metaBox.reference.clear`},emptyValue:{id:`metaBox.reference.emptyValue`},orphan:{id:`metaBox.reference.orphan`},loading:{id:`metaBox.reference.loading`},noMatches:{id:`metaBox.reference.noMatches`},dialogDescription:{id:`metaBox.reference.dialogDescription`},searchPlaceholder:{id:`metaBox.reference.searchPlaceholder`}};function te({value:e,onChange:t,kind:n,scope:i,disabled:l=!1,required:u=!1,label:f,testId:p}){let{i18n:m}=r(),h=S(),g=V(),[_,v]=(0,H.useState)(!1),[y,b]=(0,H.useState)(``),x=a({...o.lookup.resolve.queryOptions({input:{kind:n,id:e??``,scope:i}}),enabled:e!==null}),C=a({...o.lookup.list.queryOptions({input:{kind:n,query:y.trim()||void 0,scope:i,limit:20}}),enabled:_}),w=e===null?null:x.data?.result??null,T=C.data?.items??[],E=m._(K.dialogDescription.id,{kind:n},{message:K.dialogDescription.message}),D=m._(K.searchPlaceholder.id,{kind:n},{message:K.searchPlaceholder.message});return(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":p,children:[(0,U.jsx)(`div`,{className:`min-w-0 flex-1`,children:ne({testId:p,value:e,selected:w,isResolving:x.isLoading,untitledLabel:g})}),(0,U.jsx)(A,{type:`button`,variant:`outline`,size:`sm`,disabled:l,onClick:()=>{b(``),v(!0)},"data-testid":`${p}-open`,children:h(e===null?K.selectIdle:K.selectChange)}),e!==null&&!u?(0,U.jsx)(A,{type:`button`,variant:`ghost`,size:`sm`,disabled:l,onClick:()=>{t(null)},"data-testid":`${p}-clear`,children:h(K.clear)}):null,(0,U.jsxs)(s,{open:_,onOpenChange:v,title:f,description:E,children:[(0,U.jsx)(c,{placeholder:D,value:y,onValueChange:b,"data-testid":`${p}-search`}),(0,U.jsx)(d,{children:re({isLoading:C.isLoading,items:T,testId:p,onSelect:e=>{t(e),v(!1)},untitledLabel:g})})]})]})}function ne({testId:e,value:t,selected:n,isResolving:r,untitledLabel:a}){return t===null?(0,U.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${e}-empty`,children:(0,U.jsx)(i,{id:`metaBox.reference.emptyValue`,message:`None selected`})}):n?(0,U.jsxs)(`div`,{className:`text-sm`,"data-testid":`${e}-selected`,children:[(0,U.jsx)(`p`,{className:`truncate font-medium`,children:a(n.label,n.targetType)}),n.subtitle?(0,U.jsx)(`p`,{className:`text-muted-foreground truncate text-xs`,children:n.subtitle}):null]}):r?(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${e}-resolving`,"aria-busy":`true`,children:[(0,U.jsx)(T,{className:`h-4 w-32`}),(0,U.jsx)(T,{className:`h-3 w-20`})]}):(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${e}-orphan`,children:(0,U.jsx)(i,{id:`metaBox.reference.orphan`,message:`Reference missing — re-pick or clear`})})}function re({isLoading:e,items:t,testId:n,onSelect:r,untitledLabel:a}){return e?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.reference.loading`,message:`Loading…`})}):t.length===0?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.reference.noMatches`,message:`No matches`})}):t.map(e=>(0,U.jsx)(l,{value:`${e.label??``} ${e.subtitle??``}`,onSelect:()=>{r(e.id)},"data-testid":`${n}-option-${e.id}`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,U.jsx)(`span`,{className:`text-sm font-medium`,children:a(e.label,e.targetType)}),e.subtitle?(0,U.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.subtitle}):null]})},e.id))}function ie(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}function ae({field:e,rhf:t,disabled:n,testId:r}){let a=e.subFields??[],o=typeof e.max==`number`?e.max:void 0,s=typeof e.min==`number`?e.min:void 0,c=ie(t.value),l=(0,H.useId)(),u=o!==void 0&&c.length>=o,d=c.map((e,t)=>({id:`${l}-r${t}`,index:t})),f=e=>{t.onChange(e)};return(0,U.jsxs)(`div`,{"data-testid":r,className:`border-input flex flex-col gap-2 rounded-md border p-2`,children:[c.length===0?(0,U.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${r}-empty`,children:(0,U.jsx)(i,{id:`metaBox.repeater.empty`,message:`No rows`})}):(0,U.jsx)(v,{items:d,onReorder:e=>{f(e.map(e=>c[e.index]??{}))},onRemove:n?void 0:e=>{let t=d.findIndex(t=>t.id===e);if(t===-1)return;let n=[...c];n.splice(t,1),f(n)},disabled:n,testId:`${r}-list`,renderItem:e=>(0,U.jsx)(se,{subFields:a,rowName:`${t.name}.${e.index}`,disabled:n,testId:`${r}-row-${e.index}`})}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(A,{type:`button`,variant:`outline`,size:`sm`,disabled:n||u,onClick:()=>{if(u)return;let e={};for(let t of a)e[t.key]=t.default??null;f([...c,e])},"data-testid":`${r}-add`,children:[(0,U.jsx)(g,{className:`size-4`}),c.length===0?(0,U.jsx)(i,{id:`metaBox.repeater.addFirst`,message:`Add row`}):(0,U.jsx)(i,{id:`metaBox.repeater.addAnother`,message:`Add another`})]}),o!==void 0||s!==void 0?(0,U.jsxs)(`span`,{className:`text-muted-foreground text-xs`,"data-testid":`${r}-count`,children:[c.length,(0,U.jsx)(oe,{min:s,max:o})]}):null]})]})}function oe({min:e,max:t}){return e!==void 0&&t!==void 0?(0,U.jsx)(i,{id:`metaBox.repeater.countSuffixBoth`,message:` / min {min} / max {max}`,values:{min:e,max:t},comment:`min, max: integers bounding the repeater row count`}):e===void 0?t===void 0?null:(0,U.jsx)(i,{id:`metaBox.repeater.countSuffixMax`,message:` / max {max}`,values:{max:t},comment:`max: upper bound on the repeater row count`}):(0,U.jsx)(i,{id:`metaBox.repeater.countSuffixMin`,message:` / min {min}`,values:{min:e},comment:`min: lower bound on the repeater row count`})}function se({subFields:e,rowName:t,disabled:n,testId:r}){return(0,U.jsx)(`div`,{className:`flex flex-col gap-2`,"data-testid":r,children:e.map(e=>(0,U.jsx)(q,{field:e,name:`${t}.${e.key}`,disabled:n},e.key))})}var ce={invalidJson:{id:`metaBox.field.json.invalid`}};function q({field:e,name:t,disabled:n=!1,className:r}){let i=S(),a=i(e.label),o=`meta-box-field-${e.key}`,s=`${o}-input`;return(0,U.jsx)(I,{name:t,render:({field:t})=>e.inputType===`checkbox`?(0,U.jsxs)(F,{className:r,"data-testid":o,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(L,{children:(0,U.jsx)(h,{name:t.name,checked:t.value===!0,required:e.required,disabled:n,onBlur:t.onBlur,onCheckedChange:e=>{t.onChange(e===!0)},"data-testid":s})}),(0,U.jsx)(R,{children:a})]}),e.description?(0,U.jsx)(z,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,U.jsx)(B,{})]}):e.inputType===`select`&&N(e.inputType)===void 0?(0,U.jsxs)(F,{className:r,"data-testid":o,children:[(0,U.jsx)(R,{children:a}),(0,U.jsxs)(k,{name:t.name,value:Y($(t.value)),onValueChange:e=>{t.onChange(le(e))},disabled:n,required:e.required,children:[(0,U.jsx)(L,{children:(0,U.jsx)(O,{className:`w-full`,onBlur:t.onBlur,"data-testid":s,children:(0,U.jsx)(M,{})})}),(0,U.jsx)(E,{children:(e.options??[]).map(e=>(0,U.jsx)(D,{value:Y(e.value),"data-testid":`${s}-option-${e.value}`,children:i(e.label)},e.value))})]}),e.description?(0,U.jsx)(z,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,U.jsx)(B,{})]}):(0,U.jsxs)(F,{className:r,"data-testid":o,children:[(0,U.jsx)(R,{children:a}),(0,U.jsx)(L,{children:Se({field:e,rhf:t,disabled:n,testId:s,renderLabel:i})}),e.description?(0,U.jsx)(z,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,U.jsx)(B,{})]})})}var J=`__plumix_empty__`;function Y(e){return e===``?J:e}function le(e){return e===J?``:e}function X({rhf:e,field:t,disabled:n,testId:r}){return{name:e.name,ref:e.ref,required:t.required,disabled:n,onBlur:e.onBlur,"data-testid":r}}function Z({field:e,renderLabel:t}){return e.placeholder?t(e.placeholder):void 0}function ue(e){let{field:t,rhf:n}=e,r=Z(e);return(0,U.jsx)(m,{...X(e),value:$(n.value),maxLength:t.maxLength,placeholder:r,rows:3,onChange:e=>{n.onChange(e.target.value)},className:`min-h-20`})}function de(e){let{field:t,rhf:n}=e,r=Z(e);return(0,U.jsx)(P,{...X(e),type:`number`,value:Ce(n.value),placeholder:r,min:t.min,max:t.max,step:t.step??1,onChange:e=>{let t=e.target.value;if(t===``){n.onChange(null);return}let r=Number(t);Number.isFinite(r)&&n.onChange(r)}})}function fe({field:e,rhf:t,disabled:n,testId:r}){return(0,U.jsx)(_,{value:$(t.value),onChange:e=>{t.onChange(e)},disabled:n,required:e.required,name:t.name,testId:r})}function pe({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label),o=typeof t.value==`number`?t.value:Number(t.value),s=we(e.min,0),c=we(e.max,100),l=Number.isFinite(o)?o:s;return(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,"data-testid":r,children:[(0,U.jsx)(x,{name:t.name,min:s,max:c,step:e.step??1,value:[l],disabled:n,onValueChange:e=>{let n=e[0];typeof n==`number`&&Number.isFinite(n)&&t.onChange(n)},onBlur:t.onBlur,"aria-label":a,"aria-required":e.required,"data-testid":`${r}-slider`,className:`flex-1`}),(0,U.jsx)(`span`,{className:`text-muted-foreground min-w-[3ch] text-end text-sm tabular-nums`,"data-testid":`${r}-display`,children:Number.isFinite(o)?o:`–`})]})}function me({field:e,rhf:t,disabled:n,testId:r}){return(0,U.jsx)(ae,{field:e,rhf:t,disabled:n,testId:r})}function he({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label);return(0,U.jsx)(b,{type:`multiple`,variant:`outline`,spacing:1,value:Array.isArray(t.value)?t.value.filter(e=>typeof e==`string`):[],disabled:n,onValueChange:e=>{t.onChange(e)},onBlur:t.onBlur,"aria-label":a,"data-testid":r,children:(e.options??[]).map(e=>(0,U.jsx)(y,{value:e.value,"data-testid":`${r}-${e.value}`,children:i(e.label)},e.value))})}function ge({rhf:e,disabled:t,testId:n}){return(0,U.jsx)(Te,{value:e.value,onChange:e.onChange,onBlur:e.onBlur,name:e.name,disabled:t,testId:n})}function _e({field:e,rhf:t,disabled:n,renderLabel:r}){return(0,U.jsx)(m,{className:`font-mono text-xs`,value:typeof t.value==`string`?t.value:JSON.stringify(t.value),onChange:e=>t.onChange(e.target.value),disabled:n,"aria-label":r(e.label),"data-testid":`meta-box-field-${e.key}-input`})}function Q(e){let{field:t,rhf:n}=e,r=t.inputType===`datetime`?`datetime-local`:t.inputType;return(0,U.jsx)(P,{...X(e),type:r,value:$(n.value),min:t.min,max:t.max,onChange:e=>{let t=e.target.value;n.onChange(t===``?null:t)}})}function ve({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label);return(0,U.jsx)(f,{name:t.name,value:Y($(t.value)),onValueChange:e=>{t.onChange(le(e))},onBlur:t.onBlur,disabled:n,required:e.required,"aria-label":a,className:`gap-1`,"data-testid":r,children:(e.options??[]).map(e=>(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,U.jsx)(p,{value:Y(e.value),id:`${r}-${e.value}`,"data-testid":`${r}-${e.value}`}),(0,U.jsx)(`label`,{htmlFor:`${r}-${e.value}`,children:i(e.label)})]},e.value))})}function ye(e){let{field:t,rhf:n}=e,r=Z(e);t.inputType!==`text`&&t.inputType!==`email`&&t.inputType!==`url`&&t.inputType!==`password`&&console.warn(`[plumix] unknown meta-box field inputType "${t.inputType}" — falling back to text input. Register a custom renderer or use a built-in type (text/textarea/number/email/url/password/date/datetime/time/color/range/multiselect/json/richtext/repeater/user/userList/entry/entryList/term/termList/select/radio/checkbox).`);let i=t.inputType===`email`||t.inputType===`url`||t.inputType===`password`?t.inputType:`text`;return(0,U.jsx)(P,{...X(e),type:i,value:$(n.value),placeholder:r,maxLength:t.maxLength,onChange:e=>{n.onChange(e.target.value)}})}var be={textarea:ue,number:de,color:fe,range:pe,repeater:me},xe={multiselect:he,json:ge,richtext:_e,date:Q,datetime:Q,time:Q,radio:ve};function Se(e){let{field:t,rhf:n,disabled:r,testId:i,renderLabel:a}=e,o=a(t.label),s=N(t.inputType);if(s)return(0,U.jsx)(ee,{fieldKey:t.key,inputType:t.inputType,testId:i,resetKey:De(n.value),children:(0,U.jsx)(s,{field:t,rhf:n,disabled:r,testId:i})});let c=be[t.inputType];if(c)return c(e);if(t.referenceTarget?.multiple===!0)return(0,U.jsx)(G,{value:Array.isArray(n.value)?n.value.filter(e=>typeof e==`string`):[],onChange:e=>{n.onChange(e)},kind:t.referenceTarget.kind,scope:t.referenceTarget.scope,max:typeof t.max==`number`?t.max:void 0,disabled:r,required:t.required,label:o,testId:i});if(t.referenceTarget&&(t.inputType===`user`||t.inputType===`entry`||t.inputType===`term`))return(0,U.jsx)(te,{value:typeof n.value==`string`&&n.value!==``?n.value:null,onChange:e=>{n.onChange(e)},kind:t.referenceTarget.kind,scope:t.referenceTarget.scope,disabled:r,required:t.required,label:o,testId:i});let l=xe[t.inputType];return l?l(e):ye(e)}function $(e){return e==null?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):``}function Ce(e){return typeof e==`number`&&!Number.isNaN(e)?e:``}function we(e,t){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t}return t}function Te({value:e,onChange:t,onBlur:n,name:r,disabled:i,testId:a}){let o=S(),s=Ee(e),[c,l]=(0,H.useState)(s),[u,d]=(0,H.useState)(null),[f,p]=(0,H.useState)(s);return s!==f&&(p(s),l(s),d(null)),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,"data-testid":`${a}-shell`,children:[(0,U.jsx)(m,{name:r,value:c,disabled:i,onBlur:n,onChange:e=>{let n=e.target.value;if(l(n),n.trim()===``){d(null),t(null);return}try{let e=JSON.parse(n);d(null),t(e)}catch(e){d(e instanceof Error?e.message:o(ce.invalidJson))}},rows:6,spellCheck:!1,"aria-invalid":u?!0:void 0,"data-testid":a,className:`min-h-32 font-mono text-xs`}),u?(0,U.jsx)(`p`,{className:`text-destructive text-xs`,"data-testid":`${a}-error`,children:u}):null]})}function Ee(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return``}}function De(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return`__unserializable__`}}export{q as t};
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{i as r,n as i}from"./dist-BL2bKHuR.js";import{f as a,t as o}from"./orpc-DURDArDu.js";import{c as s,d as c,f as l,l as u,p as d}from"./breadcrumb-BV7HWDmi.js";import{n as f,r as p,t as m}from"./textarea-BsZaGkV-.js";import{M as h,X as g,j as _,m as v,n as y,t as b,w as x}from"./utils-BtfRir_X.js";import{t as S}from"./use-label-CykSHq9A.js";import{i as C,t as w}from"./type-labels-DEpt0nSb.js";import{t as T}from"./skeleton-BnBM1862.js";import{F as E,I as D,L as O,P as k,Pt as A,Q as j,R as M,u as N}from"./index-8CVr3Qp5.js";import{t as P}from"./input-xYuLUQID.js";import{a as F,i as I,n as L,o as R,r as z,s as B}from"./form-5CBmFjhZ.js";function V(){let e=S();return(t,n)=>{if(t!==null)return t;if(n!==void 0){let t=j(n);if(t)return e(w(t,`untitledItem`))}return e(C.untitledItem)}}var H=e(n(),1),U=e(t(),1),W={resolveError:{id:`metaBox.multiReference.resolveError`},emptyValue:{id:`metaBox.multiReference.emptyValue`},orphan:{id:`metaBox.multiReference.orphan`},selectIdle:{id:`metaBox.multiReference.selectIdle`},addMore:{id:`metaBox.multiReference.addMore`},loading:{id:`metaBox.multiReference.loading`},noMatches:{id:`metaBox.multiReference.noMatches`},dialogDescription:{id:`metaBox.multiReference.dialogDescription`},searchPlaceholder:{id:`metaBox.multiReference.searchPlaceholder`}};function G({value:e,onChange:t,kind:n,scope:f,max:p,disabled:m=!1,required:h=!1,label:g,testId:_}){let{i18n:y}=r(),b=S(),x=V(),[C,w]=(0,H.useState)(!1),[E,D]=(0,H.useState)(``),O=a({...o.lookup.list.queryOptions({input:{kind:n,scope:f,ids:[...e]}}),enabled:e.length>0}),k=(0,H.useMemo)(()=>{let e=new Map;for(let t of O.data?.items??[])e.set(t.id,t);return e},[O.data]),j=a({...o.lookup.list.queryOptions({input:{kind:n,query:E.trim()||void 0,scope:f,limit:20}}),enabled:C}),M=j.data?.items??[],N=new Set(e),P=p!==void 0&&e.length>=p,F=n=>{N.has(n)||P||t([...e,n])},I=n=>{t(e.filter(e=>e!==n))},L=e=>{t(e.map(e=>e.id))},R=e.length>0&&O.data===void 0&&!O.isError,z=e.map(e=>{let t=k.get(e)??null;return{id:e,result:t,pending:t===null&&R}}),B=y._(W.dialogDescription.id,{kind:n},{message:W.dialogDescription.message}),G=y._(W.searchPlaceholder.id,{kind:n},{message:W.searchPlaceholder.message});return(0,U.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":_,children:[O.isError?(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${_}-resolve-error`,children:(0,U.jsx)(i,{id:`metaBox.multiReference.resolveError`,message:`Couldn’t load selected items — refresh to retry.`})}):null,e.length===0?(0,U.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${_}-empty`,children:(0,U.jsx)(i,{id:`metaBox.multiReference.emptyValue`,message:`None selected`})}):(0,U.jsx)(v,{items:z,onReorder:L,onRemove:h&&e.length===1?void 0:I,renderItem:e=>e.result?(0,U.jsxs)(`div`,{className:`text-sm`,children:[(0,U.jsx)(`p`,{className:`truncate font-medium`,children:x(e.result.label,e.result.targetType)}),e.result.subtitle?(0,U.jsx)(`p`,{className:`text-muted-foreground truncate text-xs`,children:e.result.subtitle}):null]}):e.pending?(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${_}-resolving-${e.id}`,"aria-busy":`true`,children:[(0,U.jsx)(T,{className:`h-4 w-32`}),(0,U.jsx)(T,{className:`h-3 w-20`})]}):(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${_}-orphan-${e.id}`,children:(0,U.jsx)(i,{id:`metaBox.multiReference.orphan`,message:`Reference missing — remove or re-pick`})}),disabled:m,testId:`${_}-list`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(A,{type:`button`,variant:`outline`,size:`sm`,disabled:m||P,onClick:()=>{D(``),w(!0)},"data-testid":`${_}-add`,children:e.length===0?b(W.selectIdle):b(W.addMore)}),p===void 0?null:(0,U.jsxs)(`span`,{className:`text-muted-foreground text-xs`,"data-testid":`${_}-count`,children:[e.length,` / `,p]})]}),(0,U.jsxs)(s,{open:C,onOpenChange:w,title:g,description:B,children:[(0,U.jsx)(c,{placeholder:G,value:E,onValueChange:D,"data-testid":`${_}-search`}),(0,U.jsx)(d,{children:j.isLoading?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.multiReference.loading`,message:`Loading…`})}):M.length===0?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.multiReference.noMatches`,message:`No matches`})}):M.map(e=>{let t=N.has(e.id);return(0,U.jsx)(l,{value:`${e.label??``} ${e.subtitle??``}`,disabled:t||P,onSelect:()=>{F(e.id)},"data-testid":`${_}-option-${e.id}`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,U.jsxs)(`span`,{className:`text-sm font-medium`,children:[x(e.label,e.targetType),t?` ✓`:``]}),e.subtitle?(0,U.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.subtitle}):null]})},e.id)})})]})]})}var ee=class extends H.Component{constructor(e){super(e),this.state={error:null,resetKey:e.resetKey}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return e.resetKey===t.resetKey?null:{error:null,resetKey:e.resetKey}}componentDidCatch(e,t){console.error(`[plumix] plugin field renderer for "${this.props.inputType}" (field "${this.props.fieldKey}") crashed:`,e,t)}render(){return this.state.error?(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${this.props.testId}-plugin-error`,children:(0,U.jsx)(i,{id:`metaBox.pluginField.crashed`,message:`This field couldn’t render. Check the browser console for details.`})}):this.props.children}},K={selectIdle:{id:`metaBox.reference.selectIdle`},selectChange:{id:`metaBox.reference.selectChange`},clear:{id:`metaBox.reference.clear`},emptyValue:{id:`metaBox.reference.emptyValue`},orphan:{id:`metaBox.reference.orphan`},loading:{id:`metaBox.reference.loading`},noMatches:{id:`metaBox.reference.noMatches`},dialogDescription:{id:`metaBox.reference.dialogDescription`},searchPlaceholder:{id:`metaBox.reference.searchPlaceholder`}};function te({value:e,onChange:t,kind:n,scope:i,disabled:l=!1,required:u=!1,label:f,testId:p}){let{i18n:m}=r(),h=S(),g=V(),[_,v]=(0,H.useState)(!1),[y,b]=(0,H.useState)(``),x=a({...o.lookup.resolve.queryOptions({input:{kind:n,id:e??``,scope:i}}),enabled:e!==null}),C=a({...o.lookup.list.queryOptions({input:{kind:n,query:y.trim()||void 0,scope:i,limit:20}}),enabled:_}),w=e===null?null:x.data?.result??null,T=C.data?.items??[],E=m._(K.dialogDescription.id,{kind:n},{message:K.dialogDescription.message}),D=m._(K.searchPlaceholder.id,{kind:n},{message:K.searchPlaceholder.message});return(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":p,children:[(0,U.jsx)(`div`,{className:`min-w-0 flex-1`,children:ne({testId:p,value:e,selected:w,isResolving:x.isLoading,untitledLabel:g})}),(0,U.jsx)(A,{type:`button`,variant:`outline`,size:`sm`,disabled:l,onClick:()=>{b(``),v(!0)},"data-testid":`${p}-open`,children:h(e===null?K.selectIdle:K.selectChange)}),e!==null&&!u?(0,U.jsx)(A,{type:`button`,variant:`ghost`,size:`sm`,disabled:l,onClick:()=>{t(null)},"data-testid":`${p}-clear`,children:h(K.clear)}):null,(0,U.jsxs)(s,{open:_,onOpenChange:v,title:f,description:E,children:[(0,U.jsx)(c,{placeholder:D,value:y,onValueChange:b,"data-testid":`${p}-search`}),(0,U.jsx)(d,{children:re({isLoading:C.isLoading,items:T,testId:p,onSelect:e=>{t(e),v(!1)},untitledLabel:g})})]})]})}function ne({testId:e,value:t,selected:n,isResolving:r,untitledLabel:a}){return t===null?(0,U.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${e}-empty`,children:(0,U.jsx)(i,{id:`metaBox.reference.emptyValue`,message:`None selected`})}):n?(0,U.jsxs)(`div`,{className:`text-sm`,"data-testid":`${e}-selected`,children:[(0,U.jsx)(`p`,{className:`truncate font-medium`,children:a(n.label,n.targetType)}),n.subtitle?(0,U.jsx)(`p`,{className:`text-muted-foreground truncate text-xs`,children:n.subtitle}):null]}):r?(0,U.jsxs)(`div`,{className:`flex flex-col gap-1.5`,"data-testid":`${e}-resolving`,"aria-busy":`true`,children:[(0,U.jsx)(T,{className:`h-4 w-32`}),(0,U.jsx)(T,{className:`h-3 w-20`})]}):(0,U.jsx)(`p`,{className:`text-destructive text-sm`,"data-testid":`${e}-orphan`,children:(0,U.jsx)(i,{id:`metaBox.reference.orphan`,message:`Reference missing — re-pick or clear`})})}function re({isLoading:e,items:t,testId:n,onSelect:r,untitledLabel:a}){return e?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.reference.loading`,message:`Loading…`})}):t.length===0?(0,U.jsx)(u,{children:(0,U.jsx)(i,{id:`metaBox.reference.noMatches`,message:`No matches`})}):t.map(e=>(0,U.jsx)(l,{value:`${e.label??``} ${e.subtitle??``}`,onSelect:()=>{r(e.id)},"data-testid":`${n}-option-${e.id}`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,U.jsx)(`span`,{className:`text-sm font-medium`,children:a(e.label,e.targetType)}),e.subtitle?(0,U.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.subtitle}):null]})},e.id))}function ie(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)):[]}function ae({field:e,rhf:t,disabled:n,testId:r}){let a=e.subFields??[],o=typeof e.max==`number`?e.max:void 0,s=typeof e.min==`number`?e.min:void 0,c=ie(t.value),l=(0,H.useId)(),u=o!==void 0&&c.length>=o,d=c.map((e,t)=>({id:`${l}-r${t}`,index:t})),f=e=>{t.onChange(e)};return(0,U.jsxs)(`div`,{"data-testid":r,className:`border-input flex flex-col gap-2 rounded-md border p-2`,children:[c.length===0?(0,U.jsx)(`p`,{className:`text-muted-foreground text-sm`,"data-testid":`${r}-empty`,children:(0,U.jsx)(i,{id:`metaBox.repeater.empty`,message:`No rows`})}):(0,U.jsx)(v,{items:d,onReorder:e=>{f(e.map(e=>c[e.index]??{}))},onRemove:n?void 0:e=>{let t=d.findIndex(t=>t.id===e);if(t===-1)return;let n=[...c];n.splice(t,1),f(n)},disabled:n,testId:`${r}-list`,renderItem:e=>(0,U.jsx)(se,{subFields:a,rowName:`${t.name}.${e.index}`,disabled:n,testId:`${r}-row-${e.index}`})}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(A,{type:`button`,variant:`outline`,size:`sm`,disabled:n||u,onClick:()=>{if(u)return;let e={};for(let t of a)e[t.key]=t.default??null;f([...c,e])},"data-testid":`${r}-add`,children:[(0,U.jsx)(g,{className:`size-4`}),c.length===0?(0,U.jsx)(i,{id:`metaBox.repeater.addFirst`,message:`Add row`}):(0,U.jsx)(i,{id:`metaBox.repeater.addAnother`,message:`Add another`})]}),o!==void 0||s!==void 0?(0,U.jsxs)(`span`,{className:`text-muted-foreground text-xs`,"data-testid":`${r}-count`,children:[c.length,(0,U.jsx)(oe,{min:s,max:o})]}):null]})]})}function oe({min:e,max:t}){return e!==void 0&&t!==void 0?(0,U.jsx)(i,{id:`metaBox.repeater.countSuffixBoth`,message:` / min {min} / max {max}`,values:{min:e,max:t},comment:`min, max: integers bounding the repeater row count`}):e===void 0?t===void 0?null:(0,U.jsx)(i,{id:`metaBox.repeater.countSuffixMax`,message:` / max {max}`,values:{max:t},comment:`max: upper bound on the repeater row count`}):(0,U.jsx)(i,{id:`metaBox.repeater.countSuffixMin`,message:` / min {min}`,values:{min:e},comment:`min: lower bound on the repeater row count`})}function se({subFields:e,rowName:t,disabled:n,testId:r}){return(0,U.jsx)(`div`,{className:`flex flex-col gap-2`,"data-testid":r,children:e.map(e=>(0,U.jsx)(q,{field:e,name:`${t}.${e.key}`,disabled:n},e.key))})}var ce={invalidJson:{id:`metaBox.field.json.invalid`}};function q({field:e,name:t,disabled:n=!1,className:r}){let i=S(),a=i(e.label),o=`meta-box-field-${e.key}`,s=`${o}-input`;return(0,U.jsx)(I,{name:t,render:({field:t})=>e.inputType===`checkbox`?(0,U.jsxs)(F,{className:r,"data-testid":o,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(L,{children:(0,U.jsx)(h,{name:t.name,checked:t.value===!0,required:e.required,disabled:n,onBlur:t.onBlur,onCheckedChange:e=>{t.onChange(e===!0)},"data-testid":s})}),(0,U.jsx)(R,{children:a})]}),e.description?(0,U.jsx)(z,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,U.jsx)(B,{})]}):e.inputType===`select`&&N(e.inputType)===void 0?(0,U.jsxs)(F,{className:r,"data-testid":o,children:[(0,U.jsx)(R,{children:a}),(0,U.jsxs)(k,{name:t.name,value:Y($(t.value)),onValueChange:e=>{t.onChange(le(e))},disabled:n,required:e.required,children:[(0,U.jsx)(L,{children:(0,U.jsx)(O,{className:`w-full`,onBlur:t.onBlur,"data-testid":s,children:(0,U.jsx)(M,{})})}),(0,U.jsx)(E,{children:(e.options??[]).map(e=>(0,U.jsx)(D,{value:Y(e.value),"data-testid":`${s}-option-${e.value}`,children:i(e.label)},e.value))})]}),e.description?(0,U.jsx)(z,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,U.jsx)(B,{})]}):(0,U.jsxs)(F,{className:r,"data-testid":o,children:[(0,U.jsx)(R,{children:a}),(0,U.jsx)(L,{children:Se({field:e,rhf:t,disabled:n,testId:s,renderLabel:i})}),e.description?(0,U.jsx)(z,{"data-testid":`${o}-description`,children:i(e.description)}):null,(0,U.jsx)(B,{})]})})}var J=`__plumix_empty__`;function Y(e){return e===``?J:e}function le(e){return e===J?``:e}function X({rhf:e,field:t,disabled:n,testId:r}){return{name:e.name,ref:e.ref,required:t.required,disabled:n,onBlur:e.onBlur,"data-testid":r}}function Z({field:e,renderLabel:t}){return e.placeholder?t(e.placeholder):void 0}function ue(e){let{field:t,rhf:n}=e,r=Z(e);return(0,U.jsx)(m,{...X(e),value:$(n.value),maxLength:t.maxLength,placeholder:r,rows:3,onChange:e=>{n.onChange(e.target.value)},className:`min-h-20`})}function de(e){let{field:t,rhf:n}=e,r=Z(e);return(0,U.jsx)(P,{...X(e),type:`number`,value:Ce(n.value),placeholder:r,min:t.min,max:t.max,step:t.step??1,onChange:e=>{let t=e.target.value;if(t===``){n.onChange(null);return}let r=Number(t);Number.isFinite(r)&&n.onChange(r)}})}function fe({field:e,rhf:t,disabled:n,testId:r}){return(0,U.jsx)(_,{value:$(t.value),onChange:e=>{t.onChange(e)},disabled:n,required:e.required,name:t.name,testId:r})}function pe({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label),o=typeof t.value==`number`?t.value:Number(t.value),s=we(e.min,0),c=we(e.max,100),l=Number.isFinite(o)?o:s;return(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,"data-testid":r,children:[(0,U.jsx)(x,{name:t.name,min:s,max:c,step:e.step??1,value:[l],disabled:n,onValueChange:e=>{let n=e[0];typeof n==`number`&&Number.isFinite(n)&&t.onChange(n)},onBlur:t.onBlur,"aria-label":a,"aria-required":e.required,"data-testid":`${r}-slider`,className:`flex-1`}),(0,U.jsx)(`span`,{className:`text-muted-foreground min-w-[3ch] text-end text-sm tabular-nums`,"data-testid":`${r}-display`,children:Number.isFinite(o)?o:`–`})]})}function me({field:e,rhf:t,disabled:n,testId:r}){return(0,U.jsx)(ae,{field:e,rhf:t,disabled:n,testId:r})}function he({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label);return(0,U.jsx)(b,{type:`multiple`,variant:`outline`,spacing:1,value:Array.isArray(t.value)?t.value.filter(e=>typeof e==`string`):[],disabled:n,onValueChange:e=>{t.onChange(e)},onBlur:t.onBlur,"aria-label":a,"data-testid":r,children:(e.options??[]).map(e=>(0,U.jsx)(y,{value:e.value,"data-testid":`${r}-${e.value}`,children:i(e.label)},e.value))})}function ge({rhf:e,disabled:t,testId:n}){return(0,U.jsx)(Te,{value:e.value,onChange:e.onChange,onBlur:e.onBlur,name:e.name,disabled:t,testId:n})}function _e({field:e,rhf:t,disabled:n,renderLabel:r}){return(0,U.jsx)(m,{className:`font-mono text-xs`,value:typeof t.value==`string`?t.value:JSON.stringify(t.value),onChange:e=>t.onChange(e.target.value),disabled:n,"aria-label":r(e.label),"data-testid":`meta-box-field-${e.key}-input`})}function Q(e){let{field:t,rhf:n}=e,r=t.inputType===`datetime`?`datetime-local`:t.inputType;return(0,U.jsx)(P,{...X(e),type:r,value:$(n.value),min:t.min,max:t.max,onChange:e=>{let t=e.target.value;n.onChange(t===``?null:t)}})}function ve({field:e,rhf:t,disabled:n,testId:r,renderLabel:i}){let a=i(e.label);return(0,U.jsx)(f,{name:t.name,value:Y($(t.value)),onValueChange:e=>{t.onChange(le(e))},onBlur:t.onBlur,disabled:n,required:e.required,"aria-label":a,className:`gap-1`,"data-testid":r,children:(e.options??[]).map(e=>(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,U.jsx)(p,{value:Y(e.value),id:`${r}-${e.value}`,"data-testid":`${r}-${e.value}`}),(0,U.jsx)(`label`,{htmlFor:`${r}-${e.value}`,children:i(e.label)})]},e.value))})}function ye(e){let{field:t,rhf:n}=e,r=Z(e);t.inputType!==`text`&&t.inputType!==`email`&&t.inputType!==`url`&&t.inputType!==`password`&&console.warn(`[plumix] unknown meta-box field inputType "${t.inputType}" — falling back to text input. Register a custom renderer or use a built-in type (text/textarea/number/email/url/password/date/datetime/time/color/range/multiselect/json/richtext/repeater/user/userList/entry/entryList/term/termList/select/radio/checkbox).`);let i=t.inputType===`email`||t.inputType===`url`||t.inputType===`password`?t.inputType:`text`;return(0,U.jsx)(P,{...X(e),type:i,value:$(n.value),placeholder:r,maxLength:t.maxLength,onChange:e=>{n.onChange(e.target.value)}})}var be={textarea:ue,number:de,color:fe,range:pe,repeater:me},xe={multiselect:he,json:ge,richtext:_e,date:Q,datetime:Q,time:Q,radio:ve};function Se(e){let{field:t,rhf:n,disabled:r,testId:i,renderLabel:a}=e,o=a(t.label),s=N(t.inputType);if(s)return(0,U.jsx)(ee,{fieldKey:t.key,inputType:t.inputType,testId:i,resetKey:De(n.value),children:(0,U.jsx)(s,{field:t,rhf:n,disabled:r,testId:i})});let c=be[t.inputType];if(c)return c(e);if(t.referenceTarget?.multiple===!0)return(0,U.jsx)(G,{value:Array.isArray(n.value)?n.value.filter(e=>typeof e==`string`):[],onChange:e=>{n.onChange(e)},kind:t.referenceTarget.kind,scope:t.referenceTarget.scope,max:typeof t.max==`number`?t.max:void 0,disabled:r,required:t.required,label:o,testId:i});if(t.referenceTarget&&(t.inputType===`user`||t.inputType===`entry`||t.inputType===`term`))return(0,U.jsx)(te,{value:typeof n.value==`string`&&n.value!==``?n.value:null,onChange:e=>{n.onChange(e)},kind:t.referenceTarget.kind,scope:t.referenceTarget.scope,disabled:r,required:t.required,label:o,testId:i});let l=xe[t.inputType];return l?l(e):ye(e)}function $(e){return e==null?``:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):``}function Ce(e){return typeof e==`number`&&!Number.isNaN(e)?e:``}function we(e,t){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`){let t=Number(e);if(Number.isFinite(t))return t}return t}function Te({value:e,onChange:t,onBlur:n,name:r,disabled:i,testId:a}){let o=S(),s=Ee(e),[c,l]=(0,H.useState)(s),[u,d]=(0,H.useState)(null),[f,p]=(0,H.useState)(s);return s!==f&&(p(s),l(s),d(null)),(0,U.jsxs)(`div`,{className:`flex flex-col gap-1`,"data-testid":`${a}-shell`,children:[(0,U.jsx)(m,{name:r,value:c,disabled:i,onBlur:n,onChange:e=>{let n=e.target.value;if(l(n),n.trim()===``){d(null),t(null);return}try{let e=JSON.parse(n);d(null),t(e)}catch(e){d(e instanceof Error?e.message:o(ce.invalidJson))}},rows:6,spellCheck:!1,"aria-invalid":u?!0:void 0,"data-testid":a,className:`min-h-32 font-mono text-xs`}),u?(0,U.jsx)(`p`,{className:`text-destructive text-xs`,"data-testid":`${a}-error`,children:u}):null]})}function Ee(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return``}}function De(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e)}catch{return`__unserializable__`}}export{q as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./utils-DKOQrNEG.js";import"./utils-
|
|
1
|
+
import{t as e}from"./utils-DKOQrNEG.js";import"./utils-BtfRir_X.js";var t={1:`col-span-1`,2:`col-span-2`,3:`col-span-3`,4:`col-span-4`,5:`col-span-5`,6:`col-span-6`,7:`col-span-7`,8:`col-span-8`,9:`col-span-9`,10:`col-span-10`,11:`col-span-11`,12:`col-span-12`},n={1:`@sm:col-span-1`,2:`@sm:col-span-2`,3:`@sm:col-span-3`,4:`@sm:col-span-4`,5:`@sm:col-span-5`,6:`@sm:col-span-6`,7:`@sm:col-span-7`,8:`@sm:col-span-8`,9:`@sm:col-span-9`,10:`@sm:col-span-10`,11:`@sm:col-span-11`,12:`@sm:col-span-12`},r={1:`@md:col-span-1`,2:`@md:col-span-2`,3:`@md:col-span-3`,4:`@md:col-span-4`,5:`@md:col-span-5`,6:`@md:col-span-6`,7:`@md:col-span-7`,8:`@md:col-span-8`,9:`@md:col-span-9`,10:`@md:col-span-10`,11:`@md:col-span-11`,12:`@md:col-span-12`},i={1:`@lg:col-span-1`,2:`@lg:col-span-2`,3:`@lg:col-span-3`,4:`@lg:col-span-4`,5:`@lg:col-span-5`,6:`@lg:col-span-6`,7:`@lg:col-span-7`,8:`@lg:col-span-8`,9:`@lg:col-span-9`,10:`@lg:col-span-10`,11:`@lg:col-span-11`,12:`@lg:col-span-12`},a=12;function o(e){if(!Number.isFinite(e))return a;let t=Math.round(e);return t<1?1:t>12?12:t}function s(s){return typeof s==`number`?t[o(s)]:e(t[o(s?.base??a)],s?.sm!==void 0&&n[o(s.sm)],s?.md!==void 0&&r[o(s.md)],s?.lg!==void 0&&i[o(s.lg)])}export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{Et as r,Rt as i}from"./index-
|
|
1
|
+
import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-DbyrFoBd.js";import{Et as r,Rt as i}from"./index-8CVr3Qp5.js";import{n as a,t as o}from"./alert-cwX3fWUu.js";var s=e(n(),1),c=e(t(),1),l={unknownPlugin:{id:`plugin.errorBoundary.unknownPlugin`},pageTitle:{id:`plugin.errorBoundary.pageTitle`},pageBody:{id:`plugin.errorBoundary.pageBody`},widgetBody:{id:`plugin.errorBoundary.widgetBody`},inlineStub:{id:`plugin.errorBoundary.inlineStub`},iconAria:{id:`plugin.errorBoundary.iconAria`}},u=class extends s.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e){console.error(`[plumix] plugin component threw:`,e)}render(){if(this.state.error===null)return this.props.children;let{kind:e,pluginLabel:t}=this.props,n=this.state.error.message,s=t??i._(l.unknownPlugin);return e===`icon`?(0,c.jsx)(r,{"aria-label":i._(l.iconAria),className:`text-destructive`,"data-testid":`plugin-icon__error`}):e===`page`?(0,c.jsx)(`div`,{className:`mx-auto max-w-2xl py-12`,"data-testid":`plugin-page__error`,children:(0,c.jsxs)(o,{variant:`destructive`,children:[(0,c.jsx)(r,{className:`size-4`}),(0,c.jsxs)(a,{children:[(0,c.jsx)(`p`,{className:`font-semibold`,children:i._(l.pageTitle)}),(0,c.jsx)(`p`,{className:`mt-1`,children:i._(l.pageBody.id,{label:s},{message:l.pageBody.message})}),(0,c.jsx)(`pre`,{className:`bg-muted mt-2 overflow-x-auto rounded p-2 font-mono text-xs`,children:n})]})]})}):e===`widget`?(0,c.jsxs)(o,{variant:`destructive`,"data-testid":`plugin-widget__error`,children:[(0,c.jsx)(r,{className:`size-4`}),(0,c.jsx)(a,{children:i._(l.widgetBody.id,{label:s},{message:l.widgetBody.message})})]}):(0,c.jsxs)(`span`,{className:`border-destructive/50 bg-destructive/10 text-destructive inline-flex items-center gap-1 rounded border px-2 py-0.5 text-xs`,"data-testid":`plugin-${e}__error`,title:n,children:[(0,c.jsx)(r,{className:`size-3`}),i._(l.inlineStub.id,{label:s,kind:e},{message:l.inlineStub.message})]})}};export{u as t};
|