@memberjunction/ng-core-entity-forms 3.4.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1334) hide show
  1. package/README.md +85 -2
  2. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts +13 -25
  3. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts.map +1 -1
  4. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js +33 -379
  5. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js.map +1 -1
  6. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  7. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +15 -14
  8. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +1 -0
  10. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
  11. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  12. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +14 -13
  13. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +45 -15
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1443 -1267
  17. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  18. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  19. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +15 -14
  20. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  21. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  22. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +12 -12
  23. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  24. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  25. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +9 -8
  26. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  27. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  28. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +14 -14
  29. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  30. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  31. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +12 -11
  32. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  33. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  34. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +18 -16
  35. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  36. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +3 -8
  37. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  38. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +107 -77
  39. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  40. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  41. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +9 -9
  42. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  43. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +1 -8
  44. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  45. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +599 -587
  46. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  47. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +11 -10
  48. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  49. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +1 -6
  50. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  51. package/dist/lib/custom/Actions/action-execution-log-form.component.js +20 -21
  52. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  53. package/dist/lib/custom/Actions/action-form.component.d.ts +2 -6
  54. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  55. package/dist/lib/custom/Actions/action-form.component.js +64 -59
  56. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  57. package/dist/lib/custom/Entities/entity-form.component.d.ts +73 -1
  58. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  59. package/dist/lib/custom/Entities/entity-form.component.js +1592 -914
  60. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  61. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +15 -1
  62. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  63. package/dist/lib/custom/EntityActions/entityaction.form.component.js +51 -30
  64. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  65. package/dist/lib/custom/Lists/list-form.component.d.ts +1 -1
  66. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  67. package/dist/lib/custom/Lists/list-form.component.js +437 -448
  68. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  69. package/dist/lib/custom/Queries/query-category-dialog.component.d.ts.map +1 -1
  70. package/dist/lib/custom/Queries/query-category-dialog.component.js +28 -29
  71. package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
  72. package/dist/lib/custom/Queries/query-form.component.d.ts +1 -3
  73. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  74. package/dist/lib/custom/Queries/query-form.component.js +189 -188
  75. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  76. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  77. package/dist/lib/custom/Queries/query-run-dialog.component.js +90 -89
  78. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  79. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  80. package/dist/lib/custom/Templates/template-param-dialog.component.js +76 -75
  81. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  82. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  83. package/dist/lib/custom/Templates/template-params-grid.component.js +98 -93
  84. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  85. package/dist/lib/custom/Templates/templates-form.component.d.ts +0 -1
  86. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  87. package/dist/lib/custom/Templates/templates-form.component.js +28 -39
  88. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  89. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +0 -1
  90. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  91. package/dist/lib/custom/Tests/entity-link-pill.component.js +16 -18
  92. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  93. package/dist/lib/custom/Tests/test-form.component.d.ts +7 -13
  94. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  95. package/dist/lib/custom/Tests/test-form.component.js +440 -423
  96. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  97. package/dist/lib/custom/Tests/test-rubric-form.component.d.ts +0 -7
  98. package/dist/lib/custom/Tests/test-rubric-form.component.d.ts.map +1 -1
  99. package/dist/lib/custom/Tests/test-rubric-form.component.js +11 -20
  100. package/dist/lib/custom/Tests/test-rubric-form.component.js.map +1 -1
  101. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +0 -7
  102. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  103. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +18 -25
  104. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  105. package/dist/lib/custom/Tests/test-run-form.component.d.ts +5 -12
  106. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  107. package/dist/lib/custom/Tests/test-run-form.component.js +423 -410
  108. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  109. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +7 -13
  110. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  111. package/dist/lib/custom/Tests/test-suite-form.component.js +665 -642
  112. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  113. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +7 -13
  114. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  115. package/dist/lib/custom/Tests/test-suite-run-form.component.js +635 -606
  116. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  117. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  118. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +240 -243
  119. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  120. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  121. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +42 -40
  122. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  123. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  124. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +37 -36
  125. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  126. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  127. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +68 -78
  128. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  129. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts.map +1 -1
  130. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +6 -6
  131. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -1
  132. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +5 -10
  133. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  134. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +310 -292
  135. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  136. package/dist/lib/custom/custom-forms.module.d.ts +50 -54
  137. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  138. package/dist/lib/custom/custom-forms.module.js +29 -63
  139. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  140. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  141. package/dist/lib/custom/shared/entity-selector-dialog.component.js +85 -82
  142. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  143. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.d.ts +0 -1
  144. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.d.ts.map +1 -1
  145. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.js +36 -41
  146. package/dist/lib/generated/Entities/AIAction/aiaction.form.component.js.map +1 -1
  147. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.d.ts +0 -1
  148. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.d.ts.map +1 -1
  149. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +252 -267
  150. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
  151. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.d.ts +0 -1
  152. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.d.ts.map +1 -1
  153. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.js +34 -42
  154. package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.js.map +1 -1
  155. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.d.ts +0 -1
  156. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.d.ts.map +1 -1
  157. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.js +19 -27
  158. package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.js.map +1 -1
  159. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.d.ts +0 -1
  160. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.d.ts.map +1 -1
  161. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.js +26 -32
  162. package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.js.map +1 -1
  163. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.d.ts +0 -1
  164. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.d.ts.map +1 -1
  165. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.js +43 -47
  166. package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.js.map +1 -1
  167. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.d.ts +0 -1
  168. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.d.ts.map +1 -1
  169. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.js +48 -66
  170. package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.js.map +1 -1
  171. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.d.ts +0 -1
  172. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.d.ts.map +1 -1
  173. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.js +26 -30
  174. package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.js.map +1 -1
  175. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.d.ts +0 -1
  176. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.d.ts.map +1 -1
  177. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.js +24 -30
  178. package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.js.map +1 -1
  179. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.d.ts +0 -1
  180. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.d.ts.map +1 -1
  181. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.js +20 -26
  182. package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.js.map +1 -1
  183. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.d.ts +0 -1
  184. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.d.ts.map +1 -1
  185. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.js +44 -64
  186. package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.js.map +1 -1
  187. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.d.ts +0 -1
  188. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.d.ts.map +1 -1
  189. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.js +22 -26
  190. package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.js.map +1 -1
  191. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.d.ts +0 -1
  192. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.d.ts.map +1 -1
  193. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.js +27 -35
  194. package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.js.map +1 -1
  195. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.d.ts +0 -1
  196. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.d.ts.map +1 -1
  197. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.js +25 -35
  198. package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.js.map +1 -1
  199. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.d.ts +0 -1
  200. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.d.ts.map +1 -1
  201. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.js +29 -35
  202. package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.js.map +1 -1
  203. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.d.ts +0 -1
  204. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.d.ts.map +1 -1
  205. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.js +27 -35
  206. package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.js.map +1 -1
  207. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.d.ts +0 -1
  208. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.d.ts.map +1 -1
  209. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +121 -150
  210. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
  211. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.d.ts +0 -1
  212. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.d.ts.map +1 -1
  213. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.js +37 -47
  214. package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.js.map +1 -1
  215. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.d.ts +0 -1
  216. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.d.ts.map +1 -1
  217. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js +52 -59
  218. package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js.map +1 -1
  219. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts +0 -1
  220. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts.map +1 -1
  221. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js +55 -66
  222. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js.map +1 -1
  223. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts +0 -1
  224. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts.map +1 -1
  225. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js +24 -30
  226. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js.map +1 -1
  227. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.d.ts +0 -1
  228. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.d.ts.map +1 -1
  229. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js +37 -42
  230. package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js.map +1 -1
  231. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.d.ts +0 -1
  232. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.d.ts.map +1 -1
  233. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.js +42 -47
  234. package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.js.map +1 -1
  235. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.d.ts +0 -1
  236. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.d.ts.map +1 -1
  237. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js +86 -97
  238. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js.map +1 -1
  239. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.d.ts +0 -1
  240. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.d.ts.map +1 -1
  241. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.js +23 -27
  242. package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.js.map +1 -1
  243. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.d.ts +0 -1
  244. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.d.ts.map +1 -1
  245. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.js +19 -29
  246. package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.js.map +1 -1
  247. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.d.ts +0 -1
  248. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.d.ts.map +1 -1
  249. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.js +70 -73
  250. package/dist/lib/generated/Entities/AIModality/aimodality.form.component.js.map +1 -1
  251. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.d.ts +0 -1
  252. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.d.ts.map +1 -1
  253. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +179 -184
  254. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
  255. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.d.ts +0 -1
  256. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.d.ts.map +1 -1
  257. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.js +21 -27
  258. package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.js.map +1 -1
  259. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.d.ts +0 -1
  260. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.d.ts.map +1 -1
  261. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.js +23 -29
  262. package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.js.map +1 -1
  263. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.d.ts +0 -1
  264. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.d.ts.map +1 -1
  265. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js +33 -43
  266. package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js.map +1 -1
  267. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.d.ts +0 -1
  268. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.d.ts.map +1 -1
  269. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.js +31 -37
  270. package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.js.map +1 -1
  271. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.d.ts +0 -1
  272. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.d.ts.map +1 -1
  273. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js +21 -24
  274. package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js.map +1 -1
  275. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.d.ts +0 -1
  276. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.d.ts.map +1 -1
  277. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js +22 -25
  278. package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js.map +1 -1
  279. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.d.ts +0 -1
  280. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.d.ts.map +1 -1
  281. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js +35 -42
  282. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js.map +1 -1
  283. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.d.ts +0 -1
  284. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.d.ts.map +1 -1
  285. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.js +39 -48
  286. package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.js.map +1 -1
  287. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.d.ts +0 -1
  288. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.d.ts.map +1 -1
  289. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +161 -174
  290. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
  291. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.d.ts +0 -1
  292. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.d.ts.map +1 -1
  293. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.js +35 -40
  294. package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.js.map +1 -1
  295. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.d.ts +0 -1
  296. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.d.ts.map +1 -1
  297. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.js +44 -55
  298. package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.js.map +1 -1
  299. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.d.ts +0 -1
  300. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.d.ts.map +1 -1
  301. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js +134 -163
  302. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js.map +1 -1
  303. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.d.ts +0 -1
  304. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.d.ts.map +1 -1
  305. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.js +43 -52
  306. package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.js.map +1 -1
  307. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.d.ts +0 -1
  308. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.d.ts.map +1 -1
  309. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.js +21 -24
  310. package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.js.map +1 -1
  311. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.d.ts +0 -1
  312. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.d.ts.map +1 -1
  313. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.js +36 -50
  314. package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.js.map +1 -1
  315. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.d.ts +0 -1
  316. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.d.ts.map +1 -1
  317. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +76 -81
  318. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
  319. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.d.ts +0 -1
  320. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.d.ts.map +1 -1
  321. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.js +25 -31
  322. package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.js.map +1 -1
  323. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.d.ts +0 -1
  324. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.d.ts.map +1 -1
  325. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.js +28 -31
  326. package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.js.map +1 -1
  327. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.d.ts +0 -1
  328. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.d.ts.map +1 -1
  329. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.js +37 -40
  330. package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.js.map +1 -1
  331. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.d.ts +0 -1
  332. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.d.ts.map +1 -1
  333. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.js +24 -30
  334. package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.js.map +1 -1
  335. package/dist/lib/generated/Entities/APIKey/apikey.form.component.d.ts +0 -1
  336. package/dist/lib/generated/Entities/APIKey/apikey.form.component.d.ts.map +1 -1
  337. package/dist/lib/generated/Entities/APIKey/apikey.form.component.js +49 -56
  338. package/dist/lib/generated/Entities/APIKey/apikey.form.component.js.map +1 -1
  339. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.d.ts +0 -1
  340. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.d.ts.map +1 -1
  341. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.js +17 -23
  342. package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.js.map +1 -1
  343. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.d.ts +0 -1
  344. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.d.ts.map +1 -1
  345. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.js +24 -30
  346. package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.js.map +1 -1
  347. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.d.ts +0 -1
  348. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.d.ts.map +1 -1
  349. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.js +30 -36
  350. package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.js.map +1 -1
  351. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.d.ts +0 -1
  352. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.d.ts.map +1 -1
  353. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.js +47 -52
  354. package/dist/lib/generated/Entities/APIScope/apiscope.form.component.js.map +1 -1
  355. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.d.ts +0 -1
  356. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.d.ts.map +1 -1
  357. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.js +32 -38
  358. package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.js.map +1 -1
  359. package/dist/lib/generated/Entities/Action/action.form.component.d.ts +0 -1
  360. package/dist/lib/generated/Entities/Action/action.form.component.d.ts.map +1 -1
  361. package/dist/lib/generated/Entities/Action/action.form.component.js +130 -141
  362. package/dist/lib/generated/Entities/Action/action.form.component.js.map +1 -1
  363. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.d.ts +0 -1
  364. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.d.ts.map +1 -1
  365. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js +19 -25
  366. package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js.map +1 -1
  367. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.d.ts +0 -1
  368. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.d.ts.map +1 -1
  369. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.js +43 -48
  370. package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.js.map +1 -1
  371. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.d.ts +0 -1
  372. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.d.ts.map +1 -1
  373. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js +21 -27
  374. package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js.map +1 -1
  375. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.d.ts +0 -1
  376. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.d.ts.map +1 -1
  377. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.js +21 -24
  378. package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.js.map +1 -1
  379. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.d.ts +0 -1
  380. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.d.ts.map +1 -1
  381. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.js +27 -33
  382. package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.js.map +1 -1
  383. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.d.ts +0 -1
  384. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.d.ts.map +1 -1
  385. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.js +23 -26
  386. package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.js.map +1 -1
  387. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.d.ts +0 -1
  388. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.d.ts.map +1 -1
  389. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.js +19 -25
  390. package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.js.map +1 -1
  391. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.d.ts +0 -1
  392. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.d.ts.map +1 -1
  393. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.js +42 -47
  394. package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.js.map +1 -1
  395. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.d.ts +0 -1
  396. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.d.ts.map +1 -1
  397. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.js +22 -26
  398. package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.js.map +1 -1
  399. package/dist/lib/generated/Entities/Application/application.form.component.d.ts +0 -1
  400. package/dist/lib/generated/Entities/Application/application.form.component.d.ts.map +1 -1
  401. package/dist/lib/generated/Entities/Application/application.form.component.js +64 -67
  402. package/dist/lib/generated/Entities/Application/application.form.component.js.map +1 -1
  403. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.d.ts +0 -1
  404. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.d.ts.map +1 -1
  405. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.js +26 -32
  406. package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.js.map +1 -1
  407. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.d.ts +0 -1
  408. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.d.ts.map +1 -1
  409. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.js +22 -26
  410. package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.js.map +1 -1
  411. package/dist/lib/generated/Entities/Artifact/artifact.form.component.d.ts +0 -1
  412. package/dist/lib/generated/Entities/Artifact/artifact.form.component.d.ts.map +1 -1
  413. package/dist/lib/generated/Entities/Artifact/artifact.form.component.js +47 -56
  414. package/dist/lib/generated/Entities/Artifact/artifact.form.component.js.map +1 -1
  415. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.d.ts +0 -1
  416. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.d.ts.map +1 -1
  417. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.js +25 -33
  418. package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.js.map +1 -1
  419. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.d.ts +0 -1
  420. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.d.ts.map +1 -1
  421. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.js +61 -66
  422. package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.js.map +1 -1
  423. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.d.ts +0 -1
  424. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.d.ts.map +1 -1
  425. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.js +22 -28
  426. package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.js.map +1 -1
  427. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.d.ts +0 -1
  428. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.d.ts.map +1 -1
  429. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.js +55 -62
  430. package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.js.map +1 -1
  431. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.d.ts +0 -1
  432. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.d.ts.map +1 -1
  433. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.js +26 -30
  434. package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.js.map +1 -1
  435. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.d.ts +0 -1
  436. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.d.ts.map +1 -1
  437. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.js +26 -36
  438. package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.js.map +1 -1
  439. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.d.ts +0 -1
  440. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.d.ts.map +1 -1
  441. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.js +38 -45
  442. package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.js.map +1 -1
  443. package/dist/lib/generated/Entities/Authorization/authorization.form.component.d.ts +0 -1
  444. package/dist/lib/generated/Entities/Authorization/authorization.form.component.d.ts.map +1 -1
  445. package/dist/lib/generated/Entities/Authorization/authorization.form.component.js +60 -65
  446. package/dist/lib/generated/Entities/Authorization/authorization.form.component.js.map +1 -1
  447. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.d.ts +0 -1
  448. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.d.ts.map +1 -1
  449. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.js +19 -25
  450. package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.js.map +1 -1
  451. package/dist/lib/generated/Entities/Collection/collection.form.component.d.ts +0 -1
  452. package/dist/lib/generated/Entities/Collection/collection.form.component.d.ts.map +1 -1
  453. package/dist/lib/generated/Entities/Collection/collection.form.component.js +50 -59
  454. package/dist/lib/generated/Entities/Collection/collection.form.component.js.map +1 -1
  455. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.d.ts +0 -1
  456. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.d.ts.map +1 -1
  457. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.js +19 -25
  458. package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.js.map +1 -1
  459. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.d.ts +0 -1
  460. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.d.ts.map +1 -1
  461. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.js +25 -33
  462. package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.js.map +1 -1
  463. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.d.ts +0 -1
  464. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.d.ts.map +1 -1
  465. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.js +32 -35
  466. package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.js.map +1 -1
  467. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.d.ts +0 -1
  468. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.d.ts.map +1 -1
  469. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.js +28 -38
  470. package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.js.map +1 -1
  471. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.d.ts +0 -1
  472. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.d.ts.map +1 -1
  473. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.js +37 -40
  474. package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.js.map +1 -1
  475. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.d.ts +0 -1
  476. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.d.ts.map +1 -1
  477. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.js +31 -38
  478. package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.js.map +1 -1
  479. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.d.ts +0 -1
  480. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.d.ts.map +1 -1
  481. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.js +36 -41
  482. package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.js.map +1 -1
  483. package/dist/lib/generated/Entities/Company/company.form.component.d.ts +0 -1
  484. package/dist/lib/generated/Entities/Company/company.form.component.d.ts.map +1 -1
  485. package/dist/lib/generated/Entities/Company/company.form.component.js +60 -63
  486. package/dist/lib/generated/Entities/Company/company.form.component.js.map +1 -1
  487. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.d.ts +0 -1
  488. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.d.ts.map +1 -1
  489. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.js +71 -78
  490. package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.js.map +1 -1
  491. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.d.ts +0 -1
  492. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.d.ts.map +1 -1
  493. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.js +20 -26
  494. package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.js.map +1 -1
  495. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.d.ts +0 -1
  496. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.d.ts.map +1 -1
  497. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.js +54 -59
  498. package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.js.map +1 -1
  499. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.d.ts +0 -1
  500. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.d.ts.map +1 -1
  501. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.js +23 -29
  502. package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.js.map +1 -1
  503. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.d.ts +0 -1
  504. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.d.ts.map +1 -1
  505. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.js +37 -42
  506. package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.js.map +1 -1
  507. package/dist/lib/generated/Entities/Component/component.form.component.d.ts +0 -1
  508. package/dist/lib/generated/Entities/Component/component.form.component.d.ts.map +1 -1
  509. package/dist/lib/generated/Entities/Component/component.form.component.js +66 -71
  510. package/dist/lib/generated/Entities/Component/component.form.component.js.map +1 -1
  511. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.d.ts +0 -1
  512. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.d.ts.map +1 -1
  513. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.js +17 -23
  514. package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.js.map +1 -1
  515. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.d.ts +0 -1
  516. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.d.ts.map +1 -1
  517. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.js +33 -36
  518. package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.js.map +1 -1
  519. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.d.ts +0 -1
  520. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.d.ts.map +1 -1
  521. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.js +21 -27
  522. package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.js.map +1 -1
  523. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.d.ts +0 -1
  524. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.d.ts.map +1 -1
  525. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.js +26 -29
  526. package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.js.map +1 -1
  527. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.d.ts +0 -1
  528. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.d.ts.map +1 -1
  529. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.js +27 -30
  530. package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.js.map +1 -1
  531. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.d.ts +0 -1
  532. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.d.ts.map +1 -1
  533. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.js +38 -54
  534. package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.js.map +1 -1
  535. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.d.ts +0 -1
  536. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.d.ts.map +1 -1
  537. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.js +17 -22
  538. package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.js.map +1 -1
  539. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.d.ts +0 -1
  540. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.d.ts.map +1 -1
  541. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.js +16 -21
  542. package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.js.map +1 -1
  543. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.d.ts +0 -1
  544. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.d.ts.map +1 -1
  545. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.js +19 -24
  546. package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.js.map +1 -1
  547. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.d.ts +0 -1
  548. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.d.ts.map +1 -1
  549. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.js +41 -55
  550. package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.js.map +1 -1
  551. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.d.ts +0 -1
  552. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.d.ts.map +1 -1
  553. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.js +17 -22
  554. package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.js.map +1 -1
  555. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.d.ts +0 -1
  556. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.d.ts.map +1 -1
  557. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.js +27 -30
  558. package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.js.map +1 -1
  559. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.d.ts +0 -1
  560. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.d.ts.map +1 -1
  561. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.js +16 -18
  562. package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.js.map +1 -1
  563. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.d.ts +0 -1
  564. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.d.ts.map +1 -1
  565. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.js +33 -40
  566. package/dist/lib/generated/Entities/ContentType/contenttype.form.component.js.map +1 -1
  567. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.d.ts +0 -1
  568. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.d.ts.map +1 -1
  569. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.js +15 -17
  570. package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.js.map +1 -1
  571. package/dist/lib/generated/Entities/Conversation/conversation.form.component.d.ts +0 -1
  572. package/dist/lib/generated/Entities/Conversation/conversation.form.component.d.ts.map +1 -1
  573. package/dist/lib/generated/Entities/Conversation/conversation.form.component.js +80 -95
  574. package/dist/lib/generated/Entities/Conversation/conversation.form.component.js.map +1 -1
  575. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.d.ts +0 -1
  576. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.d.ts.map +1 -1
  577. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.js +44 -51
  578. package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.js.map +1 -1
  579. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.d.ts +0 -1
  580. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.d.ts.map +1 -1
  581. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.js +19 -25
  582. package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.js.map +1 -1
  583. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.d.ts +0 -1
  584. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.d.ts.map +1 -1
  585. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.js +31 -36
  586. package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.js.map +1 -1
  587. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.d.ts +0 -1
  588. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.d.ts.map +1 -1
  589. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.js +111 -130
  590. package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.js.map +1 -1
  591. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.d.ts +0 -1
  592. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.d.ts.map +1 -1
  593. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.js +21 -29
  594. package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.js.map +1 -1
  595. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.d.ts +0 -1
  596. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.d.ts.map +1 -1
  597. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.js +34 -42
  598. package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.js.map +1 -1
  599. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.d.ts +0 -1
  600. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.d.ts.map +1 -1
  601. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.js +20 -32
  602. package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.js.map +1 -1
  603. package/dist/lib/generated/Entities/Credential/credential.form.component.d.ts +0 -1
  604. package/dist/lib/generated/Entities/Credential/credential.form.component.d.ts.map +1 -1
  605. package/dist/lib/generated/Entities/Credential/credential.form.component.js +72 -61
  606. package/dist/lib/generated/Entities/Credential/credential.form.component.js.map +1 -1
  607. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.d.ts +0 -1
  608. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.d.ts.map +1 -1
  609. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.js +36 -41
  610. package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.js.map +1 -1
  611. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.d.ts +0 -1
  612. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.d.ts.map +1 -1
  613. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.js +40 -43
  614. package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.js.map +1 -1
  615. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.d.ts +0 -1
  616. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.d.ts.map +1 -1
  617. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.js +60 -71
  618. package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.js.map +1 -1
  619. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.d.ts +0 -1
  620. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.d.ts.map +1 -1
  621. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.js +52 -59
  622. package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.js.map +1 -1
  623. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.d.ts +0 -1
  624. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.d.ts.map +1 -1
  625. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.js +21 -29
  626. package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.js.map +1 -1
  627. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.d.ts +0 -1
  628. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.d.ts.map +1 -1
  629. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.js +28 -36
  630. package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.js.map +1 -1
  631. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.d.ts +0 -1
  632. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.d.ts.map +1 -1
  633. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.js +21 -23
  634. package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.js.map +1 -1
  635. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.d.ts +0 -1
  636. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.d.ts.map +1 -1
  637. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.js +25 -33
  638. package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.js.map +1 -1
  639. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.d.ts +0 -1
  640. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.d.ts.map +1 -1
  641. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.js +26 -34
  642. package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.js.map +1 -1
  643. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.d.ts +0 -1
  644. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.d.ts.map +1 -1
  645. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.js +19 -25
  646. package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.js.map +1 -1
  647. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.d.ts +0 -1
  648. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.d.ts.map +1 -1
  649. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.js +44 -49
  650. package/dist/lib/generated/Entities/DataContext/datacontext.form.component.js.map +1 -1
  651. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.d.ts +0 -1
  652. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.d.ts.map +1 -1
  653. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.js +32 -42
  654. package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.js.map +1 -1
  655. package/dist/lib/generated/Entities/Dataset/dataset.form.component.d.ts +0 -1
  656. package/dist/lib/generated/Entities/Dataset/dataset.form.component.d.ts.map +1 -1
  657. package/dist/lib/generated/Entities/Dataset/dataset.form.component.js +21 -24
  658. package/dist/lib/generated/Entities/Dataset/dataset.form.component.js.map +1 -1
  659. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.d.ts +0 -1
  660. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.d.ts.map +1 -1
  661. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.js +25 -31
  662. package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.js.map +1 -1
  663. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.d.ts +0 -1
  664. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.d.ts.map +1 -1
  665. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.js +39 -50
  666. package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.js.map +1 -1
  667. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.d.ts +0 -1
  668. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.d.ts.map +1 -1
  669. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.js +33 -38
  670. package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.js.map +1 -1
  671. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.d.ts +0 -1
  672. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.d.ts.map +1 -1
  673. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.js +27 -35
  674. package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.js.map +1 -1
  675. package/dist/lib/generated/Entities/Employee/employee.form.component.d.ts +0 -1
  676. package/dist/lib/generated/Entities/Employee/employee.form.component.d.ts.map +1 -1
  677. package/dist/lib/generated/Entities/Employee/employee.form.component.js +66 -71
  678. package/dist/lib/generated/Entities/Employee/employee.form.component.js.map +1 -1
  679. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.d.ts +0 -1
  680. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.d.ts.map +1 -1
  681. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.js +22 -28
  682. package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.js.map +1 -1
  683. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.d.ts +0 -1
  684. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.d.ts.map +1 -1
  685. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.js +19 -33
  686. package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.js.map +1 -1
  687. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.d.ts +0 -1
  688. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.d.ts.map +1 -1
  689. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.js +17 -23
  690. package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.js.map +1 -1
  691. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.d.ts +0 -1
  692. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.d.ts.map +1 -1
  693. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.js +25 -28
  694. package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.js.map +1 -1
  695. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.d.ts +0 -1
  696. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.d.ts.map +1 -1
  697. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.js +31 -38
  698. package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.js.map +1 -1
  699. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.d.ts +0 -1
  700. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.d.ts.map +1 -1
  701. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.js +25 -28
  702. package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.js.map +1 -1
  703. package/dist/lib/generated/Entities/Entity/entity.form.component.d.ts +0 -1
  704. package/dist/lib/generated/Entities/Entity/entity.form.component.d.ts.map +1 -1
  705. package/dist/lib/generated/Entities/Entity/entity.form.component.js +424 -391
  706. package/dist/lib/generated/Entities/Entity/entity.form.component.js.map +1 -1
  707. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.d.ts +0 -1
  708. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.d.ts.map +1 -1
  709. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.js +33 -43
  710. package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.js.map +1 -1
  711. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.d.ts +0 -1
  712. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.d.ts.map +1 -1
  713. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.js +41 -48
  714. package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.js.map +1 -1
  715. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.d.ts +0 -1
  716. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.d.ts.map +1 -1
  717. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.js +23 -25
  718. package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.js.map +1 -1
  719. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.d.ts +0 -1
  720. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.d.ts.map +1 -1
  721. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.js +21 -27
  722. package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.js.map +1 -1
  723. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.d.ts +0 -1
  724. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.d.ts.map +1 -1
  725. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.js +22 -25
  726. package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.js.map +1 -1
  727. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.d.ts +0 -1
  728. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.d.ts.map +1 -1
  729. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.js +24 -26
  730. package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.js.map +1 -1
  731. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.d.ts +0 -1
  732. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.d.ts.map +1 -1
  733. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.js +17 -22
  734. package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.js.map +1 -1
  735. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.d.ts +0 -1
  736. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.d.ts.map +1 -1
  737. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.js +27 -34
  738. package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.js.map +1 -1
  739. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.d.ts +0 -1
  740. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.d.ts.map +1 -1
  741. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.js +52 -65
  742. package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.js.map +1 -1
  743. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.d.ts +0 -1
  744. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.d.ts.map +1 -1
  745. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.js +22 -26
  746. package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.js.map +1 -1
  747. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.d.ts +0 -1
  748. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.d.ts.map +1 -1
  749. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.js +22 -26
  750. package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.js.map +1 -1
  751. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.d.ts +0 -1
  752. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.d.ts.map +1 -1
  753. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.js +20 -24
  754. package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.js.map +1 -1
  755. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.d.ts +0 -1
  756. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.d.ts.map +1 -1
  757. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.js +102 -103
  758. package/dist/lib/generated/Entities/EntityField/entityfield.form.component.js.map +1 -1
  759. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.d.ts +0 -1
  760. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.d.ts.map +1 -1
  761. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.js +25 -29
  762. package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.js.map +1 -1
  763. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.d.ts +0 -1
  764. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.d.ts.map +1 -1
  765. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.js +33 -45
  766. package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.js.map +1 -1
  767. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.d.ts +0 -1
  768. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.d.ts.map +1 -1
  769. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.js +32 -40
  770. package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.js.map +1 -1
  771. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.d.ts +0 -1
  772. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.d.ts.map +1 -1
  773. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.js +54 -60
  774. package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.js.map +1 -1
  775. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.d.ts +0 -1
  776. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.d.ts.map +1 -1
  777. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.js +22 -25
  778. package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.js.map +1 -1
  779. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.d.ts +0 -1
  780. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.d.ts.map +1 -1
  781. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.js +19 -23
  782. package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.js.map +1 -1
  783. package/dist/lib/generated/Entities/Environment/environment.form.component.d.ts +0 -1
  784. package/dist/lib/generated/Entities/Environment/environment.form.component.d.ts.map +1 -1
  785. package/dist/lib/generated/Entities/Environment/environment.form.component.js +65 -69
  786. package/dist/lib/generated/Entities/Environment/environment.form.component.js.map +1 -1
  787. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.d.ts +0 -1
  788. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.d.ts.map +1 -1
  789. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.js +29 -35
  790. package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.js.map +1 -1
  791. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.d.ts +0 -1
  792. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.d.ts.map +1 -1
  793. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.js +23 -25
  794. package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.js.map +1 -1
  795. package/dist/lib/generated/Entities/File/file.form.component.d.ts +0 -1
  796. package/dist/lib/generated/Entities/File/file.form.component.d.ts.map +1 -1
  797. package/dist/lib/generated/Entities/File/file.form.component.js +55 -62
  798. package/dist/lib/generated/Entities/File/file.form.component.js.map +1 -1
  799. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.d.ts +0 -1
  800. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.d.ts.map +1 -1
  801. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.js +35 -40
  802. package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.js.map +1 -1
  803. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.d.ts +0 -1
  804. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.d.ts.map +1 -1
  805. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.js +19 -25
  806. package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.js.map +1 -1
  807. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.d.ts +0 -1
  808. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.d.ts.map +1 -1
  809. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.js +22 -28
  810. package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.js.map +1 -1
  811. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.d.ts +0 -1
  812. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.d.ts.map +1 -1
  813. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.js +52 -55
  814. package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.js.map +1 -1
  815. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.d.ts +0 -1
  816. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.d.ts.map +1 -1
  817. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.js +35 -43
  818. package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.js.map +1 -1
  819. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.d.ts +0 -1
  820. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.d.ts.map +1 -1
  821. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.js +35 -40
  822. package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.js.map +1 -1
  823. package/dist/lib/generated/Entities/Integration/integration.form.component.d.ts +0 -1
  824. package/dist/lib/generated/Entities/Integration/integration.form.component.d.ts.map +1 -1
  825. package/dist/lib/generated/Entities/Integration/integration.form.component.js +41 -44
  826. package/dist/lib/generated/Entities/Integration/integration.form.component.js.map +1 -1
  827. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.d.ts +0 -1
  828. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.d.ts.map +1 -1
  829. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.js +27 -31
  830. package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.js.map +1 -1
  831. package/dist/lib/generated/Entities/Library/library.form.component.d.ts +0 -1
  832. package/dist/lib/generated/Entities/Library/library.form.component.d.ts.map +1 -1
  833. package/dist/lib/generated/Entities/Library/library.form.component.js +32 -35
  834. package/dist/lib/generated/Entities/Library/library.form.component.js.map +1 -1
  835. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.d.ts +0 -1
  836. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.d.ts.map +1 -1
  837. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.js +18 -22
  838. package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.js.map +1 -1
  839. package/dist/lib/generated/Entities/List/list.form.component.d.ts +0 -1
  840. package/dist/lib/generated/Entities/List/list.form.component.d.ts.map +1 -1
  841. package/dist/lib/generated/Entities/List/list.form.component.js +52 -63
  842. package/dist/lib/generated/Entities/List/list.form.component.js.map +1 -1
  843. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.d.ts +0 -1
  844. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.d.ts.map +1 -1
  845. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.js +39 -46
  846. package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.js.map +1 -1
  847. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.d.ts +0 -1
  848. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.d.ts.map +1 -1
  849. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.js +23 -27
  850. package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.js.map +1 -1
  851. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.d.ts +0 -1
  852. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.d.ts.map +1 -1
  853. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.js +22 -28
  854. package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.js.map +1 -1
  855. package/dist/lib/generated/Entities/ListShare/listshare.form.component.d.ts +0 -1
  856. package/dist/lib/generated/Entities/ListShare/listshare.form.component.d.ts.map +1 -1
  857. package/dist/lib/generated/Entities/ListShare/listshare.form.component.js +19 -25
  858. package/dist/lib/generated/Entities/ListShare/listshare.form.component.js.map +1 -1
  859. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.d.ts +0 -1
  860. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.d.ts.map +1 -1
  861. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.js +87 -56
  862. package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.js.map +1 -1
  863. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.d.ts +0 -1
  864. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.d.ts.map +1 -1
  865. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.js +110 -65
  866. package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.js.map +1 -1
  867. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.d.ts +0 -1
  868. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.d.ts.map +1 -1
  869. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.js +24 -32
  870. package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.js.map +1 -1
  871. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.d.ts +0 -1
  872. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.d.ts.map +1 -1
  873. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.js +23 -29
  874. package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.js.map +1 -1
  875. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.d.ts +0 -1
  876. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.d.ts.map +1 -1
  877. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.js +48 -57
  878. package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.js.map +1 -1
  879. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.d.ts +0 -1
  880. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.d.ts.map +1 -1
  881. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.js +36 -44
  882. package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.js.map +1 -1
  883. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.d.ts +10 -0
  884. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.d.ts.map +1 -0
  885. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.js +73 -0
  886. package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.js.map +1 -0
  887. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.d.ts +10 -0
  888. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.d.ts.map +1 -0
  889. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.js +75 -0
  890. package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.js.map +1 -0
  891. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.d.ts +10 -0
  892. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.d.ts.map +1 -0
  893. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.js +75 -0
  894. package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.js.map +1 -0
  895. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.d.ts +10 -0
  896. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.d.ts.map +1 -0
  897. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.js +61 -0
  898. package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.js.map +1 -0
  899. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.d.ts +0 -1
  900. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.d.ts.map +1 -1
  901. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.js +21 -24
  902. package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.js.map +1 -1
  903. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.d.ts +0 -1
  904. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.d.ts.map +1 -1
  905. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.js +22 -25
  906. package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.js.map +1 -1
  907. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.d.ts +0 -1
  908. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.d.ts.map +1 -1
  909. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.js +21 -24
  910. package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.js.map +1 -1
  911. package/dist/lib/generated/Entities/Project/project.form.component.d.ts +0 -1
  912. package/dist/lib/generated/Entities/Project/project.form.component.d.ts.map +1 -1
  913. package/dist/lib/generated/Entities/Project/project.form.component.js +49 -56
  914. package/dist/lib/generated/Entities/Project/project.form.component.js.map +1 -1
  915. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.d.ts +0 -1
  916. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.d.ts.map +1 -1
  917. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.js +30 -34
  918. package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.js.map +1 -1
  919. package/dist/lib/generated/Entities/Query/query.form.component.d.ts +0 -1
  920. package/dist/lib/generated/Entities/Query/query.form.component.d.ts.map +1 -1
  921. package/dist/lib/generated/Entities/Query/query.form.component.js +79 -86
  922. package/dist/lib/generated/Entities/Query/query.form.component.js.map +1 -1
  923. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.d.ts +0 -1
  924. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.d.ts.map +1 -1
  925. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.js +42 -49
  926. package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.js.map +1 -1
  927. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.d.ts +0 -1
  928. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.d.ts.map +1 -1
  929. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.js +20 -26
  930. package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.js.map +1 -1
  931. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.d.ts +0 -1
  932. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.d.ts.map +1 -1
  933. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.js +32 -38
  934. package/dist/lib/generated/Entities/QueryField/queryfield.form.component.js.map +1 -1
  935. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.d.ts +0 -1
  936. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.d.ts.map +1 -1
  937. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.js +28 -32
  938. package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.js.map +1 -1
  939. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.d.ts +0 -1
  940. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.d.ts.map +1 -1
  941. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.js +18 -26
  942. package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.js.map +1 -1
  943. package/dist/lib/generated/Entities/Queue/queue.form.component.d.ts +0 -1
  944. package/dist/lib/generated/Entities/Queue/queue.form.component.d.ts.map +1 -1
  945. package/dist/lib/generated/Entities/Queue/queue.form.component.js +45 -50
  946. package/dist/lib/generated/Entities/Queue/queue.form.component.js.map +1 -1
  947. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.d.ts +0 -1
  948. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.d.ts.map +1 -1
  949. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.js +30 -34
  950. package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.js.map +1 -1
  951. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.d.ts +0 -1
  952. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.d.ts.map +1 -1
  953. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.js +25 -28
  954. package/dist/lib/generated/Entities/QueueType/queuetype.form.component.js.map +1 -1
  955. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.d.ts +0 -1
  956. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.d.ts.map +1 -1
  957. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.js +25 -38
  958. package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.js.map +1 -1
  959. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.d.ts +0 -1
  960. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.d.ts.map +1 -1
  961. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.js +18 -31
  962. package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.js.map +1 -1
  963. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.d.ts +0 -1
  964. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.d.ts.map +1 -1
  965. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.js +21 -24
  966. package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.js.map +1 -1
  967. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.d.ts +0 -1
  968. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.d.ts.map +1 -1
  969. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.js +31 -38
  970. package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.js.map +1 -1
  971. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.d.ts +0 -1
  972. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.d.ts.map +1 -1
  973. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.js +51 -49
  974. package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.js.map +1 -1
  975. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.d.ts +0 -1
  976. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.d.ts.map +1 -1
  977. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.js +30 -35
  978. package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.js.map +1 -1
  979. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.d.ts +0 -1
  980. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.d.ts.map +1 -1
  981. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.js +26 -32
  982. package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.js.map +1 -1
  983. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.d.ts +0 -1
  984. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.d.ts.map +1 -1
  985. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.js +17 -27
  986. package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.js.map +1 -1
  987. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.d.ts +0 -1
  988. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.d.ts.map +1 -1
  989. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.js +46 -55
  990. package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.js.map +1 -1
  991. package/dist/lib/generated/Entities/Report/report.form.component.d.ts +0 -1
  992. package/dist/lib/generated/Entities/Report/report.form.component.d.ts.map +1 -1
  993. package/dist/lib/generated/Entities/Report/report.form.component.js +60 -89
  994. package/dist/lib/generated/Entities/Report/report.form.component.js.map +1 -1
  995. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.d.ts +0 -1
  996. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.d.ts.map +1 -1
  997. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.js +36 -43
  998. package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.js.map +1 -1
  999. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.d.ts +0 -1
  1000. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.d.ts.map +1 -1
  1001. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.js +19 -25
  1002. package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.js.map +1 -1
  1003. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.d.ts +0 -1
  1004. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.d.ts.map +1 -1
  1005. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.js +19 -25
  1006. package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.js.map +1 -1
  1007. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.d.ts +0 -1
  1008. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.d.ts.map +1 -1
  1009. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.js +24 -28
  1010. package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.js.map +1 -1
  1011. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.d.ts +0 -1
  1012. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.d.ts.map +1 -1
  1013. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.js +16 -22
  1014. package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.js.map +1 -1
  1015. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.d.ts +0 -1
  1016. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.d.ts.map +1 -1
  1017. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.js +28 -37
  1018. package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.js.map +1 -1
  1019. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.d.ts +0 -1
  1020. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.d.ts.map +1 -1
  1021. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.js +54 -63
  1022. package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.js.map +1 -1
  1023. package/dist/lib/generated/Entities/Role/role.form.component.d.ts +0 -1
  1024. package/dist/lib/generated/Entities/Role/role.form.component.d.ts.map +1 -1
  1025. package/dist/lib/generated/Entities/Role/role.form.component.js +72 -75
  1026. package/dist/lib/generated/Entities/Role/role.form.component.js.map +1 -1
  1027. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.d.ts +0 -1
  1028. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.d.ts.map +1 -1
  1029. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.js +21 -25
  1030. package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.js.map +1 -1
  1031. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.d.ts +0 -1
  1032. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.d.ts.map +1 -1
  1033. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.js +42 -49
  1034. package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.js.map +1 -1
  1035. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.d.ts +0 -1
  1036. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.d.ts.map +1 -1
  1037. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.js +23 -29
  1038. package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.js.map +1 -1
  1039. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.d.ts +0 -1
  1040. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.d.ts.map +1 -1
  1041. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.js +60 -69
  1042. package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.js.map +1 -1
  1043. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.d.ts +0 -1
  1044. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.d.ts.map +1 -1
  1045. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.js +38 -45
  1046. package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.js.map +1 -1
  1047. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.d.ts +0 -1
  1048. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.d.ts.map +1 -1
  1049. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.js +26 -29
  1050. package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.js.map +1 -1
  1051. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.d.ts +0 -1
  1052. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.d.ts.map +1 -1
  1053. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.js +18 -20
  1054. package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.js.map +1 -1
  1055. package/dist/lib/generated/Entities/Skill/skill.form.component.d.ts +0 -1
  1056. package/dist/lib/generated/Entities/Skill/skill.form.component.d.ts.map +1 -1
  1057. package/dist/lib/generated/Entities/Skill/skill.form.component.js +34 -39
  1058. package/dist/lib/generated/Entities/Skill/skill.form.component.js.map +1 -1
  1059. package/dist/lib/generated/Entities/Tag/tag.form.component.d.ts +0 -1
  1060. package/dist/lib/generated/Entities/Tag/tag.form.component.d.ts.map +1 -1
  1061. package/dist/lib/generated/Entities/Tag/tag.form.component.js +36 -41
  1062. package/dist/lib/generated/Entities/Tag/tag.form.component.js.map +1 -1
  1063. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.d.ts +0 -1
  1064. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.d.ts.map +1 -1
  1065. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.js +21 -27
  1066. package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.js.map +1 -1
  1067. package/dist/lib/generated/Entities/Task/task.form.component.d.ts +0 -1
  1068. package/dist/lib/generated/Entities/Task/task.form.component.d.ts.map +1 -1
  1069. package/dist/lib/generated/Entities/Task/task.form.component.js +58 -75
  1070. package/dist/lib/generated/Entities/Task/task.form.component.js.map +1 -1
  1071. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.d.ts +0 -1
  1072. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.d.ts.map +1 -1
  1073. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.js +21 -27
  1074. package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.js.map +1 -1
  1075. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.d.ts +0 -1
  1076. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.d.ts.map +1 -1
  1077. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.js +21 -24
  1078. package/dist/lib/generated/Entities/TaskType/tasktype.form.component.js.map +1 -1
  1079. package/dist/lib/generated/Entities/Template/template.form.component.d.ts +0 -1
  1080. package/dist/lib/generated/Entities/Template/template.form.component.d.ts.map +1 -1
  1081. package/dist/lib/generated/Entities/Template/template.form.component.js +70 -77
  1082. package/dist/lib/generated/Entities/Template/template.form.component.js.map +1 -1
  1083. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.d.ts +0 -1
  1084. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.d.ts.map +1 -1
  1085. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.js +39 -46
  1086. package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.js.map +1 -1
  1087. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.d.ts +0 -1
  1088. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.d.ts.map +1 -1
  1089. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js +31 -38
  1090. package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js.map +1 -1
  1091. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.d.ts +0 -1
  1092. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.d.ts.map +1 -1
  1093. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.js +21 -25
  1094. package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.js.map +1 -1
  1095. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.d.ts +0 -1
  1096. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.d.ts.map +1 -1
  1097. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.js +34 -48
  1098. package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.js.map +1 -1
  1099. package/dist/lib/generated/Entities/Test/test.form.component.d.ts +0 -1
  1100. package/dist/lib/generated/Entities/Test/test.form.component.d.ts.map +1 -1
  1101. package/dist/lib/generated/Entities/Test/test.form.component.js +50 -55
  1102. package/dist/lib/generated/Entities/Test/test.form.component.js.map +1 -1
  1103. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.d.ts +0 -1
  1104. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.d.ts.map +1 -1
  1105. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.js +19 -23
  1106. package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.js.map +1 -1
  1107. package/dist/lib/generated/Entities/TestRun/testrun.form.component.d.ts +0 -1
  1108. package/dist/lib/generated/Entities/TestRun/testrun.form.component.d.ts.map +1 -1
  1109. package/dist/lib/generated/Entities/TestRun/testrun.form.component.js +89 -100
  1110. package/dist/lib/generated/Entities/TestRun/testrun.form.component.js.map +1 -1
  1111. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.d.ts +0 -1
  1112. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.d.ts.map +1 -1
  1113. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.js +25 -31
  1114. package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.js.map +1 -1
  1115. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.d.ts +0 -1
  1116. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.d.ts.map +1 -1
  1117. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.js +52 -57
  1118. package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.js.map +1 -1
  1119. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.d.ts +0 -1
  1120. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.d.ts.map +1 -1
  1121. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.js +64 -71
  1122. package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.js.map +1 -1
  1123. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.d.ts +0 -1
  1124. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.d.ts.map +1 -1
  1125. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.js +17 -23
  1126. package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.js.map +1 -1
  1127. package/dist/lib/generated/Entities/TestType/testtype.form.component.d.ts +0 -1
  1128. package/dist/lib/generated/Entities/TestType/testtype.form.component.d.ts.map +1 -1
  1129. package/dist/lib/generated/Entities/TestType/testtype.form.component.js +31 -34
  1130. package/dist/lib/generated/Entities/TestType/testtype.form.component.js.map +1 -1
  1131. package/dist/lib/generated/Entities/User/user.form.component.d.ts +0 -1
  1132. package/dist/lib/generated/Entities/User/user.form.component.d.ts.map +1 -1
  1133. package/dist/lib/generated/Entities/User/user.form.component.js +645 -594
  1134. package/dist/lib/generated/Entities/User/user.form.component.js.map +1 -1
  1135. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.d.ts +0 -1
  1136. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.d.ts.map +1 -1
  1137. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.js +28 -35
  1138. package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.js.map +1 -1
  1139. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.d.ts +0 -1
  1140. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.d.ts.map +1 -1
  1141. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.js +21 -25
  1142. package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.js.map +1 -1
  1143. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.d.ts +0 -1
  1144. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.d.ts.map +1 -1
  1145. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.js +21 -25
  1146. package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.js.map +1 -1
  1147. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.d.ts +0 -1
  1148. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.d.ts.map +1 -1
  1149. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.js +27 -35
  1150. package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.js.map +1 -1
  1151. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.d.ts +0 -1
  1152. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.d.ts.map +1 -1
  1153. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.js +22 -28
  1154. package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.js.map +1 -1
  1155. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.d.ts +0 -1
  1156. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.d.ts.map +1 -1
  1157. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.js +44 -51
  1158. package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.js.map +1 -1
  1159. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.d.ts +0 -1
  1160. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.d.ts.map +1 -1
  1161. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.js +32 -36
  1162. package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.js.map +1 -1
  1163. package/dist/lib/generated/Entities/UserRole/userrole.form.component.d.ts +0 -1
  1164. package/dist/lib/generated/Entities/UserRole/userrole.form.component.d.ts.map +1 -1
  1165. package/dist/lib/generated/Entities/UserRole/userrole.form.component.js +17 -23
  1166. package/dist/lib/generated/Entities/UserRole/userrole.form.component.js.map +1 -1
  1167. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.d.ts +0 -1
  1168. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.d.ts.map +1 -1
  1169. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.js +18 -22
  1170. package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.js.map +1 -1
  1171. package/dist/lib/generated/Entities/UserView/userview.form.component.d.ts +0 -1
  1172. package/dist/lib/generated/Entities/UserView/userview.form.component.d.ts.map +1 -1
  1173. package/dist/lib/generated/Entities/UserView/userview.form.component.js +72 -77
  1174. package/dist/lib/generated/Entities/UserView/userview.form.component.js.map +1 -1
  1175. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.d.ts +0 -1
  1176. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.d.ts.map +1 -1
  1177. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.js +40 -49
  1178. package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.js.map +1 -1
  1179. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.d.ts +0 -1
  1180. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.d.ts.map +1 -1
  1181. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.js +29 -36
  1182. package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.js.map +1 -1
  1183. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.d.ts +0 -1
  1184. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.d.ts.map +1 -1
  1185. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.js +16 -18
  1186. package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.js.map +1 -1
  1187. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.d.ts +0 -1
  1188. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.d.ts.map +1 -1
  1189. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.js +30 -33
  1190. package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.js.map +1 -1
  1191. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.d.ts +0 -1
  1192. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.d.ts.map +1 -1
  1193. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.js +28 -35
  1194. package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.js.map +1 -1
  1195. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.d.ts +0 -1
  1196. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.d.ts.map +1 -1
  1197. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.js +23 -25
  1198. package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.js.map +1 -1
  1199. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.d.ts +10 -0
  1200. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.d.ts.map +1 -0
  1201. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.js +159 -0
  1202. package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.js.map +1 -0
  1203. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.d.ts +10 -0
  1204. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.d.ts.map +1 -0
  1205. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.js +63 -0
  1206. package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.js.map +1 -0
  1207. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.d.ts +10 -0
  1208. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.d.ts.map +1 -0
  1209. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.js +77 -0
  1210. package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.js.map +1 -0
  1211. package/dist/lib/generated/Entities/Workflow/workflow.form.component.d.ts +0 -1
  1212. package/dist/lib/generated/Entities/Workflow/workflow.form.component.d.ts.map +1 -1
  1213. package/dist/lib/generated/Entities/Workflow/workflow.form.component.js +36 -39
  1214. package/dist/lib/generated/Entities/Workflow/workflow.form.component.js.map +1 -1
  1215. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.d.ts +0 -1
  1216. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.d.ts.map +1 -1
  1217. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.js +23 -26
  1218. package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.js.map +1 -1
  1219. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.d.ts +0 -1
  1220. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.d.ts.map +1 -1
  1221. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.js +25 -29
  1222. package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.js.map +1 -1
  1223. package/dist/lib/generated/Entities/Workspace/workspace.form.component.d.ts +0 -1
  1224. package/dist/lib/generated/Entities/Workspace/workspace.form.component.d.ts.map +1 -1
  1225. package/dist/lib/generated/Entities/Workspace/workspace.form.component.js +27 -33
  1226. package/dist/lib/generated/Entities/Workspace/workspace.form.component.js.map +1 -1
  1227. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.d.ts +0 -1
  1228. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.d.ts.map +1 -1
  1229. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.js +26 -32
  1230. package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.js.map +1 -1
  1231. package/dist/lib/generated/generated-forms.module.d.ts +272 -271
  1232. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  1233. package/dist/lib/generated/generated-forms.module.js +429 -939
  1234. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  1235. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  1236. package/dist/lib/shared/components/template-editor.component.js +167 -164
  1237. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  1238. package/dist/public-api.d.ts +0 -1
  1239. package/dist/public-api.d.ts.map +1 -1
  1240. package/dist/public-api.js +1 -1
  1241. package/dist/public-api.js.map +1 -1
  1242. package/package.json +53 -52
  1243. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.d.ts +0 -109
  1244. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.d.ts.map +0 -1
  1245. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js +0 -2014
  1246. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js.map +0 -1
  1247. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.d.ts +0 -29
  1248. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.d.ts.map +0 -1
  1249. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.js +0 -198
  1250. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.js.map +0 -1
  1251. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.d.ts +0 -14
  1252. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.d.ts.map +0 -1
  1253. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.js +0 -98
  1254. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.js.map +0 -1
  1255. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.d.ts +0 -44
  1256. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.d.ts.map +0 -1
  1257. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.js +0 -282
  1258. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.js.map +0 -1
  1259. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.d.ts +0 -35
  1260. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.d.ts.map +0 -1
  1261. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.js +0 -287
  1262. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.js.map +0 -1
  1263. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.d.ts +0 -106
  1264. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.d.ts.map +0 -1
  1265. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.js +0 -951
  1266. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.js.map +0 -1
  1267. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.d.ts +0 -30
  1268. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.d.ts.map +0 -1
  1269. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.js +0 -450
  1270. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.js.map +0 -1
  1271. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.d.ts +0 -25
  1272. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.d.ts.map +0 -1
  1273. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.js +0 -423
  1274. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.js.map +0 -1
  1275. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.d.ts +0 -21
  1276. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.d.ts.map +0 -1
  1277. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.js +0 -182
  1278. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.js.map +0 -1
  1279. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.d.ts +0 -34
  1280. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.d.ts.map +0 -1
  1281. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.js +0 -171
  1282. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.js.map +0 -1
  1283. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.d.ts +0 -17
  1284. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.d.ts.map +0 -1
  1285. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.js +0 -78
  1286. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.js.map +0 -1
  1287. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.d.ts +0 -17
  1288. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.d.ts.map +0 -1
  1289. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.js +0 -11
  1290. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.js.map +0 -1
  1291. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.d.ts +0 -21
  1292. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.d.ts.map +0 -1
  1293. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.js +0 -2
  1294. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.js.map +0 -1
  1295. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.d.ts +0 -33
  1296. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.d.ts.map +0 -1
  1297. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.js +0 -2
  1298. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.js.map +0 -1
  1299. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.d.ts +0 -44
  1300. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.d.ts.map +0 -1
  1301. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.js +0 -166
  1302. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.js.map +0 -1
  1303. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.d.ts +0 -14
  1304. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.d.ts.map +0 -1
  1305. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.js +0 -31
  1306. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.js.map +0 -1
  1307. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.d.ts +0 -63
  1308. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.d.ts.map +0 -1
  1309. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.js +0 -294
  1310. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.js.map +0 -1
  1311. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.d.ts +0 -77
  1312. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.d.ts.map +0 -1
  1313. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.js +0 -408
  1314. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.js.map +0 -1
  1315. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.d.ts +0 -19
  1316. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.d.ts.map +0 -1
  1317. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.js +0 -116
  1318. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.js.map +0 -1
  1319. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.d.ts +0 -25
  1320. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.d.ts.map +0 -1
  1321. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.js +0 -90
  1322. package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.js.map +0 -1
  1323. package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.d.ts +0 -52
  1324. package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.d.ts.map +0 -1
  1325. package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.js +0 -500
  1326. package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.js.map +0 -1
  1327. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.d.ts +0 -9
  1328. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.d.ts.map +0 -1
  1329. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js +0 -84
  1330. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js.map +0 -1
  1331. package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.d.ts +0 -61
  1332. package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.d.ts.map +0 -1
  1333. package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.js +0 -790
  1334. package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.js.map +0 -1
@@ -4,12 +4,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Component, ChangeDetectionStrategy } from '@angular/core';
7
+ import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
8
8
  import { Subject } from 'rxjs';
9
9
  import { debounceTime, takeUntil } from 'rxjs/operators';
10
10
  import { Metadata, CompositeKey, RunView } from '@memberjunction/core';
11
11
  import { RegisterClass } from '@memberjunction/global';
12
12
  import { BaseFormComponent } from '@memberjunction/ng-base-forms';
13
+ import { SharedService } from '@memberjunction/ng-shared';
13
14
  import { EntityFormComponent } from '../../generated/Entities/Entity/entity.form.component';
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "@angular/common";
@@ -20,154 +21,402 @@ import * as i5 from "@memberjunction/ng-entity-relationship-diagram";
20
21
  const _c0 = () => [1, 2, 3, 4, 5];
21
22
  const _c1 = a0 => [a0];
22
23
  const _c2 = () => [];
23
- function EntityFormComponentExtended_div_0_span_16_Template(rf, ctx) { if (rf & 1) {
24
+ const _forTrack0 = ($index, $item) => $item.ID;
25
+ const _forTrack1 = ($index, $item) => $item.EntityName;
26
+ function EntityFormComponentExtended_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
27
+ i0.ɵɵelementStart(0, "span", 8);
28
+ i0.ɵɵelement(1, "i", 42);
29
+ i0.ɵɵtext(2, " Virtual ");
30
+ i0.ɵɵelementEnd();
31
+ } }
32
+ function EntityFormComponentExtended_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
33
+ const _r2 = i0.ɵɵgetCurrentView();
24
34
  i0.ɵɵelementStart(0, "span", 43);
35
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_12_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(ctx_r2.ParentChain[0])); });
36
+ i0.ɵɵelement(1, "i", 44);
37
+ i0.ɵɵtext(2);
38
+ i0.ɵɵelementEnd();
39
+ } if (rf & 2) {
40
+ const ctx_r2 = i0.ɵɵnextContext(2);
41
+ i0.ɵɵadvance(2);
42
+ i0.ɵɵtextInterpolate1(" IS-A ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, " ");
43
+ } }
44
+ function EntityFormComponentExtended_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "span", 10);
46
+ i0.ɵɵelement(1, "i", 45);
47
+ i0.ɵɵtext(2);
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r2 = i0.ɵɵnextContext(2);
51
+ i0.ɵɵadvance(2);
52
+ i0.ɵɵtextInterpolate2(" ", ctx_r2.ChildEntities.length, " child type", ctx_r2.ChildEntities.length !== 1 ? "s" : "", " ");
53
+ } }
54
+ function EntityFormComponentExtended_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementStart(0, "div", 11);
56
+ i0.ɵɵelement(1, "i", 46);
57
+ i0.ɵɵtext(2);
58
+ i0.ɵɵelementEnd();
59
+ } if (rf & 2) {
60
+ const ctx_r2 = i0.ɵɵnextContext(2);
61
+ i0.ɵɵadvance(2);
62
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.IsaBreadcrumb, " ");
63
+ } }
64
+ function EntityFormComponentExtended_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵelementStart(0, "span", 15);
25
66
  i0.ɵɵtext(1);
26
67
  i0.ɵɵpipe(2, "slice");
27
68
  i0.ɵɵelementEnd();
28
69
  } if (rf & 2) {
29
- const ctx_r1 = i0.ɵɵnextContext(2);
30
- i0.ɵɵproperty("title", ctx_r1.entity.Description);
70
+ const ctx_r2 = i0.ɵɵnextContext(2);
71
+ i0.ɵɵproperty("title", ctx_r2.entity.Description);
31
72
  i0.ɵɵadvance();
32
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind3(2, 3, ctx_r1.entity.Description, 0, 80), "", ctx_r1.entity.Description.length > 80 ? "..." : "", " ");
73
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind3(2, 3, ctx_r2.entity.Description, 0, 80), "", ctx_r2.entity.Description.length > 80 ? "..." : "", " ");
33
74
  } }
34
- function EntityFormComponentExtended_div_0_span_38_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelementStart(0, "span", 18);
75
+ function EntityFormComponentExtended_Conditional_0_Conditional_42_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelementStart(0, "span", 19);
36
77
  i0.ɵɵtext(1);
37
78
  i0.ɵɵelementEnd();
38
79
  } if (rf & 2) {
39
- const ctx_r1 = i0.ɵɵnextContext(2);
80
+ const ctx_r2 = i0.ɵɵnextContext(2);
40
81
  i0.ɵɵadvance();
41
- i0.ɵɵtextInterpolate(ctx_r1.formattedRowCount);
82
+ i0.ɵɵtextInterpolate(ctx_r2.formattedRowCount);
42
83
  } }
43
- function EntityFormComponentExtended_div_0_span_39_Template(rf, ctx) { if (rf & 1) {
44
- i0.ɵɵelementStart(0, "span", 44);
45
- i0.ɵɵelement(1, "i", 45);
84
+ function EntityFormComponentExtended_Conditional_0_Conditional_43_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵelementStart(0, "span", 25);
86
+ i0.ɵɵelement(1, "i", 47);
46
87
  i0.ɵɵelementEnd();
47
88
  } }
48
- function EntityFormComponentExtended_div_0_button_44_span_4_Template(rf, ctx) { if (rf & 1) {
49
- i0.ɵɵelementStart(0, "span", 49);
89
+ function EntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementStart(0, "span", 50);
50
91
  i0.ɵɵtext(1);
51
92
  i0.ɵɵelementEnd();
52
93
  } if (rf & 2) {
53
- const item_r4 = i0.ɵɵnextContext().$implicit;
94
+ const item_r5 = i0.ɵɵnextContext().$implicit;
54
95
  i0.ɵɵadvance();
55
- i0.ɵɵtextInterpolate(item_r4.badge);
96
+ i0.ɵɵtextInterpolate(item_r5.badge);
56
97
  } }
57
- function EntityFormComponentExtended_div_0_button_44_Template(rf, ctx) { if (rf & 1) {
58
- const _r3 = i0.ɵɵgetCurrentView();
59
- i0.ɵɵelementStart(0, "button", 46);
60
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_button_44_Template_button_click_0_listener() { const item_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setActiveSection(item_r4.id)); });
98
+ function EntityFormComponentExtended_Conditional_0_For_49_Template(rf, ctx) { if (rf & 1) {
99
+ const _r4 = i0.ɵɵgetCurrentView();
100
+ i0.ɵɵelementStart(0, "button", 48);
101
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_For_49_Template_button_click_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection(item_r5.id)); });
61
102
  i0.ɵɵelement(1, "i");
62
- i0.ɵɵelementStart(2, "span", 47);
103
+ i0.ɵɵelementStart(2, "span", 49);
63
104
  i0.ɵɵtext(3);
64
105
  i0.ɵɵelementEnd();
65
- i0.ɵɵtemplate(4, EntityFormComponentExtended_div_0_button_44_span_4_Template, 2, 1, "span", 48);
106
+ i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template, 2, 1, "span", 50);
66
107
  i0.ɵɵelementEnd();
67
108
  } if (rf & 2) {
68
- const item_r4 = ctx.$implicit;
69
- const ctx_r1 = i0.ɵɵnextContext(2);
70
- i0.ɵɵclassProp("active", ctx_r1.activeSection === item_r4.id);
71
- i0.ɵɵproperty("title", item_r4.label);
109
+ const item_r5 = ctx.$implicit;
110
+ const ctx_r2 = i0.ɵɵnextContext(2);
111
+ i0.ɵɵclassProp("active", ctx_r2.activeSection === item_r5.id);
112
+ i0.ɵɵproperty("title", item_r5.label);
72
113
  i0.ɵɵadvance();
73
- i0.ɵɵclassMap(item_r4.icon);
114
+ i0.ɵɵclassMap(item_r5.icon);
74
115
  i0.ɵɵadvance(2);
75
- i0.ɵɵtextInterpolate(item_r4.label);
116
+ i0.ɵɵtextInterpolate(item_r5.label);
76
117
  i0.ɵɵadvance();
77
- i0.ɵɵproperty("ngIf", item_r4.badge);
118
+ i0.ɵɵconditional(item_r5.badge ? 4 : -1);
78
119
  } }
79
- function EntityFormComponentExtended_div_0_section_46_span_16_Template(rf, ctx) { if (rf & 1) {
120
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16_Template(rf, ctx) { if (rf & 1) {
80
121
  i0.ɵɵelementStart(0, "span");
81
122
  i0.ɵɵtext(1);
82
123
  i0.ɵɵelementEnd();
83
124
  } if (rf & 2) {
84
- const ctx_r1 = i0.ɵɵnextContext(3);
125
+ const ctx_r2 = i0.ɵɵnextContext(3);
85
126
  i0.ɵɵadvance();
86
- i0.ɵɵtextInterpolate1("", ctx_r1.stats.encryptedFieldCount, " Encrypted");
127
+ i0.ɵɵtextInterpolate1("", ctx_r2.stats.encryptedFieldCount, " Encrypted");
87
128
  } }
88
- function EntityFormComponentExtended_div_0_section_46_span_56_Template(rf, ctx) { if (rf & 1) {
129
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56_Template(rf, ctx) { if (rf & 1) {
89
130
  i0.ɵɵelementStart(0, "span");
90
131
  i0.ɵɵtext(1);
91
132
  i0.ɵɵpipe(2, "date");
92
133
  i0.ɵɵelementEnd();
93
134
  } if (rf & 2) {
94
- const ctx_r1 = i0.ɵɵnextContext(3);
135
+ const ctx_r2 = i0.ɵɵnextContext(3);
95
136
  i0.ɵɵadvance();
96
- i0.ɵɵtextInterpolate1("Updated ", i0.ɵɵpipeBind2(2, 1, ctx_r1.entity.RowCountRunAt, "short"), "");
137
+ i0.ɵɵtextInterpolate1("Updated ", i0.ɵɵpipeBind2(2, 1, ctx_r2.entity.RowCountRunAt, "short"));
97
138
  } }
98
- function EntityFormComponentExtended_div_0_section_46_span_57_Template(rf, ctx) { if (rf & 1) {
139
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_57_Template(rf, ctx) { if (rf & 1) {
99
140
  i0.ɵɵelementStart(0, "span");
100
141
  i0.ɵɵtext(1, "Row count");
101
142
  i0.ɵɵelementEnd();
102
143
  } }
103
- function EntityFormComponentExtended_div_0_section_46_span_63_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelementStart(0, "span", 82);
105
- i0.ɵɵelement(1, "i", 83);
144
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Template(rf, ctx) { if (rf & 1) {
145
+ i0.ɵɵelementStart(0, "span", 70);
146
+ i0.ɵɵelement(1, "i", 82);
106
147
  i0.ɵɵtext(2);
107
148
  i0.ɵɵelementEnd();
108
149
  } if (rf & 2) {
109
- const cap_r6 = ctx.$implicit;
150
+ const cap_r7 = ctx.$implicit;
110
151
  i0.ɵɵadvance(2);
111
- i0.ɵɵtextInterpolate1(" ", cap_r6, " ");
152
+ i0.ɵɵtextInterpolate1(" ", cap_r7, " ");
112
153
  } }
113
- function EntityFormComponentExtended_div_0_section_46_span_64_Template(rf, ctx) { if (rf & 1) {
114
- i0.ɵɵelementStart(0, "span", 84);
115
- i0.ɵɵelement(1, "i", 41);
154
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_65_Template(rf, ctx) { if (rf & 1) {
155
+ i0.ɵɵelementStart(0, "span", 71);
156
+ i0.ɵɵelement(1, "i", 40);
116
157
  i0.ɵɵtext(2, " No API ");
117
158
  i0.ɵɵelementEnd();
118
159
  } }
119
- function EntityFormComponentExtended_div_0_section_46_div_90_Template(rf, ctx) { if (rf & 1) {
120
- i0.ɵɵelementStart(0, "div", 75)(1, "span", 76);
160
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_4_Template(rf, ctx) { if (rf & 1) {
161
+ i0.ɵɵelementStart(0, "div", 83);
162
+ i0.ɵɵelement(1, "i", 42);
163
+ i0.ɵɵelementStart(2, "span");
164
+ i0.ɵɵtext(3, "Virtual Entity \u2014 read-only view backed by ");
165
+ i0.ɵɵelementStart(4, "span", 85);
166
+ i0.ɵɵtext(5);
167
+ i0.ɵɵelementEnd()()();
168
+ } if (rf & 2) {
169
+ const ctx_r2 = i0.ɵɵnextContext(4);
170
+ i0.ɵɵadvance(5);
171
+ i0.ɵɵtextInterpolate(ctx_r2.entity.BaseView);
172
+ } }
173
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template(rf, ctx) { if (rf & 1) {
174
+ const _r8 = i0.ɵɵgetCurrentView();
175
+ i0.ɵɵelement(0, "i", 93);
176
+ i0.ɵɵelementStart(1, "span", 94);
177
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template_span_click_1_listener() { const parent_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(parent_r9)); });
178
+ i0.ɵɵtext(2);
179
+ i0.ɵɵelementEnd();
180
+ } if (rf & 2) {
181
+ const parent_r9 = ctx.$implicit;
182
+ i0.ɵɵadvance();
183
+ i0.ɵɵproperty("title", "Navigate to " + parent_r9.Name);
184
+ i0.ɵɵadvance();
185
+ i0.ɵɵtextInterpolate1(" ", parent_r9.Name, " ");
186
+ } }
187
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
188
+ i0.ɵɵelement(0, "i", 102);
189
+ } }
190
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
191
+ i0.ɵɵelement(0, "i", 103);
192
+ } }
193
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_For_10_Template(rf, ctx) { if (rf & 1) {
194
+ i0.ɵɵelementStart(0, "span", 106);
195
+ i0.ɵɵtext(1);
196
+ i0.ɵɵelementStart(2, "span", 107);
197
+ i0.ɵɵtext(3);
198
+ i0.ɵɵelementEnd()();
199
+ } if (rf & 2) {
200
+ const field_r11 = ctx.$implicit;
201
+ i0.ɵɵproperty("title", field_r11.Description || field_r11.Name);
202
+ i0.ɵɵadvance();
203
+ i0.ɵɵtextInterpolate1(" ", field_r11.DisplayName || field_r11.Name, " ");
204
+ i0.ɵɵadvance(2);
205
+ i0.ɵɵtextInterpolate(field_r11.Type);
206
+ } }
207
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
208
+ i0.ɵɵelementStart(0, "div", 99)(1, "div", 100)(2, "span", 101);
209
+ i0.ɵɵconditionalCreate(3, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_3_Template, 1, 0, "i", 102)(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_4_Template, 1, 0, "i", 103);
210
+ i0.ɵɵtext(5);
211
+ i0.ɵɵelementEnd();
212
+ i0.ɵɵelementStart(6, "span", 104);
213
+ i0.ɵɵtext(7);
214
+ i0.ɵɵelementEnd()();
215
+ i0.ɵɵelementStart(8, "div", 105);
216
+ i0.ɵɵrepeaterCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_For_10_Template, 4, 3, "span", 106, _forTrack0);
217
+ i0.ɵɵelementEnd()();
218
+ } if (rf & 2) {
219
+ const group_r12 = ctx.$implicit;
220
+ i0.ɵɵclassProp("own", group_r12.Level === 0)("inherited", group_r12.Level > 0);
221
+ i0.ɵɵadvance(3);
222
+ i0.ɵɵconditional(group_r12.Level === 0 ? 3 : 4);
223
+ i0.ɵɵadvance(2);
224
+ i0.ɵɵtextInterpolate1(" ", group_r12.Label, " ");
225
+ i0.ɵɵadvance(2);
226
+ i0.ɵɵtextInterpolate2("", group_r12.Fields.length, " field", group_r12.Fields.length !== 1 ? "s" : "");
227
+ i0.ɵɵadvance(2);
228
+ i0.ɵɵrepeater(group_r12.Fields);
229
+ } }
230
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
231
+ i0.ɵɵelementStart(0, "div", 97);
232
+ i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Template, 11, 8, "div", 98, _forTrack1);
233
+ i0.ɵɵelementEnd();
234
+ } if (rf & 2) {
235
+ const ctx_r2 = i0.ɵɵnextContext(6);
236
+ i0.ɵɵadvance();
237
+ i0.ɵɵrepeater(ctx_r2.isaFieldGroups);
238
+ } }
239
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
240
+ const _r10 = i0.ɵɵgetCurrentView();
241
+ i0.ɵɵelementStart(0, "div", 91)(1, "div", 95);
242
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.isaFieldInspectorExpanded = !ctx_r2.isaFieldInspectorExpanded); });
243
+ i0.ɵɵelement(2, "i", 96);
244
+ i0.ɵɵtext(3, " Field Source Inspector ");
245
+ i0.ɵɵelementEnd();
246
+ i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_Template, 3, 0, "div", 97);
247
+ i0.ɵɵelementEnd();
248
+ } if (rf & 2) {
249
+ const ctx_r2 = i0.ɵɵnextContext(5);
250
+ i0.ɵɵadvance(2);
251
+ i0.ɵɵproperty("ngClass", ctx_r2.isaFieldInspectorExpanded ? "fa-chevron-down" : "fa-chevron-right");
252
+ i0.ɵɵadvance(2);
253
+ i0.ɵɵconditional(ctx_r2.isaFieldInspectorExpanded ? 4 : -1);
254
+ } }
255
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template(rf, ctx) { if (rf & 1) {
256
+ const _r13 = i0.ɵɵgetCurrentView();
257
+ i0.ɵɵelementStart(0, "span", 110);
258
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template_span_click_0_listener() { const sibling_r14 = i0.ɵɵrestoreView(_r13).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(sibling_r14)); });
259
+ i0.ɵɵelement(1, "i", 111);
260
+ i0.ɵɵtext(2);
261
+ i0.ɵɵelementEnd();
262
+ } if (rf & 2) {
263
+ const sibling_r14 = ctx.$implicit;
264
+ i0.ɵɵproperty("title", "Navigate to " + sibling_r14.Name);
265
+ i0.ɵɵadvance(2);
266
+ i0.ɵɵtextInterpolate1(" ", sibling_r14.Name, " ");
267
+ } }
268
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_Template(rf, ctx) { if (rf & 1) {
269
+ i0.ɵɵelementStart(0, "div", 92)(1, "div", 87);
270
+ i0.ɵɵtext(2);
271
+ i0.ɵɵelementEnd();
272
+ i0.ɵɵelementStart(3, "div", 108);
273
+ i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template, 3, 2, "span", 109, _forTrack0);
274
+ i0.ɵɵelementEnd()();
275
+ } if (rf & 2) {
276
+ const ctx_r2 = i0.ɵɵnextContext(5);
277
+ i0.ɵɵadvance(2);
278
+ i0.ɵɵtextInterpolate1("Sibling Types (disjoint under ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, ")");
279
+ i0.ɵɵadvance(2);
280
+ i0.ɵɵrepeater(ctx_r2.SiblingEntities);
281
+ } }
282
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Template(rf, ctx) { if (rf & 1) {
283
+ i0.ɵɵelementStart(0, "div", 86)(1, "div", 87);
284
+ i0.ɵɵtext(2, "Inheritance Chain");
285
+ i0.ɵɵelementEnd();
286
+ i0.ɵɵelementStart(3, "div", 88)(4, "span", 89);
287
+ i0.ɵɵtext(5);
288
+ i0.ɵɵelementEnd();
289
+ i0.ɵɵrepeaterCreate(6, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template, 3, 2, null, null, _forTrack0);
290
+ i0.ɵɵelementEnd();
291
+ i0.ɵɵelementStart(8, "div", 90);
292
+ i0.ɵɵelement(9, "i", 55);
293
+ i0.ɵɵelementStart(10, "span");
294
+ i0.ɵɵtext(11);
295
+ i0.ɵɵelementEnd()()();
296
+ i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template, 5, 2, "div", 91);
297
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_Template, 6, 1, "div", 92);
298
+ } if (rf & 2) {
299
+ const ctx_r2 = i0.ɵɵnextContext(4);
300
+ i0.ɵɵadvance(5);
301
+ i0.ɵɵtextInterpolate(ctx_r2.entity.Name);
302
+ i0.ɵɵadvance();
303
+ i0.ɵɵrepeater(ctx_r2.ParentChain);
304
+ i0.ɵɵadvance(5);
305
+ i0.ɵɵtextInterpolate3("", ctx_r2.InheritedFieldCount, " field", ctx_r2.InheritedFieldCount !== 1 ? "s" : "", " inherited from parent", ctx_r2.ParentChain.length > 1 ? "s" : "");
306
+ i0.ɵɵadvance();
307
+ i0.ɵɵconditional(ctx_r2.isaFieldGroups.length > 1 ? 12 : -1);
308
+ i0.ɵɵadvance();
309
+ i0.ɵɵconditional(ctx_r2.SiblingEntities.length > 0 ? 13 : -1);
310
+ } }
311
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
312
+ i0.ɵɵelement(0, "i", 47);
313
+ } }
314
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
315
+ i0.ɵɵtext(0);
316
+ i0.ɵɵpipe(1, "number");
317
+ } if (rf & 2) {
318
+ const childCount_r16 = i0.ɵɵnextContext().$implicit;
319
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, childCount_r16.RecordCount), " ");
320
+ } }
321
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
322
+ const _r15 = i0.ɵɵgetCurrentView();
323
+ i0.ɵɵelementStart(0, "span", 113);
324
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template_span_click_0_listener() { const childCount_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(childCount_r16.EntityInfo)); });
325
+ i0.ɵɵelement(1, "i", 114);
326
+ i0.ɵɵtext(2);
327
+ i0.ɵɵelementStart(3, "span", 115);
328
+ i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_4_Template, 1, 0, "i", 47)(5, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_5_Template, 2, 3);
329
+ i0.ɵɵelementEnd()();
330
+ } if (rf & 2) {
331
+ const childCount_r16 = ctx.$implicit;
332
+ i0.ɵɵproperty("title", "Navigate to " + childCount_r16.EntityName);
333
+ i0.ɵɵadvance(2);
334
+ i0.ɵɵtextInterpolate1(" ", childCount_r16.EntityName, " ");
335
+ i0.ɵɵadvance(2);
336
+ i0.ɵɵconditional(childCount_r16.IsLoading ? 4 : 5);
337
+ } }
338
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_Template(rf, ctx) { if (rf & 1) {
339
+ i0.ɵɵelementStart(0, "div", 84)(1, "div", 87);
340
+ i0.ɵɵtext(2, "Child Types");
341
+ i0.ɵɵelementEnd();
342
+ i0.ɵɵelementStart(3, "div", 108);
343
+ i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template, 6, 3, "span", 112, _forTrack1);
344
+ i0.ɵɵelementEnd()();
345
+ } if (rf & 2) {
346
+ const ctx_r2 = i0.ɵɵnextContext(4);
347
+ i0.ɵɵadvance(4);
348
+ i0.ɵɵrepeater(ctx_r2.childEntityCounts);
349
+ } }
350
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Template(rf, ctx) { if (rf & 1) {
351
+ i0.ɵɵelementStart(0, "div", 72)(1, "h3", 67);
352
+ i0.ɵɵelement(2, "i", 46);
353
+ i0.ɵɵtext(3, " Type Hierarchy ");
354
+ i0.ɵɵelementEnd();
355
+ i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_4_Template, 6, 1, "div", 83);
356
+ i0.ɵɵconditionalCreate(5, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Template, 14, 6);
357
+ i0.ɵɵconditionalCreate(6, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_Template, 6, 0, "div", 84);
358
+ i0.ɵɵelementEnd();
359
+ } if (rf & 2) {
360
+ const ctx_r2 = i0.ɵɵnextContext(3);
361
+ i0.ɵɵadvance(4);
362
+ i0.ɵɵconditional(ctx_r2.IsVirtualEntity ? 4 : -1);
363
+ i0.ɵɵadvance();
364
+ i0.ɵɵconditional(ctx_r2.IsChildType ? 5 : -1);
365
+ i0.ɵɵadvance();
366
+ i0.ɵɵconditional(ctx_r2.IsParentType ? 6 : -1);
367
+ } }
368
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92_Template(rf, ctx) { if (rf & 1) {
369
+ i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
121
370
  i0.ɵɵtext(2, "SP Create");
122
371
  i0.ɵɵelementEnd();
123
372
  i0.ɵɵelementStart(3, "span", 81);
124
373
  i0.ɵɵtext(4);
125
374
  i0.ɵɵelementEnd()();
126
375
  } if (rf & 2) {
127
- const ctx_r1 = i0.ɵɵnextContext(3);
376
+ const ctx_r2 = i0.ɵɵnextContext(3);
128
377
  i0.ɵɵadvance(4);
129
- i0.ɵɵtextInterpolate(ctx_r1.entity.spCreate);
378
+ i0.ɵɵtextInterpolate(ctx_r2.entity.spCreate);
130
379
  } }
131
- function EntityFormComponentExtended_div_0_section_46_div_91_Template(rf, ctx) { if (rf & 1) {
132
- i0.ɵɵelementStart(0, "div", 75)(1, "span", 76);
380
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93_Template(rf, ctx) { if (rf & 1) {
381
+ i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
133
382
  i0.ɵɵtext(2, "SP Update");
134
383
  i0.ɵɵelementEnd();
135
384
  i0.ɵɵelementStart(3, "span", 81);
136
385
  i0.ɵɵtext(4);
137
386
  i0.ɵɵelementEnd()();
138
387
  } if (rf & 2) {
139
- const ctx_r1 = i0.ɵɵnextContext(3);
388
+ const ctx_r2 = i0.ɵɵnextContext(3);
140
389
  i0.ɵɵadvance(4);
141
- i0.ɵɵtextInterpolate(ctx_r1.entity.spUpdate);
390
+ i0.ɵɵtextInterpolate(ctx_r2.entity.spUpdate);
142
391
  } }
143
- function EntityFormComponentExtended_div_0_section_46_div_92_Template(rf, ctx) { if (rf & 1) {
144
- i0.ɵɵelementStart(0, "div", 75)(1, "span", 76);
392
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94_Template(rf, ctx) { if (rf & 1) {
393
+ i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
145
394
  i0.ɵɵtext(2, "SP Delete");
146
395
  i0.ɵɵelementEnd();
147
396
  i0.ɵɵelementStart(3, "span", 81);
148
397
  i0.ɵɵtext(4);
149
398
  i0.ɵɵelementEnd()();
150
399
  } if (rf & 2) {
151
- const ctx_r1 = i0.ɵɵnextContext(3);
400
+ const ctx_r2 = i0.ɵɵnextContext(3);
152
401
  i0.ɵɵadvance(4);
153
- i0.ɵɵtextInterpolate(ctx_r1.entity.spDelete);
402
+ i0.ɵɵtextInterpolate(ctx_r2.entity.spDelete);
154
403
  } }
155
- function EntityFormComponentExtended_div_0_section_46_div_108_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementStart(0, "div", 75)(1, "span", 76);
404
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_110_Template(rf, ctx) { if (rf & 1) {
405
+ i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
157
406
  i0.ɵɵtext(2, "Subclass");
158
407
  i0.ɵɵelementEnd();
159
408
  i0.ɵɵelementStart(3, "span", 81);
160
409
  i0.ɵɵtext(4);
161
410
  i0.ɵɵelementEnd()();
162
411
  } if (rf & 2) {
163
- const ctx_r1 = i0.ɵɵnextContext(3);
412
+ const ctx_r2 = i0.ɵɵnextContext(3);
164
413
  i0.ɵɵadvance(4);
165
- i0.ɵɵtextInterpolate(ctx_r1.entity.EntityObjectSubclassName);
414
+ i0.ɵɵtextInterpolate(ctx_r2.entity.EntityObjectSubclassName);
166
415
  } }
167
- function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf & 1) {
168
- const _r5 = i0.ɵɵgetCurrentView();
169
- i0.ɵɵelementStart(0, "section", 50)(1, "div", 51)(2, "div", 52)(3, "div", 53);
170
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_46_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setActiveSection("fields")); });
416
+ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, ctx) { if (rf & 1) {
417
+ const _r6 = i0.ɵɵgetCurrentView();
418
+ i0.ɵɵelementStart(0, "section", 30)(1, "div", 51)(2, "div", 52)(3, "div", 53);
419
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection("fields")); });
171
420
  i0.ɵɵelementStart(4, "div", 54);
172
421
  i0.ɵɵelement(5, "i", 55);
173
422
  i0.ɵɵelementStart(6, "span");
@@ -182,13 +431,13 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
182
431
  i0.ɵɵelementStart(14, "span");
183
432
  i0.ɵɵtext(15);
184
433
  i0.ɵɵelementEnd();
185
- i0.ɵɵtemplate(16, EntityFormComponentExtended_div_0_section_46_span_16_Template, 2, 1, "span", 39);
434
+ i0.ɵɵconditionalCreate(16, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16_Template, 2, 1, "span");
186
435
  i0.ɵɵelementEnd()();
187
436
  i0.ɵɵelementStart(17, "div", 59);
188
437
  i0.ɵɵelement(18, "i", 60);
189
438
  i0.ɵɵelementEnd()();
190
439
  i0.ɵɵelementStart(19, "div", 61);
191
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_46_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setActiveSection("relationships")); });
440
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection("relationships")); });
192
441
  i0.ɵɵelementStart(20, "div", 54);
193
442
  i0.ɵɵelement(21, "i", 62);
194
443
  i0.ɵɵelementStart(22, "span");
@@ -207,7 +456,7 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
207
456
  i0.ɵɵelement(33, "i", 60);
208
457
  i0.ɵɵelementEnd()();
209
458
  i0.ɵɵelementStart(34, "div", 63);
210
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_46_Template_div_click_34_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setActiveSection("permissions")); });
459
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Template_div_click_34_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection("permissions")); });
211
460
  i0.ɵɵelementStart(35, "div", 54);
212
461
  i0.ɵɵelement(36, "i", 64);
213
462
  i0.ɵɵelementStart(37, "span");
@@ -223,7 +472,7 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
223
472
  i0.ɵɵelement(46, "i", 60);
224
473
  i0.ɵɵelementEnd()();
225
474
  i0.ɵɵelementStart(47, "div", 65)(48, "div", 54);
226
- i0.ɵɵelement(49, "i", 23);
475
+ i0.ɵɵelement(49, "i", 24);
227
476
  i0.ɵɵelementStart(50, "span");
228
477
  i0.ɵɵtext(51, "Data");
229
478
  i0.ɵɵelementEnd()();
@@ -231,821 +480,872 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
231
480
  i0.ɵɵtext(54);
232
481
  i0.ɵɵelementEnd();
233
482
  i0.ɵɵelementStart(55, "div", 58);
234
- i0.ɵɵtemplate(56, EntityFormComponentExtended_div_0_section_46_span_56_Template, 3, 4, "span", 39)(57, EntityFormComponentExtended_div_0_section_46_span_57_Template, 2, 0, "span", 39);
483
+ i0.ɵɵconditionalCreate(56, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56_Template, 3, 4, "span");
484
+ i0.ɵɵconditionalCreate(57, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_57_Template, 2, 0, "span");
235
485
  i0.ɵɵelementEnd()()()();
236
486
  i0.ɵɵelementStart(58, "div", 66)(59, "h3", 67);
237
487
  i0.ɵɵelement(60, "i", 68);
238
488
  i0.ɵɵtext(61, " Capabilities ");
239
489
  i0.ɵɵelementEnd();
240
490
  i0.ɵɵelementStart(62, "div", 69);
241
- i0.ɵɵtemplate(63, EntityFormComponentExtended_div_0_section_46_span_63_Template, 3, 1, "span", 70)(64, EntityFormComponentExtended_div_0_section_46_span_64_Template, 3, 0, "span", 71);
491
+ i0.ɵɵrepeaterCreate(63, EntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Template, 3, 1, "span", 70, i0.ɵɵrepeaterTrackByIdentity);
492
+ i0.ɵɵconditionalCreate(65, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_65_Template, 3, 0, "span", 71);
242
493
  i0.ɵɵelementEnd()();
243
- i0.ɵɵelementStart(65, "div", 72)(66, "h3", 67);
244
- i0.ɵɵelement(67, "i", 73);
245
- i0.ɵɵtext(68, " Database ");
494
+ i0.ɵɵconditionalCreate(66, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Template, 7, 3, "div", 72);
495
+ i0.ɵɵelementStart(67, "div", 73)(68, "h3", 67);
496
+ i0.ɵɵelement(69, "i", 74);
497
+ i0.ɵɵtext(70, " Database ");
246
498
  i0.ɵɵelementEnd();
247
- i0.ɵɵelementStart(69, "div", 74)(70, "div", 75)(71, "span", 76);
248
- i0.ɵɵtext(72, "Schema");
499
+ i0.ɵɵelementStart(71, "div", 75)(72, "div", 76)(73, "span", 77);
500
+ i0.ɵɵtext(74, "Schema");
249
501
  i0.ɵɵelementEnd();
250
- i0.ɵɵelementStart(73, "span", 77);
251
- i0.ɵɵtext(74);
502
+ i0.ɵɵelementStart(75, "span", 78);
503
+ i0.ɵɵtext(76);
252
504
  i0.ɵɵelementEnd()();
253
- i0.ɵɵelementStart(75, "div", 75)(76, "span", 76);
254
- i0.ɵɵtext(77, "Table");
505
+ i0.ɵɵelementStart(77, "div", 76)(78, "span", 77);
506
+ i0.ɵɵtext(79, "Table");
255
507
  i0.ɵɵelementEnd();
256
- i0.ɵɵelementStart(78, "span", 77);
257
- i0.ɵɵtext(79);
508
+ i0.ɵɵelementStart(80, "span", 78);
509
+ i0.ɵɵtext(81);
258
510
  i0.ɵɵelementEnd()();
259
- i0.ɵɵelementStart(80, "div", 75)(81, "span", 76);
260
- i0.ɵɵtext(82, "View");
511
+ i0.ɵɵelementStart(82, "div", 76)(83, "span", 77);
512
+ i0.ɵɵtext(84, "View");
261
513
  i0.ɵɵelementEnd();
262
- i0.ɵɵelementStart(83, "span", 77);
263
- i0.ɵɵtext(84);
514
+ i0.ɵɵelementStart(85, "span", 78);
515
+ i0.ɵɵtext(86);
264
516
  i0.ɵɵelementEnd()();
265
- i0.ɵɵelementStart(85, "div", 75)(86, "span", 76);
266
- i0.ɵɵtext(87, "Delete Type");
517
+ i0.ɵɵelementStart(87, "div", 76)(88, "span", 77);
518
+ i0.ɵɵtext(89, "Delete Type");
267
519
  i0.ɵɵelementEnd();
268
- i0.ɵɵelementStart(88, "span", 77);
269
- i0.ɵɵtext(89);
520
+ i0.ɵɵelementStart(90, "span", 78);
521
+ i0.ɵɵtext(91);
270
522
  i0.ɵɵelementEnd()();
271
- i0.ɵɵtemplate(90, EntityFormComponentExtended_div_0_section_46_div_90_Template, 5, 1, "div", 78)(91, EntityFormComponentExtended_div_0_section_46_div_91_Template, 5, 1, "div", 78)(92, EntityFormComponentExtended_div_0_section_46_div_92_Template, 5, 1, "div", 78);
523
+ i0.ɵɵconditionalCreate(92, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92_Template, 5, 1, "div", 76);
524
+ i0.ɵɵconditionalCreate(93, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93_Template, 5, 1, "div", 76);
525
+ i0.ɵɵconditionalCreate(94, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94_Template, 5, 1, "div", 76);
272
526
  i0.ɵɵelementEnd()();
273
- i0.ɵɵelementStart(93, "div", 79)(94, "h3", 67);
274
- i0.ɵɵelement(95, "i", 80);
275
- i0.ɵɵtext(96, " Code Generation ");
527
+ i0.ɵɵelementStart(95, "div", 79)(96, "h3", 67);
528
+ i0.ɵɵelement(97, "i", 80);
529
+ i0.ɵɵtext(98, " Code Generation ");
276
530
  i0.ɵɵelementEnd();
277
- i0.ɵɵelementStart(97, "div", 74)(98, "div", 75)(99, "span", 76);
278
- i0.ɵɵtext(100, "Class Name");
531
+ i0.ɵɵelementStart(99, "div", 75)(100, "div", 76)(101, "span", 77);
532
+ i0.ɵɵtext(102, "Class Name");
279
533
  i0.ɵɵelementEnd();
280
- i0.ɵɵelementStart(101, "span", 81);
281
- i0.ɵɵtext(102);
534
+ i0.ɵɵelementStart(103, "span", 81);
535
+ i0.ɵɵtext(104);
282
536
  i0.ɵɵelementEnd()();
283
- i0.ɵɵelementStart(103, "div", 75)(104, "span", 76);
284
- i0.ɵɵtext(105, "Code Name");
537
+ i0.ɵɵelementStart(105, "div", 76)(106, "span", 77);
538
+ i0.ɵɵtext(107, "Code Name");
285
539
  i0.ɵɵelementEnd();
286
- i0.ɵɵelementStart(106, "span", 81);
287
- i0.ɵɵtext(107);
540
+ i0.ɵɵelementStart(108, "span", 81);
541
+ i0.ɵɵtext(109);
288
542
  i0.ɵɵelementEnd()();
289
- i0.ɵɵtemplate(108, EntityFormComponentExtended_div_0_section_46_div_108_Template, 5, 1, "div", 78);
543
+ i0.ɵɵconditionalCreate(110, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_110_Template, 5, 1, "div", 76);
290
544
  i0.ɵɵelementEnd()()()();
291
545
  } if (rf & 2) {
292
- const ctx_r1 = i0.ɵɵnextContext(2);
546
+ const ctx_r2 = i0.ɵɵnextContext(2);
293
547
  i0.ɵɵadvance(10);
294
- i0.ɵɵtextInterpolate(ctx_r1.stats.fieldCount);
548
+ i0.ɵɵtextInterpolate(ctx_r2.stats.fieldCount);
295
549
  i0.ɵɵadvance(3);
296
- i0.ɵɵtextInterpolate1("", ctx_r1.stats.primaryKeyCount, " PKs");
550
+ i0.ɵɵtextInterpolate1("", ctx_r2.stats.primaryKeyCount, " PKs");
297
551
  i0.ɵɵadvance(2);
298
- i0.ɵɵtextInterpolate1("", ctx_r1.stats.foreignKeyCount, " FKs");
552
+ i0.ɵɵtextInterpolate1("", ctx_r2.stats.foreignKeyCount, " FKs");
299
553
  i0.ɵɵadvance();
300
- i0.ɵɵproperty("ngIf", ctx_r1.stats.encryptedFieldCount);
554
+ i0.ɵɵconditional(ctx_r2.stats.encryptedFieldCount ? 16 : -1);
301
555
  i0.ɵɵadvance(10);
302
- i0.ɵɵtextInterpolate(ctx_r1.stats.relationshipCount);
556
+ i0.ɵɵtextInterpolate(ctx_r2.stats.relationshipCount);
303
557
  i0.ɵɵadvance(3);
304
- i0.ɵɵtextInterpolate1("", ctx_r1.groupedOutgoingRelationships.length, " Out");
558
+ i0.ɵɵtextInterpolate1("", ctx_r2.groupedOutgoingRelationships.length, " Out");
305
559
  i0.ɵɵadvance(2);
306
- i0.ɵɵtextInterpolate1("", ctx_r1.groupedIncomingRelationships.length, " In");
560
+ i0.ɵɵtextInterpolate1("", ctx_r2.groupedIncomingRelationships.length, " In");
307
561
  i0.ɵɵadvance(10);
308
- i0.ɵɵtextInterpolate(ctx_r1.stats.permissionCount);
562
+ i0.ɵɵtextInterpolate(ctx_r2.stats.permissionCount);
309
563
  i0.ɵɵadvance(13);
310
- i0.ɵɵtextInterpolate(ctx_r1.formattedRowCount);
564
+ i0.ɵɵtextInterpolate(ctx_r2.formattedRowCount);
311
565
  i0.ɵɵadvance(2);
312
- i0.ɵɵproperty("ngIf", ctx_r1.entity.RowCountRunAt);
566
+ i0.ɵɵconditional(ctx_r2.entity.RowCountRunAt ? 56 : -1);
313
567
  i0.ɵɵadvance();
314
- i0.ɵɵproperty("ngIf", !ctx_r1.entity.RowCountRunAt);
568
+ i0.ɵɵconditional(!ctx_r2.entity.RowCountRunAt ? 57 : -1);
315
569
  i0.ɵɵadvance(6);
316
- i0.ɵɵproperty("ngForOf", ctx_r1.capabilitySummary);
570
+ i0.ɵɵrepeater(ctx_r2.capabilitySummary);
571
+ i0.ɵɵadvance(2);
572
+ i0.ɵɵconditional(!ctx_r2.entity.IncludeInAPI ? 65 : -1);
317
573
  i0.ɵɵadvance();
318
- i0.ɵɵproperty("ngIf", !ctx_r1.entity.IncludeInAPI);
574
+ i0.ɵɵconditional(ctx_r2.HasISARelationship || ctx_r2.IsVirtualEntity ? 66 : -1);
319
575
  i0.ɵɵadvance(10);
320
- i0.ɵɵtextInterpolate(ctx_r1.entity.SchemaName);
576
+ i0.ɵɵtextInterpolate(ctx_r2.entity.SchemaName);
321
577
  i0.ɵɵadvance(5);
322
- i0.ɵɵtextInterpolate(ctx_r1.entity.BaseTable);
578
+ i0.ɵɵtextInterpolate(ctx_r2.entity.BaseTable);
323
579
  i0.ɵɵadvance(5);
324
- i0.ɵɵtextInterpolate(ctx_r1.entity.BaseView);
580
+ i0.ɵɵtextInterpolate(ctx_r2.entity.BaseView);
325
581
  i0.ɵɵadvance(5);
326
- i0.ɵɵtextInterpolate(ctx_r1.entity.DeleteType);
582
+ i0.ɵɵtextInterpolate(ctx_r2.entity.DeleteType);
327
583
  i0.ɵɵadvance();
328
- i0.ɵɵproperty("ngIf", ctx_r1.entity.spCreate);
584
+ i0.ɵɵconditional(ctx_r2.entity.spCreate ? 92 : -1);
329
585
  i0.ɵɵadvance();
330
- i0.ɵɵproperty("ngIf", ctx_r1.entity.spUpdate);
586
+ i0.ɵɵconditional(ctx_r2.entity.spUpdate ? 93 : -1);
331
587
  i0.ɵɵadvance();
332
- i0.ɵɵproperty("ngIf", ctx_r1.entity.spDelete);
588
+ i0.ɵɵconditional(ctx_r2.entity.spDelete ? 94 : -1);
333
589
  i0.ɵɵadvance(10);
334
- i0.ɵɵtextInterpolate(ctx_r1.entity.ClassName);
590
+ i0.ɵɵtextInterpolate(ctx_r2.entity.ClassName);
335
591
  i0.ɵɵadvance(5);
336
- i0.ɵɵtextInterpolate(ctx_r1.entity.CodeName);
592
+ i0.ɵɵtextInterpolate(ctx_r2.entity.CodeName);
337
593
  i0.ɵɵadvance();
338
- i0.ɵɵproperty("ngIf", ctx_r1.entity.EntityObjectSubclassName);
594
+ i0.ɵɵconditional(ctx_r2.entity.EntityObjectSubclassName ? 110 : -1);
339
595
  } }
340
- function EntityFormComponentExtended_div_0_section_47_div_11_Template(rf, ctx) { if (rf & 1) {
341
- const _r8 = i0.ɵɵgetCurrentView();
342
- i0.ɵɵelementStart(0, "div", 100)(1, "button", 101);
343
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_11_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.expandAllFieldGroups()); });
344
- i0.ɵɵelement(2, "i", 102);
596
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template(rf, ctx) { if (rf & 1) {
597
+ const _r18 = i0.ɵɵgetCurrentView();
598
+ i0.ɵɵelementStart(0, "div", 125)(1, "button", 129);
599
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.expandAllFieldGroups()); });
600
+ i0.ɵɵelement(2, "i", 130);
345
601
  i0.ɵɵelementEnd();
346
- i0.ɵɵelementStart(3, "button", 103);
347
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_11_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.collapseAllFieldGroups()); });
348
- i0.ɵɵelement(4, "i", 104);
602
+ i0.ɵɵelementStart(3, "button", 131);
603
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.collapseAllFieldGroups()); });
604
+ i0.ɵɵelement(4, "i", 132);
349
605
  i0.ɵɵelementEnd()();
350
606
  } if (rf & 2) {
351
- const ctx_r1 = i0.ɵɵnextContext(3);
607
+ const ctx_r2 = i0.ɵɵnextContext(3);
352
608
  i0.ɵɵadvance();
353
- i0.ɵɵproperty("disabled", ctx_r1.allFieldGroupsExpanded);
609
+ i0.ɵɵproperty("disabled", ctx_r2.allFieldGroupsExpanded);
354
610
  i0.ɵɵadvance(2);
355
- i0.ɵɵproperty("disabled", ctx_r1.allFieldGroupsCollapsed);
611
+ i0.ɵɵproperty("disabled", ctx_r2.allFieldGroupsCollapsed);
356
612
  } }
357
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_9_Template(rf, ctx) { if (rf & 1) {
358
- i0.ɵɵelementStart(0, "span", 128);
613
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
614
+ i0.ɵɵelementStart(0, "span", 148);
359
615
  i0.ɵɵtext(1, "Required");
360
616
  i0.ɵɵelementEnd();
361
617
  } }
362
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_10_Template(rf, ctx) { if (rf & 1) {
363
- const _r13 = i0.ɵɵgetCurrentView();
364
- i0.ɵɵelementStart(0, "span", 129);
365
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_10_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r13); const field_r12 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(6); ctx_r1.navigateToRelatedEntity(field_r12); return i0.ɵɵresetView($event.stopPropagation()); });
618
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
619
+ const _r23 = i0.ɵɵgetCurrentView();
620
+ i0.ɵɵelementStart(0, "span", 155);
621
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const field_r22 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(6); ctx_r2.navigateToRelatedEntity(field_r22); return i0.ɵɵresetView($event.stopPropagation()); });
366
622
  i0.ɵɵelement(1, "i", 60);
367
623
  i0.ɵɵtext(2);
368
624
  i0.ɵɵelementEnd();
369
625
  } if (rf & 2) {
370
- const field_r12 = i0.ɵɵnextContext().$implicit;
371
- const ctx_r1 = i0.ɵɵnextContext(6);
626
+ const field_r22 = i0.ɵɵnextContext().$implicit;
627
+ const ctx_r2 = i0.ɵɵnextContext(6);
372
628
  i0.ɵɵadvance(2);
373
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getRelatedEntityName(field_r12), " ");
629
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.getRelatedEntityName(field_r22), " ");
374
630
  } }
375
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_12_Template(rf, ctx) { if (rf & 1) {
376
- i0.ɵɵelementStart(0, "span", 130);
631
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
632
+ i0.ɵɵelementStart(0, "span", 151);
377
633
  i0.ɵɵtext(1, "PK");
378
634
  i0.ɵɵelementEnd();
379
635
  } }
380
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_13_Template(rf, ctx) { if (rf & 1) {
381
- i0.ɵɵelementStart(0, "span", 131);
636
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
637
+ i0.ɵɵelementStart(0, "span", 152);
382
638
  i0.ɵɵtext(1, "FK");
383
639
  i0.ɵɵelementEnd();
384
640
  } }
385
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_14_Template(rf, ctx) { if (rf & 1) {
386
- i0.ɵɵelementStart(0, "span", 132);
641
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
642
+ i0.ɵɵelementStart(0, "span", 153);
387
643
  i0.ɵɵelement(1, "i", 64);
388
644
  i0.ɵɵelementEnd();
389
645
  } }
390
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
391
- const _r11 = i0.ɵɵgetCurrentView();
392
- i0.ɵɵelementStart(0, "div", 116);
393
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_Template_div_click_0_listener() { const field_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r1 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r1.selectField(field_r12)); });
394
- i0.ɵɵelementStart(1, "div", 117);
646
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
647
+ i0.ɵɵelementStart(0, "span", 154);
648
+ i0.ɵɵelement(1, "i", 44);
649
+ i0.ɵɵtext(2);
650
+ i0.ɵɵelementEnd();
651
+ } if (rf & 2) {
652
+ const field_r22 = i0.ɵɵnextContext().$implicit;
653
+ const ctx_r2 = i0.ɵɵnextContext(6);
654
+ i0.ɵɵproperty("title", "Inherited from " + ctx_r2.GetISAFieldSource(field_r22));
655
+ i0.ɵɵadvance(2);
656
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(field_r22), " ");
657
+ } }
658
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
659
+ const _r21 = i0.ɵɵgetCurrentView();
660
+ i0.ɵɵelementStart(0, "div", 142);
661
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template_div_click_0_listener() { const field_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.selectField(field_r22)); });
662
+ i0.ɵɵelementStart(1, "div", 143);
395
663
  i0.ɵɵelement(2, "i");
396
664
  i0.ɵɵelementEnd();
397
- i0.ɵɵelementStart(3, "div", 118)(4, "div", 119);
665
+ i0.ɵɵelementStart(3, "div", 144)(4, "div", 145);
398
666
  i0.ɵɵtext(5);
399
667
  i0.ɵɵelementEnd();
400
- i0.ɵɵelementStart(6, "div", 120)(7, "span", 121);
668
+ i0.ɵɵelementStart(6, "div", 146)(7, "span", 147);
401
669
  i0.ɵɵtext(8);
402
670
  i0.ɵɵelementEnd();
403
- i0.ɵɵtemplate(9, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_9_Template, 2, 0, "span", 122)(10, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_10_Template, 3, 1, "span", 123);
671
+ i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_9_Template, 2, 0, "span", 148);
672
+ i0.ɵɵconditionalCreate(10, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template, 3, 1, "span", 149);
404
673
  i0.ɵɵelementEnd()();
405
- i0.ɵɵelementStart(11, "div", 124);
406
- i0.ɵɵtemplate(12, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_12_Template, 2, 0, "span", 125)(13, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_13_Template, 2, 0, "span", 126)(14, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_span_14_Template, 2, 0, "span", 127);
674
+ i0.ɵɵelementStart(11, "div", 150);
675
+ i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_12_Template, 2, 0, "span", 151);
676
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_13_Template, 2, 0, "span", 152);
677
+ i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_14_Template, 2, 0, "span", 153);
678
+ i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_15_Template, 3, 2, "span", 154);
407
679
  i0.ɵɵelementEnd()();
408
680
  } if (rf & 2) {
409
- const field_r12 = ctx.$implicit;
410
- const ctx_r1 = i0.ɵɵnextContext(6);
411
- i0.ɵɵclassProp("selected", (ctx_r1.selectedField == null ? null : ctx_r1.selectedField.ID) === field_r12.ID);
681
+ const field_r22 = ctx.$implicit;
682
+ const ctx_r2 = i0.ɵɵnextContext(6);
683
+ i0.ɵɵclassProp("selected", (ctx_r2.selectedField == null ? null : ctx_r2.selectedField.ID) === field_r22.ID);
412
684
  i0.ɵɵadvance(2);
413
- i0.ɵɵclassMap(ctx_r1.getFieldTypeIcon(field_r12));
685
+ i0.ɵɵclassMap(ctx_r2.getFieldTypeIcon(field_r22));
414
686
  i0.ɵɵadvance(3);
415
- i0.ɵɵtextInterpolate(field_r12.DisplayName || field_r12.Name);
687
+ i0.ɵɵtextInterpolate(field_r22.DisplayName || field_r22.Name);
416
688
  i0.ɵɵadvance(3);
417
- i0.ɵɵtextInterpolate(ctx_r1.formatFieldType(field_r12));
689
+ i0.ɵɵtextInterpolate(ctx_r2.formatFieldType(field_r22));
418
690
  i0.ɵɵadvance();
419
- i0.ɵɵproperty("ngIf", !field_r12.AllowsNull);
691
+ i0.ɵɵconditional(!field_r22.AllowsNull ? 9 : -1);
420
692
  i0.ɵɵadvance();
421
- i0.ɵɵproperty("ngIf", field_r12.RelatedEntityID);
693
+ i0.ɵɵconditional(field_r22.RelatedEntityID ? 10 : -1);
422
694
  i0.ɵɵadvance(2);
423
- i0.ɵɵproperty("ngIf", field_r12.IsPrimaryKey);
695
+ i0.ɵɵconditional(field_r22.IsPrimaryKey ? 12 : -1);
424
696
  i0.ɵɵadvance();
425
- i0.ɵɵproperty("ngIf", field_r12.RelatedEntityID && !field_r12.IsPrimaryKey);
697
+ i0.ɵɵconditional(field_r22.RelatedEntityID && !field_r22.IsPrimaryKey ? 13 : -1);
426
698
  i0.ɵɵadvance();
427
- i0.ɵɵproperty("ngIf", field_r12.Encrypt);
699
+ i0.ɵɵconditional(field_r22.Encrypt ? 14 : -1);
700
+ i0.ɵɵadvance();
701
+ i0.ɵɵconditional(ctx_r2.IsInheritedField(field_r22) ? 15 : -1);
428
702
  } }
429
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_Template(rf, ctx) { if (rf & 1) {
430
- i0.ɵɵelementStart(0, "div", 114);
431
- i0.ɵɵtemplate(1, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_div_1_Template, 15, 11, "div", 115);
703
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
704
+ i0.ɵɵelementStart(0, "div", 140);
705
+ i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template, 16, 12, "div", 141, i0.ɵɵrepeaterTrackByIdentity);
432
706
  i0.ɵɵelementEnd();
433
707
  } if (rf & 2) {
434
- const group_r10 = i0.ɵɵnextContext().$implicit;
708
+ const group_r20 = i0.ɵɵnextContext().$implicit;
435
709
  i0.ɵɵadvance();
436
- i0.ɵɵproperty("ngForOf", group_r10.fields);
710
+ i0.ɵɵrepeater(group_r20.fields);
437
711
  } }
438
- function EntityFormComponentExtended_div_0_section_47_div_13_div_1_Template(rf, ctx) { if (rf & 1) {
439
- const _r9 = i0.ɵɵgetCurrentView();
440
- i0.ɵɵelementStart(0, "div", 107)(1, "div", 108);
441
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_13_div_1_Template_div_click_1_listener() { const group_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.toggleFieldGroup(group_r10.id)); });
442
- i0.ɵɵelement(2, "i", 109)(3, "i", 110);
443
- i0.ɵɵelementStart(4, "span", 111);
712
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template(rf, ctx) { if (rf & 1) {
713
+ const _r19 = i0.ɵɵgetCurrentView();
714
+ i0.ɵɵelementStart(0, "div", 134)(1, "div", 135);
715
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template_div_click_1_listener() { const group_r20 = i0.ɵɵrestoreView(_r19).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.toggleFieldGroup(group_r20.id)); });
716
+ i0.ɵɵelement(2, "i", 136)(3, "i", 137);
717
+ i0.ɵɵelementStart(4, "span", 138);
444
718
  i0.ɵɵtext(5);
445
719
  i0.ɵɵelementEnd();
446
- i0.ɵɵelementStart(6, "span", 112);
720
+ i0.ɵɵelementStart(6, "span", 139);
447
721
  i0.ɵɵtext(7);
448
722
  i0.ɵɵelementEnd()();
449
- i0.ɵɵtemplate(8, EntityFormComponentExtended_div_0_section_47_div_13_div_1_div_8_Template, 2, 1, "div", 113);
723
+ i0.ɵɵconditionalCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_Template, 3, 0, "div", 140);
450
724
  i0.ɵɵelementEnd();
451
725
  } if (rf & 2) {
452
- const group_r10 = ctx.$implicit;
453
- const ctx_r1 = i0.ɵɵnextContext(4);
454
- i0.ɵɵclassProp("expanded", ctx_r1.isFieldGroupExpanded(group_r10.id));
726
+ const group_r20 = ctx.$implicit;
727
+ const ctx_r2 = i0.ɵɵnextContext(4);
728
+ i0.ɵɵclassProp("expanded", ctx_r2.isFieldGroupExpanded(group_r20.id));
455
729
  i0.ɵɵadvance(2);
456
- i0.ɵɵproperty("ngClass", ctx_r1.isFieldGroupExpanded(group_r10.id) ? "fa-chevron-down" : "fa-chevron-right");
730
+ i0.ɵɵproperty("ngClass", ctx_r2.isFieldGroupExpanded(group_r20.id) ? "fa-chevron-down" : "fa-chevron-right");
457
731
  i0.ɵɵadvance();
458
- i0.ɵɵclassMap(group_r10.icon);
732
+ i0.ɵɵclassMap(group_r20.icon);
459
733
  i0.ɵɵadvance(2);
460
- i0.ɵɵtextInterpolate(group_r10.label);
734
+ i0.ɵɵtextInterpolate(group_r20.label);
461
735
  i0.ɵɵadvance(2);
462
- i0.ɵɵtextInterpolate(group_r10.fields.length);
736
+ i0.ɵɵtextInterpolate(group_r20.fields.length);
463
737
  i0.ɵɵadvance();
464
- i0.ɵɵproperty("ngIf", ctx_r1.isFieldGroupExpanded(group_r10.id));
738
+ i0.ɵɵconditional(ctx_r2.isFieldGroupExpanded(group_r20.id) ? 8 : -1);
465
739
  } }
466
- function EntityFormComponentExtended_div_0_section_47_div_13_Template(rf, ctx) { if (rf & 1) {
467
- i0.ɵɵelementStart(0, "div", 105);
468
- i0.ɵɵtemplate(1, EntityFormComponentExtended_div_0_section_47_div_13_div_1_Template, 9, 8, "div", 106);
740
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_Template(rf, ctx) { if (rf & 1) {
741
+ i0.ɵɵelementStart(0, "div", 127);
742
+ i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template, 9, 8, "div", 133, i0.ɵɵrepeaterTrackByIdentity);
469
743
  i0.ɵɵelementEnd();
470
744
  } if (rf & 2) {
471
- const ctx_r1 = i0.ɵɵnextContext(3);
745
+ const ctx_r2 = i0.ɵɵnextContext(3);
472
746
  i0.ɵɵadvance();
473
- i0.ɵɵproperty("ngForOf", ctx_r1.getFilteredFieldGroups());
747
+ i0.ɵɵrepeater(ctx_r2.getFilteredFieldGroups());
474
748
  } }
475
- function EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_12_Template(rf, ctx) { if (rf & 1) {
476
- i0.ɵɵelementStart(0, "span", 165);
749
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_12_Template(rf, ctx) { if (rf & 1) {
750
+ i0.ɵɵelementStart(0, "span", 177);
477
751
  i0.ɵɵtext(1);
478
752
  i0.ɵɵelementEnd();
479
753
  } if (rf & 2) {
480
- const field_r16 = i0.ɵɵnextContext().$implicit;
754
+ const field_r26 = i0.ɵɵnextContext().$implicit;
481
755
  i0.ɵɵadvance();
482
- i0.ɵɵtextInterpolate(field_r16.Length);
756
+ i0.ɵɵtextInterpolate(field_r26.Length);
483
757
  } }
484
- function EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_13_Template(rf, ctx) { if (rf & 1) {
485
- i0.ɵɵelementStart(0, "span", 166);
758
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_13_Template(rf, ctx) { if (rf & 1) {
759
+ i0.ɵɵelementStart(0, "span", 178);
486
760
  i0.ɵɵtext(1, "\u2014");
487
761
  i0.ɵɵelementEnd();
488
762
  } }
489
- function EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_20_Template(rf, ctx) { if (rf & 1) {
490
- i0.ɵɵelementStart(0, "span", 167);
491
- i0.ɵɵelement(1, "i", 168);
763
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_20_Template(rf, ctx) { if (rf & 1) {
764
+ i0.ɵɵelementStart(0, "span", 182);
765
+ i0.ɵɵelement(1, "i", 188);
492
766
  i0.ɵɵtext(2, " PK ");
493
767
  i0.ɵɵelementEnd();
494
768
  } }
495
- function EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_21_Template(rf, ctx) { if (rf & 1) {
496
- i0.ɵɵelementStart(0, "span", 169);
497
- i0.ɵɵelement(1, "i", 20);
769
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_21_Template(rf, ctx) { if (rf & 1) {
770
+ i0.ɵɵelementStart(0, "span", 183);
771
+ i0.ɵɵelement(1, "i", 21);
498
772
  i0.ɵɵtext(2, " FK ");
499
773
  i0.ɵɵelementEnd();
500
774
  } }
501
- function EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_22_Template(rf, ctx) { if (rf & 1) {
502
- i0.ɵɵelementStart(0, "span", 170);
775
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_22_Template(rf, ctx) { if (rf & 1) {
776
+ i0.ɵɵelementStart(0, "span", 184);
503
777
  i0.ɵɵelement(1, "i", 64);
504
778
  i0.ɵɵelementEnd();
505
779
  } }
506
- function EntityFormComponentExtended_div_0_section_47_div_14_div_23_Template(rf, ctx) { if (rf & 1) {
507
- const _r15 = i0.ɵɵgetCurrentView();
508
- i0.ɵɵelementStart(0, "div", 146);
509
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_div_23_Template_div_click_0_listener() { const field_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.selectField(field_r16)); });
510
- i0.ɵɵelementStart(1, "div", 147)(2, "span", 148);
780
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_23_Template(rf, ctx) { if (rf & 1) {
781
+ i0.ɵɵelementStart(0, "span", 185);
782
+ i0.ɵɵelement(1, "i", 44);
783
+ i0.ɵɵtext(2);
784
+ i0.ɵɵelementEnd();
785
+ } if (rf & 2) {
786
+ const field_r26 = i0.ɵɵnextContext().$implicit;
787
+ const ctx_r2 = i0.ɵɵnextContext(4);
788
+ i0.ɵɵproperty("title", "Inherited from " + ctx_r2.GetISAFieldSource(field_r26));
789
+ i0.ɵɵadvance(2);
790
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(field_r26), " ");
791
+ } }
792
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template(rf, ctx) { if (rf & 1) {
793
+ const _r25 = i0.ɵɵgetCurrentView();
794
+ i0.ɵɵelementStart(0, "div", 168);
795
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template_div_click_0_listener() { const field_r26 = i0.ɵɵrestoreView(_r25).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.selectField(field_r26)); });
796
+ i0.ɵɵelementStart(1, "div", 169)(2, "span", 170);
511
797
  i0.ɵɵtext(3);
512
798
  i0.ɵɵelementEnd()();
513
- i0.ɵɵelementStart(4, "div", 149);
514
- i0.ɵɵelement(5, "i", 150);
515
- i0.ɵɵelementStart(6, "span", 151);
799
+ i0.ɵɵelementStart(4, "div", 171);
800
+ i0.ɵɵelement(5, "i", 172);
801
+ i0.ɵɵelementStart(6, "span", 173);
516
802
  i0.ɵɵtext(7);
517
803
  i0.ɵɵelementEnd()();
518
- i0.ɵɵelementStart(8, "div", 152)(9, "span", 153);
804
+ i0.ɵɵelementStart(8, "div", 174)(9, "span", 175);
519
805
  i0.ɵɵtext(10);
520
806
  i0.ɵɵelementEnd()();
521
- i0.ɵɵelementStart(11, "div", 154);
522
- i0.ɵɵtemplate(12, EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_12_Template, 2, 1, "span", 155)(13, EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_13_Template, 2, 0, "span", 156);
807
+ i0.ɵɵelementStart(11, "div", 176);
808
+ i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_12_Template, 2, 1, "span", 177);
809
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_13_Template, 2, 0, "span", 178);
523
810
  i0.ɵɵelementEnd();
524
- i0.ɵɵelementStart(14, "div", 157)(15, "span", 158);
811
+ i0.ɵɵelementStart(14, "div", 179)(15, "span", 180);
525
812
  i0.ɵɵelement(16, "i");
526
813
  i0.ɵɵtext(17);
527
814
  i0.ɵɵelementEnd()();
528
- i0.ɵɵelementStart(18, "div", 141)(19, "div", 159);
529
- i0.ɵɵtemplate(20, EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_20_Template, 3, 0, "span", 160)(21, EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_21_Template, 3, 0, "span", 161)(22, EntityFormComponentExtended_div_0_section_47_div_14_div_23_span_22_Template, 2, 0, "span", 162);
815
+ i0.ɵɵelementStart(18, "div", 163)(19, "div", 181);
816
+ i0.ɵɵconditionalCreate(20, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_20_Template, 3, 0, "span", 182);
817
+ i0.ɵɵconditionalCreate(21, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_21_Template, 3, 0, "span", 183);
818
+ i0.ɵɵconditionalCreate(22, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_22_Template, 2, 0, "span", 184);
819
+ i0.ɵɵconditionalCreate(23, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_23_Template, 3, 2, "span", 185);
530
820
  i0.ɵɵelementEnd()();
531
- i0.ɵɵelementStart(23, "div", 163)(24, "span", 164);
532
- i0.ɵɵtext(25);
821
+ i0.ɵɵelementStart(24, "div", 186)(25, "span", 187);
822
+ i0.ɵɵtext(26);
533
823
  i0.ɵɵelementEnd()()();
534
824
  } if (rf & 2) {
535
- const field_r16 = ctx.$implicit;
536
- const ctx_r1 = i0.ɵɵnextContext(4);
537
- i0.ɵɵclassProp("selected", (ctx_r1.selectedField == null ? null : ctx_r1.selectedField.ID) === field_r16.ID);
825
+ const field_r26 = ctx.$implicit;
826
+ const ctx_r2 = i0.ɵɵnextContext(4);
827
+ i0.ɵɵclassProp("selected", (ctx_r2.selectedField == null ? null : ctx_r2.selectedField.ID) === field_r26.ID);
538
828
  i0.ɵɵadvance(3);
539
- i0.ɵɵtextInterpolate(field_r16.Sequence);
829
+ i0.ɵɵtextInterpolate(field_r26.Sequence);
540
830
  i0.ɵɵadvance(2);
541
- i0.ɵɵclassMap(ctx_r1.getFieldTypeIcon(field_r16));
831
+ i0.ɵɵclassMap(ctx_r2.getFieldTypeIcon(field_r26));
542
832
  i0.ɵɵadvance(2);
543
- i0.ɵɵtextInterpolate(field_r16.DisplayName || field_r16.Name);
833
+ i0.ɵɵtextInterpolate(field_r26.DisplayName || field_r26.Name);
544
834
  i0.ɵɵadvance(3);
545
- i0.ɵɵtextInterpolate(field_r16.Type);
835
+ i0.ɵɵtextInterpolate(field_r26.Type);
546
836
  i0.ɵɵadvance(2);
547
- i0.ɵɵproperty("ngIf", field_r16.Length > 0);
837
+ i0.ɵɵconditional(field_r26.Length > 0 ? 12 : -1);
548
838
  i0.ɵɵadvance();
549
- i0.ɵɵproperty("ngIf", field_r16.Length <= 0);
839
+ i0.ɵɵconditional(field_r26.Length <= 0 ? 13 : -1);
550
840
  i0.ɵɵadvance(2);
551
- i0.ɵɵclassProp("required", !field_r16.AllowsNull)("optional", field_r16.AllowsNull);
841
+ i0.ɵɵclassProp("required", !field_r26.AllowsNull)("optional", field_r26.AllowsNull);
552
842
  i0.ɵɵadvance();
553
- i0.ɵɵclassMap(field_r16.AllowsNull ? "fa-solid fa-circle-minus" : "fa-solid fa-circle-check");
843
+ i0.ɵɵclassMap(field_r26.AllowsNull ? "fa-solid fa-circle-minus" : "fa-solid fa-circle-check");
554
844
  i0.ɵɵadvance();
555
- i0.ɵɵtextInterpolate1(" ", field_r16.AllowsNull ? "Optional" : "Required", " ");
845
+ i0.ɵɵtextInterpolate1(" ", field_r26.AllowsNull ? "Optional" : "Required", " ");
556
846
  i0.ɵɵadvance(3);
557
- i0.ɵɵproperty("ngIf", field_r16.IsPrimaryKey);
847
+ i0.ɵɵconditional(field_r26.IsPrimaryKey ? 20 : -1);
558
848
  i0.ɵɵadvance();
559
- i0.ɵɵproperty("ngIf", field_r16.RelatedEntityID && !field_r16.IsPrimaryKey);
849
+ i0.ɵɵconditional(field_r26.RelatedEntityID && !field_r26.IsPrimaryKey ? 21 : -1);
560
850
  i0.ɵɵadvance();
561
- i0.ɵɵproperty("ngIf", field_r16.Encrypt);
851
+ i0.ɵɵconditional(field_r26.Encrypt ? 22 : -1);
852
+ i0.ɵɵadvance();
853
+ i0.ɵɵconditional(ctx_r2.IsInheritedField(field_r26) ? 23 : -1);
562
854
  i0.ɵɵadvance(2);
563
- i0.ɵɵproperty("title", field_r16.Description || "");
855
+ i0.ɵɵproperty("title", field_r26.Description || "");
564
856
  i0.ɵɵadvance();
565
- i0.ɵɵtextInterpolate(field_r16.Description || "\u2014");
857
+ i0.ɵɵtextInterpolate(field_r26.Description || "\u2014");
566
858
  } }
567
- function EntityFormComponentExtended_div_0_section_47_div_14_div_24_Template(rf, ctx) { if (rf & 1) {
568
- i0.ɵɵelementStart(0, "div", 171);
569
- i0.ɵɵelement(1, "i", 88);
859
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Conditional_25_Template(rf, ctx) { if (rf & 1) {
860
+ i0.ɵɵelementStart(0, "div", 167);
861
+ i0.ɵɵelement(1, "i", 118);
570
862
  i0.ɵɵelementStart(2, "span");
571
863
  i0.ɵɵtext(3, "No fields match your search");
572
864
  i0.ɵɵelementEnd()();
573
865
  } }
574
- function EntityFormComponentExtended_div_0_section_47_div_14_Template(rf, ctx) { if (rf & 1) {
575
- const _r14 = i0.ɵɵgetCurrentView();
576
- i0.ɵɵelementStart(0, "div", 133)(1, "div", 134)(2, "div", 135);
577
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_Template_div_click_2_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sortFieldList("Sequence")); });
866
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template(rf, ctx) { if (rf & 1) {
867
+ const _r24 = i0.ɵɵgetCurrentView();
868
+ i0.ɵɵelementStart(0, "div", 128)(1, "div", 156)(2, "div", 157);
869
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_2_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Sequence")); });
578
870
  i0.ɵɵtext(3, " # ");
579
- i0.ɵɵelement(4, "i", 136);
871
+ i0.ɵɵelement(4, "i", 158);
580
872
  i0.ɵɵelementEnd();
581
- i0.ɵɵelementStart(5, "div", 137);
582
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_Template_div_click_5_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sortFieldList("Name")); });
873
+ i0.ɵɵelementStart(5, "div", 159);
874
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_5_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Name")); });
583
875
  i0.ɵɵtext(6, " Field Name ");
584
- i0.ɵɵelement(7, "i", 136);
876
+ i0.ɵɵelement(7, "i", 158);
585
877
  i0.ɵɵelementEnd();
586
- i0.ɵɵelementStart(8, "div", 138);
587
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_Template_div_click_8_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sortFieldList("Type")); });
878
+ i0.ɵɵelementStart(8, "div", 160);
879
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_8_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Type")); });
588
880
  i0.ɵɵtext(9, " Type ");
589
- i0.ɵɵelement(10, "i", 136);
881
+ i0.ɵɵelement(10, "i", 158);
590
882
  i0.ɵɵelementEnd();
591
- i0.ɵɵelementStart(11, "div", 139);
592
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_Template_div_click_11_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sortFieldList("Length")); });
883
+ i0.ɵɵelementStart(11, "div", 161);
884
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_11_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Length")); });
593
885
  i0.ɵɵtext(12, " Length ");
594
- i0.ɵɵelement(13, "i", 136);
886
+ i0.ɵɵelement(13, "i", 158);
595
887
  i0.ɵɵelementEnd();
596
- i0.ɵɵelementStart(14, "div", 140);
597
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_Template_div_click_14_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sortFieldList("AllowsNull")); });
888
+ i0.ɵɵelementStart(14, "div", 162);
889
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_14_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("AllowsNull")); });
598
890
  i0.ɵɵtext(15, " Required ");
599
- i0.ɵɵelement(16, "i", 136);
891
+ i0.ɵɵelement(16, "i", 158);
600
892
  i0.ɵɵelementEnd();
601
- i0.ɵɵelementStart(17, "div", 141);
893
+ i0.ɵɵelementStart(17, "div", 163);
602
894
  i0.ɵɵtext(18, "Flags");
603
895
  i0.ɵɵelementEnd();
604
- i0.ɵɵelementStart(19, "div", 142);
605
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_div_14_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sortFieldList("Description")); });
896
+ i0.ɵɵelementStart(19, "div", 164);
897
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Description")); });
606
898
  i0.ɵɵtext(20, " Description ");
607
- i0.ɵɵelement(21, "i", 136);
899
+ i0.ɵɵelement(21, "i", 158);
608
900
  i0.ɵɵelementEnd()();
609
- i0.ɵɵelementStart(22, "div", 143);
610
- i0.ɵɵtemplate(23, EntityFormComponentExtended_div_0_section_47_div_14_div_23_Template, 26, 21, "div", 144);
901
+ i0.ɵɵelementStart(22, "div", 165);
902
+ i0.ɵɵrepeaterCreate(23, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template, 27, 22, "div", 166, i0.ɵɵrepeaterTrackByIdentity);
611
903
  i0.ɵɵelementEnd();
612
- i0.ɵɵtemplate(24, EntityFormComponentExtended_div_0_section_47_div_14_div_24_Template, 4, 0, "div", 145);
904
+ i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Conditional_25_Template, 4, 0, "div", 167);
613
905
  i0.ɵɵelementEnd();
614
906
  } if (rf & 2) {
615
- const ctx_r1 = i0.ɵɵnextContext(3);
907
+ const ctx_r2 = i0.ɵɵnextContext(3);
616
908
  i0.ɵɵadvance(2);
617
- i0.ɵɵclassProp("sorted", ctx_r1.fieldListSortColumn === "Sequence");
909
+ i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Sequence");
618
910
  i0.ɵɵadvance(2);
619
- i0.ɵɵproperty("ngClass", ctx_r1.fieldListSortColumn === "Sequence" ? ctx_r1.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
911
+ i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Sequence" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
620
912
  i0.ɵɵadvance();
621
- i0.ɵɵclassProp("sorted", ctx_r1.fieldListSortColumn === "Name");
913
+ i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Name");
622
914
  i0.ɵɵadvance(2);
623
- i0.ɵɵproperty("ngClass", ctx_r1.fieldListSortColumn === "Name" ? ctx_r1.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
915
+ i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Name" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
624
916
  i0.ɵɵadvance();
625
- i0.ɵɵclassProp("sorted", ctx_r1.fieldListSortColumn === "Type");
917
+ i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Type");
626
918
  i0.ɵɵadvance(2);
627
- i0.ɵɵproperty("ngClass", ctx_r1.fieldListSortColumn === "Type" ? ctx_r1.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
919
+ i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Type" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
628
920
  i0.ɵɵadvance();
629
- i0.ɵɵclassProp("sorted", ctx_r1.fieldListSortColumn === "Length");
921
+ i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Length");
630
922
  i0.ɵɵadvance(2);
631
- i0.ɵɵproperty("ngClass", ctx_r1.fieldListSortColumn === "Length" ? ctx_r1.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
923
+ i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Length" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
632
924
  i0.ɵɵadvance();
633
- i0.ɵɵclassProp("sorted", ctx_r1.fieldListSortColumn === "AllowsNull");
925
+ i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "AllowsNull");
634
926
  i0.ɵɵadvance(2);
635
- i0.ɵɵproperty("ngClass", ctx_r1.fieldListSortColumn === "AllowsNull" ? ctx_r1.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
927
+ i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "AllowsNull" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
636
928
  i0.ɵɵadvance(3);
637
- i0.ɵɵclassProp("sorted", ctx_r1.fieldListSortColumn === "Description");
929
+ i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Description");
638
930
  i0.ɵɵadvance(2);
639
- i0.ɵɵproperty("ngClass", ctx_r1.fieldListSortColumn === "Description" ? ctx_r1.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
931
+ i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Description" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
640
932
  i0.ɵɵadvance(2);
641
- i0.ɵɵproperty("ngForOf", ctx_r1.getFilteredFieldsList());
642
- i0.ɵɵadvance();
643
- i0.ɵɵproperty("ngIf", ctx_r1.getFilteredFieldsList().length === 0);
933
+ i0.ɵɵrepeater(ctx_r2.getFilteredFieldsList());
934
+ i0.ɵɵadvance(2);
935
+ i0.ɵɵconditional(ctx_r2.getFilteredFieldsList().length === 0 ? 25 : -1);
644
936
  } }
645
- function EntityFormComponentExtended_div_0_section_47_Template(rf, ctx) { if (rf & 1) {
646
- const _r7 = i0.ɵɵgetCurrentView();
647
- i0.ɵɵelementStart(0, "section", 85)(1, "div", 86)(2, "div", 87);
648
- i0.ɵɵelement(3, "i", 88);
649
- i0.ɵɵelementStart(4, "input", 89);
650
- i0.ɵɵlistener("ngModelChange", function EntityFormComponentExtended_div_0_section_47_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFieldSearch($event)); });
937
+ function EntityFormComponentExtended_Conditional_0_Conditional_52_Template(rf, ctx) { if (rf & 1) {
938
+ const _r17 = i0.ɵɵgetCurrentView();
939
+ i0.ɵɵelementStart(0, "section", 31)(1, "div", 116)(2, "div", 117);
940
+ i0.ɵɵelement(3, "i", 118);
941
+ i0.ɵɵelementStart(4, "input", 119);
942
+ i0.ɵɵlistener("ngModelChange", function EntityFormComponentExtended_Conditional_0_Conditional_52_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onFieldSearch($event)); });
651
943
  i0.ɵɵelementEnd()();
652
- i0.ɵɵelementStart(5, "div", 90)(6, "div", 91)(7, "button", 92);
653
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.fieldViewMode = "grouped"); });
654
- i0.ɵɵelement(8, "i", 93);
944
+ i0.ɵɵelementStart(5, "div", 120)(6, "div", 121)(7, "button", 122);
945
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.fieldViewMode = "grouped"); });
946
+ i0.ɵɵelement(8, "i", 46);
655
947
  i0.ɵɵelementEnd();
656
- i0.ɵɵelementStart(9, "button", 94);
657
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_47_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.fieldViewMode = "list"); });
658
- i0.ɵɵelement(10, "i", 95);
948
+ i0.ɵɵelementStart(9, "button", 123);
949
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.fieldViewMode = "list"); });
950
+ i0.ɵɵelement(10, "i", 124);
659
951
  i0.ɵɵelementEnd()();
660
- i0.ɵɵtemplate(11, EntityFormComponentExtended_div_0_section_47_div_11_Template, 5, 2, "div", 96);
952
+ i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template, 5, 2, "div", 125);
661
953
  i0.ɵɵelementEnd()();
662
- i0.ɵɵelementStart(12, "div", 97);
663
- i0.ɵɵtemplate(13, EntityFormComponentExtended_div_0_section_47_div_13_Template, 2, 1, "div", 98)(14, EntityFormComponentExtended_div_0_section_47_div_14_Template, 25, 20, "div", 99);
954
+ i0.ɵɵelementStart(12, "div", 126);
955
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_Template, 3, 0, "div", 127);
956
+ i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template, 26, 19, "div", 128);
664
957
  i0.ɵɵelementEnd()();
665
958
  } if (rf & 2) {
666
- const ctx_r1 = i0.ɵɵnextContext(2);
959
+ const ctx_r2 = i0.ɵɵnextContext(2);
667
960
  i0.ɵɵadvance(4);
668
- i0.ɵɵproperty("ngModel", ctx_r1.fieldSearchTerm);
961
+ i0.ɵɵproperty("ngModel", ctx_r2.fieldSearchTerm);
669
962
  i0.ɵɵadvance(3);
670
- i0.ɵɵclassProp("active", ctx_r1.fieldViewMode === "grouped");
963
+ i0.ɵɵclassProp("active", ctx_r2.fieldViewMode === "grouped");
671
964
  i0.ɵɵadvance(2);
672
- i0.ɵɵclassProp("active", ctx_r1.fieldViewMode === "list");
965
+ i0.ɵɵclassProp("active", ctx_r2.fieldViewMode === "list");
673
966
  i0.ɵɵadvance(2);
674
- i0.ɵɵproperty("ngIf", ctx_r1.fieldViewMode === "grouped");
967
+ i0.ɵɵconditional(ctx_r2.fieldViewMode === "grouped" ? 11 : -1);
675
968
  i0.ɵɵadvance(2);
676
- i0.ɵɵproperty("ngIf", ctx_r1.fieldViewMode === "grouped");
969
+ i0.ɵɵconditional(ctx_r2.fieldViewMode === "grouped" ? 13 : -1);
677
970
  i0.ɵɵadvance();
678
- i0.ɵɵproperty("ngIf", ctx_r1.fieldViewMode === "list");
971
+ i0.ɵɵconditional(ctx_r2.fieldViewMode === "list" ? 14 : -1);
679
972
  } }
680
- function EntityFormComponentExtended_div_0_section_48_div_9_button_4_Template(rf, ctx) { if (rf & 1) {
681
- const _r18 = i0.ɵɵgetCurrentView();
682
- i0.ɵɵelementStart(0, "button", 182);
683
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_48_div_9_button_4_Template_button_click_0_listener() { const d_r19 = i0.ɵɵrestoreView(_r18).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.setErdDepth(d_r19)); });
973
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template(rf, ctx) { if (rf & 1) {
974
+ const _r28 = i0.ɵɵgetCurrentView();
975
+ i0.ɵɵelementStart(0, "button", 197);
976
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template_button_click_0_listener() { const d_r29 = i0.ɵɵrestoreView(_r28).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.setErdDepth(d_r29)); });
684
977
  i0.ɵɵtext(1);
685
978
  i0.ɵɵelementEnd();
686
979
  } if (rf & 2) {
687
- const d_r19 = ctx.$implicit;
688
- const ctx_r1 = i0.ɵɵnextContext(4);
689
- i0.ɵɵclassProp("active", ctx_r1.erdDepth === d_r19);
690
- i0.ɵɵproperty("title", "Show " + d_r19 + " level(s) of relationships");
980
+ const d_r29 = ctx.$implicit;
981
+ const ctx_r2 = i0.ɵɵnextContext(4);
982
+ i0.ɵɵclassProp("active", ctx_r2.erdDepth === d_r29);
983
+ i0.ɵɵproperty("title", "Show " + d_r29 + " level(s) of relationships");
691
984
  i0.ɵɵadvance();
692
- i0.ɵɵtextInterpolate1(" ", d_r19, " ");
985
+ i0.ɵɵtextInterpolate1(" ", d_r29, " ");
693
986
  } }
694
- function EntityFormComponentExtended_div_0_section_48_div_9_Template(rf, ctx) { if (rf & 1) {
695
- i0.ɵɵelementStart(0, "div", 178)(1, "span", 179);
987
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_Template(rf, ctx) { if (rf & 1) {
988
+ i0.ɵɵelementStart(0, "div", 191)(1, "span", 194);
696
989
  i0.ɵɵtext(2, "Depth:");
697
990
  i0.ɵɵelementEnd();
698
- i0.ɵɵelementStart(3, "div", 180);
699
- i0.ɵɵtemplate(4, EntityFormComponentExtended_div_0_section_48_div_9_button_4_Template, 2, 4, "button", 181);
991
+ i0.ɵɵelementStart(3, "div", 195);
992
+ i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template, 2, 4, "button", 196, i0.ɵɵrepeaterTrackByIdentity);
700
993
  i0.ɵɵelementEnd()();
701
994
  } if (rf & 2) {
702
995
  i0.ɵɵadvance(4);
703
- i0.ɵɵproperty("ngForOf", i0.ɵɵpureFunction0(1, _c0));
996
+ i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c0));
704
997
  } }
705
- function EntityFormComponentExtended_div_0_section_48_div_11_Template(rf, ctx) { if (rf & 1) {
706
- const _r20 = i0.ɵɵgetCurrentView();
707
- i0.ɵɵelementStart(0, "div", 183)(1, "mj-erd-composite", 184);
708
- i0.ɵɵlistener("stateChange", function EntityFormComponentExtended_div_0_section_48_div_11_Template_mj_erd_composite_stateChange_1_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onERDStateChange($event)); })("openRecord", function EntityFormComponentExtended_div_0_section_48_div_11_Template_mj_erd_composite_openRecord_1_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onERDOpenRecord($event)); });
998
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template(rf, ctx) { if (rf & 1) {
999
+ const _r30 = i0.ɵɵgetCurrentView();
1000
+ i0.ɵɵelementStart(0, "div", 192)(1, "mj-erd-composite", 198);
1001
+ i0.ɵɵlistener("stateChange", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template_mj_erd_composite_stateChange_1_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onERDStateChange($event)); })("openRecord", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template_mj_erd_composite_openRecord_1_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onERDOpenRecord($event)); });
709
1002
  i0.ɵɵelementEnd()();
710
1003
  } if (rf & 2) {
711
- const ctx_r1 = i0.ɵɵnextContext(3);
1004
+ const ctx_r2 = i0.ɵɵnextContext(3);
712
1005
  i0.ɵɵadvance();
713
- i0.ɵɵproperty("focusEntities", ctx_r1.entity ? i0.ɵɵpureFunction1(4, _c1, ctx_r1.entity) : i0.ɵɵpureFunction0(6, _c2))("showFilterPanel", false)("showHeader", false)("depth", ctx_r1.erdDepth);
1006
+ i0.ɵɵproperty("focusEntities", ctx_r2.entity ? i0.ɵɵpureFunction1(4, _c1, ctx_r2.entity) : i0.ɵɵpureFunction0(6, _c2))("showFilterPanel", false)("showHeader", false)("depth", ctx_r2.erdDepth);
714
1007
  } }
715
- function EntityFormComponentExtended_div_0_section_48_div_12_div_8_span_7_Template(rf, ctx) { if (rf & 1) {
716
- const _r21 = i0.ɵɵgetCurrentView();
717
- i0.ɵɵelementStart(0, "span", 199);
718
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_48_div_12_div_8_span_7_Template_span_click_0_listener() { const field_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.selectField(field_r22)); });
719
- i0.ɵɵelement(1, "i", 20);
1008
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template(rf, ctx) { if (rf & 1) {
1009
+ const _r31 = i0.ɵɵgetCurrentView();
1010
+ i0.ɵɵelementStart(0, "span", 211);
1011
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template_span_click_0_listener() { const field_r32 = i0.ɵɵrestoreView(_r31).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.selectField(field_r32)); });
1012
+ i0.ɵɵelement(1, "i", 21);
720
1013
  i0.ɵɵtext(2);
721
1014
  i0.ɵɵelementEnd();
722
1015
  } if (rf & 2) {
723
- const field_r22 = ctx.$implicit;
724
- i0.ɵɵproperty("title", field_r22.Description || field_r22.Name);
1016
+ const field_r32 = ctx.$implicit;
1017
+ i0.ɵɵproperty("title", field_r32.Description || field_r32.Name);
725
1018
  i0.ɵɵadvance(2);
726
- i0.ɵɵtextInterpolate1(" ", field_r22.Name, " ");
1019
+ i0.ɵɵtextInterpolate1(" ", field_r32.Name, " ");
727
1020
  } }
728
- function EntityFormComponentExtended_div_0_section_48_div_12_div_8_Template(rf, ctx) { if (rf & 1) {
729
- i0.ɵɵelementStart(0, "div", 193)(1, "div", 194)(2, "div", 195);
1021
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_Template(rf, ctx) { if (rf & 1) {
1022
+ i0.ɵɵelementStart(0, "div", 203)(1, "div", 206)(2, "div", 207);
730
1023
  i0.ɵɵelement(3, "i", 60);
731
1024
  i0.ɵɵelementEnd();
732
- i0.ɵɵelementStart(4, "div", 196);
1025
+ i0.ɵɵelementStart(4, "div", 208);
733
1026
  i0.ɵɵtext(5);
734
1027
  i0.ɵɵelementEnd()();
735
- i0.ɵɵelementStart(6, "div", 197);
736
- i0.ɵɵtemplate(7, EntityFormComponentExtended_div_0_section_48_div_12_div_8_span_7_Template, 3, 2, "span", 198);
1028
+ i0.ɵɵelementStart(6, "div", 209);
1029
+ i0.ɵɵrepeaterCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template, 3, 2, "span", 210, i0.ɵɵrepeaterTrackByIdentity);
737
1030
  i0.ɵɵelementEnd()();
738
1031
  } if (rf & 2) {
739
- const group_r23 = ctx.$implicit;
1032
+ const group_r33 = ctx.$implicit;
740
1033
  i0.ɵɵadvance(5);
741
- i0.ɵɵtextInterpolate(group_r23.entityName);
1034
+ i0.ɵɵtextInterpolate(group_r33.entityName);
742
1035
  i0.ɵɵadvance(2);
743
- i0.ɵɵproperty("ngForOf", group_r23.fields);
1036
+ i0.ɵɵrepeater(group_r33.fields);
744
1037
  } }
745
- function EntityFormComponentExtended_div_0_section_48_div_12_div_9_Template(rf, ctx) { if (rf & 1) {
746
- i0.ɵɵelementStart(0, "div", 200)(1, "p");
1038
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1039
+ i0.ɵɵelementStart(0, "div", 204)(1, "p");
747
1040
  i0.ɵɵtext(2, "No outgoing relationships");
748
1041
  i0.ɵɵelementEnd()();
749
1042
  } }
750
- function EntityFormComponentExtended_div_0_section_48_div_12_div_17_span_7_i_3_Template(rf, ctx) { if (rf & 1) {
751
- i0.ɵɵelement(0, "i", 206);
1043
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1044
+ i0.ɵɵelement(0, "i", 215);
752
1045
  } }
753
- function EntityFormComponentExtended_div_0_section_48_div_12_div_17_span_7_Template(rf, ctx) { if (rf & 1) {
754
- i0.ɵɵelementStart(0, "span", 204);
755
- i0.ɵɵelement(1, "i", 20);
1046
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Template(rf, ctx) { if (rf & 1) {
1047
+ i0.ɵɵelementStart(0, "span", 214);
1048
+ i0.ɵɵelement(1, "i", 21);
756
1049
  i0.ɵɵtext(2);
757
- i0.ɵɵtemplate(3, EntityFormComponentExtended_div_0_section_48_div_12_div_17_span_7_i_3_Template, 1, 0, "i", 205);
1050
+ i0.ɵɵconditionalCreate(3, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Conditional_3_Template, 1, 0, "i", 215);
758
1051
  i0.ɵɵelementEnd();
759
1052
  } if (rf & 2) {
760
- const field_r24 = ctx.$implicit;
761
- i0.ɵɵproperty("title", "Type: " + field_r24.type);
1053
+ const field_r34 = ctx.$implicit;
1054
+ i0.ɵɵproperty("title", "Type: " + field_r34.type);
762
1055
  i0.ɵɵadvance(2);
763
- i0.ɵɵtextInterpolate1(" ", field_r24.fieldName, " ");
1056
+ i0.ɵɵtextInterpolate1(" ", field_r34.fieldName, " ");
764
1057
  i0.ɵɵadvance();
765
- i0.ɵɵproperty("ngIf", field_r24.bundleInAPI);
1058
+ i0.ɵɵconditional(field_r34.bundleInAPI ? 3 : -1);
766
1059
  } }
767
- function EntityFormComponentExtended_div_0_section_48_div_12_div_17_Template(rf, ctx) { if (rf & 1) {
768
- i0.ɵɵelementStart(0, "div", 193)(1, "div", 194)(2, "div", 201);
769
- i0.ɵɵelement(3, "i", 202);
1060
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_Template(rf, ctx) { if (rf & 1) {
1061
+ i0.ɵɵelementStart(0, "div", 203)(1, "div", 206)(2, "div", 212);
1062
+ i0.ɵɵelement(3, "i", 213);
770
1063
  i0.ɵɵelementEnd();
771
- i0.ɵɵelementStart(4, "div", 196);
1064
+ i0.ɵɵelementStart(4, "div", 208);
772
1065
  i0.ɵɵtext(5);
773
1066
  i0.ɵɵelementEnd()();
774
- i0.ɵɵelementStart(6, "div", 197);
775
- i0.ɵɵtemplate(7, EntityFormComponentExtended_div_0_section_48_div_12_div_17_span_7_Template, 4, 3, "span", 203);
1067
+ i0.ɵɵelementStart(6, "div", 209);
1068
+ i0.ɵɵrepeaterCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Template, 4, 3, "span", 214, i0.ɵɵrepeaterTrackByIdentity);
776
1069
  i0.ɵɵelementEnd()();
777
1070
  } if (rf & 2) {
778
- const group_r25 = ctx.$implicit;
1071
+ const group_r35 = ctx.$implicit;
779
1072
  i0.ɵɵadvance(5);
780
- i0.ɵɵtextInterpolate(group_r25.entityName);
1073
+ i0.ɵɵtextInterpolate(group_r35.entityName);
781
1074
  i0.ɵɵadvance(2);
782
- i0.ɵɵproperty("ngForOf", group_r25.fields);
1075
+ i0.ɵɵrepeater(group_r35.fields);
783
1076
  } }
784
- function EntityFormComponentExtended_div_0_section_48_div_12_div_18_Template(rf, ctx) { if (rf & 1) {
785
- i0.ɵɵelementStart(0, "div", 200)(1, "p");
1077
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_20_Template(rf, ctx) { if (rf & 1) {
1078
+ i0.ɵɵelementStart(0, "div", 204)(1, "p");
786
1079
  i0.ɵɵtext(2, "No incoming relationships");
787
1080
  i0.ɵɵelementEnd()();
788
1081
  } }
789
- function EntityFormComponentExtended_div_0_section_48_div_12_Template(rf, ctx) { if (rf & 1) {
790
- i0.ɵɵelementStart(0, "div", 185)(1, "div", 186)(2, "h3", 187);
791
- i0.ɵɵelement(3, "i", 188);
1082
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1083
+ i0.ɵɵelementStart(0, "div", 193)(1, "div", 199)(2, "h3", 200);
1084
+ i0.ɵɵelement(3, "i", 201);
792
1085
  i0.ɵɵtext(4, " Outgoing (References to other entities) ");
793
- i0.ɵɵelementStart(5, "span", 112);
1086
+ i0.ɵɵelementStart(5, "span", 139);
794
1087
  i0.ɵɵtext(6);
795
1088
  i0.ɵɵelementEnd()();
796
- i0.ɵɵelementStart(7, "div", 189);
797
- i0.ɵɵtemplate(8, EntityFormComponentExtended_div_0_section_48_div_12_div_8_Template, 8, 2, "div", 190)(9, EntityFormComponentExtended_div_0_section_48_div_12_div_9_Template, 3, 0, "div", 191);
1089
+ i0.ɵɵelementStart(7, "div", 202);
1090
+ i0.ɵɵrepeaterCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_Template, 9, 1, "div", 203, i0.ɵɵrepeaterTrackByIdentity);
1091
+ i0.ɵɵconditionalCreate(10, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_10_Template, 3, 0, "div", 204);
798
1092
  i0.ɵɵelementEnd()();
799
- i0.ɵɵelementStart(10, "div", 186)(11, "h3", 187);
800
- i0.ɵɵelement(12, "i", 192);
801
- i0.ɵɵtext(13, " Incoming (Entities that reference this one) ");
802
- i0.ɵɵelementStart(14, "span", 112);
803
- i0.ɵɵtext(15);
1093
+ i0.ɵɵelementStart(11, "div", 199)(12, "h3", 200);
1094
+ i0.ɵɵelement(13, "i", 205);
1095
+ i0.ɵɵtext(14, " Incoming (Entities that reference this one) ");
1096
+ i0.ɵɵelementStart(15, "span", 139);
1097
+ i0.ɵɵtext(16);
804
1098
  i0.ɵɵelementEnd()();
805
- i0.ɵɵelementStart(16, "div", 189);
806
- i0.ɵɵtemplate(17, EntityFormComponentExtended_div_0_section_48_div_12_div_17_Template, 8, 2, "div", 190)(18, EntityFormComponentExtended_div_0_section_48_div_12_div_18_Template, 3, 0, "div", 191);
1099
+ i0.ɵɵelementStart(17, "div", 202);
1100
+ i0.ɵɵrepeaterCreate(18, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_Template, 9, 1, "div", 203, i0.ɵɵrepeaterTrackByIdentity);
1101
+ i0.ɵɵconditionalCreate(20, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_20_Template, 3, 0, "div", 204);
807
1102
  i0.ɵɵelementEnd()()();
808
1103
  } if (rf & 2) {
809
- const ctx_r1 = i0.ɵɵnextContext(3);
1104
+ const ctx_r2 = i0.ɵɵnextContext(3);
810
1105
  i0.ɵɵadvance(6);
811
- i0.ɵɵtextInterpolate(ctx_r1.groupedOutgoingRelationships.length);
1106
+ i0.ɵɵtextInterpolate(ctx_r2.groupedOutgoingRelationships.length);
812
1107
  i0.ɵɵadvance(2);
813
- i0.ɵɵproperty("ngForOf", ctx_r1.groupedOutgoingRelationships);
814
- i0.ɵɵadvance();
815
- i0.ɵɵproperty("ngIf", ctx_r1.groupedOutgoingRelationships.length === 0);
1108
+ i0.ɵɵrepeater(ctx_r2.groupedOutgoingRelationships);
1109
+ i0.ɵɵadvance(2);
1110
+ i0.ɵɵconditional(ctx_r2.groupedOutgoingRelationships.length === 0 ? 10 : -1);
816
1111
  i0.ɵɵadvance(6);
817
- i0.ɵɵtextInterpolate(ctx_r1.groupedIncomingRelationships.length);
1112
+ i0.ɵɵtextInterpolate(ctx_r2.groupedIncomingRelationships.length);
818
1113
  i0.ɵɵadvance(2);
819
- i0.ɵɵproperty("ngForOf", ctx_r1.groupedIncomingRelationships);
820
- i0.ɵɵadvance();
821
- i0.ɵɵproperty("ngIf", ctx_r1.groupedIncomingRelationships.length === 0);
1114
+ i0.ɵɵrepeater(ctx_r2.groupedIncomingRelationships);
1115
+ i0.ɵɵadvance(2);
1116
+ i0.ɵɵconditional(ctx_r2.groupedIncomingRelationships.length === 0 ? 20 : -1);
822
1117
  } }
823
- function EntityFormComponentExtended_div_0_section_48_Template(rf, ctx) { if (rf & 1) {
824
- const _r17 = i0.ɵɵgetCurrentView();
825
- i0.ɵɵelementStart(0, "section", 172)(1, "div", 86)(2, "div", 173)(3, "button", 174);
826
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_48_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.relationshipViewMode = "diagram"); });
1118
+ function EntityFormComponentExtended_Conditional_0_Conditional_53_Template(rf, ctx) { if (rf & 1) {
1119
+ const _r27 = i0.ɵɵgetCurrentView();
1120
+ i0.ɵɵelementStart(0, "section", 32)(1, "div", 116)(2, "div", 189)(3, "button", 190);
1121
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.relationshipViewMode = "diagram"); });
827
1122
  i0.ɵɵelement(4, "i", 62);
828
1123
  i0.ɵɵtext(5, " Diagram ");
829
1124
  i0.ɵɵelementEnd();
830
- i0.ɵɵelementStart(6, "button", 174);
831
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_section_48_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.relationshipViewMode = "list"); });
832
- i0.ɵɵelement(7, "i", 95);
1125
+ i0.ɵɵelementStart(6, "button", 190);
1126
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.relationshipViewMode = "list"); });
1127
+ i0.ɵɵelement(7, "i", 124);
833
1128
  i0.ɵɵtext(8, " List ");
834
1129
  i0.ɵɵelementEnd()();
835
- i0.ɵɵtemplate(9, EntityFormComponentExtended_div_0_section_48_div_9_Template, 5, 2, "div", 175);
1130
+ i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_Template, 6, 1, "div", 191);
836
1131
  i0.ɵɵelementEnd();
837
1132
  i0.ɵɵelementStart(10, "div", 51);
838
- i0.ɵɵtemplate(11, EntityFormComponentExtended_div_0_section_48_div_11_Template, 2, 7, "div", 176)(12, EntityFormComponentExtended_div_0_section_48_div_12_Template, 19, 6, "div", 177);
1133
+ i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template, 2, 7, "div", 192);
1134
+ i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Template, 21, 4, "div", 193);
839
1135
  i0.ɵɵelementEnd()();
840
1136
  } if (rf & 2) {
841
- const ctx_r1 = i0.ɵɵnextContext(2);
1137
+ const ctx_r2 = i0.ɵɵnextContext(2);
842
1138
  i0.ɵɵadvance(3);
843
- i0.ɵɵclassProp("active", ctx_r1.relationshipViewMode === "diagram");
1139
+ i0.ɵɵclassProp("active", ctx_r2.relationshipViewMode === "diagram");
844
1140
  i0.ɵɵadvance(3);
845
- i0.ɵɵclassProp("active", ctx_r1.relationshipViewMode === "list");
1141
+ i0.ɵɵclassProp("active", ctx_r2.relationshipViewMode === "list");
846
1142
  i0.ɵɵadvance(3);
847
- i0.ɵɵproperty("ngIf", ctx_r1.relationshipViewMode === "diagram");
1143
+ i0.ɵɵconditional(ctx_r2.relationshipViewMode === "diagram" ? 9 : -1);
848
1144
  i0.ɵɵadvance(2);
849
- i0.ɵɵproperty("ngIf", ctx_r1.relationshipViewMode === "diagram");
1145
+ i0.ɵɵconditional(ctx_r2.relationshipViewMode === "diagram" ? 11 : -1);
850
1146
  i0.ɵɵadvance();
851
- i0.ɵɵproperty("ngIf", ctx_r1.relationshipViewMode === "list");
1147
+ i0.ɵɵconditional(ctx_r2.relationshipViewMode === "list" ? 12 : -1);
852
1148
  } }
853
- function EntityFormComponentExtended_div_0_section_49_tr_19_span_12_Template(rf, ctx) { if (rf & 1) {
854
- i0.ɵɵelementStart(0, "span", 225);
1149
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_12_Template(rf, ctx) { if (rf & 1) {
1150
+ i0.ɵɵelementStart(0, "span", 226);
855
1151
  i0.ɵɵtext(1, "R");
856
1152
  i0.ɵɵelementEnd();
857
1153
  } }
858
- function EntityFormComponentExtended_div_0_section_49_tr_19_span_13_Template(rf, ctx) { if (rf & 1) {
859
- i0.ɵɵelementStart(0, "span", 226);
1154
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_13_Template(rf, ctx) { if (rf & 1) {
1155
+ i0.ɵɵelementStart(0, "span", 227);
860
1156
  i0.ɵɵtext(1, "C");
861
1157
  i0.ɵɵelementEnd();
862
1158
  } }
863
- function EntityFormComponentExtended_div_0_section_49_tr_19_span_14_Template(rf, ctx) { if (rf & 1) {
864
- i0.ɵɵelementStart(0, "span", 227);
1159
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_14_Template(rf, ctx) { if (rf & 1) {
1160
+ i0.ɵɵelementStart(0, "span", 228);
865
1161
  i0.ɵɵtext(1, "U");
866
1162
  i0.ɵɵelementEnd();
867
1163
  } }
868
- function EntityFormComponentExtended_div_0_section_49_tr_19_span_15_Template(rf, ctx) { if (rf & 1) {
869
- i0.ɵɵelementStart(0, "span", 228);
1164
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_15_Template(rf, ctx) { if (rf & 1) {
1165
+ i0.ɵɵelementStart(0, "span", 229);
870
1166
  i0.ɵɵtext(1, "D");
871
1167
  i0.ɵɵelementEnd();
872
1168
  } }
873
- function EntityFormComponentExtended_div_0_section_49_tr_19_span_16_Template(rf, ctx) { if (rf & 1) {
874
- i0.ɵɵelementStart(0, "span", 229);
1169
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_16_Template(rf, ctx) { if (rf & 1) {
1170
+ i0.ɵɵelementStart(0, "span", 230);
875
1171
  i0.ɵɵtext(1, "None");
876
1172
  i0.ɵɵelementEnd();
877
1173
  } }
878
- function EntityFormComponentExtended_div_0_section_49_tr_19_Template(rf, ctx) { if (rf & 1) {
879
- i0.ɵɵelementStart(0, "tr")(1, "td", 217);
1174
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Template(rf, ctx) { if (rf & 1) {
1175
+ i0.ɵɵelementStart(0, "tr")(1, "td", 223);
880
1176
  i0.ɵɵtext(2);
881
1177
  i0.ɵɵelementEnd();
882
- i0.ɵɵelementStart(3, "td", 210);
883
- i0.ɵɵelement(4, "i", 218);
1178
+ i0.ɵɵelementStart(3, "td", 218);
1179
+ i0.ɵɵelement(4, "i", 224);
884
1180
  i0.ɵɵelementEnd();
885
- i0.ɵɵelementStart(5, "td", 210);
886
- i0.ɵɵelement(6, "i", 218);
1181
+ i0.ɵɵelementStart(5, "td", 218);
1182
+ i0.ɵɵelement(6, "i", 224);
887
1183
  i0.ɵɵelementEnd();
888
- i0.ɵɵelementStart(7, "td", 210);
889
- i0.ɵɵelement(8, "i", 218);
1184
+ i0.ɵɵelementStart(7, "td", 218);
1185
+ i0.ɵɵelement(8, "i", 224);
890
1186
  i0.ɵɵelementEnd();
891
- i0.ɵɵelementStart(9, "td", 210);
892
- i0.ɵɵelement(10, "i", 218);
1187
+ i0.ɵɵelementStart(9, "td", 218);
1188
+ i0.ɵɵelement(10, "i", 224);
893
1189
  i0.ɵɵelementEnd();
894
- i0.ɵɵelementStart(11, "td", 219);
895
- i0.ɵɵtemplate(12, EntityFormComponentExtended_div_0_section_49_tr_19_span_12_Template, 2, 0, "span", 220)(13, EntityFormComponentExtended_div_0_section_49_tr_19_span_13_Template, 2, 0, "span", 221)(14, EntityFormComponentExtended_div_0_section_49_tr_19_span_14_Template, 2, 0, "span", 222)(15, EntityFormComponentExtended_div_0_section_49_tr_19_span_15_Template, 2, 0, "span", 223)(16, EntityFormComponentExtended_div_0_section_49_tr_19_span_16_Template, 2, 0, "span", 224);
1190
+ i0.ɵɵelementStart(11, "td", 225);
1191
+ i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_12_Template, 2, 0, "span", 226);
1192
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_13_Template, 2, 0, "span", 227);
1193
+ i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_14_Template, 2, 0, "span", 228);
1194
+ i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_15_Template, 2, 0, "span", 229);
1195
+ i0.ɵɵconditionalCreate(16, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_16_Template, 2, 0, "span", 230);
896
1196
  i0.ɵɵelementEnd()();
897
1197
  } if (rf & 2) {
898
- const perm_r26 = ctx.$implicit;
899
- const ctx_r1 = i0.ɵɵnextContext(3);
1198
+ const perm_r36 = ctx.$implicit;
1199
+ const ctx_r2 = i0.ɵɵnextContext(3);
900
1200
  i0.ɵɵadvance(2);
901
- i0.ɵɵtextInterpolate(ctx_r1.getRoleName(perm_r26));
1201
+ i0.ɵɵtextInterpolate(ctx_r2.getRoleName(perm_r36));
902
1202
  i0.ɵɵadvance(2);
903
- i0.ɵɵproperty("ngClass", perm_r26.CanCreate ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
1203
+ i0.ɵɵproperty("ngClass", perm_r36.CanCreate ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
904
1204
  i0.ɵɵadvance(2);
905
- i0.ɵɵproperty("ngClass", perm_r26.CanRead ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
1205
+ i0.ɵɵproperty("ngClass", perm_r36.CanRead ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
906
1206
  i0.ɵɵadvance(2);
907
- i0.ɵɵproperty("ngClass", perm_r26.CanUpdate ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
1207
+ i0.ɵɵproperty("ngClass", perm_r36.CanUpdate ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
908
1208
  i0.ɵɵadvance(2);
909
- i0.ɵɵproperty("ngClass", perm_r26.CanDelete ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
1209
+ i0.ɵɵproperty("ngClass", perm_r36.CanDelete ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
910
1210
  i0.ɵɵadvance(2);
911
- i0.ɵɵproperty("ngIf", perm_r26.ReadRLSFilterID);
1211
+ i0.ɵɵconditional(perm_r36.ReadRLSFilterID ? 12 : -1);
912
1212
  i0.ɵɵadvance();
913
- i0.ɵɵproperty("ngIf", perm_r26.CreateRLSFilterID);
1213
+ i0.ɵɵconditional(perm_r36.CreateRLSFilterID ? 13 : -1);
914
1214
  i0.ɵɵadvance();
915
- i0.ɵɵproperty("ngIf", perm_r26.UpdateRLSFilterID);
1215
+ i0.ɵɵconditional(perm_r36.UpdateRLSFilterID ? 14 : -1);
916
1216
  i0.ɵɵadvance();
917
- i0.ɵɵproperty("ngIf", perm_r26.DeleteRLSFilterID);
1217
+ i0.ɵɵconditional(perm_r36.DeleteRLSFilterID ? 15 : -1);
918
1218
  i0.ɵɵadvance();
919
- i0.ɵɵproperty("ngIf", !perm_r26.ReadRLSFilterID && !perm_r26.CreateRLSFilterID && !perm_r26.UpdateRLSFilterID && !perm_r26.DeleteRLSFilterID);
1219
+ i0.ɵɵconditional(!perm_r36.ReadRLSFilterID && !perm_r36.CreateRLSFilterID && !perm_r36.UpdateRLSFilterID && !perm_r36.DeleteRLSFilterID ? 16 : -1);
920
1220
  } }
921
- function EntityFormComponentExtended_div_0_section_49_div_20_Template(rf, ctx) { if (rf & 1) {
922
- i0.ɵɵelementStart(0, "div", 200);
923
- i0.ɵɵelement(1, "i", 21);
1221
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_Conditional_21_Template(rf, ctx) { if (rf & 1) {
1222
+ i0.ɵɵelementStart(0, "div", 204);
1223
+ i0.ɵɵelement(1, "i", 22);
924
1224
  i0.ɵɵelementStart(2, "p");
925
1225
  i0.ɵɵtext(3, "No permissions configured");
926
1226
  i0.ɵɵelementEnd()();
927
1227
  } }
928
- function EntityFormComponentExtended_div_0_section_49_Template(rf, ctx) { if (rf & 1) {
929
- i0.ɵɵelementStart(0, "section", 207)(1, "div", 51)(2, "div", 208)(3, "table", 209)(4, "thead")(5, "tr")(6, "th");
1228
+ function EntityFormComponentExtended_Conditional_0_Conditional_54_Template(rf, ctx) { if (rf & 1) {
1229
+ i0.ɵɵelementStart(0, "section", 33)(1, "div", 51)(2, "div", 216)(3, "table", 217)(4, "thead")(5, "tr")(6, "th");
930
1230
  i0.ɵɵtext(7, "Role");
931
1231
  i0.ɵɵelementEnd();
932
- i0.ɵɵelementStart(8, "th", 210);
1232
+ i0.ɵɵelementStart(8, "th", 218);
933
1233
  i0.ɵɵtext(9, "Create");
934
1234
  i0.ɵɵelementEnd();
935
- i0.ɵɵelementStart(10, "th", 210);
1235
+ i0.ɵɵelementStart(10, "th", 218);
936
1236
  i0.ɵɵtext(11, "Read");
937
1237
  i0.ɵɵelementEnd();
938
- i0.ɵɵelementStart(12, "th", 210);
1238
+ i0.ɵɵelementStart(12, "th", 218);
939
1239
  i0.ɵɵtext(13, "Update");
940
1240
  i0.ɵɵelementEnd();
941
- i0.ɵɵelementStart(14, "th", 210);
1241
+ i0.ɵɵelementStart(14, "th", 218);
942
1242
  i0.ɵɵtext(15, "Delete");
943
1243
  i0.ɵɵelementEnd();
944
1244
  i0.ɵɵelementStart(16, "th");
945
1245
  i0.ɵɵtext(17, "RLS");
946
1246
  i0.ɵɵelementEnd()()();
947
1247
  i0.ɵɵelementStart(18, "tbody");
948
- i0.ɵɵtemplate(19, EntityFormComponentExtended_div_0_section_49_tr_19_Template, 17, 10, "tr", 211);
949
- i0.ɵɵelementEnd()();
950
- i0.ɵɵtemplate(20, EntityFormComponentExtended_div_0_section_49_div_20_Template, 4, 0, "div", 191);
951
- i0.ɵɵelementEnd();
952
- i0.ɵɵelementStart(21, "div", 212)(22, "h3", 67);
953
- i0.ɵɵelement(23, "i", 213);
954
- i0.ɵɵtext(24, " API Capabilities ");
955
- i0.ɵɵelementEnd();
956
- i0.ɵɵelementStart(25, "div", 214)(26, "div", 215);
957
- i0.ɵɵelement(27, "i", 216);
958
- i0.ɵɵelementStart(28, "span");
959
- i0.ɵɵtext(29, "Include in API");
960
- i0.ɵɵelementEnd()();
961
- i0.ɵɵelementStart(30, "div", 215);
962
- i0.ɵɵelement(31, "i", 216);
963
- i0.ɵɵelementStart(32, "span");
964
- i0.ɵɵtext(33, "Allow All Rows");
965
- i0.ɵɵelementEnd()();
966
- i0.ɵɵelementStart(34, "div", 215);
967
- i0.ɵɵelement(35, "i", 216);
968
- i0.ɵɵelementStart(36, "span");
969
- i0.ɵɵtext(37, "Allow Create");
970
- i0.ɵɵelementEnd()();
971
- i0.ɵɵelementStart(38, "div", 215);
972
- i0.ɵɵelement(39, "i", 216);
973
- i0.ɵɵelementStart(40, "span");
974
- i0.ɵɵtext(41, "Allow Update");
975
- i0.ɵɵelementEnd()();
976
- i0.ɵɵelementStart(42, "div", 215);
977
- i0.ɵɵelement(43, "i", 216);
978
- i0.ɵɵelementStart(44, "span");
979
- i0.ɵɵtext(45, "Allow Delete");
980
- i0.ɵɵelementEnd()();
981
- i0.ɵɵelementStart(46, "div", 215);
982
- i0.ɵɵelement(47, "i", 216);
983
- i0.ɵɵelementStart(48, "span");
984
- i0.ɵɵtext(49, "User Search");
985
- i0.ɵɵelementEnd()();
986
- i0.ɵɵelementStart(50, "div", 215);
987
- i0.ɵɵelement(51, "i", 216);
988
- i0.ɵɵelementStart(52, "span");
989
- i0.ɵɵtext(53, "Custom Resolver");
1248
+ i0.ɵɵrepeaterCreate(19, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Template, 17, 10, "tr", null, i0.ɵɵrepeaterTrackByIdentity);
1249
+ i0.ɵɵelementEnd()();
1250
+ i0.ɵɵconditionalCreate(21, EntityFormComponentExtended_Conditional_0_Conditional_54_Conditional_21_Template, 4, 0, "div", 204);
1251
+ i0.ɵɵelementEnd();
1252
+ i0.ɵɵelementStart(22, "div", 219)(23, "h3", 67);
1253
+ i0.ɵɵelement(24, "i", 220);
1254
+ i0.ɵɵtext(25, " API Capabilities ");
1255
+ i0.ɵɵelementEnd();
1256
+ i0.ɵɵelementStart(26, "div", 221)(27, "div", 222);
1257
+ i0.ɵɵelement(28, "i", 96);
1258
+ i0.ɵɵelementStart(29, "span");
1259
+ i0.ɵɵtext(30, "Include in API");
1260
+ i0.ɵɵelementEnd()();
1261
+ i0.ɵɵelementStart(31, "div", 222);
1262
+ i0.ɵɵelement(32, "i", 96);
1263
+ i0.ɵɵelementStart(33, "span");
1264
+ i0.ɵɵtext(34, "Allow All Rows");
1265
+ i0.ɵɵelementEnd()();
1266
+ i0.ɵɵelementStart(35, "div", 222);
1267
+ i0.ɵɵelement(36, "i", 96);
1268
+ i0.ɵɵelementStart(37, "span");
1269
+ i0.ɵɵtext(38, "Allow Create");
1270
+ i0.ɵɵelementEnd()();
1271
+ i0.ɵɵelementStart(39, "div", 222);
1272
+ i0.ɵɵelement(40, "i", 96);
1273
+ i0.ɵɵelementStart(41, "span");
1274
+ i0.ɵɵtext(42, "Allow Update");
1275
+ i0.ɵɵelementEnd()();
1276
+ i0.ɵɵelementStart(43, "div", 222);
1277
+ i0.ɵɵelement(44, "i", 96);
1278
+ i0.ɵɵelementStart(45, "span");
1279
+ i0.ɵɵtext(46, "Allow Delete");
1280
+ i0.ɵɵelementEnd()();
1281
+ i0.ɵɵelementStart(47, "div", 222);
1282
+ i0.ɵɵelement(48, "i", 96);
1283
+ i0.ɵɵelementStart(49, "span");
1284
+ i0.ɵɵtext(50, "User Search");
1285
+ i0.ɵɵelementEnd()();
1286
+ i0.ɵɵelementStart(51, "div", 222);
1287
+ i0.ɵɵelement(52, "i", 96);
1288
+ i0.ɵɵelementStart(53, "span");
1289
+ i0.ɵɵtext(54, "Custom Resolver");
990
1290
  i0.ɵɵelementEnd()()()()()();
991
1291
  } if (rf & 2) {
992
- const ctx_r1 = i0.ɵɵnextContext(2);
1292
+ const ctx_r2 = i0.ɵɵnextContext(2);
993
1293
  i0.ɵɵadvance(19);
994
- i0.ɵɵproperty("ngForOf", ctx_r1.entity.Permissions);
995
- i0.ɵɵadvance();
996
- i0.ɵɵproperty("ngIf", ctx_r1.entity.Permissions.length === 0);
1294
+ i0.ɵɵrepeater(ctx_r2.entity.Permissions);
1295
+ i0.ɵɵadvance(2);
1296
+ i0.ɵɵconditional(ctx_r2.entity.Permissions.length === 0 ? 21 : -1);
997
1297
  i0.ɵɵadvance(6);
998
- i0.ɵɵclassProp("enabled", ctx_r1.entity.IncludeInAPI);
1298
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.IncludeInAPI);
999
1299
  i0.ɵɵadvance();
1000
- i0.ɵɵproperty("ngClass", ctx_r1.entity.IncludeInAPI ? "fa-check" : "fa-xmark");
1300
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.IncludeInAPI ? "fa-check" : "fa-xmark");
1001
1301
  i0.ɵɵadvance(3);
1002
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AllowAllRowsAPI);
1302
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowAllRowsAPI);
1003
1303
  i0.ɵɵadvance();
1004
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AllowAllRowsAPI ? "fa-check" : "fa-xmark");
1304
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowAllRowsAPI ? "fa-check" : "fa-xmark");
1005
1305
  i0.ɵɵadvance(3);
1006
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AllowCreateAPI);
1306
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowCreateAPI);
1007
1307
  i0.ɵɵadvance();
1008
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AllowCreateAPI ? "fa-check" : "fa-xmark");
1308
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowCreateAPI ? "fa-check" : "fa-xmark");
1009
1309
  i0.ɵɵadvance(3);
1010
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AllowUpdateAPI);
1310
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowUpdateAPI);
1011
1311
  i0.ɵɵadvance();
1012
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AllowUpdateAPI ? "fa-check" : "fa-xmark");
1312
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowUpdateAPI ? "fa-check" : "fa-xmark");
1013
1313
  i0.ɵɵadvance(3);
1014
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AllowDeleteAPI);
1314
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowDeleteAPI);
1015
1315
  i0.ɵɵadvance();
1016
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AllowDeleteAPI ? "fa-check" : "fa-xmark");
1316
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowDeleteAPI ? "fa-check" : "fa-xmark");
1017
1317
  i0.ɵɵadvance(3);
1018
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AllowUserSearchAPI);
1318
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowUserSearchAPI);
1019
1319
  i0.ɵɵadvance();
1020
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AllowUserSearchAPI ? "fa-check" : "fa-xmark");
1320
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowUserSearchAPI ? "fa-check" : "fa-xmark");
1021
1321
  i0.ɵɵadvance(3);
1022
- i0.ɵɵclassProp("enabled", ctx_r1.entity.CustomResolverAPI);
1322
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.CustomResolverAPI);
1023
1323
  i0.ɵɵadvance();
1024
- i0.ɵɵproperty("ngClass", ctx_r1.entity.CustomResolverAPI ? "fa-check" : "fa-xmark");
1324
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.CustomResolverAPI ? "fa-check" : "fa-xmark");
1025
1325
  } }
1026
- function EntityFormComponentExtended_div_0_section_50_div_11_Template(rf, ctx) { if (rf & 1) {
1326
+ function EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_11_Template(rf, ctx) { if (rf & 1) {
1027
1327
  i0.ɵɵelementStart(0, "div", 234);
1028
- i0.ɵɵelement(1, "i", 213);
1328
+ i0.ɵɵelement(1, "i", 220);
1029
1329
  i0.ɵɵelementStart(2, "span");
1030
1330
  i0.ɵɵtext(3, "API Create");
1031
1331
  i0.ɵɵelementEnd()();
1032
1332
  } }
1033
- function EntityFormComponentExtended_div_0_section_50_div_25_Template(rf, ctx) { if (rf & 1) {
1333
+ function EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_25_Template(rf, ctx) { if (rf & 1) {
1034
1334
  i0.ɵɵelementStart(0, "div", 234);
1035
- i0.ɵɵelement(1, "i", 242);
1335
+ i0.ɵɵelement(1, "i", 241);
1036
1336
  i0.ɵɵelementStart(2, "span");
1037
1337
  i0.ɵɵtext(3, "Record Changes");
1038
1338
  i0.ɵɵelementEnd()();
1039
1339
  } }
1040
- function EntityFormComponentExtended_div_0_section_50_div_26_Template(rf, ctx) { if (rf & 1) {
1340
+ function EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_26_Template(rf, ctx) { if (rf & 1) {
1041
1341
  i0.ɵɵelementStart(0, "div", 234);
1042
- i0.ɵɵelement(1, "i", 247);
1342
+ i0.ɵɵelement(1, "i", 42);
1043
1343
  i0.ɵɵelementStart(2, "span");
1044
1344
  i0.ɵɵtext(3, "Access Audit");
1045
1345
  i0.ɵɵelementEnd()();
1046
1346
  } }
1047
- function EntityFormComponentExtended_div_0_section_50_Template(rf, ctx) { if (rf & 1) {
1048
- i0.ɵɵelementStart(0, "section", 230)(1, "div", 51)(2, "div", 231)(3, "div", 232)(4, "h4");
1347
+ function EntityFormComponentExtended_Conditional_0_Conditional_55_Template(rf, ctx) { if (rf & 1) {
1348
+ i0.ɵɵelementStart(0, "section", 34)(1, "div", 51)(2, "div", 231)(3, "div", 232)(4, "h4");
1049
1349
  i0.ɵɵtext(5, "Data Sources");
1050
1350
  i0.ɵɵelementEnd();
1051
1351
  i0.ɵɵelementStart(6, "div", 233)(7, "div", 234);
@@ -1053,93 +1353,94 @@ function EntityFormComponentExtended_div_0_section_50_Template(rf, ctx) { if (rf
1053
1353
  i0.ɵɵelementStart(9, "span");
1054
1354
  i0.ɵɵtext(10, "Manual Entry");
1055
1355
  i0.ɵɵelementEnd()();
1056
- i0.ɵɵtemplate(11, EntityFormComponentExtended_div_0_section_50_div_11_Template, 4, 0, "div", 236);
1356
+ i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_11_Template, 4, 0, "div", 234);
1057
1357
  i0.ɵɵelementEnd()();
1058
- i0.ɵɵelementStart(12, "div", 237);
1358
+ i0.ɵɵelementStart(12, "div", 236);
1059
1359
  i0.ɵɵelement(13, "i", 60);
1060
1360
  i0.ɵɵelementEnd();
1061
- i0.ɵɵelementStart(14, "div", 238)(15, "div", 239);
1361
+ i0.ɵɵelementStart(14, "div", 237)(15, "div", 238);
1062
1362
  i0.ɵɵelement(16, "i");
1063
1363
  i0.ɵɵelementStart(17, "span");
1064
1364
  i0.ɵɵtext(18);
1065
1365
  i0.ɵɵelementEnd()()();
1066
- i0.ɵɵelementStart(19, "div", 237);
1366
+ i0.ɵɵelementStart(19, "div", 236);
1067
1367
  i0.ɵɵelement(20, "i", 60);
1068
1368
  i0.ɵɵelementEnd();
1069
- i0.ɵɵelementStart(21, "div", 240)(22, "h4");
1369
+ i0.ɵɵelementStart(21, "div", 239)(22, "h4");
1070
1370
  i0.ɵɵtext(23, "Data Sinks");
1071
1371
  i0.ɵɵelementEnd();
1072
1372
  i0.ɵɵelementStart(24, "div", 233);
1073
- i0.ɵɵtemplate(25, EntityFormComponentExtended_div_0_section_50_div_25_Template, 4, 0, "div", 236)(26, EntityFormComponentExtended_div_0_section_50_div_26_Template, 4, 0, "div", 236);
1373
+ i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_25_Template, 4, 0, "div", 234);
1374
+ i0.ɵɵconditionalCreate(26, EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_26_Template, 4, 0, "div", 234);
1074
1375
  i0.ɵɵelementStart(27, "div", 234);
1075
- i0.ɵɵelement(28, "i", 20);
1376
+ i0.ɵɵelement(28, "i", 21);
1076
1377
  i0.ɵɵelementStart(29, "span");
1077
1378
  i0.ɵɵtext(30);
1078
1379
  i0.ɵɵelementEnd()()()()();
1079
- i0.ɵɵelementStart(31, "div", 241)(32, "h3", 67);
1080
- i0.ɵɵelement(33, "i", 242);
1380
+ i0.ɵɵelementStart(31, "div", 240)(32, "h3", 67);
1381
+ i0.ɵɵelement(33, "i", 241);
1081
1382
  i0.ɵɵtext(34, " Tracking Configuration ");
1082
1383
  i0.ɵɵelementEnd();
1083
- i0.ɵɵelementStart(35, "div", 243)(36, "div", 244);
1084
- i0.ɵɵelement(37, "i", 216);
1384
+ i0.ɵɵelementStart(35, "div", 242)(36, "div", 243);
1385
+ i0.ɵɵelement(37, "i", 96);
1085
1386
  i0.ɵɵelementStart(38, "span");
1086
1387
  i0.ɵɵtext(39, "Track Record Changes");
1087
1388
  i0.ɵɵelementEnd()();
1088
- i0.ɵɵelementStart(40, "div", 244);
1089
- i0.ɵɵelement(41, "i", 216);
1389
+ i0.ɵɵelementStart(40, "div", 243);
1390
+ i0.ɵɵelement(41, "i", 96);
1090
1391
  i0.ɵɵelementStart(42, "span");
1091
1392
  i0.ɵɵtext(43, "Audit Record Access");
1092
1393
  i0.ɵɵelementEnd()();
1093
- i0.ɵɵelementStart(44, "div", 244);
1094
- i0.ɵɵelement(45, "i", 216);
1394
+ i0.ɵɵelementStart(44, "div", 243);
1395
+ i0.ɵɵelement(45, "i", 96);
1095
1396
  i0.ɵɵelementStart(46, "span");
1096
1397
  i0.ɵɵtext(47, "Audit View Runs");
1097
1398
  i0.ɵɵelementEnd()();
1098
- i0.ɵɵelementStart(48, "div", 244)(49, "span", 245);
1399
+ i0.ɵɵelementStart(48, "div", 243)(49, "span", 244);
1099
1400
  i0.ɵɵtext(50, "Delete Type:");
1100
1401
  i0.ɵɵelementEnd();
1101
- i0.ɵɵelementStart(51, "span", 246);
1402
+ i0.ɵɵelementStart(51, "span", 245);
1102
1403
  i0.ɵɵtext(52);
1103
1404
  i0.ɵɵelementEnd()();
1104
- i0.ɵɵelementStart(53, "div", 244);
1105
- i0.ɵɵelement(54, "i", 216);
1405
+ i0.ɵɵelementStart(53, "div", 243);
1406
+ i0.ɵɵelement(54, "i", 96);
1106
1407
  i0.ɵɵelementStart(55, "span");
1107
1408
  i0.ɵɵtext(56, "Cascade Deletes");
1108
1409
  i0.ɵɵelementEnd()()()()()();
1109
1410
  } if (rf & 2) {
1110
- const ctx_r1 = i0.ɵɵnextContext(2);
1411
+ const ctx_r2 = i0.ɵɵnextContext(2);
1111
1412
  i0.ɵɵadvance(11);
1112
- i0.ɵɵproperty("ngIf", ctx_r1.entity.IncludeInAPI);
1413
+ i0.ɵɵconditional(ctx_r2.entity.IncludeInAPI ? 11 : -1);
1113
1414
  i0.ɵɵadvance(5);
1114
- i0.ɵɵclassMap(ctx_r1.entityIcon);
1415
+ i0.ɵɵclassMap(ctx_r2.entityIcon);
1115
1416
  i0.ɵɵadvance(2);
1116
- i0.ɵɵtextInterpolate(ctx_r1.entity.Name);
1417
+ i0.ɵɵtextInterpolate(ctx_r2.entity.Name);
1117
1418
  i0.ɵɵadvance(7);
1118
- i0.ɵɵproperty("ngIf", ctx_r1.entity.TrackRecordChanges);
1419
+ i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 25 : -1);
1119
1420
  i0.ɵɵadvance();
1120
- i0.ɵɵproperty("ngIf", ctx_r1.entity.AuditRecordAccess);
1421
+ i0.ɵɵconditional(ctx_r2.entity.AuditRecordAccess ? 26 : -1);
1121
1422
  i0.ɵɵadvance(4);
1122
- i0.ɵɵtextInterpolate1("Related Entities (", ctx_r1.stats.relationshipCount, ")");
1423
+ i0.ɵɵtextInterpolate1("Related Entities (", ctx_r2.stats.relationshipCount, ")");
1123
1424
  i0.ɵɵadvance(6);
1124
- i0.ɵɵclassProp("enabled", ctx_r1.entity.TrackRecordChanges);
1425
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.TrackRecordChanges);
1125
1426
  i0.ɵɵadvance();
1126
- i0.ɵɵproperty("ngClass", ctx_r1.entity.TrackRecordChanges ? "fa-check" : "fa-xmark");
1427
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.TrackRecordChanges ? "fa-check" : "fa-xmark");
1127
1428
  i0.ɵɵadvance(3);
1128
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AuditRecordAccess);
1429
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AuditRecordAccess);
1129
1430
  i0.ɵɵadvance();
1130
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AuditRecordAccess ? "fa-check" : "fa-xmark");
1431
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AuditRecordAccess ? "fa-check" : "fa-xmark");
1131
1432
  i0.ɵɵadvance(3);
1132
- i0.ɵɵclassProp("enabled", ctx_r1.entity.AuditViewRuns);
1433
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.AuditViewRuns);
1133
1434
  i0.ɵɵadvance();
1134
- i0.ɵɵproperty("ngClass", ctx_r1.entity.AuditViewRuns ? "fa-check" : "fa-xmark");
1435
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.AuditViewRuns ? "fa-check" : "fa-xmark");
1135
1436
  i0.ɵɵadvance(7);
1136
- i0.ɵɵtextInterpolate(ctx_r1.entity.DeleteType);
1437
+ i0.ɵɵtextInterpolate(ctx_r2.entity.DeleteType);
1137
1438
  i0.ɵɵadvance();
1138
- i0.ɵɵclassProp("enabled", ctx_r1.entity.CascadeDeletes);
1439
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.CascadeDeletes);
1139
1440
  i0.ɵɵadvance();
1140
- i0.ɵɵproperty("ngClass", ctx_r1.entity.CascadeDeletes ? "fa-check" : "fa-xmark");
1441
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.CascadeDeletes ? "fa-check" : "fa-xmark");
1141
1442
  } }
1142
- function EntityFormComponentExtended_div_0_section_51_p_15_Template(rf, ctx) { if (rf & 1) {
1443
+ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15_Template(rf, ctx) { if (rf & 1) {
1143
1444
  i0.ɵɵelementStart(0, "p");
1144
1445
  i0.ɵɵtext(1, " This entity has change tracking enabled. All modifications to records are stored in the ");
1145
1446
  i0.ɵɵelementStart(2, "code");
@@ -1148,7 +1449,7 @@ function EntityFormComponentExtended_div_0_section_51_p_15_Template(rf, ctx) { i
1148
1449
  i0.ɵɵtext(4, " table, including the user who made the change, timestamp, and the before/after values. ");
1149
1450
  i0.ɵɵelementEnd();
1150
1451
  } }
1151
- function EntityFormComponentExtended_div_0_section_51_p_16_Template(rf, ctx) { if (rf & 1) {
1452
+ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16_Template(rf, ctx) { if (rf & 1) {
1152
1453
  i0.ɵɵelementStart(0, "p");
1153
1454
  i0.ɵɵtext(1, " This entity does not have change tracking enabled. To enable it, set ");
1154
1455
  i0.ɵɵelementStart(2, "code");
@@ -1161,19 +1462,19 @@ function EntityFormComponentExtended_div_0_section_51_p_16_Template(rf, ctx) { i
1161
1462
  i0.ɵɵtext(7, " in the entity metadata. ");
1162
1463
  i0.ɵɵelementEnd();
1163
1464
  } }
1164
- function EntityFormComponentExtended_div_0_section_51_div_17_li_13_Template(rf, ctx) { if (rf & 1) {
1465
+ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Conditional_13_Template(rf, ctx) { if (rf & 1) {
1165
1466
  i0.ɵɵelementStart(0, "li")(1, "code");
1166
1467
  i0.ɵɵtext(2, "__mj_DeletedAt");
1167
1468
  i0.ɵɵelementEnd();
1168
1469
  i0.ɵɵtext(3, " - Soft delete timestamp (when applicable) ");
1169
1470
  i0.ɵɵelementEnd();
1170
1471
  } }
1171
- function EntityFormComponentExtended_div_0_section_51_div_17_Template(rf, ctx) { if (rf & 1) {
1172
- i0.ɵɵelementStart(0, "div", 253)(1, "h4");
1173
- i0.ɵɵelement(2, "i", 23);
1472
+ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Template(rf, ctx) { if (rf & 1) {
1473
+ i0.ɵɵelementStart(0, "div", 250)(1, "h4");
1474
+ i0.ɵɵelement(2, "i", 24);
1174
1475
  i0.ɵɵtext(3, " Audit Fields ");
1175
1476
  i0.ɵɵelementEnd();
1176
- i0.ɵɵelementStart(4, "ul", 256)(5, "li")(6, "code");
1477
+ i0.ɵɵelementStart(4, "ul", 252)(5, "li")(6, "code");
1177
1478
  i0.ɵɵtext(7, "__mj_CreatedAt");
1178
1479
  i0.ɵɵelementEnd();
1179
1480
  i0.ɵɵtext(8, " - Record creation timestamp ");
@@ -1183,682 +1484,894 @@ function EntityFormComponentExtended_div_0_section_51_div_17_Template(rf, ctx) {
1183
1484
  i0.ɵɵelementEnd();
1184
1485
  i0.ɵɵtext(12, " - Last modification timestamp ");
1185
1486
  i0.ɵɵelementEnd();
1186
- i0.ɵɵtemplate(13, EntityFormComponentExtended_div_0_section_51_div_17_li_13_Template, 4, 0, "li", 39);
1487
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Conditional_13_Template, 4, 0, "li");
1187
1488
  i0.ɵɵelementEnd()();
1188
1489
  } if (rf & 2) {
1189
- const ctx_r1 = i0.ɵɵnextContext(3);
1490
+ const ctx_r2 = i0.ɵɵnextContext(3);
1190
1491
  i0.ɵɵadvance(13);
1191
- i0.ɵɵproperty("ngIf", ctx_r1.entity.DeleteType === "Soft");
1492
+ i0.ɵɵconditional(ctx_r2.entity.DeleteType === "Soft" ? 13 : -1);
1192
1493
  } }
1193
- function EntityFormComponentExtended_div_0_section_51_Template(rf, ctx) { if (rf & 1) {
1194
- i0.ɵɵelementStart(0, "section", 248)(1, "div", 51)(2, "div", 249)(3, "div", 250);
1195
- i0.ɵɵelement(4, "i", 216);
1196
- i0.ɵɵelementStart(5, "div", 251)(6, "strong");
1494
+ function EntityFormComponentExtended_Conditional_0_Conditional_56_Template(rf, ctx) { if (rf & 1) {
1495
+ i0.ɵɵelementStart(0, "section", 35)(1, "div", 51)(2, "div", 246)(3, "div", 247);
1496
+ i0.ɵɵelement(4, "i", 96);
1497
+ i0.ɵɵelementStart(5, "div", 248)(6, "strong");
1197
1498
  i0.ɵɵtext(7, "Record Change Tracking");
1198
1499
  i0.ɵɵelementEnd();
1199
1500
  i0.ɵɵelementStart(8, "span");
1200
1501
  i0.ɵɵtext(9);
1201
1502
  i0.ɵɵelementEnd()()()();
1202
- i0.ɵɵelementStart(10, "div", 252)(11, "div", 253)(12, "h4");
1203
- i0.ɵɵelement(13, "i", 254);
1503
+ i0.ɵɵelementStart(10, "div", 249)(11, "div", 250)(12, "h4");
1504
+ i0.ɵɵelement(13, "i", 251);
1204
1505
  i0.ɵɵtext(14, " About Change Tracking ");
1205
1506
  i0.ɵɵelementEnd();
1206
- i0.ɵɵtemplate(15, EntityFormComponentExtended_div_0_section_51_p_15_Template, 5, 0, "p", 39)(16, EntityFormComponentExtended_div_0_section_51_p_16_Template, 8, 0, "p", 39);
1507
+ i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15_Template, 5, 0, "p");
1508
+ i0.ɵɵconditionalCreate(16, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16_Template, 8, 0, "p");
1207
1509
  i0.ɵɵelementEnd();
1208
- i0.ɵɵtemplate(17, EntityFormComponentExtended_div_0_section_51_div_17_Template, 14, 1, "div", 255);
1510
+ i0.ɵɵconditionalCreate(17, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Template, 14, 1, "div", 250);
1209
1511
  i0.ɵɵelementEnd()()();
1210
1512
  } if (rf & 2) {
1211
- const ctx_r1 = i0.ɵɵnextContext(2);
1513
+ const ctx_r2 = i0.ɵɵnextContext(2);
1212
1514
  i0.ɵɵadvance(3);
1213
- i0.ɵɵclassProp("enabled", ctx_r1.entity.TrackRecordChanges);
1515
+ i0.ɵɵclassProp("enabled", ctx_r2.entity.TrackRecordChanges);
1214
1516
  i0.ɵɵadvance();
1215
- i0.ɵɵproperty("ngClass", ctx_r1.entity.TrackRecordChanges ? "fa-circle-check" : "fa-circle-xmark");
1517
+ i0.ɵɵproperty("ngClass", ctx_r2.entity.TrackRecordChanges ? "fa-circle-check" : "fa-circle-xmark");
1216
1518
  i0.ɵɵadvance(5);
1217
- i0.ɵɵtextInterpolate(ctx_r1.entity.TrackRecordChanges ? "Enabled - All changes are recorded" : "Disabled - Changes are not tracked");
1519
+ i0.ɵɵtextInterpolate(ctx_r2.entity.TrackRecordChanges ? "Enabled - All changes are recorded" : "Disabled - Changes are not tracked");
1218
1520
  i0.ɵɵadvance(6);
1219
- i0.ɵɵproperty("ngIf", ctx_r1.entity.TrackRecordChanges);
1521
+ i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 15 : -1);
1522
+ i0.ɵɵadvance();
1523
+ i0.ɵɵconditional(!ctx_r2.entity.TrackRecordChanges ? 16 : -1);
1524
+ i0.ɵɵadvance();
1525
+ i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 17 : -1);
1526
+ } }
1527
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1528
+ i0.ɵɵelement(0, "i", 263);
1529
+ i0.ɵɵtext(1, " Yes \u2014 read-only view ");
1530
+ } }
1531
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
1532
+ i0.ɵɵelement(0, "i", 264);
1533
+ i0.ɵɵtext(1, " No ");
1534
+ } }
1535
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
1536
+ const _r37 = i0.ɵɵgetCurrentView();
1537
+ i0.ɵɵelementStart(0, "span", 265);
1538
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(ctx_r2.ParentChain[0])); });
1539
+ i0.ɵɵtext(1);
1540
+ i0.ɵɵelement(2, "i", 60);
1541
+ i0.ɵɵelementEnd();
1542
+ } if (rf & 2) {
1543
+ const ctx_r2 = i0.ɵɵnextContext(4);
1544
+ i0.ɵɵadvance();
1545
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, " ");
1546
+ } }
1547
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
1548
+ i0.ɵɵelementStart(0, "span", 262);
1549
+ i0.ɵɵtext(1, "None");
1550
+ i0.ɵɵelementEnd();
1551
+ } }
1552
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
1553
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1554
+ i0.ɵɵtext(2, "Full Inheritance Chain");
1555
+ i0.ɵɵelementEnd();
1556
+ i0.ɵɵelementStart(3, "span", 245);
1557
+ i0.ɵɵtext(4);
1558
+ i0.ɵɵelementEnd()();
1559
+ i0.ɵɵelementStart(5, "div", 260)(6, "span", 244);
1560
+ i0.ɵɵtext(7, "Inherited Fields");
1561
+ i0.ɵɵelementEnd();
1562
+ i0.ɵɵelementStart(8, "span", 245);
1563
+ i0.ɵɵtext(9);
1564
+ i0.ɵɵelementEnd()();
1565
+ } if (rf & 2) {
1566
+ const ctx_r2 = i0.ɵɵnextContext(4);
1567
+ i0.ɵɵadvance(4);
1568
+ i0.ɵɵtextInterpolate(ctx_r2.IsaBreadcrumb);
1569
+ i0.ɵɵadvance(5);
1570
+ i0.ɵɵtextInterpolate2("", ctx_r2.InheritedFieldCount, " field", ctx_r2.InheritedFieldCount !== 1 ? "s" : "");
1571
+ } }
1572
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template(rf, ctx) { if (rf & 1) {
1573
+ const _r38 = i0.ɵɵgetCurrentView();
1574
+ i0.ɵɵelementStart(0, "span", 266);
1575
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template_span_click_0_listener() { const child_r39 = i0.ɵɵrestoreView(_r38).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(child_r39)); });
1576
+ i0.ɵɵtext(1);
1577
+ i0.ɵɵelementEnd();
1578
+ i0.ɵɵtext(2);
1579
+ } if (rf & 2) {
1580
+ const child_r39 = ctx.$implicit;
1581
+ const ɵ$index_1228_r40 = ctx.$index;
1582
+ const ɵ$count_1228_r41 = ctx.$count;
1583
+ i0.ɵɵadvance();
1584
+ i0.ɵɵtextInterpolate(child_r39.Name);
1585
+ i0.ɵɵadvance();
1586
+ i0.ɵɵtextInterpolate1("", ɵ$index_1228_r40 === ɵ$count_1228_r41 - 1 ? "" : ", ", " ");
1587
+ } }
1588
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
1589
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1590
+ i0.ɵɵtext(2, "Child Types");
1591
+ i0.ɵɵelementEnd();
1592
+ i0.ɵɵelementStart(3, "span", 245);
1593
+ i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template, 3, 2, null, null, _forTrack0);
1594
+ i0.ɵɵelementEnd()();
1595
+ } if (rf & 2) {
1596
+ const ctx_r2 = i0.ɵɵnextContext(4);
1597
+ i0.ɵɵadvance(4);
1598
+ i0.ɵɵrepeater(ctx_r2.ChildEntities);
1599
+ } }
1600
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template(rf, ctx) { if (rf & 1) {
1601
+ const _r42 = i0.ɵɵgetCurrentView();
1602
+ i0.ɵɵelementStart(0, "span", 266);
1603
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template_span_click_0_listener() { const sibling_r43 = i0.ɵɵrestoreView(_r42).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(sibling_r43)); });
1604
+ i0.ɵɵtext(1);
1605
+ i0.ɵɵelementEnd();
1606
+ i0.ɵɵtext(2);
1607
+ } if (rf & 2) {
1608
+ const sibling_r43 = ctx.$implicit;
1609
+ const ɵ$index_1241_r44 = ctx.$index;
1610
+ const ɵ$count_1241_r45 = ctx.$count;
1220
1611
  i0.ɵɵadvance();
1221
- i0.ɵɵproperty("ngIf", !ctx_r1.entity.TrackRecordChanges);
1612
+ i0.ɵɵtextInterpolate(sibling_r43.Name);
1222
1613
  i0.ɵɵadvance();
1223
- i0.ɵɵproperty("ngIf", ctx_r1.entity.TrackRecordChanges);
1614
+ i0.ɵɵtextInterpolate1("", ɵ$index_1241_r44 === ɵ$count_1241_r45 - 1 ? "" : ", ", " ");
1224
1615
  } }
1225
- function EntityFormComponentExtended_div_0_section_52_div_6_div_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
1226
- i0.ɵɵelementContainerStart(0);
1227
- i0.ɵɵelementStart(1, "div", 272);
1228
- i0.ɵɵelement(2, "mj-code-editor", 273);
1616
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_Template(rf, ctx) { if (rf & 1) {
1617
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1618
+ i0.ɵɵtext(2, "Sibling Types");
1229
1619
  i0.ɵɵelementEnd();
1230
- i0.ɵɵelementContainerEnd();
1620
+ i0.ɵɵelementStart(3, "span", 245);
1621
+ i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template, 3, 2, null, null, _forTrack0);
1622
+ i0.ɵɵelementEnd()();
1231
1623
  } if (rf & 2) {
1232
- const setting_r27 = i0.ɵɵnextContext().$implicit;
1233
- const ctx_r1 = i0.ɵɵnextContext(4);
1624
+ const ctx_r2 = i0.ɵɵnextContext(4);
1625
+ i0.ɵɵadvance(4);
1626
+ i0.ɵɵrepeater(ctx_r2.SiblingEntities);
1627
+ } }
1628
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_24_Template(rf, ctx) { if (rf & 1) {
1629
+ i0.ɵɵelement(0, "i", 267);
1630
+ i0.ɵɵtext(1, " Enforced \u2014 a parent record can only be one child type ");
1631
+ } }
1632
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_25_Template(rf, ctx) { if (rf & 1) {
1633
+ i0.ɵɵelementStart(0, "span", 262);
1634
+ i0.ɵɵtext(1, "N/A");
1635
+ i0.ɵɵelementEnd();
1636
+ } }
1637
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Template(rf, ctx) { if (rf & 1) {
1638
+ i0.ɵɵelementStart(0, "div", 253)(1, "h3", 67);
1639
+ i0.ɵɵelement(2, "i", 46);
1640
+ i0.ɵɵtext(3, " Type Relationship (IS-A) ");
1641
+ i0.ɵɵelementEnd();
1642
+ i0.ɵɵelementStart(4, "div", 242)(5, "div", 260)(6, "span", 244);
1643
+ i0.ɵɵtext(7, "Virtual Entity");
1644
+ i0.ɵɵelementEnd();
1645
+ i0.ɵɵelementStart(8, "span", 245);
1646
+ i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_9_Template, 2, 0)(10, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_10_Template, 2, 0);
1647
+ i0.ɵɵelementEnd()();
1648
+ i0.ɵɵelementStart(11, "div", 260)(12, "span", 244);
1649
+ i0.ɵɵtext(13, "Parent Entity");
1650
+ i0.ɵɵelementEnd();
1651
+ i0.ɵɵelementStart(14, "span", 245);
1652
+ i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template, 3, 1, "span", 261)(16, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_16_Template, 2, 0, "span", 262);
1653
+ i0.ɵɵelementEnd()();
1654
+ i0.ɵɵconditionalCreate(17, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_17_Template, 10, 3);
1655
+ i0.ɵɵconditionalCreate(18, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_Template, 6, 0, "div", 260);
1656
+ i0.ɵɵconditionalCreate(19, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_Template, 6, 0, "div", 260);
1657
+ i0.ɵɵelementStart(20, "div", 260)(21, "span", 244);
1658
+ i0.ɵɵtext(22, "Disjoint Subtypes");
1659
+ i0.ɵɵelementEnd();
1660
+ i0.ɵɵelementStart(23, "span", 245);
1661
+ i0.ɵɵconditionalCreate(24, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_24_Template, 2, 0)(25, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_25_Template, 2, 0, "span", 262);
1662
+ i0.ɵɵelementEnd()()()();
1663
+ } if (rf & 2) {
1664
+ const ctx_r2 = i0.ɵɵnextContext(3);
1665
+ i0.ɵɵadvance(9);
1666
+ i0.ɵɵconditional(ctx_r2.IsVirtualEntity ? 9 : 10);
1667
+ i0.ɵɵadvance(6);
1668
+ i0.ɵɵconditional(ctx_r2.IsChildType ? 15 : 16);
1234
1669
  i0.ɵɵadvance(2);
1235
- i0.ɵɵproperty("value", ctx_r1.formatJsonValue(setting_r27.Value))("readonly", true)("lineWrapping", true);
1670
+ i0.ɵɵconditional(ctx_r2.IsChildType ? 17 : -1);
1671
+ i0.ɵɵadvance();
1672
+ i0.ɵɵconditional(ctx_r2.IsParentType ? 18 : -1);
1673
+ i0.ɵɵadvance();
1674
+ i0.ɵɵconditional(ctx_r2.SiblingEntities.length > 0 ? 19 : -1);
1675
+ i0.ɵɵadvance(5);
1676
+ i0.ɵɵconditional(ctx_r2.IsParentType || ctx_r2.IsChildType ? 24 : 25);
1677
+ } }
1678
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
1679
+ i0.ɵɵelementStart(0, "div", 270);
1680
+ i0.ɵɵelement(1, "mj-code-editor", 273);
1681
+ i0.ɵɵelementEnd();
1682
+ } if (rf & 2) {
1683
+ const setting_r46 = i0.ɵɵnextContext().$implicit;
1684
+ const ctx_r2 = i0.ɵɵnextContext(4);
1685
+ i0.ɵɵadvance();
1686
+ i0.ɵɵproperty("value", ctx_r2.formatJsonValue(setting_r46.Value))("readonly", true)("lineWrapping", true);
1236
1687
  } }
1237
- function EntityFormComponentExtended_div_0_section_52_div_6_div_1_ng_template_4_Template(rf, ctx) { if (rf & 1) {
1238
- i0.ɵɵelementStart(0, "div", 274);
1688
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
1689
+ i0.ɵɵelementStart(0, "div", 271);
1239
1690
  i0.ɵɵtext(1);
1240
1691
  i0.ɵɵelementEnd();
1241
1692
  } if (rf & 2) {
1242
- const setting_r27 = i0.ɵɵnextContext().$implicit;
1693
+ const setting_r46 = i0.ɵɵnextContext().$implicit;
1243
1694
  i0.ɵɵadvance();
1244
- i0.ɵɵtextInterpolate(setting_r27.Value);
1695
+ i0.ɵɵtextInterpolate(setting_r46.Value);
1245
1696
  } }
1246
- function EntityFormComponentExtended_div_0_section_52_div_6_div_1_div_6_Template(rf, ctx) { if (rf & 1) {
1247
- i0.ɵɵelementStart(0, "div", 275);
1697
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
1698
+ i0.ɵɵelementStart(0, "div", 272);
1248
1699
  i0.ɵɵtext(1);
1249
1700
  i0.ɵɵelementEnd();
1250
1701
  } if (rf & 2) {
1251
- const setting_r27 = i0.ɵɵnextContext().$implicit;
1702
+ const setting_r46 = i0.ɵɵnextContext().$implicit;
1252
1703
  i0.ɵɵadvance();
1253
- i0.ɵɵtextInterpolate(setting_r27.Comments);
1704
+ i0.ɵɵtextInterpolate(setting_r46.Comments);
1254
1705
  } }
1255
- function EntityFormComponentExtended_div_0_section_52_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
1706
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
1256
1707
  i0.ɵɵelementStart(0, "div", 268)(1, "div", 269);
1257
1708
  i0.ɵɵtext(2);
1258
1709
  i0.ɵɵelementEnd();
1259
- i0.ɵɵtemplate(3, EntityFormComponentExtended_div_0_section_52_div_6_div_1_ng_container_3_Template, 3, 3, "ng-container", 270)(4, EntityFormComponentExtended_div_0_section_52_div_6_div_1_ng_template_4_Template, 2, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(6, EntityFormComponentExtended_div_0_section_52_div_6_div_1_div_6_Template, 2, 1, "div", 271);
1710
+ i0.ɵɵconditionalCreate(3, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_3_Template, 2, 3, "div", 270)(4, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_4_Template, 2, 1, "div", 271);
1711
+ i0.ɵɵconditionalCreate(5, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_5_Template, 2, 1, "div", 272);
1260
1712
  i0.ɵɵelementEnd();
1261
1713
  } if (rf & 2) {
1262
- const setting_r27 = ctx.$implicit;
1263
- const plainValue_r28 = i0.ɵɵreference(5);
1264
- const ctx_r1 = i0.ɵɵnextContext(4);
1714
+ const setting_r46 = ctx.$implicit;
1715
+ const ctx_r2 = i0.ɵɵnextContext(4);
1265
1716
  i0.ɵɵadvance(2);
1266
- i0.ɵɵtextInterpolate(setting_r27.Name);
1717
+ i0.ɵɵtextInterpolate(setting_r46.Name);
1267
1718
  i0.ɵɵadvance();
1268
- i0.ɵɵproperty("ngIf", ctx_r1.isJsonValue(setting_r27.Value))("ngIfElse", plainValue_r28);
1269
- i0.ɵɵadvance(3);
1270
- i0.ɵɵproperty("ngIf", setting_r27.Comments);
1719
+ i0.ɵɵconditional(ctx_r2.isJsonValue(setting_r46.Value) ? 3 : 4);
1720
+ i0.ɵɵadvance(2);
1721
+ i0.ɵɵconditional(setting_r46.Comments ? 5 : -1);
1271
1722
  } }
1272
- function EntityFormComponentExtended_div_0_section_52_div_6_Template(rf, ctx) { if (rf & 1) {
1273
- i0.ɵɵelementStart(0, "div", 266);
1274
- i0.ɵɵtemplate(1, EntityFormComponentExtended_div_0_section_52_div_6_div_1_Template, 7, 4, "div", 267);
1723
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1724
+ i0.ɵɵelementStart(0, "div", 256);
1725
+ i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Template, 6, 3, "div", 268, i0.ɵɵrepeaterTrackByIdentity);
1275
1726
  i0.ɵɵelementEnd();
1276
1727
  } if (rf & 2) {
1277
- const ctx_r1 = i0.ɵɵnextContext(3);
1728
+ const ctx_r2 = i0.ɵɵnextContext(3);
1278
1729
  i0.ɵɵadvance();
1279
- i0.ɵɵproperty("ngForOf", ctx_r1.entity.Settings);
1730
+ i0.ɵɵrepeater(ctx_r2.entity.Settings);
1280
1731
  } }
1281
- function EntityFormComponentExtended_div_0_section_52_div_7_Template(rf, ctx) { if (rf & 1) {
1282
- i0.ɵɵelementStart(0, "div", 200)(1, "p");
1732
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1733
+ i0.ɵɵelementStart(0, "div", 204)(1, "p");
1283
1734
  i0.ɵɵtext(2, "No custom settings configured");
1284
1735
  i0.ɵɵelementEnd()();
1285
1736
  } }
1286
- function EntityFormComponentExtended_div_0_section_52_div_12_div_7_Template(rf, ctx) { if (rf & 1) {
1287
- i0.ɵɵelementStart(0, "div", 264)(1, "span", 245);
1737
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
1738
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1288
1739
  i0.ɵɵtext(2, "Catalog");
1289
1740
  i0.ɵɵelementEnd();
1290
- i0.ɵɵelementStart(3, "span", 279);
1741
+ i0.ɵɵelementStart(3, "span", 276);
1291
1742
  i0.ɵɵtext(4);
1292
1743
  i0.ɵɵelementEnd()();
1293
1744
  } if (rf & 2) {
1294
- const ctx_r1 = i0.ɵɵnextContext(4);
1745
+ const ctx_r2 = i0.ɵɵnextContext(4);
1295
1746
  i0.ɵɵadvance(4);
1296
- i0.ɵɵtextInterpolate(ctx_r1.entity.FullTextCatalog);
1747
+ i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextCatalog);
1297
1748
  } }
1298
- function EntityFormComponentExtended_div_0_section_52_div_12_div_8_Template(rf, ctx) { if (rf & 1) {
1299
- i0.ɵɵelementStart(0, "div", 264)(1, "span", 245);
1749
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
1750
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1300
1751
  i0.ɵɵtext(2, "Index");
1301
1752
  i0.ɵɵelementEnd();
1302
- i0.ɵɵelementStart(3, "span", 279);
1753
+ i0.ɵɵelementStart(3, "span", 276);
1303
1754
  i0.ɵɵtext(4);
1304
1755
  i0.ɵɵelementEnd()();
1305
1756
  } if (rf & 2) {
1306
- const ctx_r1 = i0.ɵɵnextContext(4);
1757
+ const ctx_r2 = i0.ɵɵnextContext(4);
1307
1758
  i0.ɵɵadvance(4);
1308
- i0.ɵɵtextInterpolate(ctx_r1.entity.FullTextIndex);
1759
+ i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextIndex);
1309
1760
  } }
1310
- function EntityFormComponentExtended_div_0_section_52_div_12_div_9_Template(rf, ctx) { if (rf & 1) {
1311
- i0.ɵɵelementStart(0, "div", 264)(1, "span", 245);
1761
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_9_Template(rf, ctx) { if (rf & 1) {
1762
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1312
1763
  i0.ɵɵtext(2, "Function");
1313
1764
  i0.ɵɵelementEnd();
1314
- i0.ɵɵelementStart(3, "span", 279);
1765
+ i0.ɵɵelementStart(3, "span", 276);
1315
1766
  i0.ɵɵtext(4);
1316
1767
  i0.ɵɵelementEnd()();
1317
1768
  } if (rf & 2) {
1318
- const ctx_r1 = i0.ɵɵnextContext(4);
1769
+ const ctx_r2 = i0.ɵɵnextContext(4);
1319
1770
  i0.ɵɵadvance(4);
1320
- i0.ɵɵtextInterpolate(ctx_r1.entity.FullTextSearchFunction);
1771
+ i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextSearchFunction);
1321
1772
  } }
1322
- function EntityFormComponentExtended_div_0_section_52_div_12_Template(rf, ctx) { if (rf & 1) {
1323
- i0.ɵɵelementStart(0, "div", 276)(1, "div", 264)(2, "span", 245);
1773
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Template(rf, ctx) { if (rf & 1) {
1774
+ i0.ɵɵelementStart(0, "div", 258)(1, "div", 260)(2, "span", 244);
1324
1775
  i0.ɵɵtext(3, "Status");
1325
1776
  i0.ɵɵelementEnd();
1326
- i0.ɵɵelementStart(4, "span", 277);
1327
- i0.ɵɵelement(5, "i", 278);
1777
+ i0.ɵɵelementStart(4, "span", 274);
1778
+ i0.ɵɵelement(5, "i", 275);
1328
1779
  i0.ɵɵtext(6, " Enabled ");
1329
1780
  i0.ɵɵelementEnd()();
1330
- i0.ɵɵtemplate(7, EntityFormComponentExtended_div_0_section_52_div_12_div_7_Template, 5, 1, "div", 265)(8, EntityFormComponentExtended_div_0_section_52_div_12_div_8_Template, 5, 1, "div", 265)(9, EntityFormComponentExtended_div_0_section_52_div_12_div_9_Template, 5, 1, "div", 265);
1781
+ i0.ɵɵconditionalCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_7_Template, 5, 1, "div", 260);
1782
+ i0.ɵɵconditionalCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_8_Template, 5, 1, "div", 260);
1783
+ i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_9_Template, 5, 1, "div", 260);
1331
1784
  i0.ɵɵelementEnd();
1332
1785
  } if (rf & 2) {
1333
- const ctx_r1 = i0.ɵɵnextContext(3);
1786
+ const ctx_r2 = i0.ɵɵnextContext(3);
1334
1787
  i0.ɵɵadvance(7);
1335
- i0.ɵɵproperty("ngIf", ctx_r1.entity.FullTextCatalog);
1788
+ i0.ɵɵconditional(ctx_r2.entity.FullTextCatalog ? 7 : -1);
1336
1789
  i0.ɵɵadvance();
1337
- i0.ɵɵproperty("ngIf", ctx_r1.entity.FullTextIndex);
1790
+ i0.ɵɵconditional(ctx_r2.entity.FullTextIndex ? 8 : -1);
1338
1791
  i0.ɵɵadvance();
1339
- i0.ɵɵproperty("ngIf", ctx_r1.entity.FullTextSearchFunction);
1792
+ i0.ɵɵconditional(ctx_r2.entity.FullTextSearchFunction ? 9 : -1);
1340
1793
  } }
1341
- function EntityFormComponentExtended_div_0_section_52_div_13_Template(rf, ctx) { if (rf & 1) {
1342
- i0.ɵɵelementStart(0, "div", 200)(1, "p");
1794
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_14_Template(rf, ctx) { if (rf & 1) {
1795
+ i0.ɵɵelementStart(0, "div", 204)(1, "p");
1343
1796
  i0.ɵɵtext(2, "Full-text search is not enabled for this entity");
1344
1797
  i0.ɵɵelementEnd()();
1345
1798
  } }
1346
- function EntityFormComponentExtended_div_0_section_52_div_24_Template(rf, ctx) { if (rf & 1) {
1347
- i0.ɵɵelementStart(0, "div", 264)(1, "span", 245);
1799
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25_Template(rf, ctx) { if (rf & 1) {
1800
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1348
1801
  i0.ɵɵtext(2, "Sample Count");
1349
1802
  i0.ɵɵelementEnd();
1350
- i0.ɵɵelementStart(3, "span", 246);
1803
+ i0.ɵɵelementStart(3, "span", 245);
1351
1804
  i0.ɵɵtext(4);
1352
1805
  i0.ɵɵelementEnd()();
1353
1806
  } if (rf & 2) {
1354
- const ctx_r1 = i0.ɵɵnextContext(3);
1807
+ const ctx_r2 = i0.ɵɵnextContext(3);
1355
1808
  i0.ɵɵadvance(4);
1356
- i0.ɵɵtextInterpolate(ctx_r1.entity.RowsToPackSampleCount);
1809
+ i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackSampleCount);
1357
1810
  } }
1358
- function EntityFormComponentExtended_div_0_section_52_div_25_Template(rf, ctx) { if (rf & 1) {
1359
- i0.ɵɵelementStart(0, "div", 264)(1, "span", 245);
1811
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26_Template(rf, ctx) { if (rf & 1) {
1812
+ i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
1360
1813
  i0.ɵɵtext(2, "Sample Method");
1361
1814
  i0.ɵɵelementEnd();
1362
- i0.ɵɵelementStart(3, "span", 246);
1815
+ i0.ɵɵelementStart(3, "span", 245);
1363
1816
  i0.ɵɵtext(4);
1364
1817
  i0.ɵɵelementEnd()();
1365
1818
  } if (rf & 2) {
1366
- const ctx_r1 = i0.ɵɵnextContext(3);
1819
+ const ctx_r2 = i0.ɵɵnextContext(3);
1367
1820
  i0.ɵɵadvance(4);
1368
- i0.ɵɵtextInterpolate(ctx_r1.entity.RowsToPackSampleMethod);
1821
+ i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackSampleMethod);
1369
1822
  } }
1370
- function EntityFormComponentExtended_div_0_section_52_Template(rf, ctx) { if (rf & 1) {
1371
- i0.ɵɵelementStart(0, "section", 257)(1, "div", 51)(2, "div", 258)(3, "h3", 67);
1372
- i0.ɵɵelement(4, "i", 259);
1373
- i0.ɵɵtext(5, " Entity Settings ");
1823
+ function EntityFormComponentExtended_Conditional_0_Conditional_57_Template(rf, ctx) { if (rf & 1) {
1824
+ i0.ɵɵelementStart(0, "section", 36)(1, "div", 51);
1825
+ i0.ɵɵconditionalCreate(2, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Template, 26, 6, "div", 253);
1826
+ i0.ɵɵelementStart(3, "div", 254)(4, "h3", 67);
1827
+ i0.ɵɵelement(5, "i", 255);
1828
+ i0.ɵɵtext(6, " Entity Settings ");
1374
1829
  i0.ɵɵelementEnd();
1375
- i0.ɵɵtemplate(6, EntityFormComponentExtended_div_0_section_52_div_6_Template, 2, 1, "div", 260)(7, EntityFormComponentExtended_div_0_section_52_div_7_Template, 3, 0, "div", 191);
1830
+ i0.ɵɵconditionalCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_Template, 3, 0, "div", 256);
1831
+ i0.ɵɵconditionalCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_8_Template, 3, 0, "div", 204);
1376
1832
  i0.ɵɵelementEnd();
1377
- i0.ɵɵelementStart(8, "div", 258)(9, "h3", 67);
1378
- i0.ɵɵelement(10, "i", 261);
1379
- i0.ɵɵtext(11, " Full-Text Search ");
1833
+ i0.ɵɵelementStart(9, "div", 254)(10, "h3", 67);
1834
+ i0.ɵɵelement(11, "i", 257);
1835
+ i0.ɵɵtext(12, " Full-Text Search ");
1380
1836
  i0.ɵɵelementEnd();
1381
- i0.ɵɵtemplate(12, EntityFormComponentExtended_div_0_section_52_div_12_Template, 10, 3, "div", 262)(13, EntityFormComponentExtended_div_0_section_52_div_13_Template, 3, 0, "div", 191);
1837
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Template, 10, 3, "div", 258);
1838
+ i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_14_Template, 3, 0, "div", 204);
1382
1839
  i0.ɵɵelementEnd();
1383
- i0.ɵɵelementStart(14, "div", 258)(15, "h3", 67);
1384
- i0.ɵɵelement(16, "i", 263);
1385
- i0.ɵɵtext(17, " Schema Packaging ");
1840
+ i0.ɵɵelementStart(15, "div", 254)(16, "h3", 67);
1841
+ i0.ɵɵelement(17, "i", 259);
1842
+ i0.ɵɵtext(18, " Schema Packaging ");
1386
1843
  i0.ɵɵelementEnd();
1387
- i0.ɵɵelementStart(18, "div", 243)(19, "div", 264)(20, "span", 245);
1388
- i0.ɵɵtext(21, "Rows to Pack");
1844
+ i0.ɵɵelementStart(19, "div", 242)(20, "div", 260)(21, "span", 244);
1845
+ i0.ɵɵtext(22, "Rows to Pack");
1389
1846
  i0.ɵɵelementEnd();
1390
- i0.ɵɵelementStart(22, "span", 246);
1391
- i0.ɵɵtext(23);
1847
+ i0.ɵɵelementStart(23, "span", 245);
1848
+ i0.ɵɵtext(24);
1392
1849
  i0.ɵɵelementEnd()();
1393
- i0.ɵɵtemplate(24, EntityFormComponentExtended_div_0_section_52_div_24_Template, 5, 1, "div", 265)(25, EntityFormComponentExtended_div_0_section_52_div_25_Template, 5, 1, "div", 265);
1850
+ i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25_Template, 5, 1, "div", 260);
1851
+ i0.ɵɵconditionalCreate(26, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26_Template, 5, 1, "div", 260);
1394
1852
  i0.ɵɵelementEnd()()()();
1395
1853
  } if (rf & 2) {
1396
- const ctx_r1 = i0.ɵɵnextContext(2);
1397
- i0.ɵɵadvance(6);
1398
- i0.ɵɵproperty("ngIf", ctx_r1.entity.Settings.length > 0);
1854
+ const ctx_r2 = i0.ɵɵnextContext(2);
1855
+ i0.ɵɵadvance(2);
1856
+ i0.ɵɵconditional(ctx_r2.HasISARelationship || ctx_r2.IsVirtualEntity ? 2 : -1);
1857
+ i0.ɵɵadvance(5);
1858
+ i0.ɵɵconditional(ctx_r2.entity.Settings.length > 0 ? 7 : -1);
1399
1859
  i0.ɵɵadvance();
1400
- i0.ɵɵproperty("ngIf", ctx_r1.entity.Settings.length === 0);
1860
+ i0.ɵɵconditional(ctx_r2.entity.Settings.length === 0 ? 8 : -1);
1401
1861
  i0.ɵɵadvance(5);
1402
- i0.ɵɵproperty("ngIf", ctx_r1.entity.FullTextSearchEnabled);
1862
+ i0.ɵɵconditional(ctx_r2.entity.FullTextSearchEnabled ? 13 : -1);
1403
1863
  i0.ɵɵadvance();
1404
- i0.ɵɵproperty("ngIf", !ctx_r1.entity.FullTextSearchEnabled);
1864
+ i0.ɵɵconditional(!ctx_r2.entity.FullTextSearchEnabled ? 14 : -1);
1405
1865
  i0.ɵɵadvance(10);
1406
- i0.ɵɵtextInterpolate(ctx_r1.entity.RowsToPackWithSchema || "None");
1866
+ i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackWithSchema || "None");
1407
1867
  i0.ɵɵadvance();
1408
- i0.ɵɵproperty("ngIf", ctx_r1.entity.RowsToPackSampleCount);
1868
+ i0.ɵɵconditional(ctx_r2.entity.RowsToPackSampleCount ? 25 : -1);
1409
1869
  i0.ɵɵadvance();
1410
- i0.ɵɵproperty("ngIf", ctx_r1.entity.RowsToPackSampleMethod);
1870
+ i0.ɵɵconditional(ctx_r2.entity.RowsToPackSampleMethod ? 26 : -1);
1411
1871
  } }
1412
- function EntityFormComponentExtended_div_0_h3_55_Template(rf, ctx) { if (rf & 1) {
1872
+ function EntityFormComponentExtended_Conditional_0_Conditional_60_Template(rf, ctx) { if (rf & 1) {
1413
1873
  i0.ɵɵelementStart(0, "h3");
1414
1874
  i0.ɵɵtext(1, "Field Details");
1415
1875
  i0.ɵɵelementEnd();
1416
1876
  } }
1417
- function EntityFormComponentExtended_div_0_h3_56_Template(rf, ctx) { if (rf & 1) {
1877
+ function EntityFormComponentExtended_Conditional_0_Conditional_61_Template(rf, ctx) { if (rf & 1) {
1418
1878
  i0.ɵɵelementStart(0, "h3");
1419
1879
  i0.ɵɵtext(1, "Relationship Details");
1420
1880
  i0.ɵɵelementEnd();
1421
1881
  } }
1422
- function EntityFormComponentExtended_div_0_div_59_p_4_Template(rf, ctx) { if (rf & 1) {
1423
- i0.ɵɵelementStart(0, "p", 290);
1882
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_Template(rf, ctx) { if (rf & 1) {
1883
+ i0.ɵɵelementStart(0, "p", 278);
1424
1884
  i0.ɵɵtext(1);
1425
1885
  i0.ɵɵelementEnd();
1426
1886
  } if (rf & 2) {
1427
- const ctx_r1 = i0.ɵɵnextContext(3);
1887
+ const ctx_r2 = i0.ɵɵnextContext(3);
1428
1888
  i0.ɵɵadvance();
1429
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.Description);
1889
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.Description);
1430
1890
  } }
1431
- function EntityFormComponentExtended_div_0_div_59_div_24_Template(rf, ctx) { if (rf & 1) {
1432
- i0.ɵɵelementStart(0, "div", 284)(1, "span", 285);
1891
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24_Template(rf, ctx) { if (rf & 1) {
1892
+ i0.ɵɵelementStart(0, "div", 280)(1, "span", 281);
1433
1893
  i0.ɵɵtext(2, "Default");
1434
1894
  i0.ɵɵelementEnd();
1435
- i0.ɵɵelementStart(3, "span", 286);
1895
+ i0.ɵɵelementStart(3, "span", 282);
1436
1896
  i0.ɵɵtext(4);
1437
1897
  i0.ɵɵelementEnd()();
1438
1898
  } if (rf & 2) {
1439
- const ctx_r1 = i0.ɵɵnextContext(3);
1899
+ const ctx_r2 = i0.ɵɵnextContext(3);
1440
1900
  i0.ɵɵadvance(4);
1441
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.DefaultValue);
1901
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.DefaultValue);
1442
1902
  } }
1443
- function EntityFormComponentExtended_div_0_div_59_div_25_Template(rf, ctx) { if (rf & 1) {
1444
- const _r29 = i0.ɵɵgetCurrentView();
1445
- i0.ɵɵelementStart(0, "div", 281)(1, "h5");
1903
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template(rf, ctx) { if (rf & 1) {
1904
+ const _r47 = i0.ɵɵgetCurrentView();
1905
+ i0.ɵɵelementStart(0, "div", 284)(1, "h5");
1906
+ i0.ɵɵelement(2, "i", 44);
1907
+ i0.ɵɵtext(3, " IS-A Inherited Field ");
1908
+ i0.ɵɵelementEnd();
1909
+ i0.ɵɵelementStart(4, "div", 279)(5, "div", 280)(6, "span", 281);
1910
+ i0.ɵɵtext(7, "Source Entity");
1911
+ i0.ɵɵelementEnd();
1912
+ i0.ɵɵelementStart(8, "span", 285);
1913
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r47); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(ctx_r2.ParentChain[0])); });
1914
+ i0.ɵɵtext(9);
1915
+ i0.ɵɵelement(10, "i", 60);
1916
+ i0.ɵɵelementEnd()();
1917
+ i0.ɵɵelementStart(11, "div", 280)(12, "span", 281);
1918
+ i0.ɵɵtext(13, "Routing");
1919
+ i0.ɵɵelementEnd();
1920
+ i0.ɵɵelementStart(14, "span", 283);
1921
+ i0.ɵɵtext(15, "ORM routes Set/Get to parent");
1922
+ i0.ɵɵelementEnd()()()();
1923
+ } if (rf & 2) {
1924
+ const ctx_r2 = i0.ɵɵnextContext(3);
1925
+ i0.ɵɵadvance(9);
1926
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(ctx_r2.selectedField), " ");
1927
+ } }
1928
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template(rf, ctx) { if (rf & 1) {
1929
+ const _r48 = i0.ɵɵgetCurrentView();
1930
+ i0.ɵɵelementStart(0, "div", 277)(1, "h5");
1446
1931
  i0.ɵɵtext(2, "Relationship");
1447
1932
  i0.ɵɵelementEnd();
1448
- i0.ɵɵelementStart(3, "div", 283)(4, "div", 284)(5, "span", 285);
1933
+ i0.ɵɵelementStart(3, "div", 279)(4, "div", 280)(5, "span", 281);
1449
1934
  i0.ɵɵtext(6, "Related Entity");
1450
1935
  i0.ɵɵelementEnd();
1451
- i0.ɵɵelementStart(7, "span", 291);
1452
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_div_59_div_25_Template_span_click_7_listener() { i0.ɵɵrestoreView(_r29); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.navigateToRelatedEntity(ctx_r1.selectedField)); });
1936
+ i0.ɵɵelementStart(7, "span", 286);
1937
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template_span_click_7_listener() { i0.ɵɵrestoreView(_r48); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.navigateToRelatedEntity(ctx_r2.selectedField)); });
1453
1938
  i0.ɵɵtext(8);
1454
1939
  i0.ɵɵelement(9, "i", 60);
1455
1940
  i0.ɵɵelementEnd()();
1456
- i0.ɵɵelementStart(10, "div", 284)(11, "span", 285);
1941
+ i0.ɵɵelementStart(10, "div", 280)(11, "span", 281);
1457
1942
  i0.ɵɵtext(12, "Display Type");
1458
1943
  i0.ɵɵelementEnd();
1459
- i0.ɵɵelementStart(13, "span", 287);
1944
+ i0.ɵɵelementStart(13, "span", 283);
1460
1945
  i0.ɵɵtext(14);
1461
1946
  i0.ɵɵelementEnd()()()();
1462
1947
  } if (rf & 2) {
1463
- const ctx_r1 = i0.ɵɵnextContext(3);
1948
+ const ctx_r2 = i0.ɵɵnextContext(3);
1464
1949
  i0.ɵɵadvance(8);
1465
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getRelatedEntityName(ctx_r1.selectedField), " ");
1950
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.getRelatedEntityName(ctx_r2.selectedField), " ");
1466
1951
  i0.ɵɵadvance(6);
1467
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.RelatedEntityDisplayType);
1952
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.RelatedEntityDisplayType);
1468
1953
  } }
1469
- function EntityFormComponentExtended_div_0_div_59_div_26_Template(rf, ctx) { if (rf & 1) {
1470
- i0.ɵɵelementStart(0, "div", 281)(1, "h5");
1954
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27_Template(rf, ctx) { if (rf & 1) {
1955
+ i0.ɵɵelementStart(0, "div", 277)(1, "h5");
1471
1956
  i0.ɵɵtext(2, "Encryption");
1472
1957
  i0.ɵɵelementEnd();
1473
- i0.ɵɵelementStart(3, "div", 283)(4, "div", 284)(5, "span", 285);
1958
+ i0.ɵɵelementStart(3, "div", 279)(4, "div", 280)(5, "span", 281);
1474
1959
  i0.ɵɵtext(6, "Encrypted");
1475
1960
  i0.ɵɵelementEnd();
1476
- i0.ɵɵelementStart(7, "span", 287);
1961
+ i0.ɵɵelementStart(7, "span", 283);
1477
1962
  i0.ɵɵtext(8, "Yes");
1478
1963
  i0.ɵɵelementEnd()();
1479
- i0.ɵɵelementStart(9, "div", 284)(10, "span", 285);
1964
+ i0.ɵɵelementStart(9, "div", 280)(10, "span", 281);
1480
1965
  i0.ɵɵtext(11, "Decrypt in API");
1481
1966
  i0.ɵɵelementEnd();
1482
- i0.ɵɵelementStart(12, "span", 287);
1967
+ i0.ɵɵelementStart(12, "span", 283);
1483
1968
  i0.ɵɵtext(13);
1484
1969
  i0.ɵɵelementEnd()()()();
1485
1970
  } if (rf & 2) {
1486
- const ctx_r1 = i0.ɵɵnextContext(3);
1971
+ const ctx_r2 = i0.ɵɵnextContext(3);
1487
1972
  i0.ɵɵadvance(13);
1488
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.AllowDecryptInAPI ? "Yes" : "No");
1973
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowDecryptInAPI ? "Yes" : "No");
1489
1974
  } }
1490
- function EntityFormComponentExtended_div_0_div_59_div_60_Template(rf, ctx) { if (rf & 1) {
1491
- i0.ɵɵelementStart(0, "div", 284)(1, "span", 285);
1975
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61_Template(rf, ctx) { if (rf & 1) {
1976
+ i0.ɵɵelementStart(0, "div", 280)(1, "span", 281);
1492
1977
  i0.ɵɵtext(2, "Category");
1493
1978
  i0.ɵɵelementEnd();
1494
- i0.ɵɵelementStart(3, "span", 287);
1979
+ i0.ɵɵelementStart(3, "span", 283);
1495
1980
  i0.ɵɵtext(4);
1496
1981
  i0.ɵɵelementEnd()();
1497
1982
  } if (rf & 2) {
1498
- const ctx_r1 = i0.ɵɵnextContext(3);
1983
+ const ctx_r2 = i0.ɵɵnextContext(3);
1499
1984
  i0.ɵɵadvance(4);
1500
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.Category);
1985
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.Category);
1501
1986
  } }
1502
- function EntityFormComponentExtended_div_0_div_59_div_66_div_4_span_1_Template(rf, ctx) { if (rf & 1) {
1503
- i0.ɵɵelementStart(0, "span", 297);
1987
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
1988
+ i0.ɵɵelementStart(0, "span", 289);
1504
1989
  i0.ɵɵtext(1);
1505
1990
  i0.ɵɵelementEnd();
1506
1991
  } if (rf & 2) {
1507
- const val_r30 = i0.ɵɵnextContext().$implicit;
1992
+ const val_r49 = i0.ɵɵnextContext().$implicit;
1508
1993
  i0.ɵɵadvance();
1509
- i0.ɵɵtextInterpolate(val_r30.Code);
1994
+ i0.ɵɵtextInterpolate(val_r49.Code);
1510
1995
  } }
1511
- function EntityFormComponentExtended_div_0_div_59_div_66_div_4_Template(rf, ctx) { if (rf & 1) {
1512
- i0.ɵɵelementStart(0, "div", 294);
1513
- i0.ɵɵtemplate(1, EntityFormComponentExtended_div_0_div_59_div_66_div_4_span_1_Template, 2, 1, "span", 295);
1514
- i0.ɵɵelementStart(2, "span", 296);
1996
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Template(rf, ctx) { if (rf & 1) {
1997
+ i0.ɵɵelementStart(0, "div", 288);
1998
+ i0.ɵɵconditionalCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Conditional_1_Template, 2, 1, "span", 289);
1999
+ i0.ɵɵelementStart(2, "span", 290);
1515
2000
  i0.ɵɵtext(3);
1516
2001
  i0.ɵɵelementEnd()();
1517
2002
  } if (rf & 2) {
1518
- const val_r30 = ctx.$implicit;
2003
+ const val_r49 = ctx.$implicit;
1519
2004
  i0.ɵɵadvance();
1520
- i0.ɵɵproperty("ngIf", val_r30.Code !== val_r30.Value);
2005
+ i0.ɵɵconditional(val_r49.Code !== val_r49.Value ? 1 : -1);
1521
2006
  i0.ɵɵadvance(2);
1522
- i0.ɵɵtextInterpolate(val_r30.Value);
2007
+ i0.ɵɵtextInterpolate(val_r49.Value);
1523
2008
  } }
1524
- function EntityFormComponentExtended_div_0_div_59_div_66_Template(rf, ctx) { if (rf & 1) {
1525
- i0.ɵɵelementStart(0, "div", 281)(1, "h5");
2009
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_Template(rf, ctx) { if (rf & 1) {
2010
+ i0.ɵɵelementStart(0, "div", 277)(1, "h5");
1526
2011
  i0.ɵɵtext(2, "Allowed Values");
1527
2012
  i0.ɵɵelementEnd();
1528
- i0.ɵɵelementStart(3, "div", 292);
1529
- i0.ɵɵtemplate(4, EntityFormComponentExtended_div_0_div_59_div_66_div_4_Template, 4, 2, "div", 293);
2013
+ i0.ɵɵelementStart(3, "div", 287);
2014
+ i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Template, 4, 2, "div", 288, i0.ɵɵrepeaterTrackByIdentity);
1530
2015
  i0.ɵɵelementEnd()();
1531
2016
  } if (rf & 2) {
1532
- const ctx_r1 = i0.ɵɵnextContext(3);
2017
+ const ctx_r2 = i0.ɵɵnextContext(3);
1533
2018
  i0.ɵɵadvance(4);
1534
- i0.ɵɵproperty("ngForOf", ctx_r1.selectedField.EntityFieldValues);
2019
+ i0.ɵɵrepeater(ctx_r2.selectedField.EntityFieldValues);
1535
2020
  } }
1536
- function EntityFormComponentExtended_div_0_div_59_Template(rf, ctx) { if (rf & 1) {
1537
- i0.ɵɵelementStart(0, "div", 280)(1, "div", 281)(2, "h4");
2021
+ function EntityFormComponentExtended_Conditional_0_Conditional_64_Template(rf, ctx) { if (rf & 1) {
2022
+ i0.ɵɵelementStart(0, "div", 41)(1, "div", 277)(2, "h4");
1538
2023
  i0.ɵɵtext(3);
1539
2024
  i0.ɵɵelementEnd();
1540
- i0.ɵɵtemplate(4, EntityFormComponentExtended_div_0_div_59_p_4_Template, 2, 1, "p", 282);
2025
+ i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_Template, 2, 1, "p", 278);
1541
2026
  i0.ɵɵelementEnd();
1542
- i0.ɵɵelementStart(5, "div", 281)(6, "h5");
2027
+ i0.ɵɵelementStart(5, "div", 277)(6, "h5");
1543
2028
  i0.ɵɵtext(7, "Type Information");
1544
2029
  i0.ɵɵelementEnd();
1545
- i0.ɵɵelementStart(8, "div", 283)(9, "div", 284)(10, "span", 285);
2030
+ i0.ɵɵelementStart(8, "div", 279)(9, "div", 280)(10, "span", 281);
1546
2031
  i0.ɵɵtext(11, "SQL Type");
1547
2032
  i0.ɵɵelementEnd();
1548
- i0.ɵɵelementStart(12, "span", 286);
2033
+ i0.ɵɵelementStart(12, "span", 282);
1549
2034
  i0.ɵɵtext(13);
1550
2035
  i0.ɵɵelementEnd()();
1551
- i0.ɵɵelementStart(14, "div", 284)(15, "span", 285);
2036
+ i0.ɵɵelementStart(14, "div", 280)(15, "span", 281);
1552
2037
  i0.ɵɵtext(16, "TypeScript Type");
1553
2038
  i0.ɵɵelementEnd();
1554
- i0.ɵɵelementStart(17, "span", 286);
2039
+ i0.ɵɵelementStart(17, "span", 282);
1555
2040
  i0.ɵɵtext(18);
1556
2041
  i0.ɵɵelementEnd()();
1557
- i0.ɵɵelementStart(19, "div", 284)(20, "span", 285);
2042
+ i0.ɵɵelementStart(19, "div", 280)(20, "span", 281);
1558
2043
  i0.ɵɵtext(21, "Nullable");
1559
2044
  i0.ɵɵelementEnd();
1560
- i0.ɵɵelementStart(22, "span", 287);
2045
+ i0.ɵɵelementStart(22, "span", 283);
1561
2046
  i0.ɵɵtext(23);
1562
2047
  i0.ɵɵelementEnd()();
1563
- i0.ɵɵtemplate(24, EntityFormComponentExtended_div_0_div_59_div_24_Template, 5, 1, "div", 288);
2048
+ i0.ɵɵconditionalCreate(24, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24_Template, 5, 1, "div", 280);
1564
2049
  i0.ɵɵelementEnd()();
1565
- i0.ɵɵtemplate(25, EntityFormComponentExtended_div_0_div_59_div_25_Template, 15, 2, "div", 289)(26, EntityFormComponentExtended_div_0_div_59_div_26_Template, 14, 1, "div", 289);
1566
- i0.ɵɵelementStart(27, "div", 281)(28, "h5");
1567
- i0.ɵɵtext(29, "API Settings");
2050
+ i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template, 16, 1, "div", 284);
2051
+ i0.ɵɵconditionalCreate(26, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template, 15, 2, "div", 277);
2052
+ i0.ɵɵconditionalCreate(27, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27_Template, 14, 1, "div", 277);
2053
+ i0.ɵɵelementStart(28, "div", 277)(29, "h5");
2054
+ i0.ɵɵtext(30, "API Settings");
1568
2055
  i0.ɵɵelementEnd();
1569
- i0.ɵɵelementStart(30, "div", 283)(31, "div", 284)(32, "span", 285);
1570
- i0.ɵɵtext(33, "Allow Update");
2056
+ i0.ɵɵelementStart(31, "div", 279)(32, "div", 280)(33, "span", 281);
2057
+ i0.ɵɵtext(34, "Allow Update");
1571
2058
  i0.ɵɵelementEnd();
1572
- i0.ɵɵelementStart(34, "span", 287);
1573
- i0.ɵɵtext(35);
2059
+ i0.ɵɵelementStart(35, "span", 283);
2060
+ i0.ɵɵtext(36);
1574
2061
  i0.ɵɵelementEnd()();
1575
- i0.ɵɵelementStart(36, "div", 284)(37, "span", 285);
1576
- i0.ɵɵtext(38, "Include in Search");
2062
+ i0.ɵɵelementStart(37, "div", 280)(38, "span", 281);
2063
+ i0.ɵɵtext(39, "Include in Search");
1577
2064
  i0.ɵɵelementEnd();
1578
- i0.ɵɵelementStart(39, "span", 287);
1579
- i0.ɵɵtext(40);
2065
+ i0.ɵɵelementStart(40, "span", 283);
2066
+ i0.ɵɵtext(41);
1580
2067
  i0.ɵɵelementEnd()();
1581
- i0.ɵɵelementStart(41, "div", 284)(42, "span", 285);
1582
- i0.ɵɵtext(43, "Full-Text Search");
2068
+ i0.ɵɵelementStart(42, "div", 280)(43, "span", 281);
2069
+ i0.ɵɵtext(44, "Full-Text Search");
1583
2070
  i0.ɵɵelementEnd();
1584
- i0.ɵɵelementStart(44, "span", 287);
1585
- i0.ɵɵtext(45);
2071
+ i0.ɵɵelementStart(45, "span", 283);
2072
+ i0.ɵɵtext(46);
1586
2073
  i0.ɵɵelementEnd()()()();
1587
- i0.ɵɵelementStart(46, "div", 281)(47, "h5");
1588
- i0.ɵɵtext(48, "Form Settings");
2074
+ i0.ɵɵelementStart(47, "div", 277)(48, "h5");
2075
+ i0.ɵɵtext(49, "Form Settings");
1589
2076
  i0.ɵɵelementEnd();
1590
- i0.ɵɵelementStart(49, "div", 283)(50, "div", 284)(51, "span", 285);
1591
- i0.ɵɵtext(52, "Include in Form");
2077
+ i0.ɵɵelementStart(50, "div", 279)(51, "div", 280)(52, "span", 281);
2078
+ i0.ɵɵtext(53, "Include in Form");
1592
2079
  i0.ɵɵelementEnd();
1593
- i0.ɵɵelementStart(53, "span", 287);
1594
- i0.ɵɵtext(54);
2080
+ i0.ɵɵelementStart(54, "span", 283);
2081
+ i0.ɵɵtext(55);
1595
2082
  i0.ɵɵelementEnd()();
1596
- i0.ɵɵelementStart(55, "div", 284)(56, "span", 285);
1597
- i0.ɵɵtext(57, "Section");
2083
+ i0.ɵɵelementStart(56, "div", 280)(57, "span", 281);
2084
+ i0.ɵɵtext(58, "Section");
1598
2085
  i0.ɵɵelementEnd();
1599
- i0.ɵɵelementStart(58, "span", 287);
1600
- i0.ɵɵtext(59);
2086
+ i0.ɵɵelementStart(59, "span", 283);
2087
+ i0.ɵɵtext(60);
1601
2088
  i0.ɵɵelementEnd()();
1602
- i0.ɵɵtemplate(60, EntityFormComponentExtended_div_0_div_59_div_60_Template, 5, 1, "div", 288);
1603
- i0.ɵɵelementStart(61, "div", 284)(62, "span", 285);
1604
- i0.ɵɵtext(63, "Sequence");
2089
+ i0.ɵɵconditionalCreate(61, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61_Template, 5, 1, "div", 280);
2090
+ i0.ɵɵelementStart(62, "div", 280)(63, "span", 281);
2091
+ i0.ɵɵtext(64, "Sequence");
1605
2092
  i0.ɵɵelementEnd();
1606
- i0.ɵɵelementStart(64, "span", 287);
1607
- i0.ɵɵtext(65);
2093
+ i0.ɵɵelementStart(65, "span", 283);
2094
+ i0.ɵɵtext(66);
1608
2095
  i0.ɵɵelementEnd()()()();
1609
- i0.ɵɵtemplate(66, EntityFormComponentExtended_div_0_div_59_div_66_Template, 5, 1, "div", 289);
2096
+ i0.ɵɵconditionalCreate(67, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_Template, 6, 0, "div", 277);
1610
2097
  i0.ɵɵelementEnd();
1611
2098
  } if (rf & 2) {
1612
- const ctx_r1 = i0.ɵɵnextContext(2);
2099
+ const ctx_r2 = i0.ɵɵnextContext(2);
1613
2100
  i0.ɵɵadvance(3);
1614
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.DisplayName || ctx_r1.selectedField.Name);
2101
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.DisplayName || ctx_r2.selectedField.Name);
1615
2102
  i0.ɵɵadvance();
1616
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField.Description);
2103
+ i0.ɵɵconditional(ctx_r2.selectedField.Description ? 4 : -1);
1617
2104
  i0.ɵɵadvance(9);
1618
- i0.ɵɵtextInterpolate(ctx_r1.formatFieldType(ctx_r1.selectedField));
2105
+ i0.ɵɵtextInterpolate(ctx_r2.formatFieldType(ctx_r2.selectedField));
1619
2106
  i0.ɵɵadvance(5);
1620
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.TSType);
2107
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.TSType);
1621
2108
  i0.ɵɵadvance(5);
1622
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.AllowsNull ? "Yes" : "No");
2109
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowsNull ? "Yes" : "No");
2110
+ i0.ɵɵadvance();
2111
+ i0.ɵɵconditional(ctx_r2.selectedField.DefaultValue ? 24 : -1);
1623
2112
  i0.ɵɵadvance();
1624
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField.DefaultValue);
2113
+ i0.ɵɵconditional(ctx_r2.IsInheritedField(ctx_r2.selectedField) ? 25 : -1);
1625
2114
  i0.ɵɵadvance();
1626
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField.RelatedEntityID);
2115
+ i0.ɵɵconditional(ctx_r2.selectedField.RelatedEntityID ? 26 : -1);
1627
2116
  i0.ɵɵadvance();
1628
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField.Encrypt);
2117
+ i0.ɵɵconditional(ctx_r2.selectedField.Encrypt ? 27 : -1);
1629
2118
  i0.ɵɵadvance(9);
1630
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.AllowUpdateAPI ? "Yes" : "No");
2119
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowUpdateAPI ? "Yes" : "No");
1631
2120
  i0.ɵɵadvance(5);
1632
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.IncludeInUserSearchAPI ? "Yes" : "No");
2121
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.IncludeInUserSearchAPI ? "Yes" : "No");
1633
2122
  i0.ɵɵadvance(5);
1634
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.FullTextSearchEnabled ? "Yes" : "No");
2123
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.FullTextSearchEnabled ? "Yes" : "No");
1635
2124
  i0.ɵɵadvance(9);
1636
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.IncludeInGeneratedForm ? "Yes" : "No");
2125
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.IncludeInGeneratedForm ? "Yes" : "No");
1637
2126
  i0.ɵɵadvance(5);
1638
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.GeneratedFormSection);
2127
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.GeneratedFormSection);
1639
2128
  i0.ɵɵadvance();
1640
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField.Category);
2129
+ i0.ɵɵconditional(ctx_r2.selectedField.Category ? 61 : -1);
1641
2130
  i0.ɵɵadvance(5);
1642
- i0.ɵɵtextInterpolate(ctx_r1.selectedField.Sequence);
2131
+ i0.ɵɵtextInterpolate(ctx_r2.selectedField.Sequence);
1643
2132
  i0.ɵɵadvance();
1644
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField.EntityFieldValues.length > 0);
2133
+ i0.ɵɵconditional(ctx_r2.selectedField.EntityFieldValues.length > 0 ? 67 : -1);
1645
2134
  } }
1646
- function EntityFormComponentExtended_div_0_div_60_Template(rf, ctx) { if (rf & 1) {
1647
- i0.ɵɵelementStart(0, "div", 280)(1, "div", 281)(2, "h4");
2135
+ function EntityFormComponentExtended_Conditional_0_Conditional_65_Template(rf, ctx) { if (rf & 1) {
2136
+ i0.ɵɵelementStart(0, "div", 41)(1, "div", 277)(2, "h4");
1648
2137
  i0.ɵɵtext(3);
1649
2138
  i0.ɵɵelementEnd()();
1650
- i0.ɵɵelementStart(4, "div", 281)(5, "h5");
2139
+ i0.ɵɵelementStart(4, "div", 277)(5, "h5");
1651
2140
  i0.ɵɵtext(6, "Connection");
1652
2141
  i0.ɵɵelementEnd();
1653
- i0.ɵɵelementStart(7, "div", 283)(8, "div", 284)(9, "span", 285);
2142
+ i0.ɵɵelementStart(7, "div", 279)(8, "div", 280)(9, "span", 281);
1654
2143
  i0.ɵɵtext(10, "From Entity");
1655
2144
  i0.ɵɵelementEnd();
1656
- i0.ɵɵelementStart(11, "span", 287);
2145
+ i0.ɵɵelementStart(11, "span", 283);
1657
2146
  i0.ɵɵtext(12);
1658
2147
  i0.ɵɵelementEnd()();
1659
- i0.ɵɵelementStart(13, "div", 284)(14, "span", 285);
2148
+ i0.ɵɵelementStart(13, "div", 280)(14, "span", 281);
1660
2149
  i0.ɵɵtext(15, "Join Field");
1661
2150
  i0.ɵɵelementEnd();
1662
- i0.ɵɵelementStart(16, "span", 286);
2151
+ i0.ɵɵelementStart(16, "span", 282);
1663
2152
  i0.ɵɵtext(17);
1664
2153
  i0.ɵɵelementEnd()();
1665
- i0.ɵɵelementStart(18, "div", 284)(19, "span", 285);
2154
+ i0.ɵɵelementStart(18, "div", 280)(19, "span", 281);
1666
2155
  i0.ɵɵtext(20, "Type");
1667
2156
  i0.ɵɵelementEnd();
1668
- i0.ɵɵelementStart(21, "span", 287);
2157
+ i0.ɵɵelementStart(21, "span", 283);
1669
2158
  i0.ɵɵtext(22);
1670
2159
  i0.ɵɵelementEnd()()()();
1671
- i0.ɵɵelementStart(23, "div", 281)(24, "h5");
2160
+ i0.ɵɵelementStart(23, "div", 277)(24, "h5");
1672
2161
  i0.ɵɵtext(25, "Display Settings");
1673
2162
  i0.ɵɵelementEnd();
1674
- i0.ɵɵelementStart(26, "div", 283)(27, "div", 284)(28, "span", 285);
2163
+ i0.ɵɵelementStart(26, "div", 279)(27, "div", 280)(28, "span", 281);
1675
2164
  i0.ɵɵtext(29, "Display in Form");
1676
2165
  i0.ɵɵelementEnd();
1677
- i0.ɵɵelementStart(30, "span", 287);
2166
+ i0.ɵɵelementStart(30, "span", 283);
1678
2167
  i0.ɵɵtext(31);
1679
2168
  i0.ɵɵelementEnd()();
1680
- i0.ɵɵelementStart(32, "div", 284)(33, "span", 285);
2169
+ i0.ɵɵelementStart(32, "div", 280)(33, "span", 281);
1681
2170
  i0.ɵɵtext(34, "Location");
1682
2171
  i0.ɵɵelementEnd();
1683
- i0.ɵɵelementStart(35, "span", 287);
2172
+ i0.ɵɵelementStart(35, "span", 283);
1684
2173
  i0.ɵɵtext(36);
1685
2174
  i0.ɵɵelementEnd()();
1686
- i0.ɵɵelementStart(37, "div", 284)(38, "span", 285);
2175
+ i0.ɵɵelementStart(37, "div", 280)(38, "span", 281);
1687
2176
  i0.ɵɵtext(39, "Bundle in API");
1688
2177
  i0.ɵɵelementEnd();
1689
- i0.ɵɵelementStart(40, "span", 287);
2178
+ i0.ɵɵelementStart(40, "span", 283);
1690
2179
  i0.ɵɵtext(41);
1691
2180
  i0.ɵɵelementEnd()()()()();
1692
2181
  } if (rf & 2) {
1693
- const ctx_r1 = i0.ɵɵnextContext(2);
2182
+ const ctx_r2 = i0.ɵɵnextContext(2);
1694
2183
  i0.ɵɵadvance(3);
1695
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.DisplayName || ctx_r1.selectedRelationship.Entity);
2184
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.DisplayName || ctx_r2.selectedRelationship.Entity);
1696
2185
  i0.ɵɵadvance(9);
1697
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.Entity);
2186
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.Entity);
1698
2187
  i0.ɵɵadvance(5);
1699
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.RelatedEntityJoinField);
2188
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.RelatedEntityJoinField);
1700
2189
  i0.ɵɵadvance(5);
1701
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.Type);
2190
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.Type);
1702
2191
  i0.ɵɵadvance(9);
1703
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.DisplayInForm ? "Yes" : "No");
2192
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.DisplayInForm ? "Yes" : "No");
1704
2193
  i0.ɵɵadvance(5);
1705
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.DisplayLocation);
2194
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.DisplayLocation);
1706
2195
  i0.ɵɵadvance(5);
1707
- i0.ɵɵtextInterpolate(ctx_r1.selectedRelationship.BundleInAPI ? "Yes" : "No");
2196
+ i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.BundleInAPI ? "Yes" : "No");
1708
2197
  } }
1709
- function EntityFormComponentExtended_div_0_Template(rf, ctx) { if (rf & 1) {
2198
+ function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf & 1) {
1710
2199
  const _r1 = i0.ɵɵgetCurrentView();
1711
- i0.ɵɵelementStart(0, "div", 3)(1, "header", 4)(2, "div", 5)(3, "div", 6);
2200
+ i0.ɵɵelementStart(0, "div", 0)(1, "header", 1)(2, "div", 2)(3, "div", 3);
1712
2201
  i0.ɵɵelement(4, "i");
1713
2202
  i0.ɵɵelementEnd();
1714
- i0.ɵɵelementStart(5, "div", 7)(6, "div", 8)(7, "h1", 9);
2203
+ i0.ɵɵelementStart(5, "div", 4)(6, "div", 5)(7, "h1", 6);
1715
2204
  i0.ɵɵtext(8);
1716
2205
  i0.ɵɵelementEnd();
1717
- i0.ɵɵelementStart(9, "span", 10);
2206
+ i0.ɵɵelementStart(9, "span", 7);
1718
2207
  i0.ɵɵtext(10);
1719
- i0.ɵɵelementEnd()();
1720
- i0.ɵɵelementStart(11, "div", 11)(12, "span", 12);
1721
- i0.ɵɵtext(13);
1722
2208
  i0.ɵɵelementEnd();
1723
- i0.ɵɵelementStart(14, "span", 13);
1724
- i0.ɵɵtext(15, "|");
2209
+ i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_11_Template, 3, 0, "span", 8);
2210
+ i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_12_Template, 3, 1, "span", 9);
2211
+ i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_13_Template, 3, 2, "span", 10);
2212
+ i0.ɵɵelementEnd();
2213
+ i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_14_Template, 3, 1, "div", 11);
2214
+ i0.ɵɵelementStart(15, "div", 12)(16, "span", 13);
2215
+ i0.ɵɵtext(17);
2216
+ i0.ɵɵelementEnd();
2217
+ i0.ɵɵelementStart(18, "span", 14);
2218
+ i0.ɵɵtext(19, "|");
1725
2219
  i0.ɵɵelementEnd();
1726
- i0.ɵɵtemplate(16, EntityFormComponentExtended_div_0_span_16_Template, 3, 7, "span", 14);
2220
+ i0.ɵɵconditionalCreate(20, EntityFormComponentExtended_Conditional_0_Conditional_20_Template, 3, 7, "span", 15);
1727
2221
  i0.ɵɵelementEnd()()();
1728
- i0.ɵɵelementStart(17, "div", 15)(18, "div", 16);
1729
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_div_click_18_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection("fields")); });
1730
- i0.ɵɵelement(19, "i", 17);
1731
- i0.ɵɵelementStart(20, "span", 18);
1732
- i0.ɵɵtext(21);
1733
- i0.ɵɵelementEnd();
1734
- i0.ɵɵelementStart(22, "span", 19);
1735
- i0.ɵɵtext(23, "Fields");
1736
- i0.ɵɵelementEnd()();
1737
- i0.ɵɵelementStart(24, "div", 16);
1738
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_div_click_24_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection("relationships")); });
1739
- i0.ɵɵelement(25, "i", 20);
1740
- i0.ɵɵelementStart(26, "span", 18);
1741
- i0.ɵɵtext(27);
1742
- i0.ɵɵelementEnd();
1743
- i0.ɵɵelementStart(28, "span", 19);
1744
- i0.ɵɵtext(29, "Relations");
1745
- i0.ɵɵelementEnd()();
1746
- i0.ɵɵelementStart(30, "div", 16);
1747
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_div_click_30_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection("permissions")); });
1748
- i0.ɵɵelement(31, "i", 21);
1749
- i0.ɵɵelementStart(32, "span", 18);
1750
- i0.ɵɵtext(33);
1751
- i0.ɵɵelementEnd();
1752
- i0.ɵɵelementStart(34, "span", 19);
1753
- i0.ɵɵtext(35, "Roles");
1754
- i0.ɵɵelementEnd()();
1755
- i0.ɵɵelementStart(36, "div", 22);
1756
- i0.ɵɵelement(37, "i", 23);
1757
- i0.ɵɵtemplate(38, EntityFormComponentExtended_div_0_span_38_Template, 2, 1, "span", 24)(39, EntityFormComponentExtended_div_0_span_39_Template, 2, 0, "span", 25);
1758
- i0.ɵɵelementStart(40, "span", 19);
1759
- i0.ɵɵtext(41, "Rows");
1760
- i0.ɵɵelementEnd()()()();
1761
- i0.ɵɵelementStart(42, "div", 26)(43, "nav", 27);
1762
- i0.ɵɵtemplate(44, EntityFormComponentExtended_div_0_button_44_Template, 5, 7, "button", 28);
2222
+ i0.ɵɵelementStart(21, "div", 16)(22, "div", 17);
2223
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_div_click_22_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("fields")); });
2224
+ i0.ɵɵelement(23, "i", 18);
2225
+ i0.ɵɵelementStart(24, "span", 19);
2226
+ i0.ɵɵtext(25);
1763
2227
  i0.ɵɵelementEnd();
1764
- i0.ɵɵelementStart(45, "main", 29);
1765
- i0.ɵɵtemplate(46, EntityFormComponentExtended_div_0_section_46_Template, 109, 23, "section", 30)(47, EntityFormComponentExtended_div_0_section_47_Template, 15, 8, "section", 31)(48, EntityFormComponentExtended_div_0_section_48_Template, 13, 7, "section", 32)(49, EntityFormComponentExtended_div_0_section_49_Template, 54, 23, "section", 33)(50, EntityFormComponentExtended_div_0_section_50_Template, 57, 20, "section", 34)(51, EntityFormComponentExtended_div_0_section_51_Template, 18, 7, "section", 35)(52, EntityFormComponentExtended_div_0_section_52_Template, 26, 7, "section", 36);
2228
+ i0.ɵɵelementStart(26, "span", 20);
2229
+ i0.ɵɵtext(27, "Fields");
2230
+ i0.ɵɵelementEnd()();
2231
+ i0.ɵɵelementStart(28, "div", 17);
2232
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_div_click_28_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("relationships")); });
2233
+ i0.ɵɵelement(29, "i", 21);
2234
+ i0.ɵɵelementStart(30, "span", 19);
2235
+ i0.ɵɵtext(31);
1766
2236
  i0.ɵɵelementEnd();
1767
- i0.ɵɵelementStart(53, "aside", 37)(54, "div", 38);
1768
- i0.ɵɵtemplate(55, EntityFormComponentExtended_div_0_h3_55_Template, 2, 0, "h3", 39)(56, EntityFormComponentExtended_div_0_h3_56_Template, 2, 0, "h3", 39);
1769
- i0.ɵɵelementStart(57, "button", 40);
1770
- i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_button_click_57_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeDetailPanel()); });
1771
- i0.ɵɵelement(58, "i", 41);
2237
+ i0.ɵɵelementStart(32, "span", 20);
2238
+ i0.ɵɵtext(33, "Relations");
1772
2239
  i0.ɵɵelementEnd()();
1773
- i0.ɵɵtemplate(59, EntityFormComponentExtended_div_0_div_59_Template, 67, 16, "div", 42)(60, EntityFormComponentExtended_div_0_div_60_Template, 42, 7, "div", 42);
2240
+ i0.ɵɵelementStart(34, "div", 17);
2241
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_div_click_34_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("permissions")); });
2242
+ i0.ɵɵelement(35, "i", 22);
2243
+ i0.ɵɵelementStart(36, "span", 19);
2244
+ i0.ɵɵtext(37);
2245
+ i0.ɵɵelementEnd();
2246
+ i0.ɵɵelementStart(38, "span", 20);
2247
+ i0.ɵɵtext(39, "Roles");
2248
+ i0.ɵɵelementEnd()();
2249
+ i0.ɵɵelementStart(40, "div", 23);
2250
+ i0.ɵɵelement(41, "i", 24);
2251
+ i0.ɵɵconditionalCreate(42, EntityFormComponentExtended_Conditional_0_Conditional_42_Template, 2, 1, "span", 19);
2252
+ i0.ɵɵconditionalCreate(43, EntityFormComponentExtended_Conditional_0_Conditional_43_Template, 2, 0, "span", 25);
2253
+ i0.ɵɵelementStart(44, "span", 20);
2254
+ i0.ɵɵtext(45, "Rows");
2255
+ i0.ɵɵelementEnd()()()();
2256
+ i0.ɵɵelementStart(46, "div", 26)(47, "nav", 27);
2257
+ i0.ɵɵrepeaterCreate(48, EntityFormComponentExtended_Conditional_0_For_49_Template, 5, 7, "button", 28, i0.ɵɵrepeaterTrackByIdentity);
2258
+ i0.ɵɵelementEnd();
2259
+ i0.ɵɵelementStart(50, "main", 29);
2260
+ i0.ɵɵconditionalCreate(51, EntityFormComponentExtended_Conditional_0_Conditional_51_Template, 111, 23, "section", 30);
2261
+ i0.ɵɵconditionalCreate(52, EntityFormComponentExtended_Conditional_0_Conditional_52_Template, 15, 8, "section", 31);
2262
+ i0.ɵɵconditionalCreate(53, EntityFormComponentExtended_Conditional_0_Conditional_53_Template, 13, 7, "section", 32);
2263
+ i0.ɵɵconditionalCreate(54, EntityFormComponentExtended_Conditional_0_Conditional_54_Template, 55, 22, "section", 33);
2264
+ i0.ɵɵconditionalCreate(55, EntityFormComponentExtended_Conditional_0_Conditional_55_Template, 57, 20, "section", 34);
2265
+ i0.ɵɵconditionalCreate(56, EntityFormComponentExtended_Conditional_0_Conditional_56_Template, 18, 7, "section", 35);
2266
+ i0.ɵɵconditionalCreate(57, EntityFormComponentExtended_Conditional_0_Conditional_57_Template, 27, 8, "section", 36);
2267
+ i0.ɵɵelementEnd();
2268
+ i0.ɵɵelementStart(58, "aside", 37)(59, "div", 38);
2269
+ i0.ɵɵconditionalCreate(60, EntityFormComponentExtended_Conditional_0_Conditional_60_Template, 2, 0, "h3");
2270
+ i0.ɵɵconditionalCreate(61, EntityFormComponentExtended_Conditional_0_Conditional_61_Template, 2, 0, "h3");
2271
+ i0.ɵɵelementStart(62, "button", 39);
2272
+ i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_button_click_62_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDetailPanel()); });
2273
+ i0.ɵɵelement(63, "i", 40);
2274
+ i0.ɵɵelementEnd()();
2275
+ i0.ɵɵconditionalCreate(64, EntityFormComponentExtended_Conditional_0_Conditional_64_Template, 68, 17, "div", 41);
2276
+ i0.ɵɵconditionalCreate(65, EntityFormComponentExtended_Conditional_0_Conditional_65_Template, 42, 7, "div", 41);
1774
2277
  i0.ɵɵelementEnd()()();
1775
2278
  } if (rf & 2) {
1776
- const ctx_r1 = i0.ɵɵnextContext();
2279
+ const ctx_r2 = i0.ɵɵnextContext();
1777
2280
  i0.ɵɵadvance(3);
1778
2281
  i0.ɵɵstyleProp("background-color", "#3b82f6");
1779
2282
  i0.ɵɵadvance();
1780
- i0.ɵɵclassMap(ctx_r1.entityIcon);
2283
+ i0.ɵɵclassMap(ctx_r2.entityIcon);
1781
2284
  i0.ɵɵadvance(4);
1782
- i0.ɵɵtextInterpolate(ctx_r1.entityDisplayName);
2285
+ i0.ɵɵtextInterpolate(ctx_r2.entityDisplayName);
2286
+ i0.ɵɵadvance();
2287
+ i0.ɵɵproperty("ngClass", ctx_r2.statusClass);
2288
+ i0.ɵɵadvance();
2289
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.entity.Status, " ");
2290
+ i0.ɵɵadvance();
2291
+ i0.ɵɵconditional(ctx_r2.IsVirtualEntity ? 11 : -1);
1783
2292
  i0.ɵɵadvance();
1784
- i0.ɵɵproperty("ngClass", ctx_r1.statusClass);
2293
+ i0.ɵɵconditional(ctx_r2.IsChildType ? 12 : -1);
1785
2294
  i0.ɵɵadvance();
1786
- i0.ɵɵtextInterpolate1(" ", ctx_r1.entity.Status, " ");
2295
+ i0.ɵɵconditional(ctx_r2.IsParentType ? 13 : -1);
2296
+ i0.ɵɵadvance();
2297
+ i0.ɵɵconditional(ctx_r2.IsChildType ? 14 : -1);
1787
2298
  i0.ɵɵadvance(3);
1788
- i0.ɵɵtextInterpolate2("", ctx_r1.entity.SchemaName, ".", ctx_r1.entity.BaseTable, "");
2299
+ i0.ɵɵtextInterpolate2("", ctx_r2.entity.SchemaName, ".", ctx_r2.entity.BaseTable);
1789
2300
  i0.ɵɵadvance(3);
1790
- i0.ɵɵproperty("ngIf", ctx_r1.entity.Description);
2301
+ i0.ɵɵconditional(ctx_r2.entity.Description ? 20 : -1);
1791
2302
  i0.ɵɵadvance(5);
1792
- i0.ɵɵtextInterpolate(ctx_r1.stats.fieldCount);
2303
+ i0.ɵɵtextInterpolate(ctx_r2.stats.fieldCount);
1793
2304
  i0.ɵɵadvance(6);
1794
- i0.ɵɵtextInterpolate(ctx_r1.stats.relationshipCount);
2305
+ i0.ɵɵtextInterpolate(ctx_r2.stats.relationshipCount);
1795
2306
  i0.ɵɵadvance(6);
1796
- i0.ɵɵtextInterpolate(ctx_r1.stats.permissionCount);
2307
+ i0.ɵɵtextInterpolate(ctx_r2.stats.permissionCount);
1797
2308
  i0.ɵɵadvance(5);
1798
- i0.ɵɵproperty("ngIf", !ctx_r1.isRowCountLoading);
2309
+ i0.ɵɵconditional(!ctx_r2.isRowCountLoading ? 42 : -1);
1799
2310
  i0.ɵɵadvance();
1800
- i0.ɵɵproperty("ngIf", ctx_r1.isRowCountLoading);
2311
+ i0.ɵɵconditional(ctx_r2.isRowCountLoading ? 43 : -1);
1801
2312
  i0.ɵɵadvance(5);
1802
- i0.ɵɵproperty("ngForOf", ctx_r1.navItems);
1803
- i0.ɵɵadvance();
1804
- i0.ɵɵclassProp("panel-open", ctx_r1.detailPanelOpen);
2313
+ i0.ɵɵrepeater(ctx_r2.navItems);
2314
+ i0.ɵɵadvance(2);
2315
+ i0.ɵɵclassProp("panel-open", ctx_r2.detailPanelOpen);
1805
2316
  i0.ɵɵadvance();
1806
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "overview");
2317
+ i0.ɵɵconditional(ctx_r2.activeSection === "overview" ? 51 : -1);
1807
2318
  i0.ɵɵadvance();
1808
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "fields");
2319
+ i0.ɵɵconditional(ctx_r2.activeSection === "fields" ? 52 : -1);
1809
2320
  i0.ɵɵadvance();
1810
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "relationships");
2321
+ i0.ɵɵconditional(ctx_r2.activeSection === "relationships" ? 53 : -1);
1811
2322
  i0.ɵɵadvance();
1812
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "permissions");
2323
+ i0.ɵɵconditional(ctx_r2.activeSection === "permissions" ? 54 : -1);
1813
2324
  i0.ɵɵadvance();
1814
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "lineage");
2325
+ i0.ɵɵconditional(ctx_r2.activeSection === "lineage" ? 55 : -1);
1815
2326
  i0.ɵɵadvance();
1816
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "history");
2327
+ i0.ɵɵconditional(ctx_r2.activeSection === "history" ? 56 : -1);
1817
2328
  i0.ɵɵadvance();
1818
- i0.ɵɵproperty("ngIf", ctx_r1.activeSection === "settings");
2329
+ i0.ɵɵconditional(ctx_r2.activeSection === "settings" ? 57 : -1);
1819
2330
  i0.ɵɵadvance();
1820
- i0.ɵɵclassProp("open", ctx_r1.detailPanelOpen);
2331
+ i0.ɵɵclassProp("open", ctx_r2.detailPanelOpen);
1821
2332
  i0.ɵɵadvance(2);
1822
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField);
2333
+ i0.ɵɵconditional(ctx_r2.selectedField ? 60 : -1);
1823
2334
  i0.ɵɵadvance();
1824
- i0.ɵɵproperty("ngIf", ctx_r1.selectedRelationship);
2335
+ i0.ɵɵconditional(ctx_r2.selectedRelationship ? 61 : -1);
1825
2336
  i0.ɵɵadvance(3);
1826
- i0.ɵɵproperty("ngIf", ctx_r1.selectedField);
2337
+ i0.ɵɵconditional(ctx_r2.selectedField ? 64 : -1);
1827
2338
  i0.ɵɵadvance();
1828
- i0.ɵɵproperty("ngIf", ctx_r1.selectedRelationship);
2339
+ i0.ɵɵconditional(ctx_r2.selectedRelationship ? 65 : -1);
1829
2340
  } }
1830
- function EntityFormComponentExtended_ng_template_1_div_0_Template(rf, ctx) { if (rf & 1) {
1831
- i0.ɵɵelementStart(0, "div", 301);
1832
- i0.ɵɵelement(1, "mj-loading", 302);
2341
+ function EntityFormComponentExtended_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
2342
+ i0.ɵɵelementStart(0, "div", 291);
2343
+ i0.ɵɵelement(1, "mj-loading", 294);
1833
2344
  i0.ɵɵelementEnd();
1834
2345
  } }
1835
- function EntityFormComponentExtended_ng_template_1_div_1_Template(rf, ctx) { if (rf & 1) {
1836
- i0.ɵɵelementStart(0, "div", 303);
1837
- i0.ɵɵelement(1, "i", 304);
2346
+ function EntityFormComponentExtended_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
2347
+ i0.ɵɵelementStart(0, "div", 292);
2348
+ i0.ɵɵelement(1, "i", 295);
1838
2349
  i0.ɵɵelementStart(2, "p");
1839
2350
  i0.ɵɵtext(3);
1840
2351
  i0.ɵɵelementEnd()();
1841
2352
  } if (rf & 2) {
1842
- const ctx_r1 = i0.ɵɵnextContext(2);
2353
+ const ctx_r2 = i0.ɵɵnextContext(2);
1843
2354
  i0.ɵɵadvance(3);
1844
- i0.ɵɵtextInterpolate(ctx_r1.explorerError);
2355
+ i0.ɵɵtextInterpolate(ctx_r2.explorerError);
1845
2356
  } }
1846
- function EntityFormComponentExtended_ng_template_1_div_2_Template(rf, ctx) { if (rf & 1) {
1847
- i0.ɵɵelementStart(0, "div", 305);
1848
- i0.ɵɵelement(1, "i", 23);
2357
+ function EntityFormComponentExtended_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
2358
+ i0.ɵɵelementStart(0, "div", 293);
2359
+ i0.ɵɵelement(1, "i", 24);
1849
2360
  i0.ɵɵelementStart(2, "p");
1850
2361
  i0.ɵɵtext(3, "Entity metadata not available");
1851
2362
  i0.ɵɵelementEnd()();
1852
2363
  } }
1853
- function EntityFormComponentExtended_ng_template_1_Template(rf, ctx) { if (rf & 1) {
1854
- i0.ɵɵtemplate(0, EntityFormComponentExtended_ng_template_1_div_0_Template, 2, 0, "div", 298)(1, EntityFormComponentExtended_ng_template_1_div_1_Template, 4, 1, "div", 299)(2, EntityFormComponentExtended_ng_template_1_div_2_Template, 4, 0, "div", 300);
2364
+ function EntityFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf & 1) {
2365
+ i0.ɵɵconditionalCreate(0, EntityFormComponentExtended_Conditional_1_Conditional_0_Template, 2, 0, "div", 291);
2366
+ i0.ɵɵconditionalCreate(1, EntityFormComponentExtended_Conditional_1_Conditional_1_Template, 4, 1, "div", 292);
2367
+ i0.ɵɵconditionalCreate(2, EntityFormComponentExtended_Conditional_1_Conditional_2_Template, 4, 0, "div", 293);
1855
2368
  } if (rf & 2) {
1856
- const ctx_r1 = i0.ɵɵnextContext();
1857
- i0.ɵɵproperty("ngIf", ctx_r1.isExplorerLoading);
2369
+ const ctx_r2 = i0.ɵɵnextContext();
2370
+ i0.ɵɵconditional(ctx_r2.isExplorerLoading ? 0 : -1);
1858
2371
  i0.ɵɵadvance();
1859
- i0.ɵɵproperty("ngIf", !ctx_r1.isExplorerLoading && ctx_r1.explorerError);
2372
+ i0.ɵɵconditional(!ctx_r2.isExplorerLoading && ctx_r2.explorerError ? 1 : -1);
1860
2373
  i0.ɵɵadvance();
1861
- i0.ɵɵproperty("ngIf", !ctx_r1.isExplorerLoading && !ctx_r1.explorerError && !ctx_r1.entity);
2374
+ i0.ɵɵconditional(!ctx_r2.isExplorerLoading && !ctx_r2.explorerError && !ctx_r2.entity ? 2 : -1);
1862
2375
  } }
1863
2376
  /**
1864
2377
  * World-class Entity Explorer form component that provides an exploration-focused
@@ -1875,6 +2388,7 @@ function EntityFormComponentExtended_ng_template_1_Template(rf, ctx) { if (rf &
1875
2388
  let EntityFormComponentExtended = class EntityFormComponentExtended extends EntityFormComponent {
1876
2389
  constructor() {
1877
2390
  super(...arguments);
2391
+ this.sharedService = inject(SharedService);
1878
2392
  /** Runtime EntityInfo metadata (populated from record.ID) */
1879
2393
  this.entity = null;
1880
2394
  /** All entities for relationship lookups */
@@ -1916,6 +2430,12 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
1916
2430
  this.expandedFieldGroups = new Set();
1917
2431
  /** Field view mode: grouped by category or flat list */
1918
2432
  this.fieldViewMode = 'grouped';
2433
+ /** IS-A field groups organized by source entity */
2434
+ this.isaFieldGroups = [];
2435
+ /** Child entity record counts for the IS-A parent type summary */
2436
+ this.childEntityCounts = [];
2437
+ /** Whether the IS-A field inspector panel is expanded */
2438
+ this.isaFieldInspectorExpanded = true;
1919
2439
  /** Field list sort configuration */
1920
2440
  this.fieldListSortColumn = 'Sequence';
1921
2441
  this.fieldListSortDirection = 'asc';
@@ -1972,10 +2492,15 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
1972
2492
  if (this.entity) {
1973
2493
  this.computeStats();
1974
2494
  this.buildFieldGroups();
2495
+ this.buildISAFieldGroups();
1975
2496
  this.buildRelationships();
1976
2497
  this.updateNavBadges();
1977
2498
  // Load row count asynchronously (don't block UI)
1978
2499
  this.loadRowCountAsync();
2500
+ // Load IS-A child entity counts asynchronously
2501
+ if (this.IsParentType) {
2502
+ this.loadChildEntityCounts();
2503
+ }
1979
2504
  }
1980
2505
  else {
1981
2506
  this.explorerError = `Entity metadata not found for: ${this.record?.Name || 'Unknown'}`;
@@ -2144,6 +2669,78 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
2144
2669
  }
2145
2670
  }
2146
2671
  }
2672
+ /**
2673
+ * Builds field groups organized by source entity in the IS-A hierarchy.
2674
+ * Own fields first, then parent fields, then grandparent, etc.
2675
+ */
2676
+ buildISAFieldGroups() {
2677
+ if (!this.entity)
2678
+ return;
2679
+ const groups = [];
2680
+ const allFields = this.entity.Fields;
2681
+ // Own fields (non-virtual, or virtual but NOT inherited from parent)
2682
+ const ownFields = allFields.filter(f => !this.IsInheritedField(f));
2683
+ groups.push({
2684
+ EntityName: this.entity.Name,
2685
+ EntityInfo: this.entity,
2686
+ Label: 'Own Fields',
2687
+ Level: 0,
2688
+ Fields: ownFields.sort((a, b) => a.Sequence - b.Sequence),
2689
+ Expanded: true
2690
+ });
2691
+ // Parent chain fields, grouped by source entity
2692
+ if (this.IsChildType) {
2693
+ for (let i = 0; i < this.ParentChain.length; i++) {
2694
+ const parent = this.ParentChain[i];
2695
+ const parentFields = allFields.filter(f => {
2696
+ const source = this.GetISAFieldSource(f);
2697
+ return source === parent.Name;
2698
+ });
2699
+ if (parentFields.length > 0) {
2700
+ const levelLabel = i === 0 ? 'parent' : i === 1 ? 'grandparent' : `ancestor level ${i + 1}`;
2701
+ groups.push({
2702
+ EntityName: parent.Name,
2703
+ EntityInfo: parent,
2704
+ Label: `Inherited from ${parent.Name} (${levelLabel})`,
2705
+ Level: i + 1,
2706
+ Fields: parentFields.sort((a, b) => a.Sequence - b.Sequence),
2707
+ Expanded: true
2708
+ });
2709
+ }
2710
+ }
2711
+ }
2712
+ this.isaFieldGroups = groups;
2713
+ }
2714
+ /**
2715
+ * Loads record counts for each IS-A child entity type asynchronously.
2716
+ */
2717
+ async loadChildEntityCounts() {
2718
+ if (!this.entity || !this.IsParentType)
2719
+ return;
2720
+ // Initialize with loading state
2721
+ this.childEntityCounts = this.ChildEntities.map(child => ({
2722
+ EntityName: child.Name,
2723
+ EntityInfo: child,
2724
+ RecordCount: null,
2725
+ IsLoading: true
2726
+ }));
2727
+ this.cdr.markForCheck();
2728
+ // Load counts in parallel using count_only for efficiency
2729
+ const rv = new RunView();
2730
+ const countPromises = this.ChildEntities.map(async (child, index) => {
2731
+ const result = await rv.RunView({
2732
+ EntityName: child.Name,
2733
+ ExtraFilter: '',
2734
+ ResultType: 'count_only'
2735
+ });
2736
+ if (this.childEntityCounts[index]) {
2737
+ this.childEntityCounts[index].RecordCount = result?.TotalRowCount ?? 0;
2738
+ this.childEntityCounts[index].IsLoading = false;
2739
+ }
2740
+ });
2741
+ await Promise.all(countPromises);
2742
+ this.cdr.markForCheck();
2743
+ }
2147
2744
  buildRelationships() {
2148
2745
  if (!this.entity)
2149
2746
  return;
@@ -2375,6 +2972,91 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
2375
2972
  .filter(group => group.fields.length > 0);
2376
2973
  }
2377
2974
  // === Computed Getters ===
2975
+ // === IS-A Type Relationship Computed Properties ===
2976
+ /** Whether this entity is a virtual entity (read-only view) */
2977
+ get IsVirtualEntity() {
2978
+ return this.entity?.VirtualEntity === true;
2979
+ }
2980
+ /** Whether this entity is a child type in an IS-A relationship */
2981
+ get IsChildType() {
2982
+ return this.entity?.IsChildType === true;
2983
+ }
2984
+ /** Whether this entity is a parent type in an IS-A relationship */
2985
+ get IsParentType() {
2986
+ return this.entity?.IsParentType === true;
2987
+ }
2988
+ /** The parent chain for IS-A child entities */
2989
+ get ParentChain() {
2990
+ return this.entity?.ParentChain ?? [];
2991
+ }
2992
+ /** Child entities for IS-A parent entities */
2993
+ get ChildEntities() {
2994
+ return this.entity?.ChildEntities ?? [];
2995
+ }
2996
+ /** Whether this entity has any IS-A relationship (parent or child) */
2997
+ get HasISARelationship() {
2998
+ return this.IsChildType || this.IsParentType;
2999
+ }
3000
+ /** IS-A breadcrumb string: "Webinar IS-A Meeting IS-A Product" */
3001
+ get IsaBreadcrumb() {
3002
+ if (!this.entity?.IsChildType)
3003
+ return '';
3004
+ const chain = [this.entity, ...this.entity.ParentChain];
3005
+ return chain.map(e => e.Name).join(' IS-A ');
3006
+ }
3007
+ /** Number of fields inherited from parent entities */
3008
+ get InheritedFieldCount() {
3009
+ return this.entity?.AllParentFields?.length ?? 0;
3010
+ }
3011
+ /** Navigate to an entity record in the Entity Explorer */
3012
+ NavigateToEntity(entityInfo) {
3013
+ const pkey = new CompositeKey([{ FieldName: 'ID', Value: entityInfo.ID }]);
3014
+ this.sharedService.OpenEntityRecord('Entities', pkey);
3015
+ }
3016
+ /**
3017
+ * Returns the source entity name for an IS-A inherited field, or null if the
3018
+ * field is owned by this entity. Used for displaying field source badges.
3019
+ */
3020
+ GetISAFieldSource(field) {
3021
+ if (!this.IsChildType || !field.IsVirtual || !field.AllowUpdateAPI)
3022
+ return null;
3023
+ for (const parent of this.ParentChain) {
3024
+ const parentField = parent.Fields.find(pf => pf.Name === field.Name && !pf.IsVirtual);
3025
+ if (parentField)
3026
+ return parent.Name;
3027
+ }
3028
+ return this.ParentChain[0]?.Name ?? null;
3029
+ }
3030
+ /**
3031
+ * Returns true if the given field is inherited from a parent entity via IS-A.
3032
+ */
3033
+ IsInheritedField(field) {
3034
+ return this.GetISAFieldSource(field) !== null;
3035
+ }
3036
+ /** All entities available as potential IS-A parents (excluding self and descendants) */
3037
+ get AvailableParentEntities() {
3038
+ if (!this.entity)
3039
+ return [];
3040
+ const md = new Metadata();
3041
+ const descendantIds = new Set();
3042
+ const collectDescendants = (e) => {
3043
+ descendantIds.add(e.ID);
3044
+ for (const child of e.ChildEntities) {
3045
+ collectDescendants(child);
3046
+ }
3047
+ };
3048
+ collectDescendants(this.entity);
3049
+ return md.Entities
3050
+ .filter(e => !descendantIds.has(e.ID) && e.ID !== this.entity.ID && !e.VirtualEntity)
3051
+ .sort((a, b) => a.Name.localeCompare(b.Name));
3052
+ }
3053
+ /** Sibling entities that share the same parent type */
3054
+ get SiblingEntities() {
3055
+ if (!this.IsChildType || !this.entity?.ParentEntityInfo)
3056
+ return [];
3057
+ return this.entity.ParentEntityInfo.ChildEntities
3058
+ .filter(e => e.ID !== this.entity.ID);
3059
+ }
2378
3060
  get statusClass() {
2379
3061
  if (!this.entity)
2380
3062
  return '';
@@ -2516,12 +3198,11 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
2516
3198
  }
2517
3199
  }
2518
3200
  static { this.ɵfac = /*@__PURE__*/ (() => { let ɵEntityFormComponentExtended_BaseFactory; return function EntityFormComponentExtended_Factory(__ngFactoryType__) { return (ɵEntityFormComponentExtended_BaseFactory || (ɵEntityFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(EntityFormComponentExtended)))(__ngFactoryType__ || EntityFormComponentExtended); }; })(); }
2519
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityFormComponentExtended, selectors: [["mj-entity-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["loadingOrError", ""], ["plainValue", ""], ["class", "entity-explorer", 4, "ngIf", "ngIfElse"], [1, "entity-explorer"], [1, "explorer-header"], [1, "entity-identity"], [1, "entity-icon"], [1, "entity-info"], [1, "entity-title-row"], [1, "entity-name"], [1, "status-badge", 3, "ngClass"], [1, "entity-subtitle"], [1, "schema-table"], [1, "separator"], ["class", "entity-description", 3, "title", 4, "ngIf"], [1, "header-stats"], [1, "stat-item", 3, "click"], [1, "fa-solid", "fa-table-columns"], [1, "stat-value"], [1, "stat-label"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-shield-halved"], [1, "stat-item"], [1, "fa-solid", "fa-database"], ["class", "stat-value", 4, "ngIf"], ["class", "stat-value loading", 4, "ngIf"], [1, "explorer-body"], [1, "nav-rail"], ["class", "nav-item", 3, "active", "title", "click", 4, "ngFor", "ngForOf"], [1, "main-canvas"], ["class", "section overview-section", 4, "ngIf"], ["class", "section fields-section", 4, "ngIf"], ["class", "section relationships-section", 4, "ngIf"], ["class", "section permissions-section", 4, "ngIf"], ["class", "section lineage-section", 4, "ngIf"], ["class", "section history-section", 4, "ngIf"], ["class", "section settings-section", 4, "ngIf"], [1, "detail-panel"], [1, "panel-header"], [4, "ngIf"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], ["class", "panel-content", 4, "ngIf"], [1, "entity-description", 3, "title"], [1, "stat-value", "loading"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "nav-item", 3, "click", "title"], [1, "nav-label"], ["class", "nav-badge", 4, "ngIf"], [1, "nav-badge"], [1, "section", "overview-section"], [1, "section-content"], [1, "stats-cards"], ["title", "View all fields", 1, "stat-card", "clickable", 3, "click"], [1, "stat-card-header"], [1, "fa-solid", "fa-table-cells"], [1, "stat-card-body"], [1, "stat-main"], [1, "stat-details"], [1, "stat-card-action"], [1, "fa-solid", "fa-arrow-right"], ["title", "View relationships", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-diagram-project"], ["title", "View security settings", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-lock"], [1, "stat-card"], [1, "info-panel", "capabilities-panel"], [1, "panel-title"], [1, "fa-solid", "fa-bolt"], [1, "capability-tags"], ["class", "capability-tag", 4, "ngFor", "ngForOf"], ["class", "capability-tag disabled", 4, "ngIf"], [1, "info-panel", "database-panel"], [1, "fa-solid", "fa-server"], [1, "info-grid"], [1, "info-item"], [1, "info-label"], [1, "info-value"], ["class", "info-item", 4, "ngIf"], [1, "info-panel", "codegen-panel"], [1, "fa-solid", "fa-code"], [1, "info-value", "code"], [1, "capability-tag"], [1, "fa-solid", "fa-check"], [1, "capability-tag", "disabled"], [1, "section", "fields-section"], [1, "section-header"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search fields...", 3, "ngModelChange", "ngModel"], [1, "header-controls"], [1, "view-mode-toggle"], ["title", "Group by category", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-layer-group"], ["title", "List view", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-list"], ["class", "expand-collapse-controls", 4, "ngIf"], [1, "section-content", "fields-content"], ["class", "field-groups", 4, "ngIf"], ["class", "fields-list-view", 4, "ngIf"], [1, "expand-collapse-controls"], ["title", "Expand all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-down"], ["title", "Collapse all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-up"], [1, "field-groups"], ["class", "field-group", 3, "expanded", 4, "ngFor", "ngForOf"], [1, "field-group"], [1, "group-header", 3, "click"], [1, "expand-icon", "fa-solid", 3, "ngClass"], [1, "group-icon"], [1, "group-label"], [1, "group-count"], ["class", "group-content", 4, "ngIf"], [1, "group-content"], ["class", "field-item", 3, "selected", "click", 4, "ngFor", "ngForOf"], [1, "field-item", 3, "click"], [1, "field-icon"], [1, "field-info"], [1, "field-name"], [1, "field-meta"], [1, "field-type"], ["class", "field-nullable", 4, "ngIf"], ["class", "field-related", 3, "click", 4, "ngIf"], [1, "field-badges"], ["class", "badge pk", "title", "Primary Key", 4, "ngIf"], ["class", "badge fk", "title", "Foreign Key", 4, "ngIf"], ["class", "badge encrypted", "title", "Encrypted", 4, "ngIf"], [1, "field-nullable"], [1, "field-related", 3, "click"], ["title", "Primary Key", 1, "badge", "pk"], ["title", "Foreign Key", 1, "badge", "fk"], ["title", "Encrypted", 1, "badge", "encrypted"], [1, "fields-list-view"], [1, "list-header"], [1, "list-col", "col-seq", "sortable", 3, "click"], [1, "sort-icon", "fa-solid", 3, "ngClass"], [1, "list-col", "col-name", "sortable", 3, "click"], [1, "list-col", "col-type", "sortable", 3, "click"], [1, "list-col", "col-length", "sortable", 3, "click"], [1, "list-col", "col-nullable", "sortable", 3, "click"], [1, "list-col", "col-flags"], [1, "list-col", "col-desc", "sortable", 3, "click"], [1, "list-body"], ["class", "list-row", 3, "selected", "click", 4, "ngFor", "ngForOf"], ["class", "list-empty", 4, "ngIf"], [1, "list-row", 3, "click"], [1, "list-col", "col-seq"], [1, "seq-num"], [1, "list-col", "col-name"], [1, "field-type-icon"], [1, "field-name-text"], [1, "list-col", "col-type"], [1, "type-tag"], [1, "list-col", "col-length"], ["class", "length-value", 4, "ngIf"], ["class", "length-value muted", 4, "ngIf"], [1, "list-col", "col-nullable"], [1, "required-indicator"], [1, "flag-badges"], ["class", "flag-badge pk", "title", "Primary Key", 4, "ngIf"], ["class", "flag-badge fk", "title", "Foreign Key", 4, "ngIf"], ["class", "flag-badge encrypted", "title", "Encrypted", 4, "ngIf"], [1, "list-col", "col-desc"], [1, "desc-text", 3, "title"], [1, "length-value"], [1, "length-value", "muted"], ["title", "Primary Key", 1, "flag-badge", "pk"], [1, "fa-solid", "fa-key"], ["title", "Foreign Key", 1, "flag-badge", "fk"], ["title", "Encrypted", 1, "flag-badge", "encrypted"], [1, "list-empty"], [1, "section", "relationships-section"], [1, "view-toggle"], [1, "toggle-btn", 3, "click"], ["class", "depth-selector", 4, "ngIf"], ["class", "relationships-graph", 4, "ngIf"], ["class", "relationships-list", 4, "ngIf"], [1, "depth-selector"], [1, "depth-label"], [1, "depth-buttons"], ["class", "depth-btn", 3, "active", "title", "click", 4, "ngFor", "ngForOf"], [1, "depth-btn", 3, "click", "title"], [1, "relationships-graph"], [3, "stateChange", "openRecord", "focusEntities", "showFilterPanel", "showHeader", "depth"], [1, "relationships-list"], [1, "relationship-group"], [1, "relationship-group-title"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "relationship-items", "grouped"], ["class", "relationship-item-grouped", 4, "ngFor", "ngForOf"], ["class", "empty-state", 4, "ngIf"], [1, "fa-solid", "fa-arrow-right-to-bracket"], [1, "relationship-item-grouped"], [1, "rel-header"], [1, "rel-icon", "outgoing"], [1, "rel-entity-name"], [1, "rel-fields-chips"], ["class", "field-chip outgoing", 3, "title", "click", 4, "ngFor", "ngForOf"], [1, "field-chip", "outgoing", 3, "click", "title"], [1, "empty-state"], [1, "rel-icon", "incoming"], [1, "fa-solid", "fa-arrow-left"], ["class", "field-chip incoming", 3, "title", 4, "ngFor", "ngForOf"], [1, "field-chip", "incoming", 3, "title"], ["class", "fa-solid fa-box bundle-icon", "title", "Bundled in API", 4, "ngIf"], ["title", "Bundled in API", 1, "fa-solid", "fa-box", "bundle-icon"], [1, "section", "permissions-section"], [1, "permissions-matrix"], [1, "matrix-table"], [1, "center"], [4, "ngFor", "ngForOf"], [1, "api-capabilities"], [1, "fa-solid", "fa-plug"], [1, "capability-grid"], [1, "capability-item"], [1, "fa-solid", 3, "ngClass"], [1, "role-name"], [1, "permission-icon", 3, "ngClass"], [1, "rls-info"], ["class", "rls-badge", "title", "Read RLS", 4, "ngIf"], ["class", "rls-badge", "title", "Create RLS", 4, "ngIf"], ["class", "rls-badge", "title", "Update RLS", 4, "ngIf"], ["class", "rls-badge", "title", "Delete RLS", 4, "ngIf"], ["class", "no-rls", 4, "ngIf"], ["title", "Read RLS", 1, "rls-badge"], ["title", "Create RLS", 1, "rls-badge"], ["title", "Update RLS", 1, "rls-badge"], ["title", "Delete RLS", 1, "rls-badge"], [1, "no-rls"], [1, "section", "lineage-section"], [1, "lineage-diagram"], [1, "lineage-stage", "sources"], [1, "lineage-items"], [1, "lineage-item"], [1, "fa-solid", "fa-keyboard"], ["class", "lineage-item", 4, "ngIf"], [1, "lineage-arrow"], [1, "lineage-stage", "entity-node"], [1, "entity-box"], [1, "lineage-stage", "sinks"], [1, "tracking-config"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "config-grid"], [1, "config-item"], [1, "config-label"], [1, "config-value"], [1, "fa-solid", "fa-eye"], [1, "section", "history-section"], [1, "history-config"], [1, "config-status"], [1, "config-text"], [1, "history-info"], [1, "info-card"], [1, "fa-solid", "fa-info-circle"], ["class", "info-card", 4, "ngIf"], [1, "audit-fields-list"], [1, "section", "settings-section"], [1, "settings-panel"], [1, "fa-solid", "fa-sliders"], ["class", "settings-list", 4, "ngIf"], [1, "fa-solid", "fa-magnifying-glass"], ["class", "fts-config", 4, "ngIf"], [1, "fa-solid", "fa-box"], [1, "config-row"], ["class", "config-row", 4, "ngIf"], [1, "settings-list"], ["class", "setting-item", 4, "ngFor", "ngForOf"], [1, "setting-item"], [1, "setting-name"], [4, "ngIf", "ngIfElse"], ["class", "setting-comment", 4, "ngIf"], [1, "setting-value-json"], ["language", "json", "setup", "minimal", 3, "value", "readonly", "lineWrapping"], [1, "setting-value"], [1, "setting-comment"], [1, "fts-config"], [1, "config-value", "enabled"], [1, "fa-solid", "fa-circle-check"], [1, "config-value", "code"], [1, "panel-content"], [1, "detail-section"], ["class", "field-description", 4, "ngIf"], [1, "detail-grid"], [1, "detail-item"], [1, "label"], [1, "value", "code"], [1, "value"], ["class", "detail-item", 4, "ngIf"], ["class", "detail-section", 4, "ngIf"], [1, "field-description"], [1, "value", "link", 3, "click"], [1, "value-list"], ["class", "value-item", 4, "ngFor", "ngForOf"], [1, "value-item"], ["class", "value-code", 4, "ngIf"], [1, "value-display"], [1, "value-code"], ["class", "explorer-loading", 4, "ngIf"], ["class", "explorer-error", 4, "ngIf"], ["class", "explorer-empty", 4, "ngIf"], [1, "explorer-loading"], ["text", "Loading entity..."], [1, "explorer-error"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "explorer-empty"]], template: function EntityFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
2520
- i0.ɵɵtemplate(0, EntityFormComponentExtended_div_0_Template, 61, 31, "div", 2)(1, EntityFormComponentExtended_ng_template_1_Template, 3, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
3201
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityFormComponentExtended, selectors: [["mj-entity-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 1, consts: [[1, "entity-explorer"], [1, "explorer-header"], [1, "entity-identity"], [1, "entity-icon"], [1, "entity-info"], [1, "entity-title-row"], [1, "entity-name"], [1, "status-badge", 3, "ngClass"], [1, "status-badge", "isa-badge", "virtual"], ["title", "Click to navigate to parent entity", 1, "status-badge", "isa-badge", "child-type"], [1, "status-badge", "isa-badge", "parent-type"], [1, "isa-breadcrumb"], [1, "entity-subtitle"], [1, "schema-table"], [1, "separator"], [1, "entity-description", 3, "title"], [1, "header-stats"], [1, "stat-item", 3, "click"], [1, "fa-solid", "fa-table-columns"], [1, "stat-value"], [1, "stat-label"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-shield-halved"], [1, "stat-item"], [1, "fa-solid", "fa-database"], [1, "stat-value", "loading"], [1, "explorer-body"], [1, "nav-rail"], [1, "nav-item", 3, "active", "title"], [1, "main-canvas"], [1, "section", "overview-section"], [1, "section", "fields-section"], [1, "section", "relationships-section"], [1, "section", "permissions-section"], [1, "section", "lineage-section"], [1, "section", "history-section"], [1, "section", "settings-section"], [1, "detail-panel"], [1, "panel-header"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "panel-content"], [1, "fa-solid", "fa-eye"], ["title", "Click to navigate to parent entity", 1, "status-badge", "isa-badge", "child-type", 3, "click"], [1, "fa-solid", "fa-arrow-up"], [1, "fa-solid", "fa-sitemap"], [1, "fa-solid", "fa-layer-group"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "nav-item", 3, "click", "title"], [1, "nav-label"], [1, "nav-badge"], [1, "section-content"], [1, "stats-cards"], ["title", "View all fields", 1, "stat-card", "clickable", 3, "click"], [1, "stat-card-header"], [1, "fa-solid", "fa-table-cells"], [1, "stat-card-body"], [1, "stat-main"], [1, "stat-details"], [1, "stat-card-action"], [1, "fa-solid", "fa-arrow-right"], ["title", "View relationships", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-diagram-project"], ["title", "View security settings", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-lock"], [1, "stat-card"], [1, "info-panel", "capabilities-panel"], [1, "panel-title"], [1, "fa-solid", "fa-bolt"], [1, "capability-tags"], [1, "capability-tag"], [1, "capability-tag", "disabled"], [1, "info-panel", "isa-panel"], [1, "info-panel", "database-panel"], [1, "fa-solid", "fa-server"], [1, "info-grid"], [1, "info-item"], [1, "info-label"], [1, "info-value"], [1, "info-panel", "codegen-panel"], [1, "fa-solid", "fa-code"], [1, "info-value", "code"], [1, "fa-solid", "fa-check"], [1, "isa-info-row", "virtual-info"], [1, "isa-children"], [1, "code"], [1, "isa-chain"], [1, "isa-chain-label"], [1, "isa-chain-nodes"], [1, "isa-node", "current"], [1, "isa-inherited-fields"], [1, "isa-field-inspector"], [1, "isa-siblings"], [1, "fa-solid", "fa-arrow-right", "isa-arrow"], [1, "isa-node", "parent", "clickable", 3, "click", "title"], [1, "isa-chain-label", "clickable", 3, "click"], [1, "fa-solid", 3, "ngClass"], [1, "isa-inspector-groups"], [1, "isa-inspector-group", 3, "own", "inherited"], [1, "isa-inspector-group"], [1, "isa-inspector-header"], [1, "isa-inspector-entity"], [1, "fa-solid", "fa-circle", 2, "color", "#3b82f6", "font-size", "8px"], [1, "fa-solid", "fa-arrow-up", 2, "color", "#6366f1", "font-size", "10px"], [1, "isa-inspector-count"], [1, "isa-inspector-fields"], [1, "isa-inspector-field", 3, "title"], [1, "isa-inspector-type"], [1, "isa-child-list"], [1, "isa-sibling-chip", "clickable", 3, "title"], [1, "isa-sibling-chip", "clickable", 3, "click", "title"], [1, "fa-solid", "fa-arrows-left-right"], [1, "isa-child-chip", "clickable", 3, "title"], [1, "isa-child-chip", "clickable", 3, "click", "title"], [1, "fa-solid", "fa-arrow-down"], [1, "isa-child-count"], [1, "section-header"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search fields...", 3, "ngModelChange", "ngModel"], [1, "header-controls"], [1, "view-mode-toggle"], ["title", "Group by category", 1, "toggle-btn", 3, "click"], ["title", "List view", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-list"], [1, "expand-collapse-controls"], [1, "section-content", "fields-content"], [1, "field-groups"], [1, "fields-list-view"], ["title", "Expand all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-down"], ["title", "Collapse all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-up"], [1, "field-group", 3, "expanded"], [1, "field-group"], [1, "group-header", 3, "click"], [1, "expand-icon", "fa-solid", 3, "ngClass"], [1, "group-icon"], [1, "group-label"], [1, "group-count"], [1, "group-content"], [1, "field-item", 3, "selected"], [1, "field-item", 3, "click"], [1, "field-icon"], [1, "field-info"], [1, "field-name"], [1, "field-meta"], [1, "field-type"], [1, "field-nullable"], [1, "field-related"], [1, "field-badges"], ["title", "Primary Key", 1, "badge", "pk"], ["title", "Foreign Key", 1, "badge", "fk"], ["title", "Encrypted", 1, "badge", "encrypted"], [1, "badge", "inherited", 3, "title"], [1, "field-related", 3, "click"], [1, "list-header"], [1, "list-col", "col-seq", "sortable", 3, "click"], [1, "sort-icon", "fa-solid", 3, "ngClass"], [1, "list-col", "col-name", "sortable", 3, "click"], [1, "list-col", "col-type", "sortable", 3, "click"], [1, "list-col", "col-length", "sortable", 3, "click"], [1, "list-col", "col-nullable", "sortable", 3, "click"], [1, "list-col", "col-flags"], [1, "list-col", "col-desc", "sortable", 3, "click"], [1, "list-body"], [1, "list-row", 3, "selected"], [1, "list-empty"], [1, "list-row", 3, "click"], [1, "list-col", "col-seq"], [1, "seq-num"], [1, "list-col", "col-name"], [1, "field-type-icon"], [1, "field-name-text"], [1, "list-col", "col-type"], [1, "type-tag"], [1, "list-col", "col-length"], [1, "length-value"], [1, "length-value", "muted"], [1, "list-col", "col-nullable"], [1, "required-indicator"], [1, "flag-badges"], ["title", "Primary Key", 1, "flag-badge", "pk"], ["title", "Foreign Key", 1, "flag-badge", "fk"], ["title", "Encrypted", 1, "flag-badge", "encrypted"], [1, "flag-badge", "inherited", 3, "title"], [1, "list-col", "col-desc"], [1, "desc-text", 3, "title"], [1, "fa-solid", "fa-key"], [1, "view-toggle"], [1, "toggle-btn", 3, "click"], [1, "depth-selector"], [1, "relationships-graph"], [1, "relationships-list"], [1, "depth-label"], [1, "depth-buttons"], [1, "depth-btn", 3, "active", "title"], [1, "depth-btn", 3, "click", "title"], [3, "stateChange", "openRecord", "focusEntities", "showFilterPanel", "showHeader", "depth"], [1, "relationship-group"], [1, "relationship-group-title"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "relationship-items", "grouped"], [1, "relationship-item-grouped"], [1, "empty-state"], [1, "fa-solid", "fa-arrow-right-to-bracket"], [1, "rel-header"], [1, "rel-icon", "outgoing"], [1, "rel-entity-name"], [1, "rel-fields-chips"], [1, "field-chip", "outgoing", 3, "title"], [1, "field-chip", "outgoing", 3, "click", "title"], [1, "rel-icon", "incoming"], [1, "fa-solid", "fa-arrow-left"], [1, "field-chip", "incoming", 3, "title"], ["title", "Bundled in API", 1, "fa-solid", "fa-box", "bundle-icon"], [1, "permissions-matrix"], [1, "matrix-table"], [1, "center"], [1, "api-capabilities"], [1, "fa-solid", "fa-plug"], [1, "capability-grid"], [1, "capability-item"], [1, "role-name"], [1, "permission-icon", 3, "ngClass"], [1, "rls-info"], ["title", "Read RLS", 1, "rls-badge"], ["title", "Create RLS", 1, "rls-badge"], ["title", "Update RLS", 1, "rls-badge"], ["title", "Delete RLS", 1, "rls-badge"], [1, "no-rls"], [1, "lineage-diagram"], [1, "lineage-stage", "sources"], [1, "lineage-items"], [1, "lineage-item"], [1, "fa-solid", "fa-keyboard"], [1, "lineage-arrow"], [1, "lineage-stage", "entity-node"], [1, "entity-box"], [1, "lineage-stage", "sinks"], [1, "tracking-config"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "config-grid"], [1, "config-item"], [1, "config-label"], [1, "config-value"], [1, "history-config"], [1, "config-status"], [1, "config-text"], [1, "history-info"], [1, "info-card"], [1, "fa-solid", "fa-info-circle"], [1, "audit-fields-list"], [1, "settings-panel", "isa-settings-panel"], [1, "settings-panel"], [1, "fa-solid", "fa-sliders"], [1, "settings-list"], [1, "fa-solid", "fa-magnifying-glass"], [1, "fts-config"], [1, "fa-solid", "fa-box"], [1, "config-row"], ["title", "Navigate to parent entity", 1, "link"], [1, "muted"], [1, "fa-solid", "fa-circle-check", 2, "color", "#7c3aed"], [1, "fa-solid", "fa-circle-minus", 2, "color", "#94a3b8"], ["title", "Navigate to parent entity", 1, "link", 3, "click"], [1, "link", 3, "click"], [1, "fa-solid", "fa-circle-check", 2, "color", "#059669"], [1, "setting-item"], [1, "setting-name"], [1, "setting-value-json"], [1, "setting-value"], [1, "setting-comment"], ["language", "json", "setup", "minimal", 3, "value", "readonly", "lineWrapping"], [1, "config-value", "enabled"], [1, "fa-solid", "fa-circle-check"], [1, "config-value", "code"], [1, "detail-section"], [1, "field-description"], [1, "detail-grid"], [1, "detail-item"], [1, "label"], [1, "value", "code"], [1, "value"], [1, "detail-section", "isa-source-section"], ["title", "Navigate to source entity", 1, "value", "link", 3, "click"], [1, "value", "link", 3, "click"], [1, "value-list"], [1, "value-item"], [1, "value-code"], [1, "value-display"], [1, "explorer-loading"], [1, "explorer-error"], [1, "explorer-empty"], ["text", "Loading entity..."], [1, "fa-solid", "fa-exclamation-triangle"]], template: function EntityFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
3202
+ i0.ɵɵconditionalCreate(0, EntityFormComponentExtended_Conditional_0_Template, 66, 34, "div", 0)(1, EntityFormComponentExtended_Conditional_1_Template, 3, 3);
2521
3203
  } if (rf & 2) {
2522
- const loadingOrError_r31 = i0.ɵɵreference(2);
2523
- i0.ɵɵproperty("ngIf", !ctx.isExplorerLoading && ctx.entity)("ngIfElse", loadingOrError_r31);
2524
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.CodeEditorComponent, i4.LoadingComponent, i5.ERDCompositeComponent, i1.SlicePipe, i1.DatePipe], styles: ["\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n\n\n\n\n\n.explorer-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator[_ngcontent-%COMP%] {\n color: var(--border-color);\n}\n\n.entity-description[_ngcontent-%COMP%] {\n color: var(--text-secondary);\n}\n\n\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n\n\n\n.explorer-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n\n\n.nav-rail[_ngcontent-%COMP%] {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label[_ngcontent-%COMP%] {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n transform: scale(1.1);\n}\n\n.nav-item.active[_ngcontent-%COMP%] {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n transform: scale(1.05);\n}\n\n.nav-item.active[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n\n\n\n\n\n.main-canvas[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open[_ngcontent-%COMP%] {\n margin-right: var(--detail-panel-width);\n}\n\n\n\n.section[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n\n\n.search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--text-muted);\n}\n\n\n\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn[_ngcontent-%COMP%] {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.depth-selector[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.header-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.control-btn[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n\n\n.fields-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%]:hover {\n color: var(--accent-color);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable.sorted[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.sort-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable[_ngcontent-%COMP%]:hover .sort-icon[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted[_ngcontent-%COMP%] .sort-icon[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.list-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n.col-seq[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.seq-num[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row[_ngcontent-%COMP%]:hover .seq-num[_ngcontent-%COMP%], \n.list-row.selected[_ngcontent-%COMP%] .seq-num[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon[_ngcontent-%COMP%] {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.required-indicator[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required[_ngcontent-%COMP%] {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.required-indicator.optional[_ngcontent-%COMP%] {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.desc-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n\n\n\n\n\n.stats-cards[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover .stat-card-action[_ngcontent-%COMP%] {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action[_ngcontent-%COMP%] {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-main[_ngcontent-%COMP%] {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-details[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n\n\n.info-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n\n\n.capability-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.capability-tag.disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n\n\n.info-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n\n\n\n\n\n.fields-content[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.field-group[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count[_ngcontent-%COMP%] {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content[_ngcontent-%COMP%] {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.field-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.field-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.field-related[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.field-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.badge[_ngcontent-%COMP%] {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk[_ngcontent-%COMP%] {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted[_ngcontent-%COMP%] {\n background: #fce7f3;\n color: #9d174d;\n}\n\n\n\n\n\n\n.relationships-graph[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-erd[_ngcontent-%COMP%], \n.relationships-graph[_ngcontent-%COMP%] mj-erd-composite[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n\n\n.relationships-graph[_ngcontent-%COMP%] .erd-splitter[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph[_ngcontent-%COMP%] kendo-splitter-pane[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-details[_ngcontent-%COMP%] {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.relationship-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.relationship-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n.rel-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.rel-entity[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.rel-field[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type[_ngcontent-%COMP%], \n.rel-display-type[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n.relationship-group-title[_ngcontent-%COMP%] .group-count[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.rel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; \n\n}\n\n.field-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%]:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming[_ngcontent-%COMP%]:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip[_ngcontent-%COMP%] .bundle-icon[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n\n\n\n\n\n.permissions-matrix[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table[_ngcontent-%COMP%] th.center[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td.center[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.matrix-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.role-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.permission-icon.granted[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.permission-icon.denied[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.rls-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls[_ngcontent-%COMP%] {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n\n\n.api-capabilities[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n\n\n\n.lineage-diagram[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.lineage-stage[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.lineage-arrow[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n}\n\n.tracking-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.config-item[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.history-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.config-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.info-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n\n\n\n.settings-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item[_ngcontent-%COMP%] {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json[_ngcontent-%COMP%] {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config[_ngcontent-%COMP%], \n.settings-section[_ngcontent-%COMP%] .config-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.enabled[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n\n\n\n\n\n.detail-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open[_ngcontent-%COMP%] {\n transform: translateX(0);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.detail-section[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%] {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.value-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display[_ngcontent-%COMP%] {\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n}\n\n\n\n\n\n\n.explorer-loading[_ngcontent-%COMP%], \n.explorer-error[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n opacity: 1;\n}", ".k-pane[_ngcontent-%COMP%] {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n\n\n\n\n\n\n\n\n\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 \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: #F5F6FA;\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: #6b7280;\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: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #3b82f6;\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6b7280;\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: #667eea;\n color: white;\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: #fef08a;\n color: #854d0e;\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: #10b981;\n color: white;\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: #9ca3af;\n}"], changeDetection: 0 }); }
3204
+ i0.ɵɵconditional(!ctx.isExplorerLoading && ctx.entity ? 0 : 1);
3205
+ } }, dependencies: [i1.NgClass, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.CodeEditorComponent, i4.LoadingComponent, i5.ERDCompositeComponent, i1.SlicePipe, i1.DecimalPipe, i1.DatePipe], styles: ["\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n\n\n\n\n\n.explorer-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator[_ngcontent-%COMP%] {\n color: var(--border-color);\n}\n\n.entity-description[_ngcontent-%COMP%] {\n color: var(--text-secondary);\n}\n\n\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n\n\n\n.explorer-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n\n\n.nav-rail[_ngcontent-%COMP%] {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label[_ngcontent-%COMP%] {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n transform: scale(1.1);\n}\n\n.nav-item.active[_ngcontent-%COMP%] {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n transform: scale(1.05);\n}\n\n.nav-item.active[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n\n\n\n\n\n.main-canvas[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open[_ngcontent-%COMP%] {\n margin-right: var(--detail-panel-width);\n}\n\n\n\n.section[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n\n\n.search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--text-muted);\n}\n\n\n\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn[_ngcontent-%COMP%] {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.depth-selector[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.header-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.control-btn[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n\n\n.fields-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%]:hover {\n color: var(--accent-color);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable.sorted[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.sort-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable[_ngcontent-%COMP%]:hover .sort-icon[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted[_ngcontent-%COMP%] .sort-icon[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.list-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n.col-seq[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.seq-num[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row[_ngcontent-%COMP%]:hover .seq-num[_ngcontent-%COMP%], \n.list-row.selected[_ngcontent-%COMP%] .seq-num[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon[_ngcontent-%COMP%] {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.required-indicator[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required[_ngcontent-%COMP%] {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.required-indicator.optional[_ngcontent-%COMP%] {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.desc-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n\n\n\n\n\n.stats-cards[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover .stat-card-action[_ngcontent-%COMP%] {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action[_ngcontent-%COMP%] {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-main[_ngcontent-%COMP%] {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-details[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n\n\n.info-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n\n\n.capability-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.capability-tag.disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n\n\n.info-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n\n\n\n\n\n.fields-content[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.field-group[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count[_ngcontent-%COMP%] {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content[_ngcontent-%COMP%] {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.field-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.field-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.field-related[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.field-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.badge[_ngcontent-%COMP%] {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk[_ngcontent-%COMP%] {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted[_ngcontent-%COMP%] {\n background: #fce7f3;\n color: #9d174d;\n}\n\n\n\n\n\n\n.relationships-graph[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-erd[_ngcontent-%COMP%], \n.relationships-graph[_ngcontent-%COMP%] mj-erd-composite[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n\n\n.relationships-graph[_ngcontent-%COMP%] .erd-splitter[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph[_ngcontent-%COMP%] kendo-splitter-pane[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-details[_ngcontent-%COMP%] {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.relationship-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.relationship-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n.rel-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.rel-entity[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.rel-field[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type[_ngcontent-%COMP%], \n.rel-display-type[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n.relationship-group-title[_ngcontent-%COMP%] .group-count[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.rel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; \n\n}\n\n.field-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%]:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming[_ngcontent-%COMP%]:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip[_ngcontent-%COMP%] .bundle-icon[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n\n\n\n\n\n.permissions-matrix[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table[_ngcontent-%COMP%] th.center[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td.center[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.matrix-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.role-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.permission-icon.granted[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.permission-icon.denied[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.rls-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls[_ngcontent-%COMP%] {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n\n\n.api-capabilities[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n\n\n\n.lineage-diagram[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.lineage-stage[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.lineage-arrow[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n}\n\n.tracking-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.config-item[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.history-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.config-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.info-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n\n\n\n.settings-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item[_ngcontent-%COMP%] {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json[_ngcontent-%COMP%] {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config[_ngcontent-%COMP%], \n.settings-section[_ngcontent-%COMP%] .config-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.enabled[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n\n\n\n\n\n.detail-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open[_ngcontent-%COMP%] {\n transform: translateX(0);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.detail-section[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%] {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.value-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display[_ngcontent-%COMP%] {\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n}\n\n\n\n\n\n\n.explorer-loading[_ngcontent-%COMP%], \n.explorer-error[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n\n\n\n\n\n\n\n.isa-badge[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n padding: 3px 10px;\n border-radius: 12px;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n cursor: default;\n white-space: nowrap;\n}\n\n.isa-badge.virtual[_ngcontent-%COMP%] {\n background: rgba(139, 92, 246, 0.12);\n color: #7c3aed;\n border: 1px solid rgba(139, 92, 246, 0.25);\n}\n\n.isa-badge.child-type[_ngcontent-%COMP%] {\n background: rgba(59, 130, 246, 0.12);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.25);\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.isa-badge.child-type[_ngcontent-%COMP%]:hover {\n background: rgba(59, 130, 246, 0.22);\n}\n\n.isa-badge.parent-type[_ngcontent-%COMP%] {\n background: rgba(16, 185, 129, 0.12);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.25);\n}\n\n\n\n.isa-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6366f1;\n font-weight: 500;\n margin-top: 2px;\n padding: 2px 0;\n}\n\n.isa-breadcrumb[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n opacity: 0.7;\n}\n\n\n\n.isa-panel[_ngcontent-%COMP%] {\n border-left: 3px solid #6366f1;\n}\n\n.isa-info-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-radius: 6px;\n font-size: 13px;\n color: var(--text-primary, #334155);\n}\n\n.isa-info-row.virtual-info[_ngcontent-%COMP%] {\n background: rgba(139, 92, 246, 0.06);\n}\n\n.isa-info-row.virtual-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #7c3aed;\n font-size: 14px;\n}\n\n.isa-info-row[_ngcontent-%COMP%] .code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n font-size: 12px;\n background: rgba(0, 0, 0, 0.06);\n padding: 1px 6px;\n border-radius: 3px;\n color: #7c3aed;\n}\n\n\n\n.isa-chain[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.isa-chain-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.isa-chain-nodes[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n padding: 6px 0;\n}\n\n.isa-node[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n}\n\n.isa-node.current[_ngcontent-%COMP%] {\n background: #3b82f6;\n color: white;\n}\n\n.isa-node.parent[_ngcontent-%COMP%] {\n background: rgba(59, 130, 246, 0.1);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.isa-arrow[_ngcontent-%COMP%] {\n color: var(--text-muted, #94a3b8);\n font-size: 11px;\n}\n\n.isa-inherited-fields[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--text-muted, #94a3b8);\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inherited-fields[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #6366f1;\n}\n\n\n\n.isa-children[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.isa-child-list[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 4px 0;\n}\n\n.isa-child-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(16, 185, 129, 0.1);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.2);\n}\n\n\n\n.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.clickable[_ngcontent-%COMP%]:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.isa-node.parent.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(59, 130, 246, 0.2);\n border-color: rgba(59, 130, 246, 0.35);\n}\n\n.isa-child-chip.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(16, 185, 129, 0.2);\n border-color: rgba(16, 185, 129, 0.35);\n}\n\n\n\n.badge.inherited[_ngcontent-%COMP%], \n.flag-badge.inherited[_ngcontent-%COMP%] {\n background: rgba(99, 102, 241, 0.1);\n color: #6366f1;\n border: 1px solid rgba(99, 102, 241, 0.2);\n font-size: 10px;\n font-weight: 600;\n gap: 3px;\n}\n\n.flag-badge.inherited[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 10px;\n}\n\n.flag-badge.inherited[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n\n\n\n.isa-source-section[_ngcontent-%COMP%] {\n background: rgba(99, 102, 241, 0.04);\n border-radius: 6px;\n padding: 12px;\n margin: -4px -12px 8px;\n}\n\n.isa-source-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #6366f1;\n}\n\n.isa-source-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 4px;\n}\n\n\n\n.isa-settings-panel[_ngcontent-%COMP%] {\n border-left: 3px solid #6366f1;\n}\n\n.isa-settings-panel[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] {\n color: #3b82f6;\n cursor: pointer;\n transition: color 0.15s ease;\n}\n\n.isa-settings-panel[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.isa-settings-panel[_ngcontent-%COMP%] .muted[_ngcontent-%COMP%] {\n color: var(--text-muted, #94a3b8);\n}\n\n\n\n.isa-field-inspector[_ngcontent-%COMP%] {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-field-inspector[_ngcontent-%COMP%] > .isa-chain-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.isa-inspector-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n}\n\n.isa-inspector-group[_ngcontent-%COMP%] {\n border-radius: 6px;\n padding: 8px 12px;\n border: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inspector-group.own[_ngcontent-%COMP%] {\n background: rgba(59, 130, 246, 0.04);\n border-color: rgba(59, 130, 246, 0.15);\n}\n\n.isa-inspector-group.inherited[_ngcontent-%COMP%] {\n background: rgba(99, 102, 241, 0.04);\n border-color: rgba(99, 102, 241, 0.15);\n}\n\n.isa-inspector-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 6px;\n}\n\n.isa-inspector-entity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-count[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--text-muted, #94a3b8);\n font-weight: 500;\n}\n\n.isa-inspector-fields[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.isa-inspector-field[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: rgba(0, 0, 0, 0.04);\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-type[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--text-muted, #94a3b8);\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\n\n\n\n.isa-siblings[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.isa-sibling-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(245, 158, 11, 0.1);\n color: #d97706;\n border: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.isa-sibling-chip.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(245, 158, 11, 0.2);\n border-color: rgba(245, 158, 11, 0.35);\n}\n\n\n\n.isa-child-count[_ngcontent-%COMP%] {\n font-size: 11px;\n background: rgba(0, 0, 0, 0.08);\n padding: 1px 6px;\n border-radius: 8px;\n margin-left: 2px;\n font-weight: 600;\n}\n\n.isa-child-count[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}", ".k-pane[_ngcontent-%COMP%] {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n\n\n\n\n\n\n\n\n\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 \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: #F5F6FA;\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: #6b7280;\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: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #3b82f6;\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6b7280;\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: #667eea;\n color: white;\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: #fef08a;\n color: #854d0e;\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: #10b981;\n color: white;\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: #9ca3af;\n}"], changeDetection: 0 }); }
2525
3206
  };
2526
3207
  EntityFormComponentExtended = __decorate([
2527
3208
  RegisterClass(BaseFormComponent, 'Entities')
@@ -2529,10 +3210,7 @@ EntityFormComponentExtended = __decorate([
2529
3210
  export { EntityFormComponentExtended };
2530
3211
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityFormComponentExtended, [{
2531
3212
  type: Component,
2532
- args: [{ selector: 'mj-entity-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"entity-explorer\" *ngIf=\"!isExplorerLoading && entity; else loadingOrError\">\n <!-- ============================================================ -->\n <!-- HEADER BAR -->\n <!-- ============================================================ -->\n <header class=\"explorer-header\">\n <div class=\"entity-identity\">\n <div class=\"entity-icon\" [style.background-color]=\"'#3b82f6'\">\n <i [class]=\"entityIcon\"></i>\n </div>\n <div class=\"entity-info\">\n <div class=\"entity-title-row\">\n <h1 class=\"entity-name\">{{ entityDisplayName }}</h1>\n <span class=\"status-badge\" [ngClass]=\"statusClass\">\n {{ entity.Status }}\n </span>\n </div>\n <div class=\"entity-subtitle\">\n <span class=\"schema-table\">{{ entity.SchemaName }}.{{ entity.BaseTable }}</span>\n <span class=\"separator\">|</span>\n <span class=\"entity-description\" *ngIf=\"entity.Description\" [title]=\"entity.Description\">\n {{ entity.Description | slice:0:80 }}{{ entity.Description.length > 80 ? '...' : '' }}\n </span>\n </div>\n </div>\n </div>\n\n <div class=\"header-stats\">\n <div class=\"stat-item\" (click)=\"setActiveSection('fields')\">\n <i class=\"fa-solid fa-table-columns\"></i>\n <span class=\"stat-value\">{{ stats.fieldCount }}</span>\n <span class=\"stat-label\">Fields</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('relationships')\">\n <i class=\"fa-solid fa-link\"></i>\n <span class=\"stat-value\">{{ stats.relationshipCount }}</span>\n <span class=\"stat-label\">Relations</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('permissions')\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <span class=\"stat-value\">{{ stats.permissionCount }}</span>\n <span class=\"stat-label\">Roles</span>\n </div>\n <div class=\"stat-item\">\n <i class=\"fa-solid fa-database\"></i>\n <span class=\"stat-value\" *ngIf=\"!isRowCountLoading\">{{ formattedRowCount }}</span>\n <span class=\"stat-value loading\" *ngIf=\"isRowCountLoading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </span>\n <span class=\"stat-label\">Rows</span>\n </div>\n </div>\n </header>\n\n <!-- ============================================================ -->\n <!-- MAIN CONTENT AREA -->\n <!-- ============================================================ -->\n <div class=\"explorer-body\">\n <!-- Navigation Rail -->\n <nav class=\"nav-rail\">\n <button\n *ngFor=\"let item of navItems\"\n class=\"nav-item\"\n [class.active]=\"activeSection === item.id\"\n (click)=\"setActiveSection(item.id)\"\n [title]=\"item.label\">\n <i [class]=\"item.icon\"></i>\n <span class=\"nav-label\">{{ item.label }}</span>\n <span class=\"nav-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </button>\n </nav>\n\n <!-- Main Canvas -->\n <main class=\"main-canvas\" [class.panel-open]=\"detailPanelOpen\">\n <!-- ============================================================ -->\n <!-- OVERVIEW SECTION -->\n <!-- ============================================================ -->\n <section class=\"section overview-section\" *ngIf=\"activeSection === 'overview'\">\n <div class=\"section-content\">\n <!-- Stats Cards Row - Clickable to navigate to sections -->\n <div class=\"stats-cards\">\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('fields')\" title=\"View all fields\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>Fields</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.fieldCount }}</div>\n <div class=\"stat-details\">\n <span>{{ stats.primaryKeyCount }} PKs</span>\n <span>{{ stats.foreignKeyCount }} FKs</span>\n <span *ngIf=\"stats.encryptedFieldCount\">{{ stats.encryptedFieldCount }} Encrypted</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('relationships')\" title=\"View relationships\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n <span>Relationships</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.relationshipCount }}</div>\n <div class=\"stat-details\">\n <span>{{ groupedOutgoingRelationships.length }} Out</span>\n <span>{{ groupedIncomingRelationships.length }} In</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('permissions')\" title=\"View security settings\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-lock\"></i>\n <span>Security</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.permissionCount }}</div>\n <div class=\"stat-details\">\n <span>Roles configured</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n\n <div class=\"stat-card\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Data</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ formattedRowCount }}</div>\n <div class=\"stat-details\">\n <span *ngIf=\"entity.RowCountRunAt\">Updated {{ entity.RowCountRunAt | date:'short' }}</span>\n <span *ngIf=\"!entity.RowCountRunAt\">Row count</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Capabilities -->\n <div class=\"info-panel capabilities-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Capabilities\n </h3>\n <div class=\"capability-tags\">\n <span class=\"capability-tag\" *ngFor=\"let cap of capabilitySummary\">\n <i class=\"fa-solid fa-check\"></i>\n {{ cap }}\n </span>\n <span class=\"capability-tag disabled\" *ngIf=\"!entity.IncludeInAPI\">\n <i class=\"fa-solid fa-xmark\"></i>\n No API\n </span>\n </div>\n </div>\n\n <!-- Database Info -->\n <div class=\"info-panel database-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-server\"></i>\n Database\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Schema</span>\n <span class=\"info-value\">{{ entity.SchemaName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Table</span>\n <span class=\"info-value\">{{ entity.BaseTable }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">View</span>\n <span class=\"info-value\">{{ entity.BaseView }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Delete Type</span>\n <span class=\"info-value\">{{ entity.DeleteType }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.spCreate\">\n <span class=\"info-label\">SP Create</span>\n <span class=\"info-value code\">{{ entity.spCreate }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.spUpdate\">\n <span class=\"info-label\">SP Update</span>\n <span class=\"info-value code\">{{ entity.spUpdate }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.spDelete\">\n <span class=\"info-label\">SP Delete</span>\n <span class=\"info-value code\">{{ entity.spDelete }}</span>\n </div>\n </div>\n </div>\n\n <!-- Code Gen Info -->\n <div class=\"info-panel codegen-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Code Generation\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Class Name</span>\n <span class=\"info-value code\">{{ entity.ClassName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Code Name</span>\n <span class=\"info-value code\">{{ entity.CodeName }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.EntityObjectSubclassName\">\n <span class=\"info-label\">Subclass</span>\n <span class=\"info-value code\">{{ entity.EntityObjectSubclassName }}</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- FIELDS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section fields-section\" *ngIf=\"activeSection === 'fields'\">\n <div class=\"section-header\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Search fields...\"\n [ngModel]=\"fieldSearchTerm\"\n (ngModelChange)=\"onFieldSearch($event)\">\n </div>\n\n <div class=\"header-controls\">\n <!-- View mode toggle -->\n <div class=\"view-mode-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'grouped'\"\n (click)=\"fieldViewMode = 'grouped'\"\n title=\"Group by category\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'list'\"\n (click)=\"fieldViewMode = 'list'\"\n title=\"List view\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n\n <!-- Expand/Collapse controls (only in grouped mode) -->\n <div class=\"expand-collapse-controls\" *ngIf=\"fieldViewMode === 'grouped'\">\n <button\n class=\"control-btn\"\n (click)=\"expandAllFieldGroups()\"\n [disabled]=\"allFieldGroupsExpanded\"\n title=\"Expand all\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button\n class=\"control-btn\"\n (click)=\"collapseAllFieldGroups()\"\n [disabled]=\"allFieldGroupsCollapsed\"\n title=\"Collapse all\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"section-content fields-content\">\n <!-- Grouped View -->\n <div class=\"field-groups\" *ngIf=\"fieldViewMode === 'grouped'\">\n <div\n class=\"field-group\"\n *ngFor=\"let group of getFilteredFieldGroups()\"\n [class.expanded]=\"isFieldGroupExpanded(group.id)\">\n\n <div class=\"group-header\" (click)=\"toggleFieldGroup(group.id)\">\n <i class=\"expand-icon fa-solid\" [ngClass]=\"isFieldGroupExpanded(group.id) ? 'fa-chevron-down' : 'fa-chevron-right'\"></i>\n <i [class]=\"group.icon\" class=\"group-icon\"></i>\n <span class=\"group-label\">{{ group.label }}</span>\n <span class=\"group-count\">{{ group.fields.length }}</span>\n </div>\n\n <div class=\"group-content\" *ngIf=\"isFieldGroupExpanded(group.id)\">\n <div\n class=\"field-item\"\n *ngFor=\"let field of group.fields\"\n (click)=\"selectField(field)\"\n [class.selected]=\"selectedField?.ID === field.ID\">\n\n <div class=\"field-icon\">\n <i [class]=\"getFieldTypeIcon(field)\"></i>\n </div>\n\n <div class=\"field-info\">\n <div class=\"field-name\">{{ field.DisplayName || field.Name }}</div>\n <div class=\"field-meta\">\n <span class=\"field-type\">{{ formatFieldType(field) }}</span>\n <span class=\"field-nullable\" *ngIf=\"!field.AllowsNull\">Required</span>\n <span class=\"field-related\" *ngIf=\"field.RelatedEntityID\" (click)=\"navigateToRelatedEntity(field); $event.stopPropagation()\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n {{ getRelatedEntityName(field) }}\n </span>\n </div>\n </div>\n\n <div class=\"field-badges\">\n <span class=\"badge pk\" *ngIf=\"field.IsPrimaryKey\" title=\"Primary Key\">PK</span>\n <span class=\"badge fk\" *ngIf=\"field.RelatedEntityID && !field.IsPrimaryKey\" title=\"Foreign Key\">FK</span>\n <span class=\"badge encrypted\" *ngIf=\"field.Encrypt\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- List View - Modern Card-style Table -->\n <div class=\"fields-list-view\" *ngIf=\"fieldViewMode === 'list'\">\n <!-- Table Header -->\n <div class=\"list-header\">\n <div class=\"list-col col-seq sortable\" (click)=\"sortFieldList('Sequence')\" [class.sorted]=\"fieldListSortColumn === 'Sequence'\">\n #\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Sequence' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-name sortable\" (click)=\"sortFieldList('Name')\" [class.sorted]=\"fieldListSortColumn === 'Name'\">\n Field Name\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Name' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-type sortable\" (click)=\"sortFieldList('Type')\" [class.sorted]=\"fieldListSortColumn === 'Type'\">\n Type\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Type' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-length sortable\" (click)=\"sortFieldList('Length')\" [class.sorted]=\"fieldListSortColumn === 'Length'\">\n Length\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Length' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-nullable sortable\" (click)=\"sortFieldList('AllowsNull')\" [class.sorted]=\"fieldListSortColumn === 'AllowsNull'\">\n Required\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'AllowsNull' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-flags\">Flags</div>\n <div class=\"list-col col-desc sortable\" (click)=\"sortFieldList('Description')\" [class.sorted]=\"fieldListSortColumn === 'Description'\">\n Description\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Description' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n </div>\n\n <!-- Table Body -->\n <div class=\"list-body\">\n <div\n class=\"list-row\"\n *ngFor=\"let field of getFilteredFieldsList(); let i = index\"\n [class.selected]=\"selectedField?.ID === field.ID\"\n (click)=\"selectField(field)\">\n <div class=\"list-col col-seq\">\n <span class=\"seq-num\">{{ field.Sequence }}</span>\n </div>\n <div class=\"list-col col-name\">\n <i [class]=\"getFieldTypeIcon(field)\" class=\"field-type-icon\"></i>\n <span class=\"field-name-text\">{{ field.DisplayName || field.Name }}</span>\n </div>\n <div class=\"list-col col-type\">\n <span class=\"type-tag\">{{ field.Type }}</span>\n </div>\n <div class=\"list-col col-length\">\n <span class=\"length-value\" *ngIf=\"field.Length > 0\">{{ field.Length }}</span>\n <span class=\"length-value muted\" *ngIf=\"field.Length <= 0\">\u2014</span>\n </div>\n <div class=\"list-col col-nullable\">\n <span class=\"required-indicator\" [class.required]=\"!field.AllowsNull\" [class.optional]=\"field.AllowsNull\">\n <i [class]=\"field.AllowsNull ? 'fa-solid fa-circle-minus' : 'fa-solid fa-circle-check'\"></i>\n {{ field.AllowsNull ? 'Optional' : 'Required' }}\n </span>\n </div>\n <div class=\"list-col col-flags\">\n <div class=\"flag-badges\">\n <span class=\"flag-badge pk\" *ngIf=\"field.IsPrimaryKey\" title=\"Primary Key\">\n <i class=\"fa-solid fa-key\"></i> PK\n </span>\n <span class=\"flag-badge fk\" *ngIf=\"field.RelatedEntityID && !field.IsPrimaryKey\" title=\"Foreign Key\">\n <i class=\"fa-solid fa-link\"></i> FK\n </span>\n <span class=\"flag-badge encrypted\" *ngIf=\"field.Encrypt\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n </div>\n </div>\n <div class=\"list-col col-desc\">\n <span class=\"desc-text\" [title]=\"field.Description || ''\">{{ field.Description || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <!-- Empty state -->\n <div class=\"list-empty\" *ngIf=\"getFilteredFieldsList().length === 0\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No fields match your search</span>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- RELATIONSHIPS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section relationships-section\" *ngIf=\"activeSection === 'relationships'\">\n <div class=\"section-header\">\n <div class=\"view-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'diagram'\"\n (click)=\"relationshipViewMode = 'diagram'\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n Diagram\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'list'\"\n (click)=\"relationshipViewMode = 'list'\">\n <i class=\"fa-solid fa-list\"></i>\n List\n </button>\n </div>\n\n <!-- Depth selector (only in diagram mode) -->\n <div class=\"depth-selector\" *ngIf=\"relationshipViewMode === 'diagram'\">\n <span class=\"depth-label\">Depth:</span>\n <div class=\"depth-buttons\">\n <button\n *ngFor=\"let d of [1, 2, 3, 4, 5]\"\n class=\"depth-btn\"\n [class.active]=\"erdDepth === d\"\n (click)=\"setErdDepth(d)\"\n [title]=\"'Show ' + d + ' level(s) of relationships'\">\n {{ d }}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"section-content\">\n <!-- Diagram View using the ERD composite component -->\n <div class=\"relationships-graph\" *ngIf=\"relationshipViewMode === 'diagram'\">\n <mj-erd-composite\n [focusEntities]=\"entity ? [entity] : []\"\n [showFilterPanel]=\"false\"\n [showHeader]=\"false\"\n [depth]=\"erdDepth\"\n (stateChange)=\"onERDStateChange($event)\"\n (openRecord)=\"onERDOpenRecord($event)\">\n </mj-erd-composite>\n </div>\n\n <!-- List View -->\n <div class=\"relationships-list\" *ngIf=\"relationshipViewMode === 'list'\">\n <!-- Outgoing Relationships (FK fields on this entity) - Grouped by target entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n Outgoing (References to other entities)\n <span class=\"group-count\">{{ groupedOutgoingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n <div\n class=\"relationship-item-grouped\"\n *ngFor=\"let group of groupedOutgoingRelationships\">\n <div class=\"rel-header\">\n <div class=\"rel-icon outgoing\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n <span\n class=\"field-chip outgoing\"\n *ngFor=\"let field of group.fields\"\n [title]=\"field.Description || field.Name\"\n (click)=\"selectField(field)\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.Name }}\n </span>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"groupedOutgoingRelationships.length === 0\">\n <p>No outgoing relationships</p>\n </div>\n </div>\n </div>\n\n <!-- Incoming Relationships - Grouped by source entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-to-bracket\"></i>\n Incoming (Entities that reference this one)\n <span class=\"group-count\">{{ groupedIncomingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n <div\n class=\"relationship-item-grouped\"\n *ngFor=\"let group of groupedIncomingRelationships\">\n <div class=\"rel-header\">\n <div class=\"rel-icon incoming\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n <span\n class=\"field-chip incoming\"\n *ngFor=\"let field of group.fields\"\n [title]=\"'Type: ' + field.type\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.fieldName }}\n <i class=\"fa-solid fa-box bundle-icon\" *ngIf=\"field.bundleInAPI\" title=\"Bundled in API\"></i>\n </span>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"groupedIncomingRelationships.length === 0\">\n <p>No incoming relationships</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- PERMISSIONS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section permissions-section\" *ngIf=\"activeSection === 'permissions'\">\n <div class=\"section-content\">\n <div class=\"permissions-matrix\">\n <table class=\"matrix-table\">\n <thead>\n <tr>\n <th>Role</th>\n <th class=\"center\">Create</th>\n <th class=\"center\">Read</th>\n <th class=\"center\">Update</th>\n <th class=\"center\">Delete</th>\n <th>RLS</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let perm of entity.Permissions\">\n <td class=\"role-name\">{{ getRoleName(perm) }}</td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanCreate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanRead ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanUpdate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanDelete ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"rls-info\">\n <span *ngIf=\"perm.ReadRLSFilterID\" class=\"rls-badge\" title=\"Read RLS\">R</span>\n <span *ngIf=\"perm.CreateRLSFilterID\" class=\"rls-badge\" title=\"Create RLS\">C</span>\n <span *ngIf=\"perm.UpdateRLSFilterID\" class=\"rls-badge\" title=\"Update RLS\">U</span>\n <span *ngIf=\"perm.DeleteRLSFilterID\" class=\"rls-badge\" title=\"Delete RLS\">D</span>\n <span *ngIf=\"!perm.ReadRLSFilterID && !perm.CreateRLSFilterID && !perm.UpdateRLSFilterID && !perm.DeleteRLSFilterID\" class=\"no-rls\">None</span>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"empty-state\" *ngIf=\"entity.Permissions.length === 0\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <p>No permissions configured</p>\n </div>\n </div>\n\n <div class=\"api-capabilities\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-plug\"></i>\n API Capabilities\n </h3>\n <div class=\"capability-grid\">\n <div class=\"capability-item\" [class.enabled]=\"entity.IncludeInAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.IncludeInAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Include in API</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowAllRowsAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowAllRowsAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow All Rows</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowCreateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowCreateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Create</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUpdateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUpdateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Update</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowDeleteAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowDeleteAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Delete</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUserSearchAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUserSearchAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>User Search</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.CustomResolverAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CustomResolverAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Custom Resolver</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- LINEAGE SECTION -->\n <!-- ============================================================ -->\n <section class=\"section lineage-section\" *ngIf=\"activeSection === 'lineage'\">\n <div class=\"section-content\">\n <div class=\"lineage-diagram\">\n <div class=\"lineage-stage sources\">\n <h4>Data Sources</h4>\n <div class=\"lineage-items\">\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-keyboard\"></i>\n <span>Manual Entry</span>\n </div>\n <div class=\"lineage-item\" *ngIf=\"entity.IncludeInAPI\">\n <i class=\"fa-solid fa-plug\"></i>\n <span>API Create</span>\n </div>\n </div>\n </div>\n\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n\n <div class=\"lineage-stage entity-node\">\n <div class=\"entity-box\">\n <i [class]=\"entityIcon\"></i>\n <span>{{ entity.Name }}</span>\n </div>\n </div>\n\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n\n <div class=\"lineage-stage sinks\">\n <h4>Data Sinks</h4>\n <div class=\"lineage-items\">\n <div class=\"lineage-item\" *ngIf=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n <span>Record Changes</span>\n </div>\n <div class=\"lineage-item\" *ngIf=\"entity.AuditRecordAccess\">\n <i class=\"fa-solid fa-eye\"></i>\n <span>Access Audit</span>\n </div>\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-link\"></i>\n <span>Related Entities ({{ stats.relationshipCount }})</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tracking-config\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Tracking Configuration\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-item\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Track Record Changes</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditRecordAccess\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditRecordAccess ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit Record Access</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditViewRuns\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditViewRuns ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit View Runs</span>\n </div>\n <div class=\"config-item\">\n <span class=\"config-label\">Delete Type:</span>\n <span class=\"config-value\">{{ entity.DeleteType }}</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.CascadeDeletes\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CascadeDeletes ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Cascade Deletes</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- HISTORY SECTION -->\n <!-- ============================================================ -->\n <section class=\"section history-section\" *ngIf=\"activeSection === 'history'\">\n <div class=\"section-content\">\n <div class=\"history-config\">\n <div class=\"config-status\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-circle-check' : 'fa-circle-xmark'\"></i>\n <div class=\"config-text\">\n <strong>Record Change Tracking</strong>\n <span>{{ entity.TrackRecordChanges ? 'Enabled - All changes are recorded' : 'Disabled - Changes are not tracked' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"history-info\">\n <div class=\"info-card\">\n <h4>\n <i class=\"fa-solid fa-info-circle\"></i>\n About Change Tracking\n </h4>\n <p *ngIf=\"entity.TrackRecordChanges\">\n This entity has change tracking enabled. All modifications to records are stored in the\n <code>RecordChange</code> table, including the user who made the change, timestamp, and\n the before/after values.\n </p>\n <p *ngIf=\"!entity.TrackRecordChanges\">\n This entity does not have change tracking enabled. To enable it, set\n <code>TrackRecordChanges</code> to <code>true</code> in the entity metadata.\n </p>\n </div>\n\n <div class=\"info-card\" *ngIf=\"entity.TrackRecordChanges\">\n <h4>\n <i class=\"fa-solid fa-database\"></i>\n Audit Fields\n </h4>\n <ul class=\"audit-fields-list\">\n <li>\n <code>__mj_CreatedAt</code> - Record creation timestamp\n </li>\n <li>\n <code>__mj_UpdatedAt</code> - Last modification timestamp\n </li>\n <li *ngIf=\"entity.DeleteType === 'Soft'\">\n <code>__mj_DeletedAt</code> - Soft delete timestamp (when applicable)\n </li>\n </ul>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- SETTINGS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section settings-section\" *ngIf=\"activeSection === 'settings'\">\n <div class=\"section-content\">\n <!-- Entity Settings -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Entity Settings\n </h3>\n <div class=\"settings-list\" *ngIf=\"entity.Settings.length > 0\">\n <div class=\"setting-item\" *ngFor=\"let setting of entity.Settings\">\n <div class=\"setting-name\">{{ setting.Name }}</div>\n <ng-container *ngIf=\"isJsonValue(setting.Value); else plainValue\">\n <div class=\"setting-value-json\">\n <mj-code-editor\n [value]=\"formatJsonValue(setting.Value)\"\n language=\"json\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n setup=\"minimal\">\n </mj-code-editor>\n </div>\n </ng-container>\n <ng-template #plainValue>\n <div class=\"setting-value\">{{ setting.Value }}</div>\n </ng-template>\n <div class=\"setting-comment\" *ngIf=\"setting.Comments\">{{ setting.Comments }}</div>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"entity.Settings.length === 0\">\n <p>No custom settings configured</p>\n </div>\n </div>\n\n <!-- Full Text Search -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Full-Text Search\n </h3>\n <div class=\"fts-config\" *ngIf=\"entity.FullTextSearchEnabled\">\n <div class=\"config-row\">\n <span class=\"config-label\">Status</span>\n <span class=\"config-value enabled\">\n <i class=\"fa-solid fa-circle-check\"></i>\n Enabled\n </span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.FullTextCatalog\">\n <span class=\"config-label\">Catalog</span>\n <span class=\"config-value code\">{{ entity.FullTextCatalog }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.FullTextIndex\">\n <span class=\"config-label\">Index</span>\n <span class=\"config-value code\">{{ entity.FullTextIndex }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.FullTextSearchFunction\">\n <span class=\"config-label\">Function</span>\n <span class=\"config-value code\">{{ entity.FullTextSearchFunction }}</span>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"!entity.FullTextSearchEnabled\">\n <p>Full-text search is not enabled for this entity</p>\n </div>\n </div>\n\n <!-- Row Packaging -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-box\"></i>\n Schema Packaging\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-row\">\n <span class=\"config-label\">Rows to Pack</span>\n <span class=\"config-value\">{{ entity.RowsToPackWithSchema || 'None' }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.RowsToPackSampleCount\">\n <span class=\"config-label\">Sample Count</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleCount }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.RowsToPackSampleMethod\">\n <span class=\"config-label\">Sample Method</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleMethod }}</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n </main>\n\n <!-- ============================================================ -->\n <!-- DETAIL PANEL (Slides in from right) -->\n <!-- ============================================================ -->\n <aside class=\"detail-panel\" [class.open]=\"detailPanelOpen\">\n <div class=\"panel-header\">\n <h3 *ngIf=\"selectedField\">Field Details</h3>\n <h3 *ngIf=\"selectedRelationship\">Relationship Details</h3>\n <button class=\"close-btn\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <!-- Field Details -->\n <div class=\"panel-content\" *ngIf=\"selectedField\">\n <div class=\"detail-section\">\n <h4>{{ selectedField.DisplayName || selectedField.Name }}</h4>\n <p class=\"field-description\" *ngIf=\"selectedField.Description\">{{ selectedField.Description }}</p>\n </div>\n\n <div class=\"detail-section\">\n <h5>Type Information</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">SQL Type</span>\n <span class=\"value code\">{{ formatFieldType(selectedField) }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">TypeScript Type</span>\n <span class=\"value code\">{{ selectedField.TSType }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Nullable</span>\n <span class=\"value\">{{ selectedField.AllowsNull ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\" *ngIf=\"selectedField.DefaultValue\">\n <span class=\"label\">Default</span>\n <span class=\"value code\">{{ selectedField.DefaultValue }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\" *ngIf=\"selectedField.RelatedEntityID\">\n <h5>Relationship</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Related Entity</span>\n <span class=\"value link\" (click)=\"navigateToRelatedEntity(selectedField)\">\n {{ getRelatedEntityName(selectedField) }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Display Type</span>\n <span class=\"value\">{{ selectedField.RelatedEntityDisplayType }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\" *ngIf=\"selectedField.Encrypt\">\n <h5>Encryption</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Encrypted</span>\n <span class=\"value\">Yes</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Decrypt in API</span>\n <span class=\"value\">{{ selectedField.AllowDecryptInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\">\n <h5>API Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Allow Update</span>\n <span class=\"value\">{{ selectedField.AllowUpdateAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Include in Search</span>\n <span class=\"value\">{{ selectedField.IncludeInUserSearchAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Full-Text Search</span>\n <span class=\"value\">{{ selectedField.FullTextSearchEnabled ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\">\n <h5>Form Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Include in Form</span>\n <span class=\"value\">{{ selectedField.IncludeInGeneratedForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Section</span>\n <span class=\"value\">{{ selectedField.GeneratedFormSection }}</span>\n </div>\n <div class=\"detail-item\" *ngIf=\"selectedField.Category\">\n <span class=\"label\">Category</span>\n <span class=\"value\">{{ selectedField.Category }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Sequence</span>\n <span class=\"value\">{{ selectedField.Sequence }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\" *ngIf=\"selectedField.EntityFieldValues.length > 0\">\n <h5>Allowed Values</h5>\n <div class=\"value-list\">\n <div class=\"value-item\" *ngFor=\"let val of selectedField.EntityFieldValues\">\n <span class=\"value-code\" *ngIf=\"val.Code !== val.Value\">{{ val.Code }}</span>\n <span class=\"value-display\">{{ val.Value }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Relationship Details -->\n <div class=\"panel-content\" *ngIf=\"selectedRelationship\">\n <div class=\"detail-section\">\n <h4>{{ selectedRelationship.DisplayName || selectedRelationship.Entity }}</h4>\n </div>\n\n <div class=\"detail-section\">\n <h5>Connection</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">From Entity</span>\n <span class=\"value\">{{ selectedRelationship.Entity }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Join Field</span>\n <span class=\"value code\">{{ selectedRelationship.RelatedEntityJoinField }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Type</span>\n <span class=\"value\">{{ selectedRelationship.Type }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\">\n <h5>Display Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Display in Form</span>\n <span class=\"value\">{{ selectedRelationship.DisplayInForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Location</span>\n <span class=\"value\">{{ selectedRelationship.DisplayLocation }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Bundle in API</span>\n <span class=\"value\">{{ selectedRelationship.BundleInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n </div>\n </aside>\n </div>\n</div>\n\n<!-- Loading / Error State -->\n<ng-template #loadingOrError>\n <div class=\"explorer-loading\" *ngIf=\"isExplorerLoading\">\n <mj-loading text=\"Loading entity...\"></mj-loading>\n </div>\n <div class=\"explorer-error\" *ngIf=\"!isExplorerLoading && explorerError\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <p>{{ explorerError }}</p>\n </div>\n <div class=\"explorer-empty\" *ngIf=\"!isExplorerLoading && !explorerError && !entity\">\n <i class=\"fa-solid fa-database\"></i>\n <p>Entity metadata not available</p>\n </div>\n</ng-template>\n", styles: ["/* ============================================================\n ENTITY EXPLORER FORM - MAIN STYLES\n A world-class exploration-focused entity intelligence hub\n ============================================================ */\n\n/* CSS Variables */\n:host {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n/* ============================================================\n HEADER BAR\n ============================================================ */\n\n.explorer-header {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator {\n color: var(--border-color);\n}\n\n.entity-description {\n color: var(--text-secondary);\n}\n\n/* Header Stats */\n.header-stats {\n display: flex;\n gap: 4px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item i {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* ============================================================\n MAIN BODY (NAV RAIL + CANVAS)\n ============================================================ */\n\n.explorer-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n/* Navigation Rail - Minimalist Icon-First Design */\n.nav-rail {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item i {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item:hover i {\n transform: scale(1.1);\n}\n\n.nav-item.active {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active i {\n transform: scale(1.05);\n}\n\n.nav-item.active::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n/* ============================================================\n MAIN CANVAS\n ============================================================ */\n\n.main-canvas {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open {\n margin-right: var(--detail-panel-width);\n}\n\n/* Sections */\n.section {\n padding: 24px;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* Search Box */\n.search-box {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box i {\n color: var(--text-muted);\n}\n\n.search-box input {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box input::placeholder {\n color: var(--text-muted);\n}\n\n/* View Toggle */\n.view-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Depth Selector */\n.depth-selector {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Header Controls (view mode + expand/collapse) */\n.header-controls {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls {\n display: flex;\n gap: 4px;\n}\n\n.control-btn {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* Fields List View - Modern Design */\n.fields-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header .list-col {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header .list-col.sortable {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header .list-col.sortable:hover {\n color: var(--accent-color);\n}\n\n.list-header .list-col.sortable.sorted {\n color: var(--accent-color);\n}\n\n.sort-icon {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable:hover .sort-icon {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted .sort-icon {\n opacity: 1;\n}\n\n.list-body {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row:last-child {\n border-bottom: none;\n}\n\n/* Column-specific styling */\n.col-seq {\n text-align: center;\n}\n\n.seq-num {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row:hover .seq-num,\n.list-row.selected .seq-num {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted {\n color: var(--text-muted);\n}\n\n.required-indicator {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required i {\n color: var(--danger-color);\n}\n\n.required-indicator.optional {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc {\n min-width: 0;\n}\n\n.desc-text {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty i {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty span {\n font-size: 14px;\n}\n\n/* ============================================================\n OVERVIEW SECTION\n ============================================================ */\n\n.stats-cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable {\n cursor: pointer;\n}\n\n.stat-card.clickable:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable:hover .stat-card-action {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action i {\n font-size: 14px;\n}\n\n.stat-card-header {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header i {\n font-size: 14px;\n}\n\n.stat-card-body .stat-main {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body .stat-details {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n/* Info Panels */\n.info-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title i {\n color: var(--accent-color);\n}\n\n/* Capability Tags */\n.capability-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag i {\n font-size: 10px;\n}\n\n.capability-tag.disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n/* Info Grid */\n.info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n/* ============================================================\n FIELDS SECTION\n ============================================================ */\n\n.fields-content {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups {\n display: flex;\n flex-direction: column;\n}\n\n.field-group {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group:last-child {\n border-bottom: none;\n}\n\n.group-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item:last-child {\n border-bottom: none;\n}\n\n.field-item:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info {\n flex: 1;\n min-width: 0;\n}\n\n.field-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable {\n color: var(--danger-color);\n}\n\n.field-related {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related:hover {\n text-decoration: underline;\n}\n\n.field-badges {\n display: flex;\n gap: 4px;\n}\n\n.badge {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted {\n background: #fce7f3;\n color: #9d174d;\n}\n\n/* ============================================================\n RELATIONSHIPS SECTION\n ============================================================ */\n\n.relationships-graph {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph mj-entity-erd,\n.relationships-graph mj-erd-composite {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n/* ERD Splitter for details panel */\n.relationships-graph .erd-splitter {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph kendo-splitter-pane {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph mj-entity-details {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder p {\n margin: 0;\n}\n\n.graph-placeholder .hint {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title i {\n color: var(--accent-color);\n}\n\n.relationship-items {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item:last-child {\n border-bottom: none;\n}\n\n.relationship-item:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden {\n display: none;\n}\n\n.rel-icon {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info {\n flex: 1;\n}\n\n.rel-entity {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity:hover {\n text-decoration: underline;\n}\n\n.rel-field {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type,\n.rel-display-type {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle {\n color: var(--success-color);\n}\n\n/* Grouped relationship styles */\n.relationship-group-title .group-count {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped {\n padding: 8px 0;\n}\n\n.relationship-item-grouped {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped:last-child {\n border-bottom: none;\n}\n\n.rel-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; /* Align with entity name (icon width + gap) */\n}\n\n.field-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip i {\n font-size: 10px;\n}\n\n.field-chip.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip .bundle-icon {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n/* ============================================================\n PERMISSIONS SECTION\n ============================================================ */\n\n.permissions-matrix {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table th,\n.matrix-table td {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table th {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table th.center,\n.matrix-table td.center {\n text-align: center;\n}\n\n.matrix-table tbody tr:hover {\n background: var(--bg-secondary);\n}\n\n.role-name {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon {\n font-size: 14px;\n}\n\n.permission-icon.granted {\n color: var(--success-color);\n}\n\n.permission-icon.denied {\n color: var(--text-muted);\n}\n\n.rls-info {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n/* API Capabilities */\n.api-capabilities {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item i {\n font-size: 12px;\n}\n\n.capability-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled i {\n color: var(--success-color);\n}\n\n/* ============================================================\n LINEAGE SECTION\n ============================================================ */\n\n.lineage-diagram {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage {\n text-align: center;\n}\n\n.lineage-stage h4 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item i {\n color: var(--accent-color);\n}\n\n.lineage-arrow {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node .entity-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node .entity-box i {\n font-size: 24px;\n}\n\n.tracking-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item .config-label {\n color: var(--text-muted);\n}\n\n.config-item .config-value {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n/* ============================================================\n HISTORY SECTION\n ============================================================ */\n\n.history-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status i {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled i {\n color: var(--success-color);\n}\n\n.config-text strong {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text span {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card h4 i {\n color: var(--accent-color);\n}\n\n.info-card p {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card code {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list li {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list li:last-child {\n border-bottom: none;\n}\n\n/* ============================================================\n SETTINGS SECTION\n ============================================================ */\n\n.settings-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json mj-code-editor {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json ::ng-deep .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json ::ng-deep .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config,\n.settings-section .config-grid {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row .config-label {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row .config-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row .config-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row .config-value.enabled {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n/* ============================================================\n DETAIL PANEL (Slide-in from right)\n ============================================================ */\n\n.detail-panel {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open {\n transform: translateX(0);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section {\n margin-bottom: 24px;\n}\n\n.detail-section:last-child {\n margin-bottom: 0;\n}\n\n.detail-section h4 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section h5 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item .label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item .value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item .value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item .value.link {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item .value.link:hover {\n text-decoration: underline;\n}\n\n.value-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display {\n color: var(--text-primary);\n}\n\n/* ============================================================\n EMPTY STATES\n ============================================================ */\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state p {\n margin: 0;\n font-size: 14px;\n}\n\n/* ============================================================\n LOADING / ERROR STATES\n ============================================================ */\n\n.explorer-loading,\n.explorer-error,\n.explorer-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error i,\n.explorer-empty i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error {\n color: var(--danger-color);\n}\n\n.explorer-error i {\n opacity: 1;\n}\n", ".k-pane {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \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 \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: #F5F6FA;\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\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: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\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: #667eea;\n color: white;\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: #fef08a;\n color: #854d0e;\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: #10b981;\n color: white;\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: #9ca3af;\n}\n"] }]
3213
+ args: [{ standalone: false, selector: 'mj-entity-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!isExplorerLoading && entity) {\n <div class=\"entity-explorer\">\n <!-- ============================================================ -->\n <!-- HEADER BAR -->\n <!-- ============================================================ -->\n <header class=\"explorer-header\">\n <div class=\"entity-identity\">\n <div class=\"entity-icon\" [style.background-color]=\"'#3b82f6'\">\n <i [class]=\"entityIcon\"></i>\n </div>\n <div class=\"entity-info\">\n <div class=\"entity-title-row\">\n <h1 class=\"entity-name\">{{ entityDisplayName }}</h1>\n <span class=\"status-badge\" [ngClass]=\"statusClass\">\n {{ entity.Status }}\n </span>\n @if (IsVirtualEntity) {\n <span class=\"status-badge isa-badge virtual\">\n <i class=\"fa-solid fa-eye\"></i> Virtual\n </span>\n }\n @if (IsChildType) {\n <span class=\"status-badge isa-badge child-type\" (click)=\"NavigateToEntity(ParentChain[0])\" title=\"Click to navigate to parent entity\">\n <i class=\"fa-solid fa-arrow-up\"></i> IS-A {{ ParentChain[0]?.Name }}\n </span>\n }\n @if (IsParentType) {\n <span class=\"status-badge isa-badge parent-type\">\n <i class=\"fa-solid fa-sitemap\"></i> {{ ChildEntities.length }} child type{{ ChildEntities.length !== 1 ? 's' : '' }}\n </span>\n }\n </div>\n @if (IsChildType) {\n <div class=\"isa-breadcrumb\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{ IsaBreadcrumb }}\n </div>\n }\n <div class=\"entity-subtitle\">\n <span class=\"schema-table\">{{ entity.SchemaName }}.{{ entity.BaseTable }}</span>\n <span class=\"separator\">|</span>\n @if (entity.Description) {\n <span class=\"entity-description\" [title]=\"entity.Description\">\n {{ entity.Description | slice:0:80 }}{{ entity.Description.length > 80 ? '...' : '' }}\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"header-stats\">\n <div class=\"stat-item\" (click)=\"setActiveSection('fields')\">\n <i class=\"fa-solid fa-table-columns\"></i>\n <span class=\"stat-value\">{{ stats.fieldCount }}</span>\n <span class=\"stat-label\">Fields</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('relationships')\">\n <i class=\"fa-solid fa-link\"></i>\n <span class=\"stat-value\">{{ stats.relationshipCount }}</span>\n <span class=\"stat-label\">Relations</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('permissions')\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <span class=\"stat-value\">{{ stats.permissionCount }}</span>\n <span class=\"stat-label\">Roles</span>\n </div>\n <div class=\"stat-item\">\n <i class=\"fa-solid fa-database\"></i>\n @if (!isRowCountLoading) {\n <span class=\"stat-value\">{{ formattedRowCount }}</span>\n }\n @if (isRowCountLoading) {\n <span class=\"stat-value loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </span>\n }\n <span class=\"stat-label\">Rows</span>\n </div>\n </div>\n </header>\n <!-- ============================================================ -->\n <!-- MAIN CONTENT AREA -->\n <!-- ============================================================ -->\n <div class=\"explorer-body\">\n <!-- Navigation Rail -->\n <nav class=\"nav-rail\">\n @for (item of navItems; track item) {\n <button\n class=\"nav-item\"\n [class.active]=\"activeSection === item.id\"\n (click)=\"setActiveSection(item.id)\"\n [title]=\"item.label\">\n <i [class]=\"item.icon\"></i>\n <span class=\"nav-label\">{{ item.label }}</span>\n @if (item.badge) {\n <span class=\"nav-badge\">{{ item.badge }}</span>\n }\n </button>\n }\n </nav>\n <!-- Main Canvas -->\n <main class=\"main-canvas\" [class.panel-open]=\"detailPanelOpen\">\n <!-- ============================================================ -->\n <!-- OVERVIEW SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'overview') {\n <section class=\"section overview-section\">\n <div class=\"section-content\">\n <!-- Stats Cards Row - Clickable to navigate to sections -->\n <div class=\"stats-cards\">\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('fields')\" title=\"View all fields\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>Fields</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.fieldCount }}</div>\n <div class=\"stat-details\">\n <span>{{ stats.primaryKeyCount }} PKs</span>\n <span>{{ stats.foreignKeyCount }} FKs</span>\n @if (stats.encryptedFieldCount) {\n <span>{{ stats.encryptedFieldCount }} Encrypted</span>\n }\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('relationships')\" title=\"View relationships\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n <span>Relationships</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.relationshipCount }}</div>\n <div class=\"stat-details\">\n <span>{{ groupedOutgoingRelationships.length }} Out</span>\n <span>{{ groupedIncomingRelationships.length }} In</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('permissions')\" title=\"View security settings\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-lock\"></i>\n <span>Security</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.permissionCount }}</div>\n <div class=\"stat-details\">\n <span>Roles configured</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Data</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ formattedRowCount }}</div>\n <div class=\"stat-details\">\n @if (entity.RowCountRunAt) {\n <span>Updated {{ entity.RowCountRunAt | date:'short' }}</span>\n }\n @if (!entity.RowCountRunAt) {\n <span>Row count</span>\n }\n </div>\n </div>\n </div>\n </div>\n <!-- Capabilities -->\n <div class=\"info-panel capabilities-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Capabilities\n </h3>\n <div class=\"capability-tags\">\n @for (cap of capabilitySummary; track cap) {\n <span class=\"capability-tag\">\n <i class=\"fa-solid fa-check\"></i>\n {{ cap }}\n </span>\n }\n @if (!entity.IncludeInAPI) {\n <span class=\"capability-tag disabled\">\n <i class=\"fa-solid fa-xmark\"></i>\n No API\n </span>\n }\n </div>\n </div>\n <!-- IS-A Type Hierarchy -->\n @if (HasISARelationship || IsVirtualEntity) {\n <div class=\"info-panel isa-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-layer-group\"></i>\n Type Hierarchy\n </h3>\n @if (IsVirtualEntity) {\n <div class=\"isa-info-row virtual-info\">\n <i class=\"fa-solid fa-eye\"></i>\n <span>Virtual Entity \u2014 read-only view backed by <span class=\"code\">{{ entity.BaseView }}</span></span>\n </div>\n }\n @if (IsChildType) {\n <div class=\"isa-chain\">\n <div class=\"isa-chain-label\">Inheritance Chain</div>\n <div class=\"isa-chain-nodes\">\n <span class=\"isa-node current\">{{ entity.Name }}</span>\n @for (parent of ParentChain; track parent.ID) {\n <i class=\"fa-solid fa-arrow-right isa-arrow\"></i>\n <span class=\"isa-node parent clickable\" (click)=\"NavigateToEntity(parent)\" [title]=\"'Navigate to ' + parent.Name\">\n {{ parent.Name }}\n </span>\n }\n </div>\n <div class=\"isa-inherited-fields\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>{{ InheritedFieldCount }} field{{ InheritedFieldCount !== 1 ? 's' : '' }} inherited from parent{{ ParentChain.length > 1 ? 's' : '' }}</span>\n </div>\n </div>\n <!-- IS-A Field Inspector: shows fields grouped by source entity -->\n @if (isaFieldGroups.length > 1) {\n <div class=\"isa-field-inspector\">\n <div class=\"isa-chain-label clickable\" (click)=\"isaFieldInspectorExpanded = !isaFieldInspectorExpanded\">\n <i class=\"fa-solid\" [ngClass]=\"isaFieldInspectorExpanded ? 'fa-chevron-down' : 'fa-chevron-right'\"></i>\n Field Source Inspector\n </div>\n @if (isaFieldInspectorExpanded) {\n <div class=\"isa-inspector-groups\">\n @for (group of isaFieldGroups; track group.EntityName) {\n <div class=\"isa-inspector-group\" [class.own]=\"group.Level === 0\" [class.inherited]=\"group.Level > 0\">\n <div class=\"isa-inspector-header\">\n <span class=\"isa-inspector-entity\">\n @if (group.Level === 0) {\n <i class=\"fa-solid fa-circle\" style=\"color: #3b82f6; font-size: 8px;\"></i>\n } @else {\n <i class=\"fa-solid fa-arrow-up\" style=\"color: #6366f1; font-size: 10px;\"></i>\n }\n {{ group.Label }}\n </span>\n <span class=\"isa-inspector-count\">{{ group.Fields.length }} field{{ group.Fields.length !== 1 ? 's' : '' }}</span>\n </div>\n <div class=\"isa-inspector-fields\">\n @for (field of group.Fields; track field.ID) {\n <span class=\"isa-inspector-field\" [title]=\"field.Description || field.Name\">\n {{ field.DisplayName || field.Name }}\n <span class=\"isa-inspector-type\">{{ field.Type }}</span>\n </span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Sibling Types -->\n @if (SiblingEntities.length > 0) {\n <div class=\"isa-siblings\">\n <div class=\"isa-chain-label\">Sibling Types (disjoint under {{ ParentChain[0]?.Name }})</div>\n <div class=\"isa-child-list\">\n @for (sibling of SiblingEntities; track sibling.ID) {\n <span class=\"isa-sibling-chip clickable\" (click)=\"NavigateToEntity(sibling)\" [title]=\"'Navigate to ' + sibling.Name\">\n <i class=\"fa-solid fa-arrows-left-right\"></i>\n {{ sibling.Name }}\n </span>\n }\n </div>\n </div>\n }\n }\n @if (IsParentType) {\n <div class=\"isa-children\">\n <div class=\"isa-chain-label\">Child Types</div>\n <div class=\"isa-child-list\">\n @for (childCount of childEntityCounts; track childCount.EntityName) {\n <span class=\"isa-child-chip clickable\" (click)=\"NavigateToEntity(childCount.EntityInfo)\" [title]=\"'Navigate to ' + childCount.EntityName\">\n <i class=\"fa-solid fa-arrow-down\"></i>\n {{ childCount.EntityName }}\n <span class=\"isa-child-count\">\n @if (childCount.IsLoading) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n } @else {\n {{ childCount.RecordCount | number }}\n }\n </span>\n </span>\n }\n </div>\n </div>\n }\n </div>\n }\n <!-- Database Info -->\n <div class=\"info-panel database-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-server\"></i>\n Database\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Schema</span>\n <span class=\"info-value\">{{ entity.SchemaName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Table</span>\n <span class=\"info-value\">{{ entity.BaseTable }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">View</span>\n <span class=\"info-value\">{{ entity.BaseView }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Delete Type</span>\n <span class=\"info-value\">{{ entity.DeleteType }}</span>\n </div>\n @if (entity.spCreate) {\n <div class=\"info-item\">\n <span class=\"info-label\">SP Create</span>\n <span class=\"info-value code\">{{ entity.spCreate }}</span>\n </div>\n }\n @if (entity.spUpdate) {\n <div class=\"info-item\">\n <span class=\"info-label\">SP Update</span>\n <span class=\"info-value code\">{{ entity.spUpdate }}</span>\n </div>\n }\n @if (entity.spDelete) {\n <div class=\"info-item\">\n <span class=\"info-label\">SP Delete</span>\n <span class=\"info-value code\">{{ entity.spDelete }}</span>\n </div>\n }\n </div>\n </div>\n <!-- Code Gen Info -->\n <div class=\"info-panel codegen-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Code Generation\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Class Name</span>\n <span class=\"info-value code\">{{ entity.ClassName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Code Name</span>\n <span class=\"info-value code\">{{ entity.CodeName }}</span>\n </div>\n @if (entity.EntityObjectSubclassName) {\n <div class=\"info-item\">\n <span class=\"info-label\">Subclass</span>\n <span class=\"info-value code\">{{ entity.EntityObjectSubclassName }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- FIELDS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'fields') {\n <section class=\"section fields-section\">\n <div class=\"section-header\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Search fields...\"\n [ngModel]=\"fieldSearchTerm\"\n (ngModelChange)=\"onFieldSearch($event)\">\n </div>\n <div class=\"header-controls\">\n <!-- View mode toggle -->\n <div class=\"view-mode-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'grouped'\"\n (click)=\"fieldViewMode = 'grouped'\"\n title=\"Group by category\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'list'\"\n (click)=\"fieldViewMode = 'list'\"\n title=\"List view\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n <!-- Expand/Collapse controls (only in grouped mode) -->\n @if (fieldViewMode === 'grouped') {\n <div class=\"expand-collapse-controls\">\n <button\n class=\"control-btn\"\n (click)=\"expandAllFieldGroups()\"\n [disabled]=\"allFieldGroupsExpanded\"\n title=\"Expand all\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button\n class=\"control-btn\"\n (click)=\"collapseAllFieldGroups()\"\n [disabled]=\"allFieldGroupsCollapsed\"\n title=\"Collapse all\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n </div>\n }\n </div>\n </div>\n <div class=\"section-content fields-content\">\n <!-- Grouped View -->\n @if (fieldViewMode === 'grouped') {\n <div class=\"field-groups\">\n @for (group of getFilteredFieldGroups(); track group) {\n <div\n class=\"field-group\"\n [class.expanded]=\"isFieldGroupExpanded(group.id)\">\n <div class=\"group-header\" (click)=\"toggleFieldGroup(group.id)\">\n <i class=\"expand-icon fa-solid\" [ngClass]=\"isFieldGroupExpanded(group.id) ? 'fa-chevron-down' : 'fa-chevron-right'\"></i>\n <i [class]=\"group.icon\" class=\"group-icon\"></i>\n <span class=\"group-label\">{{ group.label }}</span>\n <span class=\"group-count\">{{ group.fields.length }}</span>\n </div>\n @if (isFieldGroupExpanded(group.id)) {\n <div class=\"group-content\">\n @for (field of group.fields; track field) {\n <div\n class=\"field-item\"\n (click)=\"selectField(field)\"\n [class.selected]=\"selectedField?.ID === field.ID\">\n <div class=\"field-icon\">\n <i [class]=\"getFieldTypeIcon(field)\"></i>\n </div>\n <div class=\"field-info\">\n <div class=\"field-name\">{{ field.DisplayName || field.Name }}</div>\n <div class=\"field-meta\">\n <span class=\"field-type\">{{ formatFieldType(field) }}</span>\n @if (!field.AllowsNull) {\n <span class=\"field-nullable\">Required</span>\n }\n @if (field.RelatedEntityID) {\n <span class=\"field-related\" (click)=\"navigateToRelatedEntity(field); $event.stopPropagation()\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n {{ getRelatedEntityName(field) }}\n </span>\n }\n </div>\n </div>\n <div class=\"field-badges\">\n @if (field.IsPrimaryKey) {\n <span class=\"badge pk\" title=\"Primary Key\">PK</span>\n }\n @if (field.RelatedEntityID && !field.IsPrimaryKey) {\n <span class=\"badge fk\" title=\"Foreign Key\">FK</span>\n }\n @if (field.Encrypt) {\n <span class=\"badge encrypted\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n }\n @if (IsInheritedField(field)) {\n <span class=\"badge inherited\" [title]=\"'Inherited from ' + GetISAFieldSource(field)\">\n <i class=\"fa-solid fa-arrow-up\"></i> {{ GetISAFieldSource(field) }}\n </span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- List View - Modern Card-style Table -->\n @if (fieldViewMode === 'list') {\n <div class=\"fields-list-view\">\n <!-- Table Header -->\n <div class=\"list-header\">\n <div class=\"list-col col-seq sortable\" (click)=\"sortFieldList('Sequence')\" [class.sorted]=\"fieldListSortColumn === 'Sequence'\">\n #\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Sequence' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-name sortable\" (click)=\"sortFieldList('Name')\" [class.sorted]=\"fieldListSortColumn === 'Name'\">\n Field Name\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Name' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-type sortable\" (click)=\"sortFieldList('Type')\" [class.sorted]=\"fieldListSortColumn === 'Type'\">\n Type\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Type' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-length sortable\" (click)=\"sortFieldList('Length')\" [class.sorted]=\"fieldListSortColumn === 'Length'\">\n Length\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Length' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-nullable sortable\" (click)=\"sortFieldList('AllowsNull')\" [class.sorted]=\"fieldListSortColumn === 'AllowsNull'\">\n Required\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'AllowsNull' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-flags\">Flags</div>\n <div class=\"list-col col-desc sortable\" (click)=\"sortFieldList('Description')\" [class.sorted]=\"fieldListSortColumn === 'Description'\">\n Description\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Description' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n </div>\n <!-- Table Body -->\n <div class=\"list-body\">\n @for (field of getFilteredFieldsList(); track field; let i = $index) {\n <div\n class=\"list-row\"\n [class.selected]=\"selectedField?.ID === field.ID\"\n (click)=\"selectField(field)\">\n <div class=\"list-col col-seq\">\n <span class=\"seq-num\">{{ field.Sequence }}</span>\n </div>\n <div class=\"list-col col-name\">\n <i [class]=\"getFieldTypeIcon(field)\" class=\"field-type-icon\"></i>\n <span class=\"field-name-text\">{{ field.DisplayName || field.Name }}</span>\n </div>\n <div class=\"list-col col-type\">\n <span class=\"type-tag\">{{ field.Type }}</span>\n </div>\n <div class=\"list-col col-length\">\n @if (field.Length > 0) {\n <span class=\"length-value\">{{ field.Length }}</span>\n }\n @if (field.Length <= 0) {\n <span class=\"length-value muted\">\u2014</span>\n }\n </div>\n <div class=\"list-col col-nullable\">\n <span class=\"required-indicator\" [class.required]=\"!field.AllowsNull\" [class.optional]=\"field.AllowsNull\">\n <i [class]=\"field.AllowsNull ? 'fa-solid fa-circle-minus' : 'fa-solid fa-circle-check'\"></i>\n {{ field.AllowsNull ? 'Optional' : 'Required' }}\n </span>\n </div>\n <div class=\"list-col col-flags\">\n <div class=\"flag-badges\">\n @if (field.IsPrimaryKey) {\n <span class=\"flag-badge pk\" title=\"Primary Key\">\n <i class=\"fa-solid fa-key\"></i> PK\n </span>\n }\n @if (field.RelatedEntityID && !field.IsPrimaryKey) {\n <span class=\"flag-badge fk\" title=\"Foreign Key\">\n <i class=\"fa-solid fa-link\"></i> FK\n </span>\n }\n @if (field.Encrypt) {\n <span class=\"flag-badge encrypted\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n }\n @if (IsInheritedField(field)) {\n <span class=\"flag-badge inherited\" [title]=\"'Inherited from ' + GetISAFieldSource(field)\">\n <i class=\"fa-solid fa-arrow-up\"></i> {{ GetISAFieldSource(field) }}\n </span>\n }\n </div>\n </div>\n <div class=\"list-col col-desc\">\n <span class=\"desc-text\" [title]=\"field.Description || ''\">{{ field.Description || '\u2014' }}</span>\n </div>\n </div>\n }\n </div>\n <!-- Empty state -->\n @if (getFilteredFieldsList().length === 0) {\n <div class=\"list-empty\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No fields match your search</span>\n </div>\n }\n </div>\n }\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- RELATIONSHIPS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'relationships') {\n <section class=\"section relationships-section\">\n <div class=\"section-header\">\n <div class=\"view-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'diagram'\"\n (click)=\"relationshipViewMode = 'diagram'\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n Diagram\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'list'\"\n (click)=\"relationshipViewMode = 'list'\">\n <i class=\"fa-solid fa-list\"></i>\n List\n </button>\n </div>\n <!-- Depth selector (only in diagram mode) -->\n @if (relationshipViewMode === 'diagram') {\n <div class=\"depth-selector\">\n <span class=\"depth-label\">Depth:</span>\n <div class=\"depth-buttons\">\n @for (d of [1, 2, 3, 4, 5]; track d) {\n <button\n class=\"depth-btn\"\n [class.active]=\"erdDepth === d\"\n (click)=\"setErdDepth(d)\"\n [title]=\"'Show ' + d + ' level(s) of relationships'\">\n {{ d }}\n </button>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"section-content\">\n <!-- Diagram View using the ERD composite component -->\n @if (relationshipViewMode === 'diagram') {\n <div class=\"relationships-graph\">\n <mj-erd-composite\n [focusEntities]=\"entity ? [entity] : []\"\n [showFilterPanel]=\"false\"\n [showHeader]=\"false\"\n [depth]=\"erdDepth\"\n (stateChange)=\"onERDStateChange($event)\"\n (openRecord)=\"onERDOpenRecord($event)\">\n </mj-erd-composite>\n </div>\n }\n <!-- List View -->\n @if (relationshipViewMode === 'list') {\n <div class=\"relationships-list\">\n <!-- Outgoing Relationships (FK fields on this entity) - Grouped by target entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n Outgoing (References to other entities)\n <span class=\"group-count\">{{ groupedOutgoingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n @for (group of groupedOutgoingRelationships; track group) {\n <div\n class=\"relationship-item-grouped\"\n >\n <div class=\"rel-header\">\n <div class=\"rel-icon outgoing\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n @for (field of group.fields; track field) {\n <span\n class=\"field-chip outgoing\"\n [title]=\"field.Description || field.Name\"\n (click)=\"selectField(field)\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.Name }}\n </span>\n }\n </div>\n </div>\n }\n @if (groupedOutgoingRelationships.length === 0) {\n <div class=\"empty-state\">\n <p>No outgoing relationships</p>\n </div>\n }\n </div>\n </div>\n <!-- Incoming Relationships - Grouped by source entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-to-bracket\"></i>\n Incoming (Entities that reference this one)\n <span class=\"group-count\">{{ groupedIncomingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n @for (group of groupedIncomingRelationships; track group) {\n <div\n class=\"relationship-item-grouped\"\n >\n <div class=\"rel-header\">\n <div class=\"rel-icon incoming\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n @for (field of group.fields; track field) {\n <span\n class=\"field-chip incoming\"\n [title]=\"'Type: ' + field.type\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.fieldName }}\n @if (field.bundleInAPI) {\n <i class=\"fa-solid fa-box bundle-icon\" title=\"Bundled in API\"></i>\n }\n </span>\n }\n </div>\n </div>\n }\n @if (groupedIncomingRelationships.length === 0) {\n <div class=\"empty-state\">\n <p>No incoming relationships</p>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- PERMISSIONS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'permissions') {\n <section class=\"section permissions-section\">\n <div class=\"section-content\">\n <div class=\"permissions-matrix\">\n <table class=\"matrix-table\">\n <thead>\n <tr>\n <th>Role</th>\n <th class=\"center\">Create</th>\n <th class=\"center\">Read</th>\n <th class=\"center\">Update</th>\n <th class=\"center\">Delete</th>\n <th>RLS</th>\n </tr>\n </thead>\n <tbody>\n @for (perm of entity.Permissions; track perm) {\n <tr>\n <td class=\"role-name\">{{ getRoleName(perm) }}</td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanCreate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanRead ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanUpdate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanDelete ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"rls-info\">\n @if (perm.ReadRLSFilterID) {\n <span class=\"rls-badge\" title=\"Read RLS\">R</span>\n }\n @if (perm.CreateRLSFilterID) {\n <span class=\"rls-badge\" title=\"Create RLS\">C</span>\n }\n @if (perm.UpdateRLSFilterID) {\n <span class=\"rls-badge\" title=\"Update RLS\">U</span>\n }\n @if (perm.DeleteRLSFilterID) {\n <span class=\"rls-badge\" title=\"Delete RLS\">D</span>\n }\n @if (!perm.ReadRLSFilterID && !perm.CreateRLSFilterID && !perm.UpdateRLSFilterID && !perm.DeleteRLSFilterID) {\n <span class=\"no-rls\">None</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n @if (entity.Permissions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <p>No permissions configured</p>\n </div>\n }\n </div>\n <div class=\"api-capabilities\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-plug\"></i>\n API Capabilities\n </h3>\n <div class=\"capability-grid\">\n <div class=\"capability-item\" [class.enabled]=\"entity.IncludeInAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.IncludeInAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Include in API</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowAllRowsAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowAllRowsAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow All Rows</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowCreateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowCreateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Create</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUpdateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUpdateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Update</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowDeleteAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowDeleteAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Delete</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUserSearchAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUserSearchAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>User Search</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.CustomResolverAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CustomResolverAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Custom Resolver</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- LINEAGE SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'lineage') {\n <section class=\"section lineage-section\">\n <div class=\"section-content\">\n <div class=\"lineage-diagram\">\n <div class=\"lineage-stage sources\">\n <h4>Data Sources</h4>\n <div class=\"lineage-items\">\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-keyboard\"></i>\n <span>Manual Entry</span>\n </div>\n @if (entity.IncludeInAPI) {\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-plug\"></i>\n <span>API Create</span>\n </div>\n }\n </div>\n </div>\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"lineage-stage entity-node\">\n <div class=\"entity-box\">\n <i [class]=\"entityIcon\"></i>\n <span>{{ entity.Name }}</span>\n </div>\n </div>\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"lineage-stage sinks\">\n <h4>Data Sinks</h4>\n <div class=\"lineage-items\">\n @if (entity.TrackRecordChanges) {\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n <span>Record Changes</span>\n </div>\n }\n @if (entity.AuditRecordAccess) {\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-eye\"></i>\n <span>Access Audit</span>\n </div>\n }\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-link\"></i>\n <span>Related Entities ({{ stats.relationshipCount }})</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"tracking-config\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Tracking Configuration\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-item\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Track Record Changes</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditRecordAccess\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditRecordAccess ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit Record Access</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditViewRuns\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditViewRuns ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit View Runs</span>\n </div>\n <div class=\"config-item\">\n <span class=\"config-label\">Delete Type:</span>\n <span class=\"config-value\">{{ entity.DeleteType }}</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.CascadeDeletes\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CascadeDeletes ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Cascade Deletes</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- HISTORY SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'history') {\n <section class=\"section history-section\">\n <div class=\"section-content\">\n <div class=\"history-config\">\n <div class=\"config-status\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-circle-check' : 'fa-circle-xmark'\"></i>\n <div class=\"config-text\">\n <strong>Record Change Tracking</strong>\n <span>{{ entity.TrackRecordChanges ? 'Enabled - All changes are recorded' : 'Disabled - Changes are not tracked' }}</span>\n </div>\n </div>\n </div>\n <div class=\"history-info\">\n <div class=\"info-card\">\n <h4>\n <i class=\"fa-solid fa-info-circle\"></i>\n About Change Tracking\n </h4>\n @if (entity.TrackRecordChanges) {\n <p>\n This entity has change tracking enabled. All modifications to records are stored in the\n <code>RecordChange</code> table, including the user who made the change, timestamp, and\n the before/after values.\n </p>\n }\n @if (!entity.TrackRecordChanges) {\n <p>\n This entity does not have change tracking enabled. To enable it, set\n <code>TrackRecordChanges</code> to <code>true</code> in the entity metadata.\n </p>\n }\n </div>\n @if (entity.TrackRecordChanges) {\n <div class=\"info-card\">\n <h4>\n <i class=\"fa-solid fa-database\"></i>\n Audit Fields\n </h4>\n <ul class=\"audit-fields-list\">\n <li>\n <code>__mj_CreatedAt</code> - Record creation timestamp\n </li>\n <li>\n <code>__mj_UpdatedAt</code> - Last modification timestamp\n </li>\n @if (entity.DeleteType === 'Soft') {\n <li>\n <code>__mj_DeletedAt</code> - Soft delete timestamp (when applicable)\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- SETTINGS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'settings') {\n <section class=\"section settings-section\">\n <div class=\"section-content\">\n <!-- IS-A Type Relationship Configuration -->\n @if (HasISARelationship || IsVirtualEntity) {\n <div class=\"settings-panel isa-settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-layer-group\"></i>\n Type Relationship (IS-A)\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-row\">\n <span class=\"config-label\">Virtual Entity</span>\n <span class=\"config-value\">\n @if (IsVirtualEntity) {\n <i class=\"fa-solid fa-circle-check\" style=\"color: #7c3aed;\"></i> Yes \u2014 read-only view\n } @else {\n <i class=\"fa-solid fa-circle-minus\" style=\"color: #94a3b8;\"></i> No\n }\n </span>\n </div>\n <div class=\"config-row\">\n <span class=\"config-label\">Parent Entity</span>\n <span class=\"config-value\">\n @if (IsChildType) {\n <span class=\"link\" (click)=\"NavigateToEntity(ParentChain[0])\" title=\"Navigate to parent entity\">\n {{ ParentChain[0]?.Name }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n } @else {\n <span class=\"muted\">None</span>\n }\n </span>\n </div>\n @if (IsChildType) {\n <div class=\"config-row\">\n <span class=\"config-label\">Full Inheritance Chain</span>\n <span class=\"config-value\">{{ IsaBreadcrumb }}</span>\n </div>\n <div class=\"config-row\">\n <span class=\"config-label\">Inherited Fields</span>\n <span class=\"config-value\">{{ InheritedFieldCount }} field{{ InheritedFieldCount !== 1 ? 's' : '' }}</span>\n </div>\n }\n @if (IsParentType) {\n <div class=\"config-row\">\n <span class=\"config-label\">Child Types</span>\n <span class=\"config-value\">\n @for (child of ChildEntities; track child.ID; let last = $last) {\n <span class=\"link\" (click)=\"NavigateToEntity(child)\">{{ child.Name }}</span>{{ last ? '' : ', ' }}\n }\n </span>\n </div>\n }\n @if (SiblingEntities.length > 0) {\n <div class=\"config-row\">\n <span class=\"config-label\">Sibling Types</span>\n <span class=\"config-value\">\n @for (sibling of SiblingEntities; track sibling.ID; let last = $last) {\n <span class=\"link\" (click)=\"NavigateToEntity(sibling)\">{{ sibling.Name }}</span>{{ last ? '' : ', ' }}\n }\n </span>\n </div>\n }\n <div class=\"config-row\">\n <span class=\"config-label\">Disjoint Subtypes</span>\n <span class=\"config-value\">\n @if (IsParentType || IsChildType) {\n <i class=\"fa-solid fa-circle-check\" style=\"color: #059669;\"></i> Enforced \u2014 a parent record can only be one child type\n } @else {\n <span class=\"muted\">N/A</span>\n }\n </span>\n </div>\n </div>\n </div>\n }\n <!-- Entity Settings -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Entity Settings\n </h3>\n @if (entity.Settings.length > 0) {\n <div class=\"settings-list\">\n @for (setting of entity.Settings; track setting) {\n <div class=\"setting-item\">\n <div class=\"setting-name\">{{ setting.Name }}</div>\n @if (isJsonValue(setting.Value)) {\n <div class=\"setting-value-json\">\n <mj-code-editor\n [value]=\"formatJsonValue(setting.Value)\"\n language=\"json\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n setup=\"minimal\">\n </mj-code-editor>\n </div>\n } @else {\n <div class=\"setting-value\">{{ setting.Value }}</div>\n }\n @if (setting.Comments) {\n <div class=\"setting-comment\">{{ setting.Comments }}</div>\n }\n </div>\n }\n </div>\n }\n @if (entity.Settings.length === 0) {\n <div class=\"empty-state\">\n <p>No custom settings configured</p>\n </div>\n }\n </div>\n <!-- Full Text Search -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Full-Text Search\n </h3>\n @if (entity.FullTextSearchEnabled) {\n <div class=\"fts-config\">\n <div class=\"config-row\">\n <span class=\"config-label\">Status</span>\n <span class=\"config-value enabled\">\n <i class=\"fa-solid fa-circle-check\"></i>\n Enabled\n </span>\n </div>\n @if (entity.FullTextCatalog) {\n <div class=\"config-row\">\n <span class=\"config-label\">Catalog</span>\n <span class=\"config-value code\">{{ entity.FullTextCatalog }}</span>\n </div>\n }\n @if (entity.FullTextIndex) {\n <div class=\"config-row\">\n <span class=\"config-label\">Index</span>\n <span class=\"config-value code\">{{ entity.FullTextIndex }}</span>\n </div>\n }\n @if (entity.FullTextSearchFunction) {\n <div class=\"config-row\">\n <span class=\"config-label\">Function</span>\n <span class=\"config-value code\">{{ entity.FullTextSearchFunction }}</span>\n </div>\n }\n </div>\n }\n @if (!entity.FullTextSearchEnabled) {\n <div class=\"empty-state\">\n <p>Full-text search is not enabled for this entity</p>\n </div>\n }\n </div>\n <!-- Row Packaging -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-box\"></i>\n Schema Packaging\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-row\">\n <span class=\"config-label\">Rows to Pack</span>\n <span class=\"config-value\">{{ entity.RowsToPackWithSchema || 'None' }}</span>\n </div>\n @if (entity.RowsToPackSampleCount) {\n <div class=\"config-row\">\n <span class=\"config-label\">Sample Count</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleCount }}</span>\n </div>\n }\n @if (entity.RowsToPackSampleMethod) {\n <div class=\"config-row\">\n <span class=\"config-label\">Sample Method</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleMethod }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n }\n </main>\n <!-- ============================================================ -->\n <!-- DETAIL PANEL (Slides in from right) -->\n <!-- ============================================================ -->\n <aside class=\"detail-panel\" [class.open]=\"detailPanelOpen\">\n <div class=\"panel-header\">\n @if (selectedField) {\n <h3>Field Details</h3>\n }\n @if (selectedRelationship) {\n <h3>Relationship Details</h3>\n }\n <button class=\"close-btn\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <!-- Field Details -->\n @if (selectedField) {\n <div class=\"panel-content\">\n <div class=\"detail-section\">\n <h4>{{ selectedField.DisplayName || selectedField.Name }}</h4>\n @if (selectedField.Description) {\n <p class=\"field-description\">{{ selectedField.Description }}</p>\n }\n </div>\n <div class=\"detail-section\">\n <h5>Type Information</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">SQL Type</span>\n <span class=\"value code\">{{ formatFieldType(selectedField) }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">TypeScript Type</span>\n <span class=\"value code\">{{ selectedField.TSType }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Nullable</span>\n <span class=\"value\">{{ selectedField.AllowsNull ? 'Yes' : 'No' }}</span>\n </div>\n @if (selectedField.DefaultValue) {\n <div class=\"detail-item\">\n <span class=\"label\">Default</span>\n <span class=\"value code\">{{ selectedField.DefaultValue }}</span>\n </div>\n }\n </div>\n </div>\n @if (IsInheritedField(selectedField)) {\n <div class=\"detail-section isa-source-section\">\n <h5>\n <i class=\"fa-solid fa-arrow-up\"></i>\n IS-A Inherited Field\n </h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Source Entity</span>\n <span class=\"value link\" (click)=\"NavigateToEntity(ParentChain[0])\" title=\"Navigate to source entity\">\n {{ GetISAFieldSource(selectedField) }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Routing</span>\n <span class=\"value\">ORM routes Set/Get to parent</span>\n </div>\n </div>\n </div>\n }\n @if (selectedField.RelatedEntityID) {\n <div class=\"detail-section\">\n <h5>Relationship</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Related Entity</span>\n <span class=\"value link\" (click)=\"navigateToRelatedEntity(selectedField)\">\n {{ getRelatedEntityName(selectedField) }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Display Type</span>\n <span class=\"value\">{{ selectedField.RelatedEntityDisplayType }}</span>\n </div>\n </div>\n </div>\n }\n @if (selectedField.Encrypt) {\n <div class=\"detail-section\">\n <h5>Encryption</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Encrypted</span>\n <span class=\"value\">Yes</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Decrypt in API</span>\n <span class=\"value\">{{ selectedField.AllowDecryptInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n }\n <div class=\"detail-section\">\n <h5>API Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Allow Update</span>\n <span class=\"value\">{{ selectedField.AllowUpdateAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Include in Search</span>\n <span class=\"value\">{{ selectedField.IncludeInUserSearchAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Full-Text Search</span>\n <span class=\"value\">{{ selectedField.FullTextSearchEnabled ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n <div class=\"detail-section\">\n <h5>Form Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Include in Form</span>\n <span class=\"value\">{{ selectedField.IncludeInGeneratedForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Section</span>\n <span class=\"value\">{{ selectedField.GeneratedFormSection }}</span>\n </div>\n @if (selectedField.Category) {\n <div class=\"detail-item\">\n <span class=\"label\">Category</span>\n <span class=\"value\">{{ selectedField.Category }}</span>\n </div>\n }\n <div class=\"detail-item\">\n <span class=\"label\">Sequence</span>\n <span class=\"value\">{{ selectedField.Sequence }}</span>\n </div>\n </div>\n </div>\n @if (selectedField.EntityFieldValues.length > 0) {\n <div class=\"detail-section\">\n <h5>Allowed Values</h5>\n <div class=\"value-list\">\n @for (val of selectedField.EntityFieldValues; track val) {\n <div class=\"value-item\">\n @if (val.Code !== val.Value) {\n <span class=\"value-code\">{{ val.Code }}</span>\n }\n <span class=\"value-display\">{{ val.Value }}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n <!-- Relationship Details -->\n @if (selectedRelationship) {\n <div class=\"panel-content\">\n <div class=\"detail-section\">\n <h4>{{ selectedRelationship.DisplayName || selectedRelationship.Entity }}</h4>\n </div>\n <div class=\"detail-section\">\n <h5>Connection</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">From Entity</span>\n <span class=\"value\">{{ selectedRelationship.Entity }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Join Field</span>\n <span class=\"value code\">{{ selectedRelationship.RelatedEntityJoinField }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Type</span>\n <span class=\"value\">{{ selectedRelationship.Type }}</span>\n </div>\n </div>\n </div>\n <div class=\"detail-section\">\n <h5>Display Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Display in Form</span>\n <span class=\"value\">{{ selectedRelationship.DisplayInForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Location</span>\n <span class=\"value\">{{ selectedRelationship.DisplayLocation }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Bundle in API</span>\n <span class=\"value\">{{ selectedRelationship.BundleInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n </div>\n }\n </aside>\n </div>\n </div>\n} @else {\n @if (isExplorerLoading) {\n <div class=\"explorer-loading\">\n <mj-loading text=\"Loading entity...\"></mj-loading>\n </div>\n }\n @if (!isExplorerLoading && explorerError) {\n <div class=\"explorer-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <p>{{ explorerError }}</p>\n </div>\n }\n @if (!isExplorerLoading && !explorerError && !entity) {\n <div class=\"explorer-empty\">\n <i class=\"fa-solid fa-database\"></i>\n <p>Entity metadata not available</p>\n </div>\n }\n}\n\n<!-- Loading / Error State -->\n", styles: ["/* ============================================================\n ENTITY EXPLORER FORM - MAIN STYLES\n A world-class exploration-focused entity intelligence hub\n ============================================================ */\n\n/* CSS Variables */\n:host {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n/* ============================================================\n HEADER BAR\n ============================================================ */\n\n.explorer-header {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator {\n color: var(--border-color);\n}\n\n.entity-description {\n color: var(--text-secondary);\n}\n\n/* Header Stats */\n.header-stats {\n display: flex;\n gap: 4px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item i {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* ============================================================\n MAIN BODY (NAV RAIL + CANVAS)\n ============================================================ */\n\n.explorer-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n/* Navigation Rail - Minimalist Icon-First Design */\n.nav-rail {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item i {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item:hover i {\n transform: scale(1.1);\n}\n\n.nav-item.active {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active i {\n transform: scale(1.05);\n}\n\n.nav-item.active::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n/* ============================================================\n MAIN CANVAS\n ============================================================ */\n\n.main-canvas {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open {\n margin-right: var(--detail-panel-width);\n}\n\n/* Sections */\n.section {\n padding: 24px;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* Search Box */\n.search-box {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box i {\n color: var(--text-muted);\n}\n\n.search-box input {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box input::placeholder {\n color: var(--text-muted);\n}\n\n/* View Toggle */\n.view-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Depth Selector */\n.depth-selector {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Header Controls (view mode + expand/collapse) */\n.header-controls {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls {\n display: flex;\n gap: 4px;\n}\n\n.control-btn {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* Fields List View - Modern Design */\n.fields-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header .list-col {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header .list-col.sortable {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header .list-col.sortable:hover {\n color: var(--accent-color);\n}\n\n.list-header .list-col.sortable.sorted {\n color: var(--accent-color);\n}\n\n.sort-icon {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable:hover .sort-icon {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted .sort-icon {\n opacity: 1;\n}\n\n.list-body {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row:last-child {\n border-bottom: none;\n}\n\n/* Column-specific styling */\n.col-seq {\n text-align: center;\n}\n\n.seq-num {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row:hover .seq-num,\n.list-row.selected .seq-num {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted {\n color: var(--text-muted);\n}\n\n.required-indicator {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required i {\n color: var(--danger-color);\n}\n\n.required-indicator.optional {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc {\n min-width: 0;\n}\n\n.desc-text {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty i {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty span {\n font-size: 14px;\n}\n\n/* ============================================================\n OVERVIEW SECTION\n ============================================================ */\n\n.stats-cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable {\n cursor: pointer;\n}\n\n.stat-card.clickable:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable:hover .stat-card-action {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action i {\n font-size: 14px;\n}\n\n.stat-card-header {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header i {\n font-size: 14px;\n}\n\n.stat-card-body .stat-main {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body .stat-details {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n/* Info Panels */\n.info-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title i {\n color: var(--accent-color);\n}\n\n/* Capability Tags */\n.capability-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag i {\n font-size: 10px;\n}\n\n.capability-tag.disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n/* Info Grid */\n.info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n/* ============================================================\n FIELDS SECTION\n ============================================================ */\n\n.fields-content {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups {\n display: flex;\n flex-direction: column;\n}\n\n.field-group {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group:last-child {\n border-bottom: none;\n}\n\n.group-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item:last-child {\n border-bottom: none;\n}\n\n.field-item:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info {\n flex: 1;\n min-width: 0;\n}\n\n.field-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable {\n color: var(--danger-color);\n}\n\n.field-related {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related:hover {\n text-decoration: underline;\n}\n\n.field-badges {\n display: flex;\n gap: 4px;\n}\n\n.badge {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted {\n background: #fce7f3;\n color: #9d174d;\n}\n\n/* ============================================================\n RELATIONSHIPS SECTION\n ============================================================ */\n\n.relationships-graph {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph mj-entity-erd,\n.relationships-graph mj-erd-composite {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n/* ERD Splitter for details panel */\n.relationships-graph .erd-splitter {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph kendo-splitter-pane {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph mj-entity-details {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder p {\n margin: 0;\n}\n\n.graph-placeholder .hint {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title i {\n color: var(--accent-color);\n}\n\n.relationship-items {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item:last-child {\n border-bottom: none;\n}\n\n.relationship-item:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden {\n display: none;\n}\n\n.rel-icon {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info {\n flex: 1;\n}\n\n.rel-entity {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity:hover {\n text-decoration: underline;\n}\n\n.rel-field {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type,\n.rel-display-type {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle {\n color: var(--success-color);\n}\n\n/* Grouped relationship styles */\n.relationship-group-title .group-count {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped {\n padding: 8px 0;\n}\n\n.relationship-item-grouped {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped:last-child {\n border-bottom: none;\n}\n\n.rel-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; /* Align with entity name (icon width + gap) */\n}\n\n.field-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip i {\n font-size: 10px;\n}\n\n.field-chip.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip .bundle-icon {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n/* ============================================================\n PERMISSIONS SECTION\n ============================================================ */\n\n.permissions-matrix {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table th,\n.matrix-table td {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table th {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table th.center,\n.matrix-table td.center {\n text-align: center;\n}\n\n.matrix-table tbody tr:hover {\n background: var(--bg-secondary);\n}\n\n.role-name {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon {\n font-size: 14px;\n}\n\n.permission-icon.granted {\n color: var(--success-color);\n}\n\n.permission-icon.denied {\n color: var(--text-muted);\n}\n\n.rls-info {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n/* API Capabilities */\n.api-capabilities {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item i {\n font-size: 12px;\n}\n\n.capability-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled i {\n color: var(--success-color);\n}\n\n/* ============================================================\n LINEAGE SECTION\n ============================================================ */\n\n.lineage-diagram {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage {\n text-align: center;\n}\n\n.lineage-stage h4 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item i {\n color: var(--accent-color);\n}\n\n.lineage-arrow {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node .entity-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node .entity-box i {\n font-size: 24px;\n}\n\n.tracking-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item .config-label {\n color: var(--text-muted);\n}\n\n.config-item .config-value {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n/* ============================================================\n HISTORY SECTION\n ============================================================ */\n\n.history-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status i {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled i {\n color: var(--success-color);\n}\n\n.config-text strong {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text span {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card h4 i {\n color: var(--accent-color);\n}\n\n.info-card p {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card code {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list li {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list li:last-child {\n border-bottom: none;\n}\n\n/* ============================================================\n SETTINGS SECTION\n ============================================================ */\n\n.settings-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json mj-code-editor {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json ::ng-deep .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json ::ng-deep .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config,\n.settings-section .config-grid {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row .config-label {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row .config-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row .config-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row .config-value.enabled {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n/* ============================================================\n DETAIL PANEL (Slide-in from right)\n ============================================================ */\n\n.detail-panel {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open {\n transform: translateX(0);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section {\n margin-bottom: 24px;\n}\n\n.detail-section:last-child {\n margin-bottom: 0;\n}\n\n.detail-section h4 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section h5 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item .label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item .value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item .value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item .value.link {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item .value.link:hover {\n text-decoration: underline;\n}\n\n.value-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display {\n color: var(--text-primary);\n}\n\n/* ============================================================\n EMPTY STATES\n ============================================================ */\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state p {\n margin: 0;\n font-size: 14px;\n}\n\n/* ============================================================\n LOADING / ERROR STATES\n ============================================================ */\n\n.explorer-loading,\n.explorer-error,\n.explorer-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error i,\n.explorer-empty i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error {\n color: var(--danger-color);\n}\n\n.explorer-error i {\n opacity: 1;\n}\n\n/* ============================================================\n IS-A TYPE HIERARCHY & VIRTUAL ENTITY STYLES\n ============================================================ */\n\n/* Badge variants for header */\n.isa-badge {\n font-size: 11px;\n font-weight: 600;\n padding: 3px 10px;\n border-radius: 12px;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n cursor: default;\n white-space: nowrap;\n}\n\n.isa-badge.virtual {\n background: rgba(139, 92, 246, 0.12);\n color: #7c3aed;\n border: 1px solid rgba(139, 92, 246, 0.25);\n}\n\n.isa-badge.child-type {\n background: rgba(59, 130, 246, 0.12);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.25);\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.isa-badge.child-type:hover {\n background: rgba(59, 130, 246, 0.22);\n}\n\n.isa-badge.parent-type {\n background: rgba(16, 185, 129, 0.12);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.25);\n}\n\n/* Breadcrumb under title */\n.isa-breadcrumb {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6366f1;\n font-weight: 500;\n margin-top: 2px;\n padding: 2px 0;\n}\n\n.isa-breadcrumb i {\n font-size: 11px;\n opacity: 0.7;\n}\n\n/* IS-A Panel (overview section) */\n.isa-panel {\n border-left: 3px solid #6366f1;\n}\n\n.isa-info-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-radius: 6px;\n font-size: 13px;\n color: var(--text-primary, #334155);\n}\n\n.isa-info-row.virtual-info {\n background: rgba(139, 92, 246, 0.06);\n}\n\n.isa-info-row.virtual-info i {\n color: #7c3aed;\n font-size: 14px;\n}\n\n.isa-info-row .code {\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n font-size: 12px;\n background: rgba(0, 0, 0, 0.06);\n padding: 1px 6px;\n border-radius: 3px;\n color: #7c3aed;\n}\n\n/* Inheritance chain */\n.isa-chain {\n padding: 8px 0;\n}\n\n.isa-chain-label {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.isa-chain-nodes {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n padding: 6px 0;\n}\n\n.isa-node {\n display: inline-flex;\n align-items: center;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n}\n\n.isa-node.current {\n background: #3b82f6;\n color: white;\n}\n\n.isa-node.parent {\n background: rgba(59, 130, 246, 0.1);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.isa-arrow {\n color: var(--text-muted, #94a3b8);\n font-size: 11px;\n}\n\n.isa-inherited-fields {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--text-muted, #94a3b8);\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inherited-fields i {\n font-size: 12px;\n color: #6366f1;\n}\n\n/* Child types list */\n.isa-children {\n padding: 8px 0;\n}\n\n.isa-child-list {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 4px 0;\n}\n\n.isa-child-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(16, 185, 129, 0.1);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.2);\n}\n\n/* Clickable elements */\n.clickable {\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.clickable:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.isa-node.parent.clickable:hover {\n background: rgba(59, 130, 246, 0.2);\n border-color: rgba(59, 130, 246, 0.35);\n}\n\n.isa-child-chip.clickable:hover {\n background: rgba(16, 185, 129, 0.2);\n border-color: rgba(16, 185, 129, 0.35);\n}\n\n/* Field inherited badge (card and list views) */\n.badge.inherited,\n.flag-badge.inherited {\n background: rgba(99, 102, 241, 0.1);\n color: #6366f1;\n border: 1px solid rgba(99, 102, 241, 0.2);\n font-size: 10px;\n font-weight: 600;\n gap: 3px;\n}\n\n.flag-badge.inherited {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 10px;\n}\n\n.flag-badge.inherited i {\n font-size: 9px;\n}\n\n/* IS-A source section in field detail panel */\n.isa-source-section {\n background: rgba(99, 102, 241, 0.04);\n border-radius: 6px;\n padding: 12px;\n margin: -4px -12px 8px;\n}\n\n.isa-source-section h5 {\n color: #6366f1;\n}\n\n.isa-source-section h5 i {\n margin-right: 4px;\n}\n\n/* IS-A settings panel */\n.isa-settings-panel {\n border-left: 3px solid #6366f1;\n}\n\n.isa-settings-panel .link {\n color: #3b82f6;\n cursor: pointer;\n transition: color 0.15s ease;\n}\n\n.isa-settings-panel .link:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.isa-settings-panel .muted {\n color: var(--text-muted, #94a3b8);\n}\n\n/* IS-A Field Inspector */\n.isa-field-inspector {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-field-inspector > .isa-chain-label {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.isa-inspector-groups {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n}\n\n.isa-inspector-group {\n border-radius: 6px;\n padding: 8px 12px;\n border: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inspector-group.own {\n background: rgba(59, 130, 246, 0.04);\n border-color: rgba(59, 130, 246, 0.15);\n}\n\n.isa-inspector-group.inherited {\n background: rgba(99, 102, 241, 0.04);\n border-color: rgba(99, 102, 241, 0.15);\n}\n\n.isa-inspector-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 6px;\n}\n\n.isa-inspector-entity {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-count {\n font-size: 11px;\n color: var(--text-muted, #94a3b8);\n font-weight: 500;\n}\n\n.isa-inspector-fields {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.isa-inspector-field {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: rgba(0, 0, 0, 0.04);\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-type {\n font-size: 10px;\n color: var(--text-muted, #94a3b8);\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\n\n/* Sibling chips */\n.isa-siblings {\n padding: 8px 0;\n}\n\n.isa-sibling-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(245, 158, 11, 0.1);\n color: #d97706;\n border: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.isa-sibling-chip.clickable:hover {\n background: rgba(245, 158, 11, 0.2);\n border-color: rgba(245, 158, 11, 0.35);\n}\n\n/* Child count badge */\n.isa-child-count {\n font-size: 11px;\n background: rgba(0, 0, 0, 0.08);\n padding: 1px 6px;\n border-radius: 8px;\n margin-left: 2px;\n font-weight: 600;\n}\n\n.isa-child-count i {\n font-size: 10px;\n}\n", ".k-pane {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \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 \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: #F5F6FA;\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\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: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\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: #667eea;\n color: white;\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: #fef08a;\n color: #854d0e;\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: #10b981;\n color: white;\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: #9ca3af;\n}\n"] }]
2533
3214
  }], null, null); })();
2534
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityFormComponentExtended, { className: "EntityFormComponentExtended", filePath: "src/lib/custom/Entities/entity-form.component.ts", lineNumber: 99 }); })();
2535
- export function LoadEntityFormComponentExtended() {
2536
- // Prevents tree-shaking
2537
- }
3215
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityFormComponentExtended, { className: "EntityFormComponentExtended", filePath: "src/lib/custom/Entities/entity-form.component.ts", lineNumber: 130 }); })();
2538
3216
  //# sourceMappingURL=entity-form.component.js.map