@hmcts/opal-frontend-common 0.0.66 → 0.0.68
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/LICENSE +21 -0
- package/README.md +54 -8
- package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-w1dJPEXZ.mjs → hmcts-opal-frontend-common-access-denied.component-B14ZVnte.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-account-created.component-BGV9_IhY.mjs → hmcts-opal-frontend-common-account-created.component-DMjRN8Y1.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +6 -4
- 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 +10 -6
- 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-CusyW-5x.mjs → hmcts-opal-frontend-common-concurrency-failure.component-CQS1DbQQ.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-internal-server-error.component-CQy0fEO7.mjs → hmcts-opal-frontend-common-internal-server-error.component-lCp06yT-.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-w1dJPEXZ.mjs → hmcts-opal-frontend-common-pages-access-denied.component-B14ZVnte.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-BGV9_IhY.mjs → hmcts-opal-frontend-common-pages-account-created.component-DMjRN8Y1.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-CusyW-5x.mjs → hmcts-opal-frontend-common-pages-concurrency-failure.component-CQS1DbQQ.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-CQy0fEO7.mjs → hmcts-opal-frontend-common-pages-internal-server-error.component-lCp06yT-.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-aaJXImkm.mjs → hmcts-opal-frontend-common-pages-permission-denied.component-DYa3iGTj.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-CvKDXRlr.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-B87UHy9K.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-kFJamxkB.mjs → hmcts-opal-frontend-common-pages-sign-in.component-Ctc9YosM.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common-pages.mjs +6 -6
- package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-aaJXImkm.mjs → hmcts-opal-frontend-common-permission-denied.component-DYa3iGTj.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 +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-CvKDXRlr.mjs → hmcts-opal-frontend-common-sign-in-stub.component-B87UHy9K.mjs} +4 -4
- package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-CclFCycj.mjs → hmcts-opal-frontend-common-sign-in.component-BjLHMHMm.mjs} +4 -4
- package/fesm2022/hmcts-opal-frontend-common.mjs +6 -6
- package/package.json +73 -39
- package/styles/styles.scss +11 -15
- package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.d.ts +2 -1
- package/types/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.d.ts +5 -2
- package/types/package.json +4 -0
- package/components/abstract/abstract-nested-form-base/README.md +0 -89
- package/components/abstract/abstract-table-filter/README.md +0 -76
- package/components/govuk/govuk-tabs/govuk-tabs-list-item/README.md +0 -74
- package/components/govuk/govuk-tabs/govuk-tabs-panel/README.md +0 -52
- package/components/moj/moj-filter/moj-filter-panel/moj-filter-panel-header/README.md +0 -43
- package/components/moj/moj-filter/moj-filter-panel/moj-filter-panel-option/README.md +0 -81
- package/components/moj/moj-filter/moj-filter-panel/moj-filter-panel-option/moj-filter-panel-option-form-group-item/README.md +0 -53
- package/components/moj/moj-filter/moj-filter-panel/moj-filter-panel-option/moj-filter-panel-option-form-group-keyword/README.md +0 -59
- package/components/moj/moj-filter/moj-filter-panel/moj-filter-panel-selected/README.md +0 -55
- package/components/moj/moj-filter/moj-filter-panel/moj-filter-panel-selected/moj-filter-panel-selected-tag/README.md +0 -52
- package/fesm2022/hmcts-opal-frontend-common-access-denied.component-w1dJPEXZ.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-account-created.component-BGV9_IhY.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-parent-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-parent-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-tab-data.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-abstract-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-govuk-helpers.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs.map +0 -1
- 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.map +0 -1
- 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.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-concurrency-failure.component-CusyW-5x.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-directives-moj-multi-select.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-account.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-auth.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-has-flow-state.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-has-url-state-match.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-helpers.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-route-permissions.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-signed-in.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-guards-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-interceptors-http-error-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-interceptors-http-error-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-interceptors-http-error.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-internal-server-error.component-CQy0fEO7.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-access-denied.component-w1dJPEXZ.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-account-created.component-BGV9_IhY.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-concurrency-failure.component-CusyW-5x.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-internal-server-error.component-CQy0fEO7.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-permission-denied.component-aaJXImkm.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-routing-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-routing-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-sign-in-stub.component-CvKDXRlr.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages-sign-in.component-kFJamxkB.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pages.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-permission-denied.component-aaJXImkm.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pipes-monetary.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-auth-service-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-auth-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-date-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service-mocks.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-mocks.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service-mocks.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-sort-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service-mocks.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transformation-service-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transformation-service-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CvKDXRlr.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-sign-in.component-CclFCycj.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-stores-global-constants.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-stores-global-interfaces.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-stores-global-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-stores-global.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-types.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-amount.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-date-after-year.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-date-before.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-date-of-birth.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-future-date.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-invalid-value.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-national-insurance-number.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-optional-max-length.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-optional-valid-date.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-optional-valid-telephone.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-over-eighteen.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-past-date.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-pattern-validator.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common-validators-valid-value.mjs.map +0 -1
- package/fesm2022/hmcts-opal-frontend-common.mjs.map +0 -1
- package/guards/has-url-state-match/README.md +0 -160
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
# Has URL State Match Guard
|
|
2
|
-
|
|
3
|
-
This Angular guard validates URLs and application state, redirecting when either the URL format is invalid or when the state doesn't match the URL parameters. The guard performs two main checks:
|
|
4
|
-
|
|
5
|
-
1. **URL Validation**: Ensures the URL structure is canonical/valid
|
|
6
|
-
2. **State Validation**: Verifies that the application state matches the URL parameters
|
|
7
|
-
|
|
8
|
-
If either check fails, the guard redirects to a specified path while preserving query parameters and fragments.
|
|
9
|
-
|
|
10
|
-
## Table of Contents
|
|
11
|
-
|
|
12
|
-
- [Installation](#installation)
|
|
13
|
-
- [Selector](#selector)
|
|
14
|
-
- [Usage](#usage)
|
|
15
|
-
- [Inputs](#inputs)
|
|
16
|
-
- [Outputs](#outputs)
|
|
17
|
-
- [Methods](#methods)
|
|
18
|
-
- [Testing](#testing)
|
|
19
|
-
- [Contributing](#contributing)
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
import { hasUrlStateMatchGuard } from '@hmcts/opal-frontend-common/guards/has-url-state-match';
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Ensure the guard is imported in your route configuration:
|
|
28
|
-
|
|
29
|
-
```typescript
|
|
30
|
-
import { hasUrlStateMatchGuard } from '@hmcts/opal-frontend-common/guards/has-url-state-match';
|
|
31
|
-
|
|
32
|
-
const routes: Routes = [
|
|
33
|
-
{
|
|
34
|
-
path: 'account/:accountNumber/summary',
|
|
35
|
-
component: AccountSummaryComponent,
|
|
36
|
-
canActivate: [yourGuardInstance],
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Selector
|
|
42
|
-
|
|
43
|
-
Use this guard factory function to create route guards.
|
|
44
|
-
|
|
45
|
-
hasUrlStateMatchGuard
|
|
46
|
-
|
|
47
|
-
## Usage
|
|
48
|
-
|
|
49
|
-
The guard performs validation in the following order:
|
|
50
|
-
|
|
51
|
-
1. **URL Validation**: Calls `hasRouteParams(route)` to check if the URL format is valid
|
|
52
|
-
- If `false`, redirects immediately
|
|
53
|
-
- If `true`, proceeds to state validation
|
|
54
|
-
|
|
55
|
-
2. **State Validation**: Calls `checkCondition(state, route)` to validate state against URL
|
|
56
|
-
- If `false`, redirects
|
|
57
|
-
- If `true`, allows access
|
|
58
|
-
|
|
59
|
-
3. **Query Parameters & Fragments**: When redirecting, preserves existing query parameters and fragments
|
|
60
|
-
|
|
61
|
-
You can create a guard instance by calling the factory function:
|
|
62
|
-
|
|
63
|
-
```typescript
|
|
64
|
-
export const accountValidationGuard = hasUrlStateMatchGuard(
|
|
65
|
-
() => accountService.getState(),
|
|
66
|
-
(route) => !!route.params['accountNumber'], // Returns true if URL is canonical/valid
|
|
67
|
-
(state, route) => state.selectedAccount?.accountNumber === route.params['accountNumber'],
|
|
68
|
-
(route) => `/account/${route.params['accountNumber']}/details`,
|
|
69
|
-
);
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Advanced Example
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
export const userAccountGuard = hasUrlStateMatchGuard(
|
|
76
|
-
// Get current state
|
|
77
|
-
() => authService.getCurrentUserState(),
|
|
78
|
-
|
|
79
|
-
// Check if URL format is valid (has required parameters)
|
|
80
|
-
(route) => {
|
|
81
|
-
const accountId = route.params['accountId'];
|
|
82
|
-
const userId = route.queryParams['userId'];
|
|
83
|
-
return !!(accountId && userId && accountId.match(/^\d+$/));
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
// Validate state matches URL parameters
|
|
87
|
-
(state, route) => {
|
|
88
|
-
if (!state.user || !state.selectedAccount) return false;
|
|
89
|
-
return state.user.id === route.queryParams['userId'] && state.selectedAccount.id === route.params['accountId'];
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
// Redirect path when validation fails
|
|
93
|
-
(route) => '/dashboard',
|
|
94
|
-
);
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Inputs
|
|
98
|
-
|
|
99
|
-
| Input | Type | Description |
|
|
100
|
-
| ------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------- |
|
|
101
|
-
| `getState` | `() => T` | Function that returns the current application state |
|
|
102
|
-
| `hasRouteParams` | `(route: ActivatedRouteSnapshot) => boolean` | Function that checks if the route params valid (return `true` if valid) |
|
|
103
|
-
| `checkCondition` | `(state: T, route: ActivatedRouteSnapshot) => boolean` | Function that validates state against route (return `true` if valid) |
|
|
104
|
-
| `getNavigationPath` | `(route: ActivatedRouteSnapshot) => string` | Function that returns the redirect path when validation fails |
|
|
105
|
-
|
|
106
|
-
Example usage of inputs:
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
export const userContextGuard = hasUrlStateMatchGuard(
|
|
110
|
-
() => userService.getCurrentUser(),
|
|
111
|
-
(route) => !!route.queryParams['userId'], // Returns true if URL contains required userId
|
|
112
|
-
(state, route) => state?.id === route.queryParams['userId'],
|
|
113
|
-
() => '/login',
|
|
114
|
-
);
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## Outputs
|
|
118
|
-
|
|
119
|
-
| Output | Type | Description |
|
|
120
|
-
| --------------- | -------------------- | ----------------------------------------------------------------- |
|
|
121
|
-
| `CanActivateFn` | `boolean \| UrlTree` | Returns `true` if access is allowed, or `UrlTree` for redirection |
|
|
122
|
-
|
|
123
|
-
Example of using the output in routes:
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
const routes: Routes = [
|
|
127
|
-
{
|
|
128
|
-
path: 'account/:accountNumber/summary',
|
|
129
|
-
component: AccountSummaryComponent,
|
|
130
|
-
canActivate: [accountValidationGuard],
|
|
131
|
-
},
|
|
132
|
-
];
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Methods
|
|
136
|
-
|
|
137
|
-
There are no custom methods for this guard. It returns a `CanActivateFn` that follows Angular's route guard pattern.
|
|
138
|
-
|
|
139
|
-
### Error Handling
|
|
140
|
-
|
|
141
|
-
The guard does not catch errors thrown by the provided functions. If any of the callback functions (`getState`, `isCanonicalUrl`, `checkCondition`, or `getNavigationPath`) throw an error, it will bubble up and should be handled by your application's error handling mechanisms.
|
|
142
|
-
|
|
143
|
-
### Query Parameters and Fragments
|
|
144
|
-
|
|
145
|
-
When redirecting, the guard:
|
|
146
|
-
|
|
147
|
-
- Preserves existing query parameters (only if they exist and are non-empty)
|
|
148
|
-
- Preserves URL fragments
|
|
149
|
-
- Passes both to the redirect URL
|
|
150
|
-
|
|
151
|
-
## Testing
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
yarn test
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## Contributing
|
|
158
|
-
|
|
159
|
-
Feel free to submit issues or pull requests to improve this guard.
|
|
160
|
-
If you encounter any bugs or missing functionality, please raise an issue.
|