@objectstack/console 16.0.0-rc.1 → 16.1.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/README.md +1 -1
- package/dist/.objectui-sha +1 -1
- package/dist/assets/{AdapterProvider-DkXaFA1A.js → AdapterProvider-CqW7TSvk.js} +1 -1
- package/dist/assets/{AiPendingActionsPage-C1pkyzWu.js → AiPendingActionsPage-C-QNNI9k.js} +1 -1
- package/dist/assets/{ApiConsolePage-BCujjvCA.js → ApiConsolePage-DSvjQt5N.js} +1 -1
- package/dist/assets/{AppDocsIndex-DwtDfwnR.js → AppDocsIndex-B4Vi3Lmx.js} +1 -1
- package/dist/assets/{AppManagementPage-KPrmIA-f.js → AppManagementPage-l7bxl-aE.js} +1 -1
- package/dist/assets/{ApprovalsInboxPage-DFQUv0F_.js → ApprovalsInboxPage-BV4PlaEv.js} +1 -1
- package/dist/assets/{AuditLogPage-BNkFvefV.js → AuditLogPage-ChJYd7GY.js} +1 -1
- package/dist/assets/{ComponentNavView-FTFk3uvC.js → ComponentNavView-C4OkKu2y.js} +1 -1
- package/dist/assets/CreateViewDialog-DwpQ8KvO.js +1 -0
- package/dist/assets/{DashboardView-Y6nIjjJB.js → DashboardView-CuDS84Jp.js} +1 -1
- package/dist/assets/{DeveloperHubPage-CYPM3AvL.js → DeveloperHubPage-CnVzl2hV.js} +1 -1
- package/dist/assets/{DocShell-DnXj6ocC.js → DocShell-D83T8iWF.js} +1 -1
- package/dist/assets/{ExpressionProvider-BrbZIz2M.js → ExpressionProvider-CyltvbX0.js} +1 -1
- package/dist/assets/{FlowRunsPage-BAbmqrqx.js → FlowRunsPage-BE8HeEGL.js} +1 -1
- package/dist/assets/{IntegrationsPage-CyD9iolE.js → IntegrationsPage-DI3vZb2A.js} +1 -1
- package/dist/assets/{InterfaceListPage-DdaX7c_c.js → InterfaceListPage-BL7sW-SC.js} +1 -1
- package/dist/assets/{ManagedByBadge-DbYycO1m.js → ManagedByBadge-D8aPzQJc.js} +1 -1
- package/dist/assets/MarketplaceAccessDenied-B00hPOtj.js +1 -0
- package/dist/assets/{MarketplaceInstalledPage-BtD9NMRl.js → MarketplaceInstalledPage-BdLyXA35.js} +1 -1
- package/dist/assets/{MarketplacePackagePage-DHrjr3jY.js → MarketplacePackagePage-By15SZoJ.js} +1 -1
- package/dist/assets/{MarketplacePage-Dw2yHsdE.js → MarketplacePage-BKxIWeT_.js} +1 -1
- package/dist/assets/MetadataInspector-CcRGESLn.js +1 -0
- package/dist/assets/{MetadataProvider-BnfG1pyl.js → MetadataProvider-CjWp0ChY.js} +1 -1
- package/dist/assets/ObjectDataPage-DiQJROyN.js +1 -0
- package/dist/assets/{PageView-jtsz_IPE.js → PageView-CJY74CxE.js} +1 -1
- package/dist/assets/{ProfilePage-BhlwjGUP.js → ProfilePage-CjxWQMQA.js} +1 -1
- package/dist/assets/PublicFormsPage-BVEV96-N.js +1 -0
- package/dist/assets/RecordDetailView-DpRJpP6t.js +9 -0
- package/dist/assets/{RecordFormPage-BRDfPdPg.js → RecordFormPage-BMs8Sa4p.js} +1 -1
- package/dist/assets/ReportDefaultInspector-BpXXGsGu.js +3 -0
- package/dist/assets/ReportView-C0fP1MLd.js +2 -0
- package/dist/assets/SearchResultsPage-CjSZ416m.js +1 -0
- package/dist/assets/{SettingsHub-DqS8nfs-.js → SettingsHub-DhWm94wF.js} +1 -1
- package/dist/assets/{SettingsView-DHrrHsbU.js → SettingsView-Dd0B_UlN.js} +1 -1
- package/dist/assets/{SystemHubPage-BWPXrnc9.js → SystemHubPage-C5Widsf0.js} +1 -1
- package/dist/assets/{useMetadata-Byeqylbl.js → createDerive-DGOUbVlZ.js} +1 -1
- package/dist/assets/data-adapter-Dz0aiaG6.js +9 -0
- package/dist/assets/framework-BqSgd3ir.js +8 -0
- package/dist/assets/{getIcon-EzAarNT8.js → getIcon-BZn0biL3.js} +1 -1
- package/dist/assets/{highlighted-body-OFNGDK62-3tGE6imP.js → highlighted-body-OFNGDK62-CDb4f2Sa.js} +1 -1
- package/dist/assets/{i18n-CWIk44wT.js → i18n-SjY5NweX.js} +1 -1
- package/dist/assets/{index-LuGaXtX0.js → index-CgfL2xiq.js} +1 -1
- package/dist/assets/index-De6xiiED.css +2 -0
- package/dist/assets/mermaid-GHXKKRXX-CWn_Hnds.js +1 -0
- package/dist/assets/metadata-admin-BRw86sJ-.js +25 -0
- package/dist/assets/{plugin-calendar-Bx_Bsdae.js → plugin-calendar-C4ZXapZt.js} +1 -1
- package/dist/assets/plugin-charts-D5Lb0q0u.js +7 -0
- package/dist/assets/plugin-chatbot-dJq9DS4J.js +120 -0
- package/dist/assets/{plugin-dashboard-D2VhHDxA.js → plugin-dashboard-Cr7jkjy7.js} +3 -3
- package/dist/assets/{plugin-form-HMQsT2Tp.js → plugin-form-D4kHsl47.js} +1 -1
- package/dist/assets/{plugin-gantt-CMpG3oO4.js → plugin-gantt-8LuVErg3.js} +2 -2
- package/dist/assets/plugin-grid-CDpGckvD.js +8 -0
- package/dist/assets/plugin-kanban-Xwny03DA.js +1 -0
- package/dist/assets/{plugin-map-zagD7Zuk.js → plugin-map-CVC4XDJz.js} +1 -1
- package/dist/assets/{plugin-markdown-DtcSX8M_.js → plugin-markdown-By5yxTCK.js} +1 -1
- package/dist/assets/{plugin-report-BRs6v5vb.js → plugin-report-DwvPiTGE.js} +1 -1
- package/dist/assets/{plugin-timeline-Cl8J9HYj.js → plugin-timeline-D2Sep4-I.js} +1 -1
- package/dist/assets/{plugin-tree-B3zTpUOf.js → plugin-tree-Doah8whm.js} +1 -1
- package/dist/assets/plugin-view-DZXBuUS9.js +1 -0
- package/dist/assets/plugins-views-BGSw-KmQ.js +4 -0
- package/dist/assets/runtime-metadata-persistence-CEZY_PIp.js +1 -0
- package/dist/assets/{skeletons-CPF9cI6N.js → skeletons-D0Z3uPzj.js} +1 -1
- package/dist/assets/src-DPHY2JFl.js +1 -0
- package/dist/assets/src-RHOMTPFk.js +19 -0
- package/dist/assets/{src-A4S4Zx5p.js → src-YtGn_UVR.js} +1 -1
- package/dist/assets/{types-CtGENai_.js → types-BR_9hYa5.js} +1 -1
- package/dist/assets/{ui-components-D1psd5qA.js → ui-components-Ci5ufF7g.js} +11 -11
- package/dist/assets/{ui-layout-UgL2qgLW.js → ui-layout-D_8Fal4s.js} +1 -1
- package/dist/assets/{use-book-data-CWCLCSUn.js → use-book-data-CV2dCLgr.js} +1 -1
- package/dist/assets/{appRoute-C7XNGt8B.js → utils-CFdPTF34.js} +1 -1
- package/dist/assets/{vendor-i18n-ByHglwq-.js → vendor-i18n-D2ce6sLS.js} +1 -1
- package/dist/assets/vendor-radix-B1fu-dZi.js +46 -0
- package/dist/assets/{vendor-sentry-C3ouQ5cr.js → vendor-sentry-BFtl-K03.js} +25 -25
- package/dist/index.html +5 -5
- package/package.json +4 -4
- package/dist/assets/CreateViewDialog-DTzKynzF.js +0 -1
- package/dist/assets/MarketplaceAccessDenied-Csr3Jh7C.js +0 -1
- package/dist/assets/MetadataInspector-C6pU5_lx.js +0 -1
- package/dist/assets/ObjectDataPage-BA93ldBf.js +0 -1
- package/dist/assets/PublicFormsPage-D5kg7qJa.js +0 -1
- package/dist/assets/RecordDetailView-F0k3QMTV.js +0 -9
- package/dist/assets/ReportDefaultInspector-CYCJDOVb.js +0 -3
- package/dist/assets/ReportView-Dtz9IJbH.js +0 -2
- package/dist/assets/SearchResultsPage-0pCQZ9_u.js +0 -1
- package/dist/assets/data-adapter-BR5P3Htq.js +0 -9
- package/dist/assets/framework-brxTxzwx.js +0 -8
- package/dist/assets/index-D3TWmLHH.css +0 -2
- package/dist/assets/mermaid-GHXKKRXX-btdeklf1.js +0 -1
- package/dist/assets/metadata-admin-Buf34qxl.js +0 -25
- package/dist/assets/plugin-charts-DqND8tT3.js +0 -7
- package/dist/assets/plugin-chatbot-DwbSyUax.js +0 -120
- package/dist/assets/plugin-grid-Dz4WW_sQ.js +0 -8
- package/dist/assets/plugin-kanban-fgScBnfP.js +0 -1
- package/dist/assets/plugin-view-BDYhOlHx.js +0 -1
- package/dist/assets/plugins-views-Dc4ARhcP.js +0 -4
- package/dist/assets/runtime-metadata-persistence-D1KKivGr.js +0 -1
- package/dist/assets/src-By-rFjBo.js +0 -1
- package/dist/assets/src-CRFYUj2Z.js +0 -19
- package/dist/assets/utils-Bxty7IIa.js +0 -1
- package/dist/assets/vendor-radix-CWCRv2pn.js +0 -46
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{g as n,r,y as i}from"./vendor-react-BKSb6vFP.js";import{$t as a,Dt as o,Et as s,Ot as c,W as l,bt as u,et as d,gt as f,ht as p,kt as ee,mt as m,nt as te,on as h,vt as ne,y as g,yt as re}from"./framework-brxTxzwx.js";import{A as _,B as v,C as y,D as b,E as ie,F as ae,I as oe,L as x,M as se,N as S,O as C,P as w,R as ce,T,V as E,_ as D,dt as O,g as le,h as k,j as A,k as ue,m as j,p as de,ut as M,v as fe,w as N,y as P,z as F}from"./vendor-charts-HLBqza5P.js";import{Gt as I,Jt as pe,Or as me,Rs as he,Sc as L,U as ge,Vc as R,W as z,Xn as _e,Xt as ve,Zn as B,Zt as ye,er as be,qt as V,tr as xe,zc as Se}from"./ui-components-D1psd5qA.js";var H=e(i(),1),U=r(),W=(...e)=>e.filter(Boolean).join(` `),G={light:``,dark:`.dark`},Ce=H.createContext(null);function we(){let e=H.useContext(Ce);if(!e)throw Error(`useChart must be used within a <ChartContainer />`);return e}function K({id:e,className:t,children:n,config:r,...i}){let a=H.useId(),o=`chart-${e||a.replace(/:/g,``)}`,s=H.useRef(null),[c,l]=H.useState(0);return H.useEffect(()=>{let e=s.current;if(e==null||typeof ResizeObserver>`u`)return;let t=!1,n,r=new ResizeObserver(e=>{if(t)return;let i=e[0]?.contentRect;i==null||i.width<=0||i.height<=0||(n!=null&&clearTimeout(n),n=setTimeout(()=>{t=!0,r.disconnect(),l(e=>e+1)},80))});return r.observe(e),()=>{t=!0,n!=null&&clearTimeout(n),r.disconnect()}},[]),(0,U.jsx)(Ce.Provider,{value:{config:r},children:(0,U.jsxs)(`div`,{ref:s,"data-slot":`chart`,"data-chart":o,className:W(`block w-full h-[350px] text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground`,t),style:{minHeight:280,minWidth:0,...i.style},...i,children:[(0,U.jsx)(Te,{id:o,config:r}),(0,U.jsx)(O,{width:`100%`,height:`100%`,children:n},c)]})})}var Te=({id:e,config:t})=>{let n=Object.entries(t).filter(([,e])=>e.theme||e.color);return n.length?(0,U.jsx)(`style`,{dangerouslySetInnerHTML:{__html:Object.entries(G).map(([t,r])=>`
|
|
2
|
-
${r} [data-chart=${e}] {
|
|
3
|
-
${n.map(([e,n])=>{let r=n.theme?.[t]||n.color;return r?` --color-${e}: ${r};`:null}).join(`
|
|
4
|
-
`)}
|
|
5
|
-
}
|
|
6
|
-
`).join(`
|
|
7
|
-
`)}}):null},q=E;function J({active:e,payload:t,className:n,indicator:r=`dot`,hideLabel:i=!1,hideIndicator:a=!1,label:o,labelFormatter:s,labelClassName:c,formatter:l,color:u,nameKey:d,labelKey:f}){let{config:p}=we(),ee=H.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,n=`${f||e?.dataKey||e?.name||`value`}`,r=Ee(p,e,n),a=!f&&typeof o==`string`?p[o]?.label||o:r?.label;return s?(0,U.jsx)(`div`,{className:W(`font-medium`,c),children:s(a,t)}):a?(0,U.jsx)(`div`,{className:W(`font-medium`,c),children:a}):null},[o,s,t,i,c,p,f]);if(!e||!t?.length)return null;let m=t.length===1&&r!==`dot`;return(0,U.jsxs)(`div`,{className:W(`border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl`,n),children:[m?null:ee,(0,U.jsx)(`div`,{className:`grid gap-1.5`,children:t.filter(e=>e.type!==`none`).map((e,t)=>{let n=`${d||e.name||e.dataKey||`value`}`,i=Ee(p,e,n),o=u||e.payload.fill||e.color;return(0,U.jsx)(`div`,{className:W(`[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5`,r===`dot`?`items-center`:``),children:l&&e?.value!==void 0&&e.name?l(e.value,e.name,e,t,e.payload):(0,U.jsxs)(U.Fragment,{children:[i?.icon?(0,U.jsx)(i.icon,{}):!a&&(0,U.jsx)(`div`,{className:W(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,r===`dot`?`h-2.5 w-2.5`:``,r===`line`?`w-1`:``,r===`dashed`?`w-0 border-[1.5px] border-dashed bg-transparent`:``,m&&r===`dashed`?`my-0.5`:``),style:{"--color-bg":o,"--color-border":o}}),(0,U.jsxs)(`div`,{className:W(`flex flex-1 justify-between leading-none`,m?`items-end`:`items-center`),children:[(0,U.jsxs)(`div`,{className:`grid gap-1.5`,children:[m?ee:null,(0,U.jsx)(`span`,{className:`text-muted-foreground`,children:i?.label||e.name})]}),e.value&&(0,U.jsx)(`span`,{className:`text-foreground font-mono font-medium tabular-nums`,children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})}var Y=M;function X({className:e,hideIcon:t=!1,payload:n,verticalAlign:r=`bottom`,nameKey:i}){let{config:a}=we();return n?.length?(0,U.jsx)(`div`,{className:W(`flex items-center justify-center gap-4`,r===`top`?`pb-3`:`pt-3`,e),children:n.filter(e=>e.type!==`none`).map(e=>{let n=`${i||e.dataKey||`value`}`,r=Ee(a,e,n);return(0,U.jsxs)(`div`,{className:W(`[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3`),children:[r?.icon&&!t?(0,U.jsx)(r.icon,{}):(0,U.jsx)(`div`,{className:`h-2 w-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),r?.label]},e.value)})}):null}function Ee(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}function De(e){return e?.[0]?.dataKey||`value`}function Oe(e,t,n){if(!e)return null;let r=e.payload??e,i=r?.[t];if(i==null)return null;let a=De(n);return{category:String(i),series:a,value:typeof r?.[a]==`number`?r[a]:void 0}}function ke(e,t){if(!e)return null;let n=e.name??e.payload?.name??e.root?.name;if(n==null)return null;let r=e.value??e.size??e.payload?.size;return{category:String(n),series:De(t),value:typeof r==`number`?r:void 0}}function Ae(e,t){if(!e)return null;let n=e.payload??e,r=n?.name;return r==null||n?.depth===0?null:{category:String(r),series:De(t),value:typeof n?.value==`number`?n.value:void 0}}var je=t({default:()=>Fe}),Me=`hsl(var(--primary))`,Ne={slate:`#64748b`,gray:`#6b7280`,zinc:`#71717a`,neutral:`#737373`,stone:`#78716c`,red:`#ef4444`,orange:`#f97316`,amber:`#f59e0b`,yellow:`#eab308`,lime:`#84cc16`,green:`#22c55e`,emerald:`#10b981`,teal:`#14b8a6`,cyan:`#06b6d4`,sky:`#0ea5e9`,blue:`#3b82f6`,indigo:`#6366f1`,violet:`#8b5cf6`,purple:`#a855f7`,fuchsia:`#d946ef`,pink:`#ec4899`,rose:`#f43f5e`},Z=e=>Ne[e]||e,Q=(e,t)=>e?.variant===`comparison`?{strokeOpacity:typeof e.opacity==`number`?e.opacity:t===`line`||t===`scatter`?.5:.6,fillOpacity:typeof e.opacity==`number`?e.opacity:t===`bar`?.4:t===`area`?.2:.5,strokeDasharray:e.dashArray??(t===`line`||t===`area`?`4 4`:void 0)}:null;function Pe(e){let{x:t,y:n,width:r,height:i,name:a,fill:o}=e;return r<=0||i<=0?null:(0,U.jsxs)(`g`,{children:[(0,U.jsx)(`rect`,{x:t,y:n,width:r,height:i,fill:o,stroke:`hsl(var(--background))`,strokeWidth:2}),r>48&&i>18?(0,U.jsx)(`text`,{x:t+6,y:n+18,fill:`#fff`,fontSize:12,className:`pointer-events-none`,children:a}):null]})}function Fe({chartType:e=`bar`,data:t=[],config:n={},xAxisKey:r=`name`,series:i=[],className:a=``,colors:o,categoryColors:s,onChartClick:c,isAnimationActive:l}){let u=e===`column`?`bar`:e,d=Array.isArray(t)?t:[],f=l===!1?{isAnimationActive:!1}:{},[p,ee]=H.useState(!1),m=H.useCallback(e=>{if(!c||!e)return;let t=Array.isArray(e.activePayload)?e.activePayload[0]:void 0;c({category:e.activeLabel==null?void 0:String(e.activeLabel),series:t?.dataKey?String(t.dataKey):void 0,value:typeof t?.value==`number`?t.value:void 0})},[c]),te=H.useCallback(e=>{if(!c||!e)return;let t=e.payload?.[r],n=i[0]?.dataKey||`value`;c({category:t==null?void 0:String(t),series:n,value:typeof e.payload?.[n]==`number`?e.payload[n]:void 0})},[c,r,i]),h=c?{onClick:m,style:{cursor:`pointer`}}:{},ne=c?{onClick:te,style:{cursor:`pointer`}}:{},g=H.useCallback((e,t,n)=>s&&s[e==null?``:String(e)]||n[t%n.length],[s]),re=H.useCallback(e=>{if(!c)return;let t=Oe(e,r,i);t&&c(t)},[c,r,i]),O=H.useCallback(e=>{if(!c)return;let t=ke(e,i);t&&c(t)},[c,i]),M=H.useCallback(e=>{if(!c)return;let t=Ae(e,i);t&&c(t)},[c,i]),I=c?{onClick:re,cursor:`pointer`}:{},pe=c?{onClick:O,style:{cursor:`pointer`}}:{},me=c?{onClick:M,style:{cursor:`pointer`}}:{};H.useEffect(()=>{let e=()=>ee(window.innerWidth<640);return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let he={bar:N,"horizontal-bar":N,line:T,area:k,pie:y,donut:y,radar:D,scatter:le,funnel:de,combo:N,treemap:N,sankey:N}[u]||N,L=H.useCallback(e=>{if(e==null||e===``)return``;let t=n?.[String(e)]?.label;if(t!=null)return String(t);let i=typeof e==`string`?e:String(e);if(/^\d{4}-\d{2}-\d{2}/.test(i)){let e=new Date(i);if(!Number.isNaN(e.getTime())){let t=(d.length>1?Math.abs(new Date(String(d[d.length-1][r]??``)).getTime()-new Date(String(d[0][r]??``)).getTime()):0)/(1e3*60*60*24);try{return t<=62?e.toLocaleDateString(void 0,{month:`short`,day:`numeric`}):e.toLocaleDateString(void 0,{month:`short`,year:`numeric`})}catch{return e.toISOString().slice(0,10)}}}return p&&i.length>8?i.slice(0,8)+`…`:i},[d,r,p,n]),ge=H.useMemo(()=>d.some(e=>String(e[r]||``).length>5),[d,r]),R=()=>Array.isArray(o)&&o.length>0?o:[`hsl(var(--chart-1))`,`hsl(var(--chart-2))`,`hsl(var(--chart-3))`,`hsl(var(--chart-4))`,`hsl(var(--chart-5))`],z=H.useCallback(e=>{if(e==null||e===``)return``;let t=typeof e==`number`?e:Number(e);if(!Number.isFinite(t))return String(e);try{return new Intl.NumberFormat(void 0,{notation:`compact`,maximumFractionDigits:1}).format(t)}catch{return String(t)}},[]),_e=H.useMemo(()=>({tickLine:!1,tickMargin:10,axisLine:!1,interval:`preserveStartEnd`,minTickGap:p?32:48,tickFormatter:L,...!p&&ge&&{angle:-35,textAnchor:`end`,height:60}}),[p,ge,L]);if(u===`pie`||u===`donut`){let e=u===`donut`?`52%`:0,t=R(),o={...n};return d.forEach((e,n)=>{let i=e?.[r];if(i==null||i===``)return;let a=String(i);o[a]||(o[a]={label:a,color:g(i,n,t)})}),(0,U.jsx)(K,{config:o,className:a,children:(0,U.jsxs)(y,{children:[(0,U.jsx)(q,{cursor:!1,content:(0,U.jsx)(J,{hideLabel:!0})}),(0,U.jsx)(ae,{data:d,dataKey:i[0]?.dataKey||`value`,nameKey:r||`name`,innerRadius:e,strokeWidth:5,paddingAngle:2,outerRadius:`85%`,...f,...ne,children:d.map((e,n)=>{let i=g(e?.[r],n,t);return(0,U.jsx)(v,{fill:Z(i)},`cell-${n}`)})}),(0,U.jsx)(Y,{verticalAlign:`bottom`,wrapperStyle:{fontSize:p?`11px`:`12px`,paddingTop:`8px`},content:(0,U.jsx)(X,{nameKey:r,className:`flex-wrap`})})]})})}if(u===`funnel`){let e=i[0]?.dataKey||`value`,t=R(),o=c?t=>{t&&c({category:t?.payload?.[r]??t?.[r],value:t?.payload?.[e]??t?.[e]})}:void 0,s=o?{onClick:o,style:{cursor:`pointer`}}:{},l=[...d].sort((t,n)=>{let r=Number(t?.[e]??0);return Number(n?.[e]??0)-r});return(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsxs)(de,{children:[(0,U.jsx)(q,{content:(0,U.jsx)(J,{})}),(0,U.jsxs)(j,{dataKey:e,data:l,nameKey:r,isAnimationActive:!0,...s,children:[(0,U.jsx)(F,{position:`right`,fill:`hsl(var(--foreground))`,stroke:`none`,dataKey:r}),l.map((e,n)=>(0,U.jsx)(v,{fill:Z(t[n%t.length])},`funnel-cell-${n}`))]})]})})}if(u===`treemap`){let e=i[0]?.dataKey||`value`,t=R();return(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsx)(P,{data:d.map((n,i)=>({name:String(n?.[r]??``),size:Number(n?.[e])||0,fill:Z(t[i%t.length])})),dataKey:`size`,nameKey:`name`,isAnimationActive:!0,content:(0,U.jsx)(Pe,{}),...pe,children:(0,U.jsx)(E,{})})})}if(u===`sankey`){let e=i[0]?.dataKey||`value`,t=i[0]?.label||e,o=d.filter(t=>(Number(t?.[e])||0)>0),s=[{name:t},...o.map(e=>({name:String(e?.[r]??``)}))],c=o.map((t,n)=>({source:0,target:n+1,value:Number(t?.[e])||0}));return c.length===0?(0,U.jsx)(`div`,{className:a}):(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsx)(fe,{data:{nodes:s,links:c},nodePadding:24,link:{stroke:`hsl(var(--muted-foreground))`,strokeOpacity:.25},node:{fill:`hsl(var(--chart-1))`},...me,children:(0,U.jsx)(E,{})})})}if(u===`radar`)return(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsxs)(D,{data:d,children:[(0,U.jsx)(ce,{}),(0,U.jsx)(oe,{dataKey:r}),(0,U.jsx)(x,{}),(0,U.jsx)(q,{content:(0,U.jsx)(J,{})}),(0,U.jsx)(Y,{content:(0,U.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map(e=>{let t=Z(n[e.dataKey]?.color||Me);return(0,U.jsx)(w,{dataKey:e.dataKey,stroke:t,fill:t,fillOpacity:.6},e.dataKey)})]})});if(u===`scatter`)return(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsxs)(le,{children:[(0,U.jsx)(S,{vertical:!1}),(0,U.jsx)(C,{type:`number`,dataKey:r,name:String(n[r]?.label||r),tickLine:!1,axisLine:!1,minTickGap:p?32:48}),(0,U.jsx)(b,{type:`number`,dataKey:i[0]?.dataKey||`value`,name:String(n[i[0]?.dataKey]?.label||i[0]?.dataKey),tickLine:!1,axisLine:!1,tickFormatter:z,width:48}),(0,U.jsx)(ie,{type:`number`,range:[60,400]}),(0,U.jsx)(q,{content:(0,U.jsx)(J,{})}),(0,U.jsx)(Y,{content:(0,U.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map((e,t)=>{let r=R(),i=Z(n[e.dataKey]?.color||r[t%r.length]),a=Q(e,`scatter`);return(0,U.jsx)(ue,{name:n[e.dataKey]?.label||e.dataKey,data:d,fill:i,fillOpacity:a?.fillOpacity,...I},e.dataKey)})]})});if(u===`combo`)return(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsxs)(N,{data:d,children:[(0,U.jsx)(S,{vertical:!1}),(0,U.jsx)(C,{dataKey:r,..._e}),(0,U.jsx)(b,{yAxisId:`left`,tickLine:!1,axisLine:!1,tickFormatter:z,width:48}),(0,U.jsx)(b,{yAxisId:`right`,orientation:`right`,tickLine:!1,axisLine:!1,tickFormatter:z,width:48}),(0,U.jsx)(q,{content:(0,U.jsx)(J,{})}),(0,U.jsx)(Y,{content:(0,U.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map((e,t)=>{let r=Z(n[e.dataKey]?.color||Me),i=e.chartType||(t===0?`bar`:`line`),a=i===`bar`?`left`:`right`,o=Q(e,i);return i===`line`?(0,U.jsx)(se,{yAxisId:a,type:`monotone`,dataKey:e.dataKey,stroke:r,strokeWidth:2,dot:!1,strokeOpacity:o?.strokeOpacity,strokeDasharray:o?.strokeDasharray,...f},e.dataKey):i===`area`?(0,U.jsx)(A,{yAxisId:a,type:`monotone`,dataKey:e.dataKey,fill:r,stroke:r,fillOpacity:o?.fillOpacity??.4,strokeOpacity:o?.strokeOpacity,strokeDasharray:o?.strokeDasharray,...f},e.dataKey):(0,U.jsx)(_,{yAxisId:a,dataKey:e.dataKey,fill:r,radius:4,fillOpacity:o?.fillOpacity,...f},e.dataKey)})]})});let ve=u===`horizontal-bar`,B=R(),ye=s?Object.values(s).map(e=>Z(String(e))):[],be=Array.from(new Set([...B,...ye,...i.map((e,t)=>Z(n[e.dataKey]?.color||B[t%B.length]||Me))])),V=e=>`g`+e.replace(/[^a-zA-Z0-9]/g,``);return(0,U.jsx)(K,{config:n,className:a,children:(0,U.jsxs)(he,{data:d,layout:ve?`vertical`:`horizontal`,...h,children:[(0,U.jsx)(`defs`,{children:be.map(e=>(0,U.jsxs)(H.Fragment,{children:[(0,U.jsxs)(`linearGradient`,{id:`bg-${V(e)}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,U.jsx)(`stop`,{offset:`0%`,style:{stopColor:e},stopOpacity:.95}),(0,U.jsx)(`stop`,{offset:`100%`,style:{stopColor:e},stopOpacity:.5})]}),(0,U.jsxs)(`linearGradient`,{id:`ag-${V(e)}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,U.jsx)(`stop`,{offset:`0%`,style:{stopColor:e},stopOpacity:.5}),(0,U.jsx)(`stop`,{offset:`95%`,style:{stopColor:e},stopOpacity:.05})]})]},V(e)))}),(0,U.jsx)(S,{vertical:!1}),ve?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(C,{type:`number`,tickLine:!1,axisLine:!1,tickFormatter:z}),(0,U.jsx)(b,{type:`category`,dataKey:r,tickLine:!1,axisLine:!1,width:Math.min(140,Math.max(60,Math.max(...d.map(e=>String(e[r]??``).length))*7)),tickFormatter:L})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(C,{dataKey:r,..._e}),(0,U.jsx)(b,{tickLine:!1,axisLine:!1,tickFormatter:z,width:48})]}),(0,U.jsx)(q,{content:(0,U.jsx)(J,{})}),(0,U.jsx)(Y,{content:(0,U.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map((e,t)=>{let a=R(),o=e.variant===`comparison`,s=o?i.slice(0,t).find(e=>e.variant!==`comparison`)||i[0]:e,c=o?i.indexOf(s):t,l=Z(n[s.dataKey]?.color||a[c%a.length]||Me);if(u===`bar`||u===`horizontal-bar`){let t=i.filter(e=>e.variant!==`comparison`).length===1&&!o&&i.length===1&&d.length>1,n=Q(e,`bar`);return(0,U.jsx)(_,{dataKey:e.dataKey,fill:`url(#bg-${V(l)})`,radius:4,fillOpacity:n?.fillOpacity,...f,children:t&&d.map((e,t)=>(0,U.jsx)(v,{fill:`url(#bg-${V(Z(g(e?.[r],t,a)))})`},`cell-${t}`))},e.dataKey)}if(u===`line`){let t=Q(e,`line`);return(0,U.jsx)(se,{type:`monotone`,dataKey:e.dataKey,stroke:l,strokeWidth:2,dot:!1,strokeOpacity:t?.strokeOpacity,strokeDasharray:t?.strokeDasharray,...f},e.dataKey)}if(u===`area`){let t=Q(e,`area`);return(0,U.jsx)(A,{type:`monotone`,dataKey:e.dataKey,fill:`url(#ag-${V(l)})`,stroke:l,strokeWidth:2,fillOpacity:t?.fillOpacity??1,strokeOpacity:t?.strokeOpacity,strokeDasharray:t?.strokeDasharray,...f},e.dataKey)}return null})]})})}var Ie=t({default:()=>ze});function Le(e,t=14){return e.length>t?`${e.slice(0,t-1)}…`:e}function Re({x:e,y:t,payload:n}){let r=String(n?.value??``),i=Le(r);return(0,U.jsx)(`g`,{transform:`translate(${e},${t})`,children:(0,U.jsxs)(`text`,{dy:10,textAnchor:`end`,transform:`rotate(-32)`,fill:`hsl(var(--muted-foreground))`,fontSize:11,fontFamily:`monospace`,children:[r!==i&&(0,U.jsx)(`title`,{children:r}),i]})})}function ze({data:e=[],dataKey:t=`value`,xAxisKey:n=`name`,height:r=400,className:i=``,color:a=`hsl(var(--primary))`}){let o=e.map(e=>String(e?.[n]??``)),s=o.length>4||o.some(e=>e.length>8);return(0,U.jsx)(`div`,{className:`p-2 sm:p-3 md:p-4 rounded-xl border border-border bg-card/40 backdrop-blur-sm shadow-lg shadow-background/5 ${i}`,children:(0,U.jsx)(O,{width:`100%`,height:r,children:(0,U.jsxs)(N,{data:e,margin:{top:10,right:10,left:10,bottom:s?24:5},children:[(0,U.jsxs)(`defs`,{children:[(0,U.jsxs)(`linearGradient`,{id:`barGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,U.jsx)(`stop`,{offset:`0%`,stopColor:a,stopOpacity:1}),(0,U.jsx)(`stop`,{offset:`90%`,stopColor:a,stopOpacity:.6}),(0,U.jsx)(`stop`,{offset:`100%`,stopColor:a,stopOpacity:.3})]}),(0,U.jsxs)(`filter`,{id:`glow`,height:`130%`,children:[(0,U.jsx)(`feGaussianBlur`,{in:`SourceAlpha`,stdDeviation:`3`,result:`blur`}),(0,U.jsx)(`feOffset`,{in:`blur`,dx:`0`,dy:`0`,result:`offsetBlur`}),(0,U.jsx)(`feFlood`,{floodColor:a,floodOpacity:`0.5`,result:`offsetColor`}),(0,U.jsx)(`feComposite`,{in:`offsetColor`,in2:`offsetBlur`,operator:`in`,result:`offsetBlur`}),(0,U.jsxs)(`feMerge`,{children:[(0,U.jsx)(`feMergeNode`,{in:`offsetBlur`}),(0,U.jsx)(`feMergeNode`,{in:`SourceGraphic`})]})]})]}),(0,U.jsx)(S,{strokeDasharray:`3 3`,stroke:`hsl(var(--border))`,vertical:!1}),(0,U.jsx)(C,{dataKey:n,tick:s?(0,U.jsx)(Re,{}):{fill:`hsl(var(--muted-foreground))`,fontSize:12,fontFamily:`monospace`},tickLine:!1,axisLine:{stroke:`hsl(var(--border))`},interval:0,height:s?56:void 0,dy:s?void 0:10}),(0,U.jsx)(b,{tick:{fill:`hsl(var(--muted-foreground))`,fontSize:12,fontFamily:`monospace`},tickLine:!1,axisLine:!1}),(0,U.jsx)(E,{cursor:{fill:`hsl(var(--muted))`,opacity:.2},contentStyle:{backgroundColor:`hsl(var(--popover))`,borderColor:`hsl(var(--border))`,color:`hsl(var(--popover-foreground))`,borderRadius:`8px`,fontFamily:`monospace`,boxShadow:`0 4px 6px -1px rgb(0 0 0 / 0.1)`},itemStyle:{color:`hsl(var(--primary))`}}),(0,U.jsx)(M,{wrapperStyle:{paddingTop:`20px`,fontFamily:`monospace`}}),(0,U.jsx)(_,{dataKey:t,fill:`url(#barGradient)`,radius:[4,4,0,0],filter:`url(#glow)`,animationDuration:1500})]})})})}var Be=H.lazy(()=>n(()=>Promise.resolve().then(()=>Ie),void 0,import.meta.url)),Ve=H.lazy(()=>n(()=>Promise.resolve().then(()=>je),void 0,import.meta.url)),He=({schema:e})=>(0,U.jsx)(H.Suspense,{fallback:(0,U.jsx)(I,{className:`w-full h-48 sm:h-64 md:h-80 lg:h-[400px]`}),children:(0,U.jsx)(Be,{data:e.data,dataKey:e.dataKey,xAxisKey:e.xAxisKey,height:e.height,className:e.className,color:e.color})}),$=({schema:e,onChartClick:t})=>{let n=H.useMemo(()=>{let t=e.series,n=e.xAxisKey,r=e.config;if(n||(e.index?n=e.index:e.category&&(n=e.category)),t||(e.categories?t=e.categories.map(e=>({dataKey:e})):e.value&&(t=[{dataKey:e.value}])),!r&&t){let n=e.colors||[`hsl(var(--chart-1))`,`hsl(var(--chart-2))`,`hsl(var(--chart-3))`],i={};t.forEach((e,t)=>{i[e.dataKey]={label:e.label||e.dataKey,color:n[t%n.length]}}),r=i}return{chartType:e.chartType,data:Array.isArray(e.data)?e.data:[],config:r,xAxisKey:n,series:t,className:e.className}},[e]);return(0,U.jsx)(H.Suspense,{fallback:(0,U.jsx)(I,{className:`w-full h-48 sm:h-64 md:h-80 lg:h-[400px]`}),children:(0,U.jsx)(Ve,{chartType:n.chartType,data:n.data,config:n.config,xAxisKey:n.xAxisKey,series:n.series,className:n.className,colors:Array.isArray(e.colors)?e.colors:void 0,categoryColors:e.categoryColors,isAnimationActive:e.isAnimationActive,onChartClick:t})})};function Ue(e){return e.replace(/[_-]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function We(e,t){let{field:n,function:r,groupBy:i}=t,a={};for(let t of e){let e=String(t[i]??`Unknown`);a[e]||(a[e]=[]),a[e].push(t)}return Object.entries(a).map(([e,t])=>{let a=t.map(e=>Number(e[n])||0),o;switch(r){case`count`:o=t.length;break;case`avg`:o=a.length>0?a.reduce((e,t)=>e+t,0)/a.length:0;break;case`min`:o=a.length>0?Math.min(...a):0;break;case`max`:o=a.length>0?Math.max(...a):0;break;default:o=a.reduce((e,t)=>e+t,0);break}return{[i]:e,[n]:o}})}async function Ge(e,t,n,r,i){if(!e.length||!t)return e;let o=i||((e,t)=>t),s=`__raw_${t}`,c=n?.fields?.[t];if(!c){let n=/^\d{4}-\d{2}-\d{2}/;return e.map(e=>{let r=e[t],i=String(r??``),a=n.test(i)?i:Ue(i);return{...e,[t]:o(i,a),[s]:r}})}let l=c.type;if(l===`select`||l===`picklist`||l===`dropdown`){let n=c.options||[];if(n.length===0)return e.map(e=>{let n=e[t],r=String(n??``),i=Ue(r);return{...e,[t]:o(r,i),[s]:n}});let r={};for(let e of n)typeof e==`string`?r[e]=e:e&&typeof e==`object`&&(r[String(e.value)]=e.label||String(e.value));return e.map(e=>{let n=e[t],i=String(n??``),a=r[i]||Ue(i);return{...e,[t]:o(i,a),[s]:n}})}if(l===`lookup`||l===`master_detail`){let n=c.reference_to||c.reference;if(!n||!r||typeof r.find!=`function`)return e.map(e=>({...e,[s]:e[t]}));let i=[...new Set(e.map(e=>e[t]).filter(e=>e!=null))];if(i.length===0)return e.map(e=>({...e,[s]:e[t]}));let o=c.id_field||`id`;try{let l=a(await r.find(n,{$filter:{[o]:{$in:i}},$top:i.length})),u=c.reference_field||c.display_field||`name`,d={};for(let e of l){let t=String(e[o]??e.id??e._id??``),n=e[u]||e.name||e.label||e.title||t;t&&(d[t]=String(n))}return e.map(e=>{let n=e[t],r=String(n??``);return{...e,[t]:d[r]||r,[s]:n}})}catch(n){return console.warn(`[ObjectChart] Failed to resolve lookup labels:`,n),e.map(e=>({...e,[s]:e[t]}))}}if(l===`date`||l===`datetime`||l===`date_time`||l===`timestamp`||l===`time`)return e.map(e=>({...e,[s]:e[t]}));let u=/^\d{4}-\d{2}-\d{2}/;return e.map(e=>{let n=e[t],r=String(n??``);return{...e,[t]:u.test(r)?r:Ue(r),[s]:n}})}var Ke=e=>{let{schema:t}=e,n=e.onSegmentClick,r=(0,H.useContext)(d),i=e.dataSource||r?.dataSource,h=te(t.bind),{fieldOptionLabel:_}=Se(),v=(0,H.useRef)(_);(0,H.useEffect)(()=>{v.current=_},[_]);let[y,b]=(0,H.useState)([]),[ie,ae]=(0,H.useState)(null),[oe,x]=(0,H.useState)(()=>!(Array.isArray(t.data)&&t.data.length>0)&&(!!t.objectName||!!t.dataset)),[se,S]=(0,H.useState)(null),[C,w]=(0,H.useState)(null),[ce,T]=(0,H.useState)(null),[E,D]=(0,H.useState)(null),{openRecordList:O}=g(),le=R(),k=(0,H.useMemo)(()=>t.aggregate?JSON.stringify(t.aggregate):``,[t.aggregate]),A=(0,H.useMemo)(()=>t.filter?JSON.stringify(t.filter):``,[t.filter]),ue=(0,H.useMemo)(()=>t.compareTo?JSON.stringify(t.compareTo):``,[t.compareTo]),j=(0,H.useMemo)(()=>t.dataset?JSON.stringify({d:t.dataset,dim:t.dimensions??[],val:t.values??[]}):``,[t.dataset,t.dimensions,t.values]),de=e=>e!==`pie`&&e!==`donut`&&e!==`funnel`;(0,H.useEffect)(()=>{let e=!1;return(async()=>{try{let n={headers:{accept:`application/json`},credentials:`include`},r=t.objectName,i,a=null,o=t.aggregate?.groupBy;if(r)i=o&&typeof o==`object`&&!Array.isArray(o)?o.field:typeof o==`string`?o:t.xAxisKey;else if(t.dataset){let e=Array.isArray(t.dimensions)&&t.dimensions.length?t.dimensions[0]:void 0,o=await(await fetch(`/api/v1/meta/dataset/${encodeURIComponent(t.dataset)}`,n)).json().catch(()=>null);a=o?.item??o?.data??o,r=a?.object,i=((a?.dimensions||[]).find(t=>t?.name===e)??(a?.dimensions||[])[0])?.field??e}if(!r||!i){e||(T(null),D(null));return}let s=await(await fetch(`/api/v1/meta/object/${encodeURIComponent(r)}`,n)).json().catch(()=>null),c=s?.item??s?.data??s,l=f(c?.fields?.[i]?.options),u=null;if(t.dataset&&Array.isArray(t.dimensions)){let e={};for(let n of t.dimensions){let t=(a?.dimensions||[]).find(e=>e?.name===n)?.field??n,r=p(c?.fields?.[t]?.options);r&&(e[n]=r)}Object.keys(e).length>0&&(u=e)}e||(T(l),D(u))}catch{e||(T(null),D(null))}})(),()=>{e=!0}},[t.objectName,t.dataset,j,k,t.xAxisKey]);let M=(0,H.useCallback)(async(e,n)=>{if(t.aggregate&&typeof e.aggregate==`function`){let r=t.aggregate.groupBy;if(r&&typeof r==`object`&&!Array.isArray(r)){let i=t.aggregate.field,a=t.aggregate.function,o={function:a,alias:i||a};a!==`count`&&i&&(o.field=i);let s=await e.aggregate(t.objectName,{groupBy:[r],aggregations:[o],where:n});return Array.isArray(s)?s:[]}let i=await e.aggregate(t.objectName,{field:t.aggregate.field,function:t.aggregate.function,groupBy:r,filter:n});return Array.isArray(i)?i:[]}if(typeof e.find==`function`){let r=a(await e.find(t.objectName,{$filter:n}));return t.aggregate&&r.length>0&&(r=We(r,t.aggregate)),r}return[]},[t.objectName,k]),fe=(0,H.useCallback)(async(e,n)=>{if(!e||!t.objectName&&!t.dataset){n.current&&x(!1);return}n.current&&(x(!0),S(null));try{if(t.dataset&&typeof e.queryDataset==`function`){let r=s(t.filter),i=await e.queryDataset(t.dataset,{dimensions:Array.isArray(t.dimensions)?t.dimensions:[],measures:Array.isArray(t.values)?t.values:[],...r?{runtimeFilter:r}:{}});n.current&&(b(Array.isArray(i?.rows)?i.rows:[]),ae(Array.isArray(i?.fields)?i.fields:null));return}let r=s(t.filter),i=t.compareTo,a=!!i&&de(t.chartType),o=a?u(t.filter,i):null,[c,l]=await Promise.all([M(e,r),o?M(e,o):Promise.resolve([])]),d=c,f=t.aggregate?.groupBy,p=f&&typeof f==`object`&&!Array.isArray(f)?f.alias||f.field:f||t.xAxisKey;if(a&&l.length>0&&t.aggregate){let e=t.aggregate.field,n=t.aggregate.function,r=t=>{if(t==null)return null;let r=`${e}_${n}`;return r in t?Number(t[r]):n===`count`&&`${e}_count`in t?Number(t[`${e}_count`]):e in t?Number(t[e]):`value`in t?Number(t.value):`count`in t?Number(t.count):null},i=`${e}__comparison`,a=p;if(a&&d.some(e=>e[a]!=null)&&l.some(e=>e[a]!=null)){let e=new Map;for(let t of l){let n=String(t[a]??``);e.set(n,r(t))}d=d.map(t=>{let n=String(t[a]??``),r=e.get(n);return r==null?t:{...t,[i]:r}});let t=new Set(d.map(e=>String(e[a]??``)));for(let e of l){let n=String(e[a]??``);t.has(n)||d.push({[a]:n,[i]:r(e)})}}else{let e=Math.max(d.length,l.length),t=[];for(let n=0;n<e;n++){let e=d[n]||{},a=l[n];t.push(a?{...e,[i]:r(a)}:e)}d=t}}if(p&&typeof e.getObjectSchema==`function`)try{let n=await e.getObjectSchema(t.objectName);d=await Ge(d,p,n,e,(e,n)=>v.current(t.objectName,p,e,n))}catch{}n.current&&b(d)}catch(e){console.error(`[ObjectChart] Fetch error:`,e),n.current&&S(e instanceof Error?e.message:`Failed to load chart data`)}finally{n.current&&x(!1)}},[t.objectName,j,k,A,ue,t.xAxisKey,t.chartType,M]);(0,H.useEffect)(()=>{let e={current:!0};return(t.objectName||t.dataset)&&!h&&!t.data?fe(i,e):e.current&&x(!1),()=>{e.current=!1}},[t.objectName,j,i,h,t.data,A,k,ue,fe]);let N=h||t.data||y,P=Array.isArray(N)?N:[],F=t.drillDown,I=t.aggregate?.groupBy||t.xAxisKey,W=(0,H.useMemo)(()=>{if(!I)return new Map;let e=new Map,t=`__raw_${I}`;for(let n of P){let r=n?.[I];if(r==null)continue;let i=t in(n||{})?n[t]:r;e.set(String(r),i)}return e},[P,I]),G=t.compareTo,Ce=!!G&&de(t.chartType)&&!!t.aggregate&&P.some(e=>e[`${t.aggregate.field}__comparison`]!=null),we=(0,H.useMemo)(()=>{let e=Array.isArray(t.series)?t.series:null;if(!Ce)return e;let n=e||[{dataKey:t.aggregate.field}],r={vsLastWeek:`Previous week`,vsLastMonth:`Previous month`,vsLastQuarter:`Previous quarter`,vsLastYear:`Previous year`,vsYesterday:`Yesterday`,vsPreviousPeriod:`Previous period`}[re(G,t.filter)]||`Previous period`;return[...n.map(e=>({...e,variant:e.variant||`current`})),{dataKey:`${t.aggregate.field}__comparison`,label:r,variant:`comparison`}]},[Ce,t.series,t.aggregate,t.filter,G]),K=t.dataset?m(ne(P,E),t.dimensions,t.values,ie):null,Te=K?{...t,data:K.data,xAxisKey:K.xAxisKey,series:K.series}:{...t,data:P,...we?{series:we}:{}},q=t.colors&&!Array.isArray(t.colors)&&typeof t.colors==`object`?t.colors:null,J=Array.isArray(t.colors)?t.colors:void 0,Y=ce||q?{...ce||{},...q||{}}:void 0,X={...Te,colors:J,...Y?{categoryColors:Y}:{}};if(oe&&P.length===0)return(0,U.jsxs)(`div`,{className:`p-2 `+(t.className||``),"data-testid":`chart-loading`,role:`status`,"aria-busy":`true`,"aria-live":`polite`,children:[(0,U.jsx)(`span`,{className:`sr-only`,children:`Loading chart data…`}),(0,U.jsx)(z,{className:`h-full`})]});if(se)return(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 p-4 `+(t.className||``),"data-testid":`chart-error`,role:`alert`,children:[(0,U.jsx)(he,{className:`h-6 w-6 text-destructive opacity-60`}),(0,U.jsx)(`p`,{className:`text-xs text-destructive font-medium`,children:`Failed to load chart data`}),(0,U.jsx)(`p`,{className:`text-xs text-muted-foreground max-w-xs text-center`,children:se})]});if(!i&&t.objectName&&P.length===0)return(0,U.jsxs)(`div`,{className:`flex items-center justify-center text-muted-foreground text-sm p-4 `+(t.className||``),"data-testid":`chart-no-datasource`,children:[`No data source available for “`,t.objectName,`”`]});let Ee=c(F)?e=>{let t=e.category,n=t!=null&&W.has(String(t))?W.get(String(t)):t;w({...e,category:n,categoryLabel:t,scope:`cell`})}:void 0,De=n??Ee,Oe=!n&&C&&t.objectName?(()=>{let e=o(F,C,{groupByField:I}),n={...t.filter||{},...e},r=ee(F,C,t.title||`Details`),a=F?.target??`drawer`,s=(0,U.jsx)(`div`,{className:`overflow-auto`,"data-testid":`chart-drill-body`,children:(0,U.jsx)(l,{schema:{type:`object-data-table`,objectName:t.objectName,filter:n,pagination:!0,pageSize:F?.maxRows,columns:F?.columns?.map(e=>({accessorKey:e,header:e})),drillDown:{enabled:!0,mode:`record`,target:`dialog`}},dataSource:i})}),c=O&&t.objectName?(0,U.jsxs)(me,{type:`button`,variant:`ghost`,size:`sm`,"data-testid":`drill-open-in-list`,onClick:()=>{O(t.objectName,n),w(null)},children:[le(`dashboard.openInList`,`Open in list`),(0,U.jsx)(L,{className:`ml-1 h-3.5 w-3.5`})]}):null;return a===`dialog`?(0,U.jsx)(_e,{open:!0,onOpenChange:e=>!e&&w(null),children:(0,U.jsxs)(B,{className:`max-w-4xl`,children:[(0,U.jsxs)(be,{className:`flex-row items-center justify-between gap-4 pr-8`,children:[(0,U.jsx)(xe,{children:r}),c]}),s]})}):(0,U.jsx)(V,{open:!0,onOpenChange:e=>!e&&w(null),children:(0,U.jsxs)(pe,{side:`right`,className:`w-full sm:max-w-2xl md:max-w-3xl lg:max-w-4xl flex flex-col`,children:[(0,U.jsxs)(ve,{className:`flex-row items-center justify-between gap-4 pr-8`,children:[(0,U.jsx)(ye,{children:r}),c]}),(0,U.jsx)(`div`,{className:`flex-1 overflow-hidden mt-2`,children:s})]})})})():null;return(0,U.jsxs)(`div`,{className:`relative`,children:[(0,U.jsx)(ge,{active:oe&&P.length>0}),(0,U.jsx)($,{...e,schema:X,onChartClick:De}),Oe]})};h.register(`object-chart`,Ke,{namespace:`plugin-charts`,label:`Object Chart`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`data`,type:`array`,label:`Data`,description:`Optional static data`},{name:`filter`,type:`array`,label:`Filter`},{name:`aggregate`,type:`object`,label:`Aggregate`,description:`Aggregation config: { field, function, groupBy }`}]});var qe=t({ChartBarRenderer:()=>He,ChartRenderer:()=>$,ObjectChart:()=>Ke,chartComponents:()=>Je}),Je={"bar-chart":He,chart:$};h.register(`bar-chart`,He,{namespace:`plugin-charts`,label:`Bar Chart`,category:`plugin`,inputs:[{name:`data`,type:`array`,label:`Data`,required:!0},{name:`dataKey`,type:`string`,label:`Data Key`,defaultValue:`value`},{name:`xAxisKey`,type:`string`,label:`X-Axis Key`,defaultValue:`name`},{name:`height`,type:`number`,label:`Height`,defaultValue:400},{name:`color`,type:`color`,label:`Color`,defaultValue:`#8884d8`}],defaultProps:{data:[{name:`Jan`,value:400},{name:`Feb`,value:300},{name:`Mar`,value:600},{name:`Apr`,value:800},{name:`May`,value:500}],dataKey:`value`,xAxisKey:`name`,height:400,color:`#8884d8`}}),h.register(`chart`,Ke,{namespace:`view`,category:`view`,label:`Chart`,skipFallback:!0,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`type`,type:`string`,label:`Chart Type`},{name:`categoryField`,type:`string`,label:`Category Field`},{name:`valueField`,type:`string`,label:`Value Field`}]}),h.register(`chart`,$,{namespace:`plugin-charts`,label:`Chart`,category:`plugin`,inputs:[{name:`chartType`,type:`enum`,label:`Chart Type`,enum:[{label:`Bar`,value:`bar`},{label:`Line`,value:`line`},{label:`Area`,value:`area`},{label:`Pie`,value:`pie`},{label:`Donut`,value:`donut`},{label:`Radar`,value:`radar`},{label:`Scatter`,value:`scatter`}],defaultValue:`bar`},{name:`data`,type:`code`,label:`Data (JSON)`,required:!0},{name:`config`,type:`code`,label:`Config (JSON)`},{name:`xAxisKey`,type:`string`,label:`X Axis Key`,defaultValue:`name`},{name:`series`,type:`code`,label:`Series (JSON Array)`,required:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{chartType:`bar`,data:[{name:`Jan`,sales:400,revenue:240},{name:`Feb`,sales:300,revenue:139},{name:`Mar`,sales:600,revenue:380},{name:`Apr`,sales:800,revenue:430},{name:`May`,sales:500,revenue:220}],config:{sales:{label:`Sales`,color:`#8884d8`},revenue:{label:`Revenue`,color:`#82ca9d`}},xAxisKey:`name`,series:[{dataKey:`sales`},{dataKey:`revenue`}]}}),h.register(`chart:bar`,$,{namespace:`plugin-charts`,label:`Bar Chart (Alias)`,category:`plugin`,defaultProps:{chartType:`bar`}}),h.register(`pie-chart`,$,{namespace:`plugin-charts`,label:`Pie Chart`,category:`plugin`,defaultProps:{chartType:`pie`}}),h.register(`donut-chart`,$,{namespace:`plugin-charts`,label:`Donut Chart`,category:`plugin`,defaultProps:{chartType:`donut`}}),h.register(`radar-chart`,$,{namespace:`plugin-charts`,label:`Radar Chart`,category:`plugin`,defaultProps:{chartType:`radar`}}),h.register(`scatter-chart`,$,{namespace:`plugin-charts`,label:`Scatter Chart`,category:`plugin`,defaultProps:{chartType:`scatter`}});export{qe as t};
|