@acorex/modules 21.0.0-next.37 → 21.0.0-next.39
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.
- package/fesm2022/{acorex-modules-ai-management-acorex-modules-ai-management-WuqoH4OL.mjs → acorex-modules-ai-management-acorex-modules-ai-management-CU2FvMTx.mjs} +260 -80
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-CU2FvMTx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs → acorex-modules-ai-management-agent.entity-CUO9Jczk.mjs} +14 -19
- package/fesm2022/acorex-modules-ai-management-agent.entity-CUO9Jczk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CWXEW9yL.mjs → acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-daTGJ1Rd.mjs} +52 -8
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-daTGJ1Rd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-Cmprtps-.mjs} +49 -7
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-Cmprtps-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs → acorex-modules-ai-management-assist.entity-C1nM_x4Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs.map → acorex-modules-ai-management-assist.entity-C1nM_x4Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs → acorex-modules-ai-management-index-CjTjfydP.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs.map → acorex-modules-ai-management-index-CjTjfydP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs → acorex-modules-ai-management-model.entity-CPHxj8h7.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs.map → acorex-modules-ai-management-model.entity-CPHxj8h7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-D-9unl6i.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-a6MjMiXF.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-D-9unl6i.mjs.map → acorex-modules-ai-management-open-ai-endpoint.entity-a6MjMiXF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management.mjs +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DniyhnPK.mjs} +509 -436
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DniyhnPK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs → acorex-modules-assessment-management-assessment-case.entity-BggEmLhz.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs.map → acorex-modules-assessment-management-assessment-case.entity-BggEmLhz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs → acorex-modules-assessment-management-assessment-session.entity-CWR1QZv1.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CWR1QZv1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs → acorex-modules-assessment-management-fill-assessment-session.command-qajn_XDh.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-qajn_XDh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-B2SncZAW.mjs → acorex-modules-assessment-management-index-B2l5Se1l.mjs} +25 -26
- package/fesm2022/acorex-modules-assessment-management-index-B2l5Se1l.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs → acorex-modules-assessment-management-preview-question.command-BCS477_k.mjs} +10 -11
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-BCS477_k.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs → acorex-modules-assessment-management-preview-questionnaire.command-C8lyuqE-.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-C8lyuqE-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-XD5IJpvW.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DtowOBLy.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-XD5IJpvW.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DtowOBLy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs → acorex-modules-assessment-management-question-bank-item.entity-Br7XcU_u.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-Br7XcU_u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-DNUf5RD3.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-DNUf5RD3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-BdBKHvHP.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-BdBKHvHP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs → acorex-modules-assessment-management-questionnaire.entity-B5aP_P4z.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs.map → acorex-modules-assessment-management-questionnaire.entity-B5aP_P4z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-C3Qt5fmY.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-C3Qt5fmY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs → acorex-modules-assessment-management-view-session-answers.command-C9VS-Tp3.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs.map → acorex-modules-assessment-management-view-session-answers.command-C9VS-Tp3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BDs0ZgD5.mjs → acorex-modules-asset-management-acorex-modules-asset-management-F7Ok5dhs.mjs} +519 -81
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-F7Ok5dhs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs → acorex-modules-asset-management-asset-system-history.entity-D1HZG9wO.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs.map → acorex-modules-asset-management-asset-system-history.entity-D1HZG9wO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs → acorex-modules-asset-management-asset-system-type.entity-DDh5RK5M.mjs} +60 -38
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-DDh5RK5M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-6Rauu2Z1.mjs → acorex-modules-asset-management-asset-type-section-component.entity-em7lQ1eu.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-6Rauu2Z1.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-em7lQ1eu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-r_H1QGwp.mjs → acorex-modules-asset-management-asset-type-section.entity-BtcNy6Ra.mjs} +6 -48
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-BtcNy6Ra.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs → acorex-modules-asset-management-asset-type.entity-DWhrFVFI.mjs} +53 -100
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-DWhrFVFI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-CamZGWTM.mjs → acorex-modules-asset-management-asset.entity-BEjXfkPD.mjs} +66 -56
- package/fesm2022/acorex-modules-asset-management-asset.entity-BEjXfkPD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs → acorex-modules-asset-management-assetSystem.entity-CJCVALaz.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs.map → acorex-modules-asset-management-assetSystem.entity-CJCVALaz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +38 -41
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1046 -249
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1098 -706
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +63 -35
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +101 -57
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs → acorex-modules-human-capital-management-employee.entity-BmF6_P6d.mjs} +48 -21
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BmF6_P6d.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +18 -99
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DtODwbIN.mjs +7137 -0
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DtODwbIN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs → acorex-modules-maintenance-management-failure-effect.entity-BtczD4wu.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BtczD4wu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-gg2fpT2N.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CDUdEH-e.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-gg2fpT2N.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CDUdEH-e.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-re5UvGp7.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-re5UvGp7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-nbFz4LAe.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-nbFz4LAe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-CW2NlX59.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-CW2NlX59.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-Bi5XgfoL.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-Bi5XgfoL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-DcW6sK01.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-DcW6sK01.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs → acorex-modules-maintenance-management-failure-register.entity-CUxVZo0w.mjs} +3 -3
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-CUxVZo0w.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs → acorex-modules-maintenance-management-failure-severity.entity-B7LBO-UA.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-B7LBO-UA.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-D6ATa-HR.mjs +443 -0
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-D6ATa-HR.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -3579
- package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +11 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BrVNMCi_.mjs +356 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BrVNMCi_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-CO8jMwVJ.mjs +181 -0
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-CO8jMwVJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-WiTemBLu.mjs +359 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-WiTemBLu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs → acorex-modules-organization-management-chart.entity-D6Y7kZfM.mjs} +33 -29
- package/fesm2022/acorex-modules-organization-management-chart.entity-D6Y7kZfM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-company.entity-BohMJQNi.mjs → acorex-modules-organization-management-company.entity-wpNiu8g3.mjs} +6 -8
- package/fesm2022/acorex-modules-organization-management-company.entity-wpNiu8g3.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-data-source-evaluator-scope.provider-BrKtojM9.mjs +48 -0
- package/fesm2022/acorex-modules-organization-management-data-source-evaluator-scope.provider-BrKtojM9.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-B0XbUW1I.mjs +59 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-B0XbUW1I.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-D7t_nNNk.mjs +19 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-D7t_nNNk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs → acorex-modules-organization-management-job-definition.entity-Cb6zEf65.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs.map → acorex-modules-organization-management-job-definition.entity-Cb6zEf65.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-RDGmLrqD.mjs +95 -0
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-RDGmLrqD.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-oedF18Xm.mjs +274 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-oedF18Xm.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DAKmAxld.mjs +193 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DAKmAxld.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-mHV0AWGZ.mjs +1081 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-mHV0AWGZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-Be8mvS_Z.mjs +77 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-Be8mvS_Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs +56 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-DLPufeWz.mjs → acorex-modules-organization-management-position.entity-BveMCKMd.mjs} +108 -106
- package/fesm2022/acorex-modules-organization-management-position.entity-BveMCKMd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-ivufxxLL.mjs} +25 -29
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-ivufxxLL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CfRBMxLk.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DptdG1Nt.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CfRBMxLk.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DptdG1Nt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs → acorex-modules-organization-management-responsibilities-matrix.component-qO33kvo_.mjs} +14 -21
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-qO33kvo_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-zOjyjm5H.mjs +137 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-zOjyjm5H.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs → acorex-modules-organization-management-responsibility.entity-jWEiPi5-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs.map → acorex-modules-organization-management-responsibility.entity-jWEiPi5-.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-D3ged-4h.mjs +228 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-D3ged-4h.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs → acorex-modules-organization-management-team-member-role.entity-D9TZoACE.mjs} +68 -8
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-D9TZoACE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs → acorex-modules-organization-management-team-member.entity-Bz4o7c3d.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs.map → acorex-modules-organization-management-team-member.entity-Bz4o7c3d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-CGR0UlYl.mjs → acorex-modules-organization-management-team.entity-uVffZPeg.mjs} +100 -37
- package/fesm2022/acorex-modules-organization-management-team.entity-uVffZPeg.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-widget-definition.provider-D4yjuqwx.mjs +48 -0
- package/fesm2022/acorex-modules-organization-management-widget-definition.provider-D4yjuqwx.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +1 -2216
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs +40 -0
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs +33 -0
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +14 -94
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs → acorex-modules-report-management-report-runner-root-page.component-BjKrHoBg.mjs} +107 -107
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BjKrHoBg.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/{acorex-modules-reservation-management-acorex-modules-reservation-management-BMemqW2V.mjs → acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs} +65 -76
- package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-Bg7d38wV.mjs → acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-Bg7d38wV.mjs.map → acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-BK-rLEXi.mjs → acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-BK-rLEXi.mjs.map → acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-2ngXhKAV.mjs → acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-2ngXhKAV.mjs.map → acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-reservation-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +269 -190
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-C1H_GTqy.mjs → acorex-modules-task-management-task-board.page-DA2563QE.mjs} +15 -10
- package/fesm2022/acorex-modules-task-management-task-board.page-DA2563QE.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +27 -13
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs +5 -0
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-column.component-C8lgSjfc.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-column.component-CDo0QVFy.mjs} +14 -6
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-column.component-CDo0QVFy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BGUPxGXP.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs} +31 -16
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-definition.entity-Bvs1OfE_.mjs → acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs} +10 -12
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DWIDQsWq.mjs → acorex-modules-workflow-management-index-C9Qc07oK.mjs} +125 -3
- package/fesm2022/acorex-modules-workflow-management-index-C9Qc07oK.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-D8fjNgQJ.mjs +726 -0
- package/fesm2022/acorex-modules-workflow-management-index-D8fjNgQJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-DMnJRDbq.mjs +294 -0
- package/fesm2022/acorex-modules-workflow-management-index-DMnJRDbq.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs +56 -0
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-aJou58ED.mjs → acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs} +101 -140
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-Cq7LE7u5.mjs → acorex-modules-workflow-management-workflow-instance.entity-sfsoT0is.mjs} +10 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-sfsoT0is.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-CIakASVR.mjs → acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs} +11 -7
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +746 -402
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/organization-management/README.md +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +64 -16
- package/types/acorex-modules-asset-management.d.ts +115 -58
- package/types/acorex-modules-common.d.ts +2 -4
- package/types/acorex-modules-dashboard-management.d.ts +226 -109
- package/types/acorex-modules-data-management.d.ts +2 -2
- package/types/acorex-modules-document-management.d.ts +1 -2
- package/types/acorex-modules-human-capital-management.d.ts +6 -0
- package/types/acorex-modules-maintenance-management.d.ts +561 -41
- package/types/acorex-modules-notification-management.d.ts +7 -3
- package/types/acorex-modules-organization-management.d.ts +52 -107
- package/types/acorex-modules-security-management.d.ts +15 -1
- package/types/acorex-modules-task-management.d.ts +8 -13
- package/types/acorex-modules-workflow-management.d.ts +67 -13
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-WuqoH4OL.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CWXEW9yL.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-B2SncZAW.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BDs0ZgD5.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-r_H1QGwp.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-CamZGWTM.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-C-EKX6Oy.mjs +0 -91
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-C-EKX6Oy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-BohMJQNi.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs +0 -784
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-DLPufeWz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-CGR0UlYl.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-BMemqW2V.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-C1H_GTqy.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-column.component-C8lgSjfc.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BGUPxGXP.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bvs1OfE_.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-DWIDQsWq.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-aJou58ED.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Cq7LE7u5.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CIakASVR.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-platform-dev-tools.mjs","sources":["../../../../libs/modules/platform-dev-tools/src/lib/const.ts","../../../../libs/modules/platform-dev-tools/src/lib/manifest.ts","../../../../libs/modules/platform-dev-tools/src/lib/menu.keys.ts","../../../../libs/modules/platform-dev-tools/src/lib/menu.provider.ts","../../../../libs/modules/platform-dev-tools/src/lib/settings.keys.ts","../../../../libs/modules/platform-dev-tools/src/lib/settings.provider.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree.model.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-data.service.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-module-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-entity-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-permissions-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-features-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.html","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree-node.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/platform-dev-tools.module.ts","../../../../libs/modules/platform-dev-tools/src/acorex-modules-platform-dev-tools.ts"],"sourcesContent":["//#region ---- Config ----\n\nconst config = {\n i18n: 'platform-dev-tools',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'dev',\n module: 'platform-dev-tools',\n name: 'PlatformDevTools',\n title: '@platform-dev-tools:module.title',\n icon: 'fa-light fa-wrench',\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Platform Dev Tools Module Manifest.\n * Development-only module for exploring platform structure (modules, entities, permissions, features).\n */\nexport const PlatformDevToolsManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n description: '@platform-dev-tools:module.description',\n required: false,\n};\n\n//#endregion\n","//#region ---- Menu Keys ----\n\nexport const AXPPlatformDevToolsMenuKeys = {\n Root: 'platform-dev-tools.root',\n PlatformExplorer: 'platform-dev-tools.platform-explorer',\n} as const;\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { RootConfig } from './const';\nimport { AXPPlatformDevToolsMenuKeys } from './menu.keys';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n/**\n * Adds \"Dev Tools\" > \"Platform Explorer\" under Administration.\n * Only register this module in development so the menu does not appear in production.\n */\nexport class AXMPlatformDevToolsMenuProvider implements AXPMenuProvider {\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n context.find(AXPCommonMenuKeys.Platform).addItems([\n {\n text: '',\n type: 'break',\n priority: 998,\n },\n {\n name: AXPPlatformDevToolsMenuKeys.PlatformExplorer,\n text: '@platform-dev-tools:module.menus.platform-explorer.title',\n path: 'demo/dev/platform-explorer',\n icon: 'fa-light fa-sitemap',\n priority: 999,\n },\n ]);\n }\n}\n\n//#endregion\n","//#region ---- Developer Settings ----\n\n/** Setting keys for the Platform Dev Tools module. */\nexport enum AXPPlatformDevToolsSettings {\n /** When enabled, exposes additional diagnostic behavior for developers (debug mode). */\n DebugMode = 'PlatformDevTools:Setting:Developer.DebugMode',\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPPlatformDevToolsSettings } from './settings.keys';\n\n//#endregion\n\n//#region ---- Setting Provider ----\n\n/**\n * Defines settings for Platform Dev Tools (developer-oriented options).\n */\nexport class AXPPlatformDevToolsSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n .addGroup(\n 'platform-dev-tools',\n '@platform-dev-tools:settings.group.title',\n '@platform-dev-tools:settings.group.description',\n 'fa-light fa-wrench',\n )\n .addSection(\n 'developer',\n '@platform-dev-tools:settings.developer.title',\n '@platform-dev-tools:settings.developer.description',\n )\n .addSetting({\n key: AXPPlatformDevToolsSettings.DebugMode,\n title: '@platform-dev-tools:settings.developer.items.debug-mode.title',\n description: '@platform-dev-tools:settings.developer.items.debug-mode.description',\n scope: 'T',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n })\n .endSection()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Tree node types ----\n\nexport type PlatformExplorerNodeKind =\n | 'module'\n | 'entities'\n | 'entity'\n | 'permissions'\n | 'permission'\n | 'features'\n | 'feature';\n\nexport interface PlatformExplorerTreeNode {\n id: string;\n kind: PlatformExplorerNodeKind;\n label: string;\n moduleName?: string;\n /** i18n key for the module title (used for page title and breadcrumbs) */\n moduleTitle?: string;\n children?: PlatformExplorerTreeNode[];\n /** Optional payload for detail view */\n payload?: unknown;\n /** Item count for badge (e.g. entities count, permissions count, features count) */\n itemCount?: number;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { AXPModuleManifestRegistry } from '@acorex/platform/core';\nimport { AXPPermissionDefinitionService } from '@acorex/platform/auth';\nimport { inject, Injectable } from '@angular/core';\nimport {\n PlatformExplorerTreeNode,\n} from './platform-explorer-tree.model';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport type { AXPPermissionDefinition, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\n\n//#endregion\n\n//#region ---- Service ----\n\n@Injectable()\nexport class PlatformExplorerDataService {\n private readonly manifestRegistry = inject(AXPModuleManifestRegistry);\n private readonly entityResolver = inject(AXPEntityResolver);\n private readonly permissionService = inject(AXPPermissionDefinitionService);\n\n /**\n * Build only root-level module nodes (no children). Children are loaded on expand via getModuleChildren.\n * Includes all modules; use buildModulesOnlyFiltered() to exclude modules with no entities/permissions/features.\n */\n async buildModulesOnly(): Promise<PlatformExplorerTreeNode[]> {\n await this.manifestRegistry.initialize();\n const modules = this.manifestRegistry.getAll();\n const tree: PlatformExplorerTreeNode[] = modules.map((mod) => ({\n id: `module-${mod.name}`,\n kind: 'module' as const,\n label: mod.title,\n moduleName: mod.name,\n moduleTitle: mod.title,\n payload: mod,\n children: [],\n }));\n tree.sort((a, b) => {\n const nameA = (a.payload as { name?: string })?.name ?? a.moduleName ?? '';\n const nameB = (b.payload as { name?: string })?.name ?? b.moduleName ?? '';\n return nameA.localeCompare(nameB, undefined, { sensitivity: 'base' });\n });\n return tree;\n }\n\n /**\n * Build root-level module nodes, excluding modules that have no entities, permissions, or features.\n * Each module node gets itemCount = number of non-empty subcategories (for badge).\n */\n async buildModulesOnlyFiltered(): Promise<PlatformExplorerTreeNode[]> {\n const all = await this.buildModulesOnly();\n const filtered: PlatformExplorerTreeNode[] = [];\n for (const modNode of all) {\n const children = await this.getModuleChildren(modNode.id);\n if (children.length > 0) {\n filtered.push({\n ...modNode,\n itemCount: children.length,\n });\n }\n }\n return filtered;\n }\n\n /**\n * Load entities, permissions, and features for a module (called when module node is expanded or clicked).\n * Only includes subcategories that have at least one item. Returns empty array if module has no items.\n */\n async getModuleChildren(moduleId: string): Promise<PlatformExplorerTreeNode[]> {\n const moduleName = moduleId.startsWith('module-') ? moduleId.slice(7) : moduleId;\n const mod = this.manifestRegistry.get(moduleName);\n if (!mod) return [];\n const moduleTitle = mod.title;\n const [allEntries, permissions, features] = await Promise.all([\n this.entityResolver.listAll(),\n this.getPermissionsForModule(moduleName),\n Promise.resolve(this.getFeaturesForModule(moduleName)),\n ]);\n const moduleEntities = allEntries.filter((e) => e.module === moduleName);\n const permissionsCount = permissions.length;\n const featuresCount = features.length;\n const nodes: PlatformExplorerTreeNode[] = [];\n if (moduleEntities.length > 0) {\n nodes.push({\n id: `module-${moduleName}-entities`,\n kind: 'entities',\n label: '@platform-dev-tools:module.terms.entities',\n moduleName,\n moduleTitle,\n itemCount: moduleEntities.length,\n children: moduleEntities.map((e) => ({\n id: `entity-${moduleName}-${e.name}`,\n kind: 'entity' as const,\n label: e.name,\n moduleName,\n moduleTitle,\n payload: e,\n })),\n });\n }\n if (permissionsCount > 0) {\n nodes.push({\n id: `module-${moduleName}-permissions`,\n kind: 'permissions',\n label: '@platform-dev-tools:module.terms.permissions',\n moduleName,\n moduleTitle,\n itemCount: permissionsCount,\n });\n }\n if (featuresCount > 0) {\n nodes.push({\n id: `module-${moduleName}-features`,\n kind: 'features',\n label: '@platform-dev-tools:module.terms.features',\n moduleName,\n moduleTitle,\n itemCount: featuresCount,\n });\n }\n return nodes;\n }\n\n /**\n * Get all permissions for a module (for display in module detail).\n */\n async getPermissionsForModule(moduleName: string): Promise<AXPPermissionDefinition[]> {\n const groups = await this.permissionService.getGroups();\n return this.collectPermissionsForModule(groups, moduleName);\n }\n\n /**\n * Get all features for a module (for display in module detail).\n */\n getFeaturesForModule(moduleName: string): AXPFeatureDefinition[] {\n return this.manifestRegistry.getModuleFeatures(moduleName);\n }\n\n private collectPermissionsForModule(\n groups: AXPPermissionGroupDefinition[],\n moduleName: string\n ): AXPPermissionDefinition[] {\n const prefix = `${moduleName}:`;\n const out: AXPPermissionDefinition[] = [];\n const collect = (items: AXPPermissionDefinition[]) => {\n for (const p of items) {\n if (p.name.startsWith(prefix)) out.push(p);\n if (p.children?.length) collect(p.children);\n }\n };\n for (const g of groups) {\n if (g.name === moduleName) collect(g.permissions);\n }\n return out;\n }\n}\n\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPModuleManifest } from '@acorex/platform/core';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-module-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n template: `\n @if (payload()) {\n <section class=\"axp-module-detail\">\n <h3 class=\"axp-module-detail__section-title\">\n {{ '@platform-dev-tools:module.terms.module-info' | translate | async }}\n </h3>\n <dl class=\"axp-detail-dl\">\n <dt>\n {{ '@platform-dev-tools:module.terms.name' | translate | async }}\n </dt>\n <dd>{{ payload()!.name }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.version' | translate | async }}\n </dt>\n <dd>{{ payload()!.version }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.title' | translate | async }}\n </dt>\n <dd>{{ payload()!.title }}</dd>\n\n @if (payload()!.description) {\n <dt>\n {{ '@platform-dev-tools:module.terms.description' | translate | async }}\n </dt>\n <dd>{{ payload()!.description }}</dd>\n }\n\n @if (payload()!.i18n) {\n <dt>i18n</dt>\n <dd>{{ payload()!.i18n }}</dd>\n }\n\n @if (payload()!.required !== undefined) {\n <dt>\n {{ '@platform-dev-tools:module.terms.required' | translate | async }}\n </dt>\n <dd>{{ payload()!.required }}</dd>\n }\n </dl>\n </section>\n }\n `,\n styles: [\n `\n .axp-module-detail { margin-bottom: 24px; }\n .axp-module-detail__section-title { margin: 0 0 12px 0; font-size: 15px; font-weight: 600; }\n .axp-detail-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0; }\n .axp-detail-dl dt { font-weight: 600; color: var(--ax-neutral-text-secondary, #666); }\n .axp-detail-dl dd { margin: 0; }\n `,\n ],\n})\nexport class AXPlatformExplorerModuleDetailComponent {\n payload = input<AXPModuleManifest | undefined>();\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport type { AXPEntity } from '@acorex/platform/common';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport type { AXPEntityListEntry } from '@acorex/platform/layout/entity';\n\n//#endregion\n\nfunction isListEntry(p: AXPEntity | AXPEntityListEntry): p is AXPEntityListEntry {\n return p != null && 'fullName' in p && !('properties' in p);\n}\n\n@Component({\n selector: 'axp-platform-explorer-entity-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n @if (entity(); as e) {\n <dl class=\"ax-grid ax-grid-cols-[auto_1fr] ax-gap-x-4 ax-gap-y-1 ax-mb-3 ax-m-0\">\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.module' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.module }}</dd>\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.name }}</dd>\n @if (e.title) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.title | translate | async}}</dd>\n }\n @if (e.formats.plural) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.plural' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.formats.plural | translate | async}}</dd>\n }\n </dl>\n @if (e.properties && e.properties.length > 0) {\n <p class=\"ax-mb-2 ax-mt-3 ax-font-bold\">{{ '@platform-dev-tools:module.terms.properties' | translate | async }} ({{ e.properties.length }})</p>\n <div class=\"ax-flex-1 ax-min-h-0 ax-overflow-auto ax-border ax-border-lightest ax-rounded-md\">\n <table class=\"ax-w-full ax-border-collapse ax-text-[13px]\">\n <thead>\n <tr>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.type' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.description' | translate | async }}</th>\n </tr>\n </thead>\n <tbody class=\"axp-entity-detail-tbody\">\n @for (p of e.properties; track p.name) {\n <tr>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\"><code class=\"ax-text-xs ax-bg-lighter ax-px-1.5 ax-py-0.5 ax-rounded\">{{ p.name }}</code></td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.title | translate | async }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.schema.dataType }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">@if (p.description) { {{ p.description | translate | async }} } @else { – }</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n } @else if (loading()) {\n <p class=\"ax-m-0 ax-text-muted\">{{ '@platform-dev-tools:module.terms.loading-entity' | translate | async }}</p>\n }\n </div>\n `,\n styles: [\n `\n .axp-entity-detail-tbody tr:last-child td { border-bottom: none; }\n `,\n ],\n})\nexport class AXPlatformExplorerEntityDetailComponent {\n payload = input<AXPEntity | AXPEntityListEntry | undefined>();\n\n protected readonly entity = signal<AXPEntity | null>(null);\n protected readonly loading = signal(false);\n\n private readonly entityResolver = inject(AXPEntityResolver);\n\n constructor() {\n effect(() => {\n const p = this.payload();\n if (!p) {\n this.entity.set(null);\n this.loading.set(false);\n return;\n }\n if (isListEntry(p)) {\n this.loading.set(true);\n this.entity.set(null);\n this.entityResolver.get(p.module, p.name).then((e) => {\n if (this.payload() === p) {\n this.entity.set(e ?? null);\n }\n this.loading.set(false);\n });\n } else {\n this.entity.set(p);\n this.loading.set(false);\n }\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPPermissionDefinition } from '@acorex/platform/auth';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-permissions-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column [dataField]=\"'name'\" [caption]=\"'@platform-dev-tools:module.terms.name' | translate | async\" [width]=\"'420px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'title'\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'260px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'description'\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'380px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>\n {{ item.data?.title | translate | async }}</ng-template>\n <ng-template #descTpl let-item>\n @if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }\n </ng-template>\n `,\n})\nexport class AXPlatformExplorerPermissionsListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPPermissionDefinition>({\n key: 'name',\n pageSize: 20,\n load: async (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return { items: [], total: 0 };\n const list = await this.dataService.getPermissionsForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return { items, total: list.length };\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-features-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column dataField=\"key\" [caption]=\"'@platform-dev-tools:module.terms.key' | translate | async\" [width]=\"'240px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"title\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'280px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"type\" caption=\"Type\" [width]=\"'100px'\" [cellTemplate]=\"typeTpl\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"description\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'340px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"defaultValue\" [caption]=\"'@platform-dev-tools:module.terms.default-value' | translate | async\" [width]=\"'140px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>{{ item.data?.title | translate | async }}</ng-template>\n <ng-template #typeTpl let-item>{{ item.data?.type ?? '–' }}</ng-template>\n <ng-template #descTpl let-item>@if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }</ng-template>\n `,\n})\nexport class AXPlatformExplorerFeaturesListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPFeatureDefinition>({\n key: 'name',\n pageSize: 20,\n load: (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return Promise.resolve({ items: [], total: 0 });\n const list = this.dataService.getFeaturesForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return Promise.resolve({ items, total: list.length });\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerModuleDetailComponent } from './detail/platform-explorer-module-detail.component';\nimport { AXPlatformExplorerEntityDetailComponent } from './detail/platform-explorer-entity-detail.component';\nimport { AXPlatformExplorerPermissionsListDetailComponent } from './detail/platform-explorer-permissions-list-detail.component';\nimport { AXPlatformExplorerFeaturesListDetailComponent } from './detail/platform-explorer-features-list-detail.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n imports: [\n AXTranslationModule,\n AXPlatformExplorerModuleDetailComponent,\n AXPlatformExplorerEntityDetailComponent,\n AXPlatformExplorerPermissionsListDetailComponent,\n AXPlatformExplorerFeaturesListDetailComponent\n],\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0\">\n @switch (node().kind) {\n @case ('module') {\n <axp-platform-explorer-module-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('entity') {\n <axp-platform-explorer-entity-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('permissions') {\n <axp-platform-explorer-permissions-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @case ('features') {\n <axp-platform-explorer-features-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @default {\n <p class=\"axp-detail__hint\">{{ node().children?.length ?? 0 }} items.</p>\n }\n }\n </div>\n `,\n styles: [\n `\n .axp-detail__hint { margin: 0; color: var(--ax-neutral-text-secondary, #666); }\n `,\n ],\n})\nexport class AXPlatformExplorerDetailComponent {\n node = input.required<PlatformExplorerTreeNode>();\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXTreeViewComponent,\n AXTreeViewNode,\n AXTreeViewNodeSelectEvent,\n AXTreeViewNodeToggleEvent,\n} from '@acorex/components/tree-view';\nimport { AXPBreadcrumbItem } from '@acorex/platform/core';\nimport {\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n AXPPageLayoutComponent,\n} from '@acorex/platform/layout/views';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport {\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n} from '@acorex/platform/layout/components';\nimport { PlatformExplorerDataService } from './platform-explorer-data.service';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerDetailComponent } from './platform-explorer-detail.component';\n\n//#endregion\n\n//#region ---- Convert tree to AXTreeViewNode ----\n\nfunction toTreeViewNodes(\n nodes: PlatformExplorerTreeNode[],\n markModuleExpandable = false\n): AXTreeViewNode[] {\n return nodes.map((n) => {\n const children = n.children ?? [];\n const hasChildren = children.length > 0;\n const axNode: AXTreeViewNode = {\n id: n.id,\n title: n.label,\n children: hasChildren ? toTreeViewNodes(children, false) : undefined,\n data: { treeNode: n },\n };\n if (markModuleExpandable && n.kind === 'module' && !hasChildren) {\n (axNode as Record<string, unknown>)['childrenCount'] = 3;\n }\n return axNode;\n });\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-page',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXTreeViewComponent,\n AXPlatformExplorerDetailComponent,\n ],\n providers: [\n PlatformExplorerDataService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPlatformExplorerPageComponent,\n },\n ],\n templateUrl: './platform-explorer-page.component.html',\n styleUrl: './platform-explorer-page.component.scss',\n})\nexport class AXPlatformExplorerPageComponent extends AXPPageLayoutBaseComponent {\n protected readonly dataService = inject(PlatformExplorerDataService);\n\n readonly loading = signal(true);\n readonly selectedNode = signal<PlatformExplorerTreeNode | null>(null);\n protected readonly moduleNodes = signal<PlatformExplorerTreeNode[]>([]);\n protected readonly tree = viewChild<AXTreeViewComponent>('tree');\n\n constructor() {\n super();\n this.initializeModules();\n }\n\n /** Datasource for tree: root = modules only; children loaded when module is expanded. */\n protected datasource = async (parentId?: string): Promise<AXTreeViewNode[]> => {\n if (!parentId) {\n const nodes = this.moduleNodes();\n return toTreeViewNodes(nodes, true);\n }\n const children = await this.dataService.getModuleChildren(parentId);\n return toTreeViewNodes(children, false);\n };\n\n private async initializeModules(): Promise<void> {\n this.loading.set(true);\n try {\n const nodes = await this.dataService.buildModulesOnlyFiltered();\n this.moduleNodes.set(nodes);\n } finally {\n this.loading.set(false);\n }\n }\n\n override async getPageTitle(): Promise<string> {\n const node = this.selectedNode();\n if (!node) {\n return this.translateService.translateAsync('@platform-dev-tools:module.title');\n }\n const moduleTitleKey = node.moduleTitle ?? node.label;\n const moduleTitle = await this.translateService.translateAsync(moduleTitleKey);\n const contextParts: string[] = [];\n switch (node.kind) {\n case 'module':\n return moduleTitle;\n case 'entities':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n break;\n case 'entity':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n contextParts.push(node.label);\n break;\n case 'permissions':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.permissions'));\n break;\n case 'features':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.features'));\n break;\n default:\n return moduleTitle;\n }\n return [moduleTitle, ...contextParts].join(' - ');\n }\n\n override getPageDescription(): string | null | Promise<string | null> {\n const node = this.selectedNode();\n if (!node) return null;\n const key = this.descriptionKeyForKind(node.kind);\n return key ? this.translateService.translateAsync(key) : null;\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]> {\n const node = this.selectedNode();\n const items: AXPBreadcrumbItem[] = [\n { title: '@platform-dev-tools:module.menus.platform-explorer.title' },\n ];\n if (node?.moduleTitle) {\n items.push({ title: node.moduleTitle });\n }\n return items;\n }\n\n private descriptionKeyForKind(kind: PlatformExplorerTreeNode['kind']): string | null {\n switch (kind) {\n case 'module':\n return '@platform-dev-tools:module.descriptions.module';\n case 'entities':\n return '@platform-dev-tools:module.descriptions.entities';\n case 'entity':\n return '@platform-dev-tools:module.descriptions.entity';\n case 'permissions':\n return '@platform-dev-tools:module.descriptions.permissions';\n case 'features':\n return '@platform-dev-tools:module.descriptions.features';\n default:\n return null;\n }\n }\n\n protected onNodeClick(event: AXTreeViewNodeSelectEvent): void {\n const node = event.node;\n const data = node?.['data'] as { treeNode?: PlatformExplorerTreeNode } | undefined;\n const treeNode = data?.treeNode;\n if (treeNode) {\n this.selectedNode.set(treeNode);\n this.recompute();\n // When a module node is clicked, expand it so the tree loads its children (entities, permissions, features)\n if (treeNode.kind === 'module') {\n const treeRef = this.tree();\n if (treeRef && typeof (treeRef as unknown as { expandNode?: (id: string) => void }).expandNode === 'function') {\n (treeRef as unknown as { expandNode: (id: string) => void }).expandNode(treeNode.id);\n }\n }\n }\n }\n\n protected onNodeToggle(_event: AXTreeViewNodeToggleEvent): void {\n // Tree loads children via datasource(parentId) when a node is expanded; no extra work needed.\n }\n}\n\n//#endregion\n","<axp-page-layout>\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ '@platform-dev-tools:module.menus.platform-explorer.title' | translate | async\n }}</axp-layout-title>\n </axp-layout-header>\n <axp-layout-content class=\"axp-platform-explorer__tree-wrap\">\n @if (loading()) {\n <p class=\"axp-platform-explorer__loading\">Loading...</p>\n } @else if (moduleNodes().length === 0) {\n <p class=\"axp-platform-explorer__empty\">{{ '@platform-dev-tools:module.messages.no-modules' | translate | async }}\n </p>\n } @else {\n <ax-tree-view #tree [datasource]=\"datasource\" [selectMode]=\"'single'\" [showIcons]=\"false\"\n [showChildrenBadge]=\"true\" [dragBehavior]=\"'none'\" look=\"default\" [nodeTemplate]=\"nodeTemplate\"\n (onNodeClick)=\"onNodeClick($event)\" (onNodeToggle)=\"onNodeToggle($event)\" />\n }\n </axp-layout-content>\n </axp-layout-start-side>\n\n <axp-page-content class=\"ax-min-h-0 ax-pt-0\">\n @if (selectedNode()) {\n <axp-platform-explorer-detail [node]=\"selectedNode()!\" />\n } @else {\n <p class=\"axp-platform-explorer__hint\">{{ '@platform-dev-tools:module.messages.select-node' | translate | async }}\n </p>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Node template: icon per kind (with color) + label (translated) + badge -->\n<ng-template #nodeTemplate let-node=\"node\">\n @let data = node['data'];\n @let treeNode = data?.treeNode;\n @let kind = treeNode?.kind;\n @let count = node['childrenCount'] ?? treeNode?.itemCount;\n <span class=\"axp-platform-explorer__node\">\n @switch (kind) {\n @case ('module') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--module fa-light fa-cube\"\n aria-hidden=\"true\"></i>\n }\n @case ('entities') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entities fa-light fa-table-list\"\n aria-hidden=\"true\"></i>\n }\n @case ('entity') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entity fa-light fa-table\"\n aria-hidden=\"true\"></i>\n }\n @case ('permissions') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--permissions fa-light fa-shield-halved\"\n aria-hidden=\"true\"></i>\n }\n @case ('features') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--features fa-light fa-sliders\"\n aria-hidden=\"true\"></i>\n }\n @default {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--default fa-light fa-circle-dot\"\n aria-hidden=\"true\"></i>\n }\n }\n <span class=\"axp-platform-explorer__node-label\">{{ node['title'] | translate | async }}</span>\n @if (count != null && count > 0) {\n <span class=\"axp-platform-explorer__node-badge\">{{ count }}</span>\n }\n </span>\n</ng-template>","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-tree-node',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPlatformExplorerTreeNodeComponent],\n template: `\n <div class=\"axp-tree-node\" [class.axp-tree-node--selected]=\"isSelected()\">\n <button\n type=\"button\"\n class=\"axp-tree-node__toggler\"\n [class.axp-tree-node__toggler--open]=\"expanded()\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n @if (hasChildren()) {\n <span class=\"axp-tree-node__icon\" aria-hidden=\"true\">{{ expanded() ? '▼' : '▶' }}</span>\n } @else {\n <span class=\"axp-tree-node__icon axp-tree-node__icon--empty\"></span>\n }\n </button>\n <button\n type=\"button\"\n class=\"axp-tree-node__label\"\n (click)=\"select()\"\n >\n {{ node().label }}\n @if (childrenLength() > 0) {\n <span class=\"axp-tree-node__badge\">({{ childrenLength() }})</span>\n }\n </button>\n </div>\n @if (hasChildren() && expanded()) {\n <div class=\"axp-tree-node__children\">\n @for (child of node().children ?? []; track child.id) {\n <axp-platform-explorer-tree-node\n [node]=\"child\"\n [selectedId]=\"selectedId()\"\n (nodeSelect)=\"nodeSelect.emit($event)\"\n />\n }\n </div>\n }\n `,\n styles: [\n `\n :host {\n display: block;\n }\n .axp-tree-node {\n display: flex;\n align-items: center;\n min-height: 28px;\n }\n .axp-tree-node--selected .axp-tree-node__label {\n font-weight: 600;\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__toggler {\n width: 24px;\n height: 28px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--ax-neutral-text-secondary, #666);\n flex-shrink: 0;\n }\n .axp-tree-node__toggler--open .axp-tree-node__icon {\n transform: rotate(0);\n }\n .axp-tree-node__icon {\n font-size: 10px;\n display: inline-block;\n }\n .axp-tree-node__icon--empty {\n width: 10px;\n }\n .axp-tree-node__label {\n flex: 1;\n text-align: start;\n padding: 4px 8px;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 13px;\n border-radius: 4px;\n }\n .axp-tree-node__label:hover {\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__badge {\n margin-inline-start: 4px;\n font-size: 11px;\n color: var(--ax-neutral-text-secondary, #666);\n font-weight: normal;\n }\n .axp-tree-node__children {\n padding-inline-start: 16px;\n }\n `,\n ],\n})\nexport class AXPlatformExplorerTreeNodeComponent {\n node = input.required<PlatformExplorerTreeNode>();\n selectedId = input<string | null>(null);\n nodeSelect = output<PlatformExplorerTreeNode>();\n\n readonly expanded = signal(true);\n\n childrenLength(): number {\n return this.node().children?.length ?? 0;\n }\n\n hasChildren(): boolean {\n const children = this.node().children;\n return !!children && children.length > 0;\n }\n\n isSelected(): boolean {\n return this.selectedId() === this.node().id;\n }\n\n toggle(): void {\n if (this.hasChildren()) {\n this.expanded.update((v) => !v);\n }\n }\n\n select(): void {\n this.nodeSelect.emit(this.node());\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex/platform/core';\nimport { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { PlatformDevToolsManifest } from './manifest';\nimport { AXMPlatformDevToolsMenuProvider } from './menu.provider';\nimport { AXPPlatformDevToolsSettingProvider } from './settings.provider';\nimport { AXPlatformExplorerPageComponent } from './features/platform-explorer';\n\n//#endregion\n\n//#region ---- Routes ----\n\nfunction routesFactory(): Routes {\n return [\n {\n path: ':app/dev/platform-explorer',\n canActivate: [AXPAuthGuard],\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => AXPlatformExplorerPageComponent,\n data: { reuse: true },\n },\n ],\n },\n ];\n}\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: PlatformDevToolsManifest,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMPlatformDevToolsMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXPPlatformDevToolsSettingProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\n ],\n})\nexport class AXMPlatformDevToolsModule {}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-platform-dev-tools.mjs","sources":["../../../../libs/modules/platform-dev-tools/src/lib/const.ts","../../../../libs/modules/platform-dev-tools/src/lib/manifest.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree.model.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-data.service.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-module-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-entity-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-permissions-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/detail/platform-explorer-features-list-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-detail.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-page.component.html","../../../../libs/modules/platform-dev-tools/src/lib/features/platform-explorer/platform-explorer-tree-node.component.ts","../../../../libs/modules/platform-dev-tools/src/lib/platform-dev-tools.module.ts","../../../../libs/modules/platform-dev-tools/src/lib/settings.keys.ts","../../../../libs/modules/platform-dev-tools/src/acorex-modules-platform-dev-tools.ts"],"sourcesContent":["//#region ---- Config ----\n\nconst config = {\n i18n: 'platform-dev-tools',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'dev',\n module: 'platform-dev-tools',\n name: 'PlatformDevTools',\n title: '@platform-dev-tools:module.title',\n icon: 'fa-light fa-wrench',\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Platform Dev Tools Module Manifest.\n * Development-only module for exploring platform structure (modules, entities, permissions, features).\n */\nexport const PlatformDevToolsManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n description: '@platform-dev-tools:module.description',\n required: false,\n};\n\n//#endregion\n","//#region ---- Tree node types ----\n\nexport type PlatformExplorerNodeKind =\n | 'module'\n | 'entities'\n | 'entity'\n | 'permissions'\n | 'permission'\n | 'features'\n | 'feature';\n\nexport interface PlatformExplorerTreeNode {\n id: string;\n kind: PlatformExplorerNodeKind;\n label: string;\n moduleName?: string;\n /** i18n key for the module title (used for page title and breadcrumbs) */\n moduleTitle?: string;\n children?: PlatformExplorerTreeNode[];\n /** Optional payload for detail view */\n payload?: unknown;\n /** Item count for badge (e.g. entities count, permissions count, features count) */\n itemCount?: number;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { AXPModuleManifestRegistry } from '@acorex/platform/core';\nimport { AXPPermissionDefinitionService } from '@acorex/platform/auth';\nimport { inject, Injectable } from '@angular/core';\nimport {\n PlatformExplorerTreeNode,\n} from './platform-explorer-tree.model';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport type { AXPPermissionDefinition, AXPPermissionGroupDefinition } from '@acorex/platform/auth';\n\n//#endregion\n\n//#region ---- Service ----\n\n@Injectable()\nexport class PlatformExplorerDataService {\n private readonly manifestRegistry = inject(AXPModuleManifestRegistry);\n private readonly entityResolver = inject(AXPEntityResolver);\n private readonly permissionService = inject(AXPPermissionDefinitionService);\n\n /**\n * Build only root-level module nodes (no children). Children are loaded on expand via getModuleChildren.\n * Includes all modules; use buildModulesOnlyFiltered() to exclude modules with no entities/permissions/features.\n */\n async buildModulesOnly(): Promise<PlatformExplorerTreeNode[]> {\n await this.manifestRegistry.initialize();\n const modules = this.manifestRegistry.getAll();\n const tree: PlatformExplorerTreeNode[] = modules.map((mod) => ({\n id: `module-${mod.name}`,\n kind: 'module' as const,\n label: mod.title,\n moduleName: mod.name,\n moduleTitle: mod.title,\n payload: mod,\n children: [],\n }));\n tree.sort((a, b) => {\n const nameA = (a.payload as { name?: string })?.name ?? a.moduleName ?? '';\n const nameB = (b.payload as { name?: string })?.name ?? b.moduleName ?? '';\n return nameA.localeCompare(nameB, undefined, { sensitivity: 'base' });\n });\n return tree;\n }\n\n /**\n * Build root-level module nodes, excluding modules that have no entities, permissions, or features.\n * Each module node gets itemCount = number of non-empty subcategories (for badge).\n */\n async buildModulesOnlyFiltered(): Promise<PlatformExplorerTreeNode[]> {\n const all = await this.buildModulesOnly();\n const filtered: PlatformExplorerTreeNode[] = [];\n for (const modNode of all) {\n const children = await this.getModuleChildren(modNode.id);\n if (children.length > 0) {\n filtered.push({\n ...modNode,\n itemCount: children.length,\n });\n }\n }\n return filtered;\n }\n\n /**\n * Load entities, permissions, and features for a module (called when module node is expanded or clicked).\n * Only includes subcategories that have at least one item. Returns empty array if module has no items.\n */\n async getModuleChildren(moduleId: string): Promise<PlatformExplorerTreeNode[]> {\n const moduleName = moduleId.startsWith('module-') ? moduleId.slice(7) : moduleId;\n const mod = this.manifestRegistry.get(moduleName);\n if (!mod) return [];\n const moduleTitle = mod.title;\n const [allEntries, permissions, features] = await Promise.all([\n this.entityResolver.listAll(),\n this.getPermissionsForModule(moduleName),\n Promise.resolve(this.getFeaturesForModule(moduleName)),\n ]);\n const moduleEntities = allEntries.filter((e) => e.module === moduleName);\n const permissionsCount = permissions.length;\n const featuresCount = features.length;\n const nodes: PlatformExplorerTreeNode[] = [];\n if (moduleEntities.length > 0) {\n nodes.push({\n id: `module-${moduleName}-entities`,\n kind: 'entities',\n label: '@platform-dev-tools:module.terms.entities',\n moduleName,\n moduleTitle,\n itemCount: moduleEntities.length,\n children: moduleEntities.map((e) => ({\n id: `entity-${moduleName}-${e.name}`,\n kind: 'entity' as const,\n label: e.name,\n moduleName,\n moduleTitle,\n payload: e,\n })),\n });\n }\n if (permissionsCount > 0) {\n nodes.push({\n id: `module-${moduleName}-permissions`,\n kind: 'permissions',\n label: '@platform-dev-tools:module.terms.permissions',\n moduleName,\n moduleTitle,\n itemCount: permissionsCount,\n });\n }\n if (featuresCount > 0) {\n nodes.push({\n id: `module-${moduleName}-features`,\n kind: 'features',\n label: '@platform-dev-tools:module.terms.features',\n moduleName,\n moduleTitle,\n itemCount: featuresCount,\n });\n }\n return nodes;\n }\n\n /**\n * Get all permissions for a module (for display in module detail).\n */\n async getPermissionsForModule(moduleName: string): Promise<AXPPermissionDefinition[]> {\n const groups = await this.permissionService.getGroups();\n return this.collectPermissionsForModule(groups, moduleName);\n }\n\n /**\n * Get all features for a module (for display in module detail).\n */\n getFeaturesForModule(moduleName: string): AXPFeatureDefinition[] {\n return this.manifestRegistry.getModuleFeatures(moduleName);\n }\n\n private collectPermissionsForModule(\n groups: AXPPermissionGroupDefinition[],\n moduleName: string\n ): AXPPermissionDefinition[] {\n const prefix = `${moduleName}:`;\n const out: AXPPermissionDefinition[] = [];\n const collect = (items: AXPPermissionDefinition[]) => {\n for (const p of items) {\n if (p.name.startsWith(prefix)) out.push(p);\n if (p.children?.length) collect(p.children);\n }\n };\n for (const g of groups) {\n if (g.name === moduleName) collect(g.permissions);\n }\n return out;\n }\n}\n\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPModuleManifest } from '@acorex/platform/core';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-module-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n template: `\n @if (payload()) {\n <section class=\"axp-module-detail\">\n <h3 class=\"axp-module-detail__section-title\">\n {{ '@platform-dev-tools:module.terms.module-info' | translate | async }}\n </h3>\n <dl class=\"axp-detail-dl\">\n <dt>\n {{ '@platform-dev-tools:module.terms.name' | translate | async }}\n </dt>\n <dd>{{ payload()!.name }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.version' | translate | async }}\n </dt>\n <dd>{{ payload()!.version }}</dd>\n\n <dt>\n {{ '@platform-dev-tools:module.terms.title' | translate | async }}\n </dt>\n <dd>{{ payload()!.title }}</dd>\n\n @if (payload()!.description) {\n <dt>\n {{ '@platform-dev-tools:module.terms.description' | translate | async }}\n </dt>\n <dd>{{ payload()!.description }}</dd>\n }\n\n @if (payload()!.i18n) {\n <dt>i18n</dt>\n <dd>{{ payload()!.i18n }}</dd>\n }\n\n @if (payload()!.required !== undefined) {\n <dt>\n {{ '@platform-dev-tools:module.terms.required' | translate | async }}\n </dt>\n <dd>{{ payload()!.required }}</dd>\n }\n </dl>\n </section>\n }\n `,\n styles: [\n `\n .axp-module-detail { margin-bottom: 24px; }\n .axp-module-detail__section-title { margin: 0 0 12px 0; font-size: 15px; font-weight: 600; }\n .axp-detail-dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0; }\n .axp-detail-dl dt { font-weight: 600; color: var(--ax-neutral-text-secondary, #666); }\n .axp-detail-dl dd { margin: 0; }\n `,\n ],\n})\nexport class AXPlatformExplorerModuleDetailComponent {\n payload = input<AXPModuleManifest | undefined>();\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport type { AXPEntity } from '@acorex/platform/common';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport type { AXPEntityListEntry } from '@acorex/platform/layout/entity';\n\n//#endregion\n\nfunction isListEntry(p: AXPEntity | AXPEntityListEntry): p is AXPEntityListEntry {\n return p != null && 'fullName' in p && !('properties' in p);\n}\n\n@Component({\n selector: 'axp-platform-explorer-entity-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n @if (entity(); as e) {\n <dl class=\"ax-grid ax-grid-cols-[auto_1fr] ax-gap-x-4 ax-gap-y-1 ax-mb-3 ax-m-0\">\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.module' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.module }}</dd>\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.name }}</dd>\n @if (e.title) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.title | translate | async}}</dd>\n }\n @if (e.formats.plural) {\n <dt class=\"ax-font-semibold ax-text-muted\">{{ '@platform-dev-tools:module.terms.plural' | translate | async }}</dt><dd class=\"ax-m-0\">{{ e.formats.plural | translate | async}}</dd>\n }\n </dl>\n @if (e.properties && e.properties.length > 0) {\n <p class=\"ax-mb-2 ax-mt-3 ax-font-bold\">{{ '@platform-dev-tools:module.terms.properties' | translate | async }} ({{ e.properties.length }})</p>\n <div class=\"ax-flex-1 ax-min-h-0 ax-overflow-auto ax-border ax-border-lightest ax-rounded-md\">\n <table class=\"ax-w-full ax-border-collapse ax-text-[13px]\">\n <thead>\n <tr>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.name' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.title' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.type' | translate | async }}</th>\n <th class=\"ax-text-start ax-p-2 ax-px-3 ax-bg-lighter ax-font-semibold ax-border-b ax-border-lightest\">{{ '@platform-dev-tools:module.terms.description' | translate | async }}</th>\n </tr>\n </thead>\n <tbody class=\"axp-entity-detail-tbody\">\n @for (p of e.properties; track p.name) {\n <tr>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\"><code class=\"ax-text-xs ax-bg-lighter ax-px-1.5 ax-py-0.5 ax-rounded\">{{ p.name }}</code></td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.title | translate | async }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">{{ p.schema.dataType }}</td>\n <td class=\"ax-p-2 ax-px-3 ax-border-b ax-border-lightest\">@if (p.description) { {{ p.description | translate | async }} } @else { – }</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n } @else if (loading()) {\n <p class=\"ax-m-0 ax-text-muted\">{{ '@platform-dev-tools:module.terms.loading-entity' | translate | async }}</p>\n }\n </div>\n `,\n styles: [\n `\n .axp-entity-detail-tbody tr:last-child td { border-bottom: none; }\n `,\n ],\n})\nexport class AXPlatformExplorerEntityDetailComponent {\n payload = input<AXPEntity | AXPEntityListEntry | undefined>();\n\n protected readonly entity = signal<AXPEntity | null>(null);\n protected readonly loading = signal(false);\n\n private readonly entityResolver = inject(AXPEntityResolver);\n\n constructor() {\n effect(() => {\n const p = this.payload();\n if (!p) {\n this.entity.set(null);\n this.loading.set(false);\n return;\n }\n if (isListEntry(p)) {\n this.loading.set(true);\n this.entity.set(null);\n this.entityResolver.get(p.module, p.name).then((e) => {\n if (this.payload() === p) {\n this.entity.set(e ?? null);\n }\n this.loading.set(false);\n });\n } else {\n this.entity.set(p);\n this.loading.set(false);\n }\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPPermissionDefinition } from '@acorex/platform/auth';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-permissions-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column [dataField]=\"'name'\" [caption]=\"'@platform-dev-tools:module.terms.name' | translate | async\" [width]=\"'420px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'title'\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'260px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column [dataField]=\"'description'\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'380px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>\n {{ item.data?.title | translate | async }}</ng-template>\n <ng-template #descTpl let-item>\n @if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }\n </ng-template>\n `,\n})\nexport class AXPlatformExplorerPermissionsListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPPermissionDefinition>({\n key: 'name',\n pageSize: 20,\n load: async (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return { items: [], total: 0 };\n const list = await this.dataService.getPermissionsForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return { items, total: list.length };\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport { AXDataSource, AXDataSourceQuery } from '@acorex/cdk/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPFeatureDefinition } from '@acorex/platform/core';\nimport { PlatformExplorerDataService } from '../platform-explorer-data.service';\n\n//#endregion\n\n@Component({\n selector: 'axp-platform-explorer-features-list-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXDataTableModule, AXTranslationModule],\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n template: `\n <div class=\"ax-flex ax-flex-1 ax-min-h-0 ax-pt-0 ax-overflow-auto\">\n <ax-data-table\n class=\"ax-flex-1 ax-border ax-border-lightest ax-rounded-md ax-overflow-hidden\"\n [paging]=\"true\"\n [allowReordering]=\"true\"\n [dataSource]=\"dataSource\"\n >\n <ax-text-column dataField=\"key\" [caption]=\"'@platform-dev-tools:module.terms.key' | translate | async\" [width]=\"'240px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"title\" [caption]=\"'@platform-dev-tools:module.terms.title' | translate | async\" [cellTemplate]=\"titleTpl\" [width]=\"'280px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"type\" caption=\"Type\" [width]=\"'100px'\" [cellTemplate]=\"typeTpl\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"description\" [caption]=\"'@platform-dev-tools:module.terms.description' | translate | async\" [cellTemplate]=\"descTpl\" [width]=\"'340px'\" [allowResizing]=\"true\"></ax-text-column>\n <ax-text-column dataField=\"defaultValue\" [caption]=\"'@platform-dev-tools:module.terms.default-value' | translate | async\" [width]=\"'140px'\" [allowResizing]=\"true\"></ax-text-column>\n </ax-data-table>\n </div>\n <ng-template #titleTpl let-item>{{ item.data?.title | translate | async }}</ng-template>\n <ng-template #typeTpl let-item>{{ item.data?.type ?? '–' }}</ng-template>\n <ng-template #descTpl let-item>@if (item.data?.description) { {{ item.data.description | translate | async }} } @else { – }</ng-template>\n `,\n})\nexport class AXPlatformExplorerFeaturesListDetailComponent {\n moduleName = input.required<string>();\n private readonly dataService = inject(PlatformExplorerDataService);\n\n readonly dataSource = new AXDataSource<AXPFeatureDefinition>({\n key: 'name',\n pageSize: 20,\n load: (e: AXDataSourceQuery) => {\n const name = this.moduleName();\n if (!name) return Promise.resolve({ items: [], total: 0 });\n const list = this.dataService.getFeaturesForModule(name);\n const skip = e?.skip ?? 0;\n const take = e?.take ?? 20;\n const items = list.slice(skip, skip + take);\n return Promise.resolve({ items, total: list.length });\n },\n });\n\n constructor() {\n effect(() => {\n this.moduleName();\n this.dataSource.refresh();\n });\n }\n}\n","//#region ---- Imports ----\n\n\nimport { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerModuleDetailComponent } from './detail/platform-explorer-module-detail.component';\nimport { AXPlatformExplorerEntityDetailComponent } from './detail/platform-explorer-entity-detail.component';\nimport { AXPlatformExplorerPermissionsListDetailComponent } from './detail/platform-explorer-permissions-list-detail.component';\nimport { AXPlatformExplorerFeaturesListDetailComponent } from './detail/platform-explorer-features-list-detail.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-detail',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'ax-flex ax-flex-col ax-flex-1 ax-min-h-0' },\n imports: [\n AXTranslationModule,\n AXPlatformExplorerModuleDetailComponent,\n AXPlatformExplorerEntityDetailComponent,\n AXPlatformExplorerPermissionsListDetailComponent,\n AXPlatformExplorerFeaturesListDetailComponent\n],\n template: `\n <div class=\"ax-flex ax-flex-col ax-flex-1 ax-min-h-0\">\n @switch (node().kind) {\n @case ('module') {\n <axp-platform-explorer-module-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('entity') {\n <axp-platform-explorer-entity-detail [payload]=\"$any(node().payload)\" />\n }\n @case ('permissions') {\n <axp-platform-explorer-permissions-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @case ('features') {\n <axp-platform-explorer-features-list-detail [moduleName]=\"node().moduleName!\" />\n }\n @default {\n <p class=\"axp-detail__hint\">{{ node().children?.length ?? 0 }} items.</p>\n }\n }\n </div>\n `,\n styles: [\n `\n .axp-detail__hint { margin: 0; color: var(--ax-neutral-text-secondary, #666); }\n `,\n ],\n})\nexport class AXPlatformExplorerDetailComponent {\n node = input.required<PlatformExplorerTreeNode>();\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXTreeViewComponent,\n AXTreeViewNode,\n AXTreeViewNodeSelectEvent,\n AXTreeViewNodeToggleEvent,\n} from '@acorex/components/tree-view';\nimport { AXPBreadcrumbItem } from '@acorex/platform/core';\nimport {\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n AXPPageLayoutComponent,\n} from '@acorex/platform/layout/views';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport {\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n} from '@acorex/platform/layout/components';\nimport { PlatformExplorerDataService } from './platform-explorer-data.service';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\nimport { AXPlatformExplorerDetailComponent } from './platform-explorer-detail.component';\n\n//#endregion\n\n//#region ---- Convert tree to AXTreeViewNode ----\n\nfunction toTreeViewNodes(\n nodes: PlatformExplorerTreeNode[],\n markModuleExpandable = false\n): AXTreeViewNode[] {\n return nodes.map((n) => {\n const children = n.children ?? [];\n const hasChildren = children.length > 0;\n const axNode: AXTreeViewNode = {\n id: n.id,\n title: n.label,\n children: hasChildren ? toTreeViewNodes(children, false) : undefined,\n data: { treeNode: n },\n };\n if (markModuleExpandable && n.kind === 'module' && !hasChildren) {\n (axNode as Record<string, unknown>)['childrenCount'] = 3;\n }\n return axNode;\n });\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-page',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXPPageLayoutComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutBlockComponent,\n AXTreeViewComponent,\n AXPlatformExplorerDetailComponent,\n ],\n providers: [\n PlatformExplorerDataService,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPlatformExplorerPageComponent,\n },\n ],\n templateUrl: './platform-explorer-page.component.html',\n styleUrl: './platform-explorer-page.component.scss',\n})\nexport class AXPlatformExplorerPageComponent extends AXPPageLayoutBaseComponent {\n protected readonly dataService = inject(PlatformExplorerDataService);\n\n readonly loading = signal(true);\n readonly selectedNode = signal<PlatformExplorerTreeNode | null>(null);\n protected readonly moduleNodes = signal<PlatformExplorerTreeNode[]>([]);\n protected readonly tree = viewChild<AXTreeViewComponent>('tree');\n\n constructor() {\n super();\n this.initializeModules();\n }\n\n /** Datasource for tree: root = modules only; children loaded when module is expanded. */\n protected datasource = async (parentId?: string): Promise<AXTreeViewNode[]> => {\n if (!parentId) {\n const nodes = this.moduleNodes();\n return toTreeViewNodes(nodes, true);\n }\n const children = await this.dataService.getModuleChildren(parentId);\n return toTreeViewNodes(children, false);\n };\n\n private async initializeModules(): Promise<void> {\n this.loading.set(true);\n try {\n const nodes = await this.dataService.buildModulesOnlyFiltered();\n this.moduleNodes.set(nodes);\n } finally {\n this.loading.set(false);\n }\n }\n\n override async getPageTitle(): Promise<string> {\n const node = this.selectedNode();\n if (!node) {\n return this.translateService.translateAsync('@platform-dev-tools:module.title');\n }\n const moduleTitleKey = node.moduleTitle ?? node.label;\n const moduleTitle = await this.translateService.translateAsync(moduleTitleKey);\n const contextParts: string[] = [];\n switch (node.kind) {\n case 'module':\n return moduleTitle;\n case 'entities':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n break;\n case 'entity':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.entities'));\n contextParts.push(node.label);\n break;\n case 'permissions':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.permissions'));\n break;\n case 'features':\n contextParts.push(await this.translateService.translateAsync('@platform-dev-tools:module.terms.features'));\n break;\n default:\n return moduleTitle;\n }\n return [moduleTitle, ...contextParts].join(' - ');\n }\n\n override getPageDescription(): string | null | Promise<string | null> {\n const node = this.selectedNode();\n if (!node) return null;\n const key = this.descriptionKeyForKind(node.kind);\n return key ? this.translateService.translateAsync(key) : null;\n }\n\n override getPageBreadcrumbs(): AXPBreadcrumbItem[] | Promise<AXPBreadcrumbItem[]> {\n const node = this.selectedNode();\n const items: AXPBreadcrumbItem[] = [\n { title: '@platform-dev-tools:module.menus.platform-explorer.title' },\n ];\n if (node?.moduleTitle) {\n items.push({ title: node.moduleTitle });\n }\n return items;\n }\n\n private descriptionKeyForKind(kind: PlatformExplorerTreeNode['kind']): string | null {\n switch (kind) {\n case 'module':\n return '@platform-dev-tools:module.descriptions.module';\n case 'entities':\n return '@platform-dev-tools:module.descriptions.entities';\n case 'entity':\n return '@platform-dev-tools:module.descriptions.entity';\n case 'permissions':\n return '@platform-dev-tools:module.descriptions.permissions';\n case 'features':\n return '@platform-dev-tools:module.descriptions.features';\n default:\n return null;\n }\n }\n\n protected onNodeClick(event: AXTreeViewNodeSelectEvent): void {\n const node = event.node;\n const data = node?.['data'] as { treeNode?: PlatformExplorerTreeNode } | undefined;\n const treeNode = data?.treeNode;\n if (treeNode) {\n this.selectedNode.set(treeNode);\n this.recompute();\n // When a module node is clicked, expand it so the tree loads its children (entities, permissions, features)\n if (treeNode.kind === 'module') {\n const treeRef = this.tree();\n if (treeRef && typeof (treeRef as unknown as { expandNode?: (id: string) => void }).expandNode === 'function') {\n (treeRef as unknown as { expandNode: (id: string) => void }).expandNode(treeNode.id);\n }\n }\n }\n }\n\n protected onNodeToggle(_event: AXTreeViewNodeToggleEvent): void {\n // Tree loads children via datasource(parentId) when a node is expanded; no extra work needed.\n }\n}\n\n//#endregion\n","<axp-page-layout>\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ '@platform-dev-tools:module.menus.platform-explorer.title' | translate | async\n }}</axp-layout-title>\n </axp-layout-header>\n <axp-layout-content class=\"axp-platform-explorer__tree-wrap\">\n @if (loading()) {\n <p class=\"axp-platform-explorer__loading\">Loading...</p>\n } @else if (moduleNodes().length === 0) {\n <p class=\"axp-platform-explorer__empty\">{{ '@platform-dev-tools:module.messages.no-modules' | translate | async }}\n </p>\n } @else {\n <ax-tree-view #tree [datasource]=\"datasource\" [selectMode]=\"'single'\" [showIcons]=\"false\"\n [showChildrenBadge]=\"true\" [dragBehavior]=\"'none'\" look=\"default\" [nodeTemplate]=\"nodeTemplate\"\n (onNodeClick)=\"onNodeClick($event)\" (onNodeToggle)=\"onNodeToggle($event)\" />\n }\n </axp-layout-content>\n </axp-layout-start-side>\n\n <axp-page-content class=\"ax-min-h-0 ax-pt-0\">\n @if (selectedNode()) {\n <axp-platform-explorer-detail [node]=\"selectedNode()!\" />\n } @else {\n <p class=\"axp-platform-explorer__hint\">{{ '@platform-dev-tools:module.messages.select-node' | translate | async }}\n </p>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Node template: icon per kind (with color) + label (translated) + badge -->\n<ng-template #nodeTemplate let-node=\"node\">\n @let data = node['data'];\n @let treeNode = data?.treeNode;\n @let kind = treeNode?.kind;\n @let count = node['childrenCount'] ?? treeNode?.itemCount;\n <span class=\"axp-platform-explorer__node\">\n @switch (kind) {\n @case ('module') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--module fa-light fa-cube\"\n aria-hidden=\"true\"></i>\n }\n @case ('entities') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entities fa-light fa-table-list\"\n aria-hidden=\"true\"></i>\n }\n @case ('entity') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--entity fa-light fa-table\"\n aria-hidden=\"true\"></i>\n }\n @case ('permissions') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--permissions fa-light fa-shield-halved\"\n aria-hidden=\"true\"></i>\n }\n @case ('features') {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--features fa-light fa-sliders\"\n aria-hidden=\"true\"></i>\n }\n @default {\n <i class=\"axp-platform-explorer__node-icon axp-platform-explorer__node-icon--default fa-light fa-circle-dot\"\n aria-hidden=\"true\"></i>\n }\n }\n <span class=\"axp-platform-explorer__node-label\">{{ node['title'] | translate | async }}</span>\n @if (count != null && count > 0) {\n <span class=\"axp-platform-explorer__node-badge\">{{ count }}</span>\n }\n </span>\n</ng-template>","//#region ---- Imports ----\n\n\nimport {\n ChangeDetectionStrategy,\n Component,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { PlatformExplorerTreeNode } from './platform-explorer-tree.model';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axp-platform-explorer-tree-node',\n standalone: true,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPlatformExplorerTreeNodeComponent],\n template: `\n <div class=\"axp-tree-node\" [class.axp-tree-node--selected]=\"isSelected()\">\n <button\n type=\"button\"\n class=\"axp-tree-node__toggler\"\n [class.axp-tree-node__toggler--open]=\"expanded()\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n @if (hasChildren()) {\n <span class=\"axp-tree-node__icon\" aria-hidden=\"true\">{{ expanded() ? '▼' : '▶' }}</span>\n } @else {\n <span class=\"axp-tree-node__icon axp-tree-node__icon--empty\"></span>\n }\n </button>\n <button\n type=\"button\"\n class=\"axp-tree-node__label\"\n (click)=\"select()\"\n >\n {{ node().label }}\n @if (childrenLength() > 0) {\n <span class=\"axp-tree-node__badge\">({{ childrenLength() }})</span>\n }\n </button>\n </div>\n @if (hasChildren() && expanded()) {\n <div class=\"axp-tree-node__children\">\n @for (child of node().children ?? []; track child.id) {\n <axp-platform-explorer-tree-node\n [node]=\"child\"\n [selectedId]=\"selectedId()\"\n (nodeSelect)=\"nodeSelect.emit($event)\"\n />\n }\n </div>\n }\n `,\n styles: [\n `\n :host {\n display: block;\n }\n .axp-tree-node {\n display: flex;\n align-items: center;\n min-height: 28px;\n }\n .axp-tree-node--selected .axp-tree-node__label {\n font-weight: 600;\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__toggler {\n width: 24px;\n height: 28px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--ax-neutral-text-secondary, #666);\n flex-shrink: 0;\n }\n .axp-tree-node__toggler--open .axp-tree-node__icon {\n transform: rotate(0);\n }\n .axp-tree-node__icon {\n font-size: 10px;\n display: inline-block;\n }\n .axp-tree-node__icon--empty {\n width: 10px;\n }\n .axp-tree-node__label {\n flex: 1;\n text-align: start;\n padding: 4px 8px;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 13px;\n border-radius: 4px;\n }\n .axp-tree-node__label:hover {\n background: var(--ax-neutral-surface-hover, rgba(0, 0, 0, 0.04));\n }\n .axp-tree-node__badge {\n margin-inline-start: 4px;\n font-size: 11px;\n color: var(--ax-neutral-text-secondary, #666);\n font-weight: normal;\n }\n .axp-tree-node__children {\n padding-inline-start: 16px;\n }\n `,\n ],\n})\nexport class AXPlatformExplorerTreeNodeComponent {\n node = input.required<PlatformExplorerTreeNode>();\n selectedId = input<string | null>(null);\n nodeSelect = output<PlatformExplorerTreeNode>();\n\n readonly expanded = signal(true);\n\n childrenLength(): number {\n return this.node().children?.length ?? 0;\n }\n\n hasChildren(): boolean {\n const children = this.node().children;\n return !!children && children.length > 0;\n }\n\n isSelected(): boolean {\n return this.selectedId() === this.node().id;\n }\n\n toggle(): void {\n if (this.hasChildren()) {\n this.expanded.update((v) => !v);\n }\n }\n\n select(): void {\n this.nodeSelect.emit(this.node());\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex/platform/core';\nimport { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXPRootLayoutComponent } from '@acorex/platform/themes/default';\nimport { NgModule } from '@angular/core';\nimport { ROUTES, Routes } from '@angular/router';\nimport { PlatformDevToolsManifest } from './manifest';\nimport { AXMPlatformDevToolsMenuProvider } from './menu.provider';\nimport { AXPPlatformDevToolsSettingProvider } from './settings.provider';\nimport { AXPlatformExplorerPageComponent } from './features/platform-explorer';\n\n//#endregion\n\n//#region ---- Routes ----\n\nfunction routesFactory(): Routes {\n return [\n {\n path: ':app/dev/platform-explorer',\n canActivate: [AXPAuthGuard],\n loadComponent: () => AXPRootLayoutComponent,\n children: [\n {\n path: '',\n loadComponent: () => AXPlatformExplorerPageComponent,\n data: { reuse: true },\n },\n ],\n },\n ];\n}\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: PlatformDevToolsManifest,\n multi: true,\n },\n provideLazyProvider(AXP_MENU_PROVIDER, () =>\n import('./menu.provider').then(m => m.AXMPlatformDevToolsMenuProvider)\n ),\n provideLazyProvider(AXP_SETTING_DEFINITION_PROVIDER, () =>\n import('./settings.provider').then(m => m.AXPPlatformDevToolsSettingProvider)\n ),\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFactory,\n },\n ],\n})\nexport class AXMPlatformDevToolsModule { }\n\n//#endregion\n","//#region ---- Developer Settings ----\n\n/** Setting keys for the Platform Dev Tools module. */\nexport enum AXPPlatformDevToolsSettings {\n /** When enabled, exposes additional diagnostic behavior for developers (debug mode). */\n DebugMode = 'PlatformDevTools:Setting:Developer.DebugMode',\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,oBAAoB;CAC3B;AAEM,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,MAAM,EAAE,oBAAoB;AAC5B,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,kCAAkC;AACzC,QAAA,IAAI,EAAE,oBAAoB;AAC3B,KAAA;;AAGH;;ACjBA;AAKA;AAEA;AAEA;;;AAGG;AACI,MAAM,wBAAwB,GAAsB;AACzD,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,WAAW,EAAE,wCAAwC;AACrD,IAAA,QAAQ,EAAE,KAAK;;AAGjB;;ACvBA;AAyBA;;ACzBA;AAYA;AAEA;MAGa,2BAA2B,CAAA;AADxC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACpD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAwI5E,IAAA;AAtIC;;;AAGG;AACH,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC9C,MAAM,IAAI,GAA+B,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;AAC7D,YAAA,EAAE,EAAE,CAAA,OAAA,EAAU,GAAG,CAAC,IAAI,CAAA,CAAE;AACxB,YAAA,IAAI,EAAE,QAAiB;YACvB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,GAAG,CAAC,IAAI;YACpB,WAAW,EAAE,GAAG,CAAC,KAAK;AACtB,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACjB,YAAA,MAAM,KAAK,GAAI,CAAC,CAAC,OAA6B,EAAE,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE;AAC1E,YAAA,MAAM,KAAK,GAAI,CAAC,CAAC,OAA6B,EAAE,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE;AAC1E,YAAA,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACvE,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE;QACzC,MAAM,QAAQ,GAA+B,EAAE;AAC/C,QAAA,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;AACzD,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,QAAQ,CAAC,IAAI,CAAC;AACZ,oBAAA,GAAG,OAAO;oBACV,SAAS,EAAE,QAAQ,CAAC,MAAM;AAC3B,iBAAA,CAAC;YACJ;QACF;AACA,QAAA,OAAO,QAAQ;IACjB;AAEA;;;AAGG;IACH,MAAM,iBAAiB,CAAC,QAAgB,EAAA;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ;QAChF,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;AACjD,QAAA,IAAI,CAAC,GAAG;AAAE,YAAA,OAAO,EAAE;AACnB,QAAA,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK;AAC7B,QAAA,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC5D,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;AAC7B,YAAA,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;AACvD,SAAA,CAAC;AACF,QAAA,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;AACxE,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM;AAC3C,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;QACrC,MAAM,KAAK,GAA+B,EAAE;AAC5C,QAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,CAAA,OAAA,EAAU,UAAU,CAAA,SAAA,CAAW;AACnC,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,KAAK,EAAE,2CAA2C;gBAClD,UAAU;gBACV,WAAW;gBACX,SAAS,EAAE,cAAc,CAAC,MAAM;gBAChC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACnC,oBAAA,EAAE,EAAE,CAAA,OAAA,EAAU,UAAU,IAAI,CAAC,CAAC,IAAI,CAAA,CAAE;AACpC,oBAAA,IAAI,EAAE,QAAiB;oBACvB,KAAK,EAAE,CAAC,CAAC,IAAI;oBACb,UAAU;oBACV,WAAW;AACX,oBAAA,OAAO,EAAE,CAAC;AACX,iBAAA,CAAC,CAAC;AACJ,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACxB,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,CAAA,OAAA,EAAU,UAAU,CAAA,YAAA,CAAc;AACtC,gBAAA,IAAI,EAAE,aAAa;AACnB,gBAAA,KAAK,EAAE,8CAA8C;gBACrD,UAAU;gBACV,WAAW;AACX,gBAAA,SAAS,EAAE,gBAAgB;AAC5B,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,CAAA,OAAA,EAAU,UAAU,CAAA,SAAA,CAAW;AACnC,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,KAAK,EAAE,2CAA2C;gBAClD,UAAU;gBACV,WAAW;AACX,gBAAA,SAAS,EAAE,aAAa;AACzB,aAAA,CAAC;QACJ;AACA,QAAA,OAAO,KAAK;IACd;AAEA;;AAEG;IACH,MAAM,uBAAuB,CAAC,UAAkB,EAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;QACvD,OAAO,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7D;AAEA;;AAEG;AACH,IAAA,oBAAoB,CAAC,UAAkB,EAAA;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAC5D;IAEQ,2BAA2B,CACjC,MAAsC,EACtC,UAAkB,EAAA;AAElB,QAAA,MAAM,MAAM,GAAG,CAAA,EAAG,UAAU,GAAG;QAC/B,MAAM,GAAG,GAA8B,EAAE;AACzC,QAAA,MAAM,OAAO,GAAG,CAAC,KAAgC,KAAI;AACnD,YAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACrB,gBAAA,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AAAE,oBAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM;AAAE,oBAAA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7C;AACF,QAAA,CAAC;AACD,QAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;AAAE,gBAAA,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACnD;AACA,QAAA,OAAO,GAAG;IACZ;8GA1IW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA3B,2BAA2B,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC;;;AChBD;AAOA;MA8Da,uCAAuC,CAAA;AA5DpD,IAAA,WAAA,GAAA;QA6DE,IAAA,CAAA,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAiC;AACjD,IAAA;8GAFY,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAtDxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA5CS,YAAY,8BAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAuDhC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBA5DnD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qCAAqC,cACnC,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,WACtC,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,sTAAA,CAAA,EAAA;;;AC1DH;AASA;AAEA,SAAS,WAAW,CAAC,CAAiC,EAAA;AACpD,IAAA,OAAO,CAAC,IAAI,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC;AAC7D;MA0Da,uCAAuC,CAAA;AAQlD,IAAA,WAAA,GAAA;QAPA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAA8C;AAE1C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAmB,IAAI,6EAAC;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,KAAK,8EAAC;AAEzB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAGzD,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,CAAC,EAAE;AACN,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBACvB;YACF;AACA,YAAA,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;AAClB,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAI;AACnD,oBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;wBACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;oBAC5B;AACA,oBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,gBAAA,CAAC,CAAC;YACJ;iBAAO;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAClB,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YACzB;AACF,QAAA,CAAC,CAAC;IACJ;8GA9BW,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjDxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA5CS,YAAY,8BAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAmDhC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAxDnD,SAAS;+BACE,qCAAqC,EAAA,UAAA,EACnC,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,IAAA,EACtC,EAAE,KAAK,EAAE,0CAA0C,EAAE,EAAA,QAAA,EACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,iEAAA,CAAA,EAAA;;;AChEH;AAiBA;MA6Ba,gDAAgD,CAAA;AAkB3D,IAAA,WAAA,GAAA;AAjBA,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,gFAAU;AACpB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAEzD,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,CAA0B;AAC9D,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,IAAI,EAAE,OAAO,CAAoB,KAAI;AACnC,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;gBACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC;AACjE,gBAAA,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC;AACzB,gBAAA,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE;AAC1B,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;gBAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACtC,CAAC;AACF,SAAA,CAAC;QAGA,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC3B,QAAA,CAAC,CAAC;IACJ;8GAvBW,gDAAgD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gDAAgD,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApBjD;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EApBS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,eAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAsBnD,gDAAgD,EAAA,UAAA,EAAA,CAAA;kBA3B5D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+CAA+C;AACzD,oBAAA,UAAU,EAAE,IAAI;oBAChB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;AAC/D,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE;AAC3D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA;AACF,iBAAA;;;AC7CD;AAiBA;MA6Ba,6CAA6C,CAAA;AAkBxD,IAAA,WAAA,GAAA;AAjBA,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,gFAAU;AACpB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAEzD,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,CAAuB;AAC3D,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,IAAI,EAAE,CAAC,CAAoB,KAAI;AAC7B,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI;AAAE,oBAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC;AACxD,gBAAA,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC;AACzB,gBAAA,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE;AAC1B,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;AAC3C,gBAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACvD,CAAC;AACF,SAAA,CAAC;QAGA,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC3B,QAAA,CAAC,CAAC;IACJ;8GAvBW,6CAA6C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6CAA6C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApB9C;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EApBS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,eAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAsBnD,6CAA6C,EAAA,UAAA,EAAA,CAAA;kBA3BzD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4CAA4C;AACtD,oBAAA,UAAU,EAAE,IAAI;oBAChB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;AAC/D,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE;AAC3D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA;AACF,iBAAA;;;AC7CD;AAWA;AAEA;MA0Ca,iCAAiC,CAAA;AAxC9C,IAAA,WAAA,GAAA;AAyCE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAA4B;AAClD,IAAA;8GAFY,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3BlC;;;;;;;;;;;;;;;;;;;;GAoBT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA1BC,mBAAmB,+BACnB,uCAAuC,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvC,uCAAuC,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvC,gDAAgD,kHAChD,6CAA6C,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FA6BpC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAxC7C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,cAC5B,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,QACzC,EAAE,KAAK,EAAE,0CAA0C,EAAE,EAAA,OAAA,EAClD;wBACP,mBAAmB;wBACnB,uCAAuC;wBACvC,uCAAuC;wBACvC,gDAAgD;wBAChD;qBACH,EAAA,QAAA,EACW;;;;;;;;;;;;;;;;;;;;AAoBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA;;;AChDH;AAiCA;AAEA;AAEA,SAAS,eAAe,CACtB,KAAiC,EACjC,oBAAoB,GAAG,KAAK,EAAA;AAE5B,IAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;AACrB,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE;AACjC,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;AACvC,QAAA,MAAM,MAAM,GAAmB;YAC7B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;AACd,YAAA,QAAQ,EAAE,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS;AACpE,YAAA,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;SACtB;QACD,IAAI,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC9D,YAAA,MAAkC,CAAC,eAAe,CAAC,GAAG,CAAC;QAC1D;AACA,QAAA,OAAO,MAAM;AACf,IAAA,CAAC,CAAC;AACJ;AAEA;AAEA;AA2BM,MAAO,+BAAgC,SAAQ,0BAA0B,CAAA;AAQ7E,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AARU,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,2BAA2B,CAAC;AAE3D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,IAAI,8EAAC;AACtB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAkC,IAAI,mFAAC;AAClD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA6B,EAAE,kFAAC;AACpD,QAAA,IAAA,CAAA,IAAI,GAAG,SAAS,CAAsB,MAAM,2EAAC;;AAQtD,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,QAAiB,KAA+B;YAC5E,IAAI,CAAC,QAAQ,EAAE;AACb,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,gBAAA,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC;YACrC;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AACnE,YAAA,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;AACzC,QAAA,CAAC;QAXC,IAAI,CAAC,iBAAiB,EAAE;IAC1B;AAYQ,IAAA,MAAM,iBAAiB,GAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE;AAC/D,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;IACF;AAES,IAAA,MAAM,YAAY,GAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,kCAAkC,CAAC;QACjF;QACA,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK;QACrD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC;QAC9E,MAAM,YAAY,GAAa,EAAE;AACjC,QAAA,QAAQ,IAAI,CAAC,IAAI;AACf,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,WAAW;AACpB,YAAA,KAAK,UAAU;AACb,gBAAA,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;gBAC1G;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;AAC1G,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B;AACF,YAAA,KAAK,aAAa;AAChB,gBAAA,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,8CAA8C,CAAC,CAAC;gBAC7G;AACF,YAAA,KAAK,UAAU;AACb,gBAAA,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;gBAC1G;AACF,YAAA;AACE,gBAAA,OAAO,WAAW;;QAEtB,OAAO,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACnD;IAES,kBAAkB,GAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;AAChC,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,OAAO,IAAI;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI;IAC/D;IAES,kBAAkB,GAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE;AAChC,QAAA,MAAM,KAAK,GAAwB;YACjC,EAAE,KAAK,EAAE,0DAA0D,EAAE;SACtE;AACD,QAAA,IAAI,IAAI,EAAE,WAAW,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC;AACA,QAAA,OAAO,KAAK;IACd;AAEQ,IAAA,qBAAqB,CAAC,IAAsC,EAAA;QAClE,QAAQ,IAAI;AACV,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,gDAAgD;AACzD,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,kDAAkD;AAC3D,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,gDAAgD;AACzD,YAAA,KAAK,aAAa;AAChB,gBAAA,OAAO,qDAAqD;AAC9D,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,kDAAkD;AAC3D,YAAA;AACE,gBAAA,OAAO,IAAI;;IAEjB;AAEU,IAAA,WAAW,CAAC,KAAgC,EAAA;AACpD,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,QAAA,MAAM,IAAI,GAAG,IAAI,GAAG,MAAM,CAAwD;AAClF,QAAA,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ;QAC/B,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,SAAS,EAAE;;AAEhB,YAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC9B,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE;gBAC3B,IAAI,OAAO,IAAI,OAAQ,OAA4D,CAAC,UAAU,KAAK,UAAU,EAAE;AAC5G,oBAAA,OAA2D,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtF;YACF;QACF;IACF;AAEU,IAAA,YAAY,CAAC,MAAiC,EAAA;;IAExD;8GArHW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,SAAA,EAV/B;YACT,2BAA2B;AAC3B,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,+BAA+B;AAC7C,aAAA;AACF,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClFH,s7FAoEc,EAAA,MAAA,EAAA,CAAA,60DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDV,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,mBAAmB,+BACnB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,gCAAgC,EAAA,QAAA,EAAA,mDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChC,6BAA6B,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC7B,4BAA4B,EAAA,QAAA,EAAA,qfAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC5B,mBAAmB,ssBACnB,iCAAiC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAYxB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAzB3C,SAAS;+BACE,4BAA4B,EAAA,UAAA,EAC1B,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,sBAAsB;wBACtB,gCAAgC;wBAChC,6BAA6B;wBAC7B,4BAA4B;wBAC5B,mBAAmB;wBACnB,iCAAiC;qBAClC,EAAA,SAAA,EACU;wBACT,2BAA2B;AAC3B,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,+BAAiC;AAC7C,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,s7FAAA,EAAA,MAAA,EAAA,CAAA,60DAAA,CAAA,EAAA;4FAUwD,MAAM,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE5FjE;AAaA;AAEA;MAyGa,mCAAmC,CAAA;AAvGhD,IAAA,WAAA,GAAA;AAwGE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,0EAA4B;AACjD,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAgB,IAAI,iFAAC;QACvC,IAAA,CAAA,UAAU,GAAG,MAAM,EAA4B;AAEtC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,IAAI,+EAAC;AAwBjC,IAAA;IAtBC,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC1C;IAEA,WAAW,GAAA;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ;QACrC,OAAO,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;IAC1C;IAEA,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;IAC7C;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC;IACF;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC;8GA5BW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjGpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,66BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA4DU,mCAAmC,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAvG/C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAAA,UAAA,EAC/B,IAAI,EAAA,aAAA,EACD,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAA,mCAAA,CAAqC,EAAA,QAAA,EACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,66BAAA,CAAA,EAAA;;;AC5DH;AAaA;AAEA;AAEA,SAAS,aAAa,GAAA;IACpB,OAAO;AACL,QAAA;AACE,YAAA,IAAI,EAAE,4BAA4B;YAClC,WAAW,EAAE,CAAC,YAAY,CAAC;AAC3B,YAAA,aAAa,EAAE,MAAM,sBAAsB;AAC3C,YAAA,QAAQ,EAAE;AACR,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,aAAa,EAAE,MAAM,+BAA+B;AACpD,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACtB,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AACH;AAEA;AAEA;MAyBa,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAzB,yBAAyB,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,SAAA,EAnBzB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,QAAQ,EAAE,wBAAwB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;YACD,mBAAmB,CAAC,iBAAiB,EAAE,MACrC,OAAO,gEAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC,CACvE;YACD,mBAAmB,CAAC,+BAA+B,EAAE,MACnD,OAAO,oEAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,kCAAkC,CAAC,CAC9E;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA;AACF,SAAA,EAAA,CAAA,CAAA;;2FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAvBrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,QAAQ,EAAE,wBAAwB;AAClC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;wBACD,mBAAmB,CAAC,iBAAiB,EAAE,MACrC,OAAO,gEAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC,CACvE;wBACD,mBAAmB,CAAC,+BAA+B,EAAE,MACnD,OAAO,oEAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,kCAAkC,CAAC,CAC9E;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,aAAa;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;;;AC5DD;AAEA;IACY;AAAZ,CAAA,UAAY,2BAA2B,EAAA;;AAErC,IAAA,2BAAA,CAAA,WAAA,CAAA,GAAA,8CAA0D;AAC5D,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,GAAA,EAAA,CAAA,CAAA;AAKvC;;ACRA;;AAEG;;;;"}
|