@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.
Files changed (1046) hide show
  1. package/CHANGELOG.md +1099 -0
  2. package/dist/.objectui-sha +1 -1
  3. package/dist/assets/AdapterProvider-BpWMSLQH.js +3 -0
  4. package/dist/assets/{AiPendingActionsPage-DHam6u4d.js → AiPendingActionsPage-DAJUEqyC.js} +1 -1
  5. package/dist/assets/ApiConsolePage-CgXbOsFC.js +1 -0
  6. package/dist/assets/{AppDocsIndex-DMgpe3sR.js → AppDocsIndex-BgaIthca.js} +1 -1
  7. package/dist/assets/AppManagementPage-BvGPskyf.js +1 -0
  8. package/dist/assets/ApprovalsInboxPage-CxmrNrwP.js +1 -0
  9. package/dist/assets/{AuditLogPage-1tKc3thU.js → AuditLogPage-JahfQFnX.js} +1 -1
  10. package/dist/assets/{ComponentNavView-DBrVQtYX.js → ComponentNavView-DjiNAGys.js} +1 -1
  11. package/dist/assets/CreateViewDialog-CUvjCA1o.js +1 -0
  12. package/dist/assets/DashboardView-Cr-Q-16_.js +1 -0
  13. package/dist/assets/{DeveloperHubPage-DiecMLNF.js → DeveloperHubPage-DVKVm5k0.js} +1 -1
  14. package/dist/assets/{DocShell-CpxhuaS6.js → DocShell-C1VQpTIJ.js} +1 -1
  15. package/dist/assets/{ExpressionProvider-DD77oeF3.js → ExpressionProvider-qmd0nVCn.js} +1 -1
  16. package/dist/assets/FlowRunsPage-DL7MhL_U.js +1 -0
  17. package/dist/assets/{IntegrationsPage-DSw3u-B4.js → IntegrationsPage-Cq4mWRFh.js} +2 -2
  18. package/dist/assets/InterfaceListPage-CfhSyYAw.js +1 -0
  19. package/dist/assets/ManagedByBadge-DgsrLolr.js +1 -0
  20. package/dist/assets/MarketplaceAccessDenied-t8A0k9OX.js +1 -0
  21. package/dist/assets/MarketplaceInstalledPage-CRe2BiM2.js +1 -0
  22. package/dist/assets/MarketplacePackagePage-XSdk80Dd.js +4 -0
  23. package/dist/assets/MarketplacePage-CZjDbg5G.js +1 -0
  24. package/dist/assets/MetadataInspector-qQ85bFun.js +1 -0
  25. package/dist/assets/MetadataProvider-CnYsadFP.js +1 -0
  26. package/dist/assets/ObjectDataPage-D9kCSxvN.js +1 -0
  27. package/dist/assets/PageView-q1XSwpVo.js +1 -0
  28. package/dist/assets/ProfilePage-DeDhni58.js +1 -0
  29. package/dist/assets/{PublicFormsPage-C7OYcRBz.js → PublicFormsPage-BX6YXY8w.js} +1 -1
  30. package/dist/assets/RecordDetailView-DrVbrbaN.js +9 -0
  31. package/dist/assets/RecordFormPage-Bs9wX-M6.js +1 -0
  32. package/dist/assets/ReportDefaultInspector-BbbhDn34.js +3 -0
  33. package/dist/assets/ReportView-D_soBKL6.js +2 -0
  34. package/dist/assets/SearchResultsPage--Beqyte8.js +1 -0
  35. package/dist/assets/SettingsHub-BozLt7dt.js +1 -0
  36. package/dist/assets/SettingsView-CC3o9IGe.js +1 -0
  37. package/dist/assets/{SystemHubPage-CFpBjBvz.js → SystemHubPage-CBdrX4bx.js} +1 -1
  38. package/dist/assets/createDerive-C1PaRnFZ.js +1 -0
  39. package/dist/assets/data-adapter-yS4exRPT.js +24 -0
  40. package/dist/assets/framework-B8ndNKrd.js +38 -0
  41. package/dist/assets/getIcon-QmYxLBSb.js +1 -0
  42. package/dist/assets/{highlighted-body-OFNGDK62-I69SE9tf.js → highlighted-body-OFNGDK62-BPV_Giyg.js} +1 -1
  43. package/dist/assets/i18n-DLOdKEiB.js +9 -0
  44. package/dist/assets/index-DaeqUnH6.js +2 -0
  45. package/dist/assets/index-gaeYmjTV.css +2 -0
  46. package/dist/assets/infrastructure-ChmEYj6c.js +3 -0
  47. package/dist/assets/mermaid-GHXKKRXX-BrwYiPsC.js +1 -0
  48. package/dist/assets/metadata-admin-DqAvOmNf.js +25 -0
  49. package/dist/assets/plugin-calendar-CQVTjox_.js +1 -0
  50. package/dist/assets/plugin-charts-CBUIhVeW.js +7 -0
  51. package/dist/assets/plugin-chatbot-DsLGdfGx.js +120 -0
  52. package/dist/assets/plugin-dashboard-fdM1jm2j.js +6 -0
  53. package/dist/assets/plugin-form-Bv0Hi0E6.js +1 -0
  54. package/dist/assets/plugin-gantt-CRJpVrrP.js +63 -0
  55. package/dist/assets/plugin-grid-gHcTrjs3.js +8 -0
  56. package/dist/assets/plugin-kanban-CNm7DssD.js +1 -0
  57. package/dist/assets/plugin-map-TrYBEx8q.js +1 -0
  58. package/dist/assets/{plugin-markdown-C3ihtjLf.js → plugin-markdown-CbQeAjXv.js} +1 -1
  59. package/dist/assets/plugin-report-Bg1oh9SG.js +59 -0
  60. package/dist/assets/plugin-timeline-B30kCAGi.js +1 -0
  61. package/dist/assets/plugin-tree-Br5XanqO.js +1 -0
  62. package/dist/assets/plugin-view-CgDs-8T5.js +1 -0
  63. package/dist/assets/plugins-views-BxwTmeut.js +4 -0
  64. package/dist/assets/runtime-metadata-persistence-DDZN-tZg.js +1 -0
  65. package/dist/assets/{skeletons-Cs1pm-UR.js → skeletons-BWrJAbfN.js} +1 -1
  66. package/dist/assets/src-BBKXMp-o.js +19 -0
  67. package/dist/assets/src-CVuJHohL.js +1 -0
  68. package/dist/assets/{src-B67JaKZf.js → src-leh_hyM1.js} +1 -1
  69. package/dist/assets/ui-components-mPgY5chB.js +42 -0
  70. package/dist/assets/ui-layout-CRcyxP_X.js +1 -0
  71. package/dist/assets/{use-book-data-BpISrpLC.js → use-book-data-B2KPEJjv.js} +1 -1
  72. package/dist/assets/useSettingsLabel-Bl5L3RqQ.js +1 -0
  73. package/dist/assets/utils-L-_x2yPF.js +1 -0
  74. package/dist/assets/vendor-objectstack-DneBps14.js +155 -0
  75. package/dist/index.html +76 -4
  76. package/package.json +1 -1
  77. package/dist/assets/AdapterProvider-C11cY4c0.js +0 -2
  78. package/dist/assets/AdapterProvider-C11cY4c0.js.br +0 -0
  79. package/dist/assets/AdapterProvider-C11cY4c0.js.gz +0 -0
  80. package/dist/assets/AiPendingActionsPage-DHam6u4d.js.br +0 -0
  81. package/dist/assets/AiPendingActionsPage-DHam6u4d.js.gz +0 -0
  82. package/dist/assets/ApiConsolePage-BquGLVsn.js +0 -1
  83. package/dist/assets/ApiConsolePage-BquGLVsn.js.br +0 -0
  84. package/dist/assets/ApiConsolePage-BquGLVsn.js.gz +0 -0
  85. package/dist/assets/AppDocsIndex-DMgpe3sR.js.br +0 -0
  86. package/dist/assets/AppDocsIndex-DMgpe3sR.js.gz +0 -0
  87. package/dist/assets/AppManagementPage-Bw_HJtnj.js +0 -1
  88. package/dist/assets/AppManagementPage-Bw_HJtnj.js.br +0 -0
  89. package/dist/assets/AppManagementPage-Bw_HJtnj.js.gz +0 -0
  90. package/dist/assets/ApprovalsInboxPage-BieJRkeU.js +0 -1
  91. package/dist/assets/ApprovalsInboxPage-BieJRkeU.js.br +0 -0
  92. package/dist/assets/ApprovalsInboxPage-BieJRkeU.js.gz +0 -0
  93. package/dist/assets/AuditLogPage-1tKc3thU.js.br +0 -0
  94. package/dist/assets/AuditLogPage-1tKc3thU.js.gz +0 -0
  95. package/dist/assets/CreateViewDialog-BS4y-EfR.js +0 -1
  96. package/dist/assets/CreateViewDialog-BS4y-EfR.js.br +0 -0
  97. package/dist/assets/CreateViewDialog-BS4y-EfR.js.gz +0 -0
  98. package/dist/assets/DashboardView-BlFMYKJK.js +0 -1
  99. package/dist/assets/DashboardView-BlFMYKJK.js.br +0 -0
  100. package/dist/assets/DashboardView-BlFMYKJK.js.gz +0 -0
  101. package/dist/assets/DeveloperHubPage-DiecMLNF.js.br +0 -0
  102. package/dist/assets/DeveloperHubPage-DiecMLNF.js.gz +0 -0
  103. package/dist/assets/FlowRunsPage-D8wMDWjk.js +0 -1
  104. package/dist/assets/FlowRunsPage-D8wMDWjk.js.br +0 -0
  105. package/dist/assets/FlowRunsPage-D8wMDWjk.js.gz +0 -0
  106. package/dist/assets/IntegrationsPage-DSw3u-B4.js.br +0 -0
  107. package/dist/assets/IntegrationsPage-DSw3u-B4.js.gz +0 -0
  108. package/dist/assets/InterfaceListPage-CbwWqklU.js +0 -1
  109. package/dist/assets/InterfaceListPage-CbwWqklU.js.br +0 -0
  110. package/dist/assets/InterfaceListPage-CbwWqklU.js.gz +0 -0
  111. package/dist/assets/ManagedByBadge-CBwMKWiF.js +0 -1
  112. package/dist/assets/ManagedByBadge-CBwMKWiF.js.br +0 -0
  113. package/dist/assets/ManagedByBadge-CBwMKWiF.js.gz +0 -0
  114. package/dist/assets/MarketplaceAccessDenied-DEBuHOU-.js +0 -1
  115. package/dist/assets/MarketplaceAccessDenied-DEBuHOU-.js.br +0 -0
  116. package/dist/assets/MarketplaceAccessDenied-DEBuHOU-.js.gz +0 -0
  117. package/dist/assets/MarketplaceInstalledPage-D1VkI0Vo.js +0 -1
  118. package/dist/assets/MarketplaceInstalledPage-D1VkI0Vo.js.br +0 -0
  119. package/dist/assets/MarketplaceInstalledPage-D1VkI0Vo.js.gz +0 -0
  120. package/dist/assets/MarketplacePackagePage-cJJmubUp.js +0 -4
  121. package/dist/assets/MarketplacePackagePage-cJJmubUp.js.br +0 -0
  122. package/dist/assets/MarketplacePackagePage-cJJmubUp.js.gz +0 -0
  123. package/dist/assets/MarketplacePage-CyMpmsqJ.js +0 -1
  124. package/dist/assets/MarketplacePage-CyMpmsqJ.js.br +0 -0
  125. package/dist/assets/MarketplacePage-CyMpmsqJ.js.gz +0 -0
  126. package/dist/assets/MetadataInspector-D3Q9UYxF.js +0 -1
  127. package/dist/assets/MetadataInspector-D3Q9UYxF.js.br +0 -0
  128. package/dist/assets/MetadataInspector-D3Q9UYxF.js.gz +0 -0
  129. package/dist/assets/MetadataProvider-PtYALdF8.js +0 -1
  130. package/dist/assets/MetadataProvider-PtYALdF8.js.br +0 -0
  131. package/dist/assets/MetadataProvider-PtYALdF8.js.gz +0 -0
  132. package/dist/assets/ObjectDataPage-D_9SyqGu.js +0 -1
  133. package/dist/assets/ObjectDataPage-D_9SyqGu.js.br +0 -0
  134. package/dist/assets/ObjectDataPage-D_9SyqGu.js.gz +0 -0
  135. package/dist/assets/PageView-DE9Jb4nC.js +0 -1
  136. package/dist/assets/PageView-DE9Jb4nC.js.br +0 -0
  137. package/dist/assets/PageView-DE9Jb4nC.js.gz +0 -0
  138. package/dist/assets/ProfilePage-D6ZIjlTU.js +0 -1
  139. package/dist/assets/ProfilePage-D6ZIjlTU.js.br +0 -0
  140. package/dist/assets/ProfilePage-D6ZIjlTU.js.gz +0 -0
  141. package/dist/assets/PublicFormsPage-C7OYcRBz.js.br +0 -0
  142. package/dist/assets/PublicFormsPage-C7OYcRBz.js.gz +0 -0
  143. package/dist/assets/RecordDetailView-RvdjtkCZ.js +0 -9
  144. package/dist/assets/RecordDetailView-RvdjtkCZ.js.br +0 -0
  145. package/dist/assets/RecordDetailView-RvdjtkCZ.js.gz +0 -0
  146. package/dist/assets/RecordFormPage-C7Fn2jkc.js +0 -1
  147. package/dist/assets/RecordFormPage-C7Fn2jkc.js.br +0 -0
  148. package/dist/assets/RecordFormPage-C7Fn2jkc.js.gz +0 -0
  149. package/dist/assets/ReportDefaultInspector-By-3nQXp.js +0 -3
  150. package/dist/assets/ReportDefaultInspector-By-3nQXp.js.br +0 -0
  151. package/dist/assets/ReportDefaultInspector-By-3nQXp.js.gz +0 -0
  152. package/dist/assets/ReportView-DynZqTgH.js +0 -2
  153. package/dist/assets/ReportView-DynZqTgH.js.br +0 -0
  154. package/dist/assets/ReportView-DynZqTgH.js.gz +0 -0
  155. package/dist/assets/SearchResultsPage-seBReYj-.js +0 -1
  156. package/dist/assets/SearchResultsPage-seBReYj-.js.br +0 -0
  157. package/dist/assets/SearchResultsPage-seBReYj-.js.gz +0 -0
  158. package/dist/assets/SettingsHub-koseplY7.js +0 -1
  159. package/dist/assets/SettingsHub-koseplY7.js.br +0 -0
  160. package/dist/assets/SettingsHub-koseplY7.js.gz +0 -0
  161. package/dist/assets/SettingsView-W2hI4Z63.js +0 -1
  162. package/dist/assets/SettingsView-W2hI4Z63.js.br +0 -0
  163. package/dist/assets/SettingsView-W2hI4Z63.js.gz +0 -0
  164. package/dist/assets/SystemHubPage-CFpBjBvz.js.br +0 -0
  165. package/dist/assets/SystemHubPage-CFpBjBvz.js.gz +0 -0
  166. package/dist/assets/abap-CLvhMVsD.js.br +0 -0
  167. package/dist/assets/abap-CLvhMVsD.js.gz +0 -0
  168. package/dist/assets/abnfDiagram-N423BO3Z-Ck9FUrgJ.js.br +0 -0
  169. package/dist/assets/abnfDiagram-N423BO3Z-Ck9FUrgJ.js.gz +0 -0
  170. package/dist/assets/actionscript-3-Cs6JJXT5.js.br +0 -0
  171. package/dist/assets/actionscript-3-Cs6JJXT5.js.gz +0 -0
  172. package/dist/assets/ada-C5qYipkI.js.br +0 -0
  173. package/dist/assets/ada-C5qYipkI.js.gz +0 -0
  174. package/dist/assets/ahk-CA9gdOdF.js.br +0 -0
  175. package/dist/assets/ahk-CA9gdOdF.js.gz +0 -0
  176. package/dist/assets/ahk2-_6rzW9BS.js.br +0 -0
  177. package/dist/assets/ahk2-_6rzW9BS.js.gz +0 -0
  178. package/dist/assets/andromeeda-vGVdxbeo.js.br +0 -0
  179. package/dist/assets/andromeeda-vGVdxbeo.js.gz +0 -0
  180. package/dist/assets/angular-html-EvDzfMaC.js.br +0 -0
  181. package/dist/assets/angular-html-EvDzfMaC.js.gz +0 -0
  182. package/dist/assets/angular-ts-D_Fppbgk.js.br +0 -0
  183. package/dist/assets/angular-ts-D_Fppbgk.js.gz +0 -0
  184. package/dist/assets/apache-U0d_L8uA.js.br +0 -0
  185. package/dist/assets/apache-U0d_L8uA.js.gz +0 -0
  186. package/dist/assets/apex-KFGFyKwG.js.br +0 -0
  187. package/dist/assets/apex-KFGFyKwG.js.gz +0 -0
  188. package/dist/assets/apl-CMMvGKpa.js.br +0 -0
  189. package/dist/assets/apl-CMMvGKpa.js.gz +0 -0
  190. package/dist/assets/applescript-CCn79oCD.js.br +0 -0
  191. package/dist/assets/applescript-CCn79oCD.js.gz +0 -0
  192. package/dist/assets/ara-4CJ0cIlV.js.br +0 -0
  193. package/dist/assets/ara-4CJ0cIlV.js.gz +0 -0
  194. package/dist/assets/architectureDiagram-T3A2C74G-DJbnVK1q.js.br +0 -0
  195. package/dist/assets/architectureDiagram-T3A2C74G-DJbnVK1q.js.gz +0 -0
  196. package/dist/assets/asciidoc-SCjQUq34.js.br +0 -0
  197. package/dist/assets/asciidoc-SCjQUq34.js.gz +0 -0
  198. package/dist/assets/asm-Cmm7eHzH.js.br +0 -0
  199. package/dist/assets/asm-Cmm7eHzH.js.gz +0 -0
  200. package/dist/assets/astro-CYXUZjx4.js.br +0 -0
  201. package/dist/assets/astro-CYXUZjx4.js.gz +0 -0
  202. package/dist/assets/aurora-x-CDeNXAV0.js.br +0 -0
  203. package/dist/assets/aurora-x-CDeNXAV0.js.gz +0 -0
  204. package/dist/assets/awk-BWXHIvNe.js.br +0 -0
  205. package/dist/assets/awk-BWXHIvNe.js.gz +0 -0
  206. package/dist/assets/ayu-dark-DluEY0Gj.js.br +0 -0
  207. package/dist/assets/ayu-dark-DluEY0Gj.js.gz +0 -0
  208. package/dist/assets/ayu-light-C3h-C4tm.js.br +0 -0
  209. package/dist/assets/ayu-light-C3h-C4tm.js.gz +0 -0
  210. package/dist/assets/ayu-mirage-Bqwy1Gya.js.br +0 -0
  211. package/dist/assets/ayu-mirage-Bqwy1Gya.js.gz +0 -0
  212. package/dist/assets/ballerina-B7ZEbQpA.js.br +0 -0
  213. package/dist/assets/ballerina-B7ZEbQpA.js.gz +0 -0
  214. package/dist/assets/bat-qdxAdBWQ.js.br +0 -0
  215. package/dist/assets/bat-qdxAdBWQ.js.gz +0 -0
  216. package/dist/assets/beancount-D-usSTwE.js.br +0 -0
  217. package/dist/assets/beancount-D-usSTwE.js.gz +0 -0
  218. package/dist/assets/berry-DKpUyyne.js.br +0 -0
  219. package/dist/assets/berry-DKpUyyne.js.gz +0 -0
  220. package/dist/assets/bibtex-Ci_nEsc7.js.br +0 -0
  221. package/dist/assets/bibtex-Ci_nEsc7.js.gz +0 -0
  222. package/dist/assets/bicep-CUHmPFLl.js.br +0 -0
  223. package/dist/assets/bicep-CUHmPFLl.js.gz +0 -0
  224. package/dist/assets/bird2-CYIUgYqB.js.br +0 -0
  225. package/dist/assets/bird2-CYIUgYqB.js.gz +0 -0
  226. package/dist/assets/blade-mfXoORbc.js.br +0 -0
  227. package/dist/assets/blade-mfXoORbc.js.gz +0 -0
  228. package/dist/assets/blockDiagram-VBNYF7ZC-Qtci47Jq.js.br +0 -0
  229. package/dist/assets/blockDiagram-VBNYF7ZC-Qtci47Jq.js.gz +0 -0
  230. package/dist/assets/bsl-_VjlB9mv.js.br +0 -0
  231. package/dist/assets/bsl-_VjlB9mv.js.gz +0 -0
  232. package/dist/assets/c-mSN2GbH4.js.br +0 -0
  233. package/dist/assets/c-mSN2GbH4.js.gz +0 -0
  234. package/dist/assets/c3-D0apG41V.js.br +0 -0
  235. package/dist/assets/c3-D0apG41V.js.gz +0 -0
  236. package/dist/assets/c4Diagram-5PPSVZJV-DC9Uk9FW.js.br +0 -0
  237. package/dist/assets/c4Diagram-5PPSVZJV-DC9Uk9FW.js.gz +0 -0
  238. package/dist/assets/cadence-CQ2zXKGN.js.br +0 -0
  239. package/dist/assets/cadence-CQ2zXKGN.js.gz +0 -0
  240. package/dist/assets/cairo-DLTphjLi.js.br +0 -0
  241. package/dist/assets/cairo-DLTphjLi.js.gz +0 -0
  242. package/dist/assets/catppuccin-frappe-C9Q5zVZY.js.br +0 -0
  243. package/dist/assets/catppuccin-frappe-C9Q5zVZY.js.gz +0 -0
  244. package/dist/assets/catppuccin-latte-CtsyrtPq.js.br +0 -0
  245. package/dist/assets/catppuccin-latte-CtsyrtPq.js.gz +0 -0
  246. package/dist/assets/catppuccin-macchiato-R8nAf1vR.js.br +0 -0
  247. package/dist/assets/catppuccin-macchiato-R8nAf1vR.js.gz +0 -0
  248. package/dist/assets/catppuccin-mocha-DjuaAJKi.js.br +0 -0
  249. package/dist/assets/catppuccin-mocha-DjuaAJKi.js.gz +0 -0
  250. package/dist/assets/chapel-BG8u2Rih.js.br +0 -0
  251. package/dist/assets/chapel-BG8u2Rih.js.gz +0 -0
  252. package/dist/assets/chunk-2GRJ4B5K-C6KsYuNR.js.br +0 -0
  253. package/dist/assets/chunk-2GRJ4B5K-C6KsYuNR.js.gz +0 -0
  254. package/dist/assets/chunk-4I5QYGJK-CPsvNPUx.js.br +0 -0
  255. package/dist/assets/chunk-4I5QYGJK-CPsvNPUx.js.gz +0 -0
  256. package/dist/assets/chunk-5JV3BV7I-BrKM6vC-.js.br +0 -0
  257. package/dist/assets/chunk-5JV3BV7I-BrKM6vC-.js.gz +0 -0
  258. package/dist/assets/chunk-5RXB4S5H-CU_v2umt.js.br +0 -0
  259. package/dist/assets/chunk-5RXB4S5H-CU_v2umt.js.gz +0 -0
  260. package/dist/assets/chunk-5TONJI2A-Bdh0MHqz.js.br +0 -0
  261. package/dist/assets/chunk-5TONJI2A-Bdh0MHqz.js.gz +0 -0
  262. package/dist/assets/chunk-6Q2QTUOP-C_q0JPmG.js.br +0 -0
  263. package/dist/assets/chunk-6Q2QTUOP-C_q0JPmG.js.gz +0 -0
  264. package/dist/assets/chunk-7BUUIJ7U-Bb538aSH.js.br +0 -0
  265. package/dist/assets/chunk-7BUUIJ7U-Bb538aSH.js.gz +0 -0
  266. package/dist/assets/chunk-7Z6QIM7H-jM3JGv9o.js.br +0 -0
  267. package/dist/assets/chunk-7Z6QIM7H-jM3JGv9o.js.gz +0 -0
  268. package/dist/assets/chunk-GF5L2VYU-Dp_0e4Vj.js.br +0 -0
  269. package/dist/assets/chunk-GF5L2VYU-Dp_0e4Vj.js.gz +0 -0
  270. package/dist/assets/chunk-I66GZJ75-CLtbCU_E.js.br +0 -0
  271. package/dist/assets/chunk-I66GZJ75-CLtbCU_E.js.gz +0 -0
  272. package/dist/assets/chunk-J7OUQ5F2-C4uAdkrD.js.br +0 -0
  273. package/dist/assets/chunk-J7OUQ5F2-C4uAdkrD.js.gz +0 -0
  274. package/dist/assets/chunk-JG7HCLWE-lCTbN-f1.js.br +0 -0
  275. package/dist/assets/chunk-JG7HCLWE-lCTbN-f1.js.gz +0 -0
  276. package/dist/assets/chunk-JQJVKLGR-BlTMFaN6.js.br +0 -0
  277. package/dist/assets/chunk-JQJVKLGR-BlTMFaN6.js.gz +0 -0
  278. package/dist/assets/chunk-KEIR6QF5-ydf36Hye.js.br +0 -0
  279. package/dist/assets/chunk-KEIR6QF5-ydf36Hye.js.gz +0 -0
  280. package/dist/assets/chunk-NSK5VX7P-B7tNpEbR.js.br +0 -0
  281. package/dist/assets/chunk-NSK5VX7P-B7tNpEbR.js.gz +0 -0
  282. package/dist/assets/chunk-QR6OTTB3-B3mQWEI2.js.br +0 -0
  283. package/dist/assets/chunk-QR6OTTB3-B3mQWEI2.js.gz +0 -0
  284. package/dist/assets/chunk-R7FJI6CG-DsJHM8am.js.br +0 -0
  285. package/dist/assets/chunk-R7FJI6CG-DsJHM8am.js.gz +0 -0
  286. package/dist/assets/chunk-RYQCIY6F-B3DAS_Q-.js.br +0 -0
  287. package/dist/assets/chunk-RYQCIY6F-B3DAS_Q-.js.gz +0 -0
  288. package/dist/assets/chunk-U6XO7XAA-D-dXvZaW.js.br +0 -0
  289. package/dist/assets/chunk-U6XO7XAA-D-dXvZaW.js.gz +0 -0
  290. package/dist/assets/chunk-W5SLKNZC-DWOVkEVc.js.br +0 -0
  291. package/dist/assets/chunk-W5SLKNZC-DWOVkEVc.js.gz +0 -0
  292. package/dist/assets/chunk-WRU74C26-DR5g8owc.js.br +0 -0
  293. package/dist/assets/chunk-WRU74C26-DR5g8owc.js.gz +0 -0
  294. package/dist/assets/chunk-ZIRB5QZD-O39ZBUk3.js.br +0 -0
  295. package/dist/assets/chunk-ZIRB5QZD-O39ZBUk3.js.gz +0 -0
  296. package/dist/assets/clarity-CtfBBspg.js.br +0 -0
  297. package/dist/assets/clarity-CtfBBspg.js.gz +0 -0
  298. package/dist/assets/clojure-DqKBuwfJ.js.br +0 -0
  299. package/dist/assets/clojure-DqKBuwfJ.js.gz +0 -0
  300. package/dist/assets/cmake-Bj61d0ZC.js.br +0 -0
  301. package/dist/assets/cmake-Bj61d0ZC.js.gz +0 -0
  302. package/dist/assets/cobol-Bhp1bana.js.br +0 -0
  303. package/dist/assets/cobol-Bhp1bana.js.gz +0 -0
  304. package/dist/assets/codeql-oeQT6MSM.js.br +0 -0
  305. package/dist/assets/codeql-oeQT6MSM.js.gz +0 -0
  306. package/dist/assets/coffee-C17FjuDx.js.br +0 -0
  307. package/dist/assets/coffee-C17FjuDx.js.gz +0 -0
  308. package/dist/assets/common-lisp-Cv5bFMCO.js.br +0 -0
  309. package/dist/assets/common-lisp-Cv5bFMCO.js.gz +0 -0
  310. package/dist/assets/coq-DuBRPxYg.js.br +0 -0
  311. package/dist/assets/coq-DuBRPxYg.js.gz +0 -0
  312. package/dist/assets/cose-bilkent-JH36ORCC-CcXrYRrs.js.br +0 -0
  313. package/dist/assets/cose-bilkent-JH36ORCC-CcXrYRrs.js.gz +0 -0
  314. package/dist/assets/cpp-svqsdV-V.js.br +0 -0
  315. package/dist/assets/cpp-svqsdV-V.js.gz +0 -0
  316. package/dist/assets/createDerive-Byjn6nRi.js +0 -1
  317. package/dist/assets/createDerive-Byjn6nRi.js.br +0 -0
  318. package/dist/assets/createDerive-Byjn6nRi.js.gz +0 -0
  319. package/dist/assets/crystal-D9vhA8G_.js.br +0 -0
  320. package/dist/assets/crystal-D9vhA8G_.js.gz +0 -0
  321. package/dist/assets/csharp-oqKa8noW.js.br +0 -0
  322. package/dist/assets/csharp-oqKa8noW.js.gz +0 -0
  323. package/dist/assets/css-DkbmQzJL.js.br +0 -0
  324. package/dist/assets/css-DkbmQzJL.js.gz +0 -0
  325. package/dist/assets/csv-Dx-8-gkx.js.br +0 -0
  326. package/dist/assets/csv-Dx-8-gkx.js.gz +0 -0
  327. package/dist/assets/cue-CE9AQfxI.js.br +0 -0
  328. package/dist/assets/cue-CE9AQfxI.js.gz +0 -0
  329. package/dist/assets/cynefinDiagram-MW4NZA55-DuPIOMPB.js.br +0 -0
  330. package/dist/assets/cynefinDiagram-MW4NZA55-DuPIOMPB.js.gz +0 -0
  331. package/dist/assets/cypher-ClKdZ_lG.js.br +0 -0
  332. package/dist/assets/cypher-ClKdZ_lG.js.gz +0 -0
  333. package/dist/assets/cytoscape.esm-B-NFISlW.js.br +0 -0
  334. package/dist/assets/cytoscape.esm-B-NFISlW.js.gz +0 -0
  335. package/dist/assets/d-qD-0Kul2.js.br +0 -0
  336. package/dist/assets/d-qD-0Kul2.js.gz +0 -0
  337. package/dist/assets/dagre-Buvkdvvj.js.br +0 -0
  338. package/dist/assets/dagre-Buvkdvvj.js.gz +0 -0
  339. package/dist/assets/dagre-VZM6K2ZE-CHbs07zF.js.br +0 -0
  340. package/dist/assets/dagre-VZM6K2ZE-CHbs07zF.js.gz +0 -0
  341. package/dist/assets/dark-plus-Cs2F2srj.js.br +0 -0
  342. package/dist/assets/dark-plus-Cs2F2srj.js.gz +0 -0
  343. package/dist/assets/dart-CnvKMtbv.js.br +0 -0
  344. package/dist/assets/dart-CnvKMtbv.js.gz +0 -0
  345. package/dist/assets/data-adapter-BJj1HN8X.js +0 -24
  346. package/dist/assets/data-adapter-BJj1HN8X.js.br +0 -0
  347. package/dist/assets/data-adapter-BJj1HN8X.js.gz +0 -0
  348. package/dist/assets/dax-BkyTk9wS.js.br +0 -0
  349. package/dist/assets/dax-BkyTk9wS.js.gz +0 -0
  350. package/dist/assets/desktop-Dlh5hvp9.js.br +0 -0
  351. package/dist/assets/desktop-Dlh5hvp9.js.gz +0 -0
  352. package/dist/assets/diagram-7IWD3JNH-sPS-Y-CP.js.br +0 -0
  353. package/dist/assets/diagram-7IWD3JNH-sPS-Y-CP.js.gz +0 -0
  354. package/dist/assets/diagram-B4RE2ZJO-C4Essr7L.js.br +0 -0
  355. package/dist/assets/diagram-B4RE2ZJO-C4Essr7L.js.gz +0 -0
  356. package/dist/assets/diagram-LBJQPF4R-CluEJ_Yg.js.br +0 -0
  357. package/dist/assets/diagram-LBJQPF4R-CluEJ_Yg.js.gz +0 -0
  358. package/dist/assets/diagram-Q27KOJAE-D4lem9jQ.js.br +0 -0
  359. package/dist/assets/diagram-Q27KOJAE-D4lem9jQ.js.gz +0 -0
  360. package/dist/assets/diagram-UB23O5K3-Bfj6mHJD.js.br +0 -0
  361. package/dist/assets/diagram-UB23O5K3-Bfj6mHJD.js.gz +0 -0
  362. package/dist/assets/diff-woXpYk--.js.br +0 -0
  363. package/dist/assets/diff-woXpYk--.js.gz +0 -0
  364. package/dist/assets/dist-B7OHp69Q.js.br +0 -0
  365. package/dist/assets/dist-B7OHp69Q.js.gz +0 -0
  366. package/dist/assets/dist-D3VfqzjO.js.br +0 -0
  367. package/dist/assets/dist-D3VfqzjO.js.gz +0 -0
  368. package/dist/assets/docker-IyjqRm3v.js.br +0 -0
  369. package/dist/assets/docker-IyjqRm3v.js.gz +0 -0
  370. package/dist/assets/dotenv-_5a1GRtc.js.br +0 -0
  371. package/dist/assets/dotenv-_5a1GRtc.js.gz +0 -0
  372. package/dist/assets/dracula-BHWKrbxM.js.br +0 -0
  373. package/dist/assets/dracula-BHWKrbxM.js.gz +0 -0
  374. package/dist/assets/dracula-soft-5eyTD99u.js.br +0 -0
  375. package/dist/assets/dracula-soft-5eyTD99u.js.gz +0 -0
  376. package/dist/assets/dream-maker-DW3nJb8Q.js.br +0 -0
  377. package/dist/assets/dream-maker-DW3nJb8Q.js.gz +0 -0
  378. package/dist/assets/drillUrlFilters-DHAQHZbx.js.br +0 -0
  379. package/dist/assets/drillUrlFilters-DHAQHZbx.js.gz +0 -0
  380. package/dist/assets/ebnfDiagram-BXEA7PRR-BKXyHLd_.js.br +0 -0
  381. package/dist/assets/ebnfDiagram-BXEA7PRR-BKXyHLd_.js.gz +0 -0
  382. package/dist/assets/edge-DVm6-hiM.js.br +0 -0
  383. package/dist/assets/edge-DVm6-hiM.js.gz +0 -0
  384. package/dist/assets/elixir-BQoS1tEv.js.br +0 -0
  385. package/dist/assets/elixir-BQoS1tEv.js.gz +0 -0
  386. package/dist/assets/elm-D_TZK0Oc.js.br +0 -0
  387. package/dist/assets/elm-D_TZK0Oc.js.gz +0 -0
  388. package/dist/assets/emacs-lisp-c_oH4hRZ.js.br +0 -0
  389. package/dist/assets/emacs-lisp-c_oH4hRZ.js.gz +0 -0
  390. package/dist/assets/erDiagram-JOGREHBK-B6_uGYAF.js.br +0 -0
  391. package/dist/assets/erDiagram-JOGREHBK-B6_uGYAF.js.gz +0 -0
  392. package/dist/assets/erb-DFs7gCnY.js.br +0 -0
  393. package/dist/assets/erb-DFs7gCnY.js.gz +0 -0
  394. package/dist/assets/erlang-Cphh6RMH.js.br +0 -0
  395. package/dist/assets/erlang-Cphh6RMH.js.gz +0 -0
  396. package/dist/assets/everforest-dark-sB-x3p7T.js.br +0 -0
  397. package/dist/assets/everforest-dark-sB-x3p7T.js.gz +0 -0
  398. package/dist/assets/everforest-light-Df2xbC6M.js.br +0 -0
  399. package/dist/assets/everforest-light-Df2xbC6M.js.gz +0 -0
  400. package/dist/assets/exceljs.min-BYqCKPdJ.js.br +0 -0
  401. package/dist/assets/exceljs.min-BYqCKPdJ.js.gz +0 -0
  402. package/dist/assets/fennel-DQxkIbk2.js.br +0 -0
  403. package/dist/assets/fennel-DQxkIbk2.js.gz +0 -0
  404. package/dist/assets/fish-BJitypiv.js.br +0 -0
  405. package/dist/assets/fish-BJitypiv.js.gz +0 -0
  406. package/dist/assets/fluent-C03EYrpw.js.br +0 -0
  407. package/dist/assets/fluent-C03EYrpw.js.gz +0 -0
  408. package/dist/assets/fortran-fixed-form-DEKoE2YW.js.br +0 -0
  409. package/dist/assets/fortran-fixed-form-DEKoE2YW.js.gz +0 -0
  410. package/dist/assets/fortran-free-form-CYNrtFtB.js.br +0 -0
  411. package/dist/assets/fortran-free-form-CYNrtFtB.js.gz +0 -0
  412. package/dist/assets/framework-DDZiA4ii.js +0 -8
  413. package/dist/assets/framework-DDZiA4ii.js.br +0 -0
  414. package/dist/assets/framework-DDZiA4ii.js.gz +0 -0
  415. package/dist/assets/fsharp-D13ZGOAj.js.br +0 -0
  416. package/dist/assets/fsharp-D13ZGOAj.js.gz +0 -0
  417. package/dist/assets/ganttDiagram-PKOTCBZU-Cip5kKH4.js.br +0 -0
  418. package/dist/assets/ganttDiagram-PKOTCBZU-Cip5kKH4.js.gz +0 -0
  419. package/dist/assets/gdresource-xMC7jr7x.js.br +0 -0
  420. package/dist/assets/gdresource-xMC7jr7x.js.gz +0 -0
  421. package/dist/assets/gdscript-DYvRD3hg.js.br +0 -0
  422. package/dist/assets/gdscript-DYvRD3hg.js.gz +0 -0
  423. package/dist/assets/gdshader-CBce3t8t.js.br +0 -0
  424. package/dist/assets/gdshader-CBce3t8t.js.gz +0 -0
  425. package/dist/assets/genie-CV2tkWYe.js.br +0 -0
  426. package/dist/assets/genie-CV2tkWYe.js.gz +0 -0
  427. package/dist/assets/getIcon-DGZbbWGj.js +0 -1
  428. package/dist/assets/gherkin-DExj1W_8.js.br +0 -0
  429. package/dist/assets/gherkin-DExj1W_8.js.gz +0 -0
  430. package/dist/assets/git-commit-BSykSTBG.js.br +0 -0
  431. package/dist/assets/git-commit-BSykSTBG.js.gz +0 -0
  432. package/dist/assets/gitGraphDiagram-DS77QQ5N-CF75OjHf.js.br +0 -0
  433. package/dist/assets/gitGraphDiagram-DS77QQ5N-CF75OjHf.js.gz +0 -0
  434. package/dist/assets/github-dark-C-LZuMrd.js.br +0 -0
  435. package/dist/assets/github-dark-C-LZuMrd.js.gz +0 -0
  436. package/dist/assets/github-dark-default-DXG-b-1a.js.br +0 -0
  437. package/dist/assets/github-dark-default-DXG-b-1a.js.gz +0 -0
  438. package/dist/assets/github-dark-dimmed-Bx1FflLF.js.br +0 -0
  439. package/dist/assets/github-dark-dimmed-Bx1FflLF.js.gz +0 -0
  440. package/dist/assets/github-dark-high-contrast-B_tTalzw.js.br +0 -0
  441. package/dist/assets/github-dark-high-contrast-B_tTalzw.js.gz +0 -0
  442. package/dist/assets/github-light-EUqPIrTm.js.br +0 -0
  443. package/dist/assets/github-light-EUqPIrTm.js.gz +0 -0
  444. package/dist/assets/github-light-default-BXViO-2h.js.br +0 -0
  445. package/dist/assets/github-light-default-BXViO-2h.js.gz +0 -0
  446. package/dist/assets/github-light-high-contrast-B68TUdTA.js.br +0 -0
  447. package/dist/assets/github-light-high-contrast-B68TUdTA.js.gz +0 -0
  448. package/dist/assets/gleam-CSRkHgEL.js.br +0 -0
  449. package/dist/assets/gleam-CSRkHgEL.js.gz +0 -0
  450. package/dist/assets/glimmer-js-Cpr0NJvA.js.br +0 -0
  451. package/dist/assets/glimmer-js-Cpr0NJvA.js.gz +0 -0
  452. package/dist/assets/glimmer-ts-CYbTSzY6.js.br +0 -0
  453. package/dist/assets/glimmer-ts-CYbTSzY6.js.gz +0 -0
  454. package/dist/assets/glsl-C3yOxx6A.js.br +0 -0
  455. package/dist/assets/glsl-C3yOxx6A.js.gz +0 -0
  456. package/dist/assets/gn-ilITqXS6.js.br +0 -0
  457. package/dist/assets/gn-ilITqXS6.js.gz +0 -0
  458. package/dist/assets/gnuplot-7GGW24-e.js.br +0 -0
  459. package/dist/assets/gnuplot-7GGW24-e.js.gz +0 -0
  460. package/dist/assets/go-rLFTqkRN.js.br +0 -0
  461. package/dist/assets/go-rLFTqkRN.js.gz +0 -0
  462. package/dist/assets/graphlib-DS17s2tU.js.br +0 -0
  463. package/dist/assets/graphlib-DS17s2tU.js.gz +0 -0
  464. package/dist/assets/graphql-DlruBr94.js.br +0 -0
  465. package/dist/assets/graphql-DlruBr94.js.gz +0 -0
  466. package/dist/assets/groovy-CacY0gHj.js.br +0 -0
  467. package/dist/assets/groovy-CacY0gHj.js.gz +0 -0
  468. package/dist/assets/gruvbox-dark-hard-C820rvS2.js.br +0 -0
  469. package/dist/assets/gruvbox-dark-hard-C820rvS2.js.gz +0 -0
  470. package/dist/assets/gruvbox-dark-medium-BPjhmG05.js.br +0 -0
  471. package/dist/assets/gruvbox-dark-medium-BPjhmG05.js.gz +0 -0
  472. package/dist/assets/gruvbox-dark-soft-MrdJrrXF.js.br +0 -0
  473. package/dist/assets/gruvbox-dark-soft-MrdJrrXF.js.gz +0 -0
  474. package/dist/assets/gruvbox-light-hard-BC_s9l72.js.br +0 -0
  475. package/dist/assets/gruvbox-light-hard-BC_s9l72.js.gz +0 -0
  476. package/dist/assets/gruvbox-light-medium-BAWPOn9u.js.br +0 -0
  477. package/dist/assets/gruvbox-light-medium-BAWPOn9u.js.gz +0 -0
  478. package/dist/assets/gruvbox-light-soft-BSMLrYjP.js.br +0 -0
  479. package/dist/assets/gruvbox-light-soft-BSMLrYjP.js.gz +0 -0
  480. package/dist/assets/hack-Cn178EEI.js.br +0 -0
  481. package/dist/assets/hack-Cn178EEI.js.gz +0 -0
  482. package/dist/assets/haml-ReV9wHjP.js.br +0 -0
  483. package/dist/assets/haml-ReV9wHjP.js.gz +0 -0
  484. package/dist/assets/handlebars-D74Ug8_P.js.br +0 -0
  485. package/dist/assets/handlebars-D74Ug8_P.js.gz +0 -0
  486. package/dist/assets/haskell-D8IpX4py.js.br +0 -0
  487. package/dist/assets/haskell-D8IpX4py.js.gz +0 -0
  488. package/dist/assets/haxe-C8oCnwJJ.js.br +0 -0
  489. package/dist/assets/haxe-C8oCnwJJ.js.gz +0 -0
  490. package/dist/assets/hcl-Dh228itO.js.br +0 -0
  491. package/dist/assets/hcl-Dh228itO.js.gz +0 -0
  492. package/dist/assets/hjson-CxZEssPk.js.br +0 -0
  493. package/dist/assets/hjson-CxZEssPk.js.gz +0 -0
  494. package/dist/assets/hlsl-Cvrh5tZx.js.br +0 -0
  495. package/dist/assets/hlsl-Cvrh5tZx.js.gz +0 -0
  496. package/dist/assets/horizon-CE9ld1lL.js.br +0 -0
  497. package/dist/assets/horizon-CE9ld1lL.js.gz +0 -0
  498. package/dist/assets/horizon-bright-DSNQnXHK.js.br +0 -0
  499. package/dist/assets/horizon-bright-DSNQnXHK.js.gz +0 -0
  500. package/dist/assets/houston-CsvMBhTu.js.br +0 -0
  501. package/dist/assets/houston-CsvMBhTu.js.gz +0 -0
  502. package/dist/assets/html-BPYeLA3q.js.br +0 -0
  503. package/dist/assets/html-BPYeLA3q.js.gz +0 -0
  504. package/dist/assets/http-Dy2ncae7.js.br +0 -0
  505. package/dist/assets/http-Dy2ncae7.js.gz +0 -0
  506. package/dist/assets/hurl-Cb5XgwOM.js.br +0 -0
  507. package/dist/assets/hurl-Cb5XgwOM.js.gz +0 -0
  508. package/dist/assets/hxml-Dcm88srW.js.br +0 -0
  509. package/dist/assets/hxml-Dcm88srW.js.gz +0 -0
  510. package/dist/assets/hy-CZbG8q4J.js.br +0 -0
  511. package/dist/assets/hy-CZbG8q4J.js.gz +0 -0
  512. package/dist/assets/i18n-Darz-xgN.js +0 -9
  513. package/dist/assets/i18n-Darz-xgN.js.br +0 -0
  514. package/dist/assets/i18n-Darz-xgN.js.gz +0 -0
  515. package/dist/assets/imba-DsUTQ-LC.js.br +0 -0
  516. package/dist/assets/imba-DsUTQ-LC.js.gz +0 -0
  517. package/dist/assets/index-0lJaiIcB.js +0 -2
  518. package/dist/assets/index-0lJaiIcB.js.br +0 -0
  519. package/dist/assets/index-0lJaiIcB.js.gz +0 -0
  520. package/dist/assets/index-VKN7CDwN.css +0 -2
  521. package/dist/assets/index-VKN7CDwN.css.br +0 -0
  522. package/dist/assets/index-VKN7CDwN.css.gz +0 -0
  523. package/dist/assets/infrastructure-DG9xHrYB.js +0 -3
  524. package/dist/assets/infrastructure-DG9xHrYB.js.br +0 -0
  525. package/dist/assets/infrastructure-DG9xHrYB.js.gz +0 -0
  526. package/dist/assets/ini-B5eOa1yu.js.br +0 -5
  527. package/dist/assets/ini-B5eOa1yu.js.gz +0 -0
  528. package/dist/assets/ishikawaDiagram-WSZJBQD7-D8FhFMwb.js.br +0 -0
  529. package/dist/assets/ishikawaDiagram-WSZJBQD7-D8FhFMwb.js.gz +0 -0
  530. package/dist/assets/java-CCLYh7Ws.js.br +0 -0
  531. package/dist/assets/java-CCLYh7Ws.js.gz +0 -0
  532. package/dist/assets/javascript-B3ZoUvGD.js.br +0 -0
  533. package/dist/assets/javascript-B3ZoUvGD.js.gz +0 -0
  534. package/dist/assets/jinja-I6vrZFw_.js.br +0 -0
  535. package/dist/assets/jinja-I6vrZFw_.js.gz +0 -0
  536. package/dist/assets/jison-C7uQeUlv.js.br +0 -0
  537. package/dist/assets/jison-C7uQeUlv.js.gz +0 -0
  538. package/dist/assets/journeyDiagram-NVQOT4AX-C1y_DqRe.js.br +0 -0
  539. package/dist/assets/journeyDiagram-NVQOT4AX-C1y_DqRe.js.gz +0 -0
  540. package/dist/assets/json-DYyUca0x.js.br +0 -0
  541. package/dist/assets/json-DYyUca0x.js.gz +0 -0
  542. package/dist/assets/json5-BR5RXkoi.js.br +0 -0
  543. package/dist/assets/json5-BR5RXkoi.js.gz +0 -0
  544. package/dist/assets/jsonc-CYpm1nAK.js.br +0 -0
  545. package/dist/assets/jsonc-CYpm1nAK.js.gz +0 -0
  546. package/dist/assets/jsonl-CmCQp5Yx.js.br +0 -0
  547. package/dist/assets/jsonl-CmCQp5Yx.js.gz +0 -0
  548. package/dist/assets/jsonnet-CJTPZ8u_.js.br +0 -0
  549. package/dist/assets/jsonnet-CJTPZ8u_.js.gz +0 -0
  550. package/dist/assets/jssm-DXw9l8Rf.js.br +0 -0
  551. package/dist/assets/jssm-DXw9l8Rf.js.gz +0 -0
  552. package/dist/assets/jsx-Cb6Vub3Y.js.br +0 -0
  553. package/dist/assets/jsx-Cb6Vub3Y.js.gz +0 -0
  554. package/dist/assets/julia-BIoAlrTe.js.br +0 -0
  555. package/dist/assets/julia-BIoAlrTe.js.gz +0 -0
  556. package/dist/assets/just-CwqxWwqp.js.br +0 -0
  557. package/dist/assets/just-CwqxWwqp.js.gz +0 -0
  558. package/dist/assets/kanagawa-dragon-Bozd7klA.js.br +0 -0
  559. package/dist/assets/kanagawa-dragon-Bozd7klA.js.gz +0 -0
  560. package/dist/assets/kanagawa-lotus-BmuOG9ZW.js.br +0 -0
  561. package/dist/assets/kanagawa-lotus-BmuOG9ZW.js.gz +0 -0
  562. package/dist/assets/kanagawa-wave-BML5mF2J.js.br +0 -0
  563. package/dist/assets/kanagawa-wave-BML5mF2J.js.gz +0 -0
  564. package/dist/assets/kanban-definition-27J2QSJJ-DIUOavva.js.br +0 -0
  565. package/dist/assets/kanban-definition-27J2QSJJ-DIUOavva.js.gz +0 -0
  566. package/dist/assets/katex-CXMH3UgJ.js.br +0 -0
  567. package/dist/assets/katex-CXMH3UgJ.js.gz +0 -0
  568. package/dist/assets/kdl-CsD5j6eV.js.br +0 -0
  569. package/dist/assets/kdl-CsD5j6eV.js.gz +0 -0
  570. package/dist/assets/kotlin-DhhofPvG.js.br +0 -0
  571. package/dist/assets/kotlin-DhhofPvG.js.gz +0 -0
  572. package/dist/assets/kusto-C7mF5XQf.js.br +0 -0
  573. package/dist/assets/kusto-C7mF5XQf.js.gz +0 -0
  574. package/dist/assets/laserwave-C_8bwKvT.js.br +0 -0
  575. package/dist/assets/laserwave-C_8bwKvT.js.gz +0 -0
  576. package/dist/assets/latex-D7YcOmGi.js.br +0 -0
  577. package/dist/assets/latex-D7YcOmGi.js.gz +0 -0
  578. package/dist/assets/lean-CewbzKMR.js.br +0 -0
  579. package/dist/assets/lean-CewbzKMR.js.gz +0 -0
  580. package/dist/assets/less-DVTAwKKz.js.br +0 -0
  581. package/dist/assets/less-DVTAwKKz.js.gz +0 -0
  582. package/dist/assets/light-plus-DVQuIRkW.js.br +0 -0
  583. package/dist/assets/light-plus-DVQuIRkW.js.gz +0 -0
  584. package/dist/assets/liquid-DZU1d9jH.js.br +0 -0
  585. package/dist/assets/liquid-DZU1d9jH.js.gz +0 -0
  586. package/dist/assets/llvm-DqHOMS-s.js.br +0 -0
  587. package/dist/assets/llvm-DqHOMS-s.js.gz +0 -0
  588. package/dist/assets/log-BNLmms1o.js.br +0 -0
  589. package/dist/assets/log-BNLmms1o.js.gz +0 -0
  590. package/dist/assets/logo-Cluzi2Zq.js.br +0 -0
  591. package/dist/assets/logo-Cluzi2Zq.js.gz +0 -0
  592. package/dist/assets/lua-tuq8Rev2.js.br +0 -0
  593. package/dist/assets/lua-tuq8Rev2.js.gz +0 -0
  594. package/dist/assets/luau-C2pBCSgt.js.br +0 -0
  595. package/dist/assets/luau-C2pBCSgt.js.gz +0 -0
  596. package/dist/assets/make-Dixweg8N.js.br +0 -0
  597. package/dist/assets/make-Dixweg8N.js.gz +0 -0
  598. package/dist/assets/map-BaFkSB1l.js.br +0 -0
  599. package/dist/assets/map-BaFkSB1l.js.gz +0 -0
  600. package/dist/assets/maplibre-gl-DPzMTNDD.js.br +0 -0
  601. package/dist/assets/maplibre-gl-DPzMTNDD.js.gz +0 -0
  602. package/dist/assets/maplibre-gl-shared.mjs.br +0 -0
  603. package/dist/assets/maplibre-gl-shared.mjs.gz +0 -0
  604. package/dist/assets/maplibre-gl-worker.mjs.br +0 -0
  605. package/dist/assets/maplibre-gl-worker.mjs.gz +0 -0
  606. package/dist/assets/markdown-BYOwaDjH.js.br +0 -0
  607. package/dist/assets/markdown-BYOwaDjH.js.gz +0 -0
  608. package/dist/assets/marko-B27e1lfg.js.br +0 -0
  609. package/dist/assets/marko-B27e1lfg.js.gz +0 -0
  610. package/dist/assets/material-theme-Bm3Qr25_.js.br +0 -0
  611. package/dist/assets/material-theme-Bm3Qr25_.js.gz +0 -0
  612. package/dist/assets/material-theme-darker-2IIEA8gg.js.br +0 -0
  613. package/dist/assets/material-theme-darker-2IIEA8gg.js.gz +0 -0
  614. package/dist/assets/material-theme-lighter-uhdI0v04.js.br +0 -0
  615. package/dist/assets/material-theme-lighter-uhdI0v04.js.gz +0 -0
  616. package/dist/assets/material-theme-ocean-CHQ94UKr.js.br +0 -0
  617. package/dist/assets/material-theme-ocean-CHQ94UKr.js.gz +0 -0
  618. package/dist/assets/material-theme-palenight-B5W6OYN7.js.br +0 -0
  619. package/dist/assets/material-theme-palenight-B5W6OYN7.js.gz +0 -0
  620. package/dist/assets/matlab-D7qyCx1q.js.br +0 -0
  621. package/dist/assets/matlab-D7qyCx1q.js.gz +0 -0
  622. package/dist/assets/mdc-4Lg-bkXO.js.br +0 -0
  623. package/dist/assets/mdc-4Lg-bkXO.js.gz +0 -0
  624. package/dist/assets/mdx-DQZ5AkYe.js.br +0 -0
  625. package/dist/assets/mdx-DQZ5AkYe.js.gz +0 -0
  626. package/dist/assets/mermaid-BxpfTIzt.js.br +0 -0
  627. package/dist/assets/mermaid-BxpfTIzt.js.gz +0 -0
  628. package/dist/assets/mermaid-GHXKKRXX-BKnA-Tt-.js +0 -1
  629. package/dist/assets/mermaid-parser.core-BbBeSajF.js.br +0 -0
  630. package/dist/assets/mermaid-parser.core-BbBeSajF.js.gz +0 -0
  631. package/dist/assets/mermaid.core-Dc9p2r4P.js.br +0 -0
  632. package/dist/assets/mermaid.core-Dc9p2r4P.js.gz +0 -0
  633. package/dist/assets/metadata-admin-CQrvfQZw.js +0 -25
  634. package/dist/assets/metadata-admin-CQrvfQZw.js.br +0 -0
  635. package/dist/assets/metadata-admin-CQrvfQZw.js.gz +0 -0
  636. package/dist/assets/min-dark-BSWPekZh.js.br +0 -0
  637. package/dist/assets/min-dark-BSWPekZh.js.gz +0 -0
  638. package/dist/assets/min-light-DDpmG2fV.js.br +0 -0
  639. package/dist/assets/min-light-DDpmG2fV.js.gz +0 -0
  640. package/dist/assets/mindmap-definition-FAOFIHXS-TIsZfgu-.js.br +0 -0
  641. package/dist/assets/mindmap-definition-FAOFIHXS-TIsZfgu-.js.gz +0 -0
  642. package/dist/assets/mipsasm-BMqwQI7S.js.br +0 -0
  643. package/dist/assets/mipsasm-BMqwQI7S.js.gz +0 -0
  644. package/dist/assets/mojo-fg40_ntQ.js.br +0 -0
  645. package/dist/assets/mojo-fg40_ntQ.js.gz +0 -0
  646. package/dist/assets/monokai-B_bV9PQ9.js.br +0 -0
  647. package/dist/assets/monokai-B_bV9PQ9.js.gz +0 -0
  648. package/dist/assets/moonbit-DgjMoLWr.js.br +0 -0
  649. package/dist/assets/moonbit-DgjMoLWr.js.gz +0 -0
  650. package/dist/assets/move-BYnGhZoM.js.br +0 -0
  651. package/dist/assets/move-BYnGhZoM.js.gz +0 -0
  652. package/dist/assets/narrat-_X_XdTYD.js.br +0 -0
  653. package/dist/assets/narrat-_X_XdTYD.js.gz +0 -0
  654. package/dist/assets/nextflow-BJtWHP5T.js.br +0 -0
  655. package/dist/assets/nextflow-BJtWHP5T.js.gz +0 -0
  656. package/dist/assets/nextflow-groovy-DJMQeKeT.js.br +0 -0
  657. package/dist/assets/nextflow-groovy-DJMQeKeT.js.gz +0 -0
  658. package/dist/assets/nginx-nAXs0UmH.js.br +0 -0
  659. package/dist/assets/nginx-nAXs0UmH.js.gz +0 -0
  660. package/dist/assets/night-owl-DhmEMT88.js.br +0 -0
  661. package/dist/assets/night-owl-DhmEMT88.js.gz +0 -0
  662. package/dist/assets/night-owl-light-eJ-hLW7d.js.br +0 -0
  663. package/dist/assets/night-owl-light-eJ-hLW7d.js.gz +0 -0
  664. package/dist/assets/nim-CCdQjvI2.js.br +0 -0
  665. package/dist/assets/nim-CCdQjvI2.js.gz +0 -0
  666. package/dist/assets/nix-IvuFDN5E.js.br +0 -0
  667. package/dist/assets/nix-IvuFDN5E.js.gz +0 -0
  668. package/dist/assets/nord-Cb4Vim4T.js.br +0 -0
  669. package/dist/assets/nord-Cb4Vim4T.js.gz +0 -0
  670. package/dist/assets/nsis-CjNLYCLg.js.br +0 -0
  671. package/dist/assets/nsis-CjNLYCLg.js.gz +0 -0
  672. package/dist/assets/nushell-DHYfO66s.js.br +0 -0
  673. package/dist/assets/nushell-DHYfO66s.js.gz +0 -0
  674. package/dist/assets/objective-c-D1A_Heim.js.br +0 -0
  675. package/dist/assets/objective-c-D1A_Heim.js.gz +0 -0
  676. package/dist/assets/objective-cpp-BsSzOQcm.js.br +0 -0
  677. package/dist/assets/objective-cpp-BsSzOQcm.js.gz +0 -0
  678. package/dist/assets/ocaml-O90oeIOV.js.br +0 -0
  679. package/dist/assets/ocaml-O90oeIOV.js.gz +0 -0
  680. package/dist/assets/odin-B1RWQWA5.js.br +0 -0
  681. package/dist/assets/odin-B1RWQWA5.js.gz +0 -0
  682. package/dist/assets/one-dark-pro-CLwyXe_n.js.br +0 -0
  683. package/dist/assets/one-dark-pro-CLwyXe_n.js.gz +0 -0
  684. package/dist/assets/one-light-D7Lr4KcI.js.br +0 -0
  685. package/dist/assets/one-light-D7Lr4KcI.js.gz +0 -0
  686. package/dist/assets/openscad-BUDT5pXO.js.br +0 -0
  687. package/dist/assets/openscad-BUDT5pXO.js.gz +0 -0
  688. package/dist/assets/org-DhkRzv3S.js.br +0 -0
  689. package/dist/assets/org-DhkRzv3S.js.gz +0 -0
  690. package/dist/assets/pascal-4ZHwLPI5.js.br +0 -0
  691. package/dist/assets/pascal-4ZHwLPI5.js.gz +0 -0
  692. package/dist/assets/pegDiagram-VL7TDLO6-BrUvPfjL.js.br +0 -0
  693. package/dist/assets/pegDiagram-VL7TDLO6-BrUvPfjL.js.gz +0 -0
  694. package/dist/assets/perl-iLGR5v3R.js.br +0 -0
  695. package/dist/assets/perl-iLGR5v3R.js.gz +0 -0
  696. package/dist/assets/php-DgsNzQlf.js.br +0 -0
  697. package/dist/assets/php-DgsNzQlf.js.gz +0 -0
  698. package/dist/assets/pieDiagram-7S7Q4E2Y-BNPIri0N.js.br +0 -0
  699. package/dist/assets/pieDiagram-7S7Q4E2Y-BNPIri0N.js.gz +0 -0
  700. package/dist/assets/pkl-ot-7Btpt.js.br +0 -0
  701. package/dist/assets/pkl-ot-7Btpt.js.gz +0 -0
  702. package/dist/assets/plastic-DQwYfKfQ.js.br +0 -0
  703. package/dist/assets/plastic-DQwYfKfQ.js.gz +0 -0
  704. package/dist/assets/plsql-DGHpHOYJ.js.br +0 -0
  705. package/dist/assets/plsql-DGHpHOYJ.js.gz +0 -0
  706. package/dist/assets/plugin-calendar-DI5hFrRH.js +0 -1
  707. package/dist/assets/plugin-calendar-DI5hFrRH.js.br +0 -0
  708. package/dist/assets/plugin-calendar-DI5hFrRH.js.gz +0 -0
  709. package/dist/assets/plugin-charts-BuotHBLk.js +0 -7
  710. package/dist/assets/plugin-charts-BuotHBLk.js.br +0 -0
  711. package/dist/assets/plugin-charts-BuotHBLk.js.gz +0 -0
  712. package/dist/assets/plugin-chatbot-BGloefT3.js +0 -120
  713. package/dist/assets/plugin-chatbot-BGloefT3.js.br +0 -0
  714. package/dist/assets/plugin-chatbot-BGloefT3.js.gz +0 -0
  715. package/dist/assets/plugin-dashboard-CaNG1Od0.js +0 -6
  716. package/dist/assets/plugin-dashboard-CaNG1Od0.js.br +0 -0
  717. package/dist/assets/plugin-dashboard-CaNG1Od0.js.gz +0 -0
  718. package/dist/assets/plugin-dashboard-DnNKJB60.css.br +0 -0
  719. package/dist/assets/plugin-dashboard-DnNKJB60.css.gz +0 -0
  720. package/dist/assets/plugin-form-BA3fYsSc.js +0 -1
  721. package/dist/assets/plugin-form-BA3fYsSc.js.br +0 -0
  722. package/dist/assets/plugin-form-BA3fYsSc.js.gz +0 -0
  723. package/dist/assets/plugin-gantt-eVbYEb51.js +0 -63
  724. package/dist/assets/plugin-gantt-eVbYEb51.js.br +0 -0
  725. package/dist/assets/plugin-gantt-eVbYEb51.js.gz +0 -0
  726. package/dist/assets/plugin-grid-B73zsrgO.js +0 -8
  727. package/dist/assets/plugin-grid-B73zsrgO.js.br +0 -0
  728. package/dist/assets/plugin-grid-B73zsrgO.js.gz +0 -0
  729. package/dist/assets/plugin-kanban-BiX4SvpU.js +0 -1
  730. package/dist/assets/plugin-kanban-BiX4SvpU.js.br +0 -0
  731. package/dist/assets/plugin-kanban-BiX4SvpU.js.gz +0 -0
  732. package/dist/assets/plugin-map-5lRITB8H.css.br +0 -0
  733. package/dist/assets/plugin-map-5lRITB8H.css.gz +0 -0
  734. package/dist/assets/plugin-map-D8odPW8M.js +0 -1
  735. package/dist/assets/plugin-map-D8odPW8M.js.br +0 -0
  736. package/dist/assets/plugin-map-D8odPW8M.js.gz +0 -0
  737. package/dist/assets/plugin-markdown-C3ihtjLf.js.br +0 -0
  738. package/dist/assets/plugin-markdown-C3ihtjLf.js.gz +0 -0
  739. package/dist/assets/plugin-report-W3tKaUTG.js +0 -59
  740. package/dist/assets/plugin-report-W3tKaUTG.js.br +0 -0
  741. package/dist/assets/plugin-report-W3tKaUTG.js.gz +0 -0
  742. package/dist/assets/plugin-timeline-DneQi3FN.js +0 -1
  743. package/dist/assets/plugin-timeline-DneQi3FN.js.br +0 -0
  744. package/dist/assets/plugin-timeline-DneQi3FN.js.gz +0 -0
  745. package/dist/assets/plugin-tree-Dg-UoQrg.js +0 -1
  746. package/dist/assets/plugin-tree-Dg-UoQrg.js.br +0 -0
  747. package/dist/assets/plugin-tree-Dg-UoQrg.js.gz +0 -0
  748. package/dist/assets/plugin-view-DMMnDypy.js +0 -1
  749. package/dist/assets/plugin-view-DMMnDypy.js.br +0 -0
  750. package/dist/assets/plugin-view-DMMnDypy.js.gz +0 -0
  751. package/dist/assets/plugins-views-GVcESCR3.js +0 -4
  752. package/dist/assets/plugins-views-GVcESCR3.js.br +0 -0
  753. package/dist/assets/plugins-views-GVcESCR3.js.gz +0 -0
  754. package/dist/assets/po-BiJDBrnU.js.br +0 -0
  755. package/dist/assets/po-BiJDBrnU.js.gz +0 -0
  756. package/dist/assets/poimandres-DRFjx7u4.js.br +0 -0
  757. package/dist/assets/poimandres-DRFjx7u4.js.gz +0 -0
  758. package/dist/assets/polar-C7UOKdEL.js.br +0 -0
  759. package/dist/assets/polar-C7UOKdEL.js.gz +0 -0
  760. package/dist/assets/postcss-BXeXVLqQ.js.br +0 -0
  761. package/dist/assets/postcss-BXeXVLqQ.js.gz +0 -0
  762. package/dist/assets/powerquery-DNMTfnFr.js.br +0 -0
  763. package/dist/assets/powerquery-DNMTfnFr.js.gz +0 -0
  764. package/dist/assets/powershell-CCSX75yM.js.br +0 -0
  765. package/dist/assets/powershell-CCSX75yM.js.gz +0 -0
  766. package/dist/assets/prisma-DMgNhnYS.js.br +0 -0
  767. package/dist/assets/prisma-DMgNhnYS.js.gz +0 -0
  768. package/dist/assets/prolog-iXnhIJG7.js.br +0 -0
  769. package/dist/assets/prolog-iXnhIJG7.js.gz +0 -0
  770. package/dist/assets/proto-DB4EqR-F.js.br +0 -0
  771. package/dist/assets/proto-DB4EqR-F.js.gz +0 -0
  772. package/dist/assets/pug-C1Xkn2-1.js.br +0 -0
  773. package/dist/assets/pug-C1Xkn2-1.js.gz +0 -0
  774. package/dist/assets/puppet-CDv2pdJW.js.br +0 -0
  775. package/dist/assets/puppet-CDv2pdJW.js.gz +0 -0
  776. package/dist/assets/purescript-9MfHhQsQ.js.br +0 -0
  777. package/dist/assets/purescript-9MfHhQsQ.js.gz +0 -0
  778. package/dist/assets/python-gzcpVVnB.js.br +0 -0
  779. package/dist/assets/python-gzcpVVnB.js.gz +0 -0
  780. package/dist/assets/qml-DaaPxMrD.js.br +0 -0
  781. package/dist/assets/qml-DaaPxMrD.js.gz +0 -0
  782. package/dist/assets/qss-Fe1Jh2GI.js.br +0 -0
  783. package/dist/assets/qss-Fe1Jh2GI.js.gz +0 -0
  784. package/dist/assets/quadrantDiagram-CIZ2JOQS-BpL1Kl6d.js.br +0 -0
  785. package/dist/assets/quadrantDiagram-CIZ2JOQS-BpL1Kl6d.js.gz +0 -0
  786. package/dist/assets/r-CrJekUTE.js.br +0 -0
  787. package/dist/assets/r-CrJekUTE.js.gz +0 -0
  788. package/dist/assets/racket-DcIDlBhZ.js.br +0 -0
  789. package/dist/assets/racket-DcIDlBhZ.js.gz +0 -0
  790. package/dist/assets/railroadDiagram-AXF67PYL-CY1JovP6.js.br +0 -0
  791. package/dist/assets/railroadDiagram-AXF67PYL-CY1JovP6.js.gz +0 -0
  792. package/dist/assets/raku-B3gFvitq.js.br +0 -0
  793. package/dist/assets/raku-B3gFvitq.js.gz +0 -0
  794. package/dist/assets/razor-DmNdBrA0.js.br +0 -0
  795. package/dist/assets/razor-DmNdBrA0.js.gz +0 -0
  796. package/dist/assets/rbs-C0MpOrj4.js.br +0 -0
  797. package/dist/assets/rbs-C0MpOrj4.js.gz +0 -0
  798. package/dist/assets/red-DX1BQOs8.js.br +0 -0
  799. package/dist/assets/red-DX1BQOs8.js.gz +0 -0
  800. package/dist/assets/reg-CRGYupPL.js.br +0 -0
  801. package/dist/assets/reg-CRGYupPL.js.gz +0 -0
  802. package/dist/assets/regexp-723CALth.js.br +0 -0
  803. package/dist/assets/regexp-723CALth.js.gz +0 -0
  804. package/dist/assets/rel-BtDbiS_P.js.br +0 -0
  805. package/dist/assets/rel-BtDbiS_P.js.gz +0 -0
  806. package/dist/assets/requirementDiagram-LRYGKXZP-TRTGy9-6.js.br +0 -0
  807. package/dist/assets/requirementDiagram-LRYGKXZP-TRTGy9-6.js.gz +0 -0
  808. package/dist/assets/riscv-Ckw8ddFX.js.br +0 -0
  809. package/dist/assets/riscv-Ckw8ddFX.js.gz +0 -0
  810. package/dist/assets/rolldown-runtime-C0FnF6B9.js.br +0 -5
  811. package/dist/assets/rolldown-runtime-C0FnF6B9.js.gz +0 -0
  812. package/dist/assets/ron-VUp2lXgN.js.br +0 -0
  813. package/dist/assets/ron-VUp2lXgN.js.gz +0 -0
  814. package/dist/assets/rose-pine-aMsaMD1D.js.br +0 -0
  815. package/dist/assets/rose-pine-aMsaMD1D.js.gz +0 -0
  816. package/dist/assets/rose-pine-dawn-8PwUyIlP.js.br +0 -0
  817. package/dist/assets/rose-pine-dawn-8PwUyIlP.js.gz +0 -0
  818. package/dist/assets/rose-pine-moon-DO-qXg-I.js.br +0 -0
  819. package/dist/assets/rose-pine-moon-DO-qXg-I.js.gz +0 -0
  820. package/dist/assets/rosmsg-CAekHB0j.js.br +0 -0
  821. package/dist/assets/rosmsg-CAekHB0j.js.gz +0 -0
  822. package/dist/assets/rough.esm-Dy-Kn_BL.js.br +0 -0
  823. package/dist/assets/rough.esm-Dy-Kn_BL.js.gz +0 -0
  824. package/dist/assets/rst-BLglG3Y_.js.br +0 -0
  825. package/dist/assets/rst-BLglG3Y_.js.gz +0 -0
  826. package/dist/assets/ruby-CacEyOQN.js.br +0 -0
  827. package/dist/assets/ruby-CacEyOQN.js.gz +0 -0
  828. package/dist/assets/runtime-metadata-persistence-D4a_EoZt.js +0 -1
  829. package/dist/assets/runtime-metadata-persistence-D4a_EoZt.js.br +0 -0
  830. package/dist/assets/runtime-metadata-persistence-D4a_EoZt.js.gz +0 -0
  831. package/dist/assets/rust-Cfkwpbl8.js.br +0 -0
  832. package/dist/assets/rust-Cfkwpbl8.js.gz +0 -0
  833. package/dist/assets/sankeyDiagram-W5VNT64P-Hj-Un0bp.js.br +0 -0
  834. package/dist/assets/sankeyDiagram-W5VNT64P-Hj-Un0bp.js.gz +0 -0
  835. package/dist/assets/sas-C_K_aNQk.js.br +0 -0
  836. package/dist/assets/sas-C_K_aNQk.js.gz +0 -0
  837. package/dist/assets/sass-DXrisJhu.js.br +0 -0
  838. package/dist/assets/sass-DXrisJhu.js.gz +0 -0
  839. package/dist/assets/scala-BiFt_7mu.js.br +0 -0
  840. package/dist/assets/scala-BiFt_7mu.js.gz +0 -0
  841. package/dist/assets/scheme-DQCgrYNe.js.br +0 -0
  842. package/dist/assets/scheme-DQCgrYNe.js.gz +0 -0
  843. package/dist/assets/scss-D2XZndG8.js.br +0 -0
  844. package/dist/assets/scss-D2XZndG8.js.gz +0 -0
  845. package/dist/assets/sdbl-bTVj8UrX.js.br +0 -0
  846. package/dist/assets/sdbl-bTVj8UrX.js.gz +0 -0
  847. package/dist/assets/sequenceDiagram-SI44F4Z6-iGYyf5AF.js.br +0 -0
  848. package/dist/assets/sequenceDiagram-SI44F4Z6-iGYyf5AF.js.gz +0 -0
  849. package/dist/assets/shaderlab-TOUzSsQk.js.br +0 -0
  850. package/dist/assets/shaderlab-TOUzSsQk.js.gz +0 -0
  851. package/dist/assets/shellscript-DoDh9O3W.js.br +0 -0
  852. package/dist/assets/shellscript-DoDh9O3W.js.gz +0 -0
  853. package/dist/assets/skeletons-Cs1pm-UR.js.br +0 -0
  854. package/dist/assets/skeletons-Cs1pm-UR.js.gz +0 -0
  855. package/dist/assets/slack-dark-DnToyrRv.js.br +0 -0
  856. package/dist/assets/slack-dark-DnToyrRv.js.gz +0 -0
  857. package/dist/assets/slack-ochin-B2OO5cIa.js.br +0 -0
  858. package/dist/assets/slack-ochin-B2OO5cIa.js.gz +0 -0
  859. package/dist/assets/smalltalk-BHpQb5nM.js.br +0 -0
  860. package/dist/assets/smalltalk-BHpQb5nM.js.gz +0 -0
  861. package/dist/assets/smithy-Dgaz7aur.js.br +0 -0
  862. package/dist/assets/smithy-Dgaz7aur.js.gz +0 -0
  863. package/dist/assets/snazzy-light-4G7pJPwS.js.br +0 -0
  864. package/dist/assets/snazzy-light-4G7pJPwS.js.gz +0 -0
  865. package/dist/assets/solarized-dark-UdsmMDCL.js.br +0 -0
  866. package/dist/assets/solarized-dark-UdsmMDCL.js.gz +0 -0
  867. package/dist/assets/solarized-light-C1IUL_tW.js.br +0 -0
  868. package/dist/assets/solarized-light-C1IUL_tW.js.gz +0 -0
  869. package/dist/assets/solidity-Bj7E1mRn.js.br +0 -0
  870. package/dist/assets/solidity-Bj7E1mRn.js.gz +0 -0
  871. package/dist/assets/soy-BDOoR3HV.js.br +0 -0
  872. package/dist/assets/soy-BDOoR3HV.js.gz +0 -0
  873. package/dist/assets/sparql-D_iOobhT.js.br +0 -0
  874. package/dist/assets/sparql-D_iOobhT.js.gz +0 -0
  875. package/dist/assets/splunk-BC2Px7Mm.js.br +0 -0
  876. package/dist/assets/splunk-BC2Px7Mm.js.gz +0 -0
  877. package/dist/assets/sql-DDaoNBOY.js.br +0 -0
  878. package/dist/assets/sql-DDaoNBOY.js.gz +0 -0
  879. package/dist/assets/src-0qbDl74X.js.br +0 -0
  880. package/dist/assets/src-0qbDl74X.js.gz +0 -0
  881. package/dist/assets/src-B67JaKZf.js.br +0 -0
  882. package/dist/assets/src-B67JaKZf.js.gz +0 -0
  883. package/dist/assets/src-BfBcf0cI.js +0 -1
  884. package/dist/assets/src-BfBcf0cI.js.br +0 -0
  885. package/dist/assets/src-BfBcf0cI.js.gz +0 -0
  886. package/dist/assets/src-DndKl5iC.js +0 -19
  887. package/dist/assets/src-DndKl5iC.js.br +0 -0
  888. package/dist/assets/src-DndKl5iC.js.gz +0 -0
  889. package/dist/assets/src-DwpgXgLE.js.br +0 -0
  890. package/dist/assets/src-DwpgXgLE.js.gz +0 -0
  891. package/dist/assets/ssh-config-BgfXC-Er.js.br +0 -0
  892. package/dist/assets/ssh-config-BgfXC-Er.js.gz +0 -0
  893. package/dist/assets/stata-BfvhQgBh.js.br +0 -0
  894. package/dist/assets/stata-BfvhQgBh.js.gz +0 -0
  895. package/dist/assets/stateDiagram-OKZ733FA-B-kn5M6g.js.br +0 -0
  896. package/dist/assets/stateDiagram-OKZ733FA-B-kn5M6g.js.gz +0 -0
  897. package/dist/assets/stylus-B6D30XZt.js.br +0 -0
  898. package/dist/assets/stylus-B6D30XZt.js.gz +0 -0
  899. package/dist/assets/surrealql-7gu956ad.js.br +0 -0
  900. package/dist/assets/surrealql-7gu956ad.js.gz +0 -0
  901. package/dist/assets/svelte-DSCVGEXc.js.br +0 -0
  902. package/dist/assets/svelte-DSCVGEXc.js.gz +0 -0
  903. package/dist/assets/swift-CyEgAFGc.js.br +0 -0
  904. package/dist/assets/swift-CyEgAFGc.js.gz +0 -0
  905. package/dist/assets/swimlanes-SLNWSIFB-sV1QkjXA.js.br +0 -0
  906. package/dist/assets/swimlanes-SLNWSIFB-sV1QkjXA.js.gz +0 -0
  907. package/dist/assets/synthwave-84-nFMaYfgc.js.br +0 -0
  908. package/dist/assets/synthwave-84-nFMaYfgc.js.gz +0 -0
  909. package/dist/assets/system-verilog-Dh5ihWbf.js.br +0 -0
  910. package/dist/assets/system-verilog-Dh5ihWbf.js.gz +0 -0
  911. package/dist/assets/systemd-BxMlprV5.js.br +0 -0
  912. package/dist/assets/systemd-BxMlprV5.js.gz +0 -0
  913. package/dist/assets/talonscript-CohzipZa.js.br +0 -0
  914. package/dist/assets/talonscript-CohzipZa.js.gz +0 -0
  915. package/dist/assets/tasl-DMoTqEGO.js.br +0 -0
  916. package/dist/assets/tasl-DMoTqEGO.js.gz +0 -0
  917. package/dist/assets/tcl-CZd0xW_V.js.br +0 -0
  918. package/dist/assets/tcl-CZd0xW_V.js.gz +0 -0
  919. package/dist/assets/templ-0sZ2htc8.js.br +0 -0
  920. package/dist/assets/templ-0sZ2htc8.js.gz +0 -0
  921. package/dist/assets/terraform-DswuEJGm.js.br +0 -0
  922. package/dist/assets/terraform-DswuEJGm.js.gz +0 -0
  923. package/dist/assets/tex-nulmLfzO.js.br +0 -0
  924. package/dist/assets/tex-nulmLfzO.js.gz +0 -0
  925. package/dist/assets/timeline-definition-Z64GVDOM-DMClsS2j.js.br +0 -0
  926. package/dist/assets/timeline-definition-Z64GVDOM-DMClsS2j.js.gz +0 -0
  927. package/dist/assets/tokyo-night-oM2G3aXe.js.br +0 -0
  928. package/dist/assets/tokyo-night-oM2G3aXe.js.gz +0 -0
  929. package/dist/assets/toml-CcmNWLt0.js.br +0 -0
  930. package/dist/assets/toml-CcmNWLt0.js.gz +0 -0
  931. package/dist/assets/ts-tags-97776d1y.js.br +0 -0
  932. package/dist/assets/ts-tags-97776d1y.js.gz +0 -0
  933. package/dist/assets/tsx-D0-aSICp.js.br +0 -0
  934. package/dist/assets/tsx-D0-aSICp.js.gz +0 -0
  935. package/dist/assets/turtle-ByJddavk.js.br +0 -0
  936. package/dist/assets/turtle-ByJddavk.js.gz +0 -0
  937. package/dist/assets/twig-C13VO0dK.js.br +0 -0
  938. package/dist/assets/twig-C13VO0dK.js.gz +0 -0
  939. package/dist/assets/typescript-ITQieXu3.js.br +0 -0
  940. package/dist/assets/typescript-ITQieXu3.js.gz +0 -0
  941. package/dist/assets/typespec-BRdr0IET.js.br +0 -0
  942. package/dist/assets/typespec-BRdr0IET.js.gz +0 -0
  943. package/dist/assets/typst-1SSu9v36.js.br +0 -0
  944. package/dist/assets/typst-1SSu9v36.js.gz +0 -0
  945. package/dist/assets/ui-components-q_9kKTqi.js +0 -72
  946. package/dist/assets/ui-components-q_9kKTqi.js.br +0 -0
  947. package/dist/assets/ui-components-q_9kKTqi.js.gz +0 -0
  948. package/dist/assets/ui-layout-nESZUqD7.js +0 -1
  949. package/dist/assets/ui-layout-nESZUqD7.js.br +0 -0
  950. package/dist/assets/ui-layout-nESZUqD7.js.gz +0 -0
  951. package/dist/assets/use-book-data-BpISrpLC.js.br +0 -0
  952. package/dist/assets/use-book-data-BpISrpLC.js.gz +0 -0
  953. package/dist/assets/usePackageL10n-9fP2GgDK.js.br +0 -0
  954. package/dist/assets/usePackageL10n-9fP2GgDK.js.gz +0 -0
  955. package/dist/assets/useSettingsLabel-QE1nXNTt.js +0 -1
  956. package/dist/assets/useSettingsLabel-QE1nXNTt.js.br +0 -0
  957. package/dist/assets/useSettingsLabel-QE1nXNTt.js.gz +0 -0
  958. package/dist/assets/utils-CFdPTF34.js +0 -1
  959. package/dist/assets/utils-CFdPTF34.js.br +0 -0
  960. package/dist/assets/utils-CFdPTF34.js.gz +0 -0
  961. package/dist/assets/v-DBj4K9d_.js.br +0 -0
  962. package/dist/assets/v-DBj4K9d_.js.gz +0 -0
  963. package/dist/assets/vala-zf12oZj6.js.br +0 -0
  964. package/dist/assets/vala-zf12oZj6.js.gz +0 -0
  965. package/dist/assets/vb-DOwzaHZ0.js.br +0 -0
  966. package/dist/assets/vb-DOwzaHZ0.js.gz +0 -0
  967. package/dist/assets/vendor-charts-DAI87uet.js.br +0 -0
  968. package/dist/assets/vendor-charts-DAI87uet.js.gz +0 -0
  969. package/dist/assets/vendor-dndkit-CQdzTF9d.js.br +0 -0
  970. package/dist/assets/vendor-dndkit-CQdzTF9d.js.gz +0 -0
  971. package/dist/assets/vendor-i18n-DeMInx63.js.br +0 -0
  972. package/dist/assets/vendor-i18n-DeMInx63.js.gz +0 -0
  973. package/dist/assets/vendor-icons-core-B25E_7o5.js.br +0 -0
  974. package/dist/assets/vendor-icons-core-B25E_7o5.js.gz +0 -0
  975. package/dist/assets/vendor-markdown-DjBjpmKk.js.br +0 -0
  976. package/dist/assets/vendor-markdown-DjBjpmKk.js.gz +0 -0
  977. package/dist/assets/vendor-objectstack-CVsc1isW.js +0 -186
  978. package/dist/assets/vendor-objectstack-CVsc1isW.js.br +0 -0
  979. package/dist/assets/vendor-objectstack-CVsc1isW.js.gz +0 -0
  980. package/dist/assets/vendor-radix-D1dussIM.js.br +0 -0
  981. package/dist/assets/vendor-radix-D1dussIM.js.gz +0 -0
  982. package/dist/assets/vendor-react-BgOXCBVK.js.br +0 -0
  983. package/dist/assets/vendor-react-BgOXCBVK.js.gz +0 -0
  984. package/dist/assets/vendor-sentry-DlmtNsBO.js.br +0 -0
  985. package/dist/assets/vendor-sentry-DlmtNsBO.js.gz +0 -0
  986. package/dist/assets/vendor-ui-utils-BGw4RtYu.js.br +0 -0
  987. package/dist/assets/vendor-ui-utils-BGw4RtYu.js.gz +0 -0
  988. package/dist/assets/vendor-zod-CBDIIwrA.js.br +0 -0
  989. package/dist/assets/vendor-zod-CBDIIwrA.js.gz +0 -0
  990. package/dist/assets/vennDiagram-T6HMQDX7-CrP23lgd.js.br +0 -0
  991. package/dist/assets/vennDiagram-T6HMQDX7-CrP23lgd.js.gz +0 -0
  992. package/dist/assets/verilog-B2gwz-sJ.js.br +0 -0
  993. package/dist/assets/verilog-B2gwz-sJ.js.gz +0 -0
  994. package/dist/assets/vesper-DdrHHSXu.js.br +0 -0
  995. package/dist/assets/vesper-DdrHHSXu.js.gz +0 -0
  996. package/dist/assets/vhdl-BroJfC0k.js.br +0 -0
  997. package/dist/assets/vhdl-BroJfC0k.js.gz +0 -0
  998. package/dist/assets/viml-DvXPmvsu.js.br +0 -0
  999. package/dist/assets/viml-DvXPmvsu.js.gz +0 -0
  1000. package/dist/assets/vitesse-black-fwtXNY1n.js.br +0 -0
  1001. package/dist/assets/vitesse-black-fwtXNY1n.js.gz +0 -0
  1002. package/dist/assets/vitesse-dark-BZCL-v6S.js.br +0 -0
  1003. package/dist/assets/vitesse-dark-BZCL-v6S.js.gz +0 -0
  1004. package/dist/assets/vitesse-light-VbXTXTou.js.br +0 -0
  1005. package/dist/assets/vitesse-light-VbXTXTou.js.gz +0 -0
  1006. package/dist/assets/vue-Bq5B5kjG.js.br +0 -0
  1007. package/dist/assets/vue-Bq5B5kjG.js.gz +0 -0
  1008. package/dist/assets/vue-html-d0F-gcUX.js.br +0 -0
  1009. package/dist/assets/vue-html-d0F-gcUX.js.gz +0 -0
  1010. package/dist/assets/vue-vine-C_jSoY9V.js.br +0 -0
  1011. package/dist/assets/vue-vine-C_jSoY9V.js.gz +0 -0
  1012. package/dist/assets/vyper-CgoNMtux.js.br +0 -0
  1013. package/dist/assets/vyper-CgoNMtux.js.gz +0 -0
  1014. package/dist/assets/wardleyDiagram-T6FBY63Y-DSw6poZ6.js.br +0 -0
  1015. package/dist/assets/wardleyDiagram-T6FBY63Y-DSw6poZ6.js.gz +0 -0
  1016. package/dist/assets/wasm-BnjxR4X6.js.br +0 -0
  1017. package/dist/assets/wasm-BnjxR4X6.js.gz +0 -0
  1018. package/dist/assets/wasm-ByWQv1Qj.js.br +0 -0
  1019. package/dist/assets/wasm-ByWQv1Qj.js.gz +0 -0
  1020. package/dist/assets/wenyan-C8pVoKbM.js.br +0 -0
  1021. package/dist/assets/wenyan-C8pVoKbM.js.gz +0 -0
  1022. package/dist/assets/wgsl-BsKzXJz4.js.br +0 -0
  1023. package/dist/assets/wgsl-BsKzXJz4.js.gz +0 -0
  1024. package/dist/assets/wikitext-ClFFjSW2.js.br +0 -0
  1025. package/dist/assets/wikitext-ClFFjSW2.js.gz +0 -0
  1026. package/dist/assets/wit-DdvCle-K.js.br +0 -0
  1027. package/dist/assets/wit-DdvCle-K.js.gz +0 -0
  1028. package/dist/assets/wolfram-DLL8P-h_.js.br +0 -0
  1029. package/dist/assets/wolfram-DLL8P-h_.js.gz +0 -0
  1030. package/dist/assets/xml-BgwO9svv.js.br +0 -0
  1031. package/dist/assets/xml-BgwO9svv.js.gz +0 -0
  1032. package/dist/assets/xsl-Ci-Eh2uW.js.br +0 -0
  1033. package/dist/assets/xsl-Ci-Eh2uW.js.gz +0 -0
  1034. package/dist/assets/xychartDiagram-ELKLHX3M-BVUFqBDL.js.br +0 -0
  1035. package/dist/assets/xychartDiagram-ELKLHX3M-BVUFqBDL.js.gz +0 -0
  1036. package/dist/assets/yaml-BnkSoqfe.js.br +0 -0
  1037. package/dist/assets/yaml-BnkSoqfe.js.gz +0 -0
  1038. package/dist/assets/zenscript-BnlCZFoB.js.br +0 -0
  1039. package/dist/assets/zenscript-BnlCZFoB.js.gz +0 -0
  1040. package/dist/assets/zig-CMLA9XwU.js.br +0 -0
  1041. package/dist/assets/zig-CMLA9XwU.js.gz +0 -0
  1042. package/dist/index.html.br +0 -0
  1043. package/dist/index.html.gz +0 -0
  1044. package/dist/stats.html +0 -4950
  1045. package/dist/vite.svg.br +0 -0
  1046. package/dist/vite.svg.gz +0 -0
@@ -1 +0,0 @@
1
- import{o as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n,r,t as i,y as a}from"./vendor-react-BgOXCBVK.js";import{An as o,L as s,Mn as c,R as l,an as u,at as d,sr as f,wn as p}from"./framework-DDZiA4ii.js";import{$i as m,$o as h,Ba as g,Ca as _,Co as v,Di as y,Ds as b,Ea as x,Ei as S,Fa as C,Ho as w,Ia as T,Ko as E,Kr as D,Lc as O,Lo as k,Ns as A,Oa as j,Pa as ee,Pi as M,Po as N,Qa as te,Ra as P,So as F,Ss as I,Ts as L,Uo as R,Vi as ne,Vo as re,Wc as ie,Xr as z,Ya as ae,_a as oe,_c as se,_i as ce,_s as le,ao as ue,as as B,bc as V,bo as de,cc as fe,ci as H,di as pe,do as me,fi as he,gs as ge,hi as U,ho as _e,ii as ve,il as ye,ja as be,ji as xe,js as Se,ks as Ce,lc as we,ma as Te,oa as Ee,oc as De,oo as Oe,pc as ke,pi as Ae,qa as je,qr as Me,sc as Ne,so as Pe,uc as Fe,ui as Ie,vc as Le,vo as Re,wo as ze,xa as Be,yo as Ve,zs as He}from"./ui-components-q_9kKTqi.js";import{a as W,o as G,r as K}from"./vendor-ui-utils-BGw4RtYu.js";import"./data-adapter-BJj1HN8X.js";import{n as Ue,r as We}from"./plugin-form-BA3fYsSc.js";import{i as Ge}from"./plugin-grid-B73zsrgO.js";var q=e(a(),1);function Ke(e){return e||(typeof window<`u`&&window.sessionStorage?window.sessionStorage:null)}function qe(e,t={}){let{maxHistory:n=50,persistKey:r,storage:i}=t,a=Ke(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,q.useState)(o?.current??e),l=(0,q.useRef)(o?.past??[]),u=(0,q.useRef)(o?.future??[]),[,d]=(0,q.useState)(0),f=(0,q.useCallback)(()=>d(e=>e+1),[]);(0,q.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,q.useCallback)(e=>{c(t=>(l.current=[...l.current.slice(-(n-1)),t],u.current=[],e)),f()},[n,f]),m=(0,q.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,q.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,q.useCallback)(e=>{l.current=[],u.current=[],c(e),f()},[f]),_=(0,q.useCallback)(()=>{if(!(!r||!a))try{a.removeItem(r)}catch{}},[r,a]),v=(0,q.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 Je(){let[e,t]=(0,q.useState)(!1),[n,r]=(0,q.useState)(``),[i,a]=(0,q.useState)(``),o=(0,q.useRef)(null);return{isOpen:e,title:n,message:i,confirm:(0,q.useCallback)((e,n)=>(r(e),a(n),t(!0),new Promise(e=>{o.current=e})),[]),onConfirm:(0,q.useCallback)(()=>{t(!1),o.current?.(!0),o.current=null},[]),onCancel:(0,q.useCallback)(()=>{t(!1),o.current?.(!1),o.current=null},[])}}function Ye(){let[e,t]=(0,q.useState)(new Set);return{selectedIds:e,toggle:(0,q.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,q.useCallback)(e=>{t(new Set([e]))},[]),selectMany:(0,q.useCallback)(e=>{t(new Set(e))},[]),clearSelection:(0,q.useCallback)(()=>{t(new Set)},[]),isSelected:(0,q.useCallback)(t=>e.has(t),[e]),count:e.size}}function Xe(){let[e,t]=(0,q.useState)(null);return{clipboard:e,copy:(0,q.useCallback)(e=>{t(structuredClone(e))},[]),paste:(0,q.useCallback)(()=>e?structuredClone(e):null,[e]),hasContent:e!==null}}function Ze(e={}){let{minZoom:t=.25,maxZoom:n=3,zoomStep:r=.1,initialZoom:i=1}=e,[a,o]=(0,q.useState)(i),[s,c]=(0,q.useState)({x:0,y:0}),l=(0,q.useRef)(!1),u=(0,q.useRef)({x:0,y:0}),d=(0,q.useCallback)(e=>Math.min(n,Math.max(t,+e.toFixed(2))),[t,n]);return{zoom:a,panOffset:s,zoomIn:(0,q.useCallback)(()=>o(e=>d(e+r)),[d,r]),zoomOut:(0,q.useCallback)(()=>o(e=>d(e-r)),[d,r]),resetZoom:(0,q.useCallback)(()=>{o(1),c({x:0,y:0})},[]),setZoom:(0,q.useCallback)(e=>o(d(e)),[d]),handleWheel:(0,q.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,q.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 J=r();function Qe(...e){return W(G(e))}function $e({isOpen:e,title:t,message:n,confirmLabel:r=`Delete`,cancelLabel:i=`Cancel`,destructive:a=!0,onConfirm:o,onCancel:s}){let c=(0,q.useRef)(null);return(0,q.useEffect)(()=>{let t=c.current;t&&(e&&!t.open?t.showModal():!e&&t.open&&t.close())},[e]),e?(0,J.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,J.jsxs)(`div`,{className:`w-80 p-6`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[a&&(0,J.jsx)(`div`,{className:`flex h-10 w-10 items-center justify-center rounded-full bg-destructive/10`,children:(0,J.jsx)(he,{className:`h-5 w-5 text-destructive`})}),(0,J.jsx)(`h2`,{id:`confirm-title`,className:`text-lg font-semibold`,children:t})]}),(0,J.jsx)(`p`,{id:`confirm-message`,className:`text-sm text-muted-foreground mb-6`,children:n}),(0,J.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,J.jsx)(`button`,{onClick:s,className:`px-4 py-2 text-sm rounded-md border hover:bg-accent`,children:i}),(0,J.jsx)(`button`,{onClick:o,className:Qe(`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 et(...e){return W(G(e))}function tt({title:e=`Properties`,fields:t,onChange:n,className:r}){let[i,a]=(0,q.useState)(new Set),o=(0,q.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,J.jsxs)(`div`,{className:et(`flex flex-col`,r),role:`region`,"aria-label":e,children:[(0,J.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:e}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[Object.entries(s).map(([e,t])=>(0,J.jsxs)(`div`,{className:`border-b last:border-b-0`,children:[(0,J.jsxs)(`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,J.jsx)(Ne,{className:`h-3 w-3`}):(0,J.jsx)(we,{className:`h-3 w-3`}),e]}),!i.has(e)&&(0,J.jsx)(`div`,{className:`px-3 pb-2 space-y-2`,children:t.map(e=>(0,J.jsx)(nt,{field:e,onChange:n},e.name))})]},e)),t.length===0&&(0,J.jsx)(`div`,{className:`p-3 text-xs text-muted-foreground text-center`,children:`Select an element to edit its properties`})]})]})}function nt({field:e,onChange:t}){let n=n=>{t(e.name,n)};return(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e.label}),e.type===`text`&&(0,J.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,J.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,J.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`input`,{type:`checkbox`,checked:!!e.value,onChange:e=>n(e.target.checked),className:`rounded`}),(0,J.jsx)(`span`,{className:`text-xs`,children:e.value?`Yes`:`No`})]}),e.type===`select`&&(0,J.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,J.jsx)(`option`,{value:e.value,children:e.label},e.value))}),e.type===`color`&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.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,J.jsx)(`span`,{className:`text-xs font-mono`,children:String(e.value??`#000000`)})]}),e.type===`textarea`&&(0,J.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,J.jsx)(`p`,{className:`text-[0.65rem] text-muted-foreground/70`,children:e.description})]})}function rt(...e){return W(G(e))}function it({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,J.jsx)(`div`,{className:rt(`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,J.jsxs)(`svg`,{width:s,height:c,viewBox:`0 0 ${t} ${n}`,children:[(0,J.jsx)(`rect`,{width:t,height:n,fill:`hsl(var(--muted))`,opacity:`0.3`}),e.map(e=>(0,J.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 at=(0,q.createContext)(null);at.displayName=`CollaborationContext`;function ot(){return(0,q.useContext)(at)}function Y(...e){return W(G(e))}function st({canvas:e={width:1200,height:800,gridSize:8,showGrid:!0,snapToGrid:!0},components:t=[],palette:n=ct,showComponentTree:r=!0,undoRedo:i=!0,propertyEditor:a=!0,readOnly:o=!1,showMinimap:s=!1,onChange:c,className:l}){let u=qe(t),d=u.current,f=(0,q.useCallback)(e=>{u.push(e),c?.(e)},[u,c]),p=Ze({initialZoom:e.zoom??1}),{zoom:m}=p,h=Ye(),g=(0,q.useMemo)(()=>{let e=Array.from(h.selectedIds);return e.length>0?e[0]:null},[h.selectedIds]),_=(0,q.useMemo)(()=>d.find(e=>e.id===g),[d,g]),v=Xe(),y=Je(),b=ot(),x=(0,q.useCallback)(e=>{b&&b.sendOperation({...e,userId:b.currentUserId??``})},[b]),[S,w]=(0,q.useState)(!0),[T,E]=(0,q.useState)(!0),[D,O]=(0,q.useState)(s),k=(0,q.useRef)(null),A=(0,q.useRef)(null),j=(0,q.useCallback)(t=>!e.snapToGrid||!e.gridSize?t:Math.round(t/e.gridSize)*e.gridSize,[e.snapToGrid,e.gridSize]),ee=(0,q.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),h.selectOne(a.id),x({type:`insert`,elementId:a.id,data:{component:a}})},[d,o,n,f,h,x]),M=(0,q.useCallback)(e=>{if(o)return;let t=d.filter(t=>t.id!==e);f(t),h.isSelected(e)&&h.clearSelection(),x({type:`delete`,elementId:e,data:{}})},[d,o,f,h,x]),N=(0,q.useCallback)(async()=>{if(o||h.count===0||!await y.confirm(`Delete components`,`Are you sure you want to delete ${h.count} component${h.count>1?`s`:``}?`))return;let e=h.selectedIds,t=d.filter(t=>!e.has(t.id));f(t),h.clearSelection(),e.forEach(e=>{x({type:`delete`,elementId:e,data:{}})})},[o,h,y,d,f,x]),F=(0,q.useCallback)((e,t)=>{if(o||!g)return;let n=d.map(n=>n.id===g?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),x({type:`update`,elementId:g,data:{[e]:t}})},[o,g,d,f,x]),I=(0,q.useCallback)(()=>{let e=h.selectedIds;if(e.size===0)return;let t=d.filter(t=>e.has(t.id));v.copy(t)},[h,d,v]),L=(0,q.useCallback)(()=>{if(o)return;let e=v.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),h.selectMany(n.map(e=>e.id)),n.forEach(e=>{x({type:`insert`,elementId:e.id,data:{component:e}})})},[o,v,d,f,h,x]),R=(0,q.useCallback)((e,t)=>{o||(k.current={id:t.id,startX:e.clientX,startY:e.clientY},e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},[o]),ne=(0,q.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),ie=(0,q.useCallback)(e=>{e.preventDefault();let t=k.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:j(e.position.x+n),y:j(e.position.y+r)}}:e);f(i),x({type:`move`,elementId:t.id,data:{}}),k.current=null},[o,m,d,f,j,x]),z=(0,q.useMemo)(()=>_?[{name:`label`,label:`Label`,type:`text`,value:_.label??``,group:`General`},{name:`x`,label:`X`,type:`number`,value:_.position.x,group:`Position`},{name:`y`,label:`Y`,type:`number`,value:_.position.y,group:`Position`},{name:`width`,label:`Width`,type:`number`,value:_.position.width,group:`Size`},{name:`height`,label:`Height`,type:`number`,value:_.position.height,group:`Size`}]:[],[_]),ae=(0,q.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:h.isSelected(e.id)})),[d,h]);return(0,q.useEffect)(()=>{let e=A.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`)&&h.count>0&&!t){e.preventDefault(),N();return}if(e.key===`Escape`){h.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(),I();return}if(n&&e.key===`v`&&!o){e.preventDefault(),L();return}if(n&&e.key===`a`){e.preventDefault(),h.selectMany(d.map(e=>e.id));return}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[h,N,i,o,u,I,L,d]),(0,J.jsxs)(`div`,{ref:A,tabIndex:0,className:Y(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,l),children:[!o&&(0,J.jsx)(`div`,{className:Y(`border-r bg-muted/30 flex flex-col transition-[width] duration-200`,S?`w-60`:`w-0 overflow-hidden`),role:`region`,"aria-label":`Component palette`,children:S&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:`Components`}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2`,children:n.map(e=>(0,J.jsxs)(`div`,{className:`mb-3`,children:[(0,J.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground px-2 py-1 uppercase`,children:e.label}),e.items.map(e=>(0,J.jsxs)(`button`,{onClick:()=>ee(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,J.jsx)(Be,{className:`h-3 w-3`}),e.label]},e.type))]},e.name))})]})}),(0,J.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/20`,role:`toolbar`,"aria-label":`Designer toolbar`,children:[!o&&(0,J.jsx)(`button`,{className:`p-1.5 rounded hover:bg-accent`,title:S?`Collapse palette`:`Expand palette`,"aria-label":S?`Collapse palette`:`Expand palette`,onClick:()=>w(e=>!e),children:(0,J.jsx)(P,{className:Y(`h-4 w-4`,!S&&`rotate-180`)})}),i&&!o&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`}),(0,J.jsx)(`button`,{className:Y(`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,J.jsx)(Ie,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{className:Y(`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,J.jsx)(Te,{className:`h-4 w-4`})}),(0,J.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!o&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{className:Y(`p-1.5 rounded hover:bg-accent`,h.count===0&&`opacity-40 pointer-events-none`),title:`Copy (Ctrl+C)`,"aria-label":`Copy`,disabled:h.count===0,onClick:I,children:(0,J.jsx)(Ce,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{className:Y(`p-1.5 rounded hover:bg-accent`,!v.hasContent&&`opacity-40 pointer-events-none`),title:`Paste (Ctrl+V)`,"aria-label":`Paste`,disabled:!v.hasContent,onClick:L,children:(0,J.jsx)(He,{className:`h-4 w-4`})}),(0,J.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!o&&(0,J.jsx)(`button`,{className:Y(`p-1.5 rounded hover:bg-accent`,h.count===0&&`opacity-40 pointer-events-none`),title:`Delete selected`,"aria-label":`Delete selected`,disabled:h.count===0,onClick:N,children:(0,J.jsx)(U,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{className:`p-1.5 rounded hover:bg-accent`,title:`Preview`,"aria-label":`Preview`,children:(0,J.jsx)(ge,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{className:Y(`p-1.5 rounded hover:bg-accent`,D&&`bg-accent`),title:`Toggle minimap`,"aria-label":`Toggle minimap`,onClick:()=>O(e=>!e),children:(0,J.jsx)(Oe,{className:`h-4 w-4`})}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`button`,{className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Zoom out`,onClick:p.zoomOut,children:(0,J.jsx)(te,{className:`h-3 w-3`})}),(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground w-10 text-center`,children:[Math.round(m*100),`%`]}),(0,J.jsx)(`button`,{className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Zoom in`,onClick:p.zoomIn,children:(0,J.jsx)(Be,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{className:`p-1 rounded hover:bg-accent text-xs`,"aria-label":`Reset zoom`,onClick:p.resetZoom,children:(0,J.jsx)(ue,{className:`h-3 w-3`})})]}),r&&(0,J.jsx)(`button`,{className:`p-1.5 rounded hover:bg-accent`,title:T?`Collapse panel`:`Expand panel`,"aria-label":T?`Collapse panel`:`Expand panel`,onClick:()=>E(e=>!e),children:(0,J.jsx)(C,{className:Y(`h-4 w-4`,!T&&`rotate-180`)})})]}),(0,J.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:ne,onDrop:ie,children:(0,J.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=h.isSelected(e.id);return(0,J.jsxs)(`div`,{draggable:!o,onDragStart:t=>R(t,e),className:Y(`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=>h.toggle(e.id,t.shiftKey),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-muted/50 text-xs border-b`,children:[(0,J.jsx)(re,{className:`h-3 w-3 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.label??e.type}),!o&&(0,J.jsx)(`button`,{onClick:t=>{t.stopPropagation(),M(e.id)},className:`ml-auto p-0.5 rounded hover:bg-destructive/10`,"aria-label":`Delete ${e.label??e.type}`,children:(0,J.jsx)(U,{className:`h-3 w-3 text-destructive`})})]}),(0,J.jsx)(`div`,{className:`p-2 text-xs text-muted-foreground`,children:e.type})]},e.id)}),D&&(0,J.jsx)(it,{items:ae,canvasWidth:e.width,canvasHeight:e.height})]})})]}),r&&(0,J.jsx)(`div`,{className:Y(`border-l bg-muted/30 flex flex-col transition-[width] duration-200`,T?`w-60`:`w-0 overflow-hidden`),role:`region`,"aria-label":`Component tree`,children:T&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`p-3 border-b font-medium text-sm flex items-center gap-2`,children:[(0,J.jsx)(ze,{className:`h-4 w-4`}),`Component Tree`]}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2`,children:d.length===0?(0,J.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,J.jsx)(`button`,{onClick:t=>h.toggle(e.id,t.shiftKey),className:Y(`w-full flex items-center gap-2 px-2 py-1.5 text-sm rounded text-left`,h.isSelected(e.id)?`bg-accent`:`hover:bg-accent/50`),children:(0,J.jsx)(`span`,{className:`truncate`,children:e.label??e.type})},e.id))}),a&&_?(0,J.jsx)(`div`,{className:`border-t`,children:(0,J.jsx)(tt,{title:`Properties – ${_.label??_.type}`,fields:z,onChange:F})}):_&&(0,J.jsxs)(`div`,{className:`border-t p-3`,children:[(0,J.jsx)(`div`,{className:`text-xs font-medium mb-2`,children:`Properties`}),(0,J.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-1`,children:[(0,J.jsxs)(`div`,{children:[`Type: `,_.type]}),(0,J.jsxs)(`div`,{children:[`ID: `,_.id]}),(0,J.jsxs)(`div`,{children:[`Position: `,_.position.x,`,`,` `,_.position.y]}),(0,J.jsxs)(`div`,{children:[`Size: `,_.position.width,` ×`,` `,_.position.height]})]})]})]})}),(0,J.jsx)($e,{isOpen:y.isOpen,title:y.title,message:y.message,onConfirm:y.onConfirm,onCancel:y.onCancel})]})}var ct=[{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 lt(e,t={}){return qe(e,t)}function ut(...e){return W(G(e))}var dt=[`text`,`number`,`boolean`,`date`,`datetime`,`uuid`,`email`,`url`,`phone`,`json`,`integer`,`float`,`decimal`,`currency`,`percent`,`textarea`,`select`,`multiselect`,`lookup`,`attachment`,`formula`,`autonumber`];function ft(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 pt({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,q.useRef)(null),l=lt({entities:e,relationships:t},{maxHistory:50}),{entities:u,relationships:d}=l.current,f=(0,q.useCallback)(e=>{l.push(e),a?.(e.entities),o?.(e.relationships)},[l,a,o]),p=Je(),m=Ye(),h=m.count>0?Array.from(m.selectedIds)[0]:null,g=Xe(),_=Ze({minZoom:.25,maxZoom:3,zoomStep:.1}),v=ot(),[y,x]=(0,q.useState)(!0),[S,C]=(0,q.useState)(!0),[T,E]=(0,q.useState)(null),[O,k]=(0,q.useState)(``),[A,j]=(0,q.useState)(null),[ee,M]=(0,q.useState)(``),N=(0,q.useRef)(null),te=(0,q.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),v?.sendOperation({type:`insert`,userId:v?.currentUserId??``,elementId:t.id,data:{name:t.name,label:t.label}})},[i,l,f,m,v]),P=(0,q.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(),v?.sendOperation({type:`delete`,userId:v?.currentUserId??``,elementId:e,data:{}})},[i,u,p,l,f,m,v]),F=(0,q.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]),I=(0,q.useCallback)(()=>{if(i)return;let e=l.current,t={entities:ft(e.entities),relationships:e.relationships};f(t)},[i,l,f]),L=(0,q.useCallback)(()=>{let e=u.filter(e=>m.isSelected(e.id));e.length>0&&g.copy(e)},[u,m,g]),R=(0,q.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,q.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]),re=(0,q.useCallback)((e,t,n)=>{i||(E({entityId:e,fieldIndex:t}),k(n))},[i]),ie=(0,q.useCallback)(()=>{if(!T)return;let e=O.trim();if(e===``){E(null);return}let t=l.current,n={entities:t.entities.map(t=>{if(t.id!==T.entityId)return t;let n=t.fields.map((t,n)=>n===T.fieldIndex?{...t,name:e}:t);return{...t,fields:n}}),relationships:t.relationships};f(n),E(null)},[T,O,l,f]),z=(0,q.useCallback)(()=>{E(null)},[]),ae=(0,q.useCallback)((e,t)=>{i||(j(e),M(t))},[i]),oe=(0,q.useCallback)(()=>{if(!A)return;let e=ee.trim();if(e===``){j(null);return}let t=l.current,n={entities:t.entities.map(t=>t.id===A?{...t,label:e}:t),relationships:t.relationships};f(n),j(null)},[A,ee,l,f]),se=(0,q.useCallback)(()=>{j(null)},[]),ce=(0,q.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]),le=(0,q.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]),ue=(0,q.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),B=(0,q.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]),V=h?u.find(e=>e.id===h):null,de=V?[{name:`name`,label:`Name`,type:`text`,value:V.name,group:`General`},{name:`label`,label:`Label`,type:`text`,value:V.label,group:`General`},{name:`description`,label:`Description`,type:`textarea`,value:V.description??``,group:`General`},{name:`color`,label:`Color`,type:`color`,value:V.color??`#3b82f6`,group:`Appearance`},{name:`position.x`,label:`X Position`,type:`number`,value:V.position.x,group:`Position`},{name:`position.y`,label:`Y Position`,type:`number`,value:V.position.y,group:`Position`}]:[],fe=(0,q.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,q.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(),F()):e.key===`Escape`&&(m.clearSelection(),E(null),j(null))};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[l,L,R,F,m]);let H=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,J.jsxs)(`div`,{ref:c,tabIndex:0,className:ut(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,s),children:[(0,J.jsxs)(`div`,{className:`flex flex-col flex-1 min-w-0`,children:[(0,J.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,J.jsx)(b,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`font-medium text-sm`,children:`Data Model Designer`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 ml-2 border-l pl-2`,children:[(0,J.jsx)(`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,J.jsx)(Ie,{className:`h-3.5 w-3.5`})}),(0,J.jsx)(`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,J.jsx)(Te,{className:`h-3.5 w-3.5`})})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:[(0,J.jsx)(`button`,{onClick:_.zoomOut,"aria-label":`Zoom Out`,title:`Zoom Out`,className:`p-1 rounded hover:bg-accent`,children:(0,J.jsx)(Me,{className:`h-3.5 w-3.5`})}),(0,J.jsxs)(`span`,{className:`text-xs tabular-nums w-10 text-center`,children:[Math.round(_.zoom*100),`%`]}),(0,J.jsx)(`button`,{onClick:_.zoomIn,"aria-label":`Zoom In`,title:`Zoom In`,className:`p-1 rounded hover:bg-accent`,children:(0,J.jsx)(D,{className:`h-3.5 w-3.5`})}),(0,J.jsx)(`button`,{onClick:_.resetZoom,"aria-label":`Reset Zoom`,title:`Reset Zoom`,className:`p-1 rounded hover:bg-accent`,children:(0,J.jsx)(Ee,{className:`h-3 w-3`})})]}),!i&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:[(0,J.jsx)(`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,J.jsx)(Ce,{className:`h-3.5 w-3.5`})}),(0,J.jsx)(`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,J.jsx)(He,{className:`h-3.5 w-3.5`})})]}),!i&&(0,J.jsxs)(`button`,{onClick:I,"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,J.jsx)(w,{className:`h-3 w-3`}),` Auto Layout`]}),(0,J.jsx)(`div`,{className:`flex-1`}),v?.isConnected&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,role:`status`,"aria-label":`Collaboration active`,children:[(0,J.jsx)(ve,{className:`h-3 w-3`}),(0,J.jsxs)(`span`,{children:[v.users.length,` user`,v.users.length===1?``:`s`]})]}),m.count>1&&(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[m.count,` selected`]}),!i&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{onClick:te,"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,J.jsx)(Be,{className:`h-3 w-3`}),` Add Entity`]}),(0,J.jsxs)(`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,J.jsx)(Ve,{className:`h-3 w-3`}),` Add Relationship`]})]})]}),(0,J.jsxs)(`div`,{role:`region`,"aria-label":`Canvas`,className:`flex-1 overflow-auto bg-muted/10 p-4 relative`,onWheel:_.handleWheel,onMouseDown:_.startPan,onDragOver:ue,onDrop:B,children:[(0,J.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,J.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,J.jsxs)(`g`,{children:[(0,J.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,J.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,J.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,J.jsxs)(`div`,{role:`group`,"aria-label":e.label,draggable:!i,onDragStart:t=>le(t,e.id),className:ut(`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,J.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,J.jsx)(b,{className:`h-3.5 w-3.5`}),A===e.id?(0,J.jsx)(`input`,{type:`text`,value:ee,onChange:e=>M(e.target.value),onBlur:oe,onKeyDown:e=>{e.key===`Enter`&&oe(),e.key===`Escape`&&se()},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,J.jsx)(`span`,{className:`truncate cursor-text`,onDoubleClick:t=>{t.stopPropagation(),ae(e.id,e.label)},title:`Double-click to edit label`,"data-testid":`entity-label-${e.id}`,children:e.label}),!i&&(0,J.jsx)(`button`,{onClick:t=>{t.stopPropagation(),P(e.id)},"aria-label":`Delete ${e.label}`,className:`ml-auto p-0.5 rounded hover:bg-destructive/20`,children:(0,J.jsx)(U,{className:`h-3 w-3 text-destructive`})})]}),(0,J.jsx)(`div`,{className:`px-3 py-1 divide-y`,children:e.fields.map((t,n)=>(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-1 text-xs`,children:[T&&T.entityId===e.id&&T.fieldIndex===n?(0,J.jsx)(`input`,{type:`text`,value:O,onChange:e=>k(e.target.value),onBlur:ie,onKeyDown:e=>{e.key===`Enter`&&ie(),e.key===`Escape`&&z()},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,J.jsxs)(`span`,{className:ut(`font-mono cursor-text`,t.primaryKey&&`font-bold text-primary`),onClick:r=>{r.stopPropagation(),re(e.id,n,t.name)},title:`Click to edit field name`,children:[t.primaryKey&&(0,J.jsx)(`span`,{className:`text-[0.65rem] font-semibold text-primary mr-0.5`,children:`PK`}),t.name]}),i?(0,J.jsx)(`span`,{className:`text-muted-foreground ml-auto`,children:t.type}):(0,J.jsx)(`select`,{value:t.type,onChange:t=>{t.stopPropagation(),ce(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:dt.map(e=>(0,J.jsx)(`option`,{value:e,children:e},e))}),t.required&&(0,J.jsx)(`span`,{className:`text-destructive`,children:`*`})]},`${t.name}-${n}`))}),!i&&(0,J.jsx)(`div`,{className:`px-3 py-1 border-t`,children:(0,J.jsxs)(`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,J.jsx)(Be,{className:`h-3 w-3`}),` Add Field`]})})]},e.id))]}),S&&u.length>0&&(0,J.jsx)(it,{items:H,canvasWidth:n.width,canvasHeight:n.height,position:`bottom-right`,size:150})]})]}),(0,J.jsxs)(`div`,{className:`w-64 border-l flex flex-col bg-background shrink-0`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[(0,J.jsxs)(`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":y,"aria-controls":`property-editor-panel`,children:[y?(0,J.jsx)(we,{className:`h-3 w-3`}):(0,J.jsx)(Ne,{className:`h-3 w-3`}),`Properties`]}),y&&(0,J.jsx)(`div`,{id:`property-editor-panel`,className:`flex-1 overflow-y-auto`,children:(0,J.jsx)(tt,{title:V?V.label:`Properties`,fields:de,onChange:fe})})]}),(0,J.jsx)(`div`,{className:`border-t`,children:(0,J.jsxs)(`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,J.jsx)(we,{className:`h-3 w-3`}):(0,J.jsx)(Ne,{className:`h-3 w-3`}),`Minimap`]})})]}),(0,J.jsx)($e,{isOpen:p.isOpen,title:p.title,message:p.message,onConfirm:p.onConfirm,onCancel:p.onCancel,destructive:!0})]})}function mt(...e){return W(G(e))}var ht=120,gt=50;function _t(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 vt({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=qe({nodes:t,edges:n},{maxHistory:50}),f=d.current.nodes,p=d.current.edges,m=(0,q.useCallback)((e,t)=>{d.push({nodes:e,edges:t}),c?.(e),l?.(t)},[d,c,l]),h=Je(),g=Ye(),v=Xe(),y=Ze({initialZoom:1}),b=ot(),[x,S]=(0,q.useState)(null),[w,T]=(0,q.useState)(!1),[O,k]=(0,q.useState)(null),[A,j]=(0,q.useState)(null),[N,te]=(0,q.useState)(!0),[P,F]=(0,q.useState)(null),[I,R]=(0,q.useState)({x:0,y:0}),ne=(0,q.useRef)(null),re=(0,q.useRef)(c),ie=(0,q.useRef)(l);re.current=c,ie.current=l,(0,q.useEffect)(()=>{re.current?.(f),ie.current?.(p)},[d.current]);let z=(0,q.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),S(n.id),g.selectOne(n.id),b?.sendOperation({type:`insert`,elementId:n.id,data:{label:t},userId:b.currentUserId??``})},[f,p,s,m,g,b]),ae=(0,q.useCallback)(async e=>{if(s)return;let t=f.find(t=>t.id===e);if(!await h.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),x===e&&S(null),g.clearSelection(),b?.sendOperation({type:`delete`,elementId:e,data:{},userId:b.currentUserId??``})},[f,p,x,s,m,h,g,b]),oe=(0,q.useCallback)(async()=>{if(s||g.count===0||!await h.confirm(`Delete Selected Nodes`,`Are you sure you want to delete ${g.count} selected node(s) and their connected edges?`))return;let e=g.selectedIds,t=f.filter(t=>!e.has(t.id)),n=p.filter(t=>!e.has(t.source)&&!e.has(t.target));m(t,n),S(null),g.clearSelection()},[f,p,s,m,h,g]),se=(0,q.useCallback)(()=>{let e=g.count>0?g.selectedIds:x?new Set([x]):new Set;if(e.size===0)return;let t=f.filter(t=>e.has(t.id));v.copy(t)},[f,x,g,v]),ce=(0,q.useCallback)(()=>{if(s)return;let e=v.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),g.selectMany(t.map(e=>e.id)),S(t[0].id)},[s,f,p,v,m,g]),le=(0,q.useCallback)(()=>{T(e=>!e||(k(null),!1))},[]),ue=(0,q.useCallback)(e=>{if(!w)return!1;if(!O)return k(e),!0;if(O===e)return!0;let t={id:`edge-${Date.now()}`,source:O,target:e},n=[...p,t];return m(f,n),k(null),T(!1),b?.sendOperation({type:`insert`,elementId:t.id,data:{source:O,target:e},userId:b.currentUserId??``}),!0},[w,O,f,p,m,b]),B=(0,q.useCallback)(()=>{if(s||f.length===0)return;let e=_t(f,p);m(e,p)},[f,p,s,m]),V=(0,q.useCallback)((e,t)=>{if(s||!f.find(e=>e.id===t))return;F(t);let n=e.target.getBoundingClientRect();R({x:e.clientX-n.left,y:e.clientY-n.top}),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},[s,f]),de=(0,q.useCallback)(e=>{if(e.preventDefault(),s||!P)return;let t=e.currentTarget.getBoundingClientRect(),n=y.zoom,r=(e.clientX-t.left-y.panOffset.x)/n-I.x,i=(e.clientY-t.top-y.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,y.zoom,y.panOffset,m]),fe=(0,q.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),H=(0,q.useMemo)(()=>f.find(e=>e.id===x)??null,[f,x]),pe=(0,q.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]),me=(0,q.useCallback)((e,t)=>{if(s||!x)return;let n=f.map(n=>n.id===x?{...n,[e]:t}:n);m(n,p)},[s,x,f,p,m]),he=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`}},ge=(0,q.useMemo)(()=>f.map(e=>({id:e.id,x:e.position.x,y:e.position.y,width:ht,height:gt,selected:g.isSelected(e.id)||e.id===x})),[f,g,x]);(0,q.useEffect)(()=>{let e=ne.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(),se();return}if(n&&e.key===`v`){e.preventDefault(),ce();return}if(e.key===`Delete`||e.key===`Backspace`){g.count>0?(e.preventDefault(),oe()):x&&(e.preventDefault(),ae(x));return}if(e.key===`Escape`){w?(T(!1),k(null)):(S(null),g.clearSelection());return}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[x,w,g,d,se,ce,ae,oe]);let _e=(0,q.useCallback)(e=>{e.target===e.currentTarget&&(S(null),g.clearSelection(),w&&(T(!1),k(null)))},[w,g]);return(0,J.jsxs)(`div`,{ref:ne,tabIndex:0,className:mt(`flex flex-col h-full w-full border rounded-lg overflow-hidden bg-background`,u),children:[(0,J.jsx)($e,{isOpen:h.isOpen,title:h.title,message:h.message,onConfirm:h.onConfirm,onCancel:h.onCancel,destructive:!0}),o&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 p-2 border-b bg-muted/20`,role:`toolbar`,"aria-label":`Process toolbar`,children:[(0,J.jsx)(E,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`font-medium text-sm`,"aria-label":`Process name`,children:e}),b?.isConnected&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,role:`status`,"aria-label":`Collaboration active`,children:[(0,J.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-green-500`}),b.users.length,` user`,b.users.length===1?``:`s`]}),(0,J.jsx)(`div`,{className:`flex-1`}),!s&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`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,J.jsx)(Ie,{className:`h-3 w-3`})}),(0,J.jsx)(`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,J.jsx)(Te,{className:`h-3 w-3`})}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,J.jsx)(`button`,{onClick:se,disabled:g.count===0&&!x,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,J.jsx)(Ce,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{onClick:ce,disabled:!v.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,J.jsx)(He,{className:`h-3 w-3`})}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,J.jsxs)(`button`,{onClick:le,className:mt(`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,w&&`bg-primary text-primary-foreground`),title:`Connect nodes`,"aria-label":`Connect nodes`,"aria-pressed":w,children:[(0,J.jsx)(Re,{className:`h-3 w-3`}),` Connect`]}),(0,J.jsxs)(`button`,{onClick:B,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,J.jsx)(be,{className:`h-3 w-3`}),` Layout`]}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,J.jsx)(`button`,{onClick:y.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,J.jsx)(D,{className:`h-3 w-3`})}),(0,J.jsxs)(`span`,{className:`text-xs tabular-nums min-w-[3ch] text-center`,"aria-label":`Zoom level`,children:[Math.round(y.zoom*100),`%`]}),(0,J.jsx)(`button`,{onClick:y.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,J.jsx)(Me,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{onClick:y.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,J.jsx)(Ee,{className:`h-3 w-3`})}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,J.jsxs)(`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,J.jsx)(_,{className:`h-3 w-3 text-green-600`}),` Start`]}),(0,J.jsxs)(`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,J.jsx)(M,{className:`h-3 w-3 text-blue-600`}),` Task`]}),(0,J.jsxs)(`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,J.jsx)(L,{className:`h-3 w-3 text-yellow-600`}),` Gateway`]}),(0,J.jsxs)(`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,J.jsx)(M,{className:`h-3 w-3 text-red-600`}),` End`]}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`}),(0,J.jsx)(`button`,{onClick:()=>te(e=>!e),className:`flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent`,title:N?`Hide properties`:`Show properties`,"aria-label":N?`Hide property panel`:`Show property panel`,"aria-expanded":N,children:N?(0,J.jsx)(C,{className:`h-3 w-3`}):(0,J.jsx)(ee,{className:`h-3 w-3`})})]})]}),(0,J.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,J.jsx)(`div`,{className:`flex-1 overflow-auto bg-muted/10 p-4`,role:`region`,"aria-label":`Process canvas`,onWheel:y.handleWheel,onMouseDown:y.startPan,children:(0,J.jsxs)(`div`,{className:`relative`,style:{...y.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:_e,onDrop:de,onDragOver:fe,children:[(0,J.jsxs)(`svg`,{className:`absolute inset-0 pointer-events-none`,width:i.width,height:i.height,children:[(0,J.jsx)(`defs`,{children:(0,J.jsx)(`marker`,{id:`arrowhead`,markerWidth:`10`,markerHeight:`7`,refX:`10`,refY:`3.5`,orient:`auto`,children:(0,J.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+ht/2;let r=t.position.y+gt/2;n.position.x+ht/2;let i=n.position.y+gt/2,a=t.position.x+ht,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,J.jsxs)(`g`,{children:[(0,J.jsx)(`path`,{d:l,fill:`none`,stroke:`hsl(var(--foreground) / 0.5)`,strokeWidth:`2`,markerEnd:`url(#arrowhead)`}),e.label&&(0,J.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,J.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=g.isSelected(e.id)||x===e.id,n=O===e.id,r=A===e.id,i=w||r;return(0,J.jsxs)(`div`,{className:`absolute select-none`,style:{left:e.position.x,top:e.position.y},role:`group`,"aria-label":e.label,draggable:!s&&!w,onDragStart:t=>V(t,e.id),onMouseEnter:()=>j(e.id),onMouseLeave:()=>j(null),onClick:t=>{ue(e.id)||(t.shiftKey?g.toggle(e.id,!0):(S(e.id),g.selectOne(e.id)))},children:[(0,J.jsx)(`div`,{className:mt(`flex items-center justify-center border-2 min-w-[120px] min-h-[50px] px-3 py-2 transition-shadow`,he(e.type),t&&`ring-2 ring-primary shadow-md`,n&&`ring-2 ring-blue-400 shadow-lg`,w&&!n&&`cursor-crosshair`),children:(0,J.jsx)(`span`,{className:mt(`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,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair`,style:{left:-6,top:gt/2-6},title:`Input port`,onClick:t=>{t.stopPropagation(),ue(e.id)}}),(0,J.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair`,style:{right:-6,top:gt/2-6},title:`Output port`,onClick:t=>{t.stopPropagation(),w?ue(e.id):(T(!0),k(e.id))}}),(0,J.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair`,style:{left:ht/2-6,top:-6},title:`Port`,onClick:t=>{t.stopPropagation(),ue(e.id)}}),(0,J.jsx)(`div`,{className:`absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair`,style:{left:ht/2-6,bottom:-6},title:`Port`,onClick:t=>{t.stopPropagation(),ue(e.id)}})]}),!s&&t&&!w&&(0,J.jsx)(`button`,{onClick:t=>{t.stopPropagation(),ae(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,J.jsx)(U,{className:`h-3 w-3`})})]},e.id)}),a&&f.length>0&&(0,J.jsx)(it,{items:ge,canvasWidth:i.width??1400,canvasHeight:i.height??800,position:`bottom-right`})]})}),N&&!s&&(0,J.jsx)(`div`,{className:`w-64 border-l bg-background overflow-y-auto shrink-0`,role:`complementary`,"aria-label":`Property panel`,children:(0,J.jsx)(tt,{title:H?`Properties: ${H.label}`:`Properties`,fields:pe,onChange:me})})]})]})}function X(...e){return W(G(e))}var Z={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`},yt={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}},bt=[{type:`header`,height:80,elements:[]},{type:`detail`,height:400,elements:[],repeat:!0},{type:`footer`,height:60,elements:[]}];function xt({reportName:e=Z.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=qe(a.length>0?a:bt),f=d.current,p=(0,q.useCallback)(e=>{d.push(e),l?.(e)},[d,l]),m=Ye(),h=(0,q.useMemo)(()=>{let e=Array.from(m.selectedIds);return e.length>0?e[0]:null},[m.selectedIds]),g=Xe(),_=Je(),v=ot(),y=(0,q.useCallback)(e=>{v&&v.sendOperation({...e,userId:v.currentUserId??``})},[v]),[b,x]=(0,q.useState)(!0),w=(0,q.useRef)(null),T=(0,q.useRef)(null),E=yt[n],D=r===`landscape`?E.height:E.width,O=r===`landscape`?E.width:E.height,k=e=>{switch(e){case`header`:return Z.sectionHeader;case`page-header`:return Z.sectionPageHeader;case`group-header`:return Z.sectionGroupHeader;case`detail`:return Z.sectionDetail;case`group-footer`:return Z.sectionGroupFooter;case`page-footer`:return Z.sectionPageFooter;case`footer`:return Z.sectionFooter;default:return e}},A=(0,q.useMemo)(()=>h?f.flatMap(e=>e.elements).find(e=>e.id===h):null,[h,f]),j=(0,q.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),y({type:`insert`,elementId:n.id,data:{element:n}})},[f,i.left,c,p,m,y]),ee=(0,q.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(),y({type:`delete`,elementId:e,data:{}})},[f,c,p,m,y]),M=(0,q.useCallback)(async()=>{if(c||m.count===0||!await _.confirm(Z.deleteElementsTitle,Z.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=>{y({type:`delete`,elementId:e,data:{}})})},[c,m,_,f,p,y]),te=(0,q.useCallback)((e,t)=>{if(c||!h)return;let n=f.map(n=>({...n,elements:n.elements.map(n=>n.id===h?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),y({type:`update`,elementId:h,data:{[e]:t}})},[c,h,f,p,y]),P=(0,q.useCallback)(()=>{let e=m.selectedIds;if(e.size===0)return;let t=f.flatMap(e=>e.elements).filter(t=>e.has(t.id));g.copy(t)},[m,f,g]),F=(0,q.useCallback)(()=>{if(c)return;let e=g.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=>{y({type:`insert`,elementId:e.id,data:{element:e}})})},[c,g,f,p,m,y]),I=(0,q.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]),L=(0,q.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`},[]),R=(0,q.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)}}y({type:`move`,elementId:n.id,data:{}}),w.current=null},[c,f,p,y]),ne=(0,q.useMemo)(()=>{if(!A)return[];let e=[{name:`x`,label:Z.propX,type:`number`,value:A.position.x,group:Z.groupPosition},{name:`y`,label:Z.propY,type:`number`,value:A.position.y,group:Z.groupPosition},{name:`width`,label:Z.propWidth,type:`number`,value:A.position.width,group:Z.groupSize},{name:`height`,label:Z.propHeight,type:`number`,value:A.position.height,group:Z.groupSize}];return A.type===`text`&&e.push({name:`text`,label:Z.propText,type:`text`,value:A.properties.text??``,group:Z.groupContent}),A.type===`field`&&e.push({name:`field`,label:Z.propField,type:`text`,value:A.properties.field??``,group:Z.groupContent}),e},[A]);return(0,q.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(),M();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(),P();return}if(n&&e.key===`v`&&!c){e.preventDefault(),F();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,M,c,d,P,F,f]),(0,J.jsxs)(`div`,{ref:T,tabIndex:0,className:X(`flex h-full w-full border rounded-lg overflow-hidden bg-background`,u),children:[(0,J.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[o&&(0,J.jsxs)(`div`,{role:`toolbar`,"aria-label":Z.designerToolbar,className:`flex items-center gap-2 p-2 border-b bg-muted/20`,children:[(0,J.jsx)(B,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{className:`font-medium text-sm`,children:e}),t&&(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`(`,t,`)`]}),!c&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`}),(0,J.jsx)(`button`,{className:X(`p-1.5 rounded hover:bg-accent`,!d.canUndo&&`opacity-40 pointer-events-none`),title:Z.undoShortcut,"aria-label":Z.undo,disabled:!d.canUndo,onClick:()=>d.undo(),children:(0,J.jsx)(Ie,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{className:X(`p-1.5 rounded hover:bg-accent`,!d.canRedo&&`opacity-40 pointer-events-none`),title:Z.redoShortcut,"aria-label":Z.redo,disabled:!d.canRedo,onClick:()=>d.redo(),children:(0,J.jsx)(Te,{className:`h-4 w-4`})}),(0,J.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!c&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{className:X(`p-1.5 rounded hover:bg-accent`,m.count===0&&`opacity-40 pointer-events-none`),title:Z.copyShortcut,"aria-label":Z.copy,disabled:m.count===0,onClick:P,children:(0,J.jsx)(Ce,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{className:X(`p-1.5 rounded hover:bg-accent`,!g.hasContent&&`opacity-40 pointer-events-none`),title:Z.pasteShortcut,"aria-label":Z.paste,disabled:!g.hasContent,onClick:F,children:(0,J.jsx)(He,{className:`h-4 w-4`})}),(0,J.jsx)(`div`,{className:`w-px h-5 bg-border mx-1`})]}),!c&&(0,J.jsx)(`button`,{className:X(`p-1.5 rounded hover:bg-accent`,m.count===0&&`opacity-40 pointer-events-none`),title:Z.deleteSelected,"aria-label":Z.deleteSelected,disabled:m.count===0,onClick:M,children:(0,J.jsx)(U,{className:`h-4 w-4`})}),(0,J.jsx)(`div`,{className:`flex-1`}),v?.isConnected&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,J.jsx)(`span`,{className:`inline-block h-2 w-2 rounded-full bg-green-500`}),Z.collaborationConnected,v.users.length>1&&` (${v.users.length})`]}),(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[n,` `,r]}),s&&(0,J.jsx)(`button`,{className:`p-1.5 rounded hover:bg-accent`,title:b?Z.collapsePanel:Z.expandPanel,"aria-label":b?Z.collapsePanel:Z.expandPanel,onClick:()=>x(e=>!e),children:(0,J.jsx)(C,{className:X(`h-4 w-4`,!b&&`rotate-180`)})})]}),(0,J.jsx)(`div`,{role:`region`,"aria-label":Z.reportCanvas,className:`flex-1 overflow-auto bg-muted/10 p-4 flex justify-center`,children:(0,J.jsx)(`div`,{className:`bg-white shadow-lg border`,style:{width:D,minHeight:O},children:f.map((e,t)=>(0,J.jsxs)(`div`,{className:`relative border-b border-dashed border-gray-300`,style:{minHeight:e.height},onDragOver:L,onDrop:e=>R(e,t),children:[(0,J.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,J.jsxs)(`div`,{className:`absolute right-1 top-0 flex items-center gap-0.5`,children:[(0,J.jsx)(`button`,{onClick:()=>j(t,`text`),className:`p-0.5 rounded hover:bg-accent`,title:Z.addText,"aria-label":Z.addText,children:(0,J.jsx)(pe,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{onClick:()=>j(t,`field`),className:`p-0.5 rounded hover:bg-accent`,title:Z.addField,"aria-label":Z.addField,children:(0,J.jsx)(Be,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{onClick:()=>j(t,`image`),className:`p-0.5 rounded hover:bg-accent`,title:Z.addImage,"aria-label":Z.addImage,children:(0,J.jsx)(N,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{onClick:()=>j(t,`chart`),className:`p-0.5 rounded hover:bg-accent`,title:Z.addChart,"aria-label":Z.addChart,children:(0,J.jsx)(Le,{className:`h-3 w-3`})}),(0,J.jsx)(`button`,{onClick:()=>j(t,`table`),className:`p-0.5 rounded hover:bg-accent`,title:Z.addTable,"aria-label":Z.addTable,children:(0,J.jsx)(S,{className:`h-3 w-3`})})]}),(0,J.jsxs)(`div`,{className:`relative`,style:{minHeight:e.height,paddingTop:24},children:[e.elements.length===0&&(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground text-center pt-4`,children:Z.addElementsPrompt}),e.elements.map(e=>{let n=m.isSelected(e.id);return(0,J.jsxs)(`div`,{draggable:!c,onDragStart:n=>I(n,e,t),className:X(`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,J.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.type===`text`&&(e.properties.text??Z.elementText),e.type===`field`&&`{${e.properties.field??`field`}}`,e.type===`image`&&Z.elementImage,e.type===`chart`&&Z.elementChart,e.type===`table`&&Z.elementTable]}),!c&&n&&(0,J.jsx)(`button`,{onClick:t=>{t.stopPropagation(),ee(e.id)},className:`absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow`,"aria-label":Z.deleteElement,children:(0,J.jsx)(U,{className:`h-2.5 w-2.5`})})]},e.id)})]})]},`${e.type}-${t}`))})})]}),s&&(0,J.jsx)(`div`,{role:`region`,"aria-label":Z.propertiesPanel,className:X(`border-l bg-muted/30 flex flex-col transition-[width] duration-200`,b?`w-56`:`w-0 overflow-hidden`),children:b&&(h&&A?(0,J.jsx)(tt,{title:`${Z.properties} – ${A.type}`,fields:ne,onChange:te}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`p-3 border-b font-medium text-sm`,children:Z.properties}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3`,children:(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground text-center py-4`,children:Z.selectElementPrompt})})]}))}),(0,J.jsx)($e,{isOpen:_.isOpen,title:_.title,message:_.message,onConfirm:_.onConfirm,onCancel:_.onCancel})]})}var St=ye({"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.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`},`appDesigner.basicInfo`);function Q(...e){return W(G(e))}var Ct={name:``,title:``,description:``,icon:``,template:``,layout:`sidebar`,objects:[],navigation:[],branding:{logo:``,primaryColor:`#3b82f6`,favicon:``}};function wt(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 Tt=0;function Et(e){return Tt+=1,`${e}_${Date.now()}_${Tt}`}function Dt({steps:e,currentIndex:t,onStepClick:n}){return(0,J.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,J.jsxs)(q.Fragment,{children:[r>0&&(0,J.jsx)(`div`,{className:Q(`h-0.5 w-12 sm:w-20`,i?`bg-blue-500`:`bg-gray-200`)}),(0,J.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,J.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,J.jsx)(Fe,{className:`h-4 w-4`}):r+1}),(0,J.jsx)(`span`,{className:Q(`text-xs font-medium`,a?`text-blue-600`:`text-gray-500`),children:e.label})]})]},e.id)})})}function Ot({draft:e,templates:t,readOnly:n,onChange:r,t:i}){let a=e.name.length>0&&!o(e.name);return(0,J.jsxs)(`div`,{"data-testid":`wizard-step-basic-content`,className:`mx-auto max-w-lg space-y-5`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsxs)(`label`,{htmlFor:`app-name`,className:`block text-sm font-medium text-gray-700`,children:[i(`appDesigner.appName`),` `,(0,J.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,J.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,J.jsx)(`p`,{className:`text-xs text-red-500`,children:i(`appDesigner.snakeCaseHint`)})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsxs)(`label`,{htmlFor:`app-title`,className:`block text-sm font-medium text-gray-700`,children:[i(`appDesigner.appTitle`),` `,(0,J.jsx)(`span`,{className:`text-red-500`,children:`*`})]}),(0,J.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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`app-description`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.appDescription`)}),(0,J.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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`app-icon`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.appIcon`)}),(0,J.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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`app-template`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.template`)}),(0,J.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,J.jsx)(`option`,{value:``,children:`None`}),t.map(e=>(0,J.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]}),(0,J.jsxs)(`fieldset`,{className:`space-y-2`,children:[(0,J.jsx)(`legend`,{className:`text-sm font-medium text-gray-700`,children:i(`appDesigner.layout`)}),(0,J.jsx)(`div`,{className:`flex gap-3`,children:[{value:`sidebar`,labelKey:`appDesigner.layoutSidebar`,Icon:T},{value:`header`,labelKey:`appDesigner.layoutHeader`,Icon:be},{value:`empty`,labelKey:`appDesigner.layoutEmpty`,Icon:de}].map(({value:t,labelKey:a,Icon:o})=>(0,J.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,J.jsx)(o,{className:`h-5 w-5 text-gray-600`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-gray-700`,children:i(a)}),(0,J.jsx)(`input`,{type:`radio`,name:`layout`,value:t,checked:e.layout===t,onChange:()=>r({layout:t}),disabled:n,className:`sr-only`})]},t))})]})]})}function kt({objects:e,readOnly:t,onToggle:n,onToggleAll:r,search:i,onSearchChange:a,t:o}){let s=(0,q.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,J.jsxs)(`div`,{"data-testid":`wizard-step-objects-content`,className:`mx-auto max-w-2xl space-y-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsxs)(`div`,{className:`relative flex-1`,children:[(0,J.jsx)(m,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.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,J.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,J.jsx)(`p`,{className:`py-8 text-center text-sm text-gray-400`,children:o(`appDesigner.noObjectsFound`)}):(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-3`,children:s.map(e=>(0,J.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,J.jsxs)(`div`,{className:`flex w-full items-center justify-between`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium text-gray-800`,children:e.label}),(0,J.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,J.jsx)(Fe,{className:`h-3 w-3`})})]}),(0,J.jsx)(`span`,{className:`text-xs text-gray-500`,children:e.name}),e.icon&&(0,J.jsx)(`span`,{className:`text-xs text-gray-400`,children:e.icon})]},e.name))})]})}var At={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 jt({items:e,readOnly:t,onAdd:n,onRemove:r,onReorder:i,t:a}){return(0,J.jsxs)(`div`,{"data-testid":`wizard-step-navigation-content`,className:`mx-auto max-w-lg space-y-4`,children:[(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.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,J.jsx)(h,{className:`h-3.5 w-3.5`}),a(`appDesigner.addGroup`)]}),(0,J.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,J.jsx)(Re,{className:`h-3.5 w-3.5`}),a(`appDesigner.addUrl`)]}),(0,J.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,J.jsx)(te,{className:`h-3.5 w-3.5`}),a(`appDesigner.addSeparator`)]})]}),e.length===0?(0,J.jsx)(`p`,{className:`py-8 text-center text-sm text-gray-400`,children:a(`appDesigner.noNavItemsHint`)}):(0,J.jsx)(`ul`,{className:`space-y-1.5`,children:e.map((n,o)=>(0,J.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,J.jsx)(`span`,{className:`text-xs text-gray-400`,children:n.icon}),(0,J.jsx)(`span`,{className:`flex-1 truncate text-sm text-gray-800`,children:n.type===`separator`?a(`appDesigner.separatorLabel`):d(n.label)}),(0,J.jsx)(`span`,{className:Q(`rounded-full px-2 py-0.5 text-[10px] font-medium`,At[n.type]??`bg-gray-100 text-gray-600`),children:n.type}),(0,J.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,J.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,J.jsx)(De,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(we,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(U,{className:`h-3.5 w-3.5`})})]})]},n.id))})]})}function Mt({branding:e,title:t,readOnly:n,onChange:r,t:i}){return(0,J.jsxs)(`div`,{"data-testid":`wizard-step-branding-content`,className:`mx-auto max-w-lg space-y-5`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`branding-logo`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.logoUrl`)}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(N,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`branding-color`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.primaryColor`)}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(g,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`branding-favicon`,className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.faviconUrl`)}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(R,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`span`,{className:`block text-sm font-medium text-gray-700`,children:i(`appDesigner.preview`)}),(0,J.jsxs)(`div`,{className:`rounded-lg border border-gray-200 bg-white p-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e.logo?(0,J.jsx)(`img`,{src:e.logo,alt:`App logo`,className:`h-8 w-8 rounded object-contain`}):(0,J.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded bg-gray-100 text-xs text-gray-400`,children:`Logo`}),(0,J.jsx)(`span`,{className:`text-sm font-semibold text-gray-800`,children:t||i(`appDesigner.appTitle`)})]}),(0,J.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,J.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-gray-200`,style:{backgroundColor:e.primaryColor||`#3b82f6`}}),(0,J.jsx)(`span`,{className:`text-xs text-gray-500`,children:e.primaryColor||`#3b82f6`})]}),e.favicon&&(0,J.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,J.jsx)(`img`,{src:e.favicon,alt:`Favicon`,className:`h-4 w-4 rounded object-contain`}),(0,J.jsx)(`span`,{className:`text-xs text-gray-500`,children:`Favicon`})]})]})]})]})}function Nt({availableObjects:e=[],templates:t=[],initialDraft:n,onComplete:r,onCancel:i,onSaveDraft:a,readOnly:s=!1,className:c}){let{t:l}=St(),u=Je(),[d,f]=(0,q.useState)(0),[p,m]=(0,q.useState)(``),[h,g]=(0,q.useState)(()=>({...Ct,objects:e.map(e=>({...e})),...n})),_=(0,q.useMemo)(()=>[{id:`basic`,label:l(`appDesigner.basicInfo`),description:l(`appDesigner.stepBasicDesc`),icon:`Settings`},{id:`objects`,label:l(`appDesigner.objects`),description:l(`appDesigner.stepObjectsDesc`),icon:`Database`},{id:`navigation`,label:l(`appDesigner.navigation`),description:l(`appDesigner.stepNavigationDesc`),icon:`Menu`},{id:`branding`,label:l(`appDesigner.branding`),description:l(`appDesigner.stepBrandingDesc`),icon:`Palette`}],[l]),v=d===0,y=d===_.length-1,b=(0,q.useMemo)(()=>h.name.length>0&&o(h.name)&&h.title.trim().length>0,[h.name,h.title]),x=(0,q.useMemo)(()=>d!==0||b,[d,b]),S=(0,q.useCallback)(e=>{g(t=>({...t,...e}))},[]),C=(0,q.useCallback)(e=>{g(t=>({...t,branding:{...t.branding,...e}}))},[]),w=(0,q.useCallback)(e=>{g(t=>({...t,objects:t.objects.map(t=>t.name===e?{...t,selected:!t.selected}:t)}))},[]),T=(0,q.useCallback)(e=>{g(t=>({...t,objects:t.objects.map(t=>({...t,selected:e}))}))},[]),E=(0,q.useCallback)(e=>{let t={id:Et(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,q.useCallback)(e=>{g(t=>({...t,navigation:t.navigation.filter(t=>t.id!==e)}))},[]),O=(0,q.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,q.useCallback)(()=>{y||(d===1&&g(e=>({...e,navigation:wt(e.objects)})),f(e=>e+1))},[d,y]),A=(0,q.useCallback)(()=>{v||f(e=>e-1)},[v]),j=(0,q.useCallback)(()=>{r?.(h)},[h,r]),ee=(0,q.useCallback)(async()=>{(h.name.length>0||h.title.length>0)&&i?await u.confirm(l(`appDesigner.cancelConfirmTitle`),l(`appDesigner.cancelConfirmMessage`))&&i():i?.()},[h.name,h.title,i,u,l]),M=(0,q.useCallback)(()=>{a?.(h)},[h,a]),N=(0,q.useCallback)(e=>{e<=d?f(e):e===d+1&&x&&(d===1&&e===2&&g(e=>({...e,navigation:wt(e.objects)})),f(e))},[d,x]);return(0,J.jsxs)(`div`,{className:Q(`flex h-full flex-col rounded-xl border border-gray-200 bg-white shadow-sm`,c),children:[u.isOpen&&(0,J.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,J.jsxs)(`div`,{className:`mx-4 w-full max-w-sm rounded-lg bg-white p-6 shadow-xl`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,J.jsx)(`h3`,{className:`text-base font-semibold text-gray-900`,children:u.title}),(0,J.jsx)(`button`,{type:`button`,onClick:u.onCancel,className:`rounded p-1 text-gray-400 hover:text-gray-600`,"aria-label":l(`common.close`),children:(0,J.jsx)(z,{className:`h-4 w-4`})})]}),(0,J.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:u.message}),(0,J.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,"data-testid":`cancel-confirm-keep`,onClick:u.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:l(`appDesigner.keepEditing`)}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`cancel-confirm-discard`,onClick:u.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:l(`appDesigner.confirmDiscard`)})]})]})}),(0,J.jsx)(`div`,{className:`border-b border-gray-100`,children:(0,J.jsx)(Dt,{steps:_,currentIndex:d,onStepClick:N})}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-6`,children:[d===0&&(0,J.jsx)(Ot,{draft:h,templates:t,readOnly:s,onChange:S,t:l}),d===1&&(0,J.jsx)(kt,{objects:h.objects,readOnly:s,onToggle:w,onToggleAll:T,search:p,onSearchChange:m,t:l}),d===2&&(0,J.jsx)(jt,{items:h.navigation,readOnly:s,onAdd:E,onRemove:D,onReorder:O,t:l}),d===3&&(0,J.jsx)(Mt,{branding:h.branding,title:h.title,readOnly:s,onChange:C,t:l})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between border-t border-gray-100 px-6 py-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`button`,{type:`button`,"data-testid":`wizard-cancel`,onClick:ee,disabled:s,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:l(`common.cancel`)}),a&&(0,J.jsx)(`button`,{type:`button`,"data-testid":`wizard-save-draft`,onClick:M,disabled:s,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:l(`appDesigner.saveDraft`)})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!v&&(0,J.jsxs)(`button`,{type:`button`,"data-testid":`wizard-back`,onClick:A,disabled:s,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,J.jsx)(fe,{className:`h-4 w-4`}),l(`common.back`)]}),y?(0,J.jsxs)(`button`,{type:`button`,"data-testid":`wizard-complete`,onClick:j,disabled:s||!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,J.jsx)(Fe,{className:`h-4 w-4`}),l(`appDesigner.complete`)]}):(0,J.jsxs)(`button`,{type:`button`,"data-testid":`wizard-next`,onClick:k,disabled:s||!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:[l(`common.next`),(0,J.jsx)(Ne,{className:`h-4 w-4`})]})]})]})]})}function Pt(...e){return W(G(e))}var Ft=0;function It(e){return Ft+=1,`${e}_${Date.now()}_${Ft}`}var Lt={object:{labelKey:`appDesigner.navTypeObject`,color:`bg-green-100 text-green-700`,Icon:b},dashboard:{labelKey:`appDesigner.navTypeDashboard`,color:`bg-amber-100 text-amber-700`,Icon:v},page:{labelKey:`appDesigner.navTypePage`,color:`bg-teal-100 text-teal-700`,Icon:B},report:{labelKey:`appDesigner.navTypeReport`,color:`bg-rose-100 text-rose-700`,Icon:Le},url:{labelKey:`appDesigner.navTypeUrl`,color:`bg-sky-100 text-sky-700`,Icon:Re},component:{labelKey:`appDesigner.navTypeComponent`,color:`bg-indigo-100 text-indigo-700`,Icon:oe},group:{labelKey:`appDesigner.navTypeGroup`,color:`bg-purple-100 text-purple-700`,Icon:h},separator:{labelKey:`appDesigner.navTypeSeparator`,color:`bg-gray-100 text-gray-600`,Icon:te},action:{labelKey:`appDesigner.navTypeAction`,color:`bg-orange-100 text-orange-700`,Icon:je}},Rt=[{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 zt({item:e,depth:t,index:n,total:r,readOnly:i,onRemove:a,onMoveUp:o,onMoveDown:s,onToggleExpand:c,onUpdateLabel:l,onUpdateIcon:u,onToggleVisible:f,onAddChild:p,expandedIds:m,t:h}){let[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(d(e.label)??``),[b,x]=(0,q.useState)(!1),[S,C]=(0,q.useState)(e.icon||``),w=Lt[e.type];e.type===`group`&&e.children&&e.children.length;let T=m.has(e.id),E=e.visible===!1,D=()=>{v.trim()?l(e.id,v.trim()):y(d(e.label)??``),_(!1)},O=()=>{u(e.id,S.trim()),x(!1)};return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`li`,{"data-testid":`nav-designer-item-${e.id}`,className:Pt(`flex items-center gap-2 rounded-md border border-gray-200 bg-white px-2 py-1.5 transition-colors hover:bg-gray-50`,E&&`opacity-50`),style:{marginLeft:t*20},children:[(0,J.jsx)(re,{className:`h-3.5 w-3.5 shrink-0 cursor-grab text-gray-300`}),e.type===`group`?(0,J.jsx)(`button`,{type:`button`,onClick:()=>c(e.id),className:`rounded p-0.5 text-gray-400 hover:text-gray-600`,"aria-label":h(T?`appDesigner.navCollapseGroup`:`appDesigner.navExpandGroup`),children:T?(0,J.jsx)(we,{className:`h-3.5 w-3.5`}):(0,J.jsx)(Ne,{className:`h-3.5 w-3.5`})}):(0,J.jsx)(`span`,{className:`w-5`}),b&&!i?(0,J.jsx)(`input`,{type:`text`,value:S,onChange:e=>C(e.target.value),onBlur:O,onKeyDown:t=>{t.key===`Enter`&&O(),t.key===`Escape`&&(C(e.icon||``),x(!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,J.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,J.jsx)(w.Icon,{className:`h-3.5 w-3.5 shrink-0 text-gray-500`}),!i&&e.type!==`separator`&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>{C(e.icon||``),x(!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,J.jsx)(j,{className:`h-2.5 w-2.5`})})]}),e.type===`separator`?(0,J.jsx)(`span`,{className:`flex-1 text-xs italic text-gray-400`,children:h(`appDesigner.separatorLabel`)}):g&&!i?(0,J.jsx)(`input`,{type:`text`,value:v,onChange:e=>y(e.target.value),onBlur:D,onKeyDown:t=>{t.key===`Enter`&&D(),t.key===`Escape`&&(y(d(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,J.jsx)(`span`,{className:Pt(`flex-1 truncate text-sm text-gray-800`,!i&&`cursor-text`),onDoubleClick:()=>{!i&&e.type!==`separator`&&(y(d(e.label)??``),_(!0))},children:d(e.label)}),(0,J.jsx)(`span`,{className:Pt(`rounded-full px-2 py-0.5 text-[10px] font-medium`,w.color),children:h(w.labelKey)}),E&&(0,J.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,J.jsx)(`button`,{type:`button`,onClick:()=>f(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:E?(0,J.jsx)(le,{className:`h-3.5 w-3.5`}):(0,J.jsx)(ge,{className:`h-3.5 w-3.5`})}),e.type===`group`&&!i&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>p(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,J.jsx)(Be,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(De,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(we,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(U,{className:`h-3.5 w-3.5`})})]}),e.type===`group`&&T&&e.children&&(0,J.jsx)(J.Fragment,{children:e.children.map((n,r)=>(0,J.jsx)(zt,{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:f,onAddChild:p,expandedIds:m,t:h},n.id))})]})}function Bt({items:e,t}){return(0,J.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,J.jsx)(`h4`,{className:`mb-2 text-xs font-semibold uppercase text-gray-500`,children:t(`appDesigner.navLivePreview`)}),e.length===0?(0,J.jsx)(`p`,{className:`text-xs text-gray-400`,children:t(`appDesigner.navNoPreviewItems`)}):(0,J.jsx)(`ul`,{className:`space-y-0.5`,children:e.map(e=>(0,J.jsx)(Vt,{item:e,depth:0},e.id))})]})}function Vt({item:e,depth:t}){let n=Lt[e.type];return e.type===`separator`?(0,J.jsx)(`li`,{className:`my-1 border-t border-gray-200`,style:{marginLeft:t*12}}):(0,J.jsxs)(J.Fragment,{children:[(0,J.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,J.jsx)(n.Icon,{className:`h-3 w-3 text-gray-400`}),(0,J.jsx)(`span`,{className:`truncate`,children:d(e.label)})]}),e.type===`group`&&e.children?.map(e=>(0,J.jsx)(Vt,{item:e,depth:t+1},e.id))]})}function Ht({items:e,onChange:t,readOnly:n=!1,showPreview:r=!0,className:i,onExport:a,onImport:o}){let{t:s}=St(),c=(0,q.useRef)(null),[l,u]=(0,q.useState)(()=>new Set(e.filter(e=>e.type===`group`).map(e=>e.id))),d=(0,q.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,q.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,q.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,q.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,q.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,q.useCallback)((n,r)=>{let i={id:It(r),type:r,label:r===`separator`?``:`New ${s(Lt[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,q.useCallback)(n=>{let r={id:It(n),type:n,label:n===`separator`?``:`New ${s(Lt[n].labelKey)}`,...n===`group`?{children:[]}:{},...n===`url`?{url:``}:{}};t([...e,r])},[e,t,s]),v=(0,q.useCallback)(e=>{u(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),y=(0,q.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]),b=(0,q.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,J.jsxs)(`div`,{"data-testid":`navigation-designer`,className:Pt(`flex flex-col gap-4 sm:flex-row`,i),children:[(0,J.jsxs)(`div`,{className:`flex-1 space-y-3`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[Rt.map(({type:e,labelKey:t})=>{let{Icon:r,color:i}=Lt[e];return(0,J.jsxs)(`button`,{type:`button`,"data-testid":`nav-designer-add-${e}`,onClick:()=>_(e),disabled:n,className:Pt(`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,J.jsx)(Be,{className:`h-3 w-3`}),s(t)]},e)}),(0,J.jsx)(`span`,{className:`mx-1 hidden h-4 w-px bg-gray-200 sm:block`}),(0,J.jsxs)(`button`,{type:`button`,"data-testid":`nav-designer-export`,onClick:y,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,J.jsx)(I,{className:`h-3 w-3`}),s(`appDesigner.navExportSchema`)]}),(0,J.jsxs)(`label`,{"data-testid":`nav-designer-import`,className:Pt(`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,J.jsx)(H,{className:`h-3 w-3`}),s(`appDesigner.navImportSchema`),(0,J.jsx)(`input`,{ref:c,type:`file`,accept:`.json`,className:`hidden`,onChange:b,disabled:n,"data-testid":`nav-designer-import-input`})]})]}),e.length===0?(0,J.jsx)(`div`,{className:`py-8 text-center text-sm text-gray-400`,children:s(`appDesigner.navNoItems`)}):(0,J.jsx)(`ul`,{className:`space-y-1`,"data-testid":`nav-designer-tree`,children:e.map((t,r)=>(0,J.jsx)(zt,{item:t,depth:0,index:r,total:e.length,readOnly:n,onRemove:d,onMoveUp:e=>f(e,`up`),onMoveDown:e=>f(e,`down`),onToggleExpand:v,onUpdateLabel:p,onUpdateIcon:m,onToggleVisible:h,onAddChild:g,expandedIds:l,t:s},t.id))})]}),r&&(0,J.jsx)(Bt,{items:e,t:s})]})}function Ut(...e){return W(G(e))}var Wt=[{type:`metric`,label:`KPI Metric`,Icon:Ae},{type:`bar`,label:`Bar Chart`,Icon:Le},{type:`line`,label:`Line Chart`,Icon:se},{type:`pie`,label:`Pie Chart`,Icon:ke},{type:`table`,label:`Table`,Icon:S},{type:`grid`,label:`Grid`,Icon:F}],Gt=0;function Kt(){return Gt+=1,`widget_${Date.now()}_${Gt}`}function qt({widget:e,index:t,total:n,selected:r,readOnly:i,onSelect:a,onRemove:o,onMoveUp:s,onMoveDown:c}){let l=e.type||`metric`,u=Wt.find(e=>e.type===l)||Wt[0];return(0,J.jsxs)(`div`,{"data-testid":`dashboard-widget-${e.id}`,onClick:a,className:Ut(`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,J.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(re,{className:`h-4 w-4 text-gray-300`}),(0,J.jsx)(u.Icon,{className:`h-4 w-4 text-gray-500`}),(0,J.jsx)(`span`,{className:`text-sm font-medium text-gray-800`,children:e.title||`Widget ${t+1}`})]}),!i&&(0,J.jsxs)(`div`,{className:`flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100`,children:[(0,J.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,J.jsx)(De,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(we,{className:`h-3.5 w-3.5`})}),(0,J.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,J.jsx)(U,{className:`h-3.5 w-3.5`})})]})]}),(0,J.jsx)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:(0,J.jsx)(`span`,{className:`rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600`,children:u.label})})]})}function Jt({widget:e,readOnly:t,onChange:n,onClose:r}){let{t:i}=St();return(0,J.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,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h4`,{className:`text-sm font-semibold text-gray-800`,children:i(`appDesigner.widgetProperties`)}),(0,J.jsx)(`button`,{type:`button`,onClick:r,className:`rounded p-0.5 text-gray-400 hover:text-gray-600`,"aria-label":`Close`,children:(0,J.jsx)(z,{className:`h-4 w-4`})})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{htmlFor:`widget-title`,className:`text-xs font-medium text-gray-600`,children:`Title`}),(0,J.jsx)(`input`,{id:`widget-title`,"data-testid":`widget-prop-title`,type:`text`,value:e.title??``,onChange:e=>n({title: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`})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{htmlFor:`widget-type`,className:`text-xs font-medium text-gray-600`,children:`Type`}),(0,J.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:Wt.map(e=>(0,J.jsx)(`option`,{value:e.type,children:e.label},e.type))})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{htmlFor:`widget-color`,className:`text-xs font-medium text-gray-600`,children:`Color Variant`}),(0,J.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,J.jsx)(`option`,{value:`default`,children:`Default`}),(0,J.jsx)(`option`,{value:`blue`,children:`Blue`}),(0,J.jsx)(`option`,{value:`teal`,children:`Teal`}),(0,J.jsx)(`option`,{value:`orange`,children:`Orange`}),(0,J.jsx)(`option`,{value:`purple`,children:`Purple`}),(0,J.jsx)(`option`,{value:`success`,children:`Success`}),(0,J.jsx)(`option`,{value:`warning`,children:`Warning`}),(0,J.jsx)(`option`,{value:`danger`,children:`Danger`})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-gray-600`,children:i(`appDesigner.widgetLayoutSize`)}),(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex-1`,children:[(0,J.jsx)(`label`,{htmlFor:`widget-width`,className:`text-[10px] text-gray-400`,children:i(`appDesigner.widgetWidth`)}),(0,J.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,J.jsxs)(`div`,{className:`flex-1`,children:[(0,J.jsx)(`label`,{htmlFor:`widget-height`,className:`text-[10px] text-gray-400`,children:i(`appDesigner.widgetHeight`)}),(0,J.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 Yt({schema:e}){let{t}=St(),n=e.widgets||[];return(0,J.jsxs)(`div`,{"data-testid":`dashboard-preview`,className:`rounded-lg border border-gray-200 bg-gray-50 p-4`,children:[(0,J.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-gray-700`,children:e.title||t(`appDesigner.dashboardPreview`)}),n.length===0?(0,J.jsx)(`div`,{className:`text-xs text-gray-400`,children:t(`appDesigner.noWidgetsPreview`)}):(0,J.jsx)(`div`,{className:`grid gap-2`,style:{gridTemplateColumns:`repeat(${e.columns??2}, 1fr)`},children:n.map(e=>{let t=Wt.find(t=>t.type===(e.type||`metric`))||Wt[0];return(0,J.jsxs)(`div`,{className:`rounded-md border border-gray-200 bg-white p-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(t.Icon,{className:`h-3 w-3 text-gray-400`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-gray-600`,children:e.title||`Untitled`})]}),(0,J.jsx)(`div`,{className:`mt-1 text-[10px] text-gray-400`,children:t.label})]},e.id)})})]})}function Xt({schema:e,onChange:t,readOnly:n=!1,className:r,onExport:i,onImport:a,selectedWidgetId:o,onWidgetSelect:s}){let{t:c}=St(),[l,u]=(0,q.useState)(null),[d,f]=(0,q.useState)(!1),p=(0,q.useRef)(null),m=(0,q.useRef)(null),h=o!==void 0,g=h?o:l,_=(0,q.useCallback)(e=>{s&&s(e),h||u(e)},[h,s,u]),{current:v,canUndo:y,canRedo:b,push:x,undo:S,redo:C}=qe(e),w=(0,q.useCallback)(e=>{x(e),t(e)},[x,t]),T=v.widgets||[],E=T.find(e=>e.id===g),D=(0,q.useCallback)(e=>{let t=Kt(),n={id:t,title:``,type:e,layout:{x:0,y:T.length,w:v.columns??2,h:1}};w({...v,widgets:[...T,n]}),_(t)},[v,T,w,_]),O=(0,q.useCallback)(e=>{w({...v,widgets:T.filter(t=>t.id!==e)}),g===e&&_(null)},[v,T,g,w,_]),k=(0,q.useCallback)((e,t)=>{let n=T.findIndex(t=>t.id===e);if(n<0)return;let r=t===`up`?n-1:n+1;if(r<0||r>=T.length)return;let i=[...T];[i[n],i[r]]=[i[r],i[n]],w({...v,widgets:i})},[v,T,w]),A=(0,q.useCallback)(e=>{g&&w({...v,widgets:T.map(t=>t.id===g?{...t,...e}:t)})},[v,T,g,w]);(0,q.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(),S();return}if((e.ctrlKey||e.metaKey)&&(e.key===`y`||e.key===`z`&&e.shiftKey)){e.preventDefault(),C();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(),O(g)}}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[n,S,C,g,O]);let j=(0,q.useCallback)(()=>{i&&i(v)},[v,i]),ee=(0,q.useCallback)(()=>{m.current?.click()},[]),M=(0,q.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`&&(w(e),a?.(e))}catch{}},n.readAsText(t),e.target.value=``},[w,a]);return(0,J.jsxs)(`div`,{ref:p,tabIndex:0,"data-testid":`dashboard-editor`,className:Ut(`flex flex-col gap-4 outline-none`,r),children:[(0,J.jsx)(`input`,{ref:m,type:`file`,accept:`.json`,className:`hidden`,"data-testid":`dashboard-import-input`,onChange:M}),E&&!d&&(0,J.jsx)(Jt,{widget:E,readOnly:n,onChange:A,onClose:()=>_(null)}),(0,J.jsxs)(`div`,{className:`flex-1 space-y-4`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsxs)(`span`,{className:`text-sm font-medium text-gray-700`,children:[c(`appDesigner.addWidget`),`:`]}),Wt.map(({type:e,label:t,Icon:r})=>(0,J.jsxs)(`button`,{type:`button`,"data-testid":`dashboard-add-${e}`,onClick:()=>D(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,J.jsx)(r,{className:`h-3.5 w-3.5`}),t]},e))]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!n&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{type:`button`,"data-testid":`dashboard-undo`,onClick:S,disabled:!y,className:`rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":c(`appDesigner.undo`),children:(0,J.jsx)(Ie,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`dashboard-redo`,onClick:C,disabled:!b,className:`rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30`,"aria-label":c(`appDesigner.redo`),children:(0,J.jsx)(Te,{className:`h-4 w-4`})})]}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`dashboard-export`,onClick:j,className:`rounded p-1.5 text-gray-400 hover:text-gray-700`,"aria-label":c(`appDesigner.navExportSchema`),children:(0,J.jsx)(I,{className:`h-4 w-4`})}),!n&&(0,J.jsx)(`button`,{type:`button`,"data-testid":`dashboard-import`,onClick:ee,className:`rounded p-1.5 text-gray-400 hover:text-gray-700`,"aria-label":c(`appDesigner.navImportSchema`),children:(0,J.jsx)(H,{className:`h-4 w-4`})}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`dashboard-preview-toggle`,onClick:()=>f(e=>!e),className:Ut(`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,J.jsx)(le,{className:`h-4 w-4`}):(0,J.jsx)(ge,{className:`h-4 w-4`})})]})]}),d?(0,J.jsx)(Yt,{schema:v}):T.length===0?(0,J.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,J.jsx)(`div`,{className:`grid gap-3`,style:{gridTemplateColumns:`repeat(${v.columns??2}, 1fr)`},children:T.map((e,t)=>(0,J.jsx)(qt,{widget:e,index:t,total:T.length,selected:e.id===g,readOnly:n,onSelect:()=>_(e.id??null),onRemove:()=>O(e.id),onMoveUp:()=>k(e.id,`up`),onMoveDown:()=>k(e.id,`down`)},e.id))})]})]})}function $(...e){return W(G(e))}var Zt=[{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`}],Qt=[`Inter`,`Roboto`,`Open Sans`,`Lato`,`Montserrat`,`Poppins`,`Source Sans Pro`,`Noto Sans`,`system-ui`];function $t({branding:e,onChange:t,appTitle:n=`My App`,readOnly:r=!1,className:i,onExport:a,onImport:o}){let{t:s}=St(),[c,l]=(0,q.useState)(`light`),{current:u,push:d,canUndo:f,canRedo:p,undo:m,redo:h}=qe(e),_=(0,q.useRef)(!0);(0,q.useEffect)(()=>{if(_.current){_.current=!1;return}t(u)},[u]);let v=(0,q.useCallback)(e=>{let n={...u,...e};_.current=!0,d(n),t(n)},[u,d,t]),b=(0,q.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]),x=(0,q.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]),S=(0,q.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,J.jsxs)(`div`,{"data-testid":`branding-editor`,className:$(`flex flex-col gap-4 sm:gap-6`,i),onKeyDown:S,tabIndex:0,children:[(0,J.jsxs)(`div`,{"data-testid":`branding-editor-toolbar`,className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(`h2`,{className:`text-lg font-semibold text-gray-800 mr-auto`,children:s(`appDesigner.brandingEditor`)}),(0,J.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,J.jsx)(Ie,{className:`h-3.5 w-3.5`}),s(`appDesigner.undo`)]}),(0,J.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,J.jsx)(Te,{className:`h-3.5 w-3.5`}),s(`appDesigner.redo`)]}),(0,J.jsxs)(`button`,{"data-testid":`branding-export`,type:`button`,onClick:b,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,J.jsx)(I,{className:`h-3.5 w-3.5`}),s(`appDesigner.brandingExport`)]}),(0,J.jsxs)(`button`,{"data-testid":`branding-import`,type:`button`,onClick:x,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,J.jsx)(H,{className:`h-3.5 w-3.5`}),s(`appDesigner.brandingImport`)]})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-4 sm:flex-row sm:gap-6`,children:[(0,J.jsxs)(`div`,{className:`flex-1 space-y-5`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`be-logo`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.logoUrl`)}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(N,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.jsx)(`input`,{id:`be-logo`,"data-testid":`branding-logo-input`,type:`text`,value:u.logo??``,onChange:e=>v({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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`be-color`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.primaryColor`)}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsxs)(`div`,{className:`relative flex-1`,children:[(0,J.jsx)(g,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.jsx)(`input`,{id:`be-color`,"data-testid":`branding-color-input`,type:`text`,value:u.primaryColor??`#3b82f6`,onChange:e=>v({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,J.jsx)(`input`,{"data-testid":`branding-color-picker`,type:`color`,value:C,onChange:e=>v({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,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-xs text-gray-500`,children:s(`appDesigner.colorPalette`)}),(0,J.jsx)(`div`,{"data-testid":`branding-color-palette`,className:`flex flex-wrap gap-1.5`,children:Zt.map(e=>(0,J.jsx)(`button`,{"data-testid":`branding-swatch-${e.hex.slice(1)}`,type:`button`,onClick:()=>!r&&v({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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`be-favicon`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.faviconUrl`)}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(R,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.jsx)(`input`,{id:`be-favicon`,"data-testid":`branding-favicon-input`,type:`text`,value:u.favicon??``,onChange:e=>v({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,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{htmlFor:`be-font`,className:`block text-sm font-medium text-gray-700`,children:s(`appDesigner.fontFamily`)}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(pe,{className:`absolute left-2.5 top-2.5 h-4 w-4 text-gray-400`}),(0,J.jsxs)(`select`,{id:`be-font`,"data-testid":`branding-font-select`,value:u.fontFamily??``,onChange:e=>v({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,J.jsx)(`option`,{value:``,children:s(`appDesigner.fontDefault`)}),Qt.map(e=>(0,J.jsx)(`option`,{value:e,children:e},e))]})]})]})]}),(0,J.jsxs)(`div`,{className:`flex-1 space-y-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium text-gray-700`,children:s(`appDesigner.brandingPreview`)}),(0,J.jsxs)(`div`,{"data-testid":`branding-mode-toggle`,className:`flex rounded-md border border-gray-300 overflow-hidden`,children:[(0,J.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,J.jsx)(y,{className:`h-3.5 w-3.5`}),s(`appDesigner.modeLight`)]}),(0,J.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,J.jsx)(ae,{className:`h-3.5 w-3.5`}),s(`appDesigner.modeDark`)]})]})]}),(0,J.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,J.jsx)(`div`,{className:`rounded-md p-3 mb-3`,style:{backgroundColor:C},children:(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[u.logo?(0,J.jsx)(`img`,{src:u.logo,alt:`Logo`,className:`h-8 w-8 rounded object-contain bg-white/20`}):(0,J.jsx)(`div`,{className:`flex h-8 w-8 items-center justify-center rounded bg-white/20 text-xs text-white`,children:`Logo`}),(0,J.jsx)(`span`,{className:`text-sm font-semibold text-white`,children:n})]})}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`div`,{className:`h-4 w-4 rounded-full border border-gray-200`,style:{backgroundColor:C}}),(0,J.jsx)(`span`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:C})]}),(0,J.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,J.jsx)(`p`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:s(`appDesigner.brandingSampleText`)}),u.favicon&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`img`,{src:u.favicon,alt:`Favicon`,className:`h-4 w-4 rounded object-contain`}),(0,J.jsx)(`span`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:`Favicon`})]}),u.fontFamily&&(0,J.jsxs)(`div`,{className:$(`text-xs`,w?`text-gray-400`:`text-gray-500`),children:[s(`appDesigner.fontFamily`),`: `,u.fontFamily]})]})]}),(0,J.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,J.jsx)(`div`,{className:`text-center text-[10px] font-medium text-gray-400 mb-1`,children:s(`appDesigner.mobilePreview`)}),(0,J.jsx)(`div`,{className:`rounded-md p-2 mb-1`,style:{backgroundColor:C},children:(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[u.logo?(0,J.jsx)(`img`,{src:u.logo,alt:`Logo`,className:`h-4 w-4 rounded object-contain bg-white/20`}):(0,J.jsx)(`div`,{className:`flex h-4 w-4 items-center justify-center rounded bg-white/20 text-[6px] text-white`,children:`L`}),(0,J.jsx)(`span`,{className:`text-[9px] font-semibold text-white truncate`,children:n})]})}),(0,J.jsxs)(`div`,{className:`space-y-1 px-1`,children:[(0,J.jsx)(`div`,{className:$(`h-2 w-3/4 rounded`,w?`bg-gray-700`:`bg-gray-200`)}),(0,J.jsx)(`div`,{className:$(`h-2 w-1/2 rounded`,w?`bg-gray-700`:`bg-gray-200`)}),(0,J.jsx)(`div`,{className:$(`h-2 w-2/3 rounded`,w?`bg-gray-700`:`bg-gray-200`)})]})]})]})]})]})}function en(...e){return W(G(e))}var tn=[`Custom Objects`,`System Objects`,`Integration`,`Analytics`],nn=[`Box`,`Database`,`Users`,`FileText`,`Settings`,`ShoppingCart`,`Calendar`,`Mail`,`Briefcase`,`Building`,`Globe`,`Heart`,`Star`,`Tag`,`Bookmark`,`Folder`,`Archive`,`Package`,`Truck`,`CreditCard`];function rn({objects:e,onObjectsChange:t,onSelectObject:n,showSystemObjects:r=!0,readOnly:i=!1,className:a}){let{t:o}=St(),s=Je(),[c,l]=(0,q.useState)(!1),[d,f]=(0,q.useState)(null),p=(0,q.useMemo)(()=>r?e:e.filter(e=>!e.isSystem),[e,r]),m=(0,q.useMemo)(()=>new u({items:p}),[p]),h=(0,q.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,q.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,q.useCallback)(t=>{let r=e.find(e=>e.name===t.name);r&&n?.(r)},[e,n]),v=(0,q.useCallback)(t=>{let n=e.find(e=>e.name===t.name);n&&(f(n),l(!0))},[e]),y=(0,q.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]),x=(0,q.useCallback)(()=>{f(null),l(!0)},[]),S=(0,q.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])}l(!1),f(null)},[d,e,t]),C=(0,q.useCallback)(e=>{e||(l(!1),f(null))},[]),w=(0,q.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:c,onOpenChange:C,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:nn.map(e=>({label:e,value:e})),disabled:i},{name:`group`,label:o(`appDesigner.objectManager.group`),type:`select`,options:tn.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:S,onCancel:()=>C(!1),readOnly:i}),[d,c,C,S,i,o]);return(0,J.jsxs)(`div`,{"data-testid":`object-manager`,className:en(`w-full space-y-3`,a),children:[(0,J.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(b,{className:`h-4 w-4 text-primary`}),(0,J.jsx)(`h2`,{className:`text-sm font-semibold`,children:o(`appDesigner.objectManager.title`)}),(0,J.jsx)(`span`,{className:`rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:p.length})]})}),(0,J.jsx)(Ge,{schema:g,dataSource:m,onRowClick:_,onEdit:i?void 0:v,onDelete:i?void 0:y,onAddRecord:i?void 0:x}),c&&(0,J.jsx)(Ue,{schema:w}),(0,J.jsx)($e,{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 an(...e){return W(G(e))}var on={text:{label:`Text`,Icon:pe},textarea:{label:`Text Area`,Icon:B},number:{label:`Number`,Icon:k},boolean:{label:`Checkbox`,Icon:ce},date:{label:`Date`,Icon:V},datetime:{label:`Date/Time`,Icon:V},time:{label:`Time`,Icon:V},select:{label:`Picklist`,Icon:_e},email:{label:`Email`,Icon:O},phone:{label:`Phone`,Icon:x},url:{label:`URL`,Icon:R},password:{label:`Password`,Icon:me},currency:{label:`Currency`,Icon:k},percent:{label:`Percent`,Icon:k},lookup:{label:`Lookup`,Icon:Ve},formula:{label:`Formula`,Icon:A},autonumber:{label:`Auto Number`,Icon:k},file:{label:`File`,Icon:B},image:{label:`Image`,Icon:N},markdown:{label:`Markdown`,Icon:B},html:{label:`Rich Text`,Icon:B},color:{label:`Color`,Icon:g},code:{label:`Code`,Icon:A},location:{label:`Location`,Icon:Pe},address:{label:`Address`,Icon:Pe},rating:{label:`Rating`,Icon:xe},slider:{label:`Slider`,Icon:ne}},sn={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`]},cn=[`text`,`number`,`date`,`choice`,`relation`,`advanced`];function ln({objectName:e,fields:t,onFieldsChange:n,readOnly:r=!1,className:i}){let{t:a}=St(),o=Je(),[s,c]=(0,q.useState)(!1),[l,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(``),m=(0,q.useMemo)(()=>f?t.filter(e=>e.type===f):t,[t,f]),h=(0,q.useMemo)(()=>new u({items:m}),[m]),g=(0,q.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,q.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,q.useCallback)(e=>{let n=t.find(t=>t.name===e.name);n&&(d(n),c(!0))},[t]),y=(0,q.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,q.useCallback)(()=>{d(null),c(!0)},[]),x=(0,q.useCallback)(e=>{if(l){let r={...l,name:String(e.name||l.name),label:String(e.label||l.label),type:e.type||l.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===l.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])}c(!1),d(null)},[l,t,n]),S=(0,q.useCallback)(e=>{e||(c(!1),d(null))},[]),C=(0,q.useMemo)(()=>cn.map(e=>({category:e,label:a(`appDesigner.fieldDesigner.typeCategory.${e}`),options:sn[e].map(e=>({label:on[e].label,value:e}))})),[a]),w=(0,q.useMemo)(()=>C.flatMap(e=>e.options),[C]),T=(0,q.useMemo)(()=>({type:`object-form`,formType:`drawer`,objectName:`field_definition`,mode:l?`edit`:`create`,title:l?`${a(`common.edit`)} — ${l.label}`:a(`appDesigner.fieldDesigner.addField`),open:s,onOpenChange:S,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||(l?.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:w,disabled:r||(l?.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:l?{name:l.name,label:l.label,type:l.type,group:l.group||``,description:l.description||``,required:l.required||!1,unique:l.unique||!1,readonly:l.readonly||!1,hidden:l.hidden||!1,indexed:l.indexed||!1,externalId:l.externalId||!1,trackHistory:l.trackHistory||!1,defaultValue:l.defaultValue==null?``:String(l.defaultValue),placeholder:l.placeholder||``,referenceTo:l.referenceTo||``,formula:l.formula||``}:{type:`text`,required:!1,unique:!1},onSuccess:x,onCancel:()=>S(!1),readOnly:r}),[l,s,S,x,w,r,a]);return(0,J.jsxs)(`div`,{"data-testid":`field-designer`,className:an(`w-full space-y-3`,i),children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(Se,{className:`h-4 w-4 text-primary`}),(0,J.jsx)(`h2`,{className:`text-sm font-semibold`,children:a(`appDesigner.fieldDesigner.title`)}),e&&(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`— `,e]}),(0,J.jsx)(`span`,{className:`rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:m.length})]}),(0,J.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,J.jsx)(`option`,{value:``,children:a(`appDesigner.fieldDesigner.allTypes`)}),C.map(e=>(0,J.jsx)(`optgroup`,{label:e.label,children:e.options.map(e=>(0,J.jsx)(`option`,{value:e.value,children:e.label},e.value))},e.category))]})]}),(0,J.jsx)(Ge,{schema:_,dataSource:h,onEdit:r?void 0:v,onDelete:r?void 0:y,onAddRecord:r?void 0:b}),s&&(0,J.jsx)(We,{schema:T}),(0,J.jsx)($e,{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 un=`objectui-app-wizard-draft`;function dn(){let e=i(),{appName:t}=n(),{objects:r,refresh:a}=l(),o=s(),u=(r||[]).map(e=>({name:e.name,label:e.label||e.name,pluralLabel:e.pluralLabel,icon:e.icon,selected:!1})),d=(0,q.useCallback)(()=>{try{let e=localStorage.getItem(un);if(e)return JSON.parse(e)}catch{}},[]),f=(0,q.useCallback)(async t=>{try{let n=c(t),r=o?.getClient();r&&await r.meta.saveItem(`app`,t.name,n),localStorage.removeItem(un),K.success(`Application "${t.title}" created successfully`),await a?.(),e(`/apps/${t.name}`)}catch(e){K.error(e?.message||`Failed to create application`)}},[e,a,o]),p=(0,q.useCallback)(()=>{e(t?`/apps/${t}`:`/`)},[e,t]),m=(0,q.useCallback)(e=>{try{localStorage.setItem(un,JSON.stringify(e)),K.info(`Draft saved`)}catch{}},[]);return(0,J.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4`,"data-testid":`create-app-page`,children:(0,J.jsx)(Nt,{availableObjects:u,initialDraft:d(),onComplete:f,onCancel:p,onSaveDraft:m})})}function fn(){let e=i(),{appName:t,editAppName:r}=n(),{apps:a,objects:o,refresh:u}=l(),d=s(),f=r||t,p=a.find(e=>e.name===f),m=(o||[]).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,q.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,q.useCallback)(async t=>{try{let n=c(t),r={...p,...n},i=d?.getClient();i&&await i.meta.saveItem(`app`,t.name,r),K.success(`Application "${t.title}" updated successfully`),await u?.(),e(`/apps/${t.name}`)}catch(e){K.error(e?.message||`Failed to update application`)}},[e,u,d,p]),_=(0,q.useCallback)(()=>{e(t?`/apps/${t}`:`/`)},[e,t]),v=(0,q.useCallback)(e=>{try{localStorage.setItem(`objectui-edit-draft-${f}`,JSON.stringify(e)),K.info(`Draft saved`)}catch{}},[f]);return p?(0,J.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4`,"data-testid":`edit-app-page`,children:(0,J.jsx)(Nt,{availableObjects:m,initialDraft:h,onComplete:g,onCancel:_,onSaveDraft:v})}):(0,J.jsx)(`div`,{className:`mx-auto max-w-4xl py-8 px-4 text-center`,"data-testid":`edit-app-not-found`,children:(0,J.jsxs)(`p`,{className:`text-muted-foreground`,children:[`Application "`,f,`" not found.`]})})}function pn(){let e=i(),{dashboardName:t}=n(),r=s(),{dashboards:a,refresh:o}=l(),c=a?.find(e=>e.name===t),[u,d]=(0,q.useState)(()=>c||{type:`dashboard`,name:t??``,title:t??``,columns:2,widgets:[]}),f=(0,q.useRef)(u);f.current=u;let p=(0,q.useCallback)(async e=>{try{if(r)return await r.update(`sys_dashboard`,t,e),o().catch(()=>{}),!0}catch{}return!1},[r,t,o]),m=(0,q.useCallback)(async e=>{d(e),await p(e)},[p]);(0,q.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.key===`s`&&(e.preventDefault(),p(f.current).then(e=>{e&&K.success(`Dashboard saved`)}))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[p]);let h=(0,q.useCallback)(e=>{let n=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${t||`dashboard`}.json`,i.click(),URL.revokeObjectURL(r),K.success(`Dashboard schema exported`)},[t]),g=(0,q.useCallback)(e=>{K.success(`Dashboard schema imported`),m(e)},[m]);return c?(0,J.jsxs)(`div`,{className:`h-full flex flex-col`,"data-testid":`dashboard-design-page`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3 border-b px-4 py-3 sm:px-6`,children:[(0,J.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,J.jsx)(ie,{className:`h-4 w-4`})}),(0,J.jsxs)(`h1`,{className:`text-lg font-semibold tracking-tight truncate`,children:[`Edit Dashboard: `,c.label||c.title||t]})]}),(0,J.jsx)(`div`,{className:`flex-1 overflow-auto p-4 sm:p-6`,children:(0,J.jsx)(Xt,{schema:u,onChange:m,onExport:h,onImport:g})})]}):(0,J.jsxs)(`div`,{className:`h-full flex items-center justify-center text-muted-foreground`,children:[`Dashboard "`,t,`" not found`]})}new Set(p);var mn=t({AppCreationWizard:()=>Nt,BrandingEditor:()=>$t,CreateAppPage:()=>dn,DashboardDesignPage:()=>pn,DashboardEditor:()=>Xt,DataModelDesigner:()=>pt,EditAppPage:()=>fn,FieldDesigner:()=>ln,NavigationDesigner:()=>Ht,ObjectManager:()=>rn,PageDesigner:()=>st,ProcessDesigner:()=>vt,ReportDesigner:()=>xt});f.register(`page-designer`,st,{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}]}),f.register(`data-model-designer`,pt,{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}]}),f.register(`process-designer`,vt,{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}]}),f.register(`report-designer`,xt,{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}]}),f.register(`app-creation-wizard`,Nt,{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}]}),f.register(`navigation-designer`,Ht,{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}]}),f.register(`dashboard-editor`,Xt,{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}]}),f.register(`branding-editor`,$t,{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}]}),f.register(`object-manager`,rn,{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}]}),f.register(`field-designer`,ln,{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{ln as n,mn as t};
Binary file
Binary file