@hmcts/opal-frontend-common 0.0.99 → 0.0.102
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-BDPx9bHD.mjs → hmcts-opal-frontend-common-access-denied.component-BxhkCLOI.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-account-created.component-Bnx53kTU.mjs → hmcts-opal-frontend-common-account-created.component-CJiRndGj.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.mjs +3 -3
- 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-report-instances-table-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +49 -7
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +4 -4
- 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-accessible-monetary.mjs +54 -0
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +6 -6
- 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-DhLPSRrO.mjs → hmcts-opal-frontend-common-concurrency-failure.component-Cfu8b65-.mjs} +4 -4
- 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-directives-moj-multi-select.mjs +6 -6
- package/fesm2022/hmcts-opal-frontend-common-directives-trim-leading-trailing-whitespace.mjs +3 -3
- package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate.mjs +1 -1
- package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-CdTVIpN_.mjs → hmcts-opal-frontend-common-internal-server-error.component-CT3bxevh.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-BDPx9bHD.mjs → hmcts-opal-frontend-common-pages-access-denied.component-BxhkCLOI.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-Bnx53kTU.mjs → hmcts-opal-frontend-common-pages-account-created.component-CJiRndGj.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-DhLPSRrO.mjs → hmcts-opal-frontend-common-pages-concurrency-failure.component-Cfu8b65-.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs +3 -3
- package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-CdTVIpN_.mjs → hmcts-opal-frontend-common-pages-internal-server-error.component-CT3bxevh.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-CJQrh--T.mjs → hmcts-opal-frontend-common-pages-permission-denied.component-BYeottTr.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-DGR30VJn.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-Cz0W_KDW.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-tx1zJtdS.mjs → hmcts-opal-frontend-common-pages-sign-in.component-N_WlJ6nC.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-pages.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-CJQrh--T.mjs → hmcts-opal-frontend-common-permission-denied.component-BYeottTr.mjs} +4 -4
- 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 +9 -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-history-transformation-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 +21 -4
- package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-DGR30VJn.mjs → hmcts-opal-frontend-common-sign-in-stub.component-Cz0W_KDW.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-ZonGWT6k.mjs → hmcts-opal-frontend-common-sign-in.component-Cv5vLQ8y.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common.mjs +6 -6
- package/package.json +6 -1
- package/types/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.d.ts +12 -1
- package/types/hmcts-opal-frontend-common-components-custom-custom-accessible-monetary.d.ts +30 -0
- package/types/hmcts-opal-frontend-common-pipes-monetary.d.ts +1 -1
- package/types/hmcts-opal-frontend-common-services-utils-service.d.ts +6 -0
|
@@ -51,10 +51,10 @@ class PermissionsService {
|
|
|
51
51
|
// if we don't have any roles, we can't have any permissions
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
55
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PermissionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PermissionsService, providedIn: 'root' });
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: PermissionsService, decorators: [{
|
|
58
58
|
type: Injectable,
|
|
59
59
|
args: [{
|
|
60
60
|
providedIn: 'root',
|
|
@@ -25,10 +25,10 @@ class SessionService {
|
|
|
25
25
|
}), shareReplay(1));
|
|
26
26
|
return this.tokenExpiryCache$;
|
|
27
27
|
}
|
|
28
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
29
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionService, providedIn: 'root' });
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SessionService, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{ providedIn: 'root' }]
|
|
34
34
|
}] });
|
|
@@ -79,10 +79,10 @@ class SortService {
|
|
|
79
79
|
arraySortDesc(array) {
|
|
80
80
|
return sort(array).desc();
|
|
81
81
|
}
|
|
82
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
83
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
82
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SortService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
83
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SortService, providedIn: 'root' });
|
|
84
84
|
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SortService, decorators: [{
|
|
86
86
|
type: Injectable,
|
|
87
87
|
args: [{
|
|
88
88
|
providedIn: 'root',
|
|
@@ -82,10 +82,10 @@ class TransferStateService {
|
|
|
82
82
|
this.globalStore.setFeatureFlags(featureFlagConfig.releases);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
86
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TransferStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
86
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TransferStateService, providedIn: 'root' });
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TransferStateService, decorators: [{
|
|
89
89
|
type: Injectable,
|
|
90
90
|
args: [{
|
|
91
91
|
providedIn: 'root',
|
|
@@ -89,10 +89,10 @@ class TransformationService {
|
|
|
89
89
|
}
|
|
90
90
|
return result;
|
|
91
91
|
}
|
|
92
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
93
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TransformationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TransformationService, providedIn: 'root' });
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: TransformationService, decorators: [{
|
|
96
96
|
type: Injectable,
|
|
97
97
|
args: [{
|
|
98
98
|
providedIn: 'root',
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ViewportScroller } from '@angular/common';
|
|
1
|
+
import { DOCUMENT, ViewportScroller } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { inject, Injectable } from '@angular/core';
|
|
4
4
|
|
|
5
5
|
class UtilsService {
|
|
6
|
+
document = inject(DOCUMENT);
|
|
6
7
|
viewportScroller = inject(ViewportScroller);
|
|
7
8
|
/**
|
|
8
9
|
* Converts the first letter of a string to uppercase.
|
|
@@ -61,6 +62,22 @@ class UtilsService {
|
|
|
61
62
|
scrollToTop() {
|
|
62
63
|
this.viewportScroller.scrollToPosition([0, 0]);
|
|
63
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Moves focus to the main content landmark and scrolls the viewport to the top of the page.
|
|
67
|
+
* A temporary tabindex allows the normally non-focusable landmark to receive programmatic focus.
|
|
68
|
+
*/
|
|
69
|
+
focusAndScrollToTop() {
|
|
70
|
+
const mainContent = this.document.getElementById('main-content');
|
|
71
|
+
if (mainContent) {
|
|
72
|
+
const hasTabindex = mainContent.hasAttribute('tabindex');
|
|
73
|
+
if (!hasTabindex) {
|
|
74
|
+
mainContent.setAttribute('tabindex', '-1');
|
|
75
|
+
mainContent.addEventListener('blur', () => mainContent.removeAttribute('tabindex'), { once: true });
|
|
76
|
+
}
|
|
77
|
+
mainContent.focus({ preventScroll: true });
|
|
78
|
+
}
|
|
79
|
+
this.scrollToTop();
|
|
80
|
+
}
|
|
64
81
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
82
|
checkFormValues(form) {
|
|
66
83
|
return Object.values(form).some((value) => {
|
|
@@ -153,10 +170,10 @@ class UtilsService {
|
|
|
153
170
|
hasSetProperty(value) {
|
|
154
171
|
return Object.values(value ?? {}).some((v) => (typeof v === 'boolean' ? v === true : v !== null && v !== ''));
|
|
155
172
|
}
|
|
156
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
157
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
174
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UtilsService, providedIn: 'root' });
|
|
158
175
|
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: UtilsService, decorators: [{
|
|
160
177
|
type: Injectable,
|
|
161
178
|
args: [{
|
|
162
179
|
providedIn: 'root',
|
|
@@ -28,10 +28,10 @@ class SignInStubComponent {
|
|
|
28
28
|
ngOnInit() {
|
|
29
29
|
this.setupSignInForm();
|
|
30
30
|
}
|
|
31
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
32
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SignInStubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.20", type: SignInStubComponent, isStandalone: true, selector: "opal-lib-sign-in-stub", outputs: { signInFormSubmit: "signInFormSubmit" }, ngImport: i0, template: "<form (submit)=\"handleFormSubmit()\">\n <div class=\"govuk-grid-column-two-thirds\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 class=\"govuk-fieldset__heading\">Sign in</h1>\n </legend>\n\n <div [formGroup]=\"signInForm\">\n <opal-lib-govuk-text-input\n labelText=\"Email\"\n inputId=\"email\"\n inputName=\"email\"\n inputClasses=\"govuk-!-width-one-half\"\n [control]=\"signInForm.controls['email']\"\n ></opal-lib-govuk-text-input>\n </div>\n </fieldset>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-one-third\">\n <opal-lib-govuk-button buttonId=\"submitForm\" type=\"submit\"> Sign in</opal-lib-govuk-button>\n </div>\n </div>\n </div>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: GovukTextInputComponent, selector: "opal-lib-govuk-text-input", inputs: ["labelText", "labelClasses", "inputId", "inputName", "inputClasses", "hintText", "hintHtml", "errors", "autoComplete", "autoCompleteValue", "control"] }, { kind: "component", type: GovukButtonComponent, selector: "opal-lib-govuk-button", inputs: ["buttonId", "type", "buttonClasses"], outputs: ["buttonClickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SignInStubComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ selector: 'opal-lib-sign-in-stub', imports: [FormsModule, ReactiveFormsModule, GovukTextInputComponent, GovukButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form (submit)=\"handleFormSubmit()\">\n <div class=\"govuk-grid-column-two-thirds\">\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h1 class=\"govuk-fieldset__heading\">Sign in</h1>\n </legend>\n\n <div [formGroup]=\"signInForm\">\n <opal-lib-govuk-text-input\n labelText=\"Email\"\n inputId=\"email\"\n inputName=\"email\"\n inputClasses=\"govuk-!-width-one-half\"\n [control]=\"signInForm.controls['email']\"\n ></opal-lib-govuk-text-input>\n </div>\n </fieldset>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-one-third\">\n <opal-lib-govuk-button buttonId=\"submitForm\" type=\"submit\"> Sign in</opal-lib-govuk-button>\n </div>\n </div>\n </div>\n</form>\n" }]
|
|
37
37
|
}], propDecorators: { signInFormSubmit: [{
|
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
39
39
|
}] } });
|
|
40
40
|
|
|
41
41
|
export { SignInStubComponent };
|
|
42
|
-
//# sourceMappingURL=hmcts-opal-frontend-common-sign-in-stub.component-
|
|
42
|
+
//# sourceMappingURL=hmcts-opal-frontend-common-sign-in-stub.component-Cz0W_KDW.mjs.map
|
|
@@ -16,13 +16,13 @@ class SignInComponent {
|
|
|
16
16
|
handleStubSignInFormSubmit(formData) {
|
|
17
17
|
this.document.location.href = `${SSO_ENDPOINTS.login}?email=${formData.email}`;
|
|
18
18
|
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.20", ngImport: i0, type: SignInComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.20", type: SignInComponent, isStandalone: true, selector: "opal-lib-sign-in", ngImport: i0, template: "@defer (when !globalStore.ssoEnabled()) {\n <opal-lib-sign-in-stub (signInFormSubmit)=\"handleStubSignInFormSubmit($event)\"></opal-lib-sign-in-stub>\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [import('./hmcts-opal-frontend-common-sign-in-stub.component-Cz0W_KDW.mjs').then(m => m.SignInStubComponent)]] });
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.2.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "21.2.20", ngImport: i0, type: SignInComponent, resolveDeferredDeps: () => [import('./hmcts-opal-frontend-common-sign-in-stub.component-Cz0W_KDW.mjs').then(m => m.SignInStubComponent)], resolveMetadata: SignInStubComponent => ({ decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'opal-lib-sign-in', imports: [SignInStubComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@defer (when !globalStore.ssoEnabled()) {\n <opal-lib-sign-in-stub (signInFormSubmit)=\"handleStubSignInFormSubmit($event)\"></opal-lib-sign-in-stub>\n}\n" }]
|
|
25
25
|
}], ctorParameters: null, propDecorators: null }) });
|
|
26
26
|
|
|
27
27
|
export { SignInComponent };
|
|
28
|
-
//# sourceMappingURL=hmcts-opal-frontend-common-sign-in.component-
|
|
28
|
+
//# sourceMappingURL=hmcts-opal-frontend-common-sign-in.component-Cv5vLQ8y.mjs.map
|
|
@@ -36,39 +36,39 @@ const routing = [
|
|
|
36
36
|
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
|
|
37
37
|
{
|
|
38
38
|
path: PAGES_ROUTING_PATHS.children.accessDenied,
|
|
39
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-access-denied.component-
|
|
39
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-access-denied.component-BxhkCLOI.mjs').then((c) => c.AccessDeniedComponent),
|
|
40
40
|
canActivate: [authGuard, accountGuard],
|
|
41
41
|
data: { title: PAGES_ROUTING_TITLES.children.accessDenied },
|
|
42
42
|
resolve: { title: TitleResolver },
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
path: PAGES_ROUTING_PATHS.children.concurrencyFailure,
|
|
46
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-concurrency-failure.component-
|
|
46
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-concurrency-failure.component-Cfu8b65-.mjs').then((c) => c.ConcurrencyFailureComponent),
|
|
47
47
|
data: { title: PAGES_ROUTING_TITLES.children.concurrencyFailure },
|
|
48
48
|
resolve: { title: TitleResolver },
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
51
|
path: PAGES_ROUTING_PATHS.children.permissionDenied,
|
|
52
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-permission-denied.component-
|
|
52
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-permission-denied.component-BYeottTr.mjs').then((c) => c.PermissionDeniedComponent),
|
|
53
53
|
data: { title: PAGES_ROUTING_TITLES.children.permissionDenied },
|
|
54
54
|
resolve: { title: TitleResolver },
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
path: PAGES_ROUTING_PATHS.children.internalServerError,
|
|
58
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-internal-server-error.component-
|
|
58
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-internal-server-error.component-CT3bxevh.mjs').then((c) => c.InternalServerErrorComponent),
|
|
59
59
|
data: { title: PAGES_ROUTING_TITLES.children.internalServerError },
|
|
60
60
|
resolve: { title: TitleResolver },
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
path: PAGES_ROUTING_PATHS.children.signIn,
|
|
64
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-sign-in.component-
|
|
64
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-sign-in.component-Cv5vLQ8y.mjs').then((c) => c.SignInComponent),
|
|
65
65
|
canActivate: [signedInGuard],
|
|
66
66
|
data: { title: PAGES_ROUTING_TITLES.children.signIn },
|
|
67
67
|
resolve: { title: TitleResolver },
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
path: PAGES_ROUTING_PATHS.children.accountCreated,
|
|
71
|
-
loadComponent: () => import('./hmcts-opal-frontend-common-account-created.component-
|
|
71
|
+
loadComponent: () => import('./hmcts-opal-frontend-common-account-created.component-CJiRndGj.mjs').then((c) => c.AccountCreated),
|
|
72
72
|
canActivate: [authGuard],
|
|
73
73
|
data: { title: PAGES_ROUTING_TITLES.children.accountCreated },
|
|
74
74
|
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.102",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -201,6 +201,11 @@
|
|
|
201
201
|
"types": "./types/hmcts-opal-frontend-common-components-custom-custom-account-information.d.ts",
|
|
202
202
|
"default": "./fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs"
|
|
203
203
|
},
|
|
204
|
+
"./components/custom/custom-accessible-monetary": {
|
|
205
|
+
"import": "./fesm2022/hmcts-opal-frontend-common-components-custom-custom-accessible-monetary.mjs",
|
|
206
|
+
"types": "./types/hmcts-opal-frontend-common-components-custom-custom-accessible-monetary.d.ts",
|
|
207
|
+
"default": "./fesm2022/hmcts-opal-frontend-common-components-custom-custom-accessible-monetary.mjs"
|
|
208
|
+
},
|
|
204
209
|
"./components/custom/custom-summary-metric-bar": {
|
|
205
210
|
"import": "./fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs",
|
|
206
211
|
"types": "./types/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.d.ts",
|
package/types/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.d.ts
CHANGED
|
@@ -4,12 +4,17 @@ import * as _angular_core from '@angular/core';
|
|
|
4
4
|
import { AbstractSortableTableComponent } from '@hmcts/opal-frontend-common/components/abstract/abstract-sortable-table';
|
|
5
5
|
|
|
6
6
|
declare abstract class AbstractSortableTablePaginationComponent extends AbstractSortableTableComponent {
|
|
7
|
+
private readonly injector;
|
|
8
|
+
private readonly paginationFocusUtilsService;
|
|
9
|
+
private readonly paginationFocusTargets;
|
|
7
10
|
/**
|
|
8
11
|
* Keeps the current page within the available range when the data set or page size changes.
|
|
9
12
|
*/
|
|
10
13
|
private readonly clampCurrentPageEffect;
|
|
11
14
|
currentPageSignal: _angular_core.WritableSignal<number>;
|
|
12
15
|
itemsPerPageSignal: _angular_core.WritableSignal<number>;
|
|
16
|
+
paginationPageTitle: string;
|
|
17
|
+
readonly pageChangeAnnouncement: _angular_core.WritableSignal<string>;
|
|
13
18
|
startIndexComputed: _angular_core.Signal<number>;
|
|
14
19
|
/**
|
|
15
20
|
* Computes the end index for the current page of the sorted table data.
|
|
@@ -19,6 +24,11 @@ declare abstract class AbstractSortableTablePaginationComponent extends Abstract
|
|
|
19
24
|
*/
|
|
20
25
|
endIndexComputed: _angular_core.Signal<number>;
|
|
21
26
|
paginatedTableDataComputed: _angular_core.Signal<_hmcts_opal_frontend_common_components_abstract_abstract_sortable_table_interfaces.IAbstractTableData<_hmcts_opal_frontend_common_components_abstract_abstract_sortable_table_types.SortableValuesType>[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Focuses the first target rendered for the new page and lets the browser scroll it into view.
|
|
29
|
+
* Falls back to the main content landmark when the table has no marked focus target.
|
|
30
|
+
*/
|
|
31
|
+
private focusNewPageContent;
|
|
22
32
|
/**
|
|
23
33
|
* Handles sorting changes and resets the page to the first page.
|
|
24
34
|
*
|
|
@@ -43,13 +53,14 @@ declare abstract class AbstractSortableTablePaginationComponent extends Abstract
|
|
|
43
53
|
onApplyFilters(): void;
|
|
44
54
|
/**
|
|
45
55
|
* Handles the event when the page is changed.
|
|
56
|
+
* Moves focus to the first marked target, or the main content fallback, after committing a different page.
|
|
46
57
|
*
|
|
47
58
|
* @param newPage - The new page number to set. If the provided page number is out of range,
|
|
48
59
|
* it will be clamped between 1 and the total number of pages.
|
|
49
60
|
*/
|
|
50
61
|
onPageChange(newPage: number): void;
|
|
51
62
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AbstractSortableTablePaginationComponent, never>;
|
|
52
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AbstractSortableTablePaginationComponent, "ng-component", never, {}, {}, never, never, true, never>;
|
|
63
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AbstractSortableTablePaginationComponent, "ng-component", never, { "paginationPageTitle": { "alias": "paginationPageTitle"; "required": false; }; }, {}, never, never, true, never>;
|
|
53
64
|
}
|
|
54
65
|
|
|
55
66
|
export { AbstractSortableTablePaginationComponent };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type MonetaryFormat = 'default' | 'remove-minus-symbol';
|
|
4
|
+
declare class CustomAccessibleMonetaryComponent {
|
|
5
|
+
private readonly monetaryPipe;
|
|
6
|
+
value: number | string | null | undefined;
|
|
7
|
+
format: MonetaryFormat;
|
|
8
|
+
/**
|
|
9
|
+
* Formats the provided value using the shared monetary pipe.
|
|
10
|
+
*
|
|
11
|
+
* @returns The formatted monetary string for display.
|
|
12
|
+
*/
|
|
13
|
+
get formattedValue(): string;
|
|
14
|
+
/**
|
|
15
|
+
* Determines whether the formatted value is negative and needs accessible split rendering.
|
|
16
|
+
*
|
|
17
|
+
* @returns `true` when the formatted value starts with a minus sign; otherwise `false`.
|
|
18
|
+
*/
|
|
19
|
+
get hasAccessibleNegativeValue(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Builds the screen-reader-friendly text for negative amounts.
|
|
22
|
+
*
|
|
23
|
+
* @returns The accessible value, prefixing negative amounts with the word `minus`.
|
|
24
|
+
*/
|
|
25
|
+
get accessibleValue(): string;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomAccessibleMonetaryComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CustomAccessibleMonetaryComponent, "opal-lib-custom-accessible-monetary", never, { "value": { "alias": "value"; "required": true; }; "format": { "alias": "format"; "required": false; }; }, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { CustomAccessibleMonetaryComponent };
|
|
@@ -4,7 +4,7 @@ import { PipeTransform } from '@angular/core';
|
|
|
4
4
|
type MonetaryFormat = 'default' | 'remove-minus-symbol';
|
|
5
5
|
declare class MonetaryPipe implements PipeTransform {
|
|
6
6
|
private readonly utilsService;
|
|
7
|
-
transform(value: number | string, format?: MonetaryFormat): string;
|
|
7
|
+
transform(value: number | string | null | undefined, format?: MonetaryFormat): string;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<MonetaryPipe, never>;
|
|
9
9
|
static ɵpipe: i0.ɵɵPipeDeclaration<MonetaryPipe, "monetary", true>;
|
|
10
10
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
|
|
3
3
|
declare class UtilsService {
|
|
4
|
+
private readonly document;
|
|
4
5
|
private readonly viewportScroller;
|
|
5
6
|
/**
|
|
6
7
|
* Converts the first letter of a string to uppercase.
|
|
@@ -38,6 +39,11 @@ declare class UtilsService {
|
|
|
38
39
|
* Utilizes the `viewportScroller` service to scroll to the position [0, 0].
|
|
39
40
|
*/
|
|
40
41
|
scrollToTop(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Moves focus to the main content landmark and scrolls the viewport to the top of the page.
|
|
44
|
+
* A temporary tabindex allows the normally non-focusable landmark to receive programmatic focus.
|
|
45
|
+
*/
|
|
46
|
+
focusAndScrollToTop(): void;
|
|
41
47
|
checkFormValues(form: {
|
|
42
48
|
[key: string]: any;
|
|
43
49
|
}): boolean;
|