@protobase/ui 0.66.0 → 0.66.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 (23) hide show
  1. package/dist/app/import/csv-chunks.js +70 -0
  2. package/dist/app/import/line-breaks.js +47 -0
  3. package/dist/app/import/sheet-file.js +1 -1
  4. package/dist/package.js +1 -1
  5. package/dist/shell/assets/{app-CdLhzPaH.js → app-D-elg6qm.js} +5 -5
  6. package/dist/shell/assets/{calls-fbu88Iwx.js → calls-DHvl29Pd.js} +2 -2
  7. package/dist/shell/assets/{index-Du6GlNEk.js → index-D8SK4U2s.js} +2 -2
  8. package/dist/shell/assets/parse-worker-CbZA-uNr.js +35 -0
  9. package/dist/shell/assets/{records-map-C1_HI-hA.js → records-map-hxWNR_fi.js} +2 -2
  10. package/dist/shell/assets/{shared-protobase-ui-o_KsAqf7.js → shared-protobase-ui-7FTH3m59.js} +2 -2
  11. package/dist/shell/index.html +3 -3
  12. package/dist/shell/protobase.shell.json +2 -2
  13. package/dist/shell/protobase.sw.js +2 -2
  14. package/dist/shell-source-maps/assets/{app-CdLhzPaH.js.map → app-D-elg6qm.js.map} +1 -1
  15. package/dist/shell-source-maps/assets/{calls-fbu88Iwx.js.map → calls-DHvl29Pd.js.map} +1 -1
  16. package/dist/shell-source-maps/assets/{index-Du6GlNEk.js.map → index-D8SK4U2s.js.map} +1 -1
  17. package/dist/shell-source-maps/assets/parse-worker-CbZA-uNr.js.map +1 -0
  18. package/dist/shell-source-maps/assets/{records-map-C1_HI-hA.js.map → records-map-hxWNR_fi.js.map} +1 -1
  19. package/dist/shell-source-maps/assets/{shared-protobase-ui-o_KsAqf7.js.map → shared-protobase-ui-7FTH3m59.js.map} +1 -1
  20. package/package.json +8 -4
  21. package/dist/app/import/csv-parser.js +0 -119
  22. package/dist/shell/assets/parse-worker-ChfW_ehD.js +0 -18
  23. package/dist/shell-source-maps/assets/parse-worker-ChfW_ehD.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-CR5VJ85Q.js";import{G as r,V as i,q as a}from"./vendor-Kvdo8Jrw.js";import{$ as o,A as s,At as c,B as l,Bt as u,C as d,Ct as f,D as ee,Dt as p,E as m,Et as h,F as te,Ft as g,G as _,Gt as v,H as ne,Ht as re,I as ie,It as ae,Jt as oe,K as se,Kt as ce,L as le,Lt as ue,M as y,Mt as b,N as de,O as fe,Ot as x,P as S,Pt as C,Q as w,R as T,Rt as E,S as D,St as O,T as k,Tt as A,U as j,Ut as M,V as N,Vt as P,W as F,Wt as I,X as L,Y as R,Z as z,_ as B,_t as V,a as pe,at as me,b as he,bt as ge,c as _e,ct as H,d as ve,dt as ye,et as be,f as xe,ft as Se,g as Ce,gt as we,h as Te,ht as Ee,i as De,it as Oe,j as U,jt as W,k as ke,kt as Ae,l as je,lt as Me,m as Ne,mt as G,n as Pe,nt as Fe,o as Ie,ot as Le,p as Re,pt as ze,q as Be,r as Ve,rt as He,s as Ue,st as We,t as Ge,tt as Ke,u as qe,ut as Je,v as Ye,vt as Xe,w as Ze,wt as Qe,x as $e,xt as et,y as tt,yt as nt,z as rt,zt as it}from"./app-CdLhzPaH.js";import{n as at,o as ot}from"./preload-helper-BRlYOzPJ.js";import{t as K}from"./cn-Bi0ZEjD9.js";var q={name:`phone`,size:24,node:[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]};q.node;var J=ot(q),st=e=>new Date(Date.parse(`${e}T00:00:00Z`)-864e5).toISOString().slice(0,10),ct=(e,t,n=b())=>W(Date.parse(e),n)===W(Date.parse(t),n),lt=(e,t=Date.now(),n=b())=>{let r=W(Date.parse(e),n),i=W(t,n);return r===i?s(`today`):r===st(i)?s(`yesterday`):c(Date.parse(`${r}T00:00:00Z`))},Y=e(n(),1),ut=({tone:e=`day`,label:t})=>{let n=t??s(`newMessages`),r=K(`h-px flex-1`,e===`new`?`bg-danger`:`bg-border`);return(0,Y.jsxs)(`div`,{role:`separator`,"aria-label":n,"data-tone":e,"data-chat-divider":``,className:`flex items-center gap-3 text-xs font-medium`,children:[(0,Y.jsx)(`span`,{className:r}),(0,Y.jsx)(`span`,{className:e===`new`?`text-danger`:`text-muted-foreground`,children:n}),(0,Y.jsx)(`span`,{className:r})]})},dt=({row:e,resource:t,recordKey:n,...r})=>{let i=L(),a=H(),o=t??i?.resource??a?.model.name;if(o===void 0)throw Error(`RecordLink needs a resource outside a list display or a record`);return(0,Y.jsx)(h,{to:{kind:`record`,resource:o,key:e?e.key:n},...r})},X=e(t(),1),ft=e=>{if(e?.kind!==`signed-in`)return;let{id:t,name:n}=e.user;return{id:t,...n&&{name:n}}},pt=()=>{let e=ce()?.state;return(0,X.useMemo)(()=>ft(e),[e])},Z=(e,t)=>{let{address:n,href:r,open:i}=p(),a=n?.kind===`record`&&n.resource===e&&n.key===t&&n.call===`join`,o=e=>({href:e,onFollow:()=>i(e)});return{joining:a,join:o(r({kind:`record`,resource:e,key:t,call:`join`})),leave:o(r({kind:`record`,resource:e,key:t}))}},Q=({resource:e,recordKey:t,...n})=>{let{joining:r,leave:i}=Z(e,t);return r?(0,Y.jsx)(U,{leave:i,...n},`${e}/${t}`):null},$=(e,t)=>{let n=M(),r=a(),o=v.recordCalls(e,t),s=i({queryKey:o,queryFn:()=>n.calls(e,t)});return(0,X.useEffect)(()=>{let i=v.recordCalls(e,t),a=n.channel(e,t),o=a.on(oe,e=>e.server&&r.setQueryData(i,e.payload.items)),s=a.onStatus(e=>e.state===`joined`&&void r.invalidateQueries({queryKey:i}));return()=>{o(),s(),a.leave()}},[n,r,e,t]),{...s,ongoing:s.data?.find(e=>e.ended_at===null)}},mt=({resource:e,recordKey:t,className:n})=>{let{ongoing:r,isPending:i}=$(e,t),{joining:a,join:o}=Z(e,t);if(i)return null;if(!r)return a?null:(0,Y.jsxs)(x,{to:o,className:K(E({size:`sm`}),n),children:[(0,Y.jsx)(J,{className:`size-3.5`}),y(`startCall`)]});let s=r.members.length;return(0,Y.jsxs)(`span`,{role:`status`,className:K(`inline-flex items-center gap-1.5 rounded-md bg-success-soft px-2 py-0.5 text-body text-foreground`,n),children:[(0,Y.jsx)(J,{className:`size-3.5 text-success`}),y(`inProgress`),(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,Y.jsx)(`span`,{"aria-label":y(`people`,{count:s}),children:s}),!a&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,Y.jsx)(x,{to:o,className:E({variant:`primary`,size:`sm`}),children:y(`join`)})]})]})},ht={width:640,height:480},gt=e=>e.flatMap(e=>{if(`src`in e)return[{image:{url:e.src},alt:e.alt}];let t=Ae(e,ht);return t?[{image:t,alt:e.alt??``}]:[]}),_t=({images:e,label:t,fit:n=`cover`,swipe:r=!0,className:i})=>{let a=gt(e),s=z(a.length);return(0,Y.jsxs)(`div`,{role:`group`,"aria-roledescription":`carousel`,"aria-label":t,className:K(`group/carousel relative overflow-hidden`,i),children:[(0,Y.jsx)(w,{"data-carousel-track":!0,carousel:s,swipe:r,slides:a.map(({image:e,alt:t})=>(0,Y.jsx)(Se,{image:e,alt:t,loading:`lazy`,className:K(`size-full`,n===`cover`?`object-cover`:`object-contain`)}))}),(0,Y.jsx)(o,{carousel:s,count:a.length,swipe:r,reveal:`group-hover/carousel:opacity-100`,className:`inset-0`})]})},vt=({name:e,label:t,options:n,value:r,onChange:i})=>(0,Y.jsx)(`div`,{role:`radiogroup`,"aria-label":t,className:`flex flex-col gap-2`,children:n.map(t=>(0,Y.jsxs)(`label`,{className:K(`block rounded-lg border p-3 transition-colors has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-primary`,t.disabled?`cursor-default bg-background opacity-60`:t.value===r?`cursor-pointer border-primary bg-primary-soft`:`cursor-pointer bg-background hover:bg-surface`),children:[(0,Y.jsx)(`input`,{type:`radio`,name:e,value:t.value,checked:t.value===r,disabled:t.disabled,onChange:()=>i(t.value),className:`sr-only`}),(0,Y.jsx)(`span`,{className:K(`block font-medium`,t.value===r&&`text-primary-text`),children:t.label}),t.description&&(0,Y.jsx)(`span`,{className:`mt-0.5 block text-xs leading-snug text-muted-foreground`,children:t.description})]},t.value))}),yt=(e,t,n)=>{let o=M(),s=a(),c=[...new Set(n)].sort();return i({queryKey:v.pickedLabels(e.name,c.join(`,`)),enabled:c.length>0,placeholderData:r,queryFn:()=>Oe(s,o,e,c,t)}).data??new Map},bt=e=>{let{resources:t,views:n}=it(),r=t[e.resource];if(!r)throw Error(`RecordPicker: the app has no resource named "${e.resource}"`);if(r.primaryKey.length!==1)throw Error(`RecordPicker: "${e.resource}" has a composite key, which a picker cannot name`);let i=n[e.resource],a=e.multiple?e.value:e.value===void 0?[]:[e.value],[o,s]=(0,X.useState)({}),c=yt(r,i,a),l=e=>o[e]??c.get(e)??e,u=(e,t)=>s(n=>({...n,[e]:t}));if(!e.multiple){let{value:t,onChange:n}=e;return(0,Y.jsx)(G,{target:r,view:i,value:t??``,label:t===void 0?void 0:l(t),invalid:e.invalid,onChange:(e,t)=>{u(e,t),n(e)}})}let{value:d,onChange:f}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(G,{target:r,view:i,value:``,chosen:d,several:!0,invalid:e.invalid,onChange:(e,t)=>{u(e,t),f(d.includes(e)?d.filter(t=>t!==e):[...d,e])}}),d.length>0&&(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:d.map(e=>(0,Y.jsx)(ye,{label:l(e),onRemove:()=>f(d.filter(t=>t!==e))},e))})]})};export{$e as ActionCard,Me as ActionInputError,re as ApiProvider,Ge as App,h as AppLink,xe as AssistantDock,se as AuthLayout,Ke as AvailabilityMark,ue as Button,mt as CallMark,U as CallView,_t as Carousel,ut as ChatDivider,ke as ChatMessage,fe as ChatThread,vt as Choices,l as CodeForm,tt as CompactTable,d as Composer,ae as Dialog,Ce as DiffView,Qe as Field,he as FieldList,je as Form,f as Input,He as LogoMark,Je as Markdown,k as MentionBox,Ze as MentionedText,Be as MenuSelect,ze as OtpInput,Ne as PartView,Q as RecordCall,dt as RecordLink,bt as RecordPicker,N as ResendCodeButton,g as ResponsiveDialog,C as Section,at as Segmented,D as SidePanel,be as SignInPrompt,u as Spinner,Fe as StatusMark,Te as StepList,O as Textarea,ne as allowDelayMs,E as buttonClass,lt as chatDayLabel,Ee as definePlugin,we as defineUi,B as diffStats,m as emptyDraft,Pe as isConflict,j as isFramed,ee as mentionedIds,T as mergeUi,Ye as parseDiff,te as pluginApi,ie as protobaseVersion,ct as sameChatDay,Xe as statusRefreshMs,rt as uiFromModule,S as useApiToken,p as useAppAddress,F as useArmedAfterFocus,ve as useAssistant,qe as useAssistantClient,Re as useBackendData,M as useClient,me as useFacets,A as useFieldControl,_ as useGuardedPress,Le as useHistogram,De as useInbox,H as useLayoutRecord,et as useList,R as useListDisplay,pe as useMarkNotificationsRead,V as useMembers,P as useMeta,nt as useOwnStatus,le as usePlugin,_e as usePresence,Ue as usePushNotifications,de as useRecord,Z as useRecordCallAddress,$ as useRecordCalls,I as useResourceClient,We as useSeries,pt as useSignedInUser,ge as useStatuses,Ie as useUnreadNotifications,Ve as useUpdateRecord};
2
- //# debugId=28fcab00-a9fe-48d1-917e-e2be2d35bdce
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-CR5VJ85Q.js";import{G as r,V as i,q as a}from"./vendor-Kvdo8Jrw.js";import{$ as o,A as s,At as c,B as l,Bt as u,C as d,Ct as f,D as ee,Dt as p,E as m,Et as h,F as te,Ft as g,G as _,Gt as v,H as ne,Ht as re,I as ie,It as ae,Jt as oe,K as se,Kt as ce,L as le,Lt as ue,M as y,Mt as b,N as de,O as fe,Ot as x,P as S,Pt as C,Q as w,R as T,Rt as E,S as D,St as O,T as k,Tt as A,U as j,Ut as M,V as N,Vt as P,W as F,Wt as I,X as L,Y as R,Z as z,_ as B,_t as V,a as pe,at as me,b as he,bt as ge,c as _e,ct as H,d as ve,dt as ye,et as be,f as xe,ft as Se,g as Ce,gt as we,h as Te,ht as Ee,i as De,it as Oe,j as U,jt as W,k as ke,kt as Ae,l as je,lt as Me,m as Ne,mt as G,n as Pe,nt as Fe,o as Ie,ot as Le,p as Re,pt as ze,q as Be,r as Ve,rt as He,s as Ue,st as We,t as Ge,tt as Ke,u as qe,ut as Je,v as Ye,vt as Xe,w as Ze,wt as Qe,x as $e,xt as et,y as tt,yt as nt,z as rt,zt as it}from"./app-D-elg6qm.js";import{n as at,o as ot}from"./preload-helper-BRlYOzPJ.js";import{t as K}from"./cn-Bi0ZEjD9.js";var q={name:`phone`,size:24,node:[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]};q.node;var J=ot(q),st=e=>new Date(Date.parse(`${e}T00:00:00Z`)-864e5).toISOString().slice(0,10),ct=(e,t,n=b())=>W(Date.parse(e),n)===W(Date.parse(t),n),lt=(e,t=Date.now(),n=b())=>{let r=W(Date.parse(e),n),i=W(t,n);return r===i?s(`today`):r===st(i)?s(`yesterday`):c(Date.parse(`${r}T00:00:00Z`))},Y=e(n(),1),ut=({tone:e=`day`,label:t})=>{let n=t??s(`newMessages`),r=K(`h-px flex-1`,e===`new`?`bg-danger`:`bg-border`);return(0,Y.jsxs)(`div`,{role:`separator`,"aria-label":n,"data-tone":e,"data-chat-divider":``,className:`flex items-center gap-3 text-xs font-medium`,children:[(0,Y.jsx)(`span`,{className:r}),(0,Y.jsx)(`span`,{className:e===`new`?`text-danger`:`text-muted-foreground`,children:n}),(0,Y.jsx)(`span`,{className:r})]})},dt=({row:e,resource:t,recordKey:n,...r})=>{let i=L(),a=H(),o=t??i?.resource??a?.model.name;if(o===void 0)throw Error(`RecordLink needs a resource outside a list display or a record`);return(0,Y.jsx)(h,{to:{kind:`record`,resource:o,key:e?e.key:n},...r})},X=e(t(),1),ft=e=>{if(e?.kind!==`signed-in`)return;let{id:t,name:n}=e.user;return{id:t,...n&&{name:n}}},pt=()=>{let e=ce()?.state;return(0,X.useMemo)(()=>ft(e),[e])},Z=(e,t)=>{let{address:n,href:r,open:i}=p(),a=n?.kind===`record`&&n.resource===e&&n.key===t&&n.call===`join`,o=e=>({href:e,onFollow:()=>i(e)});return{joining:a,join:o(r({kind:`record`,resource:e,key:t,call:`join`})),leave:o(r({kind:`record`,resource:e,key:t}))}},Q=({resource:e,recordKey:t,...n})=>{let{joining:r,leave:i}=Z(e,t);return r?(0,Y.jsx)(U,{leave:i,...n},`${e}/${t}`):null},$=(e,t)=>{let n=M(),r=a(),o=v.recordCalls(e,t),s=i({queryKey:o,queryFn:()=>n.calls(e,t)});return(0,X.useEffect)(()=>{let i=v.recordCalls(e,t),a=n.channel(e,t),o=a.on(oe,e=>e.server&&r.setQueryData(i,e.payload.items)),s=a.onStatus(e=>e.state===`joined`&&void r.invalidateQueries({queryKey:i}));return()=>{o(),s(),a.leave()}},[n,r,e,t]),{...s,ongoing:s.data?.find(e=>e.ended_at===null)}},mt=({resource:e,recordKey:t,className:n})=>{let{ongoing:r,isPending:i}=$(e,t),{joining:a,join:o}=Z(e,t);if(i)return null;if(!r)return a?null:(0,Y.jsxs)(x,{to:o,className:K(E({size:`sm`}),n),children:[(0,Y.jsx)(J,{className:`size-3.5`}),y(`startCall`)]});let s=r.members.length;return(0,Y.jsxs)(`span`,{role:`status`,className:K(`inline-flex items-center gap-1.5 rounded-md bg-success-soft px-2 py-0.5 text-body text-foreground`,n),children:[(0,Y.jsx)(J,{className:`size-3.5 text-success`}),y(`inProgress`),(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,Y.jsx)(`span`,{"aria-label":y(`people`,{count:s}),children:s}),!a&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,Y.jsx)(x,{to:o,className:E({variant:`primary`,size:`sm`}),children:y(`join`)})]})]})},ht={width:640,height:480},gt=e=>e.flatMap(e=>{if(`src`in e)return[{image:{url:e.src},alt:e.alt}];let t=Ae(e,ht);return t?[{image:t,alt:e.alt??``}]:[]}),_t=({images:e,label:t,fit:n=`cover`,swipe:r=!0,className:i})=>{let a=gt(e),s=z(a.length);return(0,Y.jsxs)(`div`,{role:`group`,"aria-roledescription":`carousel`,"aria-label":t,className:K(`group/carousel relative overflow-hidden`,i),children:[(0,Y.jsx)(w,{"data-carousel-track":!0,carousel:s,swipe:r,slides:a.map(({image:e,alt:t})=>(0,Y.jsx)(Se,{image:e,alt:t,loading:`lazy`,className:K(`size-full`,n===`cover`?`object-cover`:`object-contain`)}))}),(0,Y.jsx)(o,{carousel:s,count:a.length,swipe:r,reveal:`group-hover/carousel:opacity-100`,className:`inset-0`})]})},vt=({name:e,label:t,options:n,value:r,onChange:i})=>(0,Y.jsx)(`div`,{role:`radiogroup`,"aria-label":t,className:`flex flex-col gap-2`,children:n.map(t=>(0,Y.jsxs)(`label`,{className:K(`block rounded-lg border p-3 transition-colors has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-primary`,t.disabled?`cursor-default bg-background opacity-60`:t.value===r?`cursor-pointer border-primary bg-primary-soft`:`cursor-pointer bg-background hover:bg-surface`),children:[(0,Y.jsx)(`input`,{type:`radio`,name:e,value:t.value,checked:t.value===r,disabled:t.disabled,onChange:()=>i(t.value),className:`sr-only`}),(0,Y.jsx)(`span`,{className:K(`block font-medium`,t.value===r&&`text-primary-text`),children:t.label}),t.description&&(0,Y.jsx)(`span`,{className:`mt-0.5 block text-xs leading-snug text-muted-foreground`,children:t.description})]},t.value))}),yt=(e,t,n)=>{let o=M(),s=a(),c=[...new Set(n)].sort();return i({queryKey:v.pickedLabels(e.name,c.join(`,`)),enabled:c.length>0,placeholderData:r,queryFn:()=>Oe(s,o,e,c,t)}).data??new Map},bt=e=>{let{resources:t,views:n}=it(),r=t[e.resource];if(!r)throw Error(`RecordPicker: the app has no resource named "${e.resource}"`);if(r.primaryKey.length!==1)throw Error(`RecordPicker: "${e.resource}" has a composite key, which a picker cannot name`);let i=n[e.resource],a=e.multiple?e.value:e.value===void 0?[]:[e.value],[o,s]=(0,X.useState)({}),c=yt(r,i,a),l=e=>o[e]??c.get(e)??e,u=(e,t)=>s(n=>({...n,[e]:t}));if(!e.multiple){let{value:t,onChange:n}=e;return(0,Y.jsx)(G,{target:r,view:i,value:t??``,label:t===void 0?void 0:l(t),invalid:e.invalid,onChange:(e,t)=>{u(e,t),n(e)}})}let{value:d,onChange:f}=e;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(G,{target:r,view:i,value:``,chosen:d,several:!0,invalid:e.invalid,onChange:(e,t)=>{u(e,t),f(d.includes(e)?d.filter(t=>t!==e):[...d,e])}}),d.length>0&&(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:d.map(e=>(0,Y.jsx)(ye,{label:l(e),onRemove:()=>f(d.filter(t=>t!==e))},e))})]})};export{$e as ActionCard,Me as ActionInputError,re as ApiProvider,Ge as App,h as AppLink,xe as AssistantDock,se as AuthLayout,Ke as AvailabilityMark,ue as Button,mt as CallMark,U as CallView,_t as Carousel,ut as ChatDivider,ke as ChatMessage,fe as ChatThread,vt as Choices,l as CodeForm,tt as CompactTable,d as Composer,ae as Dialog,Ce as DiffView,Qe as Field,he as FieldList,je as Form,f as Input,He as LogoMark,Je as Markdown,k as MentionBox,Ze as MentionedText,Be as MenuSelect,ze as OtpInput,Ne as PartView,Q as RecordCall,dt as RecordLink,bt as RecordPicker,N as ResendCodeButton,g as ResponsiveDialog,C as Section,at as Segmented,D as SidePanel,be as SignInPrompt,u as Spinner,Fe as StatusMark,Te as StepList,O as Textarea,ne as allowDelayMs,E as buttonClass,lt as chatDayLabel,Ee as definePlugin,we as defineUi,B as diffStats,m as emptyDraft,Pe as isConflict,j as isFramed,ee as mentionedIds,T as mergeUi,Ye as parseDiff,te as pluginApi,ie as protobaseVersion,ct as sameChatDay,Xe as statusRefreshMs,rt as uiFromModule,S as useApiToken,p as useAppAddress,F as useArmedAfterFocus,ve as useAssistant,qe as useAssistantClient,Re as useBackendData,M as useClient,me as useFacets,A as useFieldControl,_ as useGuardedPress,Le as useHistogram,De as useInbox,H as useLayoutRecord,et as useList,R as useListDisplay,pe as useMarkNotificationsRead,V as useMembers,P as useMeta,nt as useOwnStatus,le as usePlugin,_e as usePresence,Ue as usePushNotifications,de as useRecord,Z as useRecordCallAddress,$ as useRecordCalls,I as useResourceClient,We as useSeries,pt as useSignedInUser,ge as useStatuses,Ie as useUnreadNotifications,Ve as useUpdateRecord};
2
+ //# debugId=3b1531f7-9b9f-4709-aad0-a4c2c427c660
@@ -18,14 +18,14 @@
18
18
  }
19
19
  document.documentElement.dataset.theme = stored === 'light' || stored === 'dark' ? stored : matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
20
20
  </script>
21
- <script type="importmap">{"imports":{"react":"/assets/shared-react-CuZpzdyh.js","react/jsx-runtime":"/assets/shared-react-jsx-runtime-Csr2Kx2w.js","react-dom":"/assets/shared-react-dom-BNlY7-7i.js","@protobase/ui":"/assets/shared-protobase-ui-o_KsAqf7.js"}}</script>
22
- <script type="module" crossorigin src="/assets/index-Du6GlNEk.js"></script>
21
+ <script type="importmap">{"imports":{"react":"/assets/shared-react-CuZpzdyh.js","react/jsx-runtime":"/assets/shared-react-jsx-runtime-Csr2Kx2w.js","react-dom":"/assets/shared-react-dom-BNlY7-7i.js","@protobase/ui":"/assets/shared-protobase-ui-7FTH3m59.js"}}</script>
22
+ <script type="module" crossorigin src="/assets/index-D8SK4U2s.js"></script>
23
23
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
24
24
  <link rel="modulepreload" crossorigin href="/assets/react-CR5VJ85Q.js">
25
25
  <link rel="modulepreload" crossorigin href="/assets/vendor-Kvdo8Jrw.js">
26
26
  <link rel="modulepreload" crossorigin href="/assets/cn-Bi0ZEjD9.js">
27
27
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-BRlYOzPJ.js">
28
- <link rel="modulepreload" crossorigin href="/assets/app-CdLhzPaH.js">
28
+ <link rel="modulepreload" crossorigin href="/assets/app-D-elg6qm.js">
29
29
  <link rel="stylesheet" crossorigin href="/assets/app-GUjJKojE.css">
30
30
  <link rel="stylesheet" crossorigin href="/assets/index-Or2wt-ck.css">
31
31
  <link rel="stylesheet" href="/protobase.theme.css">
@@ -1,12 +1,12 @@
1
1
  {
2
- "protobase": "0.66.0",
2
+ "protobase": "0.66.1",
3
3
  "pluginApi": 1,
4
4
  "paths": [
5
5
  "/index.html",
6
6
  "/assets",
7
7
  "/protobase.sw.js"
8
8
  ],
9
- "builtAt": 1793364437217,
9
+ "builtAt": 1793365906198,
10
10
  "native": {
11
11
  "@capacitor/android": "8.5.3",
12
12
  "@capacitor/app": "8.1.2",
@@ -1,5 +1,5 @@
1
- const cacheName = "protobase-shell-53137202fce7076e"
2
- const precache = ["/index.html","/assets/shared-react-CuZpzdyh.js","/assets/shared-react-jsx-runtime-Csr2Kx2w.js","/assets/shared-react-dom-BNlY7-7i.js","/assets/shared-protobase-ui-o_KsAqf7.js","/assets/index-Du6GlNEk.js","/assets/rolldown-runtime-hePW80VL.js","/assets/react-CR5VJ85Q.js","/assets/vendor-Kvdo8Jrw.js","/assets/cn-Bi0ZEjD9.js","/assets/preload-helper-BRlYOzPJ.js","/assets/app-CdLhzPaH.js","/assets/app-GUjJKojE.css","/assets/index-Or2wt-ck.css","/protobase.theme.css","/protobase.favicon.svg"]
1
+ const cacheName = "protobase-shell-d5339cc627d53a4b"
2
+ const precache = ["/index.html","/assets/shared-react-CuZpzdyh.js","/assets/shared-react-jsx-runtime-Csr2Kx2w.js","/assets/shared-react-dom-BNlY7-7i.js","/assets/shared-protobase-ui-7FTH3m59.js","/assets/index-D8SK4U2s.js","/assets/rolldown-runtime-hePW80VL.js","/assets/react-CR5VJ85Q.js","/assets/vendor-Kvdo8Jrw.js","/assets/cn-Bi0ZEjD9.js","/assets/preload-helper-BRlYOzPJ.js","/assets/app-D-elg6qm.js","/assets/app-GUjJKojE.css","/assets/index-Or2wt-ck.css","/protobase.theme.css","/protobase.favicon.svg"]
3
3
  const revalidated = ["/protobase.theme.css","/protobase.favicon.svg"]
4
4
 
5
5
  const fromCache = (request) =>