@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.
Files changed (96) hide show
  1. package/dist/.objectui-sha +1 -1
  2. package/dist/assets/{AdapterProvider-G7o889LL.js → AdapterProvider-BdI1AL8R.js} +1 -1
  3. package/dist/assets/{AiPendingActionsPage-B_bQ89Ap.js → AiPendingActionsPage-C9rOGWO9.js} +1 -1
  4. package/dist/assets/{ApiConsolePage-oJexbnMd.js → ApiConsolePage-CTk6_qVK.js} +1 -1
  5. package/dist/assets/{AppDocsIndex-B2EMS--S.js → AppDocsIndex-BL_J__HY.js} +1 -1
  6. package/dist/assets/{AppManagementPage-BSLRnX7p.js → AppManagementPage-Co5xg-gQ.js} +1 -1
  7. package/dist/assets/ApprovalsInboxPage-DkfJVIDO.js +1 -0
  8. package/dist/assets/{AuditLogPage-JHBVKm-o.js → AuditLogPage-Ctj0habt.js} +1 -1
  9. package/dist/assets/{ComponentNavView-Be3JMpLK.js → ComponentNavView-2bXBqHvo.js} +1 -1
  10. package/dist/assets/{ConsoleFloatingChatbot-MtFbTLoq.js → ConsoleFloatingChatbot-C_zzIjTL.js} +1 -1
  11. package/dist/assets/{CreateViewDialog-CboUdp-q.js → CreateViewDialog-BQ1-ZWYN.js} +1 -1
  12. package/dist/assets/{DashboardView-1nXwC0y_.js → DashboardView-Cns3m8MX.js} +1 -1
  13. package/dist/assets/{DeveloperHubPage-B55QdK7b.js → DeveloperHubPage-xHzPIDex.js} +1 -1
  14. package/dist/assets/{ExpressionProvider-B3pkCzAo.js → ExpressionProvider-BdMK_o7f.js} +1 -1
  15. package/dist/assets/{FlowRunsPage-CKOKC3O1.js → FlowRunsPage-v43ayfID.js} +1 -1
  16. package/dist/assets/{IntegrationsPage-gLs4Ms2t.js → IntegrationsPage-B8IBLh_r.js} +2 -2
  17. package/dist/assets/{InterfaceListPage-CwGb2Th3.js → InterfaceListPage-DAkJEFCf.js} +1 -1
  18. package/dist/assets/{ManagedByBadge-BtJfBjbT.js → ManagedByBadge-C8RoPUEX.js} +1 -1
  19. package/dist/assets/{MarketplaceAccessDenied-Bl4faFLm.js → MarketplaceAccessDenied-D3JunScQ.js} +1 -1
  20. package/dist/assets/{MarketplaceInstalledPage-BQH-qEi5.js → MarketplaceInstalledPage-IjVxon4M.js} +1 -1
  21. package/dist/assets/MarketplacePackagePage-BivOR4dD.js +4 -0
  22. package/dist/assets/{MarketplacePage-C_HnQQYH.js → MarketplacePage-aoYsZs4L.js} +1 -1
  23. package/dist/assets/{MetadataInspector-DwPx9ueN.js → MetadataInspector-BD4Mhmpt.js} +1 -1
  24. package/dist/assets/{MetadataProvider-seOmvY8N.js → MetadataProvider-C9mhBo6s.js} +1 -1
  25. package/dist/assets/ObjectDataPage-C1AX0mJW.js +1 -0
  26. package/dist/assets/{PageView-cehnKJ9R.js → PageView-CAAHjJzX.js} +1 -1
  27. package/dist/assets/{ProfilePage-CPk5ilAm.js → ProfilePage-tQyqenRR.js} +1 -1
  28. package/dist/assets/PublicFormsPage-CkKQzpw_.js +1 -0
  29. package/dist/assets/RecordDetailView-DcyCqWcp.js +9 -0
  30. package/dist/assets/{RecordFormPage-Dmw4MMhg.js → RecordFormPage-DPml60ze.js} +1 -1
  31. package/dist/assets/ReportDefaultInspector-De2iFQ0s.js +11 -0
  32. package/dist/assets/ReportView-BF5_XOtk.js +2 -0
  33. package/dist/assets/{SearchResultsPage-quEMr1ZW.js → SearchResultsPage-CiSIs_M4.js} +1 -1
  34. package/dist/assets/{SettingsHub-B5Y0DjDk.js → SettingsHub-PlVT_0zU.js} +1 -1
  35. package/dist/assets/{SettingsView-Q3e7GG0S.js → SettingsView-PA2_5adN.js} +1 -1
  36. package/dist/assets/SystemHubPage-DN6WDMNI.js +1 -0
  37. package/dist/assets/{conversationLanguage-CgUPnufx.js → conversationLanguage-b5go1PfT.js} +1 -1
  38. package/dist/assets/{data-adapter-BP-pyfs8.js → data-adapter-CbYJeapt.js} +1 -1
  39. package/dist/assets/{framework-CBCX6Urh.js → framework-Itfj9AWQ.js} +13 -13
  40. package/dist/assets/{getIcon-Ci4w4xXM.js → getIcon-DjDksPei.js} +1 -1
  41. package/dist/assets/{highlighted-body-OFNGDK62-B5Pqh6xJ.js → highlighted-body-OFNGDK62-DyDg64aM.js} +1 -1
  42. package/dist/assets/index-C31fE0Ro.js +2 -0
  43. package/dist/assets/index-N4ZfDXur.css +2 -0
  44. package/dist/assets/mermaid-GHXKKRXX-Bdn3wVYM.js +1 -0
  45. package/dist/assets/metadata-admin-Chw3a2T4.js +23 -0
  46. package/dist/assets/plugin-calendar-C7XgGNhj.js +1 -0
  47. package/dist/assets/{plugin-charts-DyKYgW3L.js → plugin-charts-DZcrIrvB.js} +2 -2
  48. package/dist/assets/plugin-chatbot-D0Od_WLT.js +120 -0
  49. package/dist/assets/plugin-dashboard-CGXhP3SP.js +6 -0
  50. package/dist/assets/plugin-form-BxGl_G-P.js +1 -0
  51. package/dist/assets/plugin-gantt-DIXK_GFE.js +93 -0
  52. package/dist/assets/plugin-grid-BusTOlSB.js +8 -0
  53. package/dist/assets/plugin-kanban-BORORRbu.js +1 -0
  54. package/dist/assets/{plugin-map-Co_pYpOZ.js → plugin-map-DhKLo0DD.js} +1 -1
  55. package/dist/assets/{plugin-markdown-CS5R-t3i.js → plugin-markdown-ByE3Dezt.js} +1 -1
  56. package/dist/assets/{plugin-report-_y8nt0FZ.js → plugin-report-CJmiocGk.js} +4 -4
  57. package/dist/assets/plugin-timeline-B5L8EK0C.js +1 -0
  58. package/dist/assets/{plugin-tree-DCAEE54g.js → plugin-tree-D7mdTkuW.js} +1 -1
  59. package/dist/assets/plugin-view-CMNOvn0A.js +1 -0
  60. package/dist/assets/plugins-views-BmubW-ty.js +4 -0
  61. package/dist/assets/{skeletons-BjaBYe9k.js → skeletons-Ch9F6pA8.js} +1 -1
  62. package/dist/assets/src-DrSomF2I.js +16 -0
  63. package/dist/assets/{src-D6ENIa3w.js → src-w44Q32YY.js} +1 -1
  64. package/dist/assets/{types-DXCQOIiO.js → types-GmZjwWOe.js} +1 -1
  65. package/dist/assets/ui-components-DTwfkSDm.js +42 -0
  66. package/dist/assets/{ui-layout-vWAZODrs.js → ui-layout-BHkbFI8f.js} +1 -1
  67. package/dist/assets/{useMetadata-D-bLZoNN.js → useMetadata-DSuQLgo1.js} +1 -1
  68. package/dist/assets/{useRecordApprovals-jo_LH43z.js → useRecordApprovals-Bo4WTft1.js} +1 -1
  69. package/dist/assets/vendor-objectstack-BlgvvNrN.js +108 -0
  70. package/dist/index.html +4 -4
  71. package/package.json +1 -1
  72. package/dist/assets/ApprovalsInboxPage-DbdgZkz_.js +0 -1
  73. package/dist/assets/MarketplacePackagePage-B2BXohna.js +0 -4
  74. package/dist/assets/ObjectDataPage-D8W0OzJe.js +0 -1
  75. package/dist/assets/PublicFormsPage-5oWNwPiZ.js +0 -1
  76. package/dist/assets/RecordDetailView-CUcCVoa1.js +0 -9
  77. package/dist/assets/ReportDefaultInspector-BBTLmEl-.js +0 -11
  78. package/dist/assets/ReportView-BPkQVP9-.js +0 -2
  79. package/dist/assets/SystemHubPage-SIzLdDrE.js +0 -1
  80. package/dist/assets/index-Df624lGg.js +0 -2
  81. package/dist/assets/index-GDbpsyLD.css +0 -2
  82. package/dist/assets/mermaid-GHXKKRXX-BlWXnAVk.js +0 -1
  83. package/dist/assets/metadata-admin-Jkl-QChK.js +0 -23
  84. package/dist/assets/plugin-calendar-BHRBKeJq.js +0 -1
  85. package/dist/assets/plugin-chatbot-CNLp4fGv.js +0 -120
  86. package/dist/assets/plugin-dashboard-uOZwquef.js +0 -6
  87. package/dist/assets/plugin-form-CX8z6nsj.js +0 -1
  88. package/dist/assets/plugin-gantt-CyktuI6d.js +0 -93
  89. package/dist/assets/plugin-grid-DNGRZzGM.js +0 -8
  90. package/dist/assets/plugin-kanban-B0Dwrpca.js +0 -1
  91. package/dist/assets/plugin-timeline-Cy03-xov.js +0 -1
  92. package/dist/assets/plugin-view-OZpEPOgT.js +0 -1
  93. package/dist/assets/plugins-views-BVxwkRdi.js +0 -4
  94. package/dist/assets/src-rXeXV_HX.js +0 -16
  95. package/dist/assets/ui-components-BOOpjWsQ.js +0 -42
  96. package/dist/assets/vendor-objectstack-Jcqd9154.js +0 -108
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{a as t,d as n,r,y as i}from"./vendor-react-BGDDiZfJ.js";import{$i as a,At as o,Bs as s,Ct as c,Dt as l,Fo as u,Gt as d,Mt as f,Ot as p,Qi as m,Tt as ee,Xn as h,Yn as g,Zn as _,ar as v,ci as y,go as b,jt as x,kc as S,kt as C,rt as w,wt as T,zt as E}from"./ui-components-BOOpjWsQ.js";import{_ as D,c as O,d as k,n as A,o as j,p as M,s as N,t as P,u as F,v as I,y as L}from"./vendor-dndkit-CzBh0_98.js";var R=e(i(),1),z=r();function B(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return null;let n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,i=parseInt(t[3],16)/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=0,c=0,l=(a+o)/2;if(a!==o){let e=a-o;switch(c=l>.5?e/(2-a-o):e/(a+o),a){case n:s=((r-i)/e+(r<i?6:0))/6;break;case r:s=((i-n)/e+2)/6;break;case i:s=((n-r)/e+4)/6;break}}return{h:s*360,s:c*100,l:l*100}}function V(e){let t=B(e);return t?`${Math.round(t.h)} ${Math.round(t.s)}% ${Math.round(t.l)}%`:null}function H(e){let t=B(e);if(!t)return null;let n=Math.max(t.l,65),r=t.s>80?Math.max(t.s-10,70):t.s;return`${Math.round(t.h)} ${Math.round(r)}% ${Math.round(n)}%`}function U(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return`0 0% 100%`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(parseInt(t[1],16)),i=n(parseInt(t[2],16)),a=n(parseInt(t[3],16));return .2126*r+.7152*i+.0722*a>.6?`222 47% 11%`:`0 0% 100%`}function W(e,t){(0,R.useEffect)(()=>{let n=document.documentElement,r=()=>n.classList.contains(`dark`),i=()=>{if(e?.primaryColor){let t=V(e.primaryColor),i=H(e.primaryColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-primary`,e.primaryColor),n.style.setProperty(`--brand-primary-hsl`,t||a),n.style.setProperty(`--primary`,a),n.style.setProperty(`--primary-foreground`,r()?`222 47% 11%`:U(e.primaryColor)),n.style.setProperty(`--ring`,a),n.style.setProperty(`--sidebar-primary`,a),n.style.setProperty(`--sidebar-ring`,a))}else n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`);if(e?.accentColor){let t=V(e.accentColor),i=H(e.accentColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-accent`,e.accentColor),n.style.setProperty(`--brand-accent-hsl`,t||a),n.style.setProperty(`--accent`,a),n.style.setProperty(`--accent-foreground`,r()?`222 47% 11%`:U(e.accentColor)))}else n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)};i();let a=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`class`){i();break}});if(a.observe(n,{attributes:!0,attributeFilter:[`class`]}),e?.favicon){let t=document.querySelector(`#favicon`)||document.querySelector(`link[rel="icon"]`);t&&(t.href=e.favicon)}return t&&(document.title=t),()=>{a.disconnect(),n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)}},[e?.primaryColor,e?.accentColor,e?.favicon,t])}function G({sidebar:e,navbar:t,children:n,className:r,defaultOpen:i=!0,branding:a}){return W(a,a?.title),(0,z.jsxs)(f,{defaultOpen:i,className:`!flex-col h-svh overflow-hidden`,children:[(0,z.jsx)(`header`,{className:`sticky top-0 z-30 flex h-14 w-full shrink-0 items-center gap-2 border-b bg-background px-2 sm:px-4`,children:t}),(0,z.jsxs)(`div`,{className:`flex flex-1 min-h-0 w-full`,children:[e,(0,z.jsx)(l,{className:`min-w-0`,children:(0,z.jsx)(`main`,{className:S(`flex-1 min-w-0 overflow-auto p-3 sm:p-4 md:p-6 pb-20 sm:pb-4 md:pb-6`,r),children:n})})]})]})}function K(e){return e?w(e):u}function q(e,t){if(typeof e==`string`)return e;if(t){let n=t(e.key,{defaultValue:e.defaultValue,...e.params});if(n&&n!==e.key)return n}return e.defaultValue||e.key}function te(e,t,n,r,i,a,o){let s=q(e.label,n);if(typeof e.label!=`string`)return s;let c=e=>!!e&&s.trim().toLowerCase()!==e.trim().toLowerCase();if(e.type===`object`&&e.objectName){if(e.viewName)return c(e.viewName)?s:a?a(e.objectName,e.viewName,s):s;if(c(e.objectName))return s;if(t)return t(e.objectName,s)}if(e.type===`dashboard`&&e.dashboardName){if(c(e.dashboardName))return s;if(r)return r(e.dashboardName,s)}if(e.type===`group`&&e.id){if(c(e.id))return s;if(i)return i(e.id,s)}return o&&e.id&&!c(e.id)?o(e.id,s):s}var ne=e=>!(e===!1||e===`false`),J=()=>!0,re=()=>!0,ie=/\{(current_user_id|current_org_id|[a-z][a-z0-9_]*)\}/g;function Y(e,t){if(!e.includes(`{`))return e;let n=!1,r=e.replace(ie,(e,r)=>{let i;return i=r===`current_user_id`?t?.currentUserId:r===`current_org_id`?t?.currentOrgId:t?.contextValues?.[r],i||(n=!0,``)});return n?null:r}function X(e,t,n){switch(e.type){case`object`:{let r=`${t}/${e.objectName??``}`,i=e.recordId;if(i){let t=Y(i,n);if(t){let n=`${r}/record/${encodeURIComponent(t)}`;return{href:e.recordMode===`edit`?`${n}/edit`:n,external:!1}}}let a=e.filters;if(a&&typeof a==`object`&&!Array.isArray(a)){let e=new URLSearchParams;for(let[t,r]of Object.entries(a)){if(r==null||t===``)continue;let i=Y(String(r),n);i!==null&&e.set(`filter[${t}]`,i)}let t=e.toString();return{href:t?`${r}/data?${t}`:`${r}/data`,external:!1}}return{href:e.viewName?`${r}/view/${e.viewName}`:r,external:!1}}case`dashboard`:return{href:e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`,external:!1};case`page`:{if(!e.pageName)return{href:`#`,external:!1};let r=e.params,i=`${t}/page/${e.pageName}`;if(r&&typeof r==`object`){let e=new URLSearchParams;for(let[t,i]of Object.entries(r))if(i!=null)if(typeof i==`string`){let r=Y(i,n);r!==null&&e.set(t,r)}else e.set(t,JSON.stringify(i));let t=e.toString();t&&(i+=`?${t}`)}return{href:i,external:!1}}case`report`:return{href:e.reportName?`${t}/report/${e.reportName}`:`#`,external:!1};case`url`:return{href:e.url??`#`,external:e.target===`_blank`};case`component`:{let r=e.componentRef;if(!r)return{href:`#`,external:!1};let i=r.split(`:`).filter(Boolean);if(i.length===0)return{href:`#`,external:!1};let a=e.params;if(i[0]===`metadata`){let e=i[1],r=a&&typeof a.type==`string`?a.type:void 0,o=a&&typeof a.name==`string`?a.name:void 0,s=``;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,r]of Object.entries(a))if(!(t===`type`||t===`name`)&&r!=null)if(typeof r==`string`){let i=Y(r,n);i&&e.set(t,i)}else e.set(t,JSON.stringify(r));let t=e.toString();t&&(s=`?${t}`)}return e===`directory`||!e?{href:`${t}/metadata${s}`,external:!1}:e===`resource`&&r?{href:`${t}/metadata${o?`/${encodeURIComponent(r)}/${encodeURIComponent(o)}`:`/${encodeURIComponent(r)}`}${s}`,external:!1}:{href:`${t}/metadata${s}`,external:!1}}let o=`${t}/component/${i.join(`/`)}`;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,n]of Object.entries(a))n!=null&&e.set(t,typeof n==`string`?n:JSON.stringify(n));let t=e.toString();t&&(o+=`?${t}`)}return{href:o,external:!1}}default:return{href:`#`,external:!1}}}var Z=50,ae=40,oe=30,se=25,ce=10,le=5;function ue(e){let t=new Map;return new URLSearchParams(e).forEach((e,n)=>{let r=/^filter\[(.+)\]$/.exec(n);r&&r[1]&&e!==``&&t.set(r[1],e)}),t}function de(e,t){return t.startsWith(`${e}.`)?t.slice(e.length+1):t}function fe(e,t,n,r,i){let{href:a,external:o}=X(e,r,i);if(o||a===`#`)return 0;if(e.type===`object`&&e.objectName){let a=`${r}/${e.objectName}`;if(t!==a&&!t.startsWith(`${a}/`))return 0;let o=t===a?[]:t.slice(a.length+1).split(`/`),s=e.recordId;if(s){let e=Y(s,i);if(e)return o[0]===`record`&&decodeURIComponent(o[1]??``)===e?Z:0}let c=e.filters;if(c&&typeof c==`object`&&!Array.isArray(c)){if(o[0]!==`data`)return 0;let e=new Map;for(let[t,n]of Object.entries(c)){if(n==null||t===``)continue;let r=Y(String(n),i);r!==null&&e.set(t,r)}if(e.size!==n.size)return 0;for(let[t,r]of e)if(n.get(t)!==r)return 0;return ae}return e.viewName?o[0]!==`view`||!o[1]?0:de(e.objectName,decodeURIComponent(o[1]))===de(e.objectName,e.viewName)?oe:0:o.length===0?se:ce}let s=a.split(`?`)[0];if(t===s)return se;let c=e.componentRef;return c&&c.split(`:`)[1]===`directory`?0:t.startsWith(`${s}/`)?le:0}function pe(e,t,n,r,i){let a=ue(n),o=null,s=0,c=e=>{if(e)for(let n of e){if(n.type===`group`){c(n.children);continue}let e=fe(n,t,a,r,i);e>s&&(o=n,s=e)}};return c(e),o}var Q=R.createContext(null);function me(e,t){if(!t.trim())return e;let n=t.toLowerCase().trim();return e.reduce((e,r)=>{if(r.type===`separator`)return e;if(r.type===`group`&&r.children?.length){let n=me(r.children,t);return n.length>0&&e.push({...r,children:n}),e}return q(r.label).toLowerCase().includes(n)&&e.push(r),e},[])}var he=5;function ge({item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,enableReorder:c,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:m,templateContext:ee}){let{attributes:h,listeners:g,setNodeRef:_,transform:v,transition:y,isDragging:b}=j({id:e.id,disabled:!c});return(0,z.jsx)(`div`,{ref:_,style:{transform:L.Transform.toString(v),transition:y,opacity:b?.5:void 0,zIndex:b?10:void 0},...h,children:(0,z.jsx)($,{item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,dragListeners:c?g:void 0,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:m,templateContext:ee})})}function $({item:e,basePath:n,evalVis:r,checkPerm:i,checkCap:l,onAction:u,enablePinning:f,onPinToggle:y,dragListeners:w,resolveObjectLabel:D,resolveDashboardLabel:O,resolveGroupLabel:k,resolveViewLabel:A,resolveItemLabel:j,t:M,templateContext:N}){let P=E(),F=P?`min-h-[44px] text-[15px] gap-3 rounded-xl`:void 0,I=S(`shrink-0`,P?`h-5 w-5`:`h-4 w-4`),L=(()=>{let t=e.expanded;if(typeof t==`boolean`)return t;if(typeof e.defaultOpen==`boolean`)return e.defaultOpen})(),B=e.type===`group`?e.children?.length??0:0,V=R.useContext(Q),[H,U]=(0,R.useState)(R.useMemo(()=>{if(e.type!==`group`||!V)return!1;let t=e=>!!e?.some(e=>e.id===V||e.type===`group`&&t(e.children));return t(e.children)},[e,V])?!0:L??!(B>=8));if(!r(e.visible)||e.requiredPermissions?.length&&!i(e.requiredPermissions))return null;let W=e.requiresObject,G=e.requiresService;if(W&&!l(`object`,W)||G&&!l(`service`,G))return null;if(e.type===`separator`)return(0,z.jsx)(d,{className:`my-2`});if(e.type===`group`){let t=(e.children??[]).slice().sort((e,t)=>(e.order??0)-(t.order??0)),a=te(e,D,M,O,k,A,j);return(0,z.jsx)(g,{open:H,onOpenChange:U,children:(0,z.jsxs)(c,{children:[(0,z.jsx)(ee,{asChild:!0,children:(0,z.jsxs)(_,{className:S(`flex w-full items-center justify-between`,P&&`min-h-[44px] text-[15px] rounded-xl`),children:[a,(0,z.jsx)(s,{className:S(`ml-auto transition-transform`,P?`h-5 w-5`:`h-4 w-4`,H&&`rotate-90`)})]})}),(0,z.jsx)(h,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,basePath:n,evalVis:r,checkPerm:i,checkCap:l,onAction:u,enablePinning:f,onPinToggle:y,resolveObjectLabel:D,resolveDashboardLabel:O,resolveGroupLabel:k,resolveViewLabel:A,resolveItemLabel:j,t:M,templateContext:N},e.id))})})})]})})}if(e.type===`action`){let t=K(e.icon),r=q(e.label,M);return(0,z.jsxs)(x,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":M?M(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(b,{className:`h-3.5 w-3.5`})}),(0,z.jsxs)(o,{tooltip:r,onClick:()=>u?.(e),className:F,children:[(0,z.jsx)(t,{className:I}),(0,z.jsx)(`span`,{children:r}),e.badge!=null&&(0,z.jsx)(v,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]}),f&&y&&(0,z.jsx)(C,{showOnHover:!0,onClick:()=>y(e.id,!e.pinned,e,n),"aria-label":M?M(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${r}`:`Pin ${r}`,name:r}):e.pinned?`Unpin ${r}`:`Pin ${r}`,children:e.pinned?(0,z.jsx)(a,{className:`h-3.5 w-3.5`}):(0,z.jsx)(m,{className:`h-3.5 w-3.5`})})]})}let ne=K(e.icon),{href:J,external:re}=X(e,n,N),ie=V!==null&&e.id===V,Y=te(e,D,M,O,k,A,j),Z=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ne,{className:I}),(0,z.jsx)(`span`,{children:Y}),e.badge!=null&&(0,z.jsx)(v,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]});return(0,z.jsxs)(x,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":M?M(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(b,{className:`h-3.5 w-3.5`})}),(0,z.jsx)(o,{asChild:!0,isActive:ie,tooltip:Y,className:F,children:re?(0,z.jsx)(`a`,{href:J,target:`_blank`,rel:`noopener noreferrer`,children:Z}):(0,z.jsx)(t,{to:J,children:Z})}),f&&y&&(0,z.jsx)(C,{showOnHover:!0,onClick:()=>y(e.id,!e.pinned,e,n),"aria-label":M?M(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${Y}`:`Pin ${Y}`,name:Y}):e.pinned?`Unpin ${Y}`:`Pin ${Y}`,children:e.pinned?(0,z.jsx)(a,{className:`h-3.5 w-3.5`}):(0,z.jsx)(m,{className:`h-3.5 w-3.5`})})]})}function _e({items:e,basePath:t=``,evaluateVisibility:r=ne,checkPermission:i=J,checkCapability:a=re,onAction:o,searchQuery:s,enablePinning:l,onPinToggle:u,enableReorder:d,onReorder:f,resolveObjectLabel:m,resolveDashboardLabel:h,resolveGroupLabel:g,resolveViewLabel:_,resolveItemLabel:v,t:b,templateContext:x}){let S=n(),C=(0,R.useMemo)(()=>pe(e,S.pathname,S.search,t,x)?.id??null,[e,S.pathname,S.search,t,x]),w=(0,R.useMemo)(()=>s?me(e,s):e,[e,s]),E=(0,R.useMemo)(()=>ve(w),[w]),j=w.slice().sort((e,t)=>(e.order??0)-(t.order??0)),L=I(D(k,{activationConstraint:{distance:he}}),D(F)),B=e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!f)return;let r=j.findIndex(e=>e.id===t.id),i=j.findIndex(e=>e.id===n.id);r===-1||i===-1||f(A(j,r,i).map((e,t)=>({...e,order:t})))},V={basePath:t,evalVis:r,checkPerm:i,checkCap:a,onAction:o,enablePinning:l,onPinToggle:u,resolveObjectLabel:m,resolveDashboardLabel:h,resolveGroupLabel:g,resolveViewLabel:_,resolveItemLabel:v,t:b,templateContext:x},H=j.some(e=>e.type===`group`),U=E.length>0&&l?(0,z.jsxs)(c,{children:[(0,z.jsxs)(ee,{className:`flex items-center gap-1.5`,children:[(0,z.jsx)(y,{className:`h-3.5 w-3.5`}),b?b(`console.nav.favorites`,{defaultValue:`Favorites`}):`Favorites`]}),(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:E.map(e=>(0,z.jsx)($,{item:e,...V},`fav-${e.id}`))})})]}):null;if(!H){let e=j.filter(e=>e.type!==`group`).map(e=>e.id),t=d?(0,z.jsx)(O,{sensors:L,collisionDetection:M,onDragEnd:B,children:(0,z.jsx)(P,{items:e,strategy:N,children:(0,z.jsx)(p,{children:j.map(e=>(0,z.jsx)(ge,{item:e,enableReorder:d,...V},e.id))})})}):(0,z.jsx)(p,{children:j.map(e=>(0,z.jsx)($,{item:e,...V},e.id))});return(0,z.jsxs)(Q.Provider,{value:C,children:[U,(0,z.jsx)(c,{children:(0,z.jsx)(T,{children:t})})]})}let W=[],G=[],K=e=>{if(G.length===0)return;let t=G;G=[],W.push((0,z.jsx)(c,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,...V},e.id))})})},e))};return j.forEach((e,t)=>{e.type===`group`?(K(`leaf-${t}`),W.push((0,z.jsx)($,{item:e,...V},e.id))):G.push(e)}),K(`leaf-end`),(0,z.jsxs)(Q.Provider,{value:C,children:[U,W]})}function ve(e){let t=[];for(let n of e)n.pinned&&n.type!==`group`&&n.type!==`separator`&&t.push(n),n.children?.length&&t.push(...ve(n.children));return t}export{X as n,G as r,_e as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{a as t,d as n,r,y as i}from"./vendor-react-BGDDiZfJ.js";import{$i as a,At as o,Ct as s,Dt as c,Fo as l,Gt as u,Mt as d,Oc as f,Ot as p,Tt as m,Xn as h,Yn as g,Zn as _,ar as v,ci as y,ea as b,go as x,jt as S,kt as C,rt as w,wt as T,zs as E,zt as D}from"./ui-components-DTwfkSDm.js";import{_ as O,c as k,d as A,n as j,o as M,p as N,s as ee,t as P,u as F,v as I,y as L}from"./vendor-dndkit-CzBh0_98.js";var R=e(i(),1),z=r();function B(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return null;let n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,i=parseInt(t[3],16)/255,a=Math.max(n,r,i),o=Math.min(n,r,i),s=0,c=0,l=(a+o)/2;if(a!==o){let e=a-o;switch(c=l>.5?e/(2-a-o):e/(a+o),a){case n:s=((r-i)/e+(r<i?6:0))/6;break;case r:s=((i-n)/e+2)/6;break;case i:s=((n-r)/e+4)/6;break}}return{h:s*360,s:c*100,l:l*100}}function V(e){let t=B(e);return t?`${Math.round(t.h)} ${Math.round(t.s)}% ${Math.round(t.l)}%`:null}function H(e){let t=B(e);if(!t)return null;let n=Math.max(t.l,65),r=t.s>80?Math.max(t.s-10,70):t.s;return`${Math.round(t.h)} ${Math.round(r)}% ${Math.round(n)}%`}function U(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)return`0 0% 100%`;let n=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4},r=n(parseInt(t[1],16)),i=n(parseInt(t[2],16)),a=n(parseInt(t[3],16));return .2126*r+.7152*i+.0722*a>.6?`222 47% 11%`:`0 0% 100%`}function W(e,t){(0,R.useEffect)(()=>{let n=document.documentElement,r=()=>n.classList.contains(`dark`),i=()=>{if(e?.primaryColor){let t=V(e.primaryColor),i=H(e.primaryColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-primary`,e.primaryColor),n.style.setProperty(`--brand-primary-hsl`,t||a),n.style.setProperty(`--primary`,a),n.style.setProperty(`--primary-foreground`,r()?`222 47% 11%`:U(e.primaryColor)),n.style.setProperty(`--ring`,a),n.style.setProperty(`--sidebar-primary`,a),n.style.setProperty(`--sidebar-ring`,a))}else n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`);if(e?.accentColor){let t=V(e.accentColor),i=H(e.accentColor),a=r()&&i||t;a&&(n.style.setProperty(`--brand-accent`,e.accentColor),n.style.setProperty(`--brand-accent-hsl`,t||a),n.style.setProperty(`--accent`,a),n.style.setProperty(`--accent-foreground`,r()?`222 47% 11%`:U(e.accentColor)))}else n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)};i();let a=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`class`){i();break}});if(a.observe(n,{attributes:!0,attributeFilter:[`class`]}),e?.favicon){let t=document.querySelector(`#favicon`)||document.querySelector(`link[rel="icon"]`);t&&(t.href=e.favicon)}return t&&(document.title=t),()=>{a.disconnect(),n.style.removeProperty(`--brand-primary`),n.style.removeProperty(`--brand-primary-hsl`),n.style.removeProperty(`--brand-accent`),n.style.removeProperty(`--brand-accent-hsl`),n.style.removeProperty(`--primary`),n.style.removeProperty(`--primary-foreground`),n.style.removeProperty(`--ring`),n.style.removeProperty(`--sidebar-primary`),n.style.removeProperty(`--sidebar-ring`),n.style.removeProperty(`--accent`),n.style.removeProperty(`--accent-foreground`)}},[e?.primaryColor,e?.accentColor,e?.favicon,t])}function G({sidebar:e,navbar:t,children:n,className:r,defaultOpen:i=!0,branding:a}){return W(a,a?.title),(0,z.jsxs)(d,{defaultOpen:i,className:`!flex-col h-svh overflow-hidden`,children:[(0,z.jsx)(`header`,{className:`sticky top-0 z-30 flex h-14 w-full shrink-0 items-center gap-2 border-b bg-background px-2 sm:px-4`,children:t}),(0,z.jsxs)(`div`,{className:`flex flex-1 min-h-0 w-full`,children:[e,(0,z.jsx)(c,{className:`min-w-0`,children:(0,z.jsx)(`main`,{className:f(`flex-1 min-w-0 overflow-auto p-3 sm:p-4 md:p-6 pb-20 sm:pb-4 md:pb-6`,r),children:n})})]})]})}function K(e){return e?w(e):l}function q(e,t){if(typeof e==`string`)return e;if(t){let n=t(e.key,{defaultValue:e.defaultValue,...e.params});if(n&&n!==e.key)return n}return e.defaultValue||e.key}function te(e,t,n,r,i,a,o){let s=q(e.label,n);if(typeof e.label!=`string`)return s;let c=e=>!!e&&s.trim().toLowerCase()!==e.trim().toLowerCase();if(e.type===`object`&&e.objectName){if(e.viewName)return c(e.viewName)?s:a?a(e.objectName,e.viewName,s):s;if(c(e.objectName))return s;if(t)return t(e.objectName,s)}if(e.type===`dashboard`&&e.dashboardName){if(c(e.dashboardName))return s;if(r)return r(e.dashboardName,s)}if(e.type===`group`&&e.id){if(c(e.id))return s;if(i)return i(e.id,s)}return o&&e.id&&!c(e.id)?o(e.id,s):s}var ne=e=>!(e===!1||e===`false`),J=()=>!0,re=()=>!0,ie=/\{(current_user_id|current_org_id|[a-z][a-z0-9_]*)\}/g;function Y(e,t){if(!e.includes(`{`))return e;let n=!1,r=e.replace(ie,(e,r)=>{let i;return i=r===`current_user_id`?t?.currentUserId:r===`current_org_id`?t?.currentOrgId:t?.contextValues?.[r],i||(n=!0,``)});return n?null:r}function X(e,t,n){switch(e.type){case`object`:{let r=`${t}/${e.objectName??``}`,i=e.recordId;if(i){let t=Y(i,n);if(t){let n=`${r}/record/${encodeURIComponent(t)}`;return{href:e.recordMode===`edit`?`${n}/edit`:n,external:!1}}}let a=e.filters;if(a&&typeof a==`object`&&!Array.isArray(a)){let e=new URLSearchParams;for(let[t,r]of Object.entries(a)){if(r==null||t===``)continue;let i=Y(String(r),n);i!==null&&e.set(`filter[${t}]`,i)}let t=e.toString();return{href:t?`${r}/data?${t}`:`${r}/data`,external:!1}}return{href:e.viewName?`${r}/view/${e.viewName}`:r,external:!1}}case`dashboard`:return{href:e.dashboardName?`${t}/dashboard/${e.dashboardName}`:`#`,external:!1};case`page`:{if(!e.pageName)return{href:`#`,external:!1};let r=e.params,i=`${t}/page/${e.pageName}`;if(r&&typeof r==`object`){let e=new URLSearchParams;for(let[t,i]of Object.entries(r))if(i!=null)if(typeof i==`string`){let r=Y(i,n);r!==null&&e.set(t,r)}else e.set(t,JSON.stringify(i));let t=e.toString();t&&(i+=`?${t}`)}return{href:i,external:!1}}case`report`:return{href:e.reportName?`${t}/report/${e.reportName}`:`#`,external:!1};case`url`:return{href:e.url??`#`,external:e.target===`_blank`};case`component`:{let r=e.componentRef;if(!r)return{href:`#`,external:!1};let i=r.split(`:`).filter(Boolean);if(i.length===0)return{href:`#`,external:!1};let a=e.params;if(i[0]===`metadata`){let e=i[1],r=a&&typeof a.type==`string`?a.type:void 0,o=a&&typeof a.name==`string`?a.name:void 0,s=``;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,r]of Object.entries(a))if(!(t===`type`||t===`name`)&&r!=null)if(typeof r==`string`){let i=Y(r,n);i&&e.set(t,i)}else e.set(t,JSON.stringify(r));let t=e.toString();t&&(s=`?${t}`)}return e===`directory`||!e?{href:`${t}/metadata${s}`,external:!1}:e===`resource`&&r?{href:`${t}/metadata${o?`/${encodeURIComponent(r)}/${encodeURIComponent(o)}`:`/${encodeURIComponent(r)}`}${s}`,external:!1}:{href:`${t}/metadata${s}`,external:!1}}let o=`${t}/component/${i.join(`/`)}`;if(a&&typeof a==`object`){let e=new URLSearchParams;for(let[t,n]of Object.entries(a))n!=null&&e.set(t,typeof n==`string`?n:JSON.stringify(n));let t=e.toString();t&&(o+=`?${t}`)}return{href:o,external:!1}}default:return{href:`#`,external:!1}}}var Z=50,ae=40,oe=30,se=25,ce=10,le=5;function ue(e){let t=new Map;return new URLSearchParams(e).forEach((e,n)=>{let r=/^filter\[(.+)\]$/.exec(n);r&&r[1]&&e!==``&&t.set(r[1],e)}),t}function de(e,t){return t.startsWith(`${e}.`)?t.slice(e.length+1):t}function fe(e,t,n,r,i){let{href:a,external:o}=X(e,r,i);if(o||a===`#`)return 0;if(e.type===`object`&&e.objectName){let a=`${r}/${e.objectName}`;if(t!==a&&!t.startsWith(`${a}/`))return 0;let o=t===a?[]:t.slice(a.length+1).split(`/`),s=e.recordId;if(s){let e=Y(s,i);if(e)return o[0]===`record`&&decodeURIComponent(o[1]??``)===e?Z:0}let c=e.filters;if(c&&typeof c==`object`&&!Array.isArray(c)){if(o[0]!==`data`)return 0;let e=new Map;for(let[t,n]of Object.entries(c)){if(n==null||t===``)continue;let r=Y(String(n),i);r!==null&&e.set(t,r)}if(e.size!==n.size)return 0;for(let[t,r]of e)if(n.get(t)!==r)return 0;return ae}return e.viewName?o[0]!==`view`||!o[1]?0:de(e.objectName,decodeURIComponent(o[1]))===de(e.objectName,e.viewName)?oe:0:o.length===0?se:ce}let s=a.split(`?`)[0];if(t===s)return se;let c=e.componentRef;return c&&c.split(`:`)[1]===`directory`?0:t.startsWith(`${s}/`)?le:0}function pe(e,t,n,r,i){let a=ue(n),o=null,s=0,c=e=>{if(e)for(let n of e){if(n.type===`group`){c(n.children);continue}let e=fe(n,t,a,r,i);e>s&&(o=n,s=e)}};return c(e),o}var Q=R.createContext(null);function me(e,t){if(!t.trim())return e;let n=t.toLowerCase().trim();return e.reduce((e,r)=>{if(r.type===`separator`)return e;if(r.type===`group`&&r.children?.length){let n=me(r.children,t);return n.length>0&&e.push({...r,children:n}),e}return q(r.label).toLowerCase().includes(n)&&e.push(r),e},[])}var he=5;function ge({item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,enableReorder:c,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:m,templateContext:h}){let{attributes:g,listeners:_,setNodeRef:v,transform:y,transition:b,isDragging:x}=M({id:e.id,disabled:!c});return(0,z.jsx)(`div`,{ref:v,style:{transform:L.Transform.toString(y),transition:b,opacity:x?.5:void 0,zIndex:x?10:void 0},...g,children:(0,z.jsx)($,{item:e,basePath:t,evalVis:n,checkPerm:r,checkCap:i,onAction:a,enablePinning:o,onPinToggle:s,dragListeners:c?_:void 0,resolveObjectLabel:l,resolveDashboardLabel:u,resolveGroupLabel:d,resolveViewLabel:f,resolveItemLabel:p,t:m,templateContext:h})})}function $({item:e,basePath:n,evalVis:r,checkPerm:i,checkCap:c,onAction:l,enablePinning:d,onPinToggle:y,dragListeners:w,resolveObjectLabel:O,resolveDashboardLabel:k,resolveGroupLabel:A,resolveViewLabel:j,resolveItemLabel:M,t:N,templateContext:ee}){let P=D(),F=P?`min-h-[44px] text-[15px] gap-3 rounded-xl`:void 0,I=f(`shrink-0`,P?`h-5 w-5`:`h-4 w-4`),L=(()=>{let t=e.expanded;if(typeof t==`boolean`)return t;if(typeof e.defaultOpen==`boolean`)return e.defaultOpen})(),B=e.type===`group`?e.children?.length??0:0,V=R.useContext(Q),[H,U]=(0,R.useState)(R.useMemo(()=>{if(e.type!==`group`||!V)return!1;let t=e=>!!e?.some(e=>e.id===V||e.type===`group`&&t(e.children));return t(e.children)},[e,V])?!0:L??!(B>=8));if(!r(e.visible)||e.requiredPermissions?.length&&!i(e.requiredPermissions))return null;let W=e.requiresObject,G=e.requiresService;if(W&&!c(`object`,W)||G&&!c(`service`,G))return null;if(e.type===`separator`)return(0,z.jsx)(u,{className:`my-2`});if(e.type===`group`){let t=(e.children??[]).slice().sort((e,t)=>(e.order??0)-(t.order??0)),a=te(e,O,N,k,A,j,M);return(0,z.jsx)(g,{open:H,onOpenChange:U,children:(0,z.jsxs)(s,{children:[(0,z.jsx)(m,{asChild:!0,children:(0,z.jsxs)(_,{className:f(`flex w-full items-center justify-between`,P&&`min-h-[44px] text-[15px] rounded-xl`),children:[a,(0,z.jsx)(E,{className:f(`ml-auto transition-transform`,P?`h-5 w-5`:`h-4 w-4`,H&&`rotate-90`)})]})}),(0,z.jsx)(h,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,basePath:n,evalVis:r,checkPerm:i,checkCap:c,onAction:l,enablePinning:d,onPinToggle:y,resolveObjectLabel:O,resolveDashboardLabel:k,resolveGroupLabel:A,resolveViewLabel:j,resolveItemLabel:M,t:N,templateContext:ee},e.id))})})})]})})}if(e.type===`action`){let t=K(e.icon),r=q(e.label,N);return(0,z.jsxs)(S,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":N?N(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(x,{className:`h-3.5 w-3.5`})}),(0,z.jsxs)(o,{tooltip:r,onClick:()=>l?.(e),className:F,children:[(0,z.jsx)(t,{className:I}),(0,z.jsx)(`span`,{children:r}),e.badge!=null&&(0,z.jsx)(v,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]}),d&&y&&(0,z.jsx)(C,{showOnHover:!0,onClick:()=>y(e.id,!e.pinned,e,n),"aria-label":N?N(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${r}`:`Pin ${r}`,name:r}):e.pinned?`Unpin ${r}`:`Pin ${r}`,children:e.pinned?(0,z.jsx)(b,{className:`h-3.5 w-3.5`}):(0,z.jsx)(a,{className:`h-3.5 w-3.5`})})]})}let ne=K(e.icon),{href:J,external:re}=X(e,n,ee),ie=V!==null&&e.id===V,Y=te(e,O,N,k,A,j,M),Z=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(ne,{className:I}),(0,z.jsx)(`span`,{children:Y}),e.badge!=null&&(0,z.jsx)(v,{variant:e.badgeVariant??`default`,className:`ml-auto text-[10px] px-1.5 py-0`,children:e.badge})]});return(0,z.jsxs)(S,{children:[w&&(0,z.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 cursor-grab text-muted-foreground`,"aria-label":N?N(`console.nav.dragToReorder`,{defaultValue:`Drag to reorder`}):`Drag to reorder`,...w,children:(0,z.jsx)(x,{className:`h-3.5 w-3.5`})}),(0,z.jsx)(o,{asChild:!0,isActive:ie,tooltip:Y,className:F,children:re?(0,z.jsx)(`a`,{href:J,target:`_blank`,rel:`noopener noreferrer`,children:Z}):(0,z.jsx)(t,{to:J,children:Z})}),d&&y&&(0,z.jsx)(C,{showOnHover:!0,onClick:()=>y(e.id,!e.pinned,e,n),"aria-label":N?N(e.pinned?`console.nav.unpinItem`:`console.nav.pinItem`,{defaultValue:e.pinned?`Unpin ${Y}`:`Pin ${Y}`,name:Y}):e.pinned?`Unpin ${Y}`:`Pin ${Y}`,children:e.pinned?(0,z.jsx)(b,{className:`h-3.5 w-3.5`}):(0,z.jsx)(a,{className:`h-3.5 w-3.5`})})]})}function _e({items:e,basePath:t=``,evaluateVisibility:r=ne,checkPermission:i=J,checkCapability:a=re,onAction:o,searchQuery:c,enablePinning:l,onPinToggle:u,enableReorder:d,onReorder:f,resolveObjectLabel:h,resolveDashboardLabel:g,resolveGroupLabel:_,resolveViewLabel:v,resolveItemLabel:b,t:x,templateContext:S}){let C=n(),w=(0,R.useMemo)(()=>pe(e,C.pathname,C.search,t,S)?.id??null,[e,C.pathname,C.search,t,S]),E=(0,R.useMemo)(()=>c?me(e,c):e,[e,c]),D=(0,R.useMemo)(()=>ve(E),[E]),M=E.slice().sort((e,t)=>(e.order??0)-(t.order??0)),L=I(O(A,{activationConstraint:{distance:he}}),O(F)),B=e=>{let{active:t,over:n}=e;if(!n||t.id===n.id||!f)return;let r=M.findIndex(e=>e.id===t.id),i=M.findIndex(e=>e.id===n.id);r===-1||i===-1||f(j(M,r,i).map((e,t)=>({...e,order:t})))},V={basePath:t,evalVis:r,checkPerm:i,checkCap:a,onAction:o,enablePinning:l,onPinToggle:u,resolveObjectLabel:h,resolveDashboardLabel:g,resolveGroupLabel:_,resolveViewLabel:v,resolveItemLabel:b,t:x,templateContext:S},H=M.some(e=>e.type===`group`),U=D.length>0&&l?(0,z.jsxs)(s,{children:[(0,z.jsxs)(m,{className:`flex items-center gap-1.5`,children:[(0,z.jsx)(y,{className:`h-3.5 w-3.5`}),x?x(`console.nav.favorites`,{defaultValue:`Favorites`}):`Favorites`]}),(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:D.map(e=>(0,z.jsx)($,{item:e,...V},`fav-${e.id}`))})})]}):null;if(!H){let e=M.filter(e=>e.type!==`group`).map(e=>e.id),t=d?(0,z.jsx)(k,{sensors:L,collisionDetection:N,onDragEnd:B,children:(0,z.jsx)(P,{items:e,strategy:ee,children:(0,z.jsx)(p,{children:M.map(e=>(0,z.jsx)(ge,{item:e,enableReorder:d,...V},e.id))})})}):(0,z.jsx)(p,{children:M.map(e=>(0,z.jsx)($,{item:e,...V},e.id))});return(0,z.jsxs)(Q.Provider,{value:w,children:[U,(0,z.jsx)(s,{children:(0,z.jsx)(T,{children:t})})]})}let W=[],G=[],K=e=>{if(G.length===0)return;let t=G;G=[],W.push((0,z.jsx)(s,{children:(0,z.jsx)(T,{children:(0,z.jsx)(p,{children:t.map(e=>(0,z.jsx)($,{item:e,...V},e.id))})})},e))};return M.forEach((e,t)=>{e.type===`group`?(K(`leaf-${t}`),W.push((0,z.jsx)($,{item:e,...V},e.id))):G.push(e)}),K(`leaf-end`),(0,z.jsxs)(Q.Provider,{value:w,children:[U,W]})}function ve(e){let t=[];for(let n of e)n.pinned&&n.type!==`group`&&n.type!==`separator`&&t.push(n),n.children?.length&&t.push(...ve(n.children));return t}export{X as n,G as r,_e as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{y as t}from"./vendor-react-BGDDiZfJ.js";import{n}from"./data-adapter-BP-pyfs8.js";import{a as r}from"./MetadataProvider-seOmvY8N.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{let r=new n({baseUrl:``,previewDrafts:t});return e?r.withEnvironment(e):r},[e,t])}function o(e){let t=new Set(e.map(e=>e.type));return e.filter(e=>{if(!/[A-Z]/.test(e.type))return!0;let n=e.type.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`);return!(n!==e.type&&t.has(n))})}function s(e){let[t,n]=(0,i.useState)(!0),[r,a]=(0,i.useState)(null),[s,c]=(0,i.useState)([]);return(0,i.useEffect)(()=>{let t=!1;return n(!0),a(null),(async()=>{try{let r=await e.listTypes(),i;if(Array.isArray(r))i=r.map(e=>typeof e==`string`?{type:e}:e);else{let e=r?.entries;i=Array.isArray(e)&&e.length>0?e:(r?.types??[]).map(e=>({type:e}))}t||(c(o(i)),n(!1))}catch(e){t||(a(e?.message??String(e)),n(!1))}})(),()=>{t=!0}},[e]),{loading:t,error:r,entries:s}}function c(e,t,n=[`name`,`label`,`description`]){if(!t)return!0;let r=t.toLowerCase();for(let t of n){let n=e[t];if(typeof n==`string`&&n.toLowerCase().includes(r))return!0}return!1}function l(e,t=`error`,n){let[r,a]=(0,i.useState)(!0),[o,s]=(0,i.useState)(null),[c,l]=(0,i.useState)({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),[u,d]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let r=!1;return a(!0),s(null),(async()=>{try{let i=await e.diagnostics(n?{severity:t,packageId:n}:{severity:t});if(r)return;l(i),a(!1)}catch(e){if(r)return;s(e?.message??String(e)),l({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),a(!1)}})(),()=>{r=!0}},[e,t,n,u]),{loading:r,error:o,summary:c,byType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries)(t.diagnostics?.errors?.length??0)>0&&(e[t.type]=(e[t.type]??0)+1);return e},[c]),warnByType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries){let n=t.diagnostics?.errors?.length??0,r=t.diagnostics?.warnings?.length??0;n===0&&r>0&&(e[t.type]=(e[t.type]??0)+1)}return e},[c]),countsByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.count;return e},[c]),lockedByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))typeof n.locked==`number`&&n.locked>0&&(e[t]=n.locked);return e},[c]),packagesByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.packages??[];return e},[c]),allPackages:(0,i.useMemo)(()=>{let e=new Set;for(let t of Object.values(c.stats??{}))for(let n of t.packages??[])e.add(n);return[...e].sort()},[c]),reload:()=>d(e=>e+1)}}export{s as i,l as n,a as r,c as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{y as t}from"./vendor-react-BGDDiZfJ.js";import{n}from"./data-adapter-CbYJeapt.js";import{a as r}from"./MetadataProvider-C9mhBo6s.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{let r=new n({baseUrl:``,previewDrafts:t});return e?r.withEnvironment(e):r},[e,t])}function o(e){let t=new Set(e.map(e=>e.type));return e.filter(e=>{if(!/[A-Z]/.test(e.type))return!0;let n=e.type.replace(/[A-Z]/g,e=>`_${e.toLowerCase()}`);return!(n!==e.type&&t.has(n))})}function s(e){let[t,n]=(0,i.useState)(!0),[r,a]=(0,i.useState)(null),[s,c]=(0,i.useState)([]);return(0,i.useEffect)(()=>{let t=!1;return n(!0),a(null),(async()=>{try{let r=await e.listTypes(),i;if(Array.isArray(r))i=r.map(e=>typeof e==`string`?{type:e}:e);else{let e=r?.entries;i=Array.isArray(e)&&e.length>0?e:(r?.types??[]).map(e=>({type:e}))}t||(c(o(i)),n(!1))}catch(e){t||(a(e?.message??String(e)),n(!1))}})(),()=>{t=!0}},[e]),{loading:t,error:r,entries:s}}function c(e,t,n=[`name`,`label`,`description`]){if(!t)return!0;let r=t.toLowerCase();for(let t of n){let n=e[t];if(typeof n==`string`&&n.toLowerCase().includes(r))return!0}return!1}function l(e,t=`error`,n){let[r,a]=(0,i.useState)(!0),[o,s]=(0,i.useState)(null),[c,l]=(0,i.useState)({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),[u,d]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let r=!1;return a(!0),s(null),(async()=>{try{let i=await e.diagnostics(n?{severity:t,packageId:n}:{severity:t});if(r)return;l(i),a(!1)}catch(e){if(r)return;s(e?.message??String(e)),l({entries:[],total:0,scannedTypes:0,scannedItems:0,stats:{}}),a(!1)}})(),()=>{r=!0}},[e,t,n,u]),{loading:r,error:o,summary:c,byType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries)(t.diagnostics?.errors?.length??0)>0&&(e[t.type]=(e[t.type]??0)+1);return e},[c]),warnByType:(0,i.useMemo)(()=>{let e={};for(let t of c.entries){let n=t.diagnostics?.errors?.length??0,r=t.diagnostics?.warnings?.length??0;n===0&&r>0&&(e[t.type]=(e[t.type]??0)+1)}return e},[c]),countsByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.count;return e},[c]),lockedByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))typeof n.locked==`number`&&n.locked>0&&(e[t]=n.locked);return e},[c]),packagesByType:(0,i.useMemo)(()=>{let e={};for(let[t,n]of Object.entries(c.stats??{}))e[t]=n.packages??[];return e},[c]),allPackages:(0,i.useMemo)(()=>{let e=new Set;for(let t of Object.values(c.stats??{}))for(let n of t.packages??[])e.add(n);return[...e].sort()},[c]),reload:()=>d(e=>e+1)}}export{s as i,l as n,a as r,c as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{r as t,y as n}from"./vendor-react-BGDDiZfJ.js";import{f as r}from"./infrastructure-ASGyCRMg.js";import{R as i,Y as a}from"./framework-CBCX6Urh.js";import{Bt as o,Cn as s,En as c,Gn as l,Ht as u,Jn as d,Sn as f,Tn as p,Un as m,Ut as h,Vt as g,Wn as _,Wt as v,kc as y,qn as ee,wn as b,xr as te}from"./ui-components-BOOpjWsQ.js";import{n as x}from"./plugin-form-CX8z6nsj.js";import{t as S}from"./recordFormNavigation-8nEYNxNo.js";var C=e(n(),1),w=t(),T=(0,C.createContext)({favorites:null,recent:null}),E=(0,C.createContext)(null);function D({children:e}){let[t,n]=(0,C.useState)({favorites:null,recent:null}),r=(0,C.useRef)({attach:(e,t)=>{n(n=>n[e]===t?n:{...n,[e]:t})}});return(0,w.jsx)(E.Provider,{value:r.current,children:(0,w.jsx)(T.Provider,{value:t,children:e})})}function O(e){return(0,C.useContext)(T)[e]}function k(){let e=(0,C.useContext)(E);return(0,C.useCallback)((t,n)=>{e?.attach(t,n)},[e])}function A(e,t){return t?`${e}:u:${t}`:e}function j(e,t){let n=(0,C.useRef)(t);n.current=t,(0,C.useEffect)(()=>{if(typeof window>`u`)return;let t=t=>{if(!(t.key!==e||t.storageArea!==localStorage)){if(t.newValue==null){n.current(null);return}try{n.current(JSON.parse(t.newValue))}catch{n.current(null)}}};return window.addEventListener(`storage`,t),()=>window.removeEventListener(`storage`,t)},[e])}function M(e,t=500){let n=null,r=null,i=!1,a=async()=>{if(n&&=(clearTimeout(n),null),!i)return;let t=r;i=!1,r=null;try{await e(t)}catch{}};return{schedule:e=>{r=e,i=!0,n&&clearTimeout(n),n=setTimeout(()=>{n=null,a()},t)},flush:a,cancel:()=>{n&&clearTimeout(n),n=null,i=!1,r=null}}}var N=`objectui-recent-items`,P=8;function F(e){try{let t=localStorage.getItem(A(N,e));return t?JSON.parse(t):[]}catch{return[]}}function I(e,t){try{localStorage.setItem(A(N,t),JSON.stringify(e))}catch{}}var L=(0,C.createContext)(null);function R({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`recent`),[a,o]=(0,C.useState)(()=>F(n));(0,C.useEffect)(()=>{o(F(n))},[n]),j(A(N,n),e=>{o(Array.isArray(e)?e.filter(e=>e&&typeof e.id==`string`).slice(0,P):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=(Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`).slice(0,P);o(a),I(a,n)}catch{}})(),()=>{t=!0}},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{I(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e.id),r=[{...e,visitedAt:new Date().toISOString()},...n].slice(0,P);return l(r),r})},[l]),d=(0,C.useCallback)(()=>{o([]),l([])},[l]),f=(0,C.useMemo)(()=>({recentItems:a,addRecentItem:u,clearRecentItems:d}),[a,u,d]);return(0,w.jsx)(L.Provider,{value:f,children:e})}function z(){return(0,C.useContext)(L)||{recentItems:[],addRecentItem:()=>{},clearRecentItems:()=>{}}}var B={sm:`sm:max-w-sm`,default:`sm:max-w-lg`,lg:`sm:max-w-2xl`,xl:`sm:max-w-5xl`,full:`sm:max-w-[95vw] sm:w-full`},V={lg:`sm:max-w-2xl`,xl:`sm:max-w-3xl`,full:`sm:max-w-[95vw]`};function H(e){if(typeof e==`string`){let t=e.match(/^(create|new|add|edit|update)_(.+)$/);return t?{objectName:t[2],mode:t[1]===`edit`||t[1]===`update`?`edit`:`create`}:{objectName:e,mode:`create`}}return e&&typeof e==`object`?e.type&&!e.content&&!e.objectName&&!e.placement?{content:e}:e:{}}function U(e){let[t,n]=(0,C.useState)(null),{objects:r}=i(),T=(0,C.useCallback)(e=>{n(t=>(t?.resolve(e),null))},[]),E=(0,C.useCallback)(e=>new Promise(t=>{n({d:H(e),resolve:t})}),[]),D=null;if(t){let n=t.d,i=e=>{e||T({success:!1})};if(n.objectName&&!n.content){let t=n.fields||n.sections?{}:S(r.find(e=>e?.name===n.objectName));D=(0,w.jsx)(x,{schema:{type:`object-form`,formType:`modal`,objectName:n.objectName,mode:n.mode||`create`,recordId:n.recordId,title:n.title,description:n.description,fields:n.fields,...t,modalSize:n.size,open:!0,onOpenChange:i,onSuccess:e=>T({success:!0,reload:!0,data:e}),onCancel:()=>T({success:!1}),showSubmit:!0,showCancel:!0},dataSource:e})}else{let e=n.placement||`center`,t=n.content?(0,w.jsx)(a,{schema:n.content}):n.description?(0,w.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n.description}):null;D=e===`side`?(0,w.jsx)(o,{open:!0,onOpenChange:i,children:(0,w.jsxs)(g,{side:n.side||`right`,className:y(`w-full overflow-y-auto`,V[n.size||`default`]),children:[n.title&&(0,w.jsxs)(h,{children:[(0,w.jsx)(v,{children:n.title}),n.description&&(0,w.jsx)(u,{children:n.description})]}),(0,w.jsx)(`div`,{className:`py-3`,children:t})]})}):e===`bottom`?(0,w.jsx)(f,{open:!0,onOpenChange:i,children:(0,w.jsxs)(s,{children:[n.title&&(0,w.jsxs)(p,{children:[(0,w.jsx)(c,{children:n.title}),n.description&&(0,w.jsx)(b,{children:n.description})]}),(0,w.jsx)(`div`,{className:`max-h-[75vh] overflow-y-auto px-4 pb-6`,children:t})]})}):(0,w.jsx)(m,{open:!0,onOpenChange:i,children:(0,w.jsxs)(_,{className:y(e===`fullscreen`?`h-[95vh] w-full max-w-[98vw] overflow-y-auto`:B[n.size||`default`]),children:[n.title&&(0,w.jsxs)(ee,{children:[(0,w.jsx)(d,{children:n.title}),n.description&&(0,w.jsx)(l,{children:n.description})]}),(0,w.jsx)(`div`,{children:t}),!n.content&&(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(te,{onClick:()=>T({success:!0}),children:`OK`})})]})})}}return{modalHandler:E,modalElement:D,closeModal:T}}var W=`objectui-favorites`,G=`objectui-nav-pins`,K=20,q=20;function J(e){let t=0,n=0,r=!1;for(let i of e)i.type===`nav`?(n++,n>q&&(r=!0)):(t++,t>K&&(r=!0));if(!r)return e;let i=[],a=0,o=0;for(let t of e)t.type===`nav`?o<q&&(i.push(t),o++):a<K&&(i.push(t),a++);return i}function Y(e){try{let t=localStorage.getItem(A(W,e));return t?JSON.parse(t):[]}catch{return[]}}function X(e,t){try{localStorage.setItem(A(W,t),JSON.stringify(e))}catch{}}function Z(e){let t;try{t=localStorage.getItem(G)}catch{return{migrated:e,didMigrate:!1}}if(!t)return{migrated:e,didMigrate:!1};let n=[];try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.filter(e=>typeof e==`string`))}catch{}try{localStorage.removeItem(G)}catch{}if(n.length===0)return{migrated:e,didMigrate:!1};let r=new Set(e.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),i=new Date().toISOString(),a=[];for(let e of n)r.has(e)||a.push({id:`nav:${e}`,label:e,href:``,type:`nav`,navId:e,pinned:!0,favoritedAt:i});return a.length===0?{migrated:e,didMigrate:!0}:{migrated:[...e,...a],didMigrate:!0}}var Q=(0,C.createContext)(null);function ne({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`favorites`),[a,o]=(0,C.useState)(()=>Y(n));(0,C.useEffect)(()=>{o(Y(n))},[n]),j(A(W,n),e=>{o(Array.isArray(e)?J(e.filter(e=>e&&typeof e.id==`string`)):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=J((Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`)),l=Y(n),u=new Set(a.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),d=l.filter(e=>e.type===`nav`&&e.navId&&!u.has(e.navId)),f=a,p=!1;d.length>0&&(f=J([...a,...d]),p=!0);let{migrated:m,didMigrate:h}=Z(f);h&&(f=J(m),p=!0),o(f),X(f,n),p&&c.schedule(f)}catch{}})(),()=>{t=!0}},[i,n]),(0,C.useEffect)(()=>{i||o(e=>{let{migrated:t,didMigrate:r}=Z(e);if(!r)return e;let i=J(t);return X(i,n),i})},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{X(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{if(t.some(t=>t.id===e.id))return t;let n=J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),d=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e);return l(n),n})},[l]),f=(0,C.useCallback)(e=>{o(t=>{let n=t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),p=(0,C.useCallback)(()=>{o([]),l([])},[l]),m=(0,C.useCallback)((e,t)=>{!e||!t||o(n=>{let r=!1,i=n.map(n=>n.id===e&&n.label!==t?(r=!0,{...n,label:t}):n);return r?(l(i),i):n})},[l]),h=(0,C.useCallback)((e,t)=>{o(n=>{let r=!1,i=n.map(n=>n.id!==e||!!n.pinned===t?n:(r=!0,{...n,pinned:t}));return r?(l(i),i):n})},[l]),g=(0,C.useMemo)(()=>{let e=new Set;for(let t of a)t.pinned&&t.type===`nav`&&t.navId&&e.add(t.navId);return{favorites:a,addFavorite:u,removeFavorite:d,toggleFavorite:f,isFavorite:e=>a.some(t=>t.id===e),clearFavorites:p,refreshLabel:m,setPinned:h,isPinned:e=>a.some(t=>t.id===e&&!!t.pinned),pinnedNavIds:e}},[a,u,d,f,p,m,h]);return(0,w.jsx)(Q.Provider,{value:g,children:e})}function re(){return(0,C.useContext)(Q)||{favorites:[],addFavorite:()=>{},removeFavorite:()=>{},toggleFavorite:()=>{},isFavorite:()=>!1,clearFavorites:()=>{},refreshLabel:()=>{},setPinned:()=>{},isPinned:()=>!1,pinnedNavIds:new Set}}function ie(){return`${``.replace(/\/$/,``)}/api/v1`}async function $(e,t){let n=await fetch(`${ie()}${e}`,{credentials:`include`,headers:{"Content-Type":`application/json`,...t?.headers||{}},...t}),r=null;try{r=await n.json()}catch{}if(!n.ok){let e=Error(r?.error||`HTTP ${n.status}`);throw e.code=r?.code??`HTTP_${n.status}`,e.status=n.status,e}return r}function ae(e,t,n){let[r,i]=(0,C.useState)(!1),[a,o]=(0,C.useState)(!0),[s,c]=(0,C.useState)([]),l=(0,C.useRef)(!1),u=(0,C.useCallback)(async()=>{if(!(!e||!t)&&!l.current){i(!0);try{let n=await $(`/approvals/requests?object=${encodeURIComponent(e)}&recordId=${encodeURIComponent(t)}`);c(n?.data??[]),o(!0)}catch(e){(e?.status===404||e?.status===501)&&(l.current=!0,o(!1))}finally{i(!1)}}},[e,t]);(0,C.useEffect)(()=>{if(!e||!t){c([]);return}u()},[e,t,u]);let d=(0,C.useMemo)(()=>s.find(e=>e.status===`pending`)??null,[s]),f=(0,C.useMemo)(()=>s.length===0?null:[...s].sort((e,t)=>{let n=e.submitted_at||e.completed_at||``;return(t.submitted_at||t.completed_at||``).localeCompare(n)})[0]??null,[s]),p=!!d&&!!n&&(d.pending_approvers??[]).includes(n),m=(0,C.useCallback)(async(e,t)=>{if(!d)throw Error(`No pending request`);let r=await $(`/approvals/requests/${encodeURIComponent(d.id)}/${e}`,{method:`POST`,body:JSON.stringify({...n?{actorId:n}:{},...t?.comment?{comment:t.comment}:{}})});return await u(),r?.request},[d,n,u]);return{loading:r,available:a,pendingRequest:d,latestRequest:f,canDecide:p,approve:(0,C.useCallback)(e=>m(`approve`,e),[m]),reject:(0,C.useCallback)(e=>m(`reject`,e),[m]),refresh:u}}export{R as a,k as c,U as i,ne as n,z as o,re as r,D as s,ae as t};
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{r as t,y as n}from"./vendor-react-BGDDiZfJ.js";import{f as r}from"./infrastructure-ASGyCRMg.js";import{R as i,Y as a}from"./framework-Itfj9AWQ.js";import{Bt as o,Cn as s,En as c,Gn as l,Ht as u,Jn as d,Oc as f,Sn as p,Tn as m,Un as h,Ut as g,Vt as _,Wn as v,Wt as ee,qn as te,wn as y,xr as b}from"./ui-components-DTwfkSDm.js";import{n as x}from"./plugin-form-BxGl_G-P.js";import{t as S}from"./recordFormNavigation-8nEYNxNo.js";var C=e(n(),1),w=t(),T=(0,C.createContext)({favorites:null,recent:null}),E=(0,C.createContext)(null);function D({children:e}){let[t,n]=(0,C.useState)({favorites:null,recent:null}),r=(0,C.useRef)({attach:(e,t)=>{n(n=>n[e]===t?n:{...n,[e]:t})}});return(0,w.jsx)(E.Provider,{value:r.current,children:(0,w.jsx)(T.Provider,{value:t,children:e})})}function O(e){return(0,C.useContext)(T)[e]}function k(){let e=(0,C.useContext)(E);return(0,C.useCallback)((t,n)=>{e?.attach(t,n)},[e])}function A(e,t){return t?`${e}:u:${t}`:e}function j(e,t){let n=(0,C.useRef)(t);n.current=t,(0,C.useEffect)(()=>{if(typeof window>`u`)return;let t=t=>{if(!(t.key!==e||t.storageArea!==localStorage)){if(t.newValue==null){n.current(null);return}try{n.current(JSON.parse(t.newValue))}catch{n.current(null)}}};return window.addEventListener(`storage`,t),()=>window.removeEventListener(`storage`,t)},[e])}function M(e,t=500){let n=null,r=null,i=!1,a=async()=>{if(n&&=(clearTimeout(n),null),!i)return;let t=r;i=!1,r=null;try{await e(t)}catch{}};return{schedule:e=>{r=e,i=!0,n&&clearTimeout(n),n=setTimeout(()=>{n=null,a()},t)},flush:a,cancel:()=>{n&&clearTimeout(n),n=null,i=!1,r=null}}}var N=`objectui-recent-items`,P=8;function F(e){try{let t=localStorage.getItem(A(N,e));return t?JSON.parse(t):[]}catch{return[]}}function I(e,t){try{localStorage.setItem(A(N,t),JSON.stringify(e))}catch{}}var L=(0,C.createContext)(null);function R({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`recent`),[a,o]=(0,C.useState)(()=>F(n));(0,C.useEffect)(()=>{o(F(n))},[n]),j(A(N,n),e=>{o(Array.isArray(e)?e.filter(e=>e&&typeof e.id==`string`).slice(0,P):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=(Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`).slice(0,P);o(a),I(a,n)}catch{}})(),()=>{t=!0}},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{I(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e.id),r=[{...e,visitedAt:new Date().toISOString()},...n].slice(0,P);return l(r),r})},[l]),d=(0,C.useCallback)(()=>{o([]),l([])},[l]),f=(0,C.useMemo)(()=>({recentItems:a,addRecentItem:u,clearRecentItems:d}),[a,u,d]);return(0,w.jsx)(L.Provider,{value:f,children:e})}function z(){return(0,C.useContext)(L)||{recentItems:[],addRecentItem:()=>{},clearRecentItems:()=>{}}}var B={sm:`sm:max-w-sm`,default:`sm:max-w-lg`,lg:`sm:max-w-2xl`,xl:`sm:max-w-5xl`,full:`sm:max-w-[95vw] sm:w-full`},V={lg:`sm:max-w-2xl`,xl:`sm:max-w-3xl`,full:`sm:max-w-[95vw]`};function H(e){if(typeof e==`string`){let t=e.match(/^(create|new|add|edit|update)_(.+)$/);return t?{objectName:t[2],mode:t[1]===`edit`||t[1]===`update`?`edit`:`create`}:{objectName:e,mode:`create`}}return e&&typeof e==`object`?e.type&&!e.content&&!e.objectName&&!e.placement?{content:e}:e:{}}function U(e){let[t,n]=(0,C.useState)(null),{objects:r}=i(),T=(0,C.useCallback)(e=>{n(t=>(t?.resolve(e),null))},[]),E=(0,C.useCallback)(e=>new Promise(t=>{n({d:H(e),resolve:t})}),[]),D=null;if(t){let n=t.d,i=e=>{e||T({success:!1})};if(n.objectName&&!n.content){let t=n.fields||n.sections?{}:S(r.find(e=>e?.name===n.objectName));D=(0,w.jsx)(x,{schema:{type:`object-form`,formType:`modal`,objectName:n.objectName,mode:n.mode||`create`,recordId:n.recordId,title:n.title,description:n.description,fields:n.fields,...t,modalSize:n.size,open:!0,onOpenChange:i,onSuccess:e=>T({success:!0,reload:!0,data:e}),onCancel:()=>T({success:!1}),showSubmit:!0,showCancel:!0},dataSource:e})}else{let e=n.placement||`center`,t=n.content?(0,w.jsx)(a,{schema:n.content}):n.description?(0,w.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n.description}):null;D=e===`side`?(0,w.jsx)(o,{open:!0,onOpenChange:i,children:(0,w.jsxs)(_,{side:n.side||`right`,className:f(`w-full overflow-y-auto`,V[n.size||`default`]),children:[n.title&&(0,w.jsxs)(g,{children:[(0,w.jsx)(ee,{children:n.title}),n.description&&(0,w.jsx)(u,{children:n.description})]}),(0,w.jsx)(`div`,{className:`py-3`,children:t})]})}):e===`bottom`?(0,w.jsx)(p,{open:!0,onOpenChange:i,children:(0,w.jsxs)(s,{children:[n.title&&(0,w.jsxs)(m,{children:[(0,w.jsx)(c,{children:n.title}),n.description&&(0,w.jsx)(y,{children:n.description})]}),(0,w.jsx)(`div`,{className:`max-h-[75vh] overflow-y-auto px-4 pb-6`,children:t})]})}):(0,w.jsx)(h,{open:!0,onOpenChange:i,children:(0,w.jsxs)(v,{className:f(e===`fullscreen`?`h-[95vh] w-full max-w-[98vw] overflow-y-auto`:B[n.size||`default`]),children:[n.title&&(0,w.jsxs)(te,{children:[(0,w.jsx)(d,{children:n.title}),n.description&&(0,w.jsx)(l,{children:n.description})]}),(0,w.jsx)(`div`,{children:t}),!n.content&&(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(b,{onClick:()=>T({success:!0}),children:`OK`})})]})})}}return{modalHandler:E,modalElement:D,closeModal:T}}var W=`objectui-favorites`,G=`objectui-nav-pins`,K=20,q=20;function J(e){let t=0,n=0,r=!1;for(let i of e)i.type===`nav`?(n++,n>q&&(r=!0)):(t++,t>K&&(r=!0));if(!r)return e;let i=[],a=0,o=0;for(let t of e)t.type===`nav`?o<q&&(i.push(t),o++):a<K&&(i.push(t),a++);return i}function Y(e){try{let t=localStorage.getItem(A(W,e));return t?JSON.parse(t):[]}catch{return[]}}function X(e,t){try{localStorage.setItem(A(W,t),JSON.stringify(e))}catch{}}function Z(e){let t;try{t=localStorage.getItem(G)}catch{return{migrated:e,didMigrate:!1}}if(!t)return{migrated:e,didMigrate:!1};let n=[];try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.filter(e=>typeof e==`string`))}catch{}try{localStorage.removeItem(G)}catch{}if(n.length===0)return{migrated:e,didMigrate:!1};let r=new Set(e.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),i=new Date().toISOString(),a=[];for(let e of n)r.has(e)||a.push({id:`nav:${e}`,label:e,href:``,type:`nav`,navId:e,pinned:!0,favoritedAt:i});return a.length===0?{migrated:e,didMigrate:!0}:{migrated:[...e,...a],didMigrate:!0}}var Q=(0,C.createContext)(null);function ne({children:e}){let{user:t}=r(),n=t?.id??null,i=O(`favorites`),[a,o]=(0,C.useState)(()=>Y(n));(0,C.useEffect)(()=>{o(Y(n))},[n]),j(A(W,n),e=>{o(Array.isArray(e)?J(e.filter(e=>e&&typeof e.id==`string`)):[])});let s=(0,C.useRef)(0);(0,C.useEffect)(()=>{if(!i)return;let e=++s.current,t=!1;return(async()=>{try{let r=await i.load();if(t||e!==s.current)return;let a=J((Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`)),l=Y(n),u=new Set(a.filter(e=>e.type===`nav`&&e.navId).map(e=>e.navId)),d=l.filter(e=>e.type===`nav`&&e.navId&&!u.has(e.navId)),f=a,p=!1;d.length>0&&(f=J([...a,...d]),p=!0);let{migrated:m,didMigrate:h}=Z(f);h&&(f=J(m),p=!0),o(f),X(f,n),p&&c.schedule(f)}catch{}})(),()=>{t=!0}},[i,n]),(0,C.useEffect)(()=>{i||o(e=>{let{migrated:t,didMigrate:r}=Z(e);if(!r)return e;let i=J(t);return X(i,n),i})},[i,n]);let c=(0,C.useMemo)(()=>M(async e=>{i&&await i.save(e)},500),[i]);(0,C.useEffect)(()=>()=>{c.flush()},[c]);let l=(0,C.useCallback)(e=>{X(e,n),i&&c.schedule(e)},[n,i,c]),u=(0,C.useCallback)(e=>{o(t=>{if(t.some(t=>t.id===e.id))return t;let n=J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),d=(0,C.useCallback)(e=>{o(t=>{let n=t.filter(t=>t.id!==e);return l(n),n})},[l]),f=(0,C.useCallback)(e=>{o(t=>{let n=t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):J([{...e,favoritedAt:new Date().toISOString()},...t]);return l(n),n})},[l]),p=(0,C.useCallback)(()=>{o([]),l([])},[l]),m=(0,C.useCallback)((e,t)=>{!e||!t||o(n=>{let r=!1,i=n.map(n=>n.id===e&&n.label!==t?(r=!0,{...n,label:t}):n);return r?(l(i),i):n})},[l]),h=(0,C.useCallback)((e,t)=>{o(n=>{let r=!1,i=n.map(n=>n.id!==e||!!n.pinned===t?n:(r=!0,{...n,pinned:t}));return r?(l(i),i):n})},[l]),g=(0,C.useMemo)(()=>{let e=new Set;for(let t of a)t.pinned&&t.type===`nav`&&t.navId&&e.add(t.navId);return{favorites:a,addFavorite:u,removeFavorite:d,toggleFavorite:f,isFavorite:e=>a.some(t=>t.id===e),clearFavorites:p,refreshLabel:m,setPinned:h,isPinned:e=>a.some(t=>t.id===e&&!!t.pinned),pinnedNavIds:e}},[a,u,d,f,p,m,h]);return(0,w.jsx)(Q.Provider,{value:g,children:e})}function re(){return(0,C.useContext)(Q)||{favorites:[],addFavorite:()=>{},removeFavorite:()=>{},toggleFavorite:()=>{},isFavorite:()=>!1,clearFavorites:()=>{},refreshLabel:()=>{},setPinned:()=>{},isPinned:()=>!1,pinnedNavIds:new Set}}function ie(){return`${``.replace(/\/$/,``)}/api/v1`}async function $(e,t){let n=await fetch(`${ie()}${e}`,{credentials:`include`,headers:{"Content-Type":`application/json`,...t?.headers||{}},...t}),r=null;try{r=await n.json()}catch{}if(!n.ok){let e=Error(r?.error||`HTTP ${n.status}`);throw e.code=r?.code??`HTTP_${n.status}`,e.status=n.status,e}return r}function ae(e,t,n){let[r,i]=(0,C.useState)(!1),[a,o]=(0,C.useState)(!0),[s,c]=(0,C.useState)([]),l=(0,C.useRef)(!1),u=(0,C.useCallback)(async()=>{if(!(!e||!t)&&!l.current){i(!0);try{let n=await $(`/approvals/requests?object=${encodeURIComponent(e)}&recordId=${encodeURIComponent(t)}`);c(n?.data??[]),o(!0)}catch(e){(e?.status===404||e?.status===501)&&(l.current=!0,o(!1))}finally{i(!1)}}},[e,t]);(0,C.useEffect)(()=>{if(!e||!t){c([]);return}u()},[e,t,u]);let d=(0,C.useMemo)(()=>s.find(e=>e.status===`pending`)??null,[s]),f=(0,C.useMemo)(()=>s.length===0?null:[...s].sort((e,t)=>{let n=e.submitted_at||e.completed_at||``;return(t.submitted_at||t.completed_at||``).localeCompare(n)})[0]??null,[s]),p=!!d&&!!n&&(d.pending_approvers??[]).includes(n),m=(0,C.useCallback)(async(e,t)=>{if(!d)throw Error(`No pending request`);let r=await $(`/approvals/requests/${encodeURIComponent(d.id)}/${e}`,{method:`POST`,body:JSON.stringify({...n?{actorId:n}:{},...t?.comment?{comment:t.comment}:{}})});return await u(),r?.request},[d,n,u]);return{loading:r,available:a,pendingRequest:d,latestRequest:f,canDecide:p,approve:(0,C.useCallback)(e=>m(`approve`,e),[m]),reject:(0,C.useCallback)(e=>m(`reject`,e),[m]),refresh:u}}export{R as a,k as c,U as i,ne as n,z as o,re as r,D as s,ae as t};