@objectstack/console 12.3.0 → 12.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.objectui-sha +1 -1
- package/dist/assets/{AdapterProvider-_4c7hk3d.js → AdapterProvider-DYYVhErE.js} +1 -1
- package/dist/assets/{AiPendingActionsPage-Gc2Wh8Kh.js → AiPendingActionsPage-BRZ9smBE.js} +1 -1
- package/dist/assets/ApiConsolePage-DqCLFtg6.js +1 -0
- package/dist/assets/AppDocsIndex-ChTjYsgs.js +1 -0
- package/dist/assets/AppManagementPage-CpBtMYk7.js +1 -0
- package/dist/assets/ApprovalsInboxPage-Cm6RlF50.js +1 -0
- package/dist/assets/{AuditLogPage-C-rDSpPt.js → AuditLogPage-BUapxa-t.js} +1 -1
- package/dist/assets/{ComponentNavView-DX23dzZd.js → ComponentNavView-CV-L0t8o.js} +1 -1
- package/dist/assets/ConsoleFloatingChatbot-BtSnKZ5C.js +1 -0
- package/dist/assets/CreateViewDialog-CMNLzv6j.js +1 -0
- package/dist/assets/DashboardView-DTeb8b6a.js +1 -0
- package/dist/assets/DashboardWidgetInspector-CUJFDeER.js +1 -0
- package/dist/assets/DeveloperHubPage-CigDAiDQ.js +1 -0
- package/dist/assets/{ExpressionProvider-w-HoWEV1.js → ExpressionProvider-ODpzkcN3.js} +1 -1
- package/dist/assets/FlowRunsPage-BCTyVNQV.js +1 -0
- package/dist/assets/{IntegrationsPage-COvUlRq2.js → IntegrationsPage-D8453O8m.js} +2 -2
- package/dist/assets/InterfaceListPage-CaG6oJ3-.js +1 -0
- package/dist/assets/{ManagedByBadge-BZofhfqM.js → ManagedByBadge-BGSB7vGi.js} +1 -1
- package/dist/assets/MarketplaceAccessDenied-CAuxNcMw.js +1 -0
- package/dist/assets/MarketplaceInstalledPage-DIKAvmEt.js +1 -0
- package/dist/assets/MarketplacePackagePage-CxoOdisY.js +4 -0
- package/dist/assets/MarketplacePage-SkUEdd3B.js +1 -0
- package/dist/assets/{MetadataInspector-CpceGXDL.js → MetadataInspector-RvnQ-QOT.js} +1 -1
- package/dist/assets/MetadataProvider-BpQl3Bw2.js +1 -0
- package/dist/assets/{MonacoImpl-DoDns4Vj.js → MonacoImpl-nyLaER8_.js} +1 -1
- package/dist/assets/ObjectDataPage-CnMdpBNe.js +1 -0
- package/dist/assets/PageView-Ckvi7QO6.js +1 -0
- package/dist/assets/ProfilePage-7etuxYZk.js +1 -0
- package/dist/assets/PublicFormsPage-xWq9jZzJ.js +1 -0
- package/dist/assets/RecordDetailView-CzR6BAUv.js +9 -0
- package/dist/assets/{RecordFormPage-CbvOD5UT.js → RecordFormPage-DTyNzewM.js} +1 -1
- package/dist/assets/ReportDefaultInspector-BA-D9th_.js +11 -0
- package/dist/assets/ReportView-CHBbT7mP.js +2 -0
- package/dist/assets/{SearchResultsPage-D0nbmFox.js → SearchResultsPage-BIuFjDoa.js} +1 -1
- package/dist/assets/{SettingsHub-BsZee-2C.js → SettingsHub-ZMQjBQwP.js} +1 -1
- package/dist/assets/SettingsView-eCnpX1vu.js +1 -0
- package/dist/assets/SystemHubPage-f4hYqDoI.js +1 -0
- package/dist/assets/{abnfDiagram-VRR7QNED-DWrainSQ.js → abnfDiagram-VRR7QNED-o_fBNeYD.js} +1 -1
- package/dist/assets/architecture-TIHT7OUA-BF_0SrOH.js +1 -0
- package/dist/assets/{architectureDiagram-ZJ3FMSHR-BqIfH_cZ.js → architectureDiagram-ZJ3FMSHR-Bk_LES5L.js} +1 -1
- package/dist/assets/{assistantBus-DosfPCbN.js → assistantBus-BFk4fCbM.js} +1 -1
- package/dist/assets/{blockDiagram-677ZJIJ3-BDhRO3KX.js → blockDiagram-677ZJIJ3-BmONypzo.js} +1 -1
- package/dist/assets/{c4Diagram-LMCZKHZV-DBmvkEa3.js → c4Diagram-LMCZKHZV-DqIiaVjm.js} +1 -1
- package/dist/assets/channel-CvRTB8GE.js +1 -0
- package/dist/assets/{chunk-32BRIVSS-1_aHOdgh.js → chunk-32BRIVSS-BbTX8O4m.js} +1 -1
- package/dist/assets/{chunk-52WLFC77-C-mFgIG6.js → chunk-52WLFC77-DkgICN4F.js} +1 -1
- package/dist/assets/{chunk-C7G6YPKG-DvvI9WqY.js → chunk-C7G6YPKG-UMP_bNDd.js} +1 -1
- package/dist/assets/{chunk-EX3LRPZG-BaKE258M.js → chunk-EX3LRPZG-B0dJ64Ff.js} +1 -1
- package/dist/assets/{chunk-FWX5IMBZ-BZ1KYToN.js → chunk-FWX5IMBZ-B8cCL4T7.js} +1 -1
- package/dist/assets/{chunk-HOUHSVGY-BjQmUg1D.js → chunk-HOUHSVGY-B5nScni0.js} +1 -1
- package/dist/assets/{chunk-ICXQ74PX-DGFLQjwm.js → chunk-ICXQ74PX-zJg8KmvA.js} +1 -1
- package/dist/assets/{chunk-KEIR6QF5-MVybfwhZ.js → chunk-KEIR6QF5-CxDrFr0l.js} +3 -3
- package/dist/assets/{chunk-MOJQB5TN-aPZk6pC8.js → chunk-MOJQB5TN-DBKCpvOi.js} +1 -1
- package/dist/assets/{chunk-OGEWGWER-C_9e4OS0.js → chunk-OGEWGWER-bKk51Nxt.js} +1 -1
- package/dist/assets/{chunk-PUDLZKDR-c0kZKR-G.js → chunk-PUDLZKDR-CKn_9iXM.js} +1 -1
- package/dist/assets/{chunk-Q4XR5HBZ-o24M5lkF.js → chunk-Q4XR5HBZ-BP9atbVx.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-DUMnfbFk.js → chunk-RYQCIY6F-B5RR1tIz.js} +1 -1
- package/dist/assets/{chunk-V7JOEXUC-BP0RE3_V.js → chunk-V7JOEXUC-DTerDTcg.js} +1 -1
- package/dist/assets/chunk-VAUOI2AC-BrcFPe7Z.js +1 -0
- package/dist/assets/{chunk-VR4S4FIN-DykLEeqy.js → chunk-VR4S4FIN-jB_W-MHs.js} +1 -1
- package/dist/assets/chunk-WYO6CB5R-Cndg0Yo5.js +127 -0
- package/dist/assets/chunk-XXDRQBXY-DGANY6E3.js +1 -0
- package/dist/assets/{chunk-ZGVPDNZ5-DQH9cJwj.js → chunk-ZGVPDNZ5-BUUSzPje.js} +1 -1
- package/dist/assets/classDiagram-OUVF2IWQ-BGL42sFI.js +1 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-BGL42sFI.js +1 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-CDWwyRUu.js → cose-bilkent-JH36ORCC-DJ-X6wmF.js} +1 -1
- package/dist/assets/cynefin-VYW2F7L2-CXt4AgYW.js +1 -0
- package/dist/assets/{cynefinDiagram-TSTJHNR4-Dn83Cn2D.js → cynefinDiagram-TSTJHNR4-C5mKt5aU.js} +1 -1
- package/dist/assets/{cytoscape.esm-Djp6vQyU.js → cytoscape.esm-B3I8pqwA.js} +1 -1
- package/dist/assets/{dagre-VKFMJZFB-DYKhgtL2.js → dagre-VKFMJZFB-Crs38V5P.js} +2 -2
- package/dist/assets/{data-adapter-W6WwA2ln.js → data-adapter-DLOPVTZ2.js} +1 -1
- package/dist/assets/{diagram-FQU43EPY-84kGXmcJ.js → diagram-FQU43EPY-Bkx8ccpS.js} +1 -1
- package/dist/assets/{diagram-G47NLZAW-FzYRzXJF.js → diagram-G47NLZAW-CSNJrWDK.js} +1 -1
- package/dist/assets/{diagram-NH7WQ7WH-D2_7Upma.js → diagram-NH7WQ7WH-PaRAbfdR.js} +1 -1
- package/dist/assets/{diagram-OA4YK3LP-uqOHgtNB.js → diagram-OA4YK3LP-C2A07yOA.js} +1 -1
- package/dist/assets/{diagram-WEI45ONY-BoLpoJXF.js → diagram-WEI45ONY-BEyyGNpU.js} +1 -1
- package/dist/assets/{dist-CfcbLQde.js → dist-YwlXXOlT.js} +1 -1
- package/dist/assets/{ebnfDiagram-CCIWWBDH-DLYgN3Ab.js → ebnfDiagram-CCIWWBDH-CtfwkNuv.js} +1 -1
- package/dist/assets/{erDiagram-Q63AITRT-BmagGyFR.js → erDiagram-Q63AITRT-DjK6P1sf.js} +1 -1
- package/dist/assets/eventmodeling-45OFAUF4-Dmacb12o.js +1 -0
- package/dist/assets/{exceljs.min-DIyttv_G.js → exceljs.min-Dpb6mnud.js} +2 -2
- package/dist/assets/flowDiagram-23GEKE2U-DfQvGNQk.js +1 -0
- package/dist/assets/framework-B3O15Lsq.js +36 -0
- package/dist/assets/{ganttDiagram-NO4QXBWP-DdGzwLRB.js → ganttDiagram-NO4QXBWP-UPhpWlEd.js} +1 -1
- package/dist/assets/getIcon-B5xaQx5N.js +1 -0
- package/dist/assets/gitGraph-TEB2WS4Q-ChM6j6Bd.js +1 -0
- package/dist/assets/{gitGraphDiagram-IHSO6WYX-Dv8qb0qh.js → gitGraphDiagram-IHSO6WYX-B6Qcltd9.js} +2 -2
- package/dist/assets/{highlighted-body-OFNGDK62-CLUabCIi.js → highlighted-body-OFNGDK62-B_roNkgm.js} +1 -1
- package/dist/assets/index-B-sF8xtC.css +2 -0
- package/dist/assets/index-TdJi7kFM.js +2 -0
- package/dist/assets/info-DKCQHKI2-C0RTkygr.js +1 -0
- package/dist/assets/{infoDiagram-FWYZ7A6U-BnI8Gbdt.js → infoDiagram-FWYZ7A6U-CgEoZeWY.js} +1 -1
- package/dist/assets/infrastructure-Bcx6-8du.js +3 -0
- package/dist/assets/{ishikawaDiagram-FXEZZL3T-BfpmvVA0.js → ishikawaDiagram-FXEZZL3T-DvmRhm8H.js} +1 -1
- package/dist/assets/{journeyDiagram-5HDEW3XC-8UQvh7pY.js → journeyDiagram-5HDEW3XC-DFf6bjOX.js} +2 -2
- package/dist/assets/{kanban-definition-HUTT4EX6-CFX7QbbK.js → kanban-definition-HUTT4EX6-DLK5X8Ol.js} +1 -1
- package/dist/assets/maplibre-gl-R0DO2NBr.js +748 -0
- package/dist/assets/{marketplaceApi-BLyDDfGk.js → marketplaceApi-zYQofLEk.js} +1 -1
- package/dist/assets/mermaid-GHXKKRXX-B7uCX_yo.js +1 -0
- package/dist/assets/{mermaid-parser.core-qFqgm_H6.js → mermaid-parser.core-DV_Ys_OF.js} +2 -2
- package/dist/assets/{mermaid.core-T8rJXbMH.js → mermaid.core-D3axazyv.js} +2 -2
- package/dist/assets/metadata-admin-DJAg5WLs.js +22 -0
- package/dist/assets/{mindmap-definition-LN4V7U3C-BmcygCh7.js → mindmap-definition-LN4V7U3C-DwbonLR_.js} +1 -1
- package/dist/assets/packet-7NZHBO7P-DSHvkxBR.js +1 -0
- package/dist/assets/{pegDiagram-2B236MQR-D3IbyQE9.js → pegDiagram-2B236MQR-B4IMkAIV.js} +1 -1
- package/dist/assets/pie-RZYD4A2V-DjNUdL88.js +1 -0
- package/dist/assets/{pieDiagram-ENE6RG2P-BZteOl-k.js → pieDiagram-ENE6RG2P-D8jBhNXT.js} +1 -1
- package/dist/assets/plugin-calendar-BKbWgkod.js +1 -0
- package/dist/assets/plugin-charts-BZo5ApEF.js +7 -0
- package/dist/assets/plugin-chatbot-D2Uv-hn9.js +120 -0
- package/dist/assets/plugin-dashboard-CRFZp7gC.js +6 -0
- package/dist/assets/plugin-form-FeZEoC2R.js +1 -0
- package/dist/assets/plugin-gantt-D9YRdBGD.js +93 -0
- package/dist/assets/plugin-grid-eiIl2HN_.js +8 -0
- package/dist/assets/plugin-kanban-3rFMGC21.js +1 -0
- package/dist/assets/plugin-map-BHQrQ_Wu.js +1 -0
- package/dist/assets/{plugin-markdown-CWbusz5W.js → plugin-markdown-DesFSRDB.js} +1 -1
- package/dist/assets/{plugin-report-Cy6FwNfk.js → plugin-report-BKD6SOp5.js} +4 -4
- package/dist/assets/plugin-timeline-BrkABjqu.js +1 -0
- package/dist/assets/{plugin-tree-CtakCCIf.js → plugin-tree-CKck3lEJ.js} +1 -1
- package/dist/assets/plugin-view-BJ9uLrnO.js +1 -0
- package/dist/assets/plugins-views-CibWNUsP.js +4 -0
- package/dist/assets/{quadrantDiagram-ABIIQ3AL-DPVvulM5.js → quadrantDiagram-ABIIQ3AL-Do3adYzz.js} +1 -1
- package/dist/assets/radar-I7S5WNFK-qO0bWLwF.js +1 -0
- package/dist/assets/railroad-3IZDKUUU-CAj9esX-.js +1 -0
- package/dist/assets/railroad-abnf-AHOZXSZD-Ci_Yg729.js +1 -0
- package/dist/assets/railroad-ebnf-EBAXGLYW-Tz7H2Jrw.js +1 -0
- package/dist/assets/railroad-peg-LSFZ7HO6-BJIalSaK.js +1 -0
- package/dist/assets/{railroadDiagram-RFXS5EU6-CgLSy8wn.js → railroadDiagram-RFXS5EU6-DDA7XtKq.js} +1 -1
- package/dist/assets/{requirementDiagram-TGXJPOKE-DYX2pMfn.js → requirementDiagram-TGXJPOKE-CClkXauU.js} +1 -1
- package/dist/assets/{sankeyDiagram-HTMAVEWB-amvhkMhz.js → sankeyDiagram-HTMAVEWB-DlUFch6E.js} +1 -1
- package/dist/assets/{sequenceDiagram-DBY2YBRQ-CPxWMCbb.js → sequenceDiagram-DBY2YBRQ-BEDTwji4.js} +1 -1
- package/dist/assets/{skeletons-BK6x7CYd.js → skeletons-CzC0fiXD.js} +1 -1
- package/dist/assets/src-6xqJEeiC.js +15 -0
- package/dist/assets/{src-BPEDMjfw.js → src-BeTFx9-N.js} +1 -1
- package/dist/assets/{src-BvIm_4jD.js → src-CSRoqdRD.js} +1 -1
- package/dist/assets/{src-6rOMKMLU.js → src-D0ZYDfff.js} +1 -1
- package/dist/assets/{stateDiagram-2N3HPSRC-DkFPpTq2.js → stateDiagram-2N3HPSRC-BN6M4MGy.js} +1 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-DCaXJLPh.js +1 -0
- package/dist/assets/{swimlanes-5IMT3BWC-DMPnpahc.js → swimlanes-5IMT3BWC-Bycq06w3.js} +1 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-DWFAvAh7.js +8 -0
- package/dist/assets/{timeline-definition-FHXFAJF6-DMhg5ZmV.js → timeline-definition-FHXFAJF6-B6Oiv_gP.js} +1 -1
- package/dist/assets/treeView-QDETBFTQ-Cc2FYETg.js +1 -0
- package/dist/assets/treemap-6X3UGDF4-a4EjGpO3.js +1 -0
- package/dist/assets/{types-X8W-qTHJ.js → types-UYoEctl-.js} +1 -1
- package/dist/assets/ui-components-rkvkkTxO.js +42 -0
- package/dist/assets/{ui-layout-BdFgfR9C.js → ui-layout-CAjjF5_S.js} +1 -1
- package/dist/assets/{useMetadata-DAEfn7ks.js → useMetadata-Eb5o6ihl.js} +1 -1
- package/dist/assets/useOpenRecordList-DIo7M1au.js +1 -0
- package/dist/assets/{usePackageL10n-CasuagU5.js → usePackageL10n-CiFMHfKe.js} +1 -1
- package/dist/assets/{useReconcileOnError-CtvIPgmD.js → useReconcileOnError-4is_Tic6.js} +1 -1
- package/dist/assets/{useRecordApprovals-BHkgfYJW.js → useRecordApprovals-obyIj2_8.js} +1 -1
- package/dist/assets/vendor-charts-D_CNNxD5.js +67 -0
- package/dist/assets/vendor-dndkit-CzBh0_98.js +5 -0
- package/dist/assets/vendor-i18n-B6GOGCem.js +1 -0
- package/dist/assets/{vendor-icons-core-CPQTXONm.js → vendor-icons-core-DvLgTVYc.js} +1 -1
- package/dist/assets/{vendor-markdown-Cbritblm.js → vendor-markdown-BJvgKhXw.js} +18 -18
- package/dist/assets/vendor-objectstack-Bw0HRuFa.js +95 -0
- package/dist/assets/vendor-radix-DCTEpigg.js +46 -0
- package/dist/assets/vendor-react-BGDDiZfJ.js +13 -0
- package/dist/assets/vendor-sentry-CHRc7_3y.js +501 -0
- package/dist/assets/{vendor-ui-utils-C1OpMExs.js → vendor-ui-utils-BzQBRdq3.js} +1 -1
- package/dist/assets/{vennDiagram-L72KCM5P-BCn9MNWT.js → vennDiagram-L72KCM5P-DqRcgOxS.js} +1 -1
- package/dist/assets/wardley-OPB4EBWU-CuNyH0xZ.js +1 -0
- package/dist/assets/{wardleyDiagram-EHGQE667-ShqmBgOZ.js → wardleyDiagram-EHGQE667-BDyIMWfB.js} +1 -1
- package/dist/assets/{xychartDiagram-FW5EYKEG-D1hShMP_.js → xychartDiagram-FW5EYKEG-BRNQk20I.js} +1 -1
- package/dist/index.html +6 -6
- package/package.json +1 -1
- package/dist/assets/ApiConsolePage-CmiLmtuU.js +0 -1
- package/dist/assets/AppDocsIndex-CG7e4V2y.js +0 -1
- package/dist/assets/AppManagementPage-C7T-9Exg.js +0 -1
- package/dist/assets/ApprovalsInboxPage-D9PFFxKD.js +0 -1
- package/dist/assets/ConsoleFloatingChatbot-CmLazUxX.js +0 -1
- package/dist/assets/CreateViewDialog-6JmiAMxS.js +0 -1
- package/dist/assets/DashboardView-Al7ce4gm.js +0 -1
- package/dist/assets/DashboardWidgetInspector-BmIMgSGO.js +0 -1
- package/dist/assets/DeveloperHubPage-D8eYekI9.js +0 -1
- package/dist/assets/FlowRunsPage-Hs5i7s3C.js +0 -1
- package/dist/assets/InterfaceListPage-JNxR3qlQ.js +0 -1
- package/dist/assets/MarketplaceAccessDenied-Cur1UQ0U.js +0 -1
- package/dist/assets/MarketplaceInstalledPage-D9ow2tlx.js +0 -1
- package/dist/assets/MarketplacePackagePage-0AKyKbMD.js +0 -4
- package/dist/assets/MarketplacePage-DUzZZa8D.js +0 -1
- package/dist/assets/MetadataProvider-MNkZn-bR.js +0 -1
- package/dist/assets/ObjectDataPage-CUJksP8e.js +0 -1
- package/dist/assets/PageView-AS6xg5z-.js +0 -1
- package/dist/assets/ProfilePage-iJeMD7FK.js +0 -1
- package/dist/assets/PublicFormsPage-C-wbtEXG.js +0 -1
- package/dist/assets/RecordDetailView-Ba0xool8.js +0 -9
- package/dist/assets/ReportDefaultInspector-OSqdhKEL.js +0 -11
- package/dist/assets/ReportView-Df7cdlQo.js +0 -2
- package/dist/assets/SettingsView-CSBwd4YP.js +0 -1
- package/dist/assets/SystemHubPage-n41ly_cC.js +0 -1
- package/dist/assets/architecture-TIHT7OUA-D3WxD8aQ.js +0 -1
- package/dist/assets/channel-MM6d7ooS.js +0 -1
- package/dist/assets/chunk-VAUOI2AC-Bgyec1On.js +0 -1
- package/dist/assets/chunk-WYO6CB5R-BBbafnWJ.js +0 -127
- package/dist/assets/chunk-XXDRQBXY-V26l8fww.js +0 -1
- package/dist/assets/classDiagram-OUVF2IWQ-BOtUpfWB.js +0 -1
- package/dist/assets/classDiagram-v2-EOCWNBFH-BOtUpfWB.js +0 -1
- package/dist/assets/cynefin-VYW2F7L2-v0nc1IZv.js +0 -1
- package/dist/assets/eventmodeling-45OFAUF4-CHsG6T7D.js +0 -1
- package/dist/assets/flowDiagram-23GEKE2U-BZtO2Jjx.js +0 -1
- package/dist/assets/framework-B9PMswdm.js +0 -36
- package/dist/assets/getIcon-DkcFniPV.js +0 -1
- package/dist/assets/gitGraph-TEB2WS4Q-DEB3Nljf.js +0 -1
- package/dist/assets/index-Oki50z-M.js +0 -2
- package/dist/assets/index-rbBh03NP.css +0 -2
- package/dist/assets/info-DKCQHKI2-BMNzABlv.js +0 -1
- package/dist/assets/infrastructure-BnbfcrX8.js +0 -3
- package/dist/assets/maplibre-gl-DGbvC0OV.js +0 -748
- package/dist/assets/mermaid-GHXKKRXX-Df_DEhBm.js +0 -1
- package/dist/assets/metadata-admin-DiOg8Tx8.js +0 -22
- package/dist/assets/packet-7NZHBO7P-CVEX3X_K.js +0 -1
- package/dist/assets/pie-RZYD4A2V-VzBvughO.js +0 -1
- package/dist/assets/plugin-calendar-CVeG5Hhb.js +0 -1
- package/dist/assets/plugin-charts-BTfOaZVx.js +0 -7
- package/dist/assets/plugin-chatbot-COpsZSy4.js +0 -120
- package/dist/assets/plugin-dashboard-Bi5WrqPG.js +0 -6
- package/dist/assets/plugin-form-CzotVFc-.js +0 -1
- package/dist/assets/plugin-gantt-BUcqVYxX.js +0 -93
- package/dist/assets/plugin-grid-BXfwTczT.js +0 -8
- package/dist/assets/plugin-kanban-Dw_QTU-e.js +0 -1
- package/dist/assets/plugin-map-D89OX2_H.js +0 -1
- package/dist/assets/plugin-timeline-BAImk_4t.js +0 -1
- package/dist/assets/plugin-view-DZC_ZJtv.js +0 -1
- package/dist/assets/plugins-views-CxFTNQJ7.js +0 -4
- package/dist/assets/radar-I7S5WNFK-BvMfKOT_.js +0 -1
- package/dist/assets/railroad-3IZDKUUU-DfKQD3PJ.js +0 -1
- package/dist/assets/railroad-abnf-AHOZXSZD-DVyrJPzV.js +0 -1
- package/dist/assets/railroad-ebnf-EBAXGLYW-Cri8VQ5d.js +0 -1
- package/dist/assets/railroad-peg-LSFZ7HO6-Bmvxxxt6.js +0 -1
- package/dist/assets/src-CCztNT-4.js +0 -15
- package/dist/assets/stateDiagram-v2-6OUMAXLB-C_tQckF_.js +0 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-BLVdl7Q4.js +0 -8
- package/dist/assets/treeView-QDETBFTQ-Cz0fwXom.js +0 -1
- package/dist/assets/treemap-6X3UGDF4-BlqJD81v.js +0 -1
- package/dist/assets/ui-components-DsYvPIox.js +0 -42
- package/dist/assets/useOpenRecordList-DL3H_OJi.js +0 -1
- package/dist/assets/vendor-charts-DVOdzzh2.js +0 -67
- package/dist/assets/vendor-dndkit-0M_nRjzm.js +0 -5
- package/dist/assets/vendor-i18n-sU23bKX1.js +0 -1
- package/dist/assets/vendor-objectstack-sPlD8LgO.js +0 -95
- package/dist/assets/vendor-radix-DniuRzL-.js +0 -46
- package/dist/assets/vendor-react-slxo-5GC.js +0 -11
- package/dist/assets/vendor-sentry-BnfuR4xu.js +0 -501
- package/dist/assets/wardley-OPB4EBWU-DdYQ8RHK.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-MVybfwhZ.js";import{S as e}from"./mermaid-parser.core-qFqgm_H6.js";export{e as createPacketServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-KEIR6QF5-MVybfwhZ.js";import{b as e}from"./mermaid-parser.core-qFqgm_H6.js";export{e as createPieServices};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{_ as n,t as r}from"./vendor-react-slxo-5GC.js";import{Kt as i,Ut as a,Wt as o,ct as s,l as c,ot as l,q as u}from"./framework-B9PMswdm.js";import{Ac as d,Gn as f,Hs as p,Jn as m,Jt as h,Kn as g,Kt as _,Sr as v,Vs as y,Wn as b,Xi as x,Xt as S,Yn as C,Yt as w,an as T,ar as E,cn as D,ec as O,fn as k,on as A,qn as ee,qt as j,sn as te,zt as M}from"./ui-components-DsYvPIox.js";import{a as ne,o as re}from"./plugins-views-CxFTNQJ7.js";import{a as ie}from"./plugin-grid-BXfwTczT.js";var N=e(n(),1),P=r(),F=`bg-blue-100 text-blue-900 border border-blue-200`,ae=new Date,I=[`bg-blue-100 text-blue-900 border border-blue-200`,`bg-emerald-100 text-emerald-900 border border-emerald-200`,`bg-amber-100 text-amber-900 border border-amber-200`,`bg-rose-100 text-rose-900 border border-rose-200`,`bg-violet-100 text-violet-900 border border-violet-200`,`bg-cyan-100 text-cyan-900 border border-cyan-200`,`bg-orange-100 text-orange-900 border border-orange-200`,`bg-fuchsia-100 text-fuchsia-900 border border-fuchsia-200`],L=/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i,R=/(^|\s)(bg|text|from|to|via)-/;function z(e){if(!e)return{className:F};if(L.test(e))return{className:`text-white`,inlineColor:e};if(R.test(e))return{className:e};let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return{className:I[Math.abs(t)%I.length]}}var B={"calendar.today":`Today`,"calendar.month":`Month`,"calendar.week":`Week`,"calendar.day":`Day`,"calendar.newEvent":`New event`,"calendar.moreEvents":`+{{count}} more`,"calendar.allDay":`all-day`};function V(){try{let e=c();return e.t(`calendar.today`)===`calendar.today`?{t:(e,t)=>{let n=B[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:`en`}:{t:e.t,language:e.language}}catch{return{t:(e,t)=>{let n=B[e]||e;if(t)for(let[e,r]of Object.entries(t))n=n.replace(`{{${e}}}`,String(r));return n},language:`en`}}}function H({events:e=[],view:t=`month`,currentDate:n=ae,locale:r=`default`,onEventClick:i,onDateClick:a,onViewChange:o,onNavigate:s,onAddClick:c,onEventDrop:l,onTimeRangeSelect:u,slotMinutes:f=30,className:m}){let[g,b]=N.useState(t),[C,D]=N.useState(n),{t:k,language:ee}=V(),M=r==="default"?ee:r;N.useEffect(()=>{D(n)},[n]),N.useEffect(()=>{b(t)},[t]);let ne=N.useRef(o);ne.current=o,N.useEffect(()=>{let e=window.matchMedia(`(max-width: 639px)`),t=e=>{e.matches&&(b(`day`),ne.current?.(`day`))};return t(e),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let re=()=>{let e=new Date(C);g===`month`?e.setMonth(e.getMonth()-1):g===`week`?e.setDate(e.getDate()-7):e.setDate(e.getDate()-1),D(e),s?.(e)},ie=()=>{let e=new Date(C);g===`month`?e.setMonth(e.getMonth()+1):g===`week`?e.setDate(e.getDate()+7):e.setDate(e.getDate()+1),D(e),s?.(e)},F=()=>{let e=new Date;D(e),s?.(e)},I=e=>{b(e),o?.(e)},L=()=>{if(g===`month`)return C.toLocaleDateString(M,{month:`long`,year:`numeric`});if(g===`week`){let e=oe(C),t=new Date(e);return t.setDate(t.getDate()+6),`${e.toLocaleDateString(M,{month:`short`,day:`numeric`})} - ${t.toLocaleDateString(M,{month:`short`,day:`numeric`,year:`numeric`})}`}else return C.toLocaleDateString(M,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})},R=N.useRef(0);return(0,P.jsxs)(`div`,{role:`region`,"aria-label":`Calendar`,className:d(`flex flex-col h-full bg-background min-w-0 overflow-hidden`,m),children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 p-2 sm:p-4 border-b min-w-0`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,P.jsxs)(`div`,{className:`flex items-center bg-muted/50 rounded-lg p-1 gap-1`,children:[(0,P.jsx)(v,{variant:`ghost`,size:`sm`,onClick:F,className:`h-8`,"aria-label":`Go to today`,children:k(`calendar.today`)}),(0,P.jsx)(`div`,{className:`h-4 w-px bg-border mx-1`}),(0,P.jsx)(v,{variant:`ghost`,size:`icon`,"aria-label":`Previous period`,onClick:re,className:`h-8 w-8`,children:(0,P.jsx)(p,{className:`h-4 w-4`})}),(0,P.jsx)(v,{variant:`ghost`,size:`icon`,"aria-label":`Next period`,onClick:ie,className:`h-8 w-8`,children:(0,P.jsx)(y,{className:`h-4 w-4`})})]}),(0,P.jsxs)(T,{children:[(0,P.jsx)(te,{asChild:!0,children:(0,P.jsxs)(v,{variant:`ghost`,"aria-label":`Current date: ${L()}`,className:d(`text-base sm:text-xl font-semibold h-auto px-2 sm:px-3 py-1 hover:bg-muted/50 transition-colors`,`flex items-center gap-2`),children:[(0,P.jsx)(O,{className:`h-5 w-5 text-muted-foreground`}),(0,P.jsx)(`span`,{children:L()})]})}),(0,P.jsx)(A,{className:`w-auto p-0`,align:`start`,children:(0,P.jsx)(E,{mode:`single`,selected:C,onSelect:e=>{e&&(D(e),s?.(e))},autoFocus:!0,startMonth:new Date(2e3,0),endMonth:new Date(2050,11)})})]})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,P.jsxs)(_,{value:g,onValueChange:I,children:[(0,P.jsx)(w,{className:`w-32 bg-background`,children:(0,P.jsx)(S,{})}),(0,P.jsxs)(j,{children:[(0,P.jsx)(h,{value:`day`,children:k(`calendar.day`)}),(0,P.jsx)(h,{value:`week`,children:k(`calendar.week`)}),(0,P.jsx)(h,{value:`month`,children:k(`calendar.month`)})]})]}),c&&(0,P.jsxs)(v,{onClick:c,size:`sm`,className:`gap-1`,children:[(0,P.jsx)(x,{className:`h-4 w-4`}),k(`calendar.newEvent`)]})]})]}),(0,P.jsxs)(`div`,{className:`flex-1 overflow-auto`,onTouchStart:e=>{R.current=e.touches[0].clientX},onTouchEnd:e=>{let t=R.current-e.changedTouches[0].clientX;if(Math.abs(t)>50){let e=new Date(C);g===`day`?e.setDate(e.getDate()+(t>0?1:-1)):g===`week`?e.setDate(e.getDate()+(t>0?7:-7)):e.setMonth(e.getMonth()+(t>0?1:-1)),D(e),s?.(e)}},children:[g===`month`&&(0,P.jsx)(W,{date:C,events:e,locale:M,onEventClick:i,onDateClick:a,onEventDrop:l}),g===`week`&&(0,P.jsx)(Y,{mode:`week`,date:C,events:e,locale:M,slotMinutes:f,onEventClick:i,onEventDrop:l,onTimeRangeSelect:u}),g===`day`&&(0,P.jsx)(Y,{mode:`day`,date:C,events:e,locale:M,slotMinutes:f,onEventClick:i,onEventDrop:l,onTimeRangeSelect:u})]})]})}function oe(e){let t=new Date(e),n=t.getDay(),r=t.getDate()-n;return t.setDate(r),t}function se(e){let t=e.getFullYear(),n=e.getMonth(),r=new Date(t,n,1),i=new Date(t,n+1,0),a=r.getDay(),o=[];for(let e=a-1;e>=0;e--){let t=new Date(r.getTime());t.setDate(t.getDate()-(e+1)),o.push(t)}for(let e=1;e<=i.getDate();e++)o.push(new Date(t,n,e));let s=42-o.length;for(let e=1;e<=s;e++){let t=new Date(i.getTime());t.setDate(t.getDate()+e),o.push(t)}return o}function U(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function W({date:e,events:t,locale:n=`default`,onEventClick:r,onDateClick:i,onEventDrop:a}){let o=N.useMemo(()=>se(e),[e.getFullYear(),e.getMonth()]),s=N.useMemo(()=>new Date,[]),{t:c}=V(),l=N.useMemo(()=>{let e=new Date(2024,0,7);return Array.from({length:7},(t,r)=>{let i=new Date(e);return i.setDate(i.getDate()+r),i.toLocaleDateString(n,{weekday:`short`})})},[n]),[u,f]=N.useState(null),[p,m]=N.useState(null),h=N.useMemo(()=>{let e=new Map;for(let n of t){let t=new Date(n.start),r=n.end?new Date(n.end):new Date(t);t.setHours(0,0,0,0),r.setHours(0,0,0,0);let i=new Date(t);for(;i<=r;){let a=`${i.getFullYear()}-${i.getMonth()}-${i.getDate()}`,o=i.getTime()===t.getTime(),s=i.getTime()===r.getTime(),c=o||s||i.getDay()===0,l=e.get(a),u={event:n,isTitleDay:c,isSpanStart:o,isSpanEnd:s};l?l.push(u):e.set(a,[u]),i.setDate(i.getDate()+1)}}return e},[t]),g=(e,t,n=`move`,r)=>{f(t.id),e.dataTransfer.effectAllowed=`move`;let i={id:t.id,mode:n,...r?{sourceDay:`${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`}:{}};e.dataTransfer.setData(`text/plain`,JSON.stringify(i)),n===`resize-end`&&e.stopPropagation()},_=()=>{f(null),m(null)},v=(e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,m(t)},y=e=>{e.currentTarget.contains(e.relatedTarget)||m(null)},b=(e,n)=>{if(e.preventDefault(),m(null),f(null),!a)return;let r=e.dataTransfer.getData(`text/plain`),i;try{i=JSON.parse(r)}catch{i={id:r,mode:`move`}}let o=t.find(e=>String(e.id)===String(i.id));if(!o)return;let s=new Date(n);if(s.setHours(0,0,0,0),i.mode===`resize-end`){let e=o.end?new Date(o.end):new Date(o.start),t=new Date(e);if(t.setHours(0,0,0,0),s.getTime()===t.getTime())return;let n=new Date(o.start);if(n.setHours(0,0,0,0),s.getTime()<n.getTime())return;let r=new Date(s);r.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),0),a(o,new Date(o.start),r);return}let c=new Date(o.start),l;if(i.sourceDay){let[e,t,n]=i.sourceDay.split(`-`).map(e=>parseInt(e,10));l=new Date(e,t,n)}else l=new Date(c);l.setHours(0,0,0,0);let u=s.getTime()-l.getTime();if(u===0)return;let d=new Date(c.getTime()+u),p;o.end&&(p=new Date(new Date(o.end).getTime()+u)),a(o,d,p)};return(0,P.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,P.jsx)(`div`,{role:`row`,className:`grid grid-cols-7 border-b`,children:l.map(e=>(0,P.jsx)(`div`,{role:`columnheader`,className:`p-2 text-center text-sm font-medium text-muted-foreground border-r last:border-r-0`,children:e},e))}),(0,P.jsx)(`div`,{role:`grid`,"aria-label":`Calendar grid`,className:`grid grid-cols-7 flex-1 auto-rows-fr`,children:o.map((t,n)=>{let o=`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`,l=h.get(o)||[],f=t.getMonth()===e.getMonth(),m=U(t,s);return(0,P.jsxs)(`div`,{role:`gridcell`,"aria-label":`${t.toLocaleDateString(`default`,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`})}${l.length>0?`, ${l.length} event${l.length>1?`s`:``}`:``}`,className:d(`border-b border-r last:border-r-0 p-2 min-h-[100px] cursor-pointer hover:bg-accent/50`,!f&&`bg-muted/50 text-muted-foreground opacity-50`,p===n&&`ring-2 ring-primary`),onClick:()=>i?.(t),onDragOver:e=>v(e,n),onDragLeave:y,onDrop:e=>b(e,t),children:[(0,P.jsx)(`div`,{className:d(`text-sm font-medium mb-2`,m&&`inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground h-6 w-6`),...m?{"aria-current":`date`}:{},children:t.getDate()}),(0,P.jsxs)(`div`,{className:`space-y-0.5`,children:[l.slice(0,4).map(({event:e,isTitleDay:n,isSpanStart:i,isSpanEnd:o},s)=>{let c=!n,{className:l,inlineColor:f}=z(e.color),p=!!a&&o;return(0,P.jsxs)(`div`,{role:`button`,title:e.title,"aria-label":e.title,draggable:!!a,onDragStart:n=>g(n,e,`move`,t),onDragEnd:_,className:d(`relative text-xs hover:opacity-80 truncate`,a?`cursor-move`:`cursor-pointer`,c?`h-1.5`:`px-2 py-0.5`,i?`rounded-l`:`rounded-l-none`,o?`rounded-r`:`rounded-r-none`,!o&&`-mr-2`,l,u===e.id&&`opacity-50`),style:f?{backgroundColor:f}:void 0,onClick:t=>{t.stopPropagation(),r?.(e)},children:[c?``:e.title,p&&(0,P.jsx)(`span`,{role:`separator`,"aria-label":`Resize event end`,title:`Drag to change end date`,draggable:!0,onDragStart:n=>g(n,e,`resize-end`,t),onDragEnd:_,onClick:e=>e.stopPropagation(),className:`absolute inset-y-0 right-0 w-2 cursor-ew-resize bg-black/25 hover:bg-black/50 rounded-r`})]},`${e.id}-${s}`)}),l.length>4&&(0,P.jsx)(`div`,{className:`text-xs text-muted-foreground px-2`,children:c(`calendar.moreEvents`,{count:l.length-4})})]})]},n)})})]})}var G=48;function K(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function q(e){return e.getHours()*60+e.getMinutes()}function J(e){return`${e.getFullYear()}-${e.getMonth()}-${e.getDate()}`}function Y({mode:e,date:t,events:n,locale:r=`default`,slotMinutes:i=30,onEventClick:a,onEventDrop:o,onTimeRangeSelect:s}){let{t:c}=V(),l=G*i/60,u=G*24,f=N.useMemo(()=>{if(e===`day`)return[K(t)];let n=oe(t);return Array.from({length:7},(e,t)=>{let r=new Date(n);return r.setDate(n.getDate()+t),K(r)})},[e,t.getFullYear(),t.getMonth(),t.getDate()]),p=N.useMemo(()=>new Date,[]),m=N.useCallback(e=>{if(e.allDay)return!0;let t=new Date(e.start),n=e.end?new Date(e.end):new Date(t),r=t.getHours()===0&&t.getMinutes()===0&&t.getSeconds()===0,i=n.getHours()===0&&n.getMinutes()===0&&n.getSeconds()===0,a=n.getTime()-t.getTime();return!!(r&&i||a>=1440*60*1e3)},[]),{allDayEvents:h,timedEvents:g}=N.useMemo(()=>{let e=[],t=[];for(let r of n)m(r)?e.push(r):t.push(r);return{allDayEvents:e,timedEvents:t}},[n,m]),_=N.useMemo(()=>{let e=new Map;for(let t of f)e.set(J(t),[]);for(let t of h){let n=K(new Date(t.start)),r=t.end?new Date(t.end):new Date(t.start),i=K(r);r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getTime()>n.getTime()&&(i=new Date(i),i.setDate(i.getDate()-1));for(let r of f){let a=K(r);a<n||a>i||e.get(J(r)).push({event:t,isStart:a.getTime()===n.getTime(),isEnd:a.getTime()===i.getTime()})}}return e},[f,h]),v=N.useMemo(()=>{let e=new Map;for(let t of f)e.set(J(t),[]);for(let t of g){let n=new Date(t.start),r=t.end?new Date(t.end):new Date(n.getTime()+3600*1e3);for(let i of f){let a=K(i),o=new Date(a);if(o.setDate(o.getDate()+1),r<=a||n>=o)continue;let s=n<a?a:n,c=r>o?o:r,l=q(s),u=c.getTime()===o.getTime()?1440:q(c);e.get(J(i)).push({event:t,startMin:l,endMin:Math.max(u,l+15),isStart:s.getTime()===n.getTime(),isEnd:c.getTime()===r.getTime()})}}return e},[f,g]),y=N.useMemo(()=>{let e=new Map;for(let[t,n]of v){let r=[...n].sort((e,t)=>e.startMin-t.startMin||e.endMin-t.endMin),i=[],a=[],o=[];for(let e of r){let t=0;for(;i[t]&&i[t].endMin>e.startMin;)t++;i[t]={endMin:e.endMin},a.push({entry:e,col:t})}for(let e=0;e<a.length;e++){let t=a[e],n=t.col;for(let r=0;r<a.length;r++){if(r===e)continue;let i=a[r];i.entry.startMin<t.entry.endMin&&i.entry.endMin>t.entry.startMin&&i.col>n&&(n=i.col)}o.push({...t.entry,col:t.col,cols:n+1})}e.set(t,o)}return e},[v]),b=N.useRef(null),x=N.useRef([]),[S,C]=N.useState(null),w=N.useRef(null);w.current=S;let T=N.useRef(!1),E=N.useCallback((e,t)=>{let n=x.current[t];if(!n)return 0;let r=(e-n.getBoundingClientRect().top+n.scrollTop)/G*60,a=Math.round(r/i)*i;return Math.max(0,Math.min(1440,a))},[i]),D=N.useCallback(e=>{for(let t=0;t<x.current.length;t++){let n=x.current[t];if(!n)continue;let r=n.getBoundingClientRect();if(e>=r.left&&e<=r.right)return t}return-1},[]);N.useEffect(()=>{if(!S)return;let e=e=>{let t=S.kind===`select`||S.kind===`move`?D(e.clientX):S.dayIndex,n=t<0?S.dayIndex??0:t,r=E(e.clientY,n);C(e=>e&&(e.kind===`select`?{...e,dayIndex:n>=0?n:e.dayIndex,headMinutes:r}:e.kind===`move`?{...e,dayIndex:n,minutes:r}:{...e,minutes:r}))},t=e=>{let t=w.current;if(!t){C(null);return}try{if(t.kind===`select`&&s){let e=Math.min(t.anchorMinutes,t.headMinutes),n=Math.max(t.anchorMinutes,t.headMinutes),r=e,a=n===e?Math.min(1440,e+i):n,o=f[t.dayIndex]??f[0],c=new Date(o);c.setHours(0,Math.round(r),0,0);let l=new Date(o);l.setHours(0,Math.round(a),0,0),T.current=!0,s(c,l)}else if(t.kind===`move`&&o){let e=n.find(e=>String(e.id)===String(t.eventId));if(e){let n=t.dayIndex<0?0:t.dayIndex,r=t.minutes-t.grabMinuteOffset,a=Math.max(0,Math.min(1440-t.durationMin,Math.round(r/i)*i)),s=f[n]??f[0],c=new Date(s);c.setHours(0,a,0,0);let l=new Date(c.getTime()+t.durationMin*60*1e3);T.current=!0,o(e,c,l)}}else if(t.kind===`resize-top`&&o){let e=n.find(e=>String(e.id)===String(t.eventId));if(e){let n=f[t.dayIndex]??f[0],r=Math.min(t.anchorEndMin-i,Math.max(0,t.minutes)),a=new Date(n);a.setHours(0,r,0,0);let s=new Date(n);s.setHours(0,t.anchorEndMin,0,0),T.current=!0,o(e,a,s)}}else if(t.kind===`resize-bottom`&&o){let e=n.find(e=>String(e.id)===String(t.eventId));if(e){let n=f[t.dayIndex]??f[0],r=Math.max(t.anchorStartMin+i,Math.min(1440,t.minutes)),a=new Date(n);a.setHours(0,t.anchorStartMin,0,0);let s=new Date(n);s.setHours(0,r,0,0),T.current=!0,o(e,a,s)}}}finally{C(null),setTimeout(()=>{T.current=!1},50)}};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[S,f,n,i,o,s,D,E]);let O=N.useMemo(()=>f.map(e=>({weekday:e.toLocaleDateString(r,{weekday:`short`}),day:e.getDate(),month:e.toLocaleDateString(r,{month:`short`}),isToday:U(e,p)})),[f,r,p]),k=N.useMemo(()=>Array.from({length:24},(e,t)=>new Date(2024,0,1,t,0).toLocaleTimeString(r,{hour:`numeric`})),[r]),A=(e,t,n,r)=>{if(!o||e.button!==0)return;e.stopPropagation(),e.preventDefault();let i=E(e.clientY,n);C(r===`body`?{kind:`move`,eventId:t.event.id,grabMinuteOffset:Math.max(0,i-t.startMin),durationMin:t.endMin-t.startMin,dayIndex:n,minutes:i}:r===`top`?{kind:`resize-top`,eventId:t.event.id,anchorEndMin:t.endMin,dayIndex:n,minutes:i}:{kind:`resize-bottom`,eventId:t.event.id,anchorStartMin:t.startMin,dayIndex:n,minutes:i})},ee=(e,t)=>{if(!s||e.button!==0)return;e.preventDefault();let n=E(e.clientY,t);C({kind:`select`,dayIndex:t,anchorMinutes:n,headMinutes:n})},j=e=>{if(!S)return null;if(S.kind===`select`&&S.dayIndex===e){let t=Math.min(S.anchorMinutes,S.headMinutes),n=Math.max(S.anchorMinutes,S.headMinutes);return(0,P.jsx)(`div`,{className:`absolute left-1 right-1 rounded bg-primary/30 border border-primary pointer-events-none z-10`,style:{top:t/60*G,height:Math.max(l,(n-t)/60*G)},"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`px-2 py-0.5 text-xs font-medium text-primary`,children:X(f[e],t,n,r)})})}if(S.kind===`move`&&S.dayIndex===e){let t=S.minutes-S.grabMinuteOffset,n=Math.max(0,Math.min(1440-S.durationMin,Math.round(t/i)*i));return(0,P.jsx)(`div`,{className:`absolute left-1 right-1 rounded border-2 border-dashed border-primary bg-primary/10 pointer-events-none z-10`,style:{top:n/60*G,height:S.durationMin/60*G},"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`px-2 py-0.5 text-xs font-medium text-primary`,children:X(f[e],n,n+S.durationMin,r)})})}if((S.kind===`resize-top`||S.kind===`resize-bottom`)&&S.dayIndex===e){let t,n;return S.kind===`resize-top`?(t=Math.min(S.anchorEndMin-i,Math.max(0,S.minutes)),n=S.anchorEndMin):(t=S.anchorStartMin,n=Math.max(S.anchorStartMin+i,Math.min(1440,S.minutes))),(0,P.jsx)(`div`,{className:`absolute left-1 right-1 rounded border-2 border-dashed border-primary bg-primary/10 pointer-events-none z-10`,style:{top:t/60*G,height:(n-t)/60*G},"aria-hidden":!0,children:(0,P.jsx)(`div`,{className:`px-2 py-0.5 text-xs font-medium text-primary`,children:X(f[e],t,n,r)})})}return null};return(0,P.jsxs)(`div`,{className:`flex flex-col h-full`,ref:b,children:[(0,P.jsxs)(`div`,{className:`flex border-b sticky top-0 bg-background z-20`,children:[(0,P.jsx)(`div`,{className:`w-14 shrink-0 border-r`,"aria-hidden":!0}),O.map((e,t)=>(0,P.jsxs)(`div`,{role:`columnheader`,className:d(`flex-1 p-2 text-center text-sm border-r last:border-r-0`,e.isToday&&`bg-primary/5`),children:[(0,P.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.weekday}),(0,P.jsx)(`div`,{className:d(`font-medium`,e.isToday&&`inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground h-6 w-6 mx-auto`),children:e.day})]},t))]}),h.length>0&&(0,P.jsxs)(`div`,{className:`flex border-b bg-muted/20 max-h-[140px] overflow-y-auto`,children:[(0,P.jsx)(`div`,{className:`w-14 shrink-0 border-r flex items-start justify-end pr-1 pt-1 text-[10px] text-muted-foreground sticky left-0 bg-muted/20`,children:c(`calendar.allDay`)===`calendar.allDay`?`all-day`:c(`calendar.allDay`)}),f.map(e=>{let t=J(e);return(0,P.jsx)(`div`,{className:`flex-1 border-r last:border-r-0 min-h-[28px] p-0.5 space-y-0.5`,children:(_.get(t)??[]).map(({event:e,isStart:t,isEnd:n},r)=>{let{className:i,inlineColor:o}=z(e.color);return(0,P.jsx)(`div`,{role:`button`,title:e.title,onClick:t=>{t.stopPropagation(),a?.(e)},className:d(`text-[11px] px-2 py-0.5 truncate cursor-pointer hover:opacity-80`,t?`rounded-l`:`rounded-l-none -ml-0.5`,n?`rounded-r`:`rounded-r-none -mr-0.5`,i),style:o?{backgroundColor:o}:void 0,children:t?e.title:`\xA0`},`${e.id}-${r}`)})},t)})]}),(0,P.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,P.jsxs)(`div`,{className:`flex`,style:{height:u},children:[(0,P.jsx)(`div`,{className:`w-14 shrink-0 border-r relative`,children:k.map((e,t)=>(0,P.jsx)(`div`,{className:`absolute right-1 text-[10px] text-muted-foreground -translate-y-1/2`,style:{top:t*G},children:t===0?``:e},t))}),f.map((e,t)=>{let n=J(e),s=y.get(n)??[];return(0,P.jsxs)(`div`,{ref:e=>{x.current[t]=e},className:`flex-1 border-r last:border-r-0 relative select-none`,style:{height:u},onPointerDown:e=>ee(e,t),"aria-label":e.toLocaleDateString(r,{weekday:`long`,month:`long`,day:`numeric`,year:`numeric`}),children:[Array.from({length:24},(e,t)=>(0,P.jsx)(`div`,{className:`absolute left-0 right-0 border-t border-muted/60 pointer-events-none`,style:{top:t*G}},t)),i<60&&Array.from({length:Math.floor(1440/i)},(e,t)=>{let n=t*i;return n%60==0?null:(0,P.jsx)(`div`,{className:`absolute left-0 right-0 border-t border-dashed border-muted/30 pointer-events-none`,style:{top:n/60*G}},t)}),s.map(n=>{let i=n.startMin/60*G,s=Math.max(l,(n.endMin-n.startMin)/60*G),c=100/n.cols,u=n.col*c,{className:f,inlineColor:p}=z(n.event.color),m=S&&S.eventId===n.event.id;return(0,P.jsxs)(`div`,{role:`button`,tabIndex:0,title:n.event.title,"aria-label":n.event.title,onPointerDown:e=>A(e,n,t,`body`),onClick:e=>{if(T.current){e.stopPropagation();return}e.stopPropagation(),a?.(n.event)},className:d(`absolute rounded text-xs px-2 py-1 overflow-hidden shadow-sm`,o?`cursor-move`:`cursor-pointer`,f,m&&`opacity-40`),style:{top:i,height:s,left:`calc(${u}% + 2px)`,width:`calc(${c}% - 4px)`,...p?{backgroundColor:p}:{}},children:[(0,P.jsx)(`div`,{className:`font-medium truncate`,children:n.event.title}),(0,P.jsx)(`div`,{className:`text-[10px] opacity-80 truncate`,children:X(e,n.startMin,n.endMin,r)}),o&&n.isStart&&(0,P.jsx)(`div`,{onPointerDown:e=>A(e,n,t,`top`),className:`absolute top-0 left-0 right-0 h-1.5 cursor-ns-resize`,"aria-label":`Resize start`}),o&&n.isEnd&&(0,P.jsx)(`div`,{onPointerDown:e=>A(e,n,t,`bottom`),className:`absolute bottom-0 left-0 right-0 h-1.5 cursor-ns-resize`,"aria-label":`Resize end`})]},`${n.event.id}-${n.startMin}`)}),j(t)]},n)})]})})]})}function X(e,t,n,r){let i=new Date(e);i.setHours(0,Math.round(t),0,0);let a=new Date(e);a.setHours(0,Math.round(n),0,0);let o=e=>e.toLocaleTimeString(r,{hour:`numeric`,minute:`2-digit`});return`${o(i)} – ${o(a)}`}function ce(e){return`data`in e&&e.data?e.data:`staticData`in e&&e.staticData?{provider:`value`,items:e.staticData}:e.objectName?{provider:`object`,object:e.objectName}:null}function le(e){if(e){if(typeof e==`string`){let t=e.split(` `),n=t[0],r=t[1]?.toLowerCase()===`desc`?`desc`:`asc`;return{[n]:r}}if(Array.isArray(e))return e.reduce((e,t)=>(t.field&&t.order&&(e[t.field]=t.order),e),{})}}function ue(e){return`filter`in e&&e.filter&&typeof e.filter==`object`&&`calendar`in e.filter?e.filter.calendar:e.calendar?e.calendar:e.startDateField||e.dateField?{startDateField:e.startDateField||e.dateField,endDateField:e.endDateField||e.endField,titleField:e.titleField,colorField:e.colorField,allDayField:e.allDayField}:null}var Z=({schema:e,dataSource:t,className:n,data:r,loading:i,onEventClick:c,onRowClick:l,onDateClick:d,onNavigate:p,onViewChange:h,onEventDrop:_,locale:y})=>{let x=Array.isArray(r),[S,w]=(0,N.useState)(x?r:[]),[T,E]=(0,N.useState)(x?i??!1:!0),[O,A]=(0,N.useState)(null),[j,te]=(0,N.useState)(null),[F,ae]=(0,N.useState)(new Date),I=M(),L=e.defaultView,[R,z]=(0,N.useState)(()=>{let e=L===`day`||!L;return typeof window<`u`&&window.innerWidth<768&&e?`month`:L||`month`});(0,N.useEffect)(()=>{I&&R===`day`&&(L===`day`||!L)&&z(`month`)},[I]);let[B,V]=(0,N.useState)(0);(0,N.useEffect)(()=>{if(!x&&!(!t?.onMutation||!e.objectName))return t.onMutation(t=>{t.resource===e.objectName&&V(e=>e+1)})},[t,e.objectName,x]);let{ref:oe,isRefreshing:se,pullDistance:U}=ie({onRefresh:(0,N.useCallback)(async()=>{V(e=>e+1)},[]),enabled:!!t&&!!e.objectName}),W=(0,N.useMemo)(()=>ce(e),[e.data,e.staticData,e.objectName]),G=(0,N.useMemo)(()=>ue(e),[e.filter,e.calendar,e.dateField,e.endField,e.titleField,e.colorField]),K=W?.provider===`value`,q=(0,N.useRef)(null);q.current=j,(0,N.useEffect)(()=>{x&&w(r)},[r,x]),(0,N.useEffect)(()=>{x&&i!==void 0&&E(i)},[i,x]),(0,N.useEffect)(()=>{if(x)return;let n=!0;return(async()=>{try{if(!n)return;if(E(!0),K&&W?.provider===`value`){n&&(w(W.items),E(!1));return}if(!t||typeof t.find!=`function`)throw Error(`DataSource required for object/api providers`);if(W?.provider===`object`){let r=W.object,i=a(q.current?.fields),s=o(await t.find(r,{$filter:e.filter,$orderby:le(e.sort),...i.length>0?{$expand:i}:{}}));n&&w(s)}else W?.provider===`api`&&(console.warn(`API provider not yet implemented for ObjectCalendar`),n&&w([]));n&&E(!1)}catch(e){console.error(`[ObjectCalendar] Error fetching data:`,e),n&&(A(e),E(!1))}})(),()=>{n=!1}},[x,W,t,K,e.filter,e.sort,B]),(0,N.useEffect)(()=>{!K&&t&&(async()=>{try{if(!t)return;let n=W?.provider===`object`?W.object:e.objectName;if(!n)return;te(await t.getObjectSchema(n))}catch(e){console.error(`Failed to fetch object schema:`,e)}})()},[e.objectName,t,K,W]);let J=(0,N.useMemo)(()=>{if(!G||!S.length)return[];let{startDateField:e,endDateField:t,titleField:n,colorField:r}=G,i=e=>{if(n){let t=e[n],r=typeof t==`string`?t.trim():t;if(r)return String(r)}return s(j,e)};return S.map((n,a)=>{let o=n[e],s=t?n[t]:null,c=i(n),l=r?n[r]:void 0;return{id:n.id||n._id||`event-${a}`,title:c,start:o?new Date(o):new Date,end:s?new Date(s):void 0,color:l,allDay:!s,data:n}}).filter(e=>!isNaN(e.start.getTime()))},[S,G,j]);(0,N.useCallback)(()=>{d?.(new Date)},[d]);let Y=e.navigation??{mode:`drawer`,width:`min(960px, 60vw)`},X=Y.mode===`drawer`||Y.mode===`modal`||Y.mode===`split`||Y.mode===`popover`,Z=u({navigation:Y,objectName:e.objectName,onRowClick:X?void 0:l}),de=(0,N.useCallback)(async(n,r,i)=>{if(!G)return;let{startDateField:a,endDateField:o}=G,s=n?.id??n?._id;if(!s||!e.objectName||!t?.update)return;let c={[a]:r.toISOString()};o&&i&&(c[o]=i.toISOString());let l=S;w(e=>e.map(e=>(e?.id??e?._id)===s?{...e,...c}:e));try{await t.update(e.objectName,s,c)}catch(e){w(l),console.error(`[ObjectCalendar] Failed to persist drag-and-drop reschedule:`,e)}},[G,e.objectName,t,S]),[Q,$]=(0,N.useState)(null),fe=(0,N.useCallback)(n=>{!G||!e.objectName||!t?.create||$({start:n,title:``,submitting:!1})},[G,e.objectName,t]),pe=(0,N.useCallback)((n,r)=>{!G||!e.objectName||!t?.create||$({start:n,end:r,title:``,submitting:!1})},[G,e.objectName,t]),me=(0,N.useCallback)(async()=>{if(!Q||!G)return;let n=Q.title.trim();if(!n){$(e=>e&&{...e,error:`Title is required`});return}if(!e.objectName||!t?.create)return;$(e=>e&&{...e,submitting:!0,error:void 0});let{startDateField:r,endDateField:i,titleField:a}=G,o={[a||`name`]:n,[r]:Q.start.toISOString()};i&&(o[i]=(Q.end??Q.start).toISOString());let s=j?.fields;if(s&&typeof s==`object`){let e=Array.isArray(s)?s.map(e=>[e.name??e.apiName,e]):Object.entries(s);for(let[t,n]of e){if(!t||t in o||!n?.required)continue;if(n.defaultValue!==void 0&&n.defaultValue!==null){o[t]=n.defaultValue;continue}let e=n.type;if(e===`select`||e===`picklist`||e===`status`){let e=(n.options||n.choices||[])[0];e!==void 0&&(o[t]=typeof e==`object`?e.value??e.id:e)}else e===`boolean`||e===`checkbox`?o[t]=!1:(e===`number`||e===`integer`||e===`decimal`||e===`currency`||e===`percent`)&&(o[t]=0)}}try{let n=await t.create(e.objectName,o),r=(n&&(n.record||n.data||n))??null;r&&(r.id!==void 0||r._id!==void 0)&&w(e=>[...e,r]),$(null)}catch(e){let t=e?.message||String(e);$(e=>e&&{...e,submitting:!1,error:t}),console.error(`[ObjectCalendar] Quick-create failed:`,e)}},[Q,G,e.objectName,t,j]);return T?(0,P.jsx)(`div`,{className:n,children:(0,P.jsx)(`div`,{className:`flex items-center justify-center h-96`,children:(0,P.jsx)(`div`,{className:`text-muted-foreground`,children:`Loading calendar...`})})}):O?(0,P.jsx)(`div`,{className:n,children:(0,P.jsx)(`div`,{className:`flex items-center justify-center h-96`,children:(0,P.jsxs)(`div`,{className:`text-destructive`,children:[`Error: `,O.message]})})}):G?(0,P.jsxs)(`div`,{ref:oe,className:n,children:[U>0&&(0,P.jsx)(`div`,{className:`flex items-center justify-center text-xs text-muted-foreground`,style:{height:U},children:se?`Refreshing…`:`Pull to refresh`}),(0,P.jsx)(`div`,{className:`bg-background h-[calc(100vh-120px)] sm:h-[calc(100vh-160px)] md:h-[calc(100vh-200px)] min-h-[400px] sm:min-h-[600px]`,children:(0,P.jsx)(H,{events:J,currentDate:F,view:R,locale:y,onEventClick:e=>{Z.handleClick(e.data),X||c?.(e.data)},onDateClick:e=>{d?d(e):fe(e)},onNavigate:e=>{ae(e),p?.(e)},onViewChange:e=>{z(e),h?.(e)},onAddClick:void 0,onEventDrop:(e,t,n)=>{_?_(e.data,t,n):de(e.data,t,n)},onTimeRangeSelect:pe})}),(0,P.jsx)(b,{open:!!Q,onOpenChange:e=>{e||$(null)},children:(0,P.jsxs)(f,{className:`sm:max-w-md`,children:[(0,P.jsxs)(m,{children:[(0,P.jsx)(C,{children:`New event`}),(0,P.jsx)(g,{children:Q&&(()=>{let e=Q.end&&Q.end.getTime()!==Q.start.getTime(),t=Q.start.toLocaleDateString(y,{year:`numeric`,month:`long`,day:`numeric`});if(e){let e=e=>e.toLocaleTimeString(y,{hour:`numeric`,minute:`2-digit`});return(0,P.jsxs)(P.Fragment,{children:[t,` · `,e(Q.start),` – `,e(Q.end)]})}return(0,P.jsxs)(P.Fragment,{children:[`On `,t]})})()})]}),(0,P.jsxs)(`div`,{className:`space-y-2`,children:[(0,P.jsx)(k,{htmlFor:`quick-create-title`,children:`Title`}),(0,P.jsx)(D,{id:`quick-create-title`,autoFocus:!0,value:Q?.title??``,onChange:e=>$(t=>t&&{...t,title:e.target.value,error:void 0}),onKeyDown:e=>{e.key===`Enter`&&!Q?.submitting&&(e.preventDefault(),me())},placeholder:`What's this event about?`,disabled:Q?.submitting}),Q?.error&&(0,P.jsx)(`p`,{className:`text-sm text-destructive`,children:Q.error})]}),(0,P.jsxs)(ee,{children:[(0,P.jsx)(v,{variant:`outline`,onClick:()=>$(null),disabled:Q?.submitting,children:`Cancel`}),(0,P.jsx)(v,{onClick:()=>void me(),disabled:Q?.submitting||!Q?.title.trim(),children:Q?.submitting?`Creating…`:`Create`})]})]})}),Z.isOverlay&&Z.isOpen&&Z.selectedRecord&&(()=>{let n=W?.provider===`object`?W.object:e.objectName,r=Z.selectedRecord,i=r.id??r._id;if(!n||i==null)return null;let a=G?.titleField?String(r[G.titleField]??`Event Details`):`Event Details`;return(0,P.jsx)(ne,{open:!0,onClose:Z.close,title:a,record:r,objectName:n,recordId:i,dataSource:t,objectSchema:j,width:Z.width??`min(960px, 60vw)`,fullPageHref:re(n,i)??void 0,onFieldSave:async(e,r)=>{t?.update&&(await t.update(n,String(i),{[e]:r}),w(t=>t.map(t=>String(t.id??t._id)===String(i)?{...t,[e]:r}:t)))},onDelete:async()=>{t?.delete&&(await t.delete(n,String(i)),w(e=>e.filter(e=>String(e.id??e._id)!==String(i))))}})})()]}):(0,P.jsx)(`div`,{className:n,children:(0,P.jsx)(`div`,{className:`flex items-center justify-center h-96`,children:(0,P.jsx)(`div`,{className:`text-muted-foreground`,children:`Calendar configuration required. Please specify startDateField and titleField.`})})})};i.register(`calendar-view`,({schema:e,className:t,onAction:n,...r})=>{let i=N.useMemo(()=>!e.data||!Array.isArray(e.data)?[]:e.data.map((t,n)=>{let r=e.titleField||`title`,i=e.startDateField||`start`,a=e.endDateField||`end`,o=e.colorField||`color`,s=e.allDayField||`allDay`;return{id:t.id||t._id||n,title:t[r]||`Untitled Event`,start:new Date(t[i]),end:t[a]?new Date(t[a]):void 0,allDay:t[s],color:t[o],data:t}}),[e.data,e.titleField,e.startDateField,e.endDateField,e.colorField,e.allDayField]);return(0,P.jsx)(H,{className:t,events:i,onEventClick:e=>{n?.({type:`event-click`,payload:e})},...r})},{namespace:`plugin-calendar`,label:`Calendar View`,inputs:[{name:`data`,type:`array`,label:`Data`,description:`Array of record objects to display as events`},{name:`titleField`,type:`string`,label:`Title Field`,defaultValue:`title`,description:`Field name to use for event title`},{name:`startDateField`,type:`string`,label:`Start Date Field`,defaultValue:`start`,description:`Field name for event start date`},{name:`endDateField`,type:`string`,label:`End Date Field`,defaultValue:`end`,description:`Field name for event end date (optional)`},{name:`allDayField`,type:`string`,label:`All Day Field`,defaultValue:`allDay`,description:`Field name for all-day flag`},{name:`colorField`,type:`string`,label:`Color Field`,defaultValue:`color`,description:`Field name for event color`},{name:`colorMapping`,type:`object`,label:`Color Mapping`,description:`Map field values to colors (e.g., {meeting: "blue", deadline: "red"})`},{name:`view`,type:`enum`,enum:[`month`,`week`,`day`],defaultValue:`month`,label:`View Mode`,description:`Calendar view mode (month, week, or day)`},{name:`currentDate`,type:`string`,label:`Current Date`,description:`ISO date string for initial calendar date`},{name:`allowCreate`,type:`boolean`,label:`Allow Create`,defaultValue:!1,description:`Allow creating events by clicking on dates`},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{view:`month`,titleField:`title`,startDateField:`start`,endDateField:`end`,allDayField:`allDay`,colorField:`color`,allowCreate:!1,data:[{id:1,title:`Team Meeting`,start:new Date(new Date().setHours(10,0,0,0)).toISOString(),end:new Date(new Date().setHours(11,0,0,0)).toISOString(),color:`#3b82f6`,allDay:!1},{id:2,title:`Project Deadline`,start:new Date(new Date().setDate(new Date().getDate()+3)).toISOString(),color:`#ef4444`,allDay:!0},{id:3,title:`Conference`,start:new Date(new Date().setDate(new Date().getDate()+7)).toISOString(),end:new Date(new Date().setDate(new Date().getDate()+9)).toISOString(),color:`#10b981`,allDay:!0}],className:`h-[600px] border rounded-lg`}});var de=t({CalendarView:()=>H,ObjectCalendar:()=>Z,ObjectCalendarRenderer:()=>Q}),Q=({schema:e,...t})=>{let{dataSource:n}=l()||{};return(0,P.jsx)(Z,{schema:e,dataSource:n,...t})};i.register(`object-calendar`,Q,{namespace:`plugin-calendar`,label:`Object Calendar`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`calendar`,type:`object`,label:`Calendar Config`,description:`startDateField, endDateField, titleField, colorField`}]}),i.register(`calendar`,Q,{namespace:`view`,label:`Calendar View`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`calendar`,type:`object`,label:`Calendar Config`,description:`startDateField, endDateField, titleField, colorField`}]});export{de as t};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-DAXXjFlN.js";import{_ as n,m as r,t as i}from"./vendor-react-slxo-5GC.js";import{Ct as a,D as o,Kt as s,St as c,Wt as l,Y as u,at as d,bt as f,gt as p,ht as ee,mt as m,rt as te,s as ne,vt as re,wt as ie,xt as ae,yt as oe}from"./framework-B9PMswdm.js";import{A as h,B as g,C as _,D as v,E as se,F as ce,I as le,L as y,M as b,N as x,O as S,P as C,R as ue,T as de,V as w,_ as T,dt as E,g as fe,h as D,j as pe,k as me,m as O,p as k,ut as A,v as he,w as j,y as M,z as N}from"./vendor-charts-DVOdzzh2.js";import{Bt as ge,Fs as _e,Gn as ve,I as P,Jn as ye,L as F,Lc as I,Rt as L,Sr as be,Ut as R,Vt as xe,Wn as Se,Wt as z,Yn as Ce,bc as we}from"./ui-components-DsYvPIox.js";var B=e(n(),1),V=i(),H=(...e)=>e.filter(Boolean).join(` `),U={light:``,dark:`.dark`},W=B.createContext(null);function G(){let e=B.useContext(W);if(!e)throw Error(`useChart must be used within a <ChartContainer />`);return e}function K({id:e,className:t,children:n,config:r,...i}){let a=B.useId(),o=`chart-${e||a.replace(/:/g,``)}`;return(0,V.jsx)(W.Provider,{value:{config:r},children:(0,V.jsxs)(`div`,{"data-slot":`chart`,"data-chart":o,className:H(`block w-full h-[350px] text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground`,t),style:{minHeight:280,minWidth:0,...i.style},...i,children:[(0,V.jsx)(Te,{id:o,config:r}),(0,V.jsx)(E,{width:`100%`,height:`100%`,children:n})]})})}var Te=({id:e,config:t})=>{let n=Object.entries(t).filter(([,e])=>e.theme||e.color);return n.length?(0,V.jsx)(`style`,{dangerouslySetInnerHTML:{__html:Object.entries(U).map(([t,r])=>`
|
|
2
|
-
${r} [data-chart=${e}] {
|
|
3
|
-
${n.map(([e,n])=>{let r=n.theme?.[t]||n.color;return r?` --color-${e}: ${r};`:null}).join(`
|
|
4
|
-
`)}
|
|
5
|
-
}
|
|
6
|
-
`).join(`
|
|
7
|
-
`)}}):null},q=w;function J({active:e,payload:t,className:n,indicator:r=`dot`,hideLabel:i=!1,hideIndicator:a=!1,label:o,labelFormatter:s,labelClassName:c,formatter:l,color:u,nameKey:d,labelKey:f}){let{config:p}=G(),ee=B.useMemo(()=>{if(i||!t?.length)return null;let[e]=t,n=Ee(p,e,`${f||e?.dataKey||e?.name||`value`}`),r=!f&&typeof o==`string`?p[o]?.label||o:n?.label;return s?(0,V.jsx)(`div`,{className:H(`font-medium`,c),children:s(r,t)}):r?(0,V.jsx)(`div`,{className:H(`font-medium`,c),children:r}):null},[o,s,t,i,c,p,f]);if(!e||!t?.length)return null;let m=t.length===1&&r!==`dot`;return(0,V.jsxs)(`div`,{className:H(`border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl`,n),children:[m?null:ee,(0,V.jsx)(`div`,{className:`grid gap-1.5`,children:t.filter(e=>e.type!==`none`).map((e,t)=>{let n=Ee(p,e,`${d||e.name||e.dataKey||`value`}`),i=u||e.payload.fill||e.color;return(0,V.jsx)(`div`,{className:H(`[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5`,r===`dot`?`items-center`:``),children:l&&e?.value!==void 0&&e.name?l(e.value,e.name,e,t,e.payload):(0,V.jsxs)(V.Fragment,{children:[n?.icon?(0,V.jsx)(n.icon,{}):!a&&(0,V.jsx)(`div`,{className:H(`shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)`,r===`dot`?`h-2.5 w-2.5`:``,r===`line`?`w-1`:``,r===`dashed`?`w-0 border-[1.5px] border-dashed bg-transparent`:``,m&&r===`dashed`?`my-0.5`:``),style:{"--color-bg":i,"--color-border":i}}),(0,V.jsxs)(`div`,{className:H(`flex flex-1 justify-between leading-none`,m?`items-end`:`items-center`),children:[(0,V.jsxs)(`div`,{className:`grid gap-1.5`,children:[m?ee:null,(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:n?.label||e.name})]}),e.value&&(0,V.jsx)(`span`,{className:`text-foreground font-mono font-medium tabular-nums`,children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})}var Y=A;function X({className:e,hideIcon:t=!1,payload:n,verticalAlign:r=`bottom`,nameKey:i}){let{config:a}=G();return n?.length?(0,V.jsx)(`div`,{className:H(`flex items-center justify-center gap-4`,r===`top`?`pb-3`:`pt-3`,e),children:n.filter(e=>e.type!==`none`).map(e=>{let n=Ee(a,e,`${i||e.dataKey||`value`}`);return(0,V.jsxs)(`div`,{className:H(`[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3`),children:[n?.icon&&!t?(0,V.jsx)(n.icon,{}):(0,V.jsx)(`div`,{className:`h-2 w-2 shrink-0 rounded-[2px]`,style:{backgroundColor:e.color}}),n?.label]},e.value)})}):null}function Ee(e,t,n){if(typeof t!=`object`||!t)return;let r=`payload`in t&&typeof t.payload==`object`&&t.payload!==null?t.payload:void 0,i=n;return n in t&&typeof t[n]==`string`?i=t[n]:r&&n in r&&typeof r[n]==`string`&&(i=r[n]),i in e?e[i]:e[n]}function De(e){return e?.[0]?.dataKey||`value`}function Oe(e,t,n){if(!e)return null;let r=e.payload??e,i=r?.[t];if(i==null)return null;let a=De(n);return{category:String(i),series:a,value:typeof r?.[a]==`number`?r[a]:void 0}}function ke(e,t){if(!e)return null;let n=e.name??e.payload?.name??e.root?.name;if(n==null)return null;let r=e.value??e.size??e.payload?.size;return{category:String(n),series:De(t),value:typeof r==`number`?r:void 0}}function Ae(e,t){if(!e)return null;let n=e.payload??e,r=n?.name;return r==null||n?.depth===0?null:{category:String(r),series:De(t),value:typeof n?.value==`number`?n.value:void 0}}var je=t({default:()=>Pe}),Me=`hsl(var(--primary))`,Ne={slate:`#64748b`,gray:`#6b7280`,zinc:`#71717a`,neutral:`#737373`,stone:`#78716c`,red:`#ef4444`,orange:`#f97316`,amber:`#f59e0b`,yellow:`#eab308`,lime:`#84cc16`,green:`#22c55e`,emerald:`#10b981`,teal:`#14b8a6`,cyan:`#06b6d4`,sky:`#0ea5e9`,blue:`#3b82f6`,indigo:`#6366f1`,violet:`#8b5cf6`,purple:`#a855f7`,fuchsia:`#d946ef`,pink:`#ec4899`,rose:`#f43f5e`},Z=e=>Ne[e]||e,Q=(e,t)=>e?.variant===`comparison`?{strokeOpacity:typeof e.opacity==`number`?e.opacity:t===`line`||t===`scatter`?.5:.6,fillOpacity:typeof e.opacity==`number`?e.opacity:t===`bar`?.4:t===`area`?.2:.5,strokeDasharray:e.dashArray??(t===`line`||t===`area`?`4 4`:void 0)}:null;function Pe({chartType:e=`bar`,data:t=[],config:n={},xAxisKey:r=`name`,series:i=[],className:a=``,colors:o,categoryColors:s,onChartClick:c,isAnimationActive:l}){let u=e===`column`?`bar`:e,d=Array.isArray(t)?t:[],f=l===!1?{isAnimationActive:!1}:{},[p,ee]=B.useState(!1),m=B.useCallback(e=>{if(!c||!e)return;let t=Array.isArray(e.activePayload)?e.activePayload[0]:void 0;c({category:e.activeLabel==null?void 0:String(e.activeLabel),series:t?.dataKey?String(t.dataKey):void 0,value:typeof t?.value==`number`?t.value:void 0})},[c]),te=B.useCallback(e=>{if(!c||!e)return;let t=e.payload?.[r],n=i[0]?.dataKey||`value`;c({category:t==null?void 0:String(t),series:n,value:typeof e.payload?.[n]==`number`?e.payload[n]:void 0})},[c,r,i]),ne=c?{onClick:m,style:{cursor:`pointer`}}:{},re=c?{onClick:te,style:{cursor:`pointer`}}:{},ie=B.useCallback((e,t,n)=>s&&s[e==null?``:String(e)]||n[t%n.length],[s]),ae=B.useCallback(e=>{if(!c)return;let t=Oe(e,r,i);t&&c(t)},[c,r,i]),oe=B.useCallback(e=>{if(!c)return;let t=ke(e,i);t&&c(t)},[c,i]),E=B.useCallback(e=>{if(!c)return;let t=Ae(e,i);t&&c(t)},[c,i]),A=c?{onClick:ae,cursor:`pointer`}:{},ge=c?{onClick:oe,style:{cursor:`pointer`}}:{},_e=c?{onClick:E,style:{cursor:`pointer`}}:{};B.useEffect(()=>{let e=()=>ee(window.innerWidth<640);return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let ve={bar:j,"horizontal-bar":j,line:de,area:D,pie:_,donut:_,radar:T,scatter:fe,funnel:k,combo:j,treemap:j,sankey:j}[u]||j,P=B.useCallback(e=>{if(e==null||e===``)return``;let t=n?.[String(e)]?.label;if(t!=null)return String(t);let i=typeof e==`string`?e:String(e);if(/^\d{4}-\d{2}-\d{2}/.test(i)){let e=new Date(i);if(!Number.isNaN(e.getTime())){let t=(d.length>1?Math.abs(new Date(String(d[d.length-1][r]??``)).getTime()-new Date(String(d[0][r]??``)).getTime()):0)/(1e3*60*60*24);try{return t<=62?e.toLocaleDateString(void 0,{month:`short`,day:`numeric`}):e.toLocaleDateString(void 0,{month:`short`,year:`numeric`})}catch{return e.toISOString().slice(0,10)}}}return p&&i.length>8?i.slice(0,8)+`…`:i},[d,r,p,n]),ye=B.useMemo(()=>d.some(e=>String(e[r]||``).length>5),[d,r]),F=()=>Array.isArray(o)&&o.length>0?o:[`hsl(var(--chart-1))`,`hsl(var(--chart-2))`,`hsl(var(--chart-3))`,`hsl(var(--chart-4))`,`hsl(var(--chart-5))`],I=B.useCallback(e=>{if(e==null||e===``)return``;let t=typeof e==`number`?e:Number(e);if(!Number.isFinite(t))return String(e);try{return new Intl.NumberFormat(void 0,{notation:`compact`,maximumFractionDigits:1}).format(t)}catch{return String(t)}},[]),L=B.useMemo(()=>({tickLine:!1,tickMargin:10,axisLine:!1,interval:`preserveStartEnd`,minTickGap:p?32:48,tickFormatter:P,...!p&&ye&&{angle:-35,textAnchor:`end`,height:60}}),[p,ye,P]);if(u===`pie`||u===`donut`){let e=u===`donut`?`52%`:0,t=F(),o={...n};return d.forEach((e,n)=>{let i=e?.[r];if(i==null||i===``)return;let a=String(i);o[a]||(o[a]={label:a,color:ie(i,n,t)})}),(0,V.jsx)(K,{config:o,className:a,children:(0,V.jsxs)(_,{children:[(0,V.jsx)(q,{cursor:!1,content:(0,V.jsx)(J,{hideLabel:!0})}),(0,V.jsx)(ce,{data:d,dataKey:i[0]?.dataKey||`value`,nameKey:r||`name`,innerRadius:e,strokeWidth:5,paddingAngle:2,outerRadius:`85%`,...f,...re,children:d.map((e,n)=>(0,V.jsx)(g,{fill:Z(ie(e?.[r],n,t))},`cell-${n}`))}),(0,V.jsx)(Y,{verticalAlign:`bottom`,wrapperStyle:{fontSize:p?`11px`:`12px`,paddingTop:`8px`},content:(0,V.jsx)(X,{nameKey:r,className:`flex-wrap`})})]})})}if(u===`funnel`){let e=i[0]?.dataKey||`value`,t=F(),o=c?t=>{t&&c({category:t?.payload?.[r]??t?.[r],value:t?.payload?.[e]??t?.[e]})}:void 0,s=o?{onClick:o,style:{cursor:`pointer`}}:{},l=[...d].sort((t,n)=>{let r=Number(t?.[e]??0);return Number(n?.[e]??0)-r});return(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsxs)(k,{children:[(0,V.jsx)(q,{content:(0,V.jsx)(J,{})}),(0,V.jsxs)(O,{dataKey:e,data:l,nameKey:r,isAnimationActive:!0,...s,children:[(0,V.jsx)(N,{position:`right`,fill:`hsl(var(--foreground))`,stroke:`none`,dataKey:r}),l.map((e,n)=>(0,V.jsx)(g,{fill:Z(t[n%t.length])},`funnel-cell-${n}`))]})]})})}if(u===`treemap`){let e=i[0]?.dataKey||`value`,t=F(),o=d.map((n,i)=>({name:String(n?.[r]??``),size:Number(n?.[e])||0,fill:Z(t[i%t.length])}));return(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsx)(M,{data:o,dataKey:`size`,nameKey:`name`,isAnimationActive:!0,content:(0,V.jsx)(e=>{let{x:t,y:n,width:r,height:i,name:a,fill:o}=e;return r<=0||i<=0?null:(0,V.jsxs)(`g`,{children:[(0,V.jsx)(`rect`,{x:t,y:n,width:r,height:i,fill:o,stroke:`hsl(var(--background))`,strokeWidth:2}),r>48&&i>18?(0,V.jsx)(`text`,{x:t+6,y:n+18,fill:`#fff`,fontSize:12,className:`pointer-events-none`,children:a}):null]})},{}),...ge,children:(0,V.jsx)(w,{})})})}if(u===`sankey`){let e=i[0]?.dataKey||`value`,t=i[0]?.label||e,o=d.filter(t=>(Number(t?.[e])||0)>0),s=[{name:t},...o.map(e=>({name:String(e?.[r]??``)}))],c=o.map((t,n)=>({source:0,target:n+1,value:Number(t?.[e])||0}));return c.length===0?(0,V.jsx)(`div`,{className:a}):(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsx)(he,{data:{nodes:s,links:c},nodePadding:24,link:{stroke:`hsl(var(--muted-foreground))`,strokeOpacity:.25},node:{fill:`hsl(var(--chart-1))`},..._e,children:(0,V.jsx)(w,{})})})}if(u===`radar`)return(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsxs)(T,{data:d,children:[(0,V.jsx)(ue,{}),(0,V.jsx)(le,{dataKey:r}),(0,V.jsx)(y,{}),(0,V.jsx)(q,{content:(0,V.jsx)(J,{})}),(0,V.jsx)(Y,{content:(0,V.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map(e=>{let t=Z(n[e.dataKey]?.color||Me);return(0,V.jsx)(C,{dataKey:e.dataKey,stroke:t,fill:t,fillOpacity:.6},e.dataKey)})]})});if(u===`scatter`)return(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsxs)(fe,{children:[(0,V.jsx)(x,{vertical:!1}),(0,V.jsx)(S,{type:`number`,dataKey:r,name:String(n[r]?.label||r),tickLine:!1,axisLine:!1,minTickGap:p?32:48}),(0,V.jsx)(v,{type:`number`,dataKey:i[0]?.dataKey||`value`,name:String(n[i[0]?.dataKey]?.label||i[0]?.dataKey),tickLine:!1,axisLine:!1,tickFormatter:I,width:48}),(0,V.jsx)(se,{type:`number`,range:[60,400]}),(0,V.jsx)(q,{content:(0,V.jsx)(J,{})}),(0,V.jsx)(Y,{content:(0,V.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map((e,t)=>{let r=F(),i=Z(n[e.dataKey]?.color||r[t%r.length]),a=Q(e,`scatter`);return(0,V.jsx)(me,{name:n[e.dataKey]?.label||e.dataKey,data:d,fill:i,fillOpacity:a?.fillOpacity,...A},e.dataKey)})]})});if(u===`combo`)return(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsxs)(j,{data:d,children:[(0,V.jsx)(x,{vertical:!1}),(0,V.jsx)(S,{dataKey:r,...L}),(0,V.jsx)(v,{yAxisId:`left`,tickLine:!1,axisLine:!1,tickFormatter:I,width:48}),(0,V.jsx)(v,{yAxisId:`right`,orientation:`right`,tickLine:!1,axisLine:!1,tickFormatter:I,width:48}),(0,V.jsx)(q,{content:(0,V.jsx)(J,{})}),(0,V.jsx)(Y,{content:(0,V.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map((e,t)=>{let r=Z(n[e.dataKey]?.color||Me),i=e.chartType||(t===0?`bar`:`line`),a=i===`bar`?`left`:`right`,o=Q(e,i);return i===`line`?(0,V.jsx)(b,{yAxisId:a,type:`monotone`,dataKey:e.dataKey,stroke:r,strokeWidth:2,dot:!1,strokeOpacity:o?.strokeOpacity,strokeDasharray:o?.strokeDasharray,...f},e.dataKey):i===`area`?(0,V.jsx)(pe,{yAxisId:a,type:`monotone`,dataKey:e.dataKey,fill:r,stroke:r,fillOpacity:o?.fillOpacity??.4,strokeOpacity:o?.strokeOpacity,strokeDasharray:o?.strokeDasharray,...f},e.dataKey):(0,V.jsx)(h,{yAxisId:a,dataKey:e.dataKey,fill:r,radius:4,fillOpacity:o?.fillOpacity,...f},e.dataKey)})]})});let be=u===`horizontal-bar`,R=F(),xe=s?Object.values(s).map(e=>Z(String(e))):[],Se=Array.from(new Set([...R,...xe,...i.map((e,t)=>Z(n[e.dataKey]?.color||R[t%R.length]||Me))])),z=e=>`g`+e.replace(/[^a-zA-Z0-9]/g,``);return(0,V.jsx)(K,{config:n,className:a,children:(0,V.jsxs)(ve,{data:d,layout:be?`vertical`:`horizontal`,...ne,children:[(0,V.jsx)(`defs`,{children:Se.map(e=>(0,V.jsxs)(B.Fragment,{children:[(0,V.jsxs)(`linearGradient`,{id:`bg-${z(e)}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,V.jsx)(`stop`,{offset:`0%`,style:{stopColor:e},stopOpacity:.95}),(0,V.jsx)(`stop`,{offset:`100%`,style:{stopColor:e},stopOpacity:.5})]}),(0,V.jsxs)(`linearGradient`,{id:`ag-${z(e)}`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,V.jsx)(`stop`,{offset:`0%`,style:{stopColor:e},stopOpacity:.5}),(0,V.jsx)(`stop`,{offset:`95%`,style:{stopColor:e},stopOpacity:.05})]})]},z(e)))}),(0,V.jsx)(x,{vertical:!1}),be?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(S,{type:`number`,tickLine:!1,axisLine:!1,tickFormatter:I}),(0,V.jsx)(v,{type:`category`,dataKey:r,tickLine:!1,axisLine:!1,width:Math.min(140,Math.max(60,Math.max(...d.map(e=>String(e[r]??``).length))*7)),tickFormatter:P})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(S,{dataKey:r,...L}),(0,V.jsx)(v,{tickLine:!1,axisLine:!1,tickFormatter:I,width:48})]}),(0,V.jsx)(q,{content:(0,V.jsx)(J,{})}),(0,V.jsx)(Y,{content:(0,V.jsx)(X,{}),...p&&{verticalAlign:`bottom`,wrapperStyle:{fontSize:`11px`,paddingTop:`8px`}}}),i.map((e,t)=>{let a=F(),o=e.variant===`comparison`,s=o?i.slice(0,t).find(e=>e.variant!==`comparison`)||i[0]:e,c=o?i.indexOf(s):t,l=Z(n[s.dataKey]?.color||a[c%a.length]||Me);if(u===`bar`||u===`horizontal-bar`){let t=i.filter(e=>e.variant!==`comparison`).length===1&&!o&&i.length===1&&d.length>1,n=Q(e,`bar`);return(0,V.jsx)(h,{dataKey:e.dataKey,fill:`url(#bg-${z(l)})`,radius:4,fillOpacity:n?.fillOpacity,...f,children:t&&d.map((e,t)=>(0,V.jsx)(g,{fill:`url(#bg-${z(Z(ie(e?.[r],t,a)))})`},`cell-${t}`))},e.dataKey)}if(u===`line`){let t=Q(e,`line`);return(0,V.jsx)(b,{type:`monotone`,dataKey:e.dataKey,stroke:l,strokeWidth:2,dot:!1,strokeOpacity:t?.strokeOpacity,strokeDasharray:t?.strokeDasharray,...f},e.dataKey)}if(u===`area`){let t=Q(e,`area`);return(0,V.jsx)(pe,{type:`monotone`,dataKey:e.dataKey,fill:`url(#ag-${z(l)})`,stroke:l,strokeWidth:2,fillOpacity:t?.fillOpacity??1,strokeOpacity:t?.strokeOpacity,strokeDasharray:t?.strokeDasharray,...f},e.dataKey)}return null})]})})}var Fe=t({default:()=>Re});function Ie(e,t=14){return e.length>t?`${e.slice(0,t-1)}…`:e}function Le({x:e,y:t,payload:n}){let r=String(n?.value??``),i=Ie(r);return(0,V.jsx)(`g`,{transform:`translate(${e},${t})`,children:(0,V.jsxs)(`text`,{dy:10,textAnchor:`end`,transform:`rotate(-32)`,fill:`hsl(var(--muted-foreground))`,fontSize:11,fontFamily:`monospace`,children:[r!==i&&(0,V.jsx)(`title`,{children:r}),i]})})}function Re({data:e=[],dataKey:t=`value`,xAxisKey:n=`name`,height:r=400,className:i=``,color:a=`hsl(var(--primary))`}){let o=e.map(e=>String(e?.[n]??``)),s=o.length>4||o.some(e=>e.length>8);return(0,V.jsx)(`div`,{className:`p-2 sm:p-3 md:p-4 rounded-xl border border-border bg-card/40 backdrop-blur-sm shadow-lg shadow-background/5 ${i}`,children:(0,V.jsx)(E,{width:`100%`,height:r,children:(0,V.jsxs)(j,{data:e,margin:{top:10,right:10,left:10,bottom:s?24:5},children:[(0,V.jsxs)(`defs`,{children:[(0,V.jsxs)(`linearGradient`,{id:`barGradient`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,V.jsx)(`stop`,{offset:`0%`,stopColor:a,stopOpacity:1}),(0,V.jsx)(`stop`,{offset:`90%`,stopColor:a,stopOpacity:.6}),(0,V.jsx)(`stop`,{offset:`100%`,stopColor:a,stopOpacity:.3})]}),(0,V.jsxs)(`filter`,{id:`glow`,height:`130%`,children:[(0,V.jsx)(`feGaussianBlur`,{in:`SourceAlpha`,stdDeviation:`3`,result:`blur`}),(0,V.jsx)(`feOffset`,{in:`blur`,dx:`0`,dy:`0`,result:`offsetBlur`}),(0,V.jsx)(`feFlood`,{floodColor:a,floodOpacity:`0.5`,result:`offsetColor`}),(0,V.jsx)(`feComposite`,{in:`offsetColor`,in2:`offsetBlur`,operator:`in`,result:`offsetBlur`}),(0,V.jsxs)(`feMerge`,{children:[(0,V.jsx)(`feMergeNode`,{in:`offsetBlur`}),(0,V.jsx)(`feMergeNode`,{in:`SourceGraphic`})]})]})]}),(0,V.jsx)(x,{strokeDasharray:`3 3`,stroke:`hsl(var(--border))`,vertical:!1}),(0,V.jsx)(S,{dataKey:n,tick:s?(0,V.jsx)(Le,{}):{fill:`hsl(var(--muted-foreground))`,fontSize:12,fontFamily:`monospace`},tickLine:!1,axisLine:{stroke:`hsl(var(--border))`},interval:0,height:s?56:void 0,dy:s?void 0:10}),(0,V.jsx)(v,{tick:{fill:`hsl(var(--muted-foreground))`,fontSize:12,fontFamily:`monospace`},tickLine:!1,axisLine:!1}),(0,V.jsx)(w,{cursor:{fill:`hsl(var(--muted))`,opacity:.2},contentStyle:{backgroundColor:`hsl(var(--popover))`,borderColor:`hsl(var(--border))`,color:`hsl(var(--popover-foreground))`,borderRadius:`8px`,fontFamily:`monospace`,boxShadow:`0 4px 6px -1px rgb(0 0 0 / 0.1)`},itemStyle:{color:`hsl(var(--primary))`}}),(0,V.jsx)(A,{wrapperStyle:{paddingTop:`20px`,fontFamily:`monospace`}}),(0,V.jsx)(h,{dataKey:t,fill:`url(#barGradient)`,radius:[4,4,0,0],filter:`url(#glow)`,animationDuration:1500})]})})})}var ze=B.lazy(()=>r(()=>Promise.resolve().then(()=>Fe),void 0,import.meta.url)),Be=B.lazy(()=>r(()=>Promise.resolve().then(()=>je),void 0,import.meta.url)),Ve=({schema:e})=>(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(L,{className:`w-full h-48 sm:h-64 md:h-80 lg:h-[400px]`}),children:(0,V.jsx)(ze,{data:e.data,dataKey:e.dataKey,xAxisKey:e.xAxisKey,height:e.height,className:e.className,color:e.color})}),$=({schema:e,onChartClick:t})=>{let n=B.useMemo(()=>{let t=e.series,n=e.xAxisKey,r=e.config;if(n||(e.index?n=e.index:e.category&&(n=e.category)),t||(e.categories?t=e.categories.map(e=>({dataKey:e})):e.value&&(t=[{dataKey:e.value}])),!r&&t){let n=e.colors||[`hsl(var(--chart-1))`,`hsl(var(--chart-2))`,`hsl(var(--chart-3))`],i={};t.forEach((e,t)=>{i[e.dataKey]={label:e.label||e.dataKey,color:n[t%n.length]}}),r=i}return{chartType:e.chartType,data:Array.isArray(e.data)?e.data:[],config:r,xAxisKey:n,series:t,className:e.className}},[e]);return(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(L,{className:`w-full h-48 sm:h-64 md:h-80 lg:h-[400px]`}),children:(0,V.jsx)(Be,{chartType:n.chartType,data:n.data,config:n.config,xAxisKey:n.xAxisKey,series:n.series,className:n.className,colors:Array.isArray(e.colors)?e.colors:void 0,categoryColors:e.categoryColors,isAnimationActive:e.isAnimationActive,onChartClick:t})})};function He(e){return e.replace(/[_-]/g,` `).replace(/\b\w/g,e=>e.toUpperCase())}function Ue(e,t){let{field:n,function:r,groupBy:i}=t,a={};for(let t of e){let e=String(t[i]??`Unknown`);a[e]||(a[e]=[]),a[e].push(t)}return Object.entries(a).map(([e,t])=>{let a=t.map(e=>Number(e[n])||0),o;switch(r){case`count`:o=t.length;break;case`avg`:o=a.length>0?a.reduce((e,t)=>e+t,0)/a.length:0;break;case`min`:o=a.length>0?Math.min(...a):0;break;case`max`:o=a.length>0?Math.max(...a):0;break;default:o=a.reduce((e,t)=>e+t,0);break}return{[i]:e,[n]:o}})}async function We(e,t,n,r,i){if(!e.length||!t)return e;let a=i||((e,t)=>t),o=`__raw_${t}`,s=n?.fields?.[t];if(!s){let n=/^\d{4}-\d{2}-\d{2}/;return e.map(e=>{let r=e[t],i=String(r??``),s=n.test(i)?i:He(i);return{...e,[t]:a(i,s),[o]:r}})}let c=s.type;if(c===`select`||c===`picklist`||c===`dropdown`){let n=s.options||[];if(n.length===0)return e.map(e=>{let n=e[t],r=String(n??``),i=He(r);return{...e,[t]:a(r,i),[o]:n}});let r={};for(let e of n)typeof e==`string`?r[e]=e:e&&typeof e==`object`&&(r[String(e.value)]=e.label||String(e.value));return e.map(e=>{let n=e[t],i=String(n??``),s=r[i]||He(i);return{...e,[t]:a(i,s),[o]:n}})}if(c===`lookup`||c===`master_detail`){let n=s.reference_to||s.reference;if(!n||!r||typeof r.find!=`function`)return e.map(e=>({...e,[o]:e[t]}));let i=[...new Set(e.map(e=>e[t]).filter(e=>e!=null))];if(i.length===0)return e.map(e=>({...e,[o]:e[t]}));let a=s.id_field||`id`;try{let c=l(await r.find(n,{$filter:{[a]:{$in:i}},$top:i.length})),u=s.reference_field||s.display_field||`name`,d={};for(let e of c){let t=String(e[a]??e.id??e._id??``),n=e[u]||e.name||e.label||e.title||t;t&&(d[t]=String(n))}return e.map(e=>{let n=e[t],r=String(n??``);return{...e,[t]:d[r]||r,[o]:n}})}catch(n){return console.warn(`[ObjectChart] Failed to resolve lookup labels:`,n),e.map(e=>({...e,[o]:e[t]}))}}if(c===`date`||c===`datetime`||c===`date_time`||c===`timestamp`||c===`time`)return e.map(e=>({...e,[o]:e[t]}));let u=/^\d{4}-\d{2}-\d{2}/;return e.map(e=>{let n=e[t],r=String(n??``);return{...e,[t]:u.test(r)?r:He(r),[o]:n}})}var Ge=e=>{let{schema:t}=e,n=e.onSegmentClick,r=(0,B.useContext)(te),i=e.dataSource||r?.dataSource,s=d(t.bind),{fieldOptionLabel:h}=I(),g=(0,B.useRef)(h);(0,B.useEffect)(()=>{g.current=h},[h]);let[_,v]=(0,B.useState)([]),[se,ce]=(0,B.useState)(null),[le,y]=(0,B.useState)(()=>!(Array.isArray(t.data)&&t.data.length>0)&&(!!t.objectName||!!t.dataset)),[b,x]=(0,B.useState)(null),[S,C]=(0,B.useState)(null),[ue,de]=(0,B.useState)(null),[w,T]=(0,B.useState)(null),{openRecordList:E}=o(),fe=ne(),D=(0,B.useMemo)(()=>t.aggregate?JSON.stringify(t.aggregate):``,[t.aggregate]),pe=(0,B.useMemo)(()=>t.filter?JSON.stringify(t.filter):``,[t.filter]),me=(0,B.useMemo)(()=>t.compareTo?JSON.stringify(t.compareTo):``,[t.compareTo]),O=(0,B.useMemo)(()=>t.dataset?JSON.stringify({d:t.dataset,dim:t.dimensions??[],val:t.values??[]}):``,[t.dataset,t.dimensions,t.values]),k=e=>e!==`pie`&&e!==`donut`&&e!==`funnel`;(0,B.useEffect)(()=>{let e=!1;return(async()=>{try{let n={headers:{accept:`application/json`},credentials:`include`},r=t.objectName,i,a=null,o=t.aggregate?.groupBy;if(r)i=o&&typeof o==`object`&&!Array.isArray(o)?o.field:typeof o==`string`?o:t.xAxisKey;else if(t.dataset){let e=Array.isArray(t.dimensions)&&t.dimensions.length?t.dimensions[0]:void 0,o=await(await fetch(`/api/v1/meta/dataset/${encodeURIComponent(t.dataset)}`,n)).json().catch(()=>null);a=o?.item??o?.data??o,r=a?.object,i=((a?.dimensions||[]).find(t=>t?.name===e)??(a?.dimensions||[])[0])?.field??e}if(!r||!i){e||(de(null),T(null));return}let s=await(await fetch(`/api/v1/meta/object/${encodeURIComponent(r)}`,n)).json().catch(()=>null),c=s?.item??s?.data??s,l=p(c?.fields?.[i]?.options),u=null;if(t.dataset&&Array.isArray(t.dimensions)){let e={};for(let n of t.dimensions){let t=(a?.dimensions||[]).find(e=>e?.name===n)?.field??n,r=ee(c?.fields?.[t]?.options);r&&(e[n]=r)}Object.keys(e).length>0&&(u=e)}e||(de(l),T(u))}catch{e||(de(null),T(null))}})(),()=>{e=!0}},[t.objectName,t.dataset,O,D,t.xAxisKey]);let A=(0,B.useCallback)(async(e,n)=>{if(t.aggregate&&typeof e.aggregate==`function`){let r=t.aggregate.groupBy;if(r&&typeof r==`object`&&!Array.isArray(r)){let i=t.aggregate.field,a=t.aggregate.function,o={function:a,alias:i||a};a!==`count`&&i&&(o.field=i);let s=await e.aggregate(t.objectName,{groupBy:[r],aggregations:[o],where:n});return Array.isArray(s)?s:[]}let i=await e.aggregate(t.objectName,{field:t.aggregate.field,function:t.aggregate.function,groupBy:r,filter:n});return Array.isArray(i)?i:[]}if(typeof e.find==`function`){let r=l(await e.find(t.objectName,{$filter:n}));return t.aggregate&&r.length>0&&(r=Ue(r,t.aggregate)),r}return[]},[t.objectName,D]),he=(0,B.useCallback)(async(e,n)=>{if(!e||!t.objectName&&!t.dataset){n.current&&y(!1);return}n.current&&(y(!0),x(null));try{if(t.dataset&&typeof e.queryDataset==`function`){let r=ae(t.filter),i=await e.queryDataset(t.dataset,{dimensions:Array.isArray(t.dimensions)?t.dimensions:[],measures:Array.isArray(t.values)?t.values:[],...r?{runtimeFilter:r}:{}});n.current&&(v(Array.isArray(i?.rows)?i.rows:[]),ce(Array.isArray(i?.fields)?i.fields:null));return}let r=ae(t.filter),i=t.compareTo,a=!!i&&k(t.chartType),o=a?f(t.filter,i):null,[s,c]=await Promise.all([A(e,r),o?A(e,o):Promise.resolve([])]),l=s,u=t.aggregate?.groupBy,d=u&&typeof u==`object`&&!Array.isArray(u)?u.alias||u.field:u||t.xAxisKey;if(a&&c.length>0&&t.aggregate){let e=t.aggregate.field,n=t.aggregate.function,r=t=>{if(t==null)return null;let r=`${e}_${n}`;return r in t?Number(t[r]):n===`count`&&`${e}_count`in t?Number(t[`${e}_count`]):e in t?Number(t[e]):`value`in t?Number(t.value):`count`in t?Number(t.count):null},i=`${e}__comparison`,a=d;if(a&&l.some(e=>e[a]!=null)&&c.some(e=>e[a]!=null)){let e=new Map;for(let t of c){let n=String(t[a]??``);e.set(n,r(t))}l=l.map(t=>{let n=String(t[a]??``),r=e.get(n);return r==null?t:{...t,[i]:r}});let t=new Set(l.map(e=>String(e[a]??``)));for(let e of c){let n=String(e[a]??``);t.has(n)||l.push({[a]:n,[i]:r(e)})}}else{let e=Math.max(l.length,c.length),t=[];for(let n=0;n<e;n++){let e=l[n]||{},a=c[n];t.push(a?{...e,[i]:r(a)}:e)}l=t}}if(d&&typeof e.getObjectSchema==`function`)try{let n=await e.getObjectSchema(t.objectName);l=await We(l,d,n,e,(e,n)=>g.current(t.objectName,d,e,n))}catch{}n.current&&v(l)}catch(e){console.error(`[ObjectChart] Fetch error:`,e),n.current&&x(e instanceof Error?e.message:`Failed to load chart data`)}finally{n.current&&y(!1)}},[t.objectName,O,D,pe,me,t.xAxisKey,t.chartType,A]);(0,B.useEffect)(()=>{let e={current:!0};return(t.objectName||t.dataset)&&!s&&!t.data?he(i,e):e.current&&y(!1),()=>{e.current=!1}},[t.objectName,O,i,s,t.data,pe,D,me,he]);let j=s||t.data||_,M=Array.isArray(j)?j:[],N=t.drillDown,L=t.aggregate?.groupBy||t.xAxisKey,H=(0,B.useMemo)(()=>{if(!L)return new Map;let e=new Map,t=`__raw_${L}`;for(let n of M){let r=n?.[L];if(r==null)continue;let i=t in(n||{})?n[t]:r;e.set(String(r),i)}return e},[M,L]),U=t.compareTo,W=!!U&&k(t.chartType)&&!!t.aggregate&&M.some(e=>e[`${t.aggregate.field}__comparison`]!=null),G=(0,B.useMemo)(()=>{let e=Array.isArray(t.series)?t.series:null;if(!W)return e;let n=e||[{dataKey:t.aggregate.field}],r={vsLastWeek:`Previous week`,vsLastMonth:`Previous month`,vsLastQuarter:`Previous quarter`,vsLastYear:`Previous year`,vsYesterday:`Yesterday`,vsPreviousPeriod:`Previous period`}[oe(U,t.filter)]||`Previous period`;return[...n.map(e=>({...e,variant:e.variant||`current`})),{dataKey:`${t.aggregate.field}__comparison`,label:r,variant:`comparison`}]},[W,t.series,t.aggregate,t.filter,U]),K=t.dataset?m(re(M,w),t.dimensions,t.values,se):null,Te=K?{...t,data:K.data,xAxisKey:K.xAxisKey,series:K.series}:{...t,data:M,...G?{series:G}:{}},q=t.colors&&!Array.isArray(t.colors)&&typeof t.colors==`object`?t.colors:null,J=Array.isArray(t.colors)?t.colors:void 0,Y=ue||q?{...ue||{},...q||{}}:void 0,X={...Te,colors:J,...Y?{categoryColors:Y}:{}};if(le&&M.length===0)return(0,V.jsxs)(`div`,{className:`p-2 `+(t.className||``),"data-testid":`chart-loading`,role:`status`,"aria-busy":`true`,"aria-live":`polite`,children:[(0,V.jsx)(`span`,{className:`sr-only`,children:`Loading chart data…`}),(0,V.jsx)(F,{className:`h-full`})]});if(b)return(0,V.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 p-4 `+(t.className||``),"data-testid":`chart-error`,role:`alert`,children:[(0,V.jsx)(_e,{className:`h-6 w-6 text-destructive opacity-60`}),(0,V.jsx)(`p`,{className:`text-xs text-destructive font-medium`,children:`Failed to load chart data`}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground max-w-xs text-center`,children:b})]});if(!i&&t.objectName&&M.length===0)return(0,V.jsxs)(`div`,{className:`flex items-center justify-center text-muted-foreground text-sm p-4 `+(t.className||``),"data-testid":`chart-no-datasource`,children:[`No data source available for “`,t.objectName,`”`]});let Ee=a(N)?e=>{let t=e.category,n=t!=null&&H.has(String(t))?H.get(String(t)):t;C({...e,category:n,categoryLabel:t,scope:`cell`})}:void 0,De=n??Ee,Oe=!n&&S&&t.objectName?(()=>{let e=c(N,S,{groupByField:L}),n={...t.filter||{},...e},r=ie(N,S,t.title||`Details`),a=N?.target??`drawer`,o=(0,V.jsx)(`div`,{className:`overflow-auto`,"data-testid":`chart-drill-body`,children:(0,V.jsx)(u,{schema:{type:`object-data-table`,objectName:t.objectName,filter:n,pagination:!0,pageSize:N?.maxRows,columns:N?.columns?.map(e=>({accessorKey:e,header:e})),drillDown:{enabled:!0,mode:`record`,target:`dialog`}},dataSource:i})}),s=E&&t.objectName?(0,V.jsxs)(be,{type:`button`,variant:`ghost`,size:`sm`,"data-testid":`drill-open-in-list`,onClick:()=>{E(t.objectName,n),C(null)},children:[fe(`dashboard.openInList`,`Open in list`),(0,V.jsx)(we,{className:`ml-1 h-3.5 w-3.5`})]}):null;return a===`dialog`?(0,V.jsx)(Se,{open:!0,onOpenChange:e=>!e&&C(null),children:(0,V.jsxs)(ve,{className:`max-w-4xl`,children:[(0,V.jsxs)(ye,{className:`flex-row items-center justify-between gap-4 pr-8`,children:[(0,V.jsx)(Ce,{children:r}),s]}),o]})}):(0,V.jsx)(ge,{open:!0,onOpenChange:e=>!e&&C(null),children:(0,V.jsxs)(xe,{side:`right`,className:`w-full sm:max-w-2xl md:max-w-3xl lg:max-w-4xl flex flex-col`,children:[(0,V.jsxs)(R,{className:`flex-row items-center justify-between gap-4 pr-8`,children:[(0,V.jsx)(z,{children:r}),s]}),(0,V.jsx)(`div`,{className:`flex-1 overflow-hidden mt-2`,children:o})]})})})():null;return(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(P,{active:le&&M.length>0}),(0,V.jsx)($,{...e,schema:X,onChartClick:De}),Oe]})};s.register(`object-chart`,Ge,{namespace:`plugin-charts`,label:`Object Chart`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`data`,type:`array`,label:`Data`,description:`Optional static data`},{name:`filter`,type:`array`,label:`Filter`},{name:`aggregate`,type:`object`,label:`Aggregate`,description:`Aggregation config: { field, function, groupBy }`}]});var Ke=t({ChartBarRenderer:()=>Ve,ChartRenderer:()=>$,ObjectChart:()=>Ge,chartComponents:()=>qe}),qe={"bar-chart":Ve,chart:$};s.register(`bar-chart`,Ve,{namespace:`plugin-charts`,label:`Bar Chart`,category:`plugin`,inputs:[{name:`data`,type:`array`,label:`Data`,required:!0},{name:`dataKey`,type:`string`,label:`Data Key`,defaultValue:`value`},{name:`xAxisKey`,type:`string`,label:`X-Axis Key`,defaultValue:`name`},{name:`height`,type:`number`,label:`Height`,defaultValue:400},{name:`color`,type:`color`,label:`Color`,defaultValue:`#8884d8`}],defaultProps:{data:[{name:`Jan`,value:400},{name:`Feb`,value:300},{name:`Mar`,value:600},{name:`Apr`,value:800},{name:`May`,value:500}],dataKey:`value`,xAxisKey:`name`,height:400,color:`#8884d8`}}),s.register(`chart`,Ge,{namespace:`view`,category:`view`,label:`Chart`,skipFallback:!0,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`type`,type:`string`,label:`Chart Type`},{name:`categoryField`,type:`string`,label:`Category Field`},{name:`valueField`,type:`string`,label:`Value Field`}]}),s.register(`chart`,$,{namespace:`plugin-charts`,label:`Chart`,category:`plugin`,inputs:[{name:`chartType`,type:`enum`,label:`Chart Type`,enum:[{label:`Bar`,value:`bar`},{label:`Line`,value:`line`},{label:`Area`,value:`area`},{label:`Pie`,value:`pie`},{label:`Donut`,value:`donut`},{label:`Radar`,value:`radar`},{label:`Scatter`,value:`scatter`}],defaultValue:`bar`},{name:`data`,type:`code`,label:`Data (JSON)`,required:!0},{name:`config`,type:`code`,label:`Config (JSON)`},{name:`xAxisKey`,type:`string`,label:`X Axis Key`,defaultValue:`name`},{name:`series`,type:`code`,label:`Series (JSON Array)`,required:!0},{name:`className`,type:`string`,label:`CSS Class`}],defaultProps:{chartType:`bar`,data:[{name:`Jan`,sales:400,revenue:240},{name:`Feb`,sales:300,revenue:139},{name:`Mar`,sales:600,revenue:380},{name:`Apr`,sales:800,revenue:430},{name:`May`,sales:500,revenue:220}],config:{sales:{label:`Sales`,color:`#8884d8`},revenue:{label:`Revenue`,color:`#82ca9d`}},xAxisKey:`name`,series:[{dataKey:`sales`},{dataKey:`revenue`}]}}),s.register(`chart:bar`,$,{namespace:`plugin-charts`,label:`Bar Chart (Alias)`,category:`plugin`,defaultProps:{chartType:`bar`}}),s.register(`pie-chart`,$,{namespace:`plugin-charts`,label:`Pie Chart`,category:`plugin`,defaultProps:{chartType:`pie`}}),s.register(`donut-chart`,$,{namespace:`plugin-charts`,label:`Donut Chart`,category:`plugin`,defaultProps:{chartType:`donut`}}),s.register(`radar-chart`,$,{namespace:`plugin-charts`,label:`Radar Chart`,category:`plugin`,defaultProps:{chartType:`radar`}}),s.register(`scatter-chart`,$,{namespace:`plugin-charts`,label:`Scatter Chart`,category:`plugin`,defaultProps:{chartType:`scatter`}});export{Ke as t};
|