@objectstack/console 13.0.0 → 14.3.0
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/.objectui-sha +1 -1
- package/dist/assets/{AdapterProvider-G7o889LL.js → AdapterProvider-BdI1AL8R.js} +1 -1
- package/dist/assets/{AiPendingActionsPage-B_bQ89Ap.js → AiPendingActionsPage-C9rOGWO9.js} +1 -1
- package/dist/assets/{ApiConsolePage-oJexbnMd.js → ApiConsolePage-CTk6_qVK.js} +1 -1
- package/dist/assets/{AppDocsIndex-B2EMS--S.js → AppDocsIndex-BL_J__HY.js} +1 -1
- package/dist/assets/{AppManagementPage-BSLRnX7p.js → AppManagementPage-Co5xg-gQ.js} +1 -1
- package/dist/assets/ApprovalsInboxPage-DkfJVIDO.js +1 -0
- package/dist/assets/{AuditLogPage-JHBVKm-o.js → AuditLogPage-Ctj0habt.js} +1 -1
- package/dist/assets/{ComponentNavView-Be3JMpLK.js → ComponentNavView-2bXBqHvo.js} +1 -1
- package/dist/assets/{ConsoleFloatingChatbot-MtFbTLoq.js → ConsoleFloatingChatbot-C_zzIjTL.js} +1 -1
- package/dist/assets/{CreateViewDialog-CboUdp-q.js → CreateViewDialog-BQ1-ZWYN.js} +1 -1
- package/dist/assets/{DashboardView-1nXwC0y_.js → DashboardView-Cns3m8MX.js} +1 -1
- package/dist/assets/{DeveloperHubPage-B55QdK7b.js → DeveloperHubPage-xHzPIDex.js} +1 -1
- package/dist/assets/{ExpressionProvider-B3pkCzAo.js → ExpressionProvider-BdMK_o7f.js} +1 -1
- package/dist/assets/{FlowRunsPage-CKOKC3O1.js → FlowRunsPage-v43ayfID.js} +1 -1
- package/dist/assets/{IntegrationsPage-gLs4Ms2t.js → IntegrationsPage-B8IBLh_r.js} +2 -2
- package/dist/assets/{InterfaceListPage-CwGb2Th3.js → InterfaceListPage-DAkJEFCf.js} +1 -1
- package/dist/assets/{ManagedByBadge-BtJfBjbT.js → ManagedByBadge-C8RoPUEX.js} +1 -1
- package/dist/assets/{MarketplaceAccessDenied-Bl4faFLm.js → MarketplaceAccessDenied-D3JunScQ.js} +1 -1
- package/dist/assets/{MarketplaceInstalledPage-BQH-qEi5.js → MarketplaceInstalledPage-IjVxon4M.js} +1 -1
- package/dist/assets/MarketplacePackagePage-BivOR4dD.js +4 -0
- package/dist/assets/{MarketplacePage-C_HnQQYH.js → MarketplacePage-aoYsZs4L.js} +1 -1
- package/dist/assets/{MetadataInspector-DwPx9ueN.js → MetadataInspector-BD4Mhmpt.js} +1 -1
- package/dist/assets/{MetadataProvider-seOmvY8N.js → MetadataProvider-C9mhBo6s.js} +1 -1
- package/dist/assets/ObjectDataPage-C1AX0mJW.js +1 -0
- package/dist/assets/{PageView-cehnKJ9R.js → PageView-CAAHjJzX.js} +1 -1
- package/dist/assets/{ProfilePage-CPk5ilAm.js → ProfilePage-tQyqenRR.js} +1 -1
- package/dist/assets/PublicFormsPage-CkKQzpw_.js +1 -0
- package/dist/assets/RecordDetailView-DcyCqWcp.js +9 -0
- package/dist/assets/{RecordFormPage-Dmw4MMhg.js → RecordFormPage-DPml60ze.js} +1 -1
- package/dist/assets/ReportDefaultInspector-De2iFQ0s.js +11 -0
- package/dist/assets/ReportView-BF5_XOtk.js +2 -0
- package/dist/assets/{SearchResultsPage-quEMr1ZW.js → SearchResultsPage-CiSIs_M4.js} +1 -1
- package/dist/assets/{SettingsHub-B5Y0DjDk.js → SettingsHub-PlVT_0zU.js} +1 -1
- package/dist/assets/{SettingsView-Q3e7GG0S.js → SettingsView-PA2_5adN.js} +1 -1
- package/dist/assets/SystemHubPage-DN6WDMNI.js +1 -0
- package/dist/assets/{conversationLanguage-CgUPnufx.js → conversationLanguage-b5go1PfT.js} +1 -1
- package/dist/assets/{data-adapter-BP-pyfs8.js → data-adapter-CbYJeapt.js} +1 -1
- package/dist/assets/{framework-CBCX6Urh.js → framework-Itfj9AWQ.js} +13 -13
- package/dist/assets/{getIcon-Ci4w4xXM.js → getIcon-DjDksPei.js} +1 -1
- package/dist/assets/{highlighted-body-OFNGDK62-B5Pqh6xJ.js → highlighted-body-OFNGDK62-DyDg64aM.js} +1 -1
- package/dist/assets/index-C31fE0Ro.js +2 -0
- package/dist/assets/index-N4ZfDXur.css +2 -0
- package/dist/assets/mermaid-GHXKKRXX-Bdn3wVYM.js +1 -0
- package/dist/assets/metadata-admin-Chw3a2T4.js +23 -0
- package/dist/assets/plugin-calendar-C7XgGNhj.js +1 -0
- package/dist/assets/{plugin-charts-DyKYgW3L.js → plugin-charts-DZcrIrvB.js} +2 -2
- package/dist/assets/plugin-chatbot-D0Od_WLT.js +120 -0
- package/dist/assets/plugin-dashboard-CGXhP3SP.js +6 -0
- package/dist/assets/plugin-form-BxGl_G-P.js +1 -0
- package/dist/assets/plugin-gantt-DIXK_GFE.js +93 -0
- package/dist/assets/plugin-grid-BusTOlSB.js +8 -0
- package/dist/assets/plugin-kanban-BORORRbu.js +1 -0
- package/dist/assets/{plugin-map-Co_pYpOZ.js → plugin-map-DhKLo0DD.js} +1 -1
- package/dist/assets/{plugin-markdown-CS5R-t3i.js → plugin-markdown-ByE3Dezt.js} +1 -1
- package/dist/assets/{plugin-report-_y8nt0FZ.js → plugin-report-CJmiocGk.js} +4 -4
- package/dist/assets/plugin-timeline-B5L8EK0C.js +1 -0
- package/dist/assets/{plugin-tree-DCAEE54g.js → plugin-tree-D7mdTkuW.js} +1 -1
- package/dist/assets/plugin-view-CMNOvn0A.js +1 -0
- package/dist/assets/plugins-views-BmubW-ty.js +4 -0
- package/dist/assets/{skeletons-BjaBYe9k.js → skeletons-Ch9F6pA8.js} +1 -1
- package/dist/assets/src-DrSomF2I.js +16 -0
- package/dist/assets/{src-D6ENIa3w.js → src-w44Q32YY.js} +1 -1
- package/dist/assets/{types-DXCQOIiO.js → types-GmZjwWOe.js} +1 -1
- package/dist/assets/ui-components-DTwfkSDm.js +42 -0
- package/dist/assets/{ui-layout-vWAZODrs.js → ui-layout-BHkbFI8f.js} +1 -1
- package/dist/assets/{useMetadata-D-bLZoNN.js → useMetadata-DSuQLgo1.js} +1 -1
- package/dist/assets/{useRecordApprovals-jo_LH43z.js → useRecordApprovals-Bo4WTft1.js} +1 -1
- package/dist/assets/vendor-objectstack-BlgvvNrN.js +108 -0
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/dist/assets/ApprovalsInboxPage-DbdgZkz_.js +0 -1
- package/dist/assets/MarketplacePackagePage-B2BXohna.js +0 -4
- package/dist/assets/ObjectDataPage-D8W0OzJe.js +0 -1
- package/dist/assets/PublicFormsPage-5oWNwPiZ.js +0 -1
- package/dist/assets/RecordDetailView-CUcCVoa1.js +0 -9
- package/dist/assets/ReportDefaultInspector-BBTLmEl-.js +0 -11
- package/dist/assets/ReportView-BPkQVP9-.js +0 -2
- package/dist/assets/SystemHubPage-SIzLdDrE.js +0 -1
- package/dist/assets/index-Df624lGg.js +0 -2
- package/dist/assets/index-GDbpsyLD.css +0 -2
- package/dist/assets/mermaid-GHXKKRXX-BlWXnAVk.js +0 -1
- package/dist/assets/metadata-admin-Jkl-QChK.js +0 -23
- package/dist/assets/plugin-calendar-BHRBKeJq.js +0 -1
- package/dist/assets/plugin-chatbot-CNLp4fGv.js +0 -120
- package/dist/assets/plugin-dashboard-uOZwquef.js +0 -6
- package/dist/assets/plugin-form-CX8z6nsj.js +0 -1
- package/dist/assets/plugin-gantt-CyktuI6d.js +0 -93
- package/dist/assets/plugin-grid-DNGRZzGM.js +0 -8
- package/dist/assets/plugin-kanban-B0Dwrpca.js +0 -1
- package/dist/assets/plugin-timeline-Cy03-xov.js +0 -1
- package/dist/assets/plugin-view-OZpEPOgT.js +0 -1
- package/dist/assets/plugins-views-BVxwkRdi.js +0 -4
- package/dist/assets/src-rXeXV_HX.js +0 -16
- package/dist/assets/ui-components-BOOpjWsQ.js +0 -42
- package/dist/assets/vendor-objectstack-Jcqd9154.js +0 -108
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{r as n,y as r}from"./vendor-react-BGDDiZfJ.js";import{Kt as i,Ut as a,Wt as o,ct as s,l as c,ot as l,q as u}from"./framework-CBCX6Urh.js";import{$s as d,Bs as f,Gn as p,Jn as m,Jt as h,Kn as g,Kt as _,Un as v,Vs as y,Wn as b,Xt as x,Yi as S,Yt as C,an as w,dn as T,in as E,ir as D,kc as O,on as k,qn as A,qt as j,sn as M,xr as N,zt as P}from"./ui-components-BOOpjWsQ.js";import{a as F,o as ee}from"./plugins-views-BVxwkRdi.js";import{a as te}from"./plugin-grid-DNGRZzGM.js";var I=e(r(),1),L=n(),ne=`bg-blue-100 text-blue-900 border border-blue-200`,re=new Date,R=[`bg-blue-100 text-blue-900 border border-blue-200`,`bg-emerald-100 text-emerald-900 border border-emerald-200`,`bg-amber-100 text-amber-900 border border-amber-200`,`bg-rose-100 text-rose-900 border border-rose-200`,`bg-violet-100 text-violet-900 border border-violet-200`,`bg-cyan-100 text-cyan-900 border border-cyan-200`,`bg-orange-100 text-orange-900 border border-orange-200`,`bg-fuchsia-100 text-fuchsia-900 border border-fuchsia-200`],z=/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i,B=/(^|\s)(bg|text|from|to|via)-/;function V(e){if(!e)return{className:ne};if(z.test(e))return{className:`text-white`,inlineColor:e};if(B.test(e))return{className:e};let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return{className:R[Math.abs(t)%R.length]}}var ie={"calendar.today":`Today`,"calendar.month":`Month`,"calendar.week":`Week`,"calendar.day":`Day`,"calendar.newEvent":`New event`,"calendar.moreEvents":`+{{count}} more`,"calendar.allDay":`all-day`};function H(){try{let e=c();return e.t(`calendar.today`)===`calendar.today`?{t:(e,t)=>{let n=ie[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:`en`}:{t:e.t,language:e.language}}catch{return{t:(e,t)=>{let n=ie[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:`en`}}}function ae({events:e=[],view:t=`month`,currentDate:n=re,locale:r=`default`,onEventClick:i,onDateClick:a,onViewChange:o,onNavigate:s,onAddClick:c,onEventDrop:l,onTimeRangeSelect:u,slotMinutes:p=30,className:m}){let[g,v]=I.useState(t),[b,T]=I.useState(n),{t:A,language:M}=H(),P=r==="default"?M:r;I.useEffect(()=>{T(n)},[n]),I.useEffect(()=>{v(t)},[t]);let F=I.useRef(o);F.current=o,I.useEffect(()=>{let e=window.matchMedia(`(max-width: 639px)`),t=e=>{e.matches&&(v(`day`),F.current?.(`day`))};return t(e),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let ee=()=>{let e=new Date(b);g===`month`?e.setMonth(e.getMonth()-1):g===`week`?e.setDate(e.getDate()-7):e.setDate(e.getDate()-1),T(e),s?.(e)},te=()=>{let e=new Date(b);g===`month`?e.setMonth(e.getMonth()+1):g===`week`?e.setDate(e.getDate()+7):e.setDate(e.getDate()+1),T(e),s?.(e)},ne=()=>{let e=new Date;T(e),s?.(e)},R=e=>{v(e),o?.(e)},z=()=>{if(g===`month`)return b.toLocaleDateString(P,{month:`long`,year:`numeric`});if(g===`week`){let e=oe(b),t=new Date(e);return t.setDate(t.getDate()+6),`${e.toLocaleDateString(P,{month:`short`,day:`numeric`})} - ${t.toLocaleDateString(P,{month:`short`,day:`numeric`,year:`numeric`})}`}else return b.toLocaleDateString(P,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})},B=I.useRef(0);return(0,L.jsxs)(`div`,{role:`region`,"aria-label":`Calendar`,className:O(`flex flex-col h-full bg-background min-w-0 overflow-hidden`,m),children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 p-2 sm:p-4 border-b min-w-0`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center bg-muted/50 rounded-lg p-1 gap-1`,children:[(0,L.jsx)(N,{variant:`ghost`,size:`sm`,onClick:ne,className:`h-8`,"aria-label":`Go to today`,children:A(`calendar.today`)}),(0,L.jsx)(`div`,{className:`h-4 w-px bg-border mx-1`}),(0,L.jsx)(N,{variant:`ghost`,size:`icon`,"aria-label":`Previous period`,onClick:ee,className:`h-8 w-8`,children:(0,L.jsx)(y,{className:`h-4 w-4`})}),(0,L.jsx)(N,{variant:`ghost`,size:`icon`,"aria-label":`Next period`,onClick:te,className:`h-8 w-8`,children:(0,L.jsx)(f,{className:`h-4 w-4`})})]}),(0,L.jsxs)(E,{children:[(0,L.jsx)(k,{asChild:!0,children:(0,L.jsxs)(N,{variant:`ghost`,"aria-label":`Current date: ${z()}`,className:O(`text-base sm:text-xl font-semibold h-auto px-2 sm:px-3 py-1 hover:bg-muted/50 transition-colors`,`flex items-center gap-2`),children:[(0,L.jsx)(d,{className:`h-5 w-5 text-muted-foreground`}),(0,L.jsx)(`span`,{children:z()})]})}),(0,L.jsx)(w,{className:`w-auto p-0`,align:`start`,children:(0,L.jsx)(D,{mode:`single`,selected:b,onSelect:e=>{e&&(T(e),s?.(e))},autoFocus:!0,startMonth:new Date(2e3,0),endMonth:new Date(2050,11)})})]})]}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsxs)(_,{value:g,onValueChange:R,children:[(0,L.jsx)(C,{className:`w-32 bg-background`,children:(0,L.jsx)(x,{})}),(0,L.jsxs)(j,{children:[(0,L.jsx)(h,{value:`day`,children:A(`calendar.day`)}),(0,L.jsx)(h,{value:`week`,children:A(`calendar.week`)}),(0,L.jsx)(h,{value:`month`,children:A(`calendar.month`)})]})]}),c&&(0,L.jsxs)(N,{onClick:c,size:`sm`,className:`gap-1`,children:[(0,L.jsx)(S,{className:`h-4 w-4`}),A(`calendar.newEvent`)]})]})]}),(0,L.jsxs)(`div`,{className:`flex-1 overflow-auto`,onTouchStart:e=>{B.current=e.touches[0].clientX},onTouchEnd:e=>{let t=B.current-e.changedTouches[0].clientX;if(Math.abs(t)>50){let e=new Date(b);g===`day`?e.setDate(e.getDate()+(t>0?1:-1)):g===`week`?e.setDate(e.getDate()+(t>0?7:-7)):e.setMonth(e.getMonth()+(t>0?1:-1)),T(e),s?.(e)}},children:[g===`month`&&(0,L.jsx)(W,{date:b,events:e,locale:P,onEventClick:i,onDateClick:a,onEventDrop:l}),g===`week`&&(0,L.jsx)(Y,{mode:`week`,date:b,events:e,locale:P,slotMinutes:p,onEventClick:i,onEventDrop:l,onTimeRangeSelect:u}),g===`day`&&(0,L.jsx)(Y,{mode:`day`,date:b,events:e,locale:P,slotMinutes:p,onEventClick:i,onEventDrop:l,onTimeRangeSelect:u})]})]})}function oe(e){let t=new Date(e),n=t.getDay(),r=t.getDate()-n;return t.setDate(r),t}function se(e){let t=e.getFullYear(),n=e.getMonth(),r=new Date(t,n,1),i=new Date(t,n+1,0),a=r.getDay(),o=[];for(let e=a-1;e>=0;e--){let t=new Date(r.getTime());t.setDate(t.getDate()-(e+1)),o.push(t)}for(let e=1;e<=i.getDate();e++)o.push(new Date(t,n,e));let s=42-o.length;for(let e=1;e<=s;e++){let t=new Date(i.getTime());t.setDate(t.getDate()+e),o.push(t)}return o}function U(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function W({date:e,events:t,locale:n=`default`,onEventClick:r,onDateClick:i,onEventDrop:a}){let o=I.useMemo(()=>se(e),[e.getFullYear(),e.getMonth()]),s=I.useMemo(()=>new Date,[]),{t:c}=H(),l=I.useMemo(()=>{let e=new Date(2024,0,7);return Array.from({length:7},(t,r)=>{let i=new Date(e);return i.setDate(i.getDate()+r),i.toLocaleDateString(n,{weekday:`short`})})},[n]),[u,d]=I.useState(null),[f,p]=I.useState(null),m=I.useMemo(()=>{let e=new Map;for(let n of t){let t=new Date(n.start),r=n.end?new Date(n.end):new Date(t);t.setHours(0,0,0,0),r.setHours(0,0,0,0);let i=new Date(t);for(;i<=r;){let a=`${i.getFullYear()}-${i.getMonth()}-${i.getDate()}`,o=i.getTime()===t.getTime(),s=i.getTime()===r.getTime(),c=o||s||i.getDay()===0,l=e.get(a),u={event:n,isTitleDay:c,isSpanStart:o,isSpanEnd:s};l?l.push(u):e.set(a,[u]),i.setDate(i.getDate()+1)}}return e},[t]),h=(e,t,n=`move`,r)=>{d(t.id),e.dataTransfer.effectAllowed=`move`;let i={id:t.id,mode:n,...r?{sourceDay:`${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`}:{}};e.dataTransfer.setData(`text/plain`,JSON.stringify(i)),n===`resize-end`&&e.stopPropagation()},g=()=>{d(null),p(null)},_=(e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,p(t)},v=e=>{e.currentTarget.contains(e.relatedTarget)||p(null)},y=(e,n)=>{if(e.preventDefault(),p(null),d(null),!a)return;let r=e.dataTransfer.getData(`text/plain`),i;try{i=JSON.parse(r)}catch{i={id:r,mode:`move`}}let o=t.find(e=>String(e.id)===String(i.id));if(!o)return;let s=new Date(n);if(s.setHours(0,0,0,0),i.mode===`resize-end`){let e=o.end?new Date(o.end):new Date(o.start),t=new Date(e);if(t.setHours(0,0,0,0),s.getTime()===t.getTime())return;let n=new Date(o.start);if(n.setHours(0,0,0,0),s.getTime()<n.getTime())return;let r=new Date(s);r.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),0),a(o,new Date(o.start),r);return}let c=new Date(o.start),l;if(i.sourceDay){let[e,t,n]=i.sourceDay.split(`-`).map(e=>parseInt(e,10));l=new Date(e,t,n)}else l=new Date(c);l.setHours(0,0,0,0);let u=s.getTime()-l.getTime();if(u===0)return;let f=new Date(c.getTime()+u),m;o.end&&(m=new Date(new Date(o.end).getTime()+u)),a(o,f,m)};return(0,L.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,L.jsx)(`div`,{role:`row`,className:`grid grid-cols-7 border-b`,children:l.map(e=>(0,L.jsx)(`div`,{role:`columnheader`,className:`p-2 text-center text-sm font-medium text-muted-foreground border-r last:border-r-0`,children:e},e))}),(0,L.jsx)(`div`,{role:`grid`,"aria-label":`Calendar grid`,className:`grid grid-cols-7 flex-1 auto-rows-fr`,children:o.map((t,n)=>{let o=`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`,l=m.get(o)||[],d=t.getMonth()===e.getMonth(),p=U(t,s);return(0,L.jsxs)(`div`,{role:`gridcell`,"aria-label":`${t.toLocaleDateString(`default`,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})}${l.length>0?`, ${l.length} event${l.length>1?`s`:``}`:``}`,className:O(`border-b border-r last:border-r-0 p-2 min-h-[100px] cursor-pointer hover:bg-accent/50`,!d&&`bg-muted/50 text-muted-foreground opacity-50`,f===n&&`ring-2 ring-primary`),onClick:()=>i?.(t),onDragOver:e=>_(e,n),onDragLeave:v,onDrop:e=>y(e,t),children:[(0,L.jsx)(`div`,{className:O(`text-sm font-medium mb-2`,p&&`inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground h-6 w-6`),...p?{"aria-current":`date`}:{},children:t.getDate()}),(0,L.jsxs)(`div`,{className:`space-y-0.5`,children:[l.slice(0,4).map(({event:e,isTitleDay:n,isSpanStart:i,isSpanEnd:o},s)=>{let c=!n,{className:l,inlineColor:d}=V(e.color),f=!!a&&o;return(0,L.jsxs)(`div`,{role:`button`,title:e.title,"aria-label":e.title,draggable:!!a,onDragStart:n=>h(n,e,`move`,t),onDragEnd:g,className:O(`relative text-xs hover:opacity-80 truncate`,a?`cursor-move`:`cursor-pointer`,c?`h-1.5`:`px-2 py-0.5`,i?`rounded-l`:`rounded-l-none`,o?`rounded-r`:`rounded-r-none`,!o&&`-mr-2`,l,u===e.id&&`opacity-50`),style:d?{backgroundColor:d}:void 0,onClick:t=>{t.stopPropagation(),r?.(e)},children:[c?``:e.title,f&&(0,L.jsx)(`span`,{role:`separator`,"aria-label":`Resize event end`,title:`Drag to change end date`,draggable:!0,onDragStart:n=>h(n,e,`resize-end`,t),onDragEnd:g,onClick:e=>e.stopPropagation(),className:`absolute inset-y-0 right-0 w-2 cursor-ew-resize bg-black/25 hover:bg-black/50 rounded-r`})]},`${e.id}-${s}`)}),l.length>4&&(0,L.jsx)(`div`,{className:`text-xs text-muted-foreground px-2`,children:c(`calendar.moreEvents`,{count:l.length-4})})]})]},n)})})]})}var G=48;function K(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function q(e){return e.getHours()*60+e.getMinutes()}function J(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`}function Y({mode:e,date:t,events:n,locale:r=`default`,slotMinutes:i=30,onEventClick:a,onEventDrop:o,onTimeRangeSelect:s}){let{t:c}=H(),l=G*i/60,u=G*24,d=I.useMemo(()=>{if(e===`day`)return[K(t)];let n=oe(t);return Array.from({length:7},(e,t)=>{let r=new Date(n);return r.setDate(n.getDate()+t),K(r)})},[e,t.getFullYear(),t.getMonth(),t.getDate()]),f=I.useMemo(()=>new Date,[]),p=I.useCallback(e=>{if(e.allDay)return!0;let t=new Date(e.start),n=e.end?new Date(e.end):new Date(t),r=t.getHours()===0&&t.getMinutes()===0&&t.getSeconds()===0,i=n.getHours()===0&&n.getMinutes()===0&&n.getSeconds()===0,a=n.getTime()-t.getTime();return!!(r&&i||a>=1440*60*1e3)},[]),{allDayEvents:m,timedEvents:h}=I.useMemo(()=>{let e=[],t=[];for(let r of n)p(r)?e.push(r):t.push(r);return{allDayEvents:e,timedEvents:t}},[n,p]),g=I.useMemo(()=>{let e=new Map;for(let t of d)e.set(J(t),[]);for(let t of m){let n=K(new Date(t.start)),r=t.end?new Date(t.end):new Date(t.start),i=K(r);r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getTime()>n.getTime()&&(i=new Date(i),i.setDate(i.getDate()-1));for(let r of d){let a=K(r);a<n||a>i||e.get(J(r)).push({event:t,isStart:a.getTime()===n.getTime(),isEnd:a.getTime()===i.getTime()})}}return e},[d,m]),_=I.useMemo(()=>{let e=new Map;for(let t of d)e.set(J(t),[]);for(let t of h){let n=new Date(t.start),r=t.end?new Date(t.end):new Date(n.getTime()+3600*1e3);for(let i of d){let a=K(i),o=new Date(a);if(o.setDate(o.getDate()+1),r<=a||n>=o)continue;let s=n<a?a:n,c=r>o?o:r,l=q(s),u=c.getTime()===o.getTime()?1440:q(c);e.get(J(i)).push({event:t,startMin:l,endMin:Math.max(u,l+15),isStart:s.getTime()===n.getTime(),isEnd:c.getTime()===r.getTime()})}}return e},[d,h]),v=I.useMemo(()=>{let e=new Map;for(let[t,n]of _){let r=[...n].sort((e,t)=>e.startMin-t.startMin||e.endMin-t.endMin),i=[],a=[],o=[];for(let e of r){let t=0;for(;i[t]&&i[t].endMin>e.startMin;)t++;i[t]={endMin:e.endMin},a.push({entry:e,col:t})}for(let e=0;e<a.length;e++){let t=a[e],n=t.col;for(let r=0;r<a.length;r++){if(r===e)continue;let i=a[r];i.entry.startMin<t.entry.endMin&&i.entry.endMin>t.entry.startMin&&i.col>n&&(n=i.col)}o.push({...t.entry,col:t.col,cols:n+1})}e.set(t,o)}return e},[_]),y=I.useRef(null),b=I.useRef([]),[x,S]=I.useState(null),C=I.useRef(null);C.current=x;let w=I.useRef(!1),T=I.useCallback((e,t)=>{let n=b.current[t];if(!n)return 0;let r=(e-n.getBoundingClientRect().top+n.scrollTop)/G*60,a=Math.round(r/i)*i;return Math.max(0,Math.min(1440,a))},[i]),E=I.useCallback(e=>{for(let t=0;t<b.current.length;t++){let n=b.current[t];if(!n)continue;let r=n.getBoundingClientRect();if(e>=r.left&&e<=r.right)return t}return-1},[]);I.useEffect(()=>{if(!x)return;let e=e=>{let t=x.kind===`select`||x.kind===`move`?E(e.clientX):x.dayIndex,n=t<0?x.dayIndex??0:t,r=T(e.clientY,n);S(e=>e&&(e.kind===`select`?{...e,dayIndex:n>=0?n:e.dayIndex,headMinutes:r}:e.kind===`move`?{...e,dayIndex:n,minutes:r}:{...e,minutes:r}))},t=e=>{let t=C.current;if(!t){S(null);return}try{if(t.kind===`select`&&s){let e=Math.min(t.anchorMinutes,t.headMinutes),n=Math.max(t.anchorMinutes,t.headMinutes),r=e,a=n===e?Math.min(1440,e+i):n,o=d[t.dayIndex]??d[0],c=new Date(o);c.setHours(0,Math.round(r),0,0);let l=new Date(o);l.setHours(0,Math.round(a),0,0),w.current=!0,s(c,l)}else if(t.kind===`move`&&o){let e=n.find(e=>String(e.id)===String(t.eventId));if(e){let n=t.dayIndex<0?0:t.dayIndex,r=t.minutes-t.grabMinuteOffset,a=Math.max(0,Math.min(1440-t.durationMin,Math.round(r/i)*i)),s=d[n]??d[0],c=new Date(s);c.setHours(0,a,0,0);let l=new Date(c.getTime()+t.durationMin*60*1e3);w.current=!0,o(e,c,l)}}else if(t.kind===`resize-top`&&o){let e=n.find(e=>String(e.id)===String(t.eventId));if(e){let n=d[t.dayIndex]??d[0],r=Math.min(t.anchorEndMin-i,Math.max(0,t.minutes)),a=new Date(n);a.setHours(0,r,0,0);let s=new Date(n);s.setHours(0,t.anchorEndMin,0,0),w.current=!0,o(e,a,s)}}else if(t.kind===`resize-bottom`&&o){let e=n.find(e=>String(e.id)===String(t.eventId));if(e){let n=d[t.dayIndex]??d[0],r=Math.max(t.anchorStartMin+i,Math.min(1440,t.minutes)),a=new Date(n);a.setHours(0,t.anchorStartMin,0,0);let s=new Date(n);s.setHours(0,r,0,0),w.current=!0,o(e,a,s)}}}finally{S(null),setTimeout(()=>{w.current=!1},50)}};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[x,d,n,i,o,s,E,T]);let D=I.useMemo(()=>d.map(e=>({weekday:e.toLocaleDateString(r,{weekday:`short`}),day:e.getDate(),month:e.toLocaleDateString(r,{month:`short`}),isToday:U(e,f)})),[d,r,f]),k=I.useMemo(()=>Array.from({length:24},(e,t)=>new Date(2024,0,1,t,0).toLocaleTimeString(r,{hour:`numeric`})),[r]),A=(e,t,n,r)=>{if(!o||e.button!==0)return;e.stopPropagation(),e.preventDefault();let i=T(e.clientY,n);S(r===`body`?{kind:`move`,eventId:t.event.id,grabMinuteOffset:Math.max(0,i-t.startMin),durationMin:t.endMin-t.startMin,dayIndex:n,minutes:i}:r===`top`?{kind:`resize-top`,eventId:t.event.id,anchorEndMin:t.endMin,dayIndex:n,minutes:i}:{kind:`resize-bottom`,eventId:t.event.id,anchorStartMin:t.startMin,dayIndex:n,minutes:i})},j=(e,t)=>{if(!s||e.button!==0)return;e.preventDefault();let n=T(e.clientY,t);S({kind:`select`,dayIndex:t,anchorMinutes:n,headMinutes:n})},M=e=>{if(!x)return null;if(x.kind===`select`&&x.dayIndex===e){let t=Math.min(x.anchorMinutes,x.headMinutes),n=Math.max(x.anchorMinutes,x.headMinutes);return(0,L.jsx)(`div`,{className:`absolute left-1 right-1 rounded bg-primary/30 border border-primary pointer-events-none z-10`,style:{top:t/60*G,height:Math.max(l,(n-t)/60*G)},"aria-hidden":!0,children:(0,L.jsx)(`div`,{className:`px-2 py-0.5 text-xs font-medium text-primary`,children:X(d[e],t,n,r)})})}if(x.kind===`move`&&x.dayIndex===e){let t=x.minutes-x.grabMinuteOffset,n=Math.max(0,Math.min(1440-x.durationMin,Math.round(t/i)*i));return(0,L.jsx)(`div`,{className:`absolute left-1 right-1 rounded border-2 border-dashed border-primary bg-primary/10 pointer-events-none z-10`,style:{top:n/60*G,height:x.durationMin/60*G},"aria-hidden":!0,children:(0,L.jsx)(`div`,{className:`px-2 py-0.5 text-xs font-medium text-primary`,children:X(d[e],n,n+x.durationMin,r)})})}if((x.kind===`resize-top`||x.kind===`resize-bottom`)&&x.dayIndex===e){let t,n;return x.kind===`resize-top`?(t=Math.min(x.anchorEndMin-i,Math.max(0,x.minutes)),n=x.anchorEndMin):(t=x.anchorStartMin,n=Math.max(x.anchorStartMin+i,Math.min(1440,x.minutes))),(0,L.jsx)(`div`,{className:`absolute left-1 right-1 rounded border-2 border-dashed border-primary bg-primary/10 pointer-events-none z-10`,style:{top:t/60*G,height:(n-t)/60*G},"aria-hidden":!0,children:(0,L.jsx)(`div`,{className:`px-2 py-0.5 text-xs font-medium text-primary`,children:X(d[e],t,n,r)})})}return null};return(0,L.jsxs)(`div`,{className:`flex flex-col h-full`,ref:y,children:[(0,L.jsxs)(`div`,{className:`flex border-b sticky top-0 bg-background z-20`,children:[(0,L.jsx)(`div`,{className:`w-14 shrink-0 border-r`,"aria-hidden":!0}),D.map((e,t)=>(0,L.jsxs)(`div`,{role:`columnheader`,className:O(`flex-1 p-2 text-center text-sm border-r last:border-r-0`,e.isToday&&`bg-primary/5`),children:[(0,L.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.weekday}),(0,L.jsx)(`div`,{className:O(`font-medium`,e.isToday&&`inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground h-6 w-6 mx-auto`),children:e.day})]},t))]}),m.length>0&&(0,L.jsxs)(`div`,{className:`flex border-b bg-muted/20 max-h-[140px] overflow-y-auto`,children:[(0,L.jsx)(`div`,{className:`w-14 shrink-0 border-r flex items-start justify-end pr-1 pt-1 text-[10px] text-muted-foreground sticky left-0 bg-muted/20`,children:c(`calendar.allDay`)===`calendar.allDay`?`all-day`:c(`calendar.allDay`)}),d.map(e=>{let t=J(e);return(0,L.jsx)(`div`,{className:`flex-1 border-r last:border-r-0 min-h-[28px] p-0.5 space-y-0.5`,children:(g.get(t)??[]).map(({event:e,isStart:t,isEnd:n},r)=>{let{className:i,inlineColor:o}=V(e.color);return(0,L.jsx)(`div`,{role:`button`,title:e.title,onClick:t=>{t.stopPropagation(),a?.(e)},className:O(`text-[11px] px-2 py-0.5 truncate cursor-pointer hover:opacity-80`,t?`rounded-l`:`rounded-l-none -ml-0.5`,n?`rounded-r`:`rounded-r-none -mr-0.5`,i),style:o?{backgroundColor:o}:void 0,children:t?e.title:`\xA0`},`${e.id}-${r}`)})},t)})]}),(0,L.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,L.jsxs)(`div`,{className:`flex`,style:{height:u},children:[(0,L.jsx)(`div`,{className:`w-14 shrink-0 border-r relative`,children:k.map((e,t)=>(0,L.jsx)(`div`,{className:`absolute right-1 text-[10px] text-muted-foreground -translate-y-1/2`,style:{top:t*G},children:t===0?``:e},t))}),d.map((e,t)=>{let n=J(e),s=v.get(n)??[];return(0,L.jsxs)(`div`,{ref:e=>{b.current[t]=e},className:`flex-1 border-r last:border-r-0 relative select-none`,style:{height:u},onPointerDown:e=>j(e,t),"aria-label":e.toLocaleDateString(r,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`}),children:[Array.from({length:24},(e,t)=>(0,L.jsx)(`div`,{className:`absolute left-0 right-0 border-t border-muted/60 pointer-events-none`,style:{top:t*G}},t)),i<60&&Array.from({length:Math.floor(1440/i)},(e,t)=>{let n=t*i;return n%60==0?null:(0,L.jsx)(`div`,{className:`absolute left-0 right-0 border-t border-dashed border-muted/30 pointer-events-none`,style:{top:n/60*G}},t)}),s.map(n=>{let i=n.startMin/60*G,s=Math.max(l,(n.endMin-n.startMin)/60*G),c=100/n.cols,u=n.col*c,{className:d,inlineColor:f}=V(n.event.color),p=x&&x.eventId===n.event.id;return(0,L.jsxs)(`div`,{role:`button`,tabIndex:0,title:n.event.title,"aria-label":n.event.title,onPointerDown:e=>A(e,n,t,`body`),onClick:e=>{if(w.current){e.stopPropagation();return}e.stopPropagation(),a?.(n.event)},className:O(`absolute rounded text-xs px-2 py-1 overflow-hidden shadow-sm`,o?`cursor-move`:`cursor-pointer`,d,p&&`opacity-40`),style:{top:i,height:s,left:`calc(${u}% + 2px)`,width:`calc(${c}% - 4px)`,...f?{backgroundColor:f}:{}},children:[(0,L.jsx)(`div`,{className:`font-medium truncate`,children:n.event.title}),(0,L.jsx)(`div`,{className:`text-[10px] opacity-80 truncate`,children:X(e,n.startMin,n.endMin,r)}),o&&n.isStart&&(0,L.jsx)(`div`,{onPointerDown:e=>A(e,n,t,`top`),className:`absolute top-0 left-0 right-0 h-1.5 cursor-ns-resize`,"aria-label":`Resize start`}),o&&n.isEnd&&(0,L.jsx)(`div`,{onPointerDown:e=>A(e,n,t,`bottom`),className:`absolute bottom-0 left-0 right-0 h-1.5 cursor-ns-resize`,"aria-label":`Resize end`})]},`${n.event.id}-${n.startMin}`)}),M(t)]},n)})]})})]})}function X(e,t,n,r){let i=new Date(e);i.setHours(0,Math.round(t),0,0);let a=new Date(e);a.setHours(0,Math.round(n),0,0);let o=e=>e.toLocaleTimeString(r,{hour:`numeric`,minute:`2-digit`});return`${o(i)} – ${o(a)}`}function ce(e){return`data`in e&&e.data?e.data:`staticData`in e&&e.staticData?{provider:`value`,items:e.staticData}:e.objectName?{provider:`object`,object:e.objectName}:null}function le(e){if(e){if(typeof e==`string`){let t=e.split(` `),n=t[0],r=t[1]?.toLowerCase()===`desc`?`desc`:`asc`;return{[n]:r}}if(Array.isArray(e))return e.reduce((e,t)=>(t.field&&t.order&&(e[t.field]=t.order),e),{})}}function ue(e){return`filter`in e&&e.filter&&typeof e.filter==`object`&&`calendar`in e.filter?e.filter.calendar:e.calendar?e.calendar:e.startDateField||e.dateField?{startDateField:e.startDateField||e.dateField,endDateField:e.endDateField||e.endField,titleField:e.titleField,colorField:e.colorField,allDayField:e.allDayField}:null}var Z=({schema:e,dataSource:t,className:n,data:r,loading:i,onEventClick:c,onRowClick:l,onDateClick:d,onNavigate:f,onViewChange:h,onEventDrop:_,locale:y})=>{let x=Array.isArray(r),[S,C]=(0,I.useState)(x?r:[]),[w,E]=(0,I.useState)(x?i??!1:!0),[D,O]=(0,I.useState)(null),[k,j]=(0,I.useState)(null),[ne,re]=(0,I.useState)(new Date),R=P(),z=e.defaultView,[B,V]=(0,I.useState)(()=>{let e=z===`day`||!z;return typeof window<`u`&&window.innerWidth<768&&e?`month`:z||`month`});(0,I.useEffect)(()=>{R&&B===`day`&&(z===`day`||!z)&&V(`month`)},[R]);let[ie,H]=(0,I.useState)(0);(0,I.useEffect)(()=>{if(!x&&!(!t?.onMutation||!e.objectName))return t.onMutation(t=>{t.resource===e.objectName&&H(e=>e+1)})},[t,e.objectName,x]);let{ref:oe,isRefreshing:se,pullDistance:U}=te({onRefresh:(0,I.useCallback)(async()=>{H(e=>e+1)},[]),enabled:!!t&&!!e.objectName}),W=(0,I.useMemo)(()=>ce(e),[e.data,e.staticData,e.objectName]),G=(0,I.useMemo)(()=>ue(e),[e.filter,e.calendar,e.dateField,e.endField,e.titleField,e.colorField]),K=W?.provider===`value`,q=(0,I.useRef)(null);q.current=k,(0,I.useEffect)(()=>{x&&C(r)},[r,x]),(0,I.useEffect)(()=>{x&&i!==void 0&&E(i)},[i,x]),(0,I.useEffect)(()=>{if(x)return;let n=!0;return(async()=>{try{if(!n)return;if(E(!0),K&&W?.provider===`value`){n&&(C(W.items),E(!1));return}if(!t||typeof t.find!=`function`)throw Error(`DataSource required for object/api providers`);if(W?.provider===`object`){let r=W.object,i=a(q.current?.fields),s=o(await t.find(r,{$filter:e.filter,$orderby:le(e.sort),...i.length>0?{$expand:i}:{}}));n&&C(s)}else W?.provider===`api`&&(console.warn(`API provider not yet implemented for ObjectCalendar`),n&&C([]));n&&E(!1)}catch(e){console.error(`[ObjectCalendar] Error fetching data:`,e),n&&(O(e),E(!1))}})(),()=>{n=!1}},[x,W,t,K,e.filter,e.sort,ie]),(0,I.useEffect)(()=>{!K&&t&&(async()=>{try{if(!t)return;let n=W?.provider===`object`?W.object:e.objectName;if(!n)return;let r=await t.getObjectSchema(n);j(r)}catch(e){console.error(`Failed to fetch object schema:`,e)}})()},[e.objectName,t,K,W]);let J=(0,I.useMemo)(()=>{if(!G||!S.length)return[];let{startDateField:e,endDateField:t,titleField:n,colorField:r}=G,i=e=>{if(n){let t=e[n],r=typeof t==`string`?t.trim():t;if(r)return String(r)}return s(k,e)};return S.map((n,a)=>{let o=n[e],s=t?n[t]:null,c=i(n),l=r?n[r]:void 0;return{id:n.id||n._id||`event-${a}`,title:c,start:o?new Date(o):new Date,end:s?new Date(s):void 0,color:l,allDay:!s,data:n}}).filter(e=>!isNaN(e.start.getTime()))},[S,G,k]);(0,I.useCallback)(()=>{d?.(new Date)},[d]);let Y=e.navigation??{mode:`drawer`,width:`min(960px, 60vw)`},X=Y.mode===`drawer`||Y.mode===`modal`||Y.mode===`split`||Y.mode===`popover`,Z=u({navigation:Y,objectName:e.objectName,onRowClick:X?void 0:l}),de=(0,I.useCallback)(async(n,r,i)=>{if(!G)return;let{startDateField:a,endDateField:o}=G,s=n?.id??n?._id;if(!s||!e.objectName||!t?.update)return;let c={[a]:r.toISOString()};o&&i&&(c[o]=i.toISOString());let l=S;C(e=>e.map(e=>(e?.id??e?._id)===s?{...e,...c}:e));try{await t.update(e.objectName,s,c)}catch(e){C(l),console.error(`[ObjectCalendar] Failed to persist drag-and-drop reschedule:`,e)}},[G,e.objectName,t,S]),[Q,$]=(0,I.useState)(null),fe=(0,I.useCallback)(n=>{!G||!e.objectName||!t?.create||$({start:n,title:``,submitting:!1})},[G,e.objectName,t]),pe=(0,I.useCallback)((n,r)=>{!G||!e.objectName||!t?.create||$({start:n,end:r,title:``,submitting:!1})},[G,e.objectName,t]),me=(0,I.useCallback)(async()=>{if(!Q||!G)return;let n=Q.title.trim();if(!n){$(e=>e&&{...e,error:`Title is required`});return}if(!e.objectName||!t?.create)return;$(e=>e&&{...e,submitting:!0,error:void 0});let{startDateField:r,endDateField:i,titleField:a}=G,o={[a||`name`]:n,[r]:Q.start.toISOString()};i&&(o[i]=(Q.end??Q.start).toISOString());let s=k?.fields;if(s&&typeof s==`object`){let e=Array.isArray(s)?s.map(e=>[e.name??e.apiName,e]):Object.entries(s);for(let[t,n]of e){if(!t||t in o||!n?.required)continue;if(n.defaultValue!==void 0&&n.defaultValue!==null){o[t]=n.defaultValue;continue}let e=n.type;if(e===`select`||e===`picklist`||e===`status`){let e=(n.options||n.choices||[])[0];e!==void 0&&(o[t]=typeof e==`object`?e.value??e.id:e)}else e===`boolean`||e===`checkbox`?o[t]=!1:(e===`number`||e===`integer`||e===`decimal`||e===`currency`||e===`percent`)&&(o[t]=0)}}try{let n=await t.create(e.objectName,o),r=(n&&(n.record||n.data||n))??null;r&&(r.id!==void 0||r._id!==void 0)&&C(e=>[...e,r]),$(null)}catch(e){let t=e?.message||String(e);$(e=>e&&{...e,submitting:!1,error:t}),console.error(`[ObjectCalendar] Quick-create failed:`,e)}},[Q,G,e.objectName,t,k]);return w?(0,L.jsx)(`div`,{className:n,children:(0,L.jsx)(`div`,{className:`flex items-center justify-center h-96`,children:(0,L.jsx)(`div`,{className:`text-muted-foreground`,children:`Loading calendar...`})})}):D?(0,L.jsx)(`div`,{className:n,children:(0,L.jsx)(`div`,{className:`flex items-center justify-center h-96`,children:(0,L.jsxs)(`div`,{className:`text-destructive`,children:[`Error: `,D.message]})})}):G?(0,L.jsxs)(`div`,{ref:oe,className:n,children:[U>0&&(0,L.jsx)(`div`,{className:`flex items-center justify-center text-xs text-muted-foreground`,style:{height:U},children:se?`Refreshing…`:`Pull to refresh`}),(0,L.jsx)(`div`,{className:`bg-background h-[calc(100vh-120px)] sm:h-[calc(100vh-160px)] md:h-[calc(100vh-200px)] min-h-[400px] sm:min-h-[600px]`,children:(0,L.jsx)(ae,{events:J,currentDate:ne,view:B,locale:y,onEventClick:e=>{Z.handleClick(e.data),X||c?.(e.data)},onDateClick:e=>{d?d(e):fe(e)},onNavigate:e=>{re(e),f?.(e)},onViewChange:e=>{V(e),h?.(e)},onAddClick:void 0,onEventDrop:(e,t,n)=>{_?_(e.data,t,n):de(e.data,t,n)},onTimeRangeSelect:pe})}),(0,L.jsx)(v,{open:!!Q,onOpenChange:e=>{e||$(null)},children:(0,L.jsxs)(b,{className:`sm:max-w-md`,children:[(0,L.jsxs)(A,{children:[(0,L.jsx)(m,{children:`New event`}),(0,L.jsx)(p,{children:Q&&(()=>{let e=Q.end&&Q.end.getTime()!==Q.start.getTime(),t=Q.start.toLocaleDateString(y,{year:`numeric`,month:`long`,day:`numeric`});if(e){let e=e=>e.toLocaleTimeString(y,{hour:`numeric`,minute:`2-digit`});return(0,L.jsxs)(L.Fragment,{children:[t,` · `,e(Q.start),` – `,e(Q.end)]})}return(0,L.jsxs)(L.Fragment,{children:[`On `,t]})})()})]}),(0,L.jsxs)(`div`,{className:`space-y-2`,children:[(0,L.jsx)(T,{htmlFor:`quick-create-title`,children:`Title`}),(0,L.jsx)(M,{id:`quick-create-title`,autoFocus:!0,value:Q?.title??``,onChange:e=>$(t=>t&&{...t,title:e.target.value,error:void 0}),onKeyDown:e=>{e.key===`Enter`&&!Q?.submitting&&(e.preventDefault(),me())},placeholder:`What's this event about?`,disabled:Q?.submitting}),Q?.error&&(0,L.jsx)(`p`,{className:`text-sm text-destructive`,children:Q.error})]}),(0,L.jsxs)(g,{children:[(0,L.jsx)(N,{variant:`outline`,onClick:()=>$(null),disabled:Q?.submitting,children:`Cancel`}),(0,L.jsx)(N,{onClick:()=>void me(),disabled:Q?.submitting||!Q?.title.trim(),children:Q?.submitting?`Creating…`:`Create`})]})]})}),Z.isOverlay&&Z.isOpen&&Z.selectedRecord&&(()=>{let n=W?.provider===`object`?W.object:e.objectName,r=Z.selectedRecord,i=r.id??r._id;if(!n||i==null)return null;let a=G?.titleField?String(r[G.titleField]??`Event Details`):`Event Details`;return(0,L.jsx)(F,{open:!0,onClose:Z.close,title:a,record:r,objectName:n,recordId:i,dataSource:t,objectSchema:k,width:Z.width??`min(960px, 60vw)`,fullPageHref:ee(n,i)??void 0,onFieldSave:async(e,r)=>{t?.update&&(await t.update(n,String(i),{[e]:r}),C(t=>t.map(t=>String(t.id??t._id)===String(i)?{...t,[e]:r}:t)))},onDelete:async()=>{t?.delete&&(await t.delete(n,String(i)),C(e=>e.filter(e=>String(e.id??e._id)!==String(i))))}})})()]}):(0,L.jsx)(`div`,{className:n,children:(0,L.jsx)(`div`,{className:`flex items-center justify-center h-96`,children:(0,L.jsx)(`div`,{className:`text-muted-foreground`,children:`Calendar configuration required. Please specify startDateField and titleField.`})})})};i.register(`calendar-view`,({schema:e,className:t,onAction:n,...r})=>{let i=I.useMemo(()=>!e.data||!Array.isArray(e.data)?[]:e.data.map((t,n)=>{let r=e.titleField||`title`,i=e.startDateField||`start`,a=e.endDateField||`end`,o=e.colorField||`color`,s=e.allDayField||`allDay`;return{id:t.id||t._id||n,title:t[r]||`Untitled Event`,start:new Date(t[i]),end:t[a]?new Date(t[a]):void 0,allDay:t[s],color:t[o],data:t}}),[e.data,e.titleField,e.startDateField,e.endDateField,e.colorField,e.allDayField]);return(0,L.jsx)(ae,{className:t,events:i,onEventClick:e=>{n?.({type:`event-click`,payload:e})},...r})},{namespace:`plugin-calendar`,label:`Calendar View`,inputs:[{name:`data`,type:`array`,label:`Data`,description:`Array of record objects to display as events`},{name:`titleField`,type:`string`,label:`Title Field`,defaultValue:`title`,description:`Field name to use for event title`},{name:`startDateField`,type:`string`,label:`Start Date Field`,defaultValue:`start`,description:`Field name for event start date`},{name:`endDateField`,type:`string`,label:`End Date Field`,defaultValue:`end`,description:`Field name for event end date (optional)`},{name:`allDayField`,type:`string`,label:`All Day Field`,defaultValue:`allDay`,description:`Field name for all-day flag`},{name:`colorField`,type:`string`,label:`Color Field`,defaultValue:`color`,description:`Field name for event color`},{name:`colorMapping`,type:`object`,label:`Color Mapping`,description:`Map field values to colors (e.g., {meeting: "blue", deadline: "red"})`},{name:`view`,type:`enum`,enum:[`month`,`week`,`day`],defaultValue:`month`,label:`View Mode`,description:`Calendar view mode (month, week, or day)`},{name:`currentDate`,type:`string`,label:`Current Date`,description:`ISO date string for initial calendar date`},{name:`allowCreate`,type:`boolean`,label:`Allow Create`,defaultValue:!1,description:`Allow creating events by clicking on dates`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{view:`month`,titleField:`title`,startDateField:`start`,endDateField:`end`,allDayField:`allDay`,colorField:`color`,allowCreate:!1,data:[{id:1,title:`Team Meeting`,start:new Date(new Date().setHours(10,0,0,0)).toISOString(),end:new Date(new Date().setHours(11,0,0,0)).toISOString(),color:`#3b82f6`,allDay:!1},{id:2,title:`Project Deadline`,start:new Date(new Date().setDate(new Date().getDate()+3)).toISOString(),color:`#ef4444`,allDay:!0},{id:3,title:`Conference`,start:new Date(new Date().setDate(new Date().getDate()+7)).toISOString(),end:new Date(new Date().setDate(new Date().getDate()+9)).toISOString(),color:`#10b981`,allDay:!0}],className:`h-[600px] border rounded-lg`}});var de=t({CalendarView:()=>ae,ObjectCalendar:()=>Z,ObjectCalendarRenderer:()=>Q}),Q=({schema:e,...t})=>{let{dataSource:n}=l()||{};return(0,L.jsx)(Z,{schema:e,dataSource:n,...t})};i.register(`object-calendar`,Q,{namespace:`plugin-calendar`,label:`Object Calendar`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`calendar`,type:`object`,label:`Calendar Config`,description:`startDateField, endDateField, titleField, colorField`}]}),i.register(`calendar`,Q,{namespace:`view`,label:`Calendar View`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`calendar`,type:`object`,label:`Calendar Config`,description:`startDateField, endDateField, titleField, colorField`}]});export{de as t};
|