@hmcts/opal-frontend-common 0.0.63 → 0.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-C2tbNxps.mjs → hmcts-opal-frontend-common-access-denied.component-CWImMW7J.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-C2tbNxps.mjs.map → hmcts-opal-frontend-common-access-denied.component-CWImMW7J.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-account-created.component-DQKdOzqf.mjs → hmcts-opal-frontend-common-account-created.component-C-iCns7b.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-account-created.component-DQKdOzqf.mjs.map → hmcts-opal-frontend-common-account-created.component-C-iCns7b.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs +9 -4
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs +12 -12
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs +21 -21
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs +13 -4
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-item.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-keyword.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs +27 -0
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs.map +1 -0
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs +75 -12
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs.map +1 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs +18 -18
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-concurrency-failure.component-D4tmtfg5.mjs → hmcts-opal-frontend-common-concurrency-failure.component-Cn-ShVc5.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-concurrency-failure.component-D4tmtfg5.mjs.map → hmcts-opal-frontend-common-concurrency-failure.component-Cn-ShVc5.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs +3 -3
- package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-BPGLyE1U.mjs → hmcts-opal-frontend-common-internal-server-error.component-DVPQlZoD.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-BPGLyE1U.mjs.map → hmcts-opal-frontend-common-internal-server-error.component-DVPQlZoD.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-C2tbNxps.mjs → hmcts-opal-frontend-common-pages-access-denied.component-CWImMW7J.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-C2tbNxps.mjs.map → hmcts-opal-frontend-common-pages-access-denied.component-CWImMW7J.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-DQKdOzqf.mjs → hmcts-opal-frontend-common-pages-account-created.component-C-iCns7b.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-DQKdOzqf.mjs.map → hmcts-opal-frontend-common-pages-account-created.component-C-iCns7b.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-D4tmtfg5.mjs → hmcts-opal-frontend-common-pages-concurrency-failure.component-Cn-ShVc5.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-D4tmtfg5.mjs.map → hmcts-opal-frontend-common-pages-concurrency-failure.component-Cn-ShVc5.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.mjs +4 -0
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.mjs.map +1 -0
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs +63 -0
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs.map +1 -0
- package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-BPGLyE1U.mjs → hmcts-opal-frontend-common-pages-internal-server-error.component-DVPQlZoD.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-BPGLyE1U.mjs.map → hmcts-opal-frontend-common-pages-internal-server-error.component-DVPQlZoD.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-3RzSmuqd.mjs → hmcts-opal-frontend-common-pages-permission-denied.component-CrhYr8aM.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-3RzSmuqd.mjs.map → hmcts-opal-frontend-common-pages-permission-denied.component-CrhYr8aM.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-ChaflKZW.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-CqOrm5qQ.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-ChaflKZW.mjs.map → hmcts-opal-frontend-common-pages-sign-in-stub.component-CqOrm5qQ.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-BAHdruTT.mjs → hmcts-opal-frontend-common-pages-sign-in.component-P8JcHzpe.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-BAHdruTT.mjs.map → hmcts-opal-frontend-common-pages-sign-in.component-P8JcHzpe.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common-pages.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-3RzSmuqd.mjs → hmcts-opal-frontend-common-permission-denied.component-CrhYr8aM.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-3RzSmuqd.mjs.map → hmcts-opal-frontend-common-permission-denied.component-CrhYr8aM.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-monetary.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs +3 -3
- package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-ChaflKZW.mjs → hmcts-opal-frontend-common-sign-in-stub.component-CqOrm5qQ.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-ChaflKZW.mjs.map → hmcts-opal-frontend-common-sign-in-stub.component-CqOrm5qQ.mjs.map} +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-CXWZJDGk.mjs → hmcts-opal-frontend-common-sign-in.component-HUJ3zyjB.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-CXWZJDGk.mjs.map → hmcts-opal-frontend-common-sign-in.component-HUJ3zyjB.mjs.map} +1 -1
- package/fesm2022/hmcts-opal-frontend-common.mjs +6 -6
- package/package.json +16 -1
- package/styles/styles.scss +7 -1
- package/types/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.d.ts +2 -1
- package/types/hmcts-opal-frontend-common-components-moj-moj-date-picker.d.ts +7 -0
- package/types/hmcts-opal-frontend-common-components-moj-moj-inset-text.d.ts +10 -0
- package/types/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.d.ts +23 -5
- package/types/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.d.ts +23 -0
- package/types/hmcts-opal-frontend-common-pages-dashboard-page.d.ts +97 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmcts-opal-frontend-common-sign-in.component-
|
|
1
|
+
{"version":3,"file":"hmcts-opal-frontend-common-sign-in.component-HUJ3zyjB.mjs","sources":["../../../projects/opal-frontend-common/pages/sign-in/sign-in.component.ts","../../../projects/opal-frontend-common/pages/sign-in/sign-in.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { SignInStubComponent } from './sign-in-stub/sign-in-stub.component';\nimport { ISignInStubForm } from './interfaces/sign-in-stub-form.interface';\nimport { GlobalStore } from '@hmcts/opal-frontend-common/stores/global';\nimport { SSO_ENDPOINTS } from '@hmcts/opal-frontend-common/services/auth-service/constants';\n\n@Component({\n selector: 'opal-lib-sign-in',\n imports: [SignInStubComponent],\n templateUrl: './sign-in.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SignInComponent {\n private readonly document = inject(DOCUMENT);\n\n public readonly globalStore = inject(GlobalStore);\n public ssoEnabled: boolean | null = true;\n\n /**\n * Handles the submission of the stub sign-in form.\n * Redirects the user to the SSO login page with the provided email.\n * @param formData - The form data containing the email.\n */\n public handleStubSignInFormSubmit(formData: ISignInStubForm): void {\n this.document.location.href = `${SSO_ENDPOINTS.login}?email=${formData.email}`;\n }\n}\n","@defer (when !globalStore.ssoEnabled()) {\n <opal-lib-sign-in-stub (signInFormSubmit)=\"handleStubSignInFormSubmit($event)\"></opal-lib-sign-in-stub>\n}\n"],"names":[],"mappings":";;;;;;MAaa,eAAe,CAAA;AACT,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE5B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC1C,UAAU,GAAmB,IAAI;AAExC;;;;AAIG;AACI,IAAA,0BAA0B,CAAC,QAAyB,EAAA;AACzD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAA,EAAG,aAAa,CAAC,KAAK,CAAA,OAAA,EAAU,QAAQ,CAAC,KAAK,EAAE;IAChF;uGAbW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,4ECb5B,6JAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,sBAAA,EAAA,CAAA,MAAA,CAAA,OAAA,kEAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;;gGDUa,eAAe,EAAA,mBAAA,EAAA,MAAA,CAAA,OAAA,kEAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,eAAA,EAAA,mBAAA,KAAA,EAAA,UAAA,EAAA,CAAA;sBAN3B,SAAS;AACE,gBAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,WACnB,CAAC,mBAAmB,CAAC,EAAA,eAAA,EAEb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6JAAA,EAAA;;;;;"}
|
|
@@ -32,39 +32,39 @@ const routing = [
|
|
|
32
32
|
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
|
|
33
33
|
{
|
|
34
34
|
path: PAGES_ROUTING_PATHS.children.accessDenied,
|
|
35
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-access-denied.component-
|
|
35
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-access-denied.component-CWImMW7J.mjs').then((c) => c.AccessDeniedComponent),
|
|
36
36
|
canActivate: [authGuard, accountGuard],
|
|
37
37
|
data: { title: PAGES_ROUTING_TITLES.children.accessDenied },
|
|
38
38
|
resolve: { title: TitleResolver },
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
path: PAGES_ROUTING_PATHS.children.concurrencyFailure,
|
|
42
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-concurrency-failure.component-
|
|
42
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-concurrency-failure.component-Cn-ShVc5.mjs').then((c) => c.ConcurrencyFailureComponent),
|
|
43
43
|
data: { title: PAGES_ROUTING_TITLES.children.concurrencyFailure },
|
|
44
44
|
resolve: { title: TitleResolver },
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
path: PAGES_ROUTING_PATHS.children.permissionDenied,
|
|
48
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-permission-denied.component-
|
|
48
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-permission-denied.component-CrhYr8aM.mjs').then((c) => c.PermissionDeniedComponent),
|
|
49
49
|
data: { title: PAGES_ROUTING_TITLES.children.permissionDenied },
|
|
50
50
|
resolve: { title: TitleResolver },
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
path: PAGES_ROUTING_PATHS.children.internalServerError,
|
|
54
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-internal-server-error.component-
|
|
54
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-internal-server-error.component-DVPQlZoD.mjs').then((c) => c.InternalServerErrorComponent),
|
|
55
55
|
data: { title: PAGES_ROUTING_TITLES.children.internalServerError },
|
|
56
56
|
resolve: { title: TitleResolver },
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
path: PAGES_ROUTING_PATHS.children.signIn,
|
|
60
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-sign-in.component-
|
|
60
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-sign-in.component-HUJ3zyjB.mjs').then((c) => c.SignInComponent),
|
|
61
61
|
canActivate: [signedInGuard],
|
|
62
62
|
data: { title: PAGES_ROUTING_TITLES.children.signIn },
|
|
63
63
|
resolve: { title: TitleResolver },
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
path: PAGES_ROUTING_PATHS.children.accountCreated,
|
|
67
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-account-created.component-
|
|
67
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-account-created.component-C-iCns7b.mjs').then((c) => c.AccountCreated),
|
|
68
68
|
canActivate: [authGuard],
|
|
69
69
|
data: { title: PAGES_ROUTING_TITLES.children.accountCreated },
|
|
70
70
|
resolve: { title: TitleResolver },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hmcts/opal-frontend-common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.64",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -476,6 +476,11 @@
|
|
|
476
476
|
"types": "./types/hmcts-opal-frontend-common-components-moj-moj-header-interfaces.d.ts",
|
|
477
477
|
"default": "./fesm2022/hmcts-opal-frontend-common-components-moj-moj-header-interfaces.mjs"
|
|
478
478
|
},
|
|
479
|
+
"./components/moj/moj-inset-text": {
|
|
480
|
+
"import": "./fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs",
|
|
481
|
+
"types": "./types/hmcts-opal-frontend-common-components-moj-moj-inset-text.d.ts",
|
|
482
|
+
"default": "./fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs"
|
|
483
|
+
},
|
|
479
484
|
"./components/moj/moj-notification-badge": {
|
|
480
485
|
"import": "./fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs",
|
|
481
486
|
"types": "./types/hmcts-opal-frontend-common-components-moj-moj-notification-badge.d.ts",
|
|
@@ -596,6 +601,16 @@
|
|
|
596
601
|
"types": "./types/hmcts-opal-frontend-common-interceptors-http-error-interfaces.d.ts",
|
|
597
602
|
"default": "./fesm2022/hmcts-opal-frontend-common-interceptors-http-error-interfaces.mjs"
|
|
598
603
|
},
|
|
604
|
+
"./pages/dashboard-page": {
|
|
605
|
+
"import": "./fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs",
|
|
606
|
+
"types": "./types/hmcts-opal-frontend-common-pages-dashboard-page.d.ts",
|
|
607
|
+
"default": "./fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs"
|
|
608
|
+
},
|
|
609
|
+
"./pages/dashboard-page/interfaces": {
|
|
610
|
+
"import": "./fesm2022/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.mjs",
|
|
611
|
+
"types": "./types/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.d.ts",
|
|
612
|
+
"default": "./fesm2022/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.mjs"
|
|
613
|
+
},
|
|
599
614
|
"./pages/routing": {
|
|
600
615
|
"import": "./fesm2022/hmcts-opal-frontend-common-pages.mjs"
|
|
601
616
|
},
|
package/styles/styles.scss
CHANGED
|
@@ -47,7 +47,8 @@ body {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
.govuk-width-container,
|
|
50
|
-
.moj-header__container
|
|
50
|
+
.moj-header__container,
|
|
51
|
+
.moj-primary-navigation__container {
|
|
51
52
|
@include govuk-width-container(1028px);
|
|
52
53
|
}
|
|
53
54
|
|
|
@@ -104,6 +105,11 @@ opal-lib-govuk-footer {
|
|
|
104
105
|
color: govuk-colour('blue');
|
|
105
106
|
}
|
|
106
107
|
|
|
108
|
+
.guidance-panel-blue {
|
|
109
|
+
border-left-color: govuk-colour('blue');
|
|
110
|
+
background-color: #eaf4f9;
|
|
111
|
+
}
|
|
112
|
+
|
|
107
113
|
.govuk-dark-blue-text-colour {
|
|
108
114
|
color: govuk-colour('dark-blue');
|
|
109
115
|
}
|
|
@@ -2,8 +2,9 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
|
|
3
3
|
declare class GovukInsetTextComponent {
|
|
4
4
|
insetTextId: string;
|
|
5
|
+
classes: string | null;
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<GovukInsetTextComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GovukInsetTextComponent, "opal-lib-govuk-inset-text", never, { "insetTextId": { "alias": "insetTextId"; "required": true; }; }, {}, never, ["*"], true, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GovukInsetTextComponent, "opal-lib-govuk-inset-text", never, { "insetTextId": { "alias": "insetTextId"; "required": true; }; "classes": { "alias": "classes"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export { GovukInsetTextComponent };
|
|
@@ -26,6 +26,13 @@ declare class MojDatePickerComponent implements OnInit {
|
|
|
26
26
|
* Retrieves the disabled dates and concatenates them into a single string.
|
|
27
27
|
*/
|
|
28
28
|
private concatenateDisabledDates;
|
|
29
|
+
/**
|
|
30
|
+
* Dynamically imports the Ministry of Justice frontend date picker module.
|
|
31
|
+
*
|
|
32
|
+
* @returns A promise that resolves to the imported module containing all MOJ components.
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
private loadDatePickerModule;
|
|
29
36
|
/**
|
|
30
37
|
* Sets the date value and emits the updated value through the `dateChange` event.
|
|
31
38
|
*
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
declare class MojInsetTextComponent {
|
|
4
|
+
id: string;
|
|
5
|
+
classes: string | null;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MojInsetTextComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MojInsetTextComponent, "opal-lib-moj-inset-text", never, { "id": { "alias": "id"; "required": true; }; "classes": { "alias": "classes"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { MojInsetTextComponent };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, OnDestroy,
|
|
2
|
+
import { EventEmitter, OnInit, OnDestroy, AfterContentInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
declare class MojPrimaryNavigationItemComponent {
|
|
5
5
|
private readonly router;
|
|
@@ -9,6 +9,8 @@ declare class MojPrimaryNavigationItemComponent {
|
|
|
9
9
|
primaryNavigationItemText: string;
|
|
10
10
|
activeItemFragment: string;
|
|
11
11
|
isLastItem: boolean;
|
|
12
|
+
useFragmentNavigation: boolean;
|
|
13
|
+
navigationItemSelected: EventEmitter<string>;
|
|
12
14
|
hostClass: string;
|
|
13
15
|
hostId: string;
|
|
14
16
|
hostLastItem: boolean;
|
|
@@ -19,15 +21,22 @@ declare class MojPrimaryNavigationItemComponent {
|
|
|
19
21
|
*/
|
|
20
22
|
handleItemClick(event: Event, item: string): void;
|
|
21
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<MojPrimaryNavigationItemComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MojPrimaryNavigationItemComponent, "opal-lib-moj-primary-navigation-item, [opal-lib-moj-primary-navigation-item]", never, { "primaryNavigationItemId": { "alias": "primaryNavigationItemId"; "required": true; }; "primaryNavigationItemFragment": { "alias": "primaryNavigationItemFragment"; "required": true; }; "primaryNavigationItemText": { "alias": "primaryNavigationItemText"; "required": true; }; "activeItemFragment": { "alias": "activeItemFragment"; "required": true; }; "isLastItem": { "alias": "isLastItem"; "required": false; }; }, {}, never, never, true, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MojPrimaryNavigationItemComponent, "opal-lib-moj-primary-navigation-item, [opal-lib-moj-primary-navigation-item]", never, { "primaryNavigationItemId": { "alias": "primaryNavigationItemId"; "required": true; }; "primaryNavigationItemFragment": { "alias": "primaryNavigationItemFragment"; "required": true; }; "primaryNavigationItemText": { "alias": "primaryNavigationItemText"; "required": true; }; "activeItemFragment": { "alias": "activeItemFragment"; "required": true; }; "isLastItem": { "alias": "isLastItem"; "required": false; }; "useFragmentNavigation": { "alias": "useFragmentNavigation"; "required": false; }; }, { "navigationItemSelected": "navigationItemSelected"; }, never, never, true, never>;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
declare class MojPrimaryNavigationComponent implements OnInit, OnDestroy {
|
|
26
|
-
private readonly router;
|
|
27
|
+
declare class MojPrimaryNavigationComponent implements OnInit, OnDestroy, AfterContentInit, OnChanges {
|
|
27
28
|
private readonly route;
|
|
28
29
|
private readonly ngUnsubscribe;
|
|
30
|
+
private itemSubscriptions;
|
|
31
|
+
private readonly primaryNavigationItems;
|
|
29
32
|
primaryNavigationId: string;
|
|
33
|
+
useFragmentNavigation: boolean;
|
|
30
34
|
activeItemFragment: EventEmitter<string>;
|
|
35
|
+
navigationItemSelected: EventEmitter<string>;
|
|
36
|
+
/**
|
|
37
|
+
* Synchronise the projected item mode and selection events with the container mode.
|
|
38
|
+
*/
|
|
39
|
+
private wirePrimaryNavigationItems;
|
|
31
40
|
/**
|
|
32
41
|
* Sets up the listeners for the route fragment changes.
|
|
33
42
|
* Emits the active navigation item when a fragment is present in the route.
|
|
@@ -38,13 +47,22 @@ declare class MojPrimaryNavigationComponent implements OnInit, OnDestroy {
|
|
|
38
47
|
* This method is called after the component has been created and initialized.
|
|
39
48
|
*/
|
|
40
49
|
ngOnInit(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Wire projected navigation item events after content is available.
|
|
52
|
+
*/
|
|
53
|
+
ngAfterContentInit(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Keep projected items in sync if navigation mode input changes after initial render.
|
|
56
|
+
* @param changes - The input change set.
|
|
57
|
+
*/
|
|
58
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
41
59
|
/**
|
|
42
60
|
* Lifecycle hook that is called when the component is about to be destroyed.
|
|
43
61
|
* Unsubscribes from the route fragment subscription.
|
|
44
62
|
*/
|
|
45
63
|
ngOnDestroy(): void;
|
|
46
64
|
static ɵfac: i0.ɵɵFactoryDeclaration<MojPrimaryNavigationComponent, never>;
|
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MojPrimaryNavigationComponent, "opal-lib-moj-primary-navigation", never, { "primaryNavigationId": { "alias": "primaryNavigationId"; "required": true; }; }, { "activeItemFragment": "activeItemFragment"; },
|
|
65
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MojPrimaryNavigationComponent, "opal-lib-moj-primary-navigation", never, { "primaryNavigationId": { "alias": "primaryNavigationId"; "required": true; }; "useFragmentNavigation": { "alias": "useFragmentNavigation"; "required": false; }; }, { "activeItemFragment": "activeItemFragment"; "navigationItemSelected": "navigationItemSelected"; }, ["primaryNavigationItems"], ["*"], true, never>;
|
|
48
66
|
}
|
|
49
67
|
|
|
50
68
|
export { MojPrimaryNavigationComponent, MojPrimaryNavigationItemComponent };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface IDashboardPageConfigurationLink {
|
|
2
|
+
id: string;
|
|
3
|
+
text: string;
|
|
4
|
+
routerLink: string[];
|
|
5
|
+
fragment: string | null;
|
|
6
|
+
permissionIds: number[];
|
|
7
|
+
newTab: boolean;
|
|
8
|
+
style: string | null;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface IDashboardPageConfigurationLinkGroup {
|
|
12
|
+
id: string;
|
|
13
|
+
title: string;
|
|
14
|
+
links: IDashboardPageConfigurationLink[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface IDashboardPageConfiguration {
|
|
18
|
+
title: string;
|
|
19
|
+
highlights: IDashboardPageConfigurationLink[];
|
|
20
|
+
groups: IDashboardPageConfigurationLinkGroup[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type { IDashboardPageConfiguration, IDashboardPageConfigurationLink, IDashboardPageConfigurationLinkGroup };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as _hmcts_opal_frontend_common_stores_global_interfaces from '@hmcts/opal-frontend-common/stores/global/interfaces';
|
|
2
|
+
import * as _hmcts_opal_frontend_common_services_session_service_interfaces from '@hmcts/opal-frontend-common/services/session-service/interfaces';
|
|
3
|
+
import * as _hmcts_opal_frontend_common_services_transfer_state_service_interfaces from '@hmcts/opal-frontend-common/services/transfer-state-service/interfaces';
|
|
4
|
+
import * as _hmcts_opal_frontend_common_services_opal_user_service_interfaces from '@hmcts/opal-frontend-common/services/opal-user-service/interfaces';
|
|
5
|
+
import * as launchdarkly_js_sdk_common from 'launchdarkly-js-sdk-common';
|
|
6
|
+
import * as _ngrx_signals from '@ngrx/signals';
|
|
7
|
+
import * as _angular_core from '@angular/core';
|
|
8
|
+
|
|
9
|
+
interface IDashboardPageConfigurationLink {
|
|
10
|
+
id: string;
|
|
11
|
+
text: string;
|
|
12
|
+
routerLink: string[];
|
|
13
|
+
fragment: string | null;
|
|
14
|
+
permissionIds: number[];
|
|
15
|
+
newTab: boolean;
|
|
16
|
+
style: string | null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface IDashboardPageConfigurationLinkGroup {
|
|
20
|
+
id: string;
|
|
21
|
+
title: string;
|
|
22
|
+
links: IDashboardPageConfigurationLink[];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface IDashboardPageConfiguration {
|
|
26
|
+
title: string;
|
|
27
|
+
highlights: IDashboardPageConfigurationLink[];
|
|
28
|
+
groups: IDashboardPageConfigurationLinkGroup[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class DashboardPage {
|
|
32
|
+
private readonly permissionService;
|
|
33
|
+
readonly globalStore: {
|
|
34
|
+
authenticated: _angular_core.Signal<boolean>;
|
|
35
|
+
bannerError: _ngrx_signals.DeepSignal<{
|
|
36
|
+
error: boolean | null;
|
|
37
|
+
title: string | null;
|
|
38
|
+
message: string | null;
|
|
39
|
+
operationId: string | null;
|
|
40
|
+
}>;
|
|
41
|
+
featureFlags: _angular_core.Signal<launchdarkly_js_sdk_common.LDFlagSet>;
|
|
42
|
+
userState: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_opal_user_service_interfaces.IOpalUserState>;
|
|
43
|
+
ssoEnabled: _angular_core.Signal<boolean>;
|
|
44
|
+
launchDarklyConfig: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateLaunchDarklyConfig>;
|
|
45
|
+
appInsightsConfig: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateAppInsightsConfig>;
|
|
46
|
+
tokenExpiry: _ngrx_signals.DeepSignal<_hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry>;
|
|
47
|
+
userStateCacheExpirationMilliseconds: _angular_core.Signal<number>;
|
|
48
|
+
setAuthenticated: (authenticated: boolean) => void;
|
|
49
|
+
setBannerError: (error: _hmcts_opal_frontend_common_stores_global_interfaces.IGlobalErrorState) => void;
|
|
50
|
+
resetBannerError: () => void;
|
|
51
|
+
setFeatureFlags: (featureFlags: launchdarkly_js_sdk_common.LDFlagSet) => void;
|
|
52
|
+
setUserState: (userState: _hmcts_opal_frontend_common_services_opal_user_service_interfaces.IOpalUserState) => void;
|
|
53
|
+
setSsoEnabled: (ssoEnabled: boolean) => void;
|
|
54
|
+
setLaunchDarklyConfig: (config: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateLaunchDarklyConfig) => void;
|
|
55
|
+
setAppInsightsConfig: (config: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateAppInsightsConfig) => void;
|
|
56
|
+
setTokenExpiry: (tokenExpiry: _hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry) => void;
|
|
57
|
+
setUserStateCacheExpirationMilliseconds: (milliseconds: number) => void;
|
|
58
|
+
} & _ngrx_signals.StateSource<{
|
|
59
|
+
authenticated: boolean;
|
|
60
|
+
bannerError: {
|
|
61
|
+
error: boolean | null;
|
|
62
|
+
title: string | null;
|
|
63
|
+
message: string | null;
|
|
64
|
+
operationId: string | null;
|
|
65
|
+
};
|
|
66
|
+
featureFlags: launchdarkly_js_sdk_common.LDFlagSet;
|
|
67
|
+
userState: _hmcts_opal_frontend_common_services_opal_user_service_interfaces.IOpalUserState;
|
|
68
|
+
ssoEnabled: boolean;
|
|
69
|
+
launchDarklyConfig: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateLaunchDarklyConfig;
|
|
70
|
+
appInsightsConfig: _hmcts_opal_frontend_common_services_transfer_state_service_interfaces.ITransferStateAppInsightsConfig;
|
|
71
|
+
tokenExpiry: _hmcts_opal_frontend_common_services_session_service_interfaces.ISessionTokenExpiry;
|
|
72
|
+
userStateCacheExpirationMilliseconds: number;
|
|
73
|
+
}>;
|
|
74
|
+
dashboardConfig: IDashboardPageConfiguration;
|
|
75
|
+
/**
|
|
76
|
+
* Computes the unique permission ids for the current user from the global store.
|
|
77
|
+
*/
|
|
78
|
+
readonly permissionIds: _angular_core.Signal<number[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Returns whether a dashboard link is visible for the current user.
|
|
81
|
+
* Empty permission arrays are treated as unrestricted links.
|
|
82
|
+
* @param linkPermissionIds - Permission ids configured for the link.
|
|
83
|
+
*/
|
|
84
|
+
private hasLinkPermission;
|
|
85
|
+
/**
|
|
86
|
+
* Returns highlights that the current user is permitted to view.
|
|
87
|
+
*/
|
|
88
|
+
get visibleHighlights(): IDashboardPageConfigurationLink[];
|
|
89
|
+
/**
|
|
90
|
+
* Returns groups with links filtered by permissions, excluding empty groups.
|
|
91
|
+
*/
|
|
92
|
+
get visibleGroups(): IDashboardPageConfigurationLinkGroup[];
|
|
93
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardPage, never>;
|
|
94
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardPage, "opal-lib-dashboard-page", never, { "dashboardConfig": { "alias": "dashboardConfig"; "required": true; }; }, {}, never, never, true, never>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { DashboardPage };
|