@ukho/admiralty-core 0.3.3 → 0.3.4

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 (210) hide show
  1. package/dist/admiralty/admiralty.esm.js +1 -1
  2. package/dist/admiralty/{p-41872b2c.entry.js → p-09beafd2.entry.js} +2 -2
  3. package/dist/admiralty/{p-3ac74056.entry.js → p-0e8192b3.entry.js} +2 -2
  4. package/dist/admiralty/{p-4fd3d786.entry.js → p-1a46f741.entry.js} +2 -2
  5. package/dist/admiralty/{p-644da64d.entry.js → p-1b4b629f.entry.js} +2 -2
  6. package/dist/admiralty/{p-62b6c19e.entry.js → p-1e5d6d5c.entry.js} +2 -2
  7. package/dist/admiralty/{p-03984927.entry.js → p-20e669e3.entry.js} +2 -2
  8. package/dist/admiralty/{p-13337000.entry.js → p-23599e17.entry.js} +2 -2
  9. package/dist/admiralty/{p-427931d8.entry.js → p-2dabb66f.entry.js} +2 -2
  10. package/dist/admiralty/p-2f1aa2ab.entry.js +2 -0
  11. package/dist/admiralty/p-33ba3be8.entry.js +2 -0
  12. package/dist/admiralty/p-33ba3be8.entry.js.map +1 -0
  13. package/dist/admiralty/{p-18d8edba.entry.js → p-3ec17d3e.entry.js} +2 -2
  14. package/dist/admiralty/{p-b82a1318.entry.js → p-42c8f788.entry.js} +2 -2
  15. package/dist/admiralty/{p-3a802b4b.entry.js → p-478e51ae.entry.js} +2 -2
  16. package/dist/admiralty/{p-21bb17f3.entry.js → p-51bd438b.entry.js} +2 -2
  17. package/dist/admiralty/{p-45d70b06.entry.js → p-57e9e984.entry.js} +2 -2
  18. package/dist/admiralty/{p-8a83fdc2.entry.js → p-58fa7bfb.entry.js} +2 -2
  19. package/dist/admiralty/{p-d714d96d.entry.js → p-5e382d3b.entry.js} +2 -2
  20. package/dist/admiralty/{p-41aa3d54.entry.js → p-633db777.entry.js} +2 -2
  21. package/dist/admiralty/p-72d0c7c2.entry.js +2 -0
  22. package/dist/admiralty/{p-25137236.entry.js → p-7a3d5dc2.entry.js} +2 -2
  23. package/dist/admiralty/{p-e14d755c.entry.js → p-7bb1207f.entry.js} +2 -2
  24. package/dist/admiralty/{p-5c8e168b.entry.js → p-7c0ca951.entry.js} +2 -2
  25. package/dist/admiralty/{p-f0d70648.entry.js → p-85d906eb.entry.js} +2 -2
  26. package/dist/admiralty/{p-33f2277f.entry.js → p-85edda7b.entry.js} +2 -2
  27. package/dist/admiralty/{p-73f1e9af.entry.js → p-91c5dc57.entry.js} +2 -2
  28. package/dist/admiralty/{p-b0f577b7.entry.js → p-9f649906.entry.js} +2 -2
  29. package/dist/admiralty/{p-8225cd30.js → p-a2b7bb90.js} +3 -3
  30. package/dist/admiralty/p-a2b7bb90.js.map +1 -0
  31. package/dist/admiralty/{p-1ff4dbf7.entry.js → p-ae604366.entry.js} +2 -2
  32. package/dist/admiralty/{p-dc8c7789.entry.js → p-b0b751a0.entry.js} +2 -2
  33. package/dist/admiralty/{p-58062018.entry.js → p-b1ed4e60.entry.js} +2 -2
  34. package/dist/admiralty/p-b58e7891.entry.js +2 -0
  35. package/dist/admiralty/p-b58e7891.entry.js.map +1 -0
  36. package/dist/admiralty/{p-70bf6a66.entry.js → p-b8dc6756.entry.js} +2 -2
  37. package/dist/admiralty/{p-9602a0d0.entry.js → p-c027f79d.entry.js} +2 -2
  38. package/dist/admiralty/{p-04d983b1.entry.js → p-c4df365d.entry.js} +2 -2
  39. package/dist/admiralty/{p-8e1c544e.entry.js → p-cb194645.entry.js} +2 -2
  40. package/dist/admiralty/{p-fd2e811e.entry.js → p-cc7da7d1.entry.js} +2 -2
  41. package/dist/admiralty/{p-6bd89e36.entry.js → p-e6d2d9e3.entry.js} +2 -2
  42. package/dist/admiralty/{p-6a67787d.entry.js → p-e8d6a025.entry.js} +2 -2
  43. package/dist/admiralty/{p-a83c53d6.entry.js → p-f7aa9b55.entry.js} +2 -2
  44. package/dist/admiralty/{p-372a7b5d.entry.js → p-f7e348fc.entry.js} +2 -2
  45. package/dist/admiralty/{p-24ae9a66.entry.js → p-f9e65d4e.entry.js} +2 -2
  46. package/dist/admiralty/{p-b2f9c733.entry.js → p-faf7ba7b.entry.js} +2 -2
  47. package/dist/admiralty/p-fd0c5de8.entry.js +2 -0
  48. package/dist/admiralty/{p-6b52f2e4.entry.js → p-fe911ac8.entry.js} +2 -2
  49. package/dist/cjs/admiralty-breadcrumb.cjs.entry.js +1 -1
  50. package/dist/cjs/admiralty-breadcrumbs.cjs.entry.js +1 -1
  51. package/dist/cjs/admiralty-button.cjs.entry.js +1 -1
  52. package/dist/cjs/admiralty-card.cjs.entry.js +1 -1
  53. package/dist/cjs/admiralty-checkbox.cjs.entry.js +1 -1
  54. package/dist/cjs/admiralty-colour-block.cjs.entry.js +1 -1
  55. package/dist/cjs/admiralty-dialogue.cjs.entry.js +1 -1
  56. package/dist/cjs/admiralty-expansion.cjs.entry.js +1 -1
  57. package/dist/cjs/admiralty-file-input.cjs.entry.js +1 -1
  58. package/dist/cjs/admiralty-filter-group.cjs.entry.js +1 -1
  59. package/dist/cjs/admiralty-filter.cjs.entry.js +1 -1
  60. package/dist/cjs/admiralty-footer.cjs.entry.js +1 -1
  61. package/dist/cjs/admiralty-header-menu-item.cjs.entry.js +1 -1
  62. package/dist/cjs/admiralty-header-profile.cjs.entry.js +1 -1
  63. package/dist/cjs/admiralty-header-sub-menu-item.cjs.entry.js +1 -1
  64. package/dist/cjs/admiralty-header.cjs.entry.js +1 -1
  65. package/dist/cjs/admiralty-hint_3.cjs.entry.js +1 -1
  66. package/dist/cjs/admiralty-hr.cjs.entry.js +1 -1
  67. package/dist/cjs/admiralty-icon.cjs.entry.js +1 -1
  68. package/dist/cjs/admiralty-input.cjs.entry.js +1 -1
  69. package/dist/cjs/admiralty-link.cjs.entry.js +1 -1
  70. package/dist/cjs/admiralty-paginator-wrapper.cjs.entry.js +1 -1
  71. package/dist/cjs/admiralty-paginator.cjs.entry.js +1 -1
  72. package/dist/cjs/admiralty-phase-banner.cjs.entry.js +1 -1
  73. package/dist/cjs/admiralty-progress-bar.cjs.entry.js +1 -1
  74. package/dist/cjs/admiralty-radio-group.cjs.entry.js +1 -1
  75. package/dist/cjs/admiralty-radio.cjs.entry.js +1 -1
  76. package/dist/cjs/admiralty-read-more.cjs.entry.js +1 -1
  77. package/dist/cjs/admiralty-select.cjs.entry.js +1 -1
  78. package/dist/cjs/admiralty-side-nav-item.cjs.entry.js +1 -1
  79. package/dist/cjs/admiralty-side-nav-wrapper.cjs.entry.js +1 -1
  80. package/dist/cjs/admiralty-side-nav.cjs.entry.js +1 -1
  81. package/dist/cjs/admiralty-tab-group.cjs.entry.js +1 -1
  82. package/dist/cjs/admiralty-tab.cjs.entry.js +1 -1
  83. package/dist/cjs/admiralty-table-body.cjs.entry.js +1 -1
  84. package/dist/cjs/admiralty-table-cell.cjs.entry.js +1 -1
  85. package/dist/cjs/admiralty-table-header-cell.cjs.entry.js +1 -1
  86. package/dist/cjs/admiralty-table-header.cjs.entry.js +1 -1
  87. package/dist/cjs/admiralty-table-row.cjs.entry.js +1 -1
  88. package/dist/cjs/admiralty-table.cjs.entry.js +1 -1
  89. package/dist/cjs/admiralty-textarea.cjs.entry.js +1 -1
  90. package/dist/cjs/admiralty-type-ahead-item.cjs.entry.js +2 -2
  91. package/dist/cjs/admiralty-type-ahead-item.cjs.entry.js.map +1 -1
  92. package/dist/cjs/admiralty-type-ahead.cjs.entry.js +24 -6
  93. package/dist/cjs/admiralty-type-ahead.cjs.entry.js.map +1 -1
  94. package/dist/cjs/admiralty.cjs.js +1 -1
  95. package/dist/cjs/{index-50ac08ee.js → index-3b824133.js} +18 -1
  96. package/dist/cjs/index-3b824133.js.map +1 -0
  97. package/dist/cjs/loader.cjs.js +1 -1
  98. package/dist/collection/components/type-ahead/test/type-ahead.spec.js +8 -0
  99. package/dist/collection/components/type-ahead/test/type-ahead.spec.js.map +1 -1
  100. package/dist/collection/components/type-ahead/type-ahead.js +24 -6
  101. package/dist/collection/components/type-ahead/type-ahead.js.map +1 -1
  102. package/dist/collection/components/type-ahead-item/type-ahead-item.js +2 -2
  103. package/dist/collection/components/type-ahead-item/type-ahead-item.js.map +1 -1
  104. package/dist/components/admiralty-type-ahead-item.js +1 -1
  105. package/dist/components/admiralty-type-ahead-item.js.map +1 -1
  106. package/dist/components/admiralty-type-ahead.js +24 -6
  107. package/dist/components/admiralty-type-ahead.js.map +1 -1
  108. package/dist/esm/admiralty-breadcrumb.entry.js +1 -1
  109. package/dist/esm/admiralty-breadcrumbs.entry.js +1 -1
  110. package/dist/esm/admiralty-button.entry.js +1 -1
  111. package/dist/esm/admiralty-card.entry.js +1 -1
  112. package/dist/esm/admiralty-checkbox.entry.js +1 -1
  113. package/dist/esm/admiralty-colour-block.entry.js +1 -1
  114. package/dist/esm/admiralty-dialogue.entry.js +1 -1
  115. package/dist/esm/admiralty-expansion.entry.js +1 -1
  116. package/dist/esm/admiralty-file-input.entry.js +1 -1
  117. package/dist/esm/admiralty-filter-group.entry.js +1 -1
  118. package/dist/esm/admiralty-filter.entry.js +1 -1
  119. package/dist/esm/admiralty-footer.entry.js +1 -1
  120. package/dist/esm/admiralty-header-menu-item.entry.js +1 -1
  121. package/dist/esm/admiralty-header-profile.entry.js +1 -1
  122. package/dist/esm/admiralty-header-sub-menu-item.entry.js +1 -1
  123. package/dist/esm/admiralty-header.entry.js +1 -1
  124. package/dist/esm/admiralty-hint_3.entry.js +1 -1
  125. package/dist/esm/admiralty-hr.entry.js +1 -1
  126. package/dist/esm/admiralty-icon.entry.js +1 -1
  127. package/dist/esm/admiralty-input.entry.js +1 -1
  128. package/dist/esm/admiralty-link.entry.js +1 -1
  129. package/dist/esm/admiralty-paginator-wrapper.entry.js +1 -1
  130. package/dist/esm/admiralty-paginator.entry.js +1 -1
  131. package/dist/esm/admiralty-phase-banner.entry.js +1 -1
  132. package/dist/esm/admiralty-progress-bar.entry.js +1 -1
  133. package/dist/esm/admiralty-radio-group.entry.js +1 -1
  134. package/dist/esm/admiralty-radio.entry.js +1 -1
  135. package/dist/esm/admiralty-read-more.entry.js +1 -1
  136. package/dist/esm/admiralty-select.entry.js +1 -1
  137. package/dist/esm/admiralty-side-nav-item.entry.js +1 -1
  138. package/dist/esm/admiralty-side-nav-wrapper.entry.js +1 -1
  139. package/dist/esm/admiralty-side-nav.entry.js +1 -1
  140. package/dist/esm/admiralty-tab-group.entry.js +1 -1
  141. package/dist/esm/admiralty-tab.entry.js +1 -1
  142. package/dist/esm/admiralty-table-body.entry.js +1 -1
  143. package/dist/esm/admiralty-table-cell.entry.js +1 -1
  144. package/dist/esm/admiralty-table-header-cell.entry.js +1 -1
  145. package/dist/esm/admiralty-table-header.entry.js +1 -1
  146. package/dist/esm/admiralty-table-row.entry.js +1 -1
  147. package/dist/esm/admiralty-table.entry.js +1 -1
  148. package/dist/esm/admiralty-textarea.entry.js +1 -1
  149. package/dist/esm/admiralty-type-ahead-item.entry.js +2 -2
  150. package/dist/esm/admiralty-type-ahead-item.entry.js.map +1 -1
  151. package/dist/esm/admiralty-type-ahead.entry.js +24 -6
  152. package/dist/esm/admiralty-type-ahead.entry.js.map +1 -1
  153. package/dist/esm/admiralty.js +2 -2
  154. package/dist/esm/{index-326224c6.js → index-b834f47d.js} +18 -2
  155. package/dist/esm/index-b834f47d.js.map +1 -0
  156. package/dist/esm/loader.js +2 -2
  157. package/dist/types/components/type-ahead/type-ahead.d.ts +4 -1
  158. package/dist/types/components.d.ts +1 -1
  159. package/package.json +2 -2
  160. package/dist/admiralty/p-09e7df9b.entry.js +0 -2
  161. package/dist/admiralty/p-09e7df9b.entry.js.map +0 -1
  162. package/dist/admiralty/p-20b64a58.entry.js +0 -2
  163. package/dist/admiralty/p-8225cd30.js.map +0 -1
  164. package/dist/admiralty/p-aa056a9d.entry.js +0 -2
  165. package/dist/admiralty/p-b6634d3d.entry.js +0 -2
  166. package/dist/admiralty/p-d7ed8189.entry.js +0 -2
  167. package/dist/admiralty/p-d7ed8189.entry.js.map +0 -1
  168. package/dist/cjs/index-50ac08ee.js.map +0 -1
  169. package/dist/esm/index-326224c6.js.map +0 -1
  170. /package/dist/admiralty/{p-41872b2c.entry.js.map → p-09beafd2.entry.js.map} +0 -0
  171. /package/dist/admiralty/{p-3ac74056.entry.js.map → p-0e8192b3.entry.js.map} +0 -0
  172. /package/dist/admiralty/{p-4fd3d786.entry.js.map → p-1a46f741.entry.js.map} +0 -0
  173. /package/dist/admiralty/{p-644da64d.entry.js.map → p-1b4b629f.entry.js.map} +0 -0
  174. /package/dist/admiralty/{p-62b6c19e.entry.js.map → p-1e5d6d5c.entry.js.map} +0 -0
  175. /package/dist/admiralty/{p-03984927.entry.js.map → p-20e669e3.entry.js.map} +0 -0
  176. /package/dist/admiralty/{p-13337000.entry.js.map → p-23599e17.entry.js.map} +0 -0
  177. /package/dist/admiralty/{p-427931d8.entry.js.map → p-2dabb66f.entry.js.map} +0 -0
  178. /package/dist/admiralty/{p-aa056a9d.entry.js.map → p-2f1aa2ab.entry.js.map} +0 -0
  179. /package/dist/admiralty/{p-18d8edba.entry.js.map → p-3ec17d3e.entry.js.map} +0 -0
  180. /package/dist/admiralty/{p-b82a1318.entry.js.map → p-42c8f788.entry.js.map} +0 -0
  181. /package/dist/admiralty/{p-3a802b4b.entry.js.map → p-478e51ae.entry.js.map} +0 -0
  182. /package/dist/admiralty/{p-21bb17f3.entry.js.map → p-51bd438b.entry.js.map} +0 -0
  183. /package/dist/admiralty/{p-45d70b06.entry.js.map → p-57e9e984.entry.js.map} +0 -0
  184. /package/dist/admiralty/{p-8a83fdc2.entry.js.map → p-58fa7bfb.entry.js.map} +0 -0
  185. /package/dist/admiralty/{p-d714d96d.entry.js.map → p-5e382d3b.entry.js.map} +0 -0
  186. /package/dist/admiralty/{p-41aa3d54.entry.js.map → p-633db777.entry.js.map} +0 -0
  187. /package/dist/admiralty/{p-20b64a58.entry.js.map → p-72d0c7c2.entry.js.map} +0 -0
  188. /package/dist/admiralty/{p-25137236.entry.js.map → p-7a3d5dc2.entry.js.map} +0 -0
  189. /package/dist/admiralty/{p-e14d755c.entry.js.map → p-7bb1207f.entry.js.map} +0 -0
  190. /package/dist/admiralty/{p-5c8e168b.entry.js.map → p-7c0ca951.entry.js.map} +0 -0
  191. /package/dist/admiralty/{p-f0d70648.entry.js.map → p-85d906eb.entry.js.map} +0 -0
  192. /package/dist/admiralty/{p-33f2277f.entry.js.map → p-85edda7b.entry.js.map} +0 -0
  193. /package/dist/admiralty/{p-73f1e9af.entry.js.map → p-91c5dc57.entry.js.map} +0 -0
  194. /package/dist/admiralty/{p-b0f577b7.entry.js.map → p-9f649906.entry.js.map} +0 -0
  195. /package/dist/admiralty/{p-1ff4dbf7.entry.js.map → p-ae604366.entry.js.map} +0 -0
  196. /package/dist/admiralty/{p-dc8c7789.entry.js.map → p-b0b751a0.entry.js.map} +0 -0
  197. /package/dist/admiralty/{p-58062018.entry.js.map → p-b1ed4e60.entry.js.map} +0 -0
  198. /package/dist/admiralty/{p-70bf6a66.entry.js.map → p-b8dc6756.entry.js.map} +0 -0
  199. /package/dist/admiralty/{p-9602a0d0.entry.js.map → p-c027f79d.entry.js.map} +0 -0
  200. /package/dist/admiralty/{p-04d983b1.entry.js.map → p-c4df365d.entry.js.map} +0 -0
  201. /package/dist/admiralty/{p-8e1c544e.entry.js.map → p-cb194645.entry.js.map} +0 -0
  202. /package/dist/admiralty/{p-fd2e811e.entry.js.map → p-cc7da7d1.entry.js.map} +0 -0
  203. /package/dist/admiralty/{p-6bd89e36.entry.js.map → p-e6d2d9e3.entry.js.map} +0 -0
  204. /package/dist/admiralty/{p-6a67787d.entry.js.map → p-e8d6a025.entry.js.map} +0 -0
  205. /package/dist/admiralty/{p-a83c53d6.entry.js.map → p-f7aa9b55.entry.js.map} +0 -0
  206. /package/dist/admiralty/{p-372a7b5d.entry.js.map → p-f7e348fc.entry.js.map} +0 -0
  207. /package/dist/admiralty/{p-24ae9a66.entry.js.map → p-f9e65d4e.entry.js.map} +0 -0
  208. /package/dist/admiralty/{p-b2f9c733.entry.js.map → p-faf7ba7b.entry.js.map} +0 -0
  209. /package/dist/admiralty/{p-b6634d3d.entry.js.map → p-fd0c5de8.entry.js.map} +0 -0
  210. /package/dist/admiralty/{p-6b52f2e4.entry.js.map → p-fe911ac8.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { Host, h } from '@stencil/core';
1
+ import { Host, h, forceUpdate } from '@stencil/core';
2
2
  import { Keys } from '../Keys';
3
3
  export class TypeAheadComponent {
4
4
  constructor() {
@@ -25,17 +25,35 @@ export class TypeAheadComponent {
25
25
  set inputValue(value) {
26
26
  this.inputControl.value = value;
27
27
  }
28
+ componentDidLoad() {
29
+ if (this.value) {
30
+ this.inputValue = this.value;
31
+ }
32
+ }
28
33
  connectedCallback() {
34
+ this.mutation = new MutationObserver(() => {
35
+ this.populateFilterList();
36
+ forceUpdate(this);
37
+ });
38
+ this.mutation.observe(this.el, {
39
+ childList: true,
40
+ subtree: true,
41
+ });
42
+ }
43
+ disconnectedCallback() {
44
+ if (this.mutation) {
45
+ this.mutation.disconnect();
46
+ this.mutation = undefined;
47
+ }
48
+ }
49
+ populateFilterList() {
29
50
  const slotItems = this.el.querySelectorAll('admiralty-type-ahead-item');
51
+ this.filterList = [];
30
52
  slotItems.forEach(el => {
31
53
  this.filterList.push(el.getAttribute('value'));
54
+ console.log('fliterlist value ', el.getAttribute('value'));
32
55
  });
33
56
  }
34
- componentDidLoad() {
35
- if (this.value) {
36
- this.inputValue = this.value;
37
- }
38
- }
39
57
  handleFocusIn() {
40
58
  if (this.resultsOnInitFocus && !this.hasBeenFocusedAtLeastOnce) {
41
59
  this.performFilter('');
@@ -1 +1 @@
1
- {"version":3,"file":"type-ahead.js","sourceRoot":"","sources":["../../../src/components/type-ahead/type-ahead.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Host, Prop, Event, h, State, Element } from '@stencil/core';\nimport { Keys } from '../Keys';\n\n@Component({\n tag: 'admiralty-type-ahead',\n styleUrl: 'type-ahead.scss',\n scoped: true,\n})\nexport class TypeAheadComponent {\n private _id = `admiralty-typeahead-${++id}`;\n\n hintId = `${this._id}-assistive-hint`;\n listId = `${this._id}-list`;\n\n @Element() el: HTMLElement;\n\n listContainer!: HTMLDivElement;\n inputControl!: HTMLAdmiraltyInputElement;\n\n @State() filterResult: string[] = new Array<string>();\n\n filterList: Array<string> = [];\n\n selectedItemIndex = -1;\n isFocused = false;\n\n isSilenced = false;\n isAlternateStatusSection = false;\n statusText: string;\n\n private originalSearch = '';\n private hasBeenFocusedAtLeastOnce = false;\n\n private get inputValue() {\n return this.inputControl.value.toString();\n }\n\n private set inputValue(value: string) {\n this.inputControl.value = value;\n }\n\n /**\n * The value of the textinput\n */\n @Prop() value: string;\n\n /**\n * The text content of the label for the input box\n */\n @Prop() label: string;\n\n /**\n * The hint which will be used under the label to describe the input.\n */\n @Prop() hint: string;\n\n /**\n * The placeholder text for the input field\n */\n @Prop() placeholder: string;\n\n /**\n * Optional property to show results when input box is initally focused\n */\n @Prop() resultsOnInitFocus: boolean = false;\n\n /**\n * Optional function that will be executed when the user selects an item from the typeahead\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n /**\n * Event that is fired whenever the value of the typeahead changes\n * e.g. selection from the dropdown or manually typed entry\n */\n @Event() valueChanged: EventEmitter<string>;\n\n connectedCallback() {\n const slotItems = this.el.querySelectorAll('admiralty-type-ahead-item');\n slotItems.forEach(el => {\n this.filterList.push(el.getAttribute('value'));\n });\n }\n\n componentDidLoad() {\n if (this.value) {\n this.inputValue = this.value;\n }\n }\n\n handleFocusIn() {\n if (this.resultsOnInitFocus && !this.hasBeenFocusedAtLeastOnce) {\n this.performFilter('');\n this.hasBeenFocusedAtLeastOnce = true;\n }\n\n this.isFocused = true;\n this.isSilenced = false;\n }\n\n handleFocusOut() {\n this.isFocused = false;\n this.statusText = null;\n this.isSilenced = true;\n }\n\n private textChanged(value: string): void {\n this.originalSearch = value;\n this.performFilter(value);\n this.isSilenced = false;\n this.valueChanged.emit(value);\n }\n\n handleKeyPressed(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.UP_ARROW || event.key === Keys.DOWN_ARROW) {\n this.navigateSuggestions(event.key);\n this.updateScroll();\n } else if (event.key !== Keys.ENTER) {\n this.textChanged(this.inputValue);\n this.selectCurrentItem();\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.TAB || event.key === Keys.ENTER) {\n this.selectCurrentItem();\n }\n }\n\n handleItemSelected(value: string): void {\n this.inputValue = value;\n this.textChanged(value);\n this.filterResult = new Array<string>();\n this.selectionChanged.emit(value);\n }\n\n private performFilter(value: string) {\n const filter = (filterList: string[], text: string) => {\n const filterResult = filterList.filter(value => {\n return text === null || text.length < 1 || value.toLowerCase().indexOf(text.toLowerCase()) > -1;\n });\n return filterResult;\n };\n\n this.filterResult = filter(this.filterList, value);\n\n this.selectedItemIndex = -1;\n }\n\n private addHighlight() {\n if (this.selectedItemIndex > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(this.selectedItemIndex)}`);\n listItem.classList.add('highlighted');\n }\n }\n\n private removeHighlight(i: number) {\n if (i > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(i)}`);\n listItem.classList.remove('highlighted');\n }\n }\n\n private selectCurrentItem(): void {\n if (this.selectedItemIndex >= 0) {\n const selectedItemText = this.filterResult[this.selectedItemIndex];\n this.handleItemSelected(selectedItemText);\n }\n }\n\n handleItemHovered(index: number): void {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex = index;\n this.addHighlight();\n }\n\n handleComponentFocusOut() {\n // Ensure dropdown closed on clicking or tabbing away from this component\n if (this.filterResult?.length > 0) {\n this.filterResult = new Array<string>();\n this.hasBeenFocusedAtLeastOnce = false;\n }\n }\n\n /**\n * Check if the selected option is in view, and scroll if not\n */\n private updateScroll() {\n const container = this.listContainer;\n\n const ul = container.querySelector('ul');\n const selectedItem: any = Array.from(ul.childNodes).find((item: any) => item.ariaPosInSet === `${this.selectedItemIndex + 1}`);\n\n if (container && selectedItem && container.scrollHeight + container.clientHeight) {\n selectedItem.scrollIntoView();\n }\n }\n\n private navigateSuggestions(key: Keys) {\n if (key === Keys.UP_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex--;\n if (this.selectedItemIndex === -2) {\n this.selectedItemIndex = this.filterResult.length - 1;\n }\n }\n if (key === Keys.DOWN_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex++;\n if (this.selectedItemIndex > this.filterResult.length - 1) {\n this.selectedItemIndex = -1;\n }\n }\n if (this.selectedItemIndex === -1) {\n this.inputValue = this.originalSearch;\n } else {\n const value = this.filterResult[this.selectedItemIndex];\n\n this.inputValue = value;\n\n this.addHighlight();\n }\n }\n\n private getListItemId(i: number) {\n return `${this.listId}-item-${i}`;\n }\n\n render() {\n return (\n <Host onFocusout={_ev => this.handleComponentFocusOut()}>\n <div class=\"visually-hidden\">\n <div class=\"results-status-a\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n <div class=\"results-status-b\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && !this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n </div>\n <admiralty-input\n type=\"text\"\n ref={el => (this.inputControl = el)}\n label={this.label}\n hint={this.hint}\n placeholder={this.placeholder}\n class=\"filterTextInput\"\n onKeyUp={ev => this.handleKeyPressed(ev)}\n onKeyDown={ev => this.handleKeyDown(ev)}\n onFocusin={_ev => this.handleFocusIn()}\n onFocusout={_ev => this.handleFocusOut()}\n aria-expanded={this.isFocused && this.filterResult.length > 0}\n ></admiralty-input>\n\n <span id={this.hintId} class=\"visually-hidden\">\n When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.\n </span>\n {this.filterResult.length > 0 ? (\n <div class=\"typeahead-list-container\" ref={el => (this.listContainer = el)}>\n <ul class=\"typeahead-list\" id={this.listId} role=\"listbox\">\n {this.filterResult.map((item, i) => (\n <li\n id={this.getListItemId(i)}\n onMouseDown={_ev => this.handleItemSelected(item)}\n onMouseOver={_ev => this.handleItemHovered(i)}\n aria-selected={i === this.selectedItemIndex}\n role=\"option\"\n tabindex=\"-1\"\n aria-posinset={i + 1}\n aria-setsize={this.filterResult.length}\n >\n {item}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n\nlet id = 0;\n"]}
1
+ {"version":3,"file":"type-ahead.js","sourceRoot":"","sources":["../../../src/components/type-ahead/type-ahead.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Host, Prop, Event, h, State, Element, forceUpdate } from '@stencil/core';\nimport { Keys } from '../Keys';\n\n@Component({\n tag: 'admiralty-type-ahead',\n styleUrl: 'type-ahead.scss',\n scoped: true,\n})\nexport class TypeAheadComponent {\n private _id = `admiralty-typeahead-${++id}`;\n\n hintId = `${this._id}-assistive-hint`;\n listId = `${this._id}-list`;\n\n @Element() el: HTMLElement;\n\n listContainer!: HTMLDivElement;\n inputControl!: HTMLAdmiraltyInputElement;\n\n @State() filterResult: string[] = new Array<string>();\n\n filterList: Array<string> = [];\n\n selectedItemIndex = -1;\n isFocused = false;\n\n isSilenced = false;\n isAlternateStatusSection = false;\n statusText: string;\n\n private mutation: MutationObserver;\n\n private originalSearch = '';\n private hasBeenFocusedAtLeastOnce = false;\n\n private get inputValue() {\n return this.inputControl.value.toString();\n }\n\n private set inputValue(value: string) {\n this.inputControl.value = value;\n }\n\n /**\n * The value of the textinput\n */\n @Prop() value: string;\n\n /**\n * The text content of the label for the input box\n */\n @Prop() label: string;\n\n /**\n * The hint which will be used under the label to describe the input.\n */\n @Prop() hint: string;\n\n /**\n * The placeholder text for the input field\n */\n @Prop() placeholder: string;\n\n /**\n * Optional property to show results when input box is initally focused\n */\n @Prop() resultsOnInitFocus: boolean = false;\n\n /**\n * Optional function that will be executed when the user selects an item from the typeahead\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n /**\n * Event that is fired whenever the value of the typeahead changes\n * e.g. selection from the dropdown or manually typed entry\n */\n @Event() valueChanged: EventEmitter<string>;\n\n componentDidLoad() {\n if (this.value) {\n this.inputValue = this.value;\n }\n }\n\n connectedCallback() {\n this.mutation = new MutationObserver(() => {\n this.populateFilterList();\n forceUpdate(this);\n });\n this.mutation.observe(this.el, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.mutation) {\n this.mutation.disconnect();\n this.mutation = undefined;\n }\n }\n\n populateFilterList() {\n const slotItems = this.el.querySelectorAll('admiralty-type-ahead-item');\n this.filterList = [];\n slotItems.forEach(el => {\n this.filterList.push(el.getAttribute('value'));\n console.log('fliterlist value ', el.getAttribute('value'));\n });\n }\n\n handleFocusIn() {\n if (this.resultsOnInitFocus && !this.hasBeenFocusedAtLeastOnce) {\n this.performFilter('');\n this.hasBeenFocusedAtLeastOnce = true;\n }\n\n this.isFocused = true;\n this.isSilenced = false;\n }\n\n handleFocusOut() {\n this.isFocused = false;\n this.statusText = null;\n this.isSilenced = true;\n }\n\n private textChanged(value: string): void {\n this.originalSearch = value;\n this.performFilter(value);\n this.isSilenced = false;\n this.valueChanged.emit(value);\n }\n\n handleKeyPressed(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.UP_ARROW || event.key === Keys.DOWN_ARROW) {\n this.navigateSuggestions(event.key);\n this.updateScroll();\n } else if (event.key !== Keys.ENTER) {\n this.textChanged(this.inputValue);\n this.selectCurrentItem();\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.TAB || event.key === Keys.ENTER) {\n this.selectCurrentItem();\n }\n }\n\n handleItemSelected(value: string): void {\n this.inputValue = value;\n this.textChanged(value);\n this.filterResult = new Array<string>();\n this.selectionChanged.emit(value);\n }\n\n private performFilter(value: string) {\n const filter = (filterList: string[], text: string) => {\n const filterResult = filterList.filter(value => {\n return text === null || text.length < 1 || value.toLowerCase().indexOf(text.toLowerCase()) > -1;\n });\n return filterResult;\n };\n\n this.filterResult = filter(this.filterList, value);\n\n this.selectedItemIndex = -1;\n }\n\n private addHighlight() {\n if (this.selectedItemIndex > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(this.selectedItemIndex)}`);\n listItem.classList.add('highlighted');\n }\n }\n\n private removeHighlight(i: number) {\n if (i > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(i)}`);\n listItem.classList.remove('highlighted');\n }\n }\n\n private selectCurrentItem(): void {\n if (this.selectedItemIndex >= 0) {\n const selectedItemText = this.filterResult[this.selectedItemIndex];\n this.handleItemSelected(selectedItemText);\n }\n }\n\n handleItemHovered(index: number): void {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex = index;\n this.addHighlight();\n }\n\n handleComponentFocusOut() {\n // Ensure dropdown closed on clicking or tabbing away from this component\n if (this.filterResult?.length > 0) {\n this.filterResult = new Array<string>();\n this.hasBeenFocusedAtLeastOnce = false;\n }\n }\n\n /**\n * Check if the selected option is in view, and scroll if not\n */\n private updateScroll() {\n const container = this.listContainer;\n\n const ul = container.querySelector('ul');\n const selectedItem: any = Array.from(ul.childNodes).find((item: any) => item.ariaPosInSet === `${this.selectedItemIndex + 1}`);\n\n if (container && selectedItem && container.scrollHeight + container.clientHeight) {\n selectedItem.scrollIntoView();\n }\n }\n\n private navigateSuggestions(key: Keys) {\n if (key === Keys.UP_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex--;\n if (this.selectedItemIndex === -2) {\n this.selectedItemIndex = this.filterResult.length - 1;\n }\n }\n if (key === Keys.DOWN_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex++;\n if (this.selectedItemIndex > this.filterResult.length - 1) {\n this.selectedItemIndex = -1;\n }\n }\n if (this.selectedItemIndex === -1) {\n this.inputValue = this.originalSearch;\n } else {\n const value = this.filterResult[this.selectedItemIndex];\n\n this.inputValue = value;\n\n this.addHighlight();\n }\n }\n\n private getListItemId(i: number) {\n return `${this.listId}-item-${i}`;\n }\n\n render() {\n return (\n <Host onFocusout={_ev => this.handleComponentFocusOut()}>\n <div class=\"visually-hidden\">\n <div class=\"results-status-a\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n <div class=\"results-status-b\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && !this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n </div>\n <admiralty-input\n type=\"text\"\n ref={el => (this.inputControl = el)}\n label={this.label}\n hint={this.hint}\n placeholder={this.placeholder}\n class=\"filterTextInput\"\n onKeyUp={ev => this.handleKeyPressed(ev)}\n onKeyDown={ev => this.handleKeyDown(ev)}\n onFocusin={_ev => this.handleFocusIn()}\n onFocusout={_ev => this.handleFocusOut()}\n aria-expanded={this.isFocused && this.filterResult.length > 0}\n ></admiralty-input>\n\n <span id={this.hintId} class=\"visually-hidden\">\n When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.\n </span>\n {this.filterResult.length > 0 ? (\n <div class=\"typeahead-list-container\" ref={el => (this.listContainer = el)}>\n <ul class=\"typeahead-list\" id={this.listId} role=\"listbox\">\n {this.filterResult.map((item, i) => (\n <li\n id={this.getListItemId(i)}\n onMouseDown={_ev => this.handleItemSelected(item)}\n onMouseOver={_ev => this.handleItemHovered(i)}\n aria-selected={i === this.selectedItemIndex}\n role=\"option\"\n tabindex=\"-1\"\n aria-posinset={i + 1}\n aria-setsize={this.filterResult.length}\n >\n {item}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n\nlet id = 0;\n"]}
@@ -4,7 +4,7 @@ export class AdmiraltyTypeAheadItem {
4
4
  this.value = undefined;
5
5
  }
6
6
  render() {
7
- return h(Host, null);
7
+ return h(Host, { value: this.value });
8
8
  }
9
9
  static get is() { return "admiralty-type-ahead-item"; }
10
10
  static get encapsulation() { return "scoped"; }
@@ -28,7 +28,7 @@ export class AdmiraltyTypeAheadItem {
28
28
  "resolved": "string",
29
29
  "references": {}
30
30
  },
31
- "required": true,
31
+ "required": false,
32
32
  "optional": false,
33
33
  "docs": {
34
34
  "tags": [],
@@ -1 +1 @@
1
- {"version":3,"file":"type-ahead-item.js","sourceRoot":"","sources":["../../../src/components/type-ahead-item/type-ahead-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,sBAAsB;;;;EAGjC,MAAM;IACJ,OAAO,EAAC,IAAI,OAAQ,CAAC;EACvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'admiralty-type-ahead-item',\n styleUrl: 'type-ahead-item.scss',\n scoped: true,\n})\nexport class AdmiraltyTypeAheadItem {\n @Prop() value!: string;\n\n render() {\n return <Host></Host>;\n }\n}\n"]}
1
+ {"version":3,"file":"type-ahead-item.js","sourceRoot":"","sources":["../../../src/components/type-ahead-item/type-ahead-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,sBAAsB;;;;EAGjC,MAAM;IACJ,OAAO,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAS,CAAC;EAC1C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'admiralty-type-ahead-item',\n styleUrl: 'type-ahead-item.scss',\n scoped: true,\n})\nexport class AdmiraltyTypeAheadItem {\n @Prop() value: string;\n\n render() {\n return <Host value={this.value}></Host>;\n }\n}\n"]}
@@ -9,7 +9,7 @@ const AdmiraltyTypeAheadItem$1 = /*@__PURE__*/ proxyCustomElement(class Admiralt
9
9
  this.value = undefined;
10
10
  }
11
11
  render() {
12
- return h(Host, null);
12
+ return h(Host, { value: this.value });
13
13
  }
14
14
  static get style() { return typeAheadItemCss; }
15
15
  }, [2, "admiralty-type-ahead-item", {
@@ -1 +1 @@
1
- {"file":"admiralty-type-ahead-item.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,gDAAgD;;MCO5DA,wBAAsB;;;;;;EAGjC,MAAM;IACJ,OAAO,EAAC,IAAI,OAAQ,CAAC;GACtB;;;;;;;;;;;;;;;;;;;;;;;;","names":["AdmiraltyTypeAheadItem"],"sources":["./src/components/type-ahead-item/type-ahead-item.scss?tag=admiralty-type-ahead-item&encapsulation=scoped","./src/components/type-ahead-item/type-ahead-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'admiralty-type-ahead-item',\n styleUrl: 'type-ahead-item.scss',\n scoped: true,\n})\nexport class AdmiraltyTypeAheadItem {\n @Prop() value!: string;\n\n render() {\n return <Host></Host>;\n }\n}\n"],"version":3}
1
+ {"file":"admiralty-type-ahead-item.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,gDAAgD;;MCO5DA,wBAAsB;;;;;;EAGjC,MAAM;IACJ,OAAO,EAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAS,CAAC;GACzC;;;;;;;;;;;;;;;;;;;;;;;;","names":["AdmiraltyTypeAheadItem"],"sources":["./src/components/type-ahead-item/type-ahead-item.scss?tag=admiralty-type-ahead-item&encapsulation=scoped","./src/components/type-ahead-item/type-ahead-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'admiralty-type-ahead-item',\n styleUrl: 'type-ahead-item.scss',\n scoped: true,\n})\nexport class AdmiraltyTypeAheadItem {\n @Prop() value: string;\n\n render() {\n return <Host value={this.value}></Host>;\n }\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
1
+ import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
2
2
  import { K as Keys } from './Keys.js';
3
3
  import { d as defineCustomElement$6 } from './hint.js';
4
4
  import { d as defineCustomElement$5 } from './icon.js';
@@ -37,17 +37,35 @@ const TypeAheadComponent = /*@__PURE__*/ proxyCustomElement(class TypeAheadCompo
37
37
  set inputValue(value) {
38
38
  this.inputControl.value = value;
39
39
  }
40
+ componentDidLoad() {
41
+ if (this.value) {
42
+ this.inputValue = this.value;
43
+ }
44
+ }
40
45
  connectedCallback() {
46
+ this.mutation = new MutationObserver(() => {
47
+ this.populateFilterList();
48
+ forceUpdate(this);
49
+ });
50
+ this.mutation.observe(this.el, {
51
+ childList: true,
52
+ subtree: true,
53
+ });
54
+ }
55
+ disconnectedCallback() {
56
+ if (this.mutation) {
57
+ this.mutation.disconnect();
58
+ this.mutation = undefined;
59
+ }
60
+ }
61
+ populateFilterList() {
41
62
  const slotItems = this.el.querySelectorAll('admiralty-type-ahead-item');
63
+ this.filterList = [];
42
64
  slotItems.forEach(el => {
43
65
  this.filterList.push(el.getAttribute('value'));
66
+ console.log('fliterlist value ', el.getAttribute('value'));
44
67
  });
45
68
  }
46
- componentDidLoad() {
47
- if (this.value) {
48
- this.inputValue = this.value;
49
- }
50
- }
51
69
  handleFocusIn() {
52
70
  if (this.resultsOnInitFocus && !this.hasBeenFocusedAtLeastOnce) {
53
71
  this.performFilter('');
@@ -1 +1 @@
1
- {"file":"admiralty-type-ahead.js","mappings":"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","names":[],"sources":["./src/components/type-ahead/type-ahead.scss?tag=admiralty-type-ahead&encapsulation=scoped","./src/components/type-ahead/type-ahead.tsx"],"sourcesContent":["@use \"../../scss/vars/colours\";\n@use \"../../scss/base/a11y\";\n@use \"../../scss/base/typography\";\n\n* {\n margin: 0px;\n padding: 0px;\n}\n\n.text-input-wrap {\n height: auto !important;\n}\n\n.filterTextInput {\n width: 100%;\n}\n\n.typeahead-list-container {\n position: relative;\n left: 0px;\n background-color: colours.$colour-white;\n width: 100%;\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\n border: 2px solid colours.$colour-text;\n border-top: none;\n box-sizing: border-box;\n max-height: 180px;\n overflow-y: auto;\n z-index: 1;\n\n .typeahead-list {\n list-style: none;\n\n li {\n cursor: pointer;\n transform: unset !important;\n padding: 6px;\n min-height: 24px;\n margin: 0;\n }\n\n li:before {\n content: none;\n }\n\n li.highlighted {\n background-color: colours.$colour-admiralty-blue;\n color: colours.$colour-white;\n }\n }\n}\n\n","import { Component, EventEmitter, Host, Prop, Event, h, State, Element } from '@stencil/core';\nimport { Keys } from '../Keys';\n\n@Component({\n tag: 'admiralty-type-ahead',\n styleUrl: 'type-ahead.scss',\n scoped: true,\n})\nexport class TypeAheadComponent {\n private _id = `admiralty-typeahead-${++id}`;\n\n hintId = `${this._id}-assistive-hint`;\n listId = `${this._id}-list`;\n\n @Element() el: HTMLElement;\n\n listContainer!: HTMLDivElement;\n inputControl!: HTMLAdmiraltyInputElement;\n\n @State() filterResult: string[] = new Array<string>();\n\n filterList: Array<string> = [];\n\n selectedItemIndex = -1;\n isFocused = false;\n\n isSilenced = false;\n isAlternateStatusSection = false;\n statusText: string;\n\n private originalSearch = '';\n private hasBeenFocusedAtLeastOnce = false;\n\n private get inputValue() {\n return this.inputControl.value.toString();\n }\n\n private set inputValue(value: string) {\n this.inputControl.value = value;\n }\n\n /**\n * The value of the textinput\n */\n @Prop() value: string;\n\n /**\n * The text content of the label for the input box\n */\n @Prop() label: string;\n\n /**\n * The hint which will be used under the label to describe the input.\n */\n @Prop() hint: string;\n\n /**\n * The placeholder text for the input field\n */\n @Prop() placeholder: string;\n\n /**\n * Optional property to show results when input box is initally focused\n */\n @Prop() resultsOnInitFocus: boolean = false;\n\n /**\n * Optional function that will be executed when the user selects an item from the typeahead\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n /**\n * Event that is fired whenever the value of the typeahead changes\n * e.g. selection from the dropdown or manually typed entry\n */\n @Event() valueChanged: EventEmitter<string>;\n\n connectedCallback() {\n const slotItems = this.el.querySelectorAll('admiralty-type-ahead-item');\n slotItems.forEach(el => {\n this.filterList.push(el.getAttribute('value'));\n });\n }\n\n componentDidLoad() {\n if (this.value) {\n this.inputValue = this.value;\n }\n }\n\n handleFocusIn() {\n if (this.resultsOnInitFocus && !this.hasBeenFocusedAtLeastOnce) {\n this.performFilter('');\n this.hasBeenFocusedAtLeastOnce = true;\n }\n\n this.isFocused = true;\n this.isSilenced = false;\n }\n\n handleFocusOut() {\n this.isFocused = false;\n this.statusText = null;\n this.isSilenced = true;\n }\n\n private textChanged(value: string): void {\n this.originalSearch = value;\n this.performFilter(value);\n this.isSilenced = false;\n this.valueChanged.emit(value);\n }\n\n handleKeyPressed(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.UP_ARROW || event.key === Keys.DOWN_ARROW) {\n this.navigateSuggestions(event.key);\n this.updateScroll();\n } else if (event.key !== Keys.ENTER) {\n this.textChanged(this.inputValue);\n this.selectCurrentItem();\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.TAB || event.key === Keys.ENTER) {\n this.selectCurrentItem();\n }\n }\n\n handleItemSelected(value: string): void {\n this.inputValue = value;\n this.textChanged(value);\n this.filterResult = new Array<string>();\n this.selectionChanged.emit(value);\n }\n\n private performFilter(value: string) {\n const filter = (filterList: string[], text: string) => {\n const filterResult = filterList.filter(value => {\n return text === null || text.length < 1 || value.toLowerCase().indexOf(text.toLowerCase()) > -1;\n });\n return filterResult;\n };\n\n this.filterResult = filter(this.filterList, value);\n\n this.selectedItemIndex = -1;\n }\n\n private addHighlight() {\n if (this.selectedItemIndex > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(this.selectedItemIndex)}`);\n listItem.classList.add('highlighted');\n }\n }\n\n private removeHighlight(i: number) {\n if (i > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(i)}`);\n listItem.classList.remove('highlighted');\n }\n }\n\n private selectCurrentItem(): void {\n if (this.selectedItemIndex >= 0) {\n const selectedItemText = this.filterResult[this.selectedItemIndex];\n this.handleItemSelected(selectedItemText);\n }\n }\n\n handleItemHovered(index: number): void {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex = index;\n this.addHighlight();\n }\n\n handleComponentFocusOut() {\n // Ensure dropdown closed on clicking or tabbing away from this component\n if (this.filterResult?.length > 0) {\n this.filterResult = new Array<string>();\n this.hasBeenFocusedAtLeastOnce = false;\n }\n }\n\n /**\n * Check if the selected option is in view, and scroll if not\n */\n private updateScroll() {\n const container = this.listContainer;\n\n const ul = container.querySelector('ul');\n const selectedItem: any = Array.from(ul.childNodes).find((item: any) => item.ariaPosInSet === `${this.selectedItemIndex + 1}`);\n\n if (container && selectedItem && container.scrollHeight + container.clientHeight) {\n selectedItem.scrollIntoView();\n }\n }\n\n private navigateSuggestions(key: Keys) {\n if (key === Keys.UP_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex--;\n if (this.selectedItemIndex === -2) {\n this.selectedItemIndex = this.filterResult.length - 1;\n }\n }\n if (key === Keys.DOWN_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex++;\n if (this.selectedItemIndex > this.filterResult.length - 1) {\n this.selectedItemIndex = -1;\n }\n }\n if (this.selectedItemIndex === -1) {\n this.inputValue = this.originalSearch;\n } else {\n const value = this.filterResult[this.selectedItemIndex];\n\n this.inputValue = value;\n\n this.addHighlight();\n }\n }\n\n private getListItemId(i: number) {\n return `${this.listId}-item-${i}`;\n }\n\n render() {\n return (\n <Host onFocusout={_ev => this.handleComponentFocusOut()}>\n <div class=\"visually-hidden\">\n <div class=\"results-status-a\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n <div class=\"results-status-b\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && !this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n </div>\n <admiralty-input\n type=\"text\"\n ref={el => (this.inputControl = el)}\n label={this.label}\n hint={this.hint}\n placeholder={this.placeholder}\n class=\"filterTextInput\"\n onKeyUp={ev => this.handleKeyPressed(ev)}\n onKeyDown={ev => this.handleKeyDown(ev)}\n onFocusin={_ev => this.handleFocusIn()}\n onFocusout={_ev => this.handleFocusOut()}\n aria-expanded={this.isFocused && this.filterResult.length > 0}\n ></admiralty-input>\n\n <span id={this.hintId} class=\"visually-hidden\">\n When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.\n </span>\n {this.filterResult.length > 0 ? (\n <div class=\"typeahead-list-container\" ref={el => (this.listContainer = el)}>\n <ul class=\"typeahead-list\" id={this.listId} role=\"listbox\">\n {this.filterResult.map((item, i) => (\n <li\n id={this.getListItemId(i)}\n onMouseDown={_ev => this.handleItemSelected(item)}\n onMouseOver={_ev => this.handleItemHovered(i)}\n aria-selected={i === this.selectedItemIndex}\n role=\"option\"\n tabindex=\"-1\"\n aria-posinset={i + 1}\n aria-setsize={this.filterResult.length}\n >\n {item}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n\nlet id = 0;\n"],"version":3}
1
+ {"file":"admiralty-type-ahead.js","mappings":"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","names":[],"sources":["./src/components/type-ahead/type-ahead.scss?tag=admiralty-type-ahead&encapsulation=scoped","./src/components/type-ahead/type-ahead.tsx"],"sourcesContent":["@use \"../../scss/vars/colours\";\n@use \"../../scss/base/a11y\";\n@use \"../../scss/base/typography\";\n\n* {\n margin: 0px;\n padding: 0px;\n}\n\n.text-input-wrap {\n height: auto !important;\n}\n\n.filterTextInput {\n width: 100%;\n}\n\n.typeahead-list-container {\n position: relative;\n left: 0px;\n background-color: colours.$colour-white;\n width: 100%;\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);\n border: 2px solid colours.$colour-text;\n border-top: none;\n box-sizing: border-box;\n max-height: 180px;\n overflow-y: auto;\n z-index: 1;\n\n .typeahead-list {\n list-style: none;\n\n li {\n cursor: pointer;\n transform: unset !important;\n padding: 6px;\n min-height: 24px;\n margin: 0;\n }\n\n li:before {\n content: none;\n }\n\n li.highlighted {\n background-color: colours.$colour-admiralty-blue;\n color: colours.$colour-white;\n }\n }\n}\n\n","import { Component, EventEmitter, Host, Prop, Event, h, State, Element, forceUpdate } from '@stencil/core';\nimport { Keys } from '../Keys';\n\n@Component({\n tag: 'admiralty-type-ahead',\n styleUrl: 'type-ahead.scss',\n scoped: true,\n})\nexport class TypeAheadComponent {\n private _id = `admiralty-typeahead-${++id}`;\n\n hintId = `${this._id}-assistive-hint`;\n listId = `${this._id}-list`;\n\n @Element() el: HTMLElement;\n\n listContainer!: HTMLDivElement;\n inputControl!: HTMLAdmiraltyInputElement;\n\n @State() filterResult: string[] = new Array<string>();\n\n filterList: Array<string> = [];\n\n selectedItemIndex = -1;\n isFocused = false;\n\n isSilenced = false;\n isAlternateStatusSection = false;\n statusText: string;\n\n private mutation: MutationObserver;\n\n private originalSearch = '';\n private hasBeenFocusedAtLeastOnce = false;\n\n private get inputValue() {\n return this.inputControl.value.toString();\n }\n\n private set inputValue(value: string) {\n this.inputControl.value = value;\n }\n\n /**\n * The value of the textinput\n */\n @Prop() value: string;\n\n /**\n * The text content of the label for the input box\n */\n @Prop() label: string;\n\n /**\n * The hint which will be used under the label to describe the input.\n */\n @Prop() hint: string;\n\n /**\n * The placeholder text for the input field\n */\n @Prop() placeholder: string;\n\n /**\n * Optional property to show results when input box is initally focused\n */\n @Prop() resultsOnInitFocus: boolean = false;\n\n /**\n * Optional function that will be executed when the user selects an item from the typeahead\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n /**\n * Event that is fired whenever the value of the typeahead changes\n * e.g. selection from the dropdown or manually typed entry\n */\n @Event() valueChanged: EventEmitter<string>;\n\n componentDidLoad() {\n if (this.value) {\n this.inputValue = this.value;\n }\n }\n\n connectedCallback() {\n this.mutation = new MutationObserver(() => {\n this.populateFilterList();\n forceUpdate(this);\n });\n this.mutation.observe(this.el, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.mutation) {\n this.mutation.disconnect();\n this.mutation = undefined;\n }\n }\n\n populateFilterList() {\n const slotItems = this.el.querySelectorAll('admiralty-type-ahead-item');\n this.filterList = [];\n slotItems.forEach(el => {\n this.filterList.push(el.getAttribute('value'));\n console.log('fliterlist value ', el.getAttribute('value'));\n });\n }\n\n handleFocusIn() {\n if (this.resultsOnInitFocus && !this.hasBeenFocusedAtLeastOnce) {\n this.performFilter('');\n this.hasBeenFocusedAtLeastOnce = true;\n }\n\n this.isFocused = true;\n this.isSilenced = false;\n }\n\n handleFocusOut() {\n this.isFocused = false;\n this.statusText = null;\n this.isSilenced = true;\n }\n\n private textChanged(value: string): void {\n this.originalSearch = value;\n this.performFilter(value);\n this.isSilenced = false;\n this.valueChanged.emit(value);\n }\n\n handleKeyPressed(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.UP_ARROW || event.key === Keys.DOWN_ARROW) {\n this.navigateSuggestions(event.key);\n this.updateScroll();\n } else if (event.key !== Keys.ENTER) {\n this.textChanged(this.inputValue);\n this.selectCurrentItem();\n }\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n event.stopImmediatePropagation();\n\n if (event.key === Keys.TAB || event.key === Keys.ENTER) {\n this.selectCurrentItem();\n }\n }\n\n handleItemSelected(value: string): void {\n this.inputValue = value;\n this.textChanged(value);\n this.filterResult = new Array<string>();\n this.selectionChanged.emit(value);\n }\n\n private performFilter(value: string) {\n const filter = (filterList: string[], text: string) => {\n const filterResult = filterList.filter(value => {\n return text === null || text.length < 1 || value.toLowerCase().indexOf(text.toLowerCase()) > -1;\n });\n return filterResult;\n };\n\n this.filterResult = filter(this.filterList, value);\n\n this.selectedItemIndex = -1;\n }\n\n private addHighlight() {\n if (this.selectedItemIndex > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(this.selectedItemIndex)}`);\n listItem.classList.add('highlighted');\n }\n }\n\n private removeHighlight(i: number) {\n if (i > -1) {\n const listItem = this.el.querySelector(`#${this.getListItemId(i)}`);\n listItem.classList.remove('highlighted');\n }\n }\n\n private selectCurrentItem(): void {\n if (this.selectedItemIndex >= 0) {\n const selectedItemText = this.filterResult[this.selectedItemIndex];\n this.handleItemSelected(selectedItemText);\n }\n }\n\n handleItemHovered(index: number): void {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex = index;\n this.addHighlight();\n }\n\n handleComponentFocusOut() {\n // Ensure dropdown closed on clicking or tabbing away from this component\n if (this.filterResult?.length > 0) {\n this.filterResult = new Array<string>();\n this.hasBeenFocusedAtLeastOnce = false;\n }\n }\n\n /**\n * Check if the selected option is in view, and scroll if not\n */\n private updateScroll() {\n const container = this.listContainer;\n\n const ul = container.querySelector('ul');\n const selectedItem: any = Array.from(ul.childNodes).find((item: any) => item.ariaPosInSet === `${this.selectedItemIndex + 1}`);\n\n if (container && selectedItem && container.scrollHeight + container.clientHeight) {\n selectedItem.scrollIntoView();\n }\n }\n\n private navigateSuggestions(key: Keys) {\n if (key === Keys.UP_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex--;\n if (this.selectedItemIndex === -2) {\n this.selectedItemIndex = this.filterResult.length - 1;\n }\n }\n if (key === Keys.DOWN_ARROW) {\n this.removeHighlight(this.selectedItemIndex);\n this.selectedItemIndex++;\n if (this.selectedItemIndex > this.filterResult.length - 1) {\n this.selectedItemIndex = -1;\n }\n }\n if (this.selectedItemIndex === -1) {\n this.inputValue = this.originalSearch;\n } else {\n const value = this.filterResult[this.selectedItemIndex];\n\n this.inputValue = value;\n\n this.addHighlight();\n }\n }\n\n private getListItemId(i: number) {\n return `${this.listId}-item-${i}`;\n }\n\n render() {\n return (\n <Host onFocusout={_ev => this.handleComponentFocusOut()}>\n <div class=\"visually-hidden\">\n <div class=\"results-status-a\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n <div class=\"results-status-b\" role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {!this.isSilenced && !this.isAlternateStatusSection ? this.statusText : ''}\n </div>\n </div>\n <admiralty-input\n type=\"text\"\n ref={el => (this.inputControl = el)}\n label={this.label}\n hint={this.hint}\n placeholder={this.placeholder}\n class=\"filterTextInput\"\n onKeyUp={ev => this.handleKeyPressed(ev)}\n onKeyDown={ev => this.handleKeyDown(ev)}\n onFocusin={_ev => this.handleFocusIn()}\n onFocusout={_ev => this.handleFocusOut()}\n aria-expanded={this.isFocused && this.filterResult.length > 0}\n ></admiralty-input>\n\n <span id={this.hintId} class=\"visually-hidden\">\n When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.\n </span>\n {this.filterResult.length > 0 ? (\n <div class=\"typeahead-list-container\" ref={el => (this.listContainer = el)}>\n <ul class=\"typeahead-list\" id={this.listId} role=\"listbox\">\n {this.filterResult.map((item, i) => (\n <li\n id={this.getListItemId(i)}\n onMouseDown={_ev => this.handleItemSelected(item)}\n onMouseOver={_ev => this.handleItemHovered(i)}\n aria-selected={i === this.selectedItemIndex}\n role=\"option\"\n tabindex=\"-1\"\n aria-posinset={i + 1}\n aria-setsize={this.filterResult.length}\n >\n {item}\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n <slot></slot>\n </Host>\n );\n }\n}\n\nlet id = 0;\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-326224c6.js';
1
+ import { r as registerInstance, h, H as Host } from './index-b834f47d.js';
2
2
  import { f as faChevronRight } from './index-07e55065.js';
3
3
 
4
4
  const breadcrumbCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-breadcrumb{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-breadcrumb{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-breadcrumb{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-breadcrumb{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-breadcrumb{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-breadcrumb{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-breadcrumb{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-breadcrumb{display:none}}.sc-admiralty-breadcrumb-h{display:flex;align-items:center}.breadcrumb-icon.sc-admiralty-breadcrumb{margin:0 10px;font-size:12px}a.sc-admiralty-breadcrumb{display:inline-block;font-size:14px;font-weight:300;text-decoration:none;color:#333333;margin:10px 2px}a.sc-admiralty-breadcrumb:hover{color:#09315b}a.active.sc-admiralty-breadcrumb{color:#09315b;font-weight:normal}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-b834f47d.js';
2
2
 
3
3
  const breadcrumbsCss = ".breadcrumbs.sc-admiralty-breadcrumbs{width:100%;box-sizing:border-box;display:inline-flex;border-bottom:1px solid #d8d8d8;background-color:#ffffff;padding:0 20px}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
  import { B as ButtonVariant } from './button.types-95cc8d1d.js';
3
3
 
4
4
  const buttonCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-button{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-button{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-button{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-button{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-button{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-button{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-button{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-button{display:none}}button.primary.sc-admiralty-button{display:inline-flex;align-items:center;justify-content:center;font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-size:21px;font-weight:normal;background-color:unset;cursor:pointer;height:60px;padding:15px 18px;white-space:nowrap;min-width:200px;background-color:#09315b;color:#ffffff;border:2px solid #09315b}button.primary.sc-admiralty-button:focus{outline:3px solid #ffdd00}button.primary.sc-admiralty-button:disabled{cursor:default}button.primary.sc-admiralty-button:disabled *.sc-admiralty-button{pointer-events:none}button.primary.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}@media (max-width: 1023px){button.primary.sc-admiralty-button{min-width:unset;max-width:200px;width:100%;height:50px;padding:10px 18px}}button.primary.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}button.primary.sc-admiralty-button:hover{background-color:#03284f;border:2px solid #03284f}button.primary.sc-admiralty-button:enabled:active{background-color:#ffffff;border:2px solid #09315b;color:#09315b}button.primary.sc-admiralty-button:enabled:active i.sc-admiralty-button{color:#09315b}button.primary.sc-admiralty-button:enabled:active p.sc-admiralty-button{color:#09315b}button.primary.sc-admiralty-button:disabled{background-color:#adadad;border:2px solid #adadad}button.secondary.sc-admiralty-button{display:inline-flex;align-items:center;justify-content:center;font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-size:21px;font-weight:normal;background-color:unset;cursor:pointer;height:60px;padding:15px 18px;white-space:nowrap;min-width:200px;background-color:#ffffff;color:#05284e;border:2px solid #05284e}button.secondary.sc-admiralty-button:focus{outline:3px solid #ffdd00}button.secondary.sc-admiralty-button:disabled{cursor:default}button.secondary.sc-admiralty-button:disabled *.sc-admiralty-button{pointer-events:none}button.secondary.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}@media (max-width: 1023px){button.secondary.sc-admiralty-button{min-width:unset;max-width:200px;width:100%;height:50px;padding:10px 18px}}button.secondary.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}button.secondary.sc-admiralty-button:hover{background-color:#eeeeee;border:2px solid #05284e}button.secondary.sc-admiralty-button:enabled:active{background-color:#05284e;border:2px solid #05284e;color:#ffffff}button.secondary.sc-admiralty-button:enabled:active i.sc-admiralty-button{color:#ffffff}button.secondary.sc-admiralty-button:enabled:active p.sc-admiralty-button{color:#ffffff}button.secondary.sc-admiralty-button:disabled{background-color:#adadad;border:2px solid #adadad}button.secondary.sc-admiralty-button i.sc-admiralty-button{color:#05284e}button.warning.sc-admiralty-button{display:inline-flex;align-items:center;justify-content:center;font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-size:21px;font-weight:normal;background-color:unset;cursor:pointer;height:60px;padding:15px 18px;white-space:nowrap;min-width:200px;background-color:#e20d0d;color:#ffffff;border:2px solid #e20d0d}button.warning.sc-admiralty-button:focus{outline:3px solid #ffdd00}button.warning.sc-admiralty-button:disabled{cursor:default}button.warning.sc-admiralty-button:disabled *.sc-admiralty-button{pointer-events:none}button.warning.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}@media (max-width: 1023px){button.warning.sc-admiralty-button{min-width:unset;max-width:200px;width:100%;height:50px;padding:10px 18px}}button.warning.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}button.warning.sc-admiralty-button:hover{background-color:#bd0404;border:2px solid #bd0404}button.warning.sc-admiralty-button:enabled:active{background-color:#ffffff;border:2px solid #e20d0d;color:#e20d0d}button.warning.sc-admiralty-button:enabled:active i.sc-admiralty-button{color:#e20d0d}button.warning.sc-admiralty-button:enabled:active p.sc-admiralty-button{color:#e20d0d}button.warning.sc-admiralty-button:disabled{background-color:#adadad;border:2px solid #adadad}button.warning.sc-admiralty-button:disabled>*.sc-admiralty-button{opacity:0.5}button.warning.sc-admiralty-button i.sc-admiralty-button{color:#ffffff}button.text.sc-admiralty-button{display:inline-flex;align-items:center;justify-content:center;font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-size:21px;font-weight:normal;background-color:unset;cursor:pointer;color:#05284e}button.text.sc-admiralty-button:focus{outline:3px solid #ffdd00}button.text.sc-admiralty-button:disabled{cursor:default}button.text.sc-admiralty-button:disabled *.sc-admiralty-button{pointer-events:none}button.text.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}button.text.sc-admiralty-button:enabled:active{color:#05284e}button.text.sc-admiralty-button:enabled:active i.sc-admiralty-button{color:#05284e}button.text.sc-admiralty-button:enabled:active p.sc-admiralty-button{color:#05284e}button.text.sc-admiralty-button:disabled{color:#adadad}button.text.sc-admiralty-button:disabled>*.sc-admiralty-button{opacity:0.5}button.text.sc-admiralty-button:focus{outline-offset:3px}button.text.sc-admiralty-button i.sc-admiralty-button{color:#05284e}button.icon.sc-admiralty-button{display:inline-flex;align-items:center;justify-content:center;font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-size:21px;font-weight:normal;background-color:unset;cursor:pointer;min-height:50px;min-width:50px;padding:10px 10px;background-color:var(--button-icon-background-colour, #eeeeee);color:#09315b;border:2px solid #09315b}button.icon.sc-admiralty-button:focus{outline:3px solid #ffdd00}button.icon.sc-admiralty-button:disabled{cursor:default}button.icon.sc-admiralty-button:disabled *.sc-admiralty-button{pointer-events:none}button.icon.sc-admiralty-button i.sc-admiralty-button{display:inline-block;font-size:24px;color:#ffffff;padding-left:15px}button.icon.sc-admiralty-button:enabled:active{background-color:#09315b;color:#ffffff}button.icon.sc-admiralty-button:disabled{opacity:0.3}button.icon.sc-admiralty-button:active:disabled{background-color:#eeeeee}button.icon.sc-admiralty-button i.sc-admiralty-button{margin:auto;font-size:unset;color:unset;padding-left:unset}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const cardCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-card{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-card{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-card{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-card{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-card{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-card{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-card{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-card{display:none}}.card.sc-admiralty-card{display:flex;flex-direction:column;border:1px solid #d8d8d8}.card.sc-admiralty-card>h6.sc-admiralty-card{height:60px;line-height:60px;border:1px solid #09315b;color:#ffffff;background-color:#09315b;margin:0;padding:0 30px}@media (max-width: 1023px){.card.sc-admiralty-card>h6.sc-admiralty-card{padding:0px 18px;height:48px;line-height:48px}}.card.sc-admiralty-card>div.sc-admiralty-card{border-top:none;flex-grow:1;padding:30px}@media (max-width: 1023px){.card.sc-admiralty-card>div.sc-admiralty-card{padding:24px 18px}}.text-input-form.sc-admiralty-card .text-input-wrap.sc-admiralty-card{margin-bottom:30px}.text-input-form.sc-admiralty-card .text-input-wrap.sc-admiralty-card:last-child{margin-bottom:0}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-b834f47d.js';
2
2
 
3
3
  const checkboxCss = ".form-control.sc-admiralty-checkbox{font-size:18px;position:relative;display:inline-block}.form-control.sc-admiralty-checkbox input[type=checkbox].sc-admiralty-checkbox{box-sizing:border-box;opacity:0;position:absolute;top:0;left:0;padding:0;width:30px;height:30px;margin:0;z-index:1;cursor:pointer}.form-control.sc-admiralty-checkbox input[type=checkbox].sc-admiralty-checkbox:checked+label.sc-admiralty-checkbox::after{content:\"\"}.form-control.sc-admiralty-checkbox label.sc-admiralty-checkbox{position:relative;display:inline-block;padding-left:42px;margin-bottom:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:30px}.form-control.sc-admiralty-checkbox label.disabled.sc-admiralty-checkbox{cursor:default;pointer-events:none}.form-control.sc-admiralty-checkbox label.sc-admiralty-checkbox::before,.form-control.sc-admiralty-checkbox label.sc-admiralty-checkbox::after{position:absolute;content:none;display:inline-block}.form-control.sc-admiralty-checkbox label.sc-admiralty-checkbox::before{content:\"\";height:26px;width:26px;border:2px solid #03284f;left:0;top:0;background-color:#fff}.form-control.sc-admiralty-checkbox label.sc-admiralty-checkbox::after{height:8px;width:15px;border-left:3px solid;border-bottom:3px solid;transform:rotate(-45deg);color:#09315b;left:6px;top:7px}.form-control.right-align.sc-admiralty-checkbox label.sc-admiralty-checkbox{padding-left:unset;padding-right:35px}.form-control.right-align.sc-admiralty-checkbox label.sc-admiralty-checkbox::before{left:unset;right:0}.form-control.right-align.sc-admiralty-checkbox label.sc-admiralty-checkbox::after{left:unset;right:6px}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
  import { B as ButtonVariant } from './button.types-95cc8d1d.js';
3
3
 
4
4
  const colourBlockCss = ".colourBlock.sc-admiralty-colour-block{height:100%;width:100%;max-width:100%;padding:30px 18px;display:flex;flex-direction:column;box-sizing:border-box}.colourBlock.sc-admiralty-colour-block .content.sc-admiralty-colour-block{flex-grow:1}.colourBlock.sc-admiralty-colour-block .clickAction.sc-admiralty-colour-block{background-color:unset;align-self:flex-end;cursor:pointer}.colourBlock.sc-admiralty-colour-block .clickAction.sc-admiralty-colour-block h3.sc-admiralty-colour-block{margin-bottom:0px}.colourBlock.admiralty-blue.sc-admiralty-colour-block{background-color:#09315b}.colourBlock.admiralty-blue.sc-admiralty-colour-block *.sc-admiralty-colour-block{color:#ffffff}.colourBlock.teal.sc-admiralty-colour-block{background-color:#007e97}.colourBlock.teal.sc-admiralty-colour-block *.sc-admiralty-colour-block{color:#ffffff}.colourBlock.bright-blue.sc-admiralty-colour-block{background-color:#65c4db;color:#09315b}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
  import { a as faExclamation, b as faCheck, c as faTriangleExclamation, d as faCircleInfo } from './index-07e55065.js';
3
3
 
4
4
  const dialogueCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-dialogue{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-dialogue{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-dialogue{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-dialogue{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-dialogue{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-dialogue{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-dialogue{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-dialogue{display:none}}.dialogue.sc-admiralty-dialogue{box-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.2);padding:30px 18px;overflow-wrap:break-word;word-wrap:break-word}@media (max-width: 1023px){.dialogue.sc-admiralty-dialogue{padding:24px 18px}}.dialogue.sc-admiralty-dialogue .dialogue-title.sc-admiralty-dialogue{color:#09315b;font-size:20px;font-weight:normal;line-height:30px;display:flex;align-items:center;overflow-wrap:break-word;word-wrap:break-word;margin-bottom:12px}.dialogue.sc-admiralty-dialogue .dialogue-title.sc-admiralty-dialogue .dialogue-title-icon.sc-admiralty-dialogue{margin-right:12px}.dialogue.info.sc-admiralty-dialogue{border-left:5px solid #0177c1;background-color:#e0ecf3}.dialogue.error.sc-admiralty-dialogue{border-left:5px solid #e20d0d;background-color:#f7e1e1}.dialogue.success.sc-admiralty-dialogue{border-left:5px solid #47a234;background-color:#e7f1e5}.dialogue.warning.sc-admiralty-dialogue{border-left:5px solid #e3660e;background-color:#f8ede3}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-b834f47d.js';
2
2
  import { k as faChevronUp, l as faChevronDown } from './index-07e55065.js';
3
3
 
4
4
  const expansionCss = "section.expansion.sc-admiralty-expansion{padding:2px 0;border-bottom:1px solid transparent}section.expansion.bordered.sc-admiralty-expansion{border-bottom:1px solid #d8d8d8}section.expansion.sc-admiralty-expansion .expansion-content.sc-admiralty-expansion{display:none;max-height:0;overflow:visible}section.expansion.expanded.sc-admiralty-expansion .expansion-content.sc-admiralty-expansion{display:block;max-height:initial;padding-bottom:12px}section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion{background-color:transparent;border:none;height:initial;min-width:unset;max-width:unset;white-space:unset;color:initial;font-size:16px;cursor:pointer;margin:10px 0 22px;padding:0;display:flex;align-items:baseline;width:100%;text-align:left;position:relative}section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion .expansion-heading-icon.sc-admiralty-expansion{color:#09315b;margin-left:30px}section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion:focus{outline:none}section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion h3.sc-admiralty-expansion,section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion button.sc-admiralty-expansion{flex-grow:1;margin-bottom:0}section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion h3.expansion-heading-right-align.sc-admiralty-expansion,section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion button.expansion-heading-right-align.sc-admiralty-expansion{text-align:right}section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion:focus h3.sc-admiralty-expansion::before,section.expansion.sc-admiralty-expansion button.sc-admiralty-expansion:focus button.sc-admiralty-expansion::before{content:\"\";position:absolute;top:0;bottom:0;right:-3px;left:-3px;box-shadow:0 0 0 3px #ffdd00}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b834f47d.js';
2
2
 
3
3
  const fileInputCss = ".admiralty-file-input.sc-admiralty-file-input{background:#eee;display:flex;position:relative;border:2px dashed #09315b;min-height:120px;align-content:stretch;justify-content:stretch;margin-bottom:36px;font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-weight:300}.admiralty-file-input.drop_zone.sc-admiralty-file-input{background:#fff !important}.admiralty-file-input.sc-admiralty-file-input .upload-icon.sc-admiralty-file-input{color:#09315b;font-size:24px;font-weight:900;margin:0.4rem auto;text-align:center;flex:0 1}label.sc-admiralty-file-input{border-image-repeat:stretch;border-image-width:1;display:flex;align-content:center;flex-direction:column;flex:1;justify-content:center;cursor:pointer}label.sc-admiralty-file-input span.sc-admiralty-file-input{color:#09315b;flex:0 1;font-size:18px;font-weight:300;text-align:center;margin:0.4rem 0}label.sc-admiralty-file-input span.instructions.sc-admiralty-file-input{font-weight:normal}input[type=file].sc-admiralty-file-input{align-items:baseline;overflow:visible;position:absolute;top:0;bottom:0;z-index:-1;width:100%}input[type=file].sc-admiralty-file-input:focus{outline:3px solid #ffdd00;outline-offset:2px}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const filterGroupCss = "";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-b834f47d.js';
2
2
 
3
3
  const filterCss = "@charset \"UTF-8\";@media (max-width: 1023px){.desktop-only.sc-admiralty-filter{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-filter{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-filter{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-filter{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-filter{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-filter{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-filter{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-filter{display:none}}*.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-weight:300;color:#333333}@media (max-width: 1023px){*.sc-admiralty-filter{font-size:16px}}a.sc-admiralty-filter{color:#09315b}a.sc-admiralty-filter:focus{outline:3px solid #ffdd00;outline-offset:1px}h1.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:48px;line-height:60px;margin:0 0 30px 0}@media (max-width: 1023px){h1.sc-admiralty-filter{font-size:46px;line-height:54px}}h2.sc-admiralty-filter,.filter-heading.sc-admiralty-filter .filter-title.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:36px;line-height:48px;margin-bottom:18px}@media (max-width: 1023px){h2.sc-admiralty-filter,.filter-heading.sc-admiralty-filter .filter-title.sc-admiralty-filter{font-size:34px;line-height:42px}}h3.sc-admiralty-filter,h4.sc-admiralty-filter,h5.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:21px;line-height:30px;margin-bottom:12px}@media (max-width: 1023px){h3.sc-admiralty-filter,h4.sc-admiralty-filter,h5.sc-admiralty-filter{font-size:20px;line-height:30px}}h6.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:18px;line-height:24px;margin-bottom:12px}@media (max-width: 1023px){h6.sc-admiralty-filter{font-size:16px}}p.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;margin-bottom:30px}.intro.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:28px;line-height:36px;margin-bottom:30px}@media (max-width: 1023px){.intro.sc-admiralty-filter{font-size:26px}}.small.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:16px}@media (max-width: 1023px){.small.sc-admiralty-filter{font-size:14px;line-height:22px}}blockquote.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;line-height:30px;width:100%;padding:24px 18px;border-left:5px solid #09315b;margin-bottom:30px;background:#eeeeee}@media (max-width: 1023px){blockquote.sc-admiralty-filter{line-height:24px}}ul.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;list-style:none}ul.sc-admiralty-filter a.sc-admiralty-filter{font-weight:300}ul.sc-admiralty-filter li.sc-admiralty-filter{margin-bottom:12px}ul.sc-admiralty-filter li.sc-admiralty-filter:before{content:\"■\";font-size:18px;color:#09315b;vertical-align:text-bottom;margin-right:12px}@media (max-width: 1023px){ul.sc-admiralty-filter li.sc-admiralty-filter:before{font-size:8px}}ol.sc-admiralty-filter{font-family:\"JohnstonITC\", Helvetica, sans-serif;list-style:none;counter-reset:li}ol.sc-admiralty-filter a.sc-admiralty-filter{font-weight:300}ol.sc-admiralty-filter li.sc-admiralty-filter:before{content:counter(li) \".\";color:#03284f;font-size:18px;margin-right:12px}ol.sc-admiralty-filter li.sc-admiralty-filter{counter-increment:li;margin-bottom:12px}.white-text.sc-admiralty-filter *.sc-admiralty-filter{color:#ffffff}.filter-heading.sc-admiralty-filter{display:flex;justify-content:space-between;align-items:baseline}.filter-heading.sc-admiralty-filter .button-wrapper.sc-admiralty-filter{position:relative;margin-left:28px}.filter-heading.sc-admiralty-filter .button-wrapper.sc-admiralty-filter button.text-link.sc-admiralty-filter{background-color:unset;border:none;color:black;padding:0;min-width:unset;width:unset;height:unset;font-size:16px;text-decoration:underline;font-weight:unset;cursor:pointer}.filter-heading.sc-admiralty-filter .button-wrapper.sc-admiralty-filter button.text-link.sc-admiralty-filter:hover{background-color:unset;border:unset}.filter-heading.sc-admiralty-filter .button-wrapper.sc-admiralty-filter button.text-link.sc-admiralty-filter:focus{outline:none}.filter-heading.sc-admiralty-filter .button-wrapper.sc-admiralty-filter button.text-link.sc-admiralty-filter:focus::after{content:\"\";position:absolute;top:-3px;bottom:0;right:-3px;left:-3px;box-shadow:0 0 0 3px #ffdd00}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const footerCss = "@charset \"UTF-8\";@media (max-width: 1023px){.desktop-only.sc-admiralty-footer{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-footer{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-footer{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-footer{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-footer{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-footer{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-footer{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-footer{display:none}}*.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:18px;line-height:24px;font-weight:300;color:#333333}@media (max-width: 1023px){*.sc-admiralty-footer{font-size:16px}}a.sc-admiralty-footer{color:#09315b}a.sc-admiralty-footer:focus{outline:3px solid #ffdd00;outline-offset:1px}h1.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:48px;line-height:60px;margin:0 0 30px 0}@media (max-width: 1023px){h1.sc-admiralty-footer{font-size:46px;line-height:54px}}h2.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:36px;line-height:48px;margin-bottom:18px}@media (max-width: 1023px){h2.sc-admiralty-footer{font-size:34px;line-height:42px}}h3.sc-admiralty-footer,h4.sc-admiralty-footer,h5.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:21px;line-height:30px;margin-bottom:12px}@media (max-width: 1023px){h3.sc-admiralty-footer,h4.sc-admiralty-footer,h5.sc-admiralty-footer{font-size:20px;line-height:30px}}h6.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;color:#09315b;font-weight:normal;font-size:18px;line-height:24px;margin-bottom:12px}@media (max-width: 1023px){h6.sc-admiralty-footer{font-size:16px}}p.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;margin-bottom:30px}.intro.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:28px;line-height:36px;margin-bottom:30px}@media (max-width: 1023px){.intro.sc-admiralty-footer{font-size:26px}}.small.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-size:16px}@media (max-width: 1023px){.small.sc-admiralty-footer{font-size:14px;line-height:22px}}blockquote.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;line-height:30px;width:100%;padding:24px 18px;border-left:5px solid #09315b;margin-bottom:30px;background:#eeeeee}@media (max-width: 1023px){blockquote.sc-admiralty-footer{line-height:24px}}ul.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;list-style:none}ul.sc-admiralty-footer a.sc-admiralty-footer{font-weight:300}ul.sc-admiralty-footer li.sc-admiralty-footer{margin-bottom:12px}ul.sc-admiralty-footer li.sc-admiralty-footer:before{content:\"■\";font-size:18px;color:#09315b;vertical-align:text-bottom;margin-right:12px}@media (max-width: 1023px){ul.sc-admiralty-footer li.sc-admiralty-footer:before{font-size:8px}}ol.sc-admiralty-footer{font-family:\"JohnstonITC\", Helvetica, sans-serif;list-style:none;counter-reset:li}ol.sc-admiralty-footer a.sc-admiralty-footer{font-weight:300}ol.sc-admiralty-footer li.sc-admiralty-footer:before{content:counter(li) \".\";color:#03284f;font-size:18px;margin-right:12px}ol.sc-admiralty-footer li.sc-admiralty-footer{counter-increment:li;margin-bottom:12px}.white-text.sc-admiralty-footer *.sc-admiralty-footer{color:#ffffff}footer.sc-admiralty-footer{border-top:#09315b 0.375rem solid;height:148px;background:#eeeeee;display:flex;flex-direction:row}footer.sc-admiralty-footer .footer-branding.sc-admiralty-footer .footer-img.sc-admiralty-footer{padding:24px;height:100%;box-sizing:border-box}footer.sc-admiralty-footer .footer-branding.sc-admiralty-footer .footer-img.sc-admiralty-footer img.sc-admiralty-footer{min-width:186px;max-width:246px;height:100%}footer.sc-admiralty-footer .footer-content.sc-admiralty-footer{flex-grow:1;display:flex;flex-direction:column;padding-right:30px}footer.sc-admiralty-footer .footer-content.sc-admiralty-footer .footer-links.sc-admiralty-footer{align-self:flex-end;flex-grow:1;margin-top:36px}footer .footer-content .footer-links.sc-admiralty-footer-s>admiralty-link a,footer .footer-content .footer-links .sc-admiralty-footer-s>admiralty-link a{margin-left:1.5rem;font-weight:normal}footer.sc-admiralty-footer .footer-content.sc-admiralty-footer .footer-text.sc-admiralty-footer{align-self:flex-end;margin-bottom:24px}footer.sc-admiralty-footer .footer-content.sc-admiralty-footer .footer-text.sc-admiralty-footer p.sc-admiralty-footer{text-align:right;margin:0;font-weight:300;font-size:16px;line-height:24px;color:#333333}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b834f47d.js';
2
2
 
3
3
  const headerMenuItemCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-header-menu-item{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-header-menu-item{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-header-menu-item{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-header-menu-item{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-header-menu-item{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-header-menu-item{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-header-menu-item{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-header-menu-item{display:none}}.menu-item.sc-admiralty-header-menu-item{cursor:pointer}.menu-item.sc-admiralty-header-menu-item .menu-title.sc-admiralty-header-menu-item{font-size:18px}@media (min-width: 1024px){.menu-item.sc-admiralty-header-menu-item{display:flex;flex:0;flex-direction:column;height:100%;justify-content:center;line-height:1.33em;margin-bottom:0;min-width:4em;max-width:11.1em;padding:0 1.65em;position:relative;text-align:center}.menu-item.sc-admiralty-header-menu-item .menu-title.sc-admiralty-header-menu-item{font-weight:normal}.menu-item.sc-admiralty-header-menu-item .sub-menu.sc-admiralty-header-menu-item{display:none;position:absolute;border:1px solid #d8d8d8;right:0;top:100%}.menu-item.sc-admiralty-header-menu-item:hover{box-shadow:inset 0 -5px #09315b;background-color:#f0f0f0}.menu-item.sc-admiralty-header-menu-item:hover .sub-menu.sc-admiralty-header-menu-item{display:flex;flex-direction:column}.menu-item.active.sc-admiralty-header-menu-item{box-shadow:inset 0 -5px #09315b}}@media (max-width: 1023px){.menu-item.sc-admiralty-header-menu-item{display:block;box-sizing:border-box;color:#09315b;background-color:unset;text-align:unset;text-decoration:unset}.menu-item.sc-admiralty-header-menu-item .menu-title.sc-admiralty-header-menu-item{padding:12px;font-weight:500}.menu-item.sc-admiralty-header-menu-item .menu-title.sc-admiralty-header-menu-item:hover{background-color:#f0f0f0}.menu-item.sc-admiralty-header-menu-item .menu-title.sc-admiralty-header-menu-item:focus{box-shadow:#ffdd00 inset 0 0 0 3px}}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-b834f47d.js';
2
2
 
3
3
  const headerProfileCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-header-profile{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-header-profile{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-header-profile{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-header-profile{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-header-profile{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-header-profile{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-header-profile{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-header-profile{display:none}}.header-profile.sc-admiralty-header-profile{color:#09315b;cursor:pointer}@media (min-width: 1024px){.header-profile.sc-admiralty-header-profile{display:flex;flex:0;flex-direction:column;font-size:18px !important;height:100%;justify-content:center;line-height:1.33em;margin-bottom:0;min-width:4em;max-width:11.1em;padding:0 1.65em;position:relative;text-align:center}.header-profile.sc-admiralty-header-profile .not-desktop.sc-admiralty-header-profile{display:none}.header-profile.sc-admiralty-header-profile button.sc-admiralty-header-profile{all:unset;height:100%;width:100%;font-weight:normal}.header-profile.sc-admiralty-header-profile:hover{box-shadow:inset 0 -5px #09315b;background-color:#f0f0f0}.header-profile.sc-admiralty-header-profile:hover .sub-menu.sc-admiralty-header-profile{display:flex}.header-profile.active.sc-admiralty-header-profile{box-shadow:inset 0 -5px #09315b}.header-profile.sc-admiralty-header-profile .sub-menu.sc-admiralty-header-profile{display:none;flex-direction:column;font-size:18px;position:absolute;top:100%;right:0;border:1px solid #d8d8d8;width:300px}.header-profile.sc-admiralty-header-profile .sub-menu.sc-admiralty-header-profile .sub-menu-item.sc-admiralty-header-profile{box-sizing:content-box;margin:0;width:100%}.header-profile.sc-admiralty-header-profile .sub-menu.sc-admiralty-header-profile .sub-menu-item.sc-admiralty-header-profile button.sc-admiralty-header-profile{all:unset;box-sizing:border-box;display:block;font-weight:300;height:100%;padding:10px;text-align:left;width:100%}.header-profile.sc-admiralty-header-profile .sub-menu.sc-admiralty-header-profile .sub-menu-item.sc-admiralty-header-profile button.sc-admiralty-header-profile:hover{background-color:#f0f0f0}}@media (max-width: 1023px){.header-profile.sc-admiralty-header-profile{border-top:1px solid #d8d8d8}.header-profile.sc-admiralty-header-profile .desktop.sc-admiralty-header-profile{display:none}.header-profile.sc-admiralty-header-profile .sub-menu-item.sc-admiralty-header-profile{display:block;box-sizing:border-box;font-size:18px;font-weight:500;background-color:unset;text-align:unset;text-decoration:unset;padding:12px}.header-profile.sc-admiralty-header-profile .sub-menu-item.sc-admiralty-header-profile:hover{background-color:#f0f0f0}.header-profile.sc-admiralty-header-profile .sub-menu-item.sc-admiralty-header-profile:focus{box-shadow:#ffdd00 inset 0 0 0 3px}}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-b834f47d.js';
2
2
 
3
3
  const headerSubMenuItemCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-header-sub-menu-item{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-header-sub-menu-item{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-header-sub-menu-item{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-header-sub-menu-item{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-header-sub-menu-item{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-header-sub-menu-item{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-header-sub-menu-item{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-header-sub-menu-item{display:none}}.header-sub-menu-item.sc-admiralty-header-sub-menu-item .title.sc-admiralty-header-sub-menu-item{font-size:18px;font-weight:300}@media (min-width: 1024px){.header-sub-menu-item.sc-admiralty-header-sub-menu-item{box-sizing:border-box;color:#09315b;display:block;margin-bottom:0;padding:0 0.66em;text-align:center;width:300px}.header-sub-menu-item.sc-admiralty-header-sub-menu-item .title.sc-admiralty-header-sub-menu-item{display:block;padding:10px;text-align:center}.header-sub-menu-item.sc-admiralty-header-sub-menu-item:hover{background-color:#f0f0f0}}@media (max-width: 1023px){.header-sub-menu-item.sc-admiralty-header-sub-menu-item{display:block;box-sizing:border-box;padding:12px 24px;cursor:pointer;color:#09315b;font-weight:500;background-color:unset;text-align:unset;text-decoration:unset}.header-sub-menu-item.sc-admiralty-header-sub-menu-item:hover{background-color:#f0f0f0}.header-sub-menu-item.sc-admiralty-header-sub-menu-item:focus{box-shadow:#ffdd00 inset 0 0 0 3px}}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-b834f47d.js';
2
2
  import { e as faTimes, g as faBars } from './index-07e55065.js';
3
3
 
4
4
  const headerCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-header{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-header{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-header{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-header{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-header{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-header{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-header{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-header{display:none}}.admiralty-header.sc-admiralty-header{font-size:18px;font-weight:300;line-height:24px}.header-menu.sc-admiralty-header{border-bottom:1px solid #d8d8d8;display:flex;flex-direction:row;background-color:#fff;height:5em;min-height:5em;position:relative}@media (max-width: 1023px){.header-menu.sc-admiralty-header{height:56px;min-height:56px;position:relative}}.header-branding.sc-admiralty-header{display:flex;flex-direction:row;flex-grow:1;font-size:18px;padding:1.3em 0 1.3em 1.3em}@media (max-width: 1023px){.header-branding.sc-admiralty-header{padding-left:12px;padding-top:12px;padding-bottom:12px;flex-grow:1}}.header-branding.sc-admiralty-header a.header-logo.sc-admiralty-header{background-color:transparent;color:#09315b}.header-branding.sc-admiralty-header a.header-logo.sc-admiralty-header img.sc-admiralty-header{height:100%;width:9em}.header-branding.sc-admiralty-header a.header-logo.sc-admiralty-header:focus{outline:3px solid #fd0;outline-offset:3px}.header-branding.sc-admiralty-header .vertical-seperator.sc-admiralty-header{border-right:1px solid #d8d8d8;margin-left:24px;margin-right:24px}@media (max-width: 1023px){.header-branding.sc-admiralty-header .vertical-seperator.sc-admiralty-header{margin-left:12px;margin-right:12px}}.header-branding.sc-admiralty-header .header-title.sc-admiralty-header{display:flex;flex-direction:column;flex-grow:1;justify-content:center;font-size:2em;line-height:2em;margin-bottom:unset !important;user-select:none}@media (max-width: 1023px){.header-branding.sc-admiralty-header .header-title.sc-admiralty-header{font-size:24px;line-height:24px !important;white-space:pre-wrap}}.header-branding.sc-admiralty-header .header-title.sc-admiralty-header a.sc-admiralty-header{cursor:pointer;font-size:1em;font-weight:normal;line-height:1;max-width:fit-content;text-decoration:none}@media (max-width: 1023px){.header-branding.sc-admiralty-header .header-title.sc-admiralty-header a.sc-admiralty-header{font-size:24px}}.header-branding.sc-admiralty-header .header-title.sc-admiralty-header a.sc-admiralty-header:focus{outline:3px solid #fd0;outline-offset:3px}.header-menus.sc-admiralty-header{display:flex;justify-content:flex-end}.header-menus.sc-admiralty-header .mobile-menu-toggle.sc-admiralty-header{display:none;flex-direction:column;justify-content:center}@media (max-width: 1023px){.header-menus.sc-admiralty-header .mobile-menu-toggle.display-hamburger.sc-admiralty-header{display:flex}}.header-menus.sc-admiralty-header .mobile-menu-toggle.sc-admiralty-header button.sc-admiralty-header{background-color:unset}.header-menus.sc-admiralty-header .mobile-menu-toggle.sc-admiralty-header button.sc-admiralty-header admiralty-icon.sc-admiralty-header{font-size:24px;font-weight:900;padding:12px;cursor:pointer;min-width:24px;min-height:24px;text-align:center;user-select:none;color:#09315b}.header-menus.sc-admiralty-header .mobile-menu-toggle.sc-admiralty-header button.sc-admiralty-header:focus{outline:none;box-shadow:#ffdd00 inset 0 0 0 3px}@media (max-width: 1023px){.header-menus.sc-admiralty-header .menu-sections.sc-admiralty-header{display:none;min-height:56px;position:relative;right:0;position:absolute;top:100%;z-index:999;min-width:100%;background-color:#ffffff;border:1px solid #d8d8d8}}@media (max-width: 1023px) and (max-width: 1023px) and (min-width: 480px){.header-menus.sc-admiralty-header .menu-sections.sc-admiralty-header{min-width:50%;margin-left:50%}}@media (max-width: 1023px){.header-menus.sc-admiralty-header .menu-sections.mob-menus-visible.sc-admiralty-header{display:block}}@media (min-width: 1024px){.header-menus.sc-admiralty-header .menu-sections.sc-admiralty-header,.header-menus.sc-admiralty-header .menu-items.sc-admiralty-header,.header-menus.sc-admiralty-header .header-profile.sc-admiralty-header{display:flex;flex:0;flex-direction:row}}.sc-admiralty-header-s>admiralty-header-menu-item{color:red !important}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-326224c6.js';
1
+ import { r as registerInstance, h, H as Host } from './index-b834f47d.js';
2
2
  import { a as faExclamation } from './index-07e55065.js';
3
3
 
4
4
  const hintCss = "p.sc-admiralty-hint{margin-top:0;margin-bottom:6px;display:block;font-weight:300}p.disabled.sc-admiralty-hint{color:#adadad}";
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const horizontalRuleCss = "hr.sc-admiralty-hr{width:100%;border-top:1px solid #d0d0d0}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-326224c6.js';
1
+ import { r as registerInstance, h, H as Host } from './index-b834f47d.js';
2
2
  import { m as icons$2 } from './index-07e55065.js';
3
3
 
4
4
  function ownKeys(object, enumerableOnly) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-b834f47d.js';
2
2
 
3
3
  const inputCss = ".text-input-container.sc-admiralty-input{display:flex;flex-direction:column}.text-input-container.sc-admiralty-input input.sc-admiralty-input{background-color:#ffffff;border-color:#333333;border-width:2px;border-style:solid;color:#333333;font-size:18px;line-height:24px;font-weight:300;padding:12px}.text-input-container.sc-admiralty-input input.sc-admiralty-input:focus{outline-offset:unset;outline:3px solid #ffdd00;box-shadow:#333333 inset 0 0 0 2px}.text-input-container.sc-admiralty-input input.invalid.sc-admiralty-input{border-color:#e20d0d}.text-input-container.sc-admiralty-input input.invalid.sc-admiralty-input:focus-visible{border-color:unset;outline:3px solid #ffdd00}.text-input-container.sc-admiralty-input input.disabled.sc-admiralty-input{color:#adadad;border-color:#adadad;background:#ffffff}.text-input-container.sc-admiralty-input admiralty-input-error.sc-admiralty-input{margin-top:6px}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const LinkComponent = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, h, g as getElement } from './index-b834f47d.js';
2
2
 
3
3
  const PaginatorWrapperComponent = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-b834f47d.js';
2
2
  import { B as ButtonVariant } from './button.types-95cc8d1d.js';
3
3
  import { f as faChevronRight, h as faChevronLeft } from './index-07e55065.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const phaseBannerCss = "@media (max-width: 1023px){.desktop-only.sc-admiralty-phase-banner{display:none}}@media (min-width: 1024px){.not-desktop.sc-admiralty-phase-banner{display:none}}@media (min-width: 1024px){.tablet-only.sc-admiralty-phase-banner{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-only.sc-admiralty-phase-banner{display:none}}@media (max-width: 479px) and (min-width: 0px){.tablet-or-desktop.sc-admiralty-phase-banner{display:none}}@media (min-width: 1024px){.phone-or-tablet.sc-admiralty-phase-banner{display:none}}@media (min-width: 1024px){.phone-only.sc-admiralty-phase-banner{display:none}}@media (max-width: 1023px) and (min-width: 480px){.phone-only.sc-admiralty-phase-banner{display:none}}.phase-banner.sc-admiralty-phase-banner{display:block;line-height:40px;width:100%;padding:0 18px}@media (min-width: 1024px){.phase-banner.sc-admiralty-phase-banner{padding:0 20px}}.phase-banner.sc-admiralty-phase-banner strong.sc-admiralty-phase-banner{border:2px solid;font-weight:bold;text-transform:uppercase;letter-spacing:1px;color:#09315b;padding:6px 8px 3px;margin-right:10px}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-326224c6.js';
1
+ import { r as registerInstance, h } from './index-b834f47d.js';
2
2
 
3
3
  const progressBarCss = "progress.sc-admiralty-progress-bar{appearance:none;background:#eeeeee;border:none;box-sizing:border-box;color:#09315b;display:inline-block;font-size:18px;flex:1;height:1em;width:100%}progress[value].error.sc-admiralty-progress-bar::-webkit-progress-value{background-color:#e20d0d}progress[value].sc-admiralty-progress-bar::-webkit-progress-value{background-color:#47a234}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b834f47d.js';
2
2
 
3
3
  const radioGroupCss = ".radio-group.sc-admiralty-radio-group{display:flex;flex-direction:row}.radio-group.sc-admiralty-radio-group-s>*,.radio-group .sc-admiralty-radio-group-s>*{margin-right:2em !important}.stack.sc-admiralty-radio-group{flex-direction:column}.stack.sc-admiralty-radio-group-s>*,.stack .sc-admiralty-radio-group-s>*{margin-bottom:10px !important}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-b834f47d.js';
2
2
 
3
3
  const radioCss = ".admiralty-radio.sc-admiralty-radio input.sc-admiralty-radio{appearance:none;border:2px solid #09315b;border-radius:1rem;height:1.5rem;width:1.5rem;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-right:18px}.admiralty-radio.sc-admiralty-radio input.sc-admiralty-radio:checked:after{border-radius:100%;background-color:#09315b;width:0.8rem;height:0.8rem;content:\" \"}.admiralty-radio.sc-admiralty-radio input.sc-admiralty-radio:disabled{border:2px solid #adadad}.admiralty-radio.sc-admiralty-radio input.sc-admiralty-radio:focus{outline:3px solid #ffdd00;outline-offset:0}.admiralty-radio.sc-admiralty-radio label.sc-admiralty-radio{font-family:\"JohnstonITC\", Helvetica, sans-serif;font-weight:300;position:relative;top:2px}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-326224c6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-b834f47d.js';
2
2
  import { i as faArrowDown, j as faArrowRight } from './index-07e55065.js';
3
3
 
4
4
  const readMoreCss = "section.expansion.sc-admiralty-read-more{padding:2px 0}section.expansion.sc-admiralty-read-more .expansion-content.sc-admiralty-read-more{display:none;max-height:0;overflow:visible;border-left:4px solid #0177c1}section.expansion.expanded.sc-admiralty-read-more .expansion-content.sc-admiralty-read-more{display:block;max-height:initial;padding:2px 5px}section.expansion.sc-admiralty-read-more button.sc-admiralty-read-more{background-color:transparent;border:none;white-space:unset;color:initial;cursor:pointer;margin:8px 0px;padding:4px;align-items:baseline;text-align:left;text-decoration:underline}section.expansion.sc-admiralty-read-more button.expanded.sc-admiralty-read-more span.sc-admiralty-read-more{font-weight:normal}section.expansion.sc-admiralty-read-more button.sc-admiralty-read-more .expansion-heading-icon.sc-admiralty-read-more{margin-left:5px;margin-right:8px;vertical-align:top}section.expansion.sc-admiralty-read-more button.sc-admiralty-read-more:focus{outline:none;box-shadow:0 0 0 3px #ffdd00}";