@objectstack/console 17.0.0-rc.6 → 17.0.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/CHANGELOG.md +1099 -0
- package/dist/.objectui-sha +1 -1
- package/dist/assets/AdapterProvider-BpWMSLQH.js +3 -0
- package/dist/assets/{AiPendingActionsPage-DHam6u4d.js → AiPendingActionsPage-DAJUEqyC.js} +1 -1
- package/dist/assets/ApiConsolePage-CgXbOsFC.js +1 -0
- package/dist/assets/{AppDocsIndex-DMgpe3sR.js → AppDocsIndex-BgaIthca.js} +1 -1
- package/dist/assets/AppManagementPage-BvGPskyf.js +1 -0
- package/dist/assets/ApprovalsInboxPage-CxmrNrwP.js +1 -0
- package/dist/assets/{AuditLogPage-1tKc3thU.js → AuditLogPage-JahfQFnX.js} +1 -1
- package/dist/assets/{ComponentNavView-DBrVQtYX.js → ComponentNavView-DjiNAGys.js} +1 -1
- package/dist/assets/CreateViewDialog-CUvjCA1o.js +1 -0
- package/dist/assets/DashboardView-Cr-Q-16_.js +1 -0
- package/dist/assets/{DeveloperHubPage-DiecMLNF.js → DeveloperHubPage-DVKVm5k0.js} +1 -1
- package/dist/assets/{DocShell-CpxhuaS6.js → DocShell-C1VQpTIJ.js} +1 -1
- package/dist/assets/{ExpressionProvider-DD77oeF3.js → ExpressionProvider-qmd0nVCn.js} +1 -1
- package/dist/assets/FlowRunsPage-DL7MhL_U.js +1 -0
- package/dist/assets/{IntegrationsPage-DSw3u-B4.js → IntegrationsPage-Cq4mWRFh.js} +2 -2
- package/dist/assets/InterfaceListPage-CfhSyYAw.js +1 -0
- package/dist/assets/ManagedByBadge-DgsrLolr.js +1 -0
- package/dist/assets/MarketplaceAccessDenied-t8A0k9OX.js +1 -0
- package/dist/assets/MarketplaceInstalledPage-CRe2BiM2.js +1 -0
- package/dist/assets/MarketplacePackagePage-XSdk80Dd.js +4 -0
- package/dist/assets/MarketplacePage-CZjDbg5G.js +1 -0
- package/dist/assets/MetadataInspector-qQ85bFun.js +1 -0
- package/dist/assets/MetadataProvider-CnYsadFP.js +1 -0
- package/dist/assets/ObjectDataPage-D9kCSxvN.js +1 -0
- package/dist/assets/PageView-q1XSwpVo.js +1 -0
- package/dist/assets/ProfilePage-DeDhni58.js +1 -0
- package/dist/assets/{PublicFormsPage-C7OYcRBz.js → PublicFormsPage-BX6YXY8w.js} +1 -1
- package/dist/assets/RecordDetailView-DrVbrbaN.js +9 -0
- package/dist/assets/RecordFormPage-Bs9wX-M6.js +1 -0
- package/dist/assets/ReportDefaultInspector-BbbhDn34.js +3 -0
- package/dist/assets/ReportView-D_soBKL6.js +2 -0
- package/dist/assets/SearchResultsPage--Beqyte8.js +1 -0
- package/dist/assets/SettingsHub-BozLt7dt.js +1 -0
- package/dist/assets/SettingsView-CC3o9IGe.js +1 -0
- package/dist/assets/{SystemHubPage-CFpBjBvz.js → SystemHubPage-CBdrX4bx.js} +1 -1
- package/dist/assets/createDerive-C1PaRnFZ.js +1 -0
- package/dist/assets/data-adapter-yS4exRPT.js +24 -0
- package/dist/assets/framework-B8ndNKrd.js +38 -0
- package/dist/assets/getIcon-QmYxLBSb.js +1 -0
- package/dist/assets/{highlighted-body-OFNGDK62-I69SE9tf.js → highlighted-body-OFNGDK62-BPV_Giyg.js} +1 -1
- package/dist/assets/i18n-DLOdKEiB.js +9 -0
- package/dist/assets/index-DaeqUnH6.js +2 -0
- package/dist/assets/index-gaeYmjTV.css +2 -0
- package/dist/assets/infrastructure-ChmEYj6c.js +3 -0
- package/dist/assets/mermaid-GHXKKRXX-BrwYiPsC.js +1 -0
- package/dist/assets/metadata-admin-DqAvOmNf.js +25 -0
- package/dist/assets/plugin-calendar-CQVTjox_.js +1 -0
- package/dist/assets/plugin-charts-CBUIhVeW.js +7 -0
- package/dist/assets/plugin-chatbot-DsLGdfGx.js +120 -0
- package/dist/assets/plugin-dashboard-fdM1jm2j.js +6 -0
- package/dist/assets/plugin-form-Bv0Hi0E6.js +1 -0
- package/dist/assets/plugin-gantt-CRJpVrrP.js +63 -0
- package/dist/assets/plugin-grid-gHcTrjs3.js +8 -0
- package/dist/assets/plugin-kanban-CNm7DssD.js +1 -0
- package/dist/assets/plugin-map-TrYBEx8q.js +1 -0
- package/dist/assets/{plugin-markdown-C3ihtjLf.js → plugin-markdown-CbQeAjXv.js} +1 -1
- package/dist/assets/plugin-report-Bg1oh9SG.js +59 -0
- package/dist/assets/plugin-timeline-B30kCAGi.js +1 -0
- package/dist/assets/plugin-tree-Br5XanqO.js +1 -0
- package/dist/assets/plugin-view-CgDs-8T5.js +1 -0
- package/dist/assets/plugins-views-BxwTmeut.js +4 -0
- package/dist/assets/runtime-metadata-persistence-DDZN-tZg.js +1 -0
- package/dist/assets/{skeletons-Cs1pm-UR.js → skeletons-BWrJAbfN.js} +1 -1
- package/dist/assets/src-BBKXMp-o.js +19 -0
- package/dist/assets/src-CVuJHohL.js +1 -0
- package/dist/assets/{src-B67JaKZf.js → src-leh_hyM1.js} +1 -1
- package/dist/assets/ui-components-mPgY5chB.js +42 -0
- package/dist/assets/ui-layout-CRcyxP_X.js +1 -0
- package/dist/assets/{use-book-data-BpISrpLC.js → use-book-data-B2KPEJjv.js} +1 -1
- package/dist/assets/useSettingsLabel-Bl5L3RqQ.js +1 -0
- package/dist/assets/utils-L-_x2yPF.js +1 -0
- package/dist/assets/vendor-objectstack-DneBps14.js +155 -0
- package/dist/index.html +76 -4
- package/package.json +1 -1
- package/dist/assets/AdapterProvider-C11cY4c0.js +0 -2
- package/dist/assets/AdapterProvider-C11cY4c0.js.br +0 -0
- package/dist/assets/AdapterProvider-C11cY4c0.js.gz +0 -0
- package/dist/assets/AiPendingActionsPage-DHam6u4d.js.br +0 -0
- package/dist/assets/AiPendingActionsPage-DHam6u4d.js.gz +0 -0
- package/dist/assets/ApiConsolePage-BquGLVsn.js +0 -1
- package/dist/assets/ApiConsolePage-BquGLVsn.js.br +0 -0
- package/dist/assets/ApiConsolePage-BquGLVsn.js.gz +0 -0
- package/dist/assets/AppDocsIndex-DMgpe3sR.js.br +0 -0
- package/dist/assets/AppDocsIndex-DMgpe3sR.js.gz +0 -0
- package/dist/assets/AppManagementPage-Bw_HJtnj.js +0 -1
- package/dist/assets/AppManagementPage-Bw_HJtnj.js.br +0 -0
- package/dist/assets/AppManagementPage-Bw_HJtnj.js.gz +0 -0
- package/dist/assets/ApprovalsInboxPage-BieJRkeU.js +0 -1
- package/dist/assets/ApprovalsInboxPage-BieJRkeU.js.br +0 -0
- package/dist/assets/ApprovalsInboxPage-BieJRkeU.js.gz +0 -0
- package/dist/assets/AuditLogPage-1tKc3thU.js.br +0 -0
- package/dist/assets/AuditLogPage-1tKc3thU.js.gz +0 -0
- package/dist/assets/CreateViewDialog-BS4y-EfR.js +0 -1
- package/dist/assets/CreateViewDialog-BS4y-EfR.js.br +0 -0
- package/dist/assets/CreateViewDialog-BS4y-EfR.js.gz +0 -0
- package/dist/assets/DashboardView-BlFMYKJK.js +0 -1
- package/dist/assets/DashboardView-BlFMYKJK.js.br +0 -0
- package/dist/assets/DashboardView-BlFMYKJK.js.gz +0 -0
- package/dist/assets/DeveloperHubPage-DiecMLNF.js.br +0 -0
- package/dist/assets/DeveloperHubPage-DiecMLNF.js.gz +0 -0
- package/dist/assets/FlowRunsPage-D8wMDWjk.js +0 -1
- package/dist/assets/FlowRunsPage-D8wMDWjk.js.br +0 -0
- package/dist/assets/FlowRunsPage-D8wMDWjk.js.gz +0 -0
- package/dist/assets/IntegrationsPage-DSw3u-B4.js.br +0 -0
- package/dist/assets/IntegrationsPage-DSw3u-B4.js.gz +0 -0
- package/dist/assets/InterfaceListPage-CbwWqklU.js +0 -1
- package/dist/assets/InterfaceListPage-CbwWqklU.js.br +0 -0
- package/dist/assets/InterfaceListPage-CbwWqklU.js.gz +0 -0
- package/dist/assets/ManagedByBadge-CBwMKWiF.js +0 -1
- package/dist/assets/ManagedByBadge-CBwMKWiF.js.br +0 -0
- package/dist/assets/ManagedByBadge-CBwMKWiF.js.gz +0 -0
- package/dist/assets/MarketplaceAccessDenied-DEBuHOU-.js +0 -1
- package/dist/assets/MarketplaceAccessDenied-DEBuHOU-.js.br +0 -0
- package/dist/assets/MarketplaceAccessDenied-DEBuHOU-.js.gz +0 -0
- package/dist/assets/MarketplaceInstalledPage-D1VkI0Vo.js +0 -1
- package/dist/assets/MarketplaceInstalledPage-D1VkI0Vo.js.br +0 -0
- package/dist/assets/MarketplaceInstalledPage-D1VkI0Vo.js.gz +0 -0
- package/dist/assets/MarketplacePackagePage-cJJmubUp.js +0 -4
- package/dist/assets/MarketplacePackagePage-cJJmubUp.js.br +0 -0
- package/dist/assets/MarketplacePackagePage-cJJmubUp.js.gz +0 -0
- package/dist/assets/MarketplacePage-CyMpmsqJ.js +0 -1
- package/dist/assets/MarketplacePage-CyMpmsqJ.js.br +0 -0
- package/dist/assets/MarketplacePage-CyMpmsqJ.js.gz +0 -0
- package/dist/assets/MetadataInspector-D3Q9UYxF.js +0 -1
- package/dist/assets/MetadataInspector-D3Q9UYxF.js.br +0 -0
- package/dist/assets/MetadataInspector-D3Q9UYxF.js.gz +0 -0
- package/dist/assets/MetadataProvider-PtYALdF8.js +0 -1
- package/dist/assets/MetadataProvider-PtYALdF8.js.br +0 -0
- package/dist/assets/MetadataProvider-PtYALdF8.js.gz +0 -0
- package/dist/assets/ObjectDataPage-D_9SyqGu.js +0 -1
- package/dist/assets/ObjectDataPage-D_9SyqGu.js.br +0 -0
- package/dist/assets/ObjectDataPage-D_9SyqGu.js.gz +0 -0
- package/dist/assets/PageView-DE9Jb4nC.js +0 -1
- package/dist/assets/PageView-DE9Jb4nC.js.br +0 -0
- package/dist/assets/PageView-DE9Jb4nC.js.gz +0 -0
- package/dist/assets/ProfilePage-D6ZIjlTU.js +0 -1
- package/dist/assets/ProfilePage-D6ZIjlTU.js.br +0 -0
- package/dist/assets/ProfilePage-D6ZIjlTU.js.gz +0 -0
- package/dist/assets/PublicFormsPage-C7OYcRBz.js.br +0 -0
- package/dist/assets/PublicFormsPage-C7OYcRBz.js.gz +0 -0
- package/dist/assets/RecordDetailView-RvdjtkCZ.js +0 -9
- package/dist/assets/RecordDetailView-RvdjtkCZ.js.br +0 -0
- package/dist/assets/RecordDetailView-RvdjtkCZ.js.gz +0 -0
- package/dist/assets/RecordFormPage-C7Fn2jkc.js +0 -1
- package/dist/assets/RecordFormPage-C7Fn2jkc.js.br +0 -0
- package/dist/assets/RecordFormPage-C7Fn2jkc.js.gz +0 -0
- package/dist/assets/ReportDefaultInspector-By-3nQXp.js +0 -3
- package/dist/assets/ReportDefaultInspector-By-3nQXp.js.br +0 -0
- package/dist/assets/ReportDefaultInspector-By-3nQXp.js.gz +0 -0
- package/dist/assets/ReportView-DynZqTgH.js +0 -2
- package/dist/assets/ReportView-DynZqTgH.js.br +0 -0
- package/dist/assets/ReportView-DynZqTgH.js.gz +0 -0
- package/dist/assets/SearchResultsPage-seBReYj-.js +0 -1
- package/dist/assets/SearchResultsPage-seBReYj-.js.br +0 -0
- package/dist/assets/SearchResultsPage-seBReYj-.js.gz +0 -0
- package/dist/assets/SettingsHub-koseplY7.js +0 -1
- package/dist/assets/SettingsHub-koseplY7.js.br +0 -0
- package/dist/assets/SettingsHub-koseplY7.js.gz +0 -0
- package/dist/assets/SettingsView-W2hI4Z63.js +0 -1
- package/dist/assets/SettingsView-W2hI4Z63.js.br +0 -0
- package/dist/assets/SettingsView-W2hI4Z63.js.gz +0 -0
- package/dist/assets/SystemHubPage-CFpBjBvz.js.br +0 -0
- package/dist/assets/SystemHubPage-CFpBjBvz.js.gz +0 -0
- package/dist/assets/abap-CLvhMVsD.js.br +0 -0
- package/dist/assets/abap-CLvhMVsD.js.gz +0 -0
- package/dist/assets/abnfDiagram-N423BO3Z-Ck9FUrgJ.js.br +0 -0
- package/dist/assets/abnfDiagram-N423BO3Z-Ck9FUrgJ.js.gz +0 -0
- package/dist/assets/actionscript-3-Cs6JJXT5.js.br +0 -0
- package/dist/assets/actionscript-3-Cs6JJXT5.js.gz +0 -0
- package/dist/assets/ada-C5qYipkI.js.br +0 -0
- package/dist/assets/ada-C5qYipkI.js.gz +0 -0
- package/dist/assets/ahk-CA9gdOdF.js.br +0 -0
- package/dist/assets/ahk-CA9gdOdF.js.gz +0 -0
- package/dist/assets/ahk2-_6rzW9BS.js.br +0 -0
- package/dist/assets/ahk2-_6rzW9BS.js.gz +0 -0
- package/dist/assets/andromeeda-vGVdxbeo.js.br +0 -0
- package/dist/assets/andromeeda-vGVdxbeo.js.gz +0 -0
- package/dist/assets/angular-html-EvDzfMaC.js.br +0 -0
- package/dist/assets/angular-html-EvDzfMaC.js.gz +0 -0
- package/dist/assets/angular-ts-D_Fppbgk.js.br +0 -0
- package/dist/assets/angular-ts-D_Fppbgk.js.gz +0 -0
- package/dist/assets/apache-U0d_L8uA.js.br +0 -0
- package/dist/assets/apache-U0d_L8uA.js.gz +0 -0
- package/dist/assets/apex-KFGFyKwG.js.br +0 -0
- package/dist/assets/apex-KFGFyKwG.js.gz +0 -0
- package/dist/assets/apl-CMMvGKpa.js.br +0 -0
- package/dist/assets/apl-CMMvGKpa.js.gz +0 -0
- package/dist/assets/applescript-CCn79oCD.js.br +0 -0
- package/dist/assets/applescript-CCn79oCD.js.gz +0 -0
- package/dist/assets/ara-4CJ0cIlV.js.br +0 -0
- package/dist/assets/ara-4CJ0cIlV.js.gz +0 -0
- package/dist/assets/architectureDiagram-T3A2C74G-DJbnVK1q.js.br +0 -0
- package/dist/assets/architectureDiagram-T3A2C74G-DJbnVK1q.js.gz +0 -0
- package/dist/assets/asciidoc-SCjQUq34.js.br +0 -0
- package/dist/assets/asciidoc-SCjQUq34.js.gz +0 -0
- package/dist/assets/asm-Cmm7eHzH.js.br +0 -0
- package/dist/assets/asm-Cmm7eHzH.js.gz +0 -0
- package/dist/assets/astro-CYXUZjx4.js.br +0 -0
- package/dist/assets/astro-CYXUZjx4.js.gz +0 -0
- package/dist/assets/aurora-x-CDeNXAV0.js.br +0 -0
- package/dist/assets/aurora-x-CDeNXAV0.js.gz +0 -0
- package/dist/assets/awk-BWXHIvNe.js.br +0 -0
- package/dist/assets/awk-BWXHIvNe.js.gz +0 -0
- package/dist/assets/ayu-dark-DluEY0Gj.js.br +0 -0
- package/dist/assets/ayu-dark-DluEY0Gj.js.gz +0 -0
- package/dist/assets/ayu-light-C3h-C4tm.js.br +0 -0
- package/dist/assets/ayu-light-C3h-C4tm.js.gz +0 -0
- package/dist/assets/ayu-mirage-Bqwy1Gya.js.br +0 -0
- package/dist/assets/ayu-mirage-Bqwy1Gya.js.gz +0 -0
- package/dist/assets/ballerina-B7ZEbQpA.js.br +0 -0
- package/dist/assets/ballerina-B7ZEbQpA.js.gz +0 -0
- package/dist/assets/bat-qdxAdBWQ.js.br +0 -0
- package/dist/assets/bat-qdxAdBWQ.js.gz +0 -0
- package/dist/assets/beancount-D-usSTwE.js.br +0 -0
- package/dist/assets/beancount-D-usSTwE.js.gz +0 -0
- package/dist/assets/berry-DKpUyyne.js.br +0 -0
- package/dist/assets/berry-DKpUyyne.js.gz +0 -0
- package/dist/assets/bibtex-Ci_nEsc7.js.br +0 -0
- package/dist/assets/bibtex-Ci_nEsc7.js.gz +0 -0
- package/dist/assets/bicep-CUHmPFLl.js.br +0 -0
- package/dist/assets/bicep-CUHmPFLl.js.gz +0 -0
- package/dist/assets/bird2-CYIUgYqB.js.br +0 -0
- package/dist/assets/bird2-CYIUgYqB.js.gz +0 -0
- package/dist/assets/blade-mfXoORbc.js.br +0 -0
- package/dist/assets/blade-mfXoORbc.js.gz +0 -0
- package/dist/assets/blockDiagram-VBNYF7ZC-Qtci47Jq.js.br +0 -0
- package/dist/assets/blockDiagram-VBNYF7ZC-Qtci47Jq.js.gz +0 -0
- package/dist/assets/bsl-_VjlB9mv.js.br +0 -0
- package/dist/assets/bsl-_VjlB9mv.js.gz +0 -0
- package/dist/assets/c-mSN2GbH4.js.br +0 -0
- package/dist/assets/c-mSN2GbH4.js.gz +0 -0
- package/dist/assets/c3-D0apG41V.js.br +0 -0
- package/dist/assets/c3-D0apG41V.js.gz +0 -0
- package/dist/assets/c4Diagram-5PPSVZJV-DC9Uk9FW.js.br +0 -0
- package/dist/assets/c4Diagram-5PPSVZJV-DC9Uk9FW.js.gz +0 -0
- package/dist/assets/cadence-CQ2zXKGN.js.br +0 -0
- package/dist/assets/cadence-CQ2zXKGN.js.gz +0 -0
- package/dist/assets/cairo-DLTphjLi.js.br +0 -0
- package/dist/assets/cairo-DLTphjLi.js.gz +0 -0
- package/dist/assets/catppuccin-frappe-C9Q5zVZY.js.br +0 -0
- package/dist/assets/catppuccin-frappe-C9Q5zVZY.js.gz +0 -0
- package/dist/assets/catppuccin-latte-CtsyrtPq.js.br +0 -0
- package/dist/assets/catppuccin-latte-CtsyrtPq.js.gz +0 -0
- package/dist/assets/catppuccin-macchiato-R8nAf1vR.js.br +0 -0
- package/dist/assets/catppuccin-macchiato-R8nAf1vR.js.gz +0 -0
- package/dist/assets/catppuccin-mocha-DjuaAJKi.js.br +0 -0
- package/dist/assets/catppuccin-mocha-DjuaAJKi.js.gz +0 -0
- package/dist/assets/chapel-BG8u2Rih.js.br +0 -0
- package/dist/assets/chapel-BG8u2Rih.js.gz +0 -0
- package/dist/assets/chunk-2GRJ4B5K-C6KsYuNR.js.br +0 -0
- package/dist/assets/chunk-2GRJ4B5K-C6KsYuNR.js.gz +0 -0
- package/dist/assets/chunk-4I5QYGJK-CPsvNPUx.js.br +0 -0
- package/dist/assets/chunk-4I5QYGJK-CPsvNPUx.js.gz +0 -0
- package/dist/assets/chunk-5JV3BV7I-BrKM6vC-.js.br +0 -0
- package/dist/assets/chunk-5JV3BV7I-BrKM6vC-.js.gz +0 -0
- package/dist/assets/chunk-5RXB4S5H-CU_v2umt.js.br +0 -0
- package/dist/assets/chunk-5RXB4S5H-CU_v2umt.js.gz +0 -0
- package/dist/assets/chunk-5TONJI2A-Bdh0MHqz.js.br +0 -0
- package/dist/assets/chunk-5TONJI2A-Bdh0MHqz.js.gz +0 -0
- package/dist/assets/chunk-6Q2QTUOP-C_q0JPmG.js.br +0 -0
- package/dist/assets/chunk-6Q2QTUOP-C_q0JPmG.js.gz +0 -0
- package/dist/assets/chunk-7BUUIJ7U-Bb538aSH.js.br +0 -0
- package/dist/assets/chunk-7BUUIJ7U-Bb538aSH.js.gz +0 -0
- package/dist/assets/chunk-7Z6QIM7H-jM3JGv9o.js.br +0 -0
- package/dist/assets/chunk-7Z6QIM7H-jM3JGv9o.js.gz +0 -0
- package/dist/assets/chunk-GF5L2VYU-Dp_0e4Vj.js.br +0 -0
- package/dist/assets/chunk-GF5L2VYU-Dp_0e4Vj.js.gz +0 -0
- package/dist/assets/chunk-I66GZJ75-CLtbCU_E.js.br +0 -0
- package/dist/assets/chunk-I66GZJ75-CLtbCU_E.js.gz +0 -0
- package/dist/assets/chunk-J7OUQ5F2-C4uAdkrD.js.br +0 -0
- package/dist/assets/chunk-J7OUQ5F2-C4uAdkrD.js.gz +0 -0
- package/dist/assets/chunk-JG7HCLWE-lCTbN-f1.js.br +0 -0
- package/dist/assets/chunk-JG7HCLWE-lCTbN-f1.js.gz +0 -0
- package/dist/assets/chunk-JQJVKLGR-BlTMFaN6.js.br +0 -0
- package/dist/assets/chunk-JQJVKLGR-BlTMFaN6.js.gz +0 -0
- package/dist/assets/chunk-KEIR6QF5-ydf36Hye.js.br +0 -0
- package/dist/assets/chunk-KEIR6QF5-ydf36Hye.js.gz +0 -0
- package/dist/assets/chunk-NSK5VX7P-B7tNpEbR.js.br +0 -0
- package/dist/assets/chunk-NSK5VX7P-B7tNpEbR.js.gz +0 -0
- package/dist/assets/chunk-QR6OTTB3-B3mQWEI2.js.br +0 -0
- package/dist/assets/chunk-QR6OTTB3-B3mQWEI2.js.gz +0 -0
- package/dist/assets/chunk-R7FJI6CG-DsJHM8am.js.br +0 -0
- package/dist/assets/chunk-R7FJI6CG-DsJHM8am.js.gz +0 -0
- package/dist/assets/chunk-RYQCIY6F-B3DAS_Q-.js.br +0 -0
- package/dist/assets/chunk-RYQCIY6F-B3DAS_Q-.js.gz +0 -0
- package/dist/assets/chunk-U6XO7XAA-D-dXvZaW.js.br +0 -0
- package/dist/assets/chunk-U6XO7XAA-D-dXvZaW.js.gz +0 -0
- package/dist/assets/chunk-W5SLKNZC-DWOVkEVc.js.br +0 -0
- package/dist/assets/chunk-W5SLKNZC-DWOVkEVc.js.gz +0 -0
- package/dist/assets/chunk-WRU74C26-DR5g8owc.js.br +0 -0
- package/dist/assets/chunk-WRU74C26-DR5g8owc.js.gz +0 -0
- package/dist/assets/chunk-ZIRB5QZD-O39ZBUk3.js.br +0 -0
- package/dist/assets/chunk-ZIRB5QZD-O39ZBUk3.js.gz +0 -0
- package/dist/assets/clarity-CtfBBspg.js.br +0 -0
- package/dist/assets/clarity-CtfBBspg.js.gz +0 -0
- package/dist/assets/clojure-DqKBuwfJ.js.br +0 -0
- package/dist/assets/clojure-DqKBuwfJ.js.gz +0 -0
- package/dist/assets/cmake-Bj61d0ZC.js.br +0 -0
- package/dist/assets/cmake-Bj61d0ZC.js.gz +0 -0
- package/dist/assets/cobol-Bhp1bana.js.br +0 -0
- package/dist/assets/cobol-Bhp1bana.js.gz +0 -0
- package/dist/assets/codeql-oeQT6MSM.js.br +0 -0
- package/dist/assets/codeql-oeQT6MSM.js.gz +0 -0
- package/dist/assets/coffee-C17FjuDx.js.br +0 -0
- package/dist/assets/coffee-C17FjuDx.js.gz +0 -0
- package/dist/assets/common-lisp-Cv5bFMCO.js.br +0 -0
- package/dist/assets/common-lisp-Cv5bFMCO.js.gz +0 -0
- package/dist/assets/coq-DuBRPxYg.js.br +0 -0
- package/dist/assets/coq-DuBRPxYg.js.gz +0 -0
- package/dist/assets/cose-bilkent-JH36ORCC-CcXrYRrs.js.br +0 -0
- package/dist/assets/cose-bilkent-JH36ORCC-CcXrYRrs.js.gz +0 -0
- package/dist/assets/cpp-svqsdV-V.js.br +0 -0
- package/dist/assets/cpp-svqsdV-V.js.gz +0 -0
- package/dist/assets/createDerive-Byjn6nRi.js +0 -1
- package/dist/assets/createDerive-Byjn6nRi.js.br +0 -0
- package/dist/assets/createDerive-Byjn6nRi.js.gz +0 -0
- package/dist/assets/crystal-D9vhA8G_.js.br +0 -0
- package/dist/assets/crystal-D9vhA8G_.js.gz +0 -0
- package/dist/assets/csharp-oqKa8noW.js.br +0 -0
- package/dist/assets/csharp-oqKa8noW.js.gz +0 -0
- package/dist/assets/css-DkbmQzJL.js.br +0 -0
- package/dist/assets/css-DkbmQzJL.js.gz +0 -0
- package/dist/assets/csv-Dx-8-gkx.js.br +0 -0
- package/dist/assets/csv-Dx-8-gkx.js.gz +0 -0
- package/dist/assets/cue-CE9AQfxI.js.br +0 -0
- package/dist/assets/cue-CE9AQfxI.js.gz +0 -0
- package/dist/assets/cynefinDiagram-MW4NZA55-DuPIOMPB.js.br +0 -0
- package/dist/assets/cynefinDiagram-MW4NZA55-DuPIOMPB.js.gz +0 -0
- package/dist/assets/cypher-ClKdZ_lG.js.br +0 -0
- package/dist/assets/cypher-ClKdZ_lG.js.gz +0 -0
- package/dist/assets/cytoscape.esm-B-NFISlW.js.br +0 -0
- package/dist/assets/cytoscape.esm-B-NFISlW.js.gz +0 -0
- package/dist/assets/d-qD-0Kul2.js.br +0 -0
- package/dist/assets/d-qD-0Kul2.js.gz +0 -0
- package/dist/assets/dagre-Buvkdvvj.js.br +0 -0
- package/dist/assets/dagre-Buvkdvvj.js.gz +0 -0
- package/dist/assets/dagre-VZM6K2ZE-CHbs07zF.js.br +0 -0
- package/dist/assets/dagre-VZM6K2ZE-CHbs07zF.js.gz +0 -0
- package/dist/assets/dark-plus-Cs2F2srj.js.br +0 -0
- package/dist/assets/dark-plus-Cs2F2srj.js.gz +0 -0
- package/dist/assets/dart-CnvKMtbv.js.br +0 -0
- package/dist/assets/dart-CnvKMtbv.js.gz +0 -0
- package/dist/assets/data-adapter-BJj1HN8X.js +0 -24
- package/dist/assets/data-adapter-BJj1HN8X.js.br +0 -0
- package/dist/assets/data-adapter-BJj1HN8X.js.gz +0 -0
- package/dist/assets/dax-BkyTk9wS.js.br +0 -0
- package/dist/assets/dax-BkyTk9wS.js.gz +0 -0
- package/dist/assets/desktop-Dlh5hvp9.js.br +0 -0
- package/dist/assets/desktop-Dlh5hvp9.js.gz +0 -0
- package/dist/assets/diagram-7IWD3JNH-sPS-Y-CP.js.br +0 -0
- package/dist/assets/diagram-7IWD3JNH-sPS-Y-CP.js.gz +0 -0
- package/dist/assets/diagram-B4RE2ZJO-C4Essr7L.js.br +0 -0
- package/dist/assets/diagram-B4RE2ZJO-C4Essr7L.js.gz +0 -0
- package/dist/assets/diagram-LBJQPF4R-CluEJ_Yg.js.br +0 -0
- package/dist/assets/diagram-LBJQPF4R-CluEJ_Yg.js.gz +0 -0
- package/dist/assets/diagram-Q27KOJAE-D4lem9jQ.js.br +0 -0
- package/dist/assets/diagram-Q27KOJAE-D4lem9jQ.js.gz +0 -0
- package/dist/assets/diagram-UB23O5K3-Bfj6mHJD.js.br +0 -0
- package/dist/assets/diagram-UB23O5K3-Bfj6mHJD.js.gz +0 -0
- package/dist/assets/diff-woXpYk--.js.br +0 -0
- package/dist/assets/diff-woXpYk--.js.gz +0 -0
- package/dist/assets/dist-B7OHp69Q.js.br +0 -0
- package/dist/assets/dist-B7OHp69Q.js.gz +0 -0
- package/dist/assets/dist-D3VfqzjO.js.br +0 -0
- package/dist/assets/dist-D3VfqzjO.js.gz +0 -0
- package/dist/assets/docker-IyjqRm3v.js.br +0 -0
- package/dist/assets/docker-IyjqRm3v.js.gz +0 -0
- package/dist/assets/dotenv-_5a1GRtc.js.br +0 -0
- package/dist/assets/dotenv-_5a1GRtc.js.gz +0 -0
- package/dist/assets/dracula-BHWKrbxM.js.br +0 -0
- package/dist/assets/dracula-BHWKrbxM.js.gz +0 -0
- package/dist/assets/dracula-soft-5eyTD99u.js.br +0 -0
- package/dist/assets/dracula-soft-5eyTD99u.js.gz +0 -0
- package/dist/assets/dream-maker-DW3nJb8Q.js.br +0 -0
- package/dist/assets/dream-maker-DW3nJb8Q.js.gz +0 -0
- package/dist/assets/drillUrlFilters-DHAQHZbx.js.br +0 -0
- package/dist/assets/drillUrlFilters-DHAQHZbx.js.gz +0 -0
- package/dist/assets/ebnfDiagram-BXEA7PRR-BKXyHLd_.js.br +0 -0
- package/dist/assets/ebnfDiagram-BXEA7PRR-BKXyHLd_.js.gz +0 -0
- package/dist/assets/edge-DVm6-hiM.js.br +0 -0
- package/dist/assets/edge-DVm6-hiM.js.gz +0 -0
- package/dist/assets/elixir-BQoS1tEv.js.br +0 -0
- package/dist/assets/elixir-BQoS1tEv.js.gz +0 -0
- package/dist/assets/elm-D_TZK0Oc.js.br +0 -0
- package/dist/assets/elm-D_TZK0Oc.js.gz +0 -0
- package/dist/assets/emacs-lisp-c_oH4hRZ.js.br +0 -0
- package/dist/assets/emacs-lisp-c_oH4hRZ.js.gz +0 -0
- package/dist/assets/erDiagram-JOGREHBK-B6_uGYAF.js.br +0 -0
- package/dist/assets/erDiagram-JOGREHBK-B6_uGYAF.js.gz +0 -0
- package/dist/assets/erb-DFs7gCnY.js.br +0 -0
- package/dist/assets/erb-DFs7gCnY.js.gz +0 -0
- package/dist/assets/erlang-Cphh6RMH.js.br +0 -0
- package/dist/assets/erlang-Cphh6RMH.js.gz +0 -0
- package/dist/assets/everforest-dark-sB-x3p7T.js.br +0 -0
- package/dist/assets/everforest-dark-sB-x3p7T.js.gz +0 -0
- package/dist/assets/everforest-light-Df2xbC6M.js.br +0 -0
- package/dist/assets/everforest-light-Df2xbC6M.js.gz +0 -0
- package/dist/assets/exceljs.min-BYqCKPdJ.js.br +0 -0
- package/dist/assets/exceljs.min-BYqCKPdJ.js.gz +0 -0
- package/dist/assets/fennel-DQxkIbk2.js.br +0 -0
- package/dist/assets/fennel-DQxkIbk2.js.gz +0 -0
- package/dist/assets/fish-BJitypiv.js.br +0 -0
- package/dist/assets/fish-BJitypiv.js.gz +0 -0
- package/dist/assets/fluent-C03EYrpw.js.br +0 -0
- package/dist/assets/fluent-C03EYrpw.js.gz +0 -0
- package/dist/assets/fortran-fixed-form-DEKoE2YW.js.br +0 -0
- package/dist/assets/fortran-fixed-form-DEKoE2YW.js.gz +0 -0
- package/dist/assets/fortran-free-form-CYNrtFtB.js.br +0 -0
- package/dist/assets/fortran-free-form-CYNrtFtB.js.gz +0 -0
- package/dist/assets/framework-DDZiA4ii.js +0 -8
- package/dist/assets/framework-DDZiA4ii.js.br +0 -0
- package/dist/assets/framework-DDZiA4ii.js.gz +0 -0
- package/dist/assets/fsharp-D13ZGOAj.js.br +0 -0
- package/dist/assets/fsharp-D13ZGOAj.js.gz +0 -0
- package/dist/assets/ganttDiagram-PKOTCBZU-Cip5kKH4.js.br +0 -0
- package/dist/assets/ganttDiagram-PKOTCBZU-Cip5kKH4.js.gz +0 -0
- package/dist/assets/gdresource-xMC7jr7x.js.br +0 -0
- package/dist/assets/gdresource-xMC7jr7x.js.gz +0 -0
- package/dist/assets/gdscript-DYvRD3hg.js.br +0 -0
- package/dist/assets/gdscript-DYvRD3hg.js.gz +0 -0
- package/dist/assets/gdshader-CBce3t8t.js.br +0 -0
- package/dist/assets/gdshader-CBce3t8t.js.gz +0 -0
- package/dist/assets/genie-CV2tkWYe.js.br +0 -0
- package/dist/assets/genie-CV2tkWYe.js.gz +0 -0
- package/dist/assets/getIcon-DGZbbWGj.js +0 -1
- package/dist/assets/gherkin-DExj1W_8.js.br +0 -0
- package/dist/assets/gherkin-DExj1W_8.js.gz +0 -0
- package/dist/assets/git-commit-BSykSTBG.js.br +0 -0
- package/dist/assets/git-commit-BSykSTBG.js.gz +0 -0
- package/dist/assets/gitGraphDiagram-DS77QQ5N-CF75OjHf.js.br +0 -0
- package/dist/assets/gitGraphDiagram-DS77QQ5N-CF75OjHf.js.gz +0 -0
- package/dist/assets/github-dark-C-LZuMrd.js.br +0 -0
- package/dist/assets/github-dark-C-LZuMrd.js.gz +0 -0
- package/dist/assets/github-dark-default-DXG-b-1a.js.br +0 -0
- package/dist/assets/github-dark-default-DXG-b-1a.js.gz +0 -0
- package/dist/assets/github-dark-dimmed-Bx1FflLF.js.br +0 -0
- package/dist/assets/github-dark-dimmed-Bx1FflLF.js.gz +0 -0
- package/dist/assets/github-dark-high-contrast-B_tTalzw.js.br +0 -0
- package/dist/assets/github-dark-high-contrast-B_tTalzw.js.gz +0 -0
- package/dist/assets/github-light-EUqPIrTm.js.br +0 -0
- package/dist/assets/github-light-EUqPIrTm.js.gz +0 -0
- package/dist/assets/github-light-default-BXViO-2h.js.br +0 -0
- package/dist/assets/github-light-default-BXViO-2h.js.gz +0 -0
- package/dist/assets/github-light-high-contrast-B68TUdTA.js.br +0 -0
- package/dist/assets/github-light-high-contrast-B68TUdTA.js.gz +0 -0
- package/dist/assets/gleam-CSRkHgEL.js.br +0 -0
- package/dist/assets/gleam-CSRkHgEL.js.gz +0 -0
- package/dist/assets/glimmer-js-Cpr0NJvA.js.br +0 -0
- package/dist/assets/glimmer-js-Cpr0NJvA.js.gz +0 -0
- package/dist/assets/glimmer-ts-CYbTSzY6.js.br +0 -0
- package/dist/assets/glimmer-ts-CYbTSzY6.js.gz +0 -0
- package/dist/assets/glsl-C3yOxx6A.js.br +0 -0
- package/dist/assets/glsl-C3yOxx6A.js.gz +0 -0
- package/dist/assets/gn-ilITqXS6.js.br +0 -0
- package/dist/assets/gn-ilITqXS6.js.gz +0 -0
- package/dist/assets/gnuplot-7GGW24-e.js.br +0 -0
- package/dist/assets/gnuplot-7GGW24-e.js.gz +0 -0
- package/dist/assets/go-rLFTqkRN.js.br +0 -0
- package/dist/assets/go-rLFTqkRN.js.gz +0 -0
- package/dist/assets/graphlib-DS17s2tU.js.br +0 -0
- package/dist/assets/graphlib-DS17s2tU.js.gz +0 -0
- package/dist/assets/graphql-DlruBr94.js.br +0 -0
- package/dist/assets/graphql-DlruBr94.js.gz +0 -0
- package/dist/assets/groovy-CacY0gHj.js.br +0 -0
- package/dist/assets/groovy-CacY0gHj.js.gz +0 -0
- package/dist/assets/gruvbox-dark-hard-C820rvS2.js.br +0 -0
- package/dist/assets/gruvbox-dark-hard-C820rvS2.js.gz +0 -0
- package/dist/assets/gruvbox-dark-medium-BPjhmG05.js.br +0 -0
- package/dist/assets/gruvbox-dark-medium-BPjhmG05.js.gz +0 -0
- package/dist/assets/gruvbox-dark-soft-MrdJrrXF.js.br +0 -0
- package/dist/assets/gruvbox-dark-soft-MrdJrrXF.js.gz +0 -0
- package/dist/assets/gruvbox-light-hard-BC_s9l72.js.br +0 -0
- package/dist/assets/gruvbox-light-hard-BC_s9l72.js.gz +0 -0
- package/dist/assets/gruvbox-light-medium-BAWPOn9u.js.br +0 -0
- package/dist/assets/gruvbox-light-medium-BAWPOn9u.js.gz +0 -0
- package/dist/assets/gruvbox-light-soft-BSMLrYjP.js.br +0 -0
- package/dist/assets/gruvbox-light-soft-BSMLrYjP.js.gz +0 -0
- package/dist/assets/hack-Cn178EEI.js.br +0 -0
- package/dist/assets/hack-Cn178EEI.js.gz +0 -0
- package/dist/assets/haml-ReV9wHjP.js.br +0 -0
- package/dist/assets/haml-ReV9wHjP.js.gz +0 -0
- package/dist/assets/handlebars-D74Ug8_P.js.br +0 -0
- package/dist/assets/handlebars-D74Ug8_P.js.gz +0 -0
- package/dist/assets/haskell-D8IpX4py.js.br +0 -0
- package/dist/assets/haskell-D8IpX4py.js.gz +0 -0
- package/dist/assets/haxe-C8oCnwJJ.js.br +0 -0
- package/dist/assets/haxe-C8oCnwJJ.js.gz +0 -0
- package/dist/assets/hcl-Dh228itO.js.br +0 -0
- package/dist/assets/hcl-Dh228itO.js.gz +0 -0
- package/dist/assets/hjson-CxZEssPk.js.br +0 -0
- package/dist/assets/hjson-CxZEssPk.js.gz +0 -0
- package/dist/assets/hlsl-Cvrh5tZx.js.br +0 -0
- package/dist/assets/hlsl-Cvrh5tZx.js.gz +0 -0
- package/dist/assets/horizon-CE9ld1lL.js.br +0 -0
- package/dist/assets/horizon-CE9ld1lL.js.gz +0 -0
- package/dist/assets/horizon-bright-DSNQnXHK.js.br +0 -0
- package/dist/assets/horizon-bright-DSNQnXHK.js.gz +0 -0
- package/dist/assets/houston-CsvMBhTu.js.br +0 -0
- package/dist/assets/houston-CsvMBhTu.js.gz +0 -0
- package/dist/assets/html-BPYeLA3q.js.br +0 -0
- package/dist/assets/html-BPYeLA3q.js.gz +0 -0
- package/dist/assets/http-Dy2ncae7.js.br +0 -0
- package/dist/assets/http-Dy2ncae7.js.gz +0 -0
- package/dist/assets/hurl-Cb5XgwOM.js.br +0 -0
- package/dist/assets/hurl-Cb5XgwOM.js.gz +0 -0
- package/dist/assets/hxml-Dcm88srW.js.br +0 -0
- package/dist/assets/hxml-Dcm88srW.js.gz +0 -0
- package/dist/assets/hy-CZbG8q4J.js.br +0 -0
- package/dist/assets/hy-CZbG8q4J.js.gz +0 -0
- package/dist/assets/i18n-Darz-xgN.js +0 -9
- package/dist/assets/i18n-Darz-xgN.js.br +0 -0
- package/dist/assets/i18n-Darz-xgN.js.gz +0 -0
- package/dist/assets/imba-DsUTQ-LC.js.br +0 -0
- package/dist/assets/imba-DsUTQ-LC.js.gz +0 -0
- package/dist/assets/index-0lJaiIcB.js +0 -2
- package/dist/assets/index-0lJaiIcB.js.br +0 -0
- package/dist/assets/index-0lJaiIcB.js.gz +0 -0
- package/dist/assets/index-VKN7CDwN.css +0 -2
- package/dist/assets/index-VKN7CDwN.css.br +0 -0
- package/dist/assets/index-VKN7CDwN.css.gz +0 -0
- package/dist/assets/infrastructure-DG9xHrYB.js +0 -3
- package/dist/assets/infrastructure-DG9xHrYB.js.br +0 -0
- package/dist/assets/infrastructure-DG9xHrYB.js.gz +0 -0
- package/dist/assets/ini-B5eOa1yu.js.br +0 -5
- package/dist/assets/ini-B5eOa1yu.js.gz +0 -0
- package/dist/assets/ishikawaDiagram-WSZJBQD7-D8FhFMwb.js.br +0 -0
- package/dist/assets/ishikawaDiagram-WSZJBQD7-D8FhFMwb.js.gz +0 -0
- package/dist/assets/java-CCLYh7Ws.js.br +0 -0
- package/dist/assets/java-CCLYh7Ws.js.gz +0 -0
- package/dist/assets/javascript-B3ZoUvGD.js.br +0 -0
- package/dist/assets/javascript-B3ZoUvGD.js.gz +0 -0
- package/dist/assets/jinja-I6vrZFw_.js.br +0 -0
- package/dist/assets/jinja-I6vrZFw_.js.gz +0 -0
- package/dist/assets/jison-C7uQeUlv.js.br +0 -0
- package/dist/assets/jison-C7uQeUlv.js.gz +0 -0
- package/dist/assets/journeyDiagram-NVQOT4AX-C1y_DqRe.js.br +0 -0
- package/dist/assets/journeyDiagram-NVQOT4AX-C1y_DqRe.js.gz +0 -0
- package/dist/assets/json-DYyUca0x.js.br +0 -0
- package/dist/assets/json-DYyUca0x.js.gz +0 -0
- package/dist/assets/json5-BR5RXkoi.js.br +0 -0
- package/dist/assets/json5-BR5RXkoi.js.gz +0 -0
- package/dist/assets/jsonc-CYpm1nAK.js.br +0 -0
- package/dist/assets/jsonc-CYpm1nAK.js.gz +0 -0
- package/dist/assets/jsonl-CmCQp5Yx.js.br +0 -0
- package/dist/assets/jsonl-CmCQp5Yx.js.gz +0 -0
- package/dist/assets/jsonnet-CJTPZ8u_.js.br +0 -0
- package/dist/assets/jsonnet-CJTPZ8u_.js.gz +0 -0
- package/dist/assets/jssm-DXw9l8Rf.js.br +0 -0
- package/dist/assets/jssm-DXw9l8Rf.js.gz +0 -0
- package/dist/assets/jsx-Cb6Vub3Y.js.br +0 -0
- package/dist/assets/jsx-Cb6Vub3Y.js.gz +0 -0
- package/dist/assets/julia-BIoAlrTe.js.br +0 -0
- package/dist/assets/julia-BIoAlrTe.js.gz +0 -0
- package/dist/assets/just-CwqxWwqp.js.br +0 -0
- package/dist/assets/just-CwqxWwqp.js.gz +0 -0
- package/dist/assets/kanagawa-dragon-Bozd7klA.js.br +0 -0
- package/dist/assets/kanagawa-dragon-Bozd7klA.js.gz +0 -0
- package/dist/assets/kanagawa-lotus-BmuOG9ZW.js.br +0 -0
- package/dist/assets/kanagawa-lotus-BmuOG9ZW.js.gz +0 -0
- package/dist/assets/kanagawa-wave-BML5mF2J.js.br +0 -0
- package/dist/assets/kanagawa-wave-BML5mF2J.js.gz +0 -0
- package/dist/assets/kanban-definition-27J2QSJJ-DIUOavva.js.br +0 -0
- package/dist/assets/kanban-definition-27J2QSJJ-DIUOavva.js.gz +0 -0
- package/dist/assets/katex-CXMH3UgJ.js.br +0 -0
- package/dist/assets/katex-CXMH3UgJ.js.gz +0 -0
- package/dist/assets/kdl-CsD5j6eV.js.br +0 -0
- package/dist/assets/kdl-CsD5j6eV.js.gz +0 -0
- package/dist/assets/kotlin-DhhofPvG.js.br +0 -0
- package/dist/assets/kotlin-DhhofPvG.js.gz +0 -0
- package/dist/assets/kusto-C7mF5XQf.js.br +0 -0
- package/dist/assets/kusto-C7mF5XQf.js.gz +0 -0
- package/dist/assets/laserwave-C_8bwKvT.js.br +0 -0
- package/dist/assets/laserwave-C_8bwKvT.js.gz +0 -0
- package/dist/assets/latex-D7YcOmGi.js.br +0 -0
- package/dist/assets/latex-D7YcOmGi.js.gz +0 -0
- package/dist/assets/lean-CewbzKMR.js.br +0 -0
- package/dist/assets/lean-CewbzKMR.js.gz +0 -0
- package/dist/assets/less-DVTAwKKz.js.br +0 -0
- package/dist/assets/less-DVTAwKKz.js.gz +0 -0
- package/dist/assets/light-plus-DVQuIRkW.js.br +0 -0
- package/dist/assets/light-plus-DVQuIRkW.js.gz +0 -0
- package/dist/assets/liquid-DZU1d9jH.js.br +0 -0
- package/dist/assets/liquid-DZU1d9jH.js.gz +0 -0
- package/dist/assets/llvm-DqHOMS-s.js.br +0 -0
- package/dist/assets/llvm-DqHOMS-s.js.gz +0 -0
- package/dist/assets/log-BNLmms1o.js.br +0 -0
- package/dist/assets/log-BNLmms1o.js.gz +0 -0
- package/dist/assets/logo-Cluzi2Zq.js.br +0 -0
- package/dist/assets/logo-Cluzi2Zq.js.gz +0 -0
- package/dist/assets/lua-tuq8Rev2.js.br +0 -0
- package/dist/assets/lua-tuq8Rev2.js.gz +0 -0
- package/dist/assets/luau-C2pBCSgt.js.br +0 -0
- package/dist/assets/luau-C2pBCSgt.js.gz +0 -0
- package/dist/assets/make-Dixweg8N.js.br +0 -0
- package/dist/assets/make-Dixweg8N.js.gz +0 -0
- package/dist/assets/map-BaFkSB1l.js.br +0 -0
- package/dist/assets/map-BaFkSB1l.js.gz +0 -0
- package/dist/assets/maplibre-gl-DPzMTNDD.js.br +0 -0
- package/dist/assets/maplibre-gl-DPzMTNDD.js.gz +0 -0
- package/dist/assets/maplibre-gl-shared.mjs.br +0 -0
- package/dist/assets/maplibre-gl-shared.mjs.gz +0 -0
- package/dist/assets/maplibre-gl-worker.mjs.br +0 -0
- package/dist/assets/maplibre-gl-worker.mjs.gz +0 -0
- package/dist/assets/markdown-BYOwaDjH.js.br +0 -0
- package/dist/assets/markdown-BYOwaDjH.js.gz +0 -0
- package/dist/assets/marko-B27e1lfg.js.br +0 -0
- package/dist/assets/marko-B27e1lfg.js.gz +0 -0
- package/dist/assets/material-theme-Bm3Qr25_.js.br +0 -0
- package/dist/assets/material-theme-Bm3Qr25_.js.gz +0 -0
- package/dist/assets/material-theme-darker-2IIEA8gg.js.br +0 -0
- package/dist/assets/material-theme-darker-2IIEA8gg.js.gz +0 -0
- package/dist/assets/material-theme-lighter-uhdI0v04.js.br +0 -0
- package/dist/assets/material-theme-lighter-uhdI0v04.js.gz +0 -0
- package/dist/assets/material-theme-ocean-CHQ94UKr.js.br +0 -0
- package/dist/assets/material-theme-ocean-CHQ94UKr.js.gz +0 -0
- package/dist/assets/material-theme-palenight-B5W6OYN7.js.br +0 -0
- package/dist/assets/material-theme-palenight-B5W6OYN7.js.gz +0 -0
- package/dist/assets/matlab-D7qyCx1q.js.br +0 -0
- package/dist/assets/matlab-D7qyCx1q.js.gz +0 -0
- package/dist/assets/mdc-4Lg-bkXO.js.br +0 -0
- package/dist/assets/mdc-4Lg-bkXO.js.gz +0 -0
- package/dist/assets/mdx-DQZ5AkYe.js.br +0 -0
- package/dist/assets/mdx-DQZ5AkYe.js.gz +0 -0
- package/dist/assets/mermaid-BxpfTIzt.js.br +0 -0
- package/dist/assets/mermaid-BxpfTIzt.js.gz +0 -0
- package/dist/assets/mermaid-GHXKKRXX-BKnA-Tt-.js +0 -1
- package/dist/assets/mermaid-parser.core-BbBeSajF.js.br +0 -0
- package/dist/assets/mermaid-parser.core-BbBeSajF.js.gz +0 -0
- package/dist/assets/mermaid.core-Dc9p2r4P.js.br +0 -0
- package/dist/assets/mermaid.core-Dc9p2r4P.js.gz +0 -0
- package/dist/assets/metadata-admin-CQrvfQZw.js +0 -25
- package/dist/assets/metadata-admin-CQrvfQZw.js.br +0 -0
- package/dist/assets/metadata-admin-CQrvfQZw.js.gz +0 -0
- package/dist/assets/min-dark-BSWPekZh.js.br +0 -0
- package/dist/assets/min-dark-BSWPekZh.js.gz +0 -0
- package/dist/assets/min-light-DDpmG2fV.js.br +0 -0
- package/dist/assets/min-light-DDpmG2fV.js.gz +0 -0
- package/dist/assets/mindmap-definition-FAOFIHXS-TIsZfgu-.js.br +0 -0
- package/dist/assets/mindmap-definition-FAOFIHXS-TIsZfgu-.js.gz +0 -0
- package/dist/assets/mipsasm-BMqwQI7S.js.br +0 -0
- package/dist/assets/mipsasm-BMqwQI7S.js.gz +0 -0
- package/dist/assets/mojo-fg40_ntQ.js.br +0 -0
- package/dist/assets/mojo-fg40_ntQ.js.gz +0 -0
- package/dist/assets/monokai-B_bV9PQ9.js.br +0 -0
- package/dist/assets/monokai-B_bV9PQ9.js.gz +0 -0
- package/dist/assets/moonbit-DgjMoLWr.js.br +0 -0
- package/dist/assets/moonbit-DgjMoLWr.js.gz +0 -0
- package/dist/assets/move-BYnGhZoM.js.br +0 -0
- package/dist/assets/move-BYnGhZoM.js.gz +0 -0
- package/dist/assets/narrat-_X_XdTYD.js.br +0 -0
- package/dist/assets/narrat-_X_XdTYD.js.gz +0 -0
- package/dist/assets/nextflow-BJtWHP5T.js.br +0 -0
- package/dist/assets/nextflow-BJtWHP5T.js.gz +0 -0
- package/dist/assets/nextflow-groovy-DJMQeKeT.js.br +0 -0
- package/dist/assets/nextflow-groovy-DJMQeKeT.js.gz +0 -0
- package/dist/assets/nginx-nAXs0UmH.js.br +0 -0
- package/dist/assets/nginx-nAXs0UmH.js.gz +0 -0
- package/dist/assets/night-owl-DhmEMT88.js.br +0 -0
- package/dist/assets/night-owl-DhmEMT88.js.gz +0 -0
- package/dist/assets/night-owl-light-eJ-hLW7d.js.br +0 -0
- package/dist/assets/night-owl-light-eJ-hLW7d.js.gz +0 -0
- package/dist/assets/nim-CCdQjvI2.js.br +0 -0
- package/dist/assets/nim-CCdQjvI2.js.gz +0 -0
- package/dist/assets/nix-IvuFDN5E.js.br +0 -0
- package/dist/assets/nix-IvuFDN5E.js.gz +0 -0
- package/dist/assets/nord-Cb4Vim4T.js.br +0 -0
- package/dist/assets/nord-Cb4Vim4T.js.gz +0 -0
- package/dist/assets/nsis-CjNLYCLg.js.br +0 -0
- package/dist/assets/nsis-CjNLYCLg.js.gz +0 -0
- package/dist/assets/nushell-DHYfO66s.js.br +0 -0
- package/dist/assets/nushell-DHYfO66s.js.gz +0 -0
- package/dist/assets/objective-c-D1A_Heim.js.br +0 -0
- package/dist/assets/objective-c-D1A_Heim.js.gz +0 -0
- package/dist/assets/objective-cpp-BsSzOQcm.js.br +0 -0
- package/dist/assets/objective-cpp-BsSzOQcm.js.gz +0 -0
- package/dist/assets/ocaml-O90oeIOV.js.br +0 -0
- package/dist/assets/ocaml-O90oeIOV.js.gz +0 -0
- package/dist/assets/odin-B1RWQWA5.js.br +0 -0
- package/dist/assets/odin-B1RWQWA5.js.gz +0 -0
- package/dist/assets/one-dark-pro-CLwyXe_n.js.br +0 -0
- package/dist/assets/one-dark-pro-CLwyXe_n.js.gz +0 -0
- package/dist/assets/one-light-D7Lr4KcI.js.br +0 -0
- package/dist/assets/one-light-D7Lr4KcI.js.gz +0 -0
- package/dist/assets/openscad-BUDT5pXO.js.br +0 -0
- package/dist/assets/openscad-BUDT5pXO.js.gz +0 -0
- package/dist/assets/org-DhkRzv3S.js.br +0 -0
- package/dist/assets/org-DhkRzv3S.js.gz +0 -0
- package/dist/assets/pascal-4ZHwLPI5.js.br +0 -0
- package/dist/assets/pascal-4ZHwLPI5.js.gz +0 -0
- package/dist/assets/pegDiagram-VL7TDLO6-BrUvPfjL.js.br +0 -0
- package/dist/assets/pegDiagram-VL7TDLO6-BrUvPfjL.js.gz +0 -0
- package/dist/assets/perl-iLGR5v3R.js.br +0 -0
- package/dist/assets/perl-iLGR5v3R.js.gz +0 -0
- package/dist/assets/php-DgsNzQlf.js.br +0 -0
- package/dist/assets/php-DgsNzQlf.js.gz +0 -0
- package/dist/assets/pieDiagram-7S7Q4E2Y-BNPIri0N.js.br +0 -0
- package/dist/assets/pieDiagram-7S7Q4E2Y-BNPIri0N.js.gz +0 -0
- package/dist/assets/pkl-ot-7Btpt.js.br +0 -0
- package/dist/assets/pkl-ot-7Btpt.js.gz +0 -0
- package/dist/assets/plastic-DQwYfKfQ.js.br +0 -0
- package/dist/assets/plastic-DQwYfKfQ.js.gz +0 -0
- package/dist/assets/plsql-DGHpHOYJ.js.br +0 -0
- package/dist/assets/plsql-DGHpHOYJ.js.gz +0 -0
- package/dist/assets/plugin-calendar-DI5hFrRH.js +0 -1
- package/dist/assets/plugin-calendar-DI5hFrRH.js.br +0 -0
- package/dist/assets/plugin-calendar-DI5hFrRH.js.gz +0 -0
- package/dist/assets/plugin-charts-BuotHBLk.js +0 -7
- package/dist/assets/plugin-charts-BuotHBLk.js.br +0 -0
- package/dist/assets/plugin-charts-BuotHBLk.js.gz +0 -0
- package/dist/assets/plugin-chatbot-BGloefT3.js +0 -120
- package/dist/assets/plugin-chatbot-BGloefT3.js.br +0 -0
- package/dist/assets/plugin-chatbot-BGloefT3.js.gz +0 -0
- package/dist/assets/plugin-dashboard-CaNG1Od0.js +0 -6
- package/dist/assets/plugin-dashboard-CaNG1Od0.js.br +0 -0
- package/dist/assets/plugin-dashboard-CaNG1Od0.js.gz +0 -0
- package/dist/assets/plugin-dashboard-DnNKJB60.css.br +0 -0
- package/dist/assets/plugin-dashboard-DnNKJB60.css.gz +0 -0
- package/dist/assets/plugin-form-BA3fYsSc.js +0 -1
- package/dist/assets/plugin-form-BA3fYsSc.js.br +0 -0
- package/dist/assets/plugin-form-BA3fYsSc.js.gz +0 -0
- package/dist/assets/plugin-gantt-eVbYEb51.js +0 -63
- package/dist/assets/plugin-gantt-eVbYEb51.js.br +0 -0
- package/dist/assets/plugin-gantt-eVbYEb51.js.gz +0 -0
- package/dist/assets/plugin-grid-B73zsrgO.js +0 -8
- package/dist/assets/plugin-grid-B73zsrgO.js.br +0 -0
- package/dist/assets/plugin-grid-B73zsrgO.js.gz +0 -0
- package/dist/assets/plugin-kanban-BiX4SvpU.js +0 -1
- package/dist/assets/plugin-kanban-BiX4SvpU.js.br +0 -0
- package/dist/assets/plugin-kanban-BiX4SvpU.js.gz +0 -0
- package/dist/assets/plugin-map-5lRITB8H.css.br +0 -0
- package/dist/assets/plugin-map-5lRITB8H.css.gz +0 -0
- package/dist/assets/plugin-map-D8odPW8M.js +0 -1
- package/dist/assets/plugin-map-D8odPW8M.js.br +0 -0
- package/dist/assets/plugin-map-D8odPW8M.js.gz +0 -0
- package/dist/assets/plugin-markdown-C3ihtjLf.js.br +0 -0
- package/dist/assets/plugin-markdown-C3ihtjLf.js.gz +0 -0
- package/dist/assets/plugin-report-W3tKaUTG.js +0 -59
- package/dist/assets/plugin-report-W3tKaUTG.js.br +0 -0
- package/dist/assets/plugin-report-W3tKaUTG.js.gz +0 -0
- package/dist/assets/plugin-timeline-DneQi3FN.js +0 -1
- package/dist/assets/plugin-timeline-DneQi3FN.js.br +0 -0
- package/dist/assets/plugin-timeline-DneQi3FN.js.gz +0 -0
- package/dist/assets/plugin-tree-Dg-UoQrg.js +0 -1
- package/dist/assets/plugin-tree-Dg-UoQrg.js.br +0 -0
- package/dist/assets/plugin-tree-Dg-UoQrg.js.gz +0 -0
- package/dist/assets/plugin-view-DMMnDypy.js +0 -1
- package/dist/assets/plugin-view-DMMnDypy.js.br +0 -0
- package/dist/assets/plugin-view-DMMnDypy.js.gz +0 -0
- package/dist/assets/plugins-views-GVcESCR3.js +0 -4
- package/dist/assets/plugins-views-GVcESCR3.js.br +0 -0
- package/dist/assets/plugins-views-GVcESCR3.js.gz +0 -0
- package/dist/assets/po-BiJDBrnU.js.br +0 -0
- package/dist/assets/po-BiJDBrnU.js.gz +0 -0
- package/dist/assets/poimandres-DRFjx7u4.js.br +0 -0
- package/dist/assets/poimandres-DRFjx7u4.js.gz +0 -0
- package/dist/assets/polar-C7UOKdEL.js.br +0 -0
- package/dist/assets/polar-C7UOKdEL.js.gz +0 -0
- package/dist/assets/postcss-BXeXVLqQ.js.br +0 -0
- package/dist/assets/postcss-BXeXVLqQ.js.gz +0 -0
- package/dist/assets/powerquery-DNMTfnFr.js.br +0 -0
- package/dist/assets/powerquery-DNMTfnFr.js.gz +0 -0
- package/dist/assets/powershell-CCSX75yM.js.br +0 -0
- package/dist/assets/powershell-CCSX75yM.js.gz +0 -0
- package/dist/assets/prisma-DMgNhnYS.js.br +0 -0
- package/dist/assets/prisma-DMgNhnYS.js.gz +0 -0
- package/dist/assets/prolog-iXnhIJG7.js.br +0 -0
- package/dist/assets/prolog-iXnhIJG7.js.gz +0 -0
- package/dist/assets/proto-DB4EqR-F.js.br +0 -0
- package/dist/assets/proto-DB4EqR-F.js.gz +0 -0
- package/dist/assets/pug-C1Xkn2-1.js.br +0 -0
- package/dist/assets/pug-C1Xkn2-1.js.gz +0 -0
- package/dist/assets/puppet-CDv2pdJW.js.br +0 -0
- package/dist/assets/puppet-CDv2pdJW.js.gz +0 -0
- package/dist/assets/purescript-9MfHhQsQ.js.br +0 -0
- package/dist/assets/purescript-9MfHhQsQ.js.gz +0 -0
- package/dist/assets/python-gzcpVVnB.js.br +0 -0
- package/dist/assets/python-gzcpVVnB.js.gz +0 -0
- package/dist/assets/qml-DaaPxMrD.js.br +0 -0
- package/dist/assets/qml-DaaPxMrD.js.gz +0 -0
- package/dist/assets/qss-Fe1Jh2GI.js.br +0 -0
- package/dist/assets/qss-Fe1Jh2GI.js.gz +0 -0
- package/dist/assets/quadrantDiagram-CIZ2JOQS-BpL1Kl6d.js.br +0 -0
- package/dist/assets/quadrantDiagram-CIZ2JOQS-BpL1Kl6d.js.gz +0 -0
- package/dist/assets/r-CrJekUTE.js.br +0 -0
- package/dist/assets/r-CrJekUTE.js.gz +0 -0
- package/dist/assets/racket-DcIDlBhZ.js.br +0 -0
- package/dist/assets/racket-DcIDlBhZ.js.gz +0 -0
- package/dist/assets/railroadDiagram-AXF67PYL-CY1JovP6.js.br +0 -0
- package/dist/assets/railroadDiagram-AXF67PYL-CY1JovP6.js.gz +0 -0
- package/dist/assets/raku-B3gFvitq.js.br +0 -0
- package/dist/assets/raku-B3gFvitq.js.gz +0 -0
- package/dist/assets/razor-DmNdBrA0.js.br +0 -0
- package/dist/assets/razor-DmNdBrA0.js.gz +0 -0
- package/dist/assets/rbs-C0MpOrj4.js.br +0 -0
- package/dist/assets/rbs-C0MpOrj4.js.gz +0 -0
- package/dist/assets/red-DX1BQOs8.js.br +0 -0
- package/dist/assets/red-DX1BQOs8.js.gz +0 -0
- package/dist/assets/reg-CRGYupPL.js.br +0 -0
- package/dist/assets/reg-CRGYupPL.js.gz +0 -0
- package/dist/assets/regexp-723CALth.js.br +0 -0
- package/dist/assets/regexp-723CALth.js.gz +0 -0
- package/dist/assets/rel-BtDbiS_P.js.br +0 -0
- package/dist/assets/rel-BtDbiS_P.js.gz +0 -0
- package/dist/assets/requirementDiagram-LRYGKXZP-TRTGy9-6.js.br +0 -0
- package/dist/assets/requirementDiagram-LRYGKXZP-TRTGy9-6.js.gz +0 -0
- package/dist/assets/riscv-Ckw8ddFX.js.br +0 -0
- package/dist/assets/riscv-Ckw8ddFX.js.gz +0 -0
- package/dist/assets/rolldown-runtime-C0FnF6B9.js.br +0 -5
- package/dist/assets/rolldown-runtime-C0FnF6B9.js.gz +0 -0
- package/dist/assets/ron-VUp2lXgN.js.br +0 -0
- package/dist/assets/ron-VUp2lXgN.js.gz +0 -0
- package/dist/assets/rose-pine-aMsaMD1D.js.br +0 -0
- package/dist/assets/rose-pine-aMsaMD1D.js.gz +0 -0
- package/dist/assets/rose-pine-dawn-8PwUyIlP.js.br +0 -0
- package/dist/assets/rose-pine-dawn-8PwUyIlP.js.gz +0 -0
- package/dist/assets/rose-pine-moon-DO-qXg-I.js.br +0 -0
- package/dist/assets/rose-pine-moon-DO-qXg-I.js.gz +0 -0
- package/dist/assets/rosmsg-CAekHB0j.js.br +0 -0
- package/dist/assets/rosmsg-CAekHB0j.js.gz +0 -0
- package/dist/assets/rough.esm-Dy-Kn_BL.js.br +0 -0
- package/dist/assets/rough.esm-Dy-Kn_BL.js.gz +0 -0
- package/dist/assets/rst-BLglG3Y_.js.br +0 -0
- package/dist/assets/rst-BLglG3Y_.js.gz +0 -0
- package/dist/assets/ruby-CacEyOQN.js.br +0 -0
- package/dist/assets/ruby-CacEyOQN.js.gz +0 -0
- package/dist/assets/runtime-metadata-persistence-D4a_EoZt.js +0 -1
- package/dist/assets/runtime-metadata-persistence-D4a_EoZt.js.br +0 -0
- package/dist/assets/runtime-metadata-persistence-D4a_EoZt.js.gz +0 -0
- package/dist/assets/rust-Cfkwpbl8.js.br +0 -0
- package/dist/assets/rust-Cfkwpbl8.js.gz +0 -0
- package/dist/assets/sankeyDiagram-W5VNT64P-Hj-Un0bp.js.br +0 -0
- package/dist/assets/sankeyDiagram-W5VNT64P-Hj-Un0bp.js.gz +0 -0
- package/dist/assets/sas-C_K_aNQk.js.br +0 -0
- package/dist/assets/sas-C_K_aNQk.js.gz +0 -0
- package/dist/assets/sass-DXrisJhu.js.br +0 -0
- package/dist/assets/sass-DXrisJhu.js.gz +0 -0
- package/dist/assets/scala-BiFt_7mu.js.br +0 -0
- package/dist/assets/scala-BiFt_7mu.js.gz +0 -0
- package/dist/assets/scheme-DQCgrYNe.js.br +0 -0
- package/dist/assets/scheme-DQCgrYNe.js.gz +0 -0
- package/dist/assets/scss-D2XZndG8.js.br +0 -0
- package/dist/assets/scss-D2XZndG8.js.gz +0 -0
- package/dist/assets/sdbl-bTVj8UrX.js.br +0 -0
- package/dist/assets/sdbl-bTVj8UrX.js.gz +0 -0
- package/dist/assets/sequenceDiagram-SI44F4Z6-iGYyf5AF.js.br +0 -0
- package/dist/assets/sequenceDiagram-SI44F4Z6-iGYyf5AF.js.gz +0 -0
- package/dist/assets/shaderlab-TOUzSsQk.js.br +0 -0
- package/dist/assets/shaderlab-TOUzSsQk.js.gz +0 -0
- package/dist/assets/shellscript-DoDh9O3W.js.br +0 -0
- package/dist/assets/shellscript-DoDh9O3W.js.gz +0 -0
- package/dist/assets/skeletons-Cs1pm-UR.js.br +0 -0
- package/dist/assets/skeletons-Cs1pm-UR.js.gz +0 -0
- package/dist/assets/slack-dark-DnToyrRv.js.br +0 -0
- package/dist/assets/slack-dark-DnToyrRv.js.gz +0 -0
- package/dist/assets/slack-ochin-B2OO5cIa.js.br +0 -0
- package/dist/assets/slack-ochin-B2OO5cIa.js.gz +0 -0
- package/dist/assets/smalltalk-BHpQb5nM.js.br +0 -0
- package/dist/assets/smalltalk-BHpQb5nM.js.gz +0 -0
- package/dist/assets/smithy-Dgaz7aur.js.br +0 -0
- package/dist/assets/smithy-Dgaz7aur.js.gz +0 -0
- package/dist/assets/snazzy-light-4G7pJPwS.js.br +0 -0
- package/dist/assets/snazzy-light-4G7pJPwS.js.gz +0 -0
- package/dist/assets/solarized-dark-UdsmMDCL.js.br +0 -0
- package/dist/assets/solarized-dark-UdsmMDCL.js.gz +0 -0
- package/dist/assets/solarized-light-C1IUL_tW.js.br +0 -0
- package/dist/assets/solarized-light-C1IUL_tW.js.gz +0 -0
- package/dist/assets/solidity-Bj7E1mRn.js.br +0 -0
- package/dist/assets/solidity-Bj7E1mRn.js.gz +0 -0
- package/dist/assets/soy-BDOoR3HV.js.br +0 -0
- package/dist/assets/soy-BDOoR3HV.js.gz +0 -0
- package/dist/assets/sparql-D_iOobhT.js.br +0 -0
- package/dist/assets/sparql-D_iOobhT.js.gz +0 -0
- package/dist/assets/splunk-BC2Px7Mm.js.br +0 -0
- package/dist/assets/splunk-BC2Px7Mm.js.gz +0 -0
- package/dist/assets/sql-DDaoNBOY.js.br +0 -0
- package/dist/assets/sql-DDaoNBOY.js.gz +0 -0
- package/dist/assets/src-0qbDl74X.js.br +0 -0
- package/dist/assets/src-0qbDl74X.js.gz +0 -0
- package/dist/assets/src-B67JaKZf.js.br +0 -0
- package/dist/assets/src-B67JaKZf.js.gz +0 -0
- package/dist/assets/src-BfBcf0cI.js +0 -1
- package/dist/assets/src-BfBcf0cI.js.br +0 -0
- package/dist/assets/src-BfBcf0cI.js.gz +0 -0
- package/dist/assets/src-DndKl5iC.js +0 -19
- package/dist/assets/src-DndKl5iC.js.br +0 -0
- package/dist/assets/src-DndKl5iC.js.gz +0 -0
- package/dist/assets/src-DwpgXgLE.js.br +0 -0
- package/dist/assets/src-DwpgXgLE.js.gz +0 -0
- package/dist/assets/ssh-config-BgfXC-Er.js.br +0 -0
- package/dist/assets/ssh-config-BgfXC-Er.js.gz +0 -0
- package/dist/assets/stata-BfvhQgBh.js.br +0 -0
- package/dist/assets/stata-BfvhQgBh.js.gz +0 -0
- package/dist/assets/stateDiagram-OKZ733FA-B-kn5M6g.js.br +0 -0
- package/dist/assets/stateDiagram-OKZ733FA-B-kn5M6g.js.gz +0 -0
- package/dist/assets/stylus-B6D30XZt.js.br +0 -0
- package/dist/assets/stylus-B6D30XZt.js.gz +0 -0
- package/dist/assets/surrealql-7gu956ad.js.br +0 -0
- package/dist/assets/surrealql-7gu956ad.js.gz +0 -0
- package/dist/assets/svelte-DSCVGEXc.js.br +0 -0
- package/dist/assets/svelte-DSCVGEXc.js.gz +0 -0
- package/dist/assets/swift-CyEgAFGc.js.br +0 -0
- package/dist/assets/swift-CyEgAFGc.js.gz +0 -0
- package/dist/assets/swimlanes-SLNWSIFB-sV1QkjXA.js.br +0 -0
- package/dist/assets/swimlanes-SLNWSIFB-sV1QkjXA.js.gz +0 -0
- package/dist/assets/synthwave-84-nFMaYfgc.js.br +0 -0
- package/dist/assets/synthwave-84-nFMaYfgc.js.gz +0 -0
- package/dist/assets/system-verilog-Dh5ihWbf.js.br +0 -0
- package/dist/assets/system-verilog-Dh5ihWbf.js.gz +0 -0
- package/dist/assets/systemd-BxMlprV5.js.br +0 -0
- package/dist/assets/systemd-BxMlprV5.js.gz +0 -0
- package/dist/assets/talonscript-CohzipZa.js.br +0 -0
- package/dist/assets/talonscript-CohzipZa.js.gz +0 -0
- package/dist/assets/tasl-DMoTqEGO.js.br +0 -0
- package/dist/assets/tasl-DMoTqEGO.js.gz +0 -0
- package/dist/assets/tcl-CZd0xW_V.js.br +0 -0
- package/dist/assets/tcl-CZd0xW_V.js.gz +0 -0
- package/dist/assets/templ-0sZ2htc8.js.br +0 -0
- package/dist/assets/templ-0sZ2htc8.js.gz +0 -0
- package/dist/assets/terraform-DswuEJGm.js.br +0 -0
- package/dist/assets/terraform-DswuEJGm.js.gz +0 -0
- package/dist/assets/tex-nulmLfzO.js.br +0 -0
- package/dist/assets/tex-nulmLfzO.js.gz +0 -0
- package/dist/assets/timeline-definition-Z64GVDOM-DMClsS2j.js.br +0 -0
- package/dist/assets/timeline-definition-Z64GVDOM-DMClsS2j.js.gz +0 -0
- package/dist/assets/tokyo-night-oM2G3aXe.js.br +0 -0
- package/dist/assets/tokyo-night-oM2G3aXe.js.gz +0 -0
- package/dist/assets/toml-CcmNWLt0.js.br +0 -0
- package/dist/assets/toml-CcmNWLt0.js.gz +0 -0
- package/dist/assets/ts-tags-97776d1y.js.br +0 -0
- package/dist/assets/ts-tags-97776d1y.js.gz +0 -0
- package/dist/assets/tsx-D0-aSICp.js.br +0 -0
- package/dist/assets/tsx-D0-aSICp.js.gz +0 -0
- package/dist/assets/turtle-ByJddavk.js.br +0 -0
- package/dist/assets/turtle-ByJddavk.js.gz +0 -0
- package/dist/assets/twig-C13VO0dK.js.br +0 -0
- package/dist/assets/twig-C13VO0dK.js.gz +0 -0
- package/dist/assets/typescript-ITQieXu3.js.br +0 -0
- package/dist/assets/typescript-ITQieXu3.js.gz +0 -0
- package/dist/assets/typespec-BRdr0IET.js.br +0 -0
- package/dist/assets/typespec-BRdr0IET.js.gz +0 -0
- package/dist/assets/typst-1SSu9v36.js.br +0 -0
- package/dist/assets/typst-1SSu9v36.js.gz +0 -0
- package/dist/assets/ui-components-q_9kKTqi.js +0 -72
- package/dist/assets/ui-components-q_9kKTqi.js.br +0 -0
- package/dist/assets/ui-components-q_9kKTqi.js.gz +0 -0
- package/dist/assets/ui-layout-nESZUqD7.js +0 -1
- package/dist/assets/ui-layout-nESZUqD7.js.br +0 -0
- package/dist/assets/ui-layout-nESZUqD7.js.gz +0 -0
- package/dist/assets/use-book-data-BpISrpLC.js.br +0 -0
- package/dist/assets/use-book-data-BpISrpLC.js.gz +0 -0
- package/dist/assets/usePackageL10n-9fP2GgDK.js.br +0 -0
- package/dist/assets/usePackageL10n-9fP2GgDK.js.gz +0 -0
- package/dist/assets/useSettingsLabel-QE1nXNTt.js +0 -1
- package/dist/assets/useSettingsLabel-QE1nXNTt.js.br +0 -0
- package/dist/assets/useSettingsLabel-QE1nXNTt.js.gz +0 -0
- package/dist/assets/utils-CFdPTF34.js +0 -1
- package/dist/assets/utils-CFdPTF34.js.br +0 -0
- package/dist/assets/utils-CFdPTF34.js.gz +0 -0
- package/dist/assets/v-DBj4K9d_.js.br +0 -0
- package/dist/assets/v-DBj4K9d_.js.gz +0 -0
- package/dist/assets/vala-zf12oZj6.js.br +0 -0
- package/dist/assets/vala-zf12oZj6.js.gz +0 -0
- package/dist/assets/vb-DOwzaHZ0.js.br +0 -0
- package/dist/assets/vb-DOwzaHZ0.js.gz +0 -0
- package/dist/assets/vendor-charts-DAI87uet.js.br +0 -0
- package/dist/assets/vendor-charts-DAI87uet.js.gz +0 -0
- package/dist/assets/vendor-dndkit-CQdzTF9d.js.br +0 -0
- package/dist/assets/vendor-dndkit-CQdzTF9d.js.gz +0 -0
- package/dist/assets/vendor-i18n-DeMInx63.js.br +0 -0
- package/dist/assets/vendor-i18n-DeMInx63.js.gz +0 -0
- package/dist/assets/vendor-icons-core-B25E_7o5.js.br +0 -0
- package/dist/assets/vendor-icons-core-B25E_7o5.js.gz +0 -0
- package/dist/assets/vendor-markdown-DjBjpmKk.js.br +0 -0
- package/dist/assets/vendor-markdown-DjBjpmKk.js.gz +0 -0
- package/dist/assets/vendor-objectstack-CVsc1isW.js +0 -186
- package/dist/assets/vendor-objectstack-CVsc1isW.js.br +0 -0
- package/dist/assets/vendor-objectstack-CVsc1isW.js.gz +0 -0
- package/dist/assets/vendor-radix-D1dussIM.js.br +0 -0
- package/dist/assets/vendor-radix-D1dussIM.js.gz +0 -0
- package/dist/assets/vendor-react-BgOXCBVK.js.br +0 -0
- package/dist/assets/vendor-react-BgOXCBVK.js.gz +0 -0
- package/dist/assets/vendor-sentry-DlmtNsBO.js.br +0 -0
- package/dist/assets/vendor-sentry-DlmtNsBO.js.gz +0 -0
- package/dist/assets/vendor-ui-utils-BGw4RtYu.js.br +0 -0
- package/dist/assets/vendor-ui-utils-BGw4RtYu.js.gz +0 -0
- package/dist/assets/vendor-zod-CBDIIwrA.js.br +0 -0
- package/dist/assets/vendor-zod-CBDIIwrA.js.gz +0 -0
- package/dist/assets/vennDiagram-T6HMQDX7-CrP23lgd.js.br +0 -0
- package/dist/assets/vennDiagram-T6HMQDX7-CrP23lgd.js.gz +0 -0
- package/dist/assets/verilog-B2gwz-sJ.js.br +0 -0
- package/dist/assets/verilog-B2gwz-sJ.js.gz +0 -0
- package/dist/assets/vesper-DdrHHSXu.js.br +0 -0
- package/dist/assets/vesper-DdrHHSXu.js.gz +0 -0
- package/dist/assets/vhdl-BroJfC0k.js.br +0 -0
- package/dist/assets/vhdl-BroJfC0k.js.gz +0 -0
- package/dist/assets/viml-DvXPmvsu.js.br +0 -0
- package/dist/assets/viml-DvXPmvsu.js.gz +0 -0
- package/dist/assets/vitesse-black-fwtXNY1n.js.br +0 -0
- package/dist/assets/vitesse-black-fwtXNY1n.js.gz +0 -0
- package/dist/assets/vitesse-dark-BZCL-v6S.js.br +0 -0
- package/dist/assets/vitesse-dark-BZCL-v6S.js.gz +0 -0
- package/dist/assets/vitesse-light-VbXTXTou.js.br +0 -0
- package/dist/assets/vitesse-light-VbXTXTou.js.gz +0 -0
- package/dist/assets/vue-Bq5B5kjG.js.br +0 -0
- package/dist/assets/vue-Bq5B5kjG.js.gz +0 -0
- package/dist/assets/vue-html-d0F-gcUX.js.br +0 -0
- package/dist/assets/vue-html-d0F-gcUX.js.gz +0 -0
- package/dist/assets/vue-vine-C_jSoY9V.js.br +0 -0
- package/dist/assets/vue-vine-C_jSoY9V.js.gz +0 -0
- package/dist/assets/vyper-CgoNMtux.js.br +0 -0
- package/dist/assets/vyper-CgoNMtux.js.gz +0 -0
- package/dist/assets/wardleyDiagram-T6FBY63Y-DSw6poZ6.js.br +0 -0
- package/dist/assets/wardleyDiagram-T6FBY63Y-DSw6poZ6.js.gz +0 -0
- package/dist/assets/wasm-BnjxR4X6.js.br +0 -0
- package/dist/assets/wasm-BnjxR4X6.js.gz +0 -0
- package/dist/assets/wasm-ByWQv1Qj.js.br +0 -0
- package/dist/assets/wasm-ByWQv1Qj.js.gz +0 -0
- package/dist/assets/wenyan-C8pVoKbM.js.br +0 -0
- package/dist/assets/wenyan-C8pVoKbM.js.gz +0 -0
- package/dist/assets/wgsl-BsKzXJz4.js.br +0 -0
- package/dist/assets/wgsl-BsKzXJz4.js.gz +0 -0
- package/dist/assets/wikitext-ClFFjSW2.js.br +0 -0
- package/dist/assets/wikitext-ClFFjSW2.js.gz +0 -0
- package/dist/assets/wit-DdvCle-K.js.br +0 -0
- package/dist/assets/wit-DdvCle-K.js.gz +0 -0
- package/dist/assets/wolfram-DLL8P-h_.js.br +0 -0
- package/dist/assets/wolfram-DLL8P-h_.js.gz +0 -0
- package/dist/assets/xml-BgwO9svv.js.br +0 -0
- package/dist/assets/xml-BgwO9svv.js.gz +0 -0
- package/dist/assets/xsl-Ci-Eh2uW.js.br +0 -0
- package/dist/assets/xsl-Ci-Eh2uW.js.gz +0 -0
- package/dist/assets/xychartDiagram-ELKLHX3M-BVUFqBDL.js.br +0 -0
- package/dist/assets/xychartDiagram-ELKLHX3M-BVUFqBDL.js.gz +0 -0
- package/dist/assets/yaml-BnkSoqfe.js.br +0 -0
- package/dist/assets/yaml-BnkSoqfe.js.gz +0 -0
- package/dist/assets/zenscript-BnlCZFoB.js.br +0 -0
- package/dist/assets/zenscript-BnlCZFoB.js.gz +0 -0
- package/dist/assets/zig-CMLA9XwU.js.br +0 -0
- package/dist/assets/zig-CMLA9XwU.js.gz +0 -0
- package/dist/index.html.br +0 -0
- package/dist/index.html.gz +0 -0
- package/dist/stats.html +0 -4950
- package/dist/vite.svg.br +0 -0
- package/dist/vite.svg.gz +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t,r as n,t as r,y as i}from"./vendor-react-BgOXCBVK.js";import{$n as a,Ar as o,Q as s,Tn as c,Wn as l,Yn as u,Z as d,Zn as f,bt as p,v as m}from"./framework-B8ndNKrd.js";import{Ba as h,Co as g,Do as _,Ea as v,Eo as y,Es as b,Fs as x,Ga as S,Go as C,Ia as w,Ii as T,Jc as E,Ki as D,Ko as O,Ls as k,Mi as A,Na as j,Ns as ee,Oa as M,Oo as N,Qa as P,Ro as F,Sa as I,Sc as te,Si as L,To as R,Ua as ne,Us as re,Va as z,Vc as ie,Vo as ae,Xo as oe,Xr as se,Zr as ce,_c as le,_i as ue,bi as B,bo as de,bs as V,ci as fe,da as pe,dc as me,do as he,ei as ge,eo as H,fc as _e,fo as ve,gi as ye,go as be,hi as xe,ia as Se,ja as Ce,ji as we,js as Te,ks as Ee,ls as De,mc as Oe,ol as ke,pc as Ae,pi as je,qo as Me,ro as Ne,rs as Pe,uc as Fe,uo as Ie,vi as Le,wc as Re,wo as ze,xc as Be,xs as Ve,ya as He,za as Ue,zi as We}from"./ui-components-mPgY5chB.js";import{a as U,o as W,r as G}from"./vendor-ui-utils-BGw4RtYu.js";import"./data-adapter-yS4exRPT.js";import{n as Ge,r as Ke}from"./plugin-form-Bv0Hi0E6.js";import{i as qe}from"./plugin-grid-gHcTrjs3.js";var K=e(i(),1);function Je(e){return e||(typeof window<`u`&&window.sessionStorage?window.sessionStorage:null)}function Ye(e,t={}){let{maxHistory:n=50,persistKey:r,storage:i}=t,a=Je(i),o=(()=>{if(!r||!a)return null;try{let e=a.getItem(r);if(!e)return null;let t=JSON.parse(e);if(t&&t.v===1&&Array.isArray(t.past)&&Array.isArray(t.future))return t}catch{}return null})(),[s,c]=(0,K.useState)(o?.current??e),l=(0,K.useRef)(o?.past??[]),u=(0,K.useRef)(o?.future??[]),[,d]=(0,K.useState)(0),f=(0,K.useCallback)(()=>d(e=>e+1),[]);(0,K.useEffect)(()=>{if(!(!r||!a))try{let e={v:1,past:l.current,current:s,future:u.current};a.setItem(r,JSON.stringify(e))}catch{}},[s,r,a]);let p=(0,K.useCallback)(e=>{c(t=>(l.current=[...l.current.slice(-(n-1)),t],u.current=[],e)),f()},[n,f]),m=(0,K.useCallback)(()=>{l.current.length!==0&&(c(e=>{let t=[...l.current],n=t.pop();return l.current=t,u.current=[e,...u.current],n}),f())},[f]),h=(0,K.useCallback)(()=>{u.current.length!==0&&(c(e=>{let t=[...u.current],n=t.shift();return u.current=t,l.current=[...l.current,e],n}),f())},[f]),g=(0,K.useCallback)(e=>{l.current=[],u.current=[],c(e),f()},[f]),_=(0,K.useCallback)(()=>{if(!(!r||!a))try{a.removeItem(r)}catch{}},[r,a]),v=(0,K.useCallback)(e=>{let t=l.current.length+1+u.current.length;e<0||e>=t||e!==l.current.length&&(c(t=>{let n=[...l.current,t,...u.current],r=n[e];return l.current=n.slice(0,e),u.current=n.slice(e+1),r}),f())},[f]);return{current:s,canUndo:l.current.length>0,canRedo:u.current.length>0,undoCount:l.current.length,redoCount:u.current.length,timeline:[...l.current,s,...u.current],currentIndex:l.current.length,push:p,undo:m,redo:h,reset:g,jumpTo:v,clearPersisted:_}}function Xe(){let[e,t]=(0,K.useState)(!1),[n,r]=(0,K.useState)(``),[i,a]=(0,K.useState)(``),o=(0,K.useRef)(null);return{isOpen:e,title:n,message:i,confirm:(0,K.useCallback)((e,n)=>(r(e),a(n),t(!0),new Promise(e=>{o.current=e})),[]),onConfirm:(0,K.useCallback)(()=>{t(!1),o.current?.(!0),o.current=null},[]),onCancel:(0,K.useCallback)(()=>{t(!1),o.current?.(!1),o.current=null},[])}}function Ze(){let[e,t]=(0,K.useState)(new Set);return{selectedIds:e,toggle:(0,K.useCallback)((e,n=!1)=>{t(t=>{let r=new Set(n?t:[]);return t.has(e)&&n?r.delete(e):r.add(e),r})},[]),selectOne:(0,K.useCallback)(e=>{t(new Set([e]))},[]),selectMany:(0,K.useCallback)(e=>{t(new Set(e))},[]),clearSelection:(0,K.useCallback)(()=>{t(new Set)},[]),isSelected:(0,K.useCallback)(t=>e.has(t),[e]),count:e.size}}function Qe(){let[e,t]=(0,K.useState)(null);return{clipboard:e,copy:(0,K.useCallback)(e=>{t(structuredClone(e))},[]),paste:(0,K.useCallback)(()=>e?structuredClone(e):null,[e]),hasContent:e!==null}}function $e(e={}){let{minZoom:t=.25,maxZoom:n=3,zoomStep:r=.1,initialZoom:i=1}=e,[a,o]=(0,K.useState)(i),[s,c]=(0,K.useState)({x:0,y:0}),l=(0,K.useRef)(!1),u=(0,K.useRef)({x:0,y:0}),d=(0,K.useCallback)(e=>Math.min(n,Math.max(t,+e.toFixed(2))),[t,n]);return{zoom:a,panOffset:s,zoomIn:(0,K.useCallback)(()=>o(e=>d(e+r)),[d,r]),zoomOut:(0,K.useCallback)(()=>o(e=>d(e-r)),[d,r]),resetZoom:(0,K.useCallback)(()=>{o(1),c({x:0,y:0})},[]),setZoom:(0,K.useCallback)(e=>o(d(e)),[d]),handleWheel:(0,K.useCallback)(e=>{if(e.ctrlKey||e.metaKey){e.preventDefault();let t=e.deltaY>0?-r:r;o(e=>d(e+t))}},[d,r]),startPan:(0,K.useCallback)(e=>{if(e.button===1||e.button===0&&e.altKey){e.preventDefault(),l.current=!0,u.current={x:e.clientX,y:e.clientY};let t=e=>{if(!l.current)return;let t=e.clientX-u.current.x,n=e.clientY-u.current.y;u.current={x:e.clientX,y:e.clientY},c(e=>({x:e.x+t,y:e.y+n}))},n=()=>{l.current=!1,document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)}},[]),transformStyle:{transform:`translate(${s.x}px, ${s.y}px) scale(${a})`,transformOrigin:`0 0`}}}var q=n();function et(...e){return U(W(e))}function tt({isOpen:e,title:t,message:n,confirmLabel:r=`Delete`,cancelLabel:i=`Cancel`,destructive:a=!0,onConfirm:o,onCancel:s}){let c=(0,K.useRef)(null);return(0,K.useEffect)(()=>{let t=c.current;t&&(e&&!t.open?t.showModal():!e&&t.open&&t.close())},[e]),e?(0,q.jsx)(`dialog`,{ref:c,className:`fixed inset-0 z-50 m-auto rounded-lg border bg-background p-0 shadow-lg backdrop:bg-black/50`,onClose:s,"aria-labelledby":`confirm-title`,"aria-describedby":`confirm-message`,children:(0,q.jsxs)(`div`,{className:`w-80 p-6`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[a&&(0,q.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-full bg-destructive/10`,children:(0,q.jsx)(ue,{className:`h-5 w-5 text-destructive`})}),(0,q.jsx)(`h2`,{id:`confirm-title`,className:`text-lg font-semibold`,children:t})]}),(0,q.jsx)(`p`,{id:`confirm-message`,className:`text-sm text-muted-foreground mb-6`,children:n}),(0,q.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:s,className:`px-4 py-2 text-sm rounded-md border hover:bg-accent`,children:i}),(0,q.jsx)(`button`,{type:`button`,onClick:o,className:et(`px-4 py-2 text-sm rounded-md font-medium`,a?`bg-destructive text-destructive-foreground hover:bg-destructive/90`:`bg-primary text-primary-foreground hover:bg-primary/90`),autoFocus:!0,children:r})]})]})}):null}function nt(...e){return U(W(e))}function rt({title:e=`Properties`,fields:t,onChange:n,className:r}){let[i,a]=(0,K.useState)(new Set),o=(0,K.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),s=t.reduce((e,t)=>{let n=t.group??`General`;return e[n]||(e[n]=[]),e[n].push(t),e},{});return(0,q.jsxs)(`div`,{className:nt(`flex flex-col`,r),role:`region`,"aria-label":e,children:[(0,q.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:e}),(0,q.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[Object.entries(s).map(([e,t])=>(0,q.jsxs)(`div`,{className:`border-b last:border-b-0`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>o(e),className:`w-full flex items-center gap-1 px-3 py-2 text-xs font-medium text-muted-foreground hover:bg-accent/50`,children:[i.has(e)?(0,q.jsx)(me,{className:`h-3 w-3`}):(0,q.jsx)(Ae,{className:`h-3 w-3`}),e]}),!i.has(e)&&(0,q.jsx)(`div`,{className:`px-3 pb-2 space-y-2`,children:t.map(e=>(0,q.jsx)(it,{field:e,onChange:n},e.name))})]},e)),t.length===0&&(0,q.jsx)(`div`,{className:`p-3 text-xs text-muted-foreground text-center`,children:`Select an element to edit its properties`})]})]})}function it({field:e,onChange:t}){let n=n=>{t(e.name,n)};return(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e.label}),e.type===`text`&&(0,q.jsx)(`input`,{type:`text`,value:String(e.value??``),onChange:e=>n(e.target.value),className:`w-full px-2 py-1 text-xs border rounded bg-background`}),e.type===`number`&&(0,q.jsx)(`input`,{type:`number`,value:Number(e.value??0),onChange:e=>n(Number(e.target.value)),className:`w-full px-2 py-1 text-xs border rounded bg-background`}),e.type===`boolean`&&(0,q.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:!!e.value,onChange:e=>n(e.target.checked),className:`rounded`}),(0,q.jsx)(`span`,{className:`text-xs`,children:e.value?`Yes`:`No`})]}),e.type===`select`&&(0,q.jsx)(`select`,{value:String(e.value??``),onChange:e=>n(e.target.value),className:`w-full px-2 py-1 text-xs border rounded bg-background`,children:e.options?.map(e=>(0,q.jsx)(`option`,{value:e.value,children:e.label},e.value))}),e.type===`color`&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{type:`color`,value:String(e.value??`#000000`),onChange:e=>n(e.target.value),className:`h-6 w-6 rounded border cursor-pointer`}),(0,q.jsx)(`span`,{className:`text-xs font-mono`,children:String(e.value??`#000000`)})]}),e.type===`textarea`&&(0,q.jsx)(`textarea`,{value:String(e.value??``),onChange:e=>n(e.target.value),className:`w-full px-2 py-1 text-xs border rounded bg-background resize-y`,rows:3}),e.description&&(0,q.jsx)(`p`,{className:`text-[0.65rem] text-muted-foreground/70`,children:e.description})]})}function at(...e){return U(W(e))}function ot({items:e,canvasWidth:t,canvasHeight:n,position:r=`bottom-right`,size:i=150,className:a}){let o=Math.min(i/t,i/n),s=t*o,c=n*o;return(0,q.jsx)(`div`,{className:at(`absolute border rounded bg-background/90 shadow-sm overflow-hidden`,{"top-left":`top-2 left-2`,"top-right":`top-2 right-2`,"bottom-left":`bottom-2 left-2`,"bottom-right":`bottom-2 right-2`}[r],a),role:`img`,"aria-label":`Canvas minimap`,children:(0,q.jsxs)(`svg`,{width:s,height:c,viewBox:`0 0 ${t} ${n}`,children:[(0,q.jsx)(`rect`,{width:t,height:n,fill:`hsl(var(--muted))`,opacity:`0.3`}),e.map(e=>(0,q.jsx)(`rect`,{x:e.x,y:e.y,width:e.width,height:e.height,fill:e.selected?`hsl(var(--primary))`:e.color??`hsl(var(--foreground) / 0.3)`,rx:`2`},e.id))]})})}var st=(0,K.createContext)(null);st.displayName=`CollaborationContext`;function ct(){return(0,K.useContext)(st)}function J(...e){return U(W(e))}function lt({canvas:e={width:1200,height:800,gridSize:8,showGrid:!0,snapToGrid:!0},components:t=[],palette:n=ut,showComponentTree:r=!0,undoRedo:i=!0,propertyEditor:a=!0,readOnly:o=!1,showMinimap:s=!1,onChange:c,className:l}){let u=Ye(t),d=u.current,f=(0,K.useCallback)(e=>{u.push(e),c?.(e)},[u,c]),p=$e({initialZoom:e.zoom??1}),{zoom:m}=p,g=Ze(),_=(0,K.useMemo)(()=>{let e=Array.from(g.selectedIds);return e.length>0?e[0]:null},[g.selectedIds]),y=(0,K.useMemo)(()=>d.find(e=>e.id===_),[d,_]),b=Qe(),x=Xe(),S=ct(),w=(0,K.useCallback)(e=>{S&&S.sendOperation({...e,userId:S.currentUserId??``})},[S]),[T,E]=(0,K.useState)(!0),[D,O]=(0,K.useState)(!0),[k,A]=(0,K.useState)(s),j=(0,K.useRef)(null),M=(0,K.useRef)(null),P=(0,K.useCallback)(t=>!e.snapToGrid||!e.gridSize?t:Math.round(t/e.gridSize)*e.gridSize,[e.snapToGrid,e.gridSize]),F=(0,K.useCallback)((e,t)=>{if(o)return;let r=n.flatMap(e=>e.items).find(t=>t.type===e),i=r?.defaultSize,a={id:`comp-${Date.now()}`,type:e,label:t,position:{x:100,y:100,width:i?.width??200,height:i?.height??100},props:r?.defaultProps??{}},s=[...d,a];f(s),g.selectOne(a.id),w({type:`insert`,elementId:a.id,data:{component:a}})},[d,o,n,f,g,w]),I=(0,K.useCallback)(e=>{if(o)return;let t=d.filter(t=>t.id!==e);f(t),g.isSelected(e)&&g.clearSelection(),w({type:`delete`,elementId:e,data:{}})},[d,o,f,g,w]),te=(0,K.useCallback)(async()=>{if(o||g.count===0||!await x.confirm(`Delete components`,`Are you sure you want to delete ${g.count} component${g.count>1?`s`:``}?`))return;let e=g.selectedIds,t=d.filter(t=>!e.has(t.id));f(t),g.clearSelection(),e.forEach(e=>{w({type:`delete`,elementId:e,data:{}})})},[o,g,x,d,f,w]),L=(0,K.useCallback)((e,t)=>{if(o||!_)return;let n=d.map(n=>n.id===_?e===`label`?{...n,label:String(t)}:e===`x`?{...n,position:{...n.position,x:Number(t)}}:e===`y`?{...n,position:{...n.position,y:Number(t)}}:e===`width`?{...n,position:{...n.position,width:Number(t)}}:e===`height`?{...n,position:{...n.position,height:Number(t)}}:{...n,props:{...n.props,[e]:t}}:n);f(n),w({type:`update`,elementId:_,data:{[e]:t}})},[o,_,d,f,w]),R=(0,K.useCallback)(()=>{let e=g.selectedIds;if(e.size===0)return;let t=d.filter(t=>e.has(t.id));b.copy(t)},[g,d,b]),z=(0,K.useCallback)(()=>{if(o)return;let e=b.paste();if(!e||e.length===0)return;let t=0,n=e.map(e=>({...e,id:`comp-${Date.now()}-${++t}-${Math.random().toString(36).slice(2,7)}`,position:{...e.position,x:e.position.x+20,y:e.position.y+20}})),r=[...d,...n];f(r),g.selectMany(n.map(e=>e.id)),n.forEach(e=>{w({type:`insert`,elementId:e.id,data:{component:e}})})},[o,b,d,f,g,w]),ie=(0,K.useCallback)((e,t)=>{o||(j.current={id:t.id,startX:e.clientX,startY:e.clientY},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},[o]),ae=(0,K.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),oe=(0,K.useCallback)(e=>{e.preventDefault();let t=j.current;if(!t||o)return;let n=(e.clientX-t.startX)/m,r=(e.clientY-t.startY)/m,i=d.map(e=>e.id===t.id?{...e,position:{...e.position,x:P(e.position.x+n),y:P(e.position.y+r)}}:e);f(i),w({type:`move`,elementId:t.id,data:{}}),j.current=null},[o,m,d,f,P,w]),se=(0,K.useMemo)(()=>y?[{name:`label`,label:`Label`,type:`text`,value:y.label??``,group:`General`},{name:`x`,label:`X`,type:`number`,value:y.position.x,group:`Position`},{name:`y`,label:`Y`,type:`number`,value:y.position.y,group:`Position`},{name:`width`,label:`Width`,type:`number`,value:y.position.width,group:`Size`},{name:`height`,label:`Height`,type:`number`,value:y.position.height,group:`Size`}]:[],[y]),ce=(0,K.useMemo)(()=>d.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:typeof e.position.width==`number`?e.position.width:100,height:typeof e.position.height==`number`?e.position.height:50,selected:g.isSelected(e.id)})),[d,g]);return(0,K.useEffect)(()=>{let e=M.current;if(!e)return;let t=e=>{let t=[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.target.tagName),n=e.ctrlKey||e.metaKey;if((e.key===`Delete`||e.key===`Backspace`)&&g.count>0&&!t){e.preventDefault(),te();return}if(e.key===`Escape`){g.clearSelection();return}if(!t){if(n&&e.key===`z`&&!e.shiftKey&&i&&!o){e.preventDefault(),u.undo();return}if(n&&(e.key===`z`&&e.shiftKey||e.key===`y`)&&i&&!o){e.preventDefault(),u.redo();return}if(n&&e.key===`c`){e.preventDefault(),R();return}if(n&&e.key===`v`&&!o){e.preventDefault(),z();return}if(n&&e.key===`a`){e.preventDefault(),g.selectMany(d.map(e=>e.id));return}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[g,te,i,o,u,R,z,d]),(0,q.jsxs)(`div`,{ref:M,tabIndex:0,className:J(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,l),children:[!o&&(0,q.jsx)(`div`,{className:J(`border-r bg-muted/30 flex flex-col transition-[width] duration-200`,T?`w-60`:`w-0 overflow-hidden`),role:`region`,"aria-label":`Component palette`,children:T&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:`Components`}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2`,children:n.map(e=>(0,q.jsxs)(`div`,{className:`mb-3`,children:[(0,q.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground px-2 py-1 uppercase`,children:e.label}),e.items.map(e=>(0,q.jsxs)(`button`,{type:`button`,onClick:()=>F(e.type,e.label),className:`w-full flex items-center gap-2 px-2 py-1.5 text-sm rounded hover:bg-accent text-left`,children:[(0,q.jsx)(v,{className:`h-3 w-3`}),e.label]},e.type))]},e.name))})]})}),(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/20`,role:`toolbar`,"aria-label":`Designer toolbar`,children:[!o&&(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:T?`Collapse palette`:`Expand palette`,"aria-label":T?`Collapse palette`:`Expand palette`,onClick:()=>E(e=>!e),children:(0,q.jsx)(ne,{className:J(`h-4 w-4`,!T&&`rotate-180`)})}),i&&!o&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,!u.canUndo&&`opacity-40 pointer-events-none`),title:`Undo (Ctrl+Z)`,"aria-label":`Undo`,disabled:!u.canUndo,onClick:()=>u.undo(),children:(0,q.jsx)(xe,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,!u.canRedo&&`opacity-40 pointer-events-none`),title:`Redo (Ctrl+Shift+Z)`,"aria-label":`Redo`,disabled:!u.canRedo,onClick:()=>u.redo(),children:(0,q.jsx)(He,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!o&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,g.count===0&&`opacity-40 pointer-events-none`),title:`Copy (Ctrl+C)`,"aria-label":`Copy`,disabled:g.count===0,onClick:R,children:(0,q.jsx)(ee,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,!b.hasContent&&`opacity-40 pointer-events-none`),title:`Paste (Ctrl+V)`,"aria-label":`Paste`,disabled:!b.hasContent,onClick:z,children:(0,q.jsx)(re,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!o&&(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,g.count===0&&`opacity-40 pointer-events-none`),title:`Delete selected`,"aria-label":`Delete selected`,disabled:g.count===0,onClick:te,children:(0,q.jsx)(B,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:`Preview`,"aria-label":`Preview`,children:(0,q.jsx)(V,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:J(`p-1.5 rounded hover:bg-accent`,k&&`bg-accent`),title:`Toggle minimap`,"aria-label":`Toggle minimap`,onClick:()=>A(e=>!e),children:(0,q.jsx)(he,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`flex-1`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Zoom out`,onClick:p.zoomOut,children:(0,q.jsx)(Ne,{className:`h-3 w-3`})}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground w-10 text-center`,children:[Math.round(m*100),`%`]}),(0,q.jsx)(`button`,{type:`button`,className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Zoom in`,onClick:p.zoomIn,children:(0,q.jsx)(v,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Reset zoom`,onClick:p.resetZoom,children:(0,q.jsx)(Ie,{className:`h-3 w-3`})})]}),r&&(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:D?`Collapse panel`:`Expand panel`,"aria-label":D?`Collapse panel`:`Expand panel`,onClick:()=>O(e=>!e),children:(0,q.jsx)(h,{className:J(`h-4 w-4`,!D&&`rotate-180`)})})]}),(0,q.jsx)(`div`,{className:`flex-1 overflow-auto bg-muted/10 p-4 relative`,role:`region`,"aria-label":`Design canvas`,onWheel:p.handleWheel,onMouseDown:p.startPan,onDragOver:ae,onDrop:oe,children:(0,q.jsxs)(`div`,{className:`relative bg-background border rounded shadow-sm mx-auto`,style:{width:e.width*m,height:e.height*m,transform:`translate(${p.panOffset.x}px, ${p.panOffset.y}px)`,backgroundImage:e.showGrid?`radial-gradient(circle, hsl(var(--border)) 1px, transparent 1px)`:void 0,backgroundSize:e.showGrid&&e.gridSize?`${e.gridSize*m}px ${e.gridSize*m}px`:void 0},children:[d.map(e=>{let t=g.isSelected(e.id);return(0,q.jsxs)(`div`,{draggable:!o,onDragStart:t=>ie(t,e),className:J(`absolute border rounded cursor-move select-none transition-shadow`,t?`border-primary ring-2 ring-primary/20 shadow-md`:`border-border hover:border-primary/50`),style:{left:e.position.x*m,top:e.position.y*m,width:typeof e.position.width==`number`?e.position.width*m:e.position.width,height:typeof e.position.height==`number`?e.position.height*m:e.position.height},onClick:t=>g.toggle(e.id,t.shiftKey),children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 text-xs border-b`,children:[(0,q.jsx)(C,{className:`h-3 w-3 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`truncate`,children:e.label??e.type}),!o&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),I(e.id)},className:`ml-auto p-0.5 rounded hover:bg-destructive/10`,"aria-label":`Delete ${e.label??e.type}`,children:(0,q.jsx)(B,{className:`h-3 w-3 text-destructive`})})]}),(0,q.jsx)(`div`,{className:`p-2 text-xs text-muted-foreground`,children:e.type})]},e.id)}),k&&(0,q.jsx)(ot,{items:ce,canvasWidth:e.width,canvasHeight:e.height})]})})]}),r&&(0,q.jsx)(`div`,{className:J(`border-l bg-muted/30 flex flex-col transition-[width] duration-200`,D?`w-60`:`w-0 overflow-hidden`),role:`region`,"aria-label":`Component tree`,children:D&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`p-3 border-b font-medium text-sm flex items-center gap-2`,children:[(0,q.jsx)(N,{className:`h-4 w-4`}),`Component Tree`]}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2`,children:d.length===0?(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground text-center py-4`,children:`No components added yet. Click a component in the palette to add it to the canvas.`}):d.map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:t=>g.toggle(e.id,t.shiftKey),className:J(`w-full flex items-center gap-2 px-2 py-1.5 text-sm rounded text-left`,g.isSelected(e.id)?`bg-accent`:`hover:bg-accent/50`),children:(0,q.jsx)(`span`,{className:`truncate`,children:e.label??e.type})},e.id))}),a&&y?(0,q.jsx)(`div`,{className:`border-t`,children:(0,q.jsx)(rt,{title:`Properties – ${y.label??y.type}`,fields:se,onChange:L})}):y&&(0,q.jsxs)(`div`,{className:`border-t p-3`,children:[(0,q.jsx)(`div`,{className:`text-xs font-medium mb-2`,children:`Properties`}),(0,q.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-1`,children:[(0,q.jsxs)(`div`,{children:[`Type: `,y.type]}),(0,q.jsxs)(`div`,{children:[`ID: `,y.id]}),(0,q.jsxs)(`div`,{children:[`Position: `,y.position.x,`,`,` `,y.position.y]}),(0,q.jsxs)(`div`,{children:[`Size: `,y.position.width,` ×`,` `,y.position.height]})]})]})]})}),(0,q.jsx)(tt,{isOpen:x.isOpen,title:x.title,message:x.message,onConfirm:x.onConfirm,onCancel:x.onCancel})]})}var ut=[{name:`layout`,label:`Layout`,items:[{type:`container`,label:`Container`,defaultSize:{width:400,height:300}},{type:`flex`,label:`Flex`,defaultSize:{width:400,height:200}},{type:`grid`,label:`Grid`,defaultSize:{width:400,height:300}},{type:`card`,label:`Card`,defaultSize:{width:300,height:200}},{type:`tabs`,label:`Tabs`,defaultSize:{width:400,height:300}}]},{name:`form`,label:`Form`,items:[{type:`input`,label:`Input`,defaultSize:{width:300,height:60}},{type:`textarea`,label:`Textarea`,defaultSize:{width:300,height:120}},{type:`select`,label:`Select`,defaultSize:{width:300,height:60}},{type:`checkbox`,label:`Checkbox`,defaultSize:{width:200,height:40}},{type:`button`,label:`Button`,defaultSize:{width:120,height:40}}]},{name:`data`,label:`Data`,items:[{type:`table`,label:`Table`,defaultSize:{width:600,height:400}},{type:`chart`,label:`Chart`,defaultSize:{width:400,height:300}},{type:`list`,label:`List`,defaultSize:{width:300,height:400}},{type:`statistic`,label:`Statistic`,defaultSize:{width:200,height:100}}]}];function dt(e,t={}){return Ye(e,t)}function ft(...e){return U(W(e))}var pt=[`text`,`number`,`boolean`,`date`,`datetime`,`uuid`,`email`,`url`,`phone`,`json`,`integer`,`float`,`decimal`,`currency`,`percent`,`textarea`,`select`,`multiselect`,`lookup`,`attachment`,`formula`,`autonumber`];function mt(e,t=4,n=280,r=250,i=50,a=50){return e.map((e,o)=>({...e,position:{x:i+o%t*n,y:a+Math.floor(o/t)*r}}))}function ht({entities:e=[],relationships:t=[],canvas:n={width:1200,height:800,showGrid:!0},showRelationshipLabels:r=!0,readOnly:i=!1,onEntitiesChange:a,onRelationshipsChange:o,className:s}){let c=(0,K.useRef)(null),l=dt({entities:e,relationships:t},{maxHistory:50}),{entities:u,relationships:d}=l.current,f=(0,K.useCallback)(e=>{l.push(e),a?.(e.entities),o?.(e.relationships)},[l,a,o]),p=Xe(),m=Ze(),h=m.count>0?Array.from(m.selectedIds)[0]:null,g=Qe(),_=$e({minZoom:.25,maxZoom:3,zoomStep:.1}),y=ct(),[b,x]=(0,K.useState)(!0),[S,C]=(0,K.useState)(!0),[w,T]=(0,K.useState)(null),[E,D]=(0,K.useState)(``),[k,A]=(0,K.useState)(null),[j,M]=(0,K.useState)(``),N=(0,K.useRef)(null),P=(0,K.useCallback)(()=>{if(i)return;let e=l.current,t={id:`entity-${Date.now()}`,name:`new_entity_${e.entities.length+1}`,label:`New Entity ${e.entities.length+1}`,fields:[{name:`id`,type:`uuid`,primaryKey:!0,required:!0},{name:`created_at`,type:`datetime`,required:!0},{name:`updated_at`,type:`datetime`,required:!0}],position:{x:50+e.entities.length%4*280,y:50+Math.floor(e.entities.length/4)*250}},n={entities:[...e.entities,t],relationships:e.relationships};f(n),m.selectOne(t.id),y?.sendOperation({type:`insert`,userId:y?.currentUserId??``,elementId:t.id,data:{name:t.name,label:t.label}})},[i,l,f,m,y]),F=(0,K.useCallback)(async e=>{if(i)return;let t=u.find(t=>t.id===e);if(!await p.confirm(`Delete Entity`,`Are you sure you want to delete "${t?.label??e}"? This action cannot be undone.`))return;let n=l.current,r={entities:n.entities.filter(t=>t.id!==e),relationships:n.relationships.filter(t=>t.sourceEntity!==e&&t.targetEntity!==e)};f(r),m.isSelected(e)&&m.clearSelection(),y?.sendOperation({type:`delete`,userId:y?.currentUserId??``,elementId:e,data:{}})},[i,u,p,l,f,m,y]),I=(0,K.useCallback)(async()=>{if(i||m.count===0)return;let e=Array.from(m.selectedIds);if(!await p.confirm(`Delete Entities`,`Are you sure you want to delete ${e.length} selected entity(s)? This action cannot be undone.`))return;let t=l.current,n=new Set(e),r={entities:t.entities.filter(e=>!n.has(e.id)),relationships:t.relationships.filter(e=>!n.has(e.sourceEntity)&&!n.has(e.targetEntity))};f(r),m.clearSelection()},[i,m,p,l,f]),te=(0,K.useCallback)(()=>{if(i)return;let e=l.current,t={entities:mt(e.entities),relationships:e.relationships};f(t)},[i,l,f]),L=(0,K.useCallback)(()=>{let e=u.filter(e=>m.isSelected(e.id));e.length>0&&g.copy(e)},[u,m,g]),R=(0,K.useCallback)(()=>{if(i)return;let e=g.paste();if(!e||e.length===0)return;let t=l.current,n=e.map((e,t)=>({...e,id:`entity-${Date.now()}-${t}`,name:`${e.name}_copy`,label:`${e.label} (Copy)`,position:{x:e.position.x+30,y:e.position.y+30}})),r={entities:[...t.entities,...n],relationships:t.relationships};f(r),m.selectMany(n.map(e=>e.id))},[i,g,l,f,m]),ne=(0,K.useCallback)(e=>{if(i)return;let t=l.current,n={entities:t.entities.map(t=>{if(t.id!==e)return t;let n={name:`field_${t.fields.length+1}`,type:`text`,required:!1};return{...t,fields:[...t.fields,n]}}),relationships:t.relationships};f(n)},[i,l,f]),z=(0,K.useCallback)((e,t,n)=>{i||(T({entityId:e,fieldIndex:t}),D(n))},[i]),ie=(0,K.useCallback)(()=>{if(!w)return;let e=E.trim();if(e===``){T(null);return}let t=l.current,n={entities:t.entities.map(t=>{if(t.id!==w.entityId)return t;let n=t.fields.map((t,n)=>n===w.fieldIndex?{...t,name:e}:t);return{...t,fields:n}}),relationships:t.relationships};f(n),T(null)},[w,E,l,f]),ae=(0,K.useCallback)(()=>{T(null)},[]),oe=(0,K.useCallback)((e,t)=>{i||(A(e),M(t))},[i]),le=(0,K.useCallback)(()=>{if(!k)return;let e=j.trim();if(e===``){A(null);return}let t=l.current,n={entities:t.entities.map(t=>t.id===k?{...t,label:e}:t),relationships:t.relationships};f(n),A(null)},[k,j,l,f]),ue=(0,K.useCallback)(()=>{A(null)},[]),de=(0,K.useCallback)((e,t,n)=>{if(i)return;let r=l.current,a={entities:r.entities.map(r=>{if(r.id!==e)return r;let i=r.fields.map((e,r)=>r===t?{...e,type:n}:e);return{...r,fields:i}}),relationships:r.relationships};f(a)},[i,l,f]),V=(0,K.useCallback)((e,t)=>{if(i||!u.find(e=>e.id===t))return;let n=e.target.getBoundingClientRect();N.current={entityId:t,offsetX:e.clientX-n.left,offsetY:e.clientY-n.top},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},[i,u]),he=(0,K.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),ge=(0,K.useCallback)(e=>{if(e.preventDefault(),!N.current)return;let t=e.currentTarget.getBoundingClientRect(),n=_.zoom,r=(e.clientX-t.left-_.panOffset.x)/n-N.current.offsetX,i=(e.clientY-t.top-_.panOffset.y)/n-N.current.offsetY,a=l.current,o={entities:a.entities.map(e=>e.id===N.current.entityId?{...e,position:{x:Math.max(0,Math.round(r)),y:Math.max(0,Math.round(i))}}:e),relationships:a.relationships};f(o),N.current=null},[_.zoom,_.panOffset,l,f]),H=h?u.find(e=>e.id===h):null,_e=H?[{name:`name`,label:`Name`,type:`text`,value:H.name,group:`General`},{name:`label`,label:`Label`,type:`text`,value:H.label,group:`General`},{name:`description`,label:`Description`,type:`textarea`,value:H.description??``,group:`General`},{name:`color`,label:`Color`,type:`color`,value:H.color??`#3b82f6`,group:`Appearance`},{name:`position.x`,label:`X Position`,type:`number`,value:H.position.x,group:`Position`},{name:`position.y`,label:`Y Position`,type:`number`,value:H.position.y,group:`Position`}]:[],ve=(0,K.useCallback)((e,t)=>{if(!h)return;let n=l.current,r={entities:n.entities.map(n=>n.id===h?e===`position.x`?{...n,position:{...n.position,x:Number(t)}}:e===`position.y`?{...n,position:{...n.position,y:Number(t)}}:{...n,[e]:t}:n),relationships:n.relationships};f(r)},[h,l,f]);(0,K.useEffect)(()=>{let e=c.current;if(!e)return;let t=e=>{let t=e.target.tagName;if(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`)return;let n=e.ctrlKey||e.metaKey;n&&e.key===`z`?(e.preventDefault(),l.undo()):n&&(e.key===`y`||e.shiftKey&&e.key===`Z`)?(e.preventDefault(),l.redo()):n&&e.key===`c`?(e.preventDefault(),L()):n&&e.key===`v`?(e.preventDefault(),R()):(e.key===`Delete`||e.key===`Backspace`)&&m.count>0?(e.preventDefault(),I()):e.key===`Escape`&&(m.clearSelection(),T(null),A(null))};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[l,L,R,I,m]);let ye=u.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:240,height:40+e.fields.length*24,color:e.color,selected:m.isSelected(e.id)}));return(0,q.jsxs)(`div`,{ref:c,tabIndex:0,className:ft(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,s),children:[(0,q.jsxs)(`div`,{className:`flex flex-col flex-1 min-w-0`,children:[(0,q.jsxs)(`div`,{role:`toolbar`,"aria-label":`Designer toolbar`,className:`flex items-center gap-2 p-2 border-b bg-muted/20 flex-wrap`,children:[(0,q.jsx)(Te,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`font-medium text-sm`,children:`Data Model Designer`}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 ml-2 border-l pl-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>l.undo(),disabled:!l.canUndo,"aria-label":`Undo`,title:`Undo (Ctrl+Z)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(xe,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>l.redo(),disabled:!l.canRedo,"aria-label":`Redo`,title:`Redo (Ctrl+Y)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(He,{className:`h-3.5 w-3.5`})})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:_.zoomOut,"aria-label":`Zoom Out`,title:`Zoom Out`,className:`p-1 rounded hover:bg-accent`,children:(0,q.jsx)(ce,{className:`h-3.5 w-3.5`})}),(0,q.jsxs)(`span`,{className:`text-xs tabular-nums w-10 text-center`,children:[Math.round(_.zoom*100),`%`]}),(0,q.jsx)(`button`,{type:`button`,onClick:_.zoomIn,"aria-label":`Zoom In`,title:`Zoom In`,className:`p-1 rounded hover:bg-accent`,children:(0,q.jsx)(se,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:_.resetZoom,"aria-label":`Reset Zoom`,title:`Reset Zoom`,className:`p-1 rounded hover:bg-accent`,children:(0,q.jsx)(pe,{className:`h-3 w-3`})})]}),!i&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:L,disabled:m.count===0,"aria-label":`Copy`,title:`Copy (Ctrl+C)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(ee,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:R,disabled:!g.hasContent,"aria-label":`Paste`,title:`Paste (Ctrl+V)`,className:`p-1 rounded hover:bg-accent disabled:opacity-40`,children:(0,q.jsx)(re,{className:`h-3.5 w-3.5`})})]}),!i&&(0,q.jsxs)(`button`,{type:`button`,onClick:te,"aria-label":`Auto Layout`,title:`Auto Layout`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded border hover:bg-accent`,children:[(0,q.jsx)(O,{className:`h-3 w-3`}),` Auto Layout`]}),(0,q.jsx)(`div`,{className:`flex-1`}),y?.isConnected&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,role:`status`,"aria-label":`Collaboration active`,children:[(0,q.jsx)(fe,{className:`h-3 w-3`}),(0,q.jsxs)(`span`,{children:[y.users.length,` user`,y.users.length===1?``:`s`]})]}),m.count>1&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[m.count,` selected`]}),!i&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`button`,{type:`button`,onClick:P,"aria-label":`Add Entity`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded bg-primary text-primary-foreground hover:bg-primary/90`,children:[(0,q.jsx)(v,{className:`h-3 w-3`}),` Add Entity`]}),(0,q.jsxs)(`button`,{type:`button`,"aria-label":`Add Relationship`,title:`Add Relationship (coming soon)`,className:`flex items-center gap-1 px-2 py-1 text-xs rounded bg-secondary text-secondary-foreground hover:bg-secondary/80`,children:[(0,q.jsx)(ze,{className:`h-3 w-3`}),` Add Relationship`]})]})]}),(0,q.jsxs)(`div`,{role:`region`,"aria-label":`Canvas`,className:`flex-1 overflow-auto bg-muted/10 p-4 relative`,onWheel:_.handleWheel,onMouseDown:_.startPan,onDragOver:he,onDrop:ge,children:[(0,q.jsxs)(`div`,{className:`relative`,style:{width:n.width,minHeight:n.height,..._.transformStyle,backgroundImage:n.showGrid?`radial-gradient(circle, hsl(var(--border)) 1px, transparent 1px)`:void 0,backgroundSize:n.showGrid?`20px 20px`:void 0},children:[(0,q.jsx)(`svg`,{className:`absolute inset-0 pointer-events-none`,width:n.width,height:n.height,children:d.map(e=>{let t=u.find(t=>t.id===e.sourceEntity),n=u.find(t=>t.id===e.targetEntity);return!t||!n?null:(0,q.jsxs)(`g`,{children:[(0,q.jsx)(`line`,{x1:t.position.x+120,y1:t.position.y+50,x2:n.position.x+120,y2:n.position.y+50,stroke:`hsl(var(--primary))`,strokeWidth:`2`,strokeDasharray:e.type===`many-to-many`?`5,5`:void 0}),r&&e.label&&(0,q.jsx)(`text`,{x:(t.position.x+n.position.x)/2+120,y:(t.position.y+n.position.y)/2+50-8,textAnchor:`middle`,className:`text-xs fill-muted-foreground`,children:e.label})]},e.id)})}),u.length===0&&(0,q.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center text-muted-foreground text-sm`,children:`No entities in the model. Click 'Add Entity' to create your first entity.`}),u.map(e=>(0,q.jsxs)(`div`,{role:`group`,"aria-label":e.label,draggable:!i,onDragStart:t=>V(t,e.id),className:ft(`absolute rounded-lg border-2 bg-background shadow-sm w-60 select-none cursor-grab active:cursor-grabbing`,m.isSelected(e.id)?`border-primary ring-2 ring-primary/20`:`border-border hover:border-primary/50`),style:{left:e.position.x,top:e.position.y},onClick:t=>m.toggle(e.id,t.shiftKey),children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 rounded-t-lg font-medium text-sm`,style:{backgroundColor:e.color??`hsl(var(--primary) / 0.1)`},children:[(0,q.jsx)(Te,{className:`h-3.5 w-3.5`}),k===e.id?(0,q.jsx)(`input`,{type:`text`,value:j,onChange:e=>M(e.target.value),onBlur:le,onKeyDown:e=>{e.key===`Enter`&&le(),e.key===`Escape`&&ue()},className:`text-sm font-medium px-1 py-0 border rounded bg-background w-32 focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,onClick:e=>e.stopPropagation(),"data-testid":`entity-label-input-${e.id}`}):(0,q.jsx)(`span`,{className:`truncate cursor-text`,onDoubleClick:t=>{t.stopPropagation(),oe(e.id,e.label)},title:`Double-click to edit label`,"data-testid":`entity-label-${e.id}`,children:e.label}),!i&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),F(e.id)},"aria-label":`Delete ${e.label}`,className:`ml-auto p-0.5 rounded hover:bg-destructive/20`,children:(0,q.jsx)(B,{className:`h-3 w-3 text-destructive`})})]}),(0,q.jsx)(`div`,{className:`px-3 py-1 divide-y`,children:e.fields.map((t,n)=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2 py-1 text-xs`,children:[w&&w.entityId===e.id&&w.fieldIndex===n?(0,q.jsx)(`input`,{type:`text`,value:E,onChange:e=>D(e.target.value),onBlur:ie,onKeyDown:e=>{e.key===`Enter`&&ie(),e.key===`Escape`&&ae()},className:`font-mono text-xs px-1 py-0 border rounded bg-background w-24 focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,onClick:e=>e.stopPropagation()}):(0,q.jsxs)(`span`,{className:ft(`font-mono cursor-text`,t.primaryKey&&`font-bold text-primary`),onClick:r=>{r.stopPropagation(),z(e.id,n,t.name)},title:`Click to edit field name`,children:[t.primaryKey&&(0,q.jsx)(`span`,{className:`text-[0.65rem] font-semibold text-primary mr-0.5`,children:`PK`}),t.name]}),i?(0,q.jsx)(`span`,{className:`text-muted-foreground ml-auto`,children:t.type}):(0,q.jsx)(`select`,{value:t.type,onChange:t=>{t.stopPropagation(),de(e.id,n,t.target.value)},onClick:e=>e.stopPropagation(),className:`text-xs text-muted-foreground ml-auto bg-transparent border-none focus:ring-1 focus:ring-primary rounded cursor-pointer p-0`,"data-testid":`field-type-${e.id}-${n}`,children:pt.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))}),t.required&&(0,q.jsx)(`span`,{className:`text-destructive`,children:`*`})]},`${t.name}-${n}`))}),!i&&(0,q.jsx)(`div`,{className:`px-3 py-1 border-t`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),ne(e.id)},"aria-label":`Add field to ${e.label}`,className:`flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground w-full py-0.5`,children:[(0,q.jsx)(v,{className:`h-3 w-3`}),` Add Field`]})})]},e.id))]}),S&&u.length>0&&(0,q.jsx)(ot,{items:ye,canvasWidth:n.width,canvasHeight:n.height,position:`bottom-right`,size:150})]})]}),(0,q.jsxs)(`div`,{className:`w-64 border-l flex flex-col bg-background shrink-0`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[(0,q.jsxs)(`button`,{type:`button`,onClick:()=>x(e=>!e),className:`flex items-center gap-1 px-3 py-2 text-xs font-medium text-muted-foreground hover:bg-accent/50 border-b`,"aria-expanded":b,"aria-controls":`property-editor-panel`,children:[b?(0,q.jsx)(Ae,{className:`h-3 w-3`}):(0,q.jsx)(me,{className:`h-3 w-3`}),`Properties`]}),b&&(0,q.jsx)(`div`,{id:`property-editor-panel`,className:`flex-1 overflow-y-auto`,children:(0,q.jsx)(rt,{title:H?H.label:`Properties`,fields:_e,onChange:ve})})]}),(0,q.jsx)(`div`,{className:`border-t`,children:(0,q.jsxs)(`button`,{type:`button`,onClick:()=>C(e=>!e),className:`flex items-center gap-1 px-3 py-2 text-xs font-medium text-muted-foreground hover:bg-accent/50 w-full`,"aria-expanded":S,children:[S?(0,q.jsx)(Ae,{className:`h-3 w-3`}):(0,q.jsx)(me,{className:`h-3 w-3`}),`Minimap`]})})]}),(0,q.jsx)(tt,{isOpen:p.isOpen,title:p.title,message:p.message,onConfirm:p.onConfirm,onCancel:p.onCancel,destructive:!0})]})}function gt(...e){return U(W(e))}var _t=120,vt=50;function yt(e,t){if(e.length===0)return e;let n=new Map,r=new Map;for(let t of e)n.set(t.id,0),r.set(t.id,[]);for(let e of t)n.set(e.target,(n.get(e.target)??0)+1),r.get(e.source)?.push(e.target);let i=[],a=new Set,o=e.filter(e=>(n.get(e.id)??0)===0).map(e=>e.id);for(o.length===0&&(o=[e[0].id]);o.length>0;){i.push(o);for(let e of o)a.add(e);let e=new Set;for(let t of o)for(let n of r.get(t)??[])a.has(n)||e.add(n);o=Array.from(e)}let s=e.filter(e=>!a.has(e.id)).map(e=>e.id);s.length>0&&i.push(s);let c=new Map;for(let e=0;e<i.length;e++){let t=i[e];for(let n=0;n<t.length;n++)c.set(t[n],{x:80+e*200,y:80+n*100})}return e.map(e=>({...e,position:c.get(e.id)??e.position}))}function bt({processName:e=`New Process`,nodes:t=[],edges:n=[],lanes:r,canvas:i={width:1400,height:800,showGrid:!0},showMinimap:a=!0,showToolbar:o=!0,readOnly:s=!1,onNodesChange:c,onEdgesChange:l,className:u}){let d=Ye({nodes:t,edges:n},{maxHistory:50}),f=d.current.nodes,p=d.current.edges,m=(0,K.useCallback)((e,t)=>{d.push({nodes:e,edges:t}),c?.(e),l?.(t)},[d,c,l]),_=Xe(),v=Ze(),y=Qe(),b=$e({initialZoom:1}),x=ct(),[S,C]=(0,K.useState)(null),[T,E]=(0,K.useState)(!1),[D,O]=(0,K.useState)(null),[k,A]=(0,K.useState)(null),[j,N]=(0,K.useState)(!0),[P,F]=(0,K.useState)(null),[I,te]=(0,K.useState)({x:0,y:0}),L=(0,K.useRef)(null),R=(0,K.useRef)(c),ne=(0,K.useRef)(l);R.current=c,ne.current=l,(0,K.useEffect)(()=>{R.current?.(f),ne.current?.(p)},[d.current]);let z=(0,K.useCallback)((e,t)=>{if(s)return;let n={id:`node-${Date.now()}`,type:e,label:t,position:{x:200+f.length*160,y:200}},r=[...f,n];m(r,p),C(n.id),v.selectOne(n.id),x?.sendOperation({type:`insert`,elementId:n.id,data:{label:t},userId:x.currentUserId??``})},[f,p,s,m,v,x]),ie=(0,K.useCallback)(async e=>{if(s)return;let t=f.find(t=>t.id===e);if(!await _.confirm(`Delete Node`,`Are you sure you want to delete "${t?.label??e}"? This will also remove all connected edges.`))return;let n=f.filter(t=>t.id!==e),r=p.filter(t=>t.source!==e&&t.target!==e);m(n,r),S===e&&C(null),v.clearSelection(),x?.sendOperation({type:`delete`,elementId:e,data:{},userId:x.currentUserId??``})},[f,p,S,s,m,_,v,x]),ae=(0,K.useCallback)(async()=>{if(s||v.count===0||!await _.confirm(`Delete Selected Nodes`,`Are you sure you want to delete ${v.count} selected node(s) and their connected edges?`))return;let e=v.selectedIds,t=f.filter(t=>!e.has(t.id)),n=p.filter(t=>!e.has(t.source)&&!e.has(t.target));m(t,n),C(null),v.clearSelection()},[f,p,s,m,_,v]),le=(0,K.useCallback)(()=>{let e=v.count>0?v.selectedIds:S?new Set([S]):new Set;if(e.size===0)return;let t=f.filter(t=>e.has(t.id));y.copy(t)},[f,S,v,y]),ue=(0,K.useCallback)(()=>{if(s)return;let e=y.paste();if(!e||e.length===0)return;let t=e.map(e=>({...e,id:`node-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,position:{x:e.position.x+40,y:e.position.y+40}})),n=[...f,...t];m(n,p),v.selectMany(t.map(e=>e.id)),C(t[0].id)},[s,f,p,y,m,v]),de=(0,K.useCallback)(()=>{E(e=>!e||(O(null),!1))},[]),V=(0,K.useCallback)(e=>{if(!T)return!1;if(!D)return O(e),!0;if(D===e)return!0;let t={id:`edge-${Date.now()}`,source:D,target:e},n=[...p,t];return m(f,n),O(null),E(!1),x?.sendOperation({type:`insert`,elementId:t.id,data:{source:D,target:e},userId:x.currentUserId??``}),!0},[T,D,f,p,m,x]),fe=(0,K.useCallback)(()=>{if(s||f.length===0)return;let e=yt(f,p);m(e,p)},[f,p,s,m]),me=(0,K.useCallback)((e,t)=>{if(s||!f.find(e=>e.id===t))return;F(t);let n=e.target.getBoundingClientRect();te({x:e.clientX-n.left,y:e.clientY-n.top}),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},[s,f]),he=(0,K.useCallback)(e=>{if(e.preventDefault(),s||!P)return;let t=e.currentTarget.getBoundingClientRect(),n=b.zoom,r=(e.clientX-t.left-b.panOffset.x)/n-I.x,i=(e.clientY-t.top-b.panOffset.y)/n-I.y,a=Math.max(0,Math.round(r/20)*20),o=Math.max(0,Math.round(i/20)*20),c=f.map(e=>e.id===P?{...e,position:{x:a,y:o}}:e);m(c,p),F(null)},[s,P,I,f,p,b.zoom,b.panOffset,m]),ge=(0,K.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),H=(0,K.useMemo)(()=>f.find(e=>e.id===S)??null,[f,S]),_e=(0,K.useMemo)(()=>H?[{name:`label`,label:`Name`,type:`text`,value:H.label,group:`General`},{name:`type`,label:`Type`,type:`select`,value:H.type,options:[{label:`Start Event`,value:`start-event`},{label:`End Event`,value:`end-event`},{label:`User Task`,value:`user-task`},{label:`Service Task`,value:`service-task`},{label:`Script Task`,value:`script-task`},{label:`Exclusive Gateway`,value:`exclusive-gateway`},{label:`Parallel Gateway`,value:`parallel-gateway`},{label:`Inclusive Gateway`,value:`inclusive-gateway`}],group:`General`},{name:`description`,label:`Description`,type:`textarea`,value:H.description??``,group:`General`}]:[],[H]),ve=(0,K.useCallback)((e,t)=>{if(s||!S)return;let n=f.map(n=>n.id===S?{...n,[e]:t}:n);m(n,p)},[s,S,f,p,m]),ye=e=>{switch(e){case`start-event`:return`rounded-full bg-green-100 border-green-500 text-green-700`;case`end-event`:return`rounded-full bg-red-100 border-red-500 text-red-700`;case`exclusive-gateway`:case`parallel-gateway`:case`inclusive-gateway`:case`event-based-gateway`:return`rotate-45 bg-yellow-100 border-yellow-500 text-yellow-700`;case`user-task`:return`rounded bg-blue-100 border-blue-500 text-blue-700`;case`service-task`:case`script-task`:return`rounded bg-purple-100 border-purple-500 text-purple-700`;default:return`rounded bg-gray-100 border-gray-500 text-gray-700`}},be=(0,K.useMemo)(()=>f.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:_t,height:vt,selected:v.isSelected(e.id)||e.id===S})),[f,v,S]);(0,K.useEffect)(()=>{let e=L.current;if(!e)return;let t=e=>{let t=e.target?.tagName;if(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`)return;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`z`&&!e.shiftKey){e.preventDefault(),d.undo();return}if(n&&e.key===`y`||n&&e.key===`z`&&e.shiftKey){e.preventDefault(),d.redo();return}if(n&&e.key===`c`){e.preventDefault(),le();return}if(n&&e.key===`v`){e.preventDefault(),ue();return}if(e.key===`Delete`||e.key===`Backspace`){v.count>0?(e.preventDefault(),ae()):S&&(e.preventDefault(),ie(S));return}if(e.key===`Escape`){T?(E(!1),O(null)):(C(null),v.clearSelection());return}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[S,T,v,d,le,ue,ie,ae]);let Se=(0,K.useCallback)(e=>{e.target===e.currentTarget&&(C(null),v.clearSelection(),T&&(E(!1),O(null)))},[T,v]);return(0,q.jsxs)(`div`,{ref:L,tabIndex:0,className:gt(`flex flex-col h-full w-full border rounded-lg overflow-hidden bg-background`,u),children:[(0,q.jsx)(tt,{isOpen:_.isOpen,title:_.title,message:_.message,onConfirm:_.onConfirm,onCancel:_.onCancel,destructive:!0}),o&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/20`,role:`toolbar`,"aria-label":`Process toolbar`,children:[(0,q.jsx)(oe,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`font-medium text-sm`,"aria-label":`Process name`,children:e}),x?.isConnected&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,role:`status`,"aria-label":`Collaboration active`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-green-500`}),x.users.length,` user`,x.users.length===1?``:`s`]}),(0,q.jsx)(`div`,{className:`flex-1`}),!s&&(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>d.undo(),disabled:!d.canUndo,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Undo (Ctrl+Z)`,"aria-label":`Undo`,children:(0,q.jsx)(xe,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>d.redo(),disabled:!d.canRedo,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Redo (Ctrl+Y)`,"aria-label":`Redo`,children:(0,q.jsx)(He,{className:`h-3 w-3`})}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,onClick:le,disabled:v.count===0&&!S,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Copy (Ctrl+C)`,"aria-label":`Copy`,children:(0,q.jsx)(ee,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:ue,disabled:!y.hasContent,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40`,title:`Paste (Ctrl+V)`,"aria-label":`Paste`,children:(0,q.jsx)(re,{className:`h-3 w-3`})}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsxs)(`button`,{type:`button`,onClick:de,className:gt(`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,T&&`bg-primary text-primary-foreground`),title:`Connect nodes`,"aria-label":`Connect nodes`,"aria-pressed":T,children:[(0,q.jsx)(g,{className:`h-3 w-3`}),` Connect`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:fe,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Auto layout`,"aria-label":`Auto layout`,children:[(0,q.jsx)(w,{className:`h-3 w-3`}),` Layout`]}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,onClick:b.zoomIn,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Zoom in`,"aria-label":`Zoom in`,children:(0,q.jsx)(se,{className:`h-3 w-3`})}),(0,q.jsxs)(`span`,{className:`text-xs tabular-nums min-w-[3ch] text-center`,"aria-label":`Zoom level`,children:[Math.round(b.zoom*100),`%`]}),(0,q.jsx)(`button`,{type:`button`,onClick:b.zoomOut,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Zoom out`,"aria-label":`Zoom out`,children:(0,q.jsx)(ce,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:b.resetZoom,className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Reset zoom`,"aria-label":`Reset zoom`,children:(0,q.jsx)(pe,{className:`h-3 w-3`})}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>z(`start-event`,`Start`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add Start Event`,"aria-label":`Add Start Event`,children:[(0,q.jsx)(M,{className:`h-3 w-3 text-green-600`}),` Start`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>z(`user-task`,`User Task`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add User Task`,"aria-label":`Add User Task`,children:[(0,q.jsx)(We,{className:`h-3 w-3 text-blue-600`}),` Task`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>z(`exclusive-gateway`,`Decision`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add Gateway`,"aria-label":`Add Gateway`,children:[(0,q.jsx)(Ee,{className:`h-3 w-3 text-yellow-600`}),` Gateway`]}),(0,q.jsxs)(`button`,{type:`button`,onClick:()=>z(`end-event`,`End`),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:`Add End Event`,"aria-label":`Add End Event`,children:[(0,q.jsx)(We,{className:`h-3 w-3 text-red-600`}),` End`]}),(0,q.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>N(e=>!e),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:j?`Hide properties`:`Show properties`,"aria-label":j?`Hide property panel`:`Show property panel`,"aria-expanded":j,children:j?(0,q.jsx)(h,{className:`h-3 w-3`}):(0,q.jsx)(Ue,{className:`h-3 w-3`})})]})]}),(0,q.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,q.jsx)(`div`,{className:`flex-1 overflow-auto bg-muted/10 p-4`,role:`region`,"aria-label":`Process canvas`,onWheel:b.handleWheel,onMouseDown:b.startPan,children:(0,q.jsxs)(`div`,{className:`relative`,style:{...b.transformStyle,width:i.width,minHeight:i.height,backgroundImage:i.showGrid?`radial-gradient(circle, hsl(var(--border)) 1px, transparent 1px)`:void 0,backgroundSize:i.showGrid?`20px 20px`:void 0},onClick:Se,onDrop:he,onDragOver:ge,children:[(0,q.jsxs)(`svg`,{className:`absolute inset-0 pointer-events-none`,width:i.width,height:i.height,children:[(0,q.jsx)(`defs`,{children:(0,q.jsx)(`marker`,{id:`arrowhead`,markerWidth:`10`,markerHeight:`7`,refX:`10`,refY:`3.5`,orient:`auto`,children:(0,q.jsx)(`polygon`,{points:`0 0, 10 3.5, 0 7`,fill:`hsl(var(--foreground))`})})}),p.map(e=>{let t=f.find(t=>t.id===e.source),n=f.find(t=>t.id===e.target);if(!t||!n)return null;t.position.x+_t/2;let r=t.position.y+vt/2;n.position.x+_t/2;let i=n.position.y+vt/2,a=t.position.x+_t,o=r,s=n.position.x,c=i,l=`M ${a} ${o} Q ${(a+s)/2} ${o}, ${(a+s)/2} ${(o+c)/2} T ${s} ${c}`;return(0,q.jsxs)(`g`,{children:[(0,q.jsx)(`path`,{d:l,fill:`none`,stroke:`hsl(var(--foreground) / 0.5)`,strokeWidth:`2`,markerEnd:`url(#arrowhead)`}),e.label&&(0,q.jsx)(`text`,{x:(a+s)/2,y:(o+c)/2-8,textAnchor:`middle`,className:`text-[10px] fill-muted-foreground`,children:e.label})]},e.id)})]}),f.length===0&&(0,q.jsx)(`div`,{className:`flex items-center justify-center h-full min-h-[200px] text-muted-foreground text-sm`,children:`No nodes in the process. Use the toolbar buttons to add start events, tasks, gateways, and end events.`}),f.map(e=>{let t=v.isSelected(e.id)||S===e.id,n=D===e.id,r=k===e.id,i=T||r;return(0,q.jsxs)(`div`,{className:`absolute select-none`,style:{left:e.position.x,top:e.position.y},role:`group`,"aria-label":e.label,draggable:!s&&!T,onDragStart:t=>me(t,e.id),onMouseEnter:()=>A(e.id),onMouseLeave:()=>A(null),onClick:t=>{V(e.id)||(t.shiftKey?v.toggle(e.id,!0):(C(e.id),v.selectOne(e.id)))},children:[(0,q.jsx)(`div`,{className:gt(`flex items-center justify-center border-2 min-w-[120px] min-h-[50px] px-3 py-2 transition-shadow`,ye(e.type),t&&`ring-2 ring-primary shadow-md`,n&&`ring-2 ring-blue-400 shadow-lg`,T&&!n&&`cursor-crosshair`),children:(0,q.jsx)(`span`,{className:gt(`text-xs font-medium`,(e.type===`exclusive-gateway`||e.type===`parallel-gateway`||e.type===`inclusive-gateway`||e.type===`event-based-gateway`)&&`-rotate-45`),children:e.label})}),i&&!s&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair`,style:{left:-6,top:vt/2-6},title:`Input port`,onClick:t=>{t.stopPropagation(),V(e.id)}}),(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair`,style:{right:-6,top:vt/2-6},title:`Output port`,onClick:t=>{t.stopPropagation(),T?V(e.id):(E(!0),O(e.id))}}),(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair`,style:{left:_t/2-6,top:-6},title:`Port`,onClick:t=>{t.stopPropagation(),V(e.id)}}),(0,q.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair`,style:{left:_t/2-6,bottom:-6},title:`Port`,onClick:t=>{t.stopPropagation(),V(e.id)}})]}),!s&&t&&!T&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),ie(e.id)},className:`absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow`,"aria-label":`Delete node`,children:(0,q.jsx)(B,{className:`h-3 w-3`})})]},e.id)}),a&&f.length>0&&(0,q.jsx)(ot,{items:be,canvasWidth:i.width??1400,canvasHeight:i.height??800,position:`bottom-right`})]})}),j&&!s&&(0,q.jsx)(`div`,{className:`w-64 border-l bg-background overflow-y-auto shrink-0`,role:`complementary`,"aria-label":`Property panel`,children:(0,q.jsx)(rt,{title:H?`Properties: ${H.label}`:`Properties`,fields:_e,onChange:ve})})]})]})}function Y(...e){return U(W(e))}var X={untitledReport:`Untitled Report`,reportCanvas:`Report canvas`,properties:`Properties`,propertiesPanel:`Properties panel`,designerToolbar:`Report designer toolbar`,selectElementPrompt:`Select an element to edit its properties`,addElementsPrompt:`Add elements using the buttons above`,addText:`Add Text`,addField:`Add Field`,addImage:`Add Image`,addChart:`Add Chart`,addTable:`Add Table`,undo:`Undo`,undoShortcut:`Undo (Ctrl+Z)`,redo:`Redo`,redoShortcut:`Redo (Ctrl+Shift+Z)`,copy:`Copy`,copyShortcut:`Copy (Ctrl+C)`,paste:`Paste`,pasteShortcut:`Paste (Ctrl+V)`,deleteSelected:`Delete selected`,deleteElement:`Delete element`,deleteElementsTitle:`Delete elements`,deleteElementMessage:e=>`Are you sure you want to delete ${e} element${e>1?`s`:``}?`,collapsePanel:`Collapse panel`,expandPanel:`Expand panel`,collaborationConnected:`Connected`,sectionHeader:`Report Header`,sectionPageHeader:`Page Header`,sectionGroupHeader:`Group Header`,sectionDetail:`Detail`,sectionGroupFooter:`Group Footer`,sectionPageFooter:`Page Footer`,sectionFooter:`Report Footer`,elementText:`Text`,elementImage:`🖼 Image`,elementChart:`📊 Chart`,elementTable:`📋 Table`,propLabel:`Label`,propX:`X`,propY:`Y`,propWidth:`Width`,propHeight:`Height`,propText:`Text`,propField:`Field`,groupPosition:`Position`,groupSize:`Size`,groupContent:`Content`,groupGeneral:`General`},xt={A4:{width:595,height:842},A3:{width:842,height:1191},Letter:{width:612,height:792},Legal:{width:612,height:1008},Tabloid:{width:792,height:1224}},St=[{type:`header`,height:80,elements:[]},{type:`detail`,height:400,elements:[],repeat:!0},{type:`footer`,height:60,elements:[]}];function Ct({reportName:e=X.untitledReport,objectName:t,pageSize:n=`A4`,orientation:r=`portrait`,margins:i={top:40,right:40,bottom:40,left:40},sections:a=[],showToolbar:o=!0,showPropertyPanel:s=!0,readOnly:c=!1,onSectionsChange:l,className:u}){let d=Ye(a.length>0?a:St),f=d.current,p=(0,K.useCallback)(e=>{d.push(e),l?.(e)},[d,l]),m=Ze(),g=(0,K.useMemo)(()=>{let e=Array.from(m.selectedIds);return e.length>0?e[0]:null},[m.selectedIds]),_=Qe(),y=Xe(),b=ct(),x=(0,K.useCallback)(e=>{b&&b.sendOperation({...e,userId:b.currentUserId??``})},[b]),[S,C]=(0,K.useState)(!0),w=(0,K.useRef)(null),T=(0,K.useRef)(null),E=xt[n],D=r===`landscape`?E.height:E.width,O=r===`landscape`?E.width:E.height,k=e=>{switch(e){case`header`:return X.sectionHeader;case`page-header`:return X.sectionPageHeader;case`group-header`:return X.sectionGroupHeader;case`detail`:return X.sectionDetail;case`group-footer`:return X.sectionGroupFooter;case`page-footer`:return X.sectionPageFooter;case`footer`:return X.sectionFooter;default:return e}},A=(0,K.useMemo)(()=>g?f.flatMap(e=>e.elements).find(e=>e.id===g):null,[g,f]),j=(0,K.useCallback)((e,t)=>{if(c)return;let n={id:`elem-${Date.now()}`,type:t,position:{x:i.left,y:10,width:200,height:30},properties:{text:t===`text`?`New Text`:void 0,field:t===`field`?`field_name`:void 0}},r=f.map((t,r)=>r===e?{...t,elements:[...t.elements,n]}:t);p(r),m.selectOne(n.id),x({type:`insert`,elementId:n.id,data:{element:n}})},[f,i.left,c,p,m,x]),M=(0,K.useCallback)(e=>{if(c)return;let t=f.map(t=>({...t,elements:t.elements.filter(t=>t.id!==e)}));p(t),m.isSelected(e)&&m.clearSelection(),x({type:`delete`,elementId:e,data:{}})},[f,c,p,m,x]),N=(0,K.useCallback)(async()=>{if(c||m.count===0||!await y.confirm(X.deleteElementsTitle,X.deleteElementMessage(m.count)))return;let e=m.selectedIds,t=f.map(t=>({...t,elements:t.elements.filter(t=>!e.has(t.id))}));p(t),m.clearSelection(),e.forEach(e=>{x({type:`delete`,elementId:e,data:{}})})},[c,m,y,f,p,x]),P=(0,K.useCallback)((e,t)=>{if(c||!g)return;let n=f.map(n=>({...n,elements:n.elements.map(n=>n.id===g?e===`x`?{...n,position:{...n.position,x:Number(t)}}:e===`y`?{...n,position:{...n.position,y:Number(t)}}:e===`width`?{...n,position:{...n.position,width:Number(t)}}:e===`height`?{...n,position:{...n.position,height:Number(t)}}:{...n,properties:{...n.properties,[e]:t}}:n)}));p(n),x({type:`update`,elementId:g,data:{[e]:t}})},[c,g,f,p,x]),I=(0,K.useCallback)(()=>{let e=m.selectedIds;if(e.size===0)return;let t=f.flatMap(e=>e.elements).filter(t=>e.has(t.id));_.copy(t)},[m,f,_]),L=(0,K.useCallback)(()=>{if(c)return;let e=_.paste();if(!e||e.length===0)return;let t=0,n=e.map(e=>({...e,id:`elem-${Date.now()}-${++t}-${Math.random().toString(36).slice(2,7)}`,position:{...e.position,x:e.position.x+20,y:e.position.y+20}})),r=f.findIndex(e=>e.type===`detail`),i=r>=0?r:0,a=f.map((e,t)=>t===i?{...e,elements:[...e.elements,...n]}:e);p(a),m.selectMany(n.map(e=>e.id)),n.forEach(e=>{x({type:`insert`,elementId:e.id,data:{element:e}})})},[c,_,f,p,m,x]),R=(0,K.useCallback)((e,t,n)=>{c||(w.current={id:t.id,sectionIndex:n,startX:e.clientX,startY:e.clientY},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},[c]),ne=(0,K.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),z=(0,K.useCallback)((e,t)=>{e.preventDefault();let n=w.current;if(!n||c)return;let r=e.clientX-n.startX,i=e.clientY-n.startY;if(n.sectionIndex===t){let e=f.map((e,a)=>a===t?{...e,elements:e.elements.map(e=>e.id===n.id?{...e,position:{...e.position,x:Math.max(0,e.position.x+r),y:Math.max(0,(typeof e.position.y==`number`?e.position.y:0)+i)}}:e)}:e);p(e)}else{let e=null,i=f.map((t,i)=>{if(i!==n.sectionIndex)return t;let a=t.elements.find(e=>e.id===n.id);return a&&(e={...a,position:{...a.position,x:Math.max(0,a.position.x+r),y:10}}),{...t,elements:t.elements.filter(e=>e.id!==n.id)}});if(e){let n=i.map((n,r)=>r===t?{...n,elements:[...n.elements,e]}:n);p(n)}}x({type:`move`,elementId:n.id,data:{}}),w.current=null},[c,f,p,x]),ie=(0,K.useMemo)(()=>{if(!A)return[];let e=[{name:`x`,label:X.propX,type:`number`,value:A.position.x,group:X.groupPosition},{name:`y`,label:X.propY,type:`number`,value:A.position.y,group:X.groupPosition},{name:`width`,label:X.propWidth,type:`number`,value:A.position.width,group:X.groupSize},{name:`height`,label:X.propHeight,type:`number`,value:A.position.height,group:X.groupSize}];return A.type===`text`&&e.push({name:`text`,label:X.propText,type:`text`,value:A.properties.text??``,group:X.groupContent}),A.type===`field`&&e.push({name:`field`,label:X.propField,type:`text`,value:A.properties.field??``,group:X.groupContent}),e},[A]);return(0,K.useEffect)(()=>{let e=T.current;if(!e)return;let t=e=>{let t=[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.target.tagName),n=e.ctrlKey||e.metaKey;if((e.key===`Delete`||e.key===`Backspace`)&&m.count>0&&!t){e.preventDefault(),N();return}if(e.key===`Escape`){m.clearSelection();return}if(!t){if(n&&e.key===`z`&&!e.shiftKey&&!c){e.preventDefault(),d.undo();return}if(n&&(e.key===`z`&&e.shiftKey||e.key===`y`)&&!c){e.preventDefault(),d.redo();return}if(n&&e.key===`c`){e.preventDefault(),I();return}if(n&&e.key===`v`&&!c){e.preventDefault(),L();return}if(n&&e.key===`a`){e.preventDefault();let t=f.flatMap(e=>e.elements).map(e=>e.id);m.selectMany(t);return}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[m,N,c,d,I,L,f]),(0,q.jsxs)(`div`,{ref:T,tabIndex:0,className:Y(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,u),children:[(0,q.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[o&&(0,q.jsxs)(`div`,{role:`toolbar`,"aria-label":X.designerToolbar,className:`flex items-center gap-2 p-2 border-b bg-muted/20`,children:[(0,q.jsx)(De,{className:`h-4 w-4`}),(0,q.jsx)(`span`,{className:`font-medium text-sm`,children:e}),t&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,t,`)`]}),!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`}),(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,!d.canUndo&&`opacity-40 pointer-events-none`),title:X.undoShortcut,"aria-label":X.undo,disabled:!d.canUndo,onClick:()=>d.undo(),children:(0,q.jsx)(xe,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,!d.canRedo&&`opacity-40 pointer-events-none`),title:X.redoShortcut,"aria-label":X.redo,disabled:!d.canRedo,onClick:()=>d.redo(),children:(0,q.jsx)(He,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!c&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,m.count===0&&`opacity-40 pointer-events-none`),title:X.copyShortcut,"aria-label":X.copy,disabled:m.count===0,onClick:I,children:(0,q.jsx)(ee,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,!_.hasContent&&`opacity-40 pointer-events-none`),title:X.pasteShortcut,"aria-label":X.paste,disabled:!_.hasContent,onClick:L,children:(0,q.jsx)(re,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!c&&(0,q.jsx)(`button`,{type:`button`,className:Y(`p-1.5 rounded hover:bg-accent`,m.count===0&&`opacity-40 pointer-events-none`),title:X.deleteSelected,"aria-label":X.deleteSelected,disabled:m.count===0,onClick:N,children:(0,q.jsx)(B,{className:`h-4 w-4`})}),(0,q.jsx)(`div`,{className:`flex-1`}),b?.isConnected&&(0,q.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,q.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-green-500`}),X.collaborationConnected,b.users.length>1&&` (${b.users.length})`]}),(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[n,` `,r]}),s&&(0,q.jsx)(`button`,{type:`button`,className:`p-1.5 rounded hover:bg-accent`,title:S?X.collapsePanel:X.expandPanel,"aria-label":S?X.collapsePanel:X.expandPanel,onClick:()=>C(e=>!e),children:(0,q.jsx)(h,{className:Y(`h-4 w-4`,!S&&`rotate-180`)})})]}),(0,q.jsx)(`div`,{role:`region`,"aria-label":X.reportCanvas,className:`flex-1 overflow-auto bg-muted/10 p-4 flex justify-center`,children:(0,q.jsx)(`div`,{className:`bg-white shadow-lg border`,style:{width:D,minHeight:O},children:f.map((e,t)=>(0,q.jsxs)(`div`,{className:`relative border-b border-dashed border-gray-300`,style:{minHeight:e.height},onDragOver:ne,onDrop:e=>z(e,t),children:[(0,q.jsxs)(`div`,{className:`absolute left-0 top-0 px-2 py-0.5 bg-muted text-xs text-muted-foreground border-r border-b rounded-br`,children:[k(e.type),e.repeat&&` ↻`]}),!c&&(0,q.jsxs)(`div`,{className:`absolute right-1 top-0 flex items-center gap-0.5`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>j(t,`text`),className:`p-0.5 rounded hover:bg-accent`,title:X.addText,"aria-label":X.addText,children:(0,q.jsx)(ye,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>j(t,`field`),className:`p-0.5 rounded hover:bg-accent`,title:X.addField,"aria-label":X.addField,children:(0,q.jsx)(v,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>j(t,`image`),className:`p-0.5 rounded hover:bg-accent`,title:X.addImage,"aria-label":X.addImage,children:(0,q.jsx)(F,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>j(t,`chart`),className:`p-0.5 rounded hover:bg-accent`,title:X.addChart,"aria-label":X.addChart,children:(0,q.jsx)(te,{className:`h-3 w-3`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>j(t,`table`),className:`p-0.5 rounded hover:bg-accent`,title:X.addTable,"aria-label":X.addTable,children:(0,q.jsx)(we,{className:`h-3 w-3`})})]}),(0,q.jsxs)(`div`,{className:`relative`,style:{minHeight:e.height,paddingTop:24},children:[e.elements.length===0&&(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground text-center pt-4`,children:X.addElementsPrompt}),e.elements.map(e=>{let n=m.isSelected(e.id);return(0,q.jsxs)(`div`,{draggable:!c,onDragStart:n=>R(n,e,t),className:Y(`absolute border rounded px-2 py-1 text-xs cursor-pointer`,n?`border-primary ring-1 ring-primary/30 bg-primary/5`:`border-dashed border-gray-400 hover:border-primary/50`),style:{left:e.position.x,top:(typeof e.position.y==`number`?e.position.y:0)+24,width:e.position.width,height:e.position.height},onClick:t=>m.toggle(e.id,t.shiftKey),children:[(0,q.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.type===`text`&&(e.properties.text??X.elementText),e.type===`field`&&`{${e.properties.field??`field`}}`,e.type===`image`&&X.elementImage,e.type===`chart`&&X.elementChart,e.type===`table`&&X.elementTable]}),!c&&n&&(0,q.jsx)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),M(e.id)},className:`absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow`,"aria-label":X.deleteElement,children:(0,q.jsx)(B,{className:`h-2.5 w-2.5`})})]},e.id)})]})]},`${e.type}-${t}`))})})]}),s&&(0,q.jsx)(`div`,{role:`region`,"aria-label":X.propertiesPanel,className:Y(`border-l bg-muted/30 flex flex-col transition-[width] duration-200`,S?`w-56`:`w-0 overflow-hidden`),children:S&&(g&&A?(0,q.jsx)(rt,{title:`${X.properties} – ${A.type}`,fields:ie,onChange:P}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:X.properties}),(0,q.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3`,children:(0,q.jsx)(`div`,{className:`text-xs text-muted-foreground text-center py-4`,children:X.selectElementPrompt})})]}))}),(0,q.jsx)(tt,{isOpen:y.isOpen,title:y.title,message:y.message,onConfirm:y.onConfirm,onCancel:y.onCancel})]})}var Z=ke({"appDesigner.basicInfo":`Basic Info`,"appDesigner.objects":`Objects`,"appDesigner.navigation":`Navigation`,"appDesigner.branding":`Branding`,"appDesigner.stepBasicDesc":`Name, title, and layout`,"appDesigner.stepObjectsDesc":`Select business objects`,"appDesigner.stepNavigationDesc":`Build navigation tree`,"appDesigner.stepBrandingDesc":`Logo, colors, and favicon`,"appDesigner.appName":`App Name`,"appDesigner.appTitle":`Title`,"appDesigner.appDescription":`Description`,"appDesigner.appIcon":`Icon`,"appDesigner.template":`Template`,"appDesigner.layout":`Layout`,"appDesigner.layoutSidebar":`Sidebar`,"appDesigner.layoutHeader":`Header`,"appDesigner.layoutEmpty":`Empty`,"appDesigner.snakeCaseHint":`Must be snake_case (e.g. my_app)`,"appDesigner.searchObjects":`Search objects…`,"appDesigner.selectAll":`Select All`,"appDesigner.deselectAll":`Deselect All`,"appDesigner.noObjectsFound":`No objects found.`,"appDesigner.addGroup":`Add Group`,"appDesigner.addUrl":`Add URL`,"appDesigner.addSeparator":`Add Separator`,"appDesigner.noNavItemsHint":`No navigation items yet. Select objects in the previous step or add items manually.`,"appDesigner.separatorLabel":`— Separator —`,"appDesigner.newGroup":`New Group`,"appDesigner.newLink":`New Link`,"appDesigner.logoUrl":`Logo URL`,"appDesigner.primaryColor":`Primary Color`,"appDesigner.faviconUrl":`Favicon URL`,"appDesigner.preview":`Preview`,"common.cancel":`Cancel`,"common.back":`Back`,"common.next":`Next`,"common.close":`Close`,"appDesigner.complete":`Complete`,"appDesigner.saveDraft":`Save Draft`,"appDesigner.cancelConfirmTitle":`Discard changes?`,"appDesigner.cancelConfirmMessage":`You have unsaved changes. Are you sure you want to cancel?`,"appDesigner.confirmDiscard":`Discard`,"appDesigner.keepEditing":`Keep Editing`,"appDesigner.navNoItems":`No navigation items. Click buttons above to add items.`,"appDesigner.navNoPreviewItems":`No items`,"appDesigner.navLivePreview":`Live Preview`,"appDesigner.navCollapseGroup":`Collapse group`,"appDesigner.navExpandGroup":`Expand group`,"appDesigner.navAddChild":`Add child`,"appDesigner.navMoveUp":`Move up`,"appDesigner.navMoveDown":`Move down`,"appDesigner.navRemove":`Remove`,"appDesigner.navObjectPage":`Object Page`,"appDesigner.navDashboard":`Dashboard`,"appDesigner.navPage":`Page`,"appDesigner.navReport":`Report`,"appDesigner.navGroup":`Group`,"appDesigner.navUrl":`URL`,"appDesigner.navSeparator":`Separator`,"appDesigner.navTypeObject":`Object`,"appDesigner.navTypeDashboard":`Dashboard`,"appDesigner.navTypePage":`Page`,"appDesigner.navTypeReport":`Report`,"appDesigner.navTypeUrl":`URL`,"appDesigner.navTypeGroup":`Group`,"appDesigner.navTypeSeparator":`Separator`,"appDesigner.navTypeAction":`Action`,"appDesigner.navTypeComponent":`Component`,"appDesigner.navEditIcon":`Edit icon`,"appDesigner.navToggleVisible":`Toggle visibility`,"appDesigner.navHidden":`Hidden`,"appDesigner.navExportSchema":`Export JSON`,"appDesigner.navImportSchema":`Import JSON`,"appDesigner.navExportSuccess":`Navigation schema exported`,"appDesigner.navImportSuccess":`Navigation schema imported`,"appDesigner.navImportError":`Invalid navigation JSON`,"appDesigner.navIconPlaceholder":`Icon name (e.g. Users)`,"appDesigner.dashboardEditor":`Dashboard Editor`,"appDesigner.noWidgets":`No widgets. Click a button above to add one.`,"appDesigner.widgetLayoutSize":`Layout Size`,"appDesigner.widgetWidth":`Width`,"appDesigner.widgetHeight":`Height`,"appDesigner.dashboardPreview":`Dashboard Preview`,"appDesigner.noWidgetsPreview":`No widgets to preview`,"appDesigner.widgetProperties":`Widget Properties`,"appDesigner.addWidget":`Add Widget`,"appDesigner.modeEdit":`Edit`,"appDesigner.pageCanvasEditor":`Page Canvas Editor`,"appDesigner.emptyPage":`Empty page. Click a button above to add a component.`,"appDesigner.pagePreview":`Page Preview`,"appDesigner.noComponentsPreview":`No components to preview`,"appDesigner.modePage":`Page`,"appDesigner.modeDashboard":`Dashboard`,"appDesigner.undo":`Undo`,"appDesigner.redo":`Redo`,"appDesigner.brandingEditor":`Branding Editor`,"appDesigner.brandingExport":`Export JSON`,"appDesigner.brandingImport":`Import JSON`,"appDesigner.brandingPreview":`Preview`,"appDesigner.brandingSampleButton":`Sample Button`,"appDesigner.brandingSampleText":`This is how your brand theme will look.`,"appDesigner.colorPalette":`Color Palette`,"appDesigner.fontFamily":`Font Family`,"appDesigner.fontDefault":`Default (System)`,"appDesigner.modeLight":`Light`,"appDesigner.modeDark":`Dark`,"appDesigner.mobilePreview":`Mobile Preview`,"appDesigner.objectManager.title":`Object Manager`,"appDesigner.objectManager.addObject":`New Object`,"appDesigner.objectManager.searchPlaceholder":`Search objects…`,"appDesigner.objectManager.noObjects":`No objects found.`,"appDesigner.objectManager.objectName":`API Name`,"appDesigner.objectManager.objectLabel":`Label`,"appDesigner.objectManager.pluralLabel":`Plural Label`,"appDesigner.objectManager.icon":`Icon`,"appDesigner.objectManager.selectIcon":`Select icon…`,"appDesigner.objectManager.group":`Group`,"appDesigner.objectManager.noGroup":`No Group`,"appDesigner.objectManager.sortOrder":`Sort Order`,"appDesigner.objectManager.relationships":`Relationships`,"appDesigner.objectManager.systemBadge":`System`,"appDesigner.objectManager.fieldCount":`{{count}} fields`,"appDesigner.objectManager.ungrouped":`Ungrouped`,"appDesigner.objectManager.deleteConfirmTitle":`Delete Object?`,"appDesigner.objectManager.deleteConfirmMessage":`This will permanently delete the object and all its fields. This action cannot be undone.`,"appDesigner.fieldDesigner.title":`Field Designer`,"appDesigner.fieldDesigner.addField":`New Field`,"appDesigner.fieldDesigner.searchPlaceholder":`Search fields…`,"appDesigner.fieldDesigner.allTypes":`All Types`,"appDesigner.fieldDesigner.noFields":`No fields found.`,"appDesigner.fieldDesigner.fieldName":`API Name`,"appDesigner.fieldDesigner.fieldLabel":`Label`,"appDesigner.fieldDesigner.fieldType":`Type`,"appDesigner.fieldDesigner.fieldGroup":`Group`,"appDesigner.fieldDesigner.description":`Description`,"appDesigner.fieldDesigner.required":`Required`,"appDesigner.fieldDesigner.unique":`Unique`,"appDesigner.fieldDesigner.readOnly":`Read Only`,"appDesigner.fieldDesigner.hidden":`Hidden`,"appDesigner.fieldDesigner.indexed":`Indexed`,"appDesigner.fieldDesigner.externalId":`External ID`,"appDesigner.fieldDesigner.trackHistory":`Track History`,"appDesigner.fieldDesigner.defaultValue":`Default Value`,"appDesigner.fieldDesigner.placeholder":`Placeholder`,"appDesigner.fieldDesigner.referenceTo":`Reference To`,"appDesigner.fieldDesigner.formula":`Formula`,"appDesigner.fieldDesigner.options":`Options`,"appDesigner.fieldDesigner.addOption":`Add Option`,"appDesigner.fieldDesigner.validationRules":`Validation Rules`,"appDesigner.fieldDesigner.addRule":`Add Rule`,"appDesigner.fieldDesigner.systemBadge":`System`,"appDesigner.fieldDesigner.ungrouped":`General`,"appDesigner.fieldDesigner.deleteConfirmTitle":`Delete Field?`,"appDesigner.fieldDesigner.deleteConfirmMessage":`This will permanently delete the field. Existing data in this field will be lost.`,"appDesigner.fieldDesigner.basicSection":`Basic`,"appDesigner.fieldDesigner.typeSpecificSection":`Type Settings`,"appDesigner.fieldDesigner.advancedSection":`Advanced`,"appDesigner.fieldDesigner.typeCategory.text":`Text`,"appDesigner.fieldDesigner.typeCategory.number":`Number`,"appDesigner.fieldDesigner.typeCategory.date":`Date & Time`,"appDesigner.fieldDesigner.typeCategory.choice":`Choice`,"appDesigner.fieldDesigner.typeCategory.relation":`Relation`,"appDesigner.fieldDesigner.typeCategory.advanced":`Advanced`,"common.edit":`Edit`,"common.delete":`Delete`},`appDesigner.basicInfo`);function Q(...e){return U(W(e))}var wt={name:``,title:``,description:``,icon:``,template:``,layout:`sidebar`,objects:[],navigation:[],branding:{logo:``,primaryColor:`#3b82f6`,favicon:``}};function Tt(e){return e.filter(e=>e.selected).map(e=>({id:e.name,type:`object`,label:e.pluralLabel||e.label,icon:e.icon,objectName:e.name}))}var Et=0;function Dt(e){return Et+=1,`${e}_${Date.now()}_${Et}`}function Ot({steps:e,currentIndex:t,onStepClick:n}){return(0,q.jsx)(`nav`,{className:`flex items-center justify-center gap-0 px-4 py-6`,children:e.map((e,r)=>{let i=r<t,a=r===t;return(0,q.jsxs)(K.Fragment,{children:[r>0&&(0,q.jsx)(`div`,{className:Q(`h-0.5 w-12 sm:w-20`,i?`bg-blue-500`:`bg-gray-200`)}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-step-${e.id}`,onClick:()=>n(r),className:Q(`flex flex-col items-center gap-1 outline-none focus-visible:ring-2 focus-visible:ring-blue-400 rounded-lg px-2 py-1`,a&&`cursor-default`,!a&&`cursor-pointer`),children:[(0,q.jsx)(`div`,{className:Q(`flex h-8 w-8 items-center justify-center rounded-full text-sm font-semibold transition-colors`,i&&`bg-blue-500 text-white`,a&&`bg-blue-600 text-white ring-2 ring-blue-300`,!i&&!a&&`bg-gray-200 text-gray-500`),children:i?(0,q.jsx)(Oe,{className:`h-4 w-4`}):r+1}),(0,q.jsx)(`span`,{className:Q(`text-xs font-medium`,a?`text-blue-600`:`text-gray-500`),children:e.label})]})]},e.id)})})}function kt({draft:e,templates:t,readOnly:n,onChange:r,t:i}){let a=e.name.length>0&&!f(e.name);return(0,q.jsxs)(`div`,{"data-testid":`wizard-step-basic-content`,className:`mx-auto max-w-lg space-y-5`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`label`,{htmlFor:`app-name`,className:`block text-sm font-medium text-gray-700`,children:[i(`appDesigner.appName`),` `,(0,q.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,q.jsx)(`input`,{id:`app-name`,"data-testid":`app-name-input`,type:`text`,value:e.name,onChange:e=>r({name:e.target.value}),placeholder:`my_app`,disabled:n,className:Q(`block w-full rounded-md border px-3 py-2 text-sm shadow-sm outline-none transition-colors`,`focus:border-blue-500 focus:ring-1 focus:ring-blue-500`,`disabled:cursor-not-allowed disabled:bg-gray-50`,a?`border-red-400`:`border-gray-300`)}),a&&(0,q.jsx)(`p`,{className:`text-xs text-red-500`,children:i(`appDesigner.snakeCaseHint`)})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsxs)(`label`,{htmlFor:`app-title`,className:`block text-sm font-medium text-gray-700`,children:[i(`appDesigner.appTitle`),` `,(0,q.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,q.jsx)(`input`,{id:`app-title`,"data-testid":`app-title-input`,type:`text`,value:e.title,onChange:e=>r({title:e.target.value}),placeholder:`My Application`,disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`app-description`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.appDescription`)}),(0,q.jsx)(`textarea`,{id:`app-description`,"data-testid":`app-description-input`,value:e.description??``,onChange:e=>r({description:e.target.value}),rows:3,disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50 resize-none`})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`app-icon`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.appIcon`)}),(0,q.jsx)(`input`,{id:`app-icon`,type:`text`,value:e.icon??``,onChange:e=>r({icon:e.target.value}),placeholder:`LayoutDashboard`,disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]}),t.length>0&&(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`app-template`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.template`)}),(0,q.jsxs)(`select`,{id:`app-template`,value:e.template??``,onChange:e=>r({template:e.target.value}),disabled:n,className:`block w-full rounded-md border border-gray-300 px-3 py-2 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`,children:[(0,q.jsx)(`option`,{value:``,children:`None`}),t.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]}),(0,q.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,q.jsx)(`legend`,{className:`text-sm font-medium text-gray-700`,children:i(`appDesigner.layout`)}),(0,q.jsx)(`div`,{className:`flex gap-3`,children:[{value:`sidebar`,labelKey:`appDesigner.layoutSidebar`,Icon:z},{value:`header`,labelKey:`appDesigner.layoutHeader`,Icon:w},{value:`empty`,labelKey:`appDesigner.layoutEmpty`,Icon:R}].map(({value:t,labelKey:a,Icon:o})=>(0,q.jsxs)(`label`,{"data-testid":`app-layout-${t}`,className:Q(`flex flex-1 cursor-pointer flex-col items-center gap-1.5 rounded-lg border-2 p-3 transition-colors`,e.layout===t?`border-blue-500 bg-blue-50`:`border-gray-200 hover:border-gray-300`,n&&`pointer-events-none opacity-60`),children:[(0,q.jsx)(o,{className:`h-5 w-5 text-gray-600`}),(0,q.jsx)(`span`,{className:`text-xs font-medium text-gray-700`,children:i(a)}),(0,q.jsx)(`input`,{type:`radio`,name:`layout`,value:t,checked:e.layout===t,onChange:()=>r({layout:t}),disabled:n,className:`sr-only`})]},t))})]})]})}function At({objects:e,readOnly:t,onToggle:n,onToggleAll:r,search:i,onSearchChange:a,t:o}){let s=(0,K.useMemo)(()=>{if(!i)return e;let t=i.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(t)||e.label.toLowerCase().includes(t))},[e,i]),c=e.length>0&&e.every(e=>e.selected);return e.every(e=>!e.selected),(0,q.jsxs)(`div`,{"data-testid":`wizard-step-objects-content`,className:`mx-auto max-w-2xl space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,q.jsxs)(`div`,{className:`relative flex-1`,children:[(0,q.jsx)(Se,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{"data-testid":`object-search`,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:o(`appDesigner.searchObjects`),className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(!c),disabled:t,className:`rounded-md border border-gray-300 px-3 py-2 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:o(c?`appDesigner.deselectAll`:`appDesigner.selectAll`)})]}),s.length===0?(0,q.jsx)(`p`,{className:`py-8 text-center text-sm text-gray-400`,children:o(`appDesigner.noObjectsFound`)}):(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-3`,children:s.map(e=>(0,q.jsxs)(`button`,{type:`button`,"data-testid":`object-card-${e.name}`,disabled:t,onClick:()=>n(e.name),className:Q(`flex flex-col items-start gap-1 rounded-lg border-2 p-3 text-left transition-colors`,e.selected?`border-blue-500 bg-blue-50`:`border-gray-200 hover:border-gray-300`,t&&`pointer-events-none opacity-60`),children:[(0,q.jsxs)(`div`,{className:`flex w-full items-center justify-between`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-gray-800`,children:e.label}),(0,q.jsx)(`div`,{className:Q(`flex h-5 w-5 items-center justify-center rounded border transition-colors`,e.selected?`border-blue-500 bg-blue-500 text-white`:`border-gray-300`),children:e.selected&&(0,q.jsx)(Oe,{className:`h-3 w-3`})})]}),(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:e.name}),e.icon&&(0,q.jsx)(`span`,{className:`text-xs text-gray-400`,children:e.icon})]},e.name))})]})}var jt={object:`bg-green-100 text-green-700`,group:`bg-purple-100 text-purple-700`,url:`bg-sky-100 text-sky-700`,separator:`bg-gray-100 text-gray-600`,dashboard:`bg-amber-100 text-amber-700`,page:`bg-teal-100 text-teal-700`,report:`bg-rose-100 text-rose-700`,action:`bg-orange-100 text-orange-700`};function Mt({items:e,readOnly:t,onAdd:n,onRemove:r,onReorder:i,t:a}){return(0,q.jsxs)(`div`,{"data-testid":`wizard-step-navigation-content`,className:`mx-auto max-w-lg space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(`button`,{type:`button`,"data-testid":`add-group-btn`,onClick:()=>n(`group`),disabled:t,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-300 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(Pe,{className:`h-3.5 w-3.5`}),a(`appDesigner.addGroup`)]}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`add-url-btn`,onClick:()=>n(`url`),disabled:t,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-300 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(g,{className:`h-3.5 w-3.5`}),a(`appDesigner.addUrl`)]}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`add-separator-btn`,onClick:()=>n(`separator`),disabled:t,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-300 px-3 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(Ne,{className:`h-3.5 w-3.5`}),a(`appDesigner.addSeparator`)]})]}),e.length===0?(0,q.jsx)(`p`,{className:`py-8 text-center text-sm text-gray-400`,children:a(`appDesigner.noNavItemsHint`)}):(0,q.jsx)(`ul`,{className:`space-y-1.5`,children:e.map((n,o)=>(0,q.jsxs)(`li`,{"data-testid":`nav-item-${n.id}`,className:`flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-2`,children:[n.icon&&(0,q.jsx)(`span`,{className:`text-xs text-gray-400`,children:n.icon}),(0,q.jsx)(`span`,{className:`flex-1 truncate text-sm text-gray-800`,children:n.type===`separator`?a(`appDesigner.separatorLabel`):p(n.label)}),(0,q.jsx)(`span`,{className:Q(`rounded-full px-2 py-0.5 text-[10px] font-medium`,jt[n.type]??`bg-gray-100 text-gray-600`),children:n.type}),(0,q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(n.id,`up`),disabled:t||o===0,className:`rounded p-0.5 text-gray-400 transition-colors hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move up`,children:(0,q.jsx)(Fe,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>i(n.id,`down`),disabled:t||o===e.length-1,className:`rounded p-0.5 text-gray-400 transition-colors hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move down`,children:(0,q.jsx)(Ae,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(n.id),disabled:t,className:`rounded p-0.5 text-gray-400 transition-colors hover:text-red-500 disabled:opacity-30`,"aria-label":`Remove`,children:(0,q.jsx)(B,{className:`h-3.5 w-3.5`})})]})]},n.id))})]})}function Nt({branding:e,title:t,readOnly:n,onChange:r,t:i}){return(0,q.jsxs)(`div`,{"data-testid":`wizard-step-branding-content`,className:`mx-auto max-w-lg space-y-5`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`branding-logo`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.logoUrl`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(F,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`branding-logo`,"data-testid":`branding-logo-input`,type:`text`,value:e.logo??``,onChange:e=>r({logo:e.target.value}),placeholder:`https://example.com/logo.svg`,disabled:n,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`branding-color`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.primaryColor`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(S,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`branding-color`,"data-testid":`branding-color-input`,type:`text`,value:e.primaryColor??`#3b82f6`,onChange:e=>r({primaryColor:e.target.value}),placeholder:`#3b82f6`,disabled:n,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`branding-favicon`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.faviconUrl`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(Me,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`branding-favicon`,"data-testid":`branding-favicon-input`,type:`text`,value:e.favicon??``,onChange:e=>r({favicon:e.target.value}),placeholder:`https://example.com/favicon.ico`,disabled:n,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`span`,{className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.preview`)}),(0,q.jsxs)(`div`,{className:`rounded-lg border border-gray-200 bg-white p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e.logo?(0,q.jsx)(`img`,{src:e.logo,alt:`App logo`,className:`h-8 w-8 rounded object-contain`}):(0,q.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded bg-gray-100 text-xs text-gray-400`,children:`Logo`}),(0,q.jsx)(`span`,{className:`text-sm font-semibold text-gray-800`,children:t||i(`appDesigner.appTitle`)})]}),(0,q.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-gray-200`,style:{backgroundColor:e.primaryColor||`#3b82f6`}}),(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:e.primaryColor||`#3b82f6`})]}),e.favicon&&(0,q.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,q.jsx)(`img`,{src:e.favicon,alt:`Favicon`,className:`h-4 w-4 rounded object-contain`}),(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:`Favicon`})]})]})]})]})}function Pt({availableObjects:e=[],templates:t=[],initialDraft:n,onComplete:r,onCancel:i,onSaveDraft:a,readOnly:o=!1,className:s}){let{t:c}=Z(),l=Xe(),[u,d]=(0,K.useState)(0),[p,m]=(0,K.useState)(``),[h,g]=(0,K.useState)(()=>({...wt,objects:e.map(e=>({...e})),...n})),_=(0,K.useMemo)(()=>[{id:`basic`,label:c(`appDesigner.basicInfo`),description:c(`appDesigner.stepBasicDesc`),icon:`Settings`},{id:`objects`,label:c(`appDesigner.objects`),description:c(`appDesigner.stepObjectsDesc`),icon:`Database`},{id:`navigation`,label:c(`appDesigner.navigation`),description:c(`appDesigner.stepNavigationDesc`),icon:`Menu`},{id:`branding`,label:c(`appDesigner.branding`),description:c(`appDesigner.stepBrandingDesc`),icon:`Palette`}],[c]),v=u===0,y=u===_.length-1,b=(0,K.useMemo)(()=>h.name.length>0&&f(h.name)&&h.title.trim().length>0,[h.name,h.title]),x=(0,K.useMemo)(()=>u!==0||b,[u,b]),S=(0,K.useCallback)(e=>{g(t=>({...t,...e}))},[]),C=(0,K.useCallback)(e=>{g(t=>({...t,branding:{...t.branding,...e}}))},[]),w=(0,K.useCallback)(e=>{g(t=>({...t,objects:t.objects.map(t=>t.name===e?{...t,selected:!t.selected}:t)}))},[]),T=(0,K.useCallback)(e=>{g(t=>({...t,objects:t.objects.map(t=>({...t,selected:e}))}))},[]),E=(0,K.useCallback)(e=>{let t={id:Dt(e),type:e,label:e===`separator`?``:e===`group`?`New Group`:`New Link`,...e===`group`?{children:[]}:{},...e===`url`?{url:``}:{}};g(e=>({...e,navigation:[...e.navigation,t]}))},[]),D=(0,K.useCallback)(e=>{g(t=>({...t,navigation:t.navigation.filter(t=>t.id!==e)}))},[]),O=(0,K.useCallback)((e,t)=>{g(n=>{let r=[...n.navigation],i=r.findIndex(t=>t.id===e);if(i<0)return n;let a=t===`up`?i-1:i+1;return a<0||a>=r.length?n:([r[i],r[a]]=[r[a],r[i]],{...n,navigation:r})})},[]),k=(0,K.useCallback)(()=>{y||(u===1&&g(e=>({...e,navigation:Tt(e.objects)})),d(e=>e+1))},[u,y]),A=(0,K.useCallback)(()=>{v||d(e=>e-1)},[v]),j=(0,K.useCallback)(()=>{r?.(h)},[h,r]),ee=(0,K.useCallback)(async()=>{(h.name.length>0||h.title.length>0)&&i?await l.confirm(c(`appDesigner.cancelConfirmTitle`),c(`appDesigner.cancelConfirmMessage`))&&i():i?.()},[h.name,h.title,i,l,c]),M=(0,K.useCallback)(()=>{a?.(h)},[h,a]),N=(0,K.useCallback)(e=>{e<=u?d(e):e===u+1&&x&&(u===1&&e===2&&g(e=>({...e,navigation:Tt(e.objects)})),d(e))},[u,x]);return(0,q.jsxs)(`div`,{className:Q(`flex h-full flex-col rounded-xl border border-gray-200 bg-white shadow-sm`,s),children:[l.isOpen&&(0,q.jsx)(`div`,{"data-testid":`cancel-confirm-dialog`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40`,role:`dialog`,"aria-modal":`true`,children:(0,q.jsxs)(`div`,{className:`mx-4 w-full max-w-sm rounded-lg bg-white p-6 shadow-xl`,children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,q.jsx)(`h3`,{className:`text-base font-semibold text-gray-900`,children:l.title}),(0,q.jsx)(`button`,{type:`button`,onClick:l.onCancel,className:`rounded p-1 text-gray-400 hover:text-gray-600`,"aria-label":c(`common.close`),children:(0,q.jsx)(ge,{className:`h-4 w-4`})})]}),(0,q.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:l.message}),(0,q.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,"data-testid":`cancel-confirm-keep`,onClick:l.onCancel,className:`rounded-md border border-gray-300 px-3 py-1.5 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-50`,children:c(`appDesigner.keepEditing`)}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`cancel-confirm-discard`,onClick:l.onConfirm,className:`rounded-md bg-red-600 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-red-700`,children:c(`appDesigner.confirmDiscard`)})]})]})}),(0,q.jsx)(`div`,{className:`border-b border-gray-100`,children:(0,q.jsx)(Ot,{steps:_,currentIndex:u,onStepClick:N})}),(0,q.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-6`,children:[u===0&&(0,q.jsx)(kt,{draft:h,templates:t,readOnly:o,onChange:S,t:c}),u===1&&(0,q.jsx)(At,{objects:h.objects,readOnly:o,onToggle:w,onToggleAll:T,search:p,onSearchChange:m,t:c}),u===2&&(0,q.jsx)(Mt,{items:h.navigation,readOnly:o,onAdd:E,onRemove:D,onReorder:O,t:c}),u===3&&(0,q.jsx)(Nt,{branding:h.branding,title:h.title,readOnly:o,onChange:C,t:c})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between border-t border-gray-100 px-6 py-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`button`,{type:`button`,"data-testid":`wizard-cancel`,onClick:ee,disabled:o,className:`rounded-md px-4 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50`,children:c(`common.cancel`)}),a&&(0,q.jsx)(`button`,{type:`button`,"data-testid":`wizard-save-draft`,onClick:M,disabled:o,className:`rounded-md border border-gray-300 px-4 py-2 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:c(`appDesigner.saveDraft`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!v&&(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-back`,onClick:A,disabled:o,className:`inline-flex items-center gap-1 rounded-md border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(_e,{className:`h-4 w-4`}),c(`common.back`)]}),y?(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-complete`,onClick:j,disabled:o||!x,className:`inline-flex items-center gap-1 rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(Oe,{className:`h-4 w-4`}),c(`appDesigner.complete`)]}):(0,q.jsxs)(`button`,{type:`button`,"data-testid":`wizard-next`,onClick:k,disabled:o||!x,className:`inline-flex items-center gap-1 rounded-md bg-blue-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-700 disabled:cursor-not-allowed disabled:opacity-50`,children:[c(`common.next`),(0,q.jsx)(me,{className:`h-4 w-4`})]})]})]})]})}function Ft(...e){return U(W(e))}var It=0;function Lt(e){return It+=1,`${e}_${Date.now()}_${It}`}var Rt={object:{labelKey:`appDesigner.navTypeObject`,color:`bg-green-100 text-green-700`,Icon:Te},dashboard:{labelKey:`appDesigner.navTypeDashboard`,color:`bg-amber-100 text-amber-700`,Icon:_},page:{labelKey:`appDesigner.navTypePage`,color:`bg-teal-100 text-teal-700`,Icon:De},report:{labelKey:`appDesigner.navTypeReport`,color:`bg-rose-100 text-rose-700`,Icon:te},url:{labelKey:`appDesigner.navTypeUrl`,color:`bg-sky-100 text-sky-700`,Icon:g},component:{labelKey:`appDesigner.navTypeComponent`,color:`bg-indigo-100 text-indigo-700`,Icon:I},group:{labelKey:`appDesigner.navTypeGroup`,color:`bg-purple-100 text-purple-700`,Icon:Pe},separator:{labelKey:`appDesigner.navTypeSeparator`,color:`bg-gray-100 text-gray-600`,Icon:Ne},action:{labelKey:`appDesigner.navTypeAction`,color:`bg-orange-100 text-orange-700`,Icon:P}},zt=[{type:`object`,labelKey:`appDesigner.navObjectPage`},{type:`dashboard`,labelKey:`appDesigner.navDashboard`},{type:`page`,labelKey:`appDesigner.navPage`},{type:`report`,labelKey:`appDesigner.navReport`},{type:`group`,labelKey:`appDesigner.navGroup`},{type:`url`,labelKey:`appDesigner.navUrl`},{type:`separator`,labelKey:`appDesigner.navSeparator`}];function Bt({item:e,depth:t,index:n,total:r,readOnly:i,onRemove:a,onMoveUp:o,onMoveDown:s,onToggleExpand:c,onUpdateLabel:l,onUpdateIcon:u,onToggleVisible:d,onAddChild:f,expandedIds:m,t:h}){let[g,_]=(0,K.useState)(!1),[y,b]=(0,K.useState)(p(e.label)??``),[x,S]=(0,K.useState)(!1),[w,T]=(0,K.useState)(e.icon||``),E=Rt[e.type];e.type===`group`&&e.children&&e.children.length;let D=m.has(e.id),O=e.visible===!1,k=()=>{y.trim()?l(e.id,y.trim()):b(p(e.label)??``),_(!1)},A=()=>{u(e.id,w.trim()),S(!1)};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`li`,{"data-testid":`nav-designer-item-${e.id}`,className:Ft(`flex items-center gap-2 rounded-md border border-gray-200 bg-white px-2 py-1.5 transition-colors hover:bg-gray-50`,O&&`opacity-50`),style:{marginLeft:t*20},children:[(0,q.jsx)(C,{className:`h-3.5 w-3.5 shrink-0 cursor-grab text-gray-300`}),e.type===`group`?(0,q.jsx)(`button`,{type:`button`,onClick:()=>c(e.id),className:`rounded p-0.5 text-gray-400 hover:text-gray-600`,"aria-label":h(D?`appDesigner.navCollapseGroup`:`appDesigner.navExpandGroup`),children:D?(0,q.jsx)(Ae,{className:`h-3.5 w-3.5`}):(0,q.jsx)(me,{className:`h-3.5 w-3.5`})}):(0,q.jsx)(`span`,{className:`w-5`}),x&&!i?(0,q.jsx)(`input`,{type:`text`,value:w,onChange:e=>T(e.target.value),onBlur:A,onKeyDown:t=>{t.key===`Enter`&&A(),t.key===`Escape`&&(T(e.icon||``),S(!1))},autoFocus:!0,placeholder:h(`appDesigner.navIconPlaceholder`),"data-testid":`nav-designer-icon-input-${e.id}`,className:`w-24 rounded border border-blue-300 px-1 py-0.5 text-xs outline-none focus:ring-1 focus:ring-blue-400`}):(0,q.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,q.jsx)(E.Icon,{className:`h-3.5 w-3.5 shrink-0 text-gray-500`}),!i&&e.type!==`separator`&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>{T(e.icon||``),S(!0)},className:`rounded p-0.5 text-gray-300 hover:text-blue-500`,"aria-label":h(`appDesigner.navEditIcon`),"data-testid":`nav-designer-edit-icon-${e.id}`,children:(0,q.jsx)(j,{className:`h-2.5 w-2.5`})})]}),e.type===`separator`?(0,q.jsx)(`span`,{className:`flex-1 text-xs italic text-gray-400`,children:h(`appDesigner.separatorLabel`)}):g&&!i?(0,q.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value),onBlur:k,onKeyDown:t=>{t.key===`Enter`&&k(),t.key===`Escape`&&(b(p(e.label)??``),_(!1))},autoFocus:!0,className:`flex-1 rounded border border-blue-300 px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-blue-400`}):(0,q.jsx)(`span`,{className:Ft(`flex-1 truncate text-sm text-gray-800`,!i&&`cursor-text`),onDoubleClick:()=>{!i&&e.type!==`separator`&&(b(p(e.label)??``),_(!0))},children:p(e.label)}),(0,q.jsx)(`span`,{className:Ft(`rounded-full px-2 py-0.5 text-[10px] font-medium`,E.color),children:h(E.labelKey)}),O&&(0,q.jsx)(`span`,{className:`rounded-full bg-gray-200 px-1.5 py-0.5 text-[10px] font-medium text-gray-500`,"data-testid":`nav-designer-hidden-badge-${e.id}`,children:h(`appDesigner.navHidden`)}),!i&&e.type!==`separator`&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>d(e.id),className:`rounded p-0.5 text-gray-400 hover:text-gray-700`,"aria-label":h(`appDesigner.navToggleVisible`),"data-testid":`nav-designer-toggle-visible-${e.id}`,children:O?(0,q.jsx)(Ve,{className:`h-3.5 w-3.5`}):(0,q.jsx)(V,{className:`h-3.5 w-3.5`})}),e.type===`group`&&!i&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>f(e.id,`page`),className:`rounded p-0.5 text-gray-400 hover:text-blue-500`,"aria-label":h(`appDesigner.navAddChild`),"data-testid":`nav-designer-add-child-${e.id}`,children:(0,q.jsx)(v,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),disabled:i||n===0,className:`rounded p-0.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":h(`appDesigner.navMoveUp`),children:(0,q.jsx)(Fe,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>s(e.id),disabled:i||n===r-1,className:`rounded p-0.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":h(`appDesigner.navMoveDown`),children:(0,q.jsx)(Ae,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),disabled:i,className:`rounded p-0.5 text-gray-400 hover:text-red-500 disabled:opacity-30`,"aria-label":h(`appDesigner.navRemove`),"data-testid":`nav-designer-remove-${e.id}`,children:(0,q.jsx)(B,{className:`h-3.5 w-3.5`})})]}),e.type===`group`&&D&&e.children&&(0,q.jsx)(q.Fragment,{children:e.children.map((n,r)=>(0,q.jsx)(Bt,{item:n,depth:t+1,index:r,total:e.children.length,readOnly:i,onRemove:a,onMoveUp:o,onMoveDown:s,onToggleExpand:c,onUpdateLabel:l,onUpdateIcon:u,onToggleVisible:d,onAddChild:f,expandedIds:m,t:h},n.id))})]})}function Vt({items:e,t}){return(0,q.jsxs)(`div`,{"data-testid":`nav-designer-preview`,className:`w-56 shrink-0 rounded-lg border border-gray-200 bg-gray-50 p-3`,children:[(0,q.jsx)(`h4`,{className:`mb-2 text-xs font-semibold uppercase text-gray-500`,children:t(`appDesigner.navLivePreview`)}),e.length===0?(0,q.jsx)(`p`,{className:`text-xs text-gray-400`,children:t(`appDesigner.navNoPreviewItems`)}):(0,q.jsx)(`ul`,{className:`space-y-0.5`,children:e.map(e=>(0,q.jsx)(Ht,{item:e,depth:0},e.id))})]})}function Ht({item:e,depth:t}){let n=Rt[e.type];return e.type===`separator`?(0,q.jsx)(`li`,{className:`my-1 border-t border-gray-200`,style:{marginLeft:t*12}}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`li`,{className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs text-gray-700 hover:bg-gray-100`,style:{marginLeft:t*12},children:[(0,q.jsx)(n.Icon,{className:`h-3 w-3 text-gray-400`}),(0,q.jsx)(`span`,{className:`truncate`,children:p(e.label)})]}),e.type===`group`&&e.children?.map(e=>(0,q.jsx)(Ht,{item:e,depth:t+1},e.id))]})}function Ut({items:e,onChange:t,readOnly:n=!1,showPreview:r=!0,className:i,onExport:a,onImport:o}){let{t:s}=Z(),c=(0,K.useRef)(null),[l,u]=(0,K.useState)(()=>new Set(e.filter(e=>e.type===`group`).map(e=>e.id))),d=(0,K.useCallback)(n=>{function r(e){return e.filter(e=>e.id!==n).map(e=>e.children?{...e,children:r(e.children)}:e)}t(r(e))},[e,t]),f=(0,K.useCallback)((n,r)=>{function i(e){let t=e.findIndex(e=>e.id===n);if(t>=0){let n=r===`up`?t-1:t+1;if(n>=0&&n<e.length){let r=[...e];return[r[t],r[n]]=[r[n],r[t]],r}return e}return e.map(e=>e.children?{...e,children:i(e.children)}:e)}t(i(e))},[e,t]),p=(0,K.useCallback)((n,r)=>{function i(e){return e.map(e=>e.id===n?{...e,label:r}:e.children?{...e,children:i(e.children)}:e)}t(i(e))},[e,t]),m=(0,K.useCallback)((n,r)=>{function i(e){return e.map(e=>e.id===n?{...e,icon:r||void 0}:e.children?{...e,children:i(e.children)}:e)}t(i(e))},[e,t]),h=(0,K.useCallback)(n=>{function r(e){return e.map(e=>e.id===n?{...e,visible:e.visible===!1}:e.children?{...e,children:r(e.children)}:e)}t(r(e))},[e,t]),g=(0,K.useCallback)((n,r)=>{let i={id:Lt(r),type:r,label:r===`separator`?``:`New ${s(Rt[r].labelKey)}`,...r===`group`?{children:[]}:{},...r===`url`?{url:``}:{}};function a(e){return e.map(e=>e.id===n&&e.type===`group`?{...e,children:[...e.children||[],i]}:e.children?{...e,children:a(e.children)}:e)}t(a(e)),u(e=>new Set(e).add(n))},[e,t]),_=(0,K.useCallback)(n=>{let r={id:Lt(n),type:n,label:n===`separator`?``:`New ${s(Rt[n].labelKey)}`,...n===`group`?{children:[]}:{},...n===`url`?{url:``}:{}};t([...e,r])},[e,t,s]),y=(0,K.useCallback)(e=>{u(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),x=(0,K.useCallback)(()=>{if(a)a(e);else{let t=JSON.stringify(e,null,2),n=new Blob([t],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`navigation-schema.json`,i.click(),URL.revokeObjectURL(r)}},[e,a]),S=(0,K.useCallback)(e=>{let n=e.target.files?.[0];if(!n)return;let r=new FileReader;r.onload=e=>{try{let n=JSON.parse(e.target?.result);Array.isArray(n)&&(o?o(n):t(n))}catch{}},r.readAsText(n),c.current&&(c.current.value=``)},[t,o]);return(0,q.jsxs)(`div`,{"data-testid":`navigation-designer`,className:Ft(`flex flex-col gap-4 sm:flex-row`,i),children:[(0,q.jsxs)(`div`,{className:`flex-1 space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[zt.map(({type:e,labelKey:t})=>{let{Icon:r,color:i}=Rt[e];return(0,q.jsxs)(`button`,{type:`button`,"data-testid":`nav-designer-add-${e}`,onClick:()=>_(e),disabled:n,className:Ft(`inline-flex items-center gap-1 rounded-md border border-gray-200 px-2.5 py-1 text-xs font-medium transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`),children:[(0,q.jsx)(v,{className:`h-3 w-3`}),s(t)]},e)}),(0,q.jsx)(`span`,{className:`mx-1 hidden h-4 w-px bg-gray-200 sm:block`}),(0,q.jsxs)(`button`,{type:`button`,"data-testid":`nav-designer-export`,onClick:x,className:`inline-flex items-center gap-1 rounded-md border border-gray-200 px-2.5 py-1 text-xs font-medium transition-colors hover:bg-gray-50`,children:[(0,q.jsx)(b,{className:`h-3 w-3`}),s(`appDesigner.navExportSchema`)]}),(0,q.jsxs)(`label`,{"data-testid":`nav-designer-import`,className:Ft(`inline-flex cursor-pointer items-center gap-1 rounded-md border border-gray-200 px-2.5 py-1 text-xs font-medium transition-colors hover:bg-gray-50`,n&&`cursor-not-allowed opacity-50`),children:[(0,q.jsx)(je,{className:`h-3 w-3`}),s(`appDesigner.navImportSchema`),(0,q.jsx)(`input`,{ref:c,type:`file`,accept:`.json`,className:`hidden`,onChange:S,disabled:n,"data-testid":`nav-designer-import-input`})]})]}),e.length===0?(0,q.jsx)(`div`,{className:`py-8 text-center text-sm text-gray-400`,children:s(`appDesigner.navNoItems`)}):(0,q.jsx)(`ul`,{className:`space-y-1`,"data-testid":`nav-designer-tree`,children:e.map((t,r)=>(0,q.jsx)(Bt,{item:t,depth:0,index:r,total:e.length,readOnly:n,onRemove:d,onMoveUp:e=>f(e,`up`),onMoveDown:e=>f(e,`down`),onToggleExpand:y,onUpdateLabel:p,onUpdateIcon:m,onToggleVisible:h,onAddChild:g,expandedIds:l,t:s},t.id))})]}),r&&(0,q.jsx)(Vt,{items:e,t:s})]})}function Wt(...e){return U(W(e))}var Gt=[{type:`metric`,label:`KPI Metric`,Icon:Le},{type:`bar`,label:`Bar Chart`,Icon:te},{type:`line`,label:`Line Chart`,Icon:Be},{type:`pie`,label:`Pie Chart`,Icon:le},{type:`table`,label:`Table`,Icon:we},{type:`grid`,label:`Grid`,Icon:y}],Kt=0;function qt(){return Kt+=1,`widget_${Date.now()}_${Kt}`}function Jt(e,t){return m(e,t)}function Yt(e){return e==null||typeof e==`string`}function Xt({widget:e,index:t,total:n,selected:r,readOnly:i,onSelect:a,onRemove:o,onMoveUp:s,onMoveDown:c}){let l=e.type||`metric`,u=Gt.find(e=>e.type===l)||Gt[0],{language:d}=Z(),f=Jt(e.title,d);return(0,q.jsxs)(`div`,{"data-testid":`dashboard-widget-${e.id}`,onClick:a,className:Wt(`group cursor-pointer rounded-lg border-2 p-3 transition-colors`,r?`border-blue-500 bg-blue-50`:`border-gray-200 hover:border-gray-300`),children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(C,{className:`h-4 w-4 text-gray-300`}),(0,q.jsx)(u.Icon,{className:`h-4 w-4 text-gray-500`}),(0,q.jsx)(`span`,{className:`text-sm font-medium text-gray-800`,children:f||`Widget ${t+1}`})]}),!i&&(0,q.jsxs)(`div`,{className:`flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),s()},disabled:t===0,className:`rounded p-0.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move up`,children:(0,q.jsx)(Fe,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),c()},disabled:t===n-1,className:`rounded p-0.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":`Move down`,children:(0,q.jsx)(Ae,{className:`h-3.5 w-3.5`})}),(0,q.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o()},className:`rounded p-0.5 text-gray-400 hover:text-red-500`,"aria-label":`Remove widget`,"data-testid":`dashboard-widget-remove-${e.id}`,children:(0,q.jsx)(B,{className:`h-3.5 w-3.5`})})]})]}),(0,q.jsx)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:(0,q.jsx)(`span`,{className:`rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600`,children:u.label})})]})}function Zt({widget:e,readOnly:t,onChange:n,onClose:r}){let{t:i,language:a}=Z(),o=Jt(e.title,a);return(0,q.jsxs)(`div`,{"data-testid":`widget-property-panel`,className:`shrink-0 space-y-4 rounded-lg border border-gray-200 bg-white p-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(`h4`,{className:`text-sm font-semibold text-gray-800`,children:i(`appDesigner.widgetProperties`)}),(0,q.jsx)(`button`,{type:`button`,onClick:r,className:`rounded p-0.5 text-gray-400 hover:text-gray-600`,"aria-label":`Close`,children:(0,q.jsx)(ge,{className:`h-4 w-4`})})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-title`,className:`text-xs font-medium text-gray-600`,children:`Title`}),(0,q.jsx)(`input`,{id:`widget-title`,"data-testid":`widget-prop-title`,type:`text`,value:Yt(e.title)?e.title??``:o,onChange:t=>{Yt(e.title)&&n({title:t.target.value})},readOnly:!Yt(e.title),disabled:t,className:`block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50 read-only:bg-gray-50 read-only:text-gray-500`})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-type`,className:`text-xs font-medium text-gray-600`,children:`Type`}),(0,q.jsx)(`select`,{id:`widget-type`,"data-testid":`widget-prop-type`,value:e.type??`metric`,onChange:e=>n({type:e.target.value}),disabled:t,className:`block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`,children:Gt.map(e=>(0,q.jsx)(`option`,{value:e.type,children:e.label},e.type))})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-color`,className:`text-xs font-medium text-gray-600`,children:`Color Variant`}),(0,q.jsxs)(`select`,{id:`widget-color`,"data-testid":`widget-prop-color`,value:e.colorVariant??`default`,onChange:e=>n({colorVariant:e.target.value}),disabled:t,className:`block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`,children:[(0,q.jsx)(`option`,{value:`default`,children:`Default`}),(0,q.jsx)(`option`,{value:`blue`,children:`Blue`}),(0,q.jsx)(`option`,{value:`teal`,children:`Teal`}),(0,q.jsx)(`option`,{value:`orange`,children:`Orange`}),(0,q.jsx)(`option`,{value:`purple`,children:`Purple`}),(0,q.jsx)(`option`,{value:`success`,children:`Success`}),(0,q.jsx)(`option`,{value:`warning`,children:`Warning`}),(0,q.jsx)(`option`,{value:`danger`,children:`Danger`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`label`,{className:`text-xs font-medium text-gray-600`,children:i(`appDesigner.widgetLayoutSize`)}),(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-width`,className:`text-[10px] text-gray-400`,children:i(`appDesigner.widgetWidth`)}),(0,q.jsx)(`input`,{id:`widget-width`,"data-testid":`widget-prop-width`,type:`number`,min:1,value:e.layout?.w??1,onChange:t=>n({layout:{...e.layout,w:Number(t.target.value)||1}}),disabled:t,className:`block w-full rounded-md border border-gray-300 px-2 py-1 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`})]}),(0,q.jsxs)(`div`,{className:`flex-1`,children:[(0,q.jsx)(`label`,{htmlFor:`widget-height`,className:`text-[10px] text-gray-400`,children:i(`appDesigner.widgetHeight`)}),(0,q.jsx)(`input`,{id:`widget-height`,"data-testid":`widget-prop-height`,type:`number`,min:1,value:e.layout?.h??1,onChange:t=>n({layout:{...e.layout,h:Number(t.target.value)||1}}),disabled:t,className:`block w-full rounded-md border border-gray-300 px-2 py-1 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50`})]})]})]})]})}function Qt({schema:e}){let{t,language:n}=Z(),r=e.widgets||[];return(0,q.jsxs)(`div`,{"data-testid":`dashboard-preview`,className:`rounded-lg border border-gray-200 bg-gray-50 p-4`,children:[(0,q.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-gray-700`,children:e.title||t(`appDesigner.dashboardPreview`)}),r.length===0?(0,q.jsx)(`div`,{className:`text-xs text-gray-400`,children:t(`appDesigner.noWidgetsPreview`)}):(0,q.jsx)(`div`,{className:`grid gap-2`,style:{gridTemplateColumns:`repeat(${e.columns??2}, 1fr)`},children:r.map(e=>{let t=Gt.find(t=>t.type===(e.type||`metric`))||Gt[0];return(0,q.jsxs)(`div`,{className:`rounded-md border border-gray-200 bg-white p-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(t.Icon,{className:`h-3 w-3 text-gray-400`}),(0,q.jsx)(`span`,{className:`text-xs font-medium text-gray-600`,children:Jt(e.title,n)||`Untitled`})]}),(0,q.jsx)(`div`,{className:`mt-1 text-[10px] text-gray-400`,children:t.label})]},e.id)})})]})}function $t({schema:e,onChange:t,readOnly:n=!1,className:r,onExport:i,onImport:a,selectedWidgetId:o,onWidgetSelect:s}){let{t:c}=Z(),[l,u]=(0,K.useState)(null),[d,f]=(0,K.useState)(!1),p=(0,K.useRef)(null),m=(0,K.useRef)(null),h=o!==void 0,g=h?o:l,_=(0,K.useCallback)(e=>{s&&s(e),h||u(e)},[h,s,u]),{current:v,canUndo:y,canRedo:x,push:S,undo:C,redo:w}=Ye(e),T=(0,K.useCallback)(e=>{S(e),t(e)},[S,t]),E=v.widgets||[],D=E.find(e=>e.id===g),O=(0,K.useCallback)(e=>{let t=qt(),n={id:t,title:``,type:e,layout:{x:0,y:E.length,w:v.columns??2,h:1}};T({...v,widgets:[...E,n]}),_(t)},[v,E,T,_]),k=(0,K.useCallback)(e=>{T({...v,widgets:E.filter(t=>t.id!==e)}),g===e&&_(null)},[v,E,g,T,_]),A=(0,K.useCallback)((e,t)=>{let n=E.findIndex(t=>t.id===e);if(n<0)return;let r=t===`up`?n-1:n+1;if(r<0||r>=E.length)return;let i=[...E];[i[n],i[r]]=[i[r],i[n]],T({...v,widgets:i})},[v,E,T]),j=(0,K.useCallback)(e=>{g&&T({...v,widgets:E.map(t=>t.id===g?{...t,...e}:t)})},[v,E,g,T]);(0,K.useEffect)(()=>{let e=p.current;if(!e)return;let t=e=>{if(!n){if((e.ctrlKey||e.metaKey)&&e.key===`z`&&!e.shiftKey){e.preventDefault(),C();return}if((e.ctrlKey||e.metaKey)&&(e.key===`y`||e.key===`z`&&e.shiftKey)){e.preventDefault(),w();return}if((e.key===`Delete`||e.key===`Backspace`)&&g){let t=e.target;if(t.tagName===`INPUT`||t.tagName===`SELECT`||t.tagName===`TEXTAREA`)return;e.preventDefault(),k(g)}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[n,C,w,g,k]);let ee=(0,K.useCallback)(()=>{i&&i(v)},[v,i]),M=(0,K.useCallback)(()=>{m.current?.click()},[]),N=(0,K.useCallback)(e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>{try{let e=JSON.parse(n.result);e&&e.type===`dashboard`&&(T(e),a?.(e))}catch{}},n.readAsText(t),e.target.value=``},[T,a]);return(0,q.jsxs)(`div`,{ref:p,tabIndex:0,"data-testid":`dashboard-editor`,className:Wt(`flex flex-col gap-4 outline-none`,r),children:[(0,q.jsx)(`input`,{ref:m,type:`file`,accept:`.json`,className:`hidden`,"data-testid":`dashboard-import-input`,onChange:N}),D&&!d&&(0,q.jsx)(Zt,{widget:D,readOnly:n,onChange:j,onClose:()=>_(null)}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsxs)(`span`,{className:`text-sm font-medium text-gray-700`,children:[c(`appDesigner.addWidget`),`:`]}),Gt.map(({type:e,label:t,Icon:r})=>(0,q.jsxs)(`button`,{type:`button`,"data-testid":`dashboard-add-${e}`,onClick:()=>O(e),disabled:n||d,className:`inline-flex items-center gap-1.5 rounded-md border border-gray-200 px-2.5 py-1.5 text-xs font-medium text-gray-600 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,q.jsx)(r,{className:`h-3.5 w-3.5`}),t]},e))]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!n&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-undo`,onClick:C,disabled:!y,className:`rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":c(`appDesigner.undo`),children:(0,q.jsx)(xe,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-redo`,onClick:w,disabled:!x,className:`rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":c(`appDesigner.redo`),children:(0,q.jsx)(He,{className:`h-4 w-4`})})]}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-export`,onClick:ee,className:`rounded p-1.5 text-gray-400 hover:text-gray-700`,"aria-label":c(`appDesigner.navExportSchema`),children:(0,q.jsx)(b,{className:`h-4 w-4`})}),!n&&(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-import`,onClick:M,className:`rounded p-1.5 text-gray-400 hover:text-gray-700`,"aria-label":c(`appDesigner.navImportSchema`),children:(0,q.jsx)(je,{className:`h-4 w-4`})}),(0,q.jsx)(`button`,{type:`button`,"data-testid":`dashboard-preview-toggle`,onClick:()=>f(e=>!e),className:Wt(`rounded p-1.5 transition-colors`,d?`bg-blue-100 text-blue-600`:`text-gray-400 hover:text-gray-700`),"aria-label":c(d?`appDesigner.modeEdit`:`appDesigner.preview`),children:d?(0,q.jsx)(Ve,{className:`h-4 w-4`}):(0,q.jsx)(V,{className:`h-4 w-4`})})]})]}),d?(0,q.jsx)(Qt,{schema:v}):E.length===0?(0,q.jsx)(`div`,{className:`flex h-48 items-center justify-center rounded-lg border-2 border-dashed border-gray-200 text-sm text-gray-400`,children:c(`appDesigner.noWidgets`)}):(0,q.jsx)(`div`,{className:`grid gap-3`,style:{gridTemplateColumns:`repeat(${v.columns??2}, 1fr)`},children:E.map((e,t)=>(0,q.jsx)(Xt,{widget:e,index:t,total:E.length,selected:e.id===g,readOnly:n,onSelect:()=>_(e.id??null),onRemove:()=>k(e.id),onMoveUp:()=>A(e.id,`up`),onMoveDown:()=>A(e.id,`down`)},e.id))})]})]})}function $(...e){return U(W(e))}var en=[{hex:`#3b82f6`,name:`Blue`},{hex:`#6366f1`,name:`Indigo`},{hex:`#8b5cf6`,name:`Violet`},{hex:`#a855f7`,name:`Purple`},{hex:`#ec4899`,name:`Pink`},{hex:`#ef4444`,name:`Red`},{hex:`#f97316`,name:`Orange`},{hex:`#f59e0b`,name:`Amber`},{hex:`#eab308`,name:`Yellow`},{hex:`#22c55e`,name:`Green`},{hex:`#14b8a6`,name:`Teal`},{hex:`#06b6d4`,name:`Cyan`},{hex:`#0ea5e9`,name:`Sky`},{hex:`#64748b`,name:`Slate`},{hex:`#1e293b`,name:`Dark`},{hex:`#0f172a`,name:`Navy`}],tn=[`Inter`,`Roboto`,`Open Sans`,`Lato`,`Montserrat`,`Poppins`,`Source Sans Pro`,`Noto Sans`,`system-ui`];function nn({branding:e,onChange:t,appTitle:n=`My App`,readOnly:r=!1,className:i,onExport:a,onImport:o}){let{t:s}=Z(),[c,l]=(0,K.useState)(`light`),{current:u,push:d,canUndo:f,canRedo:p,undo:m,redo:h}=Ye(e),g=(0,K.useRef)(!0);(0,K.useEffect)(()=>{if(g.current){g.current=!1;return}t(u)},[u]);let _=(0,K.useCallback)(e=>{let n={...u,...e};g.current=!0,d(n),t(n)},[u,d,t]),v=(0,K.useCallback)(()=>{if(a){a(u);return}let e=new Blob([JSON.stringify(u,null,2)],{type:`application/json`}),t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=`branding.json`,n.click(),URL.revokeObjectURL(t)},[u,a]),y=(0,K.useCallback)(()=>{if(o){o(u);return}let e=document.createElement(`input`);e.type=`file`,e.accept=`.json`,e.onchange=e=>{let n=e.target.files?.[0];if(!n)return;let r=new FileReader;r.onload=e=>{try{let n=JSON.parse(e.target?.result);if(typeof n==`object`&&n){let e={...u,...n};d(e),t(e)}}catch{}},r.readAsText(n)},e.click()},[u,d,t,o]),x=(0,K.useCallback)(e=>{r||((e.ctrlKey||e.metaKey)&&e.key===`z`&&(e.preventDefault(),e.shiftKey?h():m()),(e.ctrlKey||e.metaKey)&&e.key===`y`&&(e.preventDefault(),h()))},[r,m,h]),C=u.primaryColor||`#3b82f6`,w=c===`dark`;return(0,q.jsxs)(`div`,{"data-testid":`branding-editor`,className:$(`flex flex-col gap-4 sm:gap-6`,i),onKeyDown:x,tabIndex:0,children:[(0,q.jsxs)(`div`,{"data-testid":`branding-editor-toolbar`,className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`h2`,{className:`text-lg font-semibold text-gray-800 mr-auto`,children:s(`appDesigner.brandingEditor`)}),(0,q.jsxs)(`button`,{"data-testid":`branding-undo`,type:`button`,onClick:m,disabled:!f||r,className:$(`inline-flex items-center gap-1 rounded-md border px-2.5 py-1.5 text-xs font-medium shadow-sm transition-colors`,f&&!r?`border-gray-300 bg-white text-gray-700 hover:bg-gray-50`:`border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed`),title:s(`appDesigner.undo`),children:[(0,q.jsx)(xe,{className:`h-3.5 w-3.5`}),s(`appDesigner.undo`)]}),(0,q.jsxs)(`button`,{"data-testid":`branding-redo`,type:`button`,onClick:h,disabled:!p||r,className:$(`inline-flex items-center gap-1 rounded-md border px-2.5 py-1.5 text-xs font-medium shadow-sm transition-colors`,p&&!r?`border-gray-300 bg-white text-gray-700 hover:bg-gray-50`:`border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed`),title:s(`appDesigner.redo`),children:[(0,q.jsx)(He,{className:`h-3.5 w-3.5`}),s(`appDesigner.redo`)]}),(0,q.jsxs)(`button`,{"data-testid":`branding-export`,type:`button`,onClick:v,className:`inline-flex items-center gap-1 rounded-md border border-gray-300 bg-white px-2.5 py-1.5 text-xs font-medium text-gray-700 shadow-sm transition-colors hover:bg-gray-50`,title:s(`appDesigner.brandingExport`),children:[(0,q.jsx)(b,{className:`h-3.5 w-3.5`}),s(`appDesigner.brandingExport`)]}),(0,q.jsxs)(`button`,{"data-testid":`branding-import`,type:`button`,onClick:y,disabled:r,className:$(`inline-flex items-center gap-1 rounded-md border px-2.5 py-1.5 text-xs font-medium shadow-sm transition-colors`,r?`border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed`:`border-gray-300 bg-white text-gray-700 hover:bg-gray-50`),title:s(`appDesigner.brandingImport`),children:[(0,q.jsx)(je,{className:`h-3.5 w-3.5`}),s(`appDesigner.brandingImport`)]})]}),(0,q.jsxs)(`div`,{className:`flex flex-col gap-4 sm:flex-row sm:gap-6`,children:[(0,q.jsxs)(`div`,{className:`flex-1 space-y-5`,children:[(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`be-logo`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.logoUrl`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(F,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`be-logo`,"data-testid":`branding-logo-input`,type:`text`,value:u.logo??``,onChange:e=>_({logo:e.target.value}),placeholder:`https://example.com/logo.svg`,disabled:r,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`be-color`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.primaryColor`)}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(`div`,{className:`relative flex-1`,children:[(0,q.jsx)(S,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`be-color`,"data-testid":`branding-color-input`,type:`text`,value:u.primaryColor??`#3b82f6`,onChange:e=>_({primaryColor:e.target.value}),placeholder:`#3b82f6`,disabled:r,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]}),(0,q.jsx)(`input`,{"data-testid":`branding-color-picker`,type:`color`,value:C,onChange:e=>_({primaryColor:e.target.value}),disabled:r,className:`h-9 w-9 cursor-pointer rounded-md border border-gray-300 p-0.5 disabled:cursor-not-allowed`})]}),(0,q.jsxs)(`div`,{className:`space-y-1`,children:[(0,q.jsx)(`span`,{className:`text-xs text-gray-500`,children:s(`appDesigner.colorPalette`)}),(0,q.jsx)(`div`,{"data-testid":`branding-color-palette`,className:`flex flex-wrap gap-1.5`,children:en.map(e=>(0,q.jsx)(`button`,{"data-testid":`branding-swatch-${e.hex.slice(1)}`,type:`button`,onClick:()=>!r&&_({primaryColor:e.hex}),disabled:r,className:$(`h-6 w-6 rounded-full border-2 transition-transform hover:scale-110 disabled:cursor-not-allowed`,C===e.hex?`border-gray-800 ring-2 ring-offset-1 ring-gray-400`:`border-transparent`),style:{backgroundColor:e.hex},title:e.name},e.hex))})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`be-favicon`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.faviconUrl`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(Me,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsx)(`input`,{id:`be-favicon`,"data-testid":`branding-favicon-input`,type:`text`,value:u.favicon??``,onChange:e=>_({favicon:e.target.value}),placeholder:`https://example.com/favicon.ico`,disabled:r,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50`})]})]}),(0,q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,q.jsx)(`label`,{htmlFor:`be-font`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.fontFamily`)}),(0,q.jsxs)(`div`,{className:`relative`,children:[(0,q.jsx)(ye,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,q.jsxs)(`select`,{id:`be-font`,"data-testid":`branding-font-select`,value:u.fontFamily??``,onChange:e=>_({fontFamily:e.target.value||void 0}),disabled:r,className:`block w-full rounded-md border border-gray-300 py-2 pl-9 pr-3 text-sm shadow-sm outline-none transition-colors focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:cursor-not-allowed disabled:bg-gray-50 appearance-none`,children:[(0,q.jsx)(`option`,{value:``,children:s(`appDesigner.fontDefault`)}),tn.map(e=>(0,q.jsx)(`option`,{value:e,children:e},e))]})]})]})]}),(0,q.jsxs)(`div`,{className:`flex-1 space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-gray-700`,children:s(`appDesigner.brandingPreview`)}),(0,q.jsxs)(`div`,{"data-testid":`branding-mode-toggle`,className:`flex rounded-md border border-gray-300 overflow-hidden`,children:[(0,q.jsxs)(`button`,{"data-testid":`branding-mode-light`,type:`button`,onClick:()=>l(`light`),className:$(`inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium transition-colors`,c===`light`?`bg-blue-50 text-blue-700`:`bg-white text-gray-600 hover:bg-gray-50`),children:[(0,q.jsx)(A,{className:`h-3.5 w-3.5`}),s(`appDesigner.modeLight`)]}),(0,q.jsxs)(`button`,{"data-testid":`branding-mode-dark`,type:`button`,onClick:()=>l(`dark`),className:$(`inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium transition-colors`,c===`dark`?`bg-gray-800 text-gray-100`:`bg-white text-gray-600 hover:bg-gray-50`),children:[(0,q.jsx)(H,{className:`h-3.5 w-3.5`}),s(`appDesigner.modeDark`)]})]})]}),(0,q.jsxs)(`div`,{"data-testid":`branding-preview`,className:$(`rounded-lg border p-4 transition-colors`,w?`border-gray-700 bg-gray-900 text-gray-100`:`border-gray-200 bg-white text-gray-800`),style:{fontFamily:u.fontFamily||`inherit`},children:[(0,q.jsx)(`div`,{className:`rounded-md p-3 mb-3`,style:{backgroundColor:C},children:(0,q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[u.logo?(0,q.jsx)(`img`,{src:u.logo,alt:`Logo`,className:`h-8 w-8 rounded object-contain bg-white/20`}):(0,q.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded bg-white/20 text-xs text-white`,children:`Logo`}),(0,q.jsx)(`span`,{className:`text-sm font-semibold text-white`,children:n})]})}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-gray-200`,style:{backgroundColor:C}}),(0,q.jsx)(`span`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:C})]}),(0,q.jsx)(`button`,{type:`button`,className:`rounded-md px-3 py-1.5 text-xs font-medium text-white transition-colors`,style:{backgroundColor:C},tabIndex:-1,children:s(`appDesigner.brandingSampleButton`)}),(0,q.jsx)(`p`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:s(`appDesigner.brandingSampleText`)}),u.favicon&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`img`,{src:u.favicon,alt:`Favicon`,className:`h-4 w-4 rounded object-contain`}),(0,q.jsx)(`span`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:`Favicon`})]}),u.fontFamily&&(0,q.jsxs)(`div`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:[s(`appDesigner.fontFamily`),`: `,u.fontFamily]})]})]}),(0,q.jsxs)(`div`,{"data-testid":`branding-preview-mobile`,className:$(`mx-auto w-48 rounded-xl border-2 p-2 transition-colors`,w?`border-gray-700 bg-gray-900`:`border-gray-300 bg-white`),style:{fontFamily:u.fontFamily||`inherit`},children:[(0,q.jsx)(`div`,{className:`text-center text-[10px] font-medium text-gray-400 mb-1`,children:s(`appDesigner.mobilePreview`)}),(0,q.jsx)(`div`,{className:`rounded-md p-2 mb-1`,style:{backgroundColor:C},children:(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[u.logo?(0,q.jsx)(`img`,{src:u.logo,alt:`Logo`,className:`h-4 w-4 rounded object-contain bg-white/20`}):(0,q.jsx)(`div`,{className:`flex h-4 w-4 items-center justify-center rounded bg-white/20 text-[6px] text-white`,children:`L`}),(0,q.jsx)(`span`,{className:`text-[9px] font-semibold text-white truncate`,children:n})]})}),(0,q.jsxs)(`div`,{className:`space-y-1 px-1`,children:[(0,q.jsx)(`div`,{className:$(`h-2 w-3/4 rounded`,w?`bg-gray-700`:`bg-gray-200`)}),(0,q.jsx)(`div`,{className:$(`h-2 w-1/2 rounded`,w?`bg-gray-700`:`bg-gray-200`)}),(0,q.jsx)(`div`,{className:$(`h-2 w-2/3 rounded`,w?`bg-gray-700`:`bg-gray-200`)})]})]})]})]})]})}function rn(...e){return U(W(e))}var an=[`Custom Objects`,`System Objects`,`Integration`,`Analytics`],on=[`Box`,`Database`,`Users`,`FileText`,`Settings`,`ShoppingCart`,`Calendar`,`Mail`,`Briefcase`,`Building`,`Globe`,`Heart`,`Star`,`Tag`,`Bookmark`,`Folder`,`Archive`,`Package`,`Truck`,`CreditCard`];function sn({objects:e,onObjectsChange:t,onSelectObject:n,showSystemObjects:r=!0,readOnly:i=!1,className:a}){let{t:o}=Z(),s=Xe(),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(null),p=(0,K.useMemo)(()=>r?e:e.filter(e=>!e.isSystem),[e,r]),m=(0,K.useMemo)(()=>new c({items:p}),[p]),h=(0,K.useMemo)(()=>[{field:`name`,label:o(`appDesigner.objectManager.objectName`),width:160},{field:`label`,label:o(`appDesigner.objectManager.objectLabel`),width:160},{field:`group`,label:o(`appDesigner.objectManager.group`),width:130},{field:`fieldCount`,label:`Fields`,width:80}],[o]),g=(0,K.useMemo)(()=>({type:`object-grid`,objectName:`object_definition`,columns:h,searchableFields:[`name`,`label`,`description`],showSearch:!0,operations:i?void 0:{create:!0,update:!0,delete:!0}}),[h,i]),_=(0,K.useCallback)(t=>{let r=e.find(e=>e.name===t.name);r&&n?.(r)},[e,n]),v=(0,K.useCallback)(t=>{let n=e.find(e=>e.name===t.name);n&&(f(n),u(!0))},[e]),y=(0,K.useCallback)(async n=>{let r=e.find(e=>e.name===n.name);!r||r.isSystem||await s.confirm(o(`appDesigner.objectManager.deleteConfirmTitle`),o(`appDesigner.objectManager.deleteConfirmMessage`))&&t?.(e.filter(e=>e.id!==r.id))},[e,t,s,o]),b=(0,K.useCallback)(()=>{f(null),u(!0)},[]),x=(0,K.useCallback)(n=>{if(d){let r={...d,name:String(n.name||d.name),label:String(n.label||d.label),pluralLabel:n.pluralLabel?String(n.pluralLabel):void 0,description:n.description?String(n.description):void 0,icon:n.icon?String(n.icon):void 0,group:n.group?String(n.group):void 0,sortOrder:typeof n.sortOrder==`number`?n.sortOrder:void 0};t?.(e.map(e=>e.id===d.id?r:e))}else{let r={id:`obj_${Date.now()}`,name:String(n.name||`new_object_${e.length+1}`),label:String(n.label||`New Object ${e.length+1}`),pluralLabel:n.pluralLabel?String(n.pluralLabel):void 0,description:n.description?String(n.description):void 0,icon:n.icon?String(n.icon):void 0,group:n.group?String(n.group):void 0,sortOrder:typeof n.sortOrder==`number`?n.sortOrder:void 0,isSystem:!1,fieldCount:0};t?.([...e,r])}u(!1),f(null)},[d,e,t]),S=(0,K.useCallback)(e=>{e||(u(!1),f(null))},[]),C=(0,K.useMemo)(()=>({type:`object-form`,formType:`modal`,objectName:`object_definition`,mode:d?`edit`:`create`,title:d?`${o(`common.edit`)} — ${d.label}`:o(`appDesigner.objectManager.addObject`),open:l,onOpenChange:S,modalSize:`lg`,customFields:[{name:`name`,label:o(`appDesigner.objectManager.objectName`),type:`text`,required:!0,placeholder:`api_name`,disabled:i||(d?.isSystem??!1)},{name:`label`,label:o(`appDesigner.objectManager.objectLabel`),type:`text`,required:!0,placeholder:`Display Name`,disabled:i},{name:`pluralLabel`,label:o(`appDesigner.objectManager.pluralLabel`),type:`text`,placeholder:`Display Names`,disabled:i},{name:`description`,label:o(`appDesigner.appDescription`),type:`textarea`,disabled:i},{name:`icon`,label:o(`appDesigner.objectManager.icon`),type:`select`,options:on.map(e=>({label:e,value:e})),disabled:i},{name:`group`,label:o(`appDesigner.objectManager.group`),type:`select`,options:an.map(e=>({label:e,value:e})),disabled:i},{name:`sortOrder`,label:o(`appDesigner.objectManager.sortOrder`),type:`number`,disabled:i}],initialValues:d?{name:d.name,label:d.label,pluralLabel:d.pluralLabel||``,description:d.description||``,icon:d.icon||``,group:d.group||``,sortOrder:d.sortOrder??0}:{},onSuccess:x,onCancel:()=>S(!1),readOnly:i}),[d,l,S,x,i,o]);return(0,q.jsxs)(`div`,{"data-testid":`object-manager`,className:rn(`w-full space-y-3`,a),children:[(0,q.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(Te,{className:`h-4 w-4 text-primary`}),(0,q.jsx)(`h2`,{className:`text-sm font-semibold`,children:o(`appDesigner.objectManager.title`)}),(0,q.jsx)(`span`,{className:`rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:p.length})]})}),(0,q.jsx)(qe,{schema:g,dataSource:m,onRowClick:_,onEdit:i?void 0:v,onDelete:i?void 0:y,onAddRecord:i?void 0:b}),l&&(0,q.jsx)(Ge,{schema:C}),(0,q.jsx)(tt,{isOpen:s.isOpen,title:s.title,message:s.message,confirmLabel:o(`common.delete`),cancelLabel:o(`common.cancel`),onConfirm:s.onConfirm,onCancel:s.onCancel,destructive:!0})]})}function cn(...e){return U(W(e))}var ln={text:{label:`Text`,Icon:ye},textarea:{label:`Text Area`,Icon:De},number:{label:`Number`,Icon:ae},boolean:{label:`Checkbox`,Icon:L},date:{label:`Date`,Icon:Re},datetime:{label:`Date/Time`,Icon:Re},time:{label:`Time`,Icon:Re},select:{label:`Picklist`,Icon:de},email:{label:`Email`,Icon:ie},phone:{label:`Phone`,Icon:Ce},url:{label:`URL`,Icon:Me},password:{label:`Password`,Icon:be},currency:{label:`Currency`,Icon:ae},percent:{label:`Percent`,Icon:ae},lookup:{label:`Lookup`,Icon:ze},formula:{label:`Formula`,Icon:k},autonumber:{label:`Auto Number`,Icon:ae},file:{label:`File`,Icon:De},image:{label:`Image`,Icon:F},markdown:{label:`Markdown`,Icon:De},html:{label:`Rich Text`,Icon:De},color:{label:`Color`,Icon:S},code:{label:`Code`,Icon:k},location:{label:`Location`,Icon:ve},address:{label:`Address`,Icon:ve},rating:{label:`Rating`,Icon:T},slider:{label:`Slider`,Icon:D}},un={text:[`text`,`textarea`,`email`,`phone`,`url`,`password`,`markdown`,`html`],number:[`number`,`currency`,`percent`,`autonumber`,`rating`,`slider`],date:[`date`,`datetime`,`time`],choice:[`boolean`,`select`],relation:[`lookup`],advanced:[`formula`,`file`,`image`,`color`,`code`,`location`,`address`]},dn=[`text`,`number`,`date`,`choice`,`relation`,`advanced`];function fn({objectName:e,fields:t,onFieldsChange:n,readOnly:r=!1,className:i}){let{t:a}=Z(),o=Xe(),[s,l]=(0,K.useState)(!1),[u,d]=(0,K.useState)(null),[f,p]=(0,K.useState)(``),m=(0,K.useMemo)(()=>f?t.filter(e=>e.type===f):t,[t,f]),h=(0,K.useMemo)(()=>new c({items:m}),[m]),g=(0,K.useMemo)(()=>[{field:`name`,label:a(`appDesigner.fieldDesigner.fieldName`),width:140},{field:`label`,label:a(`appDesigner.fieldDesigner.fieldLabel`),width:160},{field:`type`,label:a(`appDesigner.fieldDesigner.fieldType`),width:100},{field:`required`,label:a(`appDesigner.fieldDesigner.required`),width:80},{field:`unique`,label:a(`appDesigner.fieldDesigner.unique`),width:80},{field:`group`,label:a(`appDesigner.fieldDesigner.fieldGroup`),width:120}],[a]),_=(0,K.useMemo)(()=>({type:`object-grid`,objectName:`field_definition`,columns:g,searchableFields:[`name`,`label`,`description`],showSearch:!0,operations:r?void 0:{create:!0,update:!0,delete:!0}}),[g,r]),v=(0,K.useCallback)(e=>{let n=t.find(t=>t.name===e.name);n&&(d(n),l(!0))},[t]),y=(0,K.useCallback)(async e=>{let r=t.find(t=>t.name===e.name);!r||r.isSystem||await o.confirm(a(`appDesigner.fieldDesigner.deleteConfirmTitle`),a(`appDesigner.fieldDesigner.deleteConfirmMessage`))&&n?.(t.filter(e=>e.id!==r.id))},[t,n,o,a]),b=(0,K.useCallback)(()=>{d(null),l(!0)},[]),S=(0,K.useCallback)(e=>{if(u){let r={...u,name:String(e.name||u.name),label:String(e.label||u.label),type:e.type||u.type,group:e.group?String(e.group):void 0,description:e.description?String(e.description):void 0,required:e.required===!0,unique:e.unique===!0,readonly:e.readonly===!0,hidden:e.hidden===!0,indexed:e.indexed===!0,externalId:e.externalId===!0,trackHistory:e.trackHistory===!0,defaultValue:e.defaultValue?String(e.defaultValue):void 0,placeholder:e.placeholder?String(e.placeholder):void 0,referenceTo:e.referenceTo?String(e.referenceTo):void 0,formula:e.formula?String(e.formula):void 0};n?.(t.map(e=>e.id===u.id?r:e))}else{let r={id:`fld_${Date.now()}`,name:String(e.name||`new_field_${t.length+1}`),label:String(e.label||`New Field ${t.length+1}`),type:e.type||`text`,group:e.group?String(e.group):void 0,description:e.description?String(e.description):void 0,required:e.required===!0,unique:e.unique===!0,readonly:e.readonly===!0,hidden:e.hidden===!0,indexed:e.indexed===!0,externalId:e.externalId===!0,trackHistory:e.trackHistory===!0,defaultValue:e.defaultValue?String(e.defaultValue):void 0,placeholder:e.placeholder?String(e.placeholder):void 0,referenceTo:e.referenceTo?String(e.referenceTo):void 0,formula:e.formula?String(e.formula):void 0,isSystem:!1};n?.([...t,r])}l(!1),d(null)},[u,t,n]),C=(0,K.useCallback)(e=>{e||(l(!1),d(null))},[]),w=(0,K.useMemo)(()=>dn.map(e=>({category:e,label:a(`appDesigner.fieldDesigner.typeCategory.${e}`),options:un[e].map(e=>({label:ln[e].label,value:e}))})),[a]),T=(0,K.useMemo)(()=>w.flatMap(e=>e.options),[w]),E=(0,K.useMemo)(()=>({type:`object-form`,formType:`drawer`,objectName:`field_definition`,mode:u?`edit`:`create`,title:u?`${a(`common.edit`)} — ${u.label}`:a(`appDesigner.fieldDesigner.addField`),open:s,onOpenChange:C,drawerSide:`right`,drawerWidth:`480px`,sections:[{name:`basic`,label:a(`appDesigner.fieldDesigner.basicSection`),fields:[{name:`name`,label:a(`appDesigner.fieldDesigner.fieldName`),type:`text`,required:!0,placeholder:`api_name`,disabled:r||(u?.isSystem??!1)},{name:`label`,label:a(`appDesigner.fieldDesigner.fieldLabel`),type:`text`,required:!0,placeholder:`Display Label`,disabled:r},{name:`type`,label:a(`appDesigner.fieldDesigner.fieldType`),type:`select`,required:!0,options:T,disabled:r||(u?.isSystem??!1)},{name:`required`,label:a(`appDesigner.fieldDesigner.required`),type:`boolean`,disabled:r},{name:`unique`,label:a(`appDesigner.fieldDesigner.unique`),type:`boolean`,disabled:r},{name:`description`,label:a(`appDesigner.fieldDesigner.description`),type:`textarea`,disabled:r}]},{name:`typeSpecific`,label:a(`appDesigner.fieldDesigner.typeSpecificSection`),fields:[{name:`referenceTo`,label:a(`appDesigner.fieldDesigner.referenceTo`),type:`text`,placeholder:`Referenced object`,disabled:r,visibleWhen:`record.type == 'lookup'`},{name:`formula`,label:a(`appDesigner.fieldDesigner.formula`),type:`textarea`,placeholder:`e.g. price * quantity`,disabled:r,visibleWhen:`record.type == 'formula'`},{name:`defaultValue`,label:a(`appDesigner.fieldDesigner.defaultValue`),type:`text`,placeholder:`Default value`,disabled:r},{name:`placeholder`,label:a(`appDesigner.fieldDesigner.placeholder`),type:`text`,placeholder:`Placeholder text`,disabled:r},{name:`group`,label:a(`appDesigner.fieldDesigner.fieldGroup`),type:`text`,placeholder:`Field Group`,disabled:r}]},{name:`advanced`,label:a(`appDesigner.fieldDesigner.advancedSection`),collapsible:!0,collapsed:!0,fields:[{name:`indexed`,label:a(`appDesigner.fieldDesigner.indexed`),type:`boolean`,disabled:r},{name:`externalId`,label:a(`appDesigner.fieldDesigner.externalId`),type:`boolean`,disabled:r},{name:`trackHistory`,label:a(`appDesigner.fieldDesigner.trackHistory`),type:`boolean`,disabled:r},{name:`readonly`,label:a(`appDesigner.fieldDesigner.readOnly`),type:`boolean`,disabled:r},{name:`hidden`,label:a(`appDesigner.fieldDesigner.hidden`),type:`boolean`,disabled:r}]}],initialValues:u?{name:u.name,label:u.label,type:u.type,group:u.group||``,description:u.description||``,required:u.required||!1,unique:u.unique||!1,readonly:u.readonly||!1,hidden:u.hidden||!1,indexed:u.indexed||!1,externalId:u.externalId||!1,trackHistory:u.trackHistory||!1,defaultValue:u.defaultValue==null?``:String(u.defaultValue),placeholder:u.placeholder||``,referenceTo:u.referenceTo||``,formula:u.formula||``}:{type:`text`,required:!1,unique:!1},onSuccess:S,onCancel:()=>C(!1),readOnly:r}),[u,s,C,S,T,r,a]);return(0,q.jsxs)(`div`,{"data-testid":`field-designer`,className:cn(`w-full space-y-3`,i),children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(x,{className:`h-4 w-4 text-primary`}),(0,q.jsx)(`h2`,{className:`text-sm font-semibold`,children:a(`appDesigner.fieldDesigner.title`)}),e&&(0,q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`— `,e]}),(0,q.jsx)(`span`,{className:`rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:m.length})]}),(0,q.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),"data-testid":`field-designer-type-filter`,className:`rounded-md border border-input bg-background px-2 py-1 text-xs outline-none transition-colors focus:border-primary focus:ring-1 focus:ring-primary`,children:[(0,q.jsx)(`option`,{value:``,children:a(`appDesigner.fieldDesigner.allTypes`)}),w.map(e=>(0,q.jsx)(`optgroup`,{label:e.label,children:e.options.map(e=>(0,q.jsx)(`option`,{value:e.value,children:e.label},e.value))},e.category))]})]}),(0,q.jsx)(qe,{schema:_,dataSource:h,onEdit:r?void 0:v,onDelete:r?void 0:y,onAddRecord:r?void 0:b}),s&&(0,q.jsx)(Ke,{schema:E}),(0,q.jsx)(tt,{isOpen:o.isOpen,title:o.title,message:o.message,confirmLabel:a(`common.delete`),cancelLabel:a(`common.cancel`),onConfirm:o.onConfirm,onCancel:o.onCancel,destructive:!0})]})}var pn=`objectui-app-wizard-draft`;function mn(){let e=r(),{appName:n}=t(),{objects:i,refresh:o}=s(),c=d(),l=(i||[]).map(e=>({name:e.name,label:e.label||e.name,pluralLabel:e.pluralLabel,icon:e.icon,selected:!1})),u=(0,K.useCallback)(()=>{try{let e=localStorage.getItem(pn);if(e)return JSON.parse(e)}catch{}},[]),f=(0,K.useCallback)(async t=>{try{let n=a(t),r=c?.getClient();r&&await r.meta.saveItem(`app`,t.name,n),localStorage.removeItem(pn),G.success(`Application "${t.title}" created successfully`),await o?.(),e(`/apps/${t.name}`)}catch(e){G.error(e?.message||`Failed to create application`)}},[e,o,c]),p=(0,K.useCallback)(()=>{e(n?`/apps/${n}`:`/`)},[e,n]),m=(0,K.useCallback)(e=>{try{localStorage.setItem(pn,JSON.stringify(e)),G.info(`Draft saved`)}catch{}},[]);return(0,q.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4`,"data-testid":`create-app-page`,children:(0,q.jsx)(Pt,{availableObjects:l,initialDraft:u(),onComplete:f,onCancel:p,onSaveDraft:m})})}function hn(){let e=r(),{appName:n,editAppName:i}=t(),{apps:o,objects:c,refresh:l}=s(),u=d(),f=i||n,p=o.find(e=>e.name===f),m=(c||[]).map(e=>({name:e.name,label:e.label||e.name,pluralLabel:e.pluralLabel,icon:e.icon,selected:p?.navigation?.some(t=>t.type===`object`&&t.objectName===e.name)??!1})),h=(0,K.useMemo)(()=>{if(p)return{name:p.name,title:p.title||p.label||``,description:p.description||``,icon:p.icon||``,layout:p.layout||`sidebar`,navigation:p.navigation||[],branding:{logo:p.branding?.logo||p.logo||``,primaryColor:p.branding?.primaryColor||`#3b82f6`,favicon:p.branding?.favicon||p.favicon||``}}},[p]),g=(0,K.useCallback)(async t=>{try{let n=a(t),r={...p,...n},i=u?.getClient();i&&await i.meta.saveItem(`app`,t.name,r),G.success(`Application "${t.title}" updated successfully`),await l?.(),e(`/apps/${t.name}`)}catch(e){G.error(e?.message||`Failed to update application`)}},[e,l,u,p]),_=(0,K.useCallback)(()=>{e(n?`/apps/${n}`:`/`)},[e,n]),v=(0,K.useCallback)(e=>{try{localStorage.setItem(`objectui-edit-draft-${f}`,JSON.stringify(e)),G.info(`Draft saved`)}catch{}},[f]);return p?(0,q.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4`,"data-testid":`edit-app-page`,children:(0,q.jsx)(Pt,{availableObjects:m,initialDraft:h,onComplete:g,onCancel:_,onSaveDraft:v})}):(0,q.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4 text-center`,"data-testid":`edit-app-not-found`,children:(0,q.jsxs)(`p`,{className:`text-muted-foreground`,children:[`Application "`,f,`" not found.`]})})}function gn(){let e=r(),{dashboardName:n}=t(),i=d(),{dashboards:a,refresh:o}=s(),c=a?.find(e=>e.name===n),[l,f]=(0,K.useState)(()=>u(c)||{type:`dashboard`,name:n??``,title:n??``,columns:2,widgets:[]}),p=(0,K.useRef)(l);p.current=l;let m=(0,K.useCallback)(async e=>{try{if(i)return await i.update(`sys_dashboard`,n,e),o().catch(()=>{}),!0}catch{}return!1},[i,n,o]),h=(0,K.useCallback)(async e=>{let t=u(e);f(t),await m(t)},[m]);(0,K.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.key===`s`&&(e.preventDefault(),m(p.current).then(e=>{e&&G.success(`Dashboard saved`)}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[m]);let g=(0,K.useCallback)(e=>{let t=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(t),i=document.createElement(`a`);i.href=r,i.download=`${n||`dashboard`}.json`,i.click(),URL.revokeObjectURL(r),G.success(`Dashboard schema exported`)},[n]),_=(0,K.useCallback)(e=>{G.success(`Dashboard schema imported`),h(e)},[h]);return c?(0,q.jsxs)(`div`,{className:`h-full flex flex-col`,"data-testid":`dashboard-design-page`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-3 border-b px-4 py-3 sm:px-6`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>e(-1),className:`rounded p-1.5 text-muted-foreground hover:text-foreground`,"aria-label":`Go back`,"data-testid":`dashboard-design-back`,children:(0,q.jsx)(E,{className:`h-4 w-4`})}),(0,q.jsxs)(`h1`,{className:`text-lg font-semibold tracking-tight truncate`,children:[`Edit Dashboard: `,c.label||c.title||n]})]}),(0,q.jsx)(`div`,{className:`flex-1 overflow-auto p-4 sm:p-6`,children:(0,q.jsx)($t,{schema:l,onChange:h,onExport:g,onImport:_})})]}):(0,q.jsxs)(`div`,{className:`h-full flex items-center justify-center text-muted-foreground`,children:[`Dashboard "`,n,`" not found`]})}new Set(l),o.register(`page-designer`,lt,{namespace:`plugin-designer`,label:`Page Designer`,category:`Designer`,inputs:[{name:`canvas`,type:`code`,label:`Canvas Configuration`},{name:`components`,type:`code`,label:`Components`},{name:`showComponentTree`,type:`boolean`,label:`Show Component Tree`,defaultValue:!0},{name:`undoRedo`,type:`boolean`,label:`Undo/Redo`,defaultValue:!0},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`data-model-designer`,ht,{namespace:`plugin-designer`,label:`Data Model Designer`,category:`Designer`,inputs:[{name:`entities`,type:`code`,label:`Entities`},{name:`relationships`,type:`code`,label:`Relationships`},{name:`autoLayout`,type:`boolean`,label:`Auto Layout`,defaultValue:!1},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`process-designer`,bt,{namespace:`plugin-designer`,label:`Process Designer (BPMN)`,category:`Designer`,inputs:[{name:`processName`,type:`string`,label:`Process Name`},{name:`nodes`,type:`code`,label:`Nodes`},{name:`edges`,type:`code`,label:`Edges`},{name:`showMinimap`,type:`boolean`,label:`Show Minimap`,defaultValue:!1},{name:`showToolbar`,type:`boolean`,label:`Show Toolbar`,defaultValue:!0},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`report-designer`,Ct,{namespace:`plugin-designer`,label:`Report Designer`,category:`Designer`,inputs:[{name:`reportName`,type:`string`,label:`Report Name`},{name:`objectName`,type:`string`,label:`Data Source Object`},{name:`sections`,type:`code`,label:`Sections`},{name:`showToolbar`,type:`boolean`,label:`Show Toolbar`,defaultValue:!0},{name:`showPropertyPanel`,type:`boolean`,label:`Show Property Panel`,defaultValue:!0},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`app-creation-wizard`,Pt,{namespace:`plugin-designer`,label:`App Creation Wizard`,category:`Designer`,inputs:[{name:`availableObjects`,type:`code`,label:`Available Objects`},{name:`templates`,type:`code`,label:`Templates`},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`navigation-designer`,Ut,{namespace:`plugin-designer`,label:`Navigation Designer`,category:`Designer`,inputs:[{name:`items`,type:`code`,label:`Navigation Items`},{name:`showPreview`,type:`boolean`,label:`Show Preview`,defaultValue:!0},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`dashboard-editor`,$t,{namespace:`plugin-designer`,label:`Dashboard Editor`,category:`Designer`,inputs:[{name:`schema`,type:`code`,label:`Dashboard Schema`},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`branding-editor`,nn,{namespace:`plugin-designer`,label:`Branding Editor`,category:`Designer`,inputs:[{name:`branding`,type:`code`,label:`Branding Config`},{name:`appTitle`,type:`string`,label:`App Title`},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`object-manager`,sn,{namespace:`plugin-designer`,label:`Object Manager`,category:`Designer`,inputs:[{name:`objects`,type:`code`,label:`Object Definitions`},{name:`showSystemObjects`,type:`boolean`,label:`Show System Objects`,defaultValue:!0},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]}),o.register(`field-designer`,fn,{namespace:`plugin-designer`,label:`Field Designer`,category:`Designer`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`},{name:`fields`,type:`code`,label:`Field Definitions`},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}]});export{mn as CreateAppPage,gn as DashboardDesignPage,hn as EditAppPage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{g as t,r as n,y as r}from"./vendor-react-BgOXCBVK.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{g as t,r as n,y as r}from"./vendor-react-BgOXCBVK.js";import{Ar as i}from"./framework-B8ndNKrd.js";import{pn as a}from"./ui-components-mPgY5chB.js";var o=e(r(),1),s=n(),c=o.lazy(()=>t(()=>import(`./MonacoImpl-DStuouLX.js`),[],import.meta.url)),l=({schema:e,value:t,onChange:n})=>(0,s.jsx)(o.Suspense,{fallback:(0,s.jsx)(a,{className:`w-full h-[400px]`}),children:(0,s.jsx)(c,{value:t??e.value,language:e.language,theme:e.theme,height:e.height,onChange:n??e.onChange,readOnly:e.readOnly,className:e.className})});i.register(`code-editor`,l,{namespace:`plugin-editor`,label:`Code Editor`,category:`plugin`,inputs:[{name:`value`,type:`string`,label:`Code`,defaultValue:``},{name:`language`,type:`enum`,label:`Language`,enum:[`javascript`,`typescript`,`python`,`json`,`html`,`css`],defaultValue:`javascript`},{name:`theme`,type:`enum`,label:`Theme`,enum:[`vs-dark`,`light`],defaultValue:`vs-dark`},{name:`height`,type:`string`,label:`Height`,defaultValue:`400px`},{name:`readOnly`,type:`boolean`,label:`Read Only`,defaultValue:!1}],defaultProps:{value:`// Write your code here
|
|
2
2
|
console.log("Hello, World!");`,language:`javascript`,theme:`vs-dark`,height:`400px`,readOnly:!1}});export{l as CodeEditorRenderer};
|