@objectstack/console 17.0.0-rc.0 → 17.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1096 -0
- package/README.md +8 -3
- package/dist/.objectui-sha +1 -1
- package/dist/assets/{AdapterProvider-ClCj6PTd.js → AdapterProvider-DCL4oNgv.js} +1 -1
- package/dist/assets/{AiPendingActionsPage-bedYcbz0.js → AiPendingActionsPage-BvvDIWEC.js} +1 -1
- package/dist/assets/{ApiConsolePage-DdUlsQNo.js → ApiConsolePage-Dvr5-g2X.js} +1 -1
- package/dist/assets/{AppDocsIndex-DySIC06n.js → AppDocsIndex-Ohwtpos8.js} +1 -1
- package/dist/assets/{AppManagementPage-8S-uDSdv.js → AppManagementPage-DhsvWTeZ.js} +1 -1
- package/dist/assets/ApprovalsInboxPage-BfaGtcxV.js +1 -0
- package/dist/assets/AuditLogPage-D_09WrLX.js +1 -0
- package/dist/assets/{ComponentNavView-BOxZS4Hn.js → ComponentNavView-C6J3w2IE.js} +1 -1
- package/dist/assets/CreateViewDialog-R7kwDoaF.js +1 -0
- package/dist/assets/{DashboardView-Co21jHAg.js → DashboardView-B-5HkqOl.js} +1 -1
- package/dist/assets/{DeveloperHubPage-B3CL_2_R.js → DeveloperHubPage-p9oQnZuU.js} +1 -1
- package/dist/assets/{DocShell-Bswx8gyj.js → DocShell-B8d7-ARz.js} +1 -1
- package/dist/assets/ExpressionProvider-BLhGrCBw.js +1 -0
- package/dist/assets/FlowRunsPage-DzZmtrDe.js +1 -0
- package/dist/assets/{IntegrationsPage-DwRFenrv.js → IntegrationsPage-DzBKAEgn.js} +2 -2
- package/dist/assets/InterfaceListPage-C_M0U8ns.js +1 -0
- package/dist/assets/{ManagedByBadge-BuKzVw4f.js → ManagedByBadge-DWtOXcFq.js} +1 -1
- package/dist/assets/MarketplaceAccessDenied-C4Yrv4Q7.js +1 -0
- package/dist/assets/{MarketplaceInstalledPage-zxinYFxx.js → MarketplaceInstalledPage-B6cbDzf8.js} +1 -1
- package/dist/assets/MarketplacePackagePage-D0dT7D3x.js +4 -0
- package/dist/assets/{MarketplacePage-C2tmfrC4.js → MarketplacePage-CtvxvBmw.js} +1 -1
- package/dist/assets/{MetadataInspector-BT_WB0Z2.js → MetadataInspector-9pMeoWpd.js} +1 -1
- package/dist/assets/{MetadataProvider-CaobQzBK.js → MetadataProvider-Y0oNNDXh.js} +1 -1
- package/dist/assets/ObjectDataPage-B8pGSNRJ.js +1 -0
- package/dist/assets/PageView-BBJl1RzL.js +1 -0
- package/dist/assets/ProfilePage-BL4aVTUO.js +1 -0
- package/dist/assets/PublicFormsPage-C-BWDI8O.js +1 -0
- package/dist/assets/RecordDetailView-BYYpDJSj.js +9 -0
- package/dist/assets/RecordFormPage-SLtEal-m.js +1 -0
- package/dist/assets/ReportDefaultInspector-B3KEMC9M.js +3 -0
- package/dist/assets/{ReportView-BPnukjAJ.js → ReportView-B3kMHgHe.js} +1 -1
- package/dist/assets/{SearchResultsPage-BrU2uBVw.js → SearchResultsPage-0eeyyaj-.js} +1 -1
- package/dist/assets/{SettingsHub-Be1x-xx5.js → SettingsHub-BVhaidAC.js} +1 -1
- package/dist/assets/SettingsView-D2klvVKS.js +1 -0
- package/dist/assets/{SystemHubPage-C7E2MVCX.js → SystemHubPage-CHcrvd-n.js} +1 -1
- package/dist/assets/{abnfDiagram-VRR7QNED-Hg1RYCKu.js → abnfDiagram-VRR7QNED-D2Rn6aHa.js} +1 -1
- package/dist/assets/{architectureDiagram-ZJ3FMSHR-DwfUOkLv.js → architectureDiagram-ZJ3FMSHR-DX6q2vGN.js} +1 -1
- package/dist/assets/{blockDiagram-677ZJIJ3-BDc1qSIS.js → blockDiagram-677ZJIJ3-T2IDNrvJ.js} +1 -1
- package/dist/assets/{c4Diagram-LMCZKHZV-B3uEgabN.js → c4Diagram-LMCZKHZV-B98pIIbx.js} +1 -1
- package/dist/assets/channel-BovwC1_7.js +1 -0
- package/dist/assets/{chunk-32BRIVSS-BX7QYsQG.js → chunk-32BRIVSS-CYNomNWc.js} +1 -1
- package/dist/assets/{chunk-52WLFC77-Cx4AaJIv.js → chunk-52WLFC77-DtGIB0uV.js} +2 -2
- package/dist/assets/{chunk-C7G6YPKG-HNW9cqtI.js → chunk-C7G6YPKG-yJXKQ2Sz.js} +1 -1
- package/dist/assets/{chunk-EX3LRPZG-CBmf4uVW.js → chunk-EX3LRPZG-BtAjfq6C.js} +1 -1
- package/dist/assets/{chunk-FWX5IMBZ-Dt6Lwztc.js → chunk-FWX5IMBZ-C4k19ShS.js} +1 -1
- package/dist/assets/{chunk-HOUHSVGY-BiLG0Jtx.js → chunk-HOUHSVGY-BuKclK6G.js} +1 -1
- package/dist/assets/{chunk-ICXQ74PX-V7Gv_S2c.js → chunk-ICXQ74PX-OP102czk.js} +1 -1
- package/dist/assets/{chunk-MOJQB5TN-zlBuobC7.js → chunk-MOJQB5TN-CToOzrGu.js} +1 -1
- package/dist/assets/{chunk-OGEWGWER-D9fNq6KM.js → chunk-OGEWGWER-9rMC3Zdz.js} +1 -1
- package/dist/assets/{chunk-PUDLZKDR-BufZGozB.js → chunk-PUDLZKDR-Bte-Y5BM.js} +1 -1
- package/dist/assets/{chunk-Q4XR5HBZ-C1v9xwSj.js → chunk-Q4XR5HBZ-B1-bRF4T.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-Cuf3Er4p.js → chunk-RYQCIY6F-DX0uHAt-.js} +1 -1
- package/dist/assets/{chunk-V7JOEXUC-Bsulk3KW.js → chunk-V7JOEXUC-3Qai_qvf.js} +1 -1
- package/dist/assets/chunk-VAUOI2AC-B2LdZG5j.js +1 -0
- package/dist/assets/{chunk-VR4S4FIN-Cxz-AOSl.js → chunk-VR4S4FIN-C8tYB3zk.js} +1 -1
- package/dist/assets/{chunk-WYO6CB5R-BBCHPFWt.js → chunk-WYO6CB5R-chyhiVml.js} +1 -1
- package/dist/assets/chunk-XXDRQBXY-mZd7tFTQ.js +1 -0
- package/dist/assets/{chunk-ZGVPDNZ5-0VawavzG.js → chunk-ZGVPDNZ5-BHJQa9Yh.js} +1 -1
- package/dist/assets/classDiagram-OUVF2IWQ-opUQX7yT.js +1 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-opUQX7yT.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-zGun_nYq.js → cose-bilkent-JH36ORCC-wNn6_7gi.js} +1 -1
- package/dist/assets/{createDerive-DGPok8w-.js → createDerive-DDuw-xzg.js} +1 -1
- package/dist/assets/{cynefinDiagram-TSTJHNR4-DAMk8Cyg.js → cynefinDiagram-TSTJHNR4-BpiN-sI9.js} +1 -1
- package/dist/assets/{dagre-VKFMJZFB-CcgN1PqH.js → dagre-VKFMJZFB-D4jpVOw8.js} +1 -1
- package/dist/assets/data-adapter-DJl5PvjF.js +17 -0
- package/dist/assets/{diagram-FQU43EPY-CQVlA0TA.js → diagram-FQU43EPY-DnGyLgYE.js} +1 -1
- package/dist/assets/{diagram-G47NLZAW-0UcUFyIH.js → diagram-G47NLZAW-BSDChPeN.js} +1 -1
- package/dist/assets/{diagram-NH7WQ7WH-B8E52D9k.js → diagram-NH7WQ7WH-Jir-M8yF.js} +1 -1
- package/dist/assets/{diagram-OA4YK3LP-CAJcB6Ez.js → diagram-OA4YK3LP-DG1np1W1.js} +1 -1
- package/dist/assets/{diagram-WEI45ONY-DWe95hfc.js → diagram-WEI45ONY-DRm_SlrH.js} +1 -1
- package/dist/assets/{ebnfDiagram-CCIWWBDH-vV-mO9pC.js → ebnfDiagram-CCIWWBDH-twfLoKY3.js} +1 -1
- package/dist/assets/{erDiagram-Q63AITRT-C37YlMu-.js → erDiagram-Q63AITRT-CABXVpgy.js} +1 -1
- package/dist/assets/flowDiagram-23GEKE2U-DxGbSmxA.js +1 -0
- package/dist/assets/framework-xOBpLspS.js +8 -0
- package/dist/assets/{ganttDiagram-NO4QXBWP-BbLQFz0H.js → ganttDiagram-NO4QXBWP-DRXGi_1T.js} +2 -2
- package/dist/assets/getIcon-yTDDbwhX.js +1 -0
- package/dist/assets/{gitGraphDiagram-IHSO6WYX-B4EJMjM2.js → gitGraphDiagram-IHSO6WYX-BtlNUS9M.js} +1 -1
- package/dist/assets/{highlighted-body-OFNGDK62-BURNftRE.js → highlighted-body-OFNGDK62-BNY8_Ou8.js} +1 -1
- package/dist/assets/{i18n-B4M18fi2.js → i18n-CWXRbuYk.js} +2 -2
- package/dist/assets/index-ByFHLPS0.js +2 -0
- package/dist/assets/index-QgmPkr95.css +2 -0
- package/dist/assets/{infoDiagram-FWYZ7A6U-ChMO4rou.js → infoDiagram-FWYZ7A6U-CrCNJ5GX.js} +1 -1
- package/dist/assets/infrastructure-EMqAhl6J.js +3 -0
- package/dist/assets/{ishikawaDiagram-FXEZZL3T-B5_tQUWs.js → ishikawaDiagram-FXEZZL3T-aBCt2dnS.js} +1 -1
- package/dist/assets/{journeyDiagram-5HDEW3XC-MxmpMgQO.js → journeyDiagram-5HDEW3XC-CQrIuFhF.js} +1 -1
- package/dist/assets/{kanban-definition-HUTT4EX6-x1u6yhTC.js → kanban-definition-HUTT4EX6-Bm4snCw1.js} +1 -1
- package/dist/assets/mermaid-GHXKKRXX-BN2PjcSK.js +1 -0
- package/dist/assets/{mermaid.core-Bo862wyf.js → mermaid.core-C5ZaZqXX.js} +2 -2
- package/dist/assets/metadata-admin-lW4yChcf.js +25 -0
- package/dist/assets/{mindmap-definition-LN4V7U3C-gv5cgZkr.js → mindmap-definition-LN4V7U3C-CzSOJVqY.js} +1 -1
- package/dist/assets/{pegDiagram-2B236MQR-BUvOaGez.js → pegDiagram-2B236MQR-DPkw74l3.js} +1 -1
- package/dist/assets/{pieDiagram-ENE6RG2P-CYsklKtm.js → pieDiagram-ENE6RG2P-Bnny8SeQ.js} +1 -1
- package/dist/assets/plugin-calendar-Dikj_A8Y.js +1 -0
- package/dist/assets/plugin-charts-_11K-vFF.js +7 -0
- package/dist/assets/plugin-chatbot-D5bVXJ_O.js +120 -0
- package/dist/assets/plugin-dashboard-QnlQx94Y.js +6 -0
- package/dist/assets/plugin-form-C8ibDrVW.js +1 -0
- package/dist/assets/plugin-gantt-ION4WU11.js +63 -0
- package/dist/assets/plugin-grid-BbCjdxhg.js +8 -0
- package/dist/assets/plugin-kanban-DMXe4mrr.js +1 -0
- package/dist/assets/plugin-map-ZzwBPooc.js +1 -0
- package/dist/assets/{plugin-markdown-CwKhoguC.js → plugin-markdown-DWlAZYfS.js} +1 -1
- package/dist/assets/plugin-report-4ufmhN37.js +59 -0
- package/dist/assets/plugin-timeline-CxuwO6Sj.js +1 -0
- package/dist/assets/plugin-tree-CqFsNYBt.js +1 -0
- package/dist/assets/plugin-view-BtrrVg8d.js +1 -0
- package/dist/assets/plugins-views-DuVwtJw-.js +4 -0
- package/dist/assets/{quadrantDiagram-ABIIQ3AL-DkdTo6wC.js → quadrantDiagram-ABIIQ3AL-DUB4EjfP.js} +1 -1
- package/dist/assets/{railroadDiagram-RFXS5EU6-CIvl_CtD.js → railroadDiagram-RFXS5EU6-DSfLwOL9.js} +1 -1
- package/dist/assets/{requirementDiagram-TGXJPOKE-BrmGcoHH.js → requirementDiagram-TGXJPOKE-BUoxthLY.js} +1 -1
- package/dist/assets/{runtime-metadata-persistence-C6n6ChsE.js → runtime-metadata-persistence-D0qPKjRP.js} +1 -1
- package/dist/assets/{sankeyDiagram-HTMAVEWB-DAhnVEku.js → sankeyDiagram-HTMAVEWB-CkjIusFl.js} +2 -2
- package/dist/assets/{sequenceDiagram-DBY2YBRQ-CmnHwkE8.js → sequenceDiagram-DBY2YBRQ-DlUPbsBe.js} +1 -1
- package/dist/assets/{skeletons-D3Ug_cFP.js → skeletons-DBVC-R2R.js} +1 -1
- package/dist/assets/{src-BGaMRjVN.js → src-CEjEbVE_.js} +1 -1
- package/dist/assets/src-CLs1ObAx.js +19 -0
- package/dist/assets/{src-DmkSCLdx.js → src-CQ-hf48v.js} +1 -1
- package/dist/assets/src-Cz3xMnYk.js +1 -0
- package/dist/assets/{src-BvgQ2BWs.js → src-DMTCYJgx.js} +1 -1
- package/dist/assets/{stateDiagram-2N3HPSRC-C4fJzxRx.js → stateDiagram-2N3HPSRC-vPDzyRlO.js} +1 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-USH3Z7UN.js +1 -0
- package/dist/assets/{swimlanes-5IMT3BWC-DlIs3eSd.js → swimlanes-5IMT3BWC-mtpJqEnb.js} +1 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-CJNfyMoX.js +8 -0
- package/dist/assets/{timeline-definition-FHXFAJF6-B6xJ_8dh.js → timeline-definition-FHXFAJF6-vFc3MiyA.js} +1 -1
- package/dist/assets/ui-components-C5rSjsFE.js +72 -0
- package/dist/assets/{ui-layout-fGjoW3uv.js → ui-layout-D13CmhwI.js} +1 -1
- package/dist/assets/{use-book-data-BHNW-mtj.js → use-book-data-BJgo-RvZ.js} +1 -1
- package/dist/assets/useSettingsLabel-BJ1_MAmi.js +1 -0
- package/dist/assets/{vendor-charts-C9Rg4sGZ.js → vendor-charts-BbCFozUm.js} +3 -3
- package/dist/assets/{vendor-i18n-CJQUqRO0.js → vendor-i18n-ign3ofvT.js} +1 -1
- package/dist/assets/vendor-objectstack-ChpQDQzo.js +160 -0
- package/dist/assets/{vennDiagram-L72KCM5P-CL2kA9j_.js → vennDiagram-L72KCM5P-NYy-CpuJ.js} +1 -1
- package/dist/assets/{wardleyDiagram-EHGQE667-C2amdvDW.js → wardleyDiagram-EHGQE667-CB-LOOnu.js} +1 -1
- package/dist/assets/{xychartDiagram-FW5EYKEG-BgaF79Q6.js → xychartDiagram-FW5EYKEG-C04Hz7Q2.js} +2 -2
- package/dist/index.html +4 -4
- package/package.json +3 -2
- package/dist/assets/ApprovalsInboxPage-BezeS0Ba.js +0 -1
- package/dist/assets/AuditLogPage-BU6pDzCM.js +0 -1
- package/dist/assets/CreateViewDialog-CbODG8cr.js +0 -1
- package/dist/assets/ExpressionProvider-rrd8nTWz.js +0 -1
- package/dist/assets/FlowRunsPage-BUoUJIcB.js +0 -1
- package/dist/assets/InterfaceListPage-MefSdQ3L.js +0 -1
- package/dist/assets/MarketplaceAccessDenied-CXpRKhbs.js +0 -1
- package/dist/assets/MarketplacePackagePage-CfD4P1wE.js +0 -4
- package/dist/assets/ObjectDataPage-wTA2HFI2.js +0 -1
- package/dist/assets/PageView-C9Hwdfsl.js +0 -1
- package/dist/assets/ProfilePage-BQwxaOB7.js +0 -1
- package/dist/assets/PublicFormsPage-geV1om2C.js +0 -1
- package/dist/assets/RecordDetailView-BzGkapku.js +0 -9
- package/dist/assets/RecordFormPage-DBo0eZ72.js +0 -1
- package/dist/assets/ReportDefaultInspector-B7Nn-A6p.js +0 -3
- package/dist/assets/SettingsView-CrgWUS7G.js +0 -1
- package/dist/assets/channel-DWZQ9vnS.js +0 -1
- package/dist/assets/chunk-VAUOI2AC-C6BaCKWp.js +0 -1
- package/dist/assets/chunk-XXDRQBXY-DzukX8IV.js +0 -1
- package/dist/assets/classDiagram-OUVF2IWQ-DSs52z7w.js +0 -1
- package/dist/assets/classDiagram-v2-EOCWNBFH-DSs52z7w.js +0 -1
- package/dist/assets/data-adapter-ZwwuAvBG.js +0 -15
- package/dist/assets/flowDiagram-23GEKE2U-DkFOQ3_z.js +0 -1
- package/dist/assets/framework-DAbnem-u.js +0 -8
- package/dist/assets/getIcon-BLwvtaQI.js +0 -1
- package/dist/assets/index-BOGrThXK.css +0 -2
- package/dist/assets/index-C-dRvT9u.js +0 -2
- package/dist/assets/infrastructure-VRE-mbZZ.js +0 -3
- package/dist/assets/mermaid-GHXKKRXX-cZg7E0Lp.js +0 -1
- package/dist/assets/metadata-admin-CKjub8vw.js +0 -25
- package/dist/assets/plugin-calendar-DJdKEkjk.js +0 -1
- package/dist/assets/plugin-charts-DHSgUtpJ.js +0 -7
- package/dist/assets/plugin-chatbot-BjhIyyNM.js +0 -120
- package/dist/assets/plugin-dashboard-CjPCmbr_.js +0 -6
- package/dist/assets/plugin-form-BZooMe4v.js +0 -1
- package/dist/assets/plugin-gantt-C90gyywF.js +0 -63
- package/dist/assets/plugin-grid-UMSBKycd.js +0 -8
- package/dist/assets/plugin-kanban-CTnqV9IW.js +0 -1
- package/dist/assets/plugin-map-DjnC4ang.js +0 -1
- package/dist/assets/plugin-report-BgaatGo3.js +0 -59
- package/dist/assets/plugin-timeline-CqKcdOFC.js +0 -1
- package/dist/assets/plugin-tree-D73sSC3j.js +0 -1
- package/dist/assets/plugin-view-DG76zFsz.js +0 -1
- package/dist/assets/plugins-views-UwSroJxp.js +0 -4
- package/dist/assets/src-DTHo8Eqq.js +0 -1
- package/dist/assets/src-DjmHjms3.js +0 -19
- package/dist/assets/stateDiagram-v2-6OUMAXLB-CCWWu2-O.js +0 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-C8YV1J6I.js +0 -8
- package/dist/assets/ui-components-Xu43SW6A.js +0 -72
- package/dist/assets/useSettingsLabel-CgY3RtGh.js +0 -1
- package/dist/assets/vendor-objectstack-Bs6C4qGH.js +0 -122
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{u as e}from"./vendor-charts-
|
|
1
|
+
import{u as e}from"./vendor-charts-BbCFozUm.js";import{T as t}from"./chunk-KEIR6QF5-DtEGfq38.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-DMTCYJgx.js";import{H as i,K as a,U as o,Y as s,a as c,b as l,f as u,v as d,w as f,x as p,y as m,z as h}from"./chunk-WYO6CB5R-chyhiVml.js";import{t as ee}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as te}from"./mermaid-parser.core-BPoagdtX.js";import{_ as g,i as ne,t as re}from"./chunk-ICXQ74PX-OP102czk.js";var _=`position frame`,v=`frame positioned`,y=`position relation`,b=`relation positioned`,ie=n(function(e){r.debug(`options str`,e)},`setOptions`),ae=n(function(){return{}},`getOptions`),oe=n(function(){x(),c()},`clear`);function x(){S={}}n(x,`reset`);var se=u.eventmodeling,ce=n(()=>ne({...se,...l().eventmodeling}),`getConfig`),S={};function C(){let e=le,{ast:t}=S,n=E();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((i,a)=>{let o=N(i,t.dataEntities,n);e=q(e,{$kind:_,index:a,frame:i,textProps:o});let s;B(i)?(r.debug(`source frame`,i.sourceFrames),s=t.frames.filter(e=>i.sourceFrames.some(t=>t.$refText===e.name)),s.forEach(t=>{e=q(e,{$kind:y,index:a,frame:i,sourceFrame:t})})):e=q(e,{$kind:y,index:a,frame:i})}),e={...e,sortedSwimlanesArray:L(e.swimlanes)},e}n(C,`getState`);function w(e){S.ast=e}n(w,`setAst`);var T={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:`bold`,boxTextPadding:10,swimlaneTextFontWeight:`bold`,labelUiAutomation:`UI/Automation`,labelUiAutomationPrefix:`UI/A: `,labelCommandReadModel:`Command/Read Model`,labelCommandReadModelPrefix:`C/RM: `,labelEvents:`Events`,labelEventsPrefix:`Stream: `};function E(){return T}n(E,`getDiagramProps`);var le={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function D(e){let t=e.split(`.`);if(t.length===2)return t[0]}n(D,`extractNamespace`);function O(e){let t=e.split(`.`);return t.length===2?t[1]:e}n(O,`extractName`);function k(e,t){if(!(!t||t.length===0))return Object.values(e).find(e=>e.namespace===t)}n(k,`findSwimlaneByNamespace`);function A(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}n(A,`findNextAvailableIndex`);function j(e,t){let n=D(e.entityIdentifier),r=k(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||T.labelUiAutomation}:n?{index:A(t,0,100),label:T.labelUiAutomationPrefix+n}:{index:0,label:T.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||T.labelCommandReadModel}:n?{index:A(t,100,200),label:T.labelCommandReadModelPrefix+n}:{index:100,label:T.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||T.labelEvents}:n?{index:A(t,200,300),label:T.labelEventsPrefix+n}:{index:200,label:T.labelEvents}}}n(j,`calculateSwimlaneProps`);function M(e){let{themeVariables:t}=l();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}n(M,`calculateEntityVisualProps`);function N(e,t,n){let i=l(),a=h(O(e.entityIdentifier)??``,i),o,s={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},c=`<b>${g(a,n.textMaxWidth,s)}</b>`;if(e.dataInlineValue&&(o=e.dataInlineValue,o=o.substring(o.indexOf(`{`)+1),o=o.substring(0,o.lastIndexOf(`}`)-1),o=h(o,i),o=g(o,n.textMaxWidth,s),o=o.replaceAll(` `,` `)),e.dataReference){let r=t.find(t=>t.name===e.dataReference?.$refText);r&&(o=r.dataBlockValue,o=o.substring(o.indexOf(`{
|
|
2
2
|
`)+2),o=o.substring(0,o.lastIndexOf(`}`)-1),o=h(o,i),o=g(o,n.textMaxWidth,s),o=o.replaceAll(` `,` `),o+=`<br/>`)}let u=o!==void 0;u&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${o}</code>`);let d={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=re(c,d),p=u?f.width/3:f.width,m={content:c,width:p,height:f.height};return r.debug(`[${e.name}] ${e.entityIdentifier} text`,m),m}n(N,`calculateTextProps`);function P(e,t){let n=t,r=M(n.frame),i={width:n.textProps.width+2*T.boxTextPadding,height:n.textProps.height+2*T.boxTextPadding};return[{$kind:v,frame:n.frame,index:n.index,visual:r,dimension:i,textProps:n.textProps}]}n(P,`decidePositionFrame`);function F(e,t,n){return t===void 0?T.contentStartX:t.index===e.index&&e.r?e.r+T.boxPadding:n===void 0?T.contentStartX:n.r-T.boxOverlap+T.boxPadding}n(F,`calculateX`);function I(e,t){let n=[...e.map(e=>e.r),t];return Math.max(...n)}n(I,`calculateMaxRight`);function L(e){return Object.values(e).sort((e,t)=>e.index-t.index)}n(L,`sortedSwimlanesArray`);function R(e,t){let n=t,r=j(n.frame,e.swimlanes),i;i=r.index in e.swimlanes?e.swimlanes[r.index]:{index:r.index,label:r.label,r:0,y:r.index*T.swimlaneMinHeight+T.swimlaneGap,height:T.swimlaneMinHeight,maxHeight:T.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=e.previousSwimlaneNumber===void 0?void 0:e.swimlanes[e.previousSwimlaneNumber],s={width:Math.max(T.boxMinWidth,Math.min(T.boxMaxWidth,n.dimension.width))+2*T.boxPadding,height:Math.max(T.boxMinHeight,Math.min(T.boxMaxHeight,n.dimension.height))+2*T.boxPadding},c=F(i,o,a),l=c+s.width+T.boxPadding,u=I(Object.values(e.swimlanes),l);i.r=c+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(T.swimlaneMinHeight,i.maxHeight)+2*T.swimlanePadding;let d={x:c,y:T.swimlanePadding+i.y,r:l,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},f={...e,boxes:[...e.boxes,d],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:u},p=L(f.swimlanes);p.length>0&&(p[0].y=0);for(let e=1;e<p.length;e++){let t=p[e],n=p[e-1];t.y=n.y+n.height+T.swimlaneGap}return f}n(R,`evolveFramePositioned`);function z(e,t){return e===0&&t.sourceFrames.length===0}n(z,`isFirstFrame`);function B(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}n(B,`hasSourceFrame`);function V(e,t){if(t!=null)return e.find(e=>e.frame.name===t.name)}n(V,`findBoxByFrame`);function H(e,t,n){if(!(n<0))for(let r=n;r>=0;r--){let n=e[r];if(n.swimlane.index!==t)return n}}n(H,`findBoxByLineIndex`);function U(e,n){let r=n;if(t(r.frame)||z(r.index,r.frame))return[];let i=V(e.boxes,r.frame);if(i===void 0)throw Error(`Target box not found for frame ${r.frame.name}`);let a;return a=r.sourceFrame?V(e.boxes,r.sourceFrame):H(e.boxes,i.swimlane.index,r.index-1),a===void 0?[]:[{$kind:b,frame:r.frame,index:r.index,sourceBox:a,targetBox:i}]}n(U,`decidePositionRelation`);function W(e,t){let n=t,r={visual:{fill:`none`,stroke:`#000`},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}n(W,`evolveRelationPositioned`);var ue={[_]:P,[y]:U},de={[v]:R,[b]:W};function G(e,t){let n=ue[t.$kind];if(n==null)return[];let i=n(e,t);return r.debug(`decided events`,i),i}n(G,`decide`);function K(e,t){let n=t.reduce((e,t)=>{let n=de[t.$kind];return n==null?e:n(e,t)},e);return r.debug(`evolve events`,{state:e,newState:n,events:t}),n}n(K,`evolve`);function q(e,t){return K(e,G(e,t))}n(q,`dispatch`);var J={getConfig:ce,setOptions:ie,getOptions:ae,clear:oe,setAccTitle:o,getAccTitle:m,getAccDescription:d,setAccDescription:i,setDiagramTitle:a,getDiagramTitle:f,setAst:w,getDiagramProps:E,getState:C},fe={parse:n(async e=>{let t=await te(`eventmodeling`,e);r.debug(t),J.setAst(t),ee(t,J)},`parse`)},Y=p()?.eventmodeling;function X(e,t){return n=>{let r=n.swimlane.y+t.swimlanePadding,i=e.append(`g`).attr(`class`,`em-box`);i.append(`rect`).attr(`x`,n.x).attr(`y`,r).attr(`rx`,`3`).attr(`width`,n.dimension.width).attr(`height`,n.dimension.height).attr(`stroke`,n.visual.stroke).attr(`fill`,n.visual.fill),i.append(`foreignObject`).attr(`x`,n.x+t.boxPadding).attr(`y`,r+10).attr(`width`,n.dimension.width-2*t.boxPadding).attr(`height`,n.dimension.height-2*t.boxPadding).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`).append(`span`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).html(n.text)}}n(X,`renderD3Box`);function Z(e,t){return e>t}n(Z,`dirUpwards`);function Q(e,t,n,i){return a=>{let o=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,c=Z(o,s),l=a.sourceBox.x+a.sourceBox.dimension.width*2/3,u=a.targetBox.x+a.targetBox.dimension.width/3,d,f;r.debug(`rendering relation up=${c} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),c?(d=o,f=s+a.targetBox.dimension.height):(d=o+a.sourceBox.dimension.height,f=s);let p=i.emRelationStroke??a.visual.stroke;e.append(`path`).attr(`class`,`em-relation`).attr(`fill`,a.visual.fill).attr(`stroke`,p).attr(`stroke-width`,`1`).attr(`marker-end`,`url(#${n})`).attr(`d`,`M${l} ${d} L${u} ${f}`)}}n(Q,`renderD3Relation`);function $(e,t,n,r){return i=>{let a=e.append(`g`).attr(`class`,`em-swimlane`),o=r.emSwimlaneBackgroundOdd??`rgb(250,250,250)`,s=r.emSwimlaneBackgroundStroke??`rgb(240,240,240)`;a.append(`rect`).attr(`x`,0).attr(`y`,i.y).attr(`rx`,`3`).attr(`width`,t+n.swimlanePadding).attr(`height`,i.height).attr(`fill`,o).attr(`stroke`,s),a.append(`text`).attr(`font-weight`,n.swimlaneTextFontWeight).attr(`x`,30).attr(`y`,i.y+30).text(i.label)}}n($,`renderD3Swimlane`);var pe={parser:fe,db:J,renderer:{draw:n(function(t,n,i,a){if(r.debug(`in eventmodeling renderer`,t+`
|
|
3
3
|
`,`id:`,n,i),!Y)throw Error(`EventModeling config not found`);let o=a.db,{themeVariables:c,eventmodeling:l}=p(),u=e(`[id="${n}"]`),d=o.getDiagramProps(),f=o.getState(),m=`em-arrowhead-${n}`,h=c.emArrowhead??`#000000`;f.sortedSwimlanesArray.forEach($(u,f.maxR,d,c)),f.boxes.forEach(X(u,d)),f.relations.forEach(Q(u,d,m,c)),u.append(`defs`).append(`marker`).attr(`id`,m).attr(`markerWidth`,`10`).attr(`markerHeight`,`7`).attr(`refX`,`10`).attr(`refY`,`3.5`).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0 0, 10 3.5, 0 7`).attr(`fill`,h),s(void 0,u,l?.padding??30,l?.useMaxWidth)},`draw`)},styles:n(e=>``,`getStyles`)};export{pe as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,it as t,l as n,st as r,u as i}from"./vendor-charts-C9Rg4sGZ.js";import{n as a}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as o}from"./src-BvgQ2BWs.js";import{D as s,H as c,K as l,U as u,a as d,b as f,c as p,f as m,v as h,w as g,y as _}from"./chunk-WYO6CB5R-BBCHPFWt.js";import{t as v}from"./chunk-VAUOI2AC-C6BaCKWp.js";import{t as y}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as b}from"./mermaid-parser.core-BPoagdtX.js";import{i as x}from"./chunk-ICXQ74PX-V7Gv_S2c.js";import{t as S}from"./chunk-VR4S4FIN-Cxz-AOSl.js";import{i as C,n as w}from"./chunk-C7G6YPKG-HNW9cqtI.js";var T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=u,this.getAccTitle=_,this.setDiagramTitle=l,this.getDiagramTitle=g,this.getAccDescription=h,this.setAccDescription=c}static{a(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=m,t=f();return x({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{w(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){d(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function E(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}a(E,`buildHierarchy`);var D=a((e,t)=>{y(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=O(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let r=E(n),i=a((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&i(r.children,n+1)},`addNodesRecursively`);i(r,0)},`populate`),O=a(e=>e.name?String(e.name):``,`getItemName`),k={parser:{yy:void 0},parse:a(async e=>{try{let t=await b(`treemap`,e);o.debug(`Treemap AST:`,t);let n=k.parser?.yy;if(!(n instanceof T))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);D(t,n)}catch(e){throw o.error(`Error parsing treemap:`,e),e}},`parse`)},A=10,j=10,M=25,N={draw:a((s,c,l,u)=>{let d=u.db,m=d.getConfig(),h=m.padding??A,g=d.getDiagramTitle(),_=d.getRoot(),{themeVariables:y}=f();if(!_)return;let b=g?30:0,x=v(c),w=m.nodeWidth?m.nodeWidth*j:960,T=m.nodeHeight?m.nodeHeight*j:500,E=w,D=T+b;x.attr(`viewBox`,`0 0 ${E} ${D}`),p(x,D,E,m.useMaxWidth);let O;try{let e=m.valueFormat||`,`;if(e===`$0,0`)O=a(e=>`$`+t(`,`)(e),`valueFormat`);else if(e.startsWith(`$`)&&e.includes(`,`)){let n=/\.\d+/.exec(e),r=n?n[0]:``;O=a(e=>`$`+t(`,`+r)(e),`valueFormat`)}else if(e.startsWith(`$`)){let n=e.substring(1);O=a(e=>`$`+t(n||``)(e),`valueFormat`)}else O=t(e)}catch(e){o.error(`Error creating format function:`,e),O=t(`,`)}let k=r().range([`transparent`,y.cScale0,y.cScale1,y.cScale2,y.cScale3,y.cScale4,y.cScale5,y.cScale6,y.cScale7,y.cScale8,y.cScale9,y.cScale10,y.cScale11]),N=r().range([`transparent`,y.cScalePeer0,y.cScalePeer1,y.cScalePeer2,y.cScalePeer3,y.cScalePeer4,y.cScalePeer5,y.cScalePeer6,y.cScalePeer7,y.cScalePeer8,y.cScalePeer9,y.cScalePeer10,y.cScalePeer11]),P=r().range([y.cScaleLabel0,y.cScaleLabel1,y.cScaleLabel2,y.cScaleLabel3,y.cScaleLabel4,y.cScaleLabel5,y.cScaleLabel6,y.cScaleLabel7,y.cScaleLabel8,y.cScaleLabel9,y.cScaleLabel10,y.cScaleLabel11]);g&&x.append(`text`).attr(`x`,E/2).attr(`y`,b/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(g);let F=x.append(`g`).attr(`transform`,`translate(0, ${b})`).attr(`class`,`treemapContainer`),I=n(_).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),L=e().size([w,T]).paddingTop(e=>e.children&&e.children.length>0?M+j:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?j:0).paddingRight(e=>e.children&&e.children.length>0?j:0).paddingBottom(e=>e.children&&e.children.length>0?j:0).round(!0)(I),R=L.descendants().filter(e=>e.children&&e.children.length>0),z=F.selectAll(`.treemapSection`).data(R).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,M).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),z.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,M),z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>k(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>N(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=C({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),z.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,M/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${c}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=i(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,a;a=m.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),m.showValues!==!1&&z.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,M/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?O(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let B=L.leaves(),V=B.length>20,H=V?16:38,U=V?14:28,W=V?4:8,G=V?4:6,K=V?2:4,q=V?8:10,J=V?1:2,Y=F.selectAll(`.treemapLeafGroup`).data(B).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);Y.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`style`,e=>C({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`stroke-width`,3),Y.append(`clipPath`).attr(`id`,(e,t)=>`clip-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),Y.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${H}px;fill:`+P(e.data.name)+`;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.data.name).each(function(e){let t=i(this),n=e.x1-e.x0,r=e.y1-e.y0,a=t.node(),o=n-2*K,s=r-2*K;if(o<q||s<q){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>W;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(G,Math.min(U,Math.round(c*l))),d=c+J+u;for(;d>s&&c>W&&(c--,u=Math.max(G,Math.min(U,Math.round(c*l))),!(u<G&&c===W));)t.style(`font-size`,`${c}px`),d=c+J+u;t.style(`font-size`,`${c}px`),V?(c<W||s<W)&&t.style(`display`,`none`):(a.getComputedTextLength()>o||c<W||s<c)&&t.style(`display`,`none`)}),m.showValues!==!1&&Y.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${U}px;fill:`+P(e.data.name)+`;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.value?O(e.value):``).each(function(e){let t=i(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=i(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(r.style(`font-size`)),o=Math.max(G,Math.min(U,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+J;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-2*K;t.node().getComputedTextLength()>u||s+o>l||o<G?t.style(`display`,`none`):t.style(`display`,null)}),S(x,m.diagramPadding??8,`flowchart`,m?.useMaxWidth||!1)},`draw`),getClasses:a(function(e,t){return t.db.getClasses()},`getClasses`)},P={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},F={parser:k,get db(){return new T},renderer:N,styles:a(({treemap:e}={})=>{let t=x(s(),f().themeVariables),n=x(P,e),r=n.titleColor??t.titleColor,i=n.labelColor??t.textColor,a=n.valueColor??t.textColor;return`
|
|
1
|
+
import{at as e,c as t,ct as n,l as r,u as i}from"./vendor-charts-BbCFozUm.js";import{n as a}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as o}from"./src-DMTCYJgx.js";import{D as s,H as c,K as l,U as u,a as d,b as f,c as p,f as m,v as h,w as g,y as _}from"./chunk-WYO6CB5R-chyhiVml.js";import{t as v}from"./chunk-VAUOI2AC-B2LdZG5j.js";import{t as y}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as b}from"./mermaid-parser.core-BPoagdtX.js";import{i as x}from"./chunk-ICXQ74PX-OP102czk.js";import{t as S}from"./chunk-VR4S4FIN-C8tYB3zk.js";import{i as C,n as w}from"./chunk-C7G6YPKG-yJXKQ2Sz.js";var T=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=u,this.getAccTitle=_,this.setDiagramTitle=l,this.getDiagramTitle=g,this.getAccDescription=h,this.setAccDescription=c}static{a(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=m,t=f();return x({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{w(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){d(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function E(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}a(E,`buildHierarchy`);var D=a((e,t)=>{y(e,t);let n=[];for(let n of e.TreemapRows??[])n.$type===`ClassDefStatement`&&t.addClass(n.className??``,n.styleText??``);for(let r of e.TreemapRows??[]){let e=r.item;if(!e)continue;let i=r.indent?parseInt(r.indent):0,a=O(e),o=e.classSelector?t.getStylesForClass(e.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:s};n.push(c)}let r=E(n),i=a((e,n)=>{for(let r of e)t.addNode(r,n),r.children&&r.children.length>0&&i(r.children,n+1)},`addNodesRecursively`);i(r,0)},`populate`),O=a(e=>e.name?String(e.name):``,`getItemName`),k={parser:{yy:void 0},parse:a(async e=>{try{let t=await b(`treemap`,e);o.debug(`Treemap AST:`,t);let n=k.parser?.yy;if(!(n instanceof T))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);D(t,n)}catch(e){throw o.error(`Error parsing treemap:`,e),e}},`parse`)},A=10,j=10,M=25,N={draw:a((s,c,l,u)=>{let d=u.db,m=d.getConfig(),h=m.padding??A,g=d.getDiagramTitle(),_=d.getRoot(),{themeVariables:y}=f();if(!_)return;let b=g?30:0,x=v(c),w=m.nodeWidth?m.nodeWidth*j:960,T=m.nodeHeight?m.nodeHeight*j:500,E=w,D=T+b;x.attr(`viewBox`,`0 0 ${E} ${D}`),p(x,D,E,m.useMaxWidth);let O;try{let t=m.valueFormat||`,`;if(t===`$0,0`)O=a(t=>`$`+e(`,`)(t),`valueFormat`);else if(t.startsWith(`$`)&&t.includes(`,`)){let n=/\.\d+/.exec(t),r=n?n[0]:``;O=a(t=>`$`+e(`,`+r)(t),`valueFormat`)}else if(t.startsWith(`$`)){let n=t.substring(1);O=a(t=>`$`+e(n||``)(t),`valueFormat`)}else O=e(t)}catch(t){o.error(`Error creating format function:`,t),O=e(`,`)}let k=n().range([`transparent`,y.cScale0,y.cScale1,y.cScale2,y.cScale3,y.cScale4,y.cScale5,y.cScale6,y.cScale7,y.cScale8,y.cScale9,y.cScale10,y.cScale11]),N=n().range([`transparent`,y.cScalePeer0,y.cScalePeer1,y.cScalePeer2,y.cScalePeer3,y.cScalePeer4,y.cScalePeer5,y.cScalePeer6,y.cScalePeer7,y.cScalePeer8,y.cScalePeer9,y.cScalePeer10,y.cScalePeer11]),P=n().range([y.cScaleLabel0,y.cScaleLabel1,y.cScaleLabel2,y.cScaleLabel3,y.cScaleLabel4,y.cScaleLabel5,y.cScaleLabel6,y.cScaleLabel7,y.cScaleLabel8,y.cScaleLabel9,y.cScaleLabel10,y.cScaleLabel11]);g&&x.append(`text`).attr(`x`,E/2).attr(`y`,b/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(g);let F=x.append(`g`).attr(`transform`,`translate(0, ${b})`).attr(`class`,`treemapContainer`),I=r(_).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),L=t().size([w,T]).paddingTop(e=>e.children&&e.children.length>0?M+j:0).paddingInner(h).paddingLeft(e=>e.children&&e.children.length>0?j:0).paddingRight(e=>e.children&&e.children.length>0?j:0).paddingBottom(e=>e.children&&e.children.length>0?j:0).round(!0)(I),R=L.descendants().filter(e=>e.children&&e.children.length>0),z=F.selectAll(`.treemapSection`).data(R).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,M).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),z.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,M),z.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>k(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>N(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=C({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),z.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,M/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${c}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=i(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,a;a=m.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let o=Math.max(15,a),s=t.node();if(s.getComputedTextLength()>o){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),s.getComputedTextLength()>o&&t.text(``);break}if(t.text(e+`...`),s.getComputedTextLength()<=o)break}}}),m.showValues!==!1&&z.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,M/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?O(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+P(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let B=L.leaves(),V=B.length>20,H=V?16:38,U=V?14:28,W=V?4:8,G=V?4:6,K=V?2:4,q=V?8:10,J=V?1:2,Y=F.selectAll(`.treemapLeafGroup`).data(B).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);Y.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`style`,e=>C({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?k(e.parent.data.name):k(e.data.name)).attr(`stroke-width`,3),Y.append(`clipPath`).attr(`id`,(e,t)=>`clip-${c}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),Y.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${H}px;fill:`+P(e.data.name)+`;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.data.name).each(function(e){let t=i(this),n=e.x1-e.x0,r=e.y1-e.y0,a=t.node(),o=n-2*K,s=r-2*K;if(o<q||s<q){t.style(`display`,`none`);return}let c=parseInt(t.style(`font-size`),10),l=.6;for(;a.getComputedTextLength()>o&&c>W;)c--,t.style(`font-size`,`${c}px`);let u=Math.max(G,Math.min(U,Math.round(c*l))),d=c+J+u;for(;d>s&&c>W&&(c--,u=Math.max(G,Math.min(U,Math.round(c*l))),!(u<G&&c===W));)t.style(`font-size`,`${c}px`),d=c+J+u;t.style(`font-size`,`${c}px`),V?(c<W||s<W)&&t.style(`display`,`none`):(a.getComputedTextLength()>o||c<W||s<c)&&t.style(`display`,`none`)}),m.showValues!==!1&&Y.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${U}px;fill:`+P(e.data.name)+`;`+C({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${c}-${t})`).text(e=>e.value?O(e.value):``).each(function(e){let t=i(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=i(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let a=parseFloat(r.style(`font-size`)),o=Math.max(G,Math.min(U,Math.round(a*.6)));t.style(`font-size`,`${o}px`);let s=(e.y1-e.y0)/2+a/2+J;t.attr(`y`,s);let c=e.x1-e.x0,l=e.y1-e.y0-4,u=c-2*K;t.node().getComputedTextLength()>u||s+o>l||o<G?t.style(`display`,`none`):t.style(`display`,null)}),S(x,m.diagramPadding??8,`flowchart`,m?.useMaxWidth||!1)},`draw`),getClasses:a(function(e,t){return t.db.getClasses()},`getClasses`)},P={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},F={parser:k,get db(){return new T},renderer:N,styles:a(({treemap:e}={})=>{let t=x(s(),f().themeVariables),n=x(P,e),r=n.titleColor??t.titleColor,i=n.labelColor??t.textColor,a=n.valueColor??t.textColor;return`
|
|
2
2
|
.treemapNode.section {
|
|
3
3
|
stroke: ${n.sectionStrokeColor};
|
|
4
4
|
stroke-width: ${n.sectionStrokeWidth};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DMTCYJgx.js";import{H as n,K as r,U as i,a,b as o,c as s,f as c,v as l,w as u,y as d}from"./chunk-WYO6CB5R-chyhiVml.js";import{t as f}from"./chunk-VAUOI2AC-B2LdZG5j.js";import{t as p}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as m}from"./mermaid-parser.core-BPoagdtX.js";import{i as h}from"./chunk-ICXQ74PX-OP102czk.js";var g=c.packet,_=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=d,this.setDiagramTitle=r,this.getDiagramTitle=u,this.getAccDescription=l,this.setAccDescription=n}static{e(this,`PacketDB`)}getConfig(){let e=h({...g,...o().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){a(),this.packet=[]}},v=1e4,y=e((e,n)=>{p(e,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:s,end:c,bits:l,label:u}of e.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,t.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&n.getPacket().length<v;){let[e,t]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(n.pushWord(i),i=[],a++),!t)break;({start:s,end:c,bits:l,label:u}=t)}}n.pushWord(i)},`populate`),b=e((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:e(async e=>{let n=await m(`packet`,e),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);t.debug(n),y(n,r)},`parse`)},S=e((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:c,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),p=i.getDiagramTitle(),m=o+c,h=m*(d.length+1)-(p?0:o),g=l*u+2,_=f(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),s(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(p).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=e((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c})=>{let l=e.append(`g`),u=n*(r+a)+a;for(let e of t){let t=e.start%s*o+1,n=(e.end-e.start+1)*o-i;if(l.append(`rect`).attr(`x`,t).attr(`y`,u).attr(`width`,n).attr(`height`,r).attr(`class`,`packetBlock`),l.append(`text`).attr(`x`,t+n/2).attr(`y`,u+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let a=e.end===e.start,d=u-2;l.append(`text`).attr(`x`,t+(a?n/2:0)).attr(`y`,d).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,a?`middle`:`start`).text(e.start),a||l.append(`text`).attr(`x`,t+n).attr(`y`,d).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(e.end)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:e(({packet:e}={})=>{let t=h(T,e);return`
|
|
2
2
|
.packetByte {
|
|
3
3
|
font-size: ${t.byteFontSize};
|
|
4
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DMTCYJgx.js";import{H as n,K as r,U as i,a,b as o,c as s,f as c,v as l,w as u,y as d,z as f}from"./chunk-WYO6CB5R-chyhiVml.js";import{t as p}from"./chunk-VAUOI2AC-B2LdZG5j.js";import{t as m}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as h}from"./mermaid-parser.core-BPoagdtX.js";import{r as g,t as _}from"./chunk-HOUHSVGY-BuKclK6G.js";import{i as v}from"./chunk-ICXQ74PX-OP102czk.js";import{t as y}from"./chunk-2Q5K7J3B-C1jixKkw.js";var b=/[─━│┃└┗├┣]/,x=/[└┗├┣]/,S=/[─━]/,C=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,T=/^\s*%%/,E=` `;function D(e){return e.some(e=>b.test(e))}e(D,`isBoxDrawingFormat`);function O(e){for(let t of e){let e=x.exec(t);if(e?.index&&e.index>0)return e.index}return 4}e(O,`inferSegmentWidth`);function k(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{let r=parseInt(n,10),i=t.get(r);return i?`line ${i}`:e})}e(k,`remapErrorLines`);function A(e){let t=e.split(`
|
|
2
2
|
`),n=new Map,r=-1;for(let[e,n]of t.entries())if(n.trim()===`treeView-beta`){r=e;break}if(r===-1)return{text:e,lineMap:n};let i=[];for(let e=r+1;e<t.length;e++){let n=t[e];n.trim()===``||T.test(n)||w.test(n)||C.test(n)||i.push(n.replace(/\t/g,` `))}if(!D(i))return{text:e,lineMap:n};let a=O(i),o=[],s=0;for(let e=0;e<=r;e++)o.push(t[e]),s++,n.set(s,e+1);for(let e=r+1;e<t.length;e++){let r=t[e],i=r.trim(),c=e+1;if(i===``){o.push(r),s++,n.set(s,c);continue}if(T.test(r)){o.push(r),s++,n.set(s,c);continue}if(w.test(r)){o.push(r),s++,n.set(s,c);continue}if(C.test(r))continue;let l=r.replace(/\t/g,` `),u=x.exec(l);if(u?.index!==void 0){let e=u.index,t=Math.round(e/a)+1,r=e+1;for(;r<l.length&&S.test(l[r]);)r++;for(;r<l.length&&l[r]===` `;)r++;let i=l.slice(r).trimEnd();if(!i)throw Error(`Line ${c}: Empty node \u2014 expected a filename or directory name after the box-drawing prefix`);let d=E.repeat(t);o.push(d+i),s++,n.set(s,c)}else if(/^[\s─━│┃└┗├┣]+$/.test(l))continue;else if(b.test(l))o.push(r),s++,n.set(s,c);else if(/^\s+/.test(l))throw Error(`Line ${c}: Unexpected indentation without box-drawing characters. In box-drawing format, use \u251C\u2500\u2500 or \u2514\u2500\u2500 prefixes for indented nodes.`);else o.push(r),s++,n.set(s,c)}return{text:o.join(`
|
|
3
3
|
`),lineMap:n}}e(A,`preprocessBoxDrawing`);var j=new y(()=>({cnt:1,stack:[{id:0,level:-1,name:`/`,nodeType:`directory`,children:[]}]})),M=e(()=>{j.reset(),a()},`clear`),N=e(()=>j.records.stack[0],`getRoot`),P=e(()=>j.records.cnt,`getCount`),F=c.treeView,I={clear:M,addNode:e((e,t,n,r,i,a)=>{for(;e<=j.records.stack[j.records.stack.length-1].level;)j.records.stack.pop();let o={id:j.records.cnt++,level:e,name:t,nodeType:n,icon:i,cssClass:r,description:a,children:[]};j.records.stack[j.records.stack.length-1].children.push(o),j.records.stack.push(o)},`addNode`),getRoot:N,getCount:P,getConfig:e(()=>v(F,o().treeView),`getConfig`),getAccTitle:d,getAccDescription:l,getDiagramTitle:u,setAccDescription:n,setAccTitle:i,setDiagramTitle:r},L=e(e=>{m(e,I);for(let t of e.nodes){let e=typeof t.indent==`number`?t.indent:0,n=t.name,r=n.endsWith(`/`);r&&(n=n.slice(0,-1));let i=r?`directory`:`file`,a=t.classAnnotation||void 0,s=t.iconAnnotation,c=s===void 0?void 0:s||`none`,l=t.descAnnotation||void 0,u=l?f(l,o()):void 0;I.addNode(e,n,i,a,c,u)}},`populate`),R={parse:e(async e=>{let{text:n,lineMap:r}=A(e);try{let e=await h(`treeView`,n);t.debug(e),L(e)}catch(e){throw r.size>0&&e instanceof Error&&(e.message=k(e.message,r)),e}},`parse`)},z={prefix:`mermaid-treeview`,height:24,width:24,icons:{folder:{body:`<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>`},file:{body:`<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>`}}};function B(e,t){let n=t?.filenameIcons?.[e];if(n)return n;let r=e.lastIndexOf(`.`);if(r>0){let n=e.substring(r).toLowerCase(),i=t?.extensionIcons;return i?.[n]??i?.[n.slice(1)]}}e(B,`detectIcon`);function V(e,t){return e.includes(`:`)?e:e in z.icons||!t?`${z.prefix}:${e}`:`${t}:${e}`}e(V,`qualifyIcon`);function H(e,t){if(e.icon!==`none`){if(e.icon)return V(e.icon,t.defaultIconPack);if(t.showIcons){if(e.nodeType===`file`){let n=B(e.name,t);if(n===`none`)return;if(n)return V(n,t.defaultIconPack)}return`${z.prefix}:${e.nodeType===`directory`?`folder`:`file`}`}}}e(H,`getNodeIcon`),g([{name:z.prefix,icons:z}]);var U=14,W=4,G=16,K=e((e,t)=>`tv-icon-${e}-${t.replace(/[^\w-]/g,`-`)}`,`iconSymbolId`),q=e(async(t,n,r,i)=>{let a=new Set,o=e(e=>{let t=H(e,r);t&&a.add(t),e.children.forEach(o)},`collect`);if(o(n),a.size===0)return;let s=await Promise.all([...a].map(async e=>({icon:e,svg:await _(e,{height:U,width:U})}))),c=t.append(`defs`);for(let{icon:e,svg:t}of s)c.append(`g`).attr(`id`,K(i,e)).html(t)},`injectIconDefs`),J=e((e,t,n,r,i,a)=>{let o=r.append(`g`),s=`treeView-node-label`;n.nodeType===`directory`&&(s+=` treeView-node-dir`),n.cssClass&&(s+=` ${n.cssClass}`);let c=U+W,l=H(n,i),u=l!==void 0;l&&o.append(`use`).attr(`xlink:href`,`#${K(a,l)}`).attr(`x`,e+i.paddingX).attr(`y`,t+i.paddingY).attr(`class`,`treeView-node-icon`);let d=o.append(`text`).text(n.name).attr(`dominant-baseline`,`middle`).attr(`class`,s),{height:f,width:p}=d.node().getBBox(),m=f+i.paddingY*2,h=e+i.paddingX+(u?c:0);d.attr(`x`,h),d.attr(`y`,t+m/2);let g=h+p;return n.BBox={x:e,y:t,width:p+i.paddingX*2+(u?c:0),height:m},n.cssClass?.split(/\s+/).includes(`highlight`)&&o.insert(`rect`,`:first-child`).attr(`x`,e).attr(`y`,t+1).attr(`width`,0).attr(`height`,m-2).attr(`rx`,3).attr(`class`,`treeView-highlight-bg`),{node:n,nodeGroup:o,labelRightEdge:g,centerY:t+m/2}},`positionLabel`),Y=e((e,t,n,r,i,a)=>e.append(`line`).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i).attr(`stroke-width`,a).attr(`class`,`treeView-node-line`),`positionLine`),X=e((t,n,r,i)=>{let a=0,o=0,s=[],c=e((e,t,n,r)=>{let c=r*(n.rowIndent+n.paddingX),l=J(c,a,t,e,n,i);s.push(l);let{height:u,width:d}=t.BBox;Y(e,c-n.rowIndent,a+u/2,c,a+u/2,n.lineThickness),o=Math.max(o,c+d),a+=u},`drawNode`),l=e((e,n=0)=>{c(t,e,r,n),e.children.forEach(e=>{l(e,n+1)});let{x:i,y:a,height:o}=e.BBox;if(e.children.length){let{y:n,height:s}=e.children[e.children.length-1].BBox;Y(t,i+r.paddingX,a+o,i+r.paddingX,n+s/2+r.lineThickness/2,r.lineThickness)}},`processNode`);l(n);let u=s.filter(e=>e.node.description);if(u.length>0){let e=Math.max(...s.map(e=>e.labelRightEdge))+G;for(let t of u){let n=t.nodeGroup.append(`text`).text(t.node.description).attr(`dominant-baseline`,`middle`).attr(`class`,`treeView-node-description`).attr(`x`,e).attr(`y`,t.centerY).node().getBBox();o=Math.max(o,e+n.width+r.paddingX)}}for(let e of s)if(e.node.cssClass?.split(/\s+/).includes(`highlight`)){let t=e.nodeGroup.select(`.treeView-highlight-bg`);if(!t.empty()){let n=o-e.node.BBox.x+8;t.attr(`width`,n),o=Math.max(o,e.node.BBox.x+n+2)}}return{totalHeight:a,totalWidth:o}},`drawTree`),Z={draw:e(async(e,n,r,i)=>{t.debug(`Rendering treeView diagram
|
|
4
4
|
`+e);let a=i.db,o=a.getRoot(),c=a.getConfig(),l=p(n);await q(l,o,c,n);let u=l.append(`g`);u.attr(`class`,`tree-view`);let{totalHeight:d,totalWidth:f}=X(u,o,c,n);l.attr(`viewBox`,`-${c.lineThickness/2} 0 ${f} ${d}`),s(l,d,f,c.useMaxWidth)},`draw`)},Q={labelFontSize:`16px`,labelColor:`black`,lineColor:`black`,iconColor:`#546e7a`,descriptionColor:`#6a9955`,highlightBg:`rgba(255, 193, 7, 0.15)`,highlightStroke:`#ffc107`},$={db:I,renderer:Z,parser:R,styles:e(({treeView:e})=>{let{labelFontSize:t,labelColor:n,lineColor:r,iconColor:i,descriptionColor:a,highlightBg:o,highlightStroke:s}=v(Q,e);return`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DMTCYJgx.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f}from"./chunk-WYO6CB5R-chyhiVml.js";import{t as p}from"./chunk-VAUOI2AC-B2LdZG5j.js";import{t as m}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as h}from"./mermaid-parser.core-BPoagdtX.js";import{i as g}from"./chunk-ICXQ74PX-OP102czk.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v={axes:[],curves:[],options:_},y=structuredClone(v),b=l.radar,x=e(()=>g({...b,...s().radar}),`getConfig`),S=e(()=>y.axes,`getAxes`),C=e(()=>y.curves,`getCurves`),w=e(()=>y.options,`getOptions`),T=e(e=>{y.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),E=e(e=>{y.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:D(e.entries)}))},`setCurves`),D=e(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=S();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),O={getAxes:S,getCurves:C,getOptions:w,setAxes:T,setCurves:E,setOptions:e(e=>{let t=e.reduce((e,t)=>(e[t.name]=t,e),{});y.options={showLegend:t.showLegend?.value??_.showLegend,ticks:t.ticks?.value??_.ticks,max:t.max?.value??_.max,min:t.min?.value??_.min,graticule:t.graticule?.value??_.graticule}},`setOptions`),getConfig:x,clear:e(()=>{o(),y=structuredClone(v)},`clear`),setAccTitle:a,getAccTitle:f,setDiagramTitle:i,getDiagramTitle:d,getAccDescription:u,setAccDescription:r},k=e(e=>{m(e,O);let{axes:t,curves:n,options:r}=e;O.setAxes(t),O.setCurves(n),O.setOptions(r)},`populate`),A={parse:e(async e=>{let n=await h(`radar`,e);t.debug(n),k(n)},`parse`)},j=e((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=M(p(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,m=Math.min(c.width,c.height)/2;N(u,a,m,s.ticks,s.graticule),P(u,a,m,c),F(u,a,o,f,d,s.graticule,c),R(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),M=e((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return c(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`).attr(`overflow`,`visible`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),N=e((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),P=e((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2,c=Math.cos(s),l=Math.sin(s);e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*c).attr(`y2`,n*r.axisScaleFactor*l).attr(`class`,`radarAxisLine`);let u=c>.01?`start`:c<-.01?`end`:`middle`,d=l>.01?`hanging`:l<-.01?`auto`:`central`;e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*c+4*c).attr(`y`,n*r.axisLabelFactor*l+4*l).attr(`text-anchor`,u).attr(`dominant-baseline`,d).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function F(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=I(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,L(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}e(F,`drawCurves`);function I(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}e(I,`relativeRadius`);function L(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}e(L,`closedRoundCurve`);function R(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}e(R,`drawLegend`);var z={draw:j},B=e((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
|
|
2
2
|
.radarCurve-${r} {
|
|
3
3
|
color: ${i};
|
|
4
4
|
fill: ${i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./chunk-U6XO7XAA-Cwwl_Wmn.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-
|
|
1
|
+
import{n as e}from"./chunk-U6XO7XAA-Cwwl_Wmn.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-DMTCYJgx.js";import"./chunk-WYO6CB5R-chyhiVml.js";import"./chunk-VAUOI2AC-B2LdZG5j.js";import{n as r,r as i,t as a}from"./chunk-MOJQB5TN-CToOzrGu.js";import{t as o}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as s}from"./mermaid-parser.core-BPoagdtX.js";var c=e().RailroadEbnf.parser.LangiumParser,l=t(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformChoice`),u=t(e=>{let t=e.elements.map(p);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformSequence`),d=t(e=>{switch(e.$type){case`EbnfTerminal`:return{type:`terminal`,value:e.value};case`EbnfNonTerminal`:return{type:`nonterminal`,name:e.name};case`EbnfSpecial`:return{type:`special`,text:e.text};case`EbnfGroup`:return l(e.element);case`EbnfOptional`:return{type:`optional`,element:l(e.element)};case`EbnfRepetition`:return{type:`repetition`,element:l(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},`transformPrimary`),f=t((e,t)=>{switch(t.$type){case`EbnfOptionalPostfix`:return{type:`optional`,element:e};case`EbnfZeroOrMorePostfix`:return{type:`repetition`,element:e,min:0,max:1/0};case`EbnfOneOrMorePostfix`:return{type:`repetition`,element:e,min:1,max:1/0};case`EbnfExceptionPostfix`:return{type:`sequence`,elements:[e,{type:`terminal`,value:`-`},d(t.except)]};default:throw Error(`Unsupported EBNF postfix node: ${t.$type}`)}},`transformPostfix`),p=t(e=>e.postfixes.reduce((e,t)=>f(e,t),d(e.base)),`transformTerm`),m=t(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=t(e=>{o(e,a),e.title&&a.setTitle(e.title),e.rules.map(e=>a.addRule(m(e)))},`populateDb`),g={parser:{parse:t(e=>{a.clear(),n.debug(`[EBNF Parser] Starting Langium parse`);let t=c.parse(e);if(t.lexerErrors.length>0||t.parserErrors.length>0)throw new s(t);let r=t.value;n.debug(`[EBNF Parser] Parsed rules:`,r.rules.length),h(r),n.debug(`[EBNF Parser] Parse complete`)},`parse`),parser:{yy:a}},db:a,renderer:i,styles:r};export{g as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{u as e}from"./vendor-charts-C9Rg4sGZ.js";import{n as t,t as n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-BvgQ2BWs.js";import{H as i,K as a,U as o,a as s,it as c,v as l,w as u,x as d,y as f}from"./chunk-WYO6CB5R-BBCHPFWt.js";import{t as p}from"./channel-DWZQ9vnS.js";import"./chunk-HOUHSVGY-BiLG0Jtx.js";import{c as m,g as h}from"./chunk-ICXQ74PX-V7Gv_S2c.js";import"./chunk-Q4XR5HBZ-C1v9xwSj.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-D9fNq6KM.js";import{t as g}from"./chunk-XXDRQBXY-DzukX8IV.js";import{t as _}from"./chunk-VR4S4FIN-Cxz-AOSl.js";import"./chunk-C7G6YPKG-HNW9cqtI.js";import"./chunk-ZGVPDNZ5-0VawavzG.js";import"./chunk-52WLFC77-Cx4AaJIv.js";import{r as v,t as y}from"./chunk-FWX5IMBZ-Dt6Lwztc.js";var b=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],i=[1,11],a=[1,12],o=[1,13],s=[1,23],c=[1,24],l=[1,25],u=[1,26],d=[1,27],f=[1,19],p=[1,28],m=[1,29],h=[1,20],g=[1,18],_=[1,21],v=[1,22],y=[1,36],b=[1,37],x=[1,38],S=[1,39],C=[1,40],w=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],T=[1,45],E=[1,46],D=[1,55],O=[40,48,50,51,52,71,72],k=[1,66],A=[1,64],j=[1,61],M=[1,65],N=[1,67],P=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],F=[66,67,68,69,70],I=[1,85],L=[1,84],R=[1,82],z=[1,83],B=[6,10,42,47],V=[6,10,13,41,42,47,48,49],H=[1,93],U=[1,92],W=[1,91],G=[19,58],K=[1,102],q=[1,101],J=[19,58,61,63],Y={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:`error`,4:`ER_DIAGRAM`,6:`EOF`,8:`SPACE`,10:`NEWLINE`,13:`COLON`,15:`STYLE_SEPARATOR`,17:`BLOCK_START`,19:`BLOCK_STOP`,20:`SQS`,21:`SQE`,22:`title`,23:`title_value`,24:`acc_title`,25:`acc_title_value`,26:`acc_descr`,27:`acc_descr_value`,28:`acc_descr_multiline_value`,33:`direction_tb`,34:`direction_bt`,35:`direction_rl`,36:`direction_lr`,37:`CLASSDEF`,40:`UNICODE_TEXT`,41:`STYLE_TEXT`,42:`COMMA`,43:`CLASS`,44:`STYLE`,47:`SEMI`,48:`NUM`,49:`BRKT`,50:`ENTITY_NAME`,51:`DECIMAL_NUM`,52:`ENTITY_ONE`,58:`ATTRIBUTE_WORD`,59:`?`,61:`,`,62:`ATTRIBUTE_KEY`,63:`COMMENT`,66:`ZERO_OR_ONE`,67:`ZERO_OR_MORE`,68:`ONE_OR_MORE`,69:`ONLY_ONE`,70:`MD_PARENT`,71:`NON_IDENTIFYING`,72:`IDENTIFYING`,73:`WORD`},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:break;case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(a[s-4]),r.addEntity(a[s-2]),r.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:r.addEntity(a[s-8]),r.addEntity(a[s-4]),r.addRelationship(a[s-8],a[s],a[s-4],a[s-5]),r.setClass([a[s-8]],a[s-6]),r.setClass([a[s-4]],a[s-2]);break;case 10:r.addEntity(a[s-6]),r.addEntity(a[s-2]),r.addRelationship(a[s-6],a[s],a[s-2],a[s-3]),r.setClass([a[s-6]],a[s-4]);break;case 11:r.addEntity(a[s-6]),r.addEntity(a[s-4]),r.addRelationship(a[s-6],a[s],a[s-4],a[s-5]),r.setClass([a[s-4]],a[s-2]);break;case 12:r.addEntity(a[s-3]),r.addAttributes(a[s-3],a[s-1]);break;case 13:r.addEntity(a[s-5]),r.addAttributes(a[s-5],a[s-1]),r.setClass([a[s-5]],a[s-3]);break;case 14:r.addEntity(a[s-2]);break;case 15:r.addEntity(a[s-4]),r.setClass([a[s-4]],a[s-2]);break;case 16:r.addEntity(a[s]);break;case 17:r.addEntity(a[s-2]),r.setClass([a[s-2]],a[s]);break;case 18:r.addEntity(a[s-6],a[s-4]),r.addAttributes(a[s-6],a[s-1]);break;case 19:r.addEntity(a[s-8],a[s-6]),r.addAttributes(a[s-8],a[s-1]),r.setClass([a[s-8]],a[s-3]);break;case 20:r.addEntity(a[s-5],a[s-3]);break;case 21:r.addEntity(a[s-7],a[s-5]),r.setClass([a[s-7]],a[s-2]);break;case 22:r.addEntity(a[s-3],a[s-1]);break;case 23:r.addEntity(a[s-5],a[s-3]),r.setClass([a[s-5]],a[s]);break;case 24:case 25:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection(`TB`);break;case 33:r.setDirection(`BT`);break;case 34:r.setDirection(`RL`);break;case 35:r.setDirection(`LR`);break;case 36:this.$=a[s-3],r.addClass(a[s-2],a[s-1]);break;case 37:case 38:case 59:case 68:this.$=[a[s]];break;case 39:case 40:this.$=a[s-2].concat([a[s]]);break;case 41:this.$=a[s-2],r.setClass(a[s-1],a[s]);break;case 42:this.$=a[s-3],r.addCssStyles(a[s-2],a[s-1]);break;case 43:this.$=[a[s]];break;case 44:a[s-2].push(a[s]),this.$=a[s-2];break;case 46:this.$=a[s-1]+a[s];break;case 54:case 80:case 81:this.$=a[s].replace(/"/g,``);break;case 55:case 56:case 57:case 58:case 82:this.$=a[s];break;case 60:a[s].push(a[s-1]),this.$=a[s];break;case 61:this.$={type:a[s-1],name:a[s]};break;case 62:this.$={type:a[s-2],name:a[s-1],keys:a[s]};break;case 63:this.$={type:a[s-2],name:a[s-1],comment:a[s]};break;case 64:this.$={type:a[s-3],name:a[s-2],keys:a[s-1],comment:a[s]};break;case 65:case 67:case 70:this.$=a[s];break;case 66:this.$=a[s-1]+a[s];break;case 69:a[s-2].push(a[s]),this.$=a[s-2];break;case 71:this.$=a[s].replace(/"/g,``);break;case 72:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},`anonymous`),table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:i,26:a,28:o,29:14,30:15,31:16,32:17,33:s,34:c,35:l,36:u,37:d,40:f,43:p,44:m,48:h,50:g,51:_,52:v},e(n,[2,7],{1:[2,1]}),e(n,[2,3]),{9:30,11:9,22:r,24:i,26:a,28:o,29:14,30:15,31:16,32:17,33:s,34:c,35:l,36:u,37:d,40:f,43:p,44:m,48:h,50:g,51:_,52:v},e(n,[2,5]),e(n,[2,6]),e(n,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:y,67:b,68:x,69:S,70:C}),{23:[1,41]},{25:[1,42]},{27:[1,43]},e(n,[2,27]),e(n,[2,28]),e(n,[2,29]),e(n,[2,30]),e(n,[2,31]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(n,[2,32]),e(n,[2,33]),e(n,[2,34]),e(n,[2,35]),{16:44,40:T,41:E},{16:47,40:T,41:E},{16:48,40:T,41:E},e(n,[2,4]),{11:49,40:f,48:h,50:g,51:_,52:v},{16:50,40:T,41:E},{18:51,19:[1,52],53:53,54:54,58:D},{11:56,40:f,48:h,50:g,51:_,52:v},{65:57,71:[1,58],72:[1,59]},e(O,[2,73]),e(O,[2,74]),e(O,[2,75]),e(O,[2,76]),e(O,[2,77]),e(n,[2,24]),e(n,[2,25]),e(n,[2,26]),{13:k,38:60,41:A,42:j,45:62,46:63,48:M,49:N},e(P,[2,37]),e(P,[2,38]),{16:68,40:T,41:E,42:j},{13:k,38:69,41:A,42:j,45:62,46:63,48:M,49:N},{13:[1,70],15:[1,71]},e(n,[2,17],{64:35,12:72,17:[1,73],42:j,66:y,67:b,68:x,69:S,70:C}),{19:[1,74]},e(n,[2,14]),{18:75,19:[2,59],53:53,54:54,58:D},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:y,67:b,68:x,69:S,70:C},e(F,[2,78]),e(F,[2,79]),{6:I,10:L,39:81,42:R,47:z},{40:[1,86],41:[1,87]},e(B,[2,43],{46:88,13:k,41:A,48:M,49:N}),e(V,[2,45]),e(V,[2,50]),e(V,[2,51]),e(V,[2,52]),e(V,[2,53]),e(n,[2,41],{42:j}),{6:I,10:L,39:89,42:R,47:z},{14:90,40:H,50:U,73:W},{16:94,40:T,41:E},{11:95,40:f,48:h,50:g,51:_,52:v},{18:96,19:[1,97],53:53,54:54,58:D},e(n,[2,12]),{19:[2,60]},e(G,[2,61],{56:98,57:99,60:100,62:K,63:q}),e([19,58,62,63],[2,67]),{58:[2,66]},e(n,[2,22],{15:[1,104],17:[1,103]}),e([40,48,50,51,52],[2,72]),e(n,[2,36]),{13:k,41:A,45:105,46:63,48:M,49:N},e(n,[2,47]),e(n,[2,48]),e(n,[2,49]),e(P,[2,39]),e(P,[2,40]),e(V,[2,46]),e(n,[2,42]),e(n,[2,8]),e(n,[2,80]),e(n,[2,81]),e(n,[2,82]),{13:[1,106],42:j},{13:[1,108],15:[1,107]},{19:[1,109]},e(n,[2,15]),e(G,[2,62],{57:110,61:[1,111],63:q}),e(G,[2,63]),e(J,[2,68]),e(G,[2,71]),e(J,[2,70]),{18:112,19:[1,113],53:53,54:54,58:D},{16:114,40:T,41:E},e(B,[2,44],{46:88,13:k,41:A,48:M,49:N}),{14:115,40:H,50:U,73:W},{16:116,40:T,41:E},{14:117,40:H,50:U,73:W},e(n,[2,13]),e(G,[2,64]),{60:118,62:K},{19:[1,119]},e(n,[2,20]),e(n,[2,23],{17:[1,120],42:j}),e(n,[2,11]),{13:[1,121],42:j},e(n,[2,10]),e(J,[2,69]),e(n,[2,18]),{18:122,19:[1,123],53:53,54:54,58:D},{14:124,40:H,50:U,73:W},{19:[1,125]},e(n,[2,21]),e(n,[2,9]),e(n,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
1
|
+
import{u as e}from"./vendor-charts-BbCFozUm.js";import{n as t,t as n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as r}from"./src-DMTCYJgx.js";import{H as i,K as a,U as o,a as s,it as c,v as l,w as u,x as d,y as f}from"./chunk-WYO6CB5R-chyhiVml.js";import{t as p}from"./channel-BovwC1_7.js";import"./chunk-HOUHSVGY-BuKclK6G.js";import{c as m,g as h}from"./chunk-ICXQ74PX-OP102czk.js";import"./chunk-Q4XR5HBZ-B1-bRF4T.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-9rMC3Zdz.js";import{t as g}from"./chunk-XXDRQBXY-mZd7tFTQ.js";import{t as _}from"./chunk-VR4S4FIN-C8tYB3zk.js";import"./chunk-C7G6YPKG-yJXKQ2Sz.js";import"./chunk-ZGVPDNZ5-BHJQa9Yh.js";import"./chunk-52WLFC77-DtGIB0uV.js";import{r as v,t as y}from"./chunk-FWX5IMBZ-C4k19ShS.js";var b=(function(){var e=t(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],i=[1,11],a=[1,12],o=[1,13],s=[1,23],c=[1,24],l=[1,25],u=[1,26],d=[1,27],f=[1,19],p=[1,28],m=[1,29],h=[1,20],g=[1,18],_=[1,21],v=[1,22],y=[1,36],b=[1,37],x=[1,38],S=[1,39],C=[1,40],w=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],T=[1,45],E=[1,46],D=[1,55],O=[40,48,50,51,52,71,72],k=[1,66],A=[1,64],j=[1,61],M=[1,65],N=[1,67],P=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],F=[66,67,68,69,70],I=[1,85],L=[1,84],R=[1,82],z=[1,83],B=[6,10,42,47],V=[6,10,13,41,42,47,48,49],H=[1,93],U=[1,92],W=[1,91],G=[19,58],K=[1,102],q=[1,101],J=[19,58,61,63],Y={trace:t(function(){},`trace`),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:`error`,4:`ER_DIAGRAM`,6:`EOF`,8:`SPACE`,10:`NEWLINE`,13:`COLON`,15:`STYLE_SEPARATOR`,17:`BLOCK_START`,19:`BLOCK_STOP`,20:`SQS`,21:`SQE`,22:`title`,23:`title_value`,24:`acc_title`,25:`acc_title_value`,26:`acc_descr`,27:`acc_descr_value`,28:`acc_descr_multiline_value`,33:`direction_tb`,34:`direction_bt`,35:`direction_rl`,36:`direction_lr`,37:`CLASSDEF`,40:`UNICODE_TEXT`,41:`STYLE_TEXT`,42:`COMMA`,43:`CLASS`,44:`STYLE`,47:`SEMI`,48:`NUM`,49:`BRKT`,50:`ENTITY_NAME`,51:`DECIMAL_NUM`,52:`ENTITY_ONE`,58:`ATTRIBUTE_WORD`,59:`?`,61:`,`,62:`ATTRIBUTE_KEY`,63:`COMMENT`,66:`ZERO_OR_ONE`,67:`ZERO_OR_MORE`,68:`ONE_OR_MORE`,69:`ONLY_ONE`,70:`MD_PARENT`,71:`NON_IDENTIFYING`,72:`IDENTIFYING`,73:`WORD`},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:t(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 1:break;case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:r.addEntity(a[s-4]),r.addEntity(a[s-2]),r.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:r.addEntity(a[s-8]),r.addEntity(a[s-4]),r.addRelationship(a[s-8],a[s],a[s-4],a[s-5]),r.setClass([a[s-8]],a[s-6]),r.setClass([a[s-4]],a[s-2]);break;case 10:r.addEntity(a[s-6]),r.addEntity(a[s-2]),r.addRelationship(a[s-6],a[s],a[s-2],a[s-3]),r.setClass([a[s-6]],a[s-4]);break;case 11:r.addEntity(a[s-6]),r.addEntity(a[s-4]),r.addRelationship(a[s-6],a[s],a[s-4],a[s-5]),r.setClass([a[s-4]],a[s-2]);break;case 12:r.addEntity(a[s-3]),r.addAttributes(a[s-3],a[s-1]);break;case 13:r.addEntity(a[s-5]),r.addAttributes(a[s-5],a[s-1]),r.setClass([a[s-5]],a[s-3]);break;case 14:r.addEntity(a[s-2]);break;case 15:r.addEntity(a[s-4]),r.setClass([a[s-4]],a[s-2]);break;case 16:r.addEntity(a[s]);break;case 17:r.addEntity(a[s-2]),r.setClass([a[s-2]],a[s]);break;case 18:r.addEntity(a[s-6],a[s-4]),r.addAttributes(a[s-6],a[s-1]);break;case 19:r.addEntity(a[s-8],a[s-6]),r.addAttributes(a[s-8],a[s-1]),r.setClass([a[s-8]],a[s-3]);break;case 20:r.addEntity(a[s-5],a[s-3]);break;case 21:r.addEntity(a[s-7],a[s-5]),r.setClass([a[s-7]],a[s-2]);break;case 22:r.addEntity(a[s-3],a[s-1]);break;case 23:r.addEntity(a[s-5],a[s-3]),r.setClass([a[s-5]],a[s]);break;case 24:case 25:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 32:r.setDirection(`TB`);break;case 33:r.setDirection(`BT`);break;case 34:r.setDirection(`RL`);break;case 35:r.setDirection(`LR`);break;case 36:this.$=a[s-3],r.addClass(a[s-2],a[s-1]);break;case 37:case 38:case 59:case 68:this.$=[a[s]];break;case 39:case 40:this.$=a[s-2].concat([a[s]]);break;case 41:this.$=a[s-2],r.setClass(a[s-1],a[s]);break;case 42:this.$=a[s-3],r.addCssStyles(a[s-2],a[s-1]);break;case 43:this.$=[a[s]];break;case 44:a[s-2].push(a[s]),this.$=a[s-2];break;case 46:this.$=a[s-1]+a[s];break;case 54:case 80:case 81:this.$=a[s].replace(/"/g,``);break;case 55:case 56:case 57:case 58:case 82:this.$=a[s];break;case 60:a[s].push(a[s-1]),this.$=a[s];break;case 61:this.$={type:a[s-1],name:a[s]};break;case 62:this.$={type:a[s-2],name:a[s-1],keys:a[s]};break;case 63:this.$={type:a[s-2],name:a[s-1],comment:a[s]};break;case 64:this.$={type:a[s-3],name:a[s-2],keys:a[s-1],comment:a[s]};break;case 65:case 67:case 70:this.$=a[s];break;case 66:this.$=a[s-1]+a[s];break;case 69:a[s-2].push(a[s]),this.$=a[s-2];break;case 71:this.$=a[s].replace(/"/g,``);break;case 72:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 73:this.$=r.Cardinality.ZERO_OR_ONE;break;case 74:this.$=r.Cardinality.ZERO_OR_MORE;break;case 75:this.$=r.Cardinality.ONE_OR_MORE;break;case 76:this.$=r.Cardinality.ONLY_ONE;break;case 77:this.$=r.Cardinality.MD_PARENT;break;case 78:this.$=r.Identification.NON_IDENTIFYING;break;case 79:this.$=r.Identification.IDENTIFYING;break}},`anonymous`),table:[{3:1,4:[1,2]},{1:[3]},e(n,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:i,26:a,28:o,29:14,30:15,31:16,32:17,33:s,34:c,35:l,36:u,37:d,40:f,43:p,44:m,48:h,50:g,51:_,52:v},e(n,[2,7],{1:[2,1]}),e(n,[2,3]),{9:30,11:9,22:r,24:i,26:a,28:o,29:14,30:15,31:16,32:17,33:s,34:c,35:l,36:u,37:d,40:f,43:p,44:m,48:h,50:g,51:_,52:v},e(n,[2,5]),e(n,[2,6]),e(n,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:y,67:b,68:x,69:S,70:C}),{23:[1,41]},{25:[1,42]},{27:[1,43]},e(n,[2,27]),e(n,[2,28]),e(n,[2,29]),e(n,[2,30]),e(n,[2,31]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(n,[2,32]),e(n,[2,33]),e(n,[2,34]),e(n,[2,35]),{16:44,40:T,41:E},{16:47,40:T,41:E},{16:48,40:T,41:E},e(n,[2,4]),{11:49,40:f,48:h,50:g,51:_,52:v},{16:50,40:T,41:E},{18:51,19:[1,52],53:53,54:54,58:D},{11:56,40:f,48:h,50:g,51:_,52:v},{65:57,71:[1,58],72:[1,59]},e(O,[2,73]),e(O,[2,74]),e(O,[2,75]),e(O,[2,76]),e(O,[2,77]),e(n,[2,24]),e(n,[2,25]),e(n,[2,26]),{13:k,38:60,41:A,42:j,45:62,46:63,48:M,49:N},e(P,[2,37]),e(P,[2,38]),{16:68,40:T,41:E,42:j},{13:k,38:69,41:A,42:j,45:62,46:63,48:M,49:N},{13:[1,70],15:[1,71]},e(n,[2,17],{64:35,12:72,17:[1,73],42:j,66:y,67:b,68:x,69:S,70:C}),{19:[1,74]},e(n,[2,14]),{18:75,19:[2,59],53:53,54:54,58:D},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:y,67:b,68:x,69:S,70:C},e(F,[2,78]),e(F,[2,79]),{6:I,10:L,39:81,42:R,47:z},{40:[1,86],41:[1,87]},e(B,[2,43],{46:88,13:k,41:A,48:M,49:N}),e(V,[2,45]),e(V,[2,50]),e(V,[2,51]),e(V,[2,52]),e(V,[2,53]),e(n,[2,41],{42:j}),{6:I,10:L,39:89,42:R,47:z},{14:90,40:H,50:U,73:W},{16:94,40:T,41:E},{11:95,40:f,48:h,50:g,51:_,52:v},{18:96,19:[1,97],53:53,54:54,58:D},e(n,[2,12]),{19:[2,60]},e(G,[2,61],{56:98,57:99,60:100,62:K,63:q}),e([19,58,62,63],[2,67]),{58:[2,66]},e(n,[2,22],{15:[1,104],17:[1,103]}),e([40,48,50,51,52],[2,72]),e(n,[2,36]),{13:k,41:A,45:105,46:63,48:M,49:N},e(n,[2,47]),e(n,[2,48]),e(n,[2,49]),e(P,[2,39]),e(P,[2,40]),e(V,[2,46]),e(n,[2,42]),e(n,[2,8]),e(n,[2,80]),e(n,[2,81]),e(n,[2,82]),{13:[1,106],42:j},{13:[1,108],15:[1,107]},{19:[1,109]},e(n,[2,15]),e(G,[2,62],{57:110,61:[1,111],63:q}),e(G,[2,63]),e(J,[2,68]),e(G,[2,71]),e(J,[2,70]),{18:112,19:[1,113],53:53,54:54,58:D},{16:114,40:T,41:E},e(B,[2,44],{46:88,13:k,41:A,48:M,49:N}),{14:115,40:H,50:U,73:W},{16:116,40:T,41:E},{14:117,40:H,50:U,73:W},e(n,[2,13]),e(G,[2,64]),{60:118,62:K},{19:[1,119]},e(n,[2,20]),e(n,[2,23],{17:[1,120],42:j}),e(n,[2,11]),{13:[1,121],42:j},e(n,[2,10]),e(J,[2,69]),e(n,[2,18]),{18:122,19:[1,123],53:53,54:54,58:D},{14:124,40:H,50:U,73:W},{19:[1,125]},e(n,[2,21]),e(n,[2,9]),e(n,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:t(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:t(function(e){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}t(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}t(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
2
|
`+h.showPosition()+`
|
|
3
3
|
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};Y.lexer=(function(){return{EOF:1,parseError:t(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:t(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:t(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:t(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:t(function(){return this._more=!0,this},`more`),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:t(function(e){this.unput(this.match.slice(e))},`less`),pastInput:t(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:t(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:t(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./src-DMTCYJgx.js";import"./chunk-WYO6CB5R-chyhiVml.js";import"./chunk-HOUHSVGY-BuKclK6G.js";import"./chunk-ICXQ74PX-OP102czk.js";import"./chunk-Q4XR5HBZ-B1-bRF4T.js";import"./chunk-7BUUIJ7U-Bb538aSH.js";import"./chunk-OGEWGWER-9rMC3Zdz.js";import"./chunk-32BRIVSS-CYNomNWc.js";import"./chunk-XXDRQBXY-mZd7tFTQ.js";import"./chunk-VR4S4FIN-C8tYB3zk.js";import"./chunk-C7G6YPKG-yJXKQ2Sz.js";import"./chunk-ZGVPDNZ5-BHJQa9Yh.js";import"./chunk-52WLFC77-DtGIB0uV.js";import"./chunk-FWX5IMBZ-C4k19ShS.js";import"./chunk-ZIRB5QZD-C6fEPe3t.js";import{n as e}from"./chunk-PUDLZKDR-Bte-Y5BM.js";export{e as diagram};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{i as e,o as t,t as n}from"./rolldown-runtime-DAXXjFlN.js";import{r,y as i}from"./vendor-react-20ydC9aZ.js";import{F as a}from"./vendor-objectstack-ChpQDQzo.js";var o=`object-grid.list-view.object-form.embeddable-form.object-master-detail-form.object-kanban.object-calendar.object-gantt.object-timeline.object-map.object-metric.object-chart.dashboard.object-pivot.record:details.record:highlights.record:related_list.record:path.record:line_items.record:activity.record:discussion.record:history.record:quick_actions.record:reference_rail.record:alert.page:tabs.page:card.page:accordion.page:section.page:footer.page:sidebar.element:text.element:number.element:button.element:definition-list.element:repeater.action:button.action:group.action:menu.action:icon.flex.grid.stack.card.tabs.accordion.container.page:header.text.image.icon.markdown.element:divider.badge.alert.button.html`.split(`.`);new Set(o);var s=new class{components=new Map;lazyEntries=new Map;listeners=new Set;version=0;register(e,t,n){let r=n?.namespace?`${n.namespace}:${e}`:e;if(n?.namespace||console.warn(`Registering component "${e}" without a namespace is deprecated. Please provide a namespace in the meta parameter.\n\n Migration:\n // Before (deprecated):\n registry.register('${e}', MyComponent);\n\n // After:\n registry.register('${e}', MyComponent, { namespace: 'my-plugin' });\n\n See: https://github.com/objectstack-ai/objectui/blob/main/MIGRATION_GUIDE.md`),this.components.has(r),this.components.set(r,{type:r,component:t,...n}),n?.namespace&&!n?.skipFallback){let i=this.components.get(e);i&&i.component!==t&&i.type!==r&&console.warn(`Component "${e}" bare-name fallback is being overwritten by "${r}". If this is intentional keep going; otherwise register "${r}" with { skipFallback: true } so it doesn't claim the bare "${e}" key.`),this.components.set(e,{type:r,component:t,...n})}this.lazyEntries.delete(r),this.lazyEntries.delete(e),this.notify()}unregister(e,t){let n=t?`${t}:${e}`:e,r=this.components.delete(n);if(t){let t=this.components.get(e);t&&t.type===n&&this.components.delete(e)}return this.lazyEntries.delete(n),this.lazyEntries.delete(e),r&&this.notify(),r}registerLazy(e,t,n){let r=n?.namespace?`${n.namespace}:${e}`:e,i={loader:t,meta:n};this.lazyEntries.set(r,i),n?.namespace&&!n?.skipFallback&&this.lazyEntries.set(e,i),this.version++}hasLazy(e,t){return t?this.lazyEntries.has(`${t}:${e}`):this.lazyEntries.has(e)}loadLazy(e,t){let n=t?`${t}:${e}`:e,r=this.lazyEntries.get(n);if(r)return r.pending||=r.loader().catch(e=>{throw r.pending=void 0,e}),r.pending}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}notify(){this.version++;for(let e of this.listeners)try{e()}catch(e){console.error(`[Registry] listener error`,e)}}getVersion(){return this.version}get(e,t){if(t){let n=`${t}:${e}`;return this.components.get(n)?.component}return this.components.get(e)?.component}getConfig(e,t){if(t){let n=`${t}:${e}`;return this.components.get(n)}return this.components.get(e)}has(e,t){if(t){let n=`${t}:${e}`;return this.components.has(n)}return this.components.has(e)}getAllTypes(){return Array.from(this.components.keys())}getKnownTypes(){return Array.from(new Set([...this.components.keys(),...this.lazyEntries.keys()]))}getMeta(e,t){let n=t?`${t}:${e}`:e;return this.components.get(n)??this.lazyEntries.get(n)?.meta}getAllConfigs(){return Array.from(this.components.values())}getContractConfig(e){let t=this.components.get(e);if(t)return t;let n=this.lazyEntries.get(e);if(!n)return;let r=n.meta?.namespace,i=r&&!e.startsWith(`${r}:`)?`${r}:${e}`:e;return{...n.meta,type:i,lazy:!0}}getPublicConfigs(){let e=new Set,t=[],n=(n,r)=>{!r||e.has(r.type)||(e.add(r.type),t.push({...r,type:n}))};for(let e of o)n(e,this.getContractConfig(e));for(let[e,t]of this.components.entries())t.tier===`public`&&!e.includes(`:`)&&n(e,t);for(let[e,t]of this.lazyEntries.entries())t.meta?.tier===`public`&&!e.includes(`:`)&&n(e,this.getContractConfig(e));return t}getNamespaceComponents(e){return Array.from(this.components.values()).filter(t=>t.namespace===e)}},c={type:{required:!0,validate:e=>typeof e==`string`&&e.length>0,message:`type must be a non-empty string`},id:{required:!1,validate:e=>typeof e==`string`,message:`id must be a string`},className:{required:!1,validate:e=>typeof e==`string`,message:`className must be a string`},visible:{required:!1,validate:e=>typeof e==`boolean`,message:`visible must be a boolean`},disabled:{required:!1,validate:e=>typeof e==`boolean`,message:`disabled must be a boolean`}};function l(e,t=`schema`){let n=[];return!e||typeof e!=`object`?(n.push({path:t,message:`Schema must be an object`,type:`error`,code:`INVALID_SCHEMA`}),n):(Object.entries(c).forEach(([r,i])=>{let a=e[r];i.required&&a===void 0&&n.push({path:`${t}.${r}`,message:`${r} is required`,type:`error`,code:`MISSING_REQUIRED`}),a!==void 0&&!i.validate(a)&&n.push({path:`${t}.${r}`,message:i.message,type:`error`,code:`INVALID_TYPE`})}),n)}function u(e,t=`schema`){let n=[];return e.type===`crud`&&((!e.columns||!Array.isArray(e.columns))&&n.push({path:`${t}.columns`,message:`CRUD schema requires columns array`,type:`error`,code:`MISSING_COLUMNS`}),!e.api&&!e.dataSource&&n.push({path:`${t}.api`,message:`CRUD schema requires api or dataSource`,type:`warning`,code:`MISSING_DATA_SOURCE`}),e.columns&&Array.isArray(e.columns)&&e.columns.forEach((e,r)=>{e.name||n.push({path:`${t}.columns[${r}]`,message:`Column requires name property`,type:`error`,code:`MISSING_COLUMN_NAME`})}),e.fields&&Array.isArray(e.fields)&&e.fields.forEach((e,r)=>{e.name||n.push({path:`${t}.fields[${r}]`,message:`Field requires name property`,type:`error`,code:`MISSING_FIELD_NAME`})})),n}function d(e,t=`schema`){let n=[];return e.type===`form`&&e.fields&&Array.isArray(e.fields)&&e.fields.forEach((r,i)=>{r.name||n.push({path:`${t}.fields[${i}]`,message:`Form field requires name property`,type:`error`,code:`MISSING_FIELD_NAME`}),e.fields.filter(e=>e.name===r.name).length>1&&n.push({path:`${t}.fields[${i}]`,message:`Duplicate field name: ${r.name}`,type:`warning`,code:`DUPLICATE_FIELD_NAME`})}),n}function f(e,t=`schema`){let n=[],r=e.children||e.body;if(r){if(Array.isArray(r))r.forEach((e,r)=>{if(typeof e==`object`&&e){let i=p(e,`${t}.children[${r}]`);n.push(...i.errors,...i.warnings)}});else if(typeof r==`object`&&r){let e=p(r,`${t}.children`);n.push(...e.errors,...e.warnings)}}return n}function p(e,t=`schema`){let n=[];n.push(...l(e,t)),n.push(...u(e,t)),n.push(...d(e,t)),n.push(...f(e,t));let r=n.filter(e=>e.type===`error`),i=n.filter(e=>e.type===`warning`);return{valid:r.length===0,errors:r,warnings:i}}var m=class extends Error{code=`INVALID_FILTER`;httpStatus=400;constructor(e){super(e),this.name=`FilterOperatorError`}};function h(e){return{$eq:`=`,$ne:`!=`,$gt:`>`,$gte:`>=`,$lt:`<`,$lte:`<=`,$in:`in`,$nin:`nin`,$notin:`nin`,$between:`between`,$contains:`contains`,$notContains:`notcontains`,$notcontains:`notcontains`,$startsWith:`startswith`,$startswith:`startswith`,$endsWith:`endswith`,$endswith:`endswith`}[e]||null}function g(e){let t=[];for(let[n,r]of Object.entries(e))if(r!=null)if(typeof r==`object`&&!Array.isArray(r))for(let[e,i]of Object.entries(r)){if(e===`$regex`)throw new m(`[ObjectUI] The '\$regex' filter operator is not supported. It used to be converted to 'contains', which matches a literal substring rather than a pattern — a different result, not a degraded one. Field: '${n}', Value: ${JSON.stringify(i)}. Use $contains, $startsWith or $endsWith.`);if(e===`$null`){t.push([n,i?`is_null`:`is_not_null`,!0]);continue}if(e===`$exists`){t.push([n,i?`is_not_null`:`is_null`,!0]);continue}let r=h(e);if(r)t.push([n,r,i]);else throw new m(`[ObjectUI] Unknown filter operator '${e}' for field '${n}'. Supported operators: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $between, $contains, $notContains, $startsWith, $endsWith, $null, $exists. If you need exact object matching, use the value directly without an operator.`)}else t.push([n,`=`,r]);return t.length===0?e:t.length===1?t[0]:[`and`,...t]}function _(e){if(e==null)return;if(Array.isArray(e))return e.length>0?e:void 0;if(typeof e!=`object`)return;let t=e;if(Object.keys(t).length!==0)return g(t)}function v(...e){let t=e.map(_).filter(e=>e!==void 0);if(t.length!==0)return t.length===1?t[0]:[`and`,...t]}var y={platform:{create:!0,import:!0,edit:!0,delete:!0,exportCsv:!0},config:{create:!0,import:!1,edit:!0,delete:!0,exportCsv:!0},system:{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0},"engine-owned":{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0},"append-only":{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0},"better-auth":{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0}};function b(e,t){if(e==null)return{enabled:t};if(typeof e==`boolean`)return{enabled:e};let n=e.enabled??t;if(e.visibleWhen==null&&e.disabledWhen==null)return{enabled:n};let r={};return e.visibleWhen!=null&&(r.visibleWhen=e.visibleWhen),e.disabledWhen!=null&&(r.disabledWhen=e.disabledWhen),{enabled:n,predicates:r}}function ee(e){return b(e,!1).predicates}var te={create:`create`,import:`import`,edit:`update`,delete:`delete`,exportCsv:`export`};function ne(e,t){let n=y[e?.managedBy??`platform`]??y.platform,r=e?.userActions??{},i=b(r.edit,n.edit),a=b(r.delete,n.delete),o={create:r.create??n.create,import:r.import??n.import,edit:i.enabled,delete:a.enabled,exportCsv:r.exportCsv??n.exportCsv};if(i.predicates&&(o.editPredicates=i.predicates),a.predicates&&(o.deletePredicates=a.predicates),Array.isArray(t)){let e=new Set(t);for(let[t,n]of Object.entries(te))o[t]&&!e.has(n)&&(o[t]=!1)}return o}function re(e){return e===!0||typeof e==`object`&&!!e&&e.enabled===!0}function ie(e){if(e?.managedBy!==`system`)return!1;let t=e?.userActions??{};return t.create===!0||re(t.edit)||re(t.delete)}function ae(e,t){return ne(e,t).edit}function oe(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`){if(Array.isArray(e.records))return e.records;if(Array.isArray(e.data))return e.data;if(Array.isArray(e.value))return e.value}return[]}var x=`field`,S=[`name`,`fieldName`],se=e=>!!e&&typeof e==`object`&&!Array.isArray(e),C=e=>typeof e==`string`&&e.length>0?e:void 0;function w(e){if(typeof e==`string`)return C(e);if(!se(e))return;let t=C(e[x]);if(t)return t;for(let t of S){let n=C(e[t]);if(n)return n}}var ce=new Set,le=()=>!1;function ue(e,t,n){if(!(!le()||n.length===0))for(let r of n){let n=`${t}:${r}:${String(e[r])}`;ce.has(n)||(ce.add(n),console.warn(`[ObjectUI] Column carries two identities: \`${x}: '${t}'\` and \`${r}: '${String(e[r])}'\`. \`${x}\` wins — it is the only key \`ListColumnSchema\` declares — and \`${r}\` has been rewritten to match, so the rendered column and the requested field agree. Fix the producer: drop \`${r}\` and author \`${x}\` only. (objectui#3104)`))}}function de(e){if(typeof e==`string`||!se(e))return e;let t=w(e);if(!t)return e;let n=e[x]!==t,r=S.filter(n=>e[n]!==void 0&&e[n]!==t);if(!n&&r.length===0)return e;ue(e,t,r);let i={...e};i[x]=t;for(let e of r)i[e]=t;return i}function fe(e){if(!Array.isArray(e))return e;let t=!1,n=e.map(e=>{let n=de(e);return n!==e&&(t=!0),n});return t?n:e}var T=new Set([`lookup`,`master_detail`,`tree`,`user`]);function E(e){return!!e&&typeof e==`object`&&T.has(e.type)}function pe(e,t){if(!e||typeof e!=`object`)return[];let n=[];for(let[t,r]of Object.entries(e))E(r)&&n.push(t);if(n.length===0)return[];if(t&&Array.isArray(t)&&t.length>0){let e=new Set;for(let n of t){let t=w(n);t&&e.add(t)}return n.filter(t=>e.has(t))}return n}var D=`\0`,me=`[-\\u2013\\u2014|/·,:]`,he=[`name`,`title`,`subject`,`label`,`full_name`,`display_name`],ge=new Set([`date`,`datetime`,`time`,`number`,`currency`,`percent`,`boolean`,`file`,`image`,`attachment`,`json`,`geolocation`,`select`,`multiselect`,`picklist`,`multipicklist`,`lookup`,`master_detail`,`reference`,`autonumber`,`auto_number`,`phone`]),_e=new Set([`text`,`string`,`textarea`,`html`]);function ve(e){let t=e.name??e.full_name??e.display_name??e.label??e.title??e.subject??null;return t==null||typeof t==`string`&&!t.trim()?[e.salutation,e.first_name,e.last_name].filter(e=>typeof e==`string`&&e.trim()).map(e=>e.trim()).join(` `)||(typeof e.email==`string`&&e.email.trim()?e.email.trim():null):typeof t==`string`?t:String(t)}function ye(e,t){let n=typeof e==`string`?e:e&&typeof e==`object`&&typeof e.source==`string`?e.source:void 0;if(!n||!t||typeof t!=`object`)return``;n=n.replace(/\{\{\s*([^{}]+?)\s*\}\}/g,`{$1}`);let r=!1,i=n.replace(/\{([^{}]+)\}/g,(e,n)=>{let i=String(n).trim().split(`.`),a=t;for(let e of i){if(a==null)break;a=a[e]}return a&&typeof a==`object`&&(a=ve(a)),a==null||a===``?D:(r=!0,String(a))});if(!r)return``;let a=RegExp(`\\s*${me}\\s*${D}`,`g`),o=RegExp(`${D}\\s*${me}\\s*`,`g`);return i=i.replace(a,``).replace(o,``).replace(new RegExp(D,`g`),``).replace(/\s+/g,` `).trim(),i}function be(e){if(!e||typeof e!=`object`)return!1;let t=typeof e.type==`string`?e.type.toLowerCase():void 0;if(!t)return!0;if(t===`formula`){let t=String(e.data_type??e.dataType??e.returnType??e.result_type??``).toLowerCase();return _e.has(t)}return!ge.has(t)}function xe(e){return e?Array.isArray(e)?e.filter(e=>e&&typeof e==`object`&&typeof e.name==`string`).map(e=>[e.name,e]):typeof e==`object`?Object.keys(e).map(t=>[t,e[t]]):[]:[]}var Se=new WeakMap;function Ce(e){let t=xe(e?.fields).filter(([,e])=>be(e));if(t.length===0)return;for(let e of he){let n=t.find(([t])=>t.toLowerCase()===e);if(n)return n[0]}let n=t.find(([e])=>{let t=e.toLowerCase();return t.endsWith(`_name`)||t.endsWith(`_title`)||t.startsWith(`name_`)});return n?n[0]:t[0][0]}function we(e){if(typeof e!=`object`||!e)return Ce(e);if(Se.has(e))return Se.get(e);let t=Ce(e);return Se.set(e,t),t}var Te=[`name`,`full_name`,`fullName`,`display_name`,`displayName`,`title`,`subject`,`label`];function O(e,t){if(!t||!e||typeof e!=`object`)return;let n=e[t];if(n&&typeof n==`object`&&(n=ve(n)),n==null)return;let r=typeof n==`string`?n.trim():String(n);return r===``?void 0:r}function Ee(e,t,n){let r=O(t,n?.titleField)??O(t,e?.titleField);if(r)return r;let i=O(t,e?.nameField??e?.displayNameField??e?.NAME_FIELD_KEY);if(i)return i;if(e?.titleFormat){let n=ye(e.titleFormat,t);if(n)return n}let a=O(t,we(e));if(a)return a;if(n?.deriveFromRecordKeys!==!1&&t&&typeof t==`object`){for(let e of Te){let n=O(t,e);if(n)return n}for(let e of Object.keys(t)){let n=e.toLowerCase();if(!(n===`id`||n===`_id`||n.endsWith(`_id`)||n.startsWith(`_`))&&(n.endsWith(`_name`)||n.endsWith(`_title`)||n.startsWith(`name_`))){let n=O(t,e);if(n)return n}}}let o=t?.id??t?._id;return o!=null&&String(o).trim()!==``?`Record #${o}`:n?.fallback??`Untitled`}function De(e,t){if(e==null||e===``)return null;let n=t?.labels;if(typeof e==`string`)return n?.[e]??e;if(typeof e==`number`)return Number.isFinite(e)?n?.[String(e)]??e:null;if(typeof e==`boolean`)return e;if(e instanceof Date){let t=e.getTime();return Number.isNaN(t)?null:t}if(Array.isArray(e)){let n=e.map(e=>De(e,t)).filter(e=>e!==null).map(e=>String(e));return n.length>0?n.join(`, `):null}if(typeof e==`object`){let t=e,r=t.id??t._id;if(r!=null){let e=n?.[String(r)];if(e)return e}let i=Ee(void 0,t,{fallback:``});return i===``?null:i}return String(e)}function Oe(e,t){return e===null&&t===null?0:e===null?1:t===null?-1:typeof e==`boolean`&&typeof t==`boolean`?!!e-+!!t:typeof e==`number`&&typeof t==`number`?e-t:String(e).localeCompare(String(t),void 0,{numeric:!0})}var ke=class e{scopes=[];constructor(e={}){this.scopes.push(new Map(Object.entries(e)))}pushScope(e){this.scopes.push(new Map(Object.entries(e)))}popScope(){this.scopes.length>1&&this.scopes.pop()}get(e){let t=e.split(`.`),n=t[0];for(let e=this.scopes.length-1;e>=0;e--)if(this.scopes[e].has(n)){let r=this.scopes[e].get(n);for(let e=1;e<t.length;e++)if(r&&typeof r==`object`)r=r[t[e]];else return;return r}}set(e,t){this.scopes.length>0&&this.scopes[this.scopes.length-1].set(e,t)}has(e){let t=e.split(`.`)[0];for(let e=this.scopes.length-1;e>=0;e--)if(this.scopes[e].has(t))return!0;return!1}toObject(){let e={};for(let t of this.scopes)for(let[n,r]of t.entries())e[n]=r;return e}createChild(t={}){let n=new e;return n.scopes=[...this.scopes,new Map(Object.entries(t))],n}},Ae={Math,JSON,parseInt,parseFloat,isNaN,isFinite},je=new Set([`constructor`,`__proto__`,`prototype`,`__defineGetter__`,`__defineSetter__`,`__lookupGetter__`,`__lookupSetter__`]),Me=class e{source=``;pos=0;context={};_evaluating=!0;evaluate(e,t){this.source=e.trim(),this.pos=0,this.context={...Ae,...t};let n=this.parseTernary();if(this.skipWhitespace(),this.pos<this.source.length)throw SyntaxError(`Unexpected token "${this.source[this.pos]}" at position ${this.pos} in expression "${e}"`);return n}skipWhitespace(){for(;this.pos<this.source.length&&/\s/.test(this.source[this.pos]);)this.pos++}peek(e=0){return this.source[this.pos+e]??``}consume(){return this.source[this.pos++]??``}withEvaluation(e,t){let n=this._evaluating;this._evaluating=e;try{return t()}finally{this._evaluating=n}}assertSafeProp(e){if(typeof e==`string`&&je.has(e))throw TypeError(`Access to property "${e}" is not permitted in expressions`)}parseTernary(){let e=this.parseNullish();if(this.skipWhitespace(),this.peek()===`?`&&this.peek(1)!==`?`){if(this.pos++,this.skipWhitespace(),!this._evaluating){if(this.parseTernary(),this.skipWhitespace(),this.peek()!==`:`)throw SyntaxError(`Expected ":" in ternary expression`);this.pos++,this.skipWhitespace(),this.parseTernary();return}if(e){let e=this.parseTernary();if(this.skipWhitespace(),this.peek()!==`:`)throw SyntaxError(`Expected ":" in ternary expression`);return this.pos++,this.skipWhitespace(),this.withEvaluation(!1,()=>this.parseTernary()),e}else{if(this.withEvaluation(!1,()=>this.parseTernary()),this.skipWhitespace(),this.peek()!==`:`)throw SyntaxError(`Expected ":" in ternary expression`);return this.pos++,this.skipWhitespace(),this.parseTernary()}}return e}parseNullish(){let e=this.parseOr();for(this.skipWhitespace();this.peek()===`?`&&this.peek(1)===`?`;){if(this.pos+=2,this.skipWhitespace(),this._evaluating&&e!=null)this.withEvaluation(!1,()=>this.parseOr());else{let t=this.parseOr();this._evaluating&&(e??=t)}this.skipWhitespace()}return e}parseOr(){let e=this.parseAnd();for(this.skipWhitespace();this.peek()===`|`&&this.peek(1)===`|`;){if(this.pos+=2,this.skipWhitespace(),this._evaluating&&e)this.withEvaluation(!1,()=>this.parseAnd());else{let t=this.parseAnd();this._evaluating&&(e||=t)}this.skipWhitespace()}return e}parseAnd(){let e=this.parseEquality();for(this.skipWhitespace();this.peek()===`&`&&this.peek(1)===`&`;){if(this.pos+=2,this.skipWhitespace(),this._evaluating&&!e)this.withEvaluation(!1,()=>this.parseEquality());else{let t=this.parseEquality();this._evaluating&&(e&&=t)}this.skipWhitespace()}return e}parseEquality(){let e=this.parseAddition();for(this.skipWhitespace();;){let t;if(this.peek()===`=`&&this.peek(1)===`=`&&this.peek(2)===`=`)t=`===`,this.pos+=3;else if(this.peek()===`!`&&this.peek(1)===`=`&&this.peek(2)===`=`)t=`!==`,this.pos+=3;else if(this.peek()===`=`&&this.peek(1)===`=`)t=`==`,this.pos+=2;else if(this.peek()===`!`&&this.peek(1)===`=`)t=`!=`,this.pos+=2;else if(this.peek()===`>`&&this.peek(1)===`=`)t=`>=`,this.pos+=2;else if(this.peek()===`<`&&this.peek(1)===`=`)t=`<=`,this.pos+=2;else if(this.peek()===`>`&&this.peek(1)!==`>`)t=`>`,this.pos++;else if(this.peek()===`<`&&this.peek(1)!==`<`)t=`<`,this.pos++;else break;this.skipWhitespace();let n=this.parseAddition();switch(t){case`===`:e=e===n;break;case`!==`:e=e!==n;break;case`==`:e=e==n;break;case`!=`:e=e!=n;break;case`>`:e=e>n;break;case`<`:e=e<n;break;case`>=`:e=e>=n;break;case`<=`:e=e<=n;break}this.skipWhitespace()}return e}parseAddition(){let e=this.parseMultiplication();for(this.skipWhitespace();(this.peek()===`+`||this.peek()===`-`)&&this.peek(1)!==`=`;){let t=this.consume();this.skipWhitespace();let n=this.parseMultiplication();e=t===`+`?e+n:e-n,this.skipWhitespace()}return e}parseMultiplication(){let e=this.parseUnary();for(this.skipWhitespace();(this.peek()===`*`||this.peek()===`/`||this.peek()===`%`)&&this.peek(1)!==`=`;){let t=this.consume();this.skipWhitespace();let n=this.parseUnary();t===`*`?e*=n:t===`/`?e/=n:e%=n,this.skipWhitespace()}return e}parseUnary(){if(this.skipWhitespace(),this.source.startsWith(`typeof`,this.pos)&&!/[\w$]/.test(this.source[this.pos+6]??``)){this.pos+=6,this.skipWhitespace();try{return typeof this.parseUnary()}catch{return`undefined`}}return this.peek()===`!`?(this.pos++,!this.parseUnary()):this.peek()===`-`?(this.pos++,-this.parseUnary()):this.peek()===`+`?(this.pos++,+this.parseUnary()):this.parseMember()}parseMember(){let e=this.parsePrimary();for(;;){this.skipWhitespace();let t=this.peek()===`?`&&this.peek(1)===`.`;if(this.peek()===`.`&&this.peek(1)!==`.`||t){t&&this.pos++,this.pos++,this.skipWhitespace();let n=this.parseIdentifierName();if(!n)break;if(this.assertSafeProp(n),this.skipWhitespace(),this.peek()===`(`){this.pos++;let t=this.parseArgList();if(this.peek()!==`)`)throw SyntaxError(`Expected ")" after argument list at position ${this.pos}`);if(this.pos++,!this._evaluating){e=void 0;continue}e=e!=null&&typeof e[n]==`function`?e[n](...t):void 0}else{if(!this._evaluating){e=void 0;continue}e=e?.[n]}continue}let n=this.peek()===`?`&&this.peek(1)===`[`;if(this.peek()===`[`||n){n&&this.pos++,this.pos++,this.skipWhitespace();let t=this.parseTernary();if(this.skipWhitespace(),this.peek()!==`]`)throw SyntaxError(`Expected "]" after bracket expression at position ${this.pos}`);if(this.pos++,this.assertSafeProp(t),!this._evaluating){e=void 0;continue}e=e?.[t];continue}if(this.peek()===`(`){this.pos++;let t=this.parseArgList();if(this.peek()!==`)`)throw SyntaxError(`Expected ")" after argument list at position ${this.pos}`);if(this.pos++,!this._evaluating){e=void 0;continue}if(typeof e==`function`)e=e(...t);else throw TypeError(`${String(e)} is not a function`);continue}break}return e}parsePrimary(){this.skipWhitespace();let e=this.peek();if(e===`(`){this.pos++;let e=this.parseTernary();if(this.skipWhitespace(),this.peek()!==`)`)throw SyntaxError(`Expected ")" to close "(" expression at position ${this.pos}`);return this.pos++,e}if(e===`[`)return this.parseArrayLiteral();if(e===`"`||e===`'`)return this.parseString(e);if(/\d/.test(e)||e===`.`&&/\d/.test(this.peek(1)))return this.parseNumber();if(/[a-zA-Z_$]/.test(e))return this.parseIdentifierOrKeyword();throw SyntaxError(`Unexpected character "${e}" at position ${this.pos}`)}parseArrayLiteral(){this.pos++;let e=[];for(this.skipWhitespace();this.peek()!==`]`&&this.pos<this.source.length;)e.push(this.parseTernary()),this.skipWhitespace(),this.peek()===`,`&&(this.pos++,this.skipWhitespace());if(this.peek()!==`]`)throw SyntaxError(`Expected "]" to close array literal at position ${this.pos}`);return this.pos++,e}parseString(e){this.pos++;let t=``;for(;this.pos<this.source.length;){let n=this.source[this.pos];if(n===`\\`){this.pos++;let e=this.source[this.pos++]??``;switch(e){case`n`:t+=`
|
|
2
|
+
`;break;case`t`:t+=` `;break;case`r`:t+=`\r`;break;case`\\`:t+=`\\`;break;case`"`:t+=`"`;break;case`'`:t+=`'`;break;case"`":t+="`";break;default:t+=e}}else if(n===e){this.pos++;break}else t+=n,this.pos++}return t}parseNumber(){let e=this.pos,t=!1;for(;this.pos<this.source.length&&/\d/.test(this.source[this.pos]);)t=!0,this.pos++;if(this.source[this.pos]===`.`)for(this.pos++;this.pos<this.source.length&&/\d/.test(this.source[this.pos]);)t=!0,this.pos++;if(/[eE]/.test(this.source[this.pos]??``)){this.pos++,/[+-]/.test(this.source[this.pos]??``)&&this.pos++;let t=0;for(;this.pos<this.source.length&&/\d/.test(this.source[this.pos]);)t++,this.pos++;if(t===0)throw SyntaxError(`Invalid numeric literal exponent at position ${e}`)}if(!t)throw SyntaxError(`Invalid numeric literal at position ${e}`);let n=this.source.slice(e,this.pos),r=Number(n);if(!Number.isFinite(r))throw SyntaxError(`Invalid numeric literal "${n}" at position ${e}`);return r}parseIdentifierName(){let e=this.pos;for(;this.pos<this.source.length&&/[\w$]/.test(this.source[this.pos]);)this.pos++;return this.source.slice(e,this.pos)}parseIdentifierOrKeyword(){let e=this.parseIdentifierName();switch(e){case`true`:return!0;case`false`:return!1;case`null`:return null;case`undefined`:return;case`NaN`:return NaN;case`Infinity`:return 1/0}if(e===`new`)return this.parseNewExpression();if(this.skipWhitespace(),this.peek()===`=`&&this.peek(1)===`>`)return this.parseArrowFunction(e);if(this.peek()===`(`){this.pos++;let t=this.parseArgList();if(this.peek()!==`)`)throw SyntaxError(`Expected ")" after argument list at position ${this.pos}`);if(this.pos++,!this._evaluating)return;let n=this.context[e];if(typeof n==`function`)return n(...t);throw TypeError(`"${e}" is not a function`)}if(this._evaluating){if(!(e in this.context))throw ReferenceError(`${e} is not defined`);return this.context[e]}}parseNewExpression(){this.skipWhitespace();let e=this.parseIdentifierName();this.skipWhitespace();let t=[];if(this.peek()===`(`){if(this.pos++,t=this.parseArgList(),this.peek()!==`)`)throw SyntaxError(`Expected ")" after new ${e}() at position ${this.pos}`);this.pos++}if(this._evaluating)switch(e){case`Date`:return new Date(...t);case`RegExp`:return new RegExp(t[0],t[1]);default:throw TypeError(`new ${e}() is not supported in expressions`)}}parseArrowFunction(t){this.pos+=2,this.skipWhitespace();let n=this.pos,r=this.scanExpressionEnd(),i=this.source.slice(n,r).trim();this.pos=r;let a=this.context;return n=>new e().evaluate(i,{...a,[t]:n})}scanExpressionEnd(){let e=this.pos,t=0,n=!1,r=``;for(;e<this.source.length;){let i=this.source[e];if(n){if(i===`\\`){e+=2;continue}i===r&&(n=!1),e++;continue}if(i===`"`||i===`'`){n=!0,r=i,e++;continue}if(i===`(`||i===`[`)t++;else if(i===`)`||i===`]`){if(t===0)break;t--}else if(i===`,`&&t===0)break;e++}return e}parseArgList(){let e=[];for(this.skipWhitespace();this.peek()!==`)`&&this.pos<this.source.length;)e.push(this.parseTernary()),this.skipWhitespace(),this.peek()===`,`&&(this.pos++,this.skipWhitespace());return e}},Ne=class{cache=new Map;maxSize;constructor(e=1e3){this.maxSize=e}compile(e,t){let n=`${e}::${t.join(`,`)}`;if(this.cache.has(n)){let e=this.cache.get(n);return e.hitCount++,e}this.cache.size>=this.maxSize&&this.evictLFU();let r={fn:this.compileExpression(e,t),varNames:[...t],expression:e,compiledAt:Date.now(),hitCount:1};return this.cache.set(n,r),r}compileExpression(e,t){let n=new Me;return(...r)=>{let i={};for(let e=0;e<t.length;e++)i[t[e]]=r[e];return n.evaluate(e,i)}}evictLFU(){let e=null,t=1/0,n=1/0;for(let[r,i]of this.cache.entries())(i.hitCount<n||i.hitCount===n&&i.compiledAt<t)&&(e=r,t=i.compiledAt,n=i.hitCount);e&&this.cache.delete(e)}has(e,t){let n=`${e}::${t.join(`,`)}`;return this.cache.has(n)}clear(){this.cache.clear()}getStats(){let e=0,t=[];for(let n of this.cache.values())e+=n.hitCount,t.push({expression:n.expression,hitCount:n.hitCount});return{size:this.cache.size,maxSize:this.maxSize,totalHits:e,entries:t.sort((e,t)=>t.hitCount-e.hitCount)}}},Pe=class{functions=new Map;constructor(){this.registerDefaults()}register(e,t){this.functions.set(e.toUpperCase(),t)}get(e){return this.functions.get(e.toUpperCase())}has(e){return this.functions.has(e.toUpperCase())}getNames(){return Array.from(this.functions.keys())}toObject(){let e={};for(let[t,n]of this.functions)e[t]=n;return e}registerDefaults(){this.registerAggregationFunctions(),this.registerDateFunctions(),this.registerLogicFunctions(),this.registerStringFunctions(),this.registerStringSearchFunctions(),this.registerStatisticalFunctions()}registerAggregationFunctions(){this.register(`SUM`,(...e)=>k(e).reduce((e,t)=>e+t,0)),this.register(`AVG`,(...e)=>{let t=k(e);return t.length===0?0:t.reduce((e,t)=>e+t,0)/t.length}),this.register(`COUNT`,(...e)=>Fe(e).filter(e=>e!=null).length),this.register(`MIN`,(...e)=>{let t=k(e);return t.length===0?0:Math.min(...t)}),this.register(`MAX`,(...e)=>{let t=k(e);return t.length===0?0:Math.max(...t)})}registerDateFunctions(){this.register(`TODAY`,()=>new Date().toISOString().split(`T`)[0]),this.register(`NOW`,()=>new Date().toISOString()),this.register(`DATEADD`,(e,t,n)=>{let r=new Date(e);if(isNaN(r.getTime()))throw Error(`DATEADD: Invalid date "${e}"`);switch(String(n).toLowerCase()){case`day`:case`days`:r.setDate(r.getDate()+t);break;case`month`:case`months`:r.setMonth(r.getMonth()+t);break;case`year`:case`years`:r.setFullYear(r.getFullYear()+t);break;case`hour`:case`hours`:r.setHours(r.getHours()+t);break;case`minute`:case`minutes`:r.setMinutes(r.getMinutes()+t);break;default:throw Error(`DATEADD: Unsupported unit "${n}"`)}return r.toISOString()}),this.register(`DATEDIFF`,(e,t,n)=>{let r=new Date(e),i=new Date(t);if(isNaN(r.getTime()))throw Error(`DATEDIFF: Invalid date "${e}"`);if(isNaN(i.getTime()))throw Error(`DATEDIFF: Invalid date "${t}"`);let a=i.getTime()-r.getTime();switch(String(n).toLowerCase()){case`day`:case`days`:return Math.floor(a/(1e3*60*60*24));case`month`:case`months`:return(i.getFullYear()-r.getFullYear())*12+(i.getMonth()-r.getMonth());case`year`:case`years`:return i.getFullYear()-r.getFullYear();case`hour`:case`hours`:return Math.floor(a/(1e3*60*60));case`minute`:case`minutes`:return Math.floor(a/(1e3*60));default:throw Error(`DATEDIFF: Unsupported unit "${n}"`)}}),this.register(`DATEFORMAT`,(e,t)=>{let n=new Date(e);if(isNaN(n.getTime()))throw Error(`DATEFORMAT: Invalid date "${e}"`);let r=(e,t=2)=>String(e).padStart(t,`0`);return t.replace(`YYYY`,String(n.getFullYear())).replace(`YY`,String(n.getFullYear()).slice(-2)).replace(`MM`,r(n.getMonth()+1)).replace(`DD`,r(n.getDate())).replace(`HH`,r(n.getHours())).replace(`mm`,r(n.getMinutes())).replace(`ss`,r(n.getSeconds()))})}registerLogicFunctions(){this.register(`IF`,(e,t,n)=>e?t:n),this.register(`AND`,(...e)=>e.every(Boolean)),this.register(`OR`,(...e)=>e.some(Boolean)),this.register(`NOT`,e=>!e),this.register(`SWITCH`,(e,...t)=>{for(let n=0;n<t.length-1;n+=2)if(e===t[n])return t[n+1];if(t.length%2==1)return t[t.length-1]})}registerStringFunctions(){this.register(`CONCAT`,(...e)=>e.map(e=>String(e??``)).join(``)),this.register(`LEFT`,(e,t)=>String(e??``).substring(0,t)),this.register(`RIGHT`,(e,t)=>{let n=String(e??``);return n.substring(Math.max(0,n.length-t))}),this.register(`TRIM`,e=>String(e??``).trim()),this.register(`UPPER`,e=>String(e??``).toUpperCase()),this.register(`LOWER`,e=>String(e??``).toLowerCase())}registerStringSearchFunctions(){this.register(`FIND`,(e,t,n)=>String(t??``).indexOf(String(e??``),n??0)),this.register(`REPLACE`,(e,t,n)=>String(e??``).split(String(t??``)).join(String(n??``))),this.register(`SUBSTRING`,(e,t,n)=>{let r=String(e??``);return n===void 0?r.substring(t):r.substring(t,t+n)}),this.register(`REGEX`,(e,t,n)=>{let r=String(e??``);return new RegExp(t,n).test(r)}),this.register(`LEN`,e=>String(e??``).length)}registerStatisticalFunctions(){this.register(`MEDIAN`,(...e)=>{let t=k(e).sort((e,t)=>e-t);if(t.length===0)return 0;let n=Math.floor(t.length/2);return t.length%2==0?(t[n-1]+t[n])/2:t[n]}),this.register(`STDEV`,(...e)=>{let t=k(e);if(t.length<2)return 0;let n=t.reduce((e,t)=>e+t,0)/t.length,r=t.map(e=>(e-n)**2).reduce((e,t)=>e+t,0)/(t.length-1);return Math.sqrt(r)}),this.register(`VARIANCE`,(...e)=>{let t=k(e);if(t.length<2)return 0;let n=t.reduce((e,t)=>e+t,0)/t.length;return t.map(e=>(e-n)**2).reduce((e,t)=>e+t,0)/(t.length-1)}),this.register(`PERCENTILE`,(e,...t)=>{let n=k(t).sort((e,t)=>e-t);if(n.length===0)return 0;let r=Math.max(0,Math.min(100,e))/100*(n.length-1),i=Math.floor(r),a=Math.ceil(r);if(i===a)return n[i];let o=r-i;return n[i]+o*(n[a]-n[i])})}};function k(e){let t=[];for(let n of e)if(Array.isArray(n))t.push(...k(n));else{let e=Number(n);isNaN(e)||t.push(e)}return t}function Fe(e){let t=[];for(let n of e)Array.isArray(n)?t.push(...Fe(n)):t.push(n);return t}function Ie(e){return typeof e==`string`?{dialect:`cel`,source:e}:{dialect:e.dialect??`cel`,source:e.source}}function A(e,t,n,r,i){if(e==null||typeof e==`string`&&!e.trim())return n;try{let o=a.evaluate(Ie(e),{record:t,previous:r,...i?{extra:i}:{}});return o.ok?o.value===!0:n}catch{return n}}function Le(e,t,n,r,i){return{visible:e.visibleWhen==null||A(e.visibleWhen,t,!0,r,i),readonly:n.readonly===!0||e.readonlyWhen!=null&&A(e.readonlyWhen,t,!1,r,i),required:n.required===!0||e.requiredWhen!=null&&A(e.requiredWhen,t,!1,r,i)}}var j=class e{context;cache;formulas;constructor(e,t,n){e instanceof ke?this.context=e:this.context=new ke(e||{}),this.cache=t||new Ne,this.formulas=n||new Pe}evaluate(e,t={}){if(e&&typeof e==`object`&&typeof e.source==`string`&&(e=e.source),typeof e!=`string`)return e;let{defaultValue:n,throwOnError:r=!1,sanitize:i=!0}=t;try{if(!e.includes("${"))return e;let t=e.match(/^\$\{([^}]+)\}$/);return t?this.evaluateExpression(t[1].trim(),{sanitize:i}):e.replace(/\$\{([^}]+)\}/g,(e,t)=>{try{let e=this.evaluateExpression(t.trim(),{sanitize:i});return String(e??``)}catch(n){if(r)throw n;return console.warn(`Expression evaluation failed for: ${t}`,n),e}})}catch(t){if(r)throw t;return console.warn(`Failed to evaluate expression: ${e}`,t),n??e}}evaluateExpression(e,t={}){let{sanitize:n=!0}=t;if(!(!e||e.trim()===``)){if(n&&this.isDangerous(e))throw Error(`Potentially dangerous expression detected: ${e}`);try{let t=this.context.toObject(),n={...this.formulas.toObject(),...t},r=Object.keys(n),i=Object.values(n);return this.cache.compile(e,r).fn(...i)}catch(t){throw Error(`Failed to evaluate expression "${e}": ${t.message}`)}}}isDangerous(e){return[/eval\s*\(/i,/Function\s*\(/i,/setTimeout\s*\(/i,/setInterval\s*\(/i,/import\s*\(/i,/require\s*\(/i,/process\./i,/global\./i,/window\./i,/document\./i,/__proto__/i,/constructor\s*\(/i,/prototype\./i].some(t=>t.test(e))}evaluateCondition(e,t={}){if(typeof e==`boolean`)return e;if(e&&typeof e==`object`&&e.dialect===`cel`&&typeof e.source==`string`)return this.evaluateCelCondition(e.source,t);if(e&&typeof e==`object`&&typeof e.source==`string`&&(e=e.source),!e)return!0;if(typeof e!=`string`)return!!e;let n=e.trim();if(!n)return!0;if(n.includes("${"))return!!this.evaluate(n,t);try{return!!this.evaluateExpression(n,{sanitize:t.sanitize!==!1})}catch(e){if(t.throwOnError)throw e;return!0}}evaluateCelCondition(e,t){if(!e.trim())return!0;let n=this.context.toObject(),r=n.record,i=r&&typeof r==`object`&&!Array.isArray(r)?r:n;if(!t.throwOnError)return A(e,i,!0,void 0,n);let a=A(e,i,!0,void 0,n);if(a!==A(e,i,!1,void 0,n))throw Error(`CEL predicate failed to evaluate: ${e}`);return a}updateContext(e){Object.entries(e).forEach(([e,t])=>{this.context.set(e,t)})}getContext(){return this.context}withContext(t){return new e(this.context.createChild(t),this.cache,this.formulas)}getCacheStats(){return this.cache.getStats()}clearCache(){this.cache.clear()}getFormulas(){return this.formulas}registerFunction(e,t){this.formulas.register(e,t)}};new Ne,new Pe;var Re=/\$\{|===|!==|\?\.|\?\?|\.(?:includes|indexOf|toUpperCase|toLowerCase|startsWith|endsWith|trim|split|map|filter|reduce|find|some|every|join|slice|charAt|padStart|padEnd|replace|match|test)\s*\(/;function ze(e){return Re.test(e)}var Be=new Set;function Ve(e){Be.has(e)||(Be.add(e),console.warn(`[object-ui] A list conditional predicate uses the legacy expression dialect and is not portable to the server CEL engine: `+JSON.stringify(e)+`. Rewrite it as CEL (use "==" not "===", "x in [..]" for membership, ".contains()" not ".includes()", and drop template interpolation).`))}var He=new Set;function Ue(e,t){let n=(t??``)+`\0`+e;He.has(n)||(He.add(n),console.warn(`[object-ui] A list conditional predicate failed to evaluate`+(t?` (${t})`:``)+` and was treated as its safe default: `+JSON.stringify(e)+`. Check the field names and CEL syntax.`))}function We(e,t,n){let r=A(e,t,!0,void 0,n);return r===A(e,t,!1,void 0,n)?{ok:!0,value:r}:{ok:!1,value:!1}}function Ge(e,t,n={}){let r=n.fallback??!1;if(e==null)return r;let i=typeof e==`string`?e:void 0;if(i!==void 0&&!i.trim())return r;let a=t&&typeof t==`object`?t:{},o={...n.scope??{},...a,data:a};if(i!==void 0&&ze(i)){Ve(i);try{return new j({...o,record:a}).evaluateCondition(i,{throwOnError:!0})}catch{return n.warnOnError&&Ue(i,n.label),r}}if(!n.warnOnError)return A(e,a,r,void 0,o);let s=We(e,a,o);return s.ok?s.value:(Ue(i??`(expression)`,n.label),r)}function M(e){if(e==null)return`null`;let t=typeof e;return t===`string`?JSON.stringify(e):t===`number`||t===`boolean`?String(e):Array.isArray(e)?`[${e.map(M).join(`, `)}]`:JSON.stringify(String(e))}function Ke(e){let{field:t,operator:n,value:r}=e;if(!t||!n)return null;let i=`record[${JSON.stringify(t)}]`;switch(n){case`equals`:return`${i} == ${M(r)}`;case`not_equals`:return`${i} != ${M(r)}`;case`greater_than`:return`${i} > ${M(r)}`;case`less_than`:return`${i} < ${M(r)}`;case`contains`:return`${i}.contains(${M(r)})`;case`in`:return`${i} in ${M(Array.isArray(r)?r:[r])}`;default:return null}}function qe(e){return e.condition==null?typeof e.expression==`string`&&e.expression.trim()?e.expression:Ke(e):e.condition}function Je(e){let t={};if(e.style&&typeof e.style==`object`)for(let[n,r]of Object.entries(e.style))r!=null&&(t[n]=String(r));return e.backgroundColor&&(t.backgroundColor=String(e.backgroundColor)),e.textColor&&(t.color=String(e.textColor)),e.borderColor&&(t.borderColor=String(e.borderColor)),t}function Ye(e,t,n){if(!t||t.length===0)return{};let r=e&&typeof e==`object`?e:{};for(let e=0;e<t.length;e++){let i=t[e];if(!i||typeof i!=`object`)continue;let a=qe(i);if(a!=null&&Ge(a,r,{fallback:!1,scope:n,label:`conditionalFormatting[${e}]`}))return Je(i)}return{}}function Xe(e){return e?(Array.isArray(e)?e:[e]).map(e=>typeof e==`string`?e:e&&typeof e==`object`?e.field:null).filter(e=>typeof e==`string`&&e.length>0):[]}function Ze(e){return e==null||e===``||Array.isArray(e)&&e.length===0}function Qe(e,t){return Xe(e).some(e=>Ze(t[e]))}function $e(e,t,n){return!e||e.length===0?[]:e.filter(e=>e?.visibleWhen==null||A(e.visibleWhen,t,!0,void 0,n))}function et(e,t){return Ze(e)?!0:Array.isArray(e)?e.every(e=>t.some(t=>t.value===e)):t.some(t=>t.value===e)}function tt(e,t,n,r){let i=Xe(n),a=i.length>0&&Qe(n,t);return{options:a?[]:$e(e,t,r),gated:a,dependsOnFields:i}}function nt(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.type==`string`&&typeof t.objectName==`string`&&typeof t.recordId==`string`&&typeof t.timestamp==`number`}var N=new class e{undoStack=[];redoStack=[];maxHistory;listeners=new Set;constructor(e){this.maxHistory=e?.maxHistory??50}push(e){this.undoStack.push(e),this.undoStack.length>this.maxHistory&&this.undoStack.shift(),this.redoStack=[],this.notify()}peekUndo(){return this.undoStack[this.undoStack.length-1]}peekRedo(){return this.redoStack[this.redoStack.length-1]}popUndo(){let e=this.undoStack.pop();return e&&(this.redoStack.push(e),this.notify()),e}popRedo(){let e=this.redoStack.pop();return e&&(this.undoStack.push(e),this.notify()),e}clear(){this.undoStack=[],this.redoStack=[],this.notify()}get canUndo(){return this.undoStack.length>0}get canRedo(){return this.redoStack.length>0}get undoCount(){return this.undoStack.length}get redoCount(){return this.redoStack.length}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getHistory(){return[...this.undoStack]}getRedoHistory(){return[...this.redoStack]}pushBatch(e){e.length!==0&&(this.undoStack.push(...e),this.undoStack.length>this.maxHistory&&this.undoStack.splice(0,this.undoStack.length-this.maxHistory),this.redoStack=[],this.notify())}popUndoBatch(e){let t=Math.min(e,this.undoStack.length);if(t===0)return[];let n=this.undoStack.splice(this.undoStack.length-t,t);return this.redoStack.push(...n),this.notify(),n}popRedoBatch(e){let t=Math.min(e,this.redoStack.length);if(t===0)return[];let n=this.redoStack.splice(this.redoStack.length-t,t);return this.undoStack.push(...n),this.notify(),n}static STORAGE_KEY=`objectui:undo-history`;saveToStorage(){try{let t=JSON.stringify({undoStack:this.undoStack,redoStack:this.redoStack});localStorage.setItem(e.STORAGE_KEY,t)}catch{}}loadFromStorage(){try{if(typeof localStorage>`u`)return;let t=localStorage.getItem(e.STORAGE_KEY);if(!t)return;let n=JSON.parse(t);Array.isArray(n.undoStack)&&(this.undoStack=n.undoStack.filter(nt)),Array.isArray(n.redoStack)&&(this.redoStack=n.redoStack.filter(nt)),this.undoStack.length>this.maxHistory&&this.undoStack.splice(0,this.undoStack.length-this.maxHistory),this.notify()}catch{}}notify(){this.listeners.forEach(e=>e())}},rt=`type.actionType.name.label.confirmText.confirm.condition.disabled.api.endpoint.method.navigate.onClick.reload.close.redirect.toast.successMessage.errorMessage.refreshAfter.undoable.params.actionParams.resultDialog.target.body.openIn.modal.chain.chainMode.onSuccess.onFailure.opensInNewTab.newTabUrl`.split(`.`),it=`ai.aria.body.bodyExtra.bodyShape.bulkEnabled.component.confirmText.disabled.errorMessage.execute.icon.label.locations.method.mode.name.newTabUrl.objectName.openIn.opensInNewTab.order.params.recordIdField.recordIdParam.refreshAfter.requiredPermissions.requiresFeature.resultDialog.shortcut.successMessage.target.type.undoable.variant.visible`.split(`.`),at=[`to`,`external`,`newTab`,`replace`],ot={execute:"`execute` was removed in @objectstack/spec 17 (#3855) — rename the key to `target`. The value (a script name or expression) is unchanged. Run `os migrate meta --from 16` to rewrite it automatically."},st=new Set([...rt,...it,...at].filter(e=>!(e in ot)));function ct(e){let t=[],n=[];if(!e||typeof e!=`object`)return{unknown:t,retired:n};for(let r of Object.keys(e))r in ot?n.push(r):st.has(r)||t.push(r);return{unknown:t,retired:n}}var P=new Set,lt=()=>!1;function ut(e,t=`ActionRunner`){if(!lt())return;let{unknown:n,retired:r}=ct(e),i=e?.name??e?.type??`(unnamed)`;for(let e of r){let n=`retired:${String(i)}:${e}`;P.has(n)||(P.add(n),console.warn(`[${t}] action "${String(i)}" carries the retired key \`${e}\`. ${ot[e]}`))}if(n.length===0)return;let a=`unknown:${String(i)}:${n.slice().sort().join(`,`)}`;P.has(a)||(P.add(a),console.warn(`[${t}] action "${String(i)}" carries ${n.length===1?`a key`:`keys`} no reader recognizes: \`${n.join("`, `")}\`. Nothing will read ${n.length===1?`it`:`them`} — check for a typo, or promote the key to an explicit field on \`ActionDef\` (packages/core/src/actions/actionKeys.ts). Warned rather than rejected because \`ActionDef\` still carries \`[key: string]: any\`, so the compiler cannot see this (objectstack#4075).`))}function dt(e){let t=e.user;if(t===void 0)return e;let n=e.os;return n&&typeof n==`object`&&n.user===t?e:{...e,os:{...n&&typeof n==`object`?n:{},user:t}}}var F=class{handlers=new Map;scripts=new Map;evaluator;context;confirmHandler;toastHandler;modalHandler;navigationHandler;paramCollectionHandler;resultDialogHandler;builtinExecutors={script:e=>this.executeScript(e),url:e=>this.executeUrl(e),modal:e=>this.executeModal(e),flow:e=>this.executeFlow(e),api:e=>this.executeAPI(e),form:e=>this.executeForm(e),navigation:e=>this.executeNavigation(e)};constructor(e={}){this.context=dt(e),this.evaluator=new j(this.context),this.confirmHandler=async e=>window.confirm(e),this.toastHandler=null,this.modalHandler=null,this.navigationHandler=null,this.paramCollectionHandler=null,this.resultDialogHandler=null}setConfirmHandler(e){this.confirmHandler=e}setToastHandler(e){this.toastHandler=e}setModalHandler(e){this.modalHandler=e}setNavigationHandler(e){this.navigationHandler=e}setParamCollectionHandler(e){this.paramCollectionHandler=e}setResultDialogHandler(e){this.resultDialogHandler=e}registerHandler(e,t){this.handlers.set(e,t)}unregisterHandler(e){this.handlers.delete(e)}registerScript(e,t){this.scripts.set(e,t)}unregisterScript(e){this.scripts.delete(e)}async execute(e){try{ut(e);let t=e.type||e.actionType||e.name||``;if(e.condition&&!this.evaluator.evaluateCondition(e.condition))return{success:!1,error:`Action condition not met`};if(e.disabled!=null&&e.disabled!==!1){let t=!1;try{t=this.evaluator.evaluateCondition(e.disabled)}catch{t=!1}if(t)return{success:!1,error:`Action is disabled`}}let n=e.confirm?.message||e.confirmText;if(n&&!await this.confirmHandler(this.evaluator.evaluate(n),e.confirm?{title:e.confirm.title,confirmText:e.confirm.confirmText,cancelText:e.confirm.cancelText}:void 0))return{success:!1,error:`Action cancelled by user`};let r=e.actionParams&&Array.isArray(e.actionParams)?e.actionParams:Array.isArray(e.params)?e.params:void 0;if(r&&r.length>0&&this.paramCollectionHandler){let t=await this.paramCollectionHandler(r,e);if(t===null)return{success:!1,error:`Action cancelled by user (params)`};let n=Array.isArray(e.params)?{}:e.params||{},i=n._rowRecord;e.params={...n,...t},i!==void 0&&(e.params._rowRecord=i)}if(t&&this.handlers.has(t)){let n=await this.handlers.get(t)(e,this.context);return await this.handlePostExecution(e,n),n}let i,a=t?this.builtinExecutors[t]:void 0;return a?i=await a(e):e.navigate?i=await this.executeNavigation(e):e.api||e.endpoint?i=await this.executeAPI(e):e.onClick?(await e.onClick(),i={success:!0}):i=await this.executeActionSchema(e),await this.handlePostExecution(e,i),i}catch(t){let n={success:!1,error:t.message};return await this.handlePostExecution(e,n),n}}async executeChain(e,t=`sequential`){if(e.length===0)return{success:!0};if(t===`parallel`){let t=await Promise.allSettled(e.map(e=>this.execute(e)));if(t.filter(e=>e.status===`rejected`||e.status===`fulfilled`&&!e.value.success).length>0)return{success:!1,error:t.find(e=>e.status===`fulfilled`&&!e.value.success)?.value?.error||`One or more parallel actions failed`};let n=t[t.length-1];return n.status===`fulfilled`?n.value:{success:!1,error:`Action failed`}}let n={success:!0};for(let t of e)if(n=await this.execute(t),!n.success)return n;return n}async handlePostExecution(e,t){let n=!!(e.resultDialog&&t.success);if(this.toastHandler){let r=e.toast??{showOnSuccess:!0,showOnError:!0},i=e.toast?.duration;if(t.success&&!n&&!t.silent&&r.showOnSuccess!==!1){let n=(t.data&&typeof t.data==`object`&&typeof t.data.message==`string`?String(t.data.message).trim():``)||e.successMessage||`Action completed successfully`;if(t.undo)try{N.push(t.undo)}catch{}this.toastHandler(n,{type:`success`,duration:i,undo:t.undo?{}:void 0})}if(!t.success&&r.showOnError!==!1&&t.error){let n=e.errorMessage||t.error,r=typeof n==`string`?n:n&&typeof n.message==`string`?n.message:`Action failed`;this.toastHandler(r,{type:`error`,duration:i})}}if(n)if(this.resultDialogHandler)try{await this.resultDialogHandler(e.resultDialog,t.data,e)}catch(e){console.warn(`[ActionRunner] resultDialog handler rejected; treating as acknowledged`,e)}else console.warn(`[ActionRunner] action.resultDialog set but no resultDialogHandler registered — the response value will not be shown to the user.`,{action:e.name,data:t.data});if(e.refreshAfter&&t.success&&(t.reload=!0),e.chain&&e.chain.length>0&&t.success){let n=await this.executeChain(e.chain,e.chainMode||`sequential`);n.success||(t.success=!1,t.error=n.error),n.data&&(t.data=n.data),n.redirect&&(t.redirect=n.redirect),n.reload&&(t.reload=!0)}if(t.success&&e.onSuccess){let t=Array.isArray(e.onSuccess)?e.onSuccess:[e.onSuccess];await this.executeChain(t,`sequential`)}if(!t.success&&e.onFailure){let t=Array.isArray(e.onFailure)?e.onFailure:[e.onFailure];await this.executeChain(t,`sequential`)}}async executeScript(e){let t=e.target;if(!t)return e.body==null?typeof e.execute==`string`?{success:!1,error:"`execute` was removed in @objectstack/spec 17 — rename the key to `target`. The value (a script name or expression) is unchanged. Run `os migrate meta --from 16` to rewrite it automatically."}:{success:!1,error:`No script provided for script action`}:{success:!1,error:"Action body must be executed server-side — this client runner does not interpret `body` (sandboxed JS needs an isolated VM; expression bodies use the formula engine). Register a `script` handler that POSTs to /api/v1/actions/{object}/{action}."};let n=this.scripts.get(t);if(n)try{return await n(e,this.context)}catch(e){return{success:!1,error:`Script execution failed: ${e.message}`}}try{let e=this.evaluator.evaluate(`\${${t}}`);return e!=null&&typeof e.then==`function`&&(e=await e),{success:!0,data:e}}catch(e){return{success:!1,error:`Script execution failed: ${e.message}`}}}async executeUrl(e){let t=e.target||e.redirect;return t?this.navigateTo(e,t,e):{success:!1,error:`No URL provided for url action`}}async navigateTo(e,t,n){let r=this.interpolateTarget(t,e),i=this.evaluator.evaluate(r);if(!this.isValidUrl(i))return{success:!1,error:`Invalid URL scheme. Only http://, https://, and relative URLs are allowed.`};let a=typeof this.context.apiBase==`string`?this.context.apiBase.replace(/\/+$/,``):``;a&&/^\/(api|_auth|_account)\//.test(i)&&(i=`${a}${i}`);let o=!!n.external||i.startsWith(`http://`)||i.startsWith(`https://`);if(/\/(api|_auth|_account)\//.test(i)&&(o||i.startsWith(`/`)))return window.location.href=i,{success:!0};let s=n.openIn??e.openIn,c=s===`new-tab`?!0:s===`self`?!1:n.newTab??e.params?.newTab??o,l=n.replace??e.replace;if(this.navigationHandler)return this.navigationHandler(i,{external:o,newTab:c,...l===void 0?{}:{replace:!!l}}),{success:!0};if(c)window.open(i,`_blank`,`noopener,noreferrer`);else return{success:!0,redirect:i};return{success:!0}}async executeModal(e){let t=e.modal||e.target||e.params?.schema;return t?this.modalHandler?await this.modalHandler(t,this.context):{success:!0,modal:t}:{success:!1,error:`No modal schema or target provided for modal action`}}async executeFlow(e){let t=e.target||e.name;return t?this.handlers.has(`flow`)?await this.handlers.get(`flow`)(e,this.context):{success:!1,error:`Flow handler not registered. Cannot execute flow: ${t}`}:{success:!1,error:`No flow target provided for flow action`}}async executeActionSchema(e){let t=!!(e.api||e.endpoint);if(!(t||e.onClick||e.redirect||e.reload===!0||e.close===!0))return{success:!1,error:`Action "${e.name||e.type||e.actionType||`action`}" is not executable: no handler is registered under that name and it declares no api, endpoint, navigate, redirect or onClick.`};let n={success:!0};if(t){let t=await this.executeAPI(e);if(!t.success)return t;n.data=t.data}return e.onClick&&await e.onClick(),n.reload=e.reload!==!1,n.close=e.close!==!1,e.redirect&&(n.redirect=this.evaluator.evaluate(e.redirect)),n}async executeForm(e){let t=this.evaluator.evaluate(e.target);if(!t||typeof t!=`string`)return{success:!1,error:`No form target (FormView name) provided for form action`};let n=(this.context.record&&this.context.record.id)??(this.context.data&&this.context.data.id),r=`/forms/${t}`,i=n==null?r:`${r}?recordId=${encodeURIComponent(String(n))}`;return this.navigationHandler?(this.navigationHandler(i,{external:!1}),{success:!0}):{success:!0,redirect:i}}async executeNavigation(e){let t=e.navigate||e,n=t.to||t.target||t.redirect;return n?this.navigateTo(e,n,t):{success:!1,error:`No URL provided for navigation action`}}async executeAPI(e){let t=e.api||e.endpoint||e.target;if(!t)return{success:!1,error:`No API endpoint provided`};try{let n,r,i={"Content-Type":`application/json`},a,o=`json`;if(typeof t==`string`)n=this.interpolateTarget(t,e),r=e.method||`POST`,a=JSON.stringify(e.params||this.context.data||{});else{let s=t;if(n=this.interpolateTarget(s.url,e),r=s.method||e.method||`POST`,i={...i,...s.headers},o=s.responseType||`json`,s.queryParams){let e=new URLSearchParams(s.queryParams);n=`${n}${n.includes(`?`)?`&`:`?`}${e.toString()}`}s.body?a=typeof s.body==`string`?s.body:JSON.stringify(s.body):r!==`GET`&&r!==`HEAD`&&(a=JSON.stringify(e.params||this.context.data||{}))}let s={method:r,headers:i};a&&r!==`GET`&&r!==`HEAD`&&(s.body=a);let c=await fetch(n,s);if(!c.ok)throw Error(`HTTP ${c.status}: ${c.statusText}`);let l;switch(o){case`text`:l=await c.text();break;case`blob`:l=await c.blob();break;default:l=await c.json()}return{success:!0,data:l}}catch(e){return{success:!1,error:e.message}}}isValidUrl(e){return typeof e==`string`&&(e.startsWith(`http://`)||e.startsWith(`https://`)||e.startsWith(`/`)||e.startsWith(`./`))}interpolateTarget(e,t){if(typeof e!=`string`||e.indexOf("${")===-1)return e;let n=t.params&&typeof t.params==`object`&&!Array.isArray(t.params)?t.params:{},r=this.buildInterpolationContext();return e.replace(/\$\{(param|ctx)\.([\w.]+)\}/g,(e,t,i)=>{let a=ft(t===`param`?n:r,i);return a==null?``:encodeURIComponent(String(a))})}buildInterpolationContext(){let e={origin:typeof window<`u`?window.location.origin:``,apiBase:typeof this.context.apiBase==`string`?this.context.apiBase.replace(/\/+$/,``):``,user:this.context.user??{},org:this.context.org??this.context.organization??{},recordId:this.context.record?.id??this.context.recordId};return this.context.ctx&&typeof this.context.ctx==`object`&&Object.assign(e,this.context.ctx),e}updateContext(e){this.context=dt({...this.context,...e}),this.evaluator.updateContext(this.context)}getContext(){return this.context}getEvaluator(){return this.evaluator}};function ft(e,t){if(e!=null)return t.split(`.`).reduce((e,t)=>{if(e!=null)return e[t]},e)}function pt(e){return/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/.test(e)}function mt(e){return{type:`app`,name:e.name,title:e.title,label:e.title,description:e.description,icon:e.icon,logo:e.branding.logo,favicon:e.branding.favicon,branding:e.branding,layout:e.layout,navigation:e.navigation}}function ht(e){if(!e)return null;let t=e.stageField;if(t===!1)return null;if(typeof t==`string`&&t)return t;let n=e.fields||{};for(let e of[`status`,`stage`,`state`,`phase`])if(e in n)return e;for(let[e,t]of Object.entries(n)){let n=(t?.type||``).toLowerCase();if(n===`status`||n===`stage`)return e}return null}var gt=new Set(`id._id.__v._version._rev.created.created_at.createdAt.created_by.createdBy.modified.modified_by.updated_at.updatedAt.updated_by.updatedBy.deleted.deleted_at.deletedAt.is_deleted.instance_state.locked.owner_id.organization_id.tenant_id.company_id.space`.split(`.`)),_t={createdAt:`created_at`,createdBy:`created_by`,updatedAt:`updated_at`,updatedBy:`updated_by`},vt=new Set(Object.values(_t));function yt(e,t){return t?.system===!0||gt.has(e)}var bt=`text.textarea.number.boolean.date.datetime.time.select.email.phone.url.password.currency.percent.lookup.formula.autonumber.file.image.markdown.html.color.code.location.address.rating.slider`.split(`.`);function xt(e,t){if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e.default;if(typeof t==`string`)return t}return t}function St(e){let t=e.type??`tabular`,n=t===`joined`||t===`tabular`?`tabular`:t,r=(e.values??[]).map(e=>({name:e,label:xt(void 0,e)})),i=(e.rows??[]).map(e=>({field:e,sort:`asc`}));return{type:`report`,title:xt(e.label,e.name),description:e.description?xt(e.description,``):void 0,reportType:n,fields:r,groupBy:i.length>0?i:void 0}}function Ct(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.name!=`string`||t.type===`report`&&Array.isArray(t.fields)?!1:typeof t.dataset==`string`||Array.isArray(t.blocks)||typeof t.type==`string`&&[`tabular`,`summary`,`matrix`,`joined`].includes(t.type)}function wt(e,t){let n=e?.code;return typeof n!=`string`||n.length===0?!1:n.toUpperCase()===t.toUpperCase()}function Tt(e,t){return t.some(t=>wt(e,t))}var Et=3e4,Dt=new Set([408,425,429,502,503,504]),Ot=class extends Error{status;retryAfterMs;constructor(e,t,n){super(n??`Endpoint returned ${e}`),this.status=e,this.retryAfterMs=t,this.name=`HttpFetchError`}};function kt(e){return e instanceof Ot?Dt.has(e.status):!0}function At(e,t){if(!e)return;let n=e.trim();if(!n)return;let r;if(/^\d+$/.test(n))r=Number(n)*1e3;else{let e=Date.parse(n);if(Number.isNaN(e))return;r=e-t}if(!(!Number.isFinite(r)||r<0))return Math.min(r,Et)}function jt(e,t,n){return n===void 0?Math.min(t*2**e,Et):n}var Mt=e=>new Promise(t=>setTimeout(t,e));function Nt(e){return At(e.headers?.get?.(`Retry-After`),Date.now())}function Pt(e){return e.toLowerCase().split(`+`).map(e=>e.trim()).sort().join(`+`)}var Ft=new Set;function It(e,t,n){let r=typeof t==`string`?t:t&&typeof t==`object`&&typeof t.source==`string`?t.source:String(t),i=`${String(e)}::${r}`;if(Ft.has(i))return;Ft.add(i);let a=n instanceof Error?n.message:String(n);console.warn(`[ActionEngine] action "${String(e)}" hidden: its \`visible\` predicate threw — ${a}. Predicate: ${r}. Action predicates evaluate against { record, recordId, objectName, user, os.user, … }; use \`record.<field>\` (not a bare field).`)}var Lt=class{actions=new Map;mappings=[];shortcuts=[];normalizedShortcutMap=new Map;runner;constructor(e={}){this.runner=e instanceof F?e:new F(e)}getRunner(){return this.runner}registerAction(e,t){let n=e.name||e.type||``;if(!n)throw Error(`Action must have a name or type`);this.actions.set(n,{action:e,locations:t?.locations||[],shortcut:t?.shortcut,bulkEnabled:t?.bulkEnabled??!1,priority:t?.priority??100}),t?.shortcut&&(this.shortcuts.push({keys:t.shortcut,actionName:n}),this.normalizedShortcutMap.set(Pt(t.shortcut),n))}registerActions(e){for(let t of e)this.registerAction(t,{locations:t.locations,shortcut:t.shortcut,bulkEnabled:t.bulkEnabled})}unregisterAction(e){let t=this.actions.get(e);t?.shortcut&&this.normalizedShortcutMap.delete(Pt(t.shortcut)),this.actions.delete(e),this.shortcuts=this.shortcuts.filter(t=>t.actionName!==e),this.mappings=this.mappings.filter(t=>t.actionName!==e)}addMapping(e){this.mappings.push(e)}getActionsForLocation(e){let t=this.runner.getEvaluator();return Array.from(this.actions.values()).filter(t=>t.locations.includes(e)).filter(e=>{let t=e.action.requiredPermissions;if(!Array.isArray(t)||t.length===0)return!0;let n=this.runner.getContext()?.user?.systemPermissions;return!Array.isArray(n)||t.every(e=>n.includes(e))}).filter(e=>{let n=e.action.visible;if(n==null||n===``||n===!0)return!0;if(n===!1)return!1;let r;if(typeof n==`string`)r=`\${${n}}`;else if(typeof n==`object`&&typeof n.source==`string`){let e=n.source;if(!e)return!0;r=`\${${e}}`}else r=!!n;try{return t.evaluateCondition(r,{throwOnError:!0})}catch(t){return It(e.action.name,n,t),!1}}).sort((e,t)=>(e.priority??100)-(t.priority??100)).map(e=>e.action)}getBulkActions(){return Array.from(this.actions.values()).filter(e=>e.bulkEnabled).sort((e,t)=>(e.priority??100)-(t.priority??100)).map(e=>e.action)}getShortcuts(){return[...this.shortcuts]}getAction(e){return this.actions.get(e)?.action}async executeAction(e,t){let n=this.actions.get(e);return n?(t&&this.runner.updateContext(t),this.runner.execute(n.action)):{success:!1,error:`Action not found: ${e}`}}async dispatch(e,t){let n=this.mappings.filter(t=>t.event===e);if(n.length===0)return[];let r=[];for(let e of n){if(e.condition&&!this.runner.getEvaluator().evaluateCondition(e.condition))continue;let n=await this.executeAction(e.actionName,t);r.push(n)}return r}async handleShortcut(e,t){let n=this.normalizedShortcutMap.get(Pt(e));return n?this.executeAction(n,t):null}async executeBulk(e,t,n){let r=this.actions.get(e);if(!r)return{total:0,succeeded:0,failed:0,results:[{success:!1,error:`Action not found: ${e}`}]};if(!r.bulkEnabled)return{total:0,succeeded:0,failed:0,results:[{success:!1,error:`Action ${e} does not support bulk operations`}]};let i=[],a=0,o=0;if(n?.parallel){let e=t.map(e=>(this.runner.updateContext({record:e,selectedRecords:t}),this.runner.execute(r.action))),n=await Promise.allSettled(e);for(let e of n)e.status===`fulfilled`?(i.push(e.value),e.value.success?a++:o++):(i.push({success:!1,error:e.reason?.message||`Unknown error`}),o++)}else for(let e of t){this.runner.updateContext({record:e,selectedRecords:t});let s=await this.runner.execute(r.action);if(i.push(s),s.success)a++;else if(o++,!n?.continueOnError)break}return{total:t.length,succeeded:a,failed:o,results:i}}updateContext(e){this.runner.updateContext(e)}clear(){this.actions.clear(),this.mappings=[],this.shortcuts=[],this.normalizedShortcutMap.clear()}};async function Rt(e,t){let{ids:n,allowBulk:r,offset:i,label:a=`bulk`}=e,o={succeeded:0,failed:0,errors:[]};if(r&&typeof t.bulkCall==`function`)try{let e=await t.bulkCall(n),r=Math.max(0,Math.min(e,n.length));o.succeeded+=r;let s=n.length-r;return s>0&&(o.failed+=s,o.errors.push({id:`batch_${i}`,error:`${s} record${s===1?``:`s`} failed in ${a}`})),o}catch{}return(await Promise.allSettled(n.map(e=>t.perRow(e)))).forEach((e,t)=>{e.status===`fulfilled`?o.succeeded+=1:(o.failed+=1,o.errors.push({id:n[t],error:e.reason instanceof Error?e.reason.message:String(e.reason)}))}),o}function zt(e){if(e!=null)return e.id??e._id??e.recordId}function Bt(e,t){let n={};for(let[r,i]of Object.entries(e))if(i&&typeof i==`object`&&!Array.isArray(i)&&typeof i.$ref==`number`){let e=i.$ref,a=zt(t[e]);if(a===void 0)throw Error(`batchTransaction: field "${r}" references operation ${e}, which has not produced an id (forward or invalid $ref)`);n[r]=a}else n[r]=i;return n}async function I(e,t){let n=[],r=[];try{for(let i of t){let t=i.action??`create`;if(t===`create`){let t=await e.create(i.object,Bt(i.data??{},n));n.push(t);let a=zt(t);a&&r.push({object:i.object,id:a})}else if(t===`update`){if(i.id==null)throw Error(`batchTransaction: update on "${i.object}" requires an id`);n.push(await e.update(i.object,i.id,Bt(i.data??{},n)))}else{if(i.id==null)throw Error(`batchTransaction: delete on "${i.object}" requires an id`);n.push(await e.delete(i.object,i.id))}}return{results:n}}catch(t){throw r.length>0&&await Promise.allSettled([...r].reverse().map(t=>e.delete(t.object,t.id))),t}}function Vt(e,t){return typeof e.batchTransaction==`function`?e.batchTransaction(t):I(e,t)}function Ht(e,t,n){let r=e;if(t&&(r=r.replace(/\/+$/,``)+`/`+t.replace(/^\/+/,``)),n&&Object.keys(n).length>0){let e=new URLSearchParams;for(let[t,r]of Object.entries(n))r!=null&&e.set(t,String(r));let t=e.toString();t&&(r+=(r.includes(`?`)?`&`:`?`)+t)}return r}function Ut(e){if(!e)return{};let t={};return e.$select?.length&&(t.$select=e.$select.join(`,`)),e.$filter&&Object.keys(e.$filter).length>0&&(t.$filter=JSON.stringify(e.$filter)),e.$orderby&&(typeof e.$orderby==`string`?t.$orderby=e.$orderby:Array.isArray(e.$orderby)?typeof e.$orderby[0]==`string`?t.$orderby=e.$orderby.join(`,`):t.$orderby=e.$orderby.map(e=>`${e.field} ${e.order||`asc`}`).join(`,`):t.$orderby=Object.entries(e.$orderby).map(([e,t])=>`${e} ${t}`).join(`,`)),e.$skip!==void 0&&(t.$skip=e.$skip),e.$top!==void 0&&(t.$top=e.$top),e.$expand?.length&&(t.$expand=e.$expand.join(`,`)),e.$search&&(t.$search=e.$search),e.$count&&(t.$count=`true`),t}function Wt(e,t){return{...e,...t}}var Gt=class{readConfig;writeConfig;fetchFn;defaultHeaders;constructor(e){this.readConfig=e.read,this.writeConfig=e.write,this.fetchFn=e.fetch??globalThis.fetch.bind(globalThis),this.defaultHeaders=e.defaultHeaders??{}}async request(e,t={}){if(!e)throw Error(`ApiDataSource: No HTTP configuration provided for this operation. Ensure the ViewData has read/write configs.`);let n=t.method??e.method??`GET`,r={...e.params,...t.queryParams},i=Ht(e.url,t.pathSuffix,r),a=Wt(Wt(this.defaultHeaders,e.headers),t.headers),o={method:n,headers:a};t.body!==void 0&&n!==`GET`&&(t.body instanceof FormData||t.body instanceof Blob?o.body=t.body:typeof t.body==`string`?(o.body=t.body,a[`Content-Type`]||=`text/plain`):(o.body=JSON.stringify(t.body),a[`Content-Type`]||=`application/json`));let s=await this.fetchFn(i,o);if(!s.ok){let e=await s.text().catch(()=>``);throw Error(`ApiDataSource: HTTP ${s.status} ${s.statusText} — ${e}`)}return(s.headers.get(`content-type`)??``).includes(`application/json`)?s.json():await s.text()}async find(e,t){let n=Ut(t),r=await this.request(this.readConfig,{method:`GET`,queryParams:n});return this.normalizeQueryResult(r)}async findOne(e,t,n){try{let e=Ut(n);return await this.request(this.readConfig,{pathSuffix:String(t),method:`GET`,queryParams:e})??null}catch{return null}}async create(e,t){let n=this.writeConfig??this.readConfig;return this.request(n,{method:`POST`,body:t})}async update(e,t,n,r){let i=this.writeConfig??this.readConfig;return this.request(i,{pathSuffix:String(t),method:`PATCH`,body:n,...r?.ifMatch?{headers:{"If-Match":String(r.ifMatch)}}:{}})}async delete(e,t,n){let r=this.writeConfig??this.readConfig;try{return await this.request(r,{pathSuffix:String(t),method:`DELETE`,...n?.ifMatch?{headers:{"If-Match":String(n.ifMatch)}}:{}}),!0}catch{return!1}}batchTransaction(e){return I(this,e)}async getObjectSchema(e){return{name:e,fields:{}}}async getView(e,t){return null}async getApp(e){return null}async aggregate(e,t){let n={field:t.field,function:t.function,groupBy:t.groupBy};t.filter&&(n.filter=typeof t.filter==`string`?t.filter:JSON.stringify(t.filter));let r=await this.request(this.readConfig,{pathSuffix:`aggregate`,method:`GET`,queryParams:n});return Array.isArray(r)?r:r?.data&&Array.isArray(r.data)?r.data:r?.results&&Array.isArray(r.results)?r.results:[]}normalizeQueryResult(e){if(Array.isArray(e))return{data:e,total:e.length};if(e&&typeof e==`object`){if(Array.isArray(e.data)&&(`total`in e||`totalCount`in e))return{data:e.data,total:e.total??e.totalCount??e.data.length,hasMore:e.hasMore,cursor:e.cursor};for(let t of[`data`,`items`,`results`,`records`,`value`])if(Array.isArray(e[t]))return{data:e[t],total:e.total??e.totalCount??e.count??e[t].length,hasMore:e.hasMore??e.hasNextPage};return{data:[e],total:1}}return{data:[],total:0}}};function L(e,t){return t?e[t]:e.id??e._id}function Kt(e,t){if(!t||t.length===0)return!0;let n=t[0];if(n===`and`)return t.slice(1).every(t=>Kt(e,t));if(n===`or`)return t.slice(1).some(t=>Kt(e,t));if(t.length===3&&typeof n==`string`){let[n,r,i]=t,a=e[n];switch(r){case`=`:return a===i;case`!=`:return a!==i;case`>`:return a>i;case`>=`:return a>=i;case`<`:return a<i;case`<=`:return a<=i;case`in`:return Array.isArray(i)&&i.includes(a);case`not in`:case`not_in`:case`nin`:case`notin`:return Array.isArray(i)&&!i.includes(a);case`contains`:{let e=typeof a==`string`?a.toLowerCase():``;return typeof a==`string`&&e.includes(String(i).toLowerCase())}case`notcontains`:{let e=typeof a==`string`?a.toLowerCase():``;return typeof a==`string`&&!e.includes(String(i).toLowerCase())}case`startswith`:{let e=typeof a==`string`?a.toLowerCase():``;return typeof a==`string`&&e.startsWith(String(i).toLowerCase())}case`between`:return Array.isArray(i)&&i.length===2&&a>=i[0]&&a<=i[1];default:return!0}}return!0}function qt(e,t){for(let[n,r]of Object.entries(t)){let t=e[n];if(r&&typeof r==`object`&&!Array.isArray(r))for(let[e,n]of Object.entries(r))switch(e){case`$gt`:if(!(t>n))return!1;break;case`$gte`:if(!(t>=n))return!1;break;case`$lt`:if(!(t<n))return!1;break;case`$lte`:if(!(t<=n))return!1;break;case`$ne`:if(t===n)return!1;break;case`$in`:if(!Array.isArray(n)||!n.includes(t))return!1;break;case`$contains`:if(typeof t!=`string`||!t.toLowerCase().includes(String(n).toLowerCase()))return!1;break;default:break}else if(t!==r)return!1}return!0}function Jt(e,t){if(!t)return e;let n=[];return Array.isArray(t)?n=t.map(e=>typeof e==`string`?e.startsWith(`-`)?{field:e.slice(1),order:`desc`}:{field:e,order:`asc`}:{field:e.field,order:e.order??`asc`}):typeof t==`object`&&(n=Object.entries(t).map(([e,t])=>({field:e,order:t}))),n.length===0?e:[...e].sort((e,t)=>{for(let{field:r,order:i}of n){let n=e[r],a=t[r];if(n===a)continue;if(n==null)return i===`asc`?-1:1;if(a==null)return i===`asc`?1:-1;let o=n<a?-1:1;return i===`asc`?o:-o}return 0})}function Yt(e,t){if(!t||t.length===0)return e;let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}var Xt=class{items;idField;mutationListeners=new Set;constructor(e){this.items=JSON.parse(JSON.stringify(e.items)),this.idField=e.idField}emitMutation(e){for(let t of this.mutationListeners)try{t(e)}catch(e){console.warn(`ValueDataSource: mutation listener error`,e)}}async find(e,t){let n=[...this.items];if(t?.$filter&&(Array.isArray(t.$filter)&&t.$filter.length>0?n=n.filter(e=>Kt(e,t.$filter)):!Array.isArray(t.$filter)&&Object.keys(t.$filter).length>0&&(n=n.filter(e=>qt(e,t.$filter)))),t?.$search){let e=t.$search.toLowerCase();n=n.filter(t=>Object.values(t).some(t=>typeof t==`string`&&t.toLowerCase().includes(e)))}let r=n.length;n=Jt(n,t?.$orderby);let i=t?.$skip??0,a=t?.$top;return i>0&&(n=n.slice(i)),a!==void 0&&(n=n.slice(0,a)),t?.$select?.length&&(n=n.map(e=>Yt(e,t.$select))),{data:n,total:r,hasMore:i+(a??n.length)<r}}async findOne(e,t,n){let r=this.items.find(e=>String(L(e,this.idField))===String(t));return r?n?.$select?.length?Yt(r,n.$select):{...r}:null}async create(e,t){let n={...t};if(!L(n,this.idField)){let e=this.idField??`id`;n[e]=`auto_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}return this.items.push(n),this.emitMutation({type:`create`,resource:e,record:{...n}}),{...n}}async update(e,t,n){let r=this.items.findIndex(e=>String(L(e,this.idField))===String(t));if(r===-1)throw Error(`ValueDataSource: Record with id "${t}" not found`);return this.items[r]={...this.items[r],...n},this.emitMutation({type:`update`,resource:e,id:t,record:{...this.items[r]}}),{...this.items[r]}}async delete(e,t){let n=this.items.findIndex(e=>String(L(e,this.idField))===String(t));return n===-1?!1:(this.items.splice(n,1),this.emitMutation({type:`delete`,resource:e,id:t}),!0)}async bulk(e,t,n){let r=[];for(let i of n)switch(t){case`create`:r.push(await this.create(e,i));break;case`update`:{let t=L(i,this.idField);t!==void 0&&r.push(await this.update(e,t,i));break}case`delete`:{let t=L(i,this.idField);t!==void 0&&await this.delete(e,t);break}}return r}batchTransaction(e){return I(this,e)}async getObjectSchema(e){if(this.items.length===0)return{name:e,fields:{}};let t=this.items[0],n={};for(let[e,r]of Object.entries(t))n[e]={type:typeof r};return{name:e,fields:n}}async getView(e,t){return null}async getApp(e){return null}async aggregate(e,t){let{field:n,function:r,groupBy:i}=t,a={};for(let e of this.items){let t=String(e[i]??`Unknown`);a[t]||(a[t]=[]),a[t].push(e)}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}})}onMutation(e){return this.mutationListeners.add(e),()=>{this.mutationListeners.delete(e)}}get count(){return this.items.length}getAll(){return JSON.parse(JSON.stringify(this.items))}};function Zt(e,t,n){if(!e)return t??null;switch(e.provider){case`object`:return t??null;case`api`:return new Gt({read:e.read,write:e.write,fetch:n?.fetch,defaultHeaders:n?.defaultHeaders});case`value`:return new Xt({items:e.items??[],idField:n?.idField});default:return t??null}}var R=`https://objectui.dev/docs/errors`,Qt={"OBJUI-001":{code:`OBJUI-001`,message:'Unknown component type: "${type}"',suggestion:`Ensure the component is registered via registry.register() before rendering. Check for typos in the component type name.`,docUrl:`${R}/OBJUI-001`},"OBJUI-002":{code:`OBJUI-002`,message:"Schema validation failed: ${reason}",suggestion:`Verify the schema against the ObjectUI JSON spec. Run the built-in schema validator for details.`,docUrl:`${R}/OBJUI-002`},"OBJUI-003":{code:`OBJUI-003`,message:"Expression evaluation failed: ${expression}",suggestion:`Check the expression syntax and ensure all referenced variables exist in the current data scope.`,docUrl:`${R}/OBJUI-003`},"OBJUI-004":{code:`OBJUI-004`,message:'Plugin dependency missing: "${dependency}"',suggestion:`Install the required dependency and register it before loading this plugin.`,docUrl:`${R}/OBJUI-004`},"OBJUI-005":{code:`OBJUI-005`,message:'Plugin already loaded: "${plugin}"',suggestion:`A plugin with the same name is already registered. Remove the duplicate or use a unique plugin name.`,docUrl:`${R}/OBJUI-005`},"OBJUI-006":{code:`OBJUI-006`,message:'Plugin not found: "${plugin}"',suggestion:`Verify the plugin name and ensure it has been registered before access.`,docUrl:`${R}/OBJUI-006`},"OBJUI-007":{code:`OBJUI-007`,message:'Registry namespace deprecated: "${namespace}"',suggestion:`Migrate to the new namespace format. See the migration guide for details.`,docUrl:`${R}/OBJUI-007`},"OBJUI-008":{code:`OBJUI-008`,message:'Read-only scope violation: "${scope}"',suggestion:`You are trying to mutate a read-only data scope. Use a writable scope or clone the data before modifying.`,docUrl:`${R}/OBJUI-008`},"OBJUI-009":{code:`OBJUI-009`,message:'Invalid field configuration: "${field}"',suggestion:`Check the field schema for required properties (type, name). Ensure the field widget is registered.`,docUrl:`${R}/OBJUI-009`},"OBJUI-010":{code:`OBJUI-010`,message:'Action execution failed: "${action}"',suggestion:`Verify the action handler is registered and that all required parameters are provided.`,docUrl:`${R}/OBJUI-010`}},$t=class extends Error{code;details;constructor(e,t,n){super(e),this.code=t,this.details=n,this.name=`ObjectUIError`,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toJSON(){return{name:this.name,message:this.message,code:this.code,details:this.details,stack:this.stack}}};function en(e){return e instanceof $t}var z=`__debug`;function tn(e){let t=e;if(t===void 0)try{t=typeof window<`u`?window.location.search:``}catch{t=``}let n=new URLSearchParams(t),r=n.has(z),i=n.has(`${z}_schema`),a=n.has(`${z}_perf`),o=n.has(`${z}_data`),s=n.has(`${z}_expr`),c=n.has(`${z}_events`),l=n.has(`${z}_registry`);return{enabled:r||i||a||o||s||c||l,...i&&{schema:i},...a&&{perf:a},...o&&{data:o},...s&&{expr:s},...c&&{events:c},...l&&{registry:l}}}function nn(){try{if(typeof window<`u`)try{if(tn(window.location.search).enabled)return!0}catch{}let e=typeof globalThis<`u`&&globalThis.OBJECTUI_DEBUG;return e===!0||e===`true`||globalThis.process?.env?.OBJECTUI_DEBUG===`true`}catch{return!1}}function rn(e,t,n){nn()&&(n===void 0?console.log(`[ObjectUI Debug][${e}] ${t}`):console.log(`[ObjectUI Debug][${e}] ${t}`,n))}var an=new Map;function on(e){nn()&&an.set(e,performance.now())}function sn(e){if(!nn())return;let t=an.get(e);if(t!==void 0){let n=(performance.now()-t).toFixed(2);console.log(`[ObjectUI Debug][perf] ${e}: ${n}ms`),an.delete(e)}}var cn=200,ln=class e{static instance=null;entries=[];subscribers=new Set;static getInstance(){return e.instance||=new e,e.instance}static resetInstance(){e.instance=null}addPerf(e){this.push({kind:`perf`,data:e})}addExpr(e){this.push({kind:`expr`,data:e})}addEvent(e){this.push({kind:`event`,data:e})}getEntries(e){return e?this.entries.filter(t=>t.kind===e):this.entries.slice()}clear(){this.entries=[]}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}push(e){this.entries.push(e),this.entries.length>cn&&(this.entries=this.entries.slice(-200));for(let t of this.subscribers)try{t(e)}catch{}}},un={medium:991,small:640,xsmall:479},dn=e=>e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),fn=e=>Object.entries(e).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>`${dn(e)}: ${typeof t==`number`?String(t):t} !important;`).join(` `);function pn(e){if(!e||typeof e!=`object`)return!1;let t=e;return!!(t.large||t.medium||t.small||t.xsmall)}function mn(e){return`os-s-${String(e).replace(/[^a-zA-Z0-9_-]/g,`-`)}`}function hn(e,t){let n=[];if(t.large){let r=fn(t.large);r&&n.push(`${e} { ${r} }`)}for(let r of[`medium`,`small`,`xsmall`]){let i=t[r];if(!i)continue;let a=fn(i);a&&n.push(`@media (max-width: ${un[r]}px) { ${e} { ${a} } }`)}return n.join(`
|
|
3
|
+
`)}var gn={"react-pages":!0},B=new Map,_n=!1;function vn(){if(_n)return;_n=!0;let e=globalThis;if(Array.isArray(e.__OBJECTUI_CAPABILITIES__))for(let t of e.__OBJECTUI_CAPABILITIES__)typeof t==`string`&&!B.has(t)&&B.set(t,!0);if(Array.isArray(e.__OBJECTUI_CAPABILITIES_DISABLED__))for(let t of e.__OBJECTUI_CAPABILITIES_DISABLED__)typeof t==`string`&&B.set(t,!1)}function yn(e){vn();let t=B.get(e);return t===void 0?gn[e]??!1:t}var bn=`react-pages`,xn=/\$\{event\.([a-zA-Z0-9_]+)\}/g;function Sn(e,t){return typeof e!=`string`||e.indexOf("${event.")===-1?e:e.replace(xn,(e,n)=>{let r=t[n];return r==null?``:String(r)})}function Cn(e,t){if(typeof e==`string`){let n=e.match(/^\$\{event\.([a-zA-Z0-9_]+)\}$/);if(n){let e=t[n[1]];return e===``||e===void 0?null:e}return Sn(e,t)}if(Array.isArray(e))return e.map(e=>Cn(e,t));if(e&&typeof e==`object`){let n={};for(let[r,i]of Object.entries(e))n[r]=Cn(i,t);return n}return e}function wn(e,t,n={}){if(e?.filter)return Cn(e.filter,t);let r={},{rowField:i,columnField:a,groupByField:o}=n,s=t.scope??`cell`;return s===`total`?r:((s===`cell`||s===`row`)&&i&&`rowKey`in t&&(r[i]=t.rowKey===``?null:t.rowKey),(s===`cell`||s===`column`)&&a&&`colKey`in t&&(r[a]=t.colKey===``?null:t.colKey),o&&`category`in t&&(r[o]=t.category===``?null:t.category),r)}function Tn(e,t,n=`Details`){if(e?.title){let n=Sn(e.title,t).trim();if(n)return n}let r=[];return t.rowLabel&&r.push(t.rowLabel),t.colLabel&&r.push(t.colLabel),t.categoryLabel?r.push(t.categoryLabel):t.category&&r.push(t.category),t.series&&r.push(t.series),r.length>0?r.join(` × `):n}function En(e){return e?e.enabled!==!1:!1}function V(e,t=new Date){if(e==null)return e;let n=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t},r=e=>{let t=n(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`},i=e=>{let t=n(e),r=(t.getDay()+6)%7;return t.setDate(t.getDate()-r),t},a=e=>new Date(e.getFullYear(),e.getMonth(),1),o=e=>{let t=Math.floor(e.getMonth()/3);return new Date(e.getFullYear(),t*3,1)},s=e=>new Date(e.getFullYear(),0,1),c=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),l=(e,t)=>{let r=n(e);return r.setDate(r.getDate()+t),r},u=e=>l(c(a(e),1),-1),d=e=>l(i(e),6),f=e=>l(c(o(e),3),-1),p=e=>new Date(e.getFullYear(),11,31),m={today:()=>r(t),yesterday:()=>r(l(t,-1)),tomorrow:()=>r(l(t,1)),now:()=>t.toISOString(),current_week_start:()=>r(i(t)),current_week_end:()=>r(d(t)),current_month_start:()=>r(a(t)),current_month_end:()=>r(u(t)),current_quarter_start:()=>r(o(t)),current_quarter_end:()=>r(f(t)),current_year_start:()=>r(s(t)),current_year_end:()=>r(p(t)),last_week_start:()=>r(l(i(t),-7)),last_week_end:()=>r(l(i(t),-1)),last_month_start:()=>r(c(a(t),-1)),last_month_end:()=>r(l(a(t),-1)),last_quarter_start:()=>r(c(o(t),-3)),last_quarter_end:()=>r(l(o(t),-1)),last_year_start:()=>r(new Date(t.getFullYear()-1,0,1)),last_year_end:()=>r(new Date(t.getFullYear()-1,11,31)),next_week_start:()=>r(l(i(t),7)),next_month_start:()=>r(c(a(t),1)),next_quarter_start:()=>r(c(o(t),3)),next_year_start:()=>r(new Date(t.getFullYear()+1,0,1))};for(let[e,t]of Object.entries({week_start:`current_week_start`,week_end:`current_week_end`,month_start:`current_month_start`,month_end:`current_month_end`,quarter_start:`current_quarter_start`,quarter_end:`current_quarter_end`,year_start:`current_year_start`,year_end:`current_year_end`}))m[e]=m[t];let h=/^(\d+)_(minutes?|hours?|days?|weeks?|months?|years?)_(ago|from_now)$/,g=e=>{let n=e.match(h);if(!n)return null;let i=parseInt(n[1],10);if(!Number.isFinite(i))return null;let a=n[3]===`ago`?-1:1,o=n[2].replace(/s$/,``);if(o===`minute`)return new Date(t.getTime()+a*i*60*1e3).toISOString();if(o===`hour`)return new Date(t.getTime()+a*i*60*60*1e3).toISOString();if(o===`day`)return r(l(t,a*i));if(o===`week`)return r(l(t,a*i*7));if(o===`month`){let e=new Date(t.getFullYear(),t.getMonth()+a*i,t.getDate());return r(e)}if(o===`year`){let e=new Date(t.getFullYear()+a*i,t.getMonth(),t.getDate());return r(e)}return null},_=/\$?\{([a-zA-Z0-9_]+)\}/g,v=e=>{if(e==null)return e;if(typeof e==`string`){let t=e.match(/^\$?\{([a-zA-Z0-9_]+)\}$/);if(t){let e=t[1];if(m[e])return m[e]();let n=g(e);if(n!=null)return n}let n=!1,r=e.replace(_,(e,t)=>{if(m[t])return n=!0,m[t]();let r=g(t);return r==null?e:(n=!0,r)});return n?r:e}if(Array.isArray(e))return e.map(v);if(typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=v(e[n]);return t}return e};return v(e)}var Dn=[`current_user_id`,`current_org_id`],On={current_user:`current_user_id`,current_user_email:`current_user_id`,user_id:`current_user_id`,userid:`current_user_id`,me:`current_user_id`,current_organization_id:`current_org_id`,org_id:`current_org_id`,organization_id:`current_org_id`,current_tenant_id:`current_org_id`},kn=/^\$?\{([a-zA-Z0-9_]+)\}$/;function An(e){return Dn.includes(e)}function jn(e,t={}){if(e==null)return e;let{currentUserId:n,currentOrgId:r}=t,i=t.onUnresolved===null?()=>{}:t.onUnresolved??(e=>{console.warn(`[object-ui] ${e}`)}),a={current_user_id:n,current_org_id:r},o=e=>{if(e==null)return e;if(typeof e==`string`){let t=e.match(kn);if(!t)return e;let n=t[1];if(An(n)){let t=a[n];return t!=null&&t!==``?t:(i(`Filter placeholder "{${n}}" could not be resolved — no ${n===`current_user_id`?`signed-in user`:`active organization`} in scope. The filter will match no records.`),e)}let r=On[n.toLowerCase()];return r&&i(`Filter placeholder "{${n}}" is not a recognised token — did you mean "{${r}}"? It is sent to the server as a literal string and will match no records.`),e}if(Array.isArray(e))return e.map(o);if(typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=o(e[n]);return t}return e};return o(e)}function Mn(e,t={},n=new Date){return e==null?e:jn(V(e,n),t)}var Nn=`dateRange`,Pn=`created_at`,Fn={today:{from:`{today}`,to:`{today}`},yesterday:{from:`{yesterday}`,to:`{yesterday}`},this_week:{from:`{current_week_start}`,to:`{current_week_end}`},last_week:{from:`{last_week_start}`,to:`{last_week_end}`},this_month:{from:`{current_month_start}`,to:`{current_month_end}`},last_month:{from:`{last_month_start}`,to:`{last_month_end}`},this_quarter:{from:`{current_quarter_start}`,to:`{current_quarter_end}`},last_quarter:{from:`{last_quarter_start}`,to:`{last_quarter_end}`},this_year:{from:`{current_year_start}`,to:`{current_year_end}`},last_year:{from:`{last_year_start}`,to:`{last_year_end}`},last_7_days:{from:`{7_days_ago}`,to:`{today}`},last_30_days:{from:`{30_days_ago}`,to:`{today}`},last_90_days:{from:`{90_days_ago}`,to:`{today}`}},In=Object.keys(Fn);function Ln(e){if(!Array.isArray(e)||e.length===0)return;let t=[];for(let n of e)if(n!=null)if(typeof n==`object`){let e=n.value;if(e==null)continue;let r=n.label;t.push({value:String(e),label:typeof r==`string`&&r?r:String(e)})}else t.push({value:String(n),label:String(n)});return t.length>0?t:void 0}function Rn(e){let t=new Map;if(e.dateRange){let n=e.dateRange.defaultRange;t.set(Nn,{name:Nn,field:e.dateRange.field||Pn,type:`dateRange`,defaultValue:n&&n!==`custom`?{preset:n}:void 0,allowCustomRange:e.dateRange.allowCustomRange})}for(let n of e.globalFilters??[]){if(!n?.field)continue;let e=n.name||n.field;t.has(e)&&typeof console<`u`&&console.warn(`[dashboard-filters] duplicate filter name "${e}" — the later definition wins`),t.set(e,{name:e,field:n.field,label:n.label,type:n.type??`text`,options:Ln(n.options),optionsFrom:n.optionsFrom,defaultValue:n.defaultValue,targetWidgets:n.targetWidgets})}return Array.from(t.values())}function zn(e){return e.map(e=>({name:e.name,type:e.type===`dateRange`?`object`:`string`,defaultValue:e.defaultValue}))}function Bn(e,t){if(t==null||t===``)return!0;if(Array.isArray(t))return t.length===0;if(e.type===`dateRange`||e.type===`date`){let e=t;return typeof e==`object`&&!e.preset&&!e.from&&!e.to}return typeof t==`object`&&Object.keys(t).length===0}function Vn(e,t){if(!Bn(e,t)){if(e.type===`dateRange`||e.type===`date`){let e=t;if(typeof e==`object`){let t=e.preset?Fn[e.preset]:void 0,n=t?.from??e.from,r=t?.to??e.to;return!n&&!r?void 0:{...n?{$gte:n}:{},...r?{$lte:r}:{}}}return t}return e.type===`select`||e.type===`lookup`?Array.isArray(t)?{$in:t}:t:e.type===`text`?{$contains:t}:t}}function Hn(e,t){let n=e.filterBindings?.[t.name];if(n!==!1){if(typeof n==`string`&&n)return n;if(!(t.targetWidgets&&t.targetWidgets.length>0&&(!e.id||!t.targetWidgets.includes(e.id))))return t.field}}function Un(e,t,n,r){let i=[];for(let a of t){let t=n[a.name];if(Bn(a,t))continue;let o=Hn(e,a);if(!o)continue;if(typeof e.filterBindings?.[a.name]!=`string`&&r&&!r.has(o)){typeof console<`u`&&console.warn(`[dashboard-filters] skipping filter "${a.name}" on widget "${e.id??`?`}": default field "${o}" does not exist on the widget's object — map it with filterBindings: { "${a.name}": "<field>" } or opt out with false`);continue}let s=Vn(a,t);s!==void 0&&i.push({[o]:s})}if(i.length!==0)return i.length===1?i[0]:{$and:i}}function Wn(e,t){let n=e&&Object.keys(e).length>0,r=t&&Object.keys(t).length>0;if(n&&r)return{$and:[e,t]};if(n)return e;if(r)return t}var Gn={current_week_start:`last_week_start`,current_week_end:`last_week_end`,current_month_start:`last_month_start`,current_month_end:`last_month_end`,current_quarter_start:`last_quarter_start`,current_quarter_end:`last_quarter_end`,current_year_start:`last_year_start`,current_year_end:`last_year_end`,week_start:`last_week_start`,week_end:`last_week_end`,month_start:`last_month_start`,month_end:`last_month_end`,quarter_start:`last_quarter_start`,quarter_end:`last_quarter_end`,year_start:`last_year_start`,year_end:`last_year_end`,today:`yesterday`};function Kn(e,t){if(e==null)return e;if(typeof e==`string`)return e.replace(/\$?\{([a-zA-Z0-9_]+)\}/g,(e,n)=>{let r=t[n];return r?`{${r}}`:e});if(Array.isArray(e))return e.map(e=>Kn(e,t));if(typeof e==`object`){let n={};for(let r of Object.keys(e))n[r]=Kn(e[r],t);return n}return e}function qn(e,t){let n=t.match(/^(\d+)([dwMy])$/);if(!n)return null;let r=parseInt(n[1],10),i=n[2],a=new Date(e);if(i===`d`)a.setDate(a.getDate()-r);else if(i===`w`)a.setDate(a.getDate()-r*7);else if(i===`M`)a.setMonth(a.getMonth()-r);else if(i===`y`)a.setFullYear(a.getFullYear()-r);else return null;return a}function Jn(e,t,n=new Date){if(t===`previousYear`)return V(e,new Date(n.getFullYear()-1,n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds()));if(typeof t==`object`&&t&&`offset`in t){let r=qn(n,t.offset);return r?V(e,r):V(e,n)}return V(Kn(e,Gn),n)}function Yn(e,t){if(e===`previousYear`)return`vsLastYear`;if(typeof e==`object`&&e&&`offset`in e)return`vsPreviousPeriod`;let n=t?JSON.stringify(t):``;return/current_year_|year_start|year_end/.test(n)?`vsLastYear`:/current_quarter_|quarter_start|quarter_end/.test(n)?`vsLastQuarter`:/current_month_|month_start|month_end/.test(n)?`vsLastMonth`:/current_week_|week_start|week_end/.test(n)?`vsLastWeek`:/\btoday\b/.test(n)?`vsYesterday`:`vsPreviousPeriod`}function Xn(e,t,n,r){let i=(t??[]).filter(Boolean),a=(n??[]).filter(Boolean),o=Array.isArray(e)?e:[],s=e=>(r??[]).find(t=>t.name===e)?.label??e;if(i.length>=2&&a.length===1){let e=i[0],t=i[1],n=a[0],r=[],s=new Map;for(let i of o){let a=i[e],o=String(a??``);s.has(o)||s.set(o,{[e]:a});let c=String(i[t]??``);c!==``&&!r.includes(c)&&r.push(c),s.get(o)[c]=i[n]}return{data:Array.from(s.values()),xAxisKey:e,series:r.map(e=>({dataKey:e,label:e}))}}return{data:o,xAxisKey:i[0],series:a.map(e=>({dataKey:e,label:s(e)}))}}function Zn(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=Object.keys(t).filter(e=>t[e]&&Object.keys(t[e]).length>0);return r.length===0?n:n.map(e=>{let n=null;for(let i of r){let r=e[i];if(r==null)continue;let a=t[i][String(r)];a!=null&&a!==r&&(n||={...e},n[i]=a)}return n??e})}function Qn(e,t,n,r,i){let a=(t??[]).filter(Boolean),o=(n??[]).filter(Boolean),s=Array.isArray(e)?e:[],c=a[0];if(!c)return-1;let l=String(r??``);if(a.length>=2&&o.length===1){let e=a[1],t=String(i??``);return s.findIndex(n=>String(n[c]??``)===l&&String(n[e]??``)===t)}return s.findIndex(e=>String(e[c]??``)===l)}function $n(e){if(!Array.isArray(e)||e.length===0)return null;let t={};for(let n of e)if(n&&typeof n==`object`){let e=n;typeof e.color==`string`&&e.color&&(e.value!=null&&(t[String(e.value)]=e.color),e.label!=null&&(t[String(e.label)]=e.color))}return Object.keys(t).length>0?t:null}function er(e){if(!Array.isArray(e)||e.length===0)return null;let t=[];for(let n of e){if(typeof n==`string`||typeof n==`number`||typeof n==`boolean`){t.push(String(n));continue}if(n&&typeof n==`object`){let e=n;e.value!=null&&t.push(String(e.value)),e.label!=null&&String(e.label)!==String(e.value)&&t.push(String(e.label))}}return t.length>0?t:null}function tr(e){if(!Array.isArray(e)||e.length===0)return null;let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t.size>0?t:null}function nr(e){if(!Array.isArray(e)||e.length===0)return null;let t={};for(let n of e)if(n&&typeof n==`object`){let e=n;if(e.value!=null&&e.label!=null){let n=String(e.value),r=String(e.label);r!==n&&(t[n]=r)}}return Object.keys(t).length>0?t:null}function rr(e){return e>-1&&e<1?e*100:e}function ir(e,t,n){if(e==null)return`—`;if(typeof e!=`number`)return String(e);let r=t?t.split(`.`)[1]?.match(/0/g)?.length??0:void 0;if(n)try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:n,minimumFractionDigits:r??0,maximumFractionDigits:r??2}).format(e)}catch{}if(!t)return Number.isInteger(e)?String(e):e.toLocaleString(void 0,{maximumFractionDigits:2});let i=t.includes(`%`);return`${t.includes(`$`)?`$`:``}${(i?rr(e):e).toLocaleString(void 0,{minimumFractionDigits:r??0,maximumFractionDigits:r??0})}${i?`%`:``}`}function ar(e){return e==null?`—`:typeof e==`number`?Number.isInteger(e)?String(e):e.toLocaleString(void 0,{maximumFractionDigits:2}):String(e)}function or(e,t,n){let r=new Map((e??[]).map(e=>[e.name,e])),i=e=>r.get(e);return{measureField:i,headerLabel:e=>{let r=i(e)?.label??e;return t&&n?n(t,e,r):r}}}function sr(e,t,n,r,i){let a={};for(let r of t){let t=e?.[r];a[n[r]]=t===``||t===void 0?null:t}if(i)for(let e of Object.values(i))e&&e.field&&(a[e.field]={$gte:e.gte,$lt:e.lt});return r?{...r,...a}:a}var cr=/[\\/:*?"<>|\u0000-\u001f]+/g,lr=80;function H(e){return e?String(e).replace(cr,`_`).replace(/\s+/g,` `).replace(/_{2,}/g,`_`).replace(/^[\s._-]+|[\s._-]+$/g,``).slice(0,lr):``}function ur(e,t={},n=new Date){let r=H(t.prefix),i=r||H(t.label)||H(t.objectName)||`export`,a=H(t.viewLabel);!r&&a&&a.toLowerCase()!==i.toLowerCase()&&(i=`${i}-${a}`.slice(0,lr));let o=e=>String(e).padStart(2,`0`),s=`${n.getFullYear()}${o(n.getMonth()+1)}${o(n.getDate())}-${o(n.getHours())}${o(n.getMinutes())}${o(n.getSeconds())}`;return`${i}-${s}.${e}`}function dr(e){if(!e||typeof e!=`object`)return e;let t=e,n=t.reference_to??t.reference??t.referenceTo;return n==null||n===``?e:(t.reference_to===void 0&&(t.reference_to=n),t.reference===void 0&&(t.reference=n),e)}function fr(e){let t=e&&typeof e==`object`?e.fields:null;if(!t||typeof t!=`object`)return e;let n=Array.isArray(t)?t:Object.values(t);for(let e of n)dr(e);return e}var pr={compact:`compact`,comfortable:`medium`,spacious:`tall`},mr={compact:`compact`,short:`compact`,medium:`comfortable`,tall:`spacious`,extra_tall:`spacious`};function hr(e){return typeof e==`string`&&e in mr?mr[e]:`comfortable`}var U=e=>!!e&&typeof e==`object`&&!Array.isArray(e),gr={showSearch:`search`,showSort:`sort`,showFilters:`filter`,showDensity:`rowHeight`,showGroup:`group`,showHideFields:`hideFields`,showColor:`rowColor`},_r={private:`personal`,team:`collaborative`,organization:`collaborative`,public:`collaborative`},vr={label:`ariaLabel`,describedBy:`ariaDescribedBy`};function yr(e){if(!e||typeof e!=`object`)return e;let t=e,n=t.fields,r=Array.isArray(n),i=t.densityMode,a=typeof i==`string`&&i in pr,o=t.filters,s=Array.isArray(o),c=Object.keys(gr).filter(e=>typeof t[e]==`boolean`),l=typeof t.showDescription==`boolean`,u=U(t.aria)?t.aria:void 0,d=!!u&&Object.keys(vr).some(e=>u[e]!==void 0),f=U(t.sharing)?t.sharing:void 0,p=!!f&&(f.visibility!==void 0||f.enabled!==void 0),m=t.viewType,h=!m||m===`list`,g=Array.isArray(t.columns)?t.columns:r?n:void 0,_=fe(g),v=_!==g;if(!r&&!a&&!s&&!c.length&&!l&&!d&&!p&&!h&&!v)return e;let y={...t};if(r&&(Array.isArray(y.columns)||(y.columns=n),delete y.fields),v&&(y.columns=_),a&&(typeof y.rowHeight!=`string`&&(y.rowHeight=pr[i]),delete y.densityMode),s&&(Array.isArray(y.filter)||(y.filter=o),delete y.filters),c.length){let e={...U(y.userActions)?y.userActions:{}};for(let n of c){let r=gr[n];typeof e[r]!=`boolean`&&(e[r]=t[n]),delete y[n]}y.userActions=e}if(l){let e={...U(y.appearance)?y.appearance:{}};typeof e.showDescription!=`boolean`&&(e.showDescription=t.showDescription),delete y.showDescription,y.appearance=e}if(d&&u){let e={...u};for(let[t,n]of Object.entries(vr))e[n]===void 0&&u[t]!==void 0&&(e[n]=u[t]),delete e[t];y.aria=e}if(p&&f){let e={...f};if(e.type===void 0){let t=typeof f.visibility==`string`?f.visibility:void 0,n=t?_r[t]:f.enabled===!0?`personal`:void 0;n&&(e.type=n)}delete e.visibility,delete e.enabled,y.sharing=e}return h&&(y.viewType=`grid`),y}var W=t(i(),1),G=r(),K=(0,W.createContext)(null),br=({children:e,dataSource:t,debug:n,debugFlags:r,apiFetch:i})=>{let a=(0,W.useContext)(K),o=i??a?.apiFetch,s=(0,W.useMemo)(()=>({dataSource:t,debug:n,debugFlags:r,apiFetch:o}),[t,n,r,o]);return(0,G.jsx)(K.Provider,{value:s,children:e})},xr=()=>{let e=(0,W.useContext)(K);if(!e)throw Error(`useSchemaContext must be used within a SchemaRendererProvider`);return e},Sr=e=>{let t=(0,W.useContext)(K)?.dataSource;if(e&&t)return e.split(`.`).reduce((e,t)=>e&&e[t],t)},Cr=(0,W.createContext)({});function wr({scope:e,children:t}){return(0,W.createElement)(Cr.Provider,{value:e},t)}function q(){return(0,W.useContext)(Cr)}function Tr(e){if(!(e==null||e===``)){if(typeof e==`boolean`)return e;if(typeof e==`string`)return`\${${e}}`;if(typeof e==`object`&&typeof e.source==`string`){let t=e.source;return t?e.dialect===`cel`?{dialect:`cel`,source:t}:`\${${t}}`:void 0}}}var Er=new Set;function Dr(e,t={},n){let r=q();return(0,W.useMemo)(()=>{let i=new j({...r,...t});if(n?.throwOnError)try{return i.evaluateCondition(e,{throwOnError:!0})}catch(t){let r=typeof e==`string`?e:String(e),i=`${n?.label??``}::${r}`;if(!Er.has(i)){Er.add(i);let e=t instanceof Error?t.message:String(t);console.warn(`[object-ui] ${n?.label??`a component`} was hidden/disabled: its predicate threw — ${e}. Predicate: ${r}.`)}return!1}return i.evaluateCondition(e)},[e,t,r,n?.throwOnError,n?.label])}function Or(e,t,n){let r=q(),i=n?.fallback??!0;return(0,W.useMemo)(()=>typeof e==`boolean`?e:e==null||e===``?i:Ge(e,t??{},{fallback:i,scope:r,warnOnError:n?.warnOnError,label:n?.label}),[e,t,r,i,n?.warnOnError,n?.label])}var kr=(0,W.createContext)(null);function Ar(e){if(!e||e.length===0)return{};let t={};for(let n of e)if(n.defaultValue!==void 0)t[n.name]=n.defaultValue;else switch(n.type){case`number`:t[n.name]=0;break;case`boolean`:t[n.name]=!1;break;case`object`:t[n.name]={};break;case`array`:t[n.name]=[];break;default:t[n.name]=``;break}return t}var jr=({definitions:e,children:t})=>{let n=(0,W.useContext)(kr),[r,i]=(0,W.useState)(()=>Ar(e)),a=(0,W.useMemo)(()=>e??[],[e]),o=(0,W.useMemo)(()=>new Set(a.map(e=>e.name)),[a]),s=(0,W.useCallback)((e,t)=>{if(!o.has(e)&&n&&n.definitions.some(t=>t.name===e)){n.setVariable(e,t);return}i(n=>({...n,[e]:t}))},[o,n]),c=(0,W.useCallback)(e=>{for(let[t,n]of Object.entries(e))s(t,n)},[s]),l=(0,W.useCallback)(()=>{i(Ar(e))},[e]),u=(0,W.useMemo)(()=>n?{...n.variables,...r}:r,[n,r]),d=(0,W.useMemo)(()=>n?[...n.definitions.filter(e=>!o.has(e.name)),...a]:a,[n,a,o]),f=(0,W.useMemo)(()=>({variables:u,definitions:d,setVariable:s,setVariables:c,resetVariables:l}),[u,d,s,c,l]);return(0,G.jsx)(kr.Provider,{value:f,children:t})};jr.displayName=`PageVariablesProvider`;function J(){return(0,W.useContext)(kr)??Mr}var Mr=Object.freeze({variables:Object.freeze({}),definitions:Object.freeze([]),setVariable:()=>{},setVariables:()=>{},resetVariables:()=>{}});function Nr(e){let{variables:t,definitions:n,setVariable:r}=J();return(0,W.useMemo)(()=>{if(!e)return null;let i=n.find(t=>t.source===e);return i?{name:i.name,value:t[i.name],setValue:e=>r(i.name,e)}:null},[e,n,t,r])}function Pr(e){if(e!=null)return typeof e==`string`?e:e.defaultValue||e.key}var Fr=(()=>{try{return!1}catch{return!0}})(),Ir=typeof WeakMap<`u`?new WeakMap:{set(){},get(){},has(){return!1}},Y=typeof WeakSet<`u`?new WeakSet:{add(){},has(){return!1}};function Lr(e){if(!Fr||!e||typeof e!=`object`)return{valid:!0,messages:[]};let t=Ir.get(e);if(t)return t;let n={valid:!0,messages:[]};try{let t=p(e);if(!t.valid){let r=t.errors.map(e=>`${e.path}: ${e.message}`);n={valid:!1,messages:r},Y.has(e)||(Y.add(e),console.warn(`[ObjectUI] Invalid schema detected:
|
|
4
|
+
`+r.join(`
|
|
5
|
+
`),e))}}catch(t){Y.has(e)||(Y.add(e),console.warn(`[ObjectUI] Schema validator threw:`,t))}return Ir.set(e,n),n}function Rr(e){let t={};return e.ariaLabel&&(t[`aria-label`]=Pr(e.ariaLabel)),e.ariaDescribedBy&&(t[`aria-describedby`]=e.ariaDescribedBy),e.role&&(t.role=e.role),t}var zr=class extends W.Component{state={hasError:!1,error:null};static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidUpdate(e){this.state.hasError&&(e.componentType!==this.props.componentType||e.resetKey!==this.props.resetKey)&&this.setState({hasError:!1,error:null})}handleRetry=()=>{this.setState({hasError:!1,error:null})};render(){if(this.state.hasError&&this.state.error){let e=this.state.error;return en(e),(0,G.jsxs)(`div`,{className:`p-4 border border-orange-400 rounded bg-orange-50 text-orange-700 my-2`,role:`alert`,children:[(0,G.jsxs)(`p`,{className:`font-medium`,children:[`Component`,this.props.componentType?` "${this.props.componentType}"`:``,` failed to render`]}),(0,G.jsx)(`p`,{className:`text-sm mt-1`,children:e.message}),!1,(0,G.jsx)(`button`,{onClick:this.handleRetry,className:`mt-2 text-sm underline hover:no-underline`,children:`Retry`})]})}return this.props.children}},Br={},Vr=(0,W.forwardRef)(({schema:e,...t},n)=>{let r=(0,W.useContext)(K),i=r?.dataSource||Br,a=q(),{variables:o}=J(),[,c]=(0,W.useReducer)(e=>e+1,0);(0,W.useEffect)(()=>{let e=s.subscribe(c);return c(),e},[]);let[l,u]=(0,W.useState)(null),d=W.useId(),f=(0,W.useMemo)(()=>{if(!e||typeof e==`string`)return e;let t=new j({...a,current_user:a?.user,data:i,page:o}),n={...e};if(n.properties){let e=n.type,t=n.id,r=n.properties;for(let[e,t]of Object.entries(r))e===`type`||e===`id`||(n[e]=t);e!==void 0&&(n.type=e),t!==void 0&&(n.id=t),n.properties=r}if(typeof n.content==`string`&&(n.content=t.evaluate(n.content)),n.props){let e={...n.props};for(let[n,r]of Object.entries(e))e[n]=t.evaluate(r);n.props=e}return(n.visible===void 0?n.visibleWhen===void 0?n.visibleOn===void 0?n.visibility===void 0?n.hidden===void 0?n.hiddenOn!==void 0&&t.evaluateCondition(n.hiddenOn):t.evaluateCondition(n.hidden):!t.evaluateCondition(n.visibility):!t.evaluateCondition(n.visibleOn):!t.evaluateCondition(n.visibleWhen):!t.evaluateCondition(n.visible))&&(n._hidden=!0),(n.disabled===void 0?n.disabledOn!==void 0&&t.evaluateCondition(n.disabledOn):t.evaluateCondition(n.disabled))&&(n._disabled=!0),n},[e,i,a,o]);if(!f||f?._hidden)return null;if(typeof f==`string`)return(0,G.jsx)(G.Fragment,{children:f});let p=Fr?Lr(e):{valid:!0,messages:[]};rn(`schema`,`Rendering schema node`,{type:f.type,id:f.id});let m=s.get(f.type);if(!m){if(!l&&s.hasLazy(f.type)){let e=s.loadLazy(f.type);if(e)return e.catch(e=>{u(e instanceof Error?e:Error(String(e)))}),(0,G.jsxs)(`div`,{className:`p-2 text-sm text-muted-foreground animate-pulse`,role:`status`,"aria-live":`polite`,"data-lazy-loading":f.type,children:[`Loading `,(0,G.jsx)(`code`,{children:f.type}),`…`]})}return rn(`schema`,`Component not found in registry`,{type:f.type}),Qt[`OBJUI-001`],(0,G.jsxs)(`div`,{className:`p-4 border border-red-500 rounded text-red-500 bg-red-50 my-2`,role:`alert`,children:[(0,G.jsxs)(`p`,{className:`font-medium`,children:[`Unknown component type: `,(0,G.jsx)(`strong`,{children:f.type})]}),l&&(0,G.jsxs)(`p`,{className:`text-xs mt-1`,children:[`Failed to load plugin: `,l.message]}),!1,(0,G.jsx)(`pre`,{className:`text-xs mt-2 overflow-auto`,children:JSON.stringify(f,null,2)})]})}let{type:h,children:g,body:_,schema:v,visible:y,visibleWhen:b,visibleOn:ee,visibility:te,hidden:ne,hiddenOn:re,disabled:ie,disabledOn:ae,_hidden:oe,_disabled:x,responsiveStyles:S,...se}=f,C=pn(S),w=C?mn(f.id??d):``,ce=C?hn(`.${w}`,S):``,le=w?[f.className,w].filter(Boolean).join(` `):f.className,ue=w?{...f,className:le}:f,de=Rr(f),fe=r?.debug||r?.debugFlags?.enabled,T={};fe&&(T[`data-debug-type`]=f.type,f.id&&(T[`data-debug-id`]=f.id)),on(`render:${f.type}:${f.id??`anon`}`);let E=fe?performance.now():0,pe=(0,G.jsxs)(zr,{componentType:f.type,resetKey:f.id??null,children:[ce?(0,G.jsx)(`style`,{"data-os-scope":w,dangerouslySetInnerHTML:{__html:ce}}):null,W.createElement(m,{schema:ue,...se,...f.props||{},...de,...T,disabled:x||void 0,className:le,"data-obj-id":f.id,"data-obj-type":f.type,...Fr&&!p.valid?{"data-obj-schema-invalid":`true`}:{},...t})]});if(sn(`render:${f.type}:${f.id??`anon`}`),fe&&E){let e=performance.now()-E;ln.getInstance().addPerf({type:f.type,id:f.id,durationMs:e,timestamp:Date.now()})}return pe});Vr.displayName=`SchemaRenderer`;var Hr=(0,W.createContext)({});function Ur({currentUserId:e,currentOrgId:t,children:n}){let r=(0,W.useMemo)(()=>({currentUserId:e,currentOrgId:t}),[e,t]);return(0,W.createElement)(Hr.Provider,{value:r},n)}function Wr(){return(0,W.useContext)(Hr)}function Gr(e={}){let{context:t={},onConfirm:n,onToast:r,onModal:i,onNavigate:a,onParamCollection:o,onResultDialog:s}=`context`in e?e:{context:e},[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(null),m=(0,W.useMemo)(()=>{let e=new F(t);return n&&e.setConfirmHandler(n),r&&e.setToastHandler(r),i&&e.setModalHandler(i),a&&e.setNavigationHandler(a),o&&e.setParamCollectionHandler(o),s&&e.setResultDialogHandler(s),e},[JSON.stringify(t)]);return{execute:(0,W.useCallback)(async e=>{l(!0),d(null),p(null);try{let t=await m.execute(e);return p(t),t.success||d(t.error||`Action failed`),t}catch(e){let t=e.message;d(t);let n={success:!1,error:t};return p(n),n}finally{l(!1)}},[m]),loading:c,error:u,result:f,updateContext:(0,W.useCallback)(e=>{m.updateContext(e)},[m]),runner:m}}var Kr={sm:`min(92vw, 480px)`,md:`min(92vw, 720px)`,lg:`min(92vw, 960px)`,xl:`min(92vw, 1200px)`,full:`min(92vw, 1600px)`};function qr(e){if(!e)return;if(e.width!==void 0)return e.width;let t=e.size;if(t&&t!==`auto`)return Kr[t]}function Jr(e){let{navigation:t,objectName:n,onNavigate:r,onRowClick:i}=e,[a,o]=(0,W.useState)(!1),[s,c]=(0,W.useState)(null),l=t?.mode??`page`,u=qr(t),d=t?.view,f=l===`drawer`||l===`modal`||l===`split`||l===`popover`,p=(0,W.useCallback)(()=>{o(!1),c(null)},[]),m=(0,W.useCallback)(e=>{c(e),o(!0)},[]),h=(0,W.useCallback)((e,a)=>{if(i){i(e,a);return}if(a&&(a.metaKey||a.ctrlKey||a.button===1)){let t=e.id||e._id;if(r&&t!=null){r(t,`new_window`);return}}if(!t){let t=e.id||e._id;r&&t!=null&&r(t,d??`view`);return}if(!(l===`none`||t.preventNavigation)){if(l===`new_window`||t.openNewTab){let t=e.id||e._id;if(r&&t!=null){r(t,`new_window`);return}let i=encodeURIComponent(String(t)),a=n?`/${n}/record/${i}`:`/${i}`;window.open(a,`_blank`);return}if(l===`page`){let t=e.id||e._id;r&&t!=null&&r(t,d??`view`);return}if(f){c(e),o(!0);return}}},[i,t,l,n,r,f,d]);return(0,W.useMemo)(()=>({isOpen:a,selectedRecord:s,mode:l,close:p,open:m,setIsOpen:o,handleClick:h,width:u,view:d,isOverlay:f}),[a,s,l,p,m,h,u,d,f])}var Yr=(0,W.createContext)(!1),Xr=({value:e=!0,children:t})=>(0,G.jsx)(Yr.Provider,{value:e,children:t}),Zr=()=>(0,W.useContext)(Yr),X=(0,W.createContext)(null),Qr=({children:e,context:t={},onConfirm:n,onToast:r,onModal:i,onNavigate:a,onParamCollection:o,onResultDialog:s,handlers:c})=>{let[l,u]=(0,W.useState)(!1),[d,f]=(0,W.useState)(null),[p,m]=(0,W.useState)(null),h=(0,W.useMemo)(()=>{let e=new F({...t,ctx:t&&typeof t.ctx==`object`?{...t,...t.ctx}:{...t}});return n&&e.setConfirmHandler(n),r&&e.setToastHandler(r),i&&e.setModalHandler(i),a&&e.setNavigationHandler(a),o&&e.setParamCollectionHandler(o),s&&e.setResultDialogHandler(s),c&&Object.entries(c).forEach(([t,n])=>{e.registerHandler(t,n)}),e},[JSON.stringify(t)]),g=(0,W.useCallback)(async e=>{u(!0),f(null),m(null);try{let t=await h.execute(e);return m(t),t.success||f(t.error||`Action failed`),t}catch(e){let t=e.message;f(t);let n={success:!1,error:t};return m(n),n}finally{u(!1)}},[h]),_=(0,W.useCallback)(async(e,t)=>{u(!0),f(null),m(null);try{let n=await h.executeChain(e,t);return m(n),n.success||f(n.error||`Chain failed`),n}catch(e){let t=e.message;f(t);let n={success:!1,error:t};return m(n),n}finally{u(!1)}},[h]),v=(0,W.useCallback)(e=>{h.updateContext(e)},[h]),y=(0,W.useMemo)(()=>({execute:g,executeChain:_,loading:l,error:d,result:p,runner:h,updateContext:v}),[g,_,l,d,p,h,v]);return(0,G.jsx)(X.Provider,{value:y,children:e})};Qr.displayName=`ActionProvider`;function $r(){let e=(0,W.useContext)(X);if(!e){let e=new F;return{execute:t=>e.execute(t),executeChain:(t,n)=>e.executeChain(t,n),loading:!1,error:null,result:null,runner:e,updateContext:t=>e.updateContext(t)}}return e}function ei(){return(0,W.useContext)(X)!==null}(0,W.createContext)(null);var Z={toast:{surface:`delegate`,transient:!0},snackbar:{surface:`snackbar`,transient:!0},banner:{surface:`banner`,transient:!1},alert:{surface:`alert`,transient:!1},inline:{surface:`inline`,transient:!1}};function ti(e){return e===`modal`?`alert`:e&&e in Z?e:`toast`}new Set(Object.keys(Z));var ni=new Set([`top_left`,`top_center`,`top_right`,`bottom_left`,`bottom_center`,`bottom_right`]);function ri(e={}){return{defaultPosition:e.defaultPosition??e.position,defaultDuration:e.defaultDuration??5e3,maxVisible:e.stacking===!1?1:e.maxVisible??5,stackDirection:e.stackDirection??`down`,pauseOnHover:e.pauseOnHover??!0}}var ii=0,ai=(()=>{try{return!1}catch{return!0}})(),oi={delegate:"pass `onToast` to <NotificationProvider>",snackbar:`mount <NotificationSnackbar /> from @object-ui/components`,banner:`mount <NotificationBanners /> from @object-ui/components`,alert:`mount <NotificationAlerts /> from @object-ui/components`,inline:`mount <NotificationInline /> from @object-ui/components at the raising surface`},si=(0,W.createContext)(null),ci=({children:e,config:t={},onToast:n})=>{let r=(0,W.useMemo)(()=>ri(t),[JSON.stringify(t)]),[i,a]=(0,W.useState)([]),o=(0,W.useRef)(new Map),s=(0,W.useRef)(new Map),c=(0,W.useCallback)((e,t)=>{let n=setTimeout(()=>{s.current.delete(e),a(t=>t.filter(t=>t.id!==e))},t);s.current.set(e,{handle:n,endsAt:Date.now()+t,left:t})},[]),l=(0,W.useCallback)(e=>{let t=s.current.get(e);t&&(clearTimeout(t.handle),s.current.set(e,{...t,left:Math.max(0,t.endsAt-Date.now())}))},[]),u=(0,W.useCallback)(e=>{let t=s.current.get(e);t&&(clearTimeout(t.handle),c(e,t.left))},[c]);(0,W.useEffect)(()=>()=>{for(let{handle:e}of s.current.values())clearTimeout(e);s.current.clear()},[]);let d=(0,W.useCallback)(e=>{let t=o.current;return t.set(e,(t.get(e)??0)+1),()=>{let n=(t.get(e)??1)-1;n>0?t.set(e,n):t.delete(e)}},[]),f=(0,W.useCallback)(e=>{let t=`notification-${++ii}`,i=ti(e.displayType),{surface:s,transient:l}=Z[i],u={...e,displayType:i,id:t,createdAt:new Date,read:!1};a(e=>[u,...e]),s===`delegate`&&n?.(u,r),ai&&s!==`delegate`&&(o.current.get(s)??0)===0&&console.warn(`[NotificationProvider] "${u.title}" declares displayType '${i}' but no ${i} surface is mounted, so it will not be shown. To present it, ${oi[s]}.`);let d=e.duration??(l?r.defaultDuration:0);return d>0&&c(t,d),t},[r,n,c]),p=(0,W.useCallback)((e,t)=>f({title:e,message:t,severity:`info`}),[f]),m=(0,W.useCallback)((e,t)=>f({title:e,message:t,severity:`success`}),[f]),h=(0,W.useCallback)((e,t)=>f({title:e,message:t,severity:`warning`}),[f]),g=(0,W.useCallback)((e,t)=>f({title:e,message:t,severity:`error`}),[f]),_=(0,W.useCallback)(e=>{a(t=>t.map(t=>t.id===e?{...t,read:!0}:t))},[]),v=(0,W.useCallback)(()=>{a(e=>e.map(e=>({...e,read:!0})))},[]),y=(0,W.useCallback)(e=>{let t=s.current.get(e);t&&(clearTimeout(t.handle),s.current.delete(e)),a(t=>t.filter(t=>t.id!==e))},[]),b=(0,W.useCallback)(()=>{a([])},[]),ee=(0,W.useMemo)(()=>i.filter(e=>!e.read).length,[i]),te=(0,W.useMemo)(()=>({notifications:i,unreadCount:ee,notify:f,info:p,success:m,warning:h,error:g,markAsRead:_,markAllAsRead:v,dismiss:y,clearAll:b,config:r,pauseAutoDismiss:l,resumeAutoDismiss:u,registerSurface:d}),[i,ee,f,p,m,h,g,_,v,y,b,r,l,u,d]);return(0,G.jsx)(si.Provider,{value:te,children:e})};ci.displayName=`NotificationProvider`;function li(){let e=(0,W.useContext)(si);if(!e)throw Error(`useNotifications must be used within a <NotificationProvider>. Wrap your app with <NotificationProvider> to use the notification system.`);return e}function ui(){return(0,W.useContext)(si)!==null}function di(e,t){let n=t.maxVisible>0?e.slice(0,t.maxVisible):e;return t.stackDirection===`up`?n:[...n].reverse()}function fi(e,t){let n=e.position??t?.defaultPosition;if(!n)return;let r=n.replace(/-/g,`_`);return ni.has(r)?r:void 0}function pi(e,t){let{notifications:n,registerSurface:r}=li(),{surface:i}=Z[e];return(0,W.useEffect)(()=>r(i),[r,i]),(0,W.useMemo)(()=>n.filter(n=>ti(n.displayType)===e&&(e!==`inline`||(n.scope??void 0)===t)),[n,e,t])}var mi=(0,W.createContext)(null),hi=({children:e,config:t={},onDragStart:n,onDrop:r,onDragCancel:i})=>{let a=(0,W.useMemo)(()=>({enabled:!0,showPreview:!0,autoScroll:!0,...t}),[JSON.stringify(t)]),[o,s]=(0,W.useState)(null),[c]=(0,W.useState)(()=>new Map),l=(0,W.useCallback)(e=>{a.enabled&&(s(e),n?.({item:e,targetZoneId:null,effect:`move`}))},[a.enabled,n]),u=(0,W.useCallback)(e=>{if(!o)return;let t=(e?c.get(e):void 0)?.effect??`move`;r?.({item:o,targetZoneId:e??null,effect:t}),s(null)},[o,c,r]),d=(0,W.useCallback)(()=>{o&&(i?.({item:o,targetZoneId:null,effect:`none`}),s(null))},[o,i]),f=(0,W.useCallback)(e=>{c.set(e.id,e)},[c]),p=(0,W.useCallback)(e=>{c.delete(e)},[c]),m=(0,W.useCallback)((e,t)=>{let n=c.get(e);return!n||n.disabled?!1:n.acceptTypes.includes(t)},[c]),h=(0,W.useMemo)(()=>({config:a,enabled:a.enabled??!0,activeItem:o,dropZones:c,startDrag:l,endDrag:u,cancelDrag:d,registerDropZone:f,unregisterDropZone:p,canDrop:m}),[a,o,c,l,u,d,f,p,m]);return(0,G.jsx)(mi.Provider,{value:h,children:e})};hi.displayName=`DndProvider`;function gi(){let e=(0,W.useContext)(mi);if(!e)throw Error(`useDnd must be used within a <DndProvider>. Wrap your app with <DndProvider> to use the drag and drop system.`);return e}function _i(){return(0,W.useContext)(mi)!==null}var vi=(0,W.createContext)(null);function yi(){return(0,W.useContext)(vi)}var bi=(0,W.createContext)(null);function xi(){return(0,W.useContext)(bi)||{apps:[],objects:[],dashboards:[],reports:[],pages:[],loading:!1,error:null,refresh:async()=>{},invalidate:()=>{},ensureType:async()=>[],getItem:async()=>null,getItemsByType:()=>[],getTypeStatus:()=>`ready`}}function Si(e,t){let{getItem:n}=xi(),[r,i]=(0,W.useState)({item:null,loading:!!t,error:null});return(0,W.useEffect)(()=>{if(!t){i({item:null,loading:!1,error:null});return}let r=!1;return i(e=>({...e,loading:!0,error:null})),n(e,t).then(e=>{r||i({item:e,loading:!1,error:null})}).catch(e=>{r||i({item:null,loading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{r=!0}},[e,t,n]),r}var Ci=W.createContext(null),wi=({children:e})=>{let t=W.useMemo(()=>{let e=new Map,t=ki,n=new Set,r=()=>{let r=new Set;for(let t of e.values())for(let e of t)r.add(e);if(r.size===t.size){let e=!0;for(let n of r)if(!t.has(n)){e=!1;break}if(e)return}t=r,n.forEach(e=>e())};return{getNames:()=>t,subscribe:e=>(n.add(e),()=>{n.delete(e)}),register:(t,n)=>{let i=e.get(t);i&&i.length===n.length&&i.every((e,t)=>e===n[t])||(e.set(t,[...n]),r())},unregister:t=>{e.delete(t)&&r()}}},[]);return(0,G.jsx)(Ci.Provider,{value:t,children:e})};function Ti(){let e=W.useContext(Ci);return W.useSyncExternalStore(e?e.subscribe:Di,e?e.getNames:Oi,e?e.getNames:Oi)}function Ei(e,t){let n=W.useContext(Ci),r=t.join(`|`);W.useEffect(()=>{if(n)return n.register(e,r.length===0?[]:r.split(`|`)),()=>n.unregister(e)},[n,e,r])}var Di=e=>()=>{},Oi=()=>ki,ki=new Set,Ai=W.createContext(null),ji=({children:e,...t})=>{let n=W.useMemo(()=>t,[t.objectName,t.recordId,t.dataSource,t.data,t.objectSchema,t.loading,t.error,t.refresh,t.embedded,t.headerSystemActions,t.isFavorite,t.onToggleFavorite]);return(0,G.jsx)(Ai.Provider,{value:n,children:e})};function Mi(){return W.useContext(Ai)}var Ni=W.createContext(null),Pi=({canEdit:e=!0,locked:t=!1,approvalPending:n,lockedReason:r,children:i})=>{let a=n??t,[o,s]=W.useState(!1),[c,l]=W.useState({}),[u,d]=W.useState(null),[f,p]=W.useState(!1),[m,h]=W.useState(null),g=W.useCallback(t=>{e&&(d(t??null),s(!0),h(null))},[e]),_=W.useCallback((e,t)=>{l(n=>({...n,[e]:t}))},[]),v=W.useCallback(()=>{l({}),s(!1),d(null),p(!1),h(null)},[]),y=W.useMemo(()=>({editing:o,canEdit:e,locked:t,approvalPending:a,lockedReason:r,draft:c,autoFocusField:u,saving:f,error:m,enter:g,setField:_,cancel:v,reset:v,setSaving:p,setError:h}),[o,e,t,a,r,c,u,f,m,g,_,v]);return(0,G.jsx)(Ni.Provider,{value:y,children:i})};function Fi(){return W.useContext(Ni)}var Ii=W.createContext(null),Li=({children:e,...t})=>{let n=W.useMemo(()=>t,[t.items,t.onAddComment,t.onAddReply,t.onToggleReaction,t.mentionSuggestions,t.onUploadAttachments,t.loading,t.error]);return(0,G.jsx)(Ii.Provider,{value:n,children:e})};function Ri(){return W.useContext(Ii)}var zi=(0,W.createContext)({}),Bi=({value:e,children:t})=>(0,G.jsx)(zi.Provider,{value:e,children:t});function Vi(){return(0,W.useContext)(zi)}var Hi=(0,W.createContext)(null),Ui=({value:e,children:t})=>(0,G.jsx)(Hi.Provider,{value:e,children:t});function Wi(){return(0,W.useContext)(Hi)}function Gi(){let{variables:e}=J(),{updateContext:t}=$r();return W.useEffect(()=>(t({pageVariables:e}),()=>{t({pageVariables:{}})}),[e,t]),null}Gi.displayName=`PageVariableActionBridge`;function Ki(e){return!e||!(e.enabled===!1||e.handlerReady===!1||e.status===`stub`||e.status===`unavailable`)}[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`, `);var qi={compact:32,comfortable:40,spacious:52},Ji={compact:`py-1 px-2`,comfortable:`py-2 px-3`,spacious:`py-3 px-4`},Yi={compact:`text-xs`,comfortable:`text-sm`,spacious:`text-base`},Xi=[`compact`,`comfortable`,`spacious`];function Zi(e=`comfortable`,t){let[n,r]=(0,W.useState)(e),i=t?.rowHeights??qi,a=t?.paddingClasses??Ji,o=t?.fontSizeClasses??Yi,s=(0,W.useRef)(t?.onChange);(0,W.useEffect)(()=>{s.current=t?.onChange},[t?.onChange]);let c=(0,W.useRef)(e);(0,W.useEffect)(()=>{e!==c.current&&(c.current=e,r(e))},[e]);let l=(0,W.useCallback)(e=>{r(t=>t===e?t:(queueMicrotask(()=>s.current?.(e)),e))},[]),u=(0,W.useCallback)(()=>{r(e=>{let t=Xi[(Xi.indexOf(e)+1)%Xi.length];return queueMicrotask(()=>s.current?.(t)),t})},[]);return(0,W.useMemo)(()=>({mode:n,setMode:l,cycle:u,rowHeight:i[n],paddingClass:a[n],fontSizeClass:o[n]}),[n,l,u,i,a,o])}function Qi(e){return typeof window>`u`?()=>{}:(window.addEventListener(`online`,e),window.addEventListener(`offline`,e),()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,e)})}function $i(){return typeof navigator<`u`?navigator.onLine:!0}function ea(){return!0}var ta=`objectui-offline-queue`;function na(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(ta);return e?JSON.parse(e):[]}catch{return[]}}function ra(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(ta,JSON.stringify(e))}catch{}}var ia=0;function aa(){return ia+=1,`mut_${Date.now()}_${ia}`}var Q={enabled:!0,strategy:`network_first`,offlineIndicator:!0,offlineMessage:`You are currently offline. Changes will be synced when reconnected.`,queueMaxSize:100};function oa(e={}){let{enabled:t=Q.enabled,strategy:n=Q.strategy,offlineIndicator:r=Q.offlineIndicator,offlineMessage:i=Q.offlineMessage,queueMaxSize:a=Q.queueMaxSize,sync:o}=e,s=(0,W.useSyncExternalStore)(Qi,$i,ea),[c,l]=(0,W.useState)(na),[u,d]=(0,W.useState)(`idle`),f=(0,W.useRef)(o);f.current=o,(0,W.useEffect)(()=>{ra(c)},[c]),(0,W.useEffect)(()=>{t&&(s?u===`offline`&&d(`idle`):d(`offline`))},[s,t,u]);let p=(0,W.useCallback)(e=>{t&&l(t=>{let n={...e,id:aa(),timestamp:Date.now()},r=[...t,n];return r.length>a?r.slice(r.length-a):r})},[t,a]),m=(0,W.useCallback)(()=>{l([])},[]),h=(0,W.useCallback)(async()=>{if(!(!t||c.length===0)){d(`syncing`);try{let e=f.current?.batchSize??c.length,t=c.slice(0,e);await new Promise(e=>setTimeout(e,0)),l(e=>e.filter(e=>!t.some(t=>t.id===e.id))),d(`idle`)}catch{d(`error`)}}},[t,c]);return(0,W.useEffect)(()=>{if(!t||!s||c.length===0)return;let e=setTimeout(()=>{h()},100);return()=>clearTimeout(e)},[s,t]),(0,W.useMemo)(()=>({isOnline:s,enabled:t,syncState:u,strategy:n,pendingCount:c.length,queueMutation:p,sync:h,clearQueue:m,showIndicator:r&&!s,offlineMessage:i}),[s,t,u,n,c.length,p,h,m,r,i])}function sa(){return{canUndo:N.canUndo,canRedo:N.canRedo,undoDescription:N.peekUndo()?.description,redoDescription:N.peekRedo()?.description,history:N.getHistory()}}function ca(){return{canUndo:!1,canRedo:!1,undoDescription:void 0,redoDescription:void 0,history:[]}}var la=sa();function ua(e){return N.subscribe(()=>{la=sa(),e()})}function da(){return la}function fa(e={}){let t=(0,W.useRef)(e);t.current=e;let n=(0,W.useSyncExternalStore)(ua,da,ca),r=(0,W.useCallback)(async(e,n,r)=>{let i=t.current.dataSource;if(!i)return;let a=r===`undo`?{create:`delete`,update:`update`,delete:`create`}[e.type]:e.type;a===`delete`?await i.delete(e.objectName,e.recordId):a===`update`?await i.update(e.objectName,e.recordId,n):await i.create(e.objectName,n)},[]),i=(0,W.useCallback)(async()=>{let e=N.popUndo();e&&(await r(e,e.undoData,`undo`),t.current.onUndo?.(e))},[r]),a=(0,W.useCallback)(async()=>{let e=N.popRedo();e&&(await r(e,e.redoData,`redo`),t.current.onRedo?.(e))},[r]);return(0,W.useEffect)(()=>{let e=e=>{!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!==`z`||(e.preventDefault(),e.shiftKey?a():i())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,a]),(0,W.useMemo)(()=>({...n,undo:i,redo:a}),[n,i,a])}function pa(e={}){let{actions:t=[],context:n={}}=e,r=(0,W.useContext)(X)?.runner??null,i=(0,W.useMemo)(()=>{let e=n&&Object.keys(n).length>0?{...n,ctx:n.ctx&&typeof n.ctx==`object`?{...n,...n.ctx}:{...n}}:n,i=r?new Lt(r):new Lt(e);if(r&&n&&Object.keys(n).length>0){let e=i.getRunner(),t=e.getEvaluator().getContext().toObject(),r=t&&typeof t.ctx==`object`?t.ctx:{},a=n.ctx&&typeof n.ctx==`object`?n.ctx:n,o={...n,ctx:{...r,...a}};e.updateContext(o)}return i.registerActions(t),i},[r,JSON.stringify(t),JSON.stringify(n)]);return{getActionsForLocation:(0,W.useCallback)(e=>i.getActionsForLocation(e),[i]),getBulkActions:(0,W.useCallback)(()=>i.getBulkActions(),[i]),executeAction:(0,W.useCallback)((e,t)=>i.executeAction(e,t),[i]),handleShortcut:(0,W.useCallback)(e=>i.handleShortcut(e),[i]),engine:i}}function ma(){let e=(0,W.useContext)(X),t=q(),n=e?.runner?.getContext?.()?.user;if(Array.isArray(n?.systemPermissions))return n.systemPermissions;let r=t?.user;if(Array.isArray(r?.systemPermissions))return r.systemPermissions}function ha(){let e=ma();return(0,W.useCallback)(t=>!Array.isArray(t)||t.length===0||!Array.isArray(e)||t.every(t=>typeof t==`string`&&e.includes(t)),[e])}function ga(e,t){return!0}function _a(e,t={}){let n=xi(),[r,i]=(0,W.useState)(!1),[a,o]=(0,W.useState)(null);(0,W.useEffect)(()=>{let e=!1;if(!n.ensureType){i(!0);return}return n.ensureType(`page`).then(()=>{e||(i(!0),o(null))}).catch(t=>{e||(o(t instanceof Error?t:Error(String(t))),i(!0))}),()=>{e=!0}},[n]);let s=(0,W.useMemo)(()=>{if(!e&&!t.pageName)return null;let r=Array.isArray(n.pages)?n.pages:[];if(!r.length)return null;if(t.pageName)return r.find(e=>e?.name===t.pageName)??null;let i=r.filter(n=>!n||(n.pageType??(n.type===`record`?`record`:void 0))!==`record`||n.object!==e?!1:ga(n,t));return i.length?(i.sort((e,t)=>(t?.priority??0)-(e?.priority??0)),i[0]):null},[n.pages,e,t.pageName,t.recordType,t.profile,t.app,t.formFactor]),{page:c,slots:l}=(0,W.useMemo)(()=>s?s.kind===`slotted`?{page:null,slots:s.slots??{}}:{page:s,slots:null}:{page:null,slots:null},[s]);return{page:c,slots:l,loading:n.loading||!r,error:a??n.error??null}}function va(e,t,n){if(!e)return 0;let r=e.toLowerCase(),i=(t||``).toLowerCase();return(n||``).toLowerCase()===r?110:i===r?100:i.startsWith(r)?80:i.split(/[\s_\-/.,:;()[\]]+/).filter(Boolean).some(e=>e.startsWith(r))?60:i.includes(r)?40:0}function ya(e){let{query:t,objects:n,dataSource:r,objectNames:i,maxObjectsQueried:a=8,topPerObject:o=3,minLength:s=2,debounceMs:c=250,enabled:l=!0,getDisplayName:u=Ee}=e,[d,f]=(0,W.useState)([]),[p,m]=(0,W.useState)(!1),[h,g]=(0,W.useState)(void 0),_=(0,W.useMemo)(()=>{if(!Array.isArray(n)||n.length===0)return[];let e;if(Array.isArray(i)&&i.length>0){let t=new Map;for(let e of n){let n=e?.name;typeof n==`string`&&t.set(n,e)}e=i.map(e=>t.get(e)).filter(e=>e!=null)}else e=n.filter(e=>e?.searchable!==!1);return e},[n,i]),v=(0,W.useMemo)(()=>_.map(e=>`${e?.name}:${e?.titleField??``}`).join(`|`),[_]),y=(0,W.useRef)(0);return(0,W.useEffect)(()=>{if(!l||!r||_.length===0){f([]),m(!1),g(void 0);return}let e=(t??``).trim();if(e.length<s){f([]),m(!1),g(void 0);return}let n=++y.current;m(!0),g(void 0);let i=setTimeout(()=>{if(y.current!==n)return;let t=r.searchAll;if(typeof t==`function`){let i=new Map;for(let e of _)typeof e?.name==`string`&&i.set(e.name,e);Promise.resolve().then(()=>t.call(r,e,{limit:a*o,objects:Array.from(i.keys())})).then(t=>{if(y.current!==n)return;let r=Array.isArray(t?.hits)?t.hits:Array.isArray(t)?t:[],a=[];for(let t of r){let n=t?.object??t?.objectName;if(typeof n!=`string`||i.size>0&&!i.has(n))continue;let r=t?.id??t?.record?.id??t?.record?._id;if(r==null)continue;let o=i.get(n)??{name:n},s=(typeof t?.title==`string`&&t.title.trim()!==``?t.title.trim():``)||u(o,t?.record??{})||`Record #${r}`,c=typeof t?.snippet==`string`?t.snippet.trim():``;a.push({objectName:n,objectLabel:typeof o.label==`string`&&o.label.length>0?o.label:n,recordId:String(r),display:s,subtitle:c&&c!==s?c:void 0,icon:o?.icon,score:va(e,s,String(r)),raw:t?.record??t})}a.sort((e,t)=>(t.score===110)-+(e.score===110)),f(a),m(!1),g(void 0)}).catch(e=>{y.current===n&&(f([]),m(!1),g(e instanceof Error?e:Error(String(e))))});return}let i=_.slice(0,a).map(t=>Promise.resolve().then(()=>r.find(t.name,{$search:e,$top:o})).then(e=>({obj:t,res:e,err:null})).catch(e=>({obj:t,res:null,err:e})));Promise.allSettled(i).then(t=>{if(y.current!==n)return;let r=[],i;for(let n of t){if(n.status!==`fulfilled`)continue;let{obj:t,res:a,err:s}=n.value;if(s){let e=s?.httpStatus??s?.status;if(s?.code,e===404||wt(s,`OBJECT_NOT_FOUND`))continue;i=s instanceof Error?s:Error(String(s));continue}let c=Array.isArray(a?.data)?a.data:Array.isArray(a)?a:[];for(let n of c.slice(0,o)){let i=n?.id??n?._id;if(i==null)continue;let a=u(t,n);r.push({objectName:t.name,objectLabel:typeof t.label==`string`&&t.label.length>0?t.label:t.name,recordId:String(i),display:a,icon:t?.icon,score:va(e,a,String(i)),raw:n})}}r.sort((e,t)=>t.score-e.score),f(r),m(!1),g(i)})},c);return()=>{clearTimeout(i)}},[t,l,r,v,o,a,s,c,u]),{results:d,isSearching:p,error:h}}var ba=new Set,xa=`objectui:related-changed`;function Sa(e){for(let t of Array.from(ba))try{t(e)}catch{}typeof window<`u`&&window.dispatchEvent(new CustomEvent(xa,{detail:{objectName:e.objectName,recordId:e.recordId}}))}function Ca(e){return ba.add(e),()=>ba.delete(e)}function wa(e,t,n){return e.objectName===`*`?!0:e.objectName===t?n===void 0||e.recordId===void 0||e.recordId===n:!1}function Ta(e,t){let[n,r]=(0,W.useState)(0);return(0,W.useEffect)(()=>{if(e)return Ca(n=>{wa(n,e,t)&&r(e=>e+1)})},[e,t]),n}function Ea(e){(0,W.useEffect)(()=>{let t=e;if(t?.onMutation)return t.onMutation(e=>{e?.resource&&Sa({objectName:e.resource,recordId:e.id==null?void 0:String(e.id)})})},[e])}function $(...e){for(let t of e)if(typeof t==`string`&&t.trim())return t;return null}function Da(e){let t=e,n=t&&typeof t==`object`?$(t.details?.error,t.details?.message,t.error):null;if(!n){let r=e instanceof Error?e.message:typeof e==`string`?e:typeof t?.message==`string`?t.message:``,i=r.indexOf(`{`);if(i>=0)try{let e=JSON.parse(r.slice(i));n=$(e?.error,e?.message)}catch{}!n&&r.trim()&&(n=r)}return n&&n.replace(/^\[[^\]]+\]\s*/,``).replace(/^[A-Z][A-Z0-9_]+:\s*/,``).trim()||null}function Oa(e){let t=e;if(!t||typeof t!=`object`)return null;let n=Array.isArray(t.validationErrors)&&t.validationErrors||Array.isArray(t.details?.fields)&&t.details.fields||Array.isArray(t.fields)&&t.fields||null;if(!n||!Array.isArray(n))return null;let r=[];for(let e of n){if(!e||typeof e!=`object`)continue;let t=e,n=$(t.field,t.name,t.path);if(!n)continue;let i=$(t.message,t.error,t.code)??``;r.push({field:n,message:i})}return r.length>0?r:null}function ka(e){let t=e;if(!t||typeof t!=`object`)return!1;if((t.httpStatus??t.status??t.statusCode)===403)return!0;let n=$(t.code,t.details?.code)??``;if(n===`PERMISSION_DENIED`||n===`FORBIDDEN`)return!0;let r=`${typeof t.message==`string`?t.message:``} ${t.details?.error??t.error??``}`;return/row-level security|access denied|permission denied|not permitted/i.test(r)}var Aa=n(((t,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{ObjectLogger:()=>g,createLogger:()=>_}),n.exports=l(u);var d={debug:0,info:1,warn:2,error:3,fatal:4,silent:5},f={debug:`\x1B[36m`,info:`\x1B[32m`,warn:`\x1B[33m`,error:`\x1B[31m`,fatal:`\x1B[35m`,silent:``},p=`\x1B[0m`;function m(e){if(typeof process<`u`){let e={}.NO_COLOR;if(e!==void 0&&e!==``)return!1}return!!e?.isTTY}function h(t){if(typeof process>`u`)return;let n=process.getBuiltinModule;if(typeof n==`function`)try{return n.call(process,`node:${t}`)}catch{return}try{return e(t)}catch{return}}var g=class e{constructor(e={},t={}){this.ownsFileStream=!1,this.fileLoggingDisabled=!1,this.config={name:e.name,level:e.level??`info`,format:e.format??`pretty`,redact:e.redact??[`password`,`token`,`secret`,`key`],sourceLocation:e.sourceLocation??!1,file:e.file,rotation:e.rotation??{maxSize:`10m`,maxFiles:5}},this.bindings=t,this.config.file&&typeof process<`u`&&this.openFileStream(this.config.file)}openFileStream(e){let t=h(`fs`),n=h(`path`);if(!t||!n){this.disableFileLogging(e,`no filesystem access in this runtime`);return}try{t.mkdirSync(n.dirname(e),{recursive:!0});let r=t.createWriteStream(e,{flags:`a`});r.on(`error`,t=>this.disableFileLogging(e,t.message)),this.fileStream=r,this.ownsFileStream=!0}catch(t){this.disableFileLogging(e,t.message)}}disableFileLogging(e,t){if(this.fileStream=void 0,this.ownsFileStream=!1,this.fileLoggingDisabled)return;this.fileLoggingDisabled=!0;let n=`${this.config.name?`[${this.config.name}] `:``}logger: file logging disabled \u2014 cannot write to ${e}: ${t}`;typeof process<`u`&&process.stderr?process.stderr.write(n+`
|
|
6
|
+
`):typeof console<`u`&&console.warn(n)}isEnabled(e){return d[e]>=d[this.config.level]}redactSensitive(e){if(!e||typeof e!=`object`)return e;let t=Array.isArray(e)?[...e]:{...e};for(let e in t){let n=e.toLowerCase();this.config.redact.some(e=>n.includes(e.toLowerCase()))?t[e]=`***REDACTED***`:typeof t[e]==`object`&&t[e]!==null&&(t[e]=this.redactSensitive(t[e]))}return t}write(e,t,n,r){if(!this.isEnabled(e))return;let i=this.redactSensitive({...this.bindings,...n,...r?{error:{message:r.message,stack:r.stack}}:{}}),a=Object.keys(i).length>0,o=new Date().toISOString(),s=e===`error`||e===`fatal`,c=typeof process<`u`?process:void 0,l=c?s?c.stderr:c.stdout:void 0,u,d;if(this.config.format===`json`)u=d=JSON.stringify({time:o,level:e,...this.config.name?{name:this.config.name}:{},msg:t,...i});else if(this.config.format===`text`){let n=[o,e.toUpperCase(),t];a&&n.push(JSON.stringify(i)),u=d=n.join(` | `)}else{let n=this.config.name?`[${this.config.name}] `:``,r=`${o} ${e.toUpperCase()}`,s=` ${n}${t}`;a&&(s+=` ${JSON.stringify(i)}`),d=r+s;let c=f[e]||``;u=c&&m(l)?`${c}${r}${p}${s}`:d}l?l.write(u+`
|
|
7
|
+
`):typeof console<`u`&&(e===`error`||e===`fatal`?console.error:e===`warn`?console.warn:e===`debug`?console.debug:console.log)(u),this.fileStream&&this.fileStream.write(d+`
|
|
8
|
+
`)}debug(e,t){this.write(`debug`,e,t)}info(e,t){this.write(`info`,e,t)}warn(e,t){this.write(`warn`,e,t)}error(e,t,n){t instanceof Error?this.write(`error`,e,n,t):this.write(`error`,e,t)}fatal(e,t,n){t instanceof Error?this.write(`fatal`,e,n,t):this.write(`fatal`,e,t)}log(e,...t){this.info(e,t.length>0?{args:t}:void 0)}child(t){let n=new e({...this.config,file:void 0},{...this.bindings,...t});return n.config.file=this.config.file,n.fileStream=this.fileStream,n}withTrace(e,t){return this.child({traceId:e,spanId:t})}async destroy(){let e=this.fileStream;this.fileStream=void 0,!(!e||!this.ownsFileStream)&&(this.ownsFileStream=!1,await new Promise(t=>e.end(t)))}};function _(e){return new g(e)}0&&(n.exports={ObjectLogger:g,createLogger:_})}));export{Wr as $,jt as $t,Ei as A,oe as An,Qn as At,ui as B,Mn as Bt,Ri as C,De as Cn,ir as Ct,ji as D,pe as Dn,Xn as Dt,wi as E,T as En,tr as Et,Si as F,g as Fn,In as Ft,Qr as G,yn as Gt,pi as H,En as Ht,gi as I,v as In,Un as It,Xr as J,Xt as Jt,$r as K,tn as Kt,_i as L,s as Ln,zn as Lt,bi as M,ie as Mn,Yn as Mt,yi as N,ne as Nn,Jn as Nt,Ti as O,E as On,nr as Ot,xi as P,ee as Pn,Wn as Pt,Ur as Q,Ot as Qt,ci as R,Rn as Rt,Li as S,Oe as Sn,ar as St,Fi as T,Ee as Tn,er as Tt,di as U,Tn as Ut,li as V,wn as Vt,X as W,bn as Wt,Jr as X,Vt as Xt,Zr as Y,I as Yt,Gr as Z,Rt as Zt,Gi as _,Ge as _n,fr as _t,Sa as a,Ct as an,wr as at,Bi as b,A as bn,sr as bt,Ea as c,_t as cn,q as ct,ha as d,yt as dn,br as dt,kt as en,Vr as et,pa as f,ht as fn,Sr as ft,Ki as g,tt as gn,hr as gt,Zi as h,et as hn,yr as ht,ka as i,Tt as in,J as it,vi as j,ae as jn,Zn as jt,Mi as k,w as kn,$n as kt,ya as l,vt as ln,Or as lt,oa as m,mt as mn,pr as mt,Oa as n,Mt as nn,jr as nt,Ca as o,St as on,Tr as ot,fa as p,pt as pn,xr as pt,ei as q,Zt as qt,Da as r,wt as rn,Nr as rt,Ta as s,bt as sn,Dr as st,Aa as t,Nt as tn,Pr as tt,_a as u,gt as un,K as ut,Ui as v,Ye as vn,ur as vt,Pi as w,ye as wn,rr as wt,Vi as x,Le as xn,or as xt,Wi as y,j as yn,H as yt,fi as z,jn as zt};
|