@objectstack/console 9.10.0 → 10.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 (208) hide show
  1. package/dist/assets/AdapterProvider-497l4p4y.js +1 -0
  2. package/dist/assets/{AiPendingActionsPage-BDYUc-T8.js → AiPendingActionsPage-ux0cUuun.js} +1 -1
  3. package/dist/assets/{ApiConsolePage-BJB9Xho6.js → ApiConsolePage-uUkhblGX.js} +1 -1
  4. package/dist/assets/{AppDocsIndex-Cj0DpA3d.js → AppDocsIndex-BSiJIyVl.js} +1 -1
  5. package/dist/assets/{AppManagementPage-BzjUDLx3.js → AppManagementPage-COxgYP-L.js} +1 -1
  6. package/dist/assets/ApprovalsInboxPage-Dfa8zdNx.js +1 -0
  7. package/dist/assets/{AuditLogPage-BJh3wy1L.js → AuditLogPage-DD_8Xcar.js} +1 -1
  8. package/dist/assets/{ComponentNavView-BFSklq8D.js → ComponentNavView-BxuZYn-k.js} +1 -1
  9. package/dist/assets/ConsoleFloatingChatbot-DEn_10k3.js +1 -0
  10. package/dist/assets/DashboardView-Ca89ME-z.js +1 -0
  11. package/dist/assets/DashboardWidgetInspector-DKZkel6E.js +1 -0
  12. package/dist/assets/{DeveloperHubPage-CB5nkyun.js → DeveloperHubPage-fRcSSqZS.js} +1 -1
  13. package/dist/assets/{ExpressionProvider-DKFCgLsJ.js → ExpressionProvider-CHhp2xGN.js} +1 -1
  14. package/dist/assets/FlowRunsPage-dkCyzr_z.js +1 -0
  15. package/dist/assets/{IntegrationsPage-8M_88h2y.js → IntegrationsPage-BsKw9532.js} +2 -2
  16. package/dist/assets/InterfaceListPage-BChUfRxQ.js +1 -0
  17. package/dist/assets/{ManagedByBadge-Bmg77Q4v.js → ManagedByBadge-By7dMA5p.js} +1 -1
  18. package/dist/assets/MarketplaceAccessDenied-BfvByBjR.js +1 -0
  19. package/dist/assets/{MarketplaceInstalledPage-BYXiUCpz.js → MarketplaceInstalledPage-DvncMfVp.js} +1 -1
  20. package/dist/assets/MarketplacePackagePage-BLKOlOvZ.js +4 -0
  21. package/dist/assets/MarketplacePage-Dkjj-Z_o.js +1 -0
  22. package/dist/assets/MetadataInspector-DXNojk_m.js +1 -0
  23. package/dist/assets/MetadataProvider-0eg8cMSY.js +1 -0
  24. package/dist/assets/{MonacoImpl-BsJjT9SV.js → MonacoImpl-VsaaS7Wx.js} +1 -1
  25. package/dist/assets/PageView-DCLMAUNP.js +1 -0
  26. package/dist/assets/{ProfilePage-SXmEEOn3.js → ProfilePage-D4gJzhqR.js} +1 -1
  27. package/dist/assets/{PublicFormsPage-aXes2XrW.js → PublicFormsPage-C46q0LJ_.js} +1 -1
  28. package/dist/assets/RecordDetailView-B11-8-pz.js +9 -0
  29. package/dist/assets/{RecordFormPage-C052nJig.js → RecordFormPage-CmfCTKov.js} +1 -1
  30. package/dist/assets/ReportDefaultInspector-CRLMz2jp.js +7 -0
  31. package/dist/assets/ReportView-B4fZ9FuM.js +2 -0
  32. package/dist/assets/{SearchResultsPage-DGuFKZit.js → SearchResultsPage-BjfVk8_a.js} +1 -1
  33. package/dist/assets/{SettingsHub-eYWWi8O5.js → SettingsHub-C_eMjvQA.js} +1 -1
  34. package/dist/assets/{SettingsView-Cq3IKOhI.js → SettingsView-BRVJ5Qgf.js} +1 -1
  35. package/dist/assets/SystemHubPage-X9aTvTMd.js +1 -0
  36. package/dist/assets/architecture-7EHR7CIX-X1S5OWmc.js +1 -0
  37. package/dist/assets/{architectureDiagram-3BPJPVTR-SscyJlk0.js → architectureDiagram-3BPJPVTR-MvRuEgzs.js} +1 -1
  38. package/dist/assets/assistantBus-BMrg1uLy.js +1 -0
  39. package/dist/assets/blockDiagram-GPEHLZMM-Bv7ki00F.js +132 -0
  40. package/dist/assets/{c4Diagram-AAUBKEIU-VLeNt7tD.js → c4Diagram-AAUBKEIU-BRUAUvfZ.js} +1 -1
  41. package/dist/assets/channel-BqPJ7J2_.js +1 -0
  42. package/dist/assets/{chunk-2J33WTMH-DyXQVMuc.js → chunk-2J33WTMH-DTuZqhEo.js} +1 -1
  43. package/dist/assets/{chunk-3OPIFGDE-3g0dk_di.js → chunk-3OPIFGDE-C_qRhnNp.js} +1 -1
  44. package/dist/assets/{chunk-4BX2VUAB-BpAZJ7ZC.js → chunk-4BX2VUAB-Curilu76.js} +1 -1
  45. package/dist/assets/chunk-55IACEB6-ClqERWh2.js +1 -0
  46. package/dist/assets/chunk-5ZQYHXKU-NIbfS0Mi.js +2 -0
  47. package/dist/assets/{chunk-727SXJPM-DwSFE_v-.js → chunk-727SXJPM-C9Y2Btvf.js} +1 -1
  48. package/dist/assets/{chunk-AQP2D5EJ-DWgSztUW.js → chunk-AQP2D5EJ-CtIyrl6v.js} +1 -1
  49. package/dist/assets/{chunk-BSJP7CBP-okvguKD4.js → chunk-BSJP7CBP-DjJyEH0K.js} +1 -1
  50. package/dist/assets/chunk-CSCIHK7Q-DbAqhmGo.js +124 -0
  51. package/dist/assets/{chunk-FMBD7UC4-CZzqt4RW.js → chunk-FMBD7UC4-DZ7XVMi3.js} +1 -1
  52. package/dist/assets/{chunk-KSCS5N6A-IxEh4Ag5.js → chunk-KSCS5N6A-DHHPqSRu.js} +2 -2
  53. package/dist/assets/{chunk-L5ZTLDWV-DW1lPBoG.js → chunk-L5ZTLDWV-Cm-9mVS5.js} +1 -1
  54. package/dist/assets/{chunk-LZXEDZCA-C_-aaYcd.js → chunk-LZXEDZCA-DNmRzWTq.js} +1 -1
  55. package/dist/assets/{chunk-ND2GUHAM-C1toj0H3.js → chunk-ND2GUHAM-D-GBTiNx.js} +1 -1
  56. package/dist/assets/{chunk-NZK2D7GU-H2MwBqQV.js → chunk-NZK2D7GU-CtXqakqk.js} +1 -1
  57. package/dist/assets/{chunk-O5CBEL6O-BzyWPZhZ.js → chunk-O5CBEL6O-B7H8dfmV.js} +3 -3
  58. package/dist/assets/chunk-QZHKN3VN-WFr5OVn5.js +1 -0
  59. package/dist/assets/chunk-WU5MYG2G-DKJgGIni.js +1 -0
  60. package/dist/assets/{chunk-XPW4576I-DPNxFY7Q.js → chunk-XPW4576I-BnrxXe1_.js} +1 -1
  61. package/dist/assets/classDiagram-4FO5ZUOK-WH7-26qH.js +1 -0
  62. package/dist/assets/classDiagram-v2-Q7XG4LA2-WH7-26qH.js +1 -0
  63. package/dist/assets/{cose-bilkent-S5V4N54A-HKJWDQRL.js → cose-bilkent-S5V4N54A-DhuYtQPb.js} +1 -1
  64. package/dist/assets/{dagre-BM42HDAG-CU8nx02l.js → dagre-BM42HDAG-Dnyz2UIF.js} +1 -1
  65. package/dist/assets/{data-adapter-CCidkDs3.js → data-adapter-DISUVKTH.js} +1 -1
  66. package/dist/assets/{diagram-2AECGRRQ-CormMz8j.js → diagram-2AECGRRQ-sHfykK_1.js} +1 -1
  67. package/dist/assets/{diagram-5GNKFQAL-Dh1SagBx.js → diagram-5GNKFQAL-CQPF5SyR.js} +1 -1
  68. package/dist/assets/{diagram-KO2AKTUF-DcG6Z05V.js → diagram-KO2AKTUF-DG_jPd_S.js} +1 -1
  69. package/dist/assets/{diagram-LMA3HP47-DrVLZ6ZE.js → diagram-LMA3HP47-eeIrBazE.js} +1 -1
  70. package/dist/assets/{diagram-OG6HWLK6-C4_MMUc2.js → diagram-OG6HWLK6-aTF20BV0.js} +1 -1
  71. package/dist/assets/{dist-DYcwLEm6.js → dist-D80kLFC3.js} +1 -1
  72. package/dist/assets/{erDiagram-TEJ5UH35-BZH_OrBL.js → erDiagram-TEJ5UH35-CZG8EC14.js} +1 -1
  73. package/dist/assets/eventmodeling-FCH6USID-y9LH0zSr.js +1 -0
  74. package/dist/assets/{flowDiagram-I6XJVG4X-CnjHQUK0.js → flowDiagram-I6XJVG4X-Dy6yH4qt.js} +1 -1
  75. package/dist/assets/framework-DI54pxGD.js +34 -0
  76. package/dist/assets/{ganttDiagram-6RSMTGT7-rVbHlqzo.js → ganttDiagram-6RSMTGT7-BbnAVyeg.js} +2 -2
  77. package/dist/assets/{gitGraph-WXDBUCRP-9vsQCBlr.js → gitGraph-WXDBUCRP-CWBdNpUZ.js} +1 -1
  78. package/dist/assets/{gitGraphDiagram-PVQCEYII-CH2LgClA.js → gitGraphDiagram-PVQCEYII-DQzVZDx1.js} +1 -1
  79. package/dist/assets/{highlighted-body-OFNGDK62-CKMBhexn.js → highlighted-body-OFNGDK62-13WB1hjG.js} +1 -1
  80. package/dist/assets/index-BnskSwad.css +2 -0
  81. package/dist/assets/index-Nsh10i14.js +4 -0
  82. package/dist/assets/{info-J43DQDTF-CfWeH1Bg.js → info-J43DQDTF-BT1tFy_c.js} +1 -1
  83. package/dist/assets/{infoDiagram-5YYISTIA-CRC7ojj-.js → infoDiagram-5YYISTIA-CL6j94aA.js} +1 -1
  84. package/dist/assets/infrastructure-BsIvKvpW.js +3 -0
  85. package/dist/assets/{ishikawaDiagram-YF4QCWOH-8v73fBR1.js → ishikawaDiagram-YF4QCWOH-B2te-ZRn.js} +1 -1
  86. package/dist/assets/{journeyDiagram-JHISSGLW-DbRK-WaU.js → journeyDiagram-JHISSGLW-lZExleN9.js} +1 -1
  87. package/dist/assets/{kanban-definition-UN3LZRKU-BggLxHvZ.js → kanban-definition-UN3LZRKU-C9AtY5D5.js} +1 -1
  88. package/dist/assets/{marketplaceApi-CucX7DD9.js → marketplaceApi-DL8PegzV.js} +1 -1
  89. package/dist/assets/mermaid-GHXKKRXX-CnMh6H1N.js +1 -0
  90. package/dist/assets/{mermaid-parser.core-iuxcj-n_.js → mermaid-parser.core-Fbhy6q19.js} +1 -1
  91. package/dist/assets/mermaid.core-X9A0zXAG.js +8 -0
  92. package/dist/assets/metadata-admin-BI5ITi-1.js +21 -0
  93. package/dist/assets/{mindmap-definition-RKZ34NQL-kqhi9XCR.js → mindmap-definition-RKZ34NQL-BLNposyO.js} +1 -1
  94. package/dist/assets/{packet-YPE3B663-C0xexAqH.js → packet-YPE3B663-2eu0wHWY.js} +1 -1
  95. package/dist/assets/{pie-LRSECV5Y-DbQVOiyX.js → pie-LRSECV5Y-BA_jHDuN.js} +1 -1
  96. package/dist/assets/{pieDiagram-4H26LBE5-9fHcPmFE.js → pieDiagram-4H26LBE5-B_jWIggY.js} +3 -3
  97. package/dist/assets/plugin-calendar--KxXPKcZ.js +1 -0
  98. package/dist/assets/plugin-charts-BtGgj50F.js +7 -0
  99. package/dist/assets/{plugin-chatbot-BpAQS7-q.js → plugin-chatbot-BnXRjqnw.js} +53 -53
  100. package/dist/assets/plugin-dashboard-BJU4e4Lc.js +6 -0
  101. package/dist/assets/plugin-form-CfWEBrxU.js +1 -0
  102. package/dist/assets/plugin-gantt-DWE_Yo3S.js +39 -0
  103. package/dist/assets/plugin-grid-MJIEbrKE.js +6 -0
  104. package/dist/assets/plugin-kanban-CuXc4XOR.js +1 -0
  105. package/dist/assets/{plugin-map-DG62gl97.js → plugin-map-BJaiEhqS.js} +1 -1
  106. package/dist/assets/{plugin-markdown-BL0QvMCD.js → plugin-markdown-5mHDCnjJ.js} +1 -1
  107. package/dist/assets/plugin-report-DXVbwZO1.js +59 -0
  108. package/dist/assets/{plugin-timeline-dBrX3lS3.js → plugin-timeline-CRg278ig.js} +1 -1
  109. package/dist/assets/plugin-tree-D3iB5Xsc.js +1 -0
  110. package/dist/assets/plugin-view-DuycwTEq.js +1 -0
  111. package/dist/assets/plugins-views-FDlQfg4L.js +4 -0
  112. package/dist/assets/{quadrantDiagram-W4KKPZXB-CaMxia_k.js → quadrantDiagram-W4KKPZXB-DuQbsXa3.js} +1 -1
  113. package/dist/assets/{radar-GUYGQ44K-DapGfmwo.js → radar-GUYGQ44K-BdSwem6Q.js} +1 -1
  114. package/dist/assets/{requirementDiagram-4Y6WPE33-CXwY4Gdd.js → requirementDiagram-4Y6WPE33-BS1D5lNA.js} +1 -1
  115. package/dist/assets/{sankeyDiagram-5OEKKPKP-KEb3hSPZ.js → sankeyDiagram-5OEKKPKP-DGvgs5mF.js} +2 -2
  116. package/dist/assets/{sequenceDiagram-3UESZ5HK-BfbOOh3M.js → sequenceDiagram-3UESZ5HK-CoXT3Sa8.js} +1 -1
  117. package/dist/assets/{skeletons-BK7w4pLE.js → skeletons-CCMkzfAg.js} +1 -1
  118. package/dist/assets/{src-Czx03pos.js → src-BTw3UGh8.js} +1 -1
  119. package/dist/assets/{src-CVz7aDdY.js → src-B_91OByQ.js} +1 -1
  120. package/dist/assets/src-KdhDBRhc.js +2 -0
  121. package/dist/assets/{stateDiagram-AJRCARHV-BLJI6xj_.js → stateDiagram-AJRCARHV-CGBlOS6N.js} +1 -1
  122. package/dist/assets/stateDiagram-v2-BHNVJYJU-B7qRtpsa.js +1 -0
  123. package/dist/assets/{timeline-definition-PNZ67QCA-aiklZXLq.js → timeline-definition-PNZ67QCA-C3SxX0_p.js} +1 -1
  124. package/dist/assets/{treeView-BLDUP644-Byr_7ESV.js → treeView-BLDUP644-LYooC8jV.js} +1 -1
  125. package/dist/assets/{treemap-LRROVOQU-B6DiJnlo.js → treemap-LRROVOQU-DRMY684K.js} +1 -1
  126. package/dist/assets/{types-C2_UYDEK.js → types-BXXHtG0t.js} +1 -1
  127. package/dist/assets/ui-components-BecTKcFn.js +42 -0
  128. package/dist/assets/ui-layout-BG3TnLjr.js +1 -0
  129. package/dist/assets/useActionModal-DezoqP6c.js +1 -0
  130. package/dist/assets/useOpenRecordList-DjbGsO2B.js +1 -0
  131. package/dist/assets/{usePackageL10n-shLsxEAx.js → usePackageL10n-DIEe85Ot.js} +1 -1
  132. package/dist/assets/useReconcileOnError-Df2Wf71r.js +1 -0
  133. package/dist/assets/vendor-charts-BMpO4zwC.js +39 -0
  134. package/dist/assets/{vendor-dndkit-DMFEUxSy.js → vendor-dndkit-CJ-mJJuO.js} +1 -1
  135. package/dist/assets/{vendor-i18n-Bz5UncqE.js → vendor-i18n-DA5MKfC_.js} +1 -1
  136. package/dist/assets/{vendor-icons-core-C_yMA5lO.js → vendor-icons-core-y1IwBwLD.js} +1 -1
  137. package/dist/assets/{vendor-markdown-CyAGIM8D.js → vendor-markdown-BhPWU2N7.js} +1 -1
  138. package/dist/assets/vendor-objectstack-CMEER4tu.js +96 -0
  139. package/dist/assets/vendor-radix-90T7eS-d.js +46 -0
  140. package/dist/assets/vendor-react-ClIa1CJA.js +11 -0
  141. package/dist/assets/vendor-sentry-DUcsR3Vf.js +501 -0
  142. package/dist/assets/{vendor-ui-utils-rQOI1gAo.js → vendor-ui-utils-C92Fl7BT.js} +1 -1
  143. package/dist/assets/{vennDiagram-CIIHVFJN-DsKC4yvC.js → vennDiagram-CIIHVFJN-BWIbAw03.js} +1 -1
  144. package/dist/assets/{wardley-L42UT6IY-f1iiSYpj.js → wardley-L42UT6IY-zPLhQ1bd.js} +1 -1
  145. package/dist/assets/{wardleyDiagram-YWT4CUSO-DbrUmWlY.js → wardleyDiagram-YWT4CUSO-Ck_J2TTN.js} +1 -1
  146. package/dist/assets/{xychartDiagram-2RQKCTM6-B4biX1Sz.js → xychartDiagram-2RQKCTM6-CDqp4wV0.js} +2 -2
  147. package/dist/index.html +6 -6
  148. package/package.json +1 -1
  149. package/dist/assets/AdapterProvider-DJb3ZVmJ.js +0 -1
  150. package/dist/assets/ApprovalsInboxPage-Dym3zM3t.js +0 -1
  151. package/dist/assets/ConsoleFloatingChatbot-_UeVODsx.js +0 -1
  152. package/dist/assets/DashboardView-kL9_gMzd.js +0 -1
  153. package/dist/assets/DashboardWidgetInspector-BN8Yy27Q.js +0 -1
  154. package/dist/assets/FlowRunsPage-65yB_BWO.js +0 -1
  155. package/dist/assets/InterfaceListPage-CBomrdcf.js +0 -1
  156. package/dist/assets/MarketplaceAccessDenied-CX0RbkOJ.js +0 -1
  157. package/dist/assets/MarketplacePackagePage-C8yVjW5r.js +0 -4
  158. package/dist/assets/MarketplacePage-pVW-NfrG.js +0 -1
  159. package/dist/assets/MetadataInspector-CACgSTc7.js +0 -1
  160. package/dist/assets/MetadataProvider-Dh20h6BN.js +0 -1
  161. package/dist/assets/PageView-D388xYQA.js +0 -1
  162. package/dist/assets/RecentItemsProvider-B76qldBH.js +0 -1
  163. package/dist/assets/RecordDetailView-DIiHv2mR.js +0 -1
  164. package/dist/assets/ReportDefaultInspector-CjR-PcBn.js +0 -1
  165. package/dist/assets/ReportView-M_mx8mgW.js +0 -2
  166. package/dist/assets/RuntimeDraftBar-DTf-DIfT.js +0 -1
  167. package/dist/assets/SystemHubPage-6FccxnKY.js +0 -1
  168. package/dist/assets/architecture-7EHR7CIX-BdMnUPE0.js +0 -1
  169. package/dist/assets/blockDiagram-GPEHLZMM-D6-9deBJ.js +0 -132
  170. package/dist/assets/channel-ByUUDCyR.js +0 -1
  171. package/dist/assets/chunk-55IACEB6-BhOjfCrn.js +0 -1
  172. package/dist/assets/chunk-5ZQYHXKU-DG12s6lW.js +0 -2
  173. package/dist/assets/chunk-CSCIHK7Q-DfSAlgJl.js +0 -124
  174. package/dist/assets/chunk-QZHKN3VN-ujroCBCz.js +0 -1
  175. package/dist/assets/chunk-WU5MYG2G-DwQt8tuZ.js +0 -1
  176. package/dist/assets/classDiagram-4FO5ZUOK-B7mTyEXp.js +0 -1
  177. package/dist/assets/classDiagram-v2-Q7XG4LA2-B7mTyEXp.js +0 -1
  178. package/dist/assets/eventmodeling-FCH6USID-CFiyy8DS.js +0 -1
  179. package/dist/assets/framework-BLEk-ou3.js +0 -34
  180. package/dist/assets/index-A8r_lURn.js +0 -4
  181. package/dist/assets/index-BGyrRTzt.css +0 -2
  182. package/dist/assets/infrastructure-CJNwTVno.js +0 -3
  183. package/dist/assets/mergeServerFields-CMIOI8QD.js +0 -7
  184. package/dist/assets/mermaid-GHXKKRXX-C3g3SOag.js +0 -1
  185. package/dist/assets/mermaid.core-C41Aiku8.js +0 -8
  186. package/dist/assets/metadata-admin-ORqaeHUJ.js +0 -19
  187. package/dist/assets/plugin-calendar-Czocnijo.js +0 -1
  188. package/dist/assets/plugin-charts-dCyWH9k8.js +0 -7
  189. package/dist/assets/plugin-dashboard-CjtE0zwv.js +0 -5
  190. package/dist/assets/plugin-form-Dzz6GAZM.js +0 -1
  191. package/dist/assets/plugin-gantt-BedjcmIc.js +0 -23
  192. package/dist/assets/plugin-grid-BqmF7p-H.js +0 -6
  193. package/dist/assets/plugin-kanban-Dq0xJjXt.js +0 -1
  194. package/dist/assets/plugin-report-DckNGNq6.js +0 -59
  195. package/dist/assets/plugin-view-DCPYomdU.js +0 -1
  196. package/dist/assets/plugins-views-B-EGcBP2.js +0 -4
  197. package/dist/assets/resolveActionParams-B_7wSkli.js +0 -9
  198. package/dist/assets/src-9qM7N8MR.js +0 -2
  199. package/dist/assets/stateDiagram-v2-BHNVJYJU-DPQJ1_JB.js +0 -1
  200. package/dist/assets/ui-components-NS_7__gn.js +0 -42
  201. package/dist/assets/ui-layout-BdKOzi1L.js +0 -1
  202. package/dist/assets/useActionModal-BE61500N.js +0 -1
  203. package/dist/assets/useReconcileOnError-Cvd01WQv.js +0 -1
  204. package/dist/assets/vendor-charts-fo4ZbB_t.js +0 -39
  205. package/dist/assets/vendor-objectstack-BNd856rx.js +0 -96
  206. package/dist/assets/vendor-radix-CSVEhP0L.js +0 -56
  207. package/dist/assets/vendor-react-DR370ovB.js +0 -11
  208. package/dist/assets/vendor-sentry-BIOhD5Kg.js +0 -501
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as t,l as n,t as r,u as i}from"./vendor-react-DR370ovB.js";import{C as a}from"./framework-BLEk-ou3.js";import{n as o}from"./data-adapter-CCidkDs3.js";import{i as s}from"./plugin-form-Dzz6GAZM.js";var c=e(t(),1),l=r(),u=(0,c.createContext)(!1),d=`preview`,f=`draft`;function p(e){return new URLSearchParams(e).get(d)===f}var m=!1;function h(){m=!0}function g({force:e,children:t}){let r=n(),a=i(),o=(0,c.useMemo)(()=>p(r.search),[r.search]),[s,h]=(0,c.useState)(o);return(0,c.useEffect)(()=>{if(o){h(!0),m=!1;return}if(!s)return;if(m){m=!1,h(!1);return}let e=new URLSearchParams(r.search);e.set(d,f),a(`${r.pathname}?${e.toString()}${r.hash}`,{replace:!0})},[o,s,r.pathname,r.search,r.hash,a]),(0,l.jsx)(u.Provider,{value:e??(o||s),children:t})}function _(){return(0,c.useContext)(u)}var v=null,y=0,b=0,x=null,S={editor:v,openSeq:y,reviewSeq:b,reviewTarget:x},C=new Set;function w(){S={editor:v,openSeq:y,reviewSeq:b,reviewTarget:x};for(let e of C)e()}function T(e,t){return e===t?!0:JSON.stringify(e)===JSON.stringify(t)}var E={subscribe(e){return C.add(e),()=>{C.delete(e)}},getSnapshot(){return S},setEditor(e){T(v,e)||(v=e,w())},requestOpen(){y+=1,w()},requestReview(e){b+=1,x=e,w()}},D=new Set;function O(e){for(let t of D)t(e)}function k(e){return D.add(e),()=>{D.delete(e)}}function A(){return(0,c.useSyncExternalStore)(E.subscribe,E.getSnapshot,E.getSnapshot)}function j(e){(0,c.useEffect)(()=>(E.setEditor(e),()=>E.setEditor(null)),[e?JSON.stringify(e):``])}function M(){E.requestOpen()}function N(e){E.requestReview(e)}var P=300*1e3,F=[`app`,`view`],I={apps:`app`,objects:`object`,dashboards:`dashboard`,reports:`report`,pages:`page`},L=`objectui:metadata:`;function R(){try{let e=import.meta;if(e&&e.env&&typeof e.env.MODE==`string`)return e.env.MODE!==`production`}catch{}return!1}var z=R();function B(...e){z&&console.debug(`[MetadataProvider]`,...e)}function V(e){return Array.isArray(e)?e:e&&typeof e==`object`&&`items`in e&&Array.isArray(e.items)?e.items:[]}function H(e){return e==null?null:typeof e==`object`&&`item`in e?e.item??null:e}function U(e){return!!e&&typeof e==`object`&&`name`in e&&typeof e.name==`string`}function W(e){return!!e&&typeof e==`object`&&!!e.viewKind&&!!e.object}function G(e,t){if(!e.length||!t.length)return e;let n={},r=new Set;for(let e of t)W(e)&&r.add(e.object);for(let e of t){if(W(e)){let t=n[e.object]||={listViews:{},formViews:{}},r=e.name||`${e.object}.${e.viewKind}`,i=e.config&&typeof e.config==`object`?e.config:{},a={...i,name:r,label:e.label??i.label,isDefault:!!e.isDefault};e.viewKind===`form`?(t.formViews[r]=a,(e.isDefault||!t.form)&&(t.form=a)):(t.listViews[r]=a,e.isDefault&&(t.primary=a));continue}let t=e?.name||e?.list?.data?.object||e?.form?.data?.object;if(!t||r.has(t))continue;let i=n[t]||={listViews:{},formViews:{}};if(e.list){i.primary=e.list;let t=e.list.name||`list`;i.listViews[t]=e.list}if(e.form&&(i.form=e.form),e.listViews&&typeof e.listViews==`object`)for(let[t,n]of Object.entries(e.listViews))i.listViews[t]=n;if(e.formViews&&typeof e.formViews==`object`)for(let[t,n]of Object.entries(e.formViews))i.formViews[t]=n}return e.map(e=>{let t=n[e.name];if(!t)return e;let r=e.listViews||e.list_views||{},i=e.formViews||e.form_views||{},a={...e,listViews:{...t.listViews,...r}};return(Object.keys(t.formViews).length||Object.keys(i).length)&&(a.formViews={...t.formViews,...i}),t.primary&&!e.list&&(a.list=t.primary),t.form&&!e.form&&(a.form=t.form),a})}function K(e){if(!e?.length)return e;let t={};for(let n of e){let e=n?.fields;if(!e)continue;let r=Array.isArray(e)?e.map(e=>[e?.name,e]):Object.entries(e);for(let[e,i]of r){let r=i;if(!e||!r?.inlineEdit||r.type!==`master_detail`&&r.type!==`lookup`)continue;let a=r.reference;a&&(t[a]||=[]).push({childObject:n.name,relationshipField:e,inlineMode:s(n,r.inlineEdit,{relationshipField:e}),...r.inlineTitle?{title:r.inlineTitle}:{},...Array.isArray(r.inlineColumns)?{columns:r.inlineColumns}:{},...typeof r.inlineAmountField==`string`?{amountField:r.inlineAmountField}:{}})}}return Object.keys(t).length?e.map(e=>{let n=t[e.name];if(!n?.length)return e;let r={...e.form||{type:`simple`}},i=Array.isArray(r.subforms)?r.subforms:[],a=new Set(i.map(e=>e.childObject));r.subforms=[...n.filter(e=>!a.has(e.childObject)),...i];let o={...e,form:r};return e.formViews?.default&&(o.formViews={...e.formViews,default:{...e.formViews.default,subforms:r.subforms}}),o}):e}function q(){return{status:`idle`,items:[],byName:new Map,error:null,fetchedAt:0,promise:null}}function J(e){if(typeof sessionStorage>`u`)return null;try{let t=sessionStorage.getItem(L+e);if(!t)return null;let n=JSON.parse(t);return Array.isArray(n)?n:null}catch{return null}}function Y(e,t){if(!(typeof sessionStorage>`u`))try{sessionStorage.setItem(L+e,JSON.stringify(t))}catch{}}function X({children:e,adapter:t,ttlMs:n=P}){let r=(0,c.useRef)(new Map),i=(0,c.useRef)(new Map),s=(0,c.useRef)(t);s.current=t;let u=_(),d=(0,c.useMemo)(()=>u?new o({baseUrl:``,previewDrafts:!0}):null,[u]),f=(0,c.useRef)(d);f.current=d;let[p,m]=(0,c.useState)(0),h=(0,c.useCallback)(()=>{typeof queueMicrotask==`function`?queueMicrotask(()=>m(e=>e+1)):Promise.resolve().then(()=>m(e=>e+1))},[]);(0,c.useEffect)(()=>{r.current.clear(),i.current.clear(),h()},[u,h]);let g=(0,c.useCallback)(e=>{let t=r.current.get(e);return t||(t=q(),r.current.set(e,t)),t},[]),v=(0,c.useCallback)(e=>{let t=g(e);if(t.promise)return t.promise;if(t.status===`ready`&&Date.now()-t.fetchedAt<n)return B(`cache hit (fresh) type=${e} items=${t.items.length}`),Promise.resolve(t.items);let r=Date.now();t.status=`loading`,t.error=null;let i=f.current,a=(i?i.list(e):s.current.getClient().meta.getItems(e)).then(n=>{let a=V(n);t.items=a,t.status=`ready`,t.error=null,t.fetchedAt=Date.now(),t.promise=null,t.byName.clear();for(let e of a)U(e)&&t.byName.set(e.name,e);return e===`app`&&!i&&Y(e,a),B(`fetched type=${e} items=${a.length} in ${Date.now()-r}ms`),h(),a}).catch(n=>{let r=n instanceof Error?n:Error(String(n));return t.status=`error`,t.error=r,t.promise=null,B(`fetch failed type=${e}`,r),h(),[]});return t.promise=a,a},[h,g,n]),y=(0,c.useCallback)((e,t)=>{let n=g(e);if(n.byName.has(t))return B(`item cache hit type=${e} name=${t}`),Promise.resolve(n.byName.get(t)??null);let r=i.current.get(e);r||(r=new Map,i.current.set(e,r));let a=r.get(t);if(a)return a;let o=Date.now(),c=f.current,l=(c?c.get(e,t):s.current.getClient().meta.getItem(e,t)).then(i=>{let a=H(i);return a&&n.byName.set(t,a),B(`fetched item type=${e} name=${t} in ${Date.now()-o}ms`),r.delete(t),a}).catch(n=>(r.delete(t),B(`fetch item failed type=${e} name=${t}`,n),null));return r.set(t,l),l},[g]),b=(0,c.useCallback)(async e=>{if(e){let t=g(e);t.fetchedAt=0,t.byName.clear(),await v(e);return}let t=Array.from(r.current.keys()).filter(e=>r.current.get(e).status!==`idle`);await Promise.all(t.map(e=>{let t=r.current.get(e);return t.fetchedAt=0,t.byName.clear(),v(e)}))},[v,g]),x=(0,c.useCallback)((e,t)=>{let n=r.current.get(e);n&&(t?(n.byName.delete(t),n.items=n.items.filter(e=>e?.name!==t),B(`invalidated type=${e} name=${t}`)):(n.status=`idle`,n.items=[],n.byName.clear(),n.error=null,n.fetchedAt=0,B(`invalidated type=${e}`)),h())},[h]);(0,c.useEffect)(()=>{if(u)return k(({type:e})=>{x(e)})},[u,x]);let[S,C]=(0,c.useState)(!0),[w,T]=(0,c.useState)(null);(0,c.useEffect)(()=>{let e=!1,t=u?null:J(`app`);if(t){let e=g(`app`);e.items=t,e.status=`ready`,e.fetchedAt=0;for(let n of t)U(n)&&e.byName.set(n.name,n);h(),C(!1)}return(async()=>{for(let t of F)try{await v(t),e||T(null)}catch(t){e||T(t instanceof Error?t:Error(String(t)))}e||C(!1)})(),()=>{e=!0}},[t,v,g,h,u]);let E=(0,c.useMemo)(()=>{let e=e=>{let t=g(e);return t.status===`idle`&&v(e),t.items};return{apps:g(`app`).items,get objects(){let t=e(I.objects),n=e(`view`);return K(n.length?G(t,n):t)},get dashboards(){return e(I.dashboards)},get reports(){return e(I.reports)},get pages(){return e(I.pages)},loading:S,error:w??g(`app`).error,refresh:b,invalidate:x,ensureType:v,getItem:y,getItemsByType:t=>e(t),getTypeStatus:e=>g(e).status}},[p,S,w,v,y,g,b,x]);return(0,l.jsx)(a.Provider,{value:E,children:e})}export{A as a,g as c,N as i,h as l,O as n,j as o,M as r,d as s,X as t,_ as u};
@@ -1 +0,0 @@
1
- import{o as e,r as t}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as n,f as r,l as i,p as a,t as o,u as s}from"./vendor-react-DR370ovB.js";import{f as c,m as l}from"./infrastructure-CJNwTVno.js";import{A as u,B as d,O as f,T as p,r as m,w as h}from"./framework-BLEk-ou3.js";import{Co as g,H as _,R as v,Xi as y,gc as b,z as x}from"./ui-components-NS_7__gn.js";import{r as S}from"./vendor-ui-utils-rQOI1gAo.js";import"./MetadataProvider-Dh20h6BN.js";import{r as C}from"./ExpressionProvider-DKFCgLsJ.js";import{n as w,r as T,t as E}from"./MetadataInspector-CACgSTc7.js";import{t as D}from"./InterfaceListPage-CBomrdcf.js";import{a as O,i as k,n as A,r as j,t as M}from"./resolveActionParams-B_7wSkli.js";var N=e(n(),1),P=o(),F={id:`current-user`,name:`Demo User`,isPlatformAdmin:!1};function I(e){let{dataSource:t,objects:n,objectName:r,onRefresh:i}=e,a=s(),{user:o,activeOrganization:d}=c(),{fieldLabel:f,fieldOptionLabel:p,actionParamText:m,actionParamOptionLabel:h,actionDescription:g}=b(),_=(0,N.useMemo)(()=>r?n?.find(e=>e.name===r):void 0,[n,r]),v=r||_?.name,y=(0,N.useCallback)(()=>{i?.()},[i]),x=u({dataSource:t,onUndo:()=>{y(),S.success(`Change undone`)}}),[C,w]=(0,N.useState)({open:!1,message:``}),[T,E]=(0,N.useState)({open:!1,params:[]}),[D,I]=(0,N.useState)({open:!1}),[L,R]=(0,N.useState)(null),z=(0,N.useRef)(new Set),B=(0,N.useCallback)((e,t)=>new Promise(n=>{I({open:!0,spec:e,data:t,resolve:n})}),[]),V=(0,N.useCallback)((e,t)=>new Promise(n=>{w({open:!0,message:e,options:t,resolve:n})}),[]),H=(0,N.useCallback)((e,t)=>new Promise(i=>{let a=t?.params&&!Array.isArray(t.params)?t.params._rowRecord:void 0,o=M(e,{objectName:r||_?.name||``,objects:n||[],fieldLabel:f,fieldOptionLabel:p,row:a}),s=r||_?.name;E({open:!0,params:o.map(e=>({...e,label:m(s,t?.name,e.name,`label`,e.label)??e.label,placeholder:m(s,t?.name,e.name,`placeholder`,e.placeholder)??e.placeholder,helpText:m(s,t?.name,e.name,`helpText`,e.helpText)??e.helpText,options:Array.isArray(e.options)?e.options.map(n=>({...n,label:h(s,t?.name,e.name,n.value,n.label)})):e.options})),title:t?.label||t?.title,description:g(s,t?.name,t?.description),resolve:i})}),[r,_,n,f,p,m,h]),U=o?{id:o.id,name:o.name,avatar:o.image,isPlatformAdmin:o?.isPlatformAdmin??!1}:F,W=(0,N.useCallback)((e,t)=>{if(t?.type===`error`){S.error(e);return}if(t?.undo){S.success(e,{duration:t.duration,action:{label:t.undo.label||`Undo`,onClick:()=>{x.undo()}}});return}S.success(e,{duration:t?.duration})},[x]),G=(0,N.useCallback)((e,t)=>{t?.external||t?.newTab?window.open(e,`_blank`,`noopener,noreferrer`):a(e)},[a]),K=(0,N.useMemo)(()=>l(),[]),q=(0,N.useCallback)(async e=>{try{let n=e.target||e.name,r=e.params||{},i=typeof n==`string`?n:``;if(i.startsWith(`/`)||/^https?:\/\//i.test(i)){let t={...r},n=t._rowRecord;delete t._rowRecord;let a=i;n&&/\{[a-z_][a-z0-9_]*\}/i.test(a)&&(a=a.replace(/\{([a-z_][a-z0-9_]*)\}/gi,(e,t)=>{let r=n[t];return r==null?``:encodeURIComponent(String(r))}));let o=a.startsWith(`http`)?a:`${a}`,s=e.bodyShape&&typeof e.bodyShape==`object`&&e.bodyShape.wrap?e.bodyShape.wrap:void 0,c=s?{[s]:t}:{...t};if(n&&e.recordIdParam){let t=n[e.recordIdField||`id`];t!=null&&(c[e.recordIdParam]=t)}/\/api\/v1\/auth\//.test(a)&&!c.organizationId&&d?.id&&(c.organizationId=d.id),e.bodyExtra&&typeof e.bodyExtra==`object`&&Object.assign(c,e.bodyExtra);let l=(e.method||`POST`).toUpperCase(),u={method:l,headers:{"Content-Type":`application/json`},credentials:`include`};l!==`GET`&&l!==`DELETE`&&(u.body=JSON.stringify(c));let f=await K(o,u);if(!f.ok){let e=`HTTP ${f.status}`;try{let t=await f.json();e=t?.error||t?.message||e}catch{}return{success:!1,error:e}}let p=await f.json().catch(()=>({}));return e.refreshAfter!==!1&&y(),{success:!0,data:p,reload:e.refreshAfter!==!1}}let a=e.objectName||v,o=r._rowRecord,s={...r};delete s._rowRecord;let c=s.recordId??o?.[e.recordIdField||`id`];delete s.recordId,a&&typeof t?.execute==`function`?await t.execute(a,n,s):a&&c&&Object.keys(s).length>0&&typeof t?.update==`function`&&await t.update(a,c,s);let l;if(e.undoable&&a&&c&&o&&Object.keys(s).length>0&&typeof t?.update==`function`){let t={};for(let e of Object.keys(s))t[e]=o[e]??null;l={id:`undo-${a}-${c}-${Date.now()}`,type:`update`,objectName:a,recordId:String(c),timestamp:Date.now(),description:e.label||`Undo ${a}`,undoData:t,redoData:{...s}}}let u=e.refreshAfter!==!1;return u&&y(),{success:!0,reload:u,undo:l}}catch(e){return{success:!1,error:e.message}}},[t,v,K,d,y]),J=(0,N.useCallback)(async(e,t)=>{let n=e.target||e.name;if(!n)return{success:!1,error:`No flow target provided for flow action`};try{let r={...e.params||{}},i=r._rowRecord;delete r._rowRecord;let a=r.recordId??i?.id;if(a==null){let e=Array.isArray(t?.selectedRecords)?t.selectedRecords:[];if(e.length===1)a=e[0]?.id;else if(e.length>1)return{success:!1,error:`This flow runs on a single record — select exactly one row.`}}a!=null&&r.recordId==null&&(r.recordId=a);let o=await K(`/api/v1/automation/${encodeURIComponent(n)}/trigger`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({recordId:a,objectName:e.objectName||v,params:r})}),s=await o.json().catch(()=>null);if(!o.ok||s&&s.success===!1)return{success:!1,error:s?.error||`Flow "${n}" failed (HTTP ${o.status})`};let c=s?.data??{};if(c.status===`paused`&&c.screen)return R({flowName:n,runId:c.runId,screen:c.screen}),{success:!0,silent:!0};let l=e.refreshAfter!==!1;return l&&y(),{success:!0,data:s?.data,reload:l}}catch(e){return{success:!1,error:e.message}}},[K,v,y]),Y=(0,N.useCallback)(async(e,t)=>{let n=e.target||e.name;if(!n)return{success:!1,error:`No action target provided`};let r=e.params&&!Array.isArray(e.params)?{...e.params}:{},i=r._rowRecord;delete r._rowRecord;let a=e.recordIdField||`id`,o=r.recordId??i?.[a];if(o==null){let e=Array.isArray(t?.selectedRecords)?t.selectedRecords:[];if(e.length===1)o=e[0]?.[a];else if(e.length>1)return{success:!1,error:`This action runs on a single record — select exactly one row.`}}let s=`${n}:${o??``}`;if(z.current.has(s))return{success:!1,error:`Action already in progress`};z.current.add(s);let c=null;if(e.opensInNewTab)try{c=window.open(`about:blank`,`_blank`),c&&(c.document.write(`<!doctype html><meta charset="utf-8"><title>正在打开… Opening…</title><body style="margin:0;font-family:system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:#4b5563"><div style="width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:s .8s linear infinite"></div><div>正在为你打开环境…</div><style>@keyframes s{to{transform:rotate(360deg)}}</style></body>`),c.document.close())}catch{c=null}try{let t=typeof e.newTabUrl==`string`?e.newTabUrl:``;if(e.opensInNewTab&&t){if(o==null){if(c)try{c.close()}catch{}return{success:!1,error:`This action runs on a single record — no record id available.`}}let n=`${window.location.origin}${t.replace(`{recordId}`,encodeURIComponent(String(o)))}`;if(c)try{c.location.href=n}catch{try{c.close()}catch{}window.location.href=n}else{let e=null;try{e=window.open(n,`_blank`)}catch{e=null}e||S(`浏览器拦截了弹窗 / Popup blocked`,{description:`点击在新标签页打开环境`,action:{label:`打开环境`,onClick:()=>{try{window.open(n,`_blank`)}catch{window.location.href=n}}},duration:1e4})}return e.refreshAfter===!0&&y(),{success:!0}}let i=e.objectName||v||`global`,a=await K(`/api/v1/actions/${encodeURIComponent(i)}/${encodeURIComponent(n)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({recordId:o,params:r})}),s=await a.json().catch(()=>null);if(!a.ok||s&&s.success===!1){let e=s?.error||`Action "${n}" failed (HTTP ${a.status})`;if(c)try{c.close()}catch{}return S.error(e),{success:!1,error:e}}let l=e.refreshAfter!==!1;l&&y();let u=s?.data,d=u&&typeof u==`object`&&typeof u.redirectUrl==`string`?u.redirectUrl:null;if(d)if(c)try{c.location.href=d}catch{try{c.close()}catch{}window.location.href=d}else{let e=null;try{e=window.open(d,`_blank`)}catch{e=null}e||S(`浏览器拦截了弹窗 / Popup blocked`,{description:`点击在新标签页打开环境`,action:{label:`打开环境`,onClick:()=>{try{window.open(d,`_blank`)}catch{window.location.href=d}}},duration:1e4})}else if(c)try{c.close()}catch{}return{success:!0,data:u,reload:l}}catch(e){if(c)try{c.close()}catch{}let t=e.message;return S.error(t),{success:!1,error:t}}finally{z.current.delete(s)}},[K,v,y]);return{confirmHandler:V,toastHandler:W,navigateHandler:G,paramCollectionHandler:H,resultDialogHandler:B,apiHandler:q,flowHandler:J,serverActionHandler:Y,authFetch:K,actionProviderProps:(0,N.useMemo)(()=>({context:{...r?{objectName:r}:{},user:U,apiBase:``,activeOrganization:d?{id:d.id,slug:d.slug,name:d.name}:null},onConfirm:V,onToast:W,onNavigate:G,onParamCollection:H,onResultDialog:B,handlers:{api:q,flow:J,script:Y,modal:Y}}),[r,U,d,V,W,G,H,B,q,J,Y]),dialogs:(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(O,{state:C,onOpenChange:e=>{e||w({open:!1,message:``})}}),(0,P.jsx)(k,{state:T,onOpenChange:e=>{e||E({open:!1,params:[]})}}),(0,P.jsx)(j,{state:D,onAcknowledge:()=>{D.resolve?.(),I({open:!1})}}),(0,P.jsx)(A,{state:L,authFetch:K,baseUrl:``,dataSource:t,objects:n,onClose:()=>R(null),onComplete:()=>{R(null),y()}})]})}}function L({children:e,...t}){let n=I(t);return(0,P.jsxs)(f,{...n.actionProviderProps,children:[e,n.dialogs]})}var R=t({PageView:()=>z});function z(){let{t:e}=m(),{pageName:t}=r(),[n]=a(),{showDebug:o}=w(),l=s(),u=i(),{user:f}=c(),b=f?.role===`admin`,{pages:S,objects:O}=p(),{app:k}=C(),A=h(),[j,M]=(0,N.useState)(0),F=T(S,t,k?._packageId);if(!F)return(0,P.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,P.jsxs)(v,{children:[(0,P.jsx)(`div`,{className:`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted`,children:(0,P.jsx)(g,{className:`h-6 w-6 text-muted-foreground`})}),(0,P.jsx)(_,{children:e(`empty.pageNotFound`)}),(0,P.jsx)(x,{children:e(`empty.pageNotFoundDescription`,{name:t})})]})});let I=Object.fromEntries(n.entries()),R=u.pathname.match(/\/apps\/([^/]+)/)?.[1],z=b&&!!R&&!!t;return(0,P.jsx)(L,{dataSource:A,objects:O,onRefresh:()=>M(e=>e+1),children:(0,P.jsxs)(`div`,{className:`flex flex-row h-full w-full overflow-hidden relative`,children:[(0,P.jsxs)(`div`,{className:`flex-1 overflow-auto h-full relative`,children:[z&&(0,P.jsx)(`button`,{type:`button`,onClick:()=>{z&&l(`/apps/${R}/metadata/page/${encodeURIComponent(t)}`)},className:`absolute right-3 top-3 z-30 inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-background/90 text-muted-foreground shadow-sm backdrop-blur hover:bg-accent hover:text-accent-foreground`,"data-testid":`page-edit-in-studio-button`,title:e(`common.editInStudio`,{defaultValue:`Edit in studio`}),"aria-label":e(`common.editInStudio`,{defaultValue:`Edit in studio`}),children:(0,P.jsx)(y,{className:`h-3.5 w-3.5`})}),F.interfaceConfig?.source?(0,P.jsx)(D,{page:F},j):(0,P.jsx)(d,{schema:{...F,type:F.type||`page`,context:{...F.context,params:I,refreshKey:j}}},j)]}),(0,P.jsx)(E,{open:o,sections:[{title:`Page Configuration`,data:F}]})]})})}export{I as n,R as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as t,t as n}from"./vendor-react-DR370ovB.js";import{f as r}from"./infrastructure-CJNwTVno.js";var i=e(t(),1),a=n(),o=(0,i.createContext)({favorites:null,recent:null}),s=(0,i.createContext)(null);function c({children:e}){let[t,n]=(0,i.useState)({favorites:null,recent:null}),r=(0,i.useRef)({attach:(e,t)=>{n(n=>n[e]===t?n:{...n,[e]:t})}});return(0,a.jsx)(s.Provider,{value:r.current,children:(0,a.jsx)(o.Provider,{value:t,children:e})})}function l(e){return(0,i.useContext)(o)[e]}function u(){let e=(0,i.useContext)(s);return(0,i.useCallback)((t,n)=>{e?.attach(t,n)},[e])}function d(e,t){return t?`${e}:u:${t}`:e}function f(e,t){let n=(0,i.useRef)(t);n.current=t,(0,i.useEffect)(()=>{if(typeof window>`u`)return;let t=t=>{if(!(t.key!==e||t.storageArea!==localStorage)){if(t.newValue==null){n.current(null);return}try{n.current(JSON.parse(t.newValue))}catch{n.current(null)}}};return window.addEventListener(`storage`,t),()=>window.removeEventListener(`storage`,t)},[e])}function p(e,t=500){let n=null,r=null,i=!1,a=async()=>{if(n&&=(clearTimeout(n),null),!i)return;let t=r;i=!1,r=null;try{await e(t)}catch{}};return{schedule:e=>{r=e,i=!0,n&&clearTimeout(n),n=setTimeout(()=>{n=null,a()},t)},flush:a,cancel:()=>{n&&clearTimeout(n),n=null,i=!1,r=null}}}var m=`objectui-recent-items`,h=8;function g(e){try{let t=localStorage.getItem(d(m,e));return t?JSON.parse(t):[]}catch{return[]}}function _(e,t){try{localStorage.setItem(d(m,t),JSON.stringify(e))}catch{}}var v=(0,i.createContext)(null);function y({children:e}){let{user:t}=r(),n=t?.id??null,o=l(`recent`),[s,c]=(0,i.useState)(()=>g(n));(0,i.useEffect)(()=>{c(g(n))},[n]),f(d(m,n),e=>{c(Array.isArray(e)?e.filter(e=>e&&typeof e.id==`string`).slice(0,h):[])});let u=(0,i.useRef)(0);(0,i.useEffect)(()=>{if(!o)return;let e=++u.current,t=!1;return(async()=>{try{let r=await o.load();if(t||e!==u.current)return;let i=(Array.isArray(r)?r:[]).filter(e=>e&&typeof e.id==`string`).slice(0,h);c(i),_(i,n)}catch{}})(),()=>{t=!0}},[o,n]);let y=(0,i.useMemo)(()=>p(async e=>{o&&await o.save(e)},500),[o]);(0,i.useEffect)(()=>()=>{y.flush()},[y]);let b=(0,i.useCallback)(e=>{_(e,n),o&&y.schedule(e)},[n,o,y]),x=(0,i.useCallback)(e=>{c(t=>{let n=t.filter(t=>t.id!==e.id),r=[{...e,visitedAt:new Date().toISOString()},...n].slice(0,h);return b(r),r})},[b]),S=(0,i.useCallback)(()=>{c([]),b([])},[b]),C=(0,i.useMemo)(()=>({recentItems:s,addRecentItem:x,clearRecentItems:S}),[s,x,S]);return(0,a.jsx)(v.Provider,{value:C,children:e})}function b(){return(0,i.useContext)(v)||{recentItems:[],addRecentItem:()=>{},clearRecentItems:()=>{}}}export{d as a,l as c,p as i,b as n,u as o,c as r,f as s,y as t};
@@ -1 +0,0 @@
1
- import{o as e,r as t}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as n,f as r,l as i,r as a,t as o,u as s}from"./vendor-react-DR370ovB.js";import{f as c,m as l}from"./infrastructure-CJNwTVno.js";import{A as u,B as d,O as f,d as p,m,p as h,r as g,ut as _,x as v}from"./framework-BLEk-ou3.js";import{Es as y,H as b,R as x,Wo as S,gc as ee,z as C}from"./ui-components-NS_7__gn.js";import{r as w}from"./vendor-ui-utils-rQOI1gAo.js";import{n as te}from"./RecentItemsProvider-B76qldBH.js";import{i as ne,n as re,t as ie}from"./useActionModal-BE61500N.js";import{r as ae,t as oe}from"./utils-29quoGQV.js";import{n as se,t as ce}from"./MetadataInspector-CACgSTc7.js";import{n as le,o as ue,r as de,s as fe}from"./plugins-views-B-EGcBP2.js";import{t as pe}from"./ManagedByBadge-Bmg77Q4v.js";import{t as me}from"./skeletons-BK7w4pLE.js";import{a as he,i as ge,n as _e,r as ve,t as ye}from"./resolveActionParams-B_7wSkli.js";var T=e(n(),1),E=o(),be=(0,T.createContext)(void 0);function D({children:e}){let[t,n]=(0,T.useState)(`home`),[r,i]=(0,T.useState)(),[a,o]=(0,T.useState)(),s=(0,T.useMemo)(()=>({context:t,setContext:n,currentAppName:r,setCurrentAppName:i,recordTitle:a,setRecordTitle:o}),[t,r,a]);return(0,E.jsx)(be.Provider,{value:s,children:e})}function O(){return(0,T.useContext)(be)||{context:`app`,setContext:()=>{},currentAppName:void 0,setCurrentAppName:()=>{},recordTitle:void 0,setRecordTitle:()=>{}}}function xe(e){let{setRecordTitle:t}=O();(0,T.useEffect)(()=>(t(e),()=>t(void 0)),[e,t])}function k(e){let{url:t,channel:n,autoReconnect:r=!0,reconnectInterval:i=1e3,maxReconnectAttempts:a=10,authToken:o}=e,[s,c]=(0,T.useState)(`disconnected`),[l,u]=(0,T.useState)(null),[d,f]=(0,T.useState)([]),[p,m]=(0,T.useState)(null),h=(0,T.useRef)(null),g=(0,T.useRef)(0),_=(0,T.useRef)(null),v=(0,T.useRef)(new Map),y=(0,T.useRef)([]),b=(0,T.useRef)(!0),x=(0,T.useRef)(!1),S=(0,T.useCallback)(()=>{_.current!==null&&(clearTimeout(_.current),_.current=null)},[]),ee=(0,T.useCallback)(e=>{for(;y.current.length>0;){let t=y.current.shift(),r={type:t.type,channel:n,data:t.data,timestamp:new Date().toISOString()};e.send(JSON.stringify(r))}},[n]),C=(0,T.useCallback)(()=>{if(typeof WebSocket>`u`){m(Error(`WebSocket is not available in this environment`)),c(`error`);return}if(!t){m(Error(`WebSocket URL is required`)),c(`error`);return}try{let e=new URL(t);if(e.protocol!==`ws:`&&e.protocol!==`wss:`){m(Error(`WebSocket URL must use ws: or wss: protocol`)),c(`error`);return}}catch{m(Error(`Invalid WebSocket URL`)),c(`error`);return}h.current&&=(x.current=!0,h.current.close(),null),x.current=!1,c(`connecting`),m(null);let e=o?`${t}?token=${encodeURIComponent(o)}&channel=${encodeURIComponent(n)}`:`${t}?channel=${encodeURIComponent(n)}`,s;try{s=new WebSocket(e)}catch(e){if(!b.current)return;m(e instanceof Error?e:Error(`Failed to create WebSocket connection`)),c(`error`);return}h.current=s,s.onopen=()=>{b.current&&(c(`connected`),m(null),g.current=0,ee(s))},s.onmessage=e=>{if(b.current)try{let t=JSON.parse(String(e.data));if(t.channel!==n)return;u(t),f(e=>[...e,t]);let r=v.current.get(t.type);r&&r.forEach(e=>e(t.data))}catch{}},s.onerror=()=>{b.current&&(m(Error(`WebSocket connection error`)),c(`error`))},s.onclose=()=>{if(b.current){if(h.current=null,x.current){c(`disconnected`);return}if(r&&g.current<a){c(`reconnecting`);let e=Math.min(i*2**g.current,3e4);g.current+=1,_.current=setTimeout(()=>{b.current&&C()},e)}else c(`disconnected`)}}},[t,n,o,r,i,a,ee]),w=(0,T.useCallback)(()=>{S(),x.current=!0,g.current=0,h.current&&=(h.current.close(),null),c(`disconnected`)},[S]),te=(0,T.useCallback)(()=>{S(),g.current=0,C()},[C,S]),ne=(0,T.useCallback)((e,t)=>{let r=h.current;if(r&&r.readyState===WebSocket.OPEN){let i={type:e,channel:n,data:t,timestamp:new Date().toISOString()};r.send(JSON.stringify(i))}else y.current.push({type:e,data:t})},[n]),re=(0,T.useCallback)((e,t)=>(v.current.has(e)||v.current.set(e,new Set),v.current.get(e).add(t),()=>{let n=v.current.get(e);n&&(n.delete(t),n.size===0&&v.current.delete(e))}),[]);return(0,T.useEffect)(()=>(b.current=!0,t&&C(),()=>{b.current=!1,S(),x.current=!0,h.current&&=(h.current.close(),null)}),[t,n,o]),{connectionState:s,isConnected:s===`connected`,lastMessage:l,messages:d,send:ne,subscribe:re,disconnect:w,reconnect:te,error:p}}var A=0;function Se(){return A+=1,`conflict-${Date.now()}-${A}`}var j=0;function M(){return j+=1,`ver-${Date.now()}-${j}`}function N(e,t,n){let[r,i]=(0,T.useState)([]),[a,o]=(0,T.useState)([]);return{versions:r,currentVersion:(0,T.useMemo)(()=>r.length===0?0:r[r.length-1].version,[r]),conflicts:a,hasConflicts:a.length>0,recordVersion:(0,T.useCallback)((n,r)=>{i(i=>{let a=i.length===0?1:i[i.length-1].version+1,o={id:M(),version:a,timestamp:new Date().toISOString(),userId:e,userName:t,changes:n,message:r};return[...i,o]})},[e,t]),resolveConflict:(0,T.useCallback)((n,r,a)=>{o(o=>{let s=o.find(e=>e.id===n);if(!s)return o;let c;switch(r){case`local`:c=s.localValue;break;case`remote`:c=s.remoteValue;break;case`merge`:c=a??s.localValue;break}return i(n=>{let i=n.length===0?1:n[n.length-1].version+1,a={id:M(),version:i,timestamp:new Date().toISOString(),userId:e,userName:t,changes:{[s.field]:{before:s.baseValue,after:c}},message:`Resolved conflict on "${s.field}" using ${r} strategy`};return[...n,a]}),o.filter(e=>e.id!==n)})},[e,t]),resolveAllConflicts:(0,T.useCallback)(n=>{o(r=>{if(r.length===0)return r;let a={};for(let e of r)a[e.field]={before:e.baseValue,after:n===`local`?e.localValue:e.remoteValue};return i(r=>{let i=r.length===0?1:r[r.length-1].version+1,o={id:M(),version:i,timestamp:new Date().toISOString(),userId:e,userName:t,changes:a,message:`Resolved all conflicts using ${n} strategy`};return[...r,o]}),[]})},[e,t]),revertToVersion:(0,T.useCallback)(n=>{let a=r.findIndex(e=>e.id===n);if(a===-1)return null;let o={};for(let e=0;e<=a;e++){let t=r[e];for(let[e,n]of Object.entries(t.changes))o[e]=n.after}let s={},c={};for(let e of r)for(let[t,n]of Object.entries(e.changes))c[t]=n.after;for(let[e,t]of Object.entries(o))c[e]!==t&&(s[e]={before:c[e],after:t});return Object.keys(s).length>0&&i(n=>{let i=n.length===0?1:n[n.length-1].version+1,o={id:M(),version:i,timestamp:new Date().toISOString(),userId:e,userName:t,changes:s,message:`Reverted to version ${r[a].version}`};return[...n,o]}),o},[r,e,t]),compareVersions:(0,T.useCallback)((e,t)=>{let n=r.findIndex(t=>t.id===e),i=r.findIndex(e=>e.id===t);if(n===-1||i===-1)return null;let[a,o]=n<i?[n,i]:[i,n],s=e=>{let t={};for(let n=0;n<=e;n++)for(let[e,i]of Object.entries(r[n].changes))t[e]=i.after;return t},c=s(a),l=s(o),u=new Set([...Object.keys(c),...Object.keys(l)]),d={};for(let e of u){let t=c[e],n=l[e];t!==n&&(d[e]={before:t,after:n})}return d},[r]),addConflict:(0,T.useCallback)(e=>{let t={...e,id:Se()};o(e=>[...e,t])},[]),clearHistory:(0,T.useCallback)(()=>{i([]),o([])},[])}}var P={sm:24,md:32,lg:40},F={active:`#22c55e`,idle:`#f59e0b`,away:`#94a3b8`};function Ce(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function we({users:e,maxVisible:t=5,size:n=`md`,showStatus:r=!0,className:i}){let a=P[n],o=Math.round(a*.3),s=Math.round(a*.35),c=Math.max(8,Math.round(a*.28)),l=(0,T.useMemo)(()=>e.slice(0,t),[e,t]),u=Math.max(0,e.length-t),d={display:`inline-flex`,alignItems:`center`,flexDirection:`row-reverse`,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`},f={width:`${a}px`,height:`${a}px`,borderRadius:`50%`,border:`2px solid #fff`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`${s}px`,fontWeight:600,color:`#fff`,position:`relative`,flexShrink:0,overflow:`hidden`,boxSizing:`border-box`},p={...f,backgroundColor:`#e2e8f0`,color:`#475569`,marginLeft:`-${o}px`},m={position:`absolute`,bottom:`-1px`,right:`-1px`,width:`${c}px`,height:`${c}px`,borderRadius:`50%`,border:`2px solid #fff`,boxSizing:`border-box`},h=(0,T.useMemo)(()=>[...l].reverse(),[l]);return T.createElement(`div`,{style:d,className:i,role:`group`,"aria-label":`${e.length} user${e.length===1?``:`s`} present`},u>0&&T.createElement(`div`,{key:`overflow`,style:p,title:`${u} more user${u===1?``:`s`}`},`+${u}`),h.map((e,t)=>T.createElement(`div`,{key:e.userId,style:{...f,backgroundColor:e.color,marginLeft:t>0||u>0?`-${o}px`:`0`},title:`${e.userName} (${e.status})`},e.avatar?T.createElement(`img`,{src:e.avatar,alt:e.userName,style:{width:`100%`,height:`100%`,objectFit:`cover`}}):Ce(e.userName),r&&T.createElement(`span`,{style:{...m,backgroundColor:F[e.status]}}))))}var Te=T.createContext({});function Ee(){let e=T.useContext(Te),[t,n]=T.useState([]);return T.useEffect(()=>{if(!e.subscribeTenant){n([]);return}return e.subscribeTenant(e=>{n(Array.isArray(e)?e:[])})},[e]),t}function De(e,t){let n=T.useContext(Te),[r,i]=T.useState([]);return T.useEffect(()=>{if(!n.subscribeRecord||!e||!t){i([]);return}return n.subscribeRecord({objectName:e,recordId:t},e=>{i(Array.isArray(e)?e:[])})},[n,e,t]),r}var Oe={platform:{create:!0,import:!0,edit:!0,delete:!0,exportCsv:!0},config:{create:!0,import:!1,edit:!0,delete:!0,exportCsv:!0},system:{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0},"append-only":{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0},"better-auth":{create:!1,import:!1,edit:!1,delete:!1,exportCsv:!0}};function ke(e){let t=Oe[e?.managedBy??`platform`]??Oe.platform,n=e?.userActions??{};return{create:n.create??t.create,import:n.import??t.import,edit:n.edit??t.edit,delete:n.delete??t.delete,exportCsv:n.exportCsv??t.exportCsv}}var Ae=new Set([`record:discussion`,`record:chatter`]);function je(e){let t=new WeakSet,n=e=>{if(!e||typeof e!=`object`||t.has(e))return!1;if(t.add(e),Array.isArray(e))return e.some(n);let r=e?.type;return typeof r==`string`&&Ae.has(r)?!0:[e.children,e.items,e.body,e.components,e.properties?.children,e.properties?.items,e.regions].some(n)};return n(e)}var Me=t({RecordDetailView:()=>Re}),Ne={id:`current-user`,name:`Demo User`},Pe=new Set([`created_at`,`created_by`,`updated_at`,`updated_by`]),Fe=new Set([`organization_id`,`tenant_id`,`is_deleted`,`deleted_at`]),I=[`description`,`notes`,`note`,`remark`,`remarks`,`comments`],Ie=new Set([`textarea`,`markdown`,`html`,`rich-text`,`json`,`code`]);function Le(e,t){if(Ie.has(t?.type))return!0;let n=e.toLowerCase();return I.some(e=>n===e||n.endsWith(`_${e}`))}function Re({dataSource:e,objects:t,onEdit:n,objectNameOverride:o,recordIdOverride:be,embedded:D}){let O=r(),k=O.appName,A=o??O.objectName,Se=be??O.recordId,{showDebug:j}=se(),{user:M}=c(),N=s(),P=i().state?.from,{t:F}=g(),{objectLabel:Ce,viewLabel:Te,sectionLabel:Ee,actionLabel:Oe,actionConfirm:Ae,actionSuccess:Me,actionParamText:I,actionParamOptionLabel:Ie,actionDescription:Re,fieldLabel:ze,fieldOptionLabel:Be}=ee(),{isFavorite:Ve,toggleFavorite:He,refreshLabel:Ue}=ne(),{addRecentItem:We}=te(),[Ge,Ke]=(0,T.useState)(!0),[qe,L]=(0,T.useState)([]),[R,Je]=(0,T.useState)([]),[Ye,z]=(0,T.useState)(0),[Xe,B]=(0,T.useState)(null),[Ze,Qe]=(0,T.useState)({}),[$e,et]=(0,T.useState)(null),[tt,nt]=(0,T.useState)(!1),[V,rt]=(0,T.useState)(),H=t.find(e=>e.name===A);xe(D?void 0:V);let U=Se,it=De(A,U),W=(0,T.useMemo)(()=>!A||!U?null:{id:`record:${A}:${U}`,label:V||U||``,href:`/apps/${k}/${A}/record/${U}`,type:`record`},[k,A,U,V]),at=W?Ve(W.id):!1,ot=(0,T.useCallback)(()=>{W&&He(W)},[W,He]),{page:st,slots:G}=v(A),ct=(0,T.useMemo)(()=>{if(typeof window<`u`)try{let e=new URLSearchParams(window.location.search).get(`renderViaSchema`);if(e===`0`||e===`false`)return!1;if(e===`1`||e===`true`)return!0}catch{}return H?.detail?.renderViaSchema!==!1},[H]),lt=(0,T.useMemo)(()=>st||!H||!ct&&!G?null:le(H,G?{slots:G}:void 0),[ct,st,G,H]),K=st||lt,[q,ut]=(0,T.useState)(null),[dt,J]=(0,T.useState)(`idle`);(0,T.useEffect)(()=>{let t=!1;if(!K||!U||!A||!e?.findOne){ut(null),J(`idle`);return}let n=_(H?.fields),r=n.length>0?{$expand:n}:void 0,i=()=>{J(`loading`),(r?e.findOne(A,U,r):e.findOne(A,U)).then(e=>{t||(e&&typeof e==`object`?(ut(e),J(`loaded`)):(ut(null),J(`missing`)))}).catch(()=>{t||(ut(null),J(`missing`))})};i();let a=e=>{let t=e.detail||{};t.objectName!==A||String(t.recordId)!==String(U)||i()};return window.addEventListener(`objectui:record-changed`,a),()=>{t=!0,window.removeEventListener(`objectui:record-changed`,a)}},[K,A,U,e,H]),(0,T.useEffect)(()=>{if(!q||typeof q!=`object`||!H)return;let e=oe(H,q);e&&e!==`Untitled`&&e!==V&&rt(e)},[q,H,V]),(0,T.useEffect)(()=>{if(!A||!U||!k||!V)return;let e=`record:${A}:${U}`;We({id:e,label:V,href:`/apps/${k}/${A}/record/${U}`,type:`record`}),Ue(e,V)},[k,A,U,V,We,Ue]);let[ft,pt]=(0,T.useState)({open:!1,message:``}),[mt,ht]=(0,T.useState)({open:!1,params:[]}),[gt,_t]=(0,T.useState)({open:!1}),vt=(0,T.useCallback)((e,t)=>new Promise(n=>{_t({open:!0,spec:e,data:t,resolve:n})}),[]),yt=(0,T.useCallback)((e,t)=>new Promise(n=>{pt({open:!0,message:e,options:t,resolve:n})}),[]),bt=(0,T.useCallback)((e,n)=>new Promise(r=>{let i=ye(e,{objectName:A||H?.name||``,objects:t||[],fieldLabel:ze,fieldOptionLabel:Be}),a=A||H?.name;ht({open:!0,params:i.map(e=>({...e,label:I(a,n?.name,e.name,`label`,e.label)??e.label,placeholder:I(a,n?.name,e.name,`placeholder`,e.placeholder)??e.placeholder,helpText:I(a,n?.name,e.name,`helpText`,e.helpText)??e.helpText,options:Array.isArray(e.options)?e.options.map(t=>({...t,label:Ie(a,n?.name,e.name,t.value,t.label)})):e.options})),title:n?.label||n?.title,description:Re(a,n?.name,n?.description),resolve:r})}),[A,H,t,ze,Be,I,Ie]),xt=u({dataSource:e,onUndo:()=>{z(e=>e+1),w.success(`Change undone`)}}),St=(0,T.useCallback)((e,t)=>{if(t?.type===`error`){w.error(e);return}if(t?.undo){w.success(e,{duration:t.duration,action:{label:t.undo.label||`Undo`,onClick:()=>{xt.undo()}}});return}w.success(e,{duration:t?.duration})},[xt]),Ct=(0,T.useCallback)((e,t)=>{t?.external||t?.newTab?window.open(e,`_blank`,`noopener,noreferrer`):N(e)},[N]),wt=(0,T.useCallback)(async t=>{try{let n=t.target||t.name,r={...t.params||{}};delete r._rowRecord;let i;switch(n){case`opportunity_change_stage`:await e.update(A,U,{stage:r.new_stage});break;case`opportunity_mark_won`:await e.update(A,U,{stage:`closed_won`});break;case`opportunity_mark_lost`:await e.update(A,U,{stage:`closed_lost`,loss_reason:r.loss_reason});break;default:if(Object.keys(r).length>0){if(t.undoable&&q&&A&&U){let e={};for(let t of Object.keys(r))e[t]=q[t]??null;i={id:`undo-${A}-${U}-${Date.now()}`,type:`update`,objectName:A,recordId:String(U),timestamp:Date.now(),description:t.label||`Undo ${A}`,undoData:e,redoData:{...r}}}await e.update(A,U,r)}break}let a=t.refreshAfter===!0;return(a||i)&&z(e=>e+1),{success:!0,reload:a,undo:i}}catch(e){return{success:!1,error:e.message}}},[e,A,U,q]),{modalHandler:Tt,modalElement:Et}=ie(e),Y=(0,T.useMemo)(()=>l(),[]),Dt=(0,T.useCallback)(async e=>{let t=e.target||e.name;if(!t)return{success:!1,error:`No flow target provided for flow action`};try{let n=await Y(`/api/v1/automation/${encodeURIComponent(t)}/trigger`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({recordId:U,objectName:A,params:e.params??{}})}),r=await n.json().catch(()=>null);if(!n.ok||r&&r.success===!1)return{success:!1,error:r?.error||`Flow "${t}" failed (HTTP ${n.status})`};let i=r?.data??{};if(i.status===`paused`&&i.screen)return B({flowName:t,runId:i.runId,screen:i.screen}),{success:!0,silent:!0};let a=e.refreshAfter!==!1;return a&&z(e=>e+1),{success:!0,data:r?.data,reload:a}}catch(e){return{success:!1,error:e.message}}},[Y,U,A]),Ot=(0,T.useRef)(new Set),kt=(0,T.useCallback)(async e=>{let t=e.target||e.name;if(!t)return{success:!1,error:`No action target provided`};let n=e.params&&!Array.isArray(e.params)?e.params:{},r=`${t}:${U??``}`;if(Ot.current.has(r))return{success:!1,error:`Action already in progress`};Ot.current.add(r);let i=null;if(e.opensInNewTab)try{i=window.open(`about:blank`,`_blank`),i&&(i.document.write(`<!doctype html><meta charset="utf-8"><title>正在打开… Opening…</title><body style="margin:0;font-family:system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:#4b5563"><div style="width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:s .8s linear infinite"></div><div>正在为你打开环境…</div><style>@keyframes s{to{transform:rotate(360deg)}}</style></body>`),i.document.close())}catch{i=null}try{let r=typeof e.newTabUrl==`string`?e.newTabUrl:``;if(e.opensInNewTab&&r){if(U==null){if(i)try{i.close()}catch{}return{success:!1,error:`This action runs on a single record — no record id available.`}}let t=`${window.location.origin}${r.replace(`{recordId}`,encodeURIComponent(String(U)))}`;if(i)try{i.location.href=t}catch{try{i.close()}catch{}window.location.href=t}else{let e=null;try{e=window.open(t,`_blank`)}catch{e=null}e||w(`浏览器拦截了弹窗 / Popup blocked`,{description:`点击在新标签页打开环境`,action:{label:`打开环境`,onClick:()=>{try{window.open(t,`_blank`)}catch{window.location.href=t}}},duration:1e4})}return e.refreshAfter===!0&&z(e=>e+1),{success:!0}}let a=e.objectName||A||`global`,o=await Y(`/api/v1/actions/${encodeURIComponent(a)}/${encodeURIComponent(t)}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({recordId:U,params:n})}),s=await o.json().catch(()=>null),c=s?.data,l=c&&typeof c==`object`&&c.success===!1;if(!o.ok||s&&s.success===!1||l){let e=l&&c.error||s?.error||`Action "${t}" failed (HTTP ${o.status})`;if(i)try{i.close()}catch{}return w.error(e),{success:!1,error:e}}let u=e.refreshAfter!==!1;u&&z(e=>e+1);let d=s?.data;if(d&&typeof d==`object`&&typeof d.redirectUrl==`string`){let e=d.redirectUrl;if(i)try{i.location.href=e}catch{try{i.close()}catch{}window.location.href=e}else{let t=null;try{t=window.open(e,`_blank`)}catch{t=null}t||w(`浏览器拦截了弹窗 / Popup blocked`,{description:`点击在新标签页打开环境`,action:{label:`打开环境`,onClick:()=>{try{window.open(e,`_blank`)}catch{window.location.href=e}}},duration:1e4})}}else if(i)try{i.close()}catch{}return{success:!0,data:d,reload:u}}catch(e){if(i)try{i.close()}catch{}let t=e.message;return w.error(t),{success:!1,error:t}}finally{Ot.current.delete(r)}},[Y,U,A]),X=re(A,U,M?.id),At=(0,T.useRef)(X);At.current=X;let jt=(0,T.useCallback)(async e=>{let t=e.target||e.name,n=e.params&&!Array.isArray(e.params)?e.params:{};try{if(t===`approve_request`)await At.current.approve({comment:n.comment});else if(t===`reject_request`)await At.current.reject({comment:n.comment});else return{success:!1,error:`Unknown approval target: ${t}`};return z(e=>e+1),{success:!0,reload:!0}}catch(e){return{success:!1,error:e?.message||String(e)}}},[]),Mt=(0,T.useMemo)(()=>ae(H,t),[H,t]);(0,T.useEffect)(()=>{if(K||!e||!U||Mt.length===0)return;let t=!1;return Promise.all(Mt.map(({childObject:t,referenceField:n})=>e.find(t,{$filter:{[n]:U}}).then(e=>({childObject:t,items:Array.isArray(e)?e:e?.data||[]})).catch(e=>(console.warn(`[RecordDetailView] Failed to fetch related ${t}:`,e),{childObject:t,items:[]})))).then(e=>{if(t)return;let n={};for(let{childObject:t,items:r}of e)n[t]=r;Qe(n)}),()=>{t=!0}},[e,U,Mt,H,K]);let Z=(0,T.useMemo)(()=>!H||H.name===`sys_audit_log`||H.enable?.trackHistory!==!0?!1:t.some(e=>e.name===`sys_audit_log`),[H,t]);(0,T.useEffect)(()=>{if(!e||!U||!H||!Z){et(null);return}let t=!1;return nt(!0),e.find(`sys_audit_log`,{$filter:{record_id:U,object_name:H.name},$orderby:{created_at:`desc`},$top:50,$select:[`id`,`created_at`,`action`,`user_id`,`old_value`,`new_value`]}).then(async n=>{if(t)return;let r=Array.isArray(n)?n:n?.data||[],i=Array.from(new Set(r.map(e=>e?.user_id).filter(e=>typeof e==`string`&&e.length>0))),a=new Map;if(i.length>0)try{let t=await e.find(`sys_user`,{$filter:{id:{$in:i}},$top:i.length,$select:[`id`,`name`,`email`,`image`]}),n=Array.isArray(t)?t:t?.data||[];a=new Map(n.map(e=>[e.id,{name:e.name||e.email||null,image:e.image||null}]))}catch(e){console.warn(`[RecordDetailView] Failed to resolve audit user names:`,e)}let o={};for(let[e,t]of Object.entries(H.fields||{}))t?.label&&(o[e]=t.label);let s=e=>{if(!e)return null;if(typeof e==`object`)return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return null}return null};et(r.map(e=>{let t=e?.user_id?a.get(e.user_id):void 0,n=s(e?.old_value)||{},r=s(e?.new_value)||{},i=new Set([...Object.keys(n),...Object.keys(r)]),c=Array.from(i).filter(e=>JSON.stringify(n[e])!==JSON.stringify(r[e])).map(e=>({field:e,label:o[e]||e,from:n[e],to:r[e]}));return{...e,user_name:t?.name??null,user_avatar:t?.image??null,changes:c.length>0?c:void 0}}))}).catch(e=>{t||(console.warn(`[RecordDetailView] Failed to fetch sys_audit_log:`,e),et([]))}).finally(()=>{t||nt(!1)}),()=>{t=!0}},[e,U,H,Z]),(0,T.useEffect)(()=>{if(!e)return;let t=!1,n=M?[{id:String(M.id),label:M.name||M.email||String(M.id),avatarUrl:M.image||void 0}]:[];return(async()=>{try{let r=await e.find(`sys_user`,{$top:50,$select:[`id`,`name`,`email`,`image`]});if(t)return;let i=(Array.isArray(r)?r:r?.data||[]).map(e=>({id:String(e.id),label:e.name||e.email||String(e.id),avatarUrl:e.image||void 0})).filter(e=>e.label),a=new Set(n.map(e=>e.id)),o=[...n,...i.filter(e=>!a.has(e.id))];Je(o.length>0?o:n)}catch{if(t)return;Je(n)}})(),()=>{t=!0}},[e,M?.id,M?.name,M?.email]);let Q=(0,T.useMemo)(()=>M?{id:M.id,name:M.name,avatar:M.image}:Ne,[M?.id,M?.name,M?.image]);(0,T.useEffect)(()=>{if(!e||!A||!U)return;let t=`${A}:${U}`,n=e=>{if(!e)return;let t;if(typeof e==`string`)try{t=JSON.parse(e)}catch{return}else typeof e==`object`&&(t=e);if(t)return Object.entries(t).map(([e,t])=>({emoji:e,count:Array.isArray(t)?t.length:0,reacted:Array.isArray(t)&&t.includes(Q.id)}))};e.find(`sys_comment`,{$filter:{thread_id:t},$orderby:{created_at:`asc`}}).then(e=>{if(!e?.data?.length)return;let t=e.data.map(e=>({id:e.id,type:`comment`,actor:e.author_name??`Unknown`,actorAvatarUrl:e.author_avatar_url??void 0,body:e.body??``,createdAt:e.created_at,updatedAt:e.updated_at,parentId:e.parent_id??void 0,reactions:n(e.reactions)}));L(e=>{let n=new Map;for(let r of[...e,...t])n.set(String(r.id),r);return Array.from(n.values()).sort((e,t)=>(e.createdAt?Date.parse(e.createdAt):0)-(t.createdAt?Date.parse(t.createdAt):0))})}).catch(()=>{});let r={created:`field_change`,updated:`field_change`,deleted:`field_change`,assigned:`field_change`,shared:`field_change`,system:`system`,completed:`task`,commented:void 0,mentioned:void 0,login:void 0,logout:void 0};e.find(`sys_activity`,{$filter:{object_name:A,record_id:U},$orderby:{timestamp:`asc`},$top:200}).then(e=>{if(!e?.data?.length)return;let t=[];for(let n of e.data){let e=r[n.type];if(!e)continue;let i=n.timestamp;(!i||i===`NOW()`||Number.isNaN(Date.parse(i)))&&(i=n.created_at),t.push({id:n.id,type:e,actor:n.actor_name??`System`,actorAvatarUrl:n.actor_avatar_url??void 0,body:n.summary??``,createdAt:i,sourceObject:n.source_object??void 0,sourceId:n.source_id??void 0})}t.length&&L(e=>{let n=new Map;for(let r of[...e,...t])n.set(String(r.id),r);return Array.from(n.values()).sort((e,t)=>(e.createdAt?Date.parse(e.createdAt):0)-(t.createdAt?Date.parse(t.createdAt):0))})}).catch(()=>{})},[e,A,U,Q]);let Nt=(0,T.useCallback)(async t=>{let n={id:crypto.randomUUID(),type:`comment`,actor:Q.name,actorAvatarUrl:`avatar`in Q?Q.avatar:void 0,body:t,createdAt:new Date().toISOString()};if(L(e=>[...e,n]),e){let r=`${A}:${U}`,i=de(t,R);e.create(`sys_comment`,{id:n.id,thread_id:r,author_id:Q.id,author_name:Q.name,author_avatar_url:`avatar`in Q?Q.avatar:void 0,body:t,mentions:JSON.stringify(i),created_at:n.createdAt}).catch(()=>{})}},[Q,e,A,U,R]),Pt=(0,T.useCallback)(async(t,n)=>{let r={id:crypto.randomUUID(),type:`comment`,actor:Q.name,actorAvatarUrl:`avatar`in Q?Q.avatar:void 0,body:n,createdAt:new Date().toISOString(),parentId:t};if(L(e=>[...e,r].map(e=>e.id===t?{...e,replyCount:(e.replyCount??0)+1}:e)),e){let i=`${A}:${U}`,a=de(n,R);e.create(`sys_comment`,{id:r.id,thread_id:i,author_id:Q.id,author_name:Q.name,author_avatar_url:`avatar`in Q?Q.avatar:void 0,body:n,mentions:JSON.stringify(a),created_at:r.createdAt,parent_id:t}).catch(()=>{})}},[Q,e,A,U,R]),Ft=(0,T.useCallback)((t,n)=>{L(r=>r.map(r=>{if(r.id!==t)return r;let i=[...r.reactions??[]],a=i.findIndex(e=>e.emoji===n);if(a>=0){let e=i[a];e.reacted?e.count<=1?i.splice(a,1):i[a]={...e,count:e.count-1,reacted:!1}:i[a]={...e,count:e.count+1,reacted:!0}}else i.push({emoji:n,count:1,reacted:!0});let o={...r,reactions:i};if(e){let n=Q.id,r={};for(let e of i){let t=[];for(e.reacted&&t.push(n);t.length<e.count;)t.push(`__other__`);r[e.emoji]=t}e.update(`sys_comment`,String(t),{reactions:JSON.stringify(r)}).catch(()=>{})}return o}))},[Q.id,e]);(0,T.useEffect)(()=>{Ke(!0),queueMicrotask(()=>Ke(!1))},[A,Se]);let $=(0,T.useMemo)(()=>{if(!H)return{type:`detail-view`};let n=H.primaryField||Object.keys(H.fields||{}).find(e=>e===`name`||e===`title`),r=H.views?.form?.sections,i=r&&r.length>0?r.map(e=>({title:e.name?Ee(H.name,e.name,e.title||e.name):e.title,collapsible:e.collapsible,defaultCollapsed:e.defaultCollapsed,fields:(e.fields||[]).filter(e=>{let t=typeof e==`string`?e:e.name;return!H.fields?.[t]?.hidden}).map(e=>{let t=typeof e==`string`?e:e.name,n=H.fields[t];if(!n)return console.warn(`[RecordDetailView] Field "${t}" not found in ${H.name} definition`),{name:t,label:t};let r=n.reference_to||n.reference;return{name:t,label:n.label||t,type:n.type||`text`,...n.options&&{options:n.options},...r&&{reference_to:r},...n.reference_field&&{reference_field:n.reference_field},...n.currency&&{currency:n.currency}}})})):(()=>{let e=Object.keys(H.fields||{}).filter(e=>!Pe.has(e)&&!Fe.has(e)&&!H.fields[e]?.hidden),t=e=>{let t=H.fields[e],n=t.reference_to||t.reference;return{name:e,label:t.label||e,type:t.type||`text`,...t.options&&{options:t.options},...n&&{reference_to:n},...t.reference_field&&{reference_field:t.reference_field},...t.currency&&{currency:t.currency}}},n=e.filter(e=>!Le(e,H.fields[e])),r=e.filter(e=>Le(e,H.fields[e]));return r.length===0||n.length===0?[{showBorder:!1,fields:e.map(t)}]:[{showBorder:!1,fields:n.map(t)},{name:`details`,title:Ee(H.name,`details`,F(`detail.sectionMoreDetails`,`More details`)),collapsible:!0,defaultCollapsed:!1,showBorder:!0,fields:r.map(t)}]})(),a=(()=>{let e=new Set,t=(H.actions||[]).filter(t=>t.locations?.includes(`record_header`)?t.name?e.has(t.name)?!1:(e.add(t.name),!0):!0:!1).map(e=>({...e,label:Oe(H.name,e.name,e.label||e.name),...e.confirmText!==void 0&&{confirmText:Ae(H.name,e.name,e.confirmText)},...e.successMessage!==void 0&&{successMessage:Me(H.name,e.name,e.successMessage)}}));if(X.available&&X.canDecide){let e={name:`comment`,label:F(`approvals.comment`,{defaultValue:`Comment (optional)`}),type:`text`,multiline:!0};t.push({name:`approve_request`,type:`approval`,target:`approve_request`,label:F(`approvals.approve`,{defaultValue:`Approve`}),icon:`check`,variant:`default`,locations:[`record_header`],refreshAfter:!0,collectParams:[e],successMessage:F(`approvals.approveSuccess`,{defaultValue:`Approved`})}),t.push({name:`reject_request`,type:`approval`,target:`reject_request`,label:F(`approvals.reject`,{defaultValue:`Reject`}),icon:`x`,variant:`destructive`,locations:[`record_header`],refreshAfter:!0,confirmText:F(`approvals.rejectConfirm`,{defaultValue:`Reject this approval request?`}),collectParams:[e],successMessage:F(`approvals.rejectSuccess`,{defaultValue:`Rejected`})})}return t})(),o=H.views?.detail?.highlightFields??[],s=H.views?.detail?.sectionGroups??H.views?.form?.sectionGroups,c=k?`/apps/${k}`:``,l=Mt.map(({childObject:n,childLabel:r,referenceField:i,title:a,columns:o})=>{let s=t.find(e=>e.name===n),l=U||``,u=a||(s?Ce({name:s.name,label:s.label||r}):r),d=()=>{let e=new URLSearchParams({[i]:l}).toString();return`${c}/${n}/new${e?`?${e}`:``}`},f=()=>{let e=new URLSearchParams({[`filter[${i}]`]:l}).toString();return`${c}/${n}${e?`?${e}`:``}`},p=e=>{let t=e?.id||e?._id;return t?`${c}/${n}/record/${encodeURIComponent(String(t))}/edit`:null},m=e=>{let t=e?.id||e?._id;return t?`${c}/${n}/record/${encodeURIComponent(String(t))}`:null},h=c?()=>N(d()):void 0,g=c?()=>N(f()):void 0,_=c?e=>{let t=m(e);t&&N(t)}:void 0,v=c?e=>{let t=p(e);t&&N(t)}:void 0,y=e&&l?async t=>{let r=t?.id||t?._id;if(r)try{await e.delete(n,r),w.success(F(`detail.deleteSuccess`,{defaultValue:`Deleted`})),Qe(e=>({...e,[n]:(e[n]||[]).filter(e=>(e.id||e._id)!==r)}))}catch(e){w.error(e?.message||F(`detail.deleteError`,{defaultValue:`Delete failed`}))}}:void 0;return{title:u,type:`table`,api:n,data:Ze[n]||[],referenceField:i,...Array.isArray(o)&&o.length>0?{columns:o}:{},icon:s?.icon,displayField:s?.displayNameField||(Array.isArray(s?.compactLayout)?s.compactLayout[0]:void 0),onNew:h,onViewAll:g,onRowClick:_,onRowEdit:v,onRowDelete:y}}),u=ke(H);return{type:`detail-view`,objectName:H.name,resourceId:U,showBack:!D,onBack:`history`,showEdit:u.edit,title:H.label,primaryField:n,sections:i,autoTabs:!0,autoDiscoverRelated:!0,...Z&&{history:{entries:$e??[],loading:tt&&$e===null}},...l.length>0&&{related:l},...o.length>0&&{highlightFields:o},...s&&s.length>0&&{sectionGroups:s},...a.length>0&&{actions:[{type:`action:bar`,location:`record_header`,actions:a}]}}},[H?.name,U,Ze,Ye,k,N,e,F,Ce,t,Z,$e,tt,X.available,X.canDecide,X.pendingRequest,X.latestRequest,D]);if(Ge)return(0,E.jsx)(me,{});if(!H)return(0,E.jsx)(`div`,{className:`flex h-full items-center justify-center p-4`,children:(0,E.jsxs)(x,{children:[(0,E.jsx)(`div`,{className:`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted`,children:(0,E.jsx)(S,{className:`h-6 w-6 text-muted-foreground`})}),(0,E.jsx)(b,{children:F(`empty.objectNotFound`)}),(0,E.jsx)(C,{children:F(`empty.objectNotFoundDescription`,{name:A})})]})});if(K&&dt===`missing`)return(0,E.jsx)(`div`,{className:`flex h-full items-center justify-center p-4`,children:(0,E.jsxs)(x,{children:[(0,E.jsx)(`div`,{className:`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted`,children:(0,E.jsx)(S,{className:`h-6 w-6 text-muted-foreground`})}),(0,E.jsx)(b,{children:F(`empty.recordNotFound`,{defaultValue:`Record not found`})}),(0,E.jsx)(C,{children:F(`empty.recordNotFoundDescription`,{defaultValue:`The record you are looking for does not exist or may have been deleted.`})})]})});if(K){let r=K?.disableDiscussion===!0,i=je(K),o=!r&&!i,s=(()=>{let e=$.actions;if(!Array.isArray(e))return[];let t=e.find(e=>Array.isArray(e?.actions))?.actions??e;return Array.isArray(t)?t:[]})(),c=(()=>{let t=ke(H),r=[];return t.edit&&(r.push({name:`sys_inline_edit`,label:F(`detail.editFieldsInline`,{defaultValue:`Edit fields`}),type:`script`,locations:[`record_header`],variant:`outline`,onClick:()=>{window.dispatchEvent(new CustomEvent(`objectui:record:inline-edit-toggle`,{detail:{recordId:U,objectName:A}}))}}),r.push({name:`sys_edit`,label:F(`detail.edit`,{defaultValue:`Edit`}),type:`script`,locations:[`record_header`],variant:`default`,onClick:()=>n({id:U})})),r.push({name:`sys_share`,label:F(`detail.share`,{defaultValue:`Share`}),type:`script`,locations:[`record_header`],variant:`outline`,onClick:async()=>{try{if(navigator.share){await navigator.share({title:document.title,url:window.location.href});return}}catch{return}try{await navigator.clipboard.writeText(window.location.href),w.success(F(`detail.linkCopied`,{defaultValue:`Link copied`}))}catch(e){w.error(F(`detail.linkCopyFailed`,{defaultValue:`Failed to copy link`})+(e?.message?`: ${e.message}`:``))}}}),t.delete&&r.push({name:`sys_delete`,label:F(`detail.delete`,{defaultValue:`Delete`}),type:`script`,locations:[`record_header`],variant:`destructive`,onClick:async()=>{let t=F(`detail.deleteConfirmation`,{defaultValue:`Are you sure you want to delete this record?`});if(window.confirm(t))try{await e.delete(A,U),w.success(F(`detail.deleted`,{defaultValue:`Record deleted`})),N(`${k?`/apps/${k}`:``}/${A}`,{replace:!0})}catch(e){w.error(e?.message||`Delete failed`)}}}),r})(),l=s.length>0?s:void 0,u=Array.isArray($.related)?$.related.filter(e=>e?.api&&e?.referenceField).map(e=>({title:e.title,objectName:e.api,relationshipField:e.referenceField,...Array.isArray(e.columns)?{columns:e.columns}:{},...typeof e.pageSize==`number`?{limit:e.pageSize}:{},...e.icon?{icon:e.icon}:{}})):void 0,g=$.history?{entries:$.history.entries??[],loading:!!$.history.loading,emptyText:$.history.emptyText}:void 0,_=st?K:le(H,{sections:$.sections,highlightFields:Array.isArray($.highlightFields)?$.highlightFields.map(e=>typeof e==`string`?e:e?.name).filter(e=>!!e):void 0,headerActions:l,related:u,history:g,showReferenceRail:H?.detail?.showReferenceRail===!0||void 0,hideReferenceRail:H?.detail?.hideReferenceRail===!0||void 0,hideRelatedTab:H?.detail?.hideRelatedTab===!0||void 0,...G?{slots:G}:{}});return(0,E.jsxs)(`div`,{className:`h-full bg-background overflow-hidden flex flex-col relative`,children:[(0,E.jsxs)(`div`,{className:`absolute top-2 sm:top-4 right-2 sm:right-4 z-50 flex items-center gap-2`,children:[it.length>0&&(0,E.jsx)(we,{users:it,size:`sm`,maxVisible:3,showStatus:!0}),(0,E.jsx)(pe,{managedBy:H?.managedBy})]}),(0,E.jsx)(m,{objectName:A,recordId:U,data:q,objectSchema:H,dataSource:e,embedded:D,headerSystemActions:c,isFavorite:at,onToggleFavorite:W?ot:void 0,children:(0,E.jsx)(h,{children:(0,E.jsx)(p,{items:qe,onAddComment:Nt,onAddReply:Pt,onToggleReaction:Ft,mentionSuggestions:R,children:(0,E.jsxs)(f,{context:{record:q||{},objectName:A,user:Q},onConfirm:yt,onToast:St,onNavigate:Ct,onParamCollection:bt,onResultDialog:vt,onModal:Tt,handlers:{api:wt,flow:Dt,script:kt,approval:jt},children:[(0,E.jsxs)(`div`,{className:`flex-1 overflow-hidden flex flex-row`,children:[(0,E.jsxs)(`div`,{className:`flex-1 overflow-auto p-3 sm:p-4 lg:p-6 scroll-pb-48`,children:[P?.pathname&&P?.label&&(0,E.jsxs)(a,{to:P.pathname,className:`inline-flex items-center gap-1 mb-3 text-sm text-muted-foreground hover:text-foreground transition-colors`,children:[(0,E.jsx)(y,{className:`h-4 w-4`}),(0,E.jsx)(`span`,{children:P.label})]}),(0,E.jsx)(d,{schema:_}),o&&(0,E.jsx)(`div`,{className:`mt-6`,children:(0,E.jsx)(ue,{config:{position:`bottom`,collapsible:!1,feed:{enableReactions:!0,enableThreading:!0,showCommentInput:!0}},items:qe,onAddComment:Nt,onAddReply:Pt,onToggleReaction:Ft,mentionSuggestions:R})})]}),(0,E.jsx)(ce,{open:j,sections:[{title:`Page Schema`,data:_}]})]}),Et]})})})}),(0,E.jsx)(he,{state:ft,onOpenChange:e=>{e||pt(e=>({...e,open:!1}))}}),(0,E.jsx)(ge,{state:mt,onOpenChange:e=>{e||ht(e=>({...e,open:!1}))}}),(0,E.jsx)(ve,{state:gt,onAcknowledge:()=>{gt.resolve?.(),_t({open:!1})}}),(0,E.jsx)(_e,{state:Xe,authFetch:Y,baseUrl:``,dataSource:e,objects:t,onClose:()=>B(null),onComplete:()=>{B(null),z(e=>e+1)}})]})}return(0,E.jsxs)(`div`,{className:`h-full bg-background overflow-hidden flex flex-col relative`,children:[(0,E.jsxs)(`div`,{className:`absolute top-2 sm:top-4 right-2 sm:right-4 z-50 flex items-center gap-2`,children:[it.length>0&&(0,E.jsx)(we,{users:it,size:`sm`,maxVisible:3,showStatus:!0}),(0,E.jsx)(pe,{managedBy:H?.managedBy})]}),(0,E.jsxs)(`div`,{className:`flex-1 overflow-hidden flex flex-row`,children:[(0,E.jsx)(`div`,{className:`flex-1 overflow-auto p-3 sm:p-4 lg:p-6 scroll-pb-48`,children:(0,E.jsxs)(f,{context:{record:{},objectName:A,user:Q},onConfirm:yt,onToast:St,onNavigate:Ct,onParamCollection:bt,onResultDialog:vt,onModal:Tt,handlers:{api:wt,flow:Dt,script:kt,approval:jt},children:[(0,E.jsx)(fe,{schema:$,dataSource:e,objectLabel:Ce({name:H.name,label:H.label}),isFavorite:at,onToggleFavorite:W?ot:void 0,onDataLoaded:e=>{if(!e||typeof e!=`object`)return;let t=oe(H,e);t&&t!==V&&t!==`Untitled`&&rt(t)},onEdit:()=>{n({id:U})},discussionSlot:(0,E.jsx)(ue,{config:{position:`bottom`,collapsible:!1,feed:{enableReactions:!0,enableThreading:!0,showCommentInput:!0}},items:qe,onAddComment:Nt,onAddReply:Pt,onToggleReaction:Ft})},Ye),Et]})}),(0,E.jsx)(ce,{open:j,sections:[{title:`View Schema`,data:$}]})]}),(0,E.jsx)(he,{state:ft,onOpenChange:e=>{e||pt(e=>({...e,open:!1}))}}),(0,E.jsx)(ge,{state:mt,onOpenChange:e=>{e||ht(e=>({...e,open:!1}))}}),(0,E.jsx)(ve,{state:gt,onAcknowledge:()=>{gt.resolve?.(),_t({open:!1})}}),(0,E.jsx)(_e,{state:Xe,authFetch:Y,baseUrl:``,dataSource:e,objects:t,onClose:()=>B(null),onComplete:()=>{B(null),z(e=>e+1)}})]})}export{we as a,D as c,Ee as i,O as l,Me as n,N as o,ke as r,k as s,Re as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as t,t as n}from"./vendor-react-DR370ovB.js";import{R as r,f as i,h as a}from"./vendor-objectstack-BNd856rx.js";import{$n as o,$t as s,Bs as c,Co as l,Da as u,Ea as d,Fa as f,Gs as p,Ho as m,Ia as h,Is as g,Ji as _,Kr as v,Lr as y,Mo as b,Ni as x,Or as ee,Pa as te,Qi as ne,Qo as S,Rs as C,Si as w,Sr as re,Ui as ie,Ur as ae,Xa as oe,Yi as se,Yr as ce,Zi as le,ca as ue,di as de,ec as fe,en as pe,fa as me,hs as he,io as ge,ja as _e,li as ve,ls as ye,ni as be,on as xe,oo as Se,pa as Ce,pi as T,rs as E,si as D,tc as O,tn as k,to as A,wr as we,zi as Te}from"./ui-components-NS_7__gn.js";import{C as j,_ as Ee,a as De,g as M,h as Oe,i as N,m as P,n as ke,r as Ae,t as je,v as F,y as Me}from"./mergeServerFields-CMIOI8QD.js";var I=e(t(),1),L=(e,t,n,r,i)=>({id:e,label:t,labelZh:n,category:r,Icon:i}),R={text:L(`text`,`Text`,`单行文本`,`text`,y),textarea:L(`textarea`,`Text Area`,`多行文本`,`text`,v),email:L(`email`,`Email`,`邮箱`,`text`,fe),url:L(`url`,`URL`,`网址`,`text`,Se),phone:L(`phone`,`Phone`,`电话`,`text`,_),password:L(`password`,`Password`,`密码`,`text`,_e),markdown:L(`markdown`,`Markdown`,`Markdown`,`text`,l),html:L(`html`,`HTML`,`HTML`,`text`,S),richtext:L(`richtext`,`Rich Text`,`富文本`,`text`,ve),number:L(`number`,`Number`,`数字`,`number`,A),currency:L(`currency`,`Currency`,`货币`,`number`,m),percent:L(`percent`,`Percent`,`百分比`,`number`,se),date:L(`date`,`Date`,`日期`,`date`,C),datetime:L(`datetime`,`Date/Time`,`日期时间`,`date`,C),time:L(`time`,`Time`,`时间`,`date`,E),boolean:L(`boolean`,`Checkbox`,`复选框`,`logic`,D),toggle:L(`toggle`,`Toggle`,`开关`,`logic`,ae),select:L(`select`,`Picklist`,`下拉选择`,`selection`,te),multiselect:L(`multiselect`,`Multi-Select`,`多选`,`selection`,f),radio:L(`radio`,`Radio`,`单选`,`selection`,he),checkboxes:L(`checkboxes`,`Checkboxes`,`复选组`,`selection`,f),lookup:L(`lookup`,`Lookup`,`查找关系`,`relation`,h),master_detail:L(`master_detail`,`Master-Detail`,`主从关系`,`relation`,we),tree:L(`tree`,`Tree`,`树形关系`,`relation`,me),image:L(`image`,`Image`,`图片`,`media`,oe),file:L(`file`,`File`,`文件`,`media`,ne),avatar:L(`avatar`,`Avatar`,`头像`,`media`,ye),video:L(`video`,`Video`,`视频`,`media`,ee),audio:L(`audio`,`Audio`,`音频`,`media`,Ce),formula:L(`formula`,`Formula`,`公式`,`calculated`,c),summary:L(`summary`,`Rollup`,`汇总`,`calculated`,T),autonumber:L(`autonumber`,`Auto Number`,`自动编号`,`calculated`,A),composite:L(`composite`,`Composite`,`复合字段`,`advanced`,p),repeater:L(`repeater`,`Repeater`,`重复字段`,`advanced`,x),location:L(`location`,`Location`,`地理坐标`,`advanced`,u),address:L(`address`,`Address`,`地址`,`advanced`,d),code:L(`code`,`Code`,`代码`,`advanced`,S),json:L(`json`,`JSON`,`JSON`,`advanced`,b),color:L(`color`,`Color`,`颜色`,`advanced`,ue),rating:L(`rating`,`Rating`,`评分`,`advanced`,be),slider:L(`slider`,`Slider`,`滑块`,`advanced`,de),signature:L(`signature`,`Signature`,`签名`,`advanced`,le),qrcode:L(`qrcode`,`QR Code`,`二维码`,`advanced`,Te),progress:L(`progress`,`Progress`,`进度条`,`advanced`,g),tags:L(`tags`,`Tags`,`标签`,`advanced`,ce),vector:L(`vector`,`Vector`,`向量`,`advanced`,O)},Ne=[`text`,`number`,`date`,`logic`,`selection`,`relation`,`media`,`calculated`,`advanced`],Pe={text:`Text`,number:`Number`,date:`Date & Time`,logic:`Logic`,selection:`Selection`,relation:`Relation`,media:`Media`,calculated:`Calculated`,advanced:`Advanced`},z={text:{icon:`text-slate-500 dark:text-slate-400`,badge:`border-slate-200 bg-slate-50 text-slate-600 dark:border-slate-700/50 dark:bg-slate-800/40 dark:text-slate-300`},number:{icon:`text-blue-600 dark:text-blue-400`,badge:`border-blue-200 bg-blue-50 text-blue-700 dark:border-blue-800/50 dark:bg-blue-950/40 dark:text-blue-300`},date:{icon:`text-violet-600 dark:text-violet-400`,badge:`border-violet-200 bg-violet-50 text-violet-700 dark:border-violet-800/50 dark:bg-violet-950/40 dark:text-violet-300`},logic:{icon:`text-amber-600 dark:text-amber-400`,badge:`border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-800/50 dark:bg-amber-950/40 dark:text-amber-300`},selection:{icon:`text-teal-600 dark:text-teal-400`,badge:`border-teal-200 bg-teal-50 text-teal-700 dark:border-teal-800/50 dark:bg-teal-950/40 dark:text-teal-300`},relation:{icon:`text-indigo-600 dark:text-indigo-400`,badge:`border-indigo-200 bg-indigo-50 text-indigo-700 dark:border-indigo-800/50 dark:bg-indigo-950/40 dark:text-indigo-300`},media:{icon:`text-pink-600 dark:text-pink-400`,badge:`border-pink-200 bg-pink-50 text-pink-700 dark:border-pink-800/50 dark:bg-pink-950/40 dark:text-pink-300`},calculated:{icon:`text-emerald-600 dark:text-emerald-400`,badge:`border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-800/50 dark:bg-emerald-950/40 dark:text-emerald-300`},advanced:{icon:`text-zinc-500 dark:text-zinc-400`,badge:`border-zinc-200 bg-zinc-50 text-zinc-600 dark:border-zinc-700/50 dark:bg-zinc-800/40 dark:text-zinc-300`}};function Fe(e){return z[B(e).category]}var Ie={text:`文本`,number:`数值`,date:`日期/时间`,logic:`逻辑`,selection:`选择`,relation:`关系`,media:`媒体`,calculated:`计算`,advanced:`高级`},Le=Ne.map(e=>({category:e,types:Object.keys(R).filter(t=>R[t].category===e)}));function B(e){return typeof e==`string`&&e in R?R[e]:{id:`text`,label:typeof e==`string`?e:`unknown`,labelZh:typeof e==`string`?e:`未知`,category:`advanced`,Icon:y}}var V=n(),H=`text/x-objectui-viewcol`;function U({type:e}){let t=B(e),n=Fe(e),r=t.Icon;return(0,V.jsx)(r,{className:`h-3.5 w-3.5 shrink-0 ${n.icon}`})}function W({index:e,label:t,fieldName:n,fieldType:r,selected:i,canEdit:a,dragging:o,dropBefore:s,onSelect:c,onRemove:l,onDragStart:u,onDragEnd:d,onDragOverRow:f,onDropRow:p}){return(0,V.jsxs)(`div`,{className:`relative`,children:[s&&(0,V.jsx)(`span`,{className:`pointer-events-none absolute -top-0.5 left-0 right-0 h-0.5 rounded bg-primary`}),(0,V.jsxs)(`div`,{role:`button`,tabIndex:0,draggable:a,"aria-pressed":i,onDragStart:t=>{a&&(t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(H,String(e)),u())},onDragEnd:d,onDragOver:e=>{!a||!o||e.dataTransfer.types.includes(H)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`,f())},onDrop:e=>{a&&e.dataTransfer.types.includes(H)&&(e.preventDefault(),e.stopPropagation(),p())},onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},className:`group flex items-center gap-2 rounded-md border bg-card px-2 py-1.5 text-xs transition-colors hover:border-primary/40 `+(i?`border-primary ring-1 ring-primary `:`border-border `)+(a?`cursor-grab active:cursor-grabbing`:``),children:[a&&(0,V.jsx)(ge,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/40 group-hover:text-muted-foreground`}),(0,V.jsx)(U,{type:r}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:t}),n&&n!==t&&(0,V.jsx)(`code`,{className:`max-w-[7rem] shrink-0 truncate text-[10px] text-muted-foreground`,children:n}),a&&(0,V.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":`Remove ${t}`,onClick:e=>{e.stopPropagation(),l()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),l())},className:`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded text-muted-foreground/60 hover:bg-destructive/10 hover:text-destructive`,children:(0,V.jsx)(re,{className:`h-3 w-3`})})]})]})}function G({fields:e,usedNames:t,loading:n,error:r,onAdd:i}){let a=I.useMemo(()=>Ae(),[]),[c,l]=I.useState(!1),[u,d]=I.useState(``),f=I.useMemo(()=>{let t=u.trim().toLowerCase();return t?e.filter(e=>e.name.toLowerCase().includes(t)||e.label.toLowerCase().includes(t)):e},[e,u]);return(0,V.jsxs)(s,{open:c,onOpenChange:l,children:[(0,V.jsx)(k,{asChild:!0,children:(0,V.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 rounded-md border border-dashed px-2 py-1 text-xs text-muted-foreground hover:border-primary/40 hover:bg-accent/40 hover:text-foreground`,children:[(0,V.jsx)(ie,{className:`h-3.5 w-3.5`}),` `,N(`engine.form.addFieldPlain`,a)]})}),(0,V.jsxs)(pe,{align:`start`,className:`w-72 p-0`,children:[(0,V.jsxs)(`div`,{className:`relative border-b p-2`,children:[(0,V.jsx)(w,{className:`pointer-events-none absolute left-4 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground`}),(0,V.jsx)(`input`,{autoFocus:!0,value:u,onChange:e=>d(e.target.value),placeholder:N(`engine.form.searchFields`,a),className:`h-8 w-full rounded border border-input bg-background pl-7 pr-2 text-xs outline-none focus:border-primary`})]}),(0,V.jsx)(`div`,{className:`max-h-72 overflow-auto p-1`,children:n?(0,V.jsx)(K,{children:N(`engine.form.loadingFields`,a)}):r?(0,V.jsx)(K,{tone:`warn`,children:De(`engine.form.noObjectFields`,a,{error:r})}):f.length===0?(0,V.jsx)(K,{children:N(u?`engine.form.noMatchingFields`:`engine.form.noFieldsOnObject`,a)}):f.map(e=>{let n=t.has(e.name);return(0,V.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs hover:bg-accent`,children:[(0,V.jsx)(U,{type:e.type}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:e.label}),e.name!==e.label&&(0,V.jsx)(`code`,{className:`max-w-[6rem] truncate text-[10px] text-muted-foreground`,children:e.name}),n&&(0,V.jsx)(o,{variant:`secondary`,className:`px-1 py-0 text-[9px]`,children:N(`engine.form.added`,a)})]},e.name)})})]})]})}function K({children:e,tone:t}){return(0,V.jsx)(`div`,{className:`px-2 py-4 text-center text-[11px] `+(t===`warn`?`text-amber-600 dark:text-amber-300`:`text-muted-foreground`),children:e})}function Re(e,t){if(typeof e==`string`&&e)return e;if(e&&typeof e==`object`){let t=e.default;if(typeof t==`string`&&t)return t}return t}function q(e){let t=typeof e.name==`string`?e.name:``;if(!t)return null;let n=Array.isArray(e.dimensions)?e.dimensions.filter(e=>e&&typeof e.name==`string`&&e.name).map(e=>({name:e.name,type:typeof e.type==`string`?e.type:void 0})):[],r=Array.isArray(e.measures)?e.measures.filter(e=>e&&typeof e.name==`string`&&e.name).map(e=>({name:e.name,aggregate:typeof e.aggregate==`string`?e.aggregate:void 0,certified:e.certified===!0})):[];return{name:t,label:Re(e.label,t),dimensions:n,measures:r}}function ze(e){let t=j(),[n,r]=I.useState({datasets:e??[],loading:!e,error:null});return I.useEffect(()=>{if(e){r({datasets:e,loading:!1,error:null});return}let n=!1;return r(e=>({...e,loading:!0,error:null})),t.list(`dataset`).then(e=>{n||r({datasets:(Array.isArray(e)?e:[]).map(q).filter(e=>e!==null),loading:!1,error:null})}).catch(e=>{n||r({datasets:[],loading:!1,error:e?.message??String(e)})}),()=>{n=!0}},[t,e]),n}function Be(e,t){let n=j(),r=e?t.datasets.find(t=>t.name===e):void 0,i=!!e&&!t.loading&&(!r||r.dimensions.length===0&&r.measures.length===0),[a,o]=I.useState(null);I.useEffect(()=>{if(!i||!e||a?.name===e)return;let t=!1;return n.get(`dataset`,e).then(n=>{t||o({name:e,entry:n?q(n):null,error:n?null:`Dataset not found`})}).catch(n=>{t||o({name:e,entry:null,error:n?.message??String(n)})}),()=>{t=!0}},[n,e,i,a]);let s=i&&a?.name===e?a.entry:r;return{dimensions:s?.dimensions??[],measures:s?.measures??[],loading:t.loading||i&&a?.name!==e,error:(i&&a?.name===e?a.error:null)??t.error}}var Ve={io:`input`,unrepresentable:`any`},He=new Set([`dataset`,`values`,`rows`,`columns`,`name`]),J,Y=!1;function X(){if(J||Y)return J;try{J=r(i,Ve)}catch(e){Y=!0,typeof console<`u`&&console.warn(`[report-schema] failed to derive Report JSONSchema from spec`,e)}return J}var Z;function Ue(){if(Z)return Z;if(!(!a||typeof a!=`object`)){try{let e=JSON.parse(JSON.stringify(a)),t=X()?.properties;for(let n of e.sections??[])n.fields=(n.fields??[]).filter(e=>{let n=typeof e==`string`?e:e?.field;return!(He.has(n)||t&&!(n in t))});if(t&&`runtimeFilter`in t){let t=new Set;for(let n of e.sections??[])for(let e of n.fields??[])t.add(typeof e==`string`?e:e?.field);t.has(`runtimeFilter`)||(e.sections=[...e.sections??[],{label:`Filter`,description:`Render-time scope filter, ANDed at query time.`,collapsible:!0,collapsed:!0,fields:[{field:`runtimeFilter`,widget:`json`}]}])}e.sections=(e.sections??[]).filter(e=>(e.fields??[]).length>0),Z=e}catch(e){typeof console<`u`&&console.warn(`[report-schema] failed to prepare reportForm from spec`,e);return}return Z}}var We=new Set([`type`,`label`,`name`,`dataset`,`values`,`rows`,`columns`]),Ge={tabular:`engine.inspector.report.type.tabular`,summary:`engine.inspector.report.type.summary`,matrix:`engine.inspector.report.type.matrix`,joined:`engine.inspector.report.type.joined`};function Ke(e,t){return I.useMemo(()=>{let n=X()?.properties?.type?.enum,r=(Array.isArray(n)&&n.length?n.filter(e=>typeof e==`string`):[`tabular`,`summary`,`matrix`,`joined`]).map(e=>{let n=Ge[e],r=n?N(n,t):e;return{value:e,label:r===n?e:r}});return!r.some(t=>t.value===e)&&e&&r.push({value:e,label:e}),r},[e,t])}function Q(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function $({label:e,emptyText:t,names:n,options:r,loading:i,error:a,readOnly:s,onCommit:c}){let[l,u]=I.useState(null),[d,f]=I.useState(null),p=I.useMemo(()=>new Set(n),[n]),m=I.useMemo(()=>{let e=new Map;for(let t of r)e.set(t.name,t.type);return e},[r]);return(0,V.jsxs)(`div`,{className:`border-t pt-3 space-y-1.5`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(xe,{className:`text-xs text-muted-foreground`,children:e}),(0,V.jsx)(o,{variant:`outline`,className:`text-[10px]`,children:n.length})]}),n.length===0?(0,V.jsx)(`p`,{className:`rounded-md border border-dashed bg-muted/30 px-3 py-3 text-center text-[11px] text-muted-foreground`,children:t}):(0,V.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>(0,V.jsx)(W,{index:t,label:e,fieldName:e,fieldType:m.get(e)??`number`,selected:!1,canEdit:!s,dragging:l!==null,dropBefore:d===t&&l!==null&&l!==t,onSelect:()=>{},onRemove:()=>c(Me(n,t,null)),onDragStart:()=>u(t),onDragEnd:()=>{u(null),f(null)},onDragOverRow:()=>f(t),onDropRow:()=>{l!=null&&l!==t&&c(F(n,l,t)),u(null),f(null)}},`${e}-${t}`))}),!s&&(0,V.jsx)(G,{fields:r,usedNames:p,loading:i,error:a,onAdd:e=>c(Ee(n,e.name))})]})}function qe({draft:e,onPatch:t,readOnly:n,locale:r,datasetCatalogOverride:i,serverSchema:a}){let o=I.useCallback(e=>N(e,r),[r]),s=typeof e.type==`string`?e.type:`tabular`,c=Ke(s,r),l=typeof e.label==`string`?e.label:``,u=typeof e.dataset==`string`?e.dataset:``,d=I.useMemo(()=>Q(e.values),[e.values]),f=I.useMemo(()=>Q(e.rows),[e.rows]),p=I.useMemo(()=>Q(e.columns),[e.columns]),m=ze(i),h=Be(u||void 0,m),g=I.useMemo(()=>{let e=m.datasets.map(e=>({value:e.name,label:e.label&&e.label!==e.name?`${e.label} (${e.name})`:e.name}));return u&&!e.some(e=>e.value===u)&&e.push({value:u,label:u}),e},[m.datasets,u]),_=I.useMemo(()=>h.measures.map(e=>({name:e.name,label:e.aggregate?`${e.name} · ${e.aggregate}`:e.name,type:`number`,hidden:!1})),[h.measures]),v=I.useMemo(()=>h.dimensions.map(e=>({name:e.name,label:e.name,type:e.type??`text`,hidden:!1})),[h.dimensions]),y=s!==`joined`,{schema:b,form:x}=I.useMemo(()=>je({bundledSchema:X(),bundledForm:Ue(),serverSchema:a,excludeFields:We,sectionTitle:N(`engine.inspector.moreFields`,r)}),[a,r]);return(0,V.jsxs)(Oe,{kindLabel:o(`engine.inspector.report.kind`),title:String(l||e.name||o(`engine.inspector.report.kind`)),onClose:()=>{},closeLabel:o(`engine.inspector.report.close`),hideClose:!0,children:[(0,V.jsx)(M,{label:o(`engine.inspector.report.label`),value:l,onCommit:e=>t({label:e}),placeholder:o(`engine.inspector.report.labelPlaceholder`),disabled:n}),(0,V.jsx)(P,{label:o(`engine.inspector.report.type`),value:s,options:c,onCommit:e=>t({type:e}),disabled:n}),y&&(0,V.jsxs)(V.Fragment,{children:[m.datasets.length>0||u?(0,V.jsx)(P,{label:o(`engine.inspector.report.dataset`),value:u,options:g,onCommit:e=>t({dataset:e}),disabled:n}):(0,V.jsx)(M,{label:o(`engine.inspector.report.dataset`),value:u,onCommit:e=>t({dataset:e}),placeholder:o(`engine.inspector.report.datasetPlaceholder`),disabled:n,mono:!0}),(0,V.jsx)($,{label:o(`engine.inspector.report.values`),emptyText:o(`engine.inspector.report.valuesEmpty`),names:d,options:_,loading:h.loading,error:h.error,readOnly:n,onCommit:e=>t({values:e})}),(0,V.jsx)($,{label:o(`engine.inspector.report.rows`),emptyText:o(`engine.inspector.report.rowsEmpty`),names:f,options:v,loading:h.loading,error:h.error,readOnly:n,onCommit:e=>t({rows:e})}),s===`matrix`&&(0,V.jsx)($,{label:o(`engine.inspector.report.columnsAcross`),emptyText:o(`engine.inspector.report.columnsAcrossEmpty`),names:p,options:v,loading:h.loading,error:h.error,readOnly:n,onCommit:e=>t({columns:e})})]}),(0,V.jsx)(`div`,{className:`border-t pt-3`,children:b?(0,V.jsx)(ke,{schema:b,form:x,value:e,hiddenFields:[`type`,`label`,`name`,`dataset`,`values`,`rows`,`columns`],readOnly:n,onChange:e=>t(e)}):(0,V.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:o(`engine.inspector.report.noSchema`)})})]})}export{Ie as a,Le as c,Pe as i,G as n,z as o,W as r,R as s,qe as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ui-components-BL3SEdAz.css"])))=>i.map(i=>d[i]);
2
- import{o as e,r as t}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as n,f as r,m as i,t as a,u as o}from"./vendor-react-DR370ovB.js";import{f as s}from"./infrastructure-CJNwTVno.js";import{T as c,r as l,w as u}from"./framework-BLEk-ou3.js";import{H as d,Is as f,Ma as p,R as m,Sr as h,Xi as g,hr as _,z as v}from"./ui-components-NS_7__gn.js";import"./AdapterProvider-DJb3ZVmJ.js";import"./MetadataProvider-Dh20h6BN.js";import{r as y}from"./ExpressionProvider-DKFCgLsJ.js";import{C as b,r as x}from"./mergeServerFields-CMIOI8QD.js";import{n as S,r as C,t as w}from"./MetadataInspector-CACgSTc7.js";import{t as T}from"./ReportDefaultInspector-CjR-PcBn.js";import{r as E,t as D}from"./RuntimeDraftBar-DTf-DIfT.js";var O=e(n(),1),k=a();function A({open:e,onClose:t,config:n,onSave:r,onFieldChange:i,name:a,metadataClient:o,onAfterChange:s}){let{t:c}=l(),u=(0,O.useMemo)(()=>x(),[]),[d,f]=(0,O.useState)(!1),p=(0,O.useMemo)(()=>({...n??{}}),[n]),[m,g]=(0,O.useState)(p),v=(0,O.useRef)(m),y=(0,O.useRef)(p);y.current!==p&&(y.current=p,v.current=p,g(p),f(!1));let b=(0,O.useCallback)(e=>{let t={...v.current,...e};if(v.current=t,g(t),f(!0),i)for(let[n,r]of Object.entries(e))i(n,r,t)},[i]),S=(0,O.useCallback)(()=>{r(v.current),f(!1),t()},[r,t]),C=(0,O.useCallback)(e=>{let t={...e};v.current=t,g(t),f(!1)},[]),w=(0,O.useCallback)(()=>{t()},[t]);return e?(0,k.jsxs)(`aside`,{className:`hidden sm:flex w-[440px] shrink-0 flex-col border-l bg-background h-full`,"data-testid":`report-config-panel`,role:`complementary`,"aria-label":c(`report.editor.title`,{defaultValue:`Edit report`}),children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-4 py-2.5 shrink-0`,children:[(0,k.jsx)(`div`,{className:`text-sm font-medium truncate`,children:c(`report.editor.title`,{defaultValue:`Edit report`})}),(0,k.jsx)(_,{variant:`ghost`,size:`sm`,onClick:t,className:`h-7 w-7 p-0`,"aria-label":c(`common.close`,{defaultValue:`Close`}),"data-testid":`report-config-close`,children:(0,k.jsx)(h,{className:`h-4 w-4`})})]}),(0,k.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:(0,k.jsx)(T,{type:`report`,name:typeof m.name==`string`?m.name:``,draft:m,readOnly:!1,locale:u,onPatch:b})}),(0,k.jsxs)(`div`,{"data-testid":`report-config-footer`,className:`flex items-center justify-end gap-2 border-t px-4 py-2.5 shrink-0`,children:[(0,k.jsx)(D,{type:`report`,name:a,metadataClient:o,dirty:d,onResume:C,onAfterChange:s}),(0,k.jsx)(_,{variant:`ghost`,size:`sm`,onClick:w,"data-testid":`report-config-discard`,children:c(`common.cancel`,{defaultValue:`Cancel`})}),(0,k.jsx)(_,{size:`sm`,onClick:S,"data-testid":`report-config-save`,children:c(`common.save`,{defaultValue:`Save`})})]})]}):null}var j=t({ReportView:()=>P}),M=(0,O.lazy)(()=>i(()=>import(`./plugin-report-DckNGNq6.js`).then(e=>e.t).then(e=>({default:e.ReportViewer})),__vite__mapDeps([0]),import.meta.url)),N=(0,O.lazy)(()=>i(()=>import(`./plugin-report-DckNGNq6.js`).then(e=>e.t).then(e=>({default:e.ReportRenderer})),__vite__mapDeps([0]),import.meta.url)),ee=[{value:`month`,label:`Month`,type:`text`},{value:`revenue`,label:`Revenue`,type:`number`},{value:`count`,label:`Count`,type:`number`},{value:`region`,label:`Region`,type:`text`},{value:`product`,label:`Product`,type:`text`},{value:`source`,label:`Lead Source`,type:`text`},{value:`stage`,label:`Stage`,type:`text`},{value:`amount`,label:`Amount`,type:`number`}];function P({dataSource:e}){let{t}=l(),{appName:n,reportName:i}=r(),a=o(),{showDebug:h}=S();u();let _=b(),{user:x}=s(),T=x?.role===`admin`,[D,j]=(0,O.useState)(!1),[P,F]=(0,O.useState)(0),{reports:I,objects:L,loading:R,refresh:z}=c(),{app:B}=y(),V=C(I,i,B?._packageId),[H,U]=(0,O.useState)(V),[W,G]=(0,O.useState)(null),[K,q]=(0,O.useState)([]),[J,Y]=(0,O.useState)(!1),X=(0,O.useCallback)(e=>{if(!e||!L?.length)return;let t=L.find(t=>t.name===e);if(!t?.fields)return;let n=t.fields;return Array.isArray(n)?n.map(e=>typeof e==`string`?{value:e,label:e,type:`text`}:{value:e.name,label:e.label||e.name,type:e.type||`text`}):Object.entries(n).map(([e,t])=>({value:e,label:t.label||e,type:t.type||`text`}))},[L]),te=(0,O.useCallback)(async({dataset:e,groupKey:t})=>{try{let r=await _.get(`dataset`,e),i=typeof r?.object==`string`?r.object:void 0;if(!i)return;let o=Array.isArray(r?.dimensions)?r.dimensions:[],s=new Map(o.filter(e=>e?.name).map(e=>[e.name,e])),c=L?.find(e=>e.name===i)?.fields,l=e=>{if(Array.isArray(c))return c.find(t=>t?.name===e);if(c&&typeof c==`object`)return c[e]},u=new URLSearchParams;for(let[e,n]of Object.entries(t)){if(n==null)continue;let t=s.get(e);if(t?.dateGranularity)continue;let r=t?.field||e,i=l(r);if(i?.type===`lookup`||i?.type===`master_detail`)continue;let a=n;if(Array.isArray(i?.options)){let e=i.options.find(e=>e?.label===n||e?.value===n);e&&e.value!=null&&(a=e.value)}u.set(`filter[${r}]`,String(a))}let d=u.toString();a(`${n?`/apps/${n}`:``}/${i}${d?`?${d}`:``}`)}catch(e){console.warn(`ReportView: drill navigation failed`,e)}},[_,a,n,L]),ne=(0,O.useMemo)(()=>{let e=W||H;return X(e?.objectName||e?.dataSource?.object||e?.dataSource?.resource)??ee},[W,H,X]),Z=(0,O.useCallback)(async e=>{try{_&&(await E(`report`,i,e,{metadataClient:_}),z().catch(()=>{}))}catch(e){console.warn(`[ReportView] Auto-save failed:`,e)}},[_,i,z]),re=(0,O.useCallback)(()=>{G(H),j(!0),F(e=>e+1)},[H]),ie=(0,O.useCallback)(()=>{j(!1)},[]),ae=(0,O.useMemo)(()=>W||H,[P]),oe=(0,O.useCallback)(e=>{G(e),Z(e),F(e=>e+1)},[Z]),se=(0,O.useCallback)((e,t)=>{G(n=>({...n,[e]:t}))},[]);(0,O.useEffect)(()=>{U(V)},[V]),(0,O.useEffect)(()=>{D||G(null)},[V]);let Q=W||H,ce=(0,O.useMemo)(()=>JSON.stringify(Q?.filters),[Q?.filters]),le=(0,O.useMemo)(()=>JSON.stringify(Q?.dataSource),[Q?.dataSource]),ue=(0,O.useMemo)(()=>JSON.stringify(Q?.data),[Q?.data]);if((0,O.useEffect)(()=>{if(!Q||!e){q([]);return}if(Q.data&&Array.isArray(Q.data)){q(Q.data);return}if(Q.dataSource){(async()=>{Y(!0);try{let t=Q.dataSource.object||Q.dataSource.resource;if(!t){console.warn(`ReportView: dataSource missing object/resource property`),q([]);return}q((await e.find(t,{$filter:Q.dataSource.filter,$orderby:Q.dataSource.sort,$top:Q.dataSource.limit})).data||[])}catch(e){console.error(`ReportView: Failed to load data from dataSource`,e),q([])}finally{Y(!1)}})();return}if(Q.objectName){(async()=>{Y(!0);try{q((await e.find(Q.objectName,{$filter:Q.filters,$orderby:Q.sort,$top:Q.limit||100})).data||[])}catch(e){console.error(`ReportView: Failed to load data from objectName`,e),q([])}finally{Y(!1)}})();return}q([])},[Q?.objectName,Q?.limit,ce,le,ue,e]),R)return(0,k.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,k.jsx)(p,{className:`h-8 w-8 animate-spin text-muted-foreground`})});if(!V||!H)return!R&&!V?(0,k.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,k.jsxs)(m,{children:[(0,k.jsx)(`div`,{className:`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-muted`,children:(0,k.jsx)(f,{className:`h-6 w-6 text-muted-foreground`})}),(0,k.jsx)(d,{children:t(`empty.reportNotFound`)}),(0,k.jsx)(v,{children:t(`empty.reportNotFoundDescription`,{name:i})})]})}):(0,k.jsx)(`div`,{className:`h-full flex items-center justify-center p-8`,children:(0,k.jsx)(p,{className:`h-8 w-8 animate-spin text-muted-foreground`})});let de=e=>{let t={...e};!t.title&&t.label&&(t.title=t.label);let n=t.objectName||t.dataSource?.object||t.dataSource?.resource,r=n?L?.find(e=>e.name===n):null,i=Array.isArray(r?.fields)?r.fields:r?.fields?Object.entries(r.fields).map(([e,t])=>({name:e,...t})):[],a={};for(let e of i)e&&e.name&&(a[e.name]=e);let o=e=>{let t=e.name||e.field,n=t?a[t]:void 0;if(!n)return e;let r={...e};if(r.type===void 0&&n.type!==void 0&&(r.type=n.type),r.options===void 0&&Array.isArray(n.options)&&(r.options=n.options),r.referenceTo===void 0){let e=n.referenceTo||n.reference?.to||n.target;e&&(r.referenceTo=e)}return r.label===void 0&&n.label&&(r.label=n.label),r};if(!t.fields&&Array.isArray(t.columns)?t.fields=t.columns.map(e=>{let t=o(e);return{name:t.field||t.name,label:t.label,type:t.type,options:t.options,referenceTo:t.referenceTo,format:t.format,renderAs:t.renderAs,colorMap:t.colorMap,...t.aggregate?{aggregation:t.aggregate,showInSummary:!0}:{}}}):Array.isArray(t.fields)&&(t.fields=t.fields.map(o)),t.fields&&Array.isArray(t.fields)&&t.fields.length>0){let n=t.fields.some(e=>e.showInSummary||e.aggregation),r=t.type||t.reportType||`tabular`,i=[];(r===`summary`||n)&&i.push({type:`summary`,title:`Key Metrics`}),i.push({type:`table`,title:`Details`,columns:t.fields.map(e=>({name:e.name,label:e.label,type:e.type,options:e.options,referenceTo:e.referenceTo,format:e.format,renderAs:e.renderAs,colorMap:e.colorMap}))});let a=t.chart||t.chartConfig,o=a?.type||a?.chartType;if(o){let e=a.xAxis||a.xAxisField,t=a.yAxis||a.yAxisFields?.[0];i.push({type:`chart`,title:`Chart`,chart:{type:`chart`,chartType:o,xAxisField:e,yAxisFields:t?[t]:a.yAxisFields}})}if(Array.isArray(e.sections)){let t=e.sections.filter(e=>e.type===`chart`&&!o);i.push(...t)}t.sections=i}else t.sections||=[];return t},$=W||H,fe=!!($&&(typeof $.dataset==`string`||$.type===`joined`&&Array.isArray($.blocks)&&$.blocks.some(e=>typeof e?.dataset==`string`)))||!!($&&$.objectName&&($.type===`matrix`||$.type===`joined`||$.type===`summary`||$.type===`tabular`||$.type===void 0||Array.isArray($.groupingsAcross)&&$.groupingsAcross.length>0||Array.isArray($.columns))),pe={type:`report-viewer`,report:de($),data:K,showToolbar:!0,allowExport:!0,loading:J};return(0,k.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden bg-background`,children:[(0,k.jsxs)(`div`,{className:`flex flex-col sm:flex-row justify-between sm:items-center gap-3 sm:gap-4 p-4 sm:p-6 border-b shrink-0`,children:[(0,k.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,k.jsx)(`h1`,{className:`text-lg sm:text-xl md:text-2xl font-bold tracking-tight truncate`,children:$.title||$.label||`Report Viewer`}),$.description&&(0,k.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 line-clamp-2`,children:$.description})]}),(0,k.jsx)(`div`,{className:`shrink-0 flex items-center gap-1.5`,children:T&&(0,k.jsxs)(`button`,{type:`button`,onClick:re,className:`inline-flex items-center gap-1.5 rounded-md border border-input bg-background px-2.5 py-1.5 text-xs font-medium text-muted-foreground shadow-sm hover:bg-accent hover:text-accent-foreground`,"data-testid":`report-edit-button`,children:[(0,k.jsx)(g,{className:`h-3.5 w-3.5`}),t(`common.edit`)]})})]}),(0,k.jsxs)(`div`,{className:`flex-1 overflow-hidden flex flex-col sm:flex-row relative`,children:[(0,k.jsx)(`div`,{className:`flex-1 min-w-0 overflow-auto p-4 sm:p-6 lg:p-8 bg-muted/5`,children:(0,k.jsx)(`div`,{className:`w-full shadow-sm border rounded-lg sm:rounded-xl bg-background overflow-hidden min-h-150`,children:(0,k.jsx)(O.Suspense,{fallback:(0,k.jsx)(`div`,{className:`p-8 text-sm text-muted-foreground`,children:t(`common.loading`,{defaultValue:`Loading…`})}),children:fe?(0,k.jsx)(`div`,{className:`p-4 sm:p-6`,children:(0,k.jsx)(N,{schema:$,dataSource:e,rows:K,onDrill:te})}):(0,k.jsx)(M,{schema:pe})})})}),(0,k.jsx)(A,{open:D&&T,onClose:ie,config:ae,onSave:oe,onFieldChange:se,availableFields:ne,getFieldsForObject:X,name:i,metadataClient:_,onAfterChange:()=>z().catch(()=>{})}),(0,k.jsx)(w,{open:h,sections:[{title:`Report Configuration`,data:$}]})]})]})}export{j as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as t,t as n}from"./vendor-react-DR370ovB.js";import{Ir as r,Ma as i,hr as a,xi as o}from"./ui-components-NS_7__gn.js";import{a as s,i as c,r as l}from"./mergeServerFields-CMIOI8QD.js";var u=e(t(),1);function d(e){if(!e||typeof e!=`object`)return null;let t=e;if(`item`in t){let e=t.item;return!e||typeof e!=`object`?null:Object.keys(e).length>0?e:null}return Object.keys(t).length>0?t:null}async function f(e,t,n,r){await r.metadataClient.save(e,t,n,{mode:`draft`})}async function p(e,t,n,r){return await r.metadataClient.save(e,t,n,{mode:`draft`}),t}async function m(e,t,n){return d(await n.metadataClient.get(e,t,{state:`draft`}))}async function h(e,t,n){await n.metadataClient.reset(e,t,{state:`draft`})}async function g(e,t,n){await n.metadataClient.publish(e,t)}var _=n();function v({type:e,name:t,metadataClient:n,dirty:d,onResume:f,onAfterChange:p,savedSignal:v}){let y=l(),[b,x]=(0,u.useState)(!1),[S,C]=(0,u.useState)(!1),w=(0,u.useRef)(null),T=(0,u.useCallback)(async()=>{if(!t||!n){x(!1);return}let r;try{r=await m(e,t,{metadataClient:n})}catch{x(!1);return}if(x(!!r),r&&f&&w.current!==t){w.current=t;try{f(r)}catch(e){console.error(`[RuntimeDraftBar] Resume draft failed:`,e)}}},[e,t,n,f]);(0,u.useEffect)(()=>{T()},[T]);let E=(0,u.useRef)(v);(0,u.useEffect)(()=>{v!==E.current&&(E.current=v,v&&x(!0))},[v]);let D=(0,u.useCallback)(async()=>{if(t){C(!0);try{await g(e,t,{metadataClient:n}),x(!1),p?.()}catch(e){console.error(`[RuntimeDraftBar] Publish failed:`,e)}finally{C(!1)}}},[e,t,n,p]),O=(0,u.useCallback)(async()=>{if(t&&!(typeof confirm==`function`&&!confirm(s(`engine.edit.discardDraftConfirm`,y,{type:e,name:t})))){C(!0);try{await h(e,t,{metadataClient:n}),x(!1),p?.()}catch(e){console.error(`[RuntimeDraftBar] Discard draft failed:`,e)}finally{C(!1)}}},[e,t,n,p,y]);return b?(0,_.jsxs)(`div`,{className:`mr-auto flex items-center gap-2`,"data-testid":`runtime-draft-bar`,children:[(0,_.jsxs)(`span`,{className:`text-xs text-amber-700 dark:text-amber-400`,title:c(`engine.edit.draftPending`,y),"data-testid":`runtime-draft-indicator`,children:[`● `,c(`engine.edit.draftPending`,y)]}),(0,_.jsx)(a,{variant:`ghost`,size:`sm`,onClick:O,disabled:S,className:`h-7 w-7 p-0 text-muted-foreground`,title:c(`engine.edit.discardDraft`,y),"aria-label":c(`engine.edit.discardDraft`,y),"data-testid":`runtime-draft-discard`,children:(0,_.jsx)(r,{className:`h-3.5 w-3.5`})}),(0,_.jsx)(a,{size:`sm`,onClick:D,disabled:S||d,className:`h-7 px-2 bg-emerald-600 hover:bg-emerald-700 text-emerald-50`,title:c(d?`engine.edit.publishBlockedDirty`:`engine.edit.publish`,y),"data-testid":`runtime-draft-publish`,children:S?(0,_.jsx)(i,{className:`h-3.5 w-3.5 animate-spin`}):(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(o,{className:`h-3.5 w-3.5 mr-1`}),c(`engine.edit.publish`,y)]})})]}):null}export{p as n,f as r,v as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{_ as t,f as n,t as r,u as i}from"./vendor-react-DR370ovB.js";import{d as a}from"./infrastructure-CJNwTVno.js";import{w as o}from"./framework-BLEk-ou3.js";import{$n as s,Ar as c,Ci as l,Ga as u,Jn as d,Jr as f,Ma as p,Vs as m,Wo as h,Xn as g,Yn as _,Zn as v,bi as y,ei as b,jr as x,mi as S,qn as C,qs as w,za as T}from"./ui-components-NS_7__gn.js";import"./src-9qM7N8MR.js";var E=e(t(),1),D=r();function O(){let e=i(),{appName:t}=n(),r=t?`/apps/${t}`:``,O=o(),k=a(),[A,j]=(0,E.useState)({users:null,orgs:null,roles:null,permissions:null,auditLogs:null}),[M,N]=(0,E.useState)(!0),P=(0,E.useCallback)(async()=>{if(O){N(!0);try{let[e,t,n,r,i]=await Promise.all([O.find(`sys_user`).catch(()=>({data:[]})),O.find(`sys_org`).catch(()=>({data:[]})),O.find(`sys_role`).catch(()=>({data:[]})),O.find(`sys_permission`).catch(()=>({data:[]})),O.find(`sys_audit_log`).catch(()=>({data:[]}))]);j({users:e.data?.length??0,orgs:t.data?.length??0,roles:n.data?.length??0,permissions:r.data?.length??0,auditLogs:i.data?.length??0})}catch{}finally{N(!1)}}},[O]);(0,E.useEffect)(()=>{P()},[P]);let F=[{title:`Applications`,description:`Manage all configured applications`,icon:T,href:`${r}/system/apps`,countLabel:``,count:null},{title:`Metadata`,description:`Browse and edit every metadata type the platform exposes`,icon:h,href:`${r}/component/metadata/directory`,countLabel:``,count:null}],I=[{title:`Users`,description:`Manage system users and accounts`,icon:c,href:`${r}/system/users`,countLabel:`users`,count:A.users},{title:`Organizations`,description:`Manage organizations and teams`,icon:m,href:`${r}/system/organizations`,countLabel:`organizations`,count:A.orgs},{title:`Roles`,description:`Configure roles and access levels`,icon:S,href:`${r}/system/roles`,countLabel:`roles`,count:A.roles},{title:`Permissions`,description:`Manage permission rules and assignments`,icon:u,href:`${r}/system/permissions`,countLabel:`permissions`,count:A.permissions},{title:`Audit Log`,description:`View system activity and changes`,icon:l,href:`${r}/system/audit-log`,countLabel:`entries`,count:A.auditLogs},{title:`AI Approvals`,description:`Review actions AI agents propose before they execute`,icon:w,href:`${r}/system/ai-approvals`,countLabel:``,count:null},{title:`App Marketplace`,description:`Browse and install approved apps from the ObjectStack catalog`,icon:b,href:`${r}/system/marketplace`,countLabel:``,count:null,adminOnly:!0},{title:`Settings`,description:`Configure mail, branding, feature flags, and more`,icon:y,href:`${r}/system/settings`,countLabel:``,count:null},{title:`Developer`,description:`API console, flow runs, and public form management`,icon:f,href:`${r}/developer`,countLabel:``,count:null},{title:`Profile`,description:`View and edit your account settings`,icon:x,href:`${r}/system/profile`,countLabel:``,count:null}],L=[...F,...I].filter(e=>!e.adminOnly||k);return(0,D.jsxs)(`div`,{className:`flex flex-col gap-6 p-4 sm:p-6`,children:[(0,D.jsxs)(`div`,{className:`min-w-0`,children:[(0,D.jsx)(`h1`,{className:`text-xl sm:text-2xl font-bold tracking-tight`,children:`System Settings`}),(0,D.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1`,children:`Manage applications, users, roles, permissions, and system configuration`})]}),M&&(0,D.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,role:`status`,"aria-live":`polite`,children:[(0,D.jsx)(p,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),`Loading statistics...`]}),(0,D.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:L.map(t=>{let n=t.icon;return(0,D.jsxs)(C,{className:`cursor-pointer transition-colors hover:bg-accent/50`,onClick:()=>e(t.href),"data-testid":`hub-card-${t.title.toLowerCase().replace(/\s+/g,`-`)}`,role:`link`,tabIndex:0,"aria-label":`${t.title}: ${t.description}`,onKeyDown:n=>{(n.key===`Enter`||n.key===` `)&&(n.preventDefault(),e(t.href))},children:[(0,D.jsxs)(g,{className:`flex flex-row items-center gap-3 pb-2`,children:[(0,D.jsx)(`div`,{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:(0,D.jsx)(n,{className:`h-5 w-5`})}),(0,D.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,D.jsx)(v,{className:`text-base`,children:t.title}),(0,D.jsx)(_,{className:`text-xs`,children:t.description})]})]}),(0,D.jsx)(d,{className:`pt-0`,children:t.count!==null&&(0,D.jsxs)(s,{variant:`secondary`,children:[t.count,` `,t.countLabel]})})]},t.title)})})]})}export{O as SystemHubPage};
@@ -1 +0,0 @@
1
- import"./chunk-NNHCCRGN-Ud6GGuM7.js";import{x as e}from"./mermaid-parser.core-iuxcj-n_.js";export{e as createArchitectureServices};
@@ -1,132 +0,0 @@
1
- import{Tt as e,kt as t,u as n}from"./vendor-charts-fo4ZbB_t.js";import{n as r,r as i}from"./src-CVz7aDdY.js";import{O as a,T as o,a as s,b as c,c as l,it as u,s as d,x as f,z as p}from"./chunk-CSCIHK7Q-DfSAlgJl.js";import{t as m}from"./channel-ByUUDCyR.js";import{A as h,B as g,C as _,D as v,E as y,F as b,G as x,H as S,I as C,L as w,M as T,N as E,O as D,P as O,R as k,T as ee,U as A,V as te,W as ne,a as re,b as ie,g as j,j as ae,k as oe,l as se,v as ce,w as le,z as ue}from"./chunk-5ZQYHXKU-DG12s6lW.js";import{n as de}from"./chunk-O5CBEL6O-BzyWPZhZ.js";import{t as fe}from"./chunk-FMBD7UC4-CZzqt4RW.js";import{n as pe,t as M}from"./chunk-BSJP7CBP-okvguKD4.js";import{n as me,t as he}from"./chunk-L5ZTLDWV-DW1lPBoG.js";import{t as ge}from"./graphlib-B8gBHxth.js";function _e(e){return Array.isArray(e)}function ve(e){if(ie(e))return e;let t=x(e);if(!ye(e))return{};if(_e(e)){let t=Array.from(e);return e.length>0&&typeof e[0]==`string`&&Object.hasOwn(e,`index`)&&(t.index=e.index,t.input=e.input),t}if(ce(e)){let t=e,n=t.constructor;return new n(t.buffer,t.byteOffset,t.length)}if(t===`[object ArrayBuffer]`)return new ArrayBuffer(e.byteLength);if(t===`[object DataView]`){let t=e,n=t.buffer,r=t.byteOffset,i=t.byteLength,a=new ArrayBuffer(i),o=new Uint8Array(n,r,i);return new Uint8Array(a).set(o),new DataView(a)}if(t===`[object Boolean]`||t===`[object Number]`||t===`[object String]`){let n=e.constructor,r=new n(e.valueOf());return t===`[object String]`?Se(r,e):be(r,e),r}if(t===`[object Date]`)return new Date(Number(e));if(t===`[object RegExp]`){let t=e,n=new RegExp(t.source,t.flags);return n.lastIndex=t.lastIndex,n}if(t===`[object Symbol]`)return Object(Symbol.prototype.valueOf.call(e));if(t===`[object Map]`){let t=e,n=new Map;return t.forEach((e,t)=>{n.set(t,e)}),n}if(t===`[object Set]`){let t=e,n=new Set;return t.forEach(e=>{n.add(e)}),n}if(t===`[object Arguments]`){let t=e,n={};return be(n,t),n.length=t.length,n[Symbol.iterator]=t[Symbol.iterator],n}let n={};return Ce(n,e),be(n,e),xe(n,e),n}function ye(e){switch(x(e)){case _:case ee:case le:case v:case y:case D:case oe:case h:case E:case ae:case T:case O:case b:case C:case w:case k:case ue:case g:case A:case ne:case te:case S:return!0;default:return!1}}function be(e,t){for(let n in t)Object.hasOwn(t,n)&&(e[n]=t[n])}function xe(e,t){let n=Object.getOwnPropertySymbols(t);for(let r=0;r<n.length;r++){let i=n[r];Object.prototype.propertyIsEnumerable.call(t,i)&&(e[i]=t[i])}}function Se(e,t){let n=t.valueOf().length;for(let r in t)Object.hasOwn(t,r)&&(Number.isNaN(Number(r))||Number(r)>=n)&&(e[r]=t[r])}function Ce(e,t){let n=Object.getPrototypeOf(t);n!==null&&typeof t.constructor==`function`&&Object.setPrototypeOf(e,n)}var we=(function(){var e=r(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),t=[1,15],n=[1,7],i=[1,13],a=[1,14],o=[1,19],s=[1,16],c=[1,17],l=[1,18],u=[8,30],d=[8,10,21,28,29,30,31,39,43,46],f=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],h=[8,10,15,16,21,27,28,29,30,31,39,43,46],g=[1,49],_={trace:r(function(){},`trace`),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:`error`,4:`SPACELINE`,5:`NL`,7:`SPACE`,8:`EOF`,10:`BLOCK_DIAGRAM_KEY`,15:`LINK`,16:`START_LINK`,17:`LINK_LABEL`,18:`STR`,21:`SPACE_BLOCK`,27:`SIZE`,28:`COLUMNS`,29:`id-block`,30:`end`,31:`NODE_ID`,34:`DIR`,35:`NODE_DSTART`,36:`NODE_DEND`,37:`BLOCK_ARROW_START`,38:`BLOCK_ARROW_END`,39:`classDef`,40:`CLASSDEF_ID`,41:`CLASSDEF_STYLEOPTS`,42:`DEFAULT`,43:`class`,44:`CLASSENTITY_IDS`,45:`STYLECLASS`,46:`style`,47:`STYLE_ENTITY_IDS`,48:`STYLE_DEFINITION_DATA`},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:r(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 4:r.getLogger().debug(`Rule: separator (NL) `);break;case 5:r.getLogger().debug(`Rule: separator (Space) `);break;case 6:r.getLogger().debug(`Rule: separator (EOF) `);break;case 7:r.getLogger().debug(`Rule: hierarchy: `,a[s-1]),r.setHierarchy(a[s-1]);break;case 8:r.getLogger().debug(`Stop NL `);break;case 9:r.getLogger().debug(`Stop EOF `);break;case 10:r.getLogger().debug(`Stop NL2 `);break;case 11:r.getLogger().debug(`Stop EOF2 `);break;case 12:r.getLogger().debug(`Rule: statement: `,a[s]),typeof a[s].length==`number`?this.$=a[s]:this.$=[a[s]];break;case 13:r.getLogger().debug(`Rule: statement #2: `,a[s-1]),this.$=[a[s-1]].concat(a[s]);break;case 14:r.getLogger().debug(`Rule: link: `,a[s],e),this.$={edgeTypeStr:a[s],label:``};break;case 15:r.getLogger().debug(`Rule: LABEL link: `,a[s-3],a[s-1],a[s]),this.$={edgeTypeStr:a[s],label:a[s-1]};break;case 18:let t=parseInt(a[s]),n=r.generateId();this.$={id:n,type:`space`,label:``,width:t,children:[]};break;case 23:r.getLogger().debug(`Rule: (nodeStatement link node) `,a[s-2],a[s-1],a[s],` typestr: `,a[s-1].edgeTypeStr);let i=r.edgeStrToEdgeData(a[s-1].edgeTypeStr),o=r.edgeStrToEdgeStartData(a[s-1].edgeTypeStr),c=r.edgeStrToThickness(a[s-1].edgeTypeStr),l=r.edgeStrToPattern(a[s-1].edgeTypeStr);this.$=[{id:a[s-2].id,label:a[s-2].label,type:a[s-2].type,directions:a[s-2].directions},{id:a[s-2].id+`-`+a[s].id,start:a[s-2].id,end:a[s].id,label:a[s-1].label,type:`edge`,thickness:c,pattern:l,directions:a[s].directions,arrowTypeEnd:i,arrowTypeStart:o},{id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions}];break;case 24:r.getLogger().debug(`Rule: nodeStatement (abc88 node size) `,a[s-1],a[s]),this.$={id:a[s-1].id,label:a[s-1].label,type:r.typeStr2Type(a[s-1].typeStr),directions:a[s-1].directions,widthInColumns:parseInt(a[s],10)};break;case 25:r.getLogger().debug(`Rule: nodeStatement (node) `,a[s]),this.$={id:a[s].id,label:a[s].label,type:r.typeStr2Type(a[s].typeStr),directions:a[s].directions,widthInColumns:1};break;case 26:r.getLogger().debug(`APA123`,this?this:`na`),r.getLogger().debug(`COLUMNS: `,a[s]),this.$={type:`column-setting`,columns:a[s]===`auto`?-1:parseInt(a[s])};break;case 27:r.getLogger().debug(`Rule: id-block statement : `,a[s-2],a[s-1]),r.generateId(),this.$={...a[s-2],type:`composite`,children:a[s-1]};break;case 28:r.getLogger().debug(`Rule: blockStatement : `,a[s-2],a[s-1],a[s]);let u=r.generateId();this.$={id:u,type:`composite`,label:``,children:a[s-1]};break;case 29:r.getLogger().debug(`Rule: node (NODE_ID separator): `,a[s]),this.$={id:a[s]};break;case 30:r.getLogger().debug(`Rule: node (NODE_ID nodeShapeNLabel separator): `,a[s-1],a[s]),this.$={id:a[s-1],label:a[s].label,typeStr:a[s].typeStr,directions:a[s].directions};break;case 31:r.getLogger().debug(`Rule: dirList: `,a[s]),this.$=[a[s]];break;case 32:r.getLogger().debug(`Rule: dirList: `,a[s-1],a[s]),this.$=[a[s-1]].concat(a[s]);break;case 33:r.getLogger().debug(`Rule: nodeShapeNLabel: `,a[s-2],a[s-1],a[s]),this.$={typeStr:a[s-2]+a[s],label:a[s-1]};break;case 34:r.getLogger().debug(`Rule: BLOCK_ARROW nodeShapeNLabel: `,a[s-3],a[s-2],` #3:`,a[s-1],a[s]),this.$={typeStr:a[s-3]+a[s],label:a[s-2],directions:a[s-1]};break;case 35:case 36:this.$={type:`classDef`,id:a[s-1].trim(),css:a[s].trim()};break;case 37:this.$={type:`applyClass`,id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:this.$={type:`applyStyles`,id:a[s-1].trim(),stylesStr:a[s].trim()};break}},`anonymous`),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:i,29:a,31:o,39:s,43:c,46:l},{8:[1,20]},e(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:n,28:i,29:a,31:o,39:s,43:c,46:l}),e(d,[2,16],{14:22,15:f,16:p}),e(d,[2,17]),e(d,[2,18]),e(d,[2,19]),e(d,[2,20]),e(d,[2,21]),e(d,[2,22]),e(m,[2,25],{27:[1,25]}),e(d,[2,26]),{19:26,26:12,31:o},{10:t,11:27,13:4,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:i,29:a,31:o,39:s,43:c,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(h,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(u,[2,13]),{26:35,31:o},{31:[2,14]},{17:[1,36]},e(m,[2,24]),{10:t,11:37,13:4,14:22,15:f,16:p,19:5,20:6,21:n,22:8,23:9,24:10,25:11,26:12,28:i,29:a,31:o,39:s,43:c,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(h,[2,30]),{18:[1,43]},{18:[1,44]},e(m,[2,23]),{18:[1,45]},{30:[1,46]},e(d,[2,28]),e(d,[2,35]),e(d,[2,36]),e(d,[2,37]),e(d,[2,38]),{36:[1,47]},{33:48,34:g},{15:[1,50]},e(d,[2,27]),e(h,[2,33]),{38:[1,51]},{33:52,34:g,38:[2,31]},{31:[2,15]},e(h,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:r(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:r(function(e){var t=this,n=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(e,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;typeof g.yy.parseError==`function`?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function b(e){n.length-=2*e,a.length-=e,o.length-=e}r(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=t.symbols_[e]||e),e}r(x,`lex`);for(var S,C,w,T,E,D={},O,k,ee,A;;){if(w=n[n.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var te=``;for(O in A=[],s[w])this.terminals_[O]&&O>f&&A.push(`'`+this.terminals_[O]+`'`);te=h.showPosition?`Parse error on line `+(l+1)+`:
2
- `+h.showPosition()+`
3
- Expecting `+A.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(te,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:A})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:n.push(S),a.push(h.yytext),o.push(h.yylloc),n.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(n=n.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),n.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),ee=s[n[n.length-2]][n[n.length-1]],n.push(ee);break;case 3:return!0}}return!0},`parse`)};_.lexer=(function(){return{EOF:1,parseError:r(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:r(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:r(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:r(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:r(function(){return this._more=!0,this},`more`),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
- `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:r(function(e){this.unput(this.match.slice(e))},`less`),pastInput:r(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:r(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:r(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
5
- `+t+`^`},`showPosition`),test_match:r(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:r(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}else return!1}else if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e===!1?!1:e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:r(function(){return this.next()||this.lex()},`lex`),begin:r(function(e){this.conditionStack.push(e)},`begin`),popState:r(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:r(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:r(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:r(function(e){this.begin(e)},`pushState`),stateStackSize:r(function(){return this.conditionStack.length},`stateStackSize`),options:{},performAction:r(function(e,t,n,r){switch(n){case 0:return e.getLogger().debug(`Found block-beta`),10;case 1:return e.getLogger().debug(`Found id-block`),29;case 2:return e.getLogger().debug(`Found block`),10;case 3:e.getLogger().debug(`.`,t.yytext);break;case 4:e.getLogger().debug(`_`,t.yytext);break;case 5:return 5;case 6:return t.yytext=-1,28;case 7:return t.yytext=t.yytext.replace(/columns\s+/,``),e.getLogger().debug(`COLUMNS (LEX)`,t.yytext),28;case 8:this.pushState(`md_string`);break;case 9:return`MD_STR`;case 10:this.popState();break;case 11:this.pushState(`string`);break;case 12:e.getLogger().debug(`LEX: POPPING STR:`,t.yytext),this.popState();break;case 13:return e.getLogger().debug(`LEX: STR end:`,t.yytext),`STR`;case 14:return t.yytext=t.yytext.replace(/space\:/,``),e.getLogger().debug(`SPACE NUM (LEX)`,t.yytext),21;case 15:return t.yytext=`1`,e.getLogger().debug(`COLUMNS (LEX)`,t.yytext),21;case 16:return 42;case 17:return`LINKSTYLE`;case 18:return`INTERPOLATE`;case 19:return this.pushState(`CLASSDEF`),39;case 20:return this.popState(),this.pushState(`CLASSDEFID`),`DEFAULT_CLASSDEF_ID`;case 21:return this.popState(),this.pushState(`CLASSDEFID`),40;case 22:return this.popState(),41;case 23:return this.pushState(`CLASS`),43;case 24:return this.popState(),this.pushState(`CLASS_STYLE`),44;case 25:return this.popState(),45;case 26:return this.pushState(`STYLE_STMNT`),46;case 27:return this.popState(),this.pushState(`STYLE_DEFINITION`),47;case 28:return this.popState(),48;case 29:return this.pushState(`acc_title`),`acc_title`;case 30:return this.popState(),`acc_title_value`;case 31:return this.pushState(`acc_descr`),`acc_descr`;case 32:return this.popState(),`acc_descr_value`;case 33:this.pushState(`acc_descr_multiline`);break;case 34:this.popState();break;case 35:return`acc_descr_multiline_value`;case 36:return 30;case 37:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 38:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 39:return this.popState(),e.getLogger().debug(`Lex: ))`),`NODE_DEND`;case 40:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 41:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 42:return this.popState(),e.getLogger().debug(`Lex: (-`),`NODE_DEND`;case 43:return this.popState(),e.getLogger().debug(`Lex: -)`),`NODE_DEND`;case 44:return this.popState(),e.getLogger().debug(`Lex: ((`),`NODE_DEND`;case 45:return this.popState(),e.getLogger().debug(`Lex: ]]`),`NODE_DEND`;case 46:return this.popState(),e.getLogger().debug(`Lex: (`),`NODE_DEND`;case 47:return this.popState(),e.getLogger().debug(`Lex: ])`),`NODE_DEND`;case 48:return this.popState(),e.getLogger().debug(`Lex: /]`),`NODE_DEND`;case 49:return this.popState(),e.getLogger().debug(`Lex: /]`),`NODE_DEND`;case 50:return this.popState(),e.getLogger().debug(`Lex: )]`),`NODE_DEND`;case 51:return this.popState(),e.getLogger().debug(`Lex: )`),`NODE_DEND`;case 52:return this.popState(),e.getLogger().debug(`Lex: ]>`),`NODE_DEND`;case 53:return this.popState(),e.getLogger().debug(`Lex: ]`),`NODE_DEND`;case 54:return e.getLogger().debug(`Lexa: -)`),this.pushState(`NODE`),35;case 55:return e.getLogger().debug(`Lexa: (-`),this.pushState(`NODE`),35;case 56:return e.getLogger().debug(`Lexa: ))`),this.pushState(`NODE`),35;case 57:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 58:return e.getLogger().debug(`Lex: (((`),this.pushState(`NODE`),35;case 59:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 60:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 61:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 62:return e.getLogger().debug(`Lexc: >`),this.pushState(`NODE`),35;case 63:return e.getLogger().debug(`Lexa: ([`),this.pushState(`NODE`),35;case 64:return e.getLogger().debug(`Lexa: )`),this.pushState(`NODE`),35;case 65:return this.pushState(`NODE`),35;case 66:return this.pushState(`NODE`),35;case 67:return this.pushState(`NODE`),35;case 68:return this.pushState(`NODE`),35;case 69:return this.pushState(`NODE`),35;case 70:return this.pushState(`NODE`),35;case 71:return this.pushState(`NODE`),35;case 72:return e.getLogger().debug(`Lexa: [`),this.pushState(`NODE`),35;case 73:return this.pushState(`BLOCK_ARROW`),e.getLogger().debug(`LEX ARR START`),37;case 74:return e.getLogger().debug(`Lex: NODE_ID`,t.yytext),31;case 75:return e.getLogger().debug(`Lex: EOF`,t.yytext),8;case 76:this.pushState(`md_string`);break;case 77:this.pushState(`md_string`);break;case 78:return`NODE_DESCR`;case 79:this.popState();break;case 80:e.getLogger().debug(`Lex: Starting string`),this.pushState(`string`);break;case 81:e.getLogger().debug(`LEX ARR: Starting string`),this.pushState(`string`);break;case 82:return e.getLogger().debug(`LEX: NODE_DESCR:`,t.yytext),`NODE_DESCR`;case 83:e.getLogger().debug(`LEX POPPING`),this.popState();break;case 84:e.getLogger().debug(`Lex: =>BAE`),this.pushState(`ARROW_DIR`);break;case 85:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (right): dir:`,t.yytext),`DIR`;case 86:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (left):`,t.yytext),`DIR`;case 87:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (x):`,t.yytext),`DIR`;case 88:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (y):`,t.yytext),`DIR`;case 89:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (up):`,t.yytext),`DIR`;case 90:return t.yytext=t.yytext.replace(/^,\s*/,``),e.getLogger().debug(`Lex (down):`,t.yytext),`DIR`;case 91:return t.yytext=`]>`,e.getLogger().debug(`Lex (ARROW_DIR end):`,t.yytext),this.popState(),this.popState(),`BLOCK_ARROW_END`;case 92:return e.getLogger().debug(`Lex: LINK`,`#`+t.yytext+`#`),15;case 93:return e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 94:return e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 95:return e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 96:return e.getLogger().debug(`Lex: START_LINK`,t.yytext),this.pushState(`LLABEL`),16;case 97:return e.getLogger().debug(`Lex: START_LINK`,t.yytext),this.pushState(`LLABEL`),16;case 98:return e.getLogger().debug(`Lex: START_LINK`,t.yytext),this.pushState(`LLABEL`),16;case 99:this.pushState(`md_string`);break;case 100:return e.getLogger().debug(`Lex: Starting string`),this.pushState(`string`),`LINK_LABEL`;case 101:return this.popState(),e.getLogger().debug(`Lex: LINK`,`#`+t.yytext+`#`),15;case 102:return this.popState(),e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 103:return this.popState(),e.getLogger().debug(`Lex: LINK`,t.yytext),15;case 104:return e.getLogger().debug(`Lex: COLON`,t.yytext),t.yytext=t.yytext.slice(1),27}},`anonymous`),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}}})();function v(){this.yy={}}return r(v,`Parser`),v.prototype=_,_.Parser=v,new v})();we.parser=we;var Te=we,N=new Map,P=[],F=new Map,Ee=`color`,De=`fill`,Oe=`bgFill`,ke=`,`,Ae=f(),I=new Map,L=``,je=r(e=>d.sanitizeText(e,Ae),`sanitizeText`),Me=r(function(e,t=``){let n=I.get(e);n||(n={id:e,styles:[],textStyles:[]},I.set(e,n)),t?.split(ke).forEach(e=>{let t=e.replace(/([^;]*);/,`$1`).trim();if(RegExp(Ee).exec(e)){let e=t.replace(De,Oe).replace(Ee,De);n.textStyles.push(e)}n.styles.push(t)})},`addStyleClass`),Ne=r(function(e,t=``){let n=N.get(e);t!=null&&(n.styles=t.split(ke))},`addStyle2Node`),Pe=r(function(e,t){e.split(`,`).forEach(function(e){let n=N.get(e);if(n===void 0){let t=e.trim();n={id:t,type:`na`,children:[]},N.set(t,n)}n.classes||=[],n.classes.push(t)})},`setCssClass`),Fe=r((e,t)=>{let n=e.flat(),r=[],a=n.find(e=>e?.type===`column-setting`)?.columns??-1;for(let e of n){if(typeof a==`number`&&a>0&&e.type!==`column-setting`&&typeof e.widthInColumns==`number`&&e.widthInColumns>a&&i.warn(`Block ${e.id} width ${e.widthInColumns} exceeds configured column width ${a}`),e.label&&=je(e.label),e.type===`classDef`){Me(e.id,e.css);continue}if(e.type===`applyClass`){Pe(e.id,e?.styleClass??``);continue}if(e.type===`applyStyles`){e?.stylesStr&&Ne(e.id,e?.stylesStr);continue}if(e.type===`column-setting`)t.columns=e.columns??-1;else if(e.type===`edge`){let t=(F.get(e.id)??0)+1;F.set(e.id,t),e.id=t+`-`+e.id,P.push(e)}else{e.label||(e.type===`composite`?e.label=``:e.label=e.id);let t=N.get(e.id);if(t===void 0?N.set(e.id,e):(e.type!==`na`&&(t.type=e.type),e.label!==e.id&&(t.label=e.label)),e.children&&Fe(e.children,e),e.type===`space`){let t=e.width??1;for(let n=0;n<t;n++){let t=ve(e);t.id=t.id+`-`+n,N.set(t.id,t),r.push(t)}}else t===void 0&&r.push(e)}}t.children=r},`populateBlockDatabase`),R=[],z={id:`root`,type:`composite`,children:[],columns:-1},Ie=r(()=>{i.debug(`Clear called`),s(),z={id:`root`,type:`composite`,children:[],columns:-1},N=new Map([[`root`,z]]),R=[],I=new Map,P=[],F=new Map,L=``},`clear`);function Le(e){switch(i.debug(`typeStr2Type`,e),e){case`[]`:return`square`;case`()`:return i.debug(`we have a round`),`round`;case`(())`:return`circle`;case`>]`:return`rect_left_inv_arrow`;case`{}`:return`diamond`;case`{{}}`:return`hexagon`;case`([])`:return`stadium`;case`[[]]`:return`subroutine`;case`[()]`:return`cylinder`;case`((()))`:return`doublecircle`;case`[//]`:return`lean_right`;case`[\\\\]`:return`lean_left`;case`[/\\]`:return`trapezoid`;case`[\\/]`:return`inv_trapezoid`;case`<[]>`:return`block_arrow`;default:return`na`}}r(Le,`typeStr2Type`);function Re(e){switch(i.debug(`typeStr2Type`,e),e){case`==`:return`thick`;default:return`normal`}}r(Re,`edgeTypeStr2Type`);function ze(e){switch(e.trim().slice(-1)){case`x`:return`arrow_cross`;case`o`:return`arrow_circle`;case`>`:return`arrow_point`;default:return``}}r(ze,`edgeStrToEdgeData`);function Be(e){switch(e.trim().charAt(0)){case`x`:return`arrow_cross`;case`o`:return`arrow_circle`;case`<`:return`arrow_point`;default:return`arrow_open`}}r(Be,`edgeStrToEdgeStartData`);function Ve(e){return e.includes(`==`)?`thick`:`normal`}r(Ve,`edgeStrToThickness`);function He(e){return e.includes(`.-`)?`dotted`:`solid`}r(He,`edgeStrToPattern`);var Ue=0,We={getConfig:r(()=>c().block,`getConfig`),typeStr2Type:Le,edgeTypeStr2Type:Re,edgeStrToEdgeData:ze,edgeStrToEdgeStartData:Be,edgeStrToThickness:Ve,edgeStrToPattern:He,getLogger:r(()=>i,`getLogger`),getBlocksFlat:r(()=>[...N.values()],`getBlocksFlat`),getBlocks:r(()=>R||[],`getBlocks`),getEdges:r(()=>P,`getEdges`),setHierarchy:r(e=>{z.children=e,Fe(e,z),R=z.children},`setHierarchy`),getBlock:r(e=>N.get(e),`getBlock`),setBlock:r(e=>{N.set(e.id,e)},`setBlock`),getColumns:r(e=>{let t=N.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},`getColumns`),getClasses:r(function(){return I},`getClasses`),clear:Ie,generateId:r(()=>(Ue++,`id-`+Math.random().toString(36).substr(2,12)+`-`+Ue),`generateId`),setDiagramId:r(e=>{L=e},`setDiagramId`),getDiagramId:r(()=>L,`getDiagramId`)},B=r((e,t)=>{let n=m;return u(n(e,`r`),n(e,`g`),n(e,`b`),t)},`fade`),Ge=r(e=>`.label {
7
- font-family: ${e.fontFamily};
8
- color: ${e.nodeTextColor||e.textColor};
9
- }
10
- .cluster-label text {
11
- fill: ${e.titleColor};
12
- }
13
- .cluster-label span,p {
14
- color: ${e.titleColor};
15
- }
16
-
17
-
18
-
19
- .label text,span,p {
20
- fill: ${e.nodeTextColor||e.textColor};
21
- color: ${e.nodeTextColor||e.textColor};
22
- }
23
-
24
- .node rect,
25
- .node circle,
26
- .node ellipse,
27
- .node polygon,
28
- .node path {
29
- fill: ${e.mainBkg};
30
- stroke: ${e.nodeBorder};
31
- stroke-width: 1px;
32
- }
33
- .flowchart-label text {
34
- text-anchor: middle;
35
- }
36
- // .flowchart-label .text-outer-tspan {
37
- // text-anchor: middle;
38
- // }
39
- // .flowchart-label .text-inner-tspan {
40
- // text-anchor: start;
41
- // }
42
-
43
- .node .label {
44
- text-align: center;
45
- }
46
- .node.clickable {
47
- cursor: pointer;
48
- }
49
-
50
- .arrowheadPath {
51
- fill: ${e.arrowheadColor};
52
- }
53
-
54
- .edgePath .path {
55
- stroke: ${e.lineColor};
56
- stroke-width: 2.0px;
57
- }
58
-
59
- .flowchart-link {
60
- stroke: ${e.lineColor};
61
- fill: none;
62
- }
63
-
64
- .edgeLabel {
65
- background-color: ${e.edgeLabelBackground};
66
- /*
67
- * This is for backward compatibility with existing code that didn't
68
- * add a \`<p>\` around edge labels.
69
- *
70
- * TODO: We should probably remove this in a future release.
71
- */
72
- p {
73
- margin: 0;
74
- padding: 0;
75
- display: inline;
76
- }
77
- rect {
78
- opacity: 0.5;
79
- background-color: ${e.edgeLabelBackground};
80
- fill: ${e.edgeLabelBackground};
81
- }
82
- text-align: center;
83
- }
84
-
85
- /* For html labels only */
86
- .labelBkg {
87
- background-color: ${e.edgeLabelBackground};
88
- }
89
-
90
- .node .cluster {
91
- // fill: ${B(e.mainBkg,.5)};
92
- fill: ${B(e.clusterBkg,.5)};
93
- stroke: ${B(e.clusterBorder,.2)};
94
- box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
95
- stroke-width: 1px;
96
- }
97
-
98
- .cluster text {
99
- fill: ${e.titleColor};
100
- }
101
-
102
- .cluster span,p {
103
- color: ${e.titleColor};
104
- }
105
- /* .cluster div {
106
- color: ${e.titleColor};
107
- } */
108
-
109
- div.mermaidTooltip {
110
- position: absolute;
111
- text-align: center;
112
- max-width: 200px;
113
- padding: 2px;
114
- font-family: ${e.fontFamily};
115
- font-size: 12px;
116
- background: ${e.tertiaryColor};
117
- border: 1px solid ${e.border2};
118
- border-radius: 2px;
119
- pointer-events: none;
120
- z-index: 100;
121
- }
122
-
123
- .flowchartTitleText {
124
- text-anchor: middle;
125
- font-size: 18px;
126
- fill: ${e.textColor};
127
- }
128
- ${fe()}
129
- `,`getStyles`),Ke=r((e,t,n,r)=>{t.forEach(t=>{qe[t](e,n,r)})},`insertMarkers`),qe={extension:r((e,t,n)=>{i.trace(`Making markers for `,n),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionStart`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,7 L18,13 V 1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-extensionEnd`).attr(`class`,`marker extension `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 V 13 L18,7 Z`)},`extension`),composition:r((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart`).attr(`class`,`marker composition `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd`).attr(`class`,`marker composition `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`composition`),aggregation:r((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart`).attr(`class`,`marker aggregation `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`aggregation`),dependency:r((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart`).attr(`class`,`marker dependency `+t).attr(`refX`,6).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd`).attr(`class`,`marker dependency `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`)},`dependency`),lollipop:r((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`stroke`,`black`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`stroke`,`black`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6)},`lollipop`),point:r((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,6).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,4.5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 5 L 10 10 L 10 0 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`point`),circle:r((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,11).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-1).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`circle`),cross:r((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,12).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,-1).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`)},`cross`),barb:r((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`strokeWidth`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`barb`)},Je=Ke,V=f()?.block?.padding??8;function Ye(e,t){if(e===0||!Number.isInteger(e))throw Error(`Columns must be an integer !== 0.`);if(t<0||!Number.isInteger(t))throw Error(`Position must be a non-negative integer.`+t);return e<0?{px:t,py:0}:e===1?{px:0,py:t}:{px:t%e,py:Math.floor(t/e)}}r(Ye,`calculateBlockPosition`);var Xe=r(e=>{let t=0,n=0;for(let r of e.children){let{width:e,height:a,x:o,y:s}=r.size??{width:0,height:0,x:0,y:0};if(i.debug(`getMaxChildSize abc95 child:`,r.id,`width:`,e,`height:`,a,`x:`,o,`y:`,s,r.type),r.type===`space`)continue;let c=e/(r.widthInColumns??1);c>t&&(t=c),a>n&&(n=a)}return{width:t,height:n}},`getMaxChildSize`);function H(e,t,n=0,r=0){i.debug(`setBlockSizes abc95 (start)`,e.id,e?.size?.x,`block width =`,e?.size,`siblingWidth`,n),e?.size?.width||(e.size={width:n,height:r,x:0,y:0});let a=0,o=0;if(e.children?.length>0){for(let n of e.children)H(n,t);let s=Xe(e);a=s.width,o=s.height,i.debug(`setBlockSizes abc95 maxWidth of`,e.id,`:s children is `,a,o);for(let t of e.children)t.size&&(i.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${a} ${o} ${JSON.stringify(t.size)}`),t.size.width=a*(t.widthInColumns??1)+V*((t.widthInColumns??1)-1),t.size.height=o,t.size.x=0,t.size.y=0,i.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${a} maxHeight:${o}`));for(let n of e.children)H(n,t,a,o);let c=e.columns??-1,l=0;for(let t of e.children)l+=t.widthInColumns??1;let u=e.children.length;c>0&&c<l&&(u=c);let d=Math.ceil(l/u),f=u*(a+V)+V,p=d*(o+V)+V;if(f<n){i.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${n} siblingHeight ${r} width ${f}`),f=n,p=r;let t=(n-u*V-V)/u,s=(r-d*V-V)/d;i.debug(`Size indata abc88`,e.id,`childWidth`,t,`maxWidth`,a),i.debug(`Size indata abc88`,e.id,`childHeight`,s,`maxHeight`,o),i.debug(`Size indata abc88 xSize`,u,`padding`,V);for(let n of e.children)n.size&&(n.size.width=t,n.size.height=s,n.size.x=0,n.size.y=0)}if(i.debug(`abc95 (finale calc) ${e.id} xSize ${u} ySize ${d} columns ${c}${e.children.length} width=${Math.max(f,e.size?.width||0)}`),f<(e?.size?.width||0)){f=e?.size?.width||0;let t=c>0?Math.min(e.children.length,c):e.children.length;if(t>0){let n=(f-t*V-V)/t;i.debug(`abc95 (growing to fit) width`,e.id,f,e.size?.width,n);for(let t of e.children)t.size&&(t.size.width=n)}}e.size={width:f,height:p,x:0,y:0}}i.debug(`setBlockSizes abc94 (done)`,e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}r(H,`setBlockSizes`);function Ze(e,t){i.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let n=e.columns??-1;if(i.debug(`layoutBlocks columns abc95`,e.id,`=>`,n,e),e.children&&e.children.length>0){let r=e?.children[0]?.size?.width??0,a=e.children.length*r+(e.children.length-1)*V;i.debug(`widthOfChildren 88`,a,`posX`);let o=new Map;{let t=0;for(let r of e.children){if(!r.size)continue;let{py:e}=Ye(n,t),i=o.get(e)??0;r.size.height>i&&o.set(e,r.size.height);let a=r?.widthInColumns??1;n>0&&(a=Math.min(a,n-t%n)),t+=a}}let s=new Map;{let e=0,t=[...o.keys()].sort((e,t)=>e-t);for(let n of t)s.set(n,e),e+=(o.get(n)??0)+V}let c=0;i.debug(`abc91 block?.size?.x`,e.id,e?.size?.x);let l=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-V,u=0;for(let r of e.children){let a=e;if(!r.size)continue;let{width:d,height:f}=r.size,{px:p,py:m}=Ye(n,c);if(m!=u&&(u=m,l=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-V,i.debug(`New row in layout for block`,e.id,` and child `,r.id,u)),i.debug(`abc89 layout blocks (child) id: ${r.id} Pos: ${c} (px, py) ${p},${m} (${a?.size?.x},${a?.size?.y}) parent: ${a.id} width: ${d}${V}`),a.size){let e=d/2;r.size.x=l+V+e,i.debug(`abc91 layout blocks (calc) px, pyid:${r.id} startingPos=X${l} new startingPosX${r.size.x} ${e} padding=${V} width=${d} halfWidth=${e} => x:${r.size.x} y:${r.size.y} ${r.widthInColumns} (width * (child?.w || 1)) / 2 ${d*(r?.widthInColumns??1)/2}`),l=r.size.x+e;let t=s.get(m)??0,n=o.get(m)??f;r.size.y=a.size.y-a.size.height/2+t+n/2+V,i.debug(`abc88 layout blocks (calc) px, pyid:${r.id}startingPosX${l}${V}${e}=>x:${r.size.x}y:${r.size.y}${r.widthInColumns}(width * (child?.w || 1)) / 2${d*(r?.widthInColumns??1)/2}`)}r.children&&Ze(r,t);let h=r?.widthInColumns??1;n>0&&(h=Math.min(h,n-c%n)),c+=h,i.debug(`abc88 columnsPos`,r,c)}}i.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}r(Ze,`layoutBlocks`);function Qe(e,{minX:t,minY:n,maxX:r,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!==`root`){let{x:a,y:o,width:s,height:c}=e.size;a-s/2<t&&(t=a-s/2),o-c/2<n&&(n=o-c/2),a+s/2>r&&(r=a+s/2),o+c/2>i&&(i=o+c/2)}if(e.children)for(let a of e.children)({minX:t,minY:n,maxX:r,maxY:i}=Qe(a,{minX:t,minY:n,maxX:r,maxY:i}));return{minX:t,minY:n,maxX:r,maxY:i}}r(Qe,`findBounds`);function $e(e){let t=e.getBlock(`root`);if(!t)return;H(t,e,0,0),Ze(t,e),i.debug(`getBlocks`,JSON.stringify(t,null,2));let{minX:n,minY:r,maxX:a,maxY:o}=Qe(t),s=o-r;return{x:n,y:r,width:a-n,height:s}}r($e,`layout`);var U=r(async(e,t,n,r=!1,i=!1)=>{let a=t||``;typeof a==`object`&&(a=a[0]);let s=f(),c=o(s);return await de(e,a,{style:n,isTitle:r,useHtmlLabels:c,markdown:!1,isNode:i,width:1/0},s)},`createLabel`),et=r((e,t,n,r,i)=>{t.arrowTypeStart&&nt(e,`start`,t.arrowTypeStart,n,r,i),t.arrowTypeEnd&&nt(e,`end`,t.arrowTypeEnd,n,r,i)},`addEdgeMarkers`),tt={arrow_cross:`cross`,arrow_point:`point`,arrow_barb:`barb`,arrow_circle:`circle`,aggregation:`aggregation`,extension:`extension`,composition:`composition`,dependency:`dependency`,lollipop:`lollipop`},nt=r((e,t,n,r,a,o)=>{let s=tt[n];if(!s){i.warn(`Unknown arrow type: ${n}`);return}let c=t===`start`?`Start`:`End`;e.attr(`marker-${t}`,`url(${r}#${a}_${o}-${s}${c})`)},`addEdgeMarker`),rt={},W={},it=r(async(e,t)=>{let r=f(),i=o(r),a=e.insert(`g`).attr(`class`,`edgeLabel`),s=a.insert(`g`).attr(`class`,`label`),c=t.labelType===`markdown`,l=await de(e,t.label,{style:t.labelStyle,useHtmlLabels:i,addSvgBackground:c,isNode:!1,markdown:c,width:c?void 0:1/0},r);s.node().appendChild(l);let u=l.getBBox(),d=u;if(i){let e=l.children[0],t=n(l);u=e.getBoundingClientRect(),d=u,t.attr(`width`,u.width),t.attr(`height`,u.height)}else{let e=n(l).select(`text`).node();e&&typeof e.getBBox==`function`&&(d=e.getBBox())}s.attr(`transform`,M(d,i)),rt[t.id]=a,t.width=u.width,t.height=u.height;let p;if(t.startLabelLeft){let r=e.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await U(a,t.startLabelLeft,t.labelStyle);p=o;let s=o.getBBox();if(i){let e=o.children[0],t=n(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}a.attr(`transform`,M(s,i)),W[t.id]||(W[t.id]={}),W[t.id].startLeft=r,G(p,t.startLabelLeft)}if(t.startLabelRight){let r=e.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await U(a,t.startLabelRight,t.labelStyle);p=o;let s=o.getBBox();if(i){let e=o.children[0],t=n(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}a.attr(`transform`,M(s,i)),W[t.id]||(W[t.id]={}),W[t.id].startRight=r,G(p,t.startLabelRight)}if(t.endLabelLeft){let r=e.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await U(r,t.endLabelLeft,t.labelStyle);p=o;let s=o.getBBox();if(i){let e=o.children[0],t=n(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}a.attr(`transform`,M(s,i)),W[t.id]||(W[t.id]={}),W[t.id].endLeft=r,G(p,t.endLabelLeft)}if(t.endLabelRight){let r=e.insert(`g`).attr(`class`,`edgeTerminals`),a=r.insert(`g`).attr(`class`,`inner`),o=await U(r,t.endLabelRight,t.labelStyle);p=o;let s=o.getBBox();if(i){let e=o.children[0],t=n(o);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}a.attr(`transform`,M(s,i)),W[t.id]||(W[t.id]={}),W[t.id].endRight=r,G(p,t.endLabelRight)}return l},`insertEdgeLabel`);function G(e,t){o(f())&&e&&(e.style.width=t.length*9+`px`,e.style.height=`12px`)}r(G,`setTerminalWidth`);var at=r((e,t)=>{i.debug(`Moving label abc88 `,e.id,e.label,rt[e.id],t);let n=t.updatedPath?t.updatedPath:t.originalPath,{subGraphTitleTotalMargin:r}=me(f());if(e.label){let a=rt[e.id],o=e.x,s=e.y;if(n){let r=j.calcLabelPosition(n);i.debug(`Moving label `+e.label+` from (`,o,`,`,s,`) to (`,r.x,`,`,r.y,`) abc88`),t.updatedPath&&(o=r.x,s=r.y)}a.attr(`transform`,`translate(${o}, ${s+r/2})`)}if(e.startLabelLeft){let t=W[e.id].startLeft,r=e.x,i=e.y;if(n){let t=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.startLabelRight){let t=W[e.id].startRight,r=e.x,i=e.y;if(n){let t=j.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=W[e.id].endLeft,r=e.x,i=e.y;if(n){let t=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}if(e.endLabelRight){let t=W[e.id].endRight,r=e.x,i=e.y;if(n){let t=j.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,n);r=t.x,i=t.y}t.attr(`transform`,`translate(${r}, ${i})`)}},`positionEdgeLabel`),ot=r((e,t)=>{let n=e.x,r=e.y,i=Math.abs(t.x-n),a=Math.abs(t.y-r),o=e.width/2,s=e.height/2;return i>=o||a>=s},`outsideNode`),st=r((e,t,n)=>{i.debug(`intersection calc abc89:
130
- outsidePoint: ${JSON.stringify(t)}
131
- insidePoint : ${JSON.stringify(n)}
132
- node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let r=e.x,a=e.y,o=Math.abs(r-n.x),s=e.width/2,c=n.x<t.x?s-o:s+o,l=e.height/2,u=Math.abs(t.y-n.y),d=Math.abs(t.x-n.x);if(Math.abs(a-t.y)*s>Math.abs(r-t.x)*l){let e=n.y<t.y?t.y-l-a:a-l-t.y;c=d*e/u;let r={x:n.x<t.x?n.x+c:n.x-d+c,y:n.y<t.y?n.y+u-e:n.y-u+e};return c===0&&(r.x=t.x,r.y=t.y),d===0&&(r.x=t.x),u===0&&(r.y=t.y),i.debug(`abc89 topp/bott calc, Q ${u}, q ${e}, R ${d}, r ${c}`,r),r}else{c=n.x<t.x?t.x-s-r:r-s-t.x;let e=u*c/d,a=n.x<t.x?n.x+d-c:n.x-d+c,o=n.y<t.y?n.y+e:n.y-e;return i.debug(`sides calc abc89, Q ${u}, q ${e}, R ${d}, r ${c}`,{_x:a,_y:o}),c===0&&(a=t.x,o=t.y),d===0&&(a=t.x),u===0&&(o=t.y),{x:a,y:o}}},`intersection`),ct=r((e,t)=>{i.debug(`abc88 cutPathAtIntersect`,e,t);let n=[],r=e[0],a=!1;return e.forEach(e=>{if(!ot(t,e)&&!a){let i=st(t,r,e),o=!1;n.forEach(e=>{o||=e.x===i.x&&e.y===i.y}),n.some(e=>e.x===i.x&&e.y===i.y)||n.push(i),a=!0}else r=e,a||n.push(e)}),n},`cutPathAtIntersect`),lt=r(function(n,r,o,s,c,l,u){let d=o.points;i.debug(`abc88 InsertEdge: edge=`,o,`e=`,r);let p=!1,m=l.node(r.v);var h=l.node(r.w);h?.intersect&&m?.intersect&&(d=d.slice(1,o.points.length-1),d.unshift(m.intersect(d[0])),d.push(h.intersect(d[d.length-1]))),o.toCluster&&(i.debug(`to cluster abc88`,s[o.toCluster]),d=ct(o.points,s[o.toCluster].node),p=!0),o.fromCluster&&(i.debug(`from cluster abc88`,s[o.fromCluster]),d=ct(d.reverse(),s[o.fromCluster].node).reverse(),p=!0);let g=d.filter(e=>!Number.isNaN(e.y)),_=e;o.curve&&(c===`graph`||c===`flowchart`)&&(_=o.curve);let{x:v,y}=pe(o),b=t().x(v).y(y).curve(_),x;switch(o.thickness){case`normal`:x=`edge-thickness-normal`;break;case`thick`:x=`edge-thickness-thick`;break;case`invisible`:x=`edge-thickness-thick`;break;default:x=``}switch(o.pattern){case`solid`:x+=` edge-pattern-solid`;break;case`dotted`:x+=` edge-pattern-dotted`;break;case`dashed`:x+=` edge-pattern-dashed`;break}let S=n.append(`path`).attr(`d`,b(g)).attr(`id`,o.id).attr(`class`,` `+x+(o.classes?` `+o.classes:``)).attr(`style`,o.style),C=``;(f().flowchart.arrowMarkerAbsolute||f().state.arrowMarkerAbsolute)&&(C=a(!0)),et(S,o,C,u,c);let w={};return p&&(w.updatedPath=d),w.originalPath=o.points,w},`insertEdge`),ut=r(e=>{let t=new Set;for(let n of e)switch(n){case`x`:t.add(`right`),t.add(`left`);break;case`y`:t.add(`up`),t.add(`down`);break;default:t.add(n);break}return t},`expandAndDeduplicateDirections`),dt=r((e,t,n,r)=>{let i=ut(e),a=t.height+2*n.padding,o=a/2,s=r??t.width+2*o+n.padding,c=n.padding/2;return i.has(`right`)&&i.has(`left`)&&i.has(`up`)&&i.has(`down`)?[{x:0,y:0},{x:o,y:0},{x:s/2,y:2*c},{x:s-o,y:0},{x:s,y:0},{x:s,y:-a/3},{x:s+2*c,y:-a/2},{x:s,y:-2*a/3},{x:s,y:-a},{x:s-o,y:-a},{x:s/2,y:-a-2*c},{x:o,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*c,y:-a/2},{x:0,y:-a/3}]:i.has(`right`)&&i.has(`left`)&&i.has(`up`)?[{x:o,y:0},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}]:i.has(`right`)&&i.has(`left`)&&i.has(`down`)?[{x:0,y:0},{x:o,y:-a},{x:s-o,y:-a},{x:s,y:0}]:i.has(`right`)&&i.has(`up`)&&i.has(`down`)?[{x:0,y:0},{x:s,y:-o},{x:s,y:-a+o},{x:0,y:-a}]:i.has(`left`)&&i.has(`up`)&&i.has(`down`)?[{x:s,y:0},{x:0,y:-o},{x:0,y:-a+o},{x:s,y:-a}]:i.has(`right`)&&i.has(`left`)?[{x:o,y:0},{x:o,y:-c},{x:s-o,y:-c},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:s-o,y:-a+c},{x:o,y:-a+c},{x:o,y:-a},{x:0,y:-a/2}]:i.has(`up`)&&i.has(`down`)?[{x:s/2,y:0},{x:0,y:-c},{x:o,y:-c},{x:o,y:-a+c},{x:0,y:-a+c},{x:s/2,y:-a},{x:s,y:-a+c},{x:s-o,y:-a+c},{x:s-o,y:-c},{x:s,y:-c}]:i.has(`right`)&&i.has(`up`)?[{x:0,y:0},{x:s,y:-o},{x:0,y:-a}]:i.has(`right`)&&i.has(`down`)?[{x:0,y:0},{x:s,y:0},{x:0,y:-a}]:i.has(`left`)&&i.has(`up`)?[{x:s,y:0},{x:0,y:-o},{x:s,y:-a}]:i.has(`left`)&&i.has(`down`)?[{x:s,y:0},{x:0,y:0},{x:s,y:-a}]:i.has(`right`)?[{x:o,y:-c},{x:o,y:-c},{x:s-o,y:-c},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:s-o,y:-a+c},{x:o,y:-a+c},{x:o,y:-a+c}]:i.has(`left`)?[{x:o,y:0},{x:o,y:-c},{x:s-o,y:-c},{x:s-o,y:-a+c},{x:o,y:-a+c},{x:o,y:-a},{x:0,y:-a/2}]:i.has(`up`)?[{x:o,y:-c},{x:o,y:-a+c},{x:0,y:-a+c},{x:s/2,y:-a},{x:s,y:-a+c},{x:s-o,y:-a+c},{x:s-o,y:-c}]:i.has(`down`)?[{x:s/2,y:0},{x:0,y:-c},{x:o,y:-c},{x:o,y:-a+c},{x:s-o,y:-a+c},{x:s-o,y:-c},{x:s,y:-c}]:[{x:0,y:0}]},`getArrowPoints`);function ft(e,t){return e.intersect(t)}r(ft,`intersectNode`);var pt=ft;function mt(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}r(mt,`intersectEllipse`);var ht=mt;function gt(e,t,n){return ht(e,t,t,n)}r(gt,`intersectCircle`);var _t=gt;function vt(e,t,n,r){var i=t.y-e.y,a,o=e.x-t.x,s,c=t.x*e.y-e.x*t.y,l,u,d,f=i*n.x+o*n.y+c,p=i*r.x+o*r.y+c,m,h,g,_,v;if(!(f!==0&&p!==0&&yt(f,p))&&(a=r.y-n.y,s=n.x-r.x,l=r.x*n.y-n.x*r.y,u=a*e.x+s*e.y+l,d=a*t.x+s*t.y+l,!(u!==0&&d!==0&&yt(u,d))&&(m=i*s-a*o,m!==0)))return h=Math.abs(m/2),g=o*l-s*c,_=g<0?(g-h)/m:(g+h)/m,g=a*c-i*l,v=g<0?(g-h)/m:(g+h)/m,{x:_,y:v}}r(vt,`intersectLine`);function yt(e,t){return e*t>0}r(yt,`sameSign`);var bt=vt,xt=St;function St(e,t,n){var r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));for(var c=r-e.width/2-o,l=i-e.height/2-s,u=0;u<t.length;u++){var d=t[u],f=t[u<t.length-1?u+1:0],p=bt(e,n,{x:c+d.x,y:l+d.y},{x:c+f.x,y:l+f.y});p&&a.push(p)}return a.length?(a.length>1&&a.sort(function(e,t){var r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}r(St,`intersectPolygon`);var K={node:pt,circle:_t,ellipse:ht,polygon:xt,rect:r((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`)},q=r(async(e,t,r,i)=>{let a=f(),s,c=t.useHtmlLabels||o(a);s=r||`node default`;let l=e.insert(`g`).attr(`class`,s).attr(`id`,t.domId||t.id),u=l.insert(`g`).attr(`class`,`label`).attr(`style`,t.labelStyle),d;d=t.labelText===void 0?``:typeof t.labelText==`string`?t.labelText:t.labelText[0];let m;m=t.labelType===`markdown`?de(u,p(re(d),a),{useHtmlLabels:c,width:t.width||a.flowchart.wrappingWidth,classes:`markdown-node-label`},a):await U(u,p(re(d),a),t.labelStyle,!1,i);let h=m.getBBox(),g=t.padding/2;if(o(a)){let e=m.children[0],t=n(m);await he(e,d),h=e.getBoundingClientRect(),t.attr(`width`,h.width),t.attr(`height`,h.height)}return c?u.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`):u.attr(`transform`,`translate(0, `+-h.height/2+`)`),t.centerLabel&&u.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`),u.insert(`rect`,`:first-child`),{shapeSvg:l,bbox:h,halfPadding:g,label:u}},`labelHelper`),J=r((e,t)=>{let n=t.node().getBBox();e.width=n.width,e.height=n.height},`updateNodeBounds`);function Y(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}r(Y,`insertPolygonShape`);var Ct=r(async(e,t)=>{t.useHtmlLabels||o(f())||(t.centerLabel=!0);let{shapeSvg:n,bbox:r,halfPadding:a}=await q(e,t,`node `+t.classes,!0);i.info(`Classes = `,t.classes);let s=n.insert(`rect`,`:first-child`);return s.attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,-r.width/2-a).attr(`y`,-r.height/2-a).attr(`width`,r.width+t.padding).attr(`height`,r.height+t.padding),J(t,s),t.intersect=function(e){return K.rect(t,e)},n},`note`),wt=r(e=>e?` `+e:``,`formatClass`),X=r((e,t)=>`${t||`node default`}${wt(e.classes)} ${wt(e.class)}`,`getClassesFromNode`),Tt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),a=r.width+t.padding+(r.height+t.padding),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];i.info(`Question main (Circle)`);let s=Y(n,a,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return i.warn(`Intersect called`),K.polygon(t,o,e)},n},`question`),Et=r((e,t)=>{let n=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id);return n.insert(`polygon`,`:first-child`).attr(`points`,[{x:0,y:28/2},{x:28/2,y:0},{x:0,y:-28/2},{x:-28/2,y:0}].map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`state-start`).attr(`r`,7).attr(`width`,28).attr(`height`,28),t.width=28,t.height=28,t.intersect=function(e){return K.circle(t,14,e)},n},`choice`),Dt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=t.positioned?t.height:r.height+t.padding,a=i/4,o=t.positioned?t.width:r.width+2*a+t.padding,s=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-i/2},{x:o-a,y:-i},{x:a,y:-i},{x:0,y:-i/2}],c=Y(n,o,i,s);return c.attr(`style`,t.style),J(t,c),t.intersect=function(e){return K.polygon(t,s,e)},n},`hexagon`),Ot=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,void 0,!0),i=r.height+2*t.padding,a=i/2,o=r.width+2*a+t.padding,s=t.positioned&&(t.widthInColumns??1)>1&&t.width>o?t.width:o,c=dt(t.directions,r,t,s),l=Y(n,s,i,c);return l.attr(`style`,t.style),J(t,l),t.intersect=function(e){return K.polygon(t,c,e)},n},`block_arrow`),kt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return Y(n,i,a,o).attr(`style`,t.style),t.width=i+a,t.height=a,t.intersect=function(e){return K.polygon(t,o,e)},n},`rect_left_inv_arrow`),At=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`lean_right`),jt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`lean_left`),Mt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`trapezoid`),Nt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`inv_trapezoid`),Pt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`rect_right_inv_arrow`),Ft=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=i/2,o=a/(2.5+i/50),s=r.height+o+t.padding,c=`M 0,`+o+` a `+a+`,`+o+` 0,0,0 `+i+` 0 a `+a+`,`+o+` 0,0,0 `+-i+` 0 l 0,`+s+` a `+a+`,`+o+` 0,0,0 `+i+` 0 l 0,`+-s;return J(t,n.attr(`label-offset-y`,o).insert(`path`,`:first-child`).attr(`style`,t.style).attr(`d`,c).attr(`transform`,`translate(`+-i/2+`,`+-(s/2+o)+`)`)),t.intersect=function(e){let n=K.rect(t,e),r=n.x-t.x;if(a!=0&&(Math.abs(r)<t.width/2||Math.abs(r)==t.width/2&&Math.abs(n.y-t.y)>t.height/2-o)){let i=o*o*(1-r*r/(a*a));i!=0&&(i=Math.sqrt(i)),i=o-i,e.y-t.y>0&&(i=-i),n.y+=i}return n},n},`cylinder`),It=r(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:a}=await q(e,t,`node `+t.classes+` `+t.class,!0),o=n.insert(`rect`,`:first-child`),s=t.positioned?t.width:r.width+t.padding,c=t.positioned?t.height:r.height+t.padding,l=t.positioned?-s/2:-r.width/2-a,u=t.positioned?-c/2:-r.height/2-a;if(o.attr(`class`,`basic label-container`).attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(Z(o,t.props.borders,s,c),e.delete(`borders`)),e.forEach(e=>{i.warn(`Unknown node property ${e}`)})}return J(t,o),t.intersect=function(e){return K.rect(t,e)},n},`rect`),Lt=r(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:a}=await q(e,t,`node `+t.classes,!0),o=n.insert(`rect`,`:first-child`),s=t.positioned?t.width:r.width+t.padding,c=t.positioned?t.height:r.height+t.padding,l=t.positioned?-s/2:-r.width/2-a,u=t.positioned?-c/2:-r.height/2-a;if(o.attr(`class`,`basic cluster composite label-container`).attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(Z(o,t.props.borders,s,c),e.delete(`borders`)),e.forEach(e=>{i.warn(`Unknown node property ${e}`)})}return J(t,o),t.intersect=function(e){return K.rect(t,e)},n},`composite`),Rt=r(async(e,t)=>{let{shapeSvg:n}=await q(e,t,`label`,!0);i.trace(`Classes = `,t.class);let r=n.insert(`rect`,`:first-child`);if(r.attr(`width`,0).attr(`height`,0),n.attr(`class`,`label edgeLabel`),t.props){let e=new Set(Object.keys(t.props));t.props.borders&&(Z(r,t.props.borders,0,0),e.delete(`borders`)),e.forEach(e=>{i.warn(`Unknown node property ${e}`)})}return J(t,r),t.intersect=function(e){return K.rect(t,e)},n},`labelRect`);function Z(e,t,n,a){let o=[],s=r(e=>{o.push(e,0)},`addBorder`),c=r(e=>{o.push(0,e)},`skipBorder`);t.includes(`t`)?(i.debug(`add top border`),s(n)):c(n),t.includes(`r`)?(i.debug(`add right border`),s(a)):c(a),t.includes(`b`)?(i.debug(`add bottom border`),s(n)):c(n),t.includes(`l`)?(i.debug(`add left border`),s(a)):c(a),e.attr(`stroke-dasharray`,o.join(` `))}r(Z,`applyNodePropertyBorders`);var zt=r(async(e,t)=>{let r;r=t.classes?`node `+t.classes:`node default`;let a=e.insert(`g`).attr(`class`,r).attr(`id`,t.domId||t.id),s=a.insert(`rect`,`:first-child`),c=a.insert(`line`),l=a.insert(`g`).attr(`class`,`label`),u=t.labelText.flat?t.labelText.flat():t.labelText,d=``;d=typeof u==`object`?u[0]:u,i.info(`Label text abc79`,d,u,typeof u==`object`);let p=await U(l,d,t.labelStyle,!0,!0),m={width:0,height:0};if(o(f())){let e=p.children[0],t=n(p);m=e.getBoundingClientRect(),t.attr(`width`,m.width),t.attr(`height`,m.height)}i.info(`Text 2`,u);let h=u.slice(1,u.length),g=p.getBBox(),_=await U(l,h.join?h.join(`<br/>`):h,t.labelStyle,!0,!0);if(o(f())){let e=_.children[0],t=n(_);m=e.getBoundingClientRect(),t.attr(`width`,m.width),t.attr(`height`,m.height)}let v=t.padding/2;return n(_).attr(`transform`,`translate( `+(m.width>g.width?0:(g.width-m.width)/2)+`, `+(g.height+v+5)+`)`),n(p).attr(`transform`,`translate( `+(m.width<g.width?0:-(g.width-m.width)/2)+`, 0)`),m=l.node().getBBox(),l.attr(`transform`,`translate(`+-m.width/2+`, `+(-m.height/2-v+3)+`)`),s.attr(`class`,`outer title-state`).attr(`x`,-m.width/2-v).attr(`y`,-m.height/2-v).attr(`width`,m.width+t.padding).attr(`height`,m.height+t.padding),c.attr(`class`,`divider`).attr(`x1`,-m.width/2-v).attr(`x2`,m.width/2+v).attr(`y1`,-m.height/2-v+g.height+v).attr(`y2`,-m.height/2-v+g.height+v),J(t,s),t.intersect=function(e){return K.rect(t,e)},a},`rectWithTitle`),Bt=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.height+t.padding,a=r.width+i/4+t.padding;return J(t,n.insert(`rect`,`:first-child`).attr(`style`,t.style).attr(`rx`,i/2).attr(`ry`,i/2).attr(`x`,-a/2).attr(`y`,-i/2).attr(`width`,a).attr(`height`,i)),t.intersect=function(e){return K.rect(t,e)},n},`stadium`),Vt=r(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:a}=await q(e,t,X(t,void 0),!0),o=n.insert(`circle`,`:first-child`);return o.attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`r`,r.width/2+a).attr(`width`,r.width+t.padding).attr(`height`,r.height+t.padding),i.info(`Circle main`),J(t,o),t.intersect=function(e){return i.info(`Circle intersect`,t,r.width/2+a,e),K.circle(t,r.width/2+a,e)},n},`circle`),Ht=r(async(e,t)=>{let{shapeSvg:n,bbox:r,halfPadding:a}=await q(e,t,X(t,void 0),!0),o=n.insert(`g`,`:first-child`),s=o.insert(`circle`),c=o.insert(`circle`);return o.attr(`class`,t.class),s.attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`r`,r.width/2+a+5).attr(`width`,r.width+t.padding+10).attr(`height`,r.height+t.padding+10),c.attr(`style`,t.style).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`r`,r.width/2+a).attr(`width`,r.width+t.padding).attr(`height`,r.height+t.padding),i.info(`DoubleCircle main`),J(t,s),t.intersect=function(e){return i.info(`DoubleCircle intersect`,t,r.width/2+a+5,e),K.circle(t,r.width/2+a+5,e)},n},`doublecircle`),Ut=r(async(e,t)=>{let{shapeSvg:n,bbox:r}=await q(e,t,X(t,void 0),!0),i=r.width+t.padding,a=r.height+t.padding,o=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],s=Y(n,i,a,o);return s.attr(`style`,t.style),J(t,s),t.intersect=function(e){return K.polygon(t,o,e)},n},`subroutine`),Wt=r((e,t)=>{let n=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),r=n.insert(`circle`,`:first-child`);return r.attr(`class`,`state-start`).attr(`r`,7).attr(`width`,14).attr(`height`,14),J(t,r),t.intersect=function(e){return K.circle(t,7,e)},n},`start`),Gt=r((e,t,n)=>{let r=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),i=70,a=10;return n===`LR`&&(i=10,a=70),J(t,r.append(`rect`).attr(`x`,-1*i/2).attr(`y`,-1*a/2).attr(`width`,i).attr(`height`,a).attr(`class`,`fork-join`)),t.height+=t.padding/2,t.width+=t.padding/2,t.intersect=function(e){return K.rect(t,e)},r},`forkJoin`),Kt={rhombus:Tt,composite:Lt,question:Tt,rect:It,labelRect:Rt,rectWithTitle:zt,choice:Et,circle:Vt,doublecircle:Ht,stadium:Bt,hexagon:Dt,block_arrow:Ot,rect_left_inv_arrow:kt,lean_right:At,lean_left:jt,trapezoid:Mt,inv_trapezoid:Nt,rect_right_inv_arrow:Pt,cylinder:Ft,start:Wt,end:r((e,t)=>{let n=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),r=n.insert(`circle`,`:first-child`),i=n.insert(`circle`,`:first-child`);return i.attr(`class`,`state-start`).attr(`r`,7).attr(`width`,14).attr(`height`,14),r.attr(`class`,`state-end`).attr(`r`,5).attr(`width`,10).attr(`height`,10),J(t,i),t.intersect=function(e){return K.circle(t,7,e)},n},`end`),note:Ct,subroutine:Ut,fork:Gt,join:Gt,class_box:r(async(e,t)=>{let r=t.padding/2,i;i=t.classes?`node `+t.classes:`node default`;let a=e.insert(`g`).attr(`class`,i).attr(`id`,t.domId||t.id),s=a.insert(`rect`,`:first-child`),c=a.insert(`line`),l=a.insert(`line`),u=0,d=4,p=a.insert(`g`).attr(`class`,`label`),m=0,h=t.classData.annotations?.[0],g=await U(p,t.classData.annotations[0]?`«`+t.classData.annotations[0]+`»`:``,t.labelStyle,!0,!0),_=g.getBBox();if(o(f())){let e=g.children[0],t=n(g);_=e.getBoundingClientRect(),t.attr(`width`,_.width),t.attr(`height`,_.height)}t.classData.annotations[0]&&(d+=_.height+4,u+=_.width);let v=t.classData.label;t.classData.type!==void 0&&t.classData.type!==``&&(o(f())?v+=`&lt;`+t.classData.type+`&gt;`:v+=`<`+t.classData.type+`>`);let y=await U(p,v,t.labelStyle,!0,!0);n(y).attr(`class`,`classTitle`);let b=y.getBBox();if(o(f())){let e=y.children[0],t=n(y);b=e.getBoundingClientRect(),t.attr(`width`,b.width),t.attr(`height`,b.height)}d+=b.height+4,b.width>u&&(u=b.width);let x=[];t.classData.members.forEach(async e=>{let r=e.getDisplayDetails(),i=r.displayText;o(f())&&(i=i.replace(/</g,`&lt;`).replace(/>/g,`&gt;`));let a=await U(p,i,r.cssStyle?r.cssStyle:t.labelStyle,!0,!0),s=a.getBBox();if(o(f())){let e=a.children[0],t=n(a);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}s.width>u&&(u=s.width),d+=s.height+4,x.push(a)}),d+=8;let S=[];if(t.classData.methods.forEach(async e=>{let r=e.getDisplayDetails(),i=r.displayText;o(f())&&(i=i.replace(/</g,`&lt;`).replace(/>/g,`&gt;`));let a=await U(p,i,r.cssStyle?r.cssStyle:t.labelStyle,!0,!0),s=a.getBBox();if(o(f())){let e=a.children[0],t=n(a);s=e.getBoundingClientRect(),t.attr(`width`,s.width),t.attr(`height`,s.height)}s.width>u&&(u=s.width),d+=s.height+4,S.push(a)}),d+=8,h){let e=(u-_.width)/2;n(g).attr(`transform`,`translate( `+(-1*u/2+e)+`, `+-1*d/2+`)`),m=_.height+4}let C=(u-b.width)/2;return n(y).attr(`transform`,`translate( `+(-1*u/2+C)+`, `+(-1*d/2+m)+`)`),m+=b.height+4,c.attr(`class`,`divider`).attr(`x1`,-u/2-r).attr(`x2`,u/2+r).attr(`y1`,-d/2-r+8+m).attr(`y2`,-d/2-r+8+m),m+=8,x.forEach(e=>{n(e).attr(`transform`,`translate( `+-u/2+`, `+(-1*d/2+m+8/2)+`)`);let t=e?.getBBox();m+=(t?.height??0)+4}),m+=8,l.attr(`class`,`divider`).attr(`x1`,-u/2-r).attr(`x2`,u/2+r).attr(`y1`,-d/2-r+8+m).attr(`y2`,-d/2-r+8+m),m+=8,S.forEach(e=>{n(e).attr(`transform`,`translate( `+-u/2+`, `+(-1*d/2+m)+`)`);let t=e?.getBBox();m+=(t?.height??0)+4}),s.attr(`style`,t.style).attr(`class`,`outer title-state`).attr(`x`,-u/2-r).attr(`y`,-(d/2)-r).attr(`width`,u+t.padding).attr(`height`,d+t.padding),J(t,s),t.intersect=function(e){return K.rect(t,e)},a},`class_box`)},Q={},qt=r(async(e,t,n)=>{let r,i;if(t.link){let a;f().securityLevel===`sandbox`?a=`_top`:t.linkTarget&&(a=t.linkTarget||`_blank`),r=e.insert(`svg:a`).attr(`xlink:href`,t.link).attr(`target`,a),i=await Kt[t.shape](r,t,n)}else i=await Kt[t.shape](e,t,n),r=i;return t.tooltip&&i.attr(`title`,t.tooltip),t.class&&i.attr(`class`,`node default `+t.class),Q[t.id]=r,t.haveCallback&&Q[t.id].attr(`class`,Q[t.id].attr(`class`)+` clickable`),r},`insertNode`),Jt=r(e=>{let t=Q[e.id];i.trace(`Transforming node`,e.diff,e,`translate(`+(e.x-e.width/2-5)+`, `+e.width/2+`)`);let n=e.diff||0;return e.clusterNode?t.attr(`transform`,`translate(`+(e.x+n-e.width/2)+`, `+(e.y-e.height/2-8)+`)`):t.attr(`transform`,`translate(`+e.x+`, `+e.y+`)`),n},`positionNode`);function Yt(e,t,n=!1){let r=e,i=`default`;(r?.classes?.length||0)>0&&(i=(r?.classes??[]).join(` `)),i+=` flowchart-label`;let a=0,o=``,s;switch(r.type){case`round`:a=5,o=`rect`;break;case`composite`:a=0,o=`composite`,s=0;break;case`square`:o=`rect`;break;case`diamond`:o=`question`;break;case`hexagon`:o=`hexagon`;break;case`block_arrow`:o=`block_arrow`;break;case`odd`:o=`rect_left_inv_arrow`;break;case`lean_right`:o=`lean_right`;break;case`lean_left`:o=`lean_left`;break;case`trapezoid`:o=`trapezoid`;break;case`inv_trapezoid`:o=`inv_trapezoid`;break;case`rect_left_inv_arrow`:o=`rect_left_inv_arrow`;break;case`circle`:o=`circle`;break;case`ellipse`:o=`ellipse`;break;case`stadium`:o=`stadium`;break;case`subroutine`:o=`subroutine`;break;case`cylinder`:o=`cylinder`;break;case`group`:o=`rect`;break;case`doublecircle`:o=`doublecircle`;break;default:o=`rect`}let l=se(r?.styles??[]),u=r.label,d=r.size??{width:0,height:0,x:0,y:0},f=t.getDiagramId();return{labelStyle:l.labelStyle,shape:o,labelText:u,rx:a,ry:a,class:i,style:l.style,id:r.id,domId:f?`${f}-${r.id}`:r.id,directions:r.directions,width:d.width,height:d.height,x:d.x,y:d.y,positioned:n,intersect:void 0,type:r.type,padding:s??c()?.block?.padding??0,widthInColumns:r.widthInColumns??1}}r(Yt,`getNodeFromBlock`);async function Xt(e,t,n){let r=Yt(t,n,!1);if(r.type===`group`)return;let i=await qt(e,r,{config:c()}),a=i.node().getBBox(),o=n.getBlock(r.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},n.setBlock(o),i.remove()}r(Xt,`calculateBlockSize`);async function Zt(e,t,n){let r=Yt(t,n,!0);n.getBlock(r.id).type!==`space`&&(await qt(e,r,{config:c()}),t.intersect=r?.intersect,Jt(r))}r(Zt,`insertBlockPositioned`);async function $(e,t,n,r){for(let i of t)await r(e,i,n),i.children&&await $(e,i.children,n,r)}r($,`performOperations`);async function Qt(e,t,n){await $(e,t,n,Xt)}r(Qt,`calculateBlockSizes`);async function $t(e,t,n){await $(e,t,n,Zt)}r($t,`insertBlocks`);async function en(e,t,n,r,i){let a=new ge({multigraph:!0,compound:!0});a.setGraph({rankdir:`TB`,nodesep:10,ranksep:10,marginx:8,marginy:8});for(let e of n)e.size&&a.setNode(e.id,{width:e.size.width,height:e.size.height,intersect:e.intersect});for(let n of t)if(n.start&&n.end){let t=r.getBlock(n.start),o=r.getBlock(n.end);if(t?.size&&o?.size){let r=t.size,s=o.size,c=[{x:r.x,y:r.y},{x:r.x+(s.x-r.x)/2,y:r.y+(s.y-r.y)/2},{x:s.x,y:s.y}],l=i?`${i}-${n.id}`:n.id,u=`${n.thickness===`thick`?`edge-thickness-thick`:`edge-thickness-normal`} ${n.pattern===`dotted`?`edge-pattern-dotted`:`edge-pattern-solid`} flowchart-link LS-a1 LE-b1`;lt(e,{v:n.start,w:n.end,name:l},{...n,id:l,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:u},void 0,`block`,a,i),n.label&&(await it(e,{...n,label:n.label,labelStyle:`stroke: #333; stroke-width: 1.5px;fill:none;`,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:u}),at({...n,x:c[1].x,y:c[1].y},{originalPath:c}))}}}r(en,`insertEdges`);var tn={parser:Te,db:We,renderer:{draw:r(async function(e,t,r,a){let{securityLevel:o,block:s}=c(),u=a.db;u.setDiagramId(t);let d;o===`sandbox`&&(d=n(`#i`+t));let f=n(o===`sandbox`?d.nodes()[0].contentDocument.body:`body`),p=o===`sandbox`?f.select(`[id="${t}"]`):n(`[id="${t}"]`);Je(p,[`point`,`circle`,`cross`],a.type,t);let m=u.getBlocks(),h=u.getBlocksFlat(),g=u.getEdges(),_=p.insert(`g`).attr(`class`,`block`);await Qt(_,m,u);let v=$e(u);if(await $t(_,m,u),await en(_,g,h,u,t),v){let e=v,t=Math.max(1,Math.round(.125*(e.width/e.height))),n=e.height+t+10,r=e.width+10,{useMaxWidth:a}=s;l(p,n,r,!!a),i.debug(`Here Bounds`,v,e),p.attr(`viewBox`,`${e.x-5} ${e.y-5} ${e.width+10} ${e.height+10}`)}},`draw`),getClasses:r(function(e,t){return t.db.getClasses()},`getClasses`)},styles:Ge};export{tn as diagram};
@@ -1 +0,0 @@
1
- import{at as e,ot as t}from"./chunk-CSCIHK7Q-DfSAlgJl.js";var n=(n,r)=>t.lang.round(e.parse(n)[r]);export{n as t};
@@ -1 +0,0 @@
1
- import{u as e}from"./vendor-charts-fo4ZbB_t.js";import{n as t}from"./src-CVz7aDdY.js";var n=t((t,n)=>{let r;return n===`sandbox`&&(r=e(`#i`+t)),e(n===`sandbox`?r.nodes()[0].contentDocument.body:`body`).select(`[id="${t}"]`)},`getDiagramElement`);export{n as t};
@@ -1,2 +0,0 @@
1
- import{At as e,Ct as t,Dt as n,Et as r,St as i,Tt as a,_t as o,bt as s,dt as c,ft as l,gt as u,ht as ee,lt as te,mt as ne,pt as re,u as ie,ut as ae,vt as oe,wt as se,xt as ce,yt as le}from"./vendor-charts-fo4ZbB_t.js";import{n as d,r as f}from"./src-CVz7aDdY.js";import{R as ue,h as p,p as de,r as fe,s as m}from"./chunk-CSCIHK7Q-DfSAlgJl.js";import{t as pe}from"./dist-Cna34lZe.js";function h(e){if(typeof e!=`object`||!e)return!1;if(Object.getPrototypeOf(e)===null)return!0;if(Object.prototype.toString.call(e)!==`[object Object]`){let t=e[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable?!1:e.toString()===`[object ${t}]`}let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function me(){}function g(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function _(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var v=`[object RegExp]`,y=`[object String]`,b=`[object Number]`,x=`[object Boolean]`,S=`[object Arguments]`,he=`[object Symbol]`,ge=`[object Date]`,_e=`[object Map]`,ve=`[object Set]`,ye=`[object Array]`,be=`[object ArrayBuffer]`,xe=`[object Object]`,Se=`[object DataView]`,Ce=`[object Uint8Array]`,we=`[object Uint8ClampedArray]`,C=`[object Uint16Array]`,w=`[object Uint32Array]`,T=`[object Int8Array]`,E=`[object Int16Array]`,D=`[object Int32Array]`,O=`[object Float32Array]`,k=`[object Float64Array]`,A=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})()||Function(`return this`)();function j(e){return A.Buffer!==void 0&&A.Buffer.isBuffer(e)}function Te(e){return Number.isSafeInteger(e)&&e>=0}function M(e){return e!=null&&typeof e!=`function`&&Te(e.length)}function Ee(e){return e===`__proto__`}function N(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function P(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function De(e,t){return F(e,void 0,e,new Map,t)}function F(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(N(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=F(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,F(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(F(a,void 0,n,r,i));return t}if(j(e))return e.subarray();if(P(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=F(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),I(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),I(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),I(t,e,n,r,i),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,I(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),I(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),I(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),I(t,e,n,r,i),t}if(typeof e==`object`&&Oe(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),I(t,e,n,r,i),t}return e}function I(e,t,n=e,r,i){let a=[...Object.keys(t),...g(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=F(t[s],s,n,r,i))}}function Oe(e){switch(_(e)){case S:case ye:case be:case Se:case x:case ge:case O:case k:case T:case E:case D:case _e:case b:case xe:case v:case ve:case y:case he:case Ce:case we:case C:case w:return!0;default:return!1}}function ke(e,t){return De(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(_(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),I(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case b:case y:case x:{let t=new e.constructor(e?.valueOf());return I(t,e),t}case S:{let t={};return I(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function L(e){return ke(e)}function R(e){return typeof e==`object`&&!!e&&_(e)===`[object Arguments]`}function z(e){return typeof e==`object`&&!!e}function Ae(e){return z(e)&&M(e)}function B(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(`Expected a function`);let n=function(...r){let i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);let o=e.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(B.Cache||Map),n}B.Cache=Map;function V(e){return P(e)}function je(e){if(N(e))return e;if(Array.isArray(e)||P(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e);if(t==null)return Object.assign(Object.create(t),e);let n=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new n(e);if(e instanceof RegExp){let t=new n(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new n(e.buffer.slice(0));if(e instanceof Error){let t;return t=e instanceof AggregateError?new n(e.errors,e.message,{cause:e.cause}):new n(e.message,{cause:e.cause}),t.stack=e.stack,Object.assign(t,e),t}return typeof File<`u`&&e instanceof File?new n([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e==`object`?Object.assign(Object.create(t),e):e}function Me(e,...t){let n=t.slice(0,-1),r=t[t.length-1],i=e;for(let e=0;e<n.length;e++){let t=n[e];i=H(i,t,r,new Map)}return i}function H(e,t,n,r){if(N(e)&&(e=Object(e)),typeof t!=`object`||!t)return e;if(r.has(t))return je(r.get(t));if(r.set(t,e),Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]=t[e]??void 0}let i=[...Object.keys(t),...g(t)];for(let a=0;a<i.length;a++){let o=i[a];if(Ee(o))continue;let s=t[o],c=e[o];if(R(s)&&(s={...s}),R(c)&&(c={...c}),j(s)&&(s=L(s)),Array.isArray(s))if(Array.isArray(c)){let e=[],t=Reflect.ownKeys(c);for(let n=0;n<t.length;n++){let r=t[n];e[r]=c[r]}c=e}else if(Ae(c)){let e=[];for(let t=0;t<c.length;t++)e[t]=c[t];c=e}else c=[];let l=n(c,s,o,e,t,r);l===void 0?Array.isArray(s)||z(c)&&z(s)&&(h(c)||h(s)||V(c)||V(s))?e[o]=H(c,s,n,r):c==null&&h(s)?e[o]=H({},s,n,r):c==null&&V(s)?e[o]=L(s):(c===void 0||s!==void 0)&&(e[o]=s):e[o]=l}return e}function Ne(e,...t){return Me(e,...t,me)}var Pe=pe(),Fe={curveBasis:a,curveBasisClosed:se,curveBasisOpen:t,curveBumpX:r,curveBumpY:n,curveBundle:i,curveCardinalClosed:s,curveCardinalOpen:le,curveCardinal:ce,curveCatmullRomClosed:o,curveCatmullRomOpen:u,curveCatmullRom:oe,curveLinear:e,curveLinearClosed:ee,curveMonotoneX:re,curveMonotoneY:ne,curveNatural:l,curveStep:c,curveStepAfter:te,curveStepBefore:ae},Ie=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,Le=d(function(e,t){let n=Re(e,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(n)){let e=n.map(e=>e.args);ue(e),r=fe(r,[...e])}else r=n.args;if(!r)return;let i=de(e,t),a=`config`;return r[a]!==void 0&&(i===`flowchart-v2`&&(i=`flowchart`),r[i]=r[a],delete r[a]),r},`detectInit`),Re=d(function(e,t=null){try{let n=RegExp(`[%]{2}(?![{]${Ie.source})(?=[}][%]{2}).*
2
- `,`ig`);e=e.trim().replace(n,``).replace(/'/gm,`"`),f.debug(`Detecting diagram directive${t===null?``:` type:`+t} based on the text:${e}`);let r,i=[];for(;(r=p.exec(e))!==null;)if(r.index===p.lastIndex&&p.lastIndex++,r&&!t||t&&r[1]?.match(t)||t&&r[2]?.match(t)){let e=r[1]?r[1]:r[2],t=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:e,args:t})}return i.length===0?{type:e,args:null}:i.length===1?i[0]:i}catch(n){return f.error(`ERROR: ${n.message} - Unable to parse directive type: '${t}' based on the text: '${e}'`),{type:void 0,args:null}}},`detectDirective`),ze=d(function(e){return e.replace(p,``)},`removeDirectives`),Be=d(function(e,t){for(let[n,r]of t.entries())if(r.match(e))return n;return-1},`isSubstringInArray`);function U(e,t){return e?Fe[`curve${e.charAt(0).toUpperCase()+e.slice(1)}`]??t:t}d(U,`interpolateToCurve`);function Ve(e,t){let n=e.trim();if(n)return t.securityLevel===`loose`?n:(0,Pe.sanitizeUrl)(n)}d(Ve,`formatUrl`);var He=d((e,...t)=>{let n=e.split(`.`),r=n.length-1,i=n[r],a=window;for(let t=0;t<r;t++)if(a=a[n[t]],!a){f.error(`Function name: ${e} not found in window`);return}a[i](...t)},`runFunc`);function W(e,t){return!e||!t?0:Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}d(W,`distance`);function Ue(e){let t,n=0;return e.forEach(e=>{n+=W(e,t),t=e}),G(e,n/2)}d(Ue,`traverseEdge`);function We(e){return e.length===1?e[0]:Ue(e)}d(We,`calcLabelPosition`);var Ge=d((e,t=2)=>{let n=10**t;return Math.round(e*n)/n},`roundNumber`),G=d((e,t)=>{let n,r=t;for(let t of e){if(n){let e=W(t,n);if(e===0)return n;if(e<r)r-=e;else{let i=r/e;if(i<=0)return n;if(i>=1)return{x:t.x,y:t.y};if(i>0&&i<1)return{x:Ge((1-i)*n.x+i*t.x,5),y:Ge((1-i)*n.y+i*t.y,5)}}}n=t}throw Error(`Could not find a suitable point for the given distance`)},`calculatePoint`),Ke=d((e,t,n)=>{f.info(`our points ${JSON.stringify(t)}`),t[0]!==n&&(t=t.reverse());let r=G(t,25),i=e?10:5,a=Math.atan2(t[0].y-r.y,t[0].x-r.x),o={x:0,y:0};return o.x=Math.sin(a)*i+(t[0].x+r.x)/2,o.y=-Math.cos(a)*i+(t[0].y+r.y)/2,o},`calcCardinalityPosition`);function qe(e,t,n){let r=structuredClone(n);f.info(`our points`,r),t!==`start_left`&&t!==`start_right`&&r.reverse();let i=G(r,25+e),a=10+e*.5,o=Math.atan2(r[0].y-i.y,r[0].x-i.x),s={x:0,y:0};return t===`start_left`?(s.x=Math.sin(o+Math.PI)*a+(r[0].x+i.x)/2,s.y=-Math.cos(o+Math.PI)*a+(r[0].y+i.y)/2):t===`end_right`?(s.x=Math.sin(o-Math.PI)*a+(r[0].x+i.x)/2-5,s.y=-Math.cos(o-Math.PI)*a+(r[0].y+i.y)/2-5):t===`end_left`?(s.x=Math.sin(o)*a+(r[0].x+i.x)/2-5,s.y=-Math.cos(o)*a+(r[0].y+i.y)/2-5):(s.x=Math.sin(o)*a+(r[0].x+i.x)/2,s.y=-Math.cos(o)*a+(r[0].y+i.y)/2),s}d(qe,`calcTerminalLabelPosition`);function K(e){let t=``,n=``;for(let r of e)r!==void 0&&(r.startsWith(`color:`)||r.startsWith(`text-align:`)?n=n+r+`;`:t=t+r+`;`);return{style:t,labelStyle:n}}d(K,`getStylesFromArray`);var Je=0,Ye=d(()=>(Je++,`id-`+Math.random().toString(36).substr(2,12)+`-`+Je),`generateId`);function Xe(e){let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`.charAt(Math.floor(Math.random()*16));return t}d(Xe,`makeRandomHex`);var Ze=d(e=>Xe(e.length),`random`),Qe=d(function(){return{x:0,y:0,fill:void 0,anchor:`start`,style:`#666`,width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:``}},`getTextObj`),$e=d(function(e,t){let n=t.text.replace(m.lineBreakRegex,` `),[,r]=Z(t.fontSize),i=e.append(`text`);i.attr(`x`,t.x),i.attr(`y`,t.y),i.style(`text-anchor`,t.anchor),i.style(`font-family`,t.fontFamily),i.style(`font-size`,r),i.style(`font-weight`,t.fontWeight),i.attr(`fill`,t.fill),t.class!==void 0&&i.attr(`class`,t.class);let a=i.append(`tspan`);return a.attr(`x`,t.x+t.textMargin*2),a.attr(`fill`,t.fill),a.text(n),i},`drawSimpleText`),et=B((e,t,n)=>{if(!e||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:`Arial`,joinWith:`<br/>`},n),m.lineBreakRegex.test(e)))return e;let r=e.split(` `).filter(Boolean),i=[],a=``;return r.forEach((e,o)=>{let s=J(`${e} `,n),c=J(a,n);if(s>t){let{hyphenatedStrings:r,remainingWord:o}=tt(e,t,`-`,n);i.push(a,...r),a=o}else c+s>=t?(i.push(a),a=e):a=[a,e].filter(Boolean).join(` `);o+1===r.length&&i.push(a)}),i.filter(e=>e!==``).join(n.joinWith)},(e,t,n)=>`${e}${t}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`),tt=B((e,t,n=`-`,r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:`Arial`,margin:0},r);let i=[...e],a=[],o=``;return i.forEach((e,s)=>{let c=`${o}${e}`;if(J(c,r)>=t){let e=s+1,t=i.length===e,r=`${c}${n}`;a.push(t?c:r),o=``}else o=c}),{hyphenatedStrings:a,remainingWord:o}},(e,t,n=`-`,r)=>`${e}${t}${n}${r.fontSize}${r.fontWeight}${r.fontFamily}`);function q(e,t){return Y(e,t).height}d(q,`calculateTextHeight`);function J(e,t){return Y(e,t).width}d(J,`calculateTextWidth`);var Y=B((e,t)=>{let{fontSize:n=12,fontFamily:r=`Arial`,fontWeight:i=400}=t;if(!e)return{width:0,height:0};let[,a]=Z(n),o=[`sans-serif`,r],s=e.split(m.lineBreakRegex),c=[],l=ie(`body`);if(!l.remove)return{width:0,height:0,lineHeight:0};let u=l.append(`svg`);for(let e of o){let t=0,n={width:0,height:0,lineHeight:0};for(let r of s){let o=Qe();o.text=r||`​`;let s=$e(u,o).style(`font-size`,a).style(`font-weight`,i).style(`font-family`,e),c=(s._groups||s)[0][0].getBBox();if(c.width===0&&c.height===0)throw Error(`svg element not in render tree`);n.width=Math.round(Math.max(n.width,c.width)),t=Math.round(c.height),n.height+=t,n.lineHeight=Math.round(Math.max(n.lineHeight,t))}c.push(n)}return u.remove(),c[isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]},(e,t)=>`${e}${t.fontSize}${t.fontWeight}${t.fontFamily}`),nt=class{constructor(e=!1,t){this.count=0,this.count=t?t.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{d(this,`InitIDGenerator`)}},X,rt=d(function(e){return X||=document.createElement(`div`),e=escape(e).replace(/%26/g,`&`).replace(/%23/g,`#`).replace(/%3B/g,`;`),X.innerHTML=e,unescape(X.textContent)},`entityDecode`);function it(e){return`str`in e}d(it,`isDetailedError`);var at=d((e,t,n,r)=>{if(!r)return;let i=e.node()?.getBBox();i&&e.append(`text`).text(r).attr(`text-anchor`,`middle`).attr(`x`,i.x+i.width/2).attr(`y`,-n).attr(`class`,t)},`insertTitle`),Z=d(e=>{if(typeof e==`number`)return[e,e+`px`];let t=parseInt(e??``,10);return Number.isNaN(t)?[void 0,void 0]:e===String(t)?[t,e+`px`]:[t,e]},`parseFontSize`);function Q(e,t){return Ne({},e,t)}d(Q,`cleanAndMerge`);var ot={assignWithDepth:fe,wrapLabel:et,calculateTextHeight:q,calculateTextWidth:J,calculateTextDimensions:Y,cleanAndMerge:Q,detectInit:Le,detectDirective:Re,isSubstringInArray:Be,interpolateToCurve:U,calcLabelPosition:We,calcCardinalityPosition:Ke,calcTerminalLabelPosition:qe,formatUrl:Ve,getStylesFromArray:K,generateId:Ye,random:Ze,runFunc:He,entityDecode:rt,insertTitle:at,isLabelCoordinateInPath:$,parseFontSize:Z,InitIDGenerator:nt},st=d(function(e){let t=e;return t=t.replace(/style.*:\S*#.*;/g,function(e){return e.substring(0,e.length-1)}),t=t.replace(/classDef.*:\S*#.*;/g,function(e){return e.substring(0,e.length-1)}),t=t.replace(/#\w+;/g,function(e){let t=e.substring(1,e.length-1);return/^\+?\d+$/.test(t)?`fl°°`+t+`¶ß`:`fl°`+t+`¶ß`}),t},`encodeEntities`),ct=d(function(e){return e.replace(/fl°°/g,`&#`).replace(/fl°/g,`&`).replace(/¶ß/g,`;`)},`decodeEntities`),lt=d((e,t,{counter:n=0,prefix:r,suffix:i},a)=>a||`${r?`${r}_`:``}${e}_${t}_${n}${i?`_${i}`:``}`,`getEdgeId`);function ut(e){return e??null}d(ut,`handleUndefinedAttr`);function $(e,t){let n=Math.round(e.x),r=Math.round(e.y),i=t.replace(/(\d+\.\d+)/g,e=>Math.round(parseFloat(e)).toString());return i.includes(n.toString())||i.includes(r.toString())}d($,`isLabelCoordinateInPath`);export{k as A,he as B,S as C,Se as D,x as E,b as F,_ as G,w as H,xe as I,v as L,D as M,T as N,ge as O,_e as P,ve as R,j as S,ye as T,Ce as U,C as V,we as W,et as _,ct as a,N as b,lt as c,U as d,it as f,ot as g,ze as h,Q as i,E as j,O as k,K as l,Ze as m,q as n,st as o,Z as p,J as r,Ye as s,Y as t,ut as u,V as v,be as w,M as x,R as y,y as z};