@nationalarchives/frontend 0.1.18-prerelease → 0.1.20-prerelease

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 (170) hide show
  1. package/nationalarchives/all.css +12 -2
  2. package/nationalarchives/all.css.map +1 -1
  3. package/nationalarchives/all.js +1 -1
  4. package/nationalarchives/all.js.map +1 -1
  5. package/nationalarchives/all.mjs +26 -2
  6. package/nationalarchives/all.scss +20 -4
  7. package/nationalarchives/assets/fonts/OpenSans-Bold.ttf +0 -0
  8. package/nationalarchives/assets/fonts/OpenSans-Medium.ttf +0 -0
  9. package/nationalarchives/assets/fonts/RobotoMono-Regular.ttf +0 -0
  10. package/nationalarchives/components/_index.scss +18 -16
  11. package/nationalarchives/components/breadcrumbs/_index.scss +1 -109
  12. package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -0
  13. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -0
  14. package/nationalarchives/components/breadcrumbs/breadcrumbs.js +1 -1
  15. package/nationalarchives/components/breadcrumbs/breadcrumbs.js.map +1 -1
  16. package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +111 -0
  17. package/nationalarchives/components/button/_button-group.scss +3 -5
  18. package/nationalarchives/components/button/_index.scss +1 -73
  19. package/nationalarchives/components/button/button.css +13 -0
  20. package/nationalarchives/components/button/button.css.map +1 -0
  21. package/nationalarchives/components/button/button.scss +103 -0
  22. package/nationalarchives/components/button/button.stories.js +61 -0
  23. package/nationalarchives/components/button/macro-options.json +19 -1
  24. package/nationalarchives/components/button/template.njk +8 -2
  25. package/nationalarchives/components/card/_index.scss +1 -183
  26. package/nationalarchives/components/card/card.css +13 -0
  27. package/nationalarchives/components/card/card.css.map +1 -0
  28. package/nationalarchives/components/card/card.scss +171 -0
  29. package/nationalarchives/components/card/card.stories.js +185 -95
  30. package/nationalarchives/components/card/fixtures.json +83 -92
  31. package/nationalarchives/components/card/macro-options.json +77 -48
  32. package/nationalarchives/components/card/template.njk +47 -37
  33. package/nationalarchives/components/cookie-banner/_index.scss +1 -0
  34. package/nationalarchives/components/cookie-banner/cookie-banner.css +13 -0
  35. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -0
  36. package/nationalarchives/components/cookie-banner/cookie-banner.js +2 -0
  37. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -0
  38. package/nationalarchives/components/cookie-banner/cookie-banner.mjs +83 -0
  39. package/nationalarchives/components/cookie-banner/cookie-banner.scss +32 -0
  40. package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +164 -0
  41. package/nationalarchives/components/cookie-banner/fixtures.json +4 -0
  42. package/nationalarchives/components/cookie-banner/macro-options.json +38 -0
  43. package/nationalarchives/components/cookie-banner/macro.njk +3 -0
  44. package/nationalarchives/components/cookie-banner/template.njk +61 -0
  45. package/nationalarchives/components/filters/_index.scss +1 -54
  46. package/nationalarchives/components/filters/filters.css +1 -0
  47. package/nationalarchives/components/filters/filters.css.map +1 -0
  48. package/nationalarchives/components/filters/filters.scss +53 -0
  49. package/nationalarchives/components/footer/_index.scss +1 -270
  50. package/nationalarchives/components/footer/footer.css +13 -0
  51. package/nationalarchives/components/footer/footer.css.map +1 -0
  52. package/nationalarchives/components/footer/footer.scss +265 -0
  53. package/nationalarchives/components/footer/footer.stories.js +6 -6
  54. package/nationalarchives/components/footer/macro-options.json +7 -1
  55. package/nationalarchives/components/footer/template.njk +10 -6
  56. package/nationalarchives/components/gallery/_index.scss +1 -0
  57. package/nationalarchives/components/gallery/fixtures.json +4 -0
  58. package/nationalarchives/components/gallery/gallery.css +13 -0
  59. package/nationalarchives/components/gallery/gallery.css.map +1 -0
  60. package/nationalarchives/components/gallery/gallery.js +2 -0
  61. package/nationalarchives/components/gallery/gallery.js.map +1 -0
  62. package/nationalarchives/components/gallery/gallery.mjs +80 -0
  63. package/nationalarchives/components/gallery/gallery.scss +129 -0
  64. package/nationalarchives/components/gallery/gallery.stories.js +76 -0
  65. package/nationalarchives/components/gallery/macro-options.json +104 -0
  66. package/nationalarchives/components/gallery/macro.njk +3 -0
  67. package/nationalarchives/components/gallery/template.njk +45 -0
  68. package/nationalarchives/components/grid/_index.scss +1 -79
  69. package/nationalarchives/components/grid/grid.css +1 -0
  70. package/nationalarchives/components/grid/grid.css.map +1 -0
  71. package/nationalarchives/components/grid/grid.scss +81 -0
  72. package/nationalarchives/components/header/_index.scss +1 -586
  73. package/nationalarchives/components/header/header.css +1 -0
  74. package/nationalarchives/components/header/header.css.map +1 -0
  75. package/nationalarchives/components/header/header.js +1 -1
  76. package/nationalarchives/components/header/header.js.map +1 -1
  77. package/nationalarchives/components/header/header.scss +594 -0
  78. package/nationalarchives/components/header/header.stories.js +5 -5
  79. package/nationalarchives/components/hero/_index.scss +1 -167
  80. package/nationalarchives/components/hero/hero.css +1 -0
  81. package/nationalarchives/components/hero/hero.css.map +1 -0
  82. package/nationalarchives/components/hero/hero.scss +169 -0
  83. package/nationalarchives/components/index-grid/_index.scss +1 -82
  84. package/nationalarchives/components/index-grid/index-grid.css +1 -0
  85. package/nationalarchives/components/index-grid/index-grid.css.map +1 -0
  86. package/nationalarchives/components/index-grid/index-grid.scss +84 -0
  87. package/nationalarchives/components/message/_index.scss +1 -35
  88. package/nationalarchives/components/message/message.css +1 -0
  89. package/nationalarchives/components/message/message.css.map +1 -0
  90. package/nationalarchives/components/message/message.scss +36 -0
  91. package/nationalarchives/components/phase-banner/_index.scss +1 -60
  92. package/nationalarchives/components/phase-banner/fixtures.json +8 -8
  93. package/nationalarchives/components/phase-banner/phase-banner.css +1 -0
  94. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -0
  95. package/nationalarchives/components/phase-banner/phase-banner.scss +31 -0
  96. package/nationalarchives/components/phase-banner/template.njk +2 -2
  97. package/nationalarchives/components/picture/_index.scss +1 -62
  98. package/nationalarchives/components/picture/picture.css +13 -0
  99. package/nationalarchives/components/picture/picture.css.map +1 -0
  100. package/nationalarchives/components/picture/picture.js +1 -1
  101. package/nationalarchives/components/picture/picture.js.map +1 -1
  102. package/nationalarchives/components/picture/picture.mjs +2 -1
  103. package/nationalarchives/components/picture/picture.scss +65 -0
  104. package/nationalarchives/components/profile/_index.scss +1 -2
  105. package/nationalarchives/components/profile/profile.css +1 -0
  106. package/nationalarchives/components/profile/profile.css.map +1 -0
  107. package/nationalarchives/components/profile/profile.scss +5 -0
  108. package/nationalarchives/components/sensitive-image/_index.scss +1 -77
  109. package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -0
  110. package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -0
  111. package/nationalarchives/components/sensitive-image/sensitive-image.js +1 -1
  112. package/nationalarchives/components/sensitive-image/sensitive-image.js.map +1 -1
  113. package/nationalarchives/components/sensitive-image/sensitive-image.scss +78 -0
  114. package/nationalarchives/components/skip-link/_index.scss +1 -63
  115. package/nationalarchives/components/skip-link/skip-link.css +1 -0
  116. package/nationalarchives/components/skip-link/skip-link.css.map +1 -0
  117. package/nationalarchives/components/skip-link/skip-link.scss +61 -0
  118. package/nationalarchives/components/tabs/_index.scss +1 -144
  119. package/nationalarchives/components/tabs/tabs.css +1 -0
  120. package/nationalarchives/components/tabs/tabs.css.map +1 -0
  121. package/nationalarchives/components/tabs/tabs.js +1 -1
  122. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  123. package/nationalarchives/components/tabs/tabs.mjs +2 -0
  124. package/nationalarchives/components/tabs/tabs.scss +143 -0
  125. package/nationalarchives/components/tabs/tabs.stories.js +0 -1
  126. package/nationalarchives/lib/_font-awesome.scss +5 -0
  127. package/nationalarchives/lib/_index.scss +1 -0
  128. package/nationalarchives/lib/cookies.mjs +110 -0
  129. package/nationalarchives/lib/font-awesome/brands.css +5 -0
  130. package/nationalarchives/lib/font-awesome/brands.css.map +1 -0
  131. package/nationalarchives/lib/font-awesome/fontawesome.css +5 -0
  132. package/nationalarchives/lib/font-awesome/fontawesome.css.map +1 -0
  133. package/nationalarchives/lib/font-awesome/regular.css +5 -0
  134. package/nationalarchives/lib/font-awesome/regular.css.map +1 -0
  135. package/nationalarchives/lib/font-awesome/solid.css +5 -0
  136. package/nationalarchives/lib/font-awesome/solid.css.map +1 -0
  137. package/nationalarchives/lib/font-awesome/v4-shims.css +5 -0
  138. package/nationalarchives/lib/font-awesome/v4-shims.css.map +1 -0
  139. package/nationalarchives/stories/development/about.mdx +60 -0
  140. package/nationalarchives/stories/development/contributing.mdx +8 -5
  141. package/nationalarchives/stories/development/relationships.mdx +57 -0
  142. package/nationalarchives/stories/development/using.mdx +75 -0
  143. package/nationalarchives/stories/utilities/colour-schemes/colour-schemes.stories.js +176 -50
  144. package/nationalarchives/stories/utilities/typography/heading-groups.stories.js +3 -3
  145. package/nationalarchives/stories/utilities/typography/typography.stories.js +1 -1
  146. package/nationalarchives/templates/layouts/_generic.njk +6 -1
  147. package/nationalarchives/tools/_colour.scss +55 -17
  148. package/nationalarchives/tools/_index.scss +5 -4
  149. package/nationalarchives/tools/_spacing.scss +22 -0
  150. package/nationalarchives/tools/_typography.scss +0 -4
  151. package/nationalarchives/utilities/_a11y.scss +24 -0
  152. package/nationalarchives/utilities/_global.scss +3 -29
  153. package/nationalarchives/utilities/_index.scss +5 -5
  154. package/nationalarchives/utilities/_overrides.scss +5 -15
  155. package/nationalarchives/utilities/_typography.scss +68 -57
  156. package/nationalarchives/variables/_colour.scss +17 -9
  157. package/nationalarchives/variables/_grid.scss +1 -1
  158. package/nationalarchives/variables/_spacing.scss +12 -12
  159. package/nationalarchives/variables/_typography.scss +7 -7
  160. package/package.json +5 -2
  161. package/nationalarchives/assets/images/footer/facebook.svg +0 -11
  162. package/nationalarchives/assets/images/footer/flickr.svg +0 -11
  163. package/nationalarchives/assets/images/footer/instagram.svg +0 -17
  164. package/nationalarchives/assets/images/footer/rss.svg +0 -13
  165. package/nationalarchives/assets/images/footer/twitter.svg +0 -14
  166. package/nationalarchives/assets/images/footer/youtube.svg +0 -12
  167. package/nationalarchives/stories/development/dependencies.mdx +0 -11
  168. package/nationalarchives/stories/development/relationships.md +0 -91
  169. package/nationalarchives/stories/development/technologies.mdx +0 -65
  170. package/nationalarchives/utilities/_font-awesome.scss +0 -5
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.TNAFrontend=e():t.TNAFrontend=e()}(self,(()=>(()=>{"use strict";var t={908:(t,e,i)=>{i.d(e,{Breadcrumbs:()=>s});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function a(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,a=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(a)?a:String(a)),n)}var a}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$breadcrumbsListWrapper=e&&e.querySelector(".tna-breadcrumbs__wrapper"),this.$breadcrumbsList=e&&this.$breadcrumbsListWrapper&&e.querySelector(".tna-breadcrumbs__list"),this.$breadcrumbs=e&&this.$breadcrumbsListWrapper&&this.$breadcrumbsList&&e.querySelectorAll(".tna-breadcrumbs__item")}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$breadcrumbsListWrapper&&this.$breadcrumbsList&&this.$breadcrumbs&&this.$breadcrumbs.length>2&&!this.$module.classList.contains("tna-breadcrumbs--no-collapse")){var e="tna-breadcrumbs-".concat((0,n.Z)()),i=document.createElement("li");i.classList.add("tna-breadcrumbs__item","tna-breadcrumbs__item--expandable"),i.style.display="none";var r=document.createElement("button");r.classList.add("tna-breadcrumbs__link"),r.innerHTML="<span class='tna-visually-hidden'>Expand breadcrumbs</span>&hellip;",r.setAttribute("aria-expanded","false"),r.setAttribute("aria-controls",e),r.addEventListener("click",(function(){t.$module.classList.remove("tna-breadcrumbs--collapsed"),i.remove(),t.$breadcrumbsListWrapper.setAttribute("tabindex","0"),t.$breadcrumbsListWrapper.focus(),t.$breadcrumbsListWrapper.setAttribute("tabindex","-1")})),i.appendChild(r),this.$breadcrumbsList.setAttribute("id",e),this.$breadcrumbsList.insertBefore(i,this.$breadcrumbs[this.$breadcrumbs.length-2].nextSibling),this.$module.classList.add("tna-breadcrumbs--collapsed")}}}])&&a(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},8:(t,e,i)=>{i.d(e,{Header:()=>s});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function a(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,a=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(a)?a:String(a)),n)}var a}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$toggleButtonWrapper=e&&e.querySelector(".tna-header__navigation-toggle"),this.$navigation=e&&e.querySelector(".tna-header__navigation"),this.$links=e&&this.$navigation&&this.$navigation.querySelectorAll("[tabindex='0']"),this.menuOpened=!1,this.mql=window.matchMedia("(max-width: 768px)")}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$toggleButtonWrapper&&this.$navigation){var e="tna-menu-content-".concat((0,n.Z)());this.$navigation.setAttribute("id",e),this.$toggleButton=document.createElement("button"),this.$toggleButton.innerText="Menu",this.$toggleButton.setAttribute("aria-controls",e),this.$toggleButton.setAttribute("aria-haspopup","true"),this.$toggleButton.classList.add("tna-header__navigation-toggle-button"),this.$hamburger=document.createElement("div"),this.$hamburger.classList.add("tna-header__hamburger"),this.$toggleButton.appendChild(this.$hamburger),this.$toggleButtonWrapper.appendChild(this.$toggleButton),this.syncState(),this.$toggleButton.addEventListener("click",(function(){return t.handleToggleNavigation()})),"addEventListener"in this.mql?this.mql.addEventListener("change",(function(){return t.syncState()})):this.mql.addListener((function(){return t.syncState()}))}}},{key:"handleToggleNavigation",value:function(){this.menuOpened=!this.menuOpened,this.syncState()}},{key:"syncState",value:function(){if(this.mql.matches)if(this.menuOpened){this.$navigation.classList.add("tna-header__navigation--open"),this.$navigation.hidden=!1,this.$navigation.setAttribute("aria-hidden","false"),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu"),this.$toggleButton.classList.add("tna-header__navigation-toggle-button--opened");for(var t=0;t<this.$links.length;t++)this.$links[t].setAttribute("tabindex","0")}else{this.$navigation.classList.remove("tna-header__navigation--open"),this.$navigation.hidden=!0,this.$navigation.setAttribute("aria-hidden","true"),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.setAttribute("title","Open menu"),this.$toggleButton.classList.remove("tna-header__navigation-toggle-button--opened");for(var e=0;e<this.$links.length;e++)this.$links[e].setAttribute("tabindex","-1")}else{this.$navigation.classList.add("tna-header__navigation--open"),this.$navigation.hidden=!1,this.$navigation.setAttribute("aria-hidden","false"),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu");for(var i=0;i<this.$links.length;i++)this.$links[i].setAttribute("tabindex","0")}}}])&&a(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},765:(t,e,i)=>{i.d(e,{Picture:()=>s});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function a(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,a=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(a)?a:String(a)),n)}var a}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$imageWrapper=e&&e.querySelector(".tna-picture__image-wrapper"),this.$transcript=e&&e.querySelector(".tna-picture__transcript"),this.transcriptOpened=!1}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$imageWrapper&&this.$transcript){var e="tna-picture-".concat((0,n.Z)());this.$transcriptToggle=document.createElement("button"),this.$transcriptToggle.classList.add("tna-picture__toggle-transcript","tna-button","tna-button--accent","tna-button--solid-hover"),this.$transcriptToggle.setAttribute("aria-controls",e),this.$transcriptToggle.setAttribute("aria-expanded",!1),this.$transcriptToggle.innerText="Open transcript",this.$transcriptToggle.addEventListener("click",(function(){return t.handleToggleTranscript()})),this.$imageWrapper.appendChild(this.$transcriptToggle),this.$transcript.setAttribute("id",e),this.$transcript.setAttribute("hidden",!0)}}},{key:"handleToggleTranscript",value:function(){var t="tna-picture__toggle-transcript--opened";this.transcriptOpened=!this.transcriptOpened,this.transcriptOpened?(this.$transcriptToggle.classList.add(t),this.$transcriptToggle.setAttribute("aria-expanded",!0),this.$transcriptToggle.innerText="Close transcript",this.$transcript.removeAttribute("hidden")):(this.$transcriptToggle.classList.remove(t),this.$transcriptToggle.setAttribute("aria-expanded",!1),this.$transcriptToggle.innerText="Open transcript",this.$transcript.setAttribute("hidden",!0))}}])&&a(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},554:(t,e,i)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,a=function(t,e){if("object"!==n(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,"string");if("object"!==n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===n(a)?a:String(a)),r)}var a}i.d(e,{SensitiveImage:()=>a});var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$imageDetails=e&&e.querySelector(".tna-sensitive-image__details"),this.$image=e&&e.querySelector(".tna-sensitive-image__image"),this.imageIsVisible=!1}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;this.$module&&this.$imageDetails&&this.$image&&this.$imageDetails.addEventListener("toggle",(function(){return t.handleImageDetailsToggle()}))}},{key:"handleImageDetailsToggle",value:function(){this.$imageDetails.hasAttribute("open")&&this.$image.focus({preventScroll:!0,focusVisible:!0})}}])&&r(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},973:(t,e,i)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function s(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,a=function(t,e){if("object"!==n(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,"string");if("object"!==n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===n(a)?a:String(a)),r)}var a}i.d(e,{Tabs:()=>o});var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$tabList=e&&e.querySelector(".tna-tabs__list"),this.$tabListItemLinks=e&&this.$tabList&&e.querySelectorAll(".tna-tabs__list-item-link"),this.$tabItems=e&&e.querySelectorAll(".tna-tabs__item")}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$tabList&&this.$tabListItemLinks&&this.$tabItems&&this.$tabListItemLinks.length===this.$tabItems.length){this.sticky=this.$module.classList.contains("tna-tabs--sticky");var e=window.location.hash.replace(/^#/,"");this.$newTabList=document.createElement("div"),this.$newTabList.setAttribute("role","tablist"),this.$newTabList.setAttribute("class",this.$tabList.getAttribute("class")),this.$tabItems.forEach((function(t,i){t.setAttribute("role","tabpanel"),t.setAttribute("aria-labelledby","".concat(t.getAttribute("id"),"-tab")),t.setAttribute("tabindex","0"),(e&&t.getAttribute("id")!==e||!e&&i>0)&&t.setAttribute("hidden",!0)})),this.$tabListItemLinks.forEach((function(e){var i=document.createElement("button");i.innerText=e.innerText,i.setAttribute("class",e.getAttribute("class")),i.setAttribute("role","tab"),i.setAttribute("id",e.getAttribute("id")),i.setAttribute("aria-controls",e.getAttribute("href").replace(/^#/,"")),i.setAttribute("tabindex","-1"),t.$newTabList.appendChild(i)})),this.$tabList.replaceWith(this.$newTabList),this.$tabListItemLinks=this.$module.querySelectorAll(".tna-tabs__list-item-link"),this.$tabListItemLinks.forEach((function(i,n){e&&i.getAttribute("aria-controls")==="".concat(e)||!e&&0===n?(i.classList.add("tna-tabs__list-item-link--selected"),i.setAttribute("aria-selected",!0),i.setAttribute("tabindex","0")):i.setAttribute("aria-selected",!1),i.addEventListener("keydown",(function(e){return t.handleItemLinkKeyDown(e)}),!0),i.addEventListener("click",(function(e){return t.handleItemLinkClick(e)}),!0)}))}}},{key:"handleItemLinkClick",value:function(t){t.preventDefault();var e=t.currentTarget.getAttribute("aria-controls");this.switchTab(e)}},{key:"handleItemLinkKeyDown",value:function(t){var e=t.currentTarget,i=!1;switch(t.key){case"ArrowLeft":this.setSelectedToPreviousTab(e),i=!0;break;case"ArrowRight":this.setSelectedToNextTab(e),i=!0;break;case"Home":this.switchTab(this.$tabListItemLinks[0].getAttribute("aria-controls")),i=!0;break;case"End":this.switchTab(this.$tabListItemLinks[this.$tabListItemLinks.length-1].getAttribute("aria-controls")),i=!0}i&&(t.stopPropagation(),t.preventDefault())}},{key:"setSelectedToNextTab",value:function(t){console.log("setSelectedToNextTab",t);var e,i=r(this.$tabListItemLinks).findIndex((function(e){return e.getAttribute("id")===t.getAttribute("id")}));e=i<this.$tabListItemLinks.length-1?i+1:0,console.log(i,e),this.switchTab(this.$tabListItemLinks[e].getAttribute("aria-controls"))}},{key:"setSelectedToPreviousTab",value:function(t){console.log("setSelectedToPreviousTab",t);var e,i=r(this.$tabListItemLinks).findIndex((function(e){return e.getAttribute("id")===t.getAttribute("id")}));e=i>=1?i-1:this.$tabListItemLinks.length-1,console.log(i,e),this.switchTab(this.$tabListItemLinks[e].getAttribute("aria-controls"))}},{key:"switchTab",value:function(t){this.$tabListItemLinks.forEach((function(e){e.getAttribute("aria-controls")===t?(e.classList.add("tna-tabs__list-item-link--selected"),e.setAttribute("aria-selected",!0),e.setAttribute("tabindex","0"),e.focus()):(e.classList.remove("tna-tabs__list-item-link--selected"),e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"))})),this.$tabItems.forEach((function(e){e.getAttribute("id")===t?(e.removeAttribute("hidden"),e.setAttribute("tabindex","0")):(e.setAttribute("hidden",!0),e.setAttribute("tabindex","-1"))})),this.sticky&&(history.replaceState?history.replaceState(null,null,"#".concat(t)):location.hash="#".concat(t))}}])&&s(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},948:(t,e,i)=>{i.d(e,{Z:()=>n});const n=function(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,i),a.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{i.r(n),i.d(n,{Breadcrumbs:()=>t.Breadcrumbs,Header:()=>e.Header,Picture:()=>r.Picture,SensitiveImage:()=>a.SensitiveImage,Tabs:()=>s.Tabs,initAll:()=>l});var t=i(908),e=i(8),r=i(765),a=i(554),s=i(973),o=document.documentElement;o.classList.add("tna-template--js-enabled"),window.addEventListener("touchstart",(function t(){window.removeEventListener("touchstart",t),o.classList.add("tna-template--touched")})),window.addEventListener("keydown",(function(t){"Tab"===t.key&&(o.classList.add("tna-template--tabbed"),o.classList.remove("tna-template--clicked"))})),window.addEventListener("mousedown",(function(){o.classList.add("tna-template--clicked"),o.classList.remove("tna-template--tabbed")})),document.documentElement.classList.contains("tna-template--system-theme")&&(document.documentElement.classList.add(window.matchMedia("(prefers-color-scheme: dark)").matches?"tna-template--dark-theme":"tna-template--light-theme"),window.matchMedia("(prefers-contrast: more)").matches&&document.documentElement.classList.add("tna-template--high-contrast-theme"));var l=function(i){var n=(i=void 0!==i?i:{}).scope instanceof HTMLElement?i.scope:document,o=n.querySelector('[data-module="tna-breadcrumbs"]');o&&new t.Breadcrumbs(o).init();var l=n.querySelector('[data-module="tna-header"]');l&&new e.Header(l).init(),n.querySelectorAll('[data-module="tna-picture"]').forEach((function(t){new r.Picture(t).init()})),n.querySelectorAll('[data-module="tna-sensitive-image"]').forEach((function(t){new a.SensitiveImage(t).init()})),n.querySelectorAll('[data-module="tna-tabs"]').forEach((function(t){new s.Tabs(t).init()}))}})(),n})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.TNAFrontend=e():t.TNAFrontend=e()}(self,(()=>(()=>{"use strict";var t={908:(t,e,i)=>{i.d(e,{Breadcrumbs:()=>a});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(o)?o:String(o)),n)}var o}var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$breadcrumbsListWrapper=e&&e.querySelector(".tna-breadcrumbs__wrapper"),this.$breadcrumbsList=e&&this.$breadcrumbsListWrapper&&e.querySelector(".tna-breadcrumbs__list"),this.$breadcrumbs=e&&this.$breadcrumbsListWrapper&&this.$breadcrumbsList&&e.querySelectorAll(".tna-breadcrumbs__item")}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$breadcrumbsListWrapper&&this.$breadcrumbsList&&this.$breadcrumbs&&this.$breadcrumbs.length>2&&!this.$module.classList.contains("tna-breadcrumbs--no-collapse")){var e="tna-breadcrumbs-".concat((0,n.Z)()),i=document.createElement("li");i.classList.add("tna-breadcrumbs__item","tna-breadcrumbs__item--expandable"),i.style.display="none";var r=document.createElement("button");r.classList.add("tna-breadcrumbs__link"),r.innerHTML="<span class='tna-visually-hidden'>Expand breadcrumbs</span>&hellip;",r.setAttribute("aria-expanded","false"),r.setAttribute("aria-controls",e),r.addEventListener("click",(function(){t.$module.classList.remove("tna-breadcrumbs--collapsed"),i.remove(),t.$breadcrumbsListWrapper.setAttribute("tabindex","0"),t.$breadcrumbsListWrapper.focus(),t.$breadcrumbsListWrapper.setAttribute("tabindex","-1")})),i.appendChild(r),this.$breadcrumbsList.setAttribute("id",e),this.$breadcrumbsList.insertBefore(i,this.$breadcrumbs[this.$breadcrumbs.length-2].nextSibling),this.$module.classList.add("tna-breadcrumbs--collapsed")}}}])&&o(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},780:(t,e,i)=>{i.d(e,{CookieBanner:()=>a});var n=i(774);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(o)?o:String(o)),n)}var o}var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$acceptButton=e&&e.querySelector('[value="accept"]'),this.$rejectButton=e&&e.querySelector('[value="reject"]'),this.$prompt=e&&e.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=e&&e.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=e&&e.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=e&&e.querySelectorAll('[value="close"]')}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons){var e=this.$module.getAttribute("data-policies");e&&(this.cookies=new n.Z(e.split(",").map((function(t){return t.trim()}))),this.loadScriptsOnAccept=this.$module.getAttribute("data-acceptscripts"),this.hideCookieBannerKey=this.$module.getAttribute("data-hidekey"),this.cookies.exists(this.hideCookieBannerKey)||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",(function(){return t.accept()})),this.$rejectButton.addEventListener("click",(function(){return t.reject()})),this.$closeButtons.forEach((function(e){e.addEventListener("click",(function(){return t.close()}))}))))}}},{key:"accept",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$acceptedMessage.removeAttribute("hidden"),this.cookies.acceptAllPolicies(),this.loadScriptsOnAccept&&this.loadScriptsOnAccept.split(",").forEach((function(t){var e=document.createElement("script");e.src=t,document.head.appendChild(e)}))}},{key:"reject",value:function(){this.$prompt.setAttribute("hidden",!0),this.complete(),this.$rejectedMessage.removeAttribute("hidden"),this.cookies.rejectAllPolicies()}},{key:"complete",value:function(){this.cookies.set(this.hideCookieBannerKey,!0)}},{key:"close",value:function(){this.$module.setAttribute("hidden",!0)}}])&&o(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},540:(t,e,i)=>{i.d(e,{Gallery:()=>a});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(o)?o:String(o)),n)}var o}var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$items=e&&e.querySelector(".tna-gallery__items"),this.opened=!1}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$items&&(this.items=this.$module.querySelectorAll(".tna-gallery__item").length,this.items>1)){var e="tna-gallery-".concat((0,n.Z)());this.$module.classList.add("tna-gallery--collapsed"),this.$items.setAttribute("tabindex","-1"),this.$galleryToggle=document.createElement("button"),this.$galleryToggle.classList.add("tna-gallery__toggle","tna-button","tna-button--accent"),this.$galleryToggle.setAttribute("aria-controls",e),this.$galleryToggle.setAttribute("aria-expanded",!1),this.$galleryToggle.innerText="View ".concat(this.items," images"),this.$galleryToggle.addEventListener("click",(function(){t.handleToggleGallery()})),this.$galleryToggleWrapper=document.createElement("div"),this.$galleryToggleWrapper.classList.add("tna-column","tna-column--full","tna-gallery__toggle-wrapper"),this.$galleryToggleWrapper.appendChild(this.$galleryToggle),this.$items.parentElement.appendChild(this.$galleryToggleWrapper),this.$items.setAttribute("id",e)}}},{key:"handleToggleGallery",value:function(){this.opened=!this.opened,this.opened?(this.$module.classList.remove("tna-gallery--collapsed"),this.$galleryToggle.setAttribute("aria-expanded",!0),this.$galleryToggle.innerText="Close images",this.$items.setAttribute("tabindex","0"),this.$items.focus(),this.$items.setAttribute("tabindex","-1")):(this.$module.classList.add("tna-gallery--collapsed"),this.$galleryToggle.setAttribute("aria-expanded",!1),this.$galleryToggle.innerText="View ".concat(this.items," images"))}}])&&o(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},8:(t,e,i)=>{i.d(e,{Header:()=>a});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(o)?o:String(o)),n)}var o}var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$toggleButtonWrapper=e&&e.querySelector(".tna-header__navigation-toggle"),this.$navigation=e&&e.querySelector(".tna-header__navigation"),this.$links=e&&this.$navigation&&this.$navigation.querySelectorAll("[tabindex='0']"),this.menuOpened=!1,this.mql=window.matchMedia("(max-width: 768px)")}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$toggleButtonWrapper&&this.$navigation){var e="tna-menu-content-".concat((0,n.Z)());this.$navigation.setAttribute("id",e),this.$toggleButton=document.createElement("button"),this.$toggleButton.innerText="Menu",this.$toggleButton.setAttribute("aria-controls",e),this.$toggleButton.setAttribute("aria-haspopup","true"),this.$toggleButton.classList.add("tna-header__navigation-toggle-button"),this.$hamburger=document.createElement("div"),this.$hamburger.classList.add("tna-header__hamburger"),this.$toggleButton.appendChild(this.$hamburger),this.$toggleButtonWrapper.appendChild(this.$toggleButton),this.syncState(),this.$toggleButton.addEventListener("click",(function(){return t.handleToggleNavigation()})),"addEventListener"in this.mql?this.mql.addEventListener("change",(function(){return t.syncState()})):this.mql.addListener((function(){return t.syncState()}))}}},{key:"handleToggleNavigation",value:function(){this.menuOpened=!this.menuOpened,this.syncState()}},{key:"syncState",value:function(){if(this.mql.matches)if(this.menuOpened){this.$navigation.classList.add("tna-header__navigation--open"),this.$navigation.hidden=!1,this.$navigation.setAttribute("aria-hidden","false"),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu"),this.$toggleButton.classList.add("tna-header__navigation-toggle-button--opened");for(var t=0;t<this.$links.length;t++)this.$links[t].setAttribute("tabindex","0")}else{this.$navigation.classList.remove("tna-header__navigation--open"),this.$navigation.hidden=!0,this.$navigation.setAttribute("aria-hidden","true"),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.setAttribute("title","Open menu"),this.$toggleButton.classList.remove("tna-header__navigation-toggle-button--opened");for(var e=0;e<this.$links.length;e++)this.$links[e].setAttribute("tabindex","-1")}else{this.$navigation.classList.add("tna-header__navigation--open"),this.$navigation.hidden=!1,this.$navigation.setAttribute("aria-hidden","false"),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu");for(var i=0;i<this.$links.length;i++)this.$links[i].setAttribute("tabindex","0")}}}])&&o(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},765:(t,e,i)=>{i.d(e,{Picture:()=>a});var n=i(948);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==r(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,"string");if("object"!==r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n.key),"symbol"===r(o)?o:String(o)),n)}var o}var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$imageWrapper=e&&e.querySelector(".tna-picture__image-wrapper"),this.$transcript=e&&e.querySelector(".tna-picture__transcript"),this.transcriptOpened=!1}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$imageWrapper&&this.$transcript){var e="tna-picture-".concat((0,n.Z)());this.$transcriptToggle=document.createElement("button"),this.$transcriptToggle.classList.add("tna-picture__toggle-transcript","tna-button","tna-button--small","tna-button--accent","tna-button--solid-hover"),this.$transcriptToggle.setAttribute("aria-controls",e),this.$transcriptToggle.setAttribute("aria-expanded",!1),this.$transcriptToggle.innerText="Open transcript",this.$transcriptToggle.addEventListener("click",(function(){return t.handleToggleTranscript()})),this.$imageWrapper.appendChild(this.$transcriptToggle),this.$transcript.setAttribute("id",e),this.$transcript.setAttribute("hidden",!0)}}},{key:"handleToggleTranscript",value:function(){var t="tna-picture__toggle-transcript--opened";this.transcriptOpened=!this.transcriptOpened,this.transcriptOpened?(this.$transcriptToggle.classList.add(t),this.$transcriptToggle.setAttribute("aria-expanded",!0),this.$transcriptToggle.innerText="Close transcript",this.$transcript.removeAttribute("hidden")):(this.$transcriptToggle.classList.remove(t),this.$transcriptToggle.setAttribute("aria-expanded",!1),this.$transcriptToggle.innerText="Open transcript",this.$transcript.setAttribute("hidden",!0))}}])&&o(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},554:(t,e,i)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==n(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,"string");if("object"!==n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===n(o)?o:String(o)),r)}var o}i.d(e,{SensitiveImage:()=>o});var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$imageDetails=e&&e.querySelector(".tna-sensitive-image__details"),this.$image=e&&e.querySelector(".tna-sensitive-image__image"),this.imageIsVisible=!1}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;this.$module&&this.$imageDetails&&this.$image&&this.$imageDetails.addEventListener("toggle",(function(){return t.handleImageDetailsToggle()}))}},{key:"handleImageDetailsToggle",value:function(){this.$imageDetails.hasAttribute("open")&&this.$image.focus({preventScroll:!0,focusVisible:!0})}}])&&r(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},973:(t,e,i)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t){return function(t){if(Array.isArray(t))return o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function a(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(void 0,o=function(t,e){if("object"!==n(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,"string");if("object"!==n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(r.key),"symbol"===n(o)?o:String(o)),r)}var o}i.d(e,{Tabs:()=>s});var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.$module=e,this.$tabList=e&&e.querySelector(".tna-tabs__list"),this.$tabListItemLinks=e&&this.$tabList&&e.querySelectorAll(".tna-tabs__list-item-link"),this.$tabItems=e&&e.querySelectorAll(".tna-tabs__item")}var e,i;return e=t,(i=[{key:"init",value:function(){var t=this;if(this.$module&&this.$tabList&&this.$tabListItemLinks&&this.$tabItems&&this.$tabListItemLinks.length===this.$tabItems.length){this.sticky=this.$module.classList.contains("tna-tabs--sticky");var e=window.location.hash.replace(/^#/,"");this.$newTabList=document.createElement("div"),this.$newTabList.setAttribute("role","tablist"),this.$newTabList.setAttribute("class",this.$tabList.getAttribute("class")),this.$tabItems.forEach((function(t,i){t.setAttribute("role","tabpanel"),t.setAttribute("aria-labelledby","".concat(t.getAttribute("id"),"-tab")),t.setAttribute("tabindex","0"),(e&&t.getAttribute("id")!==e||!e&&i>0)&&t.setAttribute("hidden",!0)})),this.$tabListItemLinks.forEach((function(e){var i=document.createElement("button");i.innerText=e.innerText,i.setAttribute("class",e.getAttribute("class")),i.setAttribute("role","tab"),i.setAttribute("id",e.getAttribute("id")),i.setAttribute("aria-controls",e.getAttribute("href").replace(/^#/,"")),i.setAttribute("tabindex","-1"),t.$newTabList.appendChild(i)})),this.$tabList.replaceWith(this.$newTabList),this.$tabListItemLinks=this.$module.querySelectorAll(".tna-tabs__list-item-link"),this.$tabListItemLinks.forEach((function(i,n){e&&i.getAttribute("aria-controls")==="".concat(e)||!e&&0===n?(i.classList.add("tna-tabs__list-item-link--selected"),i.setAttribute("aria-selected",!0),i.setAttribute("tabindex","0")):i.setAttribute("aria-selected",!1),i.addEventListener("keydown",(function(e){return t.handleItemLinkKeyDown(e)}),!0),i.addEventListener("click",(function(e){return t.handleItemLinkClick(e)}),!0)}))}}},{key:"handleItemLinkClick",value:function(t){t.preventDefault();var e=t.currentTarget.getAttribute("aria-controls");this.switchTab(e)}},{key:"handleItemLinkKeyDown",value:function(t){var e=t.currentTarget,i=!1;switch(t.key){case"ArrowLeft":case"ArrowUp":this.setSelectedToPreviousTab(e),i=!0;break;case"ArrowRight":case"ArrowDown":this.setSelectedToNextTab(e),i=!0;break;case"Home":this.switchTab(this.$tabListItemLinks[0].getAttribute("aria-controls")),i=!0;break;case"End":this.switchTab(this.$tabListItemLinks[this.$tabListItemLinks.length-1].getAttribute("aria-controls")),i=!0}i&&(t.stopPropagation(),t.preventDefault())}},{key:"setSelectedToNextTab",value:function(t){console.log("setSelectedToNextTab",t);var e,i=r(this.$tabListItemLinks).findIndex((function(e){return e.getAttribute("id")===t.getAttribute("id")}));e=i<this.$tabListItemLinks.length-1?i+1:0,console.log(i,e),this.switchTab(this.$tabListItemLinks[e].getAttribute("aria-controls"))}},{key:"setSelectedToPreviousTab",value:function(t){console.log("setSelectedToPreviousTab",t);var e,i=r(this.$tabListItemLinks).findIndex((function(e){return e.getAttribute("id")===t.getAttribute("id")}));e=i>=1?i-1:this.$tabListItemLinks.length-1,console.log(i,e),this.switchTab(this.$tabListItemLinks[e].getAttribute("aria-controls"))}},{key:"switchTab",value:function(t){this.$tabListItemLinks.forEach((function(e){e.getAttribute("aria-controls")===t?(e.classList.add("tna-tabs__list-item-link--selected"),e.setAttribute("aria-selected",!0),e.setAttribute("tabindex","0"),e.focus()):(e.classList.remove("tna-tabs__list-item-link--selected"),e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"))})),this.$tabItems.forEach((function(e){e.getAttribute("id")===t?(e.removeAttribute("hidden"),e.setAttribute("tabindex","0")):(e.setAttribute("hidden",!0),e.setAttribute("tabindex","-1"))})),this.sticky&&(history.replaceState?history.replaceState(null,null,"#".concat(t)):location.hash="#".concat(t))}}])&&a(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}()},774:(t,e,i)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function o(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?r(Object(i),!0).forEach((function(e){a(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function a(t,e,i){return(e=l(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function s(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,l(n.key),n)}}function l(t){var e=function(t,e){if("object"!==n(t)||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var r=i.call(t,"string");if("object"!==n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===n(e)?e:String(e)}function c(t,e){u(t,e),e.add(t)}function u(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function d(t,e,i){return function(t,e,i){if(e.set)e.set.call(t,i);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=i}}(t,p(t,e,"set"),i),i}function h(t,e,i){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return i}function b(t,e){return function(t,e){return e.get?e.get.call(t):e.value}(t,p(t,e,"get"))}function p(t,e,i){if(!e.has(t))throw new TypeError("attempted to "+i+" private field on non-instance");return e.get(t)}i.d(e,{Z:()=>g});var m=new WeakMap,f=new WeakSet,y=new WeakSet,g=function(){function t(){var e,i,n=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["analytics","settings"],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cookies_policy",a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),c(this,y),c(this,f),i={writable:!0,value:{}},u(this,e=m),e.set(this,i),this.cookiesPolicyKey=o,this.crossDomain=a,r.forEach((function(t){b(n,m)[t]=!1})),h(this,f,v).call(this)}var e,i;return e=t,i=[{key:"data",get:function(){return h(this,y,$).call(this,document.cookie)}},{key:"all",get:function(){return this.data}},{key:"allPolicies",get:function(){return JSON.parse(this.get(this.cookiesPolicyKey))}},{key:"exists",value:function(t){return Object.prototype.hasOwnProperty.call(this.data,t)}},{key:"hasValue",value:function(t,e){return this.get(t)===e}},{key:"get",value:function(t){return decodeURIComponent(this.data[t])}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";this.set(t,"",0,e)}},{key:"acceptPolicy",value:function(t){this.setPolicy(t,!0)}},{key:"rejectPolicy",value:function(t){this.setPolicy(t,!1)}},{key:"setPolicy",value:function(t,e){d(this,m,o(o({},b(this,m)),{},a({},t,e))),this.set(this.cookiesPolicyKey,JSON.stringify(b(this,m)))}},{key:"acceptAllPolicies",value:function(){var t=this;Object.keys(b(this,m)).filter((function(e){return!1===b(t,m)[e]})).forEach((function(e){return t.acceptPolicy(e)}))}},{key:"rejectAllPolicies",value:function(){var t=this;Object.keys(b(this,m)).filter((function(e){return!0===b(t,m)[e]})).forEach((function(e){return t.rejectPolicy(e)}))}},{key:"isPolicyAccepted",value:function(t){return h(this,f,v).call(this),Object.prototype.hasOwnProperty.call(b(this,m),t)?!0===b(this,m)[t]:null}},{key:"set",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31536e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"/";document.cookie="".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(e),"; SameSite=").concat(this.crossDomain?"None":"Lax","; path=").concat(n,"; max-age=").concat(i,"; Secure"),h(this,f,v).call(this)}},{key:"policy",value:function(t){return b(this,m)[t]}}],i&&s(e.prototype,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();function v(){this.exists(this.cookiesPolicyKey)&&d(this,m,o(o({},b(this,m)),this.allPolicies))}function $(t){var e={};return t.split(";").forEach((function(t){var i=t.trim().split("=");e[i[0]]=i[1]})),e}},948:(t,e,i)=>{i.d(e,{Z:()=>n});const n=function(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,i),o.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};return(()=>{i.r(n),i.d(n,{Breadcrumbs:()=>t.Breadcrumbs,CookieBanner:()=>e.CookieBanner,Cookies:()=>c.Z,Gallery:()=>r.Gallery,Header:()=>o.Header,Picture:()=>a.Picture,SensitiveImage:()=>s.SensitiveImage,Tabs:()=>l.Tabs,initAll:()=>d});var t=i(908),e=i(780),r=i(540),o=i(8),a=i(765),s=i(554),l=i(973),c=i(774),u=document.documentElement;u.classList.add("tna-template--js-enabled"),window.addEventListener("touchstart",(function t(){window.removeEventListener("touchstart",t),u.classList.add("tna-template--touched")})),window.addEventListener("keydown",(function(t){"Tab"===t.key&&(u.classList.add("tna-template--tabbed"),u.classList.remove("tna-template--clicked"))})),window.addEventListener("mousedown",(function(){u.classList.add("tna-template--clicked"),u.classList.remove("tna-template--tabbed")})),document.documentElement.classList.contains("tna-template--system-theme")&&(document.documentElement.classList.add(window.matchMedia("(prefers-color-scheme: dark)").matches?"tna-template--dark-theme":"tna-template--light-theme"),window.matchMedia("(prefers-contrast: more)").matches&&document.documentElement.classList.add("tna-template--high-contrast-theme"));var d=function(i){var n=(i=void 0!==i?i:{}).scope instanceof HTMLElement?i.scope:document,c=n.querySelector('[data-module="tna-breadcrumbs"]');c&&new t.Breadcrumbs(c).init();var u=n.querySelector('[data-module="tna-cookie-banner"]');u&&new e.CookieBanner(u).init(),n.querySelectorAll('[data-module="tna-gallery"]').forEach((function(t){new r.Gallery(t).init()}));var d=n.querySelector('[data-module="tna-header"]');d&&new o.Header(d).init(),n.querySelectorAll('[data-module="tna-picture"]').forEach((function(t){new a.Picture(t).init()})),n.querySelectorAll('[data-module="tna-sensitive-image"]').forEach((function(t){new s.SensitiveImage(t).init()})),n.querySelectorAll('[data-module="tna-tabs"]').forEach((function(t){new l.Tabs(t).init()}))}})(),n})()));
2
2
  //# sourceMappingURL=all.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/breadcrumbs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/header/header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/picture/picture.mjs","webpack://TNAFrontend/./src/nationalarchives/components/sensitive-image/sensitive-image.mjs","webpack://TNAFrontend/./src/nationalarchives/components/tabs/tabs.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/uuid.mjs","webpack://TNAFrontend/webpack/bootstrap","webpack://TNAFrontend/webpack/runtime/define property getters","webpack://TNAFrontend/webpack/runtime/hasOwnProperty shorthand","webpack://TNAFrontend/webpack/runtime/make namespace object","webpack://TNAFrontend/./src/nationalarchives/all.mjs"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Breadcrumbs {\n constructor($module) {\n this.$module = $module;\n this.$breadcrumbsListWrapper =\n $module && $module.querySelector(\".tna-breadcrumbs__wrapper\");\n this.$breadcrumbsList =\n $module &&\n this.$breadcrumbsListWrapper &&\n $module.querySelector(\".tna-breadcrumbs__list\");\n this.$breadcrumbs =\n $module &&\n this.$breadcrumbsListWrapper &&\n this.$breadcrumbsList &&\n $module.querySelectorAll(\".tna-breadcrumbs__item\");\n }\n\n init() {\n if (\n !this.$module ||\n !this.$breadcrumbsListWrapper ||\n !this.$breadcrumbsList ||\n !this.$breadcrumbs\n ) {\n return;\n }\n\n if (\n this.$breadcrumbs.length > 2 &&\n !this.$module.classList.contains(\"tna-breadcrumbs--no-collapse\")\n ) {\n const uniqueId = `tna-breadcrumbs-${uuidv4()}`;\n\n const $expandable = document.createElement(\"li\");\n $expandable.classList.add(\n \"tna-breadcrumbs__item\",\n \"tna-breadcrumbs__item--expandable\",\n );\n $expandable.style.display = \"none\";\n\n const $expandButton = document.createElement(\"button\");\n $expandButton.classList.add(\"tna-breadcrumbs__link\");\n $expandButton.innerHTML =\n \"<span class='tna-visually-hidden'>Expand breadcrumbs</span>&hellip;\";\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$breadcrumbsListWrapper.setAttribute(\"tabindex\", \"0\");\n this.$breadcrumbsListWrapper.focus();\n this.$breadcrumbsListWrapper.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButtonWrapper =\n $module && $module.querySelector(\".tna-header__navigation-toggle\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 768px)\");\n }\n\n init() {\n if (!this.$module || !this.$toggleButtonWrapper || !this.$navigation) {\n return;\n }\n\n const uniqueId = `tna-menu-content-${uuidv4()}`;\n this.$navigation.setAttribute(\"id\", uniqueId);\n\n this.$toggleButton = document.createElement(\"button\");\n this.$toggleButton.innerText = \"Menu\";\n this.$toggleButton.setAttribute(\"aria-controls\", uniqueId);\n this.$toggleButton.setAttribute(\"aria-haspopup\", \"true\");\n this.$toggleButton.classList.add(\"tna-header__navigation-toggle-button\");\n\n this.$hamburger = document.createElement(\"div\");\n this.$hamburger.classList.add(\"tna-header__hamburger\");\n\n this.$toggleButton.appendChild(this.$hamburger);\n this.$toggleButtonWrapper.appendChild(this.$toggleButton);\n\n this.syncState();\n\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-header__navigation-toggle-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n } else {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-toggle-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n } else {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n }\n\n init() {\n if (!this.$module || !this.$imageWrapper || !this.$transcript) {\n return;\n }\n\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle = document.createElement(\"button\");\n this.$transcriptToggle.classList.add(\n \"tna-picture__toggle-transcript\",\n \"tna-button\",\n \"tna-button--accent\",\n \"tna-button--solid-hover\",\n );\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = \"Open transcript\";\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.handleToggleTranscript(),\n );\n this.$imageWrapper.appendChild(this.$transcriptToggle);\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", true);\n // this.$transcript.setAttribute(\"tabindex\", \"-1\");\n }\n\n handleToggleTranscript() {\n const transcriptToggleOpenedClass =\n \"tna-picture__toggle-transcript--opened\";\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.classList.add(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = \"Close transcript\";\n this.$transcript.removeAttribute(\"hidden\");\n // this.$transcript.setAttribute(\"tabindex\", \"0\");\n // this.$transcript.focus();\n } else {\n this.$transcriptToggle.classList.remove(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = \"Open transcript\";\n this.$transcript.setAttribute(\"hidden\", true);\n // this.$transcript.setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","export class SensitiveImage {\n constructor($module) {\n this.$module = $module;\n this.$imageDetails =\n $module && $module.querySelector(\".tna-sensitive-image__details\");\n this.$image =\n $module && $module.querySelector(\".tna-sensitive-image__image\");\n this.imageIsVisible = false;\n }\n\n init() {\n if (!this.$module || !this.$imageDetails || !this.$image) {\n return;\n }\n this.$imageDetails.addEventListener(\"toggle\", () =>\n this.handleImageDetailsToggle(),\n );\n }\n\n handleImageDetailsToggle() {\n if (this.$imageDetails.hasAttribute(\"open\")) {\n this.$image.focus({ preventScroll: true, focusVisible: true });\n }\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n $module.querySelectorAll(\".tna-tabs__list-item-link\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n }\n\n init() {\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.sticky = this.$module.classList.contains(\"tna-tabs--sticky\");\n\n const startingTarget = window.location.hash.replace(/^#/, \"\");\n\n this.$newTabList = document.createElement(\"div\");\n this.$newTabList.setAttribute(\"role\", \"tablist\");\n this.$newTabList.setAttribute(\"class\", this.$tabList.getAttribute(\"class\"));\n\n this.$tabItems.forEach(($tabItem, index) => {\n $tabItem.setAttribute(\"role\", \"tabpanel\");\n $tabItem.setAttribute(\n \"aria-labelledby\",\n `${$tabItem.getAttribute(\"id\")}-tab`,\n );\n $tabItem.setAttribute(\"tabindex\", \"0\");\n if (\n (startingTarget && $tabItem.getAttribute(\"id\") !== startingTarget) ||\n (!startingTarget && index > 0)\n ) {\n $tabItem.setAttribute(\"hidden\", true);\n }\n });\n\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const $replacementButton = document.createElement(\"button\");\n $replacementButton.innerText = $tabListItemLink.innerText;\n $replacementButton.setAttribute(\n \"class\",\n $tabListItemLink.getAttribute(\"class\"),\n );\n $replacementButton.setAttribute(\"role\", \"tab\");\n $replacementButton.setAttribute(\n \"id\",\n $tabListItemLink.getAttribute(\"id\"),\n );\n $replacementButton.setAttribute(\n \"aria-controls\",\n $tabListItemLink.getAttribute(\"href\").replace(/^#/, \"\"),\n );\n $replacementButton.setAttribute(\"tabindex\", \"-1\");\n this.$newTabList.appendChild($replacementButton);\n });\n\n this.$tabList.replaceWith(this.$newTabList);\n\n this.$tabListItemLinks = this.$module.querySelectorAll(\n \".tna-tabs__list-item-link\",\n );\n\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (\n (startingTarget &&\n $tabListItemLink.getAttribute(\"aria-controls\") ===\n `${startingTarget}`) ||\n (!startingTarget && index === 0)\n ) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n }\n\n $tabListItemLink.addEventListener(\n \"keydown\",\n (e) => this.handleItemLinkKeyDown(e),\n true,\n );\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n\n this.switchTab(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n const targetItem = itemLinkKeyDownEvent.currentTarget;\n let overwriteKeyAction = false;\n\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n this.setSelectedToPreviousTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"ArrowRight\":\n this.setSelectedToNextTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"Home\":\n this.switchTab(this.$tabListItemLinks[0].getAttribute(\"aria-controls\"));\n overwriteKeyAction = true;\n break;\n\n case \"End\":\n this.switchTab(\n this.$tabListItemLinks[\n this.$tabListItemLinks.length - 1\n ].getAttribute(\"aria-controls\"),\n );\n overwriteKeyAction = true;\n break;\n\n default:\n break;\n }\n\n if (overwriteKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n setSelectedToNextTab(targetItem) {\n console.log(\"setSelectedToNextTab\", targetItem);\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex < this.$tabListItemLinks.length - 1) {\n newIndex = currentIndex + 1;\n } else {\n newIndex = 0;\n }\n console.log(currentIndex, newIndex);\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n setSelectedToPreviousTab(targetItem) {\n console.log(\"setSelectedToPreviousTab\", targetItem);\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex >= 1) {\n newIndex = currentIndex - 1;\n } else {\n newIndex = this.$tabListItemLinks.length - 1;\n }\n console.log(currentIndex, newIndex);\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n switchTab(targetId) {\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n if ($tabListItemLink.getAttribute(\"aria-controls\") === targetId) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n $tabListItemLink.focus();\n } else {\n $tabListItemLink.classList.remove(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n this.$tabItems.forEach(($tabItem) => {\n if ($tabItem.getAttribute(\"id\") === targetId) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", true);\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n if (this.sticky) {\n if (history.replaceState) {\n history.replaceState(null, null, `#${targetId}`);\n } else {\n location.hash = `#${targetId}`;\n }\n }\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SensitiveImage } from \"./components/sensitive-image/sensitive-image.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\n\nconst $body = document.documentElement;\n\n$body.classList.add(\"tna-template--js-enabled\");\n\nconst onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n};\n\nconst onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n};\n\nconst onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n};\n\nwindow.addEventListener(\"touchstart\", onFirstTouch);\nwindow.addEventListener(\"keydown\", onKeyDown);\nwindow.addEventListener(\"mousedown\", onMouseDown);\n\nif (document.documentElement.classList.contains(\"tna-template--system-theme\")) {\n document.documentElement.classList.add(\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"tna-template--dark-theme\"\n : \"tna-template--light-theme\",\n );\n if (window.matchMedia(\"(prefers-contrast: more)\").matches) {\n document.documentElement.classList.add(\"tna-template--high-contrast-theme\");\n }\n}\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs).init();\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header).init();\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture).init();\n });\n\n const $sensitiveImages = $scope.querySelectorAll(\n '[data-module=\"tna-sensitive-image\"]',\n );\n $sensitiveImages.forEach(($sensitiveImage) => {\n new SensitiveImage($sensitiveImage).init();\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule).init();\n });\n};\n\nexport { initAll, Breadcrumbs, Header, Picture, SensitiveImage, Tabs };\n"],"names":["root","factory","exports","module","define","amd","self","Breadcrumbs","$module","_classCallCheck","this","$breadcrumbsListWrapper","querySelector","$breadcrumbsList","$breadcrumbs","querySelectorAll","key","value","_this","length","classList","contains","uniqueId","concat","uuidv4","$expandable","document","createElement","add","style","display","$expandButton","innerHTML","setAttribute","addEventListener","remove","focus","appendChild","insertBefore","nextSibling","Header","$toggleButtonWrapper","$navigation","$links","menuOpened","mql","window","matchMedia","$toggleButton","innerText","$hamburger","syncState","handleToggleNavigation","addListener","matches","hidden","i","Picture","$imageWrapper","$transcript","transcriptOpened","$transcriptToggle","handleToggleTranscript","transcriptToggleOpenedClass","removeAttribute","SensitiveImage","$imageDetails","$image","imageIsVisible","handleImageDetailsToggle","hasAttribute","preventScroll","focusVisible","Tabs","$tabList","$tabListItemLinks","$tabItems","sticky","startingTarget","location","hash","replace","$newTabList","getAttribute","forEach","$tabItem","index","$tabListItemLink","$replacementButton","replaceWith","e","handleItemLinkKeyDown","handleItemLinkClick","itemLinkClickEvent","preventDefault","targetItem","currentTarget","switchTab","itemLinkKeyDownEvent","overwriteKeyAction","setSelectedToPreviousTab","setSelectedToNextTab","stopPropagation","console","log","newIndex","currentIndex","_toConsumableArray","findIndex","targetId","history","replaceState","c","crypto","getRandomValues","Uint8Array","toString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","$body","documentElement","onFirstTouch","removeEventListener","initAll","options","$scope","scope","HTMLElement","init","$header","$picture","$sensitiveImage","$tabModule"],"sourceRoot":""}
1
+ {"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/breadcrumbs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.mjs","webpack://TNAFrontend/./src/nationalarchives/components/gallery/gallery.mjs","webpack://TNAFrontend/./src/nationalarchives/components/header/header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/picture/picture.mjs","webpack://TNAFrontend/./src/nationalarchives/components/sensitive-image/sensitive-image.mjs","webpack://TNAFrontend/./src/nationalarchives/components/tabs/tabs.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/uuid.mjs","webpack://TNAFrontend/webpack/bootstrap","webpack://TNAFrontend/webpack/runtime/define property getters","webpack://TNAFrontend/webpack/runtime/hasOwnProperty shorthand","webpack://TNAFrontend/webpack/runtime/make namespace object","webpack://TNAFrontend/./src/nationalarchives/all.mjs"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Breadcrumbs {\n constructor($module) {\n this.$module = $module;\n this.$breadcrumbsListWrapper =\n $module && $module.querySelector(\".tna-breadcrumbs__wrapper\");\n this.$breadcrumbsList =\n $module &&\n this.$breadcrumbsListWrapper &&\n $module.querySelector(\".tna-breadcrumbs__list\");\n this.$breadcrumbs =\n $module &&\n this.$breadcrumbsListWrapper &&\n this.$breadcrumbsList &&\n $module.querySelectorAll(\".tna-breadcrumbs__item\");\n }\n\n init() {\n if (\n !this.$module ||\n !this.$breadcrumbsListWrapper ||\n !this.$breadcrumbsList ||\n !this.$breadcrumbs\n ) {\n return;\n }\n\n if (\n this.$breadcrumbs.length > 2 &&\n !this.$module.classList.contains(\"tna-breadcrumbs--no-collapse\")\n ) {\n const uniqueId = `tna-breadcrumbs-${uuidv4()}`;\n\n const $expandable = document.createElement(\"li\");\n $expandable.classList.add(\n \"tna-breadcrumbs__item\",\n \"tna-breadcrumbs__item--expandable\",\n );\n $expandable.style.display = \"none\";\n\n const $expandButton = document.createElement(\"button\");\n $expandButton.classList.add(\"tna-breadcrumbs__link\");\n $expandButton.innerHTML =\n \"<span class='tna-visually-hidden'>Expand breadcrumbs</span>&hellip;\";\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$breadcrumbsListWrapper.setAttribute(\"tabindex\", \"0\");\n this.$breadcrumbsListWrapper.focus();\n this.$breadcrumbsListWrapper.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n }\n\n init() {\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\");\n if (!policies) {\n return;\n }\n this.cookies = new Cookies(\n policies.split(\",\").map((policy) => policy.trim()),\n );\n\n this.loadScriptsOnAccept = this.$module.getAttribute(\"data-acceptscripts\");\n\n this.hideCookieBannerKey = this.$module.getAttribute(\"data-hidekey\");\n const cookiePreferencesSet = this.cookies.exists(this.hideCookieBannerKey);\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.cookies.acceptAllPolicies();\n if (this.loadScriptsOnAccept) {\n this.loadScriptsOnAccept.split(\",\").forEach((script) => {\n const $script = document.createElement(\"script\");\n $script.src = script;\n document.head.appendChild($script);\n });\n }\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.hideCookieBannerKey, true);\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelector(\".tna-gallery__items\");\n this.opened = false;\n }\n\n init() {\n if (!this.$module || !this.$items) {\n return;\n }\n\n const supportTouchHorizontal = false;\n\n this.items = this.$module.querySelectorAll(\".tna-gallery__item\").length;\n\n if (this.items > 1) {\n const uniqueId = `tna-gallery-${uuidv4()}`;\n\n this.$module.classList.add(\"tna-gallery--collapsed\");\n this.$items.setAttribute(\"tabindex\", \"-1\");\n\n this.$galleryToggle = document.createElement(\"button\");\n this.$galleryToggle.classList.add(\n \"tna-gallery__toggle\",\n \"tna-button\",\n \"tna-button--accent\",\n );\n this.$galleryToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$galleryToggle.setAttribute(\"aria-expanded\", false);\n this.$galleryToggle.innerText = `View ${this.items} images`;\n\n const onFirstTouch = () => {\n this.$module.removeEventListener(\"touchstart\", onFirstTouch);\n this.$module.classList.add(\"tna-gallery--touchable\");\n };\n\n if (supportTouchHorizontal) {\n this.$module.addEventListener(\"touchstart\", onFirstTouch);\n }\n\n this.$galleryToggle.addEventListener(\"click\", () => {\n if (supportTouchHorizontal) {\n this.$module.removeEventListener(\"touchstart\", onFirstTouch);\n }\n this.handleToggleGallery();\n });\n\n this.$galleryToggleWrapper = document.createElement(\"div\");\n this.$galleryToggleWrapper.classList.add(\n \"tna-column\",\n \"tna-column--full\",\n \"tna-gallery__toggle-wrapper\",\n );\n\n this.$galleryToggleWrapper.appendChild(this.$galleryToggle);\n this.$items.parentElement.appendChild(this.$galleryToggleWrapper);\n\n this.$items.setAttribute(\"id\", uniqueId);\n }\n }\n\n handleToggleGallery() {\n this.opened = !this.opened;\n if (this.opened) {\n this.$module.classList.remove(\"tna-gallery--collapsed\");\n this.$galleryToggle.setAttribute(\"aria-expanded\", true);\n this.$galleryToggle.innerText = \"Close images\";\n this.$items.setAttribute(\"tabindex\", \"0\");\n this.$items.focus();\n this.$items.setAttribute(\"tabindex\", \"-1\");\n } else {\n this.$module.classList.add(\"tna-gallery--collapsed\");\n this.$galleryToggle.setAttribute(\"aria-expanded\", false);\n this.$galleryToggle.innerText = `View ${this.items} images`;\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButtonWrapper =\n $module && $module.querySelector(\".tna-header__navigation-toggle\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 768px)\");\n }\n\n init() {\n if (!this.$module || !this.$toggleButtonWrapper || !this.$navigation) {\n return;\n }\n\n const uniqueId = `tna-menu-content-${uuidv4()}`;\n this.$navigation.setAttribute(\"id\", uniqueId);\n\n this.$toggleButton = document.createElement(\"button\");\n this.$toggleButton.innerText = \"Menu\";\n this.$toggleButton.setAttribute(\"aria-controls\", uniqueId);\n this.$toggleButton.setAttribute(\"aria-haspopup\", \"true\");\n this.$toggleButton.classList.add(\"tna-header__navigation-toggle-button\");\n\n this.$hamburger = document.createElement(\"div\");\n this.$hamburger.classList.add(\"tna-header__hamburger\");\n\n this.$toggleButton.appendChild(this.$hamburger);\n this.$toggleButtonWrapper.appendChild(this.$toggleButton);\n\n this.syncState();\n\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-header__navigation-toggle-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n } else {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-toggle-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n } else {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n }\n\n init() {\n if (!this.$module || !this.$imageWrapper || !this.$transcript) {\n return;\n }\n\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle = document.createElement(\"button\");\n this.$transcriptToggle.classList.add(\n \"tna-picture__toggle-transcript\",\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--accent\",\n \"tna-button--solid-hover\",\n );\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = \"Open transcript\";\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.handleToggleTranscript(),\n );\n this.$imageWrapper.appendChild(this.$transcriptToggle);\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", true);\n // this.$transcript.setAttribute(\"tabindex\", \"-1\");\n }\n\n handleToggleTranscript() {\n const transcriptToggleOpenedClass =\n \"tna-picture__toggle-transcript--opened\";\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.classList.add(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = \"Close transcript\";\n this.$transcript.removeAttribute(\"hidden\");\n // this.$transcript.setAttribute(\"tabindex\", \"0\");\n // this.$transcript.focus();\n // this.$transcript.setAttribute(\"tabindex\", \"-1\");\n } else {\n this.$transcriptToggle.classList.remove(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = \"Open transcript\";\n this.$transcript.setAttribute(\"hidden\", true);\n }\n }\n}\n","export class SensitiveImage {\n constructor($module) {\n this.$module = $module;\n this.$imageDetails =\n $module && $module.querySelector(\".tna-sensitive-image__details\");\n this.$image =\n $module && $module.querySelector(\".tna-sensitive-image__image\");\n this.imageIsVisible = false;\n }\n\n init() {\n if (!this.$module || !this.$imageDetails || !this.$image) {\n return;\n }\n this.$imageDetails.addEventListener(\"toggle\", () =>\n this.handleImageDetailsToggle(),\n );\n }\n\n handleImageDetailsToggle() {\n if (this.$imageDetails.hasAttribute(\"open\")) {\n this.$image.focus({ preventScroll: true, focusVisible: true });\n }\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n $module.querySelectorAll(\".tna-tabs__list-item-link\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n }\n\n init() {\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.sticky = this.$module.classList.contains(\"tna-tabs--sticky\");\n\n const startingTarget = window.location.hash.replace(/^#/, \"\");\n\n this.$newTabList = document.createElement(\"div\");\n this.$newTabList.setAttribute(\"role\", \"tablist\");\n this.$newTabList.setAttribute(\"class\", this.$tabList.getAttribute(\"class\"));\n\n this.$tabItems.forEach(($tabItem, index) => {\n $tabItem.setAttribute(\"role\", \"tabpanel\");\n $tabItem.setAttribute(\n \"aria-labelledby\",\n `${$tabItem.getAttribute(\"id\")}-tab`,\n );\n $tabItem.setAttribute(\"tabindex\", \"0\");\n if (\n (startingTarget && $tabItem.getAttribute(\"id\") !== startingTarget) ||\n (!startingTarget && index > 0)\n ) {\n $tabItem.setAttribute(\"hidden\", true);\n }\n });\n\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const $replacementButton = document.createElement(\"button\");\n $replacementButton.innerText = $tabListItemLink.innerText;\n $replacementButton.setAttribute(\n \"class\",\n $tabListItemLink.getAttribute(\"class\"),\n );\n $replacementButton.setAttribute(\"role\", \"tab\");\n $replacementButton.setAttribute(\n \"id\",\n $tabListItemLink.getAttribute(\"id\"),\n );\n $replacementButton.setAttribute(\n \"aria-controls\",\n $tabListItemLink.getAttribute(\"href\").replace(/^#/, \"\"),\n );\n $replacementButton.setAttribute(\"tabindex\", \"-1\");\n this.$newTabList.appendChild($replacementButton);\n });\n\n this.$tabList.replaceWith(this.$newTabList);\n\n this.$tabListItemLinks = this.$module.querySelectorAll(\n \".tna-tabs__list-item-link\",\n );\n\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (\n (startingTarget &&\n $tabListItemLink.getAttribute(\"aria-controls\") ===\n `${startingTarget}`) ||\n (!startingTarget && index === 0)\n ) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n }\n\n $tabListItemLink.addEventListener(\n \"keydown\",\n (e) => this.handleItemLinkKeyDown(e),\n true,\n );\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n\n this.switchTab(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n const targetItem = itemLinkKeyDownEvent.currentTarget;\n let overwriteKeyAction = false;\n\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.setSelectedToPreviousTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.setSelectedToNextTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"Home\":\n this.switchTab(this.$tabListItemLinks[0].getAttribute(\"aria-controls\"));\n overwriteKeyAction = true;\n break;\n\n case \"End\":\n this.switchTab(\n this.$tabListItemLinks[\n this.$tabListItemLinks.length - 1\n ].getAttribute(\"aria-controls\"),\n );\n overwriteKeyAction = true;\n break;\n\n default:\n break;\n }\n\n if (overwriteKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n setSelectedToNextTab(targetItem) {\n console.log(\"setSelectedToNextTab\", targetItem);\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex < this.$tabListItemLinks.length - 1) {\n newIndex = currentIndex + 1;\n } else {\n newIndex = 0;\n }\n console.log(currentIndex, newIndex);\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n setSelectedToPreviousTab(targetItem) {\n console.log(\"setSelectedToPreviousTab\", targetItem);\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex >= 1) {\n newIndex = currentIndex - 1;\n } else {\n newIndex = this.$tabListItemLinks.length - 1;\n }\n console.log(currentIndex, newIndex);\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n switchTab(targetId) {\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n if ($tabListItemLink.getAttribute(\"aria-controls\") === targetId) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n $tabListItemLink.focus();\n } else {\n $tabListItemLink.classList.remove(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n this.$tabItems.forEach(($tabItem) => {\n if ($tabItem.getAttribute(\"id\") === targetId) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", true);\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n if (this.sticky) {\n if (history.replaceState) {\n history.replaceState(null, null, `#${targetId}`);\n } else {\n location.hash = `#${targetId}`;\n }\n }\n }\n}\n","export default class Cookies {\n #policies = {};\n\n constructor(\n policies = [\"analytics\", \"settings\"],\n cookiesPolicyKey = \"cookies_policy\",\n crossDomain = false,\n ) {\n this.cookiesPolicyKey = cookiesPolicyKey;\n this.crossDomain = crossDomain;\n policies.forEach((policy) => {\n this.#policies[policy] = false;\n });\n this.#getPolicies();\n }\n\n #getPolicies() {\n if (this.exists(this.cookiesPolicyKey)) {\n this.#policies = {\n ...this.#policies,\n ...this.allPolicies,\n };\n }\n }\n\n get data() {\n return this.#deserialise(document.cookie);\n }\n\n #deserialise(cookieString) {\n const deserialised = {};\n cookieString.split(\";\").forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n deserialised[parts[0]] = parts[1];\n });\n return deserialised;\n }\n\n get all() {\n return this.data;\n }\n\n get allPolicies() {\n return JSON.parse(this.get(this.cookiesPolicyKey));\n }\n\n exists(key) {\n return Object.prototype.hasOwnProperty.call(this.data, key);\n }\n\n hasValue(key, value) {\n return this.get(key) === value;\n }\n\n get(key) {\n return decodeURIComponent(this.data[key]);\n }\n\n delete(key, path = \"/\") {\n this.set(key, \"\", 0, path);\n }\n\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n }\n\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n }\n\n setPolicy(policy, accepted) {\n this.#policies = {\n ...this.#policies,\n [policy]: accepted,\n };\n this.set(this.cookiesPolicyKey, JSON.stringify(this.#policies));\n }\n\n acceptAllPolicies() {\n Object.keys(this.#policies)\n .filter((policy) => this.#policies[policy] === false)\n .forEach((policy) => this.acceptPolicy(policy));\n }\n\n rejectAllPolicies() {\n Object.keys(this.#policies)\n .filter((policy) => this.#policies[policy] === true)\n .forEach((policy) => this.rejectPolicy(policy));\n }\n\n isPolicyAccepted(policy) {\n this.#getPolicies();\n return Object.prototype.hasOwnProperty.call(this.#policies, policy)\n ? this.#policies[policy] === true\n : null;\n }\n\n set(key, value, maxAge = 60 * 60 * 24 * 365, path = \"/\") {\n document.cookie = `${encodeURIComponent(key)}=${encodeURIComponent(\n value,\n )}; SameSite=${\n this.crossDomain ? \"None\" : \"Lax\"\n }; path=${path}; max-age=${maxAge}; Secure`;\n this.#getPolicies();\n }\n\n policy(policy) {\n return this.#policies[policy];\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SensitiveImage } from \"./components/sensitive-image/sensitive-image.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst $body = document.documentElement;\n$body.classList.add(\"tna-template--js-enabled\");\n\nconst onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n};\n\nconst onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n};\n\nconst onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n};\n\nwindow.addEventListener(\"touchstart\", onFirstTouch);\nwindow.addEventListener(\"keydown\", onKeyDown);\nwindow.addEventListener(\"mousedown\", onMouseDown);\n\nif (document.documentElement.classList.contains(\"tna-template--system-theme\")) {\n document.documentElement.classList.add(\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"tna-template--dark-theme\"\n : \"tna-template--light-theme\",\n );\n if (window.matchMedia(\"(prefers-contrast: more)\").matches) {\n document.documentElement.classList.add(\"tna-template--high-contrast-theme\");\n }\n}\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs).init();\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner).init();\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery).init();\n });\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header).init();\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture).init();\n });\n\n const $sensitiveImages = $scope.querySelectorAll(\n '[data-module=\"tna-sensitive-image\"]',\n );\n $sensitiveImages.forEach(($sensitiveImage) => {\n new SensitiveImage($sensitiveImage).init();\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule).init();\n });\n};\n\nexport {\n initAll,\n Cookies,\n Breadcrumbs,\n CookieBanner,\n Gallery,\n Header,\n Picture,\n SensitiveImage,\n Tabs,\n};\n"],"names":["root","factory","exports","module","define","amd","self","Breadcrumbs","$module","_classCallCheck","this","$breadcrumbsListWrapper","querySelector","$breadcrumbsList","$breadcrumbs","querySelectorAll","key","value","_this","length","classList","contains","uniqueId","concat","uuidv4","$expandable","document","createElement","add","style","display","$expandButton","innerHTML","setAttribute","addEventListener","remove","focus","appendChild","insertBefore","nextSibling","CookieBanner","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","policies","getAttribute","cookies","Cookies","split","map","policy","trim","loadScriptsOnAccept","hideCookieBannerKey","exists","removeAttribute","accept","reject","forEach","$closeButton","close","complete","acceptAllPolicies","script","$script","src","head","rejectAllPolicies","set","Gallery","$items","opened","items","$galleryToggle","innerText","handleToggleGallery","$galleryToggleWrapper","parentElement","Header","$toggleButtonWrapper","$navigation","$links","menuOpened","mql","window","matchMedia","$toggleButton","$hamburger","syncState","handleToggleNavigation","addListener","matches","hidden","i","Picture","$imageWrapper","$transcript","transcriptOpened","$transcriptToggle","handleToggleTranscript","transcriptToggleOpenedClass","SensitiveImage","$imageDetails","$image","imageIsVisible","handleImageDetailsToggle","hasAttribute","preventScroll","focusVisible","Tabs","$tabList","$tabListItemLinks","$tabItems","sticky","startingTarget","location","hash","replace","$newTabList","$tabItem","index","$tabListItemLink","$replacementButton","replaceWith","e","handleItemLinkKeyDown","handleItemLinkClick","itemLinkClickEvent","preventDefault","targetItem","currentTarget","switchTab","itemLinkKeyDownEvent","overwriteKeyAction","setSelectedToPreviousTab","setSelectedToNextTab","stopPropagation","console","log","newIndex","currentIndex","_toConsumableArray","findIndex","targetId","history","replaceState","arguments","undefined","cookiesPolicyKey","crossDomain","_classPrivateMethodInitSpec","_deserialise","_getPolicies","writable","_policies","_classPrivateFieldGet","_classPrivateMethodGet","_getPolicies2","call","get","_deserialise2","cookie","data","JSON","parse","Object","prototype","hasOwnProperty","decodeURIComponent","path","setPolicy","accepted","_classPrivateFieldSet","_objectSpread","_defineProperty","stringify","_this2","keys","filter","acceptPolicy","_this3","rejectPolicy","maxAge","encodeURIComponent","allPolicies","cookieString","deserialised","parts","c","crypto","getRandomValues","Uint8Array","toString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","r","Symbol","toStringTag","$body","documentElement","onFirstTouch","removeEventListener","initAll","options","$scope","scope","HTMLElement","init","$cookieBanner","$gallery","$header","$picture","$sensitiveImage","$tabModule"],"sourceRoot":""}
@@ -1,11 +1,13 @@
1
1
  import { Breadcrumbs } from "./components/breadcrumbs/breadcrumbs.mjs";
2
+ import { CookieBanner } from "./components/cookie-banner/cookie-banner.mjs";
3
+ import { Gallery } from "./components/gallery/gallery.mjs";
2
4
  import { Header } from "./components/header/header.mjs";
3
5
  import { Picture } from "./components/picture/picture.mjs";
4
6
  import { SensitiveImage } from "./components/sensitive-image/sensitive-image.mjs";
5
7
  import { Tabs } from "./components/tabs/tabs.mjs";
8
+ import Cookies from "./lib/cookies.mjs";
6
9
 
7
10
  const $body = document.documentElement;
8
-
9
11
  $body.classList.add("tna-template--js-enabled");
10
12
 
11
13
  const onFirstTouch = () => {
@@ -50,6 +52,18 @@ const initAll = (options) => {
50
52
  new Breadcrumbs($breadcrumbs).init();
51
53
  }
52
54
 
55
+ const $cookieBanner = $scope.querySelector(
56
+ '[data-module="tna-cookie-banner"]',
57
+ );
58
+ if ($cookieBanner) {
59
+ new CookieBanner($cookieBanner).init();
60
+ }
61
+
62
+ const $galleries = $scope.querySelectorAll('[data-module="tna-gallery"]');
63
+ $galleries.forEach(($gallery) => {
64
+ new Gallery($gallery).init();
65
+ });
66
+
53
67
  const $header = $scope.querySelector('[data-module="tna-header"]');
54
68
  if ($header) {
55
69
  new Header($header).init();
@@ -73,4 +87,14 @@ const initAll = (options) => {
73
87
  });
74
88
  };
75
89
 
76
- export { initAll, Breadcrumbs, Header, Picture, SensitiveImage, Tabs };
90
+ export {
91
+ initAll,
92
+ Cookies,
93
+ Breadcrumbs,
94
+ CookieBanner,
95
+ Gallery,
96
+ Header,
97
+ Picture,
98
+ SensitiveImage,
99
+ Tabs,
100
+ };
@@ -1,5 +1,21 @@
1
- @forward "variables";
2
- @forward "tools";
1
+ /*!
2
+ * ------------------------------------------------
3
+ * The National Archives Frontend
4
+ * https://github.com/nationalarchives/tna-frontend
5
+ * ------------------------------------------------
6
+ * Explore 1,000 years of history
7
+ * https://www.nationalarchives.gov.uk/
8
+ * ------------------------------------------------
9
+ * MIT Licence
10
+ * ------------------------------------------------
11
+ */
3
12
 
4
- @forward "utilities";
5
- @forward "components";
13
+ $tna-font-path: "my-fonts-path";
14
+
15
+ @use "variables";
16
+ @use "tools";
17
+
18
+ @use "utilities";
19
+ @use "components";
20
+
21
+ @use "lib";
@@ -1,16 +1,18 @@
1
- @forward "breadcrumbs";
2
- @forward "button";
3
- @forward "card";
4
- @forward "filters";
5
- @forward "footer";
6
- @forward "grid";
7
- @forward "header";
8
- @forward "hero";
9
- @forward "index-grid";
10
- @forward "message";
11
- @forward "phase-banner";
12
- @forward "picture";
13
- @forward "profile";
14
- @forward "sensitive-image";
15
- @forward "skip-link";
16
- @forward "tabs";
1
+ @use "breadcrumbs";
2
+ @use "button";
3
+ @use "card";
4
+ @use "cookie-banner";
5
+ @use "filters";
6
+ @use "footer";
7
+ @use "gallery";
8
+ @use "grid";
9
+ @use "header";
10
+ @use "hero";
11
+ @use "index-grid";
12
+ @use "message";
13
+ @use "phase-banner";
14
+ @use "picture";
15
+ @use "profile";
16
+ @use "sensitive-image";
17
+ @use "skip-link";
18
+ @use "tabs";
@@ -1,109 +1 @@
1
- @use "../../tools/colour";
2
- @use "../../tools/media";
3
- @use "../../tools/typography";
4
-
5
- .tna-breadcrumbs {
6
- padding-top: 1rem;
7
- padding-bottom: 1rem;
8
-
9
- &__wrapper {
10
- &:focus {
11
- outline: none !important;
12
- }
13
- }
14
-
15
- &__list {
16
- margin: 0;
17
- padding: 0;
18
-
19
- list-style: none;
20
-
21
- display: flex;
22
- flex-wrap: wrap;
23
- }
24
-
25
- &__item {
26
- display: flex;
27
-
28
- + .tna-breadcrumbs__item {
29
- &::before {
30
- margin: 0 0.75rem;
31
-
32
- display: inline-block;
33
-
34
- vertical-align: baseline;
35
-
36
- content: "\203A";
37
- }
38
- }
39
-
40
- &--expandable {
41
- display: none;
42
-
43
- @include media.on-mobile {
44
- display: inline-block !important;
45
- }
46
- }
47
- }
48
-
49
- &__link {
50
- display: inline-block;
51
-
52
- &,
53
- &:link,
54
- &:visited {
55
- @include colour.colour-font("font-base");
56
- }
57
-
58
- &:hover {
59
- @include colour.colour-font("font-dark");
60
- }
61
-
62
- @include colour.on-high-contrast {
63
- padding-right: 0.75rem;
64
- padding-left: 0.75rem;
65
-
66
- text-decoration: none;
67
-
68
- @include colour.colour-border("keyline-dark", 1px);
69
-
70
- &:hover {
71
- text-decoration: underline;
72
-
73
- @include colour.colour-font("contrast-background");
74
-
75
- @include colour.colour-background("contrast-font-base");
76
- }
77
- }
78
- }
79
-
80
- button#{&}__link {
81
- margin: 0;
82
- padding: 0;
83
- height: 100%;
84
-
85
- font-size: inherit;
86
- line-height: inherit;
87
- font-weight: inherit;
88
-
89
- background-color: transparent;
90
-
91
- border: none;
92
-
93
- appearance: none;
94
- cursor: pointer;
95
-
96
- &:hover {
97
- color: inherit;
98
- @include typography.interacted-text-decoration;
99
-
100
- background-color: transparent;
101
- }
102
- }
103
-
104
- @include media.on-mobile {
105
- &--collapsed &__item:not(:first-child, &__item--expandable, :last-child) {
106
- display: none;
107
- }
108
- }
109
- }
1
+ @use "breadcrumbs";