@memberjunction/ng-core-entity-forms 6.1.0-edge.2 → 6.1.0-edge.3

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 (489) hide show
  1. package/LICENSE +180 -4
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts +12 -0
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts.map +1 -0
  4. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js +138 -0
  5. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js.map +1 -0
  6. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +20 -0
  7. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts.map +1 -0
  8. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +173 -0
  9. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -0
  10. package/dist/lib/custom/Actions/action-execution-log-form.component.js +193 -182
  11. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  12. package/dist/lib/custom/Companies/company-header.panel.d.ts +12 -0
  13. package/dist/lib/custom/Companies/company-header.panel.d.ts.map +1 -0
  14. package/dist/lib/custom/Companies/company-header.panel.js +190 -0
  15. package/dist/lib/custom/Companies/company-header.panel.js.map +1 -0
  16. package/dist/lib/custom/Companies/company-overview.panel.d.ts +21 -0
  17. package/dist/lib/custom/Companies/company-overview.panel.d.ts.map +1 -0
  18. package/dist/lib/custom/Companies/company-overview.panel.js +180 -0
  19. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -0
  20. package/dist/lib/custom/Conversations/conversation-header.panel.d.ts +12 -0
  21. package/dist/lib/custom/Conversations/conversation-header.panel.d.ts.map +1 -0
  22. package/dist/lib/custom/Conversations/conversation-header.panel.js +150 -0
  23. package/dist/lib/custom/Conversations/conversation-header.panel.js.map +1 -0
  24. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +23 -0
  25. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts.map +1 -0
  26. package/dist/lib/custom/Conversations/conversation-overview.panel.js +199 -0
  27. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -0
  28. package/dist/lib/custom/Employees/employee-header.panel.d.ts +12 -0
  29. package/dist/lib/custom/Employees/employee-header.panel.d.ts.map +1 -0
  30. package/dist/lib/custom/Employees/employee-header.panel.js +180 -0
  31. package/dist/lib/custom/Employees/employee-header.panel.js.map +1 -0
  32. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +21 -0
  33. package/dist/lib/custom/Employees/employee-overview.panel.d.ts.map +1 -0
  34. package/dist/lib/custom/Employees/employee-overview.panel.js +180 -0
  35. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -0
  36. package/dist/lib/custom/Entities/entity-form.component.d.ts +4 -1
  37. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  38. package/dist/lib/custom/Entities/entity-form.component.js +216 -173
  39. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  40. package/dist/lib/custom/Files/file-form.component.d.ts +40 -0
  41. package/dist/lib/custom/Files/file-form.component.d.ts.map +1 -0
  42. package/dist/lib/custom/Files/file-form.component.js +654 -0
  43. package/dist/lib/custom/Files/file-form.component.js.map +1 -0
  44. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts +101 -0
  45. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts.map +1 -0
  46. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js +1202 -0
  47. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js.map +1 -0
  48. package/dist/lib/custom/Users/user-header.panel.d.ts +12 -0
  49. package/dist/lib/custom/Users/user-header.panel.d.ts.map +1 -0
  50. package/dist/lib/custom/Users/user-header.panel.js +164 -0
  51. package/dist/lib/custom/Users/user-header.panel.js.map +1 -0
  52. package/dist/lib/custom/Users/user-overview.panel.d.ts +19 -0
  53. package/dist/lib/custom/Users/user-overview.panel.d.ts.map +1 -0
  54. package/dist/lib/custom/Users/user-overview.panel.js +172 -0
  55. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -0
  56. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +18 -1
  57. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  58. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +118 -75
  59. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  60. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +46 -1
  61. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  62. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +141 -18
  63. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  64. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +4 -4
  65. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  66. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.d.ts +9 -1
  67. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.d.ts.map +1 -1
  68. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js +85 -8
  69. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js.map +1 -1
  70. package/dist/lib/custom/custom-forms.module.d.ts +33 -29
  71. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  72. package/dist/lib/custom/custom-forms.module.js +23 -8
  73. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  74. package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js +3 -3
  75. package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js.map +1 -1
  76. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +300 -294
  77. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  78. package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js +31 -23
  79. package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js.map +1 -1
  80. package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js +3 -3
  81. package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js.map +1 -1
  82. package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js +14 -16
  83. package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js.map +1 -1
  84. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js +2 -2
  85. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js.map +1 -1
  86. package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js +2 -2
  87. package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js.map +1 -1
  88. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +123 -117
  89. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
  90. package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js +35 -27
  91. package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js.map +1 -1
  92. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +47 -49
  93. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
  94. package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js +2 -2
  95. package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js.map +1 -1
  96. package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js +3 -3
  97. package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js.map +1 -1
  98. package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js +3 -3
  99. package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js.map +1 -1
  100. package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js +30 -22
  101. package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js.map +1 -1
  102. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js +4 -4
  103. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js.map +1 -1
  104. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js +2 -2
  105. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js.map +1 -1
  106. package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js +72 -64
  107. package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js.map +1 -1
  108. package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js +8 -8
  109. package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js.map +1 -1
  110. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +28 -28
  111. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
  112. package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js +2 -2
  113. package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js.map +1 -1
  114. package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js +2 -2
  115. package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js.map +1 -1
  116. package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js +3 -3
  117. package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js.map +1 -1
  118. package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js +2 -2
  119. package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js.map +1 -1
  120. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +171 -173
  121. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
  122. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.d.ts.map +1 -1
  123. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js +33 -19
  124. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js.map +1 -1
  125. package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js +2 -2
  126. package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js.map +1 -1
  127. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +85 -79
  128. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  129. package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js +2 -2
  130. package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js.map +1 -1
  131. package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js +2 -2
  132. package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js.map +1 -1
  133. package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js +7 -7
  134. package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js.map +1 -1
  135. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +11 -11
  136. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  137. package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js +3 -3
  138. package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js.map +1 -1
  139. package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js +4 -4
  140. package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js.map +1 -1
  141. package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js +4 -4
  142. package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js.map +1 -1
  143. package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js +36 -28
  144. package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js.map +1 -1
  145. package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js +108 -100
  146. package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js.map +1 -1
  147. package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js +36 -28
  148. package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js.map +1 -1
  149. package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js +2 -2
  150. package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js.map +1 -1
  151. package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js +3 -3
  152. package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js.map +1 -1
  153. package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js +2 -2
  154. package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js.map +1 -1
  155. package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js +2 -2
  156. package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js.map +1 -1
  157. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js +11 -11
  158. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js.map +1 -1
  159. package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js +3 -3
  160. package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js.map +1 -1
  161. package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js +2 -2
  162. package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js.map +1 -1
  163. package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js +4 -4
  164. package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js.map +1 -1
  165. package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js +48 -40
  166. package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js.map +1 -1
  167. package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js +7 -7
  168. package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js.map +1 -1
  169. package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js +29 -21
  170. package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js.map +1 -1
  171. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.d.ts +10 -0
  172. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.d.ts.map +1 -0
  173. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.js +108 -0
  174. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.js.map +1 -0
  175. package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js +50 -42
  176. package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js.map +1 -1
  177. package/dist/lib/generated/Entities/MJClusterAnalysis/mjclusteranalysis.form.component.js +2 -2
  178. package/dist/lib/generated/Entities/MJClusterAnalysis/mjclusteranalysis.form.component.js.map +1 -1
  179. package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js +44 -36
  180. package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js.map +1 -1
  181. package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js +3 -3
  182. package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js.map +1 -1
  183. package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js +2 -2
  184. package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js.map +1 -1
  185. package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js +2 -2
  186. package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js.map +1 -1
  187. package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js +2 -2
  188. package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js.map +1 -1
  189. package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js +7 -7
  190. package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js.map +1 -1
  191. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.d.ts.map +1 -1
  192. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js +32 -14
  193. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js.map +1 -1
  194. package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js +3 -3
  195. package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js.map +1 -1
  196. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.d.ts.map +1 -1
  197. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js +44 -26
  198. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js.map +1 -1
  199. package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js +2 -2
  200. package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js.map +1 -1
  201. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +5 -5
  202. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
  203. package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js +2 -2
  204. package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js.map +1 -1
  205. package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js +2 -2
  206. package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js.map +1 -1
  207. package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js +3 -3
  208. package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js.map +1 -1
  209. package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js +60 -52
  210. package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js.map +1 -1
  211. package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js +28 -20
  212. package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js.map +1 -1
  213. package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js +2 -2
  214. package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js.map +1 -1
  215. package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js +2 -2
  216. package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js.map +1 -1
  217. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +6 -6
  218. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
  219. package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js +4 -4
  220. package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js.map +1 -1
  221. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +3 -3
  222. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
  223. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +77 -79
  224. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
  225. package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js +4 -4
  226. package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js.map +1 -1
  227. package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js +2 -2
  228. package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js.map +1 -1
  229. package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js +76 -68
  230. package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js.map +1 -1
  231. package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js +3 -3
  232. package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js.map +1 -1
  233. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
  234. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +42 -24
  235. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
  236. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.d.ts.map +1 -1
  237. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js +33 -19
  238. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js.map +1 -1
  239. package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js +6 -6
  240. package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js.map +1 -1
  241. package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js +5 -5
  242. package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js.map +1 -1
  243. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.d.ts.map +1 -1
  244. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js +47 -33
  245. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js.map +1 -1
  246. package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js +3 -3
  247. package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js.map +1 -1
  248. package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js +2 -2
  249. package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js.map +1 -1
  250. package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js +2 -2
  251. package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js.map +1 -1
  252. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js +2 -2
  253. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js.map +1 -1
  254. package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js +6 -6
  255. package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js.map +1 -1
  256. package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js +2 -2
  257. package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js.map +1 -1
  258. package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js +2 -2
  259. package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js.map +1 -1
  260. package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js +2 -2
  261. package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js.map +1 -1
  262. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  263. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +604 -530
  264. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  265. package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js +5 -5
  266. package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js.map +1 -1
  267. package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js +3 -3
  268. package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js.map +1 -1
  269. package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js +2 -2
  270. package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js.map +1 -1
  271. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +5 -5
  272. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
  273. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js +2 -2
  274. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js.map +1 -1
  275. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.d.ts.map +1 -1
  276. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +28 -18
  277. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  278. package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js +2 -2
  279. package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js.map +1 -1
  280. package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js +2 -2
  281. package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js.map +1 -1
  282. package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js +10 -8
  283. package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js.map +1 -1
  284. package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js +2 -2
  285. package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js.map +1 -1
  286. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js +8 -8
  287. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js.map +1 -1
  288. package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js +2 -2
  289. package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js.map +1 -1
  290. package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js +2 -2
  291. package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js.map +1 -1
  292. package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js +2 -2
  293. package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js.map +1 -1
  294. package/dist/lib/generated/Entities/MJExternalDataSource/mjexternaldatasource.form.component.js +3 -3
  295. package/dist/lib/generated/Entities/MJExternalDataSource/mjexternaldatasource.form.component.js.map +1 -1
  296. package/dist/lib/generated/Entities/MJExternalDataSourceType/mjexternaldatasourcetype.form.component.js +2 -2
  297. package/dist/lib/generated/Entities/MJExternalDataSourceType/mjexternaldatasourcetype.form.component.js.map +1 -1
  298. package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js +9 -9
  299. package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js.map +1 -1
  300. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.d.ts.map +1 -1
  301. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js +33 -19
  302. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js.map +1 -1
  303. package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js +7 -7
  304. package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js.map +1 -1
  305. package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js +6 -6
  306. package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js.map +1 -1
  307. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.d.ts +10 -0
  308. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.d.ts.map +1 -0
  309. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.js +82 -0
  310. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.js.map +1 -0
  311. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.d.ts.map +1 -1
  312. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js +33 -19
  313. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js.map +1 -1
  314. package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js +5 -5
  315. package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js.map +1 -1
  316. package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js +3 -3
  317. package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js.map +1 -1
  318. package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js +2 -2
  319. package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js.map +1 -1
  320. package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js +3 -3
  321. package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js.map +1 -1
  322. package/dist/lib/generated/Entities/MJList/mjlist.form.component.js +6 -6
  323. package/dist/lib/generated/Entities/MJList/mjlist.form.component.js.map +1 -1
  324. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.d.ts.map +1 -1
  325. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js +33 -19
  326. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js.map +1 -1
  327. package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js +4 -4
  328. package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js.map +1 -1
  329. package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js +7 -7
  330. package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js.map +1 -1
  331. package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js +4 -4
  332. package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js.map +1 -1
  333. package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js +5 -5
  334. package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js.map +1 -1
  335. package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js +2 -2
  336. package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js.map +1 -1
  337. package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js +3 -3
  338. package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js.map +1 -1
  339. package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js +3 -3
  340. package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js.map +1 -1
  341. package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.js +6 -6
  342. package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.js.map +1 -1
  343. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.d.ts +10 -0
  344. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.d.ts.map +1 -0
  345. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.js +117 -0
  346. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.js.map +1 -0
  347. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.d.ts +10 -0
  348. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.d.ts.map +1 -0
  349. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.js +58 -0
  350. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.js.map +1 -0
  351. package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +4 -4
  352. package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
  353. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +2 -2
  354. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
  355. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +38 -30
  356. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  357. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.d.ts.map +1 -1
  358. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +85 -65
  359. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
  360. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.d.ts.map +1 -1
  361. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js +33 -19
  362. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js.map +1 -1
  363. package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js +2 -2
  364. package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js.map +1 -1
  365. package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js +2 -2
  366. package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js.map +1 -1
  367. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.d.ts +10 -0
  368. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.d.ts.map +1 -0
  369. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.js +64 -0
  370. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.js.map +1 -0
  371. package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js +2 -2
  372. package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js.map +1 -1
  373. package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js +2 -2
  374. package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js.map +1 -1
  375. package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js +2 -2
  376. package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js.map +1 -1
  377. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +21 -23
  378. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
  379. package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js +2 -2
  380. package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js.map +1 -1
  381. package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js +3 -3
  382. package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js.map +1 -1
  383. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +4 -4
  384. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
  385. package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.d.ts.map +1 -1
  386. package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.js +33 -19
  387. package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.js.map +1 -1
  388. package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.d.ts.map +1 -1
  389. package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.js +33 -19
  390. package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.js.map +1 -1
  391. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js +6 -6
  392. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js.map +1 -1
  393. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +17 -17
  394. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
  395. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js +7 -7
  396. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js.map +1 -1
  397. package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js +3 -3
  398. package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js.map +1 -1
  399. package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js +4 -4
  400. package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js.map +1 -1
  401. package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js +4 -4
  402. package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js.map +1 -1
  403. package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js +2 -2
  404. package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js.map +1 -1
  405. package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js +2 -2
  406. package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js.map +1 -1
  407. package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js +10 -10
  408. package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js.map +1 -1
  409. package/dist/lib/generated/Entities/MJSignatureAccount/mjsignatureaccount.form.component.js +2 -2
  410. package/dist/lib/generated/Entities/MJSignatureAccount/mjsignatureaccount.form.component.js.map +1 -1
  411. package/dist/lib/generated/Entities/MJSignatureProvider/mjsignatureprovider.form.component.js +2 -2
  412. package/dist/lib/generated/Entities/MJSignatureProvider/mjsignatureprovider.form.component.js.map +1 -1
  413. package/dist/lib/generated/Entities/MJSignatureRequest/mjsignaturerequest.form.component.js +4 -4
  414. package/dist/lib/generated/Entities/MJSignatureRequest/mjsignaturerequest.form.component.js.map +1 -1
  415. package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js +29 -21
  416. package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js.map +1 -1
  417. package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js +2 -2
  418. package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js.map +1 -1
  419. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.d.ts.map +1 -1
  420. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js +104 -92
  421. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js.map +1 -1
  422. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.d.ts.map +1 -1
  423. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js +47 -33
  424. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js.map +1 -1
  425. package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js +2 -2
  426. package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js.map +1 -1
  427. package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js +10 -10
  428. package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js.map +1 -1
  429. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.d.ts.map +1 -1
  430. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js +33 -19
  431. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js.map +1 -1
  432. package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js +2 -2
  433. package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js.map +1 -1
  434. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js +2 -2
  435. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js.map +1 -1
  436. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +3 -3
  437. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
  438. package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js +7 -7
  439. package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js.map +1 -1
  440. package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js +2 -2
  441. package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js.map +1 -1
  442. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +39 -31
  443. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
  444. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +2 -2
  445. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
  446. package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js +3 -3
  447. package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js.map +1 -1
  448. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +105 -105
  449. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  450. package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js +2 -2
  451. package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js.map +1 -1
  452. package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js +3 -3
  453. package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js.map +1 -1
  454. package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js +3 -3
  455. package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js.map +1 -1
  456. package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js +6 -6
  457. package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js.map +1 -1
  458. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.d.ts.map +1 -1
  459. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js +33 -19
  460. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js.map +1 -1
  461. package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js +2 -2
  462. package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js.map +1 -1
  463. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js +3 -3
  464. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js.map +1 -1
  465. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js +6 -6
  466. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js.map +1 -1
  467. package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js +44 -36
  468. package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js.map +1 -1
  469. package/dist/lib/generated/Entities/MJViewType/mjviewtype.form.component.js +2 -2
  470. package/dist/lib/generated/Entities/MJViewType/mjviewtype.form.component.js.map +1 -1
  471. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js +2 -2
  472. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js.map +1 -1
  473. package/dist/lib/generated/generated-forms.module.d.ts +290 -285
  474. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  475. package/dist/lib/generated/generated-forms.module.js +126 -111
  476. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  477. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.d.ts +37 -0
  478. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.d.ts.map +1 -0
  479. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.js +185 -0
  480. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.js.map +1 -0
  481. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.d.ts +20 -0
  482. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.d.ts.map +1 -0
  483. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js +87 -0
  484. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js.map +1 -0
  485. package/dist/public-api.d.ts +12 -0
  486. package/dist/public-api.d.ts.map +1 -1
  487. package/dist/public-api.js +14 -2
  488. package/dist/public-api.js.map +1 -1
  489. package/package.json +44 -42
@@ -0,0 +1,654 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var MJFileFormComponentExtended_1;
8
+ import { Component, inject } from '@angular/core';
9
+ import { DomSanitizer } from '@angular/platform-browser';
10
+ import { UserInfoEngine } from '@memberjunction/core-entities';
11
+ import { RegisterClass } from '@memberjunction/global';
12
+ import { BaseFormComponent } from '@memberjunction/ng-base-forms';
13
+ import { GraphQLDataProvider, gql } from '@memberjunction/graphql-dataprovider';
14
+ import { MJNotificationService } from '@memberjunction/ng-notifications';
15
+ import { MJFileFormComponent } from '../../generated/Entities/MJFile/mjfile.form.component';
16
+ import { z } from 'zod';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@memberjunction/ng-ui-components";
19
+ import * as i2 from "@memberjunction/ng-base-forms";
20
+ import * as i3 from "@memberjunction/ng-shared-generic";
21
+ import * as i4 from "@angular/common";
22
+ function MJFileFormComponentExtended_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵelementStart(0, "span", 10);
24
+ i0.ɵɵtext(1);
25
+ i0.ɵɵelementEnd();
26
+ } if (rf & 2) {
27
+ const ctx_r1 = i0.ɵɵnextContext(2);
28
+ i0.ɵɵadvance();
29
+ i0.ɵɵtextInterpolate(ctx_r1.record.Status);
30
+ } }
31
+ function MJFileFormComponentExtended_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
32
+ const _r3 = i0.ɵɵgetCurrentView();
33
+ i0.ɵɵelementStart(0, "button", 22);
34
+ i0.ɵɵlistener("click", function MJFileFormComponentExtended_Conditional_0_Conditional_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OpenInExternalTab()); });
35
+ i0.ɵɵelement(1, "i", 23);
36
+ i0.ɵɵelementStart(2, "span");
37
+ i0.ɵɵtext(3, "Open in New Tab");
38
+ i0.ɵɵelementEnd()();
39
+ } }
40
+ function MJFileFormComponentExtended_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
41
+ const _r4 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "button", 24);
43
+ i0.ɵɵlistener("click", function MJFileFormComponentExtended_Conditional_0_Conditional_20_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.ToggleViewMode()); });
44
+ i0.ɵɵelement(1, "i", 25);
45
+ i0.ɵɵelementStart(2, "span");
46
+ i0.ɵɵtext(3, "Edit Record");
47
+ i0.ɵɵelementEnd()();
48
+ } }
49
+ function MJFileFormComponentExtended_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵelementStart(0, "div", 18);
51
+ i0.ɵɵelement(1, "mj-loading", 26);
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ const ctx_r1 = i0.ɵɵnextContext(2);
55
+ i0.ɵɵadvance();
56
+ i0.ɵɵproperty("text", "Loading " + (ctx_r1.record.Name || "file") + "...");
57
+ } }
58
+ function MJFileFormComponentExtended_Conditional_0_Case_24_Conditional_0_Template(rf, ctx) { if (rf & 1) {
59
+ const _r5 = i0.ɵɵgetCurrentView();
60
+ i0.ɵɵelementStart(0, "div", 28)(1, "img", 29);
61
+ i0.ɵɵlistener("load", function MJFileFormComponentExtended_Conditional_0_Case_24_Conditional_0_Template_img_load_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); })("error", function MJFileFormComponentExtended_Conditional_0_Case_24_Conditional_0_Template_img_error_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); });
62
+ i0.ɵɵelementEnd()();
63
+ } if (rf & 2) {
64
+ const ctx_r1 = i0.ɵɵnextContext(3);
65
+ i0.ɵɵclassProp("mj-file-media--hidden", !ctx_r1.IsMediaLoaded);
66
+ i0.ɵɵadvance();
67
+ i0.ɵɵproperty("src", ctx_r1.MediaUrl, i0.ɵɵsanitizeUrl)("alt", ctx_r1.record.Name);
68
+ } }
69
+ function MJFileFormComponentExtended_Conditional_0_Case_24_Conditional_1_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementStart(0, "div", 20);
71
+ i0.ɵɵelement(1, "i", 30);
72
+ i0.ɵɵelementStart(2, "h3");
73
+ i0.ɵɵtext(3);
74
+ i0.ɵɵelementEnd();
75
+ i0.ɵɵelementStart(4, "p");
76
+ i0.ɵɵtext(5, "Image preview could not be loaded.");
77
+ i0.ɵɵelementEnd()();
78
+ } if (rf & 2) {
79
+ const ctx_r1 = i0.ɵɵnextContext(3);
80
+ i0.ɵɵadvance(3);
81
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
82
+ } }
83
+ function MJFileFormComponentExtended_Conditional_0_Case_24_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵconditionalCreate(0, MJFileFormComponentExtended_Conditional_0_Case_24_Conditional_0_Template, 2, 4, "div", 27)(1, MJFileFormComponentExtended_Conditional_0_Case_24_Conditional_1_Template, 6, 1, "div", 20);
85
+ } if (rf & 2) {
86
+ const ctx_r1 = i0.ɵɵnextContext(2);
87
+ i0.ɵɵconditional(ctx_r1.MediaUrl ? 0 : 1);
88
+ } }
89
+ function MJFileFormComponentExtended_Conditional_0_Case_25_Conditional_0_Template(rf, ctx) { if (rf & 1) {
90
+ const _r6 = i0.ɵɵgetCurrentView();
91
+ i0.ɵɵelementStart(0, "div", 32)(1, "iframe", 33);
92
+ i0.ɵɵlistener("load", function MJFileFormComponentExtended_Conditional_0_Case_25_Conditional_0_Template_iframe_load_1_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); });
93
+ i0.ɵɵelementEnd()();
94
+ } if (rf & 2) {
95
+ const ctx_r1 = i0.ɵɵnextContext(3);
96
+ i0.ɵɵclassProp("mj-file-media--hidden", !ctx_r1.IsMediaLoaded);
97
+ i0.ɵɵadvance();
98
+ i0.ɵɵproperty("src", ctx_r1.SafeMediaUrl, i0.ɵɵsanitizeResourceUrl);
99
+ } }
100
+ function MJFileFormComponentExtended_Conditional_0_Case_25_Conditional_1_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementStart(0, "div", 20);
102
+ i0.ɵɵelement(1, "i", 34);
103
+ i0.ɵɵelementStart(2, "h3");
104
+ i0.ɵɵtext(3);
105
+ i0.ɵɵelementEnd();
106
+ i0.ɵɵelementStart(4, "p");
107
+ i0.ɵɵtext(5, "PDF preview could not be loaded.");
108
+ i0.ɵɵelementEnd()();
109
+ } if (rf & 2) {
110
+ const ctx_r1 = i0.ɵɵnextContext(3);
111
+ i0.ɵɵadvance(3);
112
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
113
+ } }
114
+ function MJFileFormComponentExtended_Conditional_0_Case_25_Template(rf, ctx) { if (rf & 1) {
115
+ i0.ɵɵconditionalCreate(0, MJFileFormComponentExtended_Conditional_0_Case_25_Conditional_0_Template, 2, 3, "div", 31)(1, MJFileFormComponentExtended_Conditional_0_Case_25_Conditional_1_Template, 6, 1, "div", 20);
116
+ } if (rf & 2) {
117
+ const ctx_r1 = i0.ɵɵnextContext(2);
118
+ i0.ɵɵconditional(ctx_r1.SafeMediaUrl ? 0 : 1);
119
+ } }
120
+ function MJFileFormComponentExtended_Conditional_0_Case_26_Conditional_0_Template(rf, ctx) { if (rf & 1) {
121
+ const _r7 = i0.ɵɵgetCurrentView();
122
+ i0.ɵɵelementStart(0, "div", 36)(1, "video", 37);
123
+ i0.ɵɵlistener("loadeddata", function MJFileFormComponentExtended_Conditional_0_Case_26_Conditional_0_Template_video_loadeddata_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); })("error", function MJFileFormComponentExtended_Conditional_0_Case_26_Conditional_0_Template_video_error_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); });
124
+ i0.ɵɵelementEnd()();
125
+ } if (rf & 2) {
126
+ const ctx_r1 = i0.ɵɵnextContext(3);
127
+ i0.ɵɵclassProp("mj-file-media--hidden", !ctx_r1.IsMediaLoaded);
128
+ i0.ɵɵadvance();
129
+ i0.ɵɵproperty("src", ctx_r1.MediaUrl, i0.ɵɵsanitizeUrl);
130
+ } }
131
+ function MJFileFormComponentExtended_Conditional_0_Case_26_Conditional_1_Template(rf, ctx) { if (rf & 1) {
132
+ i0.ɵɵelementStart(0, "div", 20);
133
+ i0.ɵɵelement(1, "i", 38);
134
+ i0.ɵɵelementStart(2, "h3");
135
+ i0.ɵɵtext(3);
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵelementStart(4, "p");
138
+ i0.ɵɵtext(5, "Video preview could not be loaded.");
139
+ i0.ɵɵelementEnd()();
140
+ } if (rf & 2) {
141
+ const ctx_r1 = i0.ɵɵnextContext(3);
142
+ i0.ɵɵadvance(3);
143
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
144
+ } }
145
+ function MJFileFormComponentExtended_Conditional_0_Case_26_Template(rf, ctx) { if (rf & 1) {
146
+ i0.ɵɵconditionalCreate(0, MJFileFormComponentExtended_Conditional_0_Case_26_Conditional_0_Template, 2, 3, "div", 35)(1, MJFileFormComponentExtended_Conditional_0_Case_26_Conditional_1_Template, 6, 1, "div", 20);
147
+ } if (rf & 2) {
148
+ const ctx_r1 = i0.ɵɵnextContext(2);
149
+ i0.ɵɵconditional(ctx_r1.MediaUrl ? 0 : 1);
150
+ } }
151
+ function MJFileFormComponentExtended_Conditional_0_Case_27_Conditional_0_Template(rf, ctx) { if (rf & 1) {
152
+ const _r8 = i0.ɵɵgetCurrentView();
153
+ i0.ɵɵelementStart(0, "div", 40)(1, "div", 41);
154
+ i0.ɵɵelement(2, "i", 42);
155
+ i0.ɵɵelementEnd();
156
+ i0.ɵɵelementStart(3, "audio", 43);
157
+ i0.ɵɵlistener("loadeddata", function MJFileFormComponentExtended_Conditional_0_Case_27_Conditional_0_Template_audio_loadeddata_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); })("error", function MJFileFormComponentExtended_Conditional_0_Case_27_Conditional_0_Template_audio_error_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OnMediaElementLoaded()); });
158
+ i0.ɵɵelementEnd()();
159
+ } if (rf & 2) {
160
+ const ctx_r1 = i0.ɵɵnextContext(3);
161
+ i0.ɵɵclassProp("mj-file-media--hidden", !ctx_r1.IsMediaLoaded);
162
+ i0.ɵɵadvance(3);
163
+ i0.ɵɵproperty("src", ctx_r1.MediaUrl);
164
+ } }
165
+ function MJFileFormComponentExtended_Conditional_0_Case_27_Conditional_1_Template(rf, ctx) { if (rf & 1) {
166
+ i0.ɵɵelementStart(0, "div", 20);
167
+ i0.ɵɵelement(1, "i", 44);
168
+ i0.ɵɵelementStart(2, "h3");
169
+ i0.ɵɵtext(3);
170
+ i0.ɵɵelementEnd();
171
+ i0.ɵɵelementStart(4, "p");
172
+ i0.ɵɵtext(5, "Audio preview could not be loaded.");
173
+ i0.ɵɵelementEnd()();
174
+ } if (rf & 2) {
175
+ const ctx_r1 = i0.ɵɵnextContext(3);
176
+ i0.ɵɵadvance(3);
177
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
178
+ } }
179
+ function MJFileFormComponentExtended_Conditional_0_Case_27_Template(rf, ctx) { if (rf & 1) {
180
+ i0.ɵɵconditionalCreate(0, MJFileFormComponentExtended_Conditional_0_Case_27_Conditional_0_Template, 4, 3, "div", 39)(1, MJFileFormComponentExtended_Conditional_0_Case_27_Conditional_1_Template, 6, 1, "div", 20);
181
+ } if (rf & 2) {
182
+ const ctx_r1 = i0.ɵɵnextContext(2);
183
+ i0.ɵɵconditional(ctx_r1.MediaUrl ? 0 : 1);
184
+ } }
185
+ function MJFileFormComponentExtended_Conditional_0_Case_28_Template(rf, ctx) { if (rf & 1) {
186
+ i0.ɵɵelementStart(0, "div", 19)(1, "pre")(2, "code");
187
+ i0.ɵɵtext(3);
188
+ i0.ɵɵelementEnd()()();
189
+ } if (rf & 2) {
190
+ const ctx_r1 = i0.ɵɵnextContext(2);
191
+ i0.ɵɵadvance(3);
192
+ i0.ɵɵtextInterpolate(ctx_r1.TextContent || "Loading text content...");
193
+ } }
194
+ function MJFileFormComponentExtended_Conditional_0_Case_29_Conditional_8_Template(rf, ctx) { if (rf & 1) {
195
+ const _r9 = i0.ɵɵgetCurrentView();
196
+ i0.ɵɵelementStart(0, "button", 49);
197
+ i0.ɵɵlistener("click", function MJFileFormComponentExtended_Conditional_0_Case_29_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.OpenInExternalTab()); });
198
+ i0.ɵɵelement(1, "i", 23);
199
+ i0.ɵɵelementStart(2, "span");
200
+ i0.ɵɵtext(3, "Open in Browser");
201
+ i0.ɵɵelementEnd()();
202
+ } }
203
+ function MJFileFormComponentExtended_Conditional_0_Case_29_Template(rf, ctx) { if (rf & 1) {
204
+ i0.ɵɵelementStart(0, "div", 20);
205
+ i0.ɵɵelement(1, "i", 45);
206
+ i0.ɵɵelementStart(2, "h3");
207
+ i0.ɵɵtext(3);
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵelementStart(4, "p", 46);
210
+ i0.ɵɵtext(5);
211
+ i0.ɵɵelementEnd();
212
+ i0.ɵɵelementStart(6, "p", 47);
213
+ i0.ɵɵtext(7);
214
+ i0.ɵɵelementEnd();
215
+ i0.ɵɵconditionalCreate(8, MJFileFormComponentExtended_Conditional_0_Case_29_Conditional_8_Template, 4, 0, "button", 48);
216
+ i0.ɵɵelementEnd();
217
+ } if (rf & 2) {
218
+ const ctx_r1 = i0.ɵɵnextContext(2);
219
+ i0.ɵɵadvance();
220
+ i0.ɵɵclassMap(ctx_r1.FileIconClass);
221
+ i0.ɵɵadvance(2);
222
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
223
+ i0.ɵɵadvance(2);
224
+ i0.ɵɵtextInterpolate2("", ctx_r1.record.ContentType || "Document", " \u2022 ", ctx_r1.FormatFileSize(ctx_r1.record.ContentLength));
225
+ i0.ɵɵadvance(2);
226
+ i0.ɵɵtextInterpolate(ctx_r1.record.Description || "Preview is not available for this file type.");
227
+ i0.ɵɵadvance();
228
+ i0.ɵɵconditional(ctx_r1.MediaUrl ? 8 : -1);
229
+ } }
230
+ function MJFileFormComponentExtended_Conditional_0_Conditional_30_Conditional_13_Template(rf, ctx) { if (rf & 1) {
231
+ i0.ɵɵelementStart(0, "div", 55)(1, "span", 56);
232
+ i0.ɵɵtext(2, "Description:");
233
+ i0.ɵɵelementEnd();
234
+ i0.ɵɵelementStart(3, "span", 59);
235
+ i0.ɵɵtext(4);
236
+ i0.ɵɵelementEnd()();
237
+ } if (rf & 2) {
238
+ const ctx_r1 = i0.ɵɵnextContext(3);
239
+ i0.ɵɵadvance(4);
240
+ i0.ɵɵtextInterpolate(ctx_r1.record.Description);
241
+ } }
242
+ function MJFileFormComponentExtended_Conditional_0_Conditional_30_Conditional_24_Template(rf, ctx) { if (rf & 1) {
243
+ i0.ɵɵelementStart(0, "div", 55)(1, "span", 56);
244
+ i0.ɵɵtext(2, "Status:");
245
+ i0.ɵɵelementEnd();
246
+ i0.ɵɵelementStart(3, "span", 59);
247
+ i0.ɵɵtext(4);
248
+ i0.ɵɵelementEnd()();
249
+ } if (rf & 2) {
250
+ const ctx_r1 = i0.ɵɵnextContext(3);
251
+ i0.ɵɵadvance(4);
252
+ i0.ɵɵtextInterpolate(ctx_r1.record.Status);
253
+ } }
254
+ function MJFileFormComponentExtended_Conditional_0_Conditional_30_Template(rf, ctx) { if (rf & 1) {
255
+ const _r10 = i0.ɵɵgetCurrentView();
256
+ i0.ɵɵelementStart(0, "aside", 21)(1, "div", 50)(2, "h3");
257
+ i0.ɵɵtext(3, "File Details & Links");
258
+ i0.ɵɵelementEnd();
259
+ i0.ɵɵelementStart(4, "button", 51);
260
+ i0.ɵɵlistener("click", function MJFileFormComponentExtended_Conditional_0_Conditional_30_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.ToggleDetailsSidebar()); });
261
+ i0.ɵɵelement(5, "i", 52);
262
+ i0.ɵɵelementEnd()();
263
+ i0.ɵɵelementStart(6, "div", 53)(7, "div", 54)(8, "div", 55)(9, "span", 56);
264
+ i0.ɵɵtext(10, "File Name:");
265
+ i0.ɵɵelementEnd();
266
+ i0.ɵɵelementStart(11, "span", 57);
267
+ i0.ɵɵtext(12);
268
+ i0.ɵɵelementEnd()();
269
+ i0.ɵɵconditionalCreate(13, MJFileFormComponentExtended_Conditional_0_Conditional_30_Conditional_13_Template, 5, 1, "div", 55);
270
+ i0.ɵɵelementStart(14, "div", 55)(15, "span", 56);
271
+ i0.ɵɵtext(16, "MIME Type:");
272
+ i0.ɵɵelementEnd();
273
+ i0.ɵɵelementStart(17, "span", 58);
274
+ i0.ɵɵtext(18);
275
+ i0.ɵɵelementEnd()();
276
+ i0.ɵɵelementStart(19, "div", 55)(20, "span", 56);
277
+ i0.ɵɵtext(21, "Size:");
278
+ i0.ɵɵelementEnd();
279
+ i0.ɵɵelementStart(22, "span", 59);
280
+ i0.ɵɵtext(23);
281
+ i0.ɵɵelementEnd()();
282
+ i0.ɵɵconditionalCreate(24, MJFileFormComponentExtended_Conditional_0_Conditional_30_Conditional_24_Template, 5, 1, "div", 55);
283
+ i0.ɵɵelementStart(25, "div", 55)(26, "span", 56);
284
+ i0.ɵɵtext(27, "Created:");
285
+ i0.ɵɵelementEnd();
286
+ i0.ɵɵelementStart(28, "span", 59);
287
+ i0.ɵɵtext(29);
288
+ i0.ɵɵpipe(30, "date");
289
+ i0.ɵɵelementEnd()()();
290
+ i0.ɵɵelementStart(31, "div", 60)(32, "h4", 61);
291
+ i0.ɵɵelement(33, "i", 62);
292
+ i0.ɵɵelementStart(34, "span");
293
+ i0.ɵɵtext(35, "Linked Records");
294
+ i0.ɵɵelementEnd()();
295
+ i0.ɵɵelementStart(36, "div", 63);
296
+ i0.ɵɵelement(37, "mj-relationship-view", 64);
297
+ i0.ɵɵelementEnd()()()();
298
+ } if (rf & 2) {
299
+ const ctx_r1 = i0.ɵɵnextContext(2);
300
+ i0.ɵɵadvance(12);
301
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
302
+ i0.ɵɵadvance();
303
+ i0.ɵɵconditional(ctx_r1.record.Description ? 13 : -1);
304
+ i0.ɵɵadvance(5);
305
+ i0.ɵɵtextInterpolate(ctx_r1.record.ContentType || "Unknown");
306
+ i0.ɵɵadvance(5);
307
+ i0.ɵɵtextInterpolate(ctx_r1.FormatFileSize(ctx_r1.record.ContentLength));
308
+ i0.ɵɵadvance();
309
+ i0.ɵɵconditional(ctx_r1.record.Status ? 24 : -1);
310
+ i0.ɵɵadvance(5);
311
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(30, 8, ctx_r1.record.CreatedAt, "short"));
312
+ i0.ɵɵadvance(8);
313
+ i0.ɵɵproperty("Params", ctx_r1.BuildRelationshipViewParamsByEntityName("MJ: File Entity Record Links", "FileID"))("NewRecordValues", ctx_r1.NewRecordValues("MJ: File Entity Record Links", "FileID"));
314
+ } }
315
+ function MJFileFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf & 1) {
316
+ const _r1 = i0.ɵɵgetCurrentView();
317
+ i0.ɵɵelementStart(0, "div", 0)(1, "header", 2)(2, "div", 3)(3, "div", 4);
318
+ i0.ɵɵelement(4, "i");
319
+ i0.ɵɵelementEnd();
320
+ i0.ɵɵelementStart(5, "div", 5)(6, "h1", 6);
321
+ i0.ɵɵtext(7);
322
+ i0.ɵɵelementEnd();
323
+ i0.ɵɵelementStart(8, "div", 7)(9, "span", 8);
324
+ i0.ɵɵtext(10);
325
+ i0.ɵɵelementEnd();
326
+ i0.ɵɵelementStart(11, "span", 9);
327
+ i0.ɵɵtext(12);
328
+ i0.ɵɵelementEnd();
329
+ i0.ɵɵconditionalCreate(13, MJFileFormComponentExtended_Conditional_0_Conditional_13_Template, 2, 1, "span", 10);
330
+ i0.ɵɵelementEnd()()();
331
+ i0.ɵɵelementStart(14, "div", 11);
332
+ i0.ɵɵconditionalCreate(15, MJFileFormComponentExtended_Conditional_0_Conditional_15_Template, 4, 0, "button", 12);
333
+ i0.ɵɵelementStart(16, "button", 13);
334
+ i0.ɵɵlistener("click", function MJFileFormComponentExtended_Conditional_0_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleDetailsSidebar()); });
335
+ i0.ɵɵelement(17, "i", 14);
336
+ i0.ɵɵelementStart(18, "span");
337
+ i0.ɵɵtext(19);
338
+ i0.ɵɵelementEnd()();
339
+ i0.ɵɵconditionalCreate(20, MJFileFormComponentExtended_Conditional_0_Conditional_20_Template, 4, 0, "button", 15);
340
+ i0.ɵɵelementEnd()();
341
+ i0.ɵɵelementStart(21, "div", 16)(22, "main", 17);
342
+ i0.ɵɵconditionalCreate(23, MJFileFormComponentExtended_Conditional_0_Conditional_23_Template, 2, 1, "div", 18);
343
+ i0.ɵɵconditionalCreate(24, MJFileFormComponentExtended_Conditional_0_Case_24_Template, 2, 1)(25, MJFileFormComponentExtended_Conditional_0_Case_25_Template, 2, 1)(26, MJFileFormComponentExtended_Conditional_0_Case_26_Template, 2, 1)(27, MJFileFormComponentExtended_Conditional_0_Case_27_Template, 2, 1)(28, MJFileFormComponentExtended_Conditional_0_Case_28_Template, 4, 1, "div", 19)(29, MJFileFormComponentExtended_Conditional_0_Case_29_Template, 9, 7, "div", 20);
344
+ i0.ɵɵelementEnd();
345
+ i0.ɵɵconditionalCreate(30, MJFileFormComponentExtended_Conditional_0_Conditional_30_Template, 38, 11, "aside", 21);
346
+ i0.ɵɵelementEnd()();
347
+ } if (rf & 2) {
348
+ let tmp_12_0;
349
+ const ctx_r1 = i0.ɵɵnextContext();
350
+ i0.ɵɵadvance(4);
351
+ i0.ɵɵclassMap(ctx_r1.FileIconClass);
352
+ i0.ɵɵadvance(2);
353
+ i0.ɵɵproperty("title", ctx_r1.record.Name);
354
+ i0.ɵɵadvance();
355
+ i0.ɵɵtextInterpolate(ctx_r1.record.Name);
356
+ i0.ɵɵadvance(3);
357
+ i0.ɵɵtextInterpolate(ctx_r1.record.ContentType || "Document");
358
+ i0.ɵɵadvance(2);
359
+ i0.ɵɵtextInterpolate(ctx_r1.FormatFileSize(ctx_r1.record.ContentLength));
360
+ i0.ɵɵadvance();
361
+ i0.ɵɵconditional(ctx_r1.record.Status ? 13 : -1);
362
+ i0.ɵɵadvance(2);
363
+ i0.ɵɵconditional(ctx_r1.MediaUrl ? 15 : -1);
364
+ i0.ɵɵadvance();
365
+ i0.ɵɵproperty("title", ctx_r1.ShowDetailsSidebar ? "Hide Details" : "Show Details");
366
+ i0.ɵɵadvance(3);
367
+ i0.ɵɵtextInterpolate(ctx_r1.ShowDetailsSidebar ? "Hide Details" : "Details");
368
+ i0.ɵɵadvance();
369
+ i0.ɵɵconditional(ctx_r1.UserCanEdit ? 20 : -1);
370
+ i0.ɵɵadvance(3);
371
+ i0.ɵɵconditional(ctx_r1.IsLoadingMedia || !ctx_r1.IsMediaLoaded ? 23 : -1);
372
+ i0.ɵɵadvance();
373
+ i0.ɵɵconditional((tmp_12_0 = ctx_r1.MediaType) === "image" ? 24 : tmp_12_0 === "pdf" ? 25 : tmp_12_0 === "video" ? 26 : tmp_12_0 === "audio" ? 27 : tmp_12_0 === "text" ? 28 : 29);
374
+ i0.ɵɵadvance(6);
375
+ i0.ɵɵconditional(ctx_r1.ShowDetailsSidebar ? 30 : -1);
376
+ } }
377
+ function MJFileFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf & 1) {
378
+ const _r11 = i0.ɵɵgetCurrentView();
379
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 65)(2, "button", 66);
380
+ i0.ɵɵlistener("click", function MJFileFormComponentExtended_Conditional_1_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleViewMode()); });
381
+ i0.ɵɵelement(3, "i", 67);
382
+ i0.ɵɵelementStart(4, "span");
383
+ i0.ɵɵtext(5, "Return to File Preview");
384
+ i0.ɵɵelementEnd()()();
385
+ i0.ɵɵelementStart(6, "mj-record-form-container", 68);
386
+ i0.ɵɵlistener("Navigate", function MJFileFormComponentExtended_Conditional_1_Template_mj_record_form_container_Navigate_6_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnFormNavigate($event)); })("DeleteRequested", function MJFileFormComponentExtended_Conditional_1_Template_mj_record_form_container_DeleteRequested_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnDeleteRequested()); })("FavoriteToggled", function MJFileFormComponentExtended_Conditional_1_Template_mj_record_form_container_FavoriteToggled_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnFavoriteToggled()); })("HistoryRequested", function MJFileFormComponentExtended_Conditional_1_Template_mj_record_form_container_HistoryRequested_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnHistoryRequested()); })("ListManagementRequested", function MJFileFormComponentExtended_Conditional_1_Template_mj_record_form_container_ListManagementRequested_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnListManagementRequested()); });
387
+ i0.ɵɵelement(7, "mj-form-panel-slot", 69);
388
+ i0.ɵɵelementStart(8, "mj-collapsible-panel", 70);
389
+ i0.ɵɵelement(9, "mj-form-field", 71)(10, "mj-form-field", 72);
390
+ i0.ɵɵelementEnd();
391
+ i0.ɵɵelementStart(11, "mj-collapsible-panel", 73);
392
+ i0.ɵɵelement(12, "mj-form-field", 74)(13, "mj-form-field", 75);
393
+ i0.ɵɵelementEnd();
394
+ i0.ɵɵelementStart(14, "mj-collapsible-panel", 76);
395
+ i0.ɵɵelement(15, "mj-form-field", 77)(16, "mj-form-field", 78)(17, "mj-form-field", 79)(18, "mj-form-field", 80);
396
+ i0.ɵɵelementEnd();
397
+ i0.ɵɵelementStart(19, "mj-collapsible-panel", 81);
398
+ i0.ɵɵelement(20, "mj-relationship-view", 64);
399
+ i0.ɵɵelementEnd();
400
+ i0.ɵɵelement(21, "mj-form-panel-slot", 82);
401
+ i0.ɵɵelementEnd()();
402
+ } if (rf & 2) {
403
+ const ctx_r1 = i0.ɵɵnextContext();
404
+ i0.ɵɵadvance(6);
405
+ i0.ɵɵproperty("Record", ctx_r1.record)("FormComponent", ctx_r1);
406
+ i0.ɵɵadvance();
407
+ i0.ɵɵproperty("Entity", i0.ɵɵinterpolate(ctx_r1.record.EntityInfo.Name))("Record", ctx_r1.record)("FormComponent", ctx_r1)("FormContext", ctx_r1.formContext);
408
+ i0.ɵɵadvance();
409
+ i0.ɵɵproperty("Form", ctx_r1)("FormContext", ctx_r1.formContext);
410
+ i0.ɵɵadvance();
411
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
412
+ i0.ɵɵadvance();
413
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
414
+ i0.ɵɵadvance();
415
+ i0.ɵɵproperty("Form", ctx_r1)("FormContext", ctx_r1.formContext);
416
+ i0.ɵɵadvance();
417
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
418
+ i0.ɵɵadvance();
419
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
420
+ i0.ɵɵadvance();
421
+ i0.ɵɵproperty("Form", ctx_r1)("FormContext", ctx_r1.formContext);
422
+ i0.ɵɵadvance();
423
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
424
+ i0.ɵɵadvance();
425
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
426
+ i0.ɵɵadvance();
427
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
428
+ i0.ɵɵadvance();
429
+ i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.formContext);
430
+ i0.ɵɵadvance();
431
+ i0.ɵɵproperty("Form", ctx_r1)("FormContext", ctx_r1.formContext);
432
+ i0.ɵɵadvance();
433
+ i0.ɵɵproperty("Params", ctx_r1.BuildRelationshipViewParamsByEntityName("MJ: File Entity Record Links", "FileID"))("NewRecordValues", ctx_r1.NewRecordValues("MJ: File Entity Record Links", "FileID"));
434
+ i0.ɵɵadvance();
435
+ i0.ɵɵproperty("Entity", i0.ɵɵinterpolate(ctx_r1.record.EntityInfo.Name))("Record", ctx_r1.record)("FormComponent", ctx_r1)("FormContext", ctx_r1.formContext);
436
+ } }
437
+ const CreateMediaAccessTokenMutation = gql `
438
+ mutation CreateMediaAccessToken($fileId: String!) {
439
+ CreateMediaAccessToken(fileId: $fileId) {
440
+ Success
441
+ Token
442
+ Url
443
+ MimeType
444
+ ErrorMessage
445
+ }
446
+ }
447
+ `;
448
+ const CreateMediaAccessTokenMutationSchema = z.object({
449
+ CreateMediaAccessToken: z.object({
450
+ Success: z.boolean(),
451
+ Token: z.string().optional().nullable(),
452
+ Url: z.string().optional().nullable(),
453
+ MimeType: z.string().optional().nullable(),
454
+ ErrorMessage: z.string().optional().nullable(),
455
+ }),
456
+ });
457
+ const DownloadUrlMutation = gql `
458
+ mutation DownloadUrl($fileId: String!) {
459
+ DownloadUrl(fileId: $fileId) {
460
+ Success
461
+ ErrorMessage
462
+ Url
463
+ }
464
+ }
465
+ `;
466
+ const DownloadUrlMutationSchema = z.object({
467
+ DownloadUrl: z.object({
468
+ Success: z.boolean(),
469
+ ErrorMessage: z.string().optional().nullable(),
470
+ Url: z.string().optional().nullable(),
471
+ }),
472
+ });
473
+ let MJFileFormComponentExtended = class MJFileFormComponentExtended extends MJFileFormComponent {
474
+ constructor() {
475
+ super(...arguments);
476
+ this.IsLoadingMedia = true;
477
+ this.IsMediaLoaded = false;
478
+ this.MediaUrl = null;
479
+ this.SafeMediaUrl = null;
480
+ this.TextContent = null;
481
+ this.ShowDetailsSidebar = true;
482
+ this.ViewStandardForm = false;
483
+ this.sanitizer = inject(DomSanitizer);
484
+ this.notifications = inject(MJNotificationService);
485
+ }
486
+ static { MJFileFormComponentExtended_1 = this; }
487
+ static { this.PREF_SHOW_DETAILS = 'mj.fileViewer.showDetailsSidebar'; }
488
+ async ngOnInit() {
489
+ await super.ngOnInit();
490
+ this.RestoreUserPreferences();
491
+ if (this.record?.ID) {
492
+ void this.LoadMediaPreview();
493
+ }
494
+ }
495
+ async ngOnChanges(changes) {
496
+ if (changes['record'] && this.record?.ID) {
497
+ void this.LoadMediaPreview();
498
+ }
499
+ }
500
+ ngOnDestroy() {
501
+ if (this.mediaTimer) {
502
+ clearTimeout(this.mediaTimer);
503
+ }
504
+ super.ngOnDestroy();
505
+ }
506
+ RestoreUserPreferences() {
507
+ const saved = UserInfoEngine.Instance.GetSetting(MJFileFormComponentExtended_1.PREF_SHOW_DETAILS);
508
+ if (saved !== undefined && saved !== null) {
509
+ try {
510
+ this.ShowDetailsSidebar = JSON.parse(saved) === true;
511
+ }
512
+ catch {
513
+ this.ShowDetailsSidebar = saved === 'true';
514
+ }
515
+ }
516
+ }
517
+ /**
518
+ * Loads the media streaming URL for inline viewing.
519
+ */
520
+ async LoadMediaPreview() {
521
+ if (!this.record?.ID)
522
+ return;
523
+ this.IsLoadingMedia = true;
524
+ this.IsMediaLoaded = false;
525
+ this.MediaUrl = null;
526
+ this.SafeMediaUrl = null;
527
+ this.TextContent = null;
528
+ this.cdr.markForCheck();
529
+ try {
530
+ // 1. Try CreateMediaAccessToken (supports Range headers and browser tab titles)
531
+ const mediaResult = await GraphQLDataProvider.ExecuteGQL(CreateMediaAccessTokenMutation, { fileId: this.record.ID });
532
+ const parsedMedia = CreateMediaAccessTokenMutationSchema.safeParse(mediaResult);
533
+ if (parsedMedia.success && parsedMedia.data.CreateMediaAccessToken.Success && parsedMedia.data.CreateMediaAccessToken.Url) {
534
+ this.MediaUrl = parsedMedia.data.CreateMediaAccessToken.Url;
535
+ this.SafeMediaUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.MediaUrl);
536
+ }
537
+ else {
538
+ // 2. Fallback to DownloadUrl
539
+ const downloadResult = await GraphQLDataProvider.ExecuteGQL(DownloadUrlMutation, { fileId: this.record.ID });
540
+ const parsedDownload = DownloadUrlMutationSchema.safeParse(downloadResult);
541
+ if (parsedDownload.success && parsedDownload.data.DownloadUrl.Success && parsedDownload.data.DownloadUrl.Url) {
542
+ this.MediaUrl = parsedDownload.data.DownloadUrl.Url;
543
+ this.SafeMediaUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.MediaUrl);
544
+ }
545
+ }
546
+ if (this.MediaUrl) {
547
+ const mediaType = this.MediaType;
548
+ if (mediaType === 'text') {
549
+ try {
550
+ const resp = await window.fetch(this.MediaUrl);
551
+ if (resp.ok) {
552
+ this.TextContent = await resp.text();
553
+ }
554
+ }
555
+ catch {
556
+ // fallback
557
+ }
558
+ this.IsMediaLoaded = true;
559
+ }
560
+ }
561
+ else {
562
+ this.IsMediaLoaded = true;
563
+ }
564
+ }
565
+ catch (err) {
566
+ console.error('[MJFileFormComponentExtended] Error loading media preview:', err);
567
+ this.IsMediaLoaded = true;
568
+ }
569
+ finally {
570
+ this.IsLoadingMedia = false;
571
+ this.cdr.markForCheck();
572
+ }
573
+ }
574
+ OnMediaElementLoaded() {
575
+ if (this.mediaTimer)
576
+ clearTimeout(this.mediaTimer);
577
+ this.mediaTimer = setTimeout(() => {
578
+ this.IsMediaLoaded = true;
579
+ this.cdr.markForCheck();
580
+ }, 350);
581
+ }
582
+ /**
583
+ * Determines media type category based on MIME type or file extension.
584
+ */
585
+ get MediaType() {
586
+ const mime = (this.record?.ContentType || '').toLowerCase();
587
+ const name = (this.record?.Name || '').toLowerCase();
588
+ if (mime.startsWith('image/') || /\.(png|jpe?g|gif|webp|svg|ico|bmp|avif)$/.test(name))
589
+ return 'image';
590
+ if (mime === 'application/pdf' || name.endsWith('.pdf'))
591
+ return 'pdf';
592
+ if (mime.startsWith('video/') || /\.(mp4|webm|ogg|mov|mkv|avi)$/.test(name))
593
+ return 'video';
594
+ if (mime.startsWith('audio/') || /\.(mp3|wav|ogg|aac|m4a|flac)$/.test(name))
595
+ return 'audio';
596
+ if (mime.startsWith('text/') ||
597
+ mime.includes('json') ||
598
+ mime.includes('xml') ||
599
+ mime.includes('javascript') ||
600
+ /\.(txt|md|csv|json|xml|yaml|yml|js|ts|html|css|sql|sh|log)$/.test(name)) {
601
+ return 'text';
602
+ }
603
+ return 'other';
604
+ }
605
+ get FileIconClass() {
606
+ switch (this.MediaType) {
607
+ case 'image': return 'fa-solid fa-file-image mj-file-color-image';
608
+ case 'pdf': return 'fa-solid fa-file-pdf mj-file-color-pdf';
609
+ case 'video': return 'fa-solid fa-file-video mj-file-color-video';
610
+ case 'audio': return 'fa-solid fa-file-audio mj-file-color-audio';
611
+ case 'text': return 'fa-solid fa-file-lines mj-file-color-text';
612
+ default: return 'fa-solid fa-file mj-file-color-generic';
613
+ }
614
+ }
615
+ FormatFileSize(bytes) {
616
+ if (bytes == null || isNaN(bytes) || bytes <= 0)
617
+ return '0 B';
618
+ const units = ['B', 'KB', 'MB', 'GB', 'TB'];
619
+ const idx = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);
620
+ const val = bytes / Math.pow(1024, idx);
621
+ return `${val.toFixed(idx === 0 ? 0 : 1)} ${units[idx]}`;
622
+ }
623
+ OpenInExternalTab() {
624
+ if (this.MediaUrl) {
625
+ window.open(this.MediaUrl, '_blank', 'noopener,noreferrer');
626
+ }
627
+ else {
628
+ this.notifications.CreateSimpleNotification('File URL not ready', 'warning');
629
+ }
630
+ }
631
+ ToggleDetailsSidebar() {
632
+ this.ShowDetailsSidebar = !this.ShowDetailsSidebar;
633
+ UserInfoEngine.Instance.SetSettingDebounced(MJFileFormComponentExtended_1.PREF_SHOW_DETAILS, JSON.stringify(this.ShowDetailsSidebar));
634
+ }
635
+ ToggleViewMode() {
636
+ this.ViewStandardForm = !this.ViewStandardForm;
637
+ }
638
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJFileFormComponentExtended_BaseFactory; return function MJFileFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJFileFormComponentExtended_BaseFactory || (ɵMJFileFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJFileFormComponentExtended)))(__ngFactoryType__ || MJFileFormComponentExtended); }; })(); }
639
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJFileFormComponentExtended, selectors: [["mj-file-form-extended"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 2, vars: 1, consts: [[1, "mj-file-viewer-container"], [1, "mj-file-standard-form-wrapper"], [1, "mj-file-viewer-header"], [1, "mj-file-viewer-header-left"], [1, "mj-file-viewer-icon-box"], [1, "mj-file-viewer-title-group"], [1, "mj-file-viewer-title", 3, "title"], [1, "mj-file-viewer-badges"], [1, "mj-file-badge", "mj-file-badge--type"], [1, "mj-file-badge", "mj-file-badge--size"], [1, "mj-file-badge", "mj-file-badge--status"], [1, "mj-file-viewer-header-right"], ["type", "button", "mjButton", "", "variant", "secondary", "size", "sm", "title", "Open file in new browser tab"], ["type", "button", "mjButton", "", "variant", "secondary", "size", "sm", 3, "click", "title"], [1, "fa-solid", "fa-circle-info"], ["type", "button", "mjButton", "", "variant", "tertiary", "size", "sm", "title", "Switch to full record editor"], [1, "mj-file-viewer-body"], [1, "mj-file-viewer-stage"], [1, "mj-file-viewer-loading-overlay"], [1, "mj-file-media-text-box"], [1, "mj-file-viewer-fallback"], [1, "mj-file-viewer-sidebar"], ["type", "button", "mjButton", "", "variant", "secondary", "size", "sm", "title", "Open file in new browser tab", 3, "click"], [1, "fa-solid", "fa-arrow-up-right-from-square"], ["type", "button", "mjButton", "", "variant", "tertiary", "size", "sm", "title", "Switch to full record editor", 3, "click"], [1, "fa-solid", "fa-pen-to-square"], [3, "text"], [1, "mj-file-media-image-box", 3, "mj-file-media--hidden"], [1, "mj-file-media-image-box"], [3, "load", "error", "src", "alt"], [1, "fa-solid", "fa-file-image", "mj-file-fallback-icon"], [1, "mj-file-media-frame-box", 3, "mj-file-media--hidden"], [1, "mj-file-media-frame-box"], ["title", "Document Preview", 3, "load", "src"], [1, "fa-solid", "fa-file-pdf", "mj-file-fallback-icon"], [1, "mj-file-media-video-box", 3, "mj-file-media--hidden"], [1, "mj-file-media-video-box"], ["controls", "", "autoplay", "", 3, "loadeddata", "error", "src"], [1, "fa-solid", "fa-file-video", "mj-file-fallback-icon"], [1, "mj-file-media-audio-box", 3, "mj-file-media--hidden"], [1, "mj-file-media-audio-box"], [1, "mj-file-audio-visual-icon"], [1, "fa-solid", "fa-headphones"], ["controls", "", 3, "loadeddata", "error", "src"], [1, "fa-solid", "fa-file-audio", "mj-file-fallback-icon"], [1, "mj-file-fallback-icon"], [1, "mj-file-fallback-meta"], [1, "mj-file-fallback-desc"], ["type", "button", "mjButton", "", "variant", "primary"], ["type", "button", "mjButton", "", "variant", "primary", 3, "click"], [1, "mj-file-sidebar-header"], ["type", "button", "title", "Collapse Sidebar", 1, "mj-file-sidebar-close", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "mj-file-sidebar-content"], [1, "mj-file-sidebar-card"], [1, "mj-file-meta-row"], [1, "mj-file-meta-label"], [1, "mj-file-meta-val", "font-semibold"], [1, "mj-file-meta-val", "font-mono"], [1, "mj-file-meta-val"], [1, "mj-file-sidebar-section"], [1, "mj-file-sidebar-section-title"], [1, "fa-solid", "fa-link"], [1, "mj-file-relationship-wrapper"], [3, "Params", "NewRecordValues"], [1, "mj-file-mode-switch-bar"], ["type", "button", "mjButton", "", "variant", "secondary", "size", "sm", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [3, "Navigate", "DeleteRequested", "FavoriteToggled", "HistoryRequested", "ListManagementRequested", "Record", "FormComponent"], ["Slot", "before-fields", 3, "Entity", "Record", "FormComponent", "FormContext"], ["SectionKey", "fileBasics", "SectionName", "File Basics", "Icon", "fa fa-file", 3, "Form", "FormContext"], ["FieldName", "Name", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "Description", "Type", "textarea", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "classificationStatus", "SectionName", "Classification & Status", "Icon", "fa fa-tags", 3, "Form", "FormContext"], ["FieldName", "CategoryID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "Status", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "storageDetails", "SectionName", "Storage Details", "Icon", "fa fa-database", 3, "Form", "FormContext"], ["FieldName", "ProviderID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "ProviderKey", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "ContentType", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "ContentLength", "Type", "numeric", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "mJFileEntityRecordLinks", "SectionName", "File Entity Record Links", "Icon", "fa fa-link", 3, "Form", "FormContext"], ["Slot", "after-fields", 3, "Entity", "Record", "FormComponent", "FormContext"]], template: function MJFileFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
640
+ i0.ɵɵconditionalCreate(0, MJFileFormComponentExtended_Conditional_0_Template, 31, 14, "div", 0)(1, MJFileFormComponentExtended_Conditional_1_Template, 22, 54, "div", 1);
641
+ } if (rf & 2) {
642
+ i0.ɵɵconditional(!ctx.ViewStandardForm ? 0 : 1);
643
+ } }, dependencies: [i1.MJButtonDirective, i2.MjFormFieldComponent, i2.MjCollapsiblePanelComponent, i2.MjRecordFormContainerComponent, i2.FormPanelSlotComponent, i3.LoadingComponent, i4.DatePipe], styles: [".k-pane[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin[_ngcontent-%COMP%] {\n margin: 10px;\n}\n\n\na[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin-bottom: 10px;\n}\n\n.k-splitter[_ngcontent-%COMP%] {\n border-width: 0px;\n}\n\n.record-form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row[_ngcontent-%COMP%] {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n\n\n@media (min-width: 1400px) {\n .form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.collapsible-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body[_ngcontent-%COMP%] {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed[_ngcontent-%COMP%] {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n\n\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n}", ".mj-file-viewer-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\n\n\n\n.mj-file-viewer-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 20px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n gap: 16px;\n flex-shrink: 0;\n}\n\n.mj-file-viewer-header-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n min-width: 0;\n}\n\n.mj-file-viewer-icon-box[_ngcontent-%COMP%] {\n width: 38px;\n height: 38px;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-sunken, #f1f5f9);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.25rem;\n flex-shrink: 0;\n}\n\n.mj-file-color-pdf[_ngcontent-%COMP%] { color: var(--mj-status-danger, #ef4444); }\n.mj-file-color-image[_ngcontent-%COMP%] { color: var(--mj-status-success, #10b981); }\n.mj-file-color-video[_ngcontent-%COMP%] { color: var(--mj-status-purple, #8b5cf6); }\n.mj-file-color-audio[_ngcontent-%COMP%] { color: var(--mj-status-warning, #f59e0b); }\n.mj-file-color-text[_ngcontent-%COMP%] { color: var(--mj-status-info, #3b82f6); }\n.mj-file-color-generic[_ngcontent-%COMP%] { color: var(--mj-text-muted, #94a3b8); }\n\n.mj-file-viewer-title-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.mj-file-viewer-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.mj-file-viewer-badges[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 3px;\n}\n\n.mj-file-badge[_ngcontent-%COMP%] {\n font-size: 0.72rem;\n font-weight: 600;\n padding: 2px 7px;\n border-radius: 9999px;\n}\n\n.mj-file-badge--type[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, #e2e8f0);\n color: var(--mj-text-secondary);\n}\n\n.mj-file-badge--size[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, #e2e8f0);\n color: var(--mj-text-secondary);\n}\n\n.mj-file-badge--status[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.mj-file-viewer-header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n\n\n.mj-file-viewer-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n overflow: hidden;\n position: relative;\n}\n\n\n\n.mj-file-viewer-stage[_ngcontent-%COMP%] {\n flex: 1;\n position: relative;\n overflow: auto;\n background: var(--mj-bg-surface-sunken, #0f172a);\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n}\n\n.mj-file-viewer-loading-overlay[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n z-index: 10;\n background: var(--mj-bg-surface-sunken, #0f172a);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.3s ease;\n}\n\n.mj-file-media--hidden[_ngcontent-%COMP%] {\n opacity: 0;\n pointer-events: none;\n}\n\n.mj-file-media-image-box[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n}\n\n.mj-file-media-image-box[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n border-radius: var(--mj-radius-md, 8px);\n box-shadow: var(--mj-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.2));\n}\n\n.mj-file-media-frame-box[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.mj-file-media-frame-box[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n.mj-file-media-video-box[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n}\n\n.mj-file-media-video-box[_ngcontent-%COMP%] video[_ngcontent-%COMP%] {\n max-width: 100%;\n max-height: 100%;\n border-radius: var(--mj-radius-md, 8px);\n box-shadow: var(--mj-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.2));\n}\n\n.mj-file-media-audio-box[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 20px;\n padding: 40px;\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-lg, 12px);\n box-shadow: var(--mj-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));\n}\n\n.mj-file-audio-visual-icon[_ngcontent-%COMP%] {\n font-size: 3rem;\n color: var(--mj-status-warning, #f59e0b);\n}\n\n.mj-file-media-text-box[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n padding: 20px;\n overflow: auto;\n background: var(--mj-bg-surface);\n}\n\n.mj-file-media-text-box[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n margin: 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 0.85rem;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.mj-file-viewer-fallback[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px;\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-lg, 12px);\n border: 1px solid var(--mj-border-default);\n max-width: 480px;\n}\n\n.mj-file-fallback-icon[_ngcontent-%COMP%] {\n font-size: 3.5rem;\n margin-bottom: 14px;\n}\n\n.mj-file-viewer-fallback[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0 0 6px 0;\n font-size: 1.1rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.mj-file-fallback-meta[_ngcontent-%COMP%] {\n margin: 0 0 10px 0;\n font-size: 0.82rem;\n color: var(--mj-text-secondary);\n}\n\n.mj-file-fallback-desc[_ngcontent-%COMP%] {\n margin: 0 0 18px 0;\n font-size: 0.88rem;\n color: var(--mj-text-secondary);\n line-height: 1.4;\n}\n\n\n\n.mj-file-viewer-sidebar[_ngcontent-%COMP%] {\n width: 380px;\n flex-shrink: 0;\n border-left: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.mj-file-sidebar-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 18px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mj-file-sidebar-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.mj-file-sidebar-close[_ngcontent-%COMP%] {\n background: none;\n border: none;\n font-size: 0.95rem;\n color: var(--mj-text-secondary);\n cursor: pointer;\n padding: 4px;\n}\n\n.mj-file-sidebar-close[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n}\n\n.mj-file-sidebar-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.mj-file-sidebar-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken, #f8fafc);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n padding: 12px 14px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mj-file-meta-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n font-size: 0.83rem;\n gap: 8px;\n}\n\n.mj-file-meta-label[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 500;\n flex-shrink: 0;\n}\n\n.mj-file-meta-val[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n text-align: right;\n word-break: break-all;\n}\n\n.mj-file-sidebar-section[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.mj-file-sidebar-section-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.88rem;\n font-weight: 700;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mj-file-relationship-wrapper[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n overflow: hidden;\n min-height: 250px;\n}\n\n\n\n.mj-file-standard-form-wrapper[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.mj-file-mode-switch-bar[_ngcontent-%COMP%] {\n padding: 8px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n}"] }); }
644
+ };
645
+ MJFileFormComponentExtended = MJFileFormComponentExtended_1 = __decorate([
646
+ RegisterClass(BaseFormComponent, 'MJ: Files', 100)
647
+ ], MJFileFormComponentExtended);
648
+ export { MJFileFormComponentExtended };
649
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJFileFormComponentExtended, [{
650
+ type: Component,
651
+ args: [{ standalone: false, selector: 'mj-file-form-extended', template: "@if (!ViewStandardForm) {\n <div class=\"mj-file-viewer-container\">\n <!-- Top Action & Info Header -->\n <header class=\"mj-file-viewer-header\">\n <div class=\"mj-file-viewer-header-left\">\n <div class=\"mj-file-viewer-icon-box\">\n <i [class]=\"FileIconClass\"></i>\n </div>\n <div class=\"mj-file-viewer-title-group\">\n <h1 class=\"mj-file-viewer-title\" [title]=\"record.Name\">{{ record.Name }}</h1>\n <div class=\"mj-file-viewer-badges\">\n <span class=\"mj-file-badge mj-file-badge--type\">{{ record.ContentType || 'Document' }}</span>\n <span class=\"mj-file-badge mj-file-badge--size\">{{ FormatFileSize(record.ContentLength) }}</span>\n @if (record.Status) {\n <span class=\"mj-file-badge mj-file-badge--status\">{{ record.Status }}</span>\n }\n </div>\n </div>\n </div>\n\n <div class=\"mj-file-viewer-header-right\">\n @if (MediaUrl) {\n <button type=\"button\" mjButton variant=\"secondary\" size=\"sm\" (click)=\"OpenInExternalTab()\" title=\"Open file in new browser tab\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n <span>Open in New Tab</span>\n </button>\n }\n <button type=\"button\" mjButton variant=\"secondary\" size=\"sm\" (click)=\"ToggleDetailsSidebar()\" [title]=\"ShowDetailsSidebar ? 'Hide Details' : 'Show Details'\">\n <i class=\"fa-solid fa-circle-info\"></i>\n <span>{{ ShowDetailsSidebar ? 'Hide Details' : 'Details' }}</span>\n </button>\n @if (UserCanEdit) {\n <button type=\"button\" mjButton variant=\"tertiary\" size=\"sm\" (click)=\"ToggleViewMode()\" title=\"Switch to full record editor\">\n <i class=\"fa-solid fa-pen-to-square\"></i>\n <span>Edit Record</span>\n </button>\n }\n </div>\n </header>\n\n <!-- Body / Split Content Area -->\n <div class=\"mj-file-viewer-body\">\n <!-- Media Stage -->\n <main class=\"mj-file-viewer-stage\">\n @if (IsLoadingMedia || !IsMediaLoaded) {\n <div class=\"mj-file-viewer-loading-overlay\">\n <mj-loading [text]=\"'Loading ' + (record.Name || 'file') + '...'\"></mj-loading>\n </div>\n }\n\n @switch (MediaType) {\n @case ('image') {\n @if (MediaUrl) {\n <div class=\"mj-file-media-image-box\" [class.mj-file-media--hidden]=\"!IsMediaLoaded\">\n <img [src]=\"MediaUrl\" [alt]=\"record.Name\" (load)=\"OnMediaElementLoaded()\" (error)=\"OnMediaElementLoaded()\" />\n </div>\n } @else {\n <div class=\"mj-file-viewer-fallback\">\n <i class=\"fa-solid fa-file-image mj-file-fallback-icon\"></i>\n <h3>{{ record.Name }}</h3>\n <p>Image preview could not be loaded.</p>\n </div>\n }\n }\n @case ('pdf') {\n @if (SafeMediaUrl) {\n <div class=\"mj-file-media-frame-box\" [class.mj-file-media--hidden]=\"!IsMediaLoaded\">\n <iframe [src]=\"SafeMediaUrl\" title=\"Document Preview\" (load)=\"OnMediaElementLoaded()\"></iframe>\n </div>\n } @else {\n <div class=\"mj-file-viewer-fallback\">\n <i class=\"fa-solid fa-file-pdf mj-file-fallback-icon\"></i>\n <h3>{{ record.Name }}</h3>\n <p>PDF preview could not be loaded.</p>\n </div>\n }\n }\n @case ('video') {\n @if (MediaUrl) {\n <div class=\"mj-file-media-video-box\" [class.mj-file-media--hidden]=\"!IsMediaLoaded\">\n <video controls autoplay [src]=\"MediaUrl\" (loadeddata)=\"OnMediaElementLoaded()\" (error)=\"OnMediaElementLoaded()\"></video>\n </div>\n } @else {\n <div class=\"mj-file-viewer-fallback\">\n <i class=\"fa-solid fa-file-video mj-file-fallback-icon\"></i>\n <h3>{{ record.Name }}</h3>\n <p>Video preview could not be loaded.</p>\n </div>\n }\n }\n @case ('audio') {\n @if (MediaUrl) {\n <div class=\"mj-file-media-audio-box\" [class.mj-file-media--hidden]=\"!IsMediaLoaded\">\n <div class=\"mj-file-audio-visual-icon\"><i class=\"fa-solid fa-headphones\"></i></div>\n <audio controls [src]=\"MediaUrl\" (loadeddata)=\"OnMediaElementLoaded()\" (error)=\"OnMediaElementLoaded()\"></audio>\n </div>\n } @else {\n <div class=\"mj-file-viewer-fallback\">\n <i class=\"fa-solid fa-file-audio mj-file-fallback-icon\"></i>\n <h3>{{ record.Name }}</h3>\n <p>Audio preview could not be loaded.</p>\n </div>\n }\n }\n @case ('text') {\n <div class=\"mj-file-media-text-box\">\n <pre><code>{{ TextContent || 'Loading text content...' }}</code></pre>\n </div>\n }\n @default {\n <div class=\"mj-file-viewer-fallback\">\n <i [class]=\"FileIconClass\" class=\"mj-file-fallback-icon\"></i>\n <h3>{{ record.Name }}</h3>\n <p class=\"mj-file-fallback-meta\">{{ record.ContentType || 'Document' }} &bull; {{ FormatFileSize(record.ContentLength) }}</p>\n <p class=\"mj-file-fallback-desc\">{{ record.Description || 'Preview is not available for this file type.' }}</p>\n @if (MediaUrl) {\n <button type=\"button\" mjButton variant=\"primary\" (click)=\"OpenInExternalTab()\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n <span>Open in Browser</span>\n </button>\n }\n </div>\n }\n }\n </main>\n\n <!-- Details & Linked Records Sidebar -->\n @if (ShowDetailsSidebar) {\n <aside class=\"mj-file-viewer-sidebar\">\n <div class=\"mj-file-sidebar-header\">\n <h3>File Details & Links</h3>\n <button type=\"button\" class=\"mj-file-sidebar-close\" (click)=\"ToggleDetailsSidebar()\" title=\"Collapse Sidebar\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <div class=\"mj-file-sidebar-content\">\n <!-- Metadata Cards -->\n <div class=\"mj-file-sidebar-card\">\n <div class=\"mj-file-meta-row\">\n <span class=\"mj-file-meta-label\">File Name:</span>\n <span class=\"mj-file-meta-val font-semibold\">{{ record.Name }}</span>\n </div>\n @if (record.Description) {\n <div class=\"mj-file-meta-row\">\n <span class=\"mj-file-meta-label\">Description:</span>\n <span class=\"mj-file-meta-val\">{{ record.Description }}</span>\n </div>\n }\n <div class=\"mj-file-meta-row\">\n <span class=\"mj-file-meta-label\">MIME Type:</span>\n <span class=\"mj-file-meta-val font-mono\">{{ record.ContentType || 'Unknown' }}</span>\n </div>\n <div class=\"mj-file-meta-row\">\n <span class=\"mj-file-meta-label\">Size:</span>\n <span class=\"mj-file-meta-val\">{{ FormatFileSize(record.ContentLength) }}</span>\n </div>\n @if (record.Status) {\n <div class=\"mj-file-meta-row\">\n <span class=\"mj-file-meta-label\">Status:</span>\n <span class=\"mj-file-meta-val\">{{ record.Status }}</span>\n </div>\n }\n <div class=\"mj-file-meta-row\">\n <span class=\"mj-file-meta-label\">Created:</span>\n <span class=\"mj-file-meta-val\">{{ record.CreatedAt | date:'short' }}</span>\n </div>\n </div>\n\n <!-- Linked Records -->\n <div class=\"mj-file-sidebar-section\">\n <h4 class=\"mj-file-sidebar-section-title\">\n <i class=\"fa-solid fa-link\"></i>\n <span>Linked Records</span>\n </h4>\n <div class=\"mj-file-relationship-wrapper\">\n <mj-relationship-view \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: File Entity Record Links', 'FileID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: File Entity Record Links', 'FileID')\">\n </mj-relationship-view>\n </div>\n </div>\n </div>\n </aside>\n }\n </div>\n </div>\n} @else {\n <div class=\"mj-file-standard-form-wrapper\">\n <div class=\"mj-file-mode-switch-bar\">\n <button type=\"button\" mjButton variant=\"secondary\" size=\"sm\" (click)=\"ToggleViewMode()\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n <span>Return to File Preview</span>\n </button>\n </div>\n\n <mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <mj-form-panel-slot Entity=\"{{record.EntityInfo.Name}}\" Slot=\"before-fields\" [Record]=\"record\" [FormComponent]=\"this\" [FormContext]=\"formContext\"></mj-form-panel-slot>\n\n <!-- File Basics Section -->\n <mj-collapsible-panel\n SectionKey=\"fileBasics\"\n SectionName=\"File Basics\"\n Icon=\"fa fa-file\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Name\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Description\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n </mj-collapsible-panel>\n\n <!-- Classification & Status Section -->\n <mj-collapsible-panel\n SectionKey=\"classificationStatus\"\n SectionName=\"Classification & Status\"\n Icon=\"fa fa-tags\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"CategoryID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Status\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n </mj-collapsible-panel>\n\n <!-- Storage Details Section -->\n <mj-collapsible-panel\n SectionKey=\"storageDetails\"\n SectionName=\"Storage Details\"\n Icon=\"fa fa-database\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProviderID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProviderKey\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ContentType\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field \n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ContentLength\"\n Type=\"numeric\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n </mj-collapsible-panel>\n\n <!-- Linked Records Section -->\n <mj-collapsible-panel\n SectionKey=\"mJFileEntityRecordLinks\"\n SectionName=\"File Entity Record Links\"\n Icon=\"fa fa-link\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-relationship-view \n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: File Entity Record Links','FileID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: File Entity Record Links','FileID')\">\n </mj-relationship-view>\n </mj-collapsible-panel>\n\n <mj-form-panel-slot Entity=\"{{record.EntityInfo.Name}}\" Slot=\"after-fields\" [Record]=\"record\" [FormComponent]=\"this\" [FormContext]=\"formContext\"></mj-form-panel-slot>\n </mj-record-form-container>\n </div>\n}\n", styles: [".k-pane {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin {\n margin: 10px;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n/* All field sections take full width */\n.form-panels-container > .form-card {\n width: 100%;\n}\n\n/* Related entity grid container - responsive layout */\n.form-panels-container .related-entity-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n/* Responsive multi-column layout for related entities on wider screens */\n@media (min-width: 1400px) {\n .form-panels-container .related-entity-grid {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header .collapse-icon {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-header {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-title i {\n color: var(--mj-brand-primary);\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls button:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls .section-search::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Search highlighting in section names */\n.collapsible-title h3 .search-highlight {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n/* Row count badge in section headers */\n.collapsible-title .row-count-badge {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: var(--mj-text-muted);\n}\n", ".mj-file-viewer-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n background: var(--mj-bg-surface);\n overflow: hidden;\n}\n\n/* Header */\n.mj-file-viewer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 20px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n gap: 16px;\n flex-shrink: 0;\n}\n\n.mj-file-viewer-header-left {\n display: flex;\n align-items: center;\n gap: 14px;\n min-width: 0;\n}\n\n.mj-file-viewer-icon-box {\n width: 38px;\n height: 38px;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-sunken, #f1f5f9);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.25rem;\n flex-shrink: 0;\n}\n\n.mj-file-color-pdf { color: var(--mj-status-danger, #ef4444); }\n.mj-file-color-image { color: var(--mj-status-success, #10b981); }\n.mj-file-color-video { color: var(--mj-status-purple, #8b5cf6); }\n.mj-file-color-audio { color: var(--mj-status-warning, #f59e0b); }\n.mj-file-color-text { color: var(--mj-status-info, #3b82f6); }\n.mj-file-color-generic { color: var(--mj-text-muted, #94a3b8); }\n\n.mj-file-viewer-title-group {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.mj-file-viewer-title {\n margin: 0;\n font-size: 1.1rem;\n font-weight: 700;\n color: var(--mj-text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.mj-file-viewer-badges {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 3px;\n}\n\n.mj-file-badge {\n font-size: 0.72rem;\n font-weight: 600;\n padding: 2px 7px;\n border-radius: 9999px;\n}\n\n.mj-file-badge--type {\n background: var(--mj-bg-surface-sunken, #e2e8f0);\n color: var(--mj-text-secondary);\n}\n\n.mj-file-badge--size {\n background: var(--mj-bg-surface-sunken, #e2e8f0);\n color: var(--mj-text-secondary);\n}\n\n.mj-file-badge--status {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.mj-file-viewer-header-right {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n\n/* Body / Split View */\n.mj-file-viewer-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n position: relative;\n}\n\n/* Stage (Media Preview) */\n.mj-file-viewer-stage {\n flex: 1;\n position: relative;\n overflow: auto;\n background: var(--mj-bg-surface-sunken, #0f172a);\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n}\n\n.mj-file-viewer-loading-overlay {\n position: absolute;\n inset: 0;\n z-index: 10;\n background: var(--mj-bg-surface-sunken, #0f172a);\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.3s ease;\n}\n\n.mj-file-media--hidden {\n opacity: 0;\n pointer-events: none;\n}\n\n.mj-file-media-image-box {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n}\n\n.mj-file-media-image-box img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n border-radius: var(--mj-radius-md, 8px);\n box-shadow: var(--mj-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.2));\n}\n\n.mj-file-media-frame-box {\n width: 100%;\n height: 100%;\n}\n\n.mj-file-media-frame-box iframe {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n.mj-file-media-video-box {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n}\n\n.mj-file-media-video-box video {\n max-width: 100%;\n max-height: 100%;\n border-radius: var(--mj-radius-md, 8px);\n box-shadow: var(--mj-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.2));\n}\n\n.mj-file-media-audio-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 20px;\n padding: 40px;\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-lg, 12px);\n box-shadow: var(--mj-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));\n}\n\n.mj-file-audio-visual-icon {\n font-size: 3rem;\n color: var(--mj-status-warning, #f59e0b);\n}\n\n.mj-file-media-text-box {\n width: 100%;\n height: 100%;\n padding: 20px;\n overflow: auto;\n background: var(--mj-bg-surface);\n}\n\n.mj-file-media-text-box pre {\n margin: 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 0.85rem;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.mj-file-viewer-fallback {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px;\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-lg, 12px);\n border: 1px solid var(--mj-border-default);\n max-width: 480px;\n}\n\n.mj-file-fallback-icon {\n font-size: 3.5rem;\n margin-bottom: 14px;\n}\n\n.mj-file-viewer-fallback h3 {\n margin: 0 0 6px 0;\n font-size: 1.1rem;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.mj-file-fallback-meta {\n margin: 0 0 10px 0;\n font-size: 0.82rem;\n color: var(--mj-text-secondary);\n}\n\n.mj-file-fallback-desc {\n margin: 0 0 18px 0;\n font-size: 0.88rem;\n color: var(--mj-text-secondary);\n line-height: 1.4;\n}\n\n/* Sidebar */\n.mj-file-viewer-sidebar {\n width: 380px;\n flex-shrink: 0;\n border-left: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.mj-file-sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 14px 18px;\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.mj-file-sidebar-header h3 {\n margin: 0;\n font-size: 0.95rem;\n font-weight: 700;\n color: var(--mj-text-primary);\n}\n\n.mj-file-sidebar-close {\n background: none;\n border: none;\n font-size: 0.95rem;\n color: var(--mj-text-secondary);\n cursor: pointer;\n padding: 4px;\n}\n\n.mj-file-sidebar-close:hover {\n color: var(--mj-text-primary);\n}\n\n.mj-file-sidebar-content {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.mj-file-sidebar-card {\n background: var(--mj-bg-surface-sunken, #f8fafc);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n padding: 12px 14px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mj-file-meta-row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n font-size: 0.83rem;\n gap: 8px;\n}\n\n.mj-file-meta-label {\n color: var(--mj-text-secondary);\n font-weight: 500;\n flex-shrink: 0;\n}\n\n.mj-file-meta-val {\n color: var(--mj-text-primary);\n text-align: right;\n word-break: break-all;\n}\n\n.mj-file-sidebar-section {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.mj-file-sidebar-section-title {\n margin: 0;\n font-size: 0.88rem;\n font-weight: 700;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mj-file-relationship-wrapper {\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n overflow: hidden;\n min-height: 250px;\n}\n\n/* Standard Form Wrapper */\n.mj-file-standard-form-wrapper {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: auto;\n}\n\n.mj-file-mode-switch-bar {\n padding: 8px 16px;\n background: var(--mj-bg-surface);\n border-bottom: 1px solid var(--mj-border-default);\n}\n"] }]
652
+ }], null, null); })();
653
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJFileFormComponentExtended, { className: "MJFileFormComponentExtended", filePath: "src/lib/custom/Files/file-form.component.ts", lineNumber: 58 }); })();
654
+ //# sourceMappingURL=file-form.component.js.map