@acorex/modules 20.6.0-next.3 → 20.6.0-next.5
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/common/index.d.ts +1 -0
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-u9nGH4tZ.mjs → acorex-modules-auth-acorex-modules-auth-CLweG-Nr.mjs} +11 -11
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-u9nGH4tZ.mjs.map → acorex-modules-auth-acorex-modules-auth-CLweG-Nr.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-6InmZHNV.mjs → acorex-modules-auth-app-chooser.component-iWQrMGra.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-6InmZHNV.mjs.map → acorex-modules-auth-app-chooser.component-iWQrMGra.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-D6nA0raD.mjs → acorex-modules-auth-login.module-BvL4bO2k.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-D6nA0raD.mjs.map → acorex-modules-auth-login.module-BvL4bO2k.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BSXrfMyH.mjs → acorex-modules-auth-master.layout-Bx_nDD68.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-BSXrfMyH.mjs.map → acorex-modules-auth-master.layout-Bx_nDD68.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-BSYqxIVx.mjs → acorex-modules-auth-oauth-callback.component-YH13dx3h.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-BSYqxIVx.mjs.map → acorex-modules-auth-oauth-callback.component-YH13dx3h.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-D5PFjHun.mjs → acorex-modules-auth-password.component-BzeKK98o.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-D5PFjHun.mjs.map → acorex-modules-auth-password.component-BzeKK98o.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BczO_JRa.mjs → acorex-modules-auth-password.component-Z2yBg6yG.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BczO_JRa.mjs.map → acorex-modules-auth-password.component-Z2yBg6yG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-BGDEm7DZ.mjs → acorex-modules-auth-routes-WDOYwQVH.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-BGDEm7DZ.mjs.map → acorex-modules-auth-routes-WDOYwQVH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Cc_HrYdx.mjs → acorex-modules-auth-tenant-chooser.component-DmIB9_4z.mjs} +2 -2
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-DmIB9_4z.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor.module-g7Wke_79.mjs → acorex-modules-auth-two-factor.module-BS6QvQOF.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-g7Wke_79.mjs.map → acorex-modules-auth-two-factor.module-BS6QvQOF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-8Fn7VOQy.mjs → acorex-modules-auth-user-sessions.component-Cp-o-wcp.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-8Fn7VOQy.mjs.map → acorex-modules-auth-user-sessions.component-Cp-o-wcp.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-Cj80FOYd.mjs → acorex-modules-common-search-popup.component-BfoE2CMa.mjs} +2 -2
- package/fesm2022/acorex-modules-common-search-popup.component-BfoE2CMa.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +3 -2
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-Cx45oj-N.mjs → acorex-modules-document-management-acorex-modules-document-management-MIjFywnS.mjs} +16 -16
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-Cx45oj-N.mjs.map → acorex-modules-document-management-acorex-modules-document-management-MIjFywnS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-D-f5Ml7b.mjs → acorex-modules-document-management-attachment-widget.component-DjmLBxz_.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-D-f5Ml7b.mjs.map → acorex-modules-document-management-attachment-widget.component-DjmLBxz_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-BQmpQhlZ.mjs → acorex-modules-document-management-details-view.component-BRBTKeP_.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-BQmpQhlZ.mjs.map → acorex-modules-document-management-details-view.component-BRBTKeP_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-Dz1uKKIr.mjs → acorex-modules-document-management-document-signature-popup.component-DEWs7eF2.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-Dz1uKKIr.mjs.map → acorex-modules-document-management-document-signature-popup.component-DEWs7eF2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-Bh245lBa.mjs → acorex-modules-document-management-drive-choose.component-BdPjnLPn.mjs} +3 -3
- package/fesm2022/acorex-modules-document-management-drive-choose.component-BdPjnLPn.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-drive.component-BrSRKQ23.mjs → acorex-modules-document-management-drive.component-CQXh82bW.mjs} +3 -3
- package/fesm2022/acorex-modules-document-management-drive.component-CQXh82bW.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C1FegGr_.mjs → acorex-modules-document-management-large-icons-view.component-C-3c779z.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C1FegGr_.mjs.map → acorex-modules-document-management-large-icons-view.component-C-3c779z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-r-zzDobG.mjs → acorex-modules-document-management-large-tiles-view.component-Ob20-0Mp.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-r-zzDobG.mjs.map → acorex-modules-document-management-large-tiles-view.component-Ob20-0Mp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-GuPa6IEy.mjs → acorex-modules-document-management-list-view.component-Fr4F7zRi.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-GuPa6IEy.mjs.map → acorex-modules-document-management-list-view.component-Fr4F7zRi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-yjgChROd.mjs → acorex-modules-document-management-permission-definition.provider-Cl2LEGKW.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-yjgChROd.mjs.map → acorex-modules-document-management-permission-definition.provider-Cl2LEGKW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CF5IIGwk.mjs → acorex-modules-document-management-small-icons-view.component-C5sHQZDc.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CF5IIGwk.mjs.map → acorex-modules-document-management-small-icons-view.component-C5sHQZDc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DqXs1Z9m.mjs → acorex-modules-document-management-small-tiles-view.component-DPzT2l-a.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DqXs1Z9m.mjs.map → acorex-modules-document-management-small-tiles-view.component-DPzT2l-a.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-B5UHLnJv.mjs → acorex-modules-form-template-management-template-picker.component-Cax6CKnV.mjs} +2 -2
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-Cax6CKnV.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-CABEJK6C.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BabBpxPi.mjs} +11 -11
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-CABEJK6C.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BabBpxPi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-Krwiu3Dz.mjs → acorex-modules-human-capital-management-employee-skill.entity-Bd-AAvzy.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-Krwiu3Dz.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-Bd-AAvzy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-DA3kqqs8.mjs → acorex-modules-human-capital-management-employee.entity-tA4t8PnL.mjs} +10 -4
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-tA4t8PnL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DzI3oie3.mjs → acorex-modules-human-capital-management-employment-type.entity-CppPCCjZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-DzI3oie3.mjs.map → acorex-modules-human-capital-management-employment-type.entity-CppPCCjZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CCswTOHf.mjs → acorex-modules-human-capital-management-leave-request.entity-DoJnpaWD.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CCswTOHf.mjs.map → acorex-modules-human-capital-management-leave-request.entity-DoJnpaWD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5xv3hMC.mjs → acorex-modules-human-capital-management-leave-type.entity-BQ6yblkP.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5xv3hMC.mjs.map → acorex-modules-human-capital-management-leave-type.entity-BQ6yblkP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-permission-definition.provider-Q7Gkj7ZC.mjs → acorex-modules-human-capital-management-permission-definition.provider-qcc4cTK7.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-permission-definition.provider-Q7Gkj7ZC.mjs.map → acorex-modules-human-capital-management-permission-definition.provider-qcc4cTK7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-C0YqZ6pH.mjs → acorex-modules-human-capital-management-position-assignment.entity-CXp9MoOd.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-C0YqZ6pH.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-CXp9MoOd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-B8JPtxKi.mjs → acorex-modules-human-capital-management-skill-level.entity-CatnVsAW.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-B8JPtxKi.mjs.map → acorex-modules-human-capital-management-skill-level.entity-CatnVsAW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-BvtxulWr.mjs → acorex-modules-human-capital-management-skill.entity-BNDfFPlm.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-skill.entity-BvtxulWr.mjs.map → acorex-modules-human-capital-management-skill.entity-BNDfFPlm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-m8d9pc0D.mjs → acorex-modules-notification-management-notification-page.component-BB49Nkf6.mjs} +2 -2
- package/fesm2022/acorex-modules-notification-management-notification-page.component-BB49Nkf6.mjs.map +1 -0
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-CmD6_qq-.mjs → acorex-modules-party-management-acorex-modules-party-management-OB3q3OoQ.mjs} +7 -7
- package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-CmD6_qq-.mjs.map → acorex-modules-party-management-acorex-modules-party-management-OB3q3OoQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-industry.entity-Aco0Q4Jx.mjs → acorex-modules-party-management-industry.entity-BA7nmeZu.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-industry.entity-Aco0Q4Jx.mjs.map → acorex-modules-party-management-industry.entity-BA7nmeZu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-BE2baNum.mjs → acorex-modules-party-management-party-identifier-type.entity-CBhyeUNE.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-BE2baNum.mjs.map → acorex-modules-party-management-party-identifier-type.entity-CBhyeUNE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-identifier.entity-CM0-kSRg.mjs → acorex-modules-party-management-party-identifier.entity-CkNcTmoN.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-identifier.entity-CM0-kSRg.mjs.map → acorex-modules-party-management-party-identifier.entity-CkNcTmoN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-relationship.entity-CFXy5haj.mjs → acorex-modules-party-management-party-relationship.entity-vDEvzwWy.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-relationship.entity-CFXy5haj.mjs.map → acorex-modules-party-management-party-relationship.entity-vDEvzwWy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party-role.entity-BMbGWKiX.mjs → acorex-modules-party-management-party-role.entity-DLwi525X.mjs} +2 -2
- package/fesm2022/{acorex-modules-party-management-party-role.entity-BMbGWKiX.mjs.map → acorex-modules-party-management-party-role.entity-DLwi525X.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-party-management-party.entity-DPiBgbZR.mjs → acorex-modules-party-management-party.entity-C614tkVp.mjs} +3 -3
- package/fesm2022/{acorex-modules-party-management-party.entity-DPiBgbZR.mjs.map → acorex-modules-party-management-party.entity-C614tkVp.mjs.map} +1 -1
- package/fesm2022/acorex-modules-party-management.mjs +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-De8NbpUE.mjs → acorex-modules-report-management-report-runner-root-page.component-8YuF_Hj0.mjs} +2 -2
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-De8NbpUE.mjs.map → acorex-modules-report-management-report-runner-root-page.component-8YuF_Hj0.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/{acorex-modules-security-management-acorex-modules-security-management-dkzc-1KY.mjs → acorex-modules-security-management-acorex-modules-security-management-BuUr_2c2.mjs} +6 -3
- package/fesm2022/acorex-modules-security-management-acorex-modules-security-management-BuUr_2c2.mjs.map +1 -0
- package/fesm2022/{acorex-modules-security-management-permission-definition.provider-BbbgcgpH.mjs → acorex-modules-security-management-permission-definition.provider-CL-p5Gwd.mjs} +2 -2
- package/fesm2022/{acorex-modules-security-management-permission-definition.provider-BbbgcgpH.mjs.map → acorex-modules-security-management-permission-definition.provider-CL-p5Gwd.mjs.map} +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-DuuLmVEb.mjs → acorex-modules-settings-management-acorex-modules-settings-management-DewbCas3.mjs} +5 -5
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-DuuLmVEb.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-DewbCas3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-Dv66Gxud.mjs → acorex-modules-settings-management-permission-definition.provider-DsDGc5aU.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-Dv66Gxud.mjs.map → acorex-modules-settings-management-permission-definition.provider-DsDGc5aU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-fAvSWI9x.mjs → acorex-modules-settings-management-setting-page.component-DS3ZGStM.mjs} +3 -3
- package/fesm2022/acorex-modules-settings-management-setting-page.component-DS3ZGStM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-B_SyuN9P.mjs → acorex-modules-settings-management-setting-view.component-DRz4ChIn.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-B_SyuN9P.mjs.map → acorex-modules-settings-management-setting-view.component-DRz4ChIn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/package.json +16 -16
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-Cc_HrYdx.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-search-popup.component-Cj80FOYd.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive-choose.component-Bh245lBa.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive.component-BrSRKQ23.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-B5UHLnJv.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-DA3kqqs8.mjs.map +0 -1
- package/fesm2022/acorex-modules-notification-management-notification-page.component-m8d9pc0D.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-acorex-modules-security-management-dkzc-1KY.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-fAvSWI9x.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-auth-user-sessions.component-8Fn7VOQy.mjs","sources":["../tmp-esm2022/auth/lib/pages/account/user-sessions/user-sessions.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMUserDeviceSessionsService } from './user-sessions.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/select-box\";\nimport * as i4 from \"@angular/common\";\nexport class AXMUserSessionsComponent {\n constructor() {\n this.AXPTokenExpirationDurations = {\n oneWeek: 'oneWeek',\n oneMonth: 'oneMonth',\n threeMonths: 'threeMonths',\n sixMonths: 'sixMonths',\n };\n this.items = signal([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n this.activeSession = signal(undefined, ...(ngDevMode ? [{ debugName: \"activeSession\" }] : []));\n this.expireTime = signal(null, ...(ngDevMode ? [{ debugName: \"expireTime\" }] : []));\n this.expirationItems = [\n { name: 'Terminate in 1 week', id: this.AXPTokenExpirationDurations.oneWeek },\n { name: 'Terminate in 1 month', id: this.AXPTokenExpirationDurations.oneMonth },\n { name: 'Terminate in 3 month', id: this.AXPTokenExpirationDurations.threeMonths },\n { name: 'Terminate in 6 month', id: this.AXPTokenExpirationDurations.sixMonths },\n ];\n this.dataSource = new AXDataSource({\n pageSize: 10,\n key: 'id',\n load: async (e) => {\n let items = this.expirationItems;\n return {\n items,\n total: items.length,\n };\n },\n });\n this.userDeviceSessionsService = inject(AXMUserDeviceSessionsService);\n this.cdRef = inject(ChangeDetectorRef);\n this.popupService = inject(AXPopupService);\n this.platform = inject(AXPlatform);\n this.translateService = inject(AXTranslationService);\n this.sessionService = inject(AXPSessionService);\n this.settingService = inject(AXPSettingService);\n // ✅ Use a computed signal to update dynamically when items change\n this.itemsWithIcons = computed(() => this.items().map((item) => ({\n ...item,\n icon: this.getDeviceIcon(item.deviceName),\n })), ...(ngDevMode ? [{ debugName: \"itemsWithIcons\" }] : []));\n this.loadUserSessions();\n }\n async loadUserSessions() {\n try {\n let sessions = await this.userDeviceSessionsService.getSessions();\n this.items.set(sessions);\n try {\n const activeSession = await this.userDeviceSessionsService.getCurrentActiveSessions();\n this.activeSession.set(activeSession);\n }\n catch (error) {\n console.warn('No active session found:', error);\n this.activeSession.set(undefined);\n }\n const sessionTimeout = await this.settingService.scope(AXPPlatformScope.User).get('session-timeout');\n if (sessionTimeout && sessionTimeout.id in this.AXPTokenExpirationDurations) {\n let selectedItem = this.expirationItems.find((item) => item.id === sessionTimeout.id);\n if (selectedItem) {\n this.expireTime.set({ name: selectedItem.name, id: selectedItem.id });\n }\n }\n }\n catch (error) {\n console.error('Error loading user sessions', error);\n }\n }\n getDeviceIcon(deviceName) {\n if (!deviceName)\n return 'fa-solid fa-question'; // Default icon if no name is provided\n const lowerCaseName = deviceName.toLowerCase();\n if (lowerCaseName.includes('windows'))\n return 'fa-brands fa-windows';\n if (lowerCaseName.includes('macbook') || lowerCaseName.includes('mac'))\n return 'fa-brands fa-apple';\n if (lowerCaseName.includes('linux'))\n return 'fa-brands fa-linux';\n if (lowerCaseName.includes('android'))\n return 'fa-brands fa-android';\n if (lowerCaseName.includes('ios') || lowerCaseName.includes('iphone') || lowerCaseName.includes('ipad'))\n return 'fa-brands fa-apple';\n return 'fa-solid fa-desktop'; // Default icon for unknown devices\n }\n onChangeSessionExpireTime(e) {\n this.userDeviceSessionsService.setTokenLifetimeMinutes(e.component.selectedItems[0]);\n }\n async onTerminate(sessionId) {\n if (!sessionId) {\n console.error('No item to terminate');\n return;\n }\n await this.userDeviceSessionsService.terminateSession(sessionId);\n await this.loadUserSessions();\n }\n async onTerminateAll() {\n await this.userDeviceSessionsService.terminateAllSession();\n await this.loadUserSessions();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXMUserSessionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.10\", type: AXMUserSessionsComponent, isStandalone: true, selector: \"ng-component\", ngImport: i0, template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i3.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"itemHeight\", \"maxVisibleItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"pipe\", type: i4.DatePipe, name: \"date\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXMUserSessionsComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n AXButtonModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXDropdownModule,\n AXPopoverModule,\n ], template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXNzaW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvdXNlci1zZXNzaW9ucy91c2VyLXNlc3Npb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9D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bUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQzsrR0F4R1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isd0VDOUJyQyxzOEhBeUZBLDJDRHBFSSxjQUFjLDhCQUNkLGlCQUFpQixxUEFDakIsWUFBWSw4QkFDWixXQUFXLDhWQUNYLGlCQUFpQixndUJBQ2pCLGdCQUFnQiw4QkFDaEIsZUFBZTs7NEZBR04sd0JBQXdCO2tCQWJwQyxTQUFTO3NDQUVTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuL3VzZXItc2Vzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzL2RldmljZS1zZXNzaW9ucy50eXBlcyc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNVXNlclNlc3Npb25zQ29tcG9uZW50IHtcbiAgQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zID0ge1xuICAgIG9uZVdlZWs6ICdvbmVXZWVrJyxcbiAgICBvbmVNb250aDogJ29uZU1vbnRoJyxcbiAgICB0aHJlZU1vbnRoczogJ3RocmVlTW9udGhzJyxcbiAgICBzaXhNb250aHM6ICdzaXhNb250aHMnLFxuICB9O1xuXG4gIGl0ZW1zID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWxbXT4oW10pO1xuICBhY3RpdmVTZXNzaW9uID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGV4cGlyZVRpbWUgPSBzaWduYWw8eyBuYW1lOiBzdHJpbmc7IGlkOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xuXG4gIGV4cGlyYXRpb25JdGVtcyA9IFtcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSB3ZWVrJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLm9uZVdlZWsgfSxcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSBtb250aCcsIGlkOiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucy5vbmVNb250aCB9LFxuICAgIHsgbmFtZTogJ1Rlcm1pbmF0ZSBpbiAzIG1vbnRoJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLnRocmVlTW9udGhzIH0sXG4gICAgeyBuYW1lOiAnVGVybWluYXRlIGluIDYgbW9udGgnLCBpZDogdGhpcy5BWFBUb2tlbkV4cGlyYXRpb25EdXJhdGlvbnMuc2l4TW9udGhzIH0sXG4gIF07XG4gIHByb3RlY3RlZCBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZTxhbnk+KHtcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAga2V5OiAnaWQnLFxuICAgIGxvYWQ6IGFzeW5jIChlKSA9PiB7XG4gICAgICBsZXQgaXRlbXMgPSB0aGlzLmV4cGlyYXRpb25JdGVtcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGl0ZW1zLFxuICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9LFxuICB9KTtcbiAgcHJpdmF0ZSB1c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UpO1xuICBwcml2YXRlIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KEFYUGxhdGZvcm0pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkVXNlclNlc3Npb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRVc2VyU2Vzc2lvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBzZXNzaW9ucyA9IGF3YWl0IHRoaXMudXNlckRldmljZVNlc3Npb25zU2VydmljZS5nZXRTZXNzaW9ucygpO1xuICAgICAgdGhpcy5pdGVtcy5zZXQoc2Vzc2lvbnMpO1xuICAgICAgXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhY3RpdmVTZXNzaW9uID0gYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLmdldEN1cnJlbnRBY3RpdmVTZXNzaW9ucygpO1xuICAgICAgICB0aGlzLmFjdGl2ZVNlc3Npb24uc2V0KGFjdGl2ZVNlc3Npb24pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdObyBhY3RpdmUgc2Vzc2lvbiBmb3VuZDonLCBlcnJvcik7XG4gICAgICAgIHRoaXMuYWN0aXZlU2Vzc2lvbi5zZXQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc3Qgc2Vzc2lvblRpbWVvdXQgPSBhd2FpdCB0aGlzLnNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuZ2V0KCdzZXNzaW9uLXRpbWVvdXQnKTtcbiAgICAgIGlmIChzZXNzaW9uVGltZW91dCAmJiBzZXNzaW9uVGltZW91dC5pZCBpbiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucykge1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtID0gdGhpcy5leHBpcmF0aW9uSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gc2Vzc2lvblRpbWVvdXQuaWQpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5leHBpcmVUaW1lLnNldCh7IG5hbWU6IHNlbGVjdGVkSXRlbS5uYW1lLCBpZDogc2VsZWN0ZWRJdGVtLmlkIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgdXNlciBzZXNzaW9ucycsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvLyDinIUgVXNlIGEgY29tcHV0ZWQgc2lnbmFsIHRvIHVwZGF0ZSBkeW5hbWljYWxseSB3aGVuIGl0ZW1zIGNoYW5nZVxuICBpdGVtc1dpdGhJY29ucyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pdGVtcygpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBpY29uOiB0aGlzLmdldERldmljZUljb24oaXRlbS5kZXZpY2VOYW1lKSxcbiAgICB9KSksXG4gICk7XG5cbiAgZ2V0RGV2aWNlSWNvbihkZXZpY2VOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGlmICghZGV2aWNlTmFtZSkgcmV0dXJuICdmYS1zb2xpZCBmYS1xdWVzdGlvbic7IC8vIERlZmF1bHQgaWNvbiBpZiBubyBuYW1lIGlzIHByb3ZpZGVkXG5cbiAgICBjb25zdCBsb3dlckNhc2VOYW1lID0gZGV2aWNlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ3dpbmRvd3MnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtd2luZG93cyc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ21hY2Jvb2snKSB8fCBsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdtYWMnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuICAgIGlmIChsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdsaW51eCcpKSByZXR1cm4gJ2ZhLWJyYW5kcyBmYS1saW51eCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2FuZHJvaWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYW5kcm9pZCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lvcycpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwaG9uZScpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwYWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuXG4gICAgcmV0dXJuICdmYS1zb2xpZCBmYS1kZXNrdG9wJzsgLy8gRGVmYXVsdCBpY29uIGZvciB1bmtub3duIGRldmljZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoYW5nZVNlc3Npb25FeHBpcmVUaW1lKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2Uuc2V0VG9rZW5MaWZldGltZU1pbnV0ZXMoZS5jb21wb25lbnQuc2VsZWN0ZWRJdGVtc1swXSk7XG4gIH1cblxuICBhc3luYyBvblRlcm1pbmF0ZShzZXNzaW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdObyBpdGVtIHRvIHRlcm1pbmF0ZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UudGVybWluYXRlU2Vzc2lvbihzZXNzaW9uSWQpO1xuICAgIGF3YWl0IHRoaXMubG9hZFVzZXJTZXNzaW9ucygpO1xuICB9XG5cbiAgYXN5bmMgb25UZXJtaW5hdGVBbGwoKSB7XG4gICAgYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLnRlcm1pbmF0ZUFsbFNlc3Npb24oKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRVc2VyU2Vzc2lvbnMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW14LWF1dG8gYXgtcC02IGF4LXctZnVsbFwiPlxuICA8cCBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3QgYXgtbWItNFwiPlRoaXMgRGV2aWNlPC9wPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJheC1ib3JkZXItcHJpbWFyeS0yMDAgYXgtYm9yZGVyIGF4LWJnLXByaW1hcnktNTAgYXgtcm91bmRlZC1sZ1wiPlxuICAgICAgPGkgY2xhc3M9XCJ7eyBnZXREZXZpY2VJY29uKGFjdGl2ZVNlc3Npb24oKT8uZGV2aWNlTmFtZSkgfX0gYXgtdGV4dC1wcmltYXJ5LTUwMCBheC1tLTNcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3RpdmVTZXNzaW9uKCkpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBhY3RpdmVTZXNzaW9uKCk/LmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+e3sgYWN0aXZlU2Vzc2lvbigpPy5vcGVyYXRpbmdTeXN0ZW0gfX08L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQteHMgYXgtc3VidGl0bGUtb24tbGlnaHRlc3RcIj5cbiAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubG9jYXRpb24gfX0gPHNwYW4+XG4gICAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubGFzdExvZ2luRGF0ZSA/IChhY3RpdmVTZXNzaW9uKCk/Lmxhc3RMb2dpbkRhdGUgfCBkYXRlOiAneXl5eS9NTS9kZCBISDptbScpIDogJycgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGl0ZW1zV2l0aEljb25zKCkgJiYgaXRlbXNXaXRoSWNvbnMoKS5sZW5ndGggPiAwKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWRhbmdlci0yMDAgYXgtYm9yZGVyIGF4LWJnLWRhbmdlci01MCBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsZWFyIGF4LXRleHQtZGFuZ2VyLTUwMCBheC1tLTNcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTIgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25UZXJtaW5hdGVBbGwoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj5UZXJtaW5hdGUgQWxsIE90aGVyIFNlc3Npb25zPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPkxvZyBvdXQgYWxsIGRldmljZXMgZXhlcHQgZm9yIHRoaXMgb25lLjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAoaXRlbXNXaXRoSWNvbnMoKSAmJiBpdGVtc1dpdGhJY29ucygpLmxlbmd0aCA+IDApIHtcbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0IGF4LW10LTQgYXgtbWItNFwiPkFjdGl2ZSBEZXZpY2VzPC9wPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc1dpdGhJY29ucygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcmVsYXRpdmUgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZSBheC1hYnNvbHV0ZSBheC1lbmQtMiBheC10b3AtMiBheC1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblRlcm1pbmF0ZShpdGVtLmlkKVwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWJvcmRlciBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19IGF4LW0tM1wiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtbWwtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBpdGVtLmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtc20gYXgtdGV4dC1vbi1saWdodGVzdFwiPnt7IGl0ZW0ub3BlcmF0aW5nU3lzdGVtIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC14cyBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubG9jYXRpb24gfX0gPHNwYW4+e3sgaXRlbS5sYXN0TG9naW5EYXRlID8gKGl0ZW0ubGFzdExvZ2luRGF0ZSB8IGRhdGU6ICd5eXl5L01NL2RkIEhIOm1tJykgOiAnJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxheC1mb290ZXI+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbCBheC13LWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDAgYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlXCI+VGVybWluYXRlIE9sZCBTZXNzaW9uczwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1tdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+SWYgaW5hY3RpdmUgZm9yLi4uPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctMy82XCI+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJleHBpcmVUaW1lKClcIlxuICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25DaGFuZ2VTZXNzaW9uRXhwaXJlVGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZS4uLlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2F4LWZvb3Rlcj5cbiJdfQ=="],"names":["i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-auth-user-sessions.component-Cp-o-wcp.mjs","sources":["../tmp-esm2022/auth/lib/pages/account/user-sessions/user-sessions.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDataSource } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPSettingService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMUserDeviceSessionsService } from './user-sessions.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/select-box\";\nimport * as i4 from \"@angular/common\";\nexport class AXMUserSessionsComponent {\n constructor() {\n this.AXPTokenExpirationDurations = {\n oneWeek: 'oneWeek',\n oneMonth: 'oneMonth',\n threeMonths: 'threeMonths',\n sixMonths: 'sixMonths',\n };\n this.items = signal([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n this.activeSession = signal(undefined, ...(ngDevMode ? [{ debugName: \"activeSession\" }] : []));\n this.expireTime = signal(null, ...(ngDevMode ? [{ debugName: \"expireTime\" }] : []));\n this.expirationItems = [\n { name: 'Terminate in 1 week', id: this.AXPTokenExpirationDurations.oneWeek },\n { name: 'Terminate in 1 month', id: this.AXPTokenExpirationDurations.oneMonth },\n { name: 'Terminate in 3 month', id: this.AXPTokenExpirationDurations.threeMonths },\n { name: 'Terminate in 6 month', id: this.AXPTokenExpirationDurations.sixMonths },\n ];\n this.dataSource = new AXDataSource({\n pageSize: 10,\n key: 'id',\n load: async (e) => {\n let items = this.expirationItems;\n return {\n items,\n total: items.length,\n };\n },\n });\n this.userDeviceSessionsService = inject(AXMUserDeviceSessionsService);\n this.cdRef = inject(ChangeDetectorRef);\n this.popupService = inject(AXPopupService);\n this.platform = inject(AXPlatform);\n this.translateService = inject(AXTranslationService);\n this.sessionService = inject(AXPSessionService);\n this.settingService = inject(AXPSettingService);\n // ✅ Use a computed signal to update dynamically when items change\n this.itemsWithIcons = computed(() => this.items().map((item) => ({\n ...item,\n icon: this.getDeviceIcon(item.deviceName),\n })), ...(ngDevMode ? [{ debugName: \"itemsWithIcons\" }] : []));\n this.loadUserSessions();\n }\n async loadUserSessions() {\n try {\n let sessions = await this.userDeviceSessionsService.getSessions();\n this.items.set(sessions);\n try {\n const activeSession = await this.userDeviceSessionsService.getCurrentActiveSessions();\n this.activeSession.set(activeSession);\n }\n catch (error) {\n console.warn('No active session found:', error);\n this.activeSession.set(undefined);\n }\n const sessionTimeout = await this.settingService.scope(AXPPlatformScope.User).get('session-timeout');\n if (sessionTimeout && sessionTimeout.id in this.AXPTokenExpirationDurations) {\n let selectedItem = this.expirationItems.find((item) => item.id === sessionTimeout.id);\n if (selectedItem) {\n this.expireTime.set({ name: selectedItem.name, id: selectedItem.id });\n }\n }\n }\n catch (error) {\n console.error('Error loading user sessions', error);\n }\n }\n getDeviceIcon(deviceName) {\n if (!deviceName)\n return 'fa-solid fa-question'; // Default icon if no name is provided\n const lowerCaseName = deviceName.toLowerCase();\n if (lowerCaseName.includes('windows'))\n return 'fa-brands fa-windows';\n if (lowerCaseName.includes('macbook') || lowerCaseName.includes('mac'))\n return 'fa-brands fa-apple';\n if (lowerCaseName.includes('linux'))\n return 'fa-brands fa-linux';\n if (lowerCaseName.includes('android'))\n return 'fa-brands fa-android';\n if (lowerCaseName.includes('ios') || lowerCaseName.includes('iphone') || lowerCaseName.includes('ipad'))\n return 'fa-brands fa-apple';\n return 'fa-solid fa-desktop'; // Default icon for unknown devices\n }\n onChangeSessionExpireTime(e) {\n this.userDeviceSessionsService.setTokenLifetimeMinutes(e.component.selectedItems[0]);\n }\n async onTerminate(sessionId) {\n if (!sessionId) {\n console.error('No item to terminate');\n return;\n }\n await this.userDeviceSessionsService.terminateSession(sessionId);\n await this.loadUserSessions();\n }\n async onTerminateAll() {\n await this.userDeviceSessionsService.terminateAllSession();\n await this.loadUserSessions();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXMUserSessionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.10\", type: AXMUserSessionsComponent, isStandalone: true, selector: \"ng-component\", ngImport: i0, template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i3.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"isItemTruncated\", \"showItemTooltip\", \"itemHeight\", \"maxVisibleItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\", \"onItemSelected\", \"onItemClick\"] }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"ngmodule\", type: AXPopoverModule }, { kind: \"pipe\", type: i4.DatePipe, name: \"date\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXMUserSessionsComponent, decorators: [{\n type: Component,\n args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n AXButtonModule,\n AXDecoratorModule,\n CommonModule,\n FormsModule,\n AXSelectBoxModule,\n AXDropdownModule,\n AXPopoverModule,\n ], template: \"<div class=\\\"ax-mx-auto ax-p-6 ax-w-full\\\">\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mb-4\\\">This Device</p>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-primary-200 ax-border ax-bg-primary-50 ax-rounded-lg\\\">\\n <i class=\\\"{{ getDeviceIcon(activeSession()?.deviceName) }} ax-text-primary-500 ax-m-3\\\"></i>\\n </div>\\n @if (activeSession()) {\\n <div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ activeSession()?.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ activeSession()?.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ activeSession()?.location }} <span>\\n {{ activeSession()?.lastLoginDate ? (activeSession()?.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}\\n </span>\\n </p>\\n </div>\\n </div>\\n }\\n </div>\\n\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <div class=\\\"ax-border-danger-200 ax-border ax-bg-danger-50 ax-rounded-lg\\\">\\n <i class=\\\"ax-icon ax-icon-clear ax-text-danger-500 ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2 ax-cursor-pointer\\\" (click)=\\\"onTerminateAll()\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">Terminate All Other Sessions</div>\\n <p class=\\\"ax-font-normal ax-text-sm ax-subtitle-on-lightest\\\">Log out all devices exept for this one.</p>\\n </div>\\n </div>\\n }\\n @if (itemsWithIcons() && itemsWithIcons().length > 0) {\\n <div>\\n <p class=\\\"ax-font-semibold ax-text-base ax-text-on-lightest ax-mt-4 ax-mb-4\\\">Active Devices</p>\\n @for (item of itemsWithIcons(); track item) {\\n <div>\\n <div\\n class=\\\"ax-flex ax-border ax-items-center ax-relative ax-rounded-lg ax-border-lightest ax-bg-lightest ax-text-on-lightest ax-mb-3 ax-p-3\\\"\\n >\\n <i\\n class=\\\"ax-icon ax-icon-close ax-absolute ax-end-2 ax-top-2 ax-cursor-pointer\\\"\\n (click)=\\\"onTerminate(item.id)\\\"\\n ></i>\\n <div class=\\\"ax-border ax-rounded-lg\\\">\\n <i class=\\\"{{ item.icon }} ax-m-3\\\"></i>\\n </div>\\n <div class=\\\"ax-flex ax-flex-col ax-ml-2\\\">\\n <div class=\\\"ax-font-medium ax-text-base ax-text-on-lightest\\\">{{ item.deviceName }}</div>\\n <div class=\\\"ax-font-normal ax-text-sm ax-text-on-lightest\\\">{{ item.operatingSystem }}</div>\\n <p class=\\\"ax-font-normal ax-text-xs ax-subtitle-on-lightest\\\">\\n {{ item.location }} <span>{{ item.lastLoginDate ? (item.lastLoginDate | date: 'yyyy/MM/dd HH:mm') : '' }}</span>\\n </p>\\n </div>\\n </div>\\n </div>\\n }\\n </div>\\n }\\n</div>\\n<ax-footer>\\n <div class=\\\"ax-flex-col ax-w-full\\\">\\n <div>\\n <p class=\\\"ax-text-danger-500 ax-font-medium ax-text-base\\\">Terminate Old Sessions</p>\\n </div>\\n <div>\\n <ax-suffix>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-mt-4\\\">\\n <div class=\\\"ax-font-normal ax-text-base ax-text-on-lightest\\\">If inactive for...</div>\\n <div class=\\\"ax-w-3/6\\\">\\n <ax-select-box\\n [ngModel]=\\\"expireTime()\\\"\\n (onValueChanged)=\\\"onChangeSessionExpireTime($event)\\\"\\n [dataSource]=\\\"dataSource\\\"\\n textField=\\\"name\\\"\\n valueField=\\\"id\\\"\\n placeholder=\\\"Choose...\\\"\\n >\\n </ax-select-box>\\n </div>\\n </div>\\n </ax-suffix>\\n </div>\\n </div>\\n</ax-footer>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZXNzaW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL3BhZ2VzL2FjY291bnQvdXNlci1zZXNzaW9ucy91c2VyLXNlc3Npb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvcGFnZXMvYWNjb3VudC91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9D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bUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDaEMsQ0FBQzsrR0F4R1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isd0VDOUJyQyxzOEhBeUZBLDJDRHBFSSxjQUFjLDhCQUNkLGlCQUFpQixxUEFDakIsWUFBWSw4QkFDWixXQUFXLDhWQUNYLGlCQUFpQixndUJBQ2pCLGdCQUFnQiw4QkFDaEIsZUFBZTs7NEZBR04sd0JBQXdCO2tCQWJwQyxTQUFTO3NDQUVTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuL3VzZXItc2Vzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBWE1TZWN1cml0eU1hbmFnZW1lbnREZXZpY2VTZXNzaW9uc0VudGl0eU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3R5cGVzL2RldmljZS1zZXNzaW9ucy50eXBlcyc7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItc2Vzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNVXNlclNlc3Npb25zQ29tcG9uZW50IHtcbiAgQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zID0ge1xuICAgIG9uZVdlZWs6ICdvbmVXZWVrJyxcbiAgICBvbmVNb250aDogJ29uZU1vbnRoJyxcbiAgICB0aHJlZU1vbnRoczogJ3RocmVlTW9udGhzJyxcbiAgICBzaXhNb250aHM6ICdzaXhNb250aHMnLFxuICB9O1xuXG4gIGl0ZW1zID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWxbXT4oW10pO1xuICBhY3RpdmVTZXNzaW9uID0gc2lnbmFsPEFYTVNlY3VyaXR5TWFuYWdlbWVudERldmljZVNlc3Npb25zRW50aXR5TW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGV4cGlyZVRpbWUgPSBzaWduYWw8eyBuYW1lOiBzdHJpbmc7IGlkOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpO1xuXG4gIGV4cGlyYXRpb25JdGVtcyA9IFtcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSB3ZWVrJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLm9uZVdlZWsgfSxcbiAgICB7IG5hbWU6ICdUZXJtaW5hdGUgaW4gMSBtb250aCcsIGlkOiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucy5vbmVNb250aCB9LFxuICAgIHsgbmFtZTogJ1Rlcm1pbmF0ZSBpbiAzIG1vbnRoJywgaWQ6IHRoaXMuQVhQVG9rZW5FeHBpcmF0aW9uRHVyYXRpb25zLnRocmVlTW9udGhzIH0sXG4gICAgeyBuYW1lOiAnVGVybWluYXRlIGluIDYgbW9udGgnLCBpZDogdGhpcy5BWFBUb2tlbkV4cGlyYXRpb25EdXJhdGlvbnMuc2l4TW9udGhzIH0sXG4gIF07XG4gIHByb3RlY3RlZCBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZTxhbnk+KHtcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAga2V5OiAnaWQnLFxuICAgIGxvYWQ6IGFzeW5jIChlKSA9PiB7XG4gICAgICBsZXQgaXRlbXMgPSB0aGlzLmV4cGlyYXRpb25JdGVtcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGl0ZW1zLFxuICAgICAgICB0b3RhbDogaXRlbXMubGVuZ3RoLFxuICAgICAgfTtcbiAgICB9LFxuICB9KTtcbiAgcHJpdmF0ZSB1c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlID0gaW5qZWN0KEFYTVVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UpO1xuICBwcml2YXRlIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBwb3B1cFNlcnZpY2UgPSBpbmplY3QoQVhQb3B1cFNlcnZpY2UpO1xuICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KEFYUGxhdGZvcm0pO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZSA9IGluamVjdChBWFBTZXR0aW5nU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkVXNlclNlc3Npb25zKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRVc2VyU2Vzc2lvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBzZXNzaW9ucyA9IGF3YWl0IHRoaXMudXNlckRldmljZVNlc3Npb25zU2VydmljZS5nZXRTZXNzaW9ucygpO1xuICAgICAgdGhpcy5pdGVtcy5zZXQoc2Vzc2lvbnMpO1xuICAgICAgXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBhY3RpdmVTZXNzaW9uID0gYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLmdldEN1cnJlbnRBY3RpdmVTZXNzaW9ucygpO1xuICAgICAgICB0aGlzLmFjdGl2ZVNlc3Npb24uc2V0KGFjdGl2ZVNlc3Npb24pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdObyBhY3RpdmUgc2Vzc2lvbiBmb3VuZDonLCBlcnJvcik7XG4gICAgICAgIHRoaXMuYWN0aXZlU2Vzc2lvbi5zZXQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgY29uc3Qgc2Vzc2lvblRpbWVvdXQgPSBhd2FpdCB0aGlzLnNldHRpbmdTZXJ2aWNlLnNjb3BlKEFYUFBsYXRmb3JtU2NvcGUuVXNlcikuZ2V0KCdzZXNzaW9uLXRpbWVvdXQnKTtcbiAgICAgIGlmIChzZXNzaW9uVGltZW91dCAmJiBzZXNzaW9uVGltZW91dC5pZCBpbiB0aGlzLkFYUFRva2VuRXhwaXJhdGlvbkR1cmF0aW9ucykge1xuICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtID0gdGhpcy5leHBpcmF0aW9uSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gc2Vzc2lvblRpbWVvdXQuaWQpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5leHBpcmVUaW1lLnNldCh7IG5hbWU6IHNlbGVjdGVkSXRlbS5uYW1lLCBpZDogc2VsZWN0ZWRJdGVtLmlkIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgdXNlciBzZXNzaW9ucycsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvLyDinIUgVXNlIGEgY29tcHV0ZWQgc2lnbmFsIHRvIHVwZGF0ZSBkeW5hbWljYWxseSB3aGVuIGl0ZW1zIGNoYW5nZVxuICBpdGVtc1dpdGhJY29ucyA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5pdGVtcygpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBpY29uOiB0aGlzLmdldERldmljZUljb24oaXRlbS5kZXZpY2VOYW1lKSxcbiAgICB9KSksXG4gICk7XG5cbiAgZ2V0RGV2aWNlSWNvbihkZXZpY2VOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGlmICghZGV2aWNlTmFtZSkgcmV0dXJuICdmYS1zb2xpZCBmYS1xdWVzdGlvbic7IC8vIERlZmF1bHQgaWNvbiBpZiBubyBuYW1lIGlzIHByb3ZpZGVkXG5cbiAgICBjb25zdCBsb3dlckNhc2VOYW1lID0gZGV2aWNlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ3dpbmRvd3MnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtd2luZG93cyc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ21hY2Jvb2snKSB8fCBsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdtYWMnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuICAgIGlmIChsb3dlckNhc2VOYW1lLmluY2x1ZGVzKCdsaW51eCcpKSByZXR1cm4gJ2ZhLWJyYW5kcyBmYS1saW51eCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2FuZHJvaWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYW5kcm9pZCc7XG4gICAgaWYgKGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lvcycpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwaG9uZScpIHx8IGxvd2VyQ2FzZU5hbWUuaW5jbHVkZXMoJ2lwYWQnKSkgcmV0dXJuICdmYS1icmFuZHMgZmEtYXBwbGUnO1xuXG4gICAgcmV0dXJuICdmYS1zb2xpZCBmYS1kZXNrdG9wJzsgLy8gRGVmYXVsdCBpY29uIGZvciB1bmtub3duIGRldmljZXNcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNoYW5nZVNlc3Npb25FeHBpcmVUaW1lKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2Uuc2V0VG9rZW5MaWZldGltZU1pbnV0ZXMoZS5jb21wb25lbnQuc2VsZWN0ZWRJdGVtc1swXSk7XG4gIH1cblxuICBhc3luYyBvblRlcm1pbmF0ZShzZXNzaW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghc2Vzc2lvbklkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdObyBpdGVtIHRvIHRlcm1pbmF0ZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnVzZXJEZXZpY2VTZXNzaW9uc1NlcnZpY2UudGVybWluYXRlU2Vzc2lvbihzZXNzaW9uSWQpO1xuICAgIGF3YWl0IHRoaXMubG9hZFVzZXJTZXNzaW9ucygpO1xuICB9XG5cbiAgYXN5bmMgb25UZXJtaW5hdGVBbGwoKSB7XG4gICAgYXdhaXQgdGhpcy51c2VyRGV2aWNlU2Vzc2lvbnNTZXJ2aWNlLnRlcm1pbmF0ZUFsbFNlc3Npb24oKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRVc2VyU2Vzc2lvbnMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LW14LWF1dG8gYXgtcC02IGF4LXctZnVsbFwiPlxuICA8cCBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3QgYXgtbWItNFwiPlRoaXMgRGV2aWNlPC9wPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgPlxuICAgIDxkaXYgY2xhc3M9XCJheC1ib3JkZXItcHJpbWFyeS0yMDAgYXgtYm9yZGVyIGF4LWJnLXByaW1hcnktNTAgYXgtcm91bmRlZC1sZ1wiPlxuICAgICAgPGkgY2xhc3M9XCJ7eyBnZXREZXZpY2VJY29uKGFjdGl2ZVNlc3Npb24oKT8uZGV2aWNlTmFtZSkgfX0gYXgtdGV4dC1wcmltYXJ5LTUwMCBheC1tLTNcIj48L2k+XG4gICAgPC9kaXY+XG4gICAgQGlmIChhY3RpdmVTZXNzaW9uKCkpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBhY3RpdmVTZXNzaW9uKCk/LmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+e3sgYWN0aXZlU2Vzc2lvbigpPy5vcGVyYXRpbmdTeXN0ZW0gfX08L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQteHMgYXgtc3VidGl0bGUtb24tbGlnaHRlc3RcIj5cbiAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubG9jYXRpb24gfX0gPHNwYW4+XG4gICAgICAgICAgICAgIHt7IGFjdGl2ZVNlc3Npb24oKT8ubGFzdExvZ2luRGF0ZSA/IChhY3RpdmVTZXNzaW9uKCk/Lmxhc3RMb2dpbkRhdGUgfCBkYXRlOiAneXl5eS9NTS9kZCBISDptbScpIDogJycgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGl0ZW1zV2l0aEljb25zKCkgJiYgaXRlbXNXaXRoSWNvbnMoKS5sZW5ndGggPiAwKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtYm9yZGVyLWRhbmdlci0yMDAgYXgtYm9yZGVyIGF4LWJnLWRhbmdlci01MCBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNsZWFyIGF4LXRleHQtZGFuZ2VyLTUwMCBheC1tLTNcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LW1sLTIgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25UZXJtaW5hdGVBbGwoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj5UZXJtaW5hdGUgQWxsIE90aGVyIFNlc3Npb25zPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1zbSBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPkxvZyBvdXQgYWxsIGRldmljZXMgZXhlcHQgZm9yIHRoaXMgb25lLjwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG4gIEBpZiAoaXRlbXNXaXRoSWNvbnMoKSAmJiBpdGVtc1dpdGhJY29ucygpLmxlbmd0aCA+IDApIHtcbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0IGF4LW10LTQgYXgtbWItNFwiPkFjdGl2ZSBEZXZpY2VzPC9wPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtc1dpdGhJY29ucygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJheC1mbGV4IGF4LWJvcmRlciBheC1pdGVtcy1jZW50ZXIgYXgtcmVsYXRpdmUgYXgtcm91bmRlZC1sZyBheC1ib3JkZXItbGlnaHRlc3QgYXgtYmctbGlnaHRlc3QgYXgtdGV4dC1vbi1saWdodGVzdCBheC1tYi0zIGF4LXAtM1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZSBheC1hYnNvbHV0ZSBheC1lbmQtMiBheC10b3AtMiBheC1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvblRlcm1pbmF0ZShpdGVtLmlkKVwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWJvcmRlciBheC1yb3VuZGVkLWxnXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5pY29uIH19IGF4LW0tM1wiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtbWwtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlIGF4LXRleHQtb24tbGlnaHRlc3RcIj57eyBpdGVtLmRldmljZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtc20gYXgtdGV4dC1vbi1saWdodGVzdFwiPnt7IGl0ZW0ub3BlcmF0aW5nU3lzdGVtIH19PC9kaXY+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYXgtZm9udC1ub3JtYWwgYXgtdGV4dC14cyBheC1zdWJ0aXRsZS1vbi1saWdodGVzdFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubG9jYXRpb24gfX0gPHNwYW4+e3sgaXRlbS5sYXN0TG9naW5EYXRlID8gKGl0ZW0ubGFzdExvZ2luRGF0ZSB8IGRhdGU6ICd5eXl5L01NL2RkIEhIOm1tJykgOiAnJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbjxheC1mb290ZXI+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbCBheC13LWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDAgYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1iYXNlXCI+VGVybWluYXRlIE9sZCBTZXNzaW9uczwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGF4LXN1ZmZpeD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC1tdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZvbnQtbm9ybWFsIGF4LXRleHQtYmFzZSBheC10ZXh0LW9uLWxpZ2h0ZXN0XCI+SWYgaW5hY3RpdmUgZm9yLi4uPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXctMy82XCI+XG4gICAgICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJleHBpcmVUaW1lKClcIlxuICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwib25DaGFuZ2VTZXNzaW9uRXhwaXJlVGltZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgIHRleHRGaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZS4uLlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LXN1ZmZpeD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2F4LWZvb3Rlcj5cbiJdfQ=="],"names":["i4"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { e as AXMAuthErrorHandler, h as AXMAuthModule, a as AXMAuthenticationTypes, f as AXMDefaultAuthConfigs, k as AXMDeviceSessionsService, l as AXMDeviceSessionsServiceImpl, i as AXMSessionStatusTypes, A as AXM_AUTH_CONFIG_TOKEN, j as AXPIdleService, g as configAuthModule } from './acorex-modules-auth-acorex-modules-auth-
|
|
1
|
+
export { e as AXMAuthErrorHandler, h as AXMAuthModule, a as AXMAuthenticationTypes, f as AXMDefaultAuthConfigs, k as AXMDeviceSessionsService, l as AXMDeviceSessionsServiceImpl, i as AXMSessionStatusTypes, A as AXM_AUTH_CONFIG_TOKEN, j as AXPIdleService, g as configAuthModule } from './acorex-modules-auth-acorex-modules-auth-CLweG-Nr.mjs';
|
|
2
2
|
//# sourceMappingURL=acorex-modules-auth.mjs.map
|
|
@@ -97,7 +97,7 @@ class AXPGlobalSearchPopupComponent extends AXBasePageComponent {
|
|
|
97
97
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.10", ngImport: i0, type: AXPGlobalSearchPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
98
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.10", type: AXPGlobalSearchPopupComponent, isStandalone: true, selector: "ng-component", providers: [AXPGlobalSearchViewModel], viewQueries: [{ propertyName: "list", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: "searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, isSignal: true }, { propertyName: "items", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-layout-content *translate=\"let t\">\n <axp-layout-header class=\"ax-lg\">\n <ax-search-box [axAutoFocus] [look]=\"'none'\" [ngModel]=\"vm.text()\" (onValueChanged)=\"handleTextChanged($event)\"\n [placeholder]=\"'@global-search:terms.search-anything' | translate | async\"\n (onKeyDown)=\"handleSearchKeyDown($event)\"></ax-search-box>\n <div class=\"__close-button\">\n <ax-button [look]=\"'blank'\" class=\"ax-rounded-full\" (onClick)=\"close()\">\n <ax-icon icon=\"fa-light fa-xmark fa-sm\"></ax-icon>\n </ax-button>\n </div>\n </axp-layout-header>\n\n <!-- Results Area -->\n <axp-layout-body>\n @if (vm.isBusy()) {\n <ng-container *ngTemplateOutlet=\"skeleton\"></ng-container>\n } @else if (vm.isEmpty()) {\n <ng-container *ngTemplateOutlet=\"empty\"></ng-container>\n } @else if (vm.isWelcome()) {\n <ng-container *ngTemplateOutlet=\"welcome\"></ng-container>\n } @else if (vm.isStart()) {\n <ng-container *ngTemplateOutlet=\"start\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"result\"></ng-container>\n }\n </axp-layout-body>\n\n <!-- Skeleton Template -->\n <ng-template #skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-10 ax-p-8\">\n @for (item of [1, 2, 3, 4, 5]; track $index) {\n <div class=\"ax-flex ax-items-center ax-gap-4\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-4 ax-h-4 ax-rounded-full\"></ax-skeleton>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-flex-1\">\n <ax-skeleton [animated]=\"true\" class=\"ax-w-1/4 ax-h-2 ax-rounded\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"ax-w-1/2 ax-h-2 ax-rounded\"></ax-skeleton>\n </div>\n </div>\n }\n </div>\n </ng-template>\n\n <!-- Empty Template -->\n <ng-template #empty>\n <axp-state-message icon=\"fa-light fa-search\"\n [title]=\"'@global-search:components.search-box.empty-states.no-result.title'\"\n [description]=\"'@global-search:components.search-box.empty-states.no-result.description'\">\n </axp-state-message>\n </ng-template>\n\n <!-- Welcome Template -->\n <ng-template #welcome>\n <axp-state-message icon=\"fa-light fa-search\"\n [title]=\"'@global-search:components.search-box.empty-states.start.title'\"\n [description]=\"'@global-search:components.search-box.empty-states.start.description'\">\n </axp-state-message>\n </ng-template>\n\n <!-- Start Template -->\n <ng-template #start>\n <!-- Pinned Items -->\n <axp-layout-list *translate=\"let t\" class=\"ax-p-4 ax-divide-none\" (keydown)=\"handleListKeyDown($event)\"\n axListNavigation #list=\"axListNavigation\">\n @if (vm.pinnedItems().length > 0) {\n <axp-layout-list-group>\n <axp-layout-title>{{ '@global-search:terms.pinned' | translate | async }}</axp-layout-title>\n @for (item of vm.pinnedItems(); track $index) {\n <axp-layout-list-item (click)=\"vm.execute(item)\" (keydown)=\"handleItemKeyDown($event, item)\" class=\"ax-group\"\n axListNavigationItem #i=\"axListNavigationItem\" [class.axp-state-focused]=\"i.isActive()\">\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n <!-- Recent Items -->\n @if (vm.recentItems().length > 0) {\n <axp-layout-list-group>\n <axp-layout-header>\n <axp-layout-prefix>\n <axp-layout-title>{{ '@global-search:terms.recent' | translate | async }}</axp-layout-title>\n </axp-layout-prefix>\n <axp-layout-prefix class=\"ax-xs\">\n <ax-button [text]=\"'@global-search:terms.clear' | translate | async\" look=\"blank\" [color]=\"'default'\"\n (onClick)=\"handleClearClick($event)\"></ax-button>\n </axp-layout-prefix>\n </axp-layout-header>\n @for (item of vm.recentItems(); track $index) {\n <axp-layout-list-item (click)=\"vm.execute(item)\" (keydown)=\"handleItemKeyDown($event, item)\" class=\"ax-group\"\n axListNavigationItem #i=\"axListNavigationItem\" [class.axp-state-focused]=\"i.isActive()\">\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <!-- Result Template -->\n <ng-template #result>\n <axp-layout-list class=\"ax-p-4 ax-divide-none\" (keydown)=\"handleListKeyDown($event)\" axListNavigation\n #list=\"axListNavigation\">\n @for (group of vm.results(); track $index) {\n <axp-layout-list-group>\n <axp-layout-title> {{ t(group.title) | async }}</axp-layout-title>\n @for (item of group.children; track $index) {\n <axp-layout-list-item (click)=\"vm.execute(item)\" (keydown)=\"handleItemKeyDown($event, item)\" class=\"ax-group\"\n axListNavigationItem #i=\"axListNavigationItem\" [class.axp-state-focused]=\"i.isActive()\">\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </axp-layout-list-item>\n }\n </axp-layout-list-group>\n }\n </axp-layout-list>\n </ng-template>\n\n <ng-template #listItem let-item=\"item\">\n <axp-layout-prefix>\n <ax-icon icon=\"fal {{ item.icon }}\"></ax-icon>\n </axp-layout-prefix>\n <axp-layout-content>\n <axp-layout-title class=\"ax-group\">\n <span>{{ t(item.title) | async }}</span>\n <span class=\"ax-ms-3\" (click)=\"handlePinClick($event, item)\">\n <i [class.ax-invisible]=\"!vm.isPinned(item)\"\n class=\"fa-light fa-thumbtack ax-rotate-45 group-hover:!ax-visible\" [class.fa-solid]=\"vm.isPinned(item)\"></i>\n </span>\n </axp-layout-title>\n @if (item.parent) {\n <axp-layout-description>\n {{ t(item.parent.title) | async }}\n </axp-layout-description>\n } @else if (item.description) {\n <axp-layout-description>\n {{ t(item.description) | async }}\n </axp-layout-description>\n }\n </axp-layout-content>\n <axp-layout-suffix>\n <i class=\"far fa-chevron-right rtl:ax-rotate-180\"></i>\n </axp-layout-suffix>\n </ng-template>\n</axp-layout-content>", styles: [":host .ax-editor-container:focus-within{outline-style:none}:host>axp-layout-content{display:flex;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));width:90vw;max-width:36rem}@media (min-width: 640px){:host>axp-layout-content{width:80vw}}@media (min-width: 768px){:host>axp-layout-content{width:60vw}}@media (min-width: 1024px){:host>axp-layout-content{width:40vw}}@media (min-width: 1280px){:host>axp-layout-content{width:30vw}}:host>axp-layout-content>axp-layout-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}:host>axp-layout-content>axp-layout-header>.__close-button{position:absolute;inset-inline-end:1rem;top:1rem;--ax-sys-size-base: 2rem}:host>axp-layout-content>axp-layout-body{display:flex;flex-direction:column}:host>axp-layout-content>axp-layout-body>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}:host>axp-layout-content>axp-layout-body{overflow-y:auto;border-radius:.375rem;max-height:50vh;min-height:30vh}@media (min-width: 640px){:host>axp-layout-content>axp-layout-body{max-height:60vh;min-height:40vh}}@media (min-width: 768px){:host>axp-layout-content>axp-layout-body{max-height:70vh;min-height:50vh}}@media (min-width: 1024px){:host>axp-layout-content>axp-layout-body{max-height:80vh;min-height:40vh}}:host>axp-layout-content>axp-layout-body .axp-search-recent{display:flex;flex-direction:column;padding:1rem}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-header{margin-bottom:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;font-weight:600}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;border-radius:.375rem}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.375rem;background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{font-size:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
|
|
99
99
|
//
|
|
100
|
-
AXSearchBoxModule }, { kind: "component", type: i3$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i4.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i7.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i7.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type:
|
|
100
|
+
AXSearchBoxModule }, { kind: "component", type: i3$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type", "autoSearch"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXCommonModule }, { kind: "directive", type: i4.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXListNavigationModule }, { kind: "directive", type: i7.AXListNavigationDirective, selector: "[axListNavigation]", inputs: ["orientation"], outputs: ["onNavigationChanged", "onKeypress"], exportAs: ["axListNavigation"] }, { kind: "directive", type: i7.AXListNavigationItemDirective, selector: "[axListNavigationItem]", outputs: ["onKeypress"], exportAs: ["axListNavigationItem"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type:
|
|
101
101
|
//
|
|
102
102
|
AXSkeletonModule }, { kind: "component", type: i9.AXSkeletonComponent, selector: "ax-skeleton", inputs: ["animated"] }, { kind: "ngmodule", type: AXChipsModule }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPThemeLayoutListComponent, selector: "axp-layout-list" }, { kind: "component", type: AXPThemeLayoutListItemComponent, selector: "axp-layout-list-item" }, { kind: "component", type: AXPThemeLayoutListItemsGroupComponent, selector: "axp-layout-list-group" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "variant"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
103
103
|
}
|
|
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
|
|
|
126
126
|
}], propDecorators: { list: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], searchBox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXSearchBoxComponent), { isSignal: true }] }], items: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });
|
|
127
127
|
|
|
128
128
|
export { AXPGlobalSearchPopupComponent };
|
|
129
|
-
//# sourceMappingURL=acorex-modules-common-search-popup.component-
|
|
129
|
+
//# sourceMappingURL=acorex-modules-common-search-popup.component-BfoE2CMa.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-common-search-popup.component-BfoE2CMa.mjs","sources":["../tmp-esm2022/common/lib/features/global-search/search-popup.component.js"],"sourcesContent":["import { AXListNavigationDirective, AXListNavigationItemDirective, AXListNavigationModule, } from '@acorex/cdk/list-navigation';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXChipsModule } from '@acorex/components/chips';\nimport { AXCommonModule } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxComponent, AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutListComponent, AXPThemeLayoutListItemComponent, AXPThemeLayoutListItemsGroupComponent, AXPStateMessageComponent, } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, viewChild, viewChildren } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { first } from 'rxjs';\nimport { AXPGlobalSearchViewModel } from './search.viewmodel';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/search-box\";\nimport * as i4 from \"@acorex/cdk/common\";\nimport * as i5 from \"@acorex/components/decorators\";\nimport * as i6 from \"@acorex/core/translation\";\nimport * as i7 from \"@acorex/cdk/list-navigation\";\nimport * as i8 from \"@acorex/components/button\";\nimport * as i9 from \"@acorex/components/skeleton\";\nexport class AXPGlobalSearchPopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.i18nScope = 'global-search';\n this.vm = inject(AXPGlobalSearchViewModel);\n this.text = null;\n this.list = viewChild(AXListNavigationDirective, ...(ngDevMode ? [{ debugName: \"list\" }] : []));\n this.searchBox = viewChild(AXSearchBoxComponent, ...(ngDevMode ? [{ debugName: \"searchBox\" }] : []));\n this.items = viewChildren(AXListNavigationItemDirective, ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n }\n async handleTextChanged(e) {\n if (e.isUserInteraction) {\n await this.vm.search(e.value);\n }\n }\n ngOnInit() {\n super.ngOnInit();\n //\n this.vm.onItemSelected.pipe(first()).subscribe((item) => {\n this.close(item);\n });\n }\n handleSearchKeyDown(e) {\n const event = e.nativeEvent;\n switch (event.code) {\n case 'ArrowDown':\n const item = this.items()[0];\n if (item && this.list()) {\n this.list()?.navigateTo(item);\n }\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n }\n handleClearClick($event) {\n this.vm.clearRecentItems();\n }\n handleListKeyDown(e) {\n switch (e.code) {\n case 'ArrowUp': {\n const item = this.items()[0];\n if (item && this.list() && item.isActive()) {\n this.searchBox()?.focus();\n }\n break;\n }\n case 'Escape': {\n this.searchBox()?.focus();\n e.preventDefault();\n e.stopPropagation();\n break;\n }\n }\n }\n handleItemKeyDown(e, item) {\n switch (e.code) {\n case 'Enter':\n case 'Space': {\n e.preventDefault();\n e.stopPropagation();\n this.vm.execute(item);\n break;\n }\n }\n }\n handlePinClick(e, item) {\n e.stopPropagation();\n this.vm.togglePin(item);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPGlobalSearchPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.10\", type: AXPGlobalSearchPopupComponent, isStandalone: true, selector: \"ng-component\", providers: [AXPGlobalSearchViewModel], viewQueries: [{ propertyName: \"list\", first: true, predicate: AXListNavigationDirective, descendants: true, isSignal: true }, { propertyName: \"searchBox\", first: true, predicate: AXSearchBoxComponent, descendants: true, isSignal: true }, { propertyName: \"items\", predicate: AXListNavigationItemDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<axp-layout-content *translate=\\\"let t\\\">\\n <axp-layout-header class=\\\"ax-lg\\\">\\n <ax-search-box [axAutoFocus] [look]=\\\"'none'\\\" [ngModel]=\\\"vm.text()\\\" (onValueChanged)=\\\"handleTextChanged($event)\\\"\\n [placeholder]=\\\"'@global-search:terms.search-anything' | translate | async\\\"\\n (onKeyDown)=\\\"handleSearchKeyDown($event)\\\"></ax-search-box>\\n <div class=\\\"__close-button\\\">\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-rounded-full\\\" (onClick)=\\\"close()\\\">\\n <ax-icon icon=\\\"fa-light fa-xmark fa-sm\\\"></ax-icon>\\n </ax-button>\\n </div>\\n </axp-layout-header>\\n\\n <!-- Results Area -->\\n <axp-layout-body>\\n @if (vm.isBusy()) {\\n <ng-container *ngTemplateOutlet=\\\"skeleton\\\"></ng-container>\\n } @else if (vm.isEmpty()) {\\n <ng-container *ngTemplateOutlet=\\\"empty\\\"></ng-container>\\n } @else if (vm.isWelcome()) {\\n <ng-container *ngTemplateOutlet=\\\"welcome\\\"></ng-container>\\n } @else if (vm.isStart()) {\\n <ng-container *ngTemplateOutlet=\\\"start\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"result\\\"></ng-container>\\n }\\n </axp-layout-body>\\n\\n <!-- Skeleton Template -->\\n <ng-template #skeleton>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-10 ax-p-8\\\">\\n @for (item of [1, 2, 3, 4, 5]; track $index) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-4\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"ax-w-4 ax-h-4 ax-rounded-full\\\"></ax-skeleton>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2 ax-flex-1\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"ax-w-1/4 ax-h-2 ax-rounded\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"ax-w-1/2 ax-h-2 ax-rounded\\\"></ax-skeleton>\\n </div>\\n </div>\\n }\\n </div>\\n </ng-template>\\n\\n <!-- Empty Template -->\\n <ng-template #empty>\\n <axp-state-message icon=\\\"fa-light fa-search\\\"\\n [title]=\\\"'@global-search:components.search-box.empty-states.no-result.title'\\\"\\n [description]=\\\"'@global-search:components.search-box.empty-states.no-result.description'\\\">\\n </axp-state-message>\\n </ng-template>\\n\\n <!-- Welcome Template -->\\n <ng-template #welcome>\\n <axp-state-message icon=\\\"fa-light fa-search\\\"\\n [title]=\\\"'@global-search:components.search-box.empty-states.start.title'\\\"\\n [description]=\\\"'@global-search:components.search-box.empty-states.start.description'\\\">\\n </axp-state-message>\\n </ng-template>\\n\\n <!-- Start Template -->\\n <ng-template #start>\\n <!-- Pinned Items -->\\n <axp-layout-list *translate=\\\"let t\\\" class=\\\"ax-p-4 ax-divide-none\\\" (keydown)=\\\"handleListKeyDown($event)\\\"\\n axListNavigation #list=\\\"axListNavigation\\\">\\n @if (vm.pinnedItems().length > 0) {\\n <axp-layout-list-group>\\n <axp-layout-title>{{ '@global-search:terms.pinned' | translate | async }}</axp-layout-title>\\n @for (item of vm.pinnedItems(); track $index) {\\n <axp-layout-list-item (click)=\\\"vm.execute(item)\\\" (keydown)=\\\"handleItemKeyDown($event, item)\\\" class=\\\"ax-group\\\"\\n axListNavigationItem #i=\\\"axListNavigationItem\\\" [class.axp-state-focused]=\\\"i.isActive()\\\">\\n <ng-container [ngTemplateOutlet]=\\\"listItem\\\" [ngTemplateOutletContext]=\\\"{ item }\\\"></ng-container>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list-group>\\n }\\n <!-- Recent Items -->\\n @if (vm.recentItems().length > 0) {\\n <axp-layout-list-group>\\n <axp-layout-header>\\n <axp-layout-prefix>\\n <axp-layout-title>{{ '@global-search:terms.recent' | translate | async }}</axp-layout-title>\\n </axp-layout-prefix>\\n <axp-layout-prefix class=\\\"ax-xs\\\">\\n <ax-button [text]=\\\"'@global-search:terms.clear' | translate | async\\\" look=\\\"blank\\\" [color]=\\\"'default'\\\"\\n (onClick)=\\\"handleClearClick($event)\\\"></ax-button>\\n </axp-layout-prefix>\\n </axp-layout-header>\\n @for (item of vm.recentItems(); track $index) {\\n <axp-layout-list-item (click)=\\\"vm.execute(item)\\\" (keydown)=\\\"handleItemKeyDown($event, item)\\\" class=\\\"ax-group\\\"\\n axListNavigationItem #i=\\\"axListNavigationItem\\\" [class.axp-state-focused]=\\\"i.isActive()\\\">\\n <ng-container [ngTemplateOutlet]=\\\"listItem\\\" [ngTemplateOutletContext]=\\\"{ item }\\\"></ng-container>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list-group>\\n }\\n </axp-layout-list>\\n </ng-template>\\n\\n <!-- Result Template -->\\n <ng-template #result>\\n <axp-layout-list class=\\\"ax-p-4 ax-divide-none\\\" (keydown)=\\\"handleListKeyDown($event)\\\" axListNavigation\\n #list=\\\"axListNavigation\\\">\\n @for (group of vm.results(); track $index) {\\n <axp-layout-list-group>\\n <axp-layout-title> {{ t(group.title) | async }}</axp-layout-title>\\n @for (item of group.children; track $index) {\\n <axp-layout-list-item (click)=\\\"vm.execute(item)\\\" (keydown)=\\\"handleItemKeyDown($event, item)\\\" class=\\\"ax-group\\\"\\n axListNavigationItem #i=\\\"axListNavigationItem\\\" [class.axp-state-focused]=\\\"i.isActive()\\\">\\n <ng-container [ngTemplateOutlet]=\\\"listItem\\\" [ngTemplateOutletContext]=\\\"{ item }\\\"></ng-container>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list-group>\\n }\\n </axp-layout-list>\\n </ng-template>\\n\\n <ng-template #listItem let-item=\\\"item\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"fal {{ item.icon }}\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <axp-layout-title class=\\\"ax-group\\\">\\n <span>{{ t(item.title) | async }}</span>\\n <span class=\\\"ax-ms-3\\\" (click)=\\\"handlePinClick($event, item)\\\">\\n <i [class.ax-invisible]=\\\"!vm.isPinned(item)\\\"\\n class=\\\"fa-light fa-thumbtack ax-rotate-45 group-hover:!ax-visible\\\" [class.fa-solid]=\\\"vm.isPinned(item)\\\"></i>\\n </span>\\n </axp-layout-title>\\n @if (item.parent) {\\n <axp-layout-description>\\n {{ t(item.parent.title) | async }}\\n </axp-layout-description>\\n } @else if (item.description) {\\n <axp-layout-description>\\n {{ t(item.description) | async }}\\n </axp-layout-description>\\n }\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <i class=\\\"far fa-chevron-right rtl:ax-rotate-180\\\"></i>\\n </axp-layout-suffix>\\n </ng-template>\\n</axp-layout-content>\", styles: [\":host .ax-editor-container:focus-within{outline-style:none}:host>axp-layout-content{display:flex;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));width:90vw;max-width:36rem}@media (min-width: 640px){:host>axp-layout-content{width:80vw}}@media (min-width: 768px){:host>axp-layout-content{width:60vw}}@media (min-width: 1024px){:host>axp-layout-content{width:40vw}}@media (min-width: 1280px){:host>axp-layout-content{width:30vw}}:host>axp-layout-content>axp-layout-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}:host>axp-layout-content>axp-layout-header>.__close-button{position:absolute;inset-inline-end:1rem;top:1rem;--ax-sys-size-base: 2rem}:host>axp-layout-content>axp-layout-body{display:flex;flex-direction:column}:host>axp-layout-content>axp-layout-body>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}:host>axp-layout-content>axp-layout-body{overflow-y:auto;border-radius:.375rem;max-height:50vh;min-height:30vh}@media (min-width: 640px){:host>axp-layout-content>axp-layout-body{max-height:60vh;min-height:40vh}}@media (min-width: 768px){:host>axp-layout-content>axp-layout-body{max-height:70vh;min-height:50vh}}@media (min-width: 1024px){:host>axp-layout-content>axp-layout-body{max-height:80vh;min-height:40vh}}:host>axp-layout-content>axp-layout-body .axp-search-recent{display:flex;flex-direction:column;padding:1rem}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-header{margin-bottom:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;font-weight:600}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;border-radius:.375rem}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.375rem;background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{font-size:1rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: \n //\n AXSearchBoxModule }, { kind: \"component\", type: i3.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\", \"autoSearch\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXCommonModule }, { kind: \"directive\", type: i4.AXAutoFocusDirective, selector: \"[axAutoFocus]\", inputs: [\"axAutoFocus\", \"axAutoFocusTime\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i5.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i6.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXListNavigationModule }, { kind: \"directive\", type: i7.AXListNavigationDirective, selector: \"[axListNavigation]\", inputs: [\"orientation\"], outputs: [\"onNavigationChanged\", \"onKeypress\"], exportAs: [\"axListNavigation\"] }, { kind: \"directive\", type: i7.AXListNavigationItemDirective, selector: \"[axListNavigationItem]\", outputs: [\"onKeypress\"], exportAs: [\"axListNavigationItem\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i8.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: \n //\n AXSkeletonModule }, { kind: \"component\", type: i9.AXSkeletonComponent, selector: \"ax-skeleton\", inputs: [\"animated\"] }, { kind: \"ngmodule\", type: AXChipsModule }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutListComponent, selector: \"axp-layout-list\" }, { kind: \"component\", type: AXPThemeLayoutListItemComponent, selector: \"axp-layout-list-item\" }, { kind: \"component\", type: AXPThemeLayoutListItemsGroupComponent, selector: \"axp-layout-list-group\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPStateMessageComponent, selector: \"axp-state-message\", inputs: [\"mode\", \"icon\", \"title\", \"description\", \"variant\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i6.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPGlobalSearchPopupComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n FormsModule,\n //\n AXSearchBoxModule,\n AXCommonModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXListNavigationModule,\n AXButtonModule,\n //\n AXSkeletonModule,\n AXChipsModule,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutListComponent,\n AXPThemeLayoutListItemComponent,\n AXPThemeLayoutListItemsGroupComponent,\n AXPThemeLayoutHeaderComponent,\n AXPStateMessageComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXPGlobalSearchViewModel], template: \"<axp-layout-content *translate=\\\"let t\\\">\\n <axp-layout-header class=\\\"ax-lg\\\">\\n <ax-search-box [axAutoFocus] [look]=\\\"'none'\\\" [ngModel]=\\\"vm.text()\\\" (onValueChanged)=\\\"handleTextChanged($event)\\\"\\n [placeholder]=\\\"'@global-search:terms.search-anything' | translate | async\\\"\\n (onKeyDown)=\\\"handleSearchKeyDown($event)\\\"></ax-search-box>\\n <div class=\\\"__close-button\\\">\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-rounded-full\\\" (onClick)=\\\"close()\\\">\\n <ax-icon icon=\\\"fa-light fa-xmark fa-sm\\\"></ax-icon>\\n </ax-button>\\n </div>\\n </axp-layout-header>\\n\\n <!-- Results Area -->\\n <axp-layout-body>\\n @if (vm.isBusy()) {\\n <ng-container *ngTemplateOutlet=\\\"skeleton\\\"></ng-container>\\n } @else if (vm.isEmpty()) {\\n <ng-container *ngTemplateOutlet=\\\"empty\\\"></ng-container>\\n } @else if (vm.isWelcome()) {\\n <ng-container *ngTemplateOutlet=\\\"welcome\\\"></ng-container>\\n } @else if (vm.isStart()) {\\n <ng-container *ngTemplateOutlet=\\\"start\\\"></ng-container>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"result\\\"></ng-container>\\n }\\n </axp-layout-body>\\n\\n <!-- Skeleton Template -->\\n <ng-template #skeleton>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-10 ax-p-8\\\">\\n @for (item of [1, 2, 3, 4, 5]; track $index) {\\n <div class=\\\"ax-flex ax-items-center ax-gap-4\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"ax-w-4 ax-h-4 ax-rounded-full\\\"></ax-skeleton>\\n <div class=\\\"ax-flex ax-flex-col ax-gap-2 ax-flex-1\\\">\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"ax-w-1/4 ax-h-2 ax-rounded\\\"></ax-skeleton>\\n <ax-skeleton [animated]=\\\"true\\\" class=\\\"ax-w-1/2 ax-h-2 ax-rounded\\\"></ax-skeleton>\\n </div>\\n </div>\\n }\\n </div>\\n </ng-template>\\n\\n <!-- Empty Template -->\\n <ng-template #empty>\\n <axp-state-message icon=\\\"fa-light fa-search\\\"\\n [title]=\\\"'@global-search:components.search-box.empty-states.no-result.title'\\\"\\n [description]=\\\"'@global-search:components.search-box.empty-states.no-result.description'\\\">\\n </axp-state-message>\\n </ng-template>\\n\\n <!-- Welcome Template -->\\n <ng-template #welcome>\\n <axp-state-message icon=\\\"fa-light fa-search\\\"\\n [title]=\\\"'@global-search:components.search-box.empty-states.start.title'\\\"\\n [description]=\\\"'@global-search:components.search-box.empty-states.start.description'\\\">\\n </axp-state-message>\\n </ng-template>\\n\\n <!-- Start Template -->\\n <ng-template #start>\\n <!-- Pinned Items -->\\n <axp-layout-list *translate=\\\"let t\\\" class=\\\"ax-p-4 ax-divide-none\\\" (keydown)=\\\"handleListKeyDown($event)\\\"\\n axListNavigation #list=\\\"axListNavigation\\\">\\n @if (vm.pinnedItems().length > 0) {\\n <axp-layout-list-group>\\n <axp-layout-title>{{ '@global-search:terms.pinned' | translate | async }}</axp-layout-title>\\n @for (item of vm.pinnedItems(); track $index) {\\n <axp-layout-list-item (click)=\\\"vm.execute(item)\\\" (keydown)=\\\"handleItemKeyDown($event, item)\\\" class=\\\"ax-group\\\"\\n axListNavigationItem #i=\\\"axListNavigationItem\\\" [class.axp-state-focused]=\\\"i.isActive()\\\">\\n <ng-container [ngTemplateOutlet]=\\\"listItem\\\" [ngTemplateOutletContext]=\\\"{ item }\\\"></ng-container>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list-group>\\n }\\n <!-- Recent Items -->\\n @if (vm.recentItems().length > 0) {\\n <axp-layout-list-group>\\n <axp-layout-header>\\n <axp-layout-prefix>\\n <axp-layout-title>{{ '@global-search:terms.recent' | translate | async }}</axp-layout-title>\\n </axp-layout-prefix>\\n <axp-layout-prefix class=\\\"ax-xs\\\">\\n <ax-button [text]=\\\"'@global-search:terms.clear' | translate | async\\\" look=\\\"blank\\\" [color]=\\\"'default'\\\"\\n (onClick)=\\\"handleClearClick($event)\\\"></ax-button>\\n </axp-layout-prefix>\\n </axp-layout-header>\\n @for (item of vm.recentItems(); track $index) {\\n <axp-layout-list-item (click)=\\\"vm.execute(item)\\\" (keydown)=\\\"handleItemKeyDown($event, item)\\\" class=\\\"ax-group\\\"\\n axListNavigationItem #i=\\\"axListNavigationItem\\\" [class.axp-state-focused]=\\\"i.isActive()\\\">\\n <ng-container [ngTemplateOutlet]=\\\"listItem\\\" [ngTemplateOutletContext]=\\\"{ item }\\\"></ng-container>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list-group>\\n }\\n </axp-layout-list>\\n </ng-template>\\n\\n <!-- Result Template -->\\n <ng-template #result>\\n <axp-layout-list class=\\\"ax-p-4 ax-divide-none\\\" (keydown)=\\\"handleListKeyDown($event)\\\" axListNavigation\\n #list=\\\"axListNavigation\\\">\\n @for (group of vm.results(); track $index) {\\n <axp-layout-list-group>\\n <axp-layout-title> {{ t(group.title) | async }}</axp-layout-title>\\n @for (item of group.children; track $index) {\\n <axp-layout-list-item (click)=\\\"vm.execute(item)\\\" (keydown)=\\\"handleItemKeyDown($event, item)\\\" class=\\\"ax-group\\\"\\n axListNavigationItem #i=\\\"axListNavigationItem\\\" [class.axp-state-focused]=\\\"i.isActive()\\\">\\n <ng-container [ngTemplateOutlet]=\\\"listItem\\\" [ngTemplateOutletContext]=\\\"{ item }\\\"></ng-container>\\n </axp-layout-list-item>\\n }\\n </axp-layout-list-group>\\n }\\n </axp-layout-list>\\n </ng-template>\\n\\n <ng-template #listItem let-item=\\\"item\\\">\\n <axp-layout-prefix>\\n <ax-icon icon=\\\"fal {{ item.icon }}\\\"></ax-icon>\\n </axp-layout-prefix>\\n <axp-layout-content>\\n <axp-layout-title class=\\\"ax-group\\\">\\n <span>{{ t(item.title) | async }}</span>\\n <span class=\\\"ax-ms-3\\\" (click)=\\\"handlePinClick($event, item)\\\">\\n <i [class.ax-invisible]=\\\"!vm.isPinned(item)\\\"\\n class=\\\"fa-light fa-thumbtack ax-rotate-45 group-hover:!ax-visible\\\" [class.fa-solid]=\\\"vm.isPinned(item)\\\"></i>\\n </span>\\n </axp-layout-title>\\n @if (item.parent) {\\n <axp-layout-description>\\n {{ t(item.parent.title) | async }}\\n </axp-layout-description>\\n } @else if (item.description) {\\n <axp-layout-description>\\n {{ t(item.description) | async }}\\n </axp-layout-description>\\n }\\n </axp-layout-content>\\n <axp-layout-suffix>\\n <i class=\\\"far fa-chevron-right rtl:ax-rotate-180\\\"></i>\\n </axp-layout-suffix>\\n </ng-template>\\n</axp-layout-content>\", styles: [\":host .ax-editor-container:focus-within{outline-style:none}:host>axp-layout-content{display:flex;flex-direction:column;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));width:90vw;max-width:36rem}@media (min-width: 640px){:host>axp-layout-content{width:80vw}}@media (min-width: 768px){:host>axp-layout-content{width:60vw}}@media (min-width: 1024px){:host>axp-layout-content{width:40vw}}@media (min-width: 1280px){:host>axp-layout-content{width:30vw}}:host>axp-layout-content>axp-layout-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}:host>axp-layout-content>axp-layout-header>.__close-button{position:absolute;inset-inline-end:1rem;top:1rem;--ax-sys-size-base: 2rem}:host>axp-layout-content>axp-layout-body{display:flex;flex-direction:column}:host>axp-layout-content>axp-layout-body>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}:host>axp-layout-content>axp-layout-body{overflow-y:auto;border-radius:.375rem;max-height:50vh;min-height:30vh}@media (min-width: 640px){:host>axp-layout-content>axp-layout-body{max-height:60vh;min-height:40vh}}@media (min-width: 768px){:host>axp-layout-content>axp-layout-body{max-height:70vh;min-height:50vh}}@media (min-width: 1024px){:host>axp-layout-content>axp-layout-body{max-height:80vh;min-height:40vh}}:host>axp-layout-content>axp-layout-body .axp-search-recent{display:flex;flex-direction:column;padding:1rem}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-header{margin-bottom:.5rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem;font-weight:600}:host>axp-layout-content>axp-layout-body .axp-search-recent>axp-layout-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;border-radius:.375rem}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:.375rem;background-color:rgb(var(--ax-sys-color-dark-surface));color:rgb(var(--ax-sys-color-on-dark-surface));border-color:rgb(var(--ax-sys-color-border-dark-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}:host>axp-layout-content axp-layout-list-item axp-layout-prefix ax-icon{font-size:1rem}\\n\"] }]\n }], propDecorators: { list: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXListNavigationDirective), { isSignal: true }] }], searchBox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXSearchBoxComponent), { isSignal: true }] }], items: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => AXListNavigationItemDirective), { isSignal: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9jb21tb24vc3JjL2xpYi9mZWF0dXJlcy9nbG9iYWwtc2VhcmNoL3NlYXJjaC1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvY29tbW9uL3NyYy9saWIvZmVhdHVyZXMvZ2xvYmFsLXNlYXJjaC9zZWFyY2gtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0Isc0JBQXNCLEdBQ3ZCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQWdCLGNBQWMsRUFBb0MsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3QiwyQkFBMkIsRUFDM0IsK0JBQStCLEVBQy9CLHFDQUFxQyxFQUNyQyx3QkFBd0IsR0FDekIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7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O3dCQUNuQixzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsRUFBRTt3QkFDRixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLCtCQUErQjt3QkFDL0IscUNBQXFDO3dCQUNyQyw2QkFBNkI7d0JBQzdCLHdCQUF3QjtxQkFDekIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyx3QkFBd0IsQ0FBQztzRkFTWix5QkFBeUIsd0ZBQ3BCLG9CQUFvQix1RkFDckIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSxcbiAgQVhMaXN0TmF2aWdhdGlvbkl0ZW1EaXJlY3RpdmUsXG4gIEFYTGlzdE5hdmlnYXRpb25Nb2R1bGUsXG59IGZyb20gJ0BhY29yZXgvY2RrL2xpc3QtbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDaGlwc01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGlwcyc7XG5pbXBvcnQgeyBBWENsaWNrRXZlbnQsIEFYQ29tbW9uTW9kdWxlLCBBWEh0bWxFdmVudCwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveENvbXBvbmVudCwgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NrZWxldG9uJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2VhcmNoRGlzcGxheVJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0SGVhZGVyQ29tcG9uZW50LFxuICBBWFBUaGVtZUxheW91dExpc3RDb21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0TGlzdEl0ZW1Db21wb25lbnQsXG4gIEFYUFRoZW1lTGF5b3V0TGlzdEl0ZW1zR3JvdXBDb21wb25lbnQsXG4gIEFYUFN0YXRlTWVzc2FnZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCB2aWV3Q2hpbGQsIHZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQR2xvYmFsU2VhcmNoVmlld01vZGVsIH0gZnJvbSAnLi9zZWFyY2gudmlld21vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnc2VhcmNoLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICdzZWFyY2gtcG9wdXAuY29tcG9uZW50LnNjc3MnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIC8vXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhDb21tb25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWExpc3ROYXZpZ2F0aW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhTa2VsZXRvbk1vZHVsZSxcbiAgICBBWENoaXBzTW9kdWxlLFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRMaXN0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0TGlzdEl0ZW1Db21wb25lbnQsXG4gICAgQVhQVGhlbWVMYXlvdXRMaXN0SXRlbXNHcm91cENvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBTdGF0ZU1lc3NhZ2VDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtBWFBHbG9iYWxTZWFyY2hWaWV3TW9kZWxdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBHbG9iYWxTZWFyY2hQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgaTE4blNjb3BlID0gJ2dsb2JhbC1zZWFyY2gnO1xuXG4gIHByb3RlY3RlZCB2bSA9IGluamVjdChBWFBHbG9iYWxTZWFyY2hWaWV3TW9kZWwpO1xuXG4gIHByb3RlY3RlZCB0ZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGxpc3QgPSB2aWV3Q2hpbGQoQVhMaXN0TmF2aWdhdGlvbkRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgc2VhcmNoQm94ID0gdmlld0NoaWxkKEFYU2VhcmNoQm94Q29tcG9uZW50KTtcbiAgcHJpdmF0ZSBpdGVtcyA9IHZpZXdDaGlsZHJlbihBWExpc3ROYXZpZ2F0aW9uSXRlbURpcmVjdGl2ZSk7XG5cbiAgYXN5bmMgaGFuZGxlVGV4dENoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxzdHJpbmc+KSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIGF3YWl0IHRoaXMudm0uc2VhcmNoKGUudmFsdWUhKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvL1xuICAgIHRoaXMudm0ub25JdGVtU2VsZWN0ZWQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuY2xvc2UoaXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU2VhcmNoS2V5RG93bihlOiBBWEh0bWxFdmVudDxLZXlib2FyZEV2ZW50Pikge1xuICAgIGNvbnN0IGV2ZW50ID0gZS5uYXRpdmVFdmVudCE7XG4gICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtcygpWzBdO1xuICAgICAgICBpZiAoaXRlbSAmJiB0aGlzLmxpc3QoKSkge1xuICAgICAgICAgIHRoaXMubGlzdCgpPy5uYXZpZ2F0ZVRvKGl0ZW0pO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xlYXJDbGljaygkZXZlbnQ6IEFYQ2xpY2tFdmVudCkge1xuICAgIHRoaXMudm0uY2xlYXJSZWNlbnRJdGVtcygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUxpc3RLZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGUuY29kZSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaXRlbXMoKVswXTtcbiAgICAgICAgaWYgKGl0ZW0gJiYgdGhpcy5saXN0KCkgJiYgaXRlbS5pc0FjdGl2ZSgpKSB7XG4gICAgICAgICAgdGhpcy5zZWFyY2hCb3goKT8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0VzY2FwZSc6IHtcbiAgICAgICAgdGhpcy5zZWFyY2hCb3goKT8uZm9jdXMoKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlSXRlbUtleURvd24oZTogS2V5Ym9hcmRFdmVudCwgaXRlbTogQVhQU2VhcmNoRGlzcGxheVJlc3VsdCkge1xuICAgIHN3aXRjaCAoZS5jb2RlKSB7XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICdTcGFjZSc6IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLnZtLmV4ZWN1dGUoaXRlbSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQaW5DbGljayhlOiBFdmVudCwgaXRlbTogYW55KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnZtLnRvZ2dsZVBpbihpdGVtKTtcbiAgfVxufVxuIiwiPGF4cC1sYXlvdXQtY29udGVudCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPGF4cC1sYXlvdXQtaGVhZGVyIGNsYXNzPVwiYXgtbGdcIj5cbiAgICA8YXgtc2VhcmNoLWJveCBbYXhBdXRvRm9jdXNdIFtsb29rXT1cIidub25lJ1wiIFtuZ01vZGVsXT1cInZtLnRleHQoKVwiIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVUZXh0Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInQGdsb2JhbC1zZWFyY2g6dGVybXMuc2VhcmNoLWFueXRoaW5nJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgIChvbktleURvd24pPVwiaGFuZGxlU2VhcmNoS2V5RG93bigkZXZlbnQpXCI+PC9heC1zZWFyY2gtYm94PlxuICAgIDxkaXYgY2xhc3M9XCJfX2Nsb3NlLWJ1dHRvblwiPlxuICAgICAgPGF4LWJ1dHRvbiBbbG9va109XCInYmxhbmsnXCIgY2xhc3M9XCJheC1yb3VuZGVkLWZ1bGxcIiAob25DbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS14bWFyayBmYS1zbVwiPjwvYXgtaWNvbj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2F4cC1sYXlvdXQtaGVhZGVyPlxuXG4gIDwhLS0gUmVzdWx0cyBBcmVhIC0tPlxuICA8YXhwLWxheW91dC1ib2R5PlxuICAgIEBpZiAodm0uaXNCdXN5KCkpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2tlbGV0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIGlmICh2bS5pc0VtcHR5KCkpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9IEBlbHNlIGlmICh2bS5pc1dlbGNvbWUoKSkge1xuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ3ZWxjb21lXCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSBpZiAodm0uaXNTdGFydCgpKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXJ0XCI+PC9uZy1jb250YWluZXI+XG4gICAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlc3VsdFwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgPC9heHAtbGF5b3V0LWJvZHk+XG5cbiAgPCEtLSBTa2VsZXRvbiBUZW1wbGF0ZSAtLT5cbiAgPG5nLXRlbXBsYXRlICNza2VsZXRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMTAgYXgtcC04XCI+XG4gICAgICBAZm9yIChpdGVtIG9mIFsxLCAyLCAzLCA0LCA1XTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTRcIj5cbiAgICAgICAgPGF4LXNrZWxldG9uIFthbmltYXRlZF09XCJ0cnVlXCIgY2xhc3M9XCJheC13LTQgYXgtaC00IGF4LXJvdW5kZWQtZnVsbFwiPjwvYXgtc2tlbGV0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC0yIGF4LWZsZXgtMVwiPlxuICAgICAgICAgIDxheC1za2VsZXRvbiBbYW5pbWF0ZWRdPVwidHJ1ZVwiIGNsYXNzPVwiYXgtdy0xLzQgYXgtaC0yIGF4LXJvdW5kZWRcIj48L2F4LXNrZWxldG9uPlxuICAgICAgICAgIDxheC1za2VsZXRvbiBbYW5pbWF0ZWRdPVwidHJ1ZVwiIGNsYXNzPVwiYXgtdy0xLzIgYXgtaC0yIGF4LXJvdW5kZWRcIj48L2F4LXNrZWxldG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gRW1wdHkgVGVtcGxhdGUgLS0+XG4gIDxuZy10ZW1wbGF0ZSAjZW1wdHk+XG4gICAgPGF4cC1zdGF0ZS1tZXNzYWdlIGljb249XCJmYS1saWdodCBmYS1zZWFyY2hcIlxuICAgICAgW3RpdGxlXT1cIidAZ2xvYmFsLXNlYXJjaDpjb21wb25lbnRzLnNlYXJjaC1ib3guZW1wdHktc3RhdGVzLm5vLXJlc3VsdC50aXRsZSdcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidAZ2xvYmFsLXNlYXJjaDpjb21wb25lbnRzLnNlYXJjaC1ib3guZW1wdHktc3RhdGVzLm5vLXJlc3VsdC5kZXNjcmlwdGlvbidcIj5cbiAgICA8L2F4cC1zdGF0ZS1tZXNzYWdlPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gV2VsY29tZSBUZW1wbGF0ZSAtLT5cbiAgPG5nLXRlbXBsYXRlICN3ZWxjb21lPlxuICAgIDxheHAtc3RhdGUtbWVzc2FnZSBpY29uPVwiZmEtbGlnaHQgZmEtc2VhcmNoXCJcbiAgICAgIFt0aXRsZV09XCInQGdsb2JhbC1zZWFyY2g6Y29tcG9uZW50cy5zZWFyY2gtYm94LmVtcHR5LXN0YXRlcy5zdGFydC50aXRsZSdcIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidAZ2xvYmFsLXNlYXJjaDpjb21wb25lbnRzLnNlYXJjaC1ib3guZW1wdHktc3RhdGVzLnN0YXJ0LmRlc2NyaXB0aW9uJ1wiPlxuICAgIDwvYXhwLXN0YXRlLW1lc3NhZ2U+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPCEtLSBTdGFydCBUZW1wbGF0ZSAtLT5cbiAgPG5nLXRlbXBsYXRlICNzdGFydD5cbiAgICA8IS0tIFBpbm5lZCBJdGVtcyAtLT5cbiAgICA8YXhwLWxheW91dC1saXN0ICp0cmFuc2xhdGU9XCJsZXQgdFwiIGNsYXNzPVwiYXgtcC00IGF4LWRpdmlkZS1ub25lXCIgKGtleWRvd24pPVwiaGFuZGxlTGlzdEtleURvd24oJGV2ZW50KVwiXG4gICAgICBheExpc3ROYXZpZ2F0aW9uICNsaXN0PVwiYXhMaXN0TmF2aWdhdGlvblwiPlxuICAgICAgQGlmICh2bS5waW5uZWRJdGVtcygpLmxlbmd0aCA+IDApIHtcbiAgICAgIDxheHAtbGF5b3V0LWxpc3QtZ3JvdXA+XG4gICAgICAgIDxheHAtbGF5b3V0LXRpdGxlPnt7ICdAZ2xvYmFsLXNlYXJjaDp0ZXJtcy5waW5uZWQnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2Ygdm0ucGlubmVkSXRlbXMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxheHAtbGF5b3V0LWxpc3QtaXRlbSAoY2xpY2spPVwidm0uZXhlY3V0ZShpdGVtKVwiIChrZXlkb3duKT1cImhhbmRsZUl0ZW1LZXlEb3duKCRldmVudCwgaXRlbSlcIiBjbGFzcz1cImF4LWdyb3VwXCJcbiAgICAgICAgICBheExpc3ROYXZpZ2F0aW9uSXRlbSAjaT1cImF4TGlzdE5hdmlnYXRpb25JdGVtXCIgW2NsYXNzLmF4cC1zdGF0ZS1mb2N1c2VkXT1cImkuaXNBY3RpdmUoKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9heHAtbGF5b3V0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC9heHAtbGF5b3V0LWxpc3QtZ3JvdXA+XG4gICAgICB9XG4gICAgICA8IS0tIFJlY2VudCBJdGVtcyAtLT5cbiAgICAgIEBpZiAodm0ucmVjZW50SXRlbXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICA8YXhwLWxheW91dC1saXN0LWdyb3VwPlxuICAgICAgICA8YXhwLWxheW91dC1oZWFkZXI+XG4gICAgICAgICAgPGF4cC1sYXlvdXQtcHJlZml4PlxuICAgICAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+e3sgJ0BnbG9iYWwtc2VhcmNoOnRlcm1zLnJlY2VudCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXhwLWxheW91dC10aXRsZT5cbiAgICAgICAgICA8L2F4cC1sYXlvdXQtcHJlZml4PlxuICAgICAgICAgIDxheHAtbGF5b3V0LXByZWZpeCBjbGFzcz1cImF4LXhzXCI+XG4gICAgICAgICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIidAZ2xvYmFsLXNlYXJjaDp0ZXJtcy5jbGVhcicgfCB0cmFuc2xhdGUgfCBhc3luY1wiIGxvb2s9XCJibGFua1wiIFtjb2xvcl09XCInZGVmYXVsdCdcIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDbGVhckNsaWNrKCRldmVudClcIj48L2F4LWJ1dHRvbj5cbiAgICAgICAgICA8L2F4cC1sYXlvdXQtcHJlZml4PlxuICAgICAgICA8L2F4cC1sYXlvdXQtaGVhZGVyPlxuICAgICAgICBAZm9yIChpdGVtIG9mIHZtLnJlY2VudEl0ZW1zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8YXhwLWxheW91dC1saXN0LWl0ZW0gKGNsaWNrKT1cInZtLmV4ZWN1dGUoaXRlbSlcIiAoa2V5ZG93bik9XCJoYW5kbGVJdGVtS2V5RG93bigkZXZlbnQsIGl0ZW0pXCIgY2xhc3M9XCJheC1ncm91cFwiXG4gICAgICAgICAgYXhMaXN0TmF2aWdhdGlvbkl0ZW0gI2k9XCJheExpc3ROYXZpZ2F0aW9uSXRlbVwiIFtjbGFzcy5heHAtc3RhdGUtZm9jdXNlZF09XCJpLmlzQWN0aXZlKClcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYXhwLWxheW91dC1saXN0LWl0ZW0+XG4gICAgICAgIH1cbiAgICAgIDwvYXhwLWxheW91dC1saXN0LWdyb3VwPlxuICAgICAgfVxuICAgIDwvYXhwLWxheW91dC1saXN0PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDwhLS0gUmVzdWx0IFRlbXBsYXRlIC0tPlxuICA8bmctdGVtcGxhdGUgI3Jlc3VsdD5cbiAgICA8YXhwLWxheW91dC1saXN0IGNsYXNzPVwiYXgtcC00IGF4LWRpdmlkZS1ub25lXCIgKGtleWRvd24pPVwiaGFuZGxlTGlzdEtleURvd24oJGV2ZW50KVwiIGF4TGlzdE5hdmlnYXRpb25cbiAgICAgICNsaXN0PVwiYXhMaXN0TmF2aWdhdGlvblwiPlxuICAgICAgQGZvciAoZ3JvdXAgb2Ygdm0ucmVzdWx0cygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxheHAtbGF5b3V0LWxpc3QtZ3JvdXA+XG4gICAgICAgIDxheHAtbGF5b3V0LXRpdGxlPiB7eyB0KGdyb3VwLnRpdGxlKSB8IGFzeW5jIH19PC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGdyb3VwLmNoaWxkcmVuOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGF4cC1sYXlvdXQtbGlzdC1pdGVtIChjbGljayk9XCJ2bS5leGVjdXRlKGl0ZW0pXCIgKGtleWRvd24pPVwiaGFuZGxlSXRlbUtleURvd24oJGV2ZW50LCBpdGVtKVwiIGNsYXNzPVwiYXgtZ3JvdXBcIlxuICAgICAgICAgIGF4TGlzdE5hdmlnYXRpb25JdGVtICNpPVwiYXhMaXN0TmF2aWdhdGlvbkl0ZW1cIiBbY2xhc3MuYXhwLXN0YXRlLWZvY3VzZWRdPVwiaS5pc0FjdGl2ZSgpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0SXRlbVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2F4cC1sYXlvdXQtbGlzdC1pdGVtPlxuICAgICAgICB9XG4gICAgICA8L2F4cC1sYXlvdXQtbGlzdC1ncm91cD5cbiAgICAgIH1cbiAgICA8L2F4cC1sYXlvdXQtbGlzdD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI2xpc3RJdGVtIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgIDxheC1pY29uIGljb249XCJmYWwge3sgaXRlbS5pY29uIH19XCI+PC9heC1pY29uPlxuICAgIDwvYXhwLWxheW91dC1wcmVmaXg+XG4gICAgPGF4cC1sYXlvdXQtY29udGVudD5cbiAgICAgIDxheHAtbGF5b3V0LXRpdGxlIGNsYXNzPVwiYXgtZ3JvdXBcIj5cbiAgICAgICAgPHNwYW4+e3sgdChpdGVtLnRpdGxlKSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LW1zLTNcIiAoY2xpY2spPVwiaGFuZGxlUGluQ2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICAgIDxpIFtjbGFzcy5heC1pbnZpc2libGVdPVwiIXZtLmlzUGlubmVkKGl0ZW0pXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtbGlnaHQgZmEtdGh1bWJ0YWNrIGF4LXJvdGF0ZS00NSBncm91cC1ob3ZlcjohYXgtdmlzaWJsZVwiIFtjbGFzcy5mYS1zb2xpZF09XCJ2bS5pc1Bpbm5lZChpdGVtKVwiPjwvaT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9heHAtbGF5b3V0LXRpdGxlPlxuICAgICAgQGlmIChpdGVtLnBhcmVudCkge1xuICAgICAgPGF4cC1sYXlvdXQtZGVzY3JpcHRpb24+XG4gICAgICAgIHt7IHQoaXRlbS5wYXJlbnQudGl0bGUpIHwgYXN5bmMgfX1cbiAgICAgIDwvYXhwLWxheW91dC1kZXNjcmlwdGlvbj5cbiAgICAgIH0gQGVsc2UgaWYgKGl0ZW0uZGVzY3JpcHRpb24pIHtcbiAgICAgIDxheHAtbGF5b3V0LWRlc2NyaXB0aW9uPlxuICAgICAgICB7eyB0KGl0ZW0uZGVzY3JpcHRpb24pIHwgYXN5bmMgfX1cbiAgICAgIDwvYXhwLWxheW91dC1kZXNjcmlwdGlvbj5cbiAgICAgIH1cbiAgICA8L2F4cC1sYXlvdXQtY29udGVudD5cbiAgICA8YXhwLWxheW91dC1zdWZmaXg+XG4gICAgICA8aSBjbGFzcz1cImZhciBmYS1jaGV2cm9uLXJpZ2h0IHJ0bDpheC1yb3RhdGUtMTgwXCI+PC9pPlxuICAgIDwvYXhwLWxheW91dC1zdWZmaXg+XG4gIDwvbmctdGVtcGxhdGU+XG48L2F4cC1sYXlvdXQtY29udGVudD4iXX0="],"names":["i1","i3","i5","i6","i8"],"mappings":"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"}
|
|
@@ -131,6 +131,7 @@ const AXPWidgetsList = {
|
|
|
131
131
|
},
|
|
132
132
|
Advanced: {
|
|
133
133
|
QRCode: 'qrcode',
|
|
134
|
+
schedulerPicker: 'scheduler-picker',
|
|
134
135
|
Signature: 'signature',
|
|
135
136
|
Map: 'map',
|
|
136
137
|
Gallery: 'gallery',
|
|
@@ -3707,7 +3708,7 @@ class AXPGlobalSearchModule {
|
|
|
3707
3708
|
{
|
|
3708
3709
|
provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,
|
|
3709
3710
|
useValue: {
|
|
3710
|
-
window: () => import('./acorex-modules-common-search-popup.component-
|
|
3711
|
+
window: () => import('./acorex-modules-common-search-popup.component-BfoE2CMa.mjs').then((c) => c.AXPGlobalSearchPopupComponent),
|
|
3711
3712
|
},
|
|
3712
3713
|
},
|
|
3713
3714
|
], imports: [AXPComponentSlotModule.forChild({
|
|
@@ -3758,7 +3759,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
|
|
|
3758
3759
|
{
|
|
3759
3760
|
provide: AXP_GLOBAL_SEARCH_CONFIG_TOKEN,
|
|
3760
3761
|
useValue: {
|
|
3761
|
-
window: () => import('./acorex-modules-common-search-popup.component-
|
|
3762
|
+
window: () => import('./acorex-modules-common-search-popup.component-BfoE2CMa.mjs').then((c) => c.AXPGlobalSearchPopupComponent),
|
|
3762
3763
|
},
|
|
3763
3764
|
},
|
|
3764
3765
|
]
|