@objectstack/console 14.6.0 → 14.7.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 (271) hide show
  1. package/dist/.objectui-sha +1 -1
  2. package/dist/assets/{AdapterProvider-cnK1q1oP.js → AdapterProvider-CmeZULrO.js} +1 -1
  3. package/dist/assets/{AiPendingActionsPage-mX_Izb42.js → AiPendingActionsPage-C4Iq12It.js} +1 -1
  4. package/dist/assets/{ApiConsolePage-fUV9bmEg.js → ApiConsolePage-CVxWz2Fc.js} +1 -1
  5. package/dist/assets/AppDocsIndex-_Nk6Vrm0.js +1 -0
  6. package/dist/assets/{AppManagementPage-BRmzB5eR.js → AppManagementPage-Ds4z81em.js} +1 -1
  7. package/dist/assets/ApprovalsInboxPage-BYmqtmb8.js +1 -0
  8. package/dist/assets/{AuditLogPage-REsiCTKG.js → AuditLogPage-BY42e7b1.js} +1 -1
  9. package/dist/assets/{ComponentNavView-B4EBSM-o.js → ComponentNavView-CPizP2rl.js} +1 -1
  10. package/dist/assets/ConsoleFloatingChatbot-vRAPnn56.js +1 -0
  11. package/dist/assets/{CreateViewDialog-BhCe1ZPc.js → CreateViewDialog-C6DeiGi1.js} +1 -1
  12. package/dist/assets/DashboardView-CZ3rnuQw.js +1 -0
  13. package/dist/assets/{DeveloperHubPage-B6pD0HUk.js → DeveloperHubPage-cynqEJzi.js} +1 -1
  14. package/dist/assets/DocShell-DowMXJqg.js +1 -0
  15. package/dist/assets/{ExpressionProvider-D94jBDAc.js → ExpressionProvider-jYh8yBEi.js} +1 -1
  16. package/dist/assets/{FlowRunsPage-C4Setjuz.js → FlowRunsPage-BsxDtVro.js} +1 -1
  17. package/dist/assets/{IntegrationsPage-EOVS24Ho.js → IntegrationsPage-Dt3JjnPR.js} +1 -1
  18. package/dist/assets/{InterfaceListPage-BFlwb0U7.js → InterfaceListPage-8ZC2DL6l.js} +1 -1
  19. package/dist/assets/{ManagedByBadge-Dpgfl255.js → ManagedByBadge-DySgRsRf.js} +1 -1
  20. package/dist/assets/{MarketplaceAccessDenied-DuO_FDoh.js → MarketplaceAccessDenied-CQo3oKUv.js} +1 -1
  21. package/dist/assets/{MarketplaceInstalledPage-4MFyBXDW.js → MarketplaceInstalledPage-COPjvdZD.js} +1 -1
  22. package/dist/assets/{MarketplacePackagePage-BDeaeKiT.js → MarketplacePackagePage-BL5_Fzlm.js} +1 -1
  23. package/dist/assets/{MarketplacePage-DXMWpCHb.js → MarketplacePage-BnHkiwG_.js} +1 -1
  24. package/dist/assets/MetadataInspector-mHEFcIlV.js +1 -0
  25. package/dist/assets/{MetadataProvider-C8ABa_gQ.js → MetadataProvider-DRMpRtkE.js} +1 -1
  26. package/dist/assets/{MonacoImpl-nyLaER8_.js → MonacoImpl-_--K1JSa.js} +1 -1
  27. package/dist/assets/ObjectDataPage-D9wwntH8.js +1 -0
  28. package/dist/assets/PageView-Bvw39DGp.js +1 -0
  29. package/dist/assets/{ProfilePage-2H6e2j4o.js → ProfilePage-CkS1AQDC.js} +1 -1
  30. package/dist/assets/{PublicFormsPage-DXYBK10A.js → PublicFormsPage-onVYVDnz.js} +1 -1
  31. package/dist/assets/RecordDetailView-DsaGwX7Z.js +2 -0
  32. package/dist/assets/RecordFormPage-B8hs2UT_.js +1 -0
  33. package/dist/assets/ReportDefaultInspector-DacLe5p0.js +3 -0
  34. package/dist/assets/ReportView-C5EokVMt.js +2 -0
  35. package/dist/assets/{SearchResultsPage-B3ShD29d.js → SearchResultsPage-zgmMi_LJ.js} +1 -1
  36. package/dist/assets/{SettingsHub-DgLunUQU.js → SettingsHub-D73rzMbT.js} +1 -1
  37. package/dist/assets/{SettingsView-DFfL8vn4.js → SettingsView-BHmgUtG_.js} +1 -1
  38. package/dist/assets/{SystemHubPage-A9Z1FplZ.js → SystemHubPage-HiWUvHtN.js} +1 -1
  39. package/dist/assets/abnfDiagram-VRR7QNED-BM2gIA2H.js +1 -0
  40. package/dist/assets/appRoute-C7XNGt8B.js +1 -0
  41. package/dist/assets/architecture-TIHT7OUA-X9gN3Z_J.js +1 -0
  42. package/dist/assets/architectureDiagram-ZJ3FMSHR-wyeItulr.js +36 -0
  43. package/dist/assets/assistantBus-cGcVZa3R.js +1 -0
  44. package/dist/assets/{blockDiagram-677ZJIJ3-BmONypzo.js → blockDiagram-677ZJIJ3-BybRqe6u.js} +2 -2
  45. package/dist/assets/{c4Diagram-LMCZKHZV-DqIiaVjm.js → c4Diagram-LMCZKHZV-CZhtNS_4.js} +2 -2
  46. package/dist/assets/channel-BAx__6e1.js +1 -0
  47. package/dist/assets/{chunk-32BRIVSS-BbTX8O4m.js → chunk-32BRIVSS-CjQ2uFsO.js} +1 -1
  48. package/dist/assets/{chunk-52WLFC77-DkgICN4F.js → chunk-52WLFC77-BBx3j8yk.js} +1 -1
  49. package/dist/assets/chunk-5FCAYU7R-w3UK8d6o.js +1 -0
  50. package/dist/assets/chunk-5HE753X5-Cg3JdNF3.js +1 -0
  51. package/dist/assets/chunk-5JV3BV7I-Dm-WSvPI.js +1 -0
  52. package/dist/assets/chunk-5TONJI2A-CQhZ6bam.js +2 -0
  53. package/dist/assets/chunk-BIQX33UG-_A6SWMTr.js +1 -0
  54. package/dist/assets/{chunk-C7G6YPKG-UMP_bNDd.js → chunk-C7G6YPKG-CrZlt4pv.js} +1 -1
  55. package/dist/assets/chunk-CQNSW5MT-DaOzt4Yv.js +1 -0
  56. package/dist/assets/chunk-CYSBUYHQ-Dr63T7GU.js +1 -0
  57. package/dist/assets/chunk-EMLP6XTP-BYfeYg3o.js +1 -0
  58. package/dist/assets/{chunk-EX3LRPZG-B0dJ64Ff.js → chunk-EX3LRPZG-x9nXH4xc.js} +2 -2
  59. package/dist/assets/{chunk-FWX5IMBZ-B8cCL4T7.js → chunk-FWX5IMBZ-cqzp-iMz.js} +1 -1
  60. package/dist/assets/{chunk-HOUHSVGY-B5nScni0.js → chunk-HOUHSVGY-Bfkm0El3.js} +1 -1
  61. package/dist/assets/{chunk-ICXQ74PX-zJg8KmvA.js → chunk-ICXQ74PX-WsDRuBhL.js} +1 -1
  62. package/dist/assets/chunk-JG7HCLWE-Dj9pjBYh.js +2 -0
  63. package/dist/assets/{chunk-KEIR6QF5-CxDrFr0l.js → chunk-KEIR6QF5-DtEGfq38.js} +4 -4
  64. package/dist/assets/{chunk-MOJQB5TN-DBKCpvOi.js → chunk-MOJQB5TN-K_QM_tTs.js} +1 -1
  65. package/dist/assets/chunk-MOZMSUNE-DxgOd8pF.js +1 -0
  66. package/dist/assets/{chunk-OGEWGWER-bKk51Nxt.js → chunk-OGEWGWER-CSkoB3Mi.js} +1 -1
  67. package/dist/assets/chunk-OSBZ3O6U-BSRxNamX.js +1 -0
  68. package/dist/assets/{chunk-PUDLZKDR-CKn_9iXM.js → chunk-PUDLZKDR-BUt9iFAU.js} +3 -3
  69. package/dist/assets/{chunk-Q4XR5HBZ-BP9atbVx.js → chunk-Q4XR5HBZ-B99LraLe.js} +1 -1
  70. package/dist/assets/chunk-QBLGF6JB-Xeo4xx7q.js +1 -0
  71. package/dist/assets/chunk-R7FJI6CG-D2Ok5kyf.js +1 -0
  72. package/dist/assets/{chunk-RYQCIY6F-B5RR1tIz.js → chunk-RYQCIY6F-CdJb5y8u.js} +1 -1
  73. package/dist/assets/chunk-U6XO7XAA-Cwwl_Wmn.js +2 -0
  74. package/dist/assets/{chunk-V7JOEXUC-DTerDTcg.js → chunk-V7JOEXUC-CzVnJgzj.js} +2 -2
  75. package/dist/assets/chunk-VAUOI2AC-HYDQgaka.js +1 -0
  76. package/dist/assets/{chunk-VR4S4FIN-jB_W-MHs.js → chunk-VR4S4FIN-B2IyRlJ4.js} +1 -1
  77. package/dist/assets/{chunk-WYO6CB5R-Cndg0Yo5.js → chunk-WYO6CB5R-C0_XZtpj.js} +2 -2
  78. package/dist/assets/chunk-XXDRQBXY-CtU5D9C8.js +1 -0
  79. package/dist/assets/chunk-YOTPTUD7-7OTU2RwK.js +1 -0
  80. package/dist/assets/{chunk-ZGVPDNZ5-BUUSzPje.js → chunk-ZGVPDNZ5-Bq7O6ELQ.js} +1 -1
  81. package/dist/assets/classDiagram-OUVF2IWQ-DiVkGMIZ.js +1 -0
  82. package/dist/assets/classDiagram-v2-EOCWNBFH-DiVkGMIZ.js +1 -0
  83. package/dist/assets/cose-bilkent-JH36ORCC-DqKYLwMN.js +1 -0
  84. package/dist/assets/cynefin-VYW2F7L2-C94HS-Ni.js +1 -0
  85. package/dist/assets/cynefinDiagram-TSTJHNR4-CFApUIdk.js +62 -0
  86. package/dist/assets/cytoscape.esm-CQFVGiJu.js +321 -0
  87. package/dist/assets/{dagre-VKFMJZFB-Crs38V5P.js → dagre-VKFMJZFB-D4HlgjaA.js} +1 -1
  88. package/dist/assets/{dagre-CXRCoUWR.js → dagre-dpRSp0QF.js} +1 -1
  89. package/dist/assets/data-adapter-BaIWVzG-.js +7 -0
  90. package/dist/assets/diagram-FQU43EPY-BcnxfyH-.js +3 -0
  91. package/dist/assets/{diagram-G47NLZAW-CSNJrWDK.js → diagram-G47NLZAW-CJxJUVu9.js} +1 -1
  92. package/dist/assets/diagram-NH7WQ7WH-DmBVlyYR.js +24 -0
  93. package/dist/assets/{diagram-OA4YK3LP-C2A07yOA.js → diagram-OA4YK3LP-CkaF9SQg.js} +3 -3
  94. package/dist/assets/diagram-WEI45ONY-8cpfjoG3.js +41 -0
  95. package/dist/assets/{dist-YwlXXOlT.js → dist-B4b49_J4.js} +1 -1
  96. package/dist/assets/ebnfDiagram-CCIWWBDH-kX04JbNj.js +1 -0
  97. package/dist/assets/{erDiagram-Q63AITRT-DjK6P1sf.js → erDiagram-Q63AITRT-GjnOtXoL.js} +2 -2
  98. package/dist/assets/eventmodeling-45OFAUF4-BuchSCe8.js +1 -0
  99. package/dist/assets/{exceljs.min-Dpb6mnud.js → exceljs.min-BSnPgFSx.js} +1 -1
  100. package/dist/assets/flowDiagram-23GEKE2U-CpcHvuan.js +1 -0
  101. package/dist/assets/{framework-CWU64Lvg.js → framework-DNWcCoBP.js} +8 -8
  102. package/dist/assets/{ganttDiagram-NO4QXBWP-UPhpWlEd.js → ganttDiagram-NO4QXBWP-7HpPOGwX.js} +2 -2
  103. package/dist/assets/{getIcon-p-vXfFiY.js → getIcon-DGciRPQd.js} +1 -1
  104. package/dist/assets/gitGraph-TEB2WS4Q-B2hHXR-t.js +1 -0
  105. package/dist/assets/gitGraphDiagram-IHSO6WYX-BgBKFUwZ.js +106 -0
  106. package/dist/assets/{graphlib-B8gBHxth.js → graphlib-DS17s2tU.js} +1 -1
  107. package/dist/assets/{highlighted-body-OFNGDK62-CcYD5yKj.js → highlighted-body-OFNGDK62-obGa3VW9.js} +1 -1
  108. package/dist/assets/{i18n-DGsfMUMn.js → i18n-DzI3zFKr.js} +3 -3
  109. package/dist/assets/index-CETzvR9k.js +2 -0
  110. package/dist/assets/index-DZuzAri6.css +2 -0
  111. package/dist/assets/info-DKCQHKI2-B_PilpBz.js +1 -0
  112. package/dist/assets/infoDiagram-FWYZ7A6U-CTsG_9Mj.js +2 -0
  113. package/dist/assets/infrastructure-Bc4DRENl.js +3 -0
  114. package/dist/assets/{ishikawaDiagram-FXEZZL3T-DvmRhm8H.js → ishikawaDiagram-FXEZZL3T-DgMu6-jd.js} +2 -2
  115. package/dist/assets/{journeyDiagram-5HDEW3XC-DFf6bjOX.js → journeyDiagram-5HDEW3XC-CKI4PBJp.js} +2 -2
  116. package/dist/assets/{kanban-definition-HUTT4EX6-DLK5X8Ol.js → kanban-definition-HUTT4EX6-ChvGKWDx.js} +2 -2
  117. package/dist/assets/{katex-CddkPoXu.js → katex-B7rAX3Vi.js} +1 -1
  118. package/dist/assets/{map-DsCK-0Cs.js → map-BaFkSB1l.js} +1 -1
  119. package/dist/assets/marketplaceApi-BZG2zqqI.js +1 -0
  120. package/dist/assets/mermaid-GHXKKRXX-zDa01SPQ.js +1 -0
  121. package/dist/assets/mermaid-parser.core-B2-C9kB8.js +3 -0
  122. package/dist/assets/{mermaid.core-D3axazyv.js → mermaid.core-CskcjgHM.js} +2 -2
  123. package/dist/assets/{metadata-admin-R79BWSDJ.js → metadata-admin-B3pnFq3D.js} +10 -10
  124. package/dist/assets/{mindmap-definition-LN4V7U3C-DwbonLR_.js → mindmap-definition-LN4V7U3C-BSAiSefe.js} +2 -2
  125. package/dist/assets/packet-7NZHBO7P-qOo2g-vE.js +1 -0
  126. package/dist/assets/pegDiagram-2B236MQR-BUG9TR1Z.js +1 -0
  127. package/dist/assets/pie-RZYD4A2V-U1Vrb5_c.js +1 -0
  128. package/dist/assets/{pieDiagram-ENE6RG2P-D8jBhNXT.js → pieDiagram-ENE6RG2P-CqKv9PBi.js} +3 -3
  129. package/dist/assets/{plugin-calendar-GOvhSPjZ.js → plugin-calendar-DI8_y72D.js} +1 -1
  130. package/dist/assets/plugin-charts-8kHRsJ26.js +7 -0
  131. package/dist/assets/plugin-chatbot-5rciOKdr.js +120 -0
  132. package/dist/assets/{plugin-dashboard-N2kUovsm.js → plugin-dashboard-g6z_zZXP.js} +3 -3
  133. package/dist/assets/plugin-form-DWcrPPUr.js +1 -0
  134. package/dist/assets/plugin-gantt-BmusZEIw.js +100 -0
  135. package/dist/assets/plugin-grid-DdzrFURM.js +8 -0
  136. package/dist/assets/plugin-kanban-DtXDjkdV.js +1 -0
  137. package/dist/assets/{plugin-map-CXsqUoPv.js → plugin-map-B7RVCjPN.js} +1 -1
  138. package/dist/assets/{plugin-markdown-CFO9Lenx.js → plugin-markdown-hWqBbKBQ.js} +1 -1
  139. package/dist/assets/plugin-report-Fk8OwuMv.js +59 -0
  140. package/dist/assets/{plugin-timeline-3MSv2v9S.js → plugin-timeline-BLradJ31.js} +1 -1
  141. package/dist/assets/{plugin-tree-_3HdWuAy.js → plugin-tree-Dd-qjC-G.js} +1 -1
  142. package/dist/assets/plugin-view-Beo3HWpE.js +1 -0
  143. package/dist/assets/plugins-views-D0GqJrx_.js +4 -0
  144. package/dist/assets/preferLocal-CKqyhTP9.js +1 -0
  145. package/dist/assets/{quadrantDiagram-ABIIQ3AL-Do3adYzz.js → quadrantDiagram-ABIIQ3AL-DyfgU6pe.js} +2 -2
  146. package/dist/assets/radar-I7S5WNFK-BXCATs_F.js +1 -0
  147. package/dist/assets/railroad-3IZDKUUU-M5RydKKn.js +1 -0
  148. package/dist/assets/railroad-abnf-AHOZXSZD-Cx_YZh-R.js +1 -0
  149. package/dist/assets/railroad-ebnf-EBAXGLYW-u_O-iXWA.js +1 -0
  150. package/dist/assets/railroad-peg-LSFZ7HO6-8zQc29Q0.js +1 -0
  151. package/dist/assets/railroadDiagram-RFXS5EU6-DOOVaoMM.js +1 -0
  152. package/dist/assets/{requirementDiagram-TGXJPOKE-CClkXauU.js → requirementDiagram-TGXJPOKE-B0370dfa.js} +2 -2
  153. package/dist/assets/{sankeyDiagram-HTMAVEWB-DlUFch6E.js → sankeyDiagram-HTMAVEWB-BAioZail.js} +2 -2
  154. package/dist/assets/{sequenceDiagram-DBY2YBRQ-BEDTwji4.js → sequenceDiagram-DBY2YBRQ-B20vuf87.js} +3 -3
  155. package/dist/assets/{skeletons-ySdMMgAT.js → skeletons-Dc-JqV4x.js} +1 -1
  156. package/dist/assets/{src-D0ZYDfff.js → src-CKPhOIOh.js} +1 -1
  157. package/dist/assets/{src-CSRoqdRD.js → src-Cglm_8jd.js} +4 -4
  158. package/dist/assets/src-DZVwE2OF.js +18 -0
  159. package/dist/assets/src-DxI3szM2.js +1 -0
  160. package/dist/assets/{src-X8yirhNO.js → src-Ep8btdv1.js} +1 -1
  161. package/dist/assets/{stateDiagram-2N3HPSRC-BN6M4MGy.js → stateDiagram-2N3HPSRC-BScu2B9X.js} +1 -1
  162. package/dist/assets/stateDiagram-v2-6OUMAXLB-9fyTUlZR.js +1 -0
  163. package/dist/assets/surfaceAgent-DPt23-K5.js +1 -0
  164. package/dist/assets/swimlanes-5IMT3BWC-VepjEXMA.js +1 -0
  165. package/dist/assets/swimlanesDiagram-G3AALYLV-i6IYZT2a.js +8 -0
  166. package/dist/assets/{timeline-definition-FHXFAJF6-B6Oiv_gP.js → timeline-definition-FHXFAJF6-CvpwpY5P.js} +2 -2
  167. package/dist/assets/treeView-QDETBFTQ-BiM0w_uS.js +1 -0
  168. package/dist/assets/treemap-6X3UGDF4-CuKHZODJ.js +1 -0
  169. package/dist/assets/{types-B99y2QyO.js → types-bxB_p8fZ.js} +1 -1
  170. package/dist/assets/ui-components-CmbUYw-E.js +42 -0
  171. package/dist/assets/ui-layout-elT9p0KY.js +1 -0
  172. package/dist/assets/use-book-data-BNn214nk.js +1 -0
  173. package/dist/assets/{useMetadata-DemWIEqg.js → useMetadata-B84fbReE.js} +1 -1
  174. package/dist/assets/{useOpenRecordList-B3tjtz1e.js → useOpenRecordList-C75NAaDm.js} +1 -1
  175. package/dist/assets/{usePackageL10n-CiFMHfKe.js → usePackageL10n-DfeTyD2w.js} +1 -1
  176. package/dist/assets/useRecordApprovals-CwD1sHs0.js +1 -0
  177. package/dist/assets/utils-Bxty7IIa.js +1 -0
  178. package/dist/assets/{vendor-charts-D_CNNxD5.js → vendor-charts-HLBqza5P.js} +6 -6
  179. package/dist/assets/vendor-dndkit-DoG7p74h.js +5 -0
  180. package/dist/assets/vendor-i18n-ByHglwq-.js +1 -0
  181. package/dist/assets/{vendor-icons-core-DvLgTVYc.js → vendor-icons-core-CO5pY7RP.js} +1 -1
  182. package/dist/assets/{vendor-markdown-BJvgKhXw.js → vendor-markdown-DlkSIxwM.js} +25 -25
  183. package/dist/assets/vendor-objectstack-BjCqbVaM.js +96 -0
  184. package/dist/assets/vendor-radix-CWCRv2pn.js +46 -0
  185. package/dist/assets/{vendor-react-BGDDiZfJ.js → vendor-react-BKSb6vFP.js} +3 -3
  186. package/dist/assets/vendor-sentry-C3ouQ5cr.js +501 -0
  187. package/dist/assets/{vendor-ui-utils-BzQBRdq3.js → vendor-ui-utils-D-WJ115h.js} +1 -1
  188. package/dist/assets/{vennDiagram-L72KCM5P-DqRcgOxS.js → vennDiagram-L72KCM5P-DlCQcm_6.js} +2 -2
  189. package/dist/assets/wardley-OPB4EBWU-zwaHU-Tl.js +1 -0
  190. package/dist/assets/{wardleyDiagram-EHGQE667-BDyIMWfB.js → wardleyDiagram-EHGQE667-mesER_Po.js} +3 -3
  191. package/dist/assets/{xychartDiagram-FW5EYKEG-BRNQk20I.js → xychartDiagram-FW5EYKEG-cODEcpNB.js} +2 -2
  192. package/dist/index.html +6 -6
  193. package/package.json +1 -1
  194. package/dist/assets/AppDocsIndex-Bzh_4ehZ.js +0 -1
  195. package/dist/assets/ApprovalsInboxPage-DKgnvZ-2.js +0 -1
  196. package/dist/assets/ConsoleFloatingChatbot-BW-g5YTu.js +0 -1
  197. package/dist/assets/DashboardView-CUXRWKPH.js +0 -1
  198. package/dist/assets/MetadataInspector-YoFTAkMA.js +0 -1
  199. package/dist/assets/ObjectDataPage-BSvqdmym.js +0 -1
  200. package/dist/assets/PageView-Dlpz3HgH.js +0 -1
  201. package/dist/assets/RecordDetailView-CEdkDgV8.js +0 -9
  202. package/dist/assets/RecordFormPage-Bj3lDGqC.js +0 -1
  203. package/dist/assets/ReportDefaultInspector-BNtsE5kW.js +0 -3
  204. package/dist/assets/ReportView-COxfnluU.js +0 -2
  205. package/dist/assets/abnfDiagram-VRR7QNED-o_fBNeYD.js +0 -1
  206. package/dist/assets/appRoute-1sYdkwBz.js +0 -1
  207. package/dist/assets/architecture-TIHT7OUA-BF_0SrOH.js +0 -1
  208. package/dist/assets/architectureDiagram-ZJ3FMSHR-Bk_LES5L.js +0 -36
  209. package/dist/assets/assistantBus-BFk4fCbM.js +0 -1
  210. package/dist/assets/channel-CvRTB8GE.js +0 -1
  211. package/dist/assets/chunk-VAUOI2AC-BrcFPe7Z.js +0 -1
  212. package/dist/assets/chunk-XXDRQBXY-DGANY6E3.js +0 -1
  213. package/dist/assets/classDiagram-OUVF2IWQ-BGL42sFI.js +0 -1
  214. package/dist/assets/classDiagram-v2-EOCWNBFH-BGL42sFI.js +0 -1
  215. package/dist/assets/cose-bilkent-JH36ORCC-DJ-X6wmF.js +0 -1
  216. package/dist/assets/cynefin-VYW2F7L2-CXt4AgYW.js +0 -1
  217. package/dist/assets/cynefinDiagram-TSTJHNR4-C5mKt5aU.js +0 -62
  218. package/dist/assets/cytoscape.esm-B3I8pqwA.js +0 -321
  219. package/dist/assets/data-adapter-CAqKExcJ.js +0 -7
  220. package/dist/assets/diagram-FQU43EPY-Bkx8ccpS.js +0 -3
  221. package/dist/assets/diagram-NH7WQ7WH-PaRAbfdR.js +0 -24
  222. package/dist/assets/diagram-WEI45ONY-BEyyGNpU.js +0 -41
  223. package/dist/assets/ebnfDiagram-CCIWWBDH-CtfwkNuv.js +0 -1
  224. package/dist/assets/eventmodeling-45OFAUF4-Dmacb12o.js +0 -1
  225. package/dist/assets/flowDiagram-23GEKE2U-DfQvGNQk.js +0 -1
  226. package/dist/assets/gitGraph-TEB2WS4Q-ChM6j6Bd.js +0 -1
  227. package/dist/assets/gitGraphDiagram-IHSO6WYX-B6Qcltd9.js +0 -106
  228. package/dist/assets/index-BhMd7RVY.js +0 -2
  229. package/dist/assets/index-Dt-GIgSI.css +0 -2
  230. package/dist/assets/info-DKCQHKI2-C0RTkygr.js +0 -1
  231. package/dist/assets/infoDiagram-FWYZ7A6U-CgEoZeWY.js +0 -2
  232. package/dist/assets/infrastructure-DexdbqHf.js +0 -3
  233. package/dist/assets/marketplaceApi-1mMRJWDq.js +0 -1
  234. package/dist/assets/mermaid-GHXKKRXX-DWvjDOK-.js +0 -1
  235. package/dist/assets/mermaid-parser.core-DV_Ys_OF.js +0 -6
  236. package/dist/assets/packet-7NZHBO7P-DSHvkxBR.js +0 -1
  237. package/dist/assets/pegDiagram-2B236MQR-B4IMkAIV.js +0 -1
  238. package/dist/assets/pie-RZYD4A2V-DjNUdL88.js +0 -1
  239. package/dist/assets/plugin-charts-DPNohuuV.js +0 -7
  240. package/dist/assets/plugin-chatbot-BT49v2CR.js +0 -120
  241. package/dist/assets/plugin-form-QFhBvb96.js +0 -1
  242. package/dist/assets/plugin-gantt-2HGBxhYq.js +0 -93
  243. package/dist/assets/plugin-grid-qkHiovZ2.js +0 -8
  244. package/dist/assets/plugin-kanban-D8kWLfql.js +0 -1
  245. package/dist/assets/plugin-report-CH4uZunJ.js +0 -59
  246. package/dist/assets/plugin-view-CTBpbehM.js +0 -1
  247. package/dist/assets/plugins-views-BxKprmRN.js +0 -4
  248. package/dist/assets/radar-I7S5WNFK-qO0bWLwF.js +0 -1
  249. package/dist/assets/railroad-3IZDKUUU-CAj9esX-.js +0 -1
  250. package/dist/assets/railroad-abnf-AHOZXSZD-Ci_Yg729.js +0 -1
  251. package/dist/assets/railroad-ebnf-EBAXGLYW-Tz7H2Jrw.js +0 -1
  252. package/dist/assets/railroad-peg-LSFZ7HO6-BJIalSaK.js +0 -1
  253. package/dist/assets/railroadDiagram-RFXS5EU6-DDA7XtKq.js +0 -1
  254. package/dist/assets/recordFormNavigation-8nEYNxNo.js +0 -1
  255. package/dist/assets/src-TG89vY9R.js +0 -18
  256. package/dist/assets/stateDiagram-v2-6OUMAXLB-DCaXJLPh.js +0 -1
  257. package/dist/assets/surfaceAgent-qmokOosD.js +0 -1
  258. package/dist/assets/swimlanes-5IMT3BWC-Bycq06w3.js +0 -1
  259. package/dist/assets/swimlanesDiagram-G3AALYLV-DWFAvAh7.js +0 -8
  260. package/dist/assets/treeView-QDETBFTQ-Cc2FYETg.js +0 -1
  261. package/dist/assets/treemap-6X3UGDF4-a4EjGpO3.js +0 -1
  262. package/dist/assets/ui-components-DHIW7RSX.js +0 -42
  263. package/dist/assets/ui-layout-DeDkO2oG.js +0 -1
  264. package/dist/assets/useRecordApprovals-R3Q7Bt7f.js +0 -1
  265. package/dist/assets/utils-Bixzg6Bz.js +0 -1
  266. package/dist/assets/vendor-dndkit-CzBh0_98.js +0 -5
  267. package/dist/assets/vendor-i18n-B6GOGCem.js +0 -1
  268. package/dist/assets/vendor-objectstack-6Mgxtaa1.js +0 -96
  269. package/dist/assets/vendor-radix-DCTEpigg.js +0 -46
  270. package/dist/assets/vendor-sentry-CHRc7_3y.js +0 -501
  271. package/dist/assets/wardley-OPB4EBWU-CuNyH0xZ.js +0 -1
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-DAXXjFlN.js";import{r as t,y as n}from"./vendor-react-BKSb6vFP.js";import{n as r}from"./infrastructure-Bc4DRENl.js";import{K as i,N as a,Y as o,o as s,ot as c,qt as l,rt as u}from"./framework-DNWcCoBP.js";import{u as d}from"./vendor-objectstack-BjCqbVaM.js";import{Bs as f,Bt as p,Cr as m,Gn as h,Gt as g,Ha as _,Hs as v,Ht as y,Ic as b,Kt as x,Ti as S,Us as C,Ut as w,Va as T,Vs as E,Vt as D,W as O,Wt as k,Xn as A,Yn as j,_r as ee,ar as M,b as N,br as P,dt as F,en as I,ft as L,gr as te,h as R,hr as z,ir as B,js as V,kc as H,mr as ne,nn as re,nr as U,pt as W,qn as ie,rr as G,s as ae,t as oe,tn as K,tr as q,ut as se,vr as ce,xr as le,yr as ue}from"./ui-components-CmbUYw-E.js";import{r as J}from"./vendor-ui-utils-D-WJ115h.js";var Y=e(n(),1);function X(e){try{return typeof window>`u`?!1:new URL(e,window.location.href).origin===window.location.origin}catch{return!1}}function de(e,t){if(!e)return null;let n=t?.id??t?.recordId??t?._id;if(n==null||n===``)return null;let r=e.replace(/\{(?:id|recordId)\}/g,String(n));return X(r)?r:null}var Z=t(),fe=({label:e,description:t,collapsible:n=!1,collapsed:r=!1,columns:i=1,children:a,className:o,gridClassName:s,showBorder:c})=>{let[l,u]=(0,Y.useState)(r),d={1:`grid-cols-1`,2:`grid-cols-1 md:grid-cols-2`,3:`grid-cols-1 md:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 md:grid-cols-2 lg:grid-cols-4`},p=()=>{n&&u(!l)},m=c??!!e,h=e||t?(0,Z.jsxs)(`div`,{className:H(`flex items-start gap-2`,!m&&`mb-4`,n&&`cursor-pointer select-none`),onClick:p,role:n?`button`:void 0,"aria-expanded":n?!l:void 0,children:[n&&(0,Z.jsx)(`span`,{className:`mt-0.5 text-muted-foreground`,children:l?(0,Z.jsx)(f,{className:`h-4 w-4`}):(0,Z.jsx)(E,{className:`h-4 w-4`})}),(0,Z.jsxs)(`div`,{className:`flex-1`,children:[e&&(0,Z.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:e}),t&&(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground mt-0.5`,children:t})]})]}):null,g=l?null:(0,Z.jsx)(`div`,{className:H(`grid gap-4`,s||d[i]),children:a});return m?(0,Z.jsxs)(q,{className:H(`form-section bg-muted/40 shadow-none`,o),children:[h&&(0,Z.jsx)(B,{className:`border-b border-border pb-3`,children:h}),g&&(0,Z.jsx)(U,{className:`pt-4`,children:g})]}):(0,Z.jsxs)(`div`,{className:H(`form-section`,o),children:[h,g]})};function Q(e,t){return typeof t==`string`&&t.trim()||typeof t==`object`&&t&&typeof t.source==`string`&&t.source.trim()?{...e,visibleOn:t}:e}function pe(e,t){let n=t.objectSchema?.fields?.[e];return n?{name:e,label:t.fieldLabel(t.objectName,e,n.label||e),type:R(n.type),required:n.required||!1,disabled:t.readOnly||t.mode===`view`||n.readonly,placeholder:n.placeholder,description:n.help||n.description,validation:oe(n),field:n,options:n.options,multiple:n.multiple,visibleWhen:n.visibleWhen,readonlyWhen:n.readonlyWhen,requiredWhen:n.requiredWhen,conditionalRequired:n.conditionalRequired}:{name:e,label:e,type:`input`}}function me(e,t){if(typeof e==`string`){let n=t.objectSchema?.fields?.[e];return Q(pe(e,t),n?.visible_on??n?.visibleOn)}let n=e;if(typeof n.field!=`string`)return Q(n,n.visibleOn);let r=n.field,i=pe(r,t);return n.type!=null&&(i.type=R(n.type)),n.widget!=null&&(i.widget=n.widget),n.label!=null&&(i.label=n.label),n.placeholder!=null&&(i.placeholder=n.placeholder),n.helpText!=null&&(i.description=n.helpText),n.required!=null&&(i.required=n.required),n.readonly!=null&&(i.disabled=n.readonly||i.disabled),n.immutable!=null&&(i.immutable=n.immutable),n.hidden!=null&&(i.hidden=n.hidden),n.colSpan!=null&&(i.colSpan=n.colSpan),n.span!=null&&(i.span=n.span),n.options!=null&&(i.options=n.options),n.multiple!=null&&(i.multiple=n.multiple),n.reference!=null&&(i.reference=n.reference),n.maxLength!=null&&(i.maxLength=n.maxLength),n.minLength!=null&&(i.minLength=n.minLength),n.min!=null&&(i.min=n.min),n.max!=null&&(i.max=n.max),n.precision!=null&&(i.precision=n.precision),n.scale!=null&&(i.scale=n.scale),n.language!=null&&(i.language=n.language),Array.isArray(n.fields)&&(i.fields=n.fields),Q(i,n.visibleOn)}function he(e,t){return(e.fields??[]).map(e=>me(e,t))}var ge=new Set([`field:formula`,`field:summary`,`field:auto_number`,`field:autonumber`]),_e=new Set([`field:textarea`,`field:markdown`,`field:html`,`field:grid`,`field:rich-text`,`textarea`,`markdown`,`html`,`grid`,`rich-text`]),ve=new Set([`formula`,`summary`,`auto_number`,`autonumber`]);function ye(e){return _e.has(e)}function be(e){return ve.has(e)}function xe(e){return e<=3?1:e<=8?2:e<=15?3:4}function Se(e){return e&&e>0?Math.min(Math.floor(e),4):1}function Ce(e,t,n){let r=Se(t);return r<=1?1:e.span===`full`?r:e.colSpan==null?e.type&&ye(e.type)?r:Math.min(r,Math.max(1,Math.round(r/Math.min(Math.max(1,Math.floor(n||r)),r)))):Math.min(Math.max(1,Math.floor(e.colSpan)),r)}function we(e,t,n){let r=Se(t);return r<=1?e:e.map(e=>{if(e.type===`section-divider`)return e;let t=Ce(e,r,n);return t>1?{...e,colSpan:t}:e.colSpan!=null&&e.colSpan!==1?{...e,colSpan:1}:e})}var Te=new Set([`id`,`created_at`,`createdAt`,`updated_at`,`updatedAt`,`last_modified_at`,`lastModifiedAt`,`deleted_at`,`deletedAt`,`created_by`,`createdBy`,`updated_by`,`updatedBy`,`last_modified_by`,`lastModifiedBy`,`organization_id`,`organizationId`,`org_id`,`orgId`,`tenant_id`,`tenantId`,`owner`,`owner_id`,`_version`,`_rev`]);function Ee(e,t){return e.filter(e=>{if(Te.has(e.name))return!1;let n=t?.fields?.[e.name];return!(n?.hidden===!0||n?.readonly===!0)})}function De(e,t){return e.filter(e=>{if(e.type&&ge.has(e.type))return!1;let n=t?.fields?.[e.name];return!n||!be(n.type)})}var Oe={1:void 0,2:`grid gap-4 grid-cols-1 @md:grid-cols-2`,3:`grid gap-4 grid-cols-1 @md:grid-cols-2 @2xl:grid-cols-3`,4:`grid gap-4 grid-cols-1 @md:grid-cols-2 @2xl:grid-cols-3 @4xl:grid-cols-4`};function ke(e){return Oe[e&&e>0?Math.min(Math.floor(e),4):1]}function Ae(e,t){let n=t&&t>1?Math.min(Math.floor(t),4):1,r=n>1?we(e,n):e,i=ke(n);return{fields:r,columns:n,...i?{fieldContainerClass:i}:{}}}function je(e){return e<=1?`default`:e===2?`xl`:`full`}function Me(e,t,n,r){let i=[...e];if(i=Ee(i,t),r===`create`&&(i=De(i,t)),n!==void 0)return i=we(i,n),{fields:i,columns:n};let a=xe(i.length);return i=we(i,a),{fields:i,columns:a}}var Ne=({schema:e,dataSource:t,className:n})=>{let{fieldLabel:r}=b(),[i,a]=(0,Y.useState)(null),[s,c]=(0,Y.useState)({}),[l,u]=(0,Y.useState)(!0),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(e.defaultTab||e.sections[0]?.name||e.sections[0]?.label||`tab-0`);Y.useEffect(()=>{(async()=>{if(!t){u(!1);return}try{let n=await t.getObjectSchema(e.objectName);a(n)}catch(e){f(e)}})()},[e.objectName,t]),Y.useEffect(()=>{(i||!t)&&(async()=>{if(e.mode===`create`||!e.recordId||!t){c(e.initialData||e.initialValues||{}),u(!1);return}try{let n=await t.findOne(e.objectName,e.recordId);c(n||{})}catch(e){f(e)}finally{u(!1)}})()},[i,e.mode,e.recordId,e.initialData,e.initialValues,t,e.objectName]);let h=(0,Y.useCallback)(t=>he(t,{objectSchema:i,objectName:e.objectName,readOnly:e.readOnly,mode:e.mode,fieldLabel:r}),[i,e.readOnly,e.mode,e.objectName,r]),g=(0,Y.useCallback)(async n=>{if(!t)return e.onSuccess&&await e.onSuccess(n),n;try{let r;return e.mode===`create`?r=await t.create(e.objectName,n):e.mode===`edit`&&e.recordId&&(r=await t.update(e.objectName,e.recordId,n)),e.onSuccess&&await e.onSuccess(r),r}catch(t){throw e.onError&&e.onError(t),t}},[e,t]),_=(0,Y.useCallback)(()=>{e.onCancel&&e.onCancel()},[e]),v=(e,t)=>e.name||e.label||`tab-${t}`;if(d)return(0,Z.jsxs)(`div`,{className:`p-4 border border-red-300 bg-red-50 rounded-md`,children:[(0,Z.jsx)(`h3`,{className:`text-red-800 font-semibold`,children:`Error loading form`}),(0,Z.jsx)(`p`,{className:`text-red-600 text-sm mt-1`,children:d.message})]});if(l)return(0,Z.jsxs)(`div`,{className:`p-8 text-center`,children:[(0,Z.jsx)(`div`,{className:`inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900`}),(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:`Loading form...`})]});let y={type:`form`,fields:e.sections.flatMap(e=>h(e)),layout:`vertical`,defaultValues:s,submitLabel:e.submitText||(e.mode===`create`?`Create`:`Update`),cancelLabel:e.cancelText,showSubmit:e.showSubmit!==!1&&e.mode!==`view`,showCancel:e.showCancel!==!1,onSubmit:g,onCancel:_},x=e.tabPosition===`left`||e.tabPosition===`right`;return(0,Z.jsx)(`div`,{className:H(`w-full`,n,e.className),children:(0,Z.jsxs)(se,{value:p,onValueChange:m,orientation:x?`vertical`:`horizontal`,className:H(x&&`flex gap-4`),children:[(0,Z.jsx)(L,{className:H(x?`flex-col h-auto`:``,e.tabPosition===`bottom`&&`order-last`,e.tabPosition===`right`&&`order-last`),children:e.sections.map((e,t)=>(0,Z.jsx)(W,{value:v(e,t),className:x?`w-full justify-start`:``,children:e.label||`Tab ${t+1}`},v(e,t)))}),(0,Z.jsx)(`div`,{className:`flex-1`,children:e.sections.map((t,n)=>(0,Z.jsx)(F,{value:v(t,n),className:`mt-0`,children:(0,Z.jsx)(fe,{description:t.description,columns:1,className:t.className,gridClassName:t.gridClassName,children:(0,Z.jsx)(o,{schema:{...y,...Ae(h(t),t.columns||1),showSubmit:e.showSubmit!==!1&&e.mode!==`view`,showCancel:e.showCancel!==!1}})})},v(t,n)))})]})})},Pe=({schema:e,dataSource:t,className:n})=>{let{fieldLabel:r}=b(),[i,a]=(0,Y.useState)(null),[s,c]=(0,Y.useState)({}),[l,u]=(0,Y.useState)(!0),[d,p]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(0),[y,x]=(0,Y.useState)(new Set),[S,w]=(0,Y.useState)(!1),[T,E]=(0,Y.useState)(null),D=Y.useId(),[O,k]=(0,Y.useState)(0),A=Y.useRef(!1),j=e.sections.length,ee=h===0,M=h===j-1;Y.useEffect(()=>{(async()=>{if(!t){u(!1);return}try{let n=await t.getObjectSchema(e.objectName);a(n)}catch(e){p(e)}})()},[e.objectName,t]),Y.useEffect(()=>{(i||!t)&&(async()=>{if(e.mode===`create`||!e.recordId||!t){A.current||=(c(e.initialData||e.initialValues||{}),!0),u(!1);return}try{let n=await t.findOne(e.objectName,e.recordId);c(n||{})}catch(e){p(e)}finally{u(!1)}})()},[i,e.mode,e.recordId,e.initialData,e.initialValues,t,e.objectName]);let N=(0,Y.useCallback)(t=>he(t,{objectSchema:i,objectName:e.objectName,readOnly:e.readOnly,mode:e.mode,fieldLabel:r}),[i,e.readOnly,e.mode,e.objectName,r]),P=(0,Y.useMemo)(()=>h>=0&&h<j?N(e.sections[h]):[],[h,j,e.sections,N]),F=(0,Y.useCallback)(async n=>{let r={...s,...n};if(c(r),x(e=>new Set(e).add(h)),M){w(!0);try{if(!t)return e.onSuccess&&await e.onSuccess(r),r;let n;if(e.mode===`create`?n=await t.create(e.objectName,r):e.mode===`edit`&&e.recordId&&(n=await t.update(e.objectName,e.recordId,r)),e.onSuccess)await e.onSuccess(n);else if(e.submitBehavior){let t=e.submitBehavior;switch(t.kind){case`redirect`:X(t.url)&&setTimeout(()=>window.location.assign(t.url),t.delayMs??0);break;case`continue`:c({}),x(new Set),g(0),k(e=>e+1);break;default:{let n=t.kind===`thank-you`&&t.message?t.message:e.successMessage||(e.mode===`create`?`Created`:`Saved`);J.success(n),E({title:t.kind===`thank-you`?t.title:void 0,message:n});break}}}else{let t=de(e.navigateOnSuccess,n);if(t)return window.location.assign(t),n;J.success(e.successMessage||(e.mode===`create`?`Created`:`Saved`)),e.resetOnSuccess&&e.mode===`create`&&(c({}),x(new Set),g(0),k(e=>e+1))}return n}catch(t){throw e.onError&&e.onError(t),t}finally{w(!1)}}else I(h+1)},[s,h,M,e,t]),I=(0,Y.useCallback)(t=>{t>=0&&t<j&&(g(t),e.onStepChange&&e.onStepChange(t))},[j,e]),L=(0,Y.useCallback)(()=>{I(h-1)},[h,I]),te=(0,Y.useCallback)(()=>{e.onCancel&&e.onCancel()},[e]),R=(0,Y.useCallback)(t=>{(e.allowSkip||y.has(t)||t<=h)&&I(t)},[e.allowSkip,y,h,I]);if(d)return(0,Z.jsxs)(`div`,{className:`p-4 border border-red-300 bg-red-50 rounded-md`,children:[(0,Z.jsx)(`h3`,{className:`text-red-800 font-semibold`,children:`Error loading form`}),(0,Z.jsx)(`p`,{className:`text-red-600 text-sm mt-1`,children:d.message})]});if(l)return(0,Z.jsxs)(`div`,{className:`p-8 text-center`,children:[(0,Z.jsx)(`div`,{className:`inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900`}),(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:`Loading form...`})]});if(T)return(0,Z.jsx)(`div`,{className:H(`w-full`,n,e.className),children:(0,Z.jsxs)(`div`,{className:`rounded-md border bg-card p-8 text-center`,children:[(0,Z.jsx)(`h3`,{className:`text-lg font-semibold`,children:T.title??`Thanks!`}),T.message&&(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:T.message})]})});let z=e.sections[h];return(0,Z.jsxs)(`div`,{className:H(`w-full`,n,e.className),children:[e.showStepIndicator!==!1&&(0,Z.jsx)(`nav`,{"aria-label":`Progress`,className:`mb-8`,children:(0,Z.jsx)(`ol`,{className:`flex items-center`,children:e.sections.map((t,n)=>{let r=n===h,i=y.has(n),a=e.allowSkip||i||n<=h;return(0,Z.jsxs)(`li`,{className:H(`relative flex-1`,n!==j-1&&`pr-8 sm:pr-12`),children:[n!==j-1&&(0,Z.jsx)(`div`,{className:`absolute top-3 sm:top-4 left-6 -right-4 sm:left-10 sm:-right-2 h-0.5`,"aria-hidden":`true`,children:(0,Z.jsx)(`div`,{className:H(`h-full`,i?`bg-primary`:`bg-muted`)})}),(0,Z.jsxs)(`button`,{type:`button`,className:H(`group relative flex items-center`,a?`cursor-pointer`:`cursor-not-allowed`),onClick:()=>R(n),disabled:!a,children:[(0,Z.jsx)(`span`,{className:H(`flex h-6 w-6 sm:h-8 sm:w-8 items-center justify-center rounded-full text-xs sm:text-sm font-medium transition-colors`,i&&`bg-primary text-primary-foreground`,r&&!i&&`border-2 border-primary bg-background text-primary`,!r&&!i&&`border-2 border-muted bg-background text-muted-foreground`),children:i?(0,Z.jsx)(C,{className:`h-3 w-3 sm:h-4 sm:w-4`}):n+1}),(0,Z.jsx)(`span`,{className:`ml-2 sm:ml-3 text-xs sm:text-sm font-medium hidden sm:block`,children:(0,Z.jsx)(`span`,{className:H(r?`text-foreground`:`text-muted-foreground`),children:t.label||`Step ${n+1}`})})]})]},n)})})}),(0,Z.jsx)(`div`,{className:`min-h-[200px]`,children:z&&(0,Z.jsx)(fe,{label:z.label,description:z.description,columns:1,className:z.className,gridClassName:z.gridClassName,children:P.length>0?(0,Z.jsx)(o,{schema:{type:`form`,objectName:e.objectName,id:D,...Ae(P,z.columns||1),layout:`vertical`,defaultValues:s,showSubmit:!1,showCancel:!1,onSubmit:F}},O):(0,Z.jsx)(`div`,{className:`text-center py-8 text-muted-foreground`,children:`No fields configured for this step`})})}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between mt-6 pt-4 border-t`,children:[(0,Z.jsx)(`div`,{children:e.showCancel!==!1&&(0,Z.jsx)(m,{variant:`ghost`,onClick:te,children:e.cancelText||`Cancel`})}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(`span`,{className:`text-sm text-muted-foreground mr-2`,children:[`Step `,h+1,` of `,j]}),!ee&&(0,Z.jsxs)(m,{variant:`outline`,onClick:L,children:[(0,Z.jsx)(v,{className:`h-4 w-4 mr-1`}),e.prevText||`Back`]}),M?(0,Z.jsxs)(m,{type:`submit`,form:D,disabled:S||e.mode===`view`,children:[S&&(0,Z.jsx)(_,{className:`mr-2 h-4 w-4 animate-spin`,"aria-hidden":!0}),S?`Submitting...`:e.submitText||(e.mode===`create`?`Create`:`Update`)]}):(0,Z.jsxs)(m,{type:`submit`,form:D,children:[e.nextText||`Next`,(0,Z.jsx)(f,{className:`h-4 w-4 ml-1`})]})]})]})]})},Fe=({schema:e,dataSource:t,className:n})=>{let{fieldLabel:r}=b(),[i,a]=(0,Y.useState)(null),[s,c]=(0,Y.useState)({}),[l,u]=(0,Y.useState)(!0),[d,f]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{(async()=>{if(!t){u(!1);return}try{let n=await t.getObjectSchema(e.objectName);a(n)}catch(e){f(e),u(!1)}})()},[e.objectName,t]),(0,Y.useEffect)(()=>{(i||!t)&&(async()=>{if(e.mode===`create`||!e.recordId){c(e.initialData||e.initialValues||{}),u(!1);return}if(!t){c(e.initialData||e.initialValues||{}),u(!1);return}try{let n=await t.findOne(e.objectName,e.recordId);c(n||{})}catch(e){f(e)}finally{u(!1)}})()},[i,e.mode,e.recordId,e.initialData,e.initialValues,t,e.objectName]);let p=(0,Y.useCallback)(t=>he(t,{objectSchema:i,objectName:e.objectName,readOnly:e.readOnly,mode:e.mode,fieldLabel:r}),[i,e.readOnly,e.mode,e.objectName,r]),m=(0,Y.useCallback)(async n=>{if(!t)return e.onSuccess&&await e.onSuccess(n),n;try{let r;return e.mode===`create`?r=await t.create(e.objectName,n):e.mode===`edit`&&e.recordId&&(r=await t.update(e.objectName,e.recordId,n)),e.onSuccess&&await e.onSuccess(r),r}catch(t){throw e.onError&&e.onError(t),t}},[e,t]),h=(0,Y.useCallback)(()=>{e.onCancel&&e.onCancel()},[e]),g=(0,Y.useMemo)(()=>e.sections.slice(0,1),[e.sections]),_=(0,Y.useMemo)(()=>e.sections.slice(1),[e.sections]);(0,Y.useMemo)(()=>e.sections.flatMap(e=>p(e)),[e.sections,p]);let v=e.splitDirection||`horizontal`,y=e.splitSize||50;if(d)return(0,Z.jsxs)(`div`,{className:`p-4 border border-red-300 bg-red-50 rounded-md`,children:[(0,Z.jsx)(`h3`,{className:`text-red-800 font-semibold`,children:`Error loading form`}),(0,Z.jsx)(`p`,{className:`text-red-600 text-sm mt-1`,children:d.message})]});if(l)return(0,Z.jsxs)(`div`,{className:`p-8 text-center`,children:[(0,Z.jsx)(`div`,{className:`inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900`}),(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:`Loading form...`})]});let x={type:`form`,objectName:e.objectName,layout:`vertical`,defaultValues:s,onSubmit:m,onCancel:h},S=(t,n)=>(0,Z.jsx)(`div`,{className:`space-y-6 p-4`,children:t.map((t,r)=>(0,Z.jsx)(fe,{label:t.label,description:t.description,columns:1,className:t.className,gridClassName:t.gridClassName,children:(0,Z.jsx)(o,{schema:{...x,...Ae(p(t),t.columns||1),showSubmit:n&&e.showSubmit!==!1&&e.mode!==`view`,showCancel:n&&e.showCancel!==!1,submitLabel:e.submitText||(e.mode===`create`?`Create`:`Update`),cancelLabel:e.cancelText}})},t.name||t.label||r))});return(0,Z.jsx)(`div`,{className:H(`w-full`,n,e.className),children:(0,Z.jsxs)(re,{orientation:v,className:`min-h-[300px] rounded-lg border`,children:[(0,Z.jsx)(K,{defaultSize:y,minSize:20,children:S(g,_.length===0)}),_.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(I,{withHandle:e.splitResizable!==!1}),(0,Z.jsx)(K,{defaultSize:100-y,minSize:20,children:S(_,!0)})]})]})})},Ie=new Set([`id`,`_id`,`created_at`,`updated_at`,`createdAt`,`updatedAt`,`organization_id`,`organizationId`]),Le=new Set([`formula`,`summary`,`rollup`,`lookup_value`,`auto_number`,`autonumber`,`computed`]);function Re(e,t){if(!e||typeof e!=`object`)return e;let n={},r=t?.fields;for(let[t,i]of Object.entries(e))if(!Ie.has(t)){if(r){let e=r[t];if(!e)continue;let n=String(e.type||``).toLowerCase();if(Le.has(n)||e.computed===!0||e.formula||e.readOnly===!0||e.readonly===!0)continue}n[t]=i}return n}var $=e=>e==null?void 0:e.id??e._id??e.recordId,ze=(e,t)=>t?Re(e,t):e,Be=new Set([`id`,`_id`,`recordId`]);function Ve(e,t){return!e||Object.entries(e).every(([e,n])=>e===t||Be.has(e)?!0:n==null||n===``)}function He(e,t,n){let r=[{object:e,action:`create`,data:t}];for(let e of n)for(let t of e.rows)Ve(t,e.relationshipField)||r.push({object:e.childObject,action:`create`,data:{...ze(t,e.childSchema),[e.relationshipField]:{$ref:0}}});return r}function Ue(e,t,n,r){let i=[{object:e,action:`update`,id:t,data:n}];for(let e of r){let n=(e.rows||[]).map(n=>({...n,[e.relationshipField]:t})),{toCreate:r,toUpdate:a,toDelete:o}=We(e.original||[],n);for(let t of r){if(Ve(t,e.relationshipField))continue;let{id:n,_id:r,recordId:a,...o}=t;i.push({object:e.childObject,action:`create`,data:ze(o,e.childSchema)})}for(let t of a)i.push({object:e.childObject,action:`update`,id:$(t),data:ze(t,e.childSchema)});for(let t of o)i.push({object:e.childObject,action:`delete`,id:t})}return i}function We(e,t){let n=new Set(t.map($).filter(Boolean));return{toCreate:t.filter(e=>!$(e)),toUpdate:t.filter(e=>$(e)),toDelete:(e||[]).map($).filter(e=>!!e&&!n.has(e))}}function Ge(e,t){return Array.isArray(e)?e.reduce((e,n)=>{let r=Number(n?.[t]);return e+(Number.isFinite(r)?r:0)},0):0}function Ke(e){return Array.isArray(e)?e:e&&Array.isArray(e.records)?e.records:e&&Array.isArray(e.data)?e.data:e&&(e.id||e._id)?[e]:[]}async function qe(e,t,n){return n.length===0?[]:typeof e.bulk==`function`?Ke(await e.bulk(t,`create`,n)):Ke(await Promise.all(n.map(n=>e.create(t,n))))}async function Je(e,t,n,r){let i=[],a=r.rows.filter(e=>$(e)||!Ve(e,r.relationshipField)).map(e=>({...e,[r.relationshipField]:n}));if(r.original!==void 0){let{toCreate:t,toUpdate:n,toDelete:o}=We(r.original,a),s=await qe(e,r.childObject,t.map(e=>ze(e,r.childSchema)));for(let e of s){let t=$(e);t&&i.push({object:r.childObject,id:t})}await Promise.all(n.map(t=>e.update(r.childObject,$(t),ze(t,r.childSchema)))),await Promise.all(o.map(t=>e.delete(r.childObject,t)))}else{let t=await qe(e,r.childObject,a.map(e=>ze(e,r.childSchema)));for(let e of t){let t=$(e);t&&i.push({object:r.childObject,id:t})}}if(r.totalField){let i=Ge(r.rows,r.amountField||`amount`);await e.update(t,n,{[r.totalField]:i})}return{created:i}}var Ye=new Set([`id`,`_id`,`recordId`,`created_at`,`updated_at`,`created_by`,`updated_by`,`createdAt`,`updatedAt`,`createdBy`,`updatedBy`,`organization_id`,`tenant_id`,`space`,`owner`]),Xe=new Set([`position`,`sort_order`,`sequence`,`line_no`,`line_number`,`sort`]),Ze=new Set([`formula`,`summary`,`rollup`,`autonumber`,`auto_number`,`file`,`image`,`avatar`,`json`,`object`,`grid`,`table`,`location`,`vector`,`html`,`markdown`,`richtext`]);function Qe(e){switch(e){case`number`:case`percent`:case`rating`:case`slider`:return`number`;case`currency`:return`currency`;case`date`:case`datetime`:case`time`:return`date`;case`select`:case`picklist`:case`radio`:case`boolean`:case`toggle`:return`select`;case`lookup`:case`master_detail`:return`lookup`;default:return`text`}}function $e(e){if(e?.type===`boolean`||e?.type===`toggle`)return[{label:`Yes`,value:`true`},{label:`No`,value:`false`}];let t=e?.options;if(Array.isArray(t))return t.map(e=>typeof e==`object`&&e?{label:String(e.label??e.value),value:String(e.value)}:{label:String(e),value:String(e)})}function et(e,t){let n=e?.fields;if(!n||typeof n!=`object`)return;let r;for(let[e,i]of Object.entries(n)){let n=i;if(n?.reference===t){if(n?.type===`master_detail`)return e;n?.type===`lookup`&&!r&&(r=e)}}return r}var tt=[`name`,`title`,`subject`,`label`,`full_name`,`display_name`,`code`],nt={select:0,currency:1,number:1,lookup:2,date:3,text:4};function rt(e,t){if(t<=0||e.length<=t)return e;let n=new Set,r=e.find(e=>tt.includes(e.field))??e[0];r&&n.add(r.field);for(let t of e)t.required&&n.add(t.field);let i=e.map((e,t)=>({c:e,i:t})).filter(({c:e})=>!n.has(e.field)).sort((e,t)=>(nt[e.c.type]??5)-(nt[t.c.type]??5)||e.i-t.i);for(let{c:e}of i){if(n.size>=t)break;n.add(e.field)}return e.map(e=>n.has(e.field)?e:{...e,defaultHidden:!0})}function it(e,t={}){let n=e?.fields;if(!n||typeof n!=`object`)return[];let r=new Set([...t.exclude??[],...t.relationshipField?[t.relationshipField]:[]]),i=[];for(let[e,t]of Object.entries(n)){let n=t;if(Ye.has(e)||r.has(e)||Xe.has(e)||n?.system||n?.readonly||n?.hidden||Ze.has(n?.type))continue;let a={field:e,label:n?.label||e,type:Qe(n?.type),required:!!n?.required},o=$e(n);a.type===`select`&&o&&(a.options=o),a.type===`lookup`&&(a.reference=n?.reference,a.displayField=n?.display_field||n?.reference_field),n?.readonlyWhen&&(a.readonlyWhen=n.readonlyWhen),(n?.requiredWhen??n?.conditionalRequired)&&(a.requiredWhen=n.requiredWhen??n.conditionalRequired);let s=typeof n?.expression==`string`?n.expression:n?.expression?.source;s&&typeof s==`string`&&(a.computed=!0,a.expr=s,a.required=!1,typeof n?.scale==`number`&&(a.scale=n.scale)),i.push(a)}return rt(i,t.maxColumns??6)}function at(e,t){let n=e??[],r=t?.fields;return!n.length||!r||typeof r!=`object`?n:n.map(e=>{if(e.type)return e;let t=r[e.field];if(!t)return e;let n=Qe(t?.type),i={...e,type:n};i.label??=t?.label||e.field,i.required??=!!t?.required;let a=$e(t);n===`select`&&a&&!i.options&&(i.options=a),n===`lookup`&&(i.reference??=t?.reference,i.displayField??=t?.display_field||t?.reference_field),i.readonlyWhen==null&&t?.readonlyWhen&&(i.readonlyWhen=t.readonlyWhen),i.requiredWhen==null&&(t?.requiredWhen??t?.conditionalRequired)&&(i.requiredWhen=t.requiredWhen??t.conditionalRequired);let o=typeof t?.expression==`string`?t.expression:t?.expression?.source;return!i.computed&&o&&typeof o==`string`&&(i.computed=!0,i.expr=o,i.required=!1,typeof t?.scale==`number`&&(i.scale=t.scale)),i})}var ot=new Set([`formula`,`summary`,`rollup`,`autonumber`,`auto_number`]);function st(e,t={}){let n=e?.fields;if(!n||typeof n!=`object`)return[];let r=new Set([...t.exclude??[],...t.relationshipField?[t.relationshipField]:[]]),i=[];for(let[e,t]of Object.entries(n)){let n=t;Ye.has(e)||r.has(e)||Xe.has(e)||n?.system||n?.hidden||ot.has(n?.type)||i.push(e)}return i}var ct=new Set([`textarea`,`richtext`,`html`,`markdown`,`rich-text`,`file`,`image`,`avatar`,`attachment`,`json`,`location`,`address`]);function lt(e,t,n={}){if(t===`grid`||t===`form`)return t;let r=e?.fields??{},i=st(e,{relationshipField:n.relationshipField});return i.some(e=>ct.has(r[e]?.type))||i.length>8?`form`:`grid`}var ut=[`amount`,`total`,`subtotal`,`line_total`,`line_amount`,`net_amount`];function dt(e){let t=e.filter(e=>e.type===`number`||e.type===`currency`);if(t.length===0)return;let n=t.find(e=>e.computed);if(n)return n.field;let r=t.find(e=>ut.includes(e.field));if(r)return r.field;let i=[...t].reverse().find(e=>e.type===`currency`);return i?i.field:t[t.length-1].field}function ft(e,t,n,r={}){let i=r.relationshipField||et(t,n);if(!i)throw Error(`MasterDetailForm: could not find a lookup/master_detail field on "${e}" referencing "${n}". Set relationshipField explicitly.`);let a=r.columns?.length?at(r.columns,t):it(t,{relationshipField:i}),o=r.amountField||dt(a);return{childObject:e,relationshipField:i,columns:a,formFields:st(t,{relationshipField:i}),mode:lt(t,r.inlineEdit??(t?.fields)?.[i]?.inlineEdit,{relationshipField:i}),amountField:o,sortField:Object.keys(t?.fields??{}).find(e=>Xe.has(e))}}function pt(e){if(!e)return{};let t={};return e.querySelectorAll(`[name]`).forEach(e=>{let n=e.getAttribute(`name`);if(n){if(e.tagName===`INPUT`){let r=e;if(r.type===`checkbox`){t[n]=r.checked;return}if(r.type===`radio`){r.checked&&(t[n]=r.value);return}if(r.type===`number`||r.type===`range`){if(r.value===``){t[n]=null;return}let e=Number(r.value);t[n]=Number.isFinite(e)?e:r.value;return}t[n]=r.value;return}t[n]=e.value}}),t}var mt=({details:e,state:t,setRows:n,formHostRef:r,taxRateField:i,formKey:a,onRowExpand:o,onAddViaForm:s})=>{let[c,l]=(0,Y.useState)({}),u=(0,Y.useRef)(``);(0,Y.useEffect)(()=>{let e=r.current;if(!e)return;let t=()=>{let t=pt(e),n;try{n=JSON.stringify(t)}catch{n=String(Math.random())}n!==u.current&&(u.current=n,l(t))};t();let n=()=>t();e.addEventListener(`input`,n),e.addEventListener(`change`,n);let i=[120,360,800].map(e=>setTimeout(t,e));return()=>{e.removeEventListener(`input`,n),e.removeEventListener(`change`,n),i.forEach(clearTimeout)}},[r,a,e.length]);let d=c[i],f=d===void 0?null:Number.isFinite(Number(d))?Number(d):0,p=e.reduce((e,n,r)=>e+Ge(t[r]?.rows??[],n.amountField||`amount`),0),m=f!==null&&e.some(e=>!!e.amountField),h=f??0,g=h/100*p,_=p+g,v=e=>`¥${e.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`;return(0,Z.jsxs)(Z.Fragment,{children:[e.map((e,r)=>(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:e.title||`Line Items`}),e.columns?.length?(0,Z.jsx)(N,{value:t[r]?.rows??[],onChange:e=>n(r,e),contextRecord:c,...e.inlineMode===`form`||(e.formFields?.length??0)>(e.columns?.length??0)?{onRowExpand:e=>o(r,e)}:{},displayMode:e.inlineMode===`form`?`list`:`grid`,...e.inlineMode===`form`?{onAdd:()=>s(r)}:{},field:{columns:e.columns,total_field:m?void 0:e.amountField||(e.totalField?`amount`:void 0),sort_field:e.sortField,min_rows:e.minRows,max_rows:e.maxRows,add_label:e.inlineMode===`form`?e.addLabel||`Add`:e.addLabel}}):(0,Z.jsx)(`p`,{className:`py-4 text-sm text-muted-foreground`,children:`Loading columns…`})]},`${e.childObject}-${r}`)),m&&(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsxs)(`dl`,{className:`w-64 space-y-1.5 text-sm`,"data-testid":`md-totals`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`dt`,{className:`text-muted-foreground`,children:`Subtotal`}),(0,Z.jsx)(`dd`,{className:`tabular-nums`,"data-testid":`md-subtotal`,children:v(p)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsxs)(`dt`,{className:`text-muted-foreground`,children:[`Tax (`,h,`%)`]}),(0,Z.jsx)(`dd`,{className:`tabular-nums`,"data-testid":`md-tax`,children:v(g)})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border pt-1.5 text-base font-semibold`,children:[(0,Z.jsx)(`dt`,{children:`Total`}),(0,Z.jsx)(`dd`,{className:`tabular-nums`,"data-testid":`md-grand-total`,children:v(_)})]})]})})]})},ht=({schema:e,dataSource:t,className:n})=>{let r=e.details||[],i=e.mode===`edit`&&!!e.recordId,a=r.some(e=>!e.relationshipField||!e.columns?.length||e.columns.some(e=>!e.type)),[o,s]=(0,Y.useState)(a?null:r),c=o??r;(0,Y.useEffect)(()=>{if(!a){s(r);return}if(!t||typeof t.getObjectSchema!=`function`)return;let n=!1;return(async()=>{let i=await Promise.all(r.map(async n=>{let r=n.columns?.length?n.columns.every(e=>!!e.type):!1;if(n.relationshipField&&r)return n;try{let r=await t.getObjectSchema(n.childObject);if(n.relationshipField&&n.columns?.length)return{...n,columns:at(n.columns,r)};let i=ft(n.childObject,r,e.objectName,{relationshipField:n.relationshipField,columns:n.columns,amountField:n.amountField});return{...n,relationshipField:i.relationshipField,columns:i.columns,formFields:n.formFields??i.formFields,inlineMode:n.inlineMode??i.mode,amountField:n.amountField??i.amountField,sortField:n.sortField??i.sortField}}catch{return n}}));n||s(i)})(),()=>{n=!0}},[t,e.objectName,e.details]);let[l,u]=(0,Y.useState)(()=>r.map(()=>({rows:[],original:[]}))),d=(0,Y.useRef)(l);d.current=l;let f=(0,Y.useRef)({});(0,Y.useEffect)(()=>{let e=t;if(!e||typeof e.getObjectSchema!=`function`)return;let n=!1,i=Array.from(new Set(r.map(e=>e.childObject).filter(Boolean)));return(async()=>{let t=await Promise.all(i.map(async t=>{try{return[t,await e.getObjectSchema(t)]}catch{return[t,null]}}));if(n)return;let r={};for(let[e,n]of t)n&&(r[e]=n);f.current=r})(),()=>{n=!0}},[t,e.objectName,e.details]);let[p,h]=(0,Y.useState)(0),[g,_]=(0,Y.useState)(!1),v=(0,Y.useRef)(!1),y=(0,Y.useRef)(null),b=(0,Y.useCallback)(()=>{v.current=!1,_(!1),y.current&&=(clearTimeout(y.current),null)},[]);(0,Y.useEffect)(()=>{let n=!1;if(!(!i||!t))return(async()=>{let r=await Promise.all(c.map(async n=>{if(!n.relationshipField)return{rows:[],original:[]};try{let r=(await t.find(n.childObject,{$filter:{[n.relationshipField]:e.recordId},$top:500}))?.data??[];return{rows:r.map(e=>({...e})),original:r.map(e=>({...e}))}}catch{return{rows:[],original:[]}}}));n||u(r)})(),()=>{n=!0}},[i,t,e.recordId,o]);let x=(0,Y.useCallback)((e,t)=>{u(n=>n.map((n,r)=>r===e?{...n,rows:t}:n))},[]),S=e.taxRateField||`tax_rate`,[C,w]=(0,Y.useState)(null),T=C?l[C.detailIdx]?.rows?.[C.rowIdx]:void 0,E=C?c[C.detailIdx]:void 0,D=(0,Y.useCallback)((e,t,n)=>{u(r=>r.map((r,i)=>i===e?{...r,rows:r.rows.map((e,r)=>r===t?{...e,...n}:e)}:r))},[]),O=(0,Y.useCallback)(e=>{u(t=>{let n=t.map((t,n)=>n===e?{...t,rows:[...t.rows,{}]}:t),r=n[e].rows.length-1;return w({detailIdx:e,rowIdx:r,isNew:!0}),n})},[]),k=(0,Y.useCallback)(()=>{w(e=>(e?.isNew&&u(t=>t.map((t,n)=>n===e.detailIdx?{...t,rows:t.rows.filter((t,n)=>n!==e.rowIdx)}:t)),null))},[]),A=(0,Y.useCallback)(async t=>{b(),e.onSuccess||J.success(i?e.title?`${e.title} saved`:`Saved`:`Created`),i||(u(c.map(()=>({rows:[],original:[]}))),h(e=>e+1)),await e.onSuccess?.(t)},[i,e.onSuccess,e.title,c.length,b]),j=(0,Y.useCallback)(t=>{b(),J.error(t?.message||`Save failed`),e.onError?.(t)},[e,b]),ee=(0,Y.useCallback)(async n=>{let r=[];for(let a=0;a<c.length;a++){let o=c[a],{rows:s,original:l}=d.current[a];if(!o.relationshipField)continue;let{created:u}=await Je(t,e.objectName,n,{childObject:o.childObject,relationshipField:o.relationshipField,rows:s,original:i?l:void 0,amountField:o.amountField,totalField:o.totalField,childSchema:f.current[o.childObject]});r.push(...u)}return r},[c,i,t,e.objectName]),N=(0,Y.useCallback)(async n=>{let r=$(n)??e.recordId;if(!r)throw Error(`MasterDetailForm: parent record has no id after save`);if(!t)throw Error(`MasterDetailForm: dataSource is required`);let a=[];try{a=await ee(r)}catch(n){throw i||await Promise.allSettled([...a.map(e=>t.delete(e.object,e.id)),t.delete(e.objectName,r)]),n}await A(n)},[t,i,ee,e,A]),P=typeof t?.batchTransaction==`function`,F=(0,Y.useCallback)(async n=>{let r=t,a={...n};c.forEach((e,t)=>{e.totalField&&(a[e.totalField]=Ge(d.current[t]?.rows??[],e.amountField||`amount`))});let o=i?Ue(e.objectName,e.recordId,a,c.filter(e=>e.relationshipField).map((e,t)=>({childObject:e.childObject,relationshipField:e.relationshipField,rows:d.current[t]?.rows??[],original:d.current[t]?.original??[],childSchema:f.current[e.childObject]}))):He(e.objectName,a,c.filter(e=>e.relationshipField).map((e,t)=>({childObject:e.childObject,relationshipField:e.relationshipField,rows:d.current[t]?.rows??[],childSchema:f.current[e.childObject]})));return(await r.batchTransaction(o))?.results?.[0]??{...a,id:e.recordId}},[t,c,e.objectName,e.recordId,i]),I=(0,Y.useMemo)(()=>({type:`object-form`,objectName:e.objectName,mode:e.mode??`create`,recordId:e.recordId,initialValues:e.initialValues,initialData:e.initialData,formType:e.formType,sections:e.sections,fields:e.fields,title:e.title,showSubmit:!1,showCancel:!1,...P?{submitHandler:F,onSuccess:A}:{onSuccess:N},onError:j}),[e,N,P,F,A,j]),L=(0,Y.useRef)(null),te=e.submitText??(i?`Save`:`Create`),R=(0,Y.useCallback)(()=>{v.current||L.current?.querySelector(`form`)&&(v.current=!0,_(!0),setTimeout(()=>{(L.current?.querySelector(`form`))?.requestSubmit()},0),y.current=setTimeout(()=>b(),1500))},[b]);return(0,Y.useEffect)(()=>()=>{y.current&&clearTimeout(y.current)},[]),(0,Z.jsxs)(`div`,{className:H(`space-y-6`,n,e.className),children:[(0,Z.jsx)(`div`,{ref:L,children:(0,Z.jsx)(Ct,{schema:I,dataSource:t},p)}),(0,Z.jsx)(mt,{details:c,state:l,setRows:x,formHostRef:L,taxRateField:S,formKey:p,onRowExpand:(e,t)=>w({detailIdx:e,rowIdx:t}),onAddViaForm:O}),C&&E&&(0,Z.jsxs)(q,{className:`border-primary/40 shadow-none ring-1 ring-primary/10`,"data-testid":`md-row-form`,children:[(0,Z.jsxs)(B,{className:`pb-2 flex flex-row items-center justify-between gap-2 space-y-0`,children:[(0,Z.jsxs)(M,{className:`text-sm font-medium`,children:[E.title||`Line item`,` — row `,C.rowIdx+1]}),(0,Z.jsx)(m,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 text-xs text-muted-foreground`,onClick:k,children:`Close`})]}),(0,Z.jsx)(U,{children:(0,Z.jsx)(Ct,{schema:{type:`object-form`,objectName:E.childObject,mode:`edit`,initialData:T??{},...E.formFields?.length?{fields:E.formFields}:{},submitText:`Apply`,submitHandler:async e=>e,onSuccess:e=>{D(C.detailIdx,C.rowIdx,e),w(null)},onCancel:k},dataSource:t},`row-${C.detailIdx}-${C.rowIdx}`)})]}),e.showSubmit!==!1&&(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border pt-4`,children:[e.onCancel&&(0,Z.jsx)(m,{type:`button`,variant:`outline`,onClick:e.onCancel,disabled:g,"data-testid":`md-form-cancel`,children:e.cancelText??`Cancel`}),(0,Z.jsx)(m,{type:`button`,onClick:R,disabled:g||a&&!o,"data-testid":`md-form-submit`,children:g?`Saving…`:te})]})]})},gt={1:void 0,2:`grid gap-4 grid-cols-1 @md:grid-cols-2`,3:`grid gap-4 grid-cols-1 @md:grid-cols-2 @2xl:grid-cols-3`,4:`grid gap-4 grid-cols-1 @md:grid-cols-2 @2xl:grid-cols-3 @4xl:grid-cols-4`},_t=s({"form.discardTitle":`Discard changes?`,"form.discardMessage":`You have unsaved changes. If you close this form now, your edits will be lost.`,"form.keepEditing":`Keep editing`,"form.discard":`Discard`},`form.discardTitle`),vt=({schema:e,dataSource:t,className:n})=>{let{fieldLabel:r}=b(),{t:a}=_t(),s=i(),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)([]),[f,p]=(0,Y.useState)({}),[h,v]=(0,Y.useState)(!0),[S,C]=(0,Y.useState)(null),[T,E]=(0,Y.useState)(!1),[D,O]=(0,Y.useState)(!1),[A,j]=(0,Y.useState)(!1),M=(0,Y.useRef)(!1),N=e.confirmOnDiscard!==!1,F=e.open!==!1,I=e.drawerSide||`right`,L=(0,Y.useId)(),[B,V]=(0,Y.useState)(()=>{let t={};return e.sections?.forEach((e,n)=>{let r=e.name||String(n);e.collapsed&&(t[r]=!0)}),t});(0,Y.useEffect)(()=>{(async()=>{if(!t){v(!1);return}try{let n=await t.getObjectSchema(e.objectName);l(n)}catch(e){C(e),v(!1)}})()},[e.objectName,t]),(0,Y.useEffect)(()=>{(c||!t)&&(async()=>{if(e.mode===`create`||!e.recordId){p(e.initialData||e.initialValues||{}),v(!1);return}if(!t){p(e.initialData||e.initialValues||{}),v(!1);return}try{let n=await t.findOne(e.objectName,e.recordId);p(n||{})}catch(e){C(e)}finally{v(!1)}})()},[c,e.mode,e.recordId,e.initialData,e.initialValues,t,e.objectName]);let re=(0,Y.useCallback)(t=>he(t,{objectSchema:c,objectName:e.objectName,readOnly:e.readOnly,mode:e.mode,fieldLabel:r}),[c,e.readOnly,e.mode,e.objectName,r]);(0,Y.useEffect)(()=>{if(!c&&t)return;if(e.customFields?.length){d(e.customFields),v(!1);return}if(e.sections?.length){v(!1);return}if(!c)return;let n=e.fields||Object.keys(c.fields||{}),i=[];for(let t of n){let n=typeof t==`string`?t:t.name;if(!n)continue;let a=c.fields?.[n];a&&i.push({name:n,label:r(e.objectName,n,a.label||n),type:R(a.type),required:a.required||!1,disabled:e.readOnly||e.mode===`view`||a.readonly,placeholder:a.placeholder,description:a.help||a.description,validation:oe(a),field:a,options:a.options,multiple:a.multiple})}d(i),v(!1)},[c,e.fields,e.customFields,e.sections,e.readOnly,e.mode,t]);let U=(0,Y.useCallback)(async n=>{j(!0);try{if(!t)return e.onSuccess&&await e.onSuccess(n),e.onOpenChange?.(!1),n;let r,i=Re(n,c);return e.mode===`create`?r=await t.create(e.objectName,i):e.mode===`edit`&&e.recordId&&(r=await t.update(e.objectName,e.recordId,i)),e.onSuccess&&await e.onSuccess(r),e.onOpenChange?.(!1),r}catch(t){throw e.onError&&e.onError(t),t}finally{j(!1)}},[e,t,c]),W=(0,Y.useCallback)(()=>{O(!1),M.current&&(M.current=!1,e.onCancel?.()),e.onOpenChange?.(!1)},[e]),ie=(0,Y.useCallback)(e=>{M.current=e,N&&T?O(!0):W()},[N,T,W]),G=(0,Y.useCallback)(()=>{M.current=!0,W()},[W]),ae=(0,Y.useMemo)(()=>{if(e.drawerWidth)return I===`left`||I===`right`?{width:e.drawerWidth,maxWidth:e.drawerWidth}:{height:e.drawerWidth,maxHeight:e.drawerWidth}},[e.drawerWidth,I]),K=e.layout===`vertical`||e.layout===`horizontal`?e.layout:`vertical`,q=e.showSubmit!==!1&&e.mode!==`view`,se=e.showCancel!==!1,J=e.submitText||(e.mode===`create`?`Create`:`Update`),X=e.cancelText||`Cancel`,de={type:`form`,objectName:e.objectName,layout:K,defaultValues:f,submitLabel:J,cancelLabel:X,showSubmit:q,showCancel:se,onSubmit:U,onCancel:G,onDirtyChange:E,showActions:!1,id:L},fe=()=>{if(S)return(0,Z.jsxs)(`div`,{className:`p-4 border border-red-300 bg-red-50 rounded-md`,children:[(0,Z.jsx)(`h3`,{className:`text-red-800 font-semibold`,children:`Error loading form`}),(0,Z.jsx)(`p`,{className:`text-red-600 text-sm mt-1`,children:S.message})]});if(h)return(0,Z.jsxs)(`div`,{className:`p-8 text-center`,children:[(0,Z.jsx)(`div`,{className:`inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900`}),(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:`Loading form...`})]});if(e.sections?.length){let t=[];return e.sections.forEach((e,n)=>{let r=e.name||String(n),i=B[r]??e.collapsed??!1;t.push({name:`__section_${r}`,label:e.label||``,type:`section-divider`,colSpan:4,collapsible:e.collapsible,collapsed:i,onToggle:e.collapsible?()=>V(e=>({...e,[r]:!i})):void 0,className:e.className});let a=re(e);i?t.push(...a.map(e=>({...e,hidden:!0}))):t.push(...a)}),(0,Z.jsx)(o,{schema:{...de,fields:t}})}let t=Me(u,c,e.columns,e.mode),n=gt[t.columns||1];return(0,Z.jsx)(o,{schema:{...de,fields:t.fields,columns:t.columns,...n?{fieldContainerClass:n}:{}}})},Q=e.subforms,pe=Q?.length&&e.mode!==`view`?(0,Z.jsx)(ht,{schema:{type:`object-master-detail-form`,objectName:e.objectName,mode:e.mode===`edit`?`edit`:`create`,recordId:e.recordId,fields:e.fields,sections:e.sections,submitText:e.submitText,cancelText:X,details:Q,onSuccess:async t=>{await e.onSuccess?.(t),e.onOpenChange?.(!1)},onError:e.onError,onCancel:()=>e.onOpenChange?.(!1)},dataSource:t}):fe();return s?(0,Z.jsxs)(`div`,{className:`@container rounded-md border bg-card p-4`,children:[(e.title||e.description)&&(0,Z.jsxs)(`div`,{className:`mb-3 space-y-0.5`,children:[e.title&&(0,Z.jsx)(`div`,{className:`text-sm font-semibold`,children:e.title}),e.description&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.description})]}),pe]}):(0,Z.jsx)(y,{open:F,onOpenChange:t=>{if(t){e.onOpenChange?.(!0);return}ie(!1)},children:(0,Z.jsxs)(w,{side:I,className:H(`overflow-y-auto`,n,e.className),style:ae,children:[(e.title||e.description)&&(0,Z.jsxs)(g,{children:[e.title&&(0,Z.jsx)(x,{children:e.title}),e.description?(0,Z.jsx)(k,{children:e.description}):(0,Z.jsx)(k,{className:`sr-only`,children:`Complete the form fields, then submit or cancel.`})]}),(0,Z.jsx)(`div`,{className:`@container py-4`,children:pe}),!S&&!h&&!(Q?.length&&e.mode!==`view`)&&(q||se)&&(0,Z.jsx)(`div`,{className:`shrink-0 border-t px-4 py-3 bg-background`,"data-testid":`drawer-form-footer`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2 sm:justify-end`,children:[se&&(0,Z.jsx)(m,{type:`button`,variant:`outline`,onClick:G,disabled:A,className:`w-full sm:w-auto`,children:X}),q&&(0,Z.jsxs)(m,{type:`submit`,form:L,disabled:A,className:`w-full sm:w-auto`,children:[A&&(0,Z.jsx)(_,{className:`mr-2 h-4 w-4 animate-spin`}),J]})]})}),(0,Z.jsx)(ne,{open:D,onOpenChange:O,children:(0,Z.jsxs)(ee,{children:[(0,Z.jsxs)(P,{children:[(0,Z.jsx)(le,{children:a(`form.discardTitle`)}),(0,Z.jsx)(ce,{children:a(`form.discardMessage`)})]}),(0,Z.jsxs)(ue,{children:[(0,Z.jsx)(te,{onClick:()=>{M.current=!1},children:a(`form.keepEditing`)}),(0,Z.jsx)(z,{onClick:W,children:a(`form.discard`)})]})]})})]})})};function yt(e,t){let n=d({fieldGroups:t,fields:Object.fromEntries(e.map(e=>[e.name,{group:e.group}]))});if(!n)return null;let r=new Set(n.flatMap(e=>e.fields)),i=e.map(e=>e.name).filter(e=>!r.has(e)),a=n.map(e=>({...e.key===void 0?{}:{name:e.key},...e.key===void 0?{}:{label:e.label??e.key},fields:[...e.fields],...e.collapse===`none`?{}:{collapsible:!0},...e.collapse===`collapsed`?{collapsed:!0}:{}}));if(i.length>0){let e=a[a.length-1];e&&e.name===void 0?e.fields=[...e.fields??[],...i]:a.push({fields:i})}return a}var bt=s({"form.discardTitle":`Discard changes?`,"form.discardMessage":`You have unsaved changes. If you close this form now, your edits will be lost.`,"form.keepEditing":`Keep editing`,"form.discard":`Discard`},`form.discardTitle`),xt={sm:`sm:max-w-sm`,default:`sm:max-w-lg`,lg:`sm:max-w-2xl`,xl:`sm:max-w-5xl`,full:`sm:max-w-[95vw] sm:w-full`},St=({schema:e,dataSource:t,className:n})=>{let{fieldLabel:a,sectionLabel:s}=b(),{t:c}=bt(),l=i(),u=r(),d=(0,Y.useCallback)(t=>{if(!u?.isLoaded)return t;let n=[];for(let r of t){if(!r?.name){n.push(r);continue}u.checkField(e.objectName,r.name,`read`)&&(!u.checkField(e.objectName,r.name,`write`)&&e.mode!==`view`?n.push({...r,readOnly:!0,disabled:!0}):n.push(r))}return n},[u,e.objectName,e.mode]),[f,g]=(0,Y.useState)(null),[v,y]=(0,Y.useState)([]),[x,S]=(0,Y.useState)({}),[C,w]=(0,Y.useState)(!0),[T,E]=(0,Y.useState)(null),[D,k]=(0,Y.useState)(!1),[M,N]=(0,Y.useState)(!1),[I,B]=(0,Y.useState)(!1),V=(0,Y.useRef)(!1),re=e.confirmOnDiscard!==!1,U=e.open!==!1,G=(0,Y.useId)(),ae=(0,Y.useMemo)(()=>{if(e.sections?.length||e.customFields?.length)return null;let t=Ee(v,f);e.mode===`create`&&(t=De(t,f));let n=yt(t,f?.fieldGroups);if(!n)return null;let r=e.columns&&e.columns>0?Math.min(Math.floor(e.columns),4):xe(t.length);return n.map(e=>({...e,columns:r}))},[e.sections,e.customFields,e.columns,e.mode,v,f]),K=e.sections?.length?e.sections:ae??void 0,q=(0,Y.useMemo)(()=>K?.length||e.customFields?.length?null:Me(v,f,e.columns,e.mode),[v,f,e.columns,e.mode,K,e.customFields]),J=xt[(0,Y.useMemo)(()=>{if(e.modalSize)return e.modalSize;if(q?.columns&&q.columns>1)return je(q.columns);if(K?.length){let e=Math.max(...K.map(e=>Number(e.columns)||1));if(e>1)return je(e)}return`default`},[e.modalSize,q,K])]||xt.default;(0,Y.useEffect)(()=>{(async()=>{if(!t){w(!1);return}try{let n=await t.getObjectSchema(e.objectName);g(n)}catch(e){E(e),w(!1)}})()},[e.objectName,t]),(0,Y.useEffect)(()=>{(f||!t)&&(async()=>{if(e.mode===`create`||!e.recordId){S(e.initialData||e.initialValues||{}),w(!1);return}if(!t){S(e.initialData||e.initialValues||{}),w(!1);return}try{let n=await t.findOne(e.objectName,e.recordId);S(n||{})}catch(e){E(e)}finally{w(!1)}})()},[f,e.mode,e.recordId,e.initialData,e.initialValues,t,e.objectName]);let X=(0,Y.useCallback)(t=>he(t,{objectSchema:f,objectName:e.objectName,readOnly:e.readOnly,mode:e.mode,fieldLabel:a}),[f,e.readOnly,e.mode,e.objectName,a]);(0,Y.useEffect)(()=>{if(!f&&t)return;if(e.customFields?.length){y(e.customFields),w(!1);return}if(e.sections?.length){w(!1);return}if(!f)return;let n=e.fields||Object.keys(f.fields||{}),r=[];for(let t of n){let n=typeof t==`string`?t:t.name;if(!n)continue;let i=f.fields?.[n];i&&r.push({name:n,label:a(e.objectName,n,i.label||n),type:R(i.type),required:i.required||!1,disabled:e.readOnly||e.mode===`view`||i.readonly,placeholder:i.placeholder,description:i.help||i.description,validation:oe(i),field:i,options:i.options,multiple:i.multiple,visibleWhen:i.visibleWhen,readonlyWhen:i.readonlyWhen,requiredWhen:i.requiredWhen??i.conditionalRequired,group:i.group})}y(r),w(!1)},[f,e.fields,e.customFields,e.sections,e.readOnly,e.mode,t]);let de=(0,Y.useCallback)(async n=>{k(!0);try{if(!t)return e.onSuccess&&await e.onSuccess(n),e.onOpenChange?.(!1),n;let r,i=Re(n,f);if(u?.isLoaded){let t={};for(let n of Object.keys(i))u.checkField(e.objectName,n,`write`)&&(t[n]=i[n]);i=t}return e.mode===`create`?r=await t.create(e.objectName,i):e.mode===`edit`&&e.recordId&&(r=await t.update(e.objectName,e.recordId,i)),e.onSuccess&&await e.onSuccess(r),e.onOpenChange?.(!1),r}catch(t){throw e.onError&&e.onError(t),t}finally{k(!1)}},[e,t,f,u]),Q=(0,Y.useCallback)(()=>{B(!1),V.current&&(V.current=!1,e.onCancel?.()),e.onOpenChange?.(!1)},[e]),pe=(0,Y.useCallback)(e=>{V.current=e,re&&M?B(!0):Q()},[re,M,Q]),me=(0,Y.useCallback)(()=>{V.current=!0,Q()},[Q]),ge=e.layout===`vertical`||e.layout===`horizontal`?e.layout:`vertical`,_e=e.showSubmit!==!1&&e.mode!==`view`,ve=e.showCancel!==!1,ye=e.submitText||(e.mode===`create`?`Create`:`Update`),be=e.cancelText||`Cancel`,Se={type:`form`,objectName:e.objectName,layout:ge,defaultValues:x,submitLabel:ye,cancelLabel:be,showSubmit:_e,showCancel:ve,onSubmit:de,onCancel:me,onDirtyChange:N,showActions:!1,id:G},Ce=()=>{if(T)return(0,Z.jsxs)(`div`,{className:`p-4 border border-red-300 bg-red-50 rounded-md`,children:[(0,Z.jsx)(`h3`,{className:`text-red-800 font-semibold`,children:`Error loading form`}),(0,Z.jsx)(`p`,{className:`text-red-600 text-sm mt-1`,children:T.message})]});if(C)return(0,Z.jsx)(`div`,{className:`space-y-4`,"data-testid":`modal-form-skeleton`,children:[1,2,3].map(e=>(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(p,{className:`h-4 w-24`}),(0,Z.jsx)(p,{className:`h-10 w-full`})]},e))});if(e.sections?.length){let t=e.sections,n=(e,t)=>e.name||e.label||String(t),r=t=>t.name?s(e.objectName,t.name,t.label||t.name):t.label,i=e=>(0,Z.jsx)(o,{schema:{...Se,...Ae(d(X(e)),e.columns||1)}});return e.contentLayout===`tabbed`&&t.length>1?(0,Z.jsxs)(se,{defaultValue:n(t[0],0),className:`w-full`,children:[(0,Z.jsx)(L,{className:`mb-4`,children:t.map((e,t)=>(0,Z.jsx)(W,{value:n(e,t),children:r(e)||`Section ${t+1}`},n(e,t)))}),t.map((e,t)=>(0,Z.jsx)(F,{value:n(e,t),children:(0,Z.jsx)(fe,{description:e.description,columns:1,className:e.className,gridClassName:e.gridClassName,children:i(e)})},n(e,t)))]}):(0,Z.jsx)(`div`,{className:`space-y-6`,children:t.map((e,t)=>(0,Z.jsx)(fe,{label:r(e),description:e.description,columns:1,className:e.className,gridClassName:e.gridClassName,children:i(e)},n(e,t)))})}if(ae?.length){let t=Number(ae[0]?.columns)||1,n=[];ae.forEach((r,i)=>{let a=d(X(r));if(!a.length)return;let o=r.name?s(e.objectName,r.name,r.label||r.name):r.label;o&&n.push({name:`__section_${r.name||i}`,label:o,type:`section-divider`}),n.push(...t>1?we(a,t):a)});let r=Oe[t];return(0,Z.jsx)(o,{schema:{...Se,fields:n,columns:t,...r?{fieldContainerClass:r}:{}}})}let t=q??Me(v,f,e.columns,e.mode),n=Oe[t.columns||1];return(0,Z.jsx)(o,{schema:{...Se,fields:d(t.fields),columns:t.columns,...n?{fieldContainerClass:n}:{}}})},Te=e.subforms;if(l)return(0,Z.jsxs)(`div`,{className:`@container rounded-md border bg-card p-4`,children:[(e.title||e.description)&&(0,Z.jsxs)(`div`,{className:`mb-3 space-y-0.5`,children:[e.title&&(0,Z.jsx)(`div`,{className:`text-sm font-semibold`,children:e.title}),e.description&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.description})]}),Ce()]});if(Te?.length&&e.mode!==`view`)return(0,Z.jsx)(h,{open:U,onOpenChange:e.onOpenChange,children:(0,Z.jsxs)(O,{className:H(J,`flex flex-col h-[100dvh] sm:h-auto sm:max-h-[90vh] overflow-hidden p-0`,n,e.className),children:[(e.title||e.description)&&(0,Z.jsxs)(j,{className:`shrink-0 px-4 pt-4 sm:px-6 sm:pt-6 pb-2 border-b`,children:[e.title&&(0,Z.jsx)(A,{children:e.title}),e.description?(0,Z.jsx)(ie,{children:e.description}):(0,Z.jsx)(ie,{className:`sr-only`,children:`Enter the record and its line items, then save.`})]}),(0,Z.jsx)(`div`,{className:`@container flex-1 overflow-y-auto px-4 sm:px-6 py-4`,children:(0,Z.jsx)(ht,{schema:{type:`object-master-detail-form`,objectName:e.objectName,mode:e.mode===`edit`?`edit`:`create`,recordId:e.recordId,fields:e.fields,sections:e.sections,initialValues:e.initialValues,initialData:e.initialData,submitText:ye,cancelText:be,details:Te,onSuccess:async t=>{await e.onSuccess?.(t),e.onOpenChange?.(!1)},onError:e.onError,onCancel:()=>e.onOpenChange?.(!1)},dataSource:t})})]})});let ke=!C&&!T&&(_e||ve);return(0,Z.jsx)(h,{open:U,onOpenChange:t=>{if(t){e.onOpenChange?.(!0);return}pe(!1)},children:(0,Z.jsxs)(O,{className:H(J,`flex flex-col h-[100dvh] sm:h-auto sm:max-h-[90vh] overflow-hidden p-0`,n,e.className),children:[(e.title||e.description)&&(0,Z.jsxs)(j,{className:`shrink-0 px-4 pt-4 sm:px-6 sm:pt-6 pb-2 border-b`,children:[e.title&&(0,Z.jsx)(A,{children:e.title}),e.description?(0,Z.jsx)(ie,{children:e.description}):(0,Z.jsx)(ie,{className:`sr-only`,children:`Complete the form fields, then submit or cancel.`})]}),(0,Z.jsx)(`div`,{className:`@container flex-1 overflow-y-auto px-4 sm:px-6 py-4`,children:Ce()}),ke&&(0,Z.jsx)(`div`,{className:`shrink-0 border-t px-4 sm:px-6 py-3 bg-background`,"data-testid":`modal-form-footer`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-2 sm:justify-end`,children:[ve&&(0,Z.jsx)(m,{type:`button`,variant:`outline`,onClick:me,disabled:D,className:`w-full sm:w-auto`,children:be}),_e&&(0,Z.jsxs)(m,{type:`submit`,form:G,disabled:D,className:`w-full sm:w-auto`,children:[D&&(0,Z.jsx)(_,{className:`mr-2 h-4 w-4 animate-spin`}),ye]})]})}),(0,Z.jsx)(ne,{open:I,onOpenChange:B,children:(0,Z.jsxs)(ee,{children:[(0,Z.jsxs)(P,{children:[(0,Z.jsx)(le,{children:c(`form.discardTitle`)}),(0,Z.jsx)(ce,{children:c(`form.discardMessage`)})]}),(0,Z.jsxs)(ue,{children:[(0,Z.jsx)(te,{onClick:()=>{V.current=!1},children:c(`form.keepEditing`)}),(0,Z.jsx)(z,{onClick:Q,children:c(`form.discard`)})]})]})})]})})},Ct=({schema:e,dataSource:t})=>{let n=r(),i=(0,Y.useMemo)(()=>{if(!n?.isLoaded)return e;let t=t=>t?.name?n.checkField(e.objectName,t.name,`read`)?!n.checkField(e.objectName,t.name,`write`)&&e.mode!==`view`?{...t,readOnly:!0,disabled:!0}:t:null:t,r=e=>Array.isArray(e)?e.map(t).filter(Boolean):e;return{...e,fields:r(e.fields),sections:e.sections?.map(e=>({...e,fields:r(e.fields)}))}},[e,n]),{sectionLabel:a}=b(),o=e=>e?.name?a(i.objectName,e.name,e.label||e.name):e?.label;if(i.subforms?.length&&i.mode!==`view`&&i.formType!==`drawer`&&i.formType!==`modal`)return(0,Z.jsx)(ht,{schema:{type:`object-master-detail-form`,objectName:i.objectName,mode:i.mode===`edit`?`edit`:`create`,recordId:i.recordId,initialValues:i.initialValues,initialData:i.initialData,formType:i.formType===`tabbed`?`tabbed`:`simple`,sections:i.sections,fields:i.fields,title:i.title,submitText:i.submitText,cancelText:i.cancelText,showSubmit:i.showSubmit,details:i.subforms,onSuccess:i.onSuccess,onError:i.onError,onCancel:i.onCancel,className:i.className},dataSource:t});if(i.formType===`tabbed`&&i.sections?.length)return(0,Z.jsx)(Ne,{schema:{...i,formType:`tabbed`,sections:i.sections.map(e=>({name:e.name,label:o(e),description:e.description,columns:e.columns,fields:e.fields,className:e.className,gridClassName:e.gridClassName})),defaultTab:i.defaultTab,tabPosition:i.tabPosition},dataSource:t,className:i.className});if(i.formType===`wizard`&&i.sections?.length)return(0,Z.jsx)(Pe,{schema:{...i,formType:`wizard`,sections:i.sections.map(e=>({name:e.name,label:o(e),description:e.description,columns:e.columns,fields:e.fields,className:e.className,gridClassName:e.gridClassName})),allowSkip:i.allowSkip,showStepIndicator:i.showStepIndicator,nextText:i.nextText,prevText:i.prevText,onStepChange:i.onStepChange},dataSource:t,className:i.className});if(i.formType===`split`&&i.sections?.length)return(0,Z.jsx)(Fe,{schema:{...i,formType:`split`,sections:i.sections.map(e=>({name:e.name,label:o(e),description:e.description,columns:e.columns,fields:e.fields,className:e.className,gridClassName:e.gridClassName})),splitDirection:i.splitDirection,splitSize:i.splitSize,splitResizable:i.splitResizable},dataSource:t,className:i.className});if(i.formType===`drawer`){let{layout:e,...n}=i,r=i.layout===`vertical`||i.layout===`horizontal`?i.layout:void 0;return(0,Z.jsx)(vt,{schema:{...n,layout:r,formType:`drawer`,sections:i.sections?.map(e=>({name:e.name,label:o(e),description:e.description,columns:e.columns,fields:e.fields,collapsible:e.collapsible,collapsed:e.collapsed,className:e.className})),open:i.open,onOpenChange:i.onOpenChange,drawerSide:i.drawerSide,drawerWidth:i.drawerWidth},dataSource:t,className:i.className})}if(i.formType===`modal`){let{layout:e,...n}=i,r=i.layout===`vertical`||i.layout===`horizontal`?i.layout:void 0;return(0,Z.jsx)(St,{schema:{...n,layout:r,formType:`modal`,sections:i.sections?.map(e=>({name:e.name,label:o(e),description:e.description,columns:e.columns,fields:e.fields,className:e.className,gridClassName:e.gridClassName})),open:i.open,onOpenChange:i.onOpenChange,modalSize:i.modalSize,modalCloseButton:i.modalCloseButton},dataSource:t,className:i.className})}return(0,Z.jsx)(wt,{schema:i,dataSource:t})},wt=({schema:e,dataSource:t})=>{let{fieldLabel:n,sectionLabel:i}=b(),a=D(),s=r(),c=(0,Y.useCallback)(t=>{if(!s?.isLoaded)return t;let n=[];for(let r of t)s.checkField(e.objectName,r.name,`read`)&&(!s.checkField(e.objectName,r.name,`write`)&&e.mode!==`view`?n.push({...r,readOnly:!0,disabled:!0,description:r.description??`You do not have edit access to this field.`}):n.push(r));return n},[s,e.objectName,e.mode]),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)([]),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(!0),[_,v]=(0,Y.useState)(null),[y,x]=(0,Y.useState)(null),S=e.customFields&&e.customFields.length>0;(0,Y.useEffect)(()=>{S&&(m(e.initialData||e.initialValues||{}),g(!1))},[S,e.initialData,e.initialValues]),(0,Y.useEffect)(()=>{S?u({name:e.objectName,fields:{}}):e.objectName&&t?(async()=>{try{if(!t)throw Error(`DataSource is required when using ObjectQL schema fetching (inline fields not provided)`);let n=await t.getObjectSchema(e.objectName);if(!n)throw Error(`No schema found for object "${e.objectName}"`);u(n)}catch(e){v(e),g(!1)}})():S||g(!1)},[e.objectName,t,S]),(0,Y.useEffect)(()=>{l&&!S&&(async()=>{if(!e.recordId||e.mode===`create`){m(e.initialData||e.initialValues||{}),g(!1);return}if(!S){if(!t){v(Error(`DataSource is required for fetching record data (inline data not provided)`)),g(!1);return}g(!0);try{let n=await t.findOne(e.objectName,e.recordId);m(n)}catch(e){console.error(`Failed to fetch record:`,e),v(e)}finally{g(!1)}}})()},[e.objectName,e.recordId,e.mode,e.initialValues,e.initialData,t,l,S]);let C=(0,Y.useCallback)(e=>e,[]);(0,Y.useEffect)(()=>{if(S&&e.customFields){f(e.customFields.map(C)),g(!1);return}if(!l)return;let r=[],i=!!l?.managedBy&&l.managedBy!==`platform`,a=e.mode===`edit`?l?.userActions?.edit===!0:e.mode===`create`&&l?.userActions?.create===!0,o=i&&!a,s=e.fields||Object.keys(l.fields||{});(Array.isArray(s)?s:Object.keys(s)).forEach(t=>{let i=typeof t==`string`?t:t.name;if(!i)return;let a=l.fields?.[i];if(!a&&!S)return;let s=!a?.permissions||a?.permissions.write!==!1;if(e.mode!==`view`&&!s)return;let c=e.customFields?.find(e=>e.name===i);if(c)r.push(C(c));else if(a){let s={name:i,label:n(e.objectName,i,a.label||t),type:R(a.type),required:a.required||!1,disabled:e.readOnly||e.mode===`view`||a.readonly||o,placeholder:a.placeholder,description:a.help||a.description,validation:oe(a),visibleWhen:a.visibleWhen,readonlyWhen:a.readonlyWhen,requiredWhen:a.requiredWhen??a.conditionalRequired,group:a.group,field:a,widget:a.widget};if((a.type===`select`||a.type===`lookup`||a.type===`master_detail`)&&(s.options=a.options||[],s.multiple=a.multiple),(a.type===`number`||a.type===`currency`||a.type===`percent`)&&(s.inputType=`number`,s.min=a.min,s.max=a.max,s.step=a.precision?10**-a.precision:void 0),a.type===`date`&&(s.inputType=`date`),a.type===`datetime`&&(s.inputType=`datetime-local`),(a.type===`text`||a.type===`textarea`||a.type===`markdown`||a.type===`html`)&&(s.maxLength=a.max_length,s.minLength=a.min_length),(a.type===`file`||a.type===`image`)&&(s.inputType=`file`,s.multiple=a.multiple,s.accept=a.accept?a.accept.join(`,`):void 0,a.max_size)){let e=`Max size: ${ae(a.max_size)}`;s.description=s.description?`${s.description} (${e})`:e}a.type===`email`&&(s.inputType=`email`),a.type===`phone`&&(s.inputType=`tel`),a.type===`url`&&(s.inputType=`url`),a.type===`password`&&(s.inputType=`password`),a.type===`time`&&(s.inputType=`time`),(a.type===`formula`||a.type===`summary`||a.type===`auto_number`)&&(s.disabled=!0),a.visible_on&&(s.visibleOn=a.visible_on),r.push(s)}}),f(r),!S&&e.recordId&&e.mode!==`create`&&t||g(!1)},[l,e.fields,e.customFields,e.readOnly,e.mode,S,e.recordId,t]);let w=(0,Y.useCallback)(async(n,r)=>{if(n&&(n.nativeEvent||n._reactName===`onSubmit`)&&(console.warn(`ObjectForm: Received Event instead of data in handleSubmit! This suggests a Form renderer issue.`),r===void 0&&(n={})),S&&!t)return e.onSuccess&&await e.onSuccess(n),n;if(!t)throw Error(`DataSource is required for form submission (inline mode not configured)`);let i=Re(n,S?null:l);if(s?.isLoaded&&i&&typeof i==`object`){let t={};for(let n of Object.keys(i))s.checkField(e.objectName,n,`write`)&&(t[n]=i[n]);i=t}try{let n;if(e.submitHandler)n=await e.submitHandler(i);else if(e.mode===`create`)n=await t.create(e.objectName,i);else if(e.mode===`edit`&&e.recordId)n=await t.update(e.objectName,e.recordId,i);else throw Error(`Invalid form mode or missing record ID`);if(e.onSuccess)await e.onSuccess(n);else if(!e.submitHandler&&e.submitBehavior){let t=e.submitBehavior;switch(t.kind){case`redirect`:X(t.url)&&setTimeout(()=>window.location.assign(t.url),t.delayMs??0);break;case`continue`:break;default:{let n=t.kind===`thank-you`&&t.message?t.message:e.successMessage||(e.mode===`create`?`Created`:`Saved`);J.success(n),x({title:t.kind===`thank-you`?t.title:void 0,message:n});break}}}else if(!e.submitHandler){let t=de(e.navigateOnSuccess,n);if(t)return window.location.assign(t),n;J.success(e.successMessage||(e.mode===`create`?`Created`:`Saved`))}return n}catch(t){throw console.error(`Failed to submit form:`,t),e.onError&&e.onError(t),t}},[e,t,S,s,l]),T=(0,Y.useCallback)(()=>{e.onCancel&&e.onCancel()},[e]),E={...Y.useMemo(()=>{if(!l?.fields)return{};let e={};return Object.keys(l.fields).forEach(t=>{let n=l.fields[t];n.defaultValue!==void 0&&(e[t]=n.defaultValue)}),e},[l]),...p},O=Y.useMemo(()=>{let t=Ee(d,l);return e.mode===`create`&&(t=De(t,l)),t},[d,l,e.mode]),k=Y.useMemo(()=>e.sections?.length?null:yt(O,l?.fieldGroups),[e.sections,O,l]),A=e.sections?.length?e.sections:k,[j,ee]=(0,Y.useState)({});if(_)return(0,Z.jsxs)(`div`,{className:`p-3 sm:p-4 border border-red-300 bg-red-50 rounded-md`,children:[(0,Z.jsx)(`h3`,{className:`text-red-800 font-semibold`,children:`Error loading form`}),(0,Z.jsx)(`p`,{className:`text-red-600 text-sm mt-1`,children:_.message})]});if(h)return(0,Z.jsxs)(`div`,{className:`p-4 sm:p-8 text-center`,children:[(0,Z.jsx)(`div`,{className:`inline-block animate-spin rounded-full h-8 w-8 border-b-2 border-gray-900`}),(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-gray-600`,children:`Loading form...`})]});if(y)return(0,Z.jsxs)(`div`,{className:`rounded-md border bg-card p-6 sm:p-8 text-center`,children:[(0,Z.jsx)(`h3`,{className:`text-lg font-semibold`,children:y.title??`Thanks!`}),y.message&&(0,Z.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:y.message})]});let M=e.layout===`vertical`||e.layout===`horizontal`?e.layout:`vertical`;if(A?.length&&(!e.formType||e.formType===`simple`)){let t=k?O:d,n=e=>typeof e==`number`&&e>0?Math.min(Math.floor(e),4):void 0,r=A.map(e=>n(e.columns)).filter(e=>e!=null),a=A.reduce((e,t)=>e+(Array.isArray(t.fields)?t.fields.length:0),0),s=n(e.columns)??(r.length?Math.max(...r):xe(a)),l=[];A.forEach((r,a)=>{let o=new Map(r.fields.map(e=>[typeof e==`string`?e:e.field??e.name,e])),u=Array.from(o.keys()),d=c(t.filter(e=>u.includes(e.name))).map(e=>{let t=o.get(e.name);if(!t||typeof t!=`object`)return e;let n=t,r={...e};return n.visibleOn!=null&&(r.visibleOn=n.visibleOn),n.colSpan!=null&&(r.colSpan=n.colSpan),n.span!=null&&(r.span=n.span),r});if(d.length===0)return;let f=r.name||r.label||String(a),p=r.name?i(e.objectName,r.name,r.label||r.name):r.label,m=j[f]??r.collapsed??!1;p&&l.push({name:`__section_${f}`,label:p,type:`section-divider`,colSpan:4,collapsible:r.collapsible,collapsed:m,onToggle:r.collapsible?()=>ee(e=>({...e,[f]:!m})):void 0,className:r.className});let h=n(r.columns),g=s>1?we(d,s,h):d;p&&m?l.push(...g.map(e=>({...e,hidden:!0}))):l.push(...g)});let u=l,f=ke(s);return(0,Z.jsx)(`div`,{className:`w-full @container`,children:(0,Z.jsx)(o,{schema:{type:`form`,objectName:e.objectName,fields:u,layout:M,columns:s,...f?{fieldContainerClass:f}:{},defaultValues:E,showSubmit:e.showSubmit!==!1&&e.mode!==`view`,showCancel:e.showCancel!==!1,submitLabel:e.submitText||(e.mode===`create`?`Create`:`Update`),cancelLabel:e.cancelText,onSubmit:w,onCancel:T}})})}let N=e.sections?.length,P=c(d),F=N?{fields:P,columns:e.columns}:Me(P,l,e.columns,e.mode),I=e.mobile,L=I?.fullscreenLongText?F.fields.map(e=>{let t=e.type;return t===`textarea`||t===`field:textarea`||t===`string-multiline`||t===`field:markdown`||t===`field:html`?{...e,mobile_fullscreen:!0}:e}):F.fields,te=I?.stepper,z=I?.stepperMinFields??8,B=Math.max(1,I?.stepperFieldsPerStep??1);if(!e.formType&&!N&&L.length>=2&&(te===!0||te===`auto`&&a&&L.length>=z)){let n=L,r=[];for(let e=0;e<n.length;e+=B){let t=n.slice(e,e+B);r.push({name:`step-${Math.floor(e/B)+1}`,label:t[0]?.label||t[0]?.name||`Step ${Math.floor(e/B)+1}`,fields:t})}return(0,Z.jsx)(Pe,{schema:{...e,formType:`wizard`,sections:r,showStepIndicator:!0},dataSource:t,className:e.className})}let V={type:`form`,objectName:e.objectName,fields:L,layout:M,columns:F.columns,submitLabel:e.submitText||(e.mode===`create`?`Create`:`Update`),cancelLabel:e.cancelText,showSubmit:e.showSubmit!==!1&&e.mode!==`view`,showCancel:e.showCancel!==!1,resetOnSubmit:e.showReset||e.submitBehavior?.kind===`continue`||!e.submitBehavior&&e.resetOnSuccess&&e.mode===`create`,defaultValues:E,onSubmit:w,onCancel:T,className:e.className,mobileStickyActions:!!I?.stickyActions};return(0,Z.jsx)(`div`,{className:I?.stickyActions?`w-full pb-20 md:pb-0`:`w-full`,"data-mobile-form":I?`true`:void 0,children:(0,Z.jsx)(o,{schema:V})})},Tt={text:200,email:254,url:2048,phone:32,textarea:5e3,markdown:5e3,html:5e3},Et=`_company_website_2`,Dt=1500;function Ot(e,t=[]){try{let n=new URL(e,typeof window<`u`?window.location.href:`http://localhost`);return typeof window<`u`&&n.origin===window.location.origin?!0:n.protocol!==`https:`&&n.protocol!==`http:`?!1:t.some(e=>{if(e===n.host)return!0;if(e.startsWith(`*.`)){let t=e.slice(1);return n.host.endsWith(t)&&n.host.length>t.length}return!1})}catch{return!1}}function kt(e){return e&&e.map(e=>{let t=Tt[String(e.type||``).toLowerCase()];return!t||(e.maxLength??e.max_length)?e:{...e,maxLength:t}})}var At=({config:e,dataSource:t,prefillParams:n,className:r})=>{let[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!(e.consent?.required??!!e.consent)),[f,p]=(0,Y.useState)(null),h=(0,Y.useRef)(null),g=(0,Y.useRef)(0);(0,Y.useEffect)(()=>{i||(g.current=Date.now())},[i]);let v=e.honeypot===!1?null:e.honeypot||Et,y=e.minFillTime??Dt,b=(0,Y.useMemo)(()=>kt(e.customFields),[e.customFields]),x=(0,Y.useMemo)(()=>{if(!t||b&&b.length>0||!e.fields||e.fields.length===0)return;let n=async(e,t)=>t;return{...t,create:n,update:(e,t,n)=>Promise.resolve(n),delete:()=>Promise.reject(Error(`Not permitted on public form`))}},[t,b,e.fields]),C=(0,Y.useMemo)(()=>{let t={};if(n)for(let[e,r]of Object.entries(n))t[e]=r;if(typeof window<`u`&&e.allowedPrefillFields?.length){let n=new Set(e.allowedPrefillFields);new URLSearchParams(window.location.search).forEach((e,r)=>{n.has(r)&&!(r in t)&&(t[r]=e)})}return Object.keys(t).length>0?t:void 0},[n,e.allowedPrefillFields]),w=(0,Y.useCallback)(async n=>{if(e.consent?.required&&!u){p(e.texts?.consentRequired??`Please accept the privacy policy to continue.`);return}if(p(null),v&&h.current?.value){a(!0);return}if(y>0&&Date.now()-g.current<y){l(e.texts?.rateLimited??`Please take a moment to review your answers before submitting.`);return}let r={...n};v&&delete r[v],e.captchaToken&&(r._captcha=e.captchaToken),s(!0),l(null);try{t&&await t.create(e.objectName,r),a(!0);let n=e.thankYouPage?.redirectUrl;if(n)if(Ot(n,e.allowedRedirectHosts)){let t=e.thankYouPage?.redirectDelay??3e3;setTimeout(()=>{window.location.href=n},t)}else console.warn(`[EmbeddableForm] Blocked unsafe redirect target:`,n),l(e.texts?.redirectBlocked??null)}catch(e){l(e instanceof Error?e.message:`Failed to submit form. Please try again.`)}finally{s(!1)}},[t,e,u,v,y]),E=(0,Y.useCallback)(()=>{a(!1),l(null)},[]),D=(0,Y.useMemo)(()=>{let t={};return e.branding?.backgroundColor&&(t.backgroundColor=e.branding.backgroundColor),t},[e.branding]);if(i){let t=e.thankYouPage,n=e.texts??{},i=Math.ceil((t?.redirectDelay??3e3)/1e3),a=(n.redirecting??`Redirecting in {{seconds}} seconds…`).replace(`{{seconds}}`,String(i));return(0,Z.jsx)(`div`,{className:`min-h-screen flex items-center justify-center p-4 bg-gradient-to-b from-muted/40 via-background to-background ${r||``}`,style:D,children:(0,Z.jsxs)(`div`,{className:`max-w-md w-full bg-card border rounded-xl shadow-sm p-8 text-center space-y-4`,children:[(0,Z.jsx)(`div`,{className:`mx-auto inline-flex h-14 w-14 items-center justify-center rounded-full bg-emerald-50 text-emerald-600 dark:bg-emerald-500/10 dark:text-emerald-400`,children:(0,Z.jsx)(V,{className:`h-8 w-8`,"aria-hidden":`true`})}),(0,Z.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:t?.title||n.thankYouTitle||`Thank You!`}),(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t?.message||n.thankYouMessage||`Your submission has been received successfully.`}),e.allowMultiple&&(0,Z.jsx)(m,{variant:`outline`,size:`sm`,onClick:E,className:`mt-2`,children:n.submitAnother??`Submit Another Response`}),t?.redirectUrl&&(0,Z.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:a})]})})}let O=e.texts??{},k=!!e.consent?.required,A=`${e.formId}-consent`;return(0,Z.jsx)(`div`,{className:`min-h-screen flex items-center justify-center p-4 sm:p-6 bg-gradient-to-b from-muted/40 via-background to-background ${r||``}`,style:D,children:(0,Z.jsxs)(`div`,{className:`max-w-2xl w-full bg-card border rounded-xl shadow-sm overflow-hidden`,children:[e.branding?.coverImage&&(0,Z.jsx)(`div`,{className:`h-28 sm:h-32 w-full bg-cover bg-center`,style:{backgroundImage:`url(${JSON.stringify(e.branding.coverImage)})`},role:`presentation`}),(0,Z.jsxs)(`div`,{className:`px-6 sm:px-8 pt-7 pb-5 border-b bg-muted/20`,style:e.branding?.primaryColor?{borderBottomColor:e.branding.primaryColor}:void 0,children:[e.branding?.logo&&(0,Z.jsx)(`img`,{src:e.branding.logo,alt:``,className:`h-8 mb-4`}),e.title&&(0,Z.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight text-foreground`,children:e.title}),e.description&&(0,Z.jsx)(`p`,{className:`text-sm text-muted-foreground mt-2 leading-relaxed`,children:e.description}),(0,Z.jsx)(`p`,{className:`text-[11px] text-muted-foreground/70 mt-3`,"aria-hidden":`true`,children:O.requiredHint??`* Required field`})]}),(0,Z.jsxs)(`div`,{className:`relative px-6 sm:px-8 py-6`,children:[c&&(0,Z.jsx)(`div`,{role:`alert`,"aria-live":`assertive`,className:`mb-4 p-3 bg-destructive/10 border border-destructive/30 rounded-md text-sm text-destructive`,children:c}),(0,Z.jsx)(Ct,{schema:{type:`object-form`,objectName:e.objectName,mode:`create`,fields:e.fields,customFields:b,initialData:C,onSuccess:w,submitText:o?O.submitting??`Submitting...`:O.submit??`Submit`},dataSource:x}),v&&(0,Z.jsxs)(`div`,{"aria-hidden":`true`,className:`absolute left-[-10000px] top-auto h-px w-px overflow-hidden`,children:[(0,Z.jsx)(`label`,{htmlFor:`${e.formId}-${v}`,children:`Do not fill this field`}),(0,Z.jsx)(`input`,{ref:h,id:`${e.formId}-${v}`,type:`text`,name:v,tabIndex:-1,autoComplete:`off`,defaultValue:``})]}),e.consent&&(0,Z.jsxs)(`div`,{className:`mt-4`,children:[(0,Z.jsxs)(`label`,{className:`flex items-start gap-2 text-sm text-foreground cursor-pointer select-none`,children:[(0,Z.jsx)(`input`,{type:`checkbox`,id:A,checked:u,onChange:e=>{d(e.target.checked),e.target.checked&&p(null)},"aria-required":k||void 0,"aria-invalid":f?`true`:void 0,"aria-describedby":f?`${A}-error`:void 0,className:`mt-0.5 h-4 w-4 rounded border-input accent-primary`}),(0,Z.jsxs)(`span`,{className:`leading-relaxed`,children:[e.consent.label??O.consentLabelDefault??`I agree to the privacy policy.`,k&&(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`text-destructive ml-0.5`,children:`*`}),e.consent.privacyUrl&&(0,Z.jsxs)(Z.Fragment,{children:[` `,(0,Z.jsx)(`a`,{href:e.consent.privacyUrl,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-primary hover:opacity-80`,children:O.consentLink??`Privacy policy`})]})]})]}),f&&(0,Z.jsx)(`p`,{id:`${A}-error`,role:`alert`,className:`mt-1.5 text-xs text-destructive`,children:f})]}),o&&(0,Z.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,Z.jsx)(_,{className:`h-3.5 w-3.5 animate-spin`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:O.submitting??`Submitting…`})]})]}),(0,Z.jsxs)(`div`,{className:`px-6 sm:px-8 py-4 border-t bg-muted/20 flex flex-col sm:flex-row items-center justify-between gap-2`,children:[(0,Z.jsxs)(`p`,{className:`inline-flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Z.jsx)(T,{className:`h-3 w-3`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:O.secureNotice??`Your information is transmitted securely and only used to respond to your request.`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground/80`,children:[e.privacyPolicyUrl&&(0,Z.jsxs)(`a`,{href:e.privacyPolicyUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 underline hover:text-foreground`,children:[(0,Z.jsx)(S,{className:`h-3 w-3`,"aria-hidden":`true`}),O.consentLink??`Privacy policy`]}),(0,Z.jsx)(`span`,{children:O.poweredBy??`Powered by ObjectStack`})]})]})]})})};function jt(e){return e<60?`${Math.round(e)}s`:e<3600?`${Math.floor(e/60)}m ${Math.round(e%60)}s`:`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`}var Mt=({formId:e,formTitle:t,metrics:n,className:r})=>{let i=(0,Y.useMemo)(()=>{if(!n.abandonedSubmissions)return 100;let e=n.totalSubmissions+n.abandonedSubmissions;return e===0?0:Math.round(n.totalSubmissions/e*100)},[n.totalSubmissions,n.abandonedSubmissions]),a=(0,Y.useMemo)(()=>n.dailySubmissions?.length?Math.max(...n.dailySubmissions.map(e=>e.count),1):1,[n.dailySubmissions]);return(0,Z.jsxs)(`div`,{className:`space-y-4 ${r||``}`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:t||`Form Analytics`}),(0,Z.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Form ID: `,e]})]}),(0,Z.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-4`,children:[(0,Z.jsx)(q,{children:(0,Z.jsxs)(B,{className:`pb-2`,children:[(0,Z.jsx)(G,{children:`Total Submissions`}),(0,Z.jsx)(M,{className:`text-2xl`,children:n.totalSubmissions.toLocaleString()})]})}),(0,Z.jsxs)(q,{children:[(0,Z.jsxs)(B,{className:`pb-2`,children:[(0,Z.jsx)(G,{children:`Fill Rate`}),(0,Z.jsxs)(M,{className:`text-2xl`,children:[i,`%`]})]}),(0,Z.jsx)(U,{children:(0,Z.jsx)(`div`,{className:`w-full bg-muted rounded-full h-2`,children:(0,Z.jsx)(`div`,{className:`bg-primary rounded-full h-2 transition-all`,style:{width:`${i}%`}})})})]}),(0,Z.jsx)(q,{children:(0,Z.jsxs)(B,{className:`pb-2`,children:[(0,Z.jsx)(G,{children:`Avg. Completion Time`}),(0,Z.jsx)(M,{className:`text-2xl`,children:n.avgCompletionTime?jt(n.avgCompletionTime):`—`})]})})]}),n.dailySubmissions&&n.dailySubmissions.length>0&&(0,Z.jsxs)(q,{children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(M,{className:`text-sm font-medium`,children:`Daily Submissions`})}),(0,Z.jsx)(U,{children:(0,Z.jsx)(`div`,{className:`flex items-end gap-1 h-32`,children:n.dailySubmissions.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex-1 flex flex-col items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`w-full bg-primary/80 rounded-t transition-all hover:bg-primary`,style:{height:`${e.count/a*100}%`,minHeight:e.count>0?`4px`:`0`},title:`${e.date}: ${e.count} submissions`}),(0,Z.jsx)(`span`,{className:`text-[10px] text-muted-foreground truncate w-full text-center`,children:e.date.slice(-5)})]},t))})})]}),n.fieldDropOff&&n.fieldDropOff.length>0&&(0,Z.jsxs)(q,{children:[(0,Z.jsxs)(B,{children:[(0,Z.jsx)(M,{className:`text-sm font-medium`,children:`Field Completion Rates`}),(0,Z.jsx)(G,{children:`Percentage of users who completed each field`})]}),(0,Z.jsx)(U,{children:(0,Z.jsx)(`div`,{className:`space-y-3`,children:n.fieldDropOff.map((e,t)=>(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,Z.jsx)(`span`,{className:`text-foreground`,children:e.label}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.completionRate,`%`]})]}),(0,Z.jsx)(`div`,{className:`w-full bg-muted rounded-full h-1.5`,children:(0,Z.jsx)(`div`,{className:`rounded-full h-1.5 transition-all ${e.completionRate>=80?`bg-green-500`:e.completionRate>=50?`bg-yellow-500`:`bg-destructive`}`,style:{width:`${e.completionRate}%`}})})]},t))})})]})]})},Nt=({schema:e})=>{let t=c()?.dataSource,n=a(),r=e.parentObject||n?.objectName,i=e.parentId||e.recordId||n?.recordId,[o,s]=(0,Y.useState)([]),[l,u]=(0,Y.useState)([]),[d,f]=(0,Y.useState)(!0),[p,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null),[b,x]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{let n=t;if(!n||typeof n.getObjectSchema!=`function`)return;let r=!1;return n.getObjectSchema(e.childObject).then(e=>{r||x(e??null)}).catch(()=>{r||x(null)}),()=>{r=!0}},[t,e.childObject]);let S=(0,Y.useCallback)(async()=>{if(!t||!i){f(!1);return}f(!0);try{let n=(await t.find(e.childObject,{$filter:{[e.relationshipField]:i},$top:500}))?.data??[];s(n.map(e=>({...e}))),u(n.map(e=>({...e}))),_(!1)}catch(e){y(e?.message||`Failed to load line items`)}finally{f(!1)}},[t,i,e.childObject,e.relationshipField]);(0,Y.useEffect)(()=>{S()},[S]);let C=(0,Y.useCallback)(e=>{s(e),_(!0)},[]),w=(0,Y.useCallback)(async()=>{if(!(!t||!i)){h(!0),y(null);try{await Je(t,r||e.childObject,i,{childObject:e.childObject,relationshipField:e.relationshipField,rows:o,original:l,amountField:e.amountField,totalField:r?e.totalField:void 0,childSchema:b}),await S()}catch(e){y(e?.message||`Failed to save line items`)}finally{h(!1)}}},[t,i,o,l,e,r,S,b]),T=(0,Y.useMemo)(()=>({columns:e.columns,total_field:e.totalField?e.amountField||`amount`:void 0,min_rows:e.minRows,max_rows:e.maxRows,allow_add:!e.readonly,allow_delete:!e.readonly}),[e]);return(0,Z.jsxs)(q,{className:H(`shadow-none`),children:[(0,Z.jsxs)(B,{className:`flex-row items-center justify-between gap-2 pb-2`,children:[(0,Z.jsx)(M,{className:`text-sm font-medium`,children:e.title||`Line Items`}),!e.readonly&&(0,Z.jsx)(m,{type:`button`,size:`sm`,onClick:w,disabled:p||d||!g||!i,children:p?`Saving…`:`Save`})]}),(0,Z.jsxs)(U,{children:[v&&(0,Z.jsx)(`p`,{className:`mb-2 text-sm text-destructive`,children:v}),d?(0,Z.jsx)(`p`,{className:`py-6 text-center text-sm text-muted-foreground`,children:`Loading…`}):i?(0,Z.jsx)(N,{value:o,onChange:C,field:T,readonly:e.readonly}):(0,Z.jsx)(`p`,{className:`py-6 text-center text-sm text-muted-foreground`,children:`Save the record first to add line items.`})]})]})},Pt=({schema:e})=>(0,Z.jsx)(Ct,{schema:e,dataSource:(0,Y.useContext)(u)?.dataSource??void 0});l.register(`object-form`,Pt,{namespace:`plugin-form`,label:`Object Form`,category:`plugin`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`fields`,type:`array`,label:`Fields`},{name:`mode`,type:`enum`,label:`Mode`,enum:[`create`,`edit`,`view`]},{name:`formType`,type:`enum`,label:`Form Type`,enum:[`simple`,`tabbed`,`wizard`,`split`,`drawer`,`modal`]},{name:`sections`,type:`array`,label:`Sections`},{name:`title`,type:`string`,label:`Title`},{name:`description`,type:`string`,label:`Description`},{name:`layout`,type:`enum`,label:`Layout`,enum:[`vertical`,`horizontal`,`inline`,`grid`]},{name:`columns`,type:`number`,label:`Columns`},{name:`defaultTab`,type:`string`,label:`Default Tab`},{name:`tabPosition`,type:`enum`,label:`Tab Position`,enum:[`top`,`bottom`,`left`,`right`]},{name:`allowSkip`,type:`boolean`,label:`Allow Skip Steps`},{name:`showStepIndicator`,type:`boolean`,label:`Show Step Indicator`},{name:`splitDirection`,type:`enum`,label:`Split Direction`,enum:[`horizontal`,`vertical`]},{name:`splitSize`,type:`number`,label:`Split Panel Size (%)`},{name:`splitResizable`,type:`boolean`,label:`Split Resizable`},{name:`drawerSide`,type:`enum`,label:`Drawer Side`,enum:[`top`,`bottom`,`left`,`right`]},{name:`drawerWidth`,type:`string`,label:`Drawer Width`},{name:`modalSize`,type:`enum`,label:`Modal Size`,enum:[`sm`,`default`,`lg`,`xl`,`full`]}]}),l.register(`form`,Pt,{namespace:`view`,skipFallback:!0,label:`Data Form View`,category:`view`,inputs:[{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`fields`,type:`array`,label:`Fields`},{name:`mode`,type:`enum`,label:`Mode`,enum:[`create`,`edit`,`view`]}]}),l.register(`embeddable-form`,({schema:e})=>(0,Z.jsx)(At,{config:e}),{namespace:`plugin-form`,label:`Embeddable Form`,category:`plugin`,inputs:[{name:`formId`,type:`string`,label:`Form ID`,required:!0},{name:`objectName`,type:`string`,label:`Object Name`,required:!0},{name:`title`,type:`string`,label:`Form Title`},{name:`description`,type:`string`,label:`Description`},{name:`fields`,type:`array`,label:`Fields`},{name:`allowMultiple`,type:`boolean`,label:`Allow Multiple Submissions`}]}),l.register(`form-analytics`,({schema:e})=>(0,Z.jsx)(Mt,{formId:e.formId,formTitle:e.formTitle,metrics:e.metrics||{totalSubmissions:0}}),{namespace:`plugin-form`,label:`Form Analytics`,category:`plugin`,inputs:[{name:`formId`,type:`string`,label:`Form ID`,required:!0},{name:`formTitle`,type:`string`,label:`Form Title`},{name:`metrics`,type:`object`,label:`Submission Metrics`}]}),l.register(`object-master-detail-form`,({schema:e})=>(0,Z.jsx)(ht,{schema:e,dataSource:(0,Y.useContext)(u)?.dataSource??void 0}),{namespace:`plugin-form`,label:`Master-Detail Form`,category:`plugin`,inputs:[{name:`objectName`,type:`string`,label:`Parent Object`,required:!0},{name:`mode`,type:`enum`,label:`Mode`,enum:[`create`,`edit`]},{name:`sections`,type:`array`,label:`Parent Sections`},{name:`details`,type:`array`,label:`Detail Collections`,required:!0}]}),l.register(`line_items`,({schema:e})=>(0,Z.jsx)(Nt,{schema:e}),{namespace:`record`,skipFallback:!0,label:`Line Items`,category:`record`,inputs:[{name:`childObject`,type:`string`,label:`Child Object`,required:!0},{name:`relationshipField`,type:`string`,label:`Relationship Field`,required:!0},{name:`columns`,type:`array`,label:`Columns`,required:!0},{name:`totalField`,type:`string`,label:`Parent Total Field`},{name:`amountField`,type:`string`,label:`Amount Column`}]});export{ke as a,lt as i,St as n,xe as o,vt as r,ye as s,Ct as t};