@hmcts/opal-frontend-common 0.0.55 → 0.0.56

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.
Files changed (166) hide show
  1. package/components/govuk/govuk-tabs/govuk-tabs-list-item/README.md +15 -5
  2. package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-GXcZeEZc.mjs → hmcts-opal-frontend-common-access-denied.component-Bh_bwG8W.mjs} +4 -4
  3. package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-GXcZeEZc.mjs.map → hmcts-opal-frontend-common-access-denied.component-Bh_bwG8W.mjs.map} +1 -1
  4. package/fesm2022/{hmcts-opal-frontend-common-account-created.component-CnWM00dp.mjs → hmcts-opal-frontend-common-account-created.component-DyJukw2Z.mjs} +4 -4
  5. package/fesm2022/{hmcts-opal-frontend-common-account-created.component-CnWM00dp.mjs.map → hmcts-opal-frontend-common-account-created.component-DyJukw2Z.mjs.map} +1 -1
  6. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +3 -3
  7. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs +3 -3
  8. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs +3 -3
  9. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs +3 -3
  10. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs +3 -3
  11. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +3 -3
  12. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +3 -3
  13. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs +3 -3
  14. package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs +90 -3
  15. package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs.map +1 -1
  16. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs +3 -3
  17. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs +3 -3
  18. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs +3 -3
  19. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs +3 -3
  20. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs +3 -3
  21. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs +3 -3
  22. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs +3 -3
  23. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs +3 -3
  24. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs +3 -3
  25. 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
  26. 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
  27. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs +3 -3
  28. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs +3 -3
  29. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs +3 -3
  30. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs +3 -3
  31. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs +3 -3
  32. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs +105 -16
  33. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs.map +1 -1
  34. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs +3 -3
  35. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs +3 -3
  36. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs +3 -3
  37. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs +23 -13
  38. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs.map +1 -1
  39. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs +14 -4
  40. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs.map +1 -1
  41. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs +3 -3
  42. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs +3 -3
  43. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs +3 -3
  44. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs +6 -6
  45. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs +3 -3
  46. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs +3 -3
  47. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs +3 -3
  48. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs +3 -3
  49. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs +16 -4
  50. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs.map +1 -1
  51. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs +3 -3
  52. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs +3 -3
  53. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs +24 -14
  54. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs.map +1 -1
  55. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs +14 -4
  56. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs.map +1 -1
  57. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs +6 -6
  58. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs +12 -12
  59. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs +12 -12
  60. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs +30 -15
  61. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs.map +1 -1
  62. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs +40 -6
  63. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs.map +1 -1
  64. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs +20 -6
  65. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs.map +1 -1
  66. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs +3 -3
  67. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs +6 -6
  68. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs +17 -4
  69. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs.map +1 -1
  70. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs +10 -4
  71. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs.map +1 -1
  72. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs +15 -4
  73. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs.map +1 -1
  74. package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs +7 -4
  75. package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs.map +1 -1
  76. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs +21 -21
  77. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs +3 -3
  78. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs +3 -3
  79. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs +11 -13
  80. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs.map +1 -1
  81. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs +14 -4
  82. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs.map +1 -1
  83. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs +3 -3
  84. 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
  85. 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 +4 -4
  86. 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 +1 -1
  87. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs +3 -3
  88. 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
  89. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs +3 -3
  90. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs +3 -3
  91. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs +9 -4
  92. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs.map +1 -1
  93. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs +6 -6
  94. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs +3 -3
  95. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs +3 -3
  96. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs +3 -3
  97. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs +6 -6
  98. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs +18 -18
  99. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs +6 -6
  100. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs +3 -3
  101. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs +6 -6
  102. package/fesm2022/{hmcts-opal-frontend-common-concurrency-failure.component-CMrT3Rgc.mjs → hmcts-opal-frontend-common-concurrency-failure.component-DlRSu1M1.mjs} +4 -4
  103. package/fesm2022/{hmcts-opal-frontend-common-concurrency-failure.component-CMrT3Rgc.mjs.map → hmcts-opal-frontend-common-concurrency-failure.component-DlRSu1M1.mjs.map} +1 -1
  104. package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs +3 -3
  105. package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs +3 -3
  106. package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-2YW-gEtF.mjs → hmcts-opal-frontend-common-internal-server-error.component-CUrAQABP.mjs} +4 -4
  107. package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-2YW-gEtF.mjs.map → hmcts-opal-frontend-common-internal-server-error.component-CUrAQABP.mjs.map} +1 -1
  108. package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-GXcZeEZc.mjs → hmcts-opal-frontend-common-pages-access-denied.component-Bh_bwG8W.mjs} +4 -4
  109. package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-GXcZeEZc.mjs.map → hmcts-opal-frontend-common-pages-access-denied.component-Bh_bwG8W.mjs.map} +1 -1
  110. package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-CnWM00dp.mjs → hmcts-opal-frontend-common-pages-account-created.component-DyJukw2Z.mjs} +4 -4
  111. package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-CnWM00dp.mjs.map → hmcts-opal-frontend-common-pages-account-created.component-DyJukw2Z.mjs.map} +1 -1
  112. package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-CMrT3Rgc.mjs → hmcts-opal-frontend-common-pages-concurrency-failure.component-DlRSu1M1.mjs} +4 -4
  113. package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-CMrT3Rgc.mjs.map → hmcts-opal-frontend-common-pages-concurrency-failure.component-DlRSu1M1.mjs.map} +1 -1
  114. package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-2YW-gEtF.mjs → hmcts-opal-frontend-common-pages-internal-server-error.component-CUrAQABP.mjs} +4 -4
  115. package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-2YW-gEtF.mjs.map → hmcts-opal-frontend-common-pages-internal-server-error.component-CUrAQABP.mjs.map} +1 -1
  116. package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-DkLF7y3R.mjs → hmcts-opal-frontend-common-pages-permission-denied.component-D2ftUh_2.mjs} +4 -4
  117. package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-DkLF7y3R.mjs.map → hmcts-opal-frontend-common-pages-permission-denied.component-D2ftUh_2.mjs.map} +1 -1
  118. package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-vKSMYfXq.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-poQu8P9k.mjs} +4 -4
  119. package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-vKSMYfXq.mjs.map → hmcts-opal-frontend-common-pages-sign-in-stub.component-poQu8P9k.mjs.map} +1 -1
  120. package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-DVDmyTKi.mjs → hmcts-opal-frontend-common-pages-sign-in.component-EQuYEb0P.mjs} +4 -4
  121. package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-DVDmyTKi.mjs.map → hmcts-opal-frontend-common-pages-sign-in.component-EQuYEb0P.mjs.map} +1 -1
  122. package/fesm2022/hmcts-opal-frontend-common-pages.mjs +6 -6
  123. package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-DkLF7y3R.mjs → hmcts-opal-frontend-common-permission-denied.component-D2ftUh_2.mjs} +4 -4
  124. package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-DkLF7y3R.mjs.map → hmcts-opal-frontend-common-permission-denied.component-D2ftUh_2.mjs.map} +1 -1
  125. package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs +3 -3
  126. package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs +3 -3
  127. package/fesm2022/hmcts-opal-frontend-common-pipes-monetary.mjs +3 -3
  128. package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs +3 -3
  129. package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs +3 -3
  130. package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs +3 -3
  131. package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs +3 -3
  132. package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs +3 -3
  133. package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs +3 -3
  134. package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs +3 -3
  135. package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs +3 -3
  136. package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs +3 -3
  137. package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs +3 -3
  138. package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs +3 -3
  139. package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs +3 -3
  140. package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs +3 -3
  141. package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs +3 -3
  142. package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-vKSMYfXq.mjs → hmcts-opal-frontend-common-sign-in-stub.component-poQu8P9k.mjs} +4 -4
  143. package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-vKSMYfXq.mjs.map → hmcts-opal-frontend-common-sign-in-stub.component-poQu8P9k.mjs.map} +1 -1
  144. package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-D9_GhRtz.mjs → hmcts-opal-frontend-common-sign-in.component-D5yCVKi6.mjs} +4 -4
  145. package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-D9_GhRtz.mjs.map → hmcts-opal-frontend-common-sign-in.component-D5yCVKi6.mjs.map} +1 -1
  146. package/fesm2022/hmcts-opal-frontend-common-validators-amount.mjs +1 -1
  147. package/fesm2022/hmcts-opal-frontend-common-validators-amount.mjs.map +1 -1
  148. package/fesm2022/hmcts-opal-frontend-common.mjs +6 -6
  149. package/package.json +1 -1
  150. package/types/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.d.ts +25 -2
  151. package/types/hmcts-opal-frontend-common-components-govuk-govuk-accordion.d.ts +57 -8
  152. package/types/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.d.ts +1 -0
  153. package/types/hmcts-opal-frontend-common-components-govuk-govuk-date-input.d.ts +1 -0
  154. package/types/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.d.ts +7 -1
  155. package/types/hmcts-opal-frontend-common-components-govuk-govuk-radio.d.ts +1 -0
  156. package/types/hmcts-opal-frontend-common-components-govuk-govuk-select.d.ts +1 -0
  157. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.d.ts +15 -3
  158. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.d.ts +10 -1
  159. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tabs.d.ts +9 -1
  160. package/types/hmcts-opal-frontend-common-components-govuk-govuk-text-area.d.ts +1 -0
  161. package/types/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.d.ts +1 -0
  162. package/types/hmcts-opal-frontend-common-components-govuk-govuk-text-input.d.ts +1 -0
  163. package/types/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.d.ts +2 -1
  164. package/types/hmcts-opal-frontend-common-components-moj-moj-button-menu.d.ts +2 -3
  165. package/types/hmcts-opal-frontend-common-components-moj-moj-date-picker.d.ts +1 -0
  166. package/types/hmcts-opal-frontend-common-components-moj-moj-filter.d.ts +2 -1
@@ -5,10 +5,10 @@ class GovukTaskListItemComponent {
5
5
  taskListItemId;
6
6
  taskListStatusId;
7
7
  taskListItemClasses;
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTaskListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: GovukTaskListItemComponent, isStandalone: true, selector: "opal-lib-govuk-task-list-item", inputs: { taskListItemId: "taskListItemId", taskListStatusId: "taskListStatusId", taskListItemClasses: "taskListItemClasses" }, ngImport: i0, template: "<li class=\"govuk-task-list__item {{ taskListItemClasses }}\" [id]=\"taskListItemId\" role=\"listitem\">\n <div class=\"govuk-task-list__name-and-hint\">\n <ng-content select=\"[name]\"></ng-content>\n </div>\n <div class=\"govuk-task-list__status\" [id]=\"taskListStatusId\">\n <ng-content select=\"[status]\"></ng-content>\n </div>\n</li>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTaskListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: GovukTaskListItemComponent, isStandalone: true, selector: "opal-lib-govuk-task-list-item", inputs: { taskListItemId: "taskListItemId", taskListStatusId: "taskListStatusId", taskListItemClasses: "taskListItemClasses" }, ngImport: i0, template: "<li class=\"govuk-task-list__item {{ taskListItemClasses }}\" [id]=\"taskListItemId\" role=\"listitem\">\n <div class=\"govuk-task-list__name-and-hint\">\n <ng-content select=\"[name]\"></ng-content>\n </div>\n <div class=\"govuk-task-list__status\" [id]=\"taskListStatusId\">\n <ng-content select=\"[status]\"></ng-content>\n </div>\n</li>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTaskListItemComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTaskListItemComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'opal-lib-govuk-task-list-item', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<li class=\"govuk-task-list__item {{ taskListItemClasses }}\" [id]=\"taskListItemId\" role=\"listitem\">\n <div class=\"govuk-task-list__name-and-hint\">\n <ng-content select=\"[name]\"></ng-content>\n </div>\n <div class=\"govuk-task-list__status\" [id]=\"taskListStatusId\">\n <ng-content select=\"[status]\"></ng-content>\n </div>\n</li>\n" }]
14
14
  }], propDecorators: { taskListItemId: [{
@@ -25,10 +25,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
25
25
  class GovukTaskListComponent {
26
26
  taskListId;
27
27
  taskListClasses;
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTaskListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: GovukTaskListComponent, isStandalone: true, selector: "opal-lib-govuk-task-list", inputs: { taskListId: "taskListId", taskListClasses: "taskListClasses" }, ngImport: i0, template: "<ul class=\"govuk-task-list {{ taskListClasses }}\" [id]=\"taskListId\" role=\"list\">\n <ng-content></ng-content>\n</ul>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTaskListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: GovukTaskListComponent, isStandalone: true, selector: "opal-lib-govuk-task-list", inputs: { taskListId: "taskListId", taskListClasses: "taskListClasses" }, ngImport: i0, template: "<ul class=\"govuk-task-list {{ taskListClasses }}\" [id]=\"taskListId\" role=\"list\">\n <ng-content></ng-content>\n</ul>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTaskListComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTaskListComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'opal-lib-govuk-task-list', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul class=\"govuk-task-list {{ taskListClasses }}\" [id]=\"taskListId\" role=\"list\">\n <ng-content></ng-content>\n</ul>\n" }]
34
34
  }], propDecorators: { taskListId: [{
@@ -33,12 +33,25 @@ class GovukTextAreaComponent {
33
33
  get getControl() {
34
34
  return this._control;
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: GovukTextAreaComponent, isStandalone: true, selector: "opal-lib-govuk-text-area", inputs: { labelText: "labelText", labelClasses: "labelClasses", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", hintText: "hintText", inputMode: "inputMode", errors: "errors", rows: "rows", characterCountEnabled: "characterCountEnabled", maxCharacterLimit: "maxCharacterLimit", control: "control" }, ngImport: i0, template: "<div class=\"govuk-form-group govuk-character-count\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n {{ hintText }}\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <textarea\n class=\"govuk-textarea {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [rows]=\"rows\"\n [formControl]=\"getControl\"\n [inputMode]=\"inputMode\"\n [maxlength]=\"maxCharacterLimit\"\n [attr.aria-describedby]=\"\n hintText ? (characterCountEnabled ? inputId + '-hint ' + inputId + '-with-hint-info' : inputId + '-hint') : null\n \"\n ></textarea>\n @if (characterCountEnabled) {\n <div [id]=\"inputId + '-with-hint-info'\" class=\"govuk-hint govuk-character-count__message govuk-visually-hidden\">\n You can enter up to {{ maxCharacterLimit }} characters\n </div>\n <div class=\"govuk-hint govuk-character-count__message govuk-character-count__status\" aria-hidden=\"true\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n <div class=\"govuk-character-count__sr-status govuk-visually-hidden\" aria-live=\"polite\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
36
+ get describedBy() {
37
+ const ids = [];
38
+ if (this.hintText) {
39
+ ids.push(`${this.inputId}-hint`);
40
+ }
41
+ if (this.errors) {
42
+ ids.push(`${this.inputId}-error-message`);
43
+ }
44
+ if (this.characterCountEnabled) {
45
+ ids.push(`${this.inputId}-with-hint-info`);
46
+ }
47
+ return ids.length ? ids.join(' ') : null;
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: GovukTextAreaComponent, isStandalone: true, selector: "opal-lib-govuk-text-area", inputs: { labelText: "labelText", labelClasses: "labelClasses", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", hintText: "hintText", inputMode: "inputMode", errors: "errors", rows: "rows", characterCountEnabled: "characterCountEnabled", maxCharacterLimit: "maxCharacterLimit", control: "control" }, ngImport: i0, template: "<div class=\"govuk-form-group govuk-character-count\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n {{ hintText }}\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <textarea\n class=\"govuk-textarea {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [rows]=\"rows\"\n [formControl]=\"getControl\"\n [inputMode]=\"inputMode\"\n [maxlength]=\"maxCharacterLimit\"\n [attr.aria-describedby]=\"describedBy\"\n ></textarea>\n @if (characterCountEnabled) {\n <div [id]=\"inputId + '-with-hint-info'\" class=\"govuk-hint govuk-character-count__message govuk-visually-hidden\">\n You can enter up to {{ maxCharacterLimit }} characters\n </div>\n <div class=\"govuk-hint govuk-character-count__message govuk-character-count__status\" aria-hidden=\"true\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n <div class=\"govuk-character-count__sr-status govuk-visually-hidden\" aria-live=\"polite\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
38
51
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTextAreaComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTextAreaComponent, decorators: [{
40
53
  type: Component,
41
- args: [{ selector: 'opal-lib-govuk-text-area', imports: [CommonModule, ReactiveFormsModule], template: "<div class=\"govuk-form-group govuk-character-count\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n {{ hintText }}\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <textarea\n class=\"govuk-textarea {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [rows]=\"rows\"\n [formControl]=\"getControl\"\n [inputMode]=\"inputMode\"\n [maxlength]=\"maxCharacterLimit\"\n [attr.aria-describedby]=\"\n hintText ? (characterCountEnabled ? inputId + '-hint ' + inputId + '-with-hint-info' : inputId + '-hint') : null\n \"\n ></textarea>\n @if (characterCountEnabled) {\n <div [id]=\"inputId + '-with-hint-info'\" class=\"govuk-hint govuk-character-count__message govuk-visually-hidden\">\n You can enter up to {{ maxCharacterLimit }} characters\n </div>\n <div class=\"govuk-hint govuk-character-count__message govuk-character-count__status\" aria-hidden=\"true\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n <div class=\"govuk-character-count__sr-status govuk-visually-hidden\" aria-live=\"polite\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n }\n</div>\n" }]
54
+ args: [{ selector: 'opal-lib-govuk-text-area', imports: [CommonModule, ReactiveFormsModule], template: "<div class=\"govuk-form-group govuk-character-count\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n {{ hintText }}\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <textarea\n class=\"govuk-textarea {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [rows]=\"rows\"\n [formControl]=\"getControl\"\n [inputMode]=\"inputMode\"\n [maxlength]=\"maxCharacterLimit\"\n [attr.aria-describedby]=\"describedBy\"\n ></textarea>\n @if (characterCountEnabled) {\n <div [id]=\"inputId + '-with-hint-info'\" class=\"govuk-hint govuk-character-count__message govuk-visually-hidden\">\n You can enter up to {{ maxCharacterLimit }} characters\n </div>\n <div class=\"govuk-hint govuk-character-count__message govuk-character-count__status\" aria-hidden=\"true\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n <div class=\"govuk-character-count__sr-status govuk-visually-hidden\" aria-live=\"polite\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n }\n</div>\n" }]
42
55
  }], propDecorators: { labelText: [{
43
56
  type: Input,
44
57
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs","sources":["../../../projects/opal-frontend-common/components/govuk/govuk-text-area/govuk-text-area.component.ts","../../../projects/opal-frontend-common/components/govuk/govuk-text-area/govuk-text-area.component.html","../../../projects/opal-frontend-common/components/govuk/govuk-text-area/hmcts-opal-frontend-common-components-govuk-govuk-text-area.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, computed, DestroyRef, inject, Input, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, FormControl, ReactiveFormsModule } from '@angular/forms';\n@Component({\n selector: 'opal-lib-govuk-text-area',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './govuk-text-area.component.html',\n styles: ``,\n})\nexport class GovukTextAreaComponent {\n private readonly destroyRef = inject(DestroyRef);\n private _control!: FormControl;\n private readonly _controlValue = signal<string>('');\n\n protected readonly remainingCharacterCount = computed(() => {\n return this.maxCharacterLimit - this._controlValue().length;\n });\n\n @Input({ required: true }) labelText!: string;\n @Input({ required: false }) labelClasses!: string;\n @Input({ required: true }) inputId!: string;\n @Input({ required: true }) inputName!: string;\n @Input({ required: false }) inputClasses!: string;\n @Input({ required: false }) hintText!: string;\n @Input({ required: false }) inputMode: string = 'text';\n @Input({ required: false }) errors: string | null = null;\n @Input({ required: false }) rows: number = 5;\n @Input({ required: false }) characterCountEnabled: boolean = false;\n @Input({ required: false }) maxCharacterLimit: number = 500;\n @Input({ required: true }) set control(abstractControl: AbstractControl | null) {\n this._control = abstractControl as FormControl;\n\n this._controlValue.set(this._control.value ?? '');\n\n this._control.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value) => {\n this._controlValue.set(value ?? '');\n });\n }\n get getControl() {\n return this._control;\n }\n}\n","<div class=\"govuk-form-group govuk-character-count\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n {{ hintText }}\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <textarea\n class=\"govuk-textarea {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [rows]=\"rows\"\n [formControl]=\"getControl\"\n [inputMode]=\"inputMode\"\n [maxlength]=\"maxCharacterLimit\"\n [attr.aria-describedby]=\"\n hintText ? (characterCountEnabled ? inputId + '-hint ' + inputId + '-with-hint-info' : inputId + '-hint') : null\n \"\n ></textarea>\n @if (characterCountEnabled) {\n <div [id]=\"inputId + '-with-hint-info'\" class=\"govuk-hint govuk-character-count__message govuk-visually-hidden\">\n You can enter up to {{ maxCharacterLimit }} characters\n </div>\n <div class=\"govuk-hint govuk-character-count__message govuk-character-count__status\" aria-hidden=\"true\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n <div class=\"govuk-character-count__sr-status govuk-visually-hidden\" aria-live=\"polite\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs","sources":["../../../projects/opal-frontend-common/components/govuk/govuk-text-area/govuk-text-area.component.ts","../../../projects/opal-frontend-common/components/govuk/govuk-text-area/govuk-text-area.component.html","../../../projects/opal-frontend-common/components/govuk/govuk-text-area/hmcts-opal-frontend-common-components-govuk-govuk-text-area.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, computed, DestroyRef, inject, Input, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, FormControl, ReactiveFormsModule } from '@angular/forms';\n@Component({\n selector: 'opal-lib-govuk-text-area',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './govuk-text-area.component.html',\n styles: ``,\n})\nexport class GovukTextAreaComponent {\n private readonly destroyRef = inject(DestroyRef);\n private _control!: FormControl;\n private readonly _controlValue = signal<string>('');\n\n protected readonly remainingCharacterCount = computed(() => {\n return this.maxCharacterLimit - this._controlValue().length;\n });\n\n @Input({ required: true }) labelText!: string;\n @Input({ required: false }) labelClasses!: string;\n @Input({ required: true }) inputId!: string;\n @Input({ required: true }) inputName!: string;\n @Input({ required: false }) inputClasses!: string;\n @Input({ required: false }) hintText!: string;\n @Input({ required: false }) inputMode: string = 'text';\n @Input({ required: false }) errors: string | null = null;\n @Input({ required: false }) rows: number = 5;\n @Input({ required: false }) characterCountEnabled: boolean = false;\n @Input({ required: false }) maxCharacterLimit: number = 500;\n @Input({ required: true }) set control(abstractControl: AbstractControl | null) {\n this._control = abstractControl as FormControl;\n\n this._controlValue.set(this._control.value ?? '');\n\n this._control.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value) => {\n this._controlValue.set(value ?? '');\n });\n }\n get getControl() {\n return this._control;\n }\n\n get describedBy(): string | null {\n const ids: string[] = [];\n\n if (this.hintText) {\n ids.push(`${this.inputId}-hint`);\n }\n\n if (this.errors) {\n ids.push(`${this.inputId}-error-message`);\n }\n\n if (this.characterCountEnabled) {\n ids.push(`${this.inputId}-with-hint-info`);\n }\n\n return ids.length ? ids.join(' ') : null;\n }\n}\n","<div class=\"govuk-form-group govuk-character-count\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n {{ hintText }}\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <textarea\n class=\"govuk-textarea {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [rows]=\"rows\"\n [formControl]=\"getControl\"\n [inputMode]=\"inputMode\"\n [maxlength]=\"maxCharacterLimit\"\n [attr.aria-describedby]=\"describedBy\"\n ></textarea>\n @if (characterCountEnabled) {\n <div [id]=\"inputId + '-with-hint-info'\" class=\"govuk-hint govuk-character-count__message govuk-visually-hidden\">\n You can enter up to {{ maxCharacterLimit }} characters\n </div>\n <div class=\"govuk-hint govuk-character-count__message govuk-character-count__status\" aria-hidden=\"true\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n <div class=\"govuk-character-count__sr-status govuk-visually-hidden\" aria-live=\"polite\">\n You have {{ remainingCharacterCount() }} character{{ remainingCharacterCount() === 1 ? '' : 's' }} remaining\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -37,12 +37,18 @@ class GovukTextInputPrefixSuffixComponent {
37
37
  get getControl() {
38
38
  return this._control;
39
39
  }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTextInputPrefixSuffixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: GovukTextInputPrefixSuffixComponent, isStandalone: true, selector: "opal-lib-govuk-text-input-prefix-suffix", inputs: { labelText: "labelText", labelClasses: "labelClasses", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", errors: "errors", prefixText: "prefixText", suffixText: "suffixText", forceTwoDecimalPoints: "forceTwoDecimalPoints", control: "control" }, ngImport: i0, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n <div class=\"govuk-input__wrapper\">\n @if (prefixText) {\n <div class=\"govuk-input__prefix\" aria-hidden=\"true\">{{ prefixText }}</div>\n }\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n (blur)=\"forceTwoDecimalPoints && onBlurFormatToTwoDecimalPlaces()\"\n />\n @if (suffixText) {\n <div class=\"govuk-input__suffix\" aria-hidden=\"true\">{{ suffixText }}</div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ get describedBy() {
41
+ if (this.errors) {
42
+ return `${this.inputId}-error-message`;
43
+ }
44
+ return null;
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTextInputPrefixSuffixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: GovukTextInputPrefixSuffixComponent, isStandalone: true, selector: "opal-lib-govuk-text-input-prefix-suffix", inputs: { labelText: "labelText", labelClasses: "labelClasses", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", errors: "errors", prefixText: "prefixText", suffixText: "suffixText", forceTwoDecimalPoints: "forceTwoDecimalPoints", control: "control" }, ngImport: i0, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n <div class=\"govuk-input__wrapper\">\n @if (prefixText) {\n <div class=\"govuk-input__prefix\" aria-hidden=\"true\">{{ prefixText }}</div>\n }\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"describedBy\"\n (blur)=\"forceTwoDecimalPoints && onBlurFormatToTwoDecimalPlaces()\"\n />\n @if (suffixText) {\n <div class=\"govuk-input__suffix\" aria-hidden=\"true\">{{ suffixText }}</div>\n }\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
48
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTextInputPrefixSuffixComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTextInputPrefixSuffixComponent, decorators: [{
44
50
  type: Component,
45
- args: [{ selector: 'opal-lib-govuk-text-input-prefix-suffix', imports: [CommonModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n <div class=\"govuk-input__wrapper\">\n @if (prefixText) {\n <div class=\"govuk-input__prefix\" aria-hidden=\"true\">{{ prefixText }}</div>\n }\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n (blur)=\"forceTwoDecimalPoints && onBlurFormatToTwoDecimalPlaces()\"\n />\n @if (suffixText) {\n <div class=\"govuk-input__suffix\" aria-hidden=\"true\">{{ suffixText }}</div>\n }\n </div>\n</div>\n" }]
51
+ args: [{ selector: 'opal-lib-govuk-text-input-prefix-suffix', imports: [CommonModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n <div class=\"govuk-input__wrapper\">\n @if (prefixText) {\n <div class=\"govuk-input__prefix\" aria-hidden=\"true\">{{ prefixText }}</div>\n }\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"describedBy\"\n (blur)=\"forceTwoDecimalPoints && onBlurFormatToTwoDecimalPlaces()\"\n />\n @if (suffixText) {\n <div class=\"govuk-input__suffix\" aria-hidden=\"true\">{{ suffixText }}</div>\n }\n </div>\n</div>\n" }]
46
52
  }], propDecorators: { labelText: [{
47
53
  type: Input,
48
54
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs","sources":["../../../projects/opal-frontend-common/components/govuk/govuk-text-input-prefix-suffix/govuk-text-input-prefix-suffix.component.ts","../../../projects/opal-frontend-common/components/govuk/govuk-text-input-prefix-suffix/govuk-text-input-prefix-suffix.component.html","../../../projects/opal-frontend-common/components/govuk/govuk-text-input-prefix-suffix/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormControl, AbstractControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'opal-lib-govuk-text-input-prefix-suffix',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './govuk-text-input-prefix-suffix.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GovukTextInputPrefixSuffixComponent {\n private _control!: FormControl;\n\n @Input({ required: true }) labelText!: string;\n @Input({ required: false }) labelClasses!: string;\n @Input({ required: true }) inputId!: string;\n @Input({ required: true }) inputName!: string;\n @Input({ required: false }) inputClasses!: string;\n @Input({ required: false }) errors: string | null = null;\n\n @Input({ required: false }) prefixText!: string;\n @Input({ required: false }) suffixText!: string;\n\n @Input({ required: false }) forceTwoDecimalPoints!: boolean;\n\n @Input({ required: true }) set control(abstractControl: AbstractControl | null) {\n // Form controls are passed in as abstract controls, we need to re-cast it.\n this._control = abstractControl as FormControl;\n }\n\n /**\n * Formats the value of the control to two decimal places when the control loses focus.\n */\n public onBlurFormatToTwoDecimalPlaces() {\n let value = this._control.value;\n\n if (value && !Number.isNaN(Number.parseFloat(value))) {\n const parts = value.split('.');\n\n // Check if the value has a decimal point and exactly one digit after it\n if (parts.length === 2 && parts[1].length === 1) {\n // Convert the value to two decimal places\n value = Number.parseFloat(value).toFixed(2);\n this._control.setValue(value, { emitEvent: false });\n }\n }\n }\n\n get getControl() {\n return this._control;\n }\n}\n","<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n <div class=\"govuk-input__wrapper\">\n @if (prefixText) {\n <div class=\"govuk-input__prefix\" aria-hidden=\"true\">{{ prefixText }}</div>\n }\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n (blur)=\"forceTwoDecimalPoints && onBlurFormatToTwoDecimalPlaces()\"\n />\n @if (suffixText) {\n <div class=\"govuk-input__suffix\" aria-hidden=\"true\">{{ suffixText }}</div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs","sources":["../../../projects/opal-frontend-common/components/govuk/govuk-text-input-prefix-suffix/govuk-text-input-prefix-suffix.component.ts","../../../projects/opal-frontend-common/components/govuk/govuk-text-input-prefix-suffix/govuk-text-input-prefix-suffix.component.html","../../../projects/opal-frontend-common/components/govuk/govuk-text-input-prefix-suffix/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormControl, AbstractControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'opal-lib-govuk-text-input-prefix-suffix',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './govuk-text-input-prefix-suffix.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GovukTextInputPrefixSuffixComponent {\n private _control!: FormControl;\n\n @Input({ required: true }) labelText!: string;\n @Input({ required: false }) labelClasses!: string;\n @Input({ required: true }) inputId!: string;\n @Input({ required: true }) inputName!: string;\n @Input({ required: false }) inputClasses!: string;\n @Input({ required: false }) errors: string | null = null;\n\n @Input({ required: false }) prefixText!: string;\n @Input({ required: false }) suffixText!: string;\n\n @Input({ required: false }) forceTwoDecimalPoints!: boolean;\n\n @Input({ required: true }) set control(abstractControl: AbstractControl | null) {\n // Form controls are passed in as abstract controls, we need to re-cast it.\n this._control = abstractControl as FormControl;\n }\n\n /**\n * Formats the value of the control to two decimal places when the control loses focus.\n */\n public onBlurFormatToTwoDecimalPlaces() {\n let value = this._control.value;\n\n if (value && !Number.isNaN(Number.parseFloat(value))) {\n const parts = value.split('.');\n\n // Check if the value has a decimal point and exactly one digit after it\n if (parts.length === 2 && parts[1].length === 1) {\n // Convert the value to two decimal places\n value = Number.parseFloat(value).toFixed(2);\n this._control.setValue(value, { emitEvent: false });\n }\n }\n }\n\n get getControl() {\n return this._control;\n }\n\n get describedBy(): string | null {\n if (this.errors) {\n return `${this.inputId}-error-message`;\n }\n\n return null;\n }\n}\n","<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n <div class=\"govuk-input__wrapper\">\n @if (prefixText) {\n <div class=\"govuk-input__prefix\" aria-hidden=\"true\">{{ prefixText }}</div>\n }\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"describedBy\"\n (blur)=\"forceTwoDecimalPoints && onBlurFormatToTwoDecimalPlaces()\"\n />\n @if (suffixText) {\n <div class=\"govuk-input__suffix\" aria-hidden=\"true\">{{ suffixText }}</div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAUa,mCAAmC,CAAA;AACtC,IAAA,QAAQ;AAEW,IAAA,SAAS;AACR,IAAA,YAAY;AACb,IAAA,OAAO;AACP,IAAA,SAAS;AACR,IAAA,YAAY;IACZ,MAAM,GAAkB,IAAI;AAE5B,IAAA,UAAU;AACV,IAAA,UAAU;AAEV,IAAA,qBAAqB;IAEjD,IAA+B,OAAO,CAAC,eAAuC,EAAA;;AAE5E,QAAA,IAAI,CAAC,QAAQ,GAAG,eAA8B;IAChD;AAEA;;AAEG;IACI,8BAA8B,GAAA;AACnC,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK;AAE/B,QAAA,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;AAG9B,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;;AAE/C,gBAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACrD;QACF;IACF;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,CAAA,EAAG,IAAI,CAAC,OAAO,gBAAgB;QACxC;AAEA,QAAA,OAAO,IAAI;IACb;wGAhDW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVhD,y7BAyBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBY,YAAY,8BAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAIhC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAN/C,SAAS;+BACE,yCAAyC,EAAA,OAAA,EAC1C,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAE3B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,y7BAAA,EAAA;;sBAK9C,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBAEzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBAEzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBAEzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;;AEzB3B;;AAEG;;;;"}
@@ -21,12 +21,23 @@ class GovukTextInputComponent {
21
21
  get getControl() {
22
22
  return this._control;
23
23
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: GovukTextInputComponent, isStandalone: true, selector: "opal-lib-govuk-text-input", inputs: { labelText: "labelText", labelClasses: "labelClasses", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", hintText: "hintText", hintHtml: "hintHtml", errors: "errors", control: "control" }, ngImport: i0, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText || hintHtml) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n @if (hintHtml) {\n <ng-content></ng-content>\n } @else {\n {{ hintText }}\n }\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"hintText ? inputId + '-hint' : null\"\n />\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ get describedBy() {
25
+ const ids = [];
26
+ const hasHint = !!this.hintText || !!this.hintHtml;
27
+ if (hasHint) {
28
+ ids.push(`${this.inputId}-hint`);
29
+ }
30
+ if (this.errors) {
31
+ ids.push(`${this.inputId}-error-message`);
32
+ }
33
+ return ids.length ? ids.join(' ') : null;
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: GovukTextInputComponent, isStandalone: true, selector: "opal-lib-govuk-text-input", inputs: { labelText: "labelText", labelClasses: "labelClasses", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", hintText: "hintText", hintHtml: "hintHtml", errors: "errors", control: "control" }, ngImport: i0, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText || hintHtml) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n @if (hintHtml) {\n <ng-content></ng-content>\n } @else {\n {{ hintText }}\n }\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"describedBy\"\n />\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
37
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: GovukTextInputComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: GovukTextInputComponent, decorators: [{
28
39
  type: Component,
29
- args: [{ selector: 'opal-lib-govuk-text-input', imports: [CommonModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText || hintHtml) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n @if (hintHtml) {\n <ng-content></ng-content>\n } @else {\n {{ hintText }}\n }\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"hintText ? inputId + '-hint' : null\"\n />\n</div>\n" }]
40
+ args: [{ selector: 'opal-lib-govuk-text-input', imports: [CommonModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText || hintHtml) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n @if (hintHtml) {\n <ng-content></ng-content>\n } @else {\n {{ hintText }}\n }\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"describedBy\"\n />\n</div>\n" }]
30
41
  }], propDecorators: { labelText: [{
31
42
  type: Input,
32
43
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs","sources":["../../../projects/opal-frontend-common/components/govuk/govuk-text-input/govuk-text-input.component.ts","../../../projects/opal-frontend-common/components/govuk/govuk-text-input/govuk-text-input.component.html","../../../projects/opal-frontend-common/components/govuk/govuk-text-input/hmcts-opal-frontend-common-components-govuk-govuk-text-input.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'opal-lib-govuk-text-input',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './govuk-text-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GovukTextInputComponent {\n private _control!: FormControl;\n\n @Input({ required: true }) labelText!: string;\n @Input({ required: false }) labelClasses!: string;\n @Input({ required: true }) inputId!: string;\n @Input({ required: true }) inputName!: string;\n @Input({ required: false }) inputClasses!: string;\n @Input({ required: false }) hintText!: string;\n @Input({ required: false }) hintHtml!: boolean;\n @Input({ required: false }) errors: string | null = null;\n @Input({ required: true }) set control(abstractControl: AbstractControl | null) {\n // Form controls are passed in as abstract controls, we need to re-cast it.\n this._control = abstractControl as FormControl;\n }\n\n get getControl() {\n return this._control;\n }\n}\n","<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText || hintHtml) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n @if (hintHtml) {\n <ng-content></ng-content>\n } @else {\n {{ hintText }}\n }\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"hintText ? inputId + '-hint' : null\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAUa,uBAAuB,CAAA;AAC1B,IAAA,QAAQ;AAEW,IAAA,SAAS;AACR,IAAA,YAAY;AACb,IAAA,OAAO;AACP,IAAA,SAAS;AACR,IAAA,YAAY;AACZ,IAAA,QAAQ;AACR,IAAA,QAAQ;IACR,MAAM,GAAkB,IAAI;IACxD,IAA+B,OAAO,CAAC,eAAuC,EAAA;;AAE5E,QAAA,IAAI,CAAC,QAAQ,GAAG,eAA8B;IAChD;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,QAAQ;IACtB;wGAlBW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVpC,o3BA+BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzBY,YAAY,8BAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAIhC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,2BAA2B,EAAA,OAAA,EAC5B,CAAC,YAAY,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAE3B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,o3BAAA,EAAA;;sBAK9C,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBACzB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;;AErB3B;;AAEG;;;;"}
1
+ {"version":3,"file":"hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs","sources":["../../../projects/opal-frontend-common/components/govuk/govuk-text-input/govuk-text-input.component.ts","../../../projects/opal-frontend-common/components/govuk/govuk-text-input/govuk-text-input.component.html","../../../projects/opal-frontend-common/components/govuk/govuk-text-input/hmcts-opal-frontend-common-components-govuk-govuk-text-input.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AbstractControl, FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'opal-lib-govuk-text-input',\n imports: [CommonModule, ReactiveFormsModule],\n templateUrl: './govuk-text-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GovukTextInputComponent {\n private _control!: FormControl;\n\n @Input({ required: true }) labelText!: string;\n @Input({ required: false }) labelClasses!: string;\n @Input({ required: true }) inputId!: string;\n @Input({ required: true }) inputName!: string;\n @Input({ required: false }) inputClasses!: string;\n @Input({ required: false }) hintText!: string;\n @Input({ required: false }) hintHtml!: boolean;\n @Input({ required: false }) errors: string | null = null;\n @Input({ required: true }) set control(abstractControl: AbstractControl | null) {\n // Form controls are passed in as abstract controls, we need to re-cast it.\n this._control = abstractControl as FormControl;\n }\n\n get getControl() {\n return this._control;\n }\n\n get describedBy(): string | null {\n const ids: string[] = [];\n const hasHint = !!this.hintText || !!this.hintHtml;\n\n if (hasHint) {\n ids.push(`${this.inputId}-hint`);\n }\n\n if (this.errors) {\n ids.push(`${this.inputId}-error-message`);\n }\n\n return ids.length ? ids.join(' ') : null;\n }\n}\n","<div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <div class=\"govuk-label-wrapper\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\">\n {{ labelText }}\n </label>\n </div>\n @if (hintText || hintHtml) {\n <div id=\"{{ inputId }}-hint\" class=\"govuk-hint\">\n @if (hintHtml) {\n <ng-content></ng-content>\n } @else {\n {{ hintText }}\n }\n </div>\n }\n\n @if (errors) {\n <p id=\"{{ this.inputId }}-error-message\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n [formControl]=\"getControl\"\n [attr.aria-describedby]=\"describedBy\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -3,17 +3,20 @@ import { HostBinding, Input, ChangeDetectionStrategy, Component } from '@angular
3
3
 
4
4
  class HodLoadingSpinnerComponent {
5
5
  spinnerId;
6
+ statusText = 'Loading...';
6
7
  hostClasses = 'hods-loading-spinner';
7
8
  role = 'status';
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HodLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: HodLoadingSpinnerComponent, isStandalone: true, selector: "opal-lib-hod-loading-spinner, [opal-lib-hod-loading-spinner]", inputs: { spinnerId: "spinnerId" }, host: { properties: { "class": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0, template: "<div class=\"hods-loading-spinner__spinner\"></div>\n<div class=\"hods-loading-spinner__content\">\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HodLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: HodLoadingSpinnerComponent, isStandalone: true, selector: "opal-lib-hod-loading-spinner, [opal-lib-hod-loading-spinner]", inputs: { spinnerId: "spinnerId", statusText: "statusText" }, host: { properties: { "class": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0, template: "<div class=\"hods-loading-spinner__spinner\"></div>\n<div class=\"hods-loading-spinner__content\">\n @if (statusText) {\n <span class=\"govuk-visually-hidden\">{{ statusText }}</span>\n }\n <ng-content></ng-content>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
11
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HodLoadingSpinnerComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: HodLoadingSpinnerComponent, decorators: [{
12
13
  type: Component,
13
- args: [{ selector: 'opal-lib-hod-loading-spinner, [opal-lib-hod-loading-spinner]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"hods-loading-spinner__spinner\"></div>\n<div class=\"hods-loading-spinner__content\">\n <ng-content></ng-content>\n</div>\n" }]
14
+ args: [{ selector: 'opal-lib-hod-loading-spinner, [opal-lib-hod-loading-spinner]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"hods-loading-spinner__spinner\"></div>\n<div class=\"hods-loading-spinner__content\">\n @if (statusText) {\n <span class=\"govuk-visually-hidden\">{{ statusText }}</span>\n }\n <ng-content></ng-content>\n</div>\n" }]
14
15
  }], propDecorators: { spinnerId: [{
15
16
  type: Input,
16
17
  args: [{ required: true }]
18
+ }], statusText: [{
19
+ type: Input
17
20
  }], hostClasses: [{
18
21
  type: HostBinding,
19
22
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs","sources":["../../../projects/opal-frontend-common/components/hod/hod-loading-spinner/hod-loading-spinner.component.ts","../../../projects/opal-frontend-common/components/hod/hod-loading-spinner/hod-loading-spinner.component.html","../../../projects/opal-frontend-common/components/hod/hod-loading-spinner/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.ts"],"sourcesContent":["import { Component, HostBinding, ChangeDetectionStrategy, Input } from '@angular/core';\n\n@Component({\n selector: 'opal-lib-hod-loading-spinner, [opal-lib-hod-loading-spinner]',\n templateUrl: './hod-loading-spinner.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HodLoadingSpinnerComponent {\n @Input({ required: true }) spinnerId!: string;\n\n @HostBinding('class') hostClasses = 'hods-loading-spinner';\n @HostBinding('attr.role') role = 'status';\n}\n","<div class=\"hods-loading-spinner__spinner\"></div>\n<div class=\"hods-loading-spinner__content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAOa,0BAA0B,CAAA;AACV,IAAA,SAAS;IAEd,WAAW,GAAG,sBAAsB;IAChC,IAAI,GAAG,QAAQ;wGAJ9B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,6OCPvC,2IAIA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDGa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,8DAA8D,EAAA,eAAA,EAEvD,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2IAAA,EAAA;;sBAG9C,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBAExB,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,WAAW;;;AEX1B;;AAEG;;;;"}
1
+ {"version":3,"file":"hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs","sources":["../../../projects/opal-frontend-common/components/hod/hod-loading-spinner/hod-loading-spinner.component.ts","../../../projects/opal-frontend-common/components/hod/hod-loading-spinner/hod-loading-spinner.component.html","../../../projects/opal-frontend-common/components/hod/hod-loading-spinner/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.ts"],"sourcesContent":["import { Component, HostBinding, ChangeDetectionStrategy, Input } from '@angular/core';\n\n@Component({\n selector: 'opal-lib-hod-loading-spinner, [opal-lib-hod-loading-spinner]',\n templateUrl: './hod-loading-spinner.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HodLoadingSpinnerComponent {\n @Input({ required: true }) spinnerId!: string;\n @Input() statusText = 'Loading...';\n\n @HostBinding('class') hostClasses = 'hods-loading-spinner';\n @HostBinding('attr.role') role = 'status';\n}\n","<div class=\"hods-loading-spinner__spinner\"></div>\n<div class=\"hods-loading-spinner__content\">\n @if (statusText) {\n <span class=\"govuk-visually-hidden\">{{ statusText }}</span>\n }\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAOa,0BAA0B,CAAA;AACV,IAAA,SAAS;IAC3B,UAAU,GAAG,YAAY;IAEZ,WAAW,GAAG,sBAAsB;IAChC,IAAI,GAAG,QAAQ;wGAL9B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,uQCPvC,yOAOA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDAa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,8DAA8D,EAAA,eAAA,EAEvD,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yOAAA,EAAA;;sBAG9C,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB;;sBAEA,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,WAAW;;;AEZ1B;;AAEG;;;;"}
@@ -18,10 +18,10 @@ class MojAlertDismissComponent {
18
18
  }
19
19
  this.dismiss.emit();
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertDismissComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojAlertDismissComponent, isStandalone: true, selector: "opal-lib-moj-alert-dismiss", outputs: { dismiss: "dismiss" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<button class=\"moj-alert__dismiss\" (click)=\"dismissAlert($event)\" (keyup.enter)=\"dismissAlert($event)\">Dismiss</button>\n" });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertDismissComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojAlertDismissComponent, isStandalone: true, selector: "opal-lib-moj-alert-dismiss", outputs: { dismiss: "dismiss" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<button class=\"moj-alert__dismiss\" (click)=\"dismissAlert($event)\" (keyup.enter)=\"dismissAlert($event)\">Dismiss</button>\n" });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertDismissComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertDismissComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'opal-lib-moj-alert-dismiss', imports: [], template: "<button class=\"moj-alert__dismiss\" (click)=\"dismissAlert($event)\" (keyup.enter)=\"dismissAlert($event)\">Dismiss</button>\n" }]
27
27
  }], propDecorators: { hostClass: [{
@@ -55,10 +55,10 @@ class MojAlertComponent {
55
55
  this.isVisible = false;
56
56
  this.dismissed.emit();
57
57
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: MojAlertComponent, isStandalone: true, selector: "opal-lib-moj-alert, [opal-lib-moj-alert]", inputs: { ariaLabel: "ariaLabel", type: "type", showDismiss: "showDismiss" }, outputs: { dismissed: "dismissed" }, host: { properties: { "class": "this.hostClass", "attr.aria-label": "this.computedAriaLabel", "attr.data-module": "this.dataModule" } }, ngImport: i0, template: "@if (isVisible) {\n <ng-content select=\"[icon]\"></ng-content>\n <ng-content select=\"[content]\"></ng-content>\n\n @if (showDismiss) {\n <opal-lib-moj-alert-dismiss (dismiss)=\"dismiss()\"></opal-lib-moj-alert-dismiss>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MojAlertDismissComponent, selector: "opal-lib-moj-alert-dismiss", outputs: ["dismiss"] }] });
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: MojAlertComponent, isStandalone: true, selector: "opal-lib-moj-alert, [opal-lib-moj-alert]", inputs: { ariaLabel: "ariaLabel", type: "type", showDismiss: "showDismiss" }, outputs: { dismissed: "dismissed" }, host: { properties: { "class": "this.hostClass", "attr.aria-label": "this.computedAriaLabel", "attr.data-module": "this.dataModule" } }, ngImport: i0, template: "@if (isVisible) {\n <ng-content select=\"[icon]\"></ng-content>\n <ng-content select=\"[content]\"></ng-content>\n\n @if (showDismiss) {\n <opal-lib-moj-alert-dismiss (dismiss)=\"dismiss()\"></opal-lib-moj-alert-dismiss>\n }\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MojAlertDismissComponent, selector: "opal-lib-moj-alert-dismiss", outputs: ["dismiss"] }] });
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'opal-lib-moj-alert, [opal-lib-moj-alert]', imports: [CommonModule, MojAlertDismissComponent], template: "@if (isVisible) {\n <ng-content select=\"[icon]\"></ng-content>\n <ng-content select=\"[content]\"></ng-content>\n\n @if (showDismiss) {\n <opal-lib-moj-alert-dismiss (dismiss)=\"dismiss()\"></opal-lib-moj-alert-dismiss>\n }\n}\n" }]
64
64
  }], propDecorators: { ariaLabel: [{
@@ -142,10 +142,10 @@ class MojAlertPathDirective {
142
142
  svg.appendChild(path);
143
143
  }
144
144
  }
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertPathDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
146
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: MojAlertPathDirective, isStandalone: true, selector: "[opalLibMojAlertSortIcon]", inputs: { type: ["opalLibMojAlertSortIcon", "type"] }, usesOnChanges: true, ngImport: i0 });
145
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertPathDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
146
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.16", type: MojAlertPathDirective, isStandalone: true, selector: "[opalLibMojAlertSortIcon]", inputs: { type: ["opalLibMojAlertSortIcon", "type"] }, usesOnChanges: true, ngImport: i0 });
147
147
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertPathDirective, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertPathDirective, decorators: [{
149
149
  type: Directive,
150
150
  args: [{
151
151
  selector: '[opalLibMojAlertSortIcon]',
@@ -158,10 +158,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
158
158
 
159
159
  class MojAlertIconComponent {
160
160
  type = 'information';
161
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
162
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojAlertIconComponent, isStandalone: true, selector: "opal-lib-moj-alert-icon", inputs: { type: "type" }, ngImport: i0, template: "<svg\n [opalLibMojAlertSortIcon]=\"type\"\n class=\"moj-alert__icon\"\n role=\"presentation\"\n focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 30 30\"\n height=\"30\"\n width=\"30\"\n fill=\"currentColor\"\n></svg>\n", dependencies: [{ kind: "directive", type: MojAlertPathDirective, selector: "[opalLibMojAlertSortIcon]", inputs: ["opalLibMojAlertSortIcon"] }] });
161
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
162
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojAlertIconComponent, isStandalone: true, selector: "opal-lib-moj-alert-icon", inputs: { type: "type" }, ngImport: i0, template: "<svg\n [opalLibMojAlertSortIcon]=\"type\"\n class=\"moj-alert__icon\"\n role=\"presentation\"\n focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 30 30\"\n height=\"30\"\n width=\"30\"\n fill=\"currentColor\"\n></svg>\n", dependencies: [{ kind: "directive", type: MojAlertPathDirective, selector: "[opalLibMojAlertSortIcon]", inputs: ["opalLibMojAlertSortIcon"] }] });
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertIconComponent, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertIconComponent, decorators: [{
165
165
  type: Component,
166
166
  args: [{ selector: 'opal-lib-moj-alert-icon', imports: [MojAlertPathDirective], template: "<svg\n [opalLibMojAlertSortIcon]=\"type\"\n class=\"moj-alert__icon\"\n role=\"presentation\"\n focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 30 30\"\n height=\"30\"\n width=\"30\"\n fill=\"currentColor\"\n></svg>\n" }]
167
167
  }], propDecorators: { type: [{
@@ -171,10 +171,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
171
171
 
172
172
  class MojAlertHeadingComponent {
173
173
  hostClass = 'moj-alert__heading';
174
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
175
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojAlertHeadingComponent, isStandalone: true, selector: "opal-lib-moj-alert-content-heading", host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
174
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
175
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojAlertHeadingComponent, isStandalone: true, selector: "opal-lib-moj-alert-content-heading", host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertHeadingComponent, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertHeadingComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ selector: 'opal-lib-moj-alert-content-heading', imports: [], template: "<ng-content></ng-content>\n" }]
180
180
  }], propDecorators: { hostClass: [{
@@ -184,10 +184,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
184
184
 
185
185
  class MojAlertContentComponent {
186
186
  hostClass = 'moj-alert__content';
187
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
188
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojAlertContentComponent, isStandalone: true, selector: "opal-lib-moj-alert-content", host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
187
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
188
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojAlertContentComponent, isStandalone: true, selector: "opal-lib-moj-alert-content", host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
189
189
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertContentComponent, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertContentComponent, decorators: [{
191
191
  type: Component,
192
192
  args: [{ selector: 'opal-lib-moj-alert-content', imports: [], template: "<ng-content></ng-content>\n" }]
193
193
  }], propDecorators: { hostClass: [{
@@ -196,10 +196,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
196
196
  }] } });
197
197
 
198
198
  class MojAlertTextComponent {
199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
200
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojAlertTextComponent, isStandalone: true, selector: "opal-lib-moj-alert-content-text", ngImport: i0, template: "<ng-content></ng-content>\n" });
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojAlertTextComponent, isStandalone: true, selector: "opal-lib-moj-alert-content-text", ngImport: i0, template: "<ng-content></ng-content>\n" });
201
201
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojAlertTextComponent, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojAlertTextComponent, decorators: [{
203
203
  type: Component,
204
204
  args: [{ selector: 'opal-lib-moj-alert-content-text', imports: [], template: "<ng-content></ng-content>\n" }]
205
205
  }] });
@@ -4,10 +4,10 @@ import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  class MojBadgeComponent {
5
5
  badgeId;
6
6
  badgeClasses;
7
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojBadgeComponent, isStandalone: true, selector: "opal-lib-moj-badge", inputs: { badgeId: "badgeId", badgeClasses: "badgeClasses" }, ngImport: i0, template: "<span class=\"moj-badge {{ badgeClasses }}\" [id]=\"badgeId\"><ng-content></ng-content> </span>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojBadgeComponent, isStandalone: true, selector: "opal-lib-moj-badge", inputs: { badgeId: "badgeId", badgeClasses: "badgeClasses" }, ngImport: i0, template: "<span class=\"moj-badge {{ badgeClasses }}\" [id]=\"badgeId\"><ng-content></ng-content> </span>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojBadgeComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojBadgeComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'opal-lib-moj-badge', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"moj-badge {{ badgeClasses }}\" [id]=\"badgeId\"><ng-content></ng-content> </span>\n" }]
13
13
  }], propDecorators: { badgeId: [{
@@ -8,10 +8,10 @@ class MojButtonMenuItemComponent {
8
8
  event.preventDefault();
9
9
  this.actionClick.emit();
10
10
  }
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojButtonMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: MojButtonMenuItemComponent, isStandalone: true, selector: "opal-lib-moj-button-menu-item", inputs: { itemText: "itemText" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<li>\n <a\n href=\"#\"\n role=\"link\"\n draggable=\"false\"\n class=\"moj-button-menu__item\"\n data-module=\"govuk-button\"\n data-secondary=\"true\"\n data-govuk-button-init=\"\"\n tabindex=\"-1\"\n (click)=\"handleClick($event)\"\n >\n {{ itemText }}\n </a>\n</li>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojButtonMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojButtonMenuItemComponent, isStandalone: true, selector: "opal-lib-moj-button-menu-item", inputs: { itemText: "itemText" }, outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<li>\n <a\n href=\"#\"\n role=\"link\"\n draggable=\"false\"\n class=\"moj-button-menu__item\"\n data-module=\"govuk-button\"\n data-secondary=\"true\"\n data-govuk-button-init=\"\"\n tabindex=\"-1\"\n (click)=\"handleClick($event)\"\n >\n {{ itemText }}\n </a>\n</li>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojButtonMenuItemComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojButtonMenuItemComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'opal-lib-moj-button-menu-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li>\n <a\n href=\"#\"\n role=\"link\"\n draggable=\"false\"\n class=\"moj-button-menu__item\"\n data-module=\"govuk-button\"\n data-secondary=\"true\"\n data-govuk-button-init=\"\"\n tabindex=\"-1\"\n (click)=\"handleClick($event)\"\n >\n {{ itemText }}\n </a>\n</li>\n" }]
17
17
  }], propDecorators: { itemText: [{
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, ViewChild, Input, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { HostBinding, Input, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
+ let nextMenuId = 0;
4
5
  class MojButtonMenuComponent {
5
6
  menuButtonTitle;
6
- menuButton;
7
+ menuId = `moj-button-menu-${++nextMenuId}`;
7
8
  hostClasses = 'moj-button-menu';
8
9
  dataModule = 'moj-button-menu';
9
10
  get dataButtonText() {
@@ -22,23 +23,20 @@ class MojButtonMenuComponent {
22
23
  * @returns void
23
24
  */
24
25
  toggleButtonMenu() {
25
- const button = this.menuButton.nativeElement;
26
- const isExpanded = button.getAttribute('aria-expanded') === 'true';
27
- button.setAttribute('aria-expanded', String(!isExpanded));
28
- this.isExpanded = !isExpanded;
26
+ this.isExpanded = !this.isExpanded;
29
27
  }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojButtonMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: MojButtonMenuComponent, isStandalone: true, selector: "opal-lib-moj-button-menu", inputs: { menuButtonTitle: "menuButtonTitle" }, host: { properties: { "class": "this.hostClasses", "attr.data-module": "this.dataModule", "attr.data-button-text": "this.dataButtonText", "attr.data-button-classes": "this.dataButtonClasses", "attr.data-moj-button-menu-init": "this.dataMojButtonMenuInit" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleButtonMenu()\"\n #menuButton\n>\n <span>\n {{ menuButtonTitle }}\n <svg width=\"11\" height=\"5\" viewBox=\"0 0 11 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.5 0L11 5L0 5L5.5 0Z\" fill=\"currentColor\"></path>\n </svg>\n </span>\n</button>\n\n@if (isExpanded) {\n <ul role=\"list\" class=\"moj-button-menu__wrapper\">\n <ng-content></ng-content>\n </ul>\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojButtonMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: MojButtonMenuComponent, isStandalone: true, selector: "opal-lib-moj-button-menu", inputs: { menuButtonTitle: "menuButtonTitle", menuId: "menuId" }, host: { properties: { "class": "this.hostClasses", "attr.data-module": "this.dataModule", "attr.data-button-text": "this.dataButtonText", "attr.data-button-classes": "this.dataButtonClasses", "attr.data-moj-button-menu-init": "this.dataMojButtonMenuInit" } }, ngImport: i0, template: "<button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"menuId\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"toggleButtonMenu()\"\n>\n <span>\n {{ menuButtonTitle }}\n <svg width=\"11\" height=\"5\" viewBox=\"0 0 11 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.5 0L11 5L0 5L5.5 0Z\" fill=\"currentColor\"></path>\n </svg>\n </span>\n</button>\n\n<ul [id]=\"menuId\" class=\"moj-button-menu__wrapper\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</ul>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
30
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MojButtonMenuComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: MojButtonMenuComponent, decorators: [{
34
32
  type: Component,
35
- args: [{ selector: 'opal-lib-moj-button-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleButtonMenu()\"\n #menuButton\n>\n <span>\n {{ menuButtonTitle }}\n <svg width=\"11\" height=\"5\" viewBox=\"0 0 11 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.5 0L11 5L0 5L5.5 0Z\" fill=\"currentColor\"></path>\n </svg>\n </span>\n</button>\n\n@if (isExpanded) {\n <ul role=\"list\" class=\"moj-button-menu__wrapper\">\n <ng-content></ng-content>\n </ul>\n}\n" }]
33
+ args: [{ selector: 'opal-lib-moj-button-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"menuId\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"toggleButtonMenu()\"\n>\n <span>\n {{ menuButtonTitle }}\n <svg width=\"11\" height=\"5\" viewBox=\"0 0 11 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.5 0L11 5L0 5L5.5 0Z\" fill=\"currentColor\"></path>\n </svg>\n </span>\n</button>\n\n<ul [id]=\"menuId\" class=\"moj-button-menu__wrapper\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</ul>\n" }]
36
34
  }], propDecorators: { menuButtonTitle: [{
37
35
  type: Input,
38
36
  args: [{ required: true }]
39
- }], menuButton: [{
40
- type: ViewChild,
41
- args: ['menuButton']
37
+ }], menuId: [{
38
+ type: Input,
39
+ args: [{ required: false }]
42
40
  }], hostClasses: [{
43
41
  type: HostBinding,
44
42
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs","sources":["../../../projects/opal-frontend-common/components/moj/moj-button-menu/moj-button-menu.component.ts","../../../projects/opal-frontend-common/components/moj/moj-button-menu/moj-button-menu.component.html","../../../projects/opal-frontend-common/components/moj/moj-button-menu/hmcts-opal-frontend-common-components-moj-moj-button-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, HostBinding, ViewChild, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'opal-lib-moj-button-menu',\n templateUrl: './moj-button-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MojButtonMenuComponent {\n @Input({ required: true }) menuButtonTitle!: string;\n @ViewChild('menuButton') menuButton!: ElementRef<HTMLElement>;\n\n @HostBinding('class') hostClasses = 'moj-button-menu';\n @HostBinding('attr.data-module') dataModule = 'moj-button-menu';\n @HostBinding('attr.data-button-text') get dataButtonText() {\n return this.menuButtonTitle;\n }\n @HostBinding('attr.data-button-classes') dataButtonClasses = 'govuk-button--secondary';\n @HostBinding('attr.data-moj-button-menu-init') dataMojButtonMenuInit = '';\n\n public isExpanded = false;\n\n /**\n * Toggles the expanded state of the button menu.\n *\n * This method retrieves the current \"aria-expanded\" state from the menu button,\n * inverts the state, and then updates both the \"aria-expanded\" attribute and the\n * internal component property \"isExpanded\" accordingly.\n *\n * @returns void\n */\n public toggleButtonMenu(): void {\n const button = this.menuButton.nativeElement;\n const isExpanded = button.getAttribute('aria-expanded') === 'true';\n button.setAttribute('aria-expanded', String(!isExpanded));\n this.isExpanded = !isExpanded;\n }\n}\n","<button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleButtonMenu()\"\n #menuButton\n>\n <span>\n {{ menuButtonTitle }}\n <svg width=\"11\" height=\"5\" viewBox=\"0 0 11 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.5 0L11 5L0 5L5.5 0Z\" fill=\"currentColor\"></path>\n </svg>\n </span>\n</button>\n\n@if (isExpanded) {\n <ul role=\"list\" class=\"moj-button-menu__wrapper\">\n <ng-content></ng-content>\n </ul>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAOa,sBAAsB,CAAA;AACN,IAAA,eAAe;AACjB,IAAA,UAAU;IAEb,WAAW,GAAG,iBAAiB;IACpB,UAAU,GAAG,iBAAiB;AAC/D,IAAA,IAA0C,cAAc,GAAA;QACtD,OAAO,IAAI,CAAC,eAAe;IAC7B;IACyC,iBAAiB,GAAG,yBAAyB;IACvC,qBAAqB,GAAG,EAAE;IAElE,UAAU,GAAG,KAAK;AAEzB;;;;;;;;AAQG;IACI,gBAAgB,GAAA;AACrB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;QAClE,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,UAAU;IAC/B;wGA5BW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,kfCPnC,gkBAqBA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDda,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,0BAA0B,EAAA,eAAA,EAEnB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gkBAAA,EAAA;;sBAG9C,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,SAAS;uBAAC,YAAY;;sBAEtB,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,kBAAkB;;sBAC9B,WAAW;uBAAC,uBAAuB;;sBAGnC,WAAW;uBAAC,0BAA0B;;sBACtC,WAAW;uBAAC,gCAAgC;;;AEjB/C;;AAEG;;;;"}
1
+ {"version":3,"file":"hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs","sources":["../../../projects/opal-frontend-common/components/moj/moj-button-menu/moj-button-menu.component.ts","../../../projects/opal-frontend-common/components/moj/moj-button-menu/moj-button-menu.component.html","../../../projects/opal-frontend-common/components/moj/moj-button-menu/hmcts-opal-frontend-common-components-moj-moj-button-menu.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input, HostBinding } from '@angular/core';\n\nlet nextMenuId = 0;\n\n@Component({\n selector: 'opal-lib-moj-button-menu',\n templateUrl: './moj-button-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MojButtonMenuComponent {\n @Input({ required: true }) menuButtonTitle!: string;\n @Input({ required: false }) menuId = `moj-button-menu-${++nextMenuId}`;\n\n @HostBinding('class') hostClasses = 'moj-button-menu';\n @HostBinding('attr.data-module') dataModule = 'moj-button-menu';\n @HostBinding('attr.data-button-text') get dataButtonText() {\n return this.menuButtonTitle;\n }\n @HostBinding('attr.data-button-classes') dataButtonClasses = 'govuk-button--secondary';\n @HostBinding('attr.data-moj-button-menu-init') dataMojButtonMenuInit = '';\n\n public isExpanded = false;\n\n /**\n * Toggles the expanded state of the button menu.\n *\n * This method retrieves the current \"aria-expanded\" state from the menu button,\n * inverts the state, and then updates both the \"aria-expanded\" attribute and the\n * internal component property \"isExpanded\" accordingly.\n *\n * @returns void\n */\n public toggleButtonMenu(): void {\n this.isExpanded = !this.isExpanded;\n }\n}\n","<button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"menuId\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"toggleButtonMenu()\"\n>\n <span>\n {{ menuButtonTitle }}\n <svg width=\"11\" height=\"5\" viewBox=\"0 0 11 5\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.5 0L11 5L0 5L5.5 0Z\" fill=\"currentColor\"></path>\n </svg>\n </span>\n</button>\n\n<ul [id]=\"menuId\" class=\"moj-button-menu__wrapper\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</ul>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAEA,IAAI,UAAU,GAAG,CAAC;MAOL,sBAAsB,CAAA;AACN,IAAA,eAAe;AACd,IAAA,MAAM,GAAG,CAAA,gBAAA,EAAmB,EAAE,UAAU,EAAE;IAEhD,WAAW,GAAG,iBAAiB;IACpB,UAAU,GAAG,iBAAiB;AAC/D,IAAA,IAA0C,cAAc,GAAA;QACtD,OAAO,IAAI,CAAC,eAAe;IAC7B;IACyC,iBAAiB,GAAG,yBAAyB;IACvC,qBAAqB,GAAG,EAAE;IAElE,UAAU,GAAG,KAAK;AAEzB;;;;;;;;AAQG;IACI,gBAAgB,GAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU;IACpC;wGAzBW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,0ZCTnC,8lBAmBA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDVa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,0BAA0B,EAAA,eAAA,EAEnB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8lBAAA,EAAA;;sBAG9C,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;sBACxB,KAAK;uBAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;;sBAEzB,WAAW;uBAAC,OAAO;;sBACnB,WAAW;uBAAC,kBAAkB;;sBAC9B,WAAW;uBAAC,uBAAuB;;sBAGnC,WAAW;uBAAC,0BAA0B;;sBACtC,WAAW;uBAAC,gCAAgC;;;AEnB/C;;AAEG;;;;"}